This page summarizes recent versions. The full notes are in CHANGELOG.md. The package follows Semantic Versioning.
1.3.0 (2026-11-05)
The package now covers Cloudflare’s other model types, through the Laravel AI code you already write.
- Reranking.
Reranking::of()andCollection::rerank(). See Reranking. - Image generation.
Image::of(), with sizes, quality and FLUX.2 reference images. See Image generation. - Speech and transcription.
Audio::of()andTranscription::of(), with speaker labels onnova-3. See Speech and transcription. - Documents.
Markdown::of()converts PDF, Word, Excel and other files.convert_documentsdoes it for attachments on chat calls. See Documents. - Web search.
CloudflareWebSearchis a normal tool. See Web search. - Neurons on every model call.
WorkersAiUsageReportednow fires for Clef, Clairic and the new calls. - Tested on an authenticated gateway. Text and embeddings need
gateway_token. Other calls need onlykey, except FLUX.2.nova-3cannot run through a gateway, and throws. See Non-JSON models. - Docs corrected. Laravel AI provider tools do not throw on
laravel/ai1.1 and later. They are removed with no error. A document or audio attachment has a clearer error.
1.2.0 (2026-11-05)
Upgrade from 1.1.0. Clef and Clairic fail on every live call in that version. This release fixes them, and they now behave like the rest of Laravel AI. The docs have a separate landing page, a new overview and a guide to the routes.
- Clairic has Laravel AI’s testing and failover shape. Adds
Extraction::fake(),assertExtracted(),assertNotExtracted(),assertNothingExtracted(), theExtracting,ExtractedandExtractionFailedevents, failover lists,when(),withHeaders(), and closures inwithProviderOptions(). See Clairic. - Clef and Clairic read Cloudflare’s
resultenvelope, and accepterrors: []as success. In 1.1.0, Clef returned no answers and Clairic threwWorkers AI Error: [unknown] Unknown error. - Clef throws on a bad reply. A 200 reply with an error or no answers throws
AiException, and a 408 throwsGatewayTimeoutException. Before, Clef returned an empty response. - Third-party models are accepted on the direct route. Cloudflare’s REST API serves
openai/gpt-5.5on/ai/v1. See third-party models. - Clairic answers gain
guess(),spans(),steps(),pBelow(),pAbove(), and the response gainsstateText. - Clef and Clairic validate config as chat does, so
urlwithaccount_idthrows. - The classifying provider is a normal class, not
eval(). - Corrects the third-party docs. A Cloudflare token in
keyreturns 401 on/compat, so use the direct route. - The docs now say where each value goes:
.envholds the values, andconfig/ai.phpreads them.
1.1.0 (2026-11-05)
Known issue: Clef and Clairic fail on every live call. Use 1.2.0.
- Clef decisions through
Classification::of(), onlaravel/ai1.0 and later. See Clef and Clairic. - Clairic extraction through
Extraction::of(). Not a laravel/ai API. Works on 0.9 to 1.3. - A shorter README. The full reference is on the docs site.
1.0.1 (2026-11-02)
- Streamed calls now dispatch
WorkersAiUsageReportedwith the call’s neuron total. Before, only non-streamed calls reported neurons. See Cost tracking.
1.0.0 (2026-11-02)
First stable release. One codebase supports laravel/ai 0.9 to 1.3.
- Adds
laravel/ai1.x support (^1.0, tested on v1.0.0 and v1.3.0). - Sends the
headersconfig key and, on 1.x,Provider::withHeaders()headers. Before 1.0.0 they were dropped. - Fills
StepResponse::$reasoningon 1.x. - On 0.9 to 0.11,
Usage::$promptTokensexcludes cached tokens. On 1.x,TextUsage::$inputTokensincludes them.WorkersAiUsageReported::$promptTokensis uncached on both. - Fixes 6 attempts on a persistent 429 with
laravel/ai1.2.1 and later. The total is 3 again. - Reads
reasoning_tokensfromcompletion_tokens_detailstoo.
Upgrading from 0.8.x? See Upgrade to 1.0.