PackageTrack
Sign in Get early access

laravel/ai

The official AI SDK for Laravel.

v0.11.0 6.0M downloads/mo #512 most downloaded on Packagist laravel/ai

What this package is like to depend on

Last release 5 days ago

19 Aug 2026

Ships fairly regularly

a new release about every 2 weeks

Nearly every release is documented

notes for 46 of 47 stable releases

Nothing withdrawn

no release was ever pulled

6 months old

47 releases · first in 2026

46 releases in the last 12 months

see the full history below

Release timeline

46 releases · Feb 2026 to Aug 2026
Release Pre-release

Releases

latest 47
  1. v0.11.0 19 Aug 2026
    Release notes

    What's Changed

    • Add coverage for persisting provider content blocks on paused turns by @dfinchenko in #861
    • Add coverage for storing generated audio on a filesystem disk by @dfinchenko in #863
    • Add coverage for storing a generated image on a filesystem disk by @dfinchenko in #862
    • Trigger failover when a provider connection fails by @JVillator0 in #781
    • Fail over on transient gateway and Cloudflare upstream errors, not only 503 by @sulimanbenhalim in #810
    • Execute then(...) callback when faking the queued generation of transcription/image/audio/embeddings by @gdebrauwer in #797
    • Add web search support to the xAI provider by @sulimanbenhalim in #857
    • Add transcription support to the OpenAI-compatible provider by @sulimanbenhalim in #858
    • Add transcription support to the Groq provider by @sulimanbenhalim in #868
    • Fail over when Anthropic rejects a request for hitting a usage limit by @oddvalue in #864
    • Reconstruct S3 document attachments in File::fromArray by @sulimanbenhalim in #878
    • Handle Mistral responses that return content as a list of blocks by @lazerg in #866
    • Reset text part state after TextEnd in Responses API streams by @chrisnetonline in #854
    • Fix OpenAI gateway dropping cache write tokens from usage by @aqu1les in #846
    • Add hosted tool search via ToolSearch tool and stateless output replay (OpenAI + Anthropic) by @behzadsp in #697
    • Repair unknown local tool calls by @pushpak1300 in #859
    • Make stream errors throw instead of silently ending the run by @pushpak1300 in #870
    • Thread one invocation id through an entire agent run by @pushpak1300 in #871
    • Report tool invocations through a run context by @pushpak1300 in #872
    • Report each generation step through the run context by @pushpak1300 in #873
    • Report tool failures and how long a tool ran by @pushpak1300 in #874
    • Link an agent invoked as a tool back to its parent by @pushpak1300 in #875
    • Report a run's terminal failure by @pushpak1300 in #876
    • Filter partially-orphaned tool calls when replaying conversation history by @filipposallemi in #758
    • [BUG] [0.x] Sum streamed usage across tool-call steps in all provider gateways by @mo-inkhan in #698
    • Map Anthropic refusal and model_context_window_exceeded stop reasons by @egantz in #881
    • Update Gemini default text model to gemini-3.7-flash by @pushpak1300 in #887
    • Keep the MCP request bound while converting generator results by @pushpak1300 in #888
    • Add support for the OpenRouter web fetch server tool by @CamilleScholtz in #889
    • Send text/plain for all text document sources on Anthropic by @calrloco in #886
    • Fail over on Anthropic transient gateway and Cloudflare errors by @sulimanbenhalim in #884
    • Strip markdown code fences from OpenAI-compatible structured output by @sulimanbenhalim in #879
    • Add file search support to the xAI provider by @timmcleod in #894
    • Added assertPromptedTimes test method by @F1nnG in #891
    • Surface Anthropic web fetch citations on the response by @sulimanbenhalim in #892
    • Exclude DeepSeek cache-hit tokens from the reported prompt token count by @sulimanbenhalim in #896

    New Contributors

    Full Changelog: v0.10.3...v0.11.0

    Open source →
    Release notes

    What's Changed

    • Add coverage for persisting provider content blocks on paused turns by @dfinchenko in https://github.com/laravel/ai/pull/861
    • Add coverage for storing generated audio on a filesystem disk by @dfinchenko in https://github.com/laravel/ai/pull/863
    • Add coverage for storing a generated image on a filesystem disk by @dfinchenko in https://github.com/laravel/ai/pull/862
    • Trigger failover when a provider connection fails by @JVillator0 in https://github.com/laravel/ai/pull/781
    • Fail over on transient gateway and Cloudflare upstream errors, not only 503 by @sulimanbenhalim in https://github.com/laravel/ai/pull/810
    • Execute then(...) callback when faking the queued generation of transcription/image/audio/embeddings by @gdebrauwer in https://github.com/laravel/ai/pull/797
    • Add web search support to the xAI provider by @sulimanbenhalim in https://github.com/laravel/ai/pull/857
    • Add transcription support to the OpenAI-compatible provider by @sulimanbenhalim in https://github.com/laravel/ai/pull/858
    • Add transcription support to the Groq provider by @sulimanbenhalim in https://github.com/laravel/ai/pull/868
    • Fail over when Anthropic rejects a request for hitting a usage limit by @oddvalue in https://github.com/laravel/ai/pull/864
    • Reconstruct S3 document attachments in File::fromArray by @sulimanbenhalim in https://github.com/laravel/ai/pull/878
    • Handle Mistral responses that return content as a list of blocks by @lazerg in https://github.com/laravel/ai/pull/866
    • Reset text part state after TextEnd in Responses API streams by @chrisnetonline in https://github.com/laravel/ai/pull/854
    • Fix OpenAI gateway dropping cache write tokens from usage by @aqu1les in https://github.com/laravel/ai/pull/846
    • Add hosted tool search via ToolSearch tool and stateless output replay (OpenAI + Anthropic) by @behzadsp in https://github.com/laravel/ai/pull/697
    • Repair unknown local tool calls by @pushpak1300 in https://github.com/laravel/ai/pull/859
    • Make stream errors throw instead of silently ending the run by @pushpak1300 in https://github.com/laravel/ai/pull/870
    • Thread one invocation id through an entire agent run by @pushpak1300 in https://github.com/laravel/ai/pull/871
    • Report tool invocations through a run context by @pushpak1300 in https://github.com/laravel/ai/pull/872
    • Report each generation step through the run context by @pushpak1300 in https://github.com/laravel/ai/pull/873
    • Report tool failures and how long a tool ran by @pushpak1300 in https://github.com/laravel/ai/pull/874
    • Link an agent invoked as a tool back to its parent by @pushpak1300 in https://github.com/laravel/ai/pull/875
    • Report a run's terminal failure by @pushpak1300 in https://github.com/laravel/ai/pull/876
    • Filter partially-orphaned tool calls when replaying conversation history by @filipposallemi in https://github.com/laravel/ai/pull/758
    • [BUG] [0.x] Sum streamed usage across tool-call steps in all provider gateways by @mo-inkhan in https://github.com/laravel/ai/pull/698
    • Map Anthropic refusal and model_context_window_exceeded stop reasons by @egantz in https://github.com/laravel/ai/pull/881
    • Update Gemini default text model to gemini-3.7-flash by @pushpak1300 in https://github.com/laravel/ai/pull/887
    • Keep the MCP request bound while converting generator results by @pushpak1300 in https://github.com/laravel/ai/pull/888
    • Add support for the OpenRouter web fetch server tool by @CamilleScholtz in https://github.com/laravel/ai/pull/889
    • Send text/plain for all text document sources on Anthropic by @calrloco in https://github.com/laravel/ai/pull/886
    • Fail over on Anthropic transient gateway and Cloudflare errors by @sulimanbenhalim in https://github.com/laravel/ai/pull/884
    • Strip markdown code fences from OpenAI-compatible structured output by @sulimanbenhalim in https://github.com/laravel/ai/pull/879
    • Add file search support to the xAI provider by @timmcleod in https://github.com/laravel/ai/pull/894
    • Added assertPromptedTimes test method by @F1nnG in https://github.com/laravel/ai/pull/891
    • Surface Anthropic web fetch citations on the response by @sulimanbenhalim in https://github.com/laravel/ai/pull/892
    • Exclude DeepSeek cache-hit tokens from the reported prompt token count by @sulimanbenhalim in https://github.com/laravel/ai/pull/896

    New Contributors

    • @gdebrauwer made their first contribution in https://github.com/laravel/ai/pull/797
    • @oddvalue made their first contribution in https://github.com/laravel/ai/pull/864
    • @lazerg made their first contribution in https://github.com/laravel/ai/pull/866
    • @chrisnetonline made their first contribution in https://github.com/laravel/ai/pull/854
    • @aqu1les made their first contribution in https://github.com/laravel/ai/pull/846
    • @behzadsp made their first contribution in https://github.com/laravel/ai/pull/697
    • @filipposallemi made their first contribution in https://github.com/laravel/ai/pull/758
    • @mo-inkhan made their first contribution in https://github.com/laravel/ai/pull/698
    • @egantz made their first contribution in https://github.com/laravel/ai/pull/881
    • @CamilleScholtz made their first contribution in https://github.com/laravel/ai/pull/889
    • @calrloco made their first contribution in https://github.com/laravel/ai/pull/886
    • @F1nnG made their first contribution in https://github.com/laravel/ai/pull/891

    Full Changelog: https://github.com/laravel/ai/compare/v0.10.3...v0.11.0

    Open source →
  2. v0.10.3 06 Aug 2026
    Release notes

    What's Changed

    New Contributors

    Full Changelog: v0.10.2...v0.10.3

    Open source →
    Release notes

    What's Changed

    • Change minimum required AWS SDK version by @stevencsimpson in https://github.com/laravel/ai/pull/808
    • Add Vercel protocol coverage for text and reasoning stream events by @dfinchenko in https://github.com/laravel/ai/pull/845
    • Add Gemini tool-loop coverage for thought signature preservation by @sulimanbenhalim in https://github.com/laravel/ai/pull/834
    • Azure OpenAI - Add web search support by @jesse-bos in https://github.com/laravel/ai/pull/843
    • Parse Cohere Embed v4's type-keyed embeddings shape on Bedrock by @serpentblade in https://github.com/laravel/ai/pull/725
    • Expose raw http response in model API response by @dumbbellcode in https://github.com/laravel/ai/pull/714
    • Add embeddings support to the OpenAI-compatible provider by @ademola-emmanuel in https://github.com/laravel/ai/pull/841
    • Add Vercel protocol coverage for citation, error, and default tool error parts by @dfinchenko in https://github.com/laravel/ai/pull/849
    • Support custom HTTP headers via provider connection config by @AngadSethi in https://github.com/laravel/ai/pull/838
    • Run the test suite in parallel by @pushpak1300 in https://github.com/laravel/ai/pull/851
    • Preserve header casing when merging configured headers by @pushpak1300 in https://github.com/laravel/ai/pull/852

    New Contributors

    • @stevencsimpson made their first contribution in https://github.com/laravel/ai/pull/808
    • @jesse-bos made their first contribution in https://github.com/laravel/ai/pull/843
    • @serpentblade made their first contribution in https://github.com/laravel/ai/pull/725
    • @AngadSethi made their first contribution in https://github.com/laravel/ai/pull/838

    Full Changelog: https://github.com/laravel/ai/compare/v0.10.2...v0.10.3

    Open source →
  3. v0.10.2 28 Jul 2026
    Release notes

    What's Changed

    • Preserve conversation title language by @yuters in #814
    • Bump actions/checkout from 7.0.0 to 7.0.1 in the github-actions group by @dependabot[bot] in #830
    • Fix Anthropic structured output rejecting JSON Schema constraints by @sulimanbenhalim in #718
    • Bump postcss from 8.5.16 to 8.5.23 in /workbench by @dependabot[bot] in #831
    • Fix colliding embeddings cache keys for distinct string batches by @ademola-emmanuel in #832
    • Replace deprected DeepSeek model name with deepseek-v4-flash by @peter-nassef in #829
    • Fix: SimilaritySearch tool output with additional JSON flags (for other languages) by @yuters in #820

    New Contributors

    Full Changelog: v0.10.1...v0.10.2

    Open source →
    Release notes

    What's Changed

    • Preserve conversation title language by @yuters in https://github.com/laravel/ai/pull/814
    • Bump actions/checkout from 7.0.0 to 7.0.1 in the github-actions group by @dependabot[bot] in https://github.com/laravel/ai/pull/830
    • Fix Anthropic structured output rejecting JSON Schema constraints by @sulimanbenhalim in https://github.com/laravel/ai/pull/718
    • Bump postcss from 8.5.16 to 8.5.23 in /workbench by @dependabot[bot] in https://github.com/laravel/ai/pull/831
    • Fix colliding embeddings cache keys for distinct string batches by @ademola-emmanuel in https://github.com/laravel/ai/pull/832
    • Replace deprected DeepSeek model name with deepseek-v4-flash by @peter-nassef in https://github.com/laravel/ai/pull/829
    • Fix: SimilaritySearch tool output with additional JSON flags (for other languages) by @yuters in https://github.com/laravel/ai/pull/820

    New Contributors

    • @yuters made their first contribution in https://github.com/laravel/ai/pull/814
    • @ademola-emmanuel made their first contribution in https://github.com/laravel/ai/pull/832
    • @peter-nassef made their first contribution in https://github.com/laravel/ai/pull/829

    Full Changelog: https://github.com/laravel/ai/compare/v0.10.1...v0.10.2

    Open source →
  4. v0.10.1 21 Jul 2026
    Release notes
    Open source →
    Release notes
    • [0.x] Update .gitattributes by @jackbayliss in https://github.com/laravel/ai/pull/806
    • Update Gemini default models by @pushpak1300 in https://github.com/laravel/ai/pull/807
    Open source →
  5. v0.10.0 21 Jul 2026
    Release notes
    Open source →
    Release notes
    • Add Rector and Laravel Rector, apply automated refactors by @pushpak1300 in https://github.com/laravel/ai/pull/784
    • Support multimodal for Gemini and VoyageAI by @paulinevos in https://github.com/laravel/ai/pull/798
    • Bedrock: support cross-account AssumeRole credential provider by @amjosuesanchez in https://github.com/laravel/ai/pull/566
    • Add summarize macro for text summarization by @pushpak1300 in https://github.com/laravel/ai/pull/800
    • Add human-in-the-loop by @pushpak1300 in https://github.com/laravel/ai/pull/773
    • Store conversation participants polymorphically by @pushpak1300 in https://github.com/laravel/ai/pull/795
    Open source →
  6. v0.9.1 14 Jul 2026
    Release notes

    What's Changed

    • Remove dead dall-e-3 image integration dataset by @mrdzen in #779
    • Forward attachment provider options to OpenAI text generation requests by @mrdzen in #768
    • Add tool choice support for Gemini, OpenAI, and Anthropic by @JVillator0 in #780
    • Add tests for the image portrait and custom size helpers by @dfinchenko in #783
    • Add interactive agent console command for the workbench by @pushpak1300 in #786
    • Add web fetch tool coverage for the Anthropic provider by @dfinchenko in #792
    • [0.x] Validate blank base64 input consistently across file classes by @Button99 in #788
    • Add coverage for iterating the embeddings response by @dfinchenko in #790
    • Add web search user location coverage for the Anthropic provider by @dfinchenko in #791
    • FixTextDelta::combine glues multi-step streamed text together mid-sentence by @crishoj in #789
    • Fix empty Bedrock stream content blocks by @iAmKevinMcKee in #785

    New Contributors

    Full Changelog: v0.9.0...v0.9.1

    Open source →
    Release notes

    What's Changed

    • Remove dead dall-e-3 image integration dataset by @mrdzen in https://github.com/laravel/ai/pull/779
    • Forward attachment provider options to OpenAI text generation requests by @mrdzen in https://github.com/laravel/ai/pull/768
    • Add tool choice support for Gemini, OpenAI, and Anthropic by @JVillator0 in https://github.com/laravel/ai/pull/780
    • Add tests for the image portrait and custom size helpers by @dfinchenko in https://github.com/laravel/ai/pull/783
    • Add interactive agent console command for the workbench by @pushpak1300 in https://github.com/laravel/ai/pull/786
    • Add web fetch tool coverage for the Anthropic provider by @dfinchenko in https://github.com/laravel/ai/pull/792
    • [0.x] Validate blank base64 input consistently across file classes by @Button99 in https://github.com/laravel/ai/pull/788
    • Add coverage for iterating the embeddings response by @dfinchenko in https://github.com/laravel/ai/pull/790
    • Add web search user location coverage for the Anthropic provider by @dfinchenko in https://github.com/laravel/ai/pull/791
    • FixTextDelta::combine glues multi-step streamed text together mid-sentence by @crishoj in https://github.com/laravel/ai/pull/789
    • Fix empty Bedrock stream content blocks by @iAmKevinMcKee in https://github.com/laravel/ai/pull/785

    New Contributors

    • @crishoj made their first contribution in https://github.com/laravel/ai/pull/789
    • @iAmKevinMcKee made their first contribution in https://github.com/laravel/ai/pull/785

    Full Changelog: https://github.com/laravel/ai/compare/v0.9.0...v0.9.1

    Open source →
  7. v0.9.0 07 Jul 2026
    Release notes

    Upgrade guide: https://github.com/laravel/ai/blob/0.x/UPGRADE.md

    • Add missing return type generics to embeddings and reranking responses by @dfinchenko in #701
    • Allow disabling the embeddings cache per request by @pushpak1300 in #706
    • Bump shivammathur/setup-php from 2.37.1 to 2.37.2 in the github-actions group by @dependabot[bot] in #708
    • Use native Anthropic structured outputs by default by @paix26875 in #707
    • Add collection generics to TextResponse properties by @dfinchenko in #709
    • Merge all plain-object anyOf branches instead of keeping only the first by @pushpak1300 in #703
    • Add file and store support for Azure OpenAI by @markusjwetzel in #676
    • Add collection generics to AssistantMessage toolCalls by @dfinchenko in #720
    • Extract recursive tool loop into TextGenerationLoop and convert OpenAI by @vinitkadam03 in #652
    • Add collection generics to ToolResultMessage toolResults by @dfinchenko in #735
    • Migrate Anthropic gateway to StepTextGateway via TextGenerationLoop by @vinitkadam03 in #726
    • Migrate xAI gateway to StepTextGateway via TextGenerationLoop by @vinitkadam03 in #728
    • Migrate Groq gateway to StepTextGateway via TextGenerationLoop by @pushpak1300 in #729
    • Convert Ollama text gateway to TextGenerationLoop by @pushpak1300 in #730
    • Convert DeepSeek to TextGenerationLoop and StepTextGateway by @pushpak1300 in #731
    • Convert Gemini gateway to the shared TextGenerationLoop by @pushpak1300 in #732
    • Convert OpenRouter text gateway to TextGenerationLoop by @pushpak1300 in #733
    • Convert Mistral to TextGenerationLoop by @pushpak1300 in #736
    • Migrate Bedrock text gateway onto TextGenerationLoop by @pushpak1300 in #734
    • Support native anyOf schemas by @dbpolito in #710
    • Inline single-use step traits into Gemini and OpenRouter gateways by @pushpak1300 in #741
    • Add collection generics to streamed agent response events by @dfinchenko in #744
    • Add collection generics to image, transcription, and meta responses by @dfinchenko in #745
    • Bump actions/checkout from 6.0.3 to 7.0.0 in the github-actions group by @dependabot[bot] in #747
    • Route top-level Ollama provider options out of the options object by @cjmcintyre in #722
    • Remove redundant global use statements in OpenRouter transcription test by @pushpak1300 in #751
    • Add withProviderOptions() to storable files by @mohali-id in #717
    • Add filesystem tools for AI agents by @pushpak1300 in #651
    • Fix stored tool conversation replay order by @gracjankubicki in #621
    • fix: strip markdown code fences from structured output before decoding by @vaishnavyogesh in #754
    • Add web search and citation support to OpenRouterProvider by @pietervanleuven in #738
    • Default Anthropic text model to Claude Sonnet 5 by @pushpak1300 in #756
    • Standardize withProviderOptions across the provider option API by @pushpak1300 in #753
    • Add Workbench setup with a chat example for manual testing by @pushpak1300 in #762
    • Fix OpenRouter test for new provider options API by @mrdzen in #766
    • Add configurable OpenAI-compatible provider by @pushpak1300 in #742
    • Add WithoutBroadcasting attribute to skip oversized stream events by @pushpak1300 in #752
    • Support PHPStan static analysis at level 2 by @pushpak1300 in #755
    • Remove TextGateway contract in favor of StepTextGateway by @pushpak1300 in #743

    Full Changelog: v0.8.1...v0.9.0

    Open source →
    Release notes
    • Add missing return type generics to embeddings and reranking responses by @dfinchenko in https://github.com/laravel/ai/pull/701
    • Allow disabling the embeddings cache per request by @pushpak1300 in https://github.com/laravel/ai/pull/706
    • Bump shivammathur/setup-php from 2.37.1 to 2.37.2 in the github-actions group by @dependabot[bot] in https://github.com/laravel/ai/pull/708
    • Use native Anthropic structured outputs by default by @paix26875 in https://github.com/laravel/ai/pull/707
    • Add collection generics to TextResponse properties by @dfinchenko in https://github.com/laravel/ai/pull/709
    • Merge all plain-object anyOf branches instead of keeping only the first by @pushpak1300 in https://github.com/laravel/ai/pull/703
    • Add file and store support for Azure OpenAI by @markusjwetzel in https://github.com/laravel/ai/pull/676
    • Add collection generics to AssistantMessage toolCalls by @dfinchenko in https://github.com/laravel/ai/pull/720
    • Extract recursive tool loop into TextGenerationLoop and convert OpenAI by @vinitkadam03 in https://github.com/laravel/ai/pull/652
    • Add collection generics to ToolResultMessage toolResults by @dfinchenko in https://github.com/laravel/ai/pull/735
    • Migrate Anthropic gateway to StepTextGateway via TextGenerationLoop by @vinitkadam03 in https://github.com/laravel/ai/pull/726
    • Migrate xAI gateway to StepTextGateway via TextGenerationLoop by @vinitkadam03 in https://github.com/laravel/ai/pull/728
    • Migrate Groq gateway to StepTextGateway via TextGenerationLoop by @pushpak1300 in https://github.com/laravel/ai/pull/729
    • Convert Ollama text gateway to TextGenerationLoop by @pushpak1300 in https://github.com/laravel/ai/pull/730
    • Convert DeepSeek to TextGenerationLoop and StepTextGateway by @pushpak1300 in https://github.com/laravel/ai/pull/731
    • Convert Gemini gateway to the shared TextGenerationLoop by @pushpak1300 in https://github.com/laravel/ai/pull/732
    • Convert OpenRouter text gateway to TextGenerationLoop by @pushpak1300 in https://github.com/laravel/ai/pull/733
    • Convert Mistral to TextGenerationLoop by @pushpak1300 in https://github.com/laravel/ai/pull/736
    • Migrate Bedrock text gateway onto TextGenerationLoop by @pushpak1300 in https://github.com/laravel/ai/pull/734
    • Support native anyOf schemas by @dbpolito in https://github.com/laravel/ai/pull/710
    • Inline single-use step traits into Gemini and OpenRouter gateways by @pushpak1300 in https://github.com/laravel/ai/pull/741
    • Add collection generics to streamed agent response events by @dfinchenko in https://github.com/laravel/ai/pull/744
    • Add collection generics to image, transcription, and meta responses by @dfinchenko in https://github.com/laravel/ai/pull/745
    • Bump actions/checkout from 6.0.3 to 7.0.0 in the github-actions group by @dependabot[bot] in https://github.com/laravel/ai/pull/747
    • Route top-level Ollama provider options out of the options object by @cjmcintyre in https://github.com/laravel/ai/pull/722
    • Remove redundant global use statements in OpenRouter transcription test by @pushpak1300 in https://github.com/laravel/ai/pull/751
    • Add withProviderOptions() to storable files by @mohali-id in https://github.com/laravel/ai/pull/717
    • Add filesystem tools for AI agents by @pushpak1300 in https://github.com/laravel/ai/pull/651
    • Fix stored tool conversation replay order by @gracjankubicki in https://github.com/laravel/ai/pull/621
    • fix: strip markdown code fences from structured output before decoding by @vaishnavyogesh in https://github.com/laravel/ai/pull/754
    • Add web search and citation support to OpenRouterProvider by @pietervanleuven in https://github.com/laravel/ai/pull/738
    • Default Anthropic text model to Claude Sonnet 5 by @pushpak1300 in https://github.com/laravel/ai/pull/756
    • Standardize withProviderOptions across the provider option API by @pushpak1300 in https://github.com/laravel/ai/pull/753
    • Add Workbench setup with a chat example for manual testing by @pushpak1300 in https://github.com/laravel/ai/pull/762
    • Fix OpenRouter test for new provider options API by @mrdzen in https://github.com/laravel/ai/pull/766
    • Add configurable OpenAI-compatible provider by @pushpak1300 in https://github.com/laravel/ai/pull/742
    • Add WithoutBroadcasting attribute to skip oversized stream events by @pushpak1300 in https://github.com/laravel/ai/pull/752
    • Support PHPStan static analysis at level 2 by @pushpak1300 in https://github.com/laravel/ai/pull/755
    • Remove TextGateway contract in favor of StepTextGateway by @pushpak1300 in https://github.com/laravel/ai/pull/743

    Full Changelog: https://github.com/laravel/ai/compare/v0.8.1...v0.9.0

    Open source →
  8. v0.8.1 10 Jun 2026
    Release notes

    What's Changed

    • Normalize MCP tool schemas into the deserializable JSON Schema subset by @pushpak1300 in #696

    Full Changelog: v0.8.0...v0.8.1

    Open source →
    Release notes

    What's Changed

    • Normalize MCP tool schemas into the deserializable JSON Schema subset by @pushpak1300 in https://github.com/laravel/ai/pull/696

    Full Changelog: https://github.com/laravel/ai/compare/v0.8.0...v0.8.1

    Open source →
  9. v0.8.0 08 Jun 2026
    Release notes

    What's Changed

    New Contributors

    Full Changelog: v0.7.2...v0.8.0

    Open source →
    Release notes

    What's Changed

    • Fix Mistral transcription requests by @NoelDeMartin in https://github.com/laravel/ai/pull/671
    • Bedrock support for remote s3 document by @dumbbellcode in https://github.com/laravel/ai/pull/476
    • Migrate OpenAI web_search_preview to web_search with provider options by @SergiiKhrystenko in https://github.com/laravel/ai/pull/662
    • Add Dependabot cooldown of 5 days by @nunomaduro in https://github.com/laravel/ai/pull/685
    • Enable Dependabot auto-merge by @nunomaduro in https://github.com/laravel/ai/pull/687
    • Add contains method to QueuedAgentPrompt by @balboacodes in https://github.com/laravel/ai/pull/678
    • Recursively remove additionalProperties for Gemini tools by @Edward144 in https://github.com/laravel/ai/pull/682
    • Fix transcription usage mapping for output tokens by @Anoop-Kadachi in https://github.com/laravel/ai/pull/637
    • Fix ImageResponse::toHtml() data URI when image mime is null by @Anoop-Kadachi in https://github.com/laravel/ai/pull/677
    • Pass the original prompt to AgentStreamed when a stream is short-circuited by @FayazK in https://github.com/laravel/ai/pull/684
    • Omit null header and multipart values for Laravel 13 compatibility by @pushpak1300 in https://github.com/laravel/ai/pull/688
    • Add MCP client and server tool support by @pushpak1300 in https://github.com/laravel/ai/pull/655
    • Bump actions/checkout from 6.0.2 to 6.0.3 in the github-actions group by @dependabot[bot] in https://github.com/laravel/ai/pull/692
    • Support OpenAI Zero Data Retention via encrypted reasoning by @Junveloper in https://github.com/laravel/ai/pull/622

    New Contributors

    • @SergiiKhrystenko made their first contribution in https://github.com/laravel/ai/pull/662
    • @balboacodes made their first contribution in https://github.com/laravel/ai/pull/678
    • @Edward144 made their first contribution in https://github.com/laravel/ai/pull/682
    • @FayazK made their first contribution in https://github.com/laravel/ai/pull/684

    Full Changelog: https://github.com/laravel/ai/compare/v0.7.2...v0.8.0

    Open source →
  10. v0.7.2 28 May 2026
    Release notes

    What's Changed

    • Revert "Apply model attribute and explicit model to all providers in a failover list" by @taylorotwell in #667
    • Set claude-opus-4-8 as Anthropic's smartest text model by @pushpak1300 in #670

    Full Changelog: v0.7.1...v0.7.2

    Open source →
    Release notes

    What's Changed

    • Revert "Apply model attribute and explicit model to all providers in a failover list" by @taylorotwell in https://github.com/laravel/ai/pull/667
    • Set claude-opus-4-8 as Anthropic's smartest text model by @pushpak1300 in https://github.com/laravel/ai/pull/670

    Full Changelog: https://github.com/laravel/ai/compare/v0.7.1...v0.7.2

    Open source →
  11. v0.7.1 26 May 2026
    Release notes

    What's Changed

    • Set gemini-3.5-flash as Gemini's smartest text model by @pushpak1300 in https://github.com/laravel/ai/pull/640
    • BedrockTextGateway: Add cache usage by @liambenson in https://github.com/laravel/ai/pull/642
    • Set invocation id on fake stream events by @Anoop-Kadachi in https://github.com/laravel/ai/pull/635
    • Apply model attribute and explicit model to all providers in a failover list by @sumaiazaman in https://github.com/laravel/ai/pull/633
    • Add JSON_UNESCAPED_UNICODE to schema instruction encoding by @sumaiazaman in https://github.com/laravel/ai/pull/644
    • Updates deprecated gemini model to successor by @nicolasbuch in https://github.com/laravel/ai/pull/657
    • Fix Gemini image generation when text part precedes image data by @pushpak1300 in https://github.com/laravel/ai/pull/658
    • Update deprecated Gemini default to gemini-3.5-flash by @pushpak1300 in https://github.com/laravel/ai/pull/661

    New Contributors

    • @liambenson made their first contribution in https://github.com/laravel/ai/pull/642
    • @nicolasbuch made their first contribution in https://github.com/laravel/ai/pull/657

    Full Changelog: https://github.com/laravel/ai/compare/v0.7.0...v0.7.1

    Open source →
  12. v0.7.0 19 May 2026
    Release notes
    • Reject empty reranking document lists by @Anoop-Kadachi in https://github.com/laravel/ai/pull/563
    • Support closure provider options in queued embeddings by @Anoop-Kadachi in https://github.com/laravel/ai/pull/562
    • Add PHPStan by @pushpak1300 in https://github.com/laravel/ai/pull/554
    • Make OpenAI strict mode opt-in via Strict attribute by @pushpak1300 in https://github.com/laravel/ai/pull/530
    • Add providerOptions to Transcription API by @ihxnnxs in https://github.com/laravel/ai/pull/31
    • Validate empty inputs across generation entry points by @Anoop-Kadachi in https://github.com/laravel/ai/pull/564
    • Add CHANGELOG and update-changelog workflow by @pushpak1300 in https://github.com/laravel/ai/pull/567
    • Add unit test for Strict attribute by @mosabbirrakib in https://github.com/laravel/ai/pull/570
    • Add test for Anthropic 529 overloaded response by @mosabbirrakib in https://github.com/laravel/ai/pull/574
    • Document @throws on Image::of() and Embeddings::for() by @mosabbirrakib in https://github.com/laravel/ai/pull/576
    • Add test for structured agent without Strict sends strict false by @mosabbirrakib in https://github.com/laravel/ai/pull/573
    • Add unit test for HandlesFailoverErrors trait by @mosabbirrakib in https://github.com/laravel/ai/pull/572
    • Add tests for Anthropic insufficient credits patterns by @mosabbirrakib in https://github.com/laravel/ai/pull/575
    • Retrieve conversation list from ConversationStore and agent trait by @barryvdh in https://github.com/laravel/ai/pull/236
    • Pin GitHub Actions to commit SHAs and add Dependabot config by @joetannenbaum in https://github.com/laravel/ai/pull/579
    • Add generic types to conversation model relationships by @mosabbirrakib in https://github.com/laravel/ai/pull/582
    • Document @throws on AzureOpenAiGateway::generateImage() by @mosabbirrakib in https://github.com/laravel/ai/pull/585
    • Respect configured database connection in Conversation and ConversationMessage models by @sumaiazaman in https://github.com/laravel/ai/pull/589
    • Reject blank or non-string embeddings inputs by @Anoop-Kadachi in https://github.com/laravel/ai/pull/590
    • Consistent provider key resolution in provider options by @dumbbellcode in https://github.com/laravel/ai/pull/586
    • Use consistent X generation wording by @mosabbirrakib in https://github.com/laravel/ai/pull/584
    • Reject blank or non-string reranking documents by @Anoop-Kadachi in https://github.com/laravel/ai/pull/591
    • Rehydrate attachments when loading conversation history by @sumaiazaman in https://github.com/laravel/ai/pull/587
    • Reject blank model or column in SimilaritySearch::usingModel by @Anoop-Kadachi in https://github.com/laravel/ai/pull/592
    • Reject blank image size and quality by @Anoop-Kadachi in https://github.com/laravel/ai/pull/593
    • Document @throws RuntimeException on file content() methods by @mosabbirrakib in https://github.com/laravel/ai/pull/601
    • Revert "Reject blank image size and quality" by @pushpak1300 in https://github.com/laravel/ai/pull/603
    • Reject blank path in LocalDocument and StoredDocument constructors by @mosabbirrakib in https://github.com/laravel/ai/pull/600
    • Add tests for blank file path constructor validation by @Anoop-Kadachi in https://github.com/laravel/ai/pull/604
    • Bump PHPStan to level 1 and fix type errors by @pushpak1300 in https://github.com/laravel/ai/pull/608
    • Throw InsufficientCreditsException for OpenRouter and DeepSeek credit errors by @sumaiazaman in https://github.com/laravel/ai/pull/606
    • Capture missing usage details across OpenAI-shaped providers by @sumaiazaman in https://github.com/laravel/ai/pull/610
    • Bump shivammathur/setup-php from 2.37.0 to 2.37.1 in the github-actions group by @dependabot[bot] in https://github.com/laravel/ai/pull/615
    • Reject blank URL in RemoteDocument, RemoteImage, and RemoteAudio constructors by @sumaiazaman in https://github.com/laravel/ai/pull/613
    • Pass providerOptions through to Bedrock Converse and capture reasoning content by @Junveloper in https://github.com/laravel/ai/pull/611
    • Remove image+text restriction on openrouter image generation by @Themodem in https://github.com/laravel/ai/pull/595
    • Document @throws LogicException on OpenAiGateway::generateTranscription by @mosabbirrakib in https://github.com/laravel/ai/pull/626
    Open source →
  13. v0.6.8 11 May 2026
    Release notes
    • Delete update-changelog.yml by @pushpak1300 in https://github.com/laravel/ai/pull/525
    • Add error handling tests for VoyageAI reranking by @mosabbirrakib in https://github.com/laravel/ai/pull/527
    • Add error handling tests for OpenAI image generation by @mosabbirrakib in https://github.com/laravel/ai/pull/528
    • Add error handling tests for VoyageAI embeddings by @mosabbirrakib in https://github.com/laravel/ai/pull/526
    • Handle Anthropic pause_turn server-tool continuations by @CodeWrap in https://github.com/laravel/ai/pull/493
    • Add sub-agent support as tools by @JVillator0 in https://github.com/laravel/ai/pull/348
    • Make conversation/message table names configurable by @timmcleod in https://github.com/laravel/ai/pull/484
    • Add error handling tests for image generation (Gemini, AzureOpenAI, OpenRouter) by @mdalikadar in https://github.com/laravel/ai/pull/545
    • Add rate limit and overloaded error tests for ElevenLabs audio by @mosabbirrakib in https://github.com/laravel/ai/pull/542
    • Add rate limit and overloaded error tests for Cohere reranking by @mosabbirrakib in https://github.com/laravel/ai/pull/540
    • Add rate limit and overloaded error tests for Jina reranking by @mosabbirrakib in https://github.com/laravel/ai/pull/541
    • Add tests for Gemini image generation safety blocks by @mosabbirrakib in https://github.com/laravel/ai/pull/547
    • Add error handling tests for embeddings (OpenAI, Gemini) by @mdalikadar in https://github.com/laravel/ai/pull/546
    • Fix parameter name in GeneratesEmbeddings PHPDoc by @mosabbirrakib in https://github.com/laravel/ai/pull/549
    • Remove stale @param and unused Request import in Vercel protocol trait by @mosabbirrakib in https://github.com/laravel/ai/pull/551
    • Fix nonexistent ImageAttachment type in image-related PHPDoc by @mosabbirrakib in https://github.com/laravel/ai/pull/550
    • Add error handling tests for AzureOpenAI image generation by @mosabbirrakib in https://github.com/laravel/ai/pull/537
    • Mark nullable size and quality docblocks across image gateways by @mosabbirrakib in https://github.com/laravel/ai/pull/552
    • Broadcast stream_failed event when BroadcastAgent job fails by @sumaiazaman in https://github.com/laravel/ai/pull/536
    • Gemini context cache support via cachedContent param in agent provider options by @dumbbellcode in https://github.com/laravel/ai/pull/556
    • Fix: DeepSeek 400 Bad Request on multi-turn tool-calls by preserving reasoning_content by @k1rana in https://github.com/laravel/ai/pull/534
    • OpenRouter TTS and STT support by @ondrejehrlich in https://github.com/laravel/ai/pull/559
    • Support provider options in embeddings by @dumbbellcode in https://github.com/laravel/ai/pull/555
    • Enable failover during stream iteration by @kachelle in https://github.com/laravel/ai/pull/279
    Open source →
  14. v0.6.7 07 May 2026
    Release notes

    What's Changed

    • Add coding standards workflow by @pushpak1300 in https://github.com/laravel/ai/pull/487
    • Bind AiManager as singleton to preserve driver extensions across jobs by @ejtmicroventures in https://github.com/laravel/ai/pull/411
    • fix(anthropic): preserve provider content blocks on assistant replay (refs #298) by @CodeWrap in https://github.com/laravel/ai/pull/392
    • Drop redundant tool_config from Gemini text requests by @pushpak1300 in https://github.com/laravel/ai/pull/490
    • Update AssistantMessage.php by @pushpak1300 in https://github.com/laravel/ai/pull/491
    • Add GitHub community health files and workflows by @pushpak1300 in https://github.com/laravel/ai/pull/488
    • Add error handling tests for Mistral embeddings by @sumaiazaman in https://github.com/laravel/ai/pull/495
    • Add error handling tests for Ollama embeddings by @sumaiazaman in https://github.com/laravel/ai/pull/496
    • Add diarize and error handling tests for Mistral transcription by @sumaiazaman in https://github.com/laravel/ai/pull/494
    • Add error handling tests for Azure OpenAI embeddings by @sumaiazaman in https://github.com/laravel/ai/pull/497
    • Add error handling tests for OpenAI transcription by @sumaiazaman in https://github.com/laravel/ai/pull/501
    • Add error handling tests for OpenRouter embeddings by @sumaiazaman in https://github.com/laravel/ai/pull/498
    • Add error handling tests for xAI image generation by @sumaiazaman in https://github.com/laravel/ai/pull/502
    • Add toArray and jsonSerialize to StructuredStep by @plusemon in https://github.com/laravel/ai/pull/504
    • Bedrock : support Base64 image for BedrockTextGateway by @DenneulinThomas in https://github.com/laravel/ai/pull/500
    • [0.x] Add image generation support to AzureOpenAiProvider by @maherelgamil in https://github.com/laravel/ai/pull/505
    • Fix OpenAI citation deduplication by URL by @Anoop-Kadachi in https://github.com/laravel/ai/pull/509
    • Remove URL overrides from providers that rarely need them by @pushpak1300 in https://github.com/laravel/ai/pull/492
    • Preserve OpenAI url citation span indices and stop deduping by @pushpak1300 in https://github.com/laravel/ai/pull/510
    • Add Gemini TTS and STT support by @allurco in https://github.com/laravel/ai/pull/81
    • Allow configuring the database connection for DatabaseConversationStore by @sumaiazaman in https://github.com/laravel/ai/pull/469
    • Align xAI URL citations with OpenAI response parsing by @Anoop-Kadachi in https://github.com/laravel/ai/pull/513
    • Add missing type declaration to ToolResult $result property by @mahfuz-rahman007 in https://github.com/laravel/ai/pull/518
    • Test Anthropic streaming tool_use finish reason without tool blocks by @Anoop-Kadachi in https://github.com/laravel/ai/pull/515
    • Add missing type hint to $quality parameter in defaultImageOptions by @mahfuz-rahman007 in https://github.com/laravel/ai/pull/516
    • Add missing parameter name in EmbeddingsResponse PHPDoc by @mahfuz-rahman007 in https://github.com/laravel/ai/pull/517
    • Add config option to disable LLM-generated conversation titles by @sumaiazaman in https://github.com/laravel/ai/pull/474
    • Sync conversation metadata after streamed responses by @dhrupo in https://github.com/laravel/ai/pull/434
    • Expand streaming finish-reason parity coverage across providers by @Anoop-Kadachi in https://github.com/laravel/ai/pull/521
    • Expand OpenAI-family streaming finish reason parity tests by @Anoop-Kadachi in https://github.com/laravel/ai/pull/523

    New Contributors

    • @ejtmicroventures made their first contribution in https://github.com/laravel/ai/pull/411
    • @plusemon made their first contribution in https://github.com/laravel/ai/pull/504
    • @DenneulinThomas made their first contribution in https://github.com/laravel/ai/pull/500
    • @Anoop-Kadachi made their first contribution in https://github.com/laravel/ai/pull/509
    • @allurco made their first contribution in https://github.com/laravel/ai/pull/81
    • @mahfuz-rahman007 made their first contribution in https://github.com/laravel/ai/pull/518
    • @dhrupo made their first contribution in https://github.com/laravel/ai/pull/434

    Full Changelog: https://github.com/laravel/ai/compare/v0.6.6...v0.6.7

    Open source →
  15. v0.6.6 02 May 2026
    Release notes

    What's Changed

    • Add transcription feature tests for OpenAI provider by @sumaiazaman in https://github.com/laravel/ai/pull/468
    • Add audio feature tests for OpenAI provider by @sumaiazaman in https://github.com/laravel/ai/pull/471
    • Fix reasoning data lost when restoring conversation history by @Cbrad24 in https://github.com/laravel/ai/pull/301
    • Add top_p configuration option for text generation requests by @Duetro in https://github.com/laravel/ai/pull/306
    • Allow tools to declare their name dynamically by @seankndy in https://github.com/laravel/ai/pull/420
    • feat: enhance assistant message mapping and extend tool call attributes by @mohali-id in https://github.com/laravel/ai/pull/461
    • Pass through provider specific Gemini image aspect ratios by @morcken in https://github.com/laravel/ai/pull/282
    • Add image generation support to OpenRouterProvider by @billyfranklim1 in https://github.com/laravel/ai/pull/333
    • Throw helpful error when ai.default config is an array by @JoshSalway in https://github.com/laravel/ai/pull/327
    • [0.x] Fix conversational message iterable handling in text generation by @Button99 in https://github.com/laravel/ai/pull/345
    • Surface usage tokens in OpenAI and Gemini image responses by @maherelgamil in https://github.com/laravel/ai/pull/482
    • Reindex tool calls and results before persisting to prevent JSON object encoding by @sumaiazaman in https://github.com/laravel/ai/pull/473

    New Contributors

    • @Cbrad24 made their first contribution in https://github.com/laravel/ai/pull/301
    • @Duetro made their first contribution in https://github.com/laravel/ai/pull/306
    • @seankndy made their first contribution in https://github.com/laravel/ai/pull/420
    • @mohali-id made their first contribution in https://github.com/laravel/ai/pull/461
    • @morcken made their first contribution in https://github.com/laravel/ai/pull/282
    • @billyfranklim1 made their first contribution in https://github.com/laravel/ai/pull/333
    • @JoshSalway made their first contribution in https://github.com/laravel/ai/pull/327

    Full Changelog: https://github.com/laravel/ai/compare/v0.6.5...v0.6.6

    Open source →
  16. v0.6.5 29 Apr 2026
    Release notes

    What's Changed

    • fix(bedrock): bedrock converse API parameter edge cases by @dumbbellcode in https://github.com/laravel/ai/pull/463
    • fix(bedrock): incorrect name format in user attachments for bedrock provider by @dumbbellcode in https://github.com/laravel/ai/pull/465
    • fix(bedrock): silent tool call failures by @dumbbellcode in https://github.com/laravel/ai/pull/464
    • Support configurable base URL for Jina provider by @sumaiazaman in https://github.com/laravel/ai/pull/470
    • Support configurable base URL for ElevenLabs provider by @sumaiazaman in https://github.com/laravel/ai/pull/472
    • Add embedding feature tests for OpenAI provider by @sumaiazaman in https://github.com/laravel/ai/pull/467
    • fix(openai, anthropic): cast empty tool args to object by @CodeWrap in https://github.com/laravel/ai/pull/419

    Full Changelog: https://github.com/laravel/ai/compare/v0.6.4...v0.6.5

    Open source →
  17. v0.6.4 28 Apr 2026
    Release notes

    What's Changed

    • Add tool mapping test suite for DeepSeek provider by @sumaiazaman in https://github.com/laravel/ai/pull/440
    • Add provider options test suite for DeepSeek provider by @sumaiazaman in https://github.com/laravel/ai/pull/439
    • Add message mapping test suite for DeepSeek provider by @sumaiazaman in https://github.com/laravel/ai/pull/438
    • Fix duplicate helper function causing fatal test bootstrap error by @pushpak1300 in https://github.com/laravel/ai/pull/443
    • use getter functions in toArray method of file classes by @GigaGiorgadze in https://github.com/laravel/ai/pull/436
    • fix: detect LocalImage MIME type across native gateways by @maherelgamil in https://github.com/laravel/ai/pull/430
    • fix: only send explicitly set image options in OpenAI provider by @navneetkumar-pim-webkul in https://github.com/laravel/ai/pull/415
    • Add toAudio macro to Stringable by @nhedger in https://github.com/laravel/ai/pull/264
    • Adding agent methods for text generation options by @MaestroError in https://github.com/laravel/ai/pull/198
    • Add configurable URL support and base URL tests for Cohere provider by @sumaiazaman in https://github.com/laravel/ai/pull/452
    • Add error handling feature tests for ElevenLabs, Cohere, Jina, and VoyageAi by @sumaiazaman in https://github.com/laravel/ai/pull/448
    • Add image generation feature tests for xAI provider by @sumaiazaman in https://github.com/laravel/ai/pull/447
    • Add embedding feature tests for Gemini provider by @sumaiazaman in https://github.com/laravel/ai/pull/450
    • Add base URL feature tests for VoyageAi provider by @sumaiazaman in https://github.com/laravel/ai/pull/451
    • Align Bedrock image and error handling with AWS API by @pushpak1300 in https://github.com/laravel/ai/pull/442
    • Add image generation feature tests for Gemini provider by @sumaiazaman in https://github.com/laravel/ai/pull/449
    • fix(bedrock): bedrock text gateway response messages and steps by @dumbbellcode in https://github.com/laravel/ai/pull/458
    • fix(bedrock): correct default model IDs by @catatsumuri in https://github.com/laravel/ai/pull/460

    New Contributors

    • @GigaGiorgadze made their first contribution in https://github.com/laravel/ai/pull/436
    • @navneetkumar-pim-webkul made their first contribution in https://github.com/laravel/ai/pull/415
    • @MaestroError made their first contribution in https://github.com/laravel/ai/pull/198
    • @dumbbellcode made their first contribution in https://github.com/laravel/ai/pull/458
    • @catatsumuri made their first contribution in https://github.com/laravel/ai/pull/460

    Full Changelog: https://github.com/laravel/ai/compare/v0.6.3...v0.6.4

    Open source →
  18. v0.6.3 22 Apr 2026
    Release notes
    • fix(gateway): fix DeepSeek usage stats by @aaronlei in https://github.com/laravel/ai/pull/435
    • Add agent fake test suite for DeepSeek provider by @sumaiazaman in https://github.com/laravel/ai/pull/437
    • Bedrock provider by @tott in https://github.com/laravel/ai/pull/270
    Open source →
  19. v0.6.2 21 Apr 2026
    Release notes

    Full Changelog: https://github.com/laravel/ai/compare/v0.6.1...v0.6.2

    Open source →
  20. v0.6.1 21 Apr 2026
    Release notes
    • Add HandlesFailoverErrors to VoyageAiGateway by @sumaiazaman in https://github.com/laravel/ai/pull/424
    • Add HandlesFailoverErrors to CohereGateway and JinaGateway by @sumaiazaman in https://github.com/laravel/ai/pull/423
    • Add test suite for CohereProvider (embeddings and reranking) by @maherelgamil in https://github.com/laravel/ai/pull/425
    • Add test suite for ElevenLabsProvider (audio and transcription) by @maherelgamil in https://github.com/laravel/ai/pull/426
    • Memoize ElevenLabs gateway instances by @maherelgamil in https://github.com/laravel/ai/pull/427
    • Add test suite for JinaProvider (embeddings and reranking) by @maherelgamil in https://github.com/laravel/ai/pull/418
    • Remove redundant match expressions in ElevenLabsGateway by @sumaiazaman in https://github.com/laravel/ai/pull/422
    • Apply Files::put(name:) override to StorableFile inputs by @maherelgamil in https://github.com/laravel/ai/pull/428
    • Remove unused prism-php/prism dependency by @pushpak1300 in https://github.com/laravel/ai/pull/414
    • [0.x] Add timeout parameter to Agent contract by @Tiagospem in https://github.com/laravel/ai/pull/412
    Open source →
  21. v0.6.0 16 Apr 2026
    Release notes

    What's Changed

    • fix(anthropic): cast server_tool_use.input to object by @CodeWrap in https://github.com/laravel/ai/pull/389
    • Fix Mistral transcription with diarize() by @NoelDeMartin in https://github.com/laravel/ai/pull/385
    • [0.x] Add feature tests into CI by @jackbayliss in https://github.com/laravel/ai/pull/384
    • Update StoreTest.php by @pushpak1300 in https://github.com/laravel/ai/pull/394
    • Handle nullable tool parameter types for Gemini gateway by @pushpak1300 in https://github.com/laravel/ai/pull/386
    • Fix HasStructuredOutput agents crashing with empty schema by @pushpak1300 in https://github.com/laravel/ai/pull/391
    • Move test fixture classes and files into tests/Fixtures/ by @pushpak1300 in https://github.com/laravel/ai/pull/397
    • [0.x] Fix actions deprecation warnings by @jackbayliss in https://github.com/laravel/ai/pull/401
    • Add OpenRouter gateway for direct API integration by @pushpak1300 in https://github.com/laravel/ai/pull/395
    • Migrate VoyageAi off Prism to native HTTP gateway by @pushpak1300 in https://github.com/laravel/ai/pull/398
    • Add Ollama gateway for direct API integration by @pushpak1300 in https://github.com/laravel/ai/pull/396
    • Migrate DeepSeek provider to a native gateway by @pushpak1300 in https://github.com/laravel/ai/pull/399
    • Add correct finish reason to Gemini streaming text responses by @dash8x in https://github.com/laravel/ai/pull/403
    • Refine document attachment mapping and parameterize agent tests by @pushpak1300 in https://github.com/laravel/ai/pull/408
    • [0.x] Fix HasTools::tools() return type to accept ProviderTool by @sumaiazaman in https://github.com/laravel/ai/pull/353
    • Fix structured output and tool-call handling in native gateways by @pushpak1300 in https://github.com/laravel/ai/pull/409
    • Migrate AzureOpenAiProvider from Prism to dedicated gateway by @pushpak1300 in https://github.com/laravel/ai/pull/404
    • Update Anthropic smartest model default to Claude Opus 4.7 by @pushpak1300 in https://github.com/laravel/ai/pull/413

    New Contributors

    • @CodeWrap made their first contribution in https://github.com/laravel/ai/pull/389
    • @dash8x made their first contribution in https://github.com/laravel/ai/pull/403
    • @sumaiazaman made their first contribution in https://github.com/laravel/ai/pull/353

    Full Changelog: https://github.com/laravel/ai/compare/v0.5.1...v0.6.0

    Open source →
  22. v0.5.1 10 Apr 2026
    Release notes

    What's Changed

    • Handle provider overload errors in native gateways for failover by @pushpak1300 in https://github.com/laravel/ai/pull/378
    • Fix MistralProvider ignoring injected fake gateways by @pushpak1300 in https://github.com/laravel/ai/pull/375
    • Migrate test suite from PHPUnit to Pest PHP by @pushpak1300 in https://github.com/laravel/ai/pull/366
    • Move Gemini file and store gateways into Gemini namespace by @pushpak1300 in https://github.com/laravel/ai/pull/382

    Full Changelog: https://github.com/laravel/ai/compare/v0.5.0...v0.5.1

    Open source →
  23. v0.5.0 09 Apr 2026
    Release notes
    • Fix Mistral default transcription model by @NoelDeMartin in https://github.com/laravel/ai/pull/325
    • Update prism-php/prism dependency version by @rspahni in https://github.com/laravel/ai/pull/322
    • Switch Gemini structured output to response_json_schema by @ipalaus in https://github.com/laravel/ai/pull/364
    • Preserve configured options in tool loop follow-up requests by @pushpak1300 in https://github.com/laravel/ai/pull/363
    • Add Mistral gateway for direct API integration by @pushpak1300 in https://github.com/laravel/ai/pull/368
    • Add xAI gateway for Responses API by @pushpak1300 in https://github.com/laravel/ai/pull/310
    • Add missing gateway tests for Groq and OpenAI providers by @pushpak1300 in https://github.com/laravel/ai/pull/370
    Open source →
  24. v0.4.5 08 Apr 2026
    Release notes
    • Fix ProviderDocument OpenAI attachment mapping by @qwertyquest in https://github.com/laravel/ai/pull/360
    • Add Gemini gateway for direct API integration by @pushpak1300 in https://github.com/laravel/ai/pull/312
    Open source →
  25. v0.4.4 06 Apr 2026
    Release notes
    • Add Groq gateway for Chat Completions API by @pushpak1300 in https://github.com/laravel/ai/pull/311
    • Add direct Anthropic gateway for Messages API by @pushpak1300 in https://github.com/laravel/ai/pull/309
    • Fix OpenAI strict tool parameters and persist providerOptions in tool loops by @pushpak1300 in https://github.com/laravel/ai/pull/340
    • Fix missing additionalProperties on nested objects in strict schemas by @pushpak1300 in https://github.com/laravel/ai/pull/357
    Open source →
  26. v0.4.3 01 Apr 2026
    Release notes
    • Apply missing providerOptions and align maxSteps in OpenAI gateway by @pushpak1300 in https://github.com/laravel/ai/pull/338
    • Add missing filename to OpenAI input_file attachment mappings by @pushpak1300 in https://github.com/laravel/ai/pull/324
    Open source →
  27. v0.4.2 27 Mar 2026
    Release notes
    • fix: use correct file extension for audio transcription uploads by @radumetes in https://github.com/laravel/ai/pull/316
    • [0.x] Fix type error in fileMatchingCallback when fileId is null by @Button99 in https://github.com/laravel/ai/pull/295
    Open source →
  28. v0.4.1 26 Mar 2026
    Release notes
    • Respect configured OpenAI base URL and fixes #314 by @AnnoyingTechnology in https://github.com/laravel/ai/pull/315
    Open source →
  29. v0.4.0 25 Mar 2026
    Release notes
    • Add OpenAI gateway for Responses API by @pushpak1300 in https://github.com/laravel/ai/pull/275
    • Update skill Content by @pushpak1300 in https://github.com/laravel/ai/pull/287
    Open source →
  30. v0.3.2 18 Mar 2026
    Release notes

    Full Changelog: https://github.com/laravel/ai/compare/v0.3.1...v0.3.2

    Open source →
  31. v0.3.1 16 Mar 2026
    Release notes
    • Update default OpenRouter text models to Anthropics 4.6 versions by @fosron in https://github.com/laravel/ai/pull/268
    • [0.x] Remove redundant Collection wrapping in StreamEnd::combineUsage(). by @Button99 in https://github.com/laravel/ai/pull/272
    • Add configurable timeout for audio requests by @nhedger in https://github.com/laravel/ai/pull/263
    • [0.x] Fix file_get_contents() return value not handled if the file does not exist in Local file classes by @Button99 in https://github.com/laravel/ai/pull/267
    Open source →
  32. v0.3.0 12 Mar 2026
    Release notes
    • [0.x] Adjust AddsToolsToPrismRequestsTest by @jackbayliss in https://github.com/laravel/ai/pull/256
    • Add configurable timeout for embedding requests by @nhedger in https://github.com/laravel/ai/pull/262
    • Fix conversation leakage in RemembersConversations::forUser() by @Button99 in https://github.com/laravel/ai/pull/260
    • [0.x] Create a CI test workflow by @jackbayliss in https://github.com/laravel/ai/pull/258
    • [0.x] rename anonymous class helper methods to avoid Pint renaming by @jackbayliss in https://github.com/laravel/ai/pull/257
    • Add failover support for insufficient credits and quota errors by @meirdick in https://github.com/laravel/ai/pull/249
    • Fix missing audio file types in PrismMessages attachment conversion by @sulimanbenhalim in https://github.com/laravel/ai/pull/247
    • Add embedding support for OpenRouter provider by @remcom in https://github.com/laravel/ai/pull/237
    • Fix ErrorEvent property access in PrismStreamEvent by @Husseinadq in https://github.com/laravel/ai/pull/217
    • fix: structured output schema definition by @ralphjsmit in https://github.com/laravel/ai/pull/252
    • Add Ollama dimensions option to embeddings by @WoutervdBrink in https://github.com/laravel/ai/pull/190
    • Fix tool call history not round-tripped in conversation context by @nicodevs in https://github.com/laravel/ai/pull/203
    • [0.x] Add support for configuring provider options on agents by @shafimsp in https://github.com/laravel/ai/pull/166
    Open source →
  33. v0.2.8 10 Mar 2026
    Release notes
    • [0.x] Makes imports consistent by @nunomaduro in https://github.com/laravel/ai/pull/253
    Open source →
  34. v0.2.7 05 Mar 2026
    Release notes
    • refactor: add Lab enum as a type to the $provider parameter in agent methods in Agent contract. by @delabon in https://github.com/laravel/ai/pull/245
    • refactor: remove the $options parameter from addProviderTools method calls by @delabon in https://github.com/laravel/ai/pull/244
    • Fix StreamableAgentResponse signature to accept conversation user by @Button99 in https://github.com/laravel/ai/pull/246
    • fix: pass outputDimension for VoyageAI embeddings by @markritterman in https://github.com/laravel/ai/pull/243
    • Fix BroadcastAgent passing wrong response type to then() callbacks by @sulimanbenhalim in https://github.com/laravel/ai/pull/248
    Open source →
  35. v0.2.6 04 Mar 2026
    Release notes
    • Rename Skill by @pushpak1300 in https://github.com/laravel/ai/pull/227
    • [0.x] Allow for arrays and enum for providers in the macros by @josephkerkhof in https://github.com/laravel/ai/pull/242
    • [0.x] Add Message import and @return docblock to agent stubs by @josephkerkhof in https://github.com/laravel/ai/pull/240
    • Renamed image to image_size in geminiprovider according to gemini api by @Jeroen-chu in https://github.com/laravel/ai/pull/235
    • [0.x] Fix middleware stub naming conflict by @mt-shihab26 in https://github.com/laravel/ai/pull/234
    • Improve base URL logic to prevent double path segments by @Danni2901 in https://github.com/laravel/ai/pull/226
    • Fix undefined variable $e in withModelFailover when providers array is empty by @sulimanbenhalim in https://github.com/laravel/ai/pull/221
    • Fix undefined variable $e in PendingResponse failover loops by @sulimanbenhalim in https://github.com/laravel/ai/pull/225
    Open source →
  36. v0.2.5 26 Feb 2026
    Release notes
    • Revert "Fix streaming generators under Octane" by @taylorotwell in https://github.com/laravel/ai/pull/220
    Open source →
  37. v0.2.4 26 Feb 2026
    Release notes
    • [0.x] Fix missing Base64Document import in Store. by @Button99 in https://github.com/laravel/ai/pull/207
    • Chore: Fix Pint issues by @delabon in https://github.com/laravel/ai/pull/196
    • Fix ReasoningDelta Vercel serialization to match Prism delta events by @christopherarter in https://github.com/laravel/ai/pull/202
    Open source →
  38. v0.2.3 25 Feb 2026
    Release notes
    • Add PHP 8.3 support by @pushpak1300 in https://github.com/laravel/ai/pull/212
    Open source →
  39. v0.2.2 no date
    Release notes
    • Add PHP 8.3 support by @pushpak1300 in https://github.com/laravel/ai/pull/212
    Open source →
  40. v0.2.1 19 Feb 2026
    Release notes
    • Make provider default models configurable via ai config by @pfrug in https://github.com/laravel/ai/pull/183
    • Fix typo in comment for tool calls storagefix: correct typo in CanStr… by @wuwx in https://github.com/laravel/ai/pull/181
    • Add support for timeouts in transcription by @NietThijmen in https://github.com/laravel/ai/pull/176
    • [0.x] Add make:agent-middleware command by @mt-shihab26 in https://github.com/laravel/ai/pull/177
    • [0.x] Allow nullable user IDs in conversation tables by @Button99 in https://github.com/laravel/ai/pull/175
    • Update parameter name in EmbeddingProvider contract for consistency by @josephkerkhof in https://github.com/laravel/ai/pull/168
    • [0.x] Add return type annotations to interfaces by @josephkerkhof in https://github.com/laravel/ai/pull/167
    • Allow Lab enum for Provider attribute by @olavocneto in https://github.com/laravel/ai/pull/169
    • Fix missing exception handling by @mubbi in https://github.com/laravel/ai/pull/161
    • chore: document thrown exceptions by @mubbi in https://github.com/laravel/ai/pull/160
    • Fix invalid Message role and null response in HandlesRateLimiting by @monayemislam in https://github.com/laravel/ai/pull/150
    • chore: add return/parameter types by @mubbi in https://github.com/laravel/ai/pull/157
    • [0.x] Ensure StreamEvent broadcast doesn't double prefix private channels by @jackbayliss in https://github.com/laravel/ai/pull/148
    Open source →
  41. v0.2.0 18 Feb 2026
    Release notes

    Full Changelog: https://github.com/laravel/ai/compare/v0.1.5...v0.2.0

    Open source →
  42. v0.1.5 12 Feb 2026
    Release notes

    Full Changelog: https://github.com/laravel/ai/compare/v0.1.4...v0.1.5

    Open source →
  43. v0.1.4 12 Feb 2026
    Release notes
    • [0.x] Fix ThinkingComplete stream event passing undefined $delta property by @jkbennemann in https://github.com/laravel/ai/pull/88
    • Add missing chunking_strategy provider option for diarized transcriptions by @kachelle in https://github.com/laravel/ai/pull/87
    • Return $this when calling location method in WebSearch by @lcorbett89 in https://github.com/laravel/ai/pull/84
    • [0.x] Sort arguments by @lucasmichot in https://github.com/laravel/ai/pull/74
    • [0x] Use new Collection and new Stringable by @lucasmichot in https://github.com/laravel/ai/pull/73
    • [0.x] Use contains and doesntCountain for all assertions by @lucasmichot in https://github.com/laravel/ai/pull/70
    • [0.x] Prefer ::class notation by @lucasmichot in https://github.com/laravel/ai/pull/69
    • Support user string IDs by @bensherred in https://github.com/laravel/ai/pull/66
    • [0.x] Normalize composer.json by @lucasmichot in https://github.com/laravel/ai/pull/68
    • Add support for anonymous users by @bensherred in https://github.com/laravel/ai/pull/122
    • chore(config): remove unused import from config by @monurakkaya in https://github.com/laravel/ai/pull/116
    • fix: fall back to raw arguments when schema_definition key is missing by @MaximeWillinger in https://github.com/laravel/ai/pull/115
    • fix: handle nullable usage in stream end events by @MaximeWillinger in https://github.com/laravel/ai/pull/114
    • Add API key to provider configuration in image and audio generation by @Claudio-Emmolo in https://github.com/laravel/ai/pull/110
    • Fix fromUpload() ignoring $mime parameter by @mubbi in https://github.com/laravel/ai/pull/108
    • Fix PrismException::toAiException() crash by @mubbi in https://github.com/laravel/ai/pull/106
    • Adds missing Tool import to stubs by @florianraith in https://github.com/laravel/ai/pull/103
    • [0.x] Prefer specific PHPUnit assertions by @jackbayliss in https://github.com/laravel/ai/pull/96
    • [0.x] Forward dimensions to Prism embedding requests by @alaminfirdows in https://github.com/laravel/ai/pull/97
    • [0.0.x] Add array return type to toArray by @jackbayliss in https://github.com/laravel/ai/pull/95
    • Fix AgentPrompted event null prompt when middleware short-circuits by @SanderMuller in https://github.com/laravel/ai/pull/100
    • [0.x] Adjust assertEquals order by @jackbayliss in https://github.com/laravel/ai/pull/94
    • Fix streaming generators under Octane by @csfh in https://github.com/laravel/ai/pull/118
    • Add Reranking to Voyage AI by @eznix86 in https://github.com/laravel/ai/pull/63
    • Add string representation to Provider to prevent fatal error in unsupported provider path by @boynet in https://github.com/laravel/ai/pull/142
    • fix: add missing arguments fallback in PrismTool object code paths by @anilcancakir in https://github.com/laravel/ai/pull/140
    • Fix docblock for transcribe() in GeneratesTranscriptions by @monayemislam in https://github.com/laravel/ai/pull/136
    • Fix typos in AiManager DocBlocks by @jasim-k in https://github.com/laravel/ai/pull/129
    • Fix undefined array key error in queued agent assertions by @mubbi in https://github.com/laravel/ai/pull/126
    • Chore: Add unit test suite to phpunit.xml.dist by @delabon in https://github.com/laravel/ai/pull/124
    • Add Azure OpenAI support by @imYashGupta in https://github.com/laravel/ai/pull/60
    • Allow stream provider failover by @Button99 in https://github.com/laravel/ai/pull/135
    • Add AiProvider enum for provider identifiers by @pushpak1300 in https://github.com/laravel/ai/pull/24
    • feat: add custom base URL support for AI providers by @sadhakbj in https://github.com/laravel/ai/pull/52
    Open source →
  44. v0.1.3 06 Feb 2026
    Release notes
    • Feature/deepseek integration by @ihxnnxs in https://github.com/laravel/ai/pull/29
    • [0.x] Update .gitignore by @jackbayliss in https://github.com/laravel/ai/pull/43
    • Fix ToolCall arguments passed as JSON string instead of array by @nickgerrer in https://github.com/laravel/ai/pull/37
    • Fix/typos param order by @CaReS0107 in https://github.com/laravel/ai/pull/35
    • Allow passing connection config parameters in provider configuration (#32) by @ihxnnxs in https://github.com/laravel/ai/pull/34
    • Add Model attribute by @dwightwatson in https://github.com/laravel/ai/pull/57
    • Support dynamic tool names via method_exists fallback by @gracjankubicki in https://github.com/laravel/ai/pull/56
    • [0.x] Add VoyageAI driver by @jackbayliss in https://github.com/laravel/ai/pull/47
    • [0.x] Add Mistral AI support by @jackbayliss in https://github.com/laravel/ai/pull/40
    Open source →
  45. v0.1.2 05 Feb 2026
    Release notes

    Full Changelog: https://github.com/laravel/ai/compare/v0.1.1...v0.1.2

    Open source →
  46. v0.1.1 05 Feb 2026
    Release notes
    • [0.x] use array_any by @lucasmichot in https://github.com/laravel/ai/pull/28
    • Rename index for agent conversations table by @leek in https://github.com/laravel/ai/pull/27
    Open source →
  47. v0.1.0 05 Feb 2026

    Nothing published for this version

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive