Skip to content

Releases: prism-php/prism

v0.100.1

20 Mar 20:37
5d6cc65

Choose a tag to compare

What's Changed

  • fix(anthropic): provider tool use to response by @sixlive in #970

Full Changelog: v0.100.0...v0.100.1

v0.100.0

20 Mar 15:36
efa3276

Choose a tag to compare

What's Changed

  • feat: map Mistral HTTP 503 to PrismProviderOverloadedException by @kachelle in #959
  • refactor(anthropic): GA structured output support by @sixlive in #967
  • Laravel 13 support for CI by @sixlive in #968
  • feat(anthropic): add provider tool support for sturctured mode by @sixlive in #969

Breaking Changes

  • Structured output now uses native mode by default instead of prompt-based JSON mode
  • Citations can no longer be used with structured output (previously worked via JSON mode workaround, but this is unsupported by the Anthropic API)
  • Users who had the beta header configured for structured outputs can remove it

Full Changelog: v0.99.22...v0.100.0

v0.99.22

12 Mar 17:57
989f675

Choose a tag to compare

What's Changed

  • fix(openrouter): Null-coalesce json response to prevent TypeError on empty/invalid API responses. by @pocketarc in #939
  • fix: handle GPT-5 reasoning model finish reason mapping and enrich exception messages by @thecrazybob in #941
  • fix: emit success: false on ToolResultEvent for handled tool errors by @chloe-pomegranate in #933
  • fix: prevent duplicate reasoning-end events in Ollama stream by @bishwajitcadhikary in #903
  • Feature - Add Perplexity provider by @joao-salomao in #740
  • Z.AI Integration by @kevariable in #794
  • feat(voyageai): add multimodal image embedding support by @markritterman in #895
  • fix: correct the Zai API URL by @delabon in #946
  • Enable structured output support for OpenAI gpt-5.4 model by @aivis in #947
  • feat(gemini): add multimodal embedding support by @cyppe in #944
  • fix(ollama): handle length, unknown, and other finish reasons in Text handler by @ChrisThompsonTLDR in #943

New Contributors

Full Changelog: v0.99.21...v0.99.22

v0.99.21

01 Mar 21:18
9527256

Choose a tag to compare

What's Changed

  • feat: allow tool_calls for structured OpenRouter by @oleghalin in #930
  • fix(anthropic): handle Unix timestamp in rate limit reset headers by @lorisleiva in #931
  • fix(anthropic): replace deprecated output_format with output_config.format by @chloe-pomegranate in #929
  • feat(anthropic): Add support for automatic caching by @satoved in #917
  • fix(anthropic): tool result caching by @sixlive in #867
  • feat(openrouter): add support for embedding. by @hipig in #887
  • fix: prevent content truncation during OpenRouter reasoning-to-text transition by @alanost in #891
  • Support batch embeddings for Gemini provider by @larskoole in #915

New Contributors

Full Changelog: v0.99.20...v0.99.21

v0.99.20

26 Feb 21:34
51efcb3

Choose a tag to compare

What's Changed

  • Fix: Ensure step messages represent input only by @vinitkadam03 in #884
  • fix(broadcasting): Citation event broadcasting by @sixlive in #927
  • fix(openrouter): de-duplicate tool merging logic by @oleghalin in #923
  • feat(ollama): Add dimensions provider option to embeddings by @WoutervdBrink in #913
  • Fix static closure bindTo() error on PHP 8.4 in PrismManager::extend() by @cyppe in #911
  • fix(streaming): expose "toolCallResultId" in the streamed data by @joao-salomao in #908
  • feat(voyageai): add output_dimension support for embeddings by @markritterman in #904
  • fix(streaming): add null usage fallback to all providers by @aimbit-ni in #901
  • fix: encode empty tool arguments as JSON object instead of array by @MaximeWillinger in #896
  • Support Laravel 13 by @taylorotwell in #928
  • Add chunking_strategy to OpenAI audio transcription provider options by @kachelle in #892
  • Expose request builder methods by @GALCF in #889
  • Fixed tool calls message ID reset to empty by @hipig in #886

New Contributors

Full Changelog: v0.99.19...v0.99.20

v0.99.19

28 Jan 12:10
7ebf450

Choose a tag to compare

What's Changed

  • fix(streaming): artifact data protocol key by @sixlive in #881

Breaking Changes

Consumers parsing the raw stream need to update artifact handling:

- if (data.type === 'artifact') {
-     artifacts.set(data.toolCallId, data.artifact);
+ if (data.type === 'data-artifact') {
+     artifacts.set(data.data.toolCallId, data.data.artifact);
  }

Full Changelog: v0.99.18...v0.99.19

v0.99.18

27 Jan 18:44
ec81339

Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v0.99.17...v0.99.18

v0.99.17

26 Jan 14:29
2851794

Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v0.99.16...v0.99.17

v0.99.16

25 Jan 16:31
2e35911

Choose a tag to compare

What's Changed

Full Changelog: v0.99.15...v0.99.16

v0.99.15

24 Jan 21:56
3ad8823

Choose a tag to compare

What's Changed

  • fix(openai): Add missing web search actions by @sixlive in #850
  • Update value objects to be arrayable by @sixlive in #851
  • fix(audio): missing file extension by @sixlive in #852
  • fix(gemini): streaming with parallel tool calls by @sixlive in #853
  • fix(gemini): structured output with thinking by @sixlive in #854
  • fix(anthropic): stream thinking signature by @sixlive in #855
  • fix(gemini): streaming thought signatures by @sixlive in #856
  • fix: tool choice call loop by @sixlive in #857

Full Changelog: v0.99.14...v0.99.15