Skip to content

Version Packages#1460

Merged
threepointone merged 2 commits into
mainfrom
changeset-release/main
May 13, 2026
Merged

Version Packages#1460
threepointone merged 2 commits into
mainfrom
changeset-release/main

Conversation

@github-actions
Copy link
Copy Markdown
Contributor

@github-actions github-actions Bot commented May 4, 2026

This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.

Releases

@cloudflare/ai-chat@0.7.0

Minor Changes

  • #1484 364a45d Thanks @whoiskatrin! - Add cancelOnClientAbort to useAgentChat. Generic browser/client stream cleanup is now local-only by default so server turns can continue and resume; explicit stop() still cancels the server turn. Set cancelOnClientAbort: true to make generic client aborts cancel the server turn.

Patch Changes

  • #1376 6561a3f Thanks @hrushikeshdeshpande! - Avoid throwing when chat stream resume negotiation/replay races with a closed WebSocket connection.

  • #1487 752e25a Thanks @whoiskatrin! - Close the original WebSocket chat transport stream when the socket disconnects before a terminal response, preventing recovered chat continuations from leaving useAgentChat stuck in streaming state.

  • #1481 12365dd Thanks @whoiskatrin! - Fixed approval auto-continuation streams so reasoning chunks keep a valid reasoning-start before reasoning-delta sequence when continuing from an assistant message that already has reasoning, and preserve the continuation reasoning in the final persisted message.

  • #1483 5373f5c Thanks @whoiskatrin! - Allow Think agent-tool children to complete without emitting assistant text. Non-chat tool-step agents can now provide structured output through getAgentToolOutput, with summaries derived from assistant text, string output, structured output, or an empty string.

    Fix useAgentChat().isServerStreaming cleanup when a resumed stream first enters the fallback observer path and later becomes transport-owned.

@cloudflare/think@0.6.0

Minor Changes

  • #1456 787e73d Thanks @mattzcarey! - Stop applying pruneMessages({ toolCalls: "before-last-2-messages" }) to the model context by default. The previous default silently stripped client-side tool results (no execute, output supplied via addToolOutput) from any turn beyond the second, breaking multi-turn flows where the user's choices live in those tool results (see #1455). truncateOlderMessages still runs as before, so context cost stays bounded.

    This is a behavior change. Subclasses that relied on the old aggressive pruning can opt back in from beforeTurn:

    import { pruneMessages } from "ai";
    
    beforeTurn(ctx) {
      return {
        messages: pruneMessages({
          messages: ctx.messages,
          toolCalls: "before-last-2-messages"
        })
      };
    }
  • #1517 449b421 Thanks @threepointone! - Wrap Think.chat() RPC turns in chat recovery fibers and persist their stream chunks so interrupted sub-agent turns can recover partial output. ChatOptions.tools has been removed from the TypeScript API; runtime options.tools values passed by legacy callers are ignored with a warning. Define durable tools on the child agent or use agent tools for orchestration.

  • #1511 bf3860c Thanks @threepointone! - Add durable programmatic submissions for Think. submitMessages() now provides fast durable acceptance, idempotent retries, status inspection, cancellation, and cleanup for server-driven turns that should continue after the caller returns.

Patch Changes

  • #1500 7090e9e Thanks @threepointone! - Preserve structured tool output shapes when truncating older messages or oversized persisted rows, preventing custom toModelOutput handlers from crashing or mis-replaying compacted results.

    Also harden Think's workspace read tool so legacy raw-string read outputs replay as text instead of stalling subsequent turns.

  • #1483 5373f5c Thanks @whoiskatrin! - Allow Think agent-tool children to complete without emitting assistant text. Non-chat tool-step agents can now provide structured output through getAgentToolOutput, with summaries derived from assistant text, string output, structured output, or an empty string.

    Fix useAgentChat().isServerStreaming cleanup when a resumed stream first enters the fallback observer path and later becomes transport-owned.

  • #1463 ab2b1db Thanks @whoiskatrin! - Avoid throwing when chat stream resume negotiation/replay races with a closed WebSocket connection. Resume protocol sends and the _handleStreamResumeAck fallback now go through sendIfOpen helpers that swallow the TypeError: WebSocket send() after close race instead of letting it propagate up through onMessage.

@cloudflare/voice@0.2.0

Minor Changes

  • #1478 2c7d91b Thanks @whoiskatrin! - Add an enabled option to useVoiceAgent so React apps can delay creating and connecting a VoiceClient until async prerequisites such as capability tokens are ready.

Patch Changes

  • #1458 84cb429 Thanks @whoiskatrin! - Fix Workers AI STT session edge cases for Flux and Nova 3.

    Flux now preserves the latest non-empty turn transcript from turn lifecycle events so an EndOfTurn event with an empty transcript can still emit the completed utterance. Flux StartOfTurn also drives server-side barge-in so model-detected user speech aborts active LLM/TTS playback promptly. Nova 3 now defensively normalizes finalized segment state before reading it to avoid stale teardown messages throwing during abnormal close paths.

  • #1462 5f6214d Thanks @whoiskatrin! - Fix withVoice text streaming for AI SDK textStream responses so TTS audio is produced when onTurn() returns streamText(...).textStream directly.

agents@0.12.4

Patch Changes

  • #1376 6561a3f Thanks @hrushikeshdeshpande! - Avoid throwing when chat stream resume negotiation/replay races with a closed WebSocket connection.

  • #1509 4aa4176 Thanks @threepointone! - Prevent duplicate initial state frames during Agent WebSocket connection setup so client-originated state updates are not overwritten by stale initial state messages.

  • #1476 3c48858 Thanks @whoiskatrin! - Fixed a bug that could cause client state to drift from internal Durable Object state when agent tool calls spanned a Durable Object restart. Recovery now defers user finish hooks until after agent startup and isolates hook failures so one failed mirror write does not block other recovered runs from finalizing.

  • #1514 0371a6f Thanks @threepointone! - Route streamable HTTP server-to-client requests through the originating POST stream when no standalone SSE stream is available.

  • #1500 7090e9e Thanks @threepointone! - Preserve structured tool output shapes when truncating older messages or oversized persisted rows, preventing custom toModelOutput handlers from crashing or mis-replaying compacted results.

    Also harden Think's workspace read tool so legacy raw-string read outputs replay as text instead of stalling subsequent turns.

  • #1504 5d27b71 Thanks @threepointone! - Prune stale sub-agent schedule rows when their owning facet registry entry no longer exists.

  • #1503 7b8ab51 Thanks @threepointone! - Bump PartyServer to pick up transient Durable Object routing retries and expose routingRetry configuration through getAgentByName.

@cloudflare/codemode@0.3.5

Patch Changes

  • #1468 186a2a4 Thanks @mattzcarey! - Add a browser-safe codemode export with an iframe sandbox executor and browser
    tool helper. Harden iframe message handling with nonce-scoped messages, reject
    sanitized tool name collisions, and keep tools with needsApproval: false.

  • #1470 1033fa2 Thanks @mattzcarey! - Resolve OpenAPI specs inside the codemode sandbox to avoid Worker Loader RPC size limits for heavily-referenced specs.

  • #1508 13acffe Thanks @threepointone! - fix(codemode): harden OpenAPI sandbox ref handling

Copy link
Copy Markdown
Contributor

@devin-ai-integration devin-ai-integration Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ Devin Review: No Issues Found

Devin Review analyzed this PR and found no bugs or issues to report.

Open in Devin Review

@github-actions github-actions Bot force-pushed the changeset-release/main branch 22 times, most recently from 0d99b8c to 3f75a4d Compare May 12, 2026 12:28
@github-actions github-actions Bot force-pushed the changeset-release/main branch 5 times, most recently from 3b3aa3b to ec9b62f Compare May 13, 2026 09:44
@github-actions github-actions Bot force-pushed the changeset-release/main branch from ec9b62f to 4bedadf Compare May 13, 2026 12:00
Update peerDependency for "agents" from ">=0.12.1 <1.0.0" to ">=0.12.4 <1.0.0" in packages/ai-chat and packages/think package.json files to require the newer agents release for compatibility/fixes.
@pkg-pr-new
Copy link
Copy Markdown

pkg-pr-new Bot commented May 13, 2026

Open in StackBlitz

agents

npm i https://pkg.pr.new/agents@1460

@cloudflare/ai-chat

npm i https://pkg.pr.new/@cloudflare/ai-chat@1460

@cloudflare/codemode

npm i https://pkg.pr.new/@cloudflare/codemode@1460

hono-agents

npm i https://pkg.pr.new/hono-agents@1460

@cloudflare/shell

npm i https://pkg.pr.new/@cloudflare/shell@1460

@cloudflare/think

npm i https://pkg.pr.new/@cloudflare/think@1460

@cloudflare/voice

npm i https://pkg.pr.new/@cloudflare/voice@1460

@cloudflare/worker-bundler

npm i https://pkg.pr.new/@cloudflare/worker-bundler@1460

commit: 5f5462c

@threepointone threepointone merged commit e728049 into main May 13, 2026
4 checks passed
@threepointone threepointone deleted the changeset-release/main branch May 13, 2026 12:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant