---
title: "Changelog"
description: "Release notes for laravel-cf-workersai, with summaries of recent versions."
---

> Documentation Index
> Fetch the complete documentation index at: https://laravel-cf-workersai-docs.mdick85.workers.dev/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Changelog

This page summarizes recent versions. The full notes are in [CHANGELOG.md](https://github.com/meirdick/laravel-cf-workersai/blob/main/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()` and `Collection::rerank()`. See [Reranking](/docs/guides/reranking/).
- **Image generation.** `Image::of()`, with sizes, quality and FLUX.2 reference images. See [Image generation](/docs/guides/images/).
- **Speech and transcription.** `Audio::of()` and `Transcription::of()`, with speaker labels on `nova-3`. See [Speech and transcription](/docs/guides/audio/).
- **Documents.** `Markdown::of()` converts PDF, Word, Excel and other files. `convert_documents` does it for attachments on chat calls. See [Documents](/docs/guides/documents/).
- **Web search.** `CloudflareWebSearch` is a normal tool. See [Web search](/docs/guides/web-search/).
- **Neurons on every model call.** `WorkersAiUsageReported` now fires for Clef, Clairic and the new calls.
- **Tested on an authenticated gateway.** Text and embeddings need `gateway_token`. Other calls need only `key`, except FLUX.2. `nova-3` cannot run through a gateway, and throws. See [Non-JSON models](/docs/concepts/routes/#non-json-models).
- **Docs corrected.** Laravel AI provider tools do not throw on `laravel/ai` 1.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()`, the `Extracting`, `Extracted` and `ExtractionFailed` events, failover lists, `when()`, `withHeaders()`, and closures in `withProviderOptions()`. See [Clairic](/docs/system-one/clairic/).
- **Clef and Clairic read Cloudflare's `result` envelope**, and accept `errors: []` as success. In 1.1.0, Clef returned no answers and Clairic threw `Workers 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 throws `GatewayTimeoutException`. Before, Clef returned an empty response.
- **Third-party models are accepted on the direct route.** Cloudflare's REST API serves `openai/gpt-5.5` on `/ai/v1`. See [third-party models](/docs/guides/ai-gateway/#third-party-models).
- **Clairic answers** gain `guess()`, `spans()`, `steps()`, `pBelow()`, `pAbove()`, and the response gains `stateText`.
- Clef and Clairic validate config as chat does, so `url` with `account_id` throws.
- The classifying provider is a normal class, not `eval()`.
- Corrects the third-party docs. A Cloudflare token in `key` returns 401 on `/compat`, so use the direct route.
- The docs now say where each value goes: `.env` holds the values, and `config/ai.php` reads 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()`, on `laravel/ai` 1.0 and later. See [Clef](/docs/system-one/clef/) and [Clairic](/docs/system-one/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 `WorkersAiUsageReported` with the call's neuron total. Before, only non-streamed calls reported neurons. See [Cost tracking](/docs/guides/cost-tracking/).

## 1.0.0 (2026-11-02)

First stable release. One codebase supports `laravel/ai` 0.9 to 1.3.

- Adds `laravel/ai` 1.x support (`^1.0`, tested on v1.0.0 and v1.3.0).
- Sends the `headers` config key and, on 1.x, `Provider::withHeaders()` headers. Before 1.0.0 they were dropped.
- Fills `StepResponse::$reasoning` on 1.x.
- On 0.9 to 0.11, `Usage::$promptTokens` excludes cached tokens. On 1.x, `TextUsage::$inputTokens` includes them. `WorkersAiUsageReported::$promptTokens` is uncached on both.
- Fixes 6 attempts on a persistent 429 with `laravel/ai` 1.2.1 and later. The total is 3 again.
- Reads `reasoning_tokens` from `completion_tokens_details` too.

Upgrading from 0.8.x? See [Upgrade to 1.0](/docs/guides/upgrade/).

Source: https://laravel-cf-workersai-docs.mdick85.workers.dev/docs/changelog/index.mdx
