ReleaseCloudflare (Workers AI)Cloudflare (Workers AI)published Jun 5, 2026seen 5d

cloudflare/agents @cloudflare/ai-chat@0.8.3

cloudflare/agents

Open original ↗

Captured source

source ↗
published Jun 5, 2026seen 5dcaptured 12hhttp 200method plain

@cloudflare/ai-chat@0.8.3

Repository: cloudflare/agents

Tag: @cloudflare/ai-chat@0.8.3

Published: 2026-06-05T22:39:22Z

Prerelease: no

Release notes:

Patch Changes

  • #1686 `1e49880` Thanks @threepointone! - Batch and pack chat-persistence SQLite writes to reduce rows written and round-trips.
  • agents: ResumableStream now packs each buffered group of stream chunks into a single SQLite row (a JSON array of chunk bodies) instead of writing one row per chunk. Single-chunk and large-chunk segments are stored unwrapped, and a per-segment byte cap keeps rows within the 2 MB SQLite row limit. This cuts chunk rows written / stored / scanned-on-replay by up to ~10×. Reads (replay, orphan reconstruction, getStreamChunks) transparently unpack both packed segments and legacy per-chunk rows, so existing stored data keeps working. Adds shared buildInClauseStrings and MAX_BOUND_PARAMS helpers exported from agents/chat.
  • @cloudflare/ai-chat: message cleanup (stale-row pruning and maxPersistedMessages enforcement) previously issued one DELETE per row in a loop; it now deletes rows in batched DELETE ... WHERE id IN (...) queries (capped at 100 bound parameters per query).
  • @cloudflare/think: deleteSubmissions() cleanup previously issued one DELETE per terminal submission (up to 500 per call); it now deletes rows in batched DELETE ... WHERE submission_id IN (...) queries.
  • @cloudflare/ai-chat & @cloudflare/think: chat-recovery incident TTL sweep previously deleted each stale incident with a separate awaited storage.delete(key) (which also defeats Durable Object write-coalescing); it now deletes incidents in batched storage.delete(keys) calls (up to 128 keys per call).

Notability

notability 2.0/10

Routine release, no notable traction