Skip to content

ci: Version Packages - #1537

Merged
AlemTuzlak merged 1 commit into
mainfrom
changeset-release/main
Oct 2, 2026
Merged

AlemTuzlak merged 1 commit into
mainfrom
changeset-release/main

Conversation

@github-actions

@github-actions github-actions Bot commented Sep 28, 2026 •

Copy link
Copy Markdown
Contributor

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

@tanstack/ai@0.64.0

Minor Changes

  • #1578 a5fce7f - Run the server tools of one model turn at the same time. chat() used to run them one after another, so a turn with several slow tools took as long as all of them together.

    • Every call is still prepared in call order (argument parse, input schema check, approval check, onBeforeToolCall). Then the server tools start together.
    • onBeforeToolCall runs for every call before any tool of the turn starts. onAfterToolCall fires for each tool when it finishes. The model still gets the results in the order of its calls.
    • If the run aborts before the tools start, no tool starts. Each call gets the error result "Operation aborted".
    • If a tool or a hook throws, the other tools of the turn finish first. Then the error is thrown.
    • toolCacheMiddleware no longer dedupes identical calls in one turn, because they run at the same time.
    • Opt out with chat({ toolExecution: 'sequential' }).
  • #1539 94116ad - snapDuration and snapToDurationOption accept seconds (6), a numeric string ("6"), a seconds template ("6s"), or a keyword the model lists ("auto"). durationToSeconds reads the numeric forms. Sora (sora-2, sora-2-pro) accepts 4 | 8 | 12, "4" | "8" | "12", or "4s" | "8s" | "12s" and sends "4" | "8" | "12". Lovable Veo accepts the same three spellings for 4, 6, and 8 seconds.

Patch Changes

  • #1579 3a09cf0 - Send Claude's thinking and tool errors back the way Claude sent them.

    • A tool message with error now sends tool_result.is_error: true, so Claude sees that the tool failed.
    • A redacted_thinking block is no longer dropped. It becomes a thinking part with redacted: true, an empty content, and the encrypted data in signature. The flag survives the stream, the UI messages, the wire, and stored threads, and the next request sends the block back as { type: 'redacted_thinking', data }.
    • On the AG-UI wire, a redacted block is its own reasoning message. Its id starts with redacted_thinking-, and the REASONING_ENCRYPTED_VALUE event's entityId points to that id. An AG-UI client keeps message ids, so it sends the block back as redacted data, not as a signature.
    • A thinking block's signature now names its reasoning message in entityId, not the step. An AG-UI client attaches the signature to that message, so it can send it back.
    • ThinkingPart and ModelMessage['thinking'] have the new optional redacted field.
  • #1595 ee726f5 - createMCPServer from @tanstack/ai-mcp/server:

    • A resource read(uri, variables, ctx) now gets the requested URI, the template variables, and ctx.context (the handle context plus authInfo). A template resource can take list(ctx) for resources/list.
    • metadata._meta on a tool definition is sent as the MCP tool _meta, so a tool can link an MCP Apps view with _meta.ui.resourceUri.
    • New sessions: 'stateless' serves spec 2025 clients without a session store, so it works on Cloudflare Workers and other multi-instance hosts. It is now the default. In that mode, ctx.context.requestInput throws a clear error for a spec 2025 client, and ctx.context.sample uses the sample option. Set sessions: 'memory' to keep the old spec 2025 sessions. serveMCPStdio still uses 'memory' when sessions is not set.
    • New onerror option receives SDK transport and protocol errors, including the serveMCPStdio transport errors.
    • Tool and prompt schemas are converted and compiled once at createMCPServer, not on every request.
    • Output schemas are advertised from the output view, and tool results are parsed with the output schema, so a transform or pipe no longer fails the structured-content check. Async output schemas work. Output that fails its schema returns a tool error that names the tool. An output schema with a bare transform advertises no output schema.
    • createMCPClient({ server }) parses tool output the same way, and readResource(uri, context) takes a context for the resource.
    • MCPResourceContext, MCPResourceRead, and MCPResourceList are exported. resourceDefinition accepts list only with uriTemplate.

    convertSchemaToJsonSchema from @tanstack/ai takes a new io: 'input' | 'output' option.

@tanstack/ai-lovable@0.4.0

Minor Changes

  • #1539 94116ad - snapDuration and snapToDurationOption accept seconds (6), a numeric string ("6"), a seconds template ("6s"), or a keyword the model lists ("auto"). durationToSeconds reads the numeric forms. Sora (sora-2, sora-2-pro) accepts 4 | 8 | 12, "4" | "8" | "12", or "4s" | "8s" | "12s" and sends "4" | "8" | "12". Lovable Veo accepts the same three spellings for 4, 6, and 8 seconds.

Patch Changes

@tanstack/ai-mcp@0.7.0

Minor Changes

  • #1595 ee726f5 - createMCPServer from @tanstack/ai-mcp/server:

    • A resource read(uri, variables, ctx) now gets the requested URI, the template variables, and ctx.context (the handle context plus authInfo). A template resource can take list(ctx) for resources/list.
    • metadata._meta on a tool definition is sent as the MCP tool _meta, so a tool can link an MCP Apps view with _meta.ui.resourceUri.
    • New sessions: 'stateless' serves spec 2025 clients without a session store, so it works on Cloudflare Workers and other multi-instance hosts. It is now the default. In that mode, ctx.context.requestInput throws a clear error for a spec 2025 client, and ctx.context.sample uses the sample option. Set sessions: 'memory' to keep the old spec 2025 sessions. serveMCPStdio still uses 'memory' when sessions is not set.
    • New onerror option receives SDK transport and protocol errors, including the serveMCPStdio transport errors.
    • Tool and prompt schemas are converted and compiled once at createMCPServer, not on every request.
    • Output schemas are advertised from the output view, and tool results are parsed with the output schema, so a transform or pipe no longer fails the structured-content check. Async output schemas work. Output that fails its schema returns a tool error that names the tool. An output schema with a bare transform advertises no output schema.
    • createMCPClient({ server }) parses tool output the same way, and readResource(uri, context) takes a context for the resource.
    • MCPResourceContext, MCPResourceRead, and MCPResourceList are exported. resourceDefinition accepts list only with uriTemplate.

    convertSchemaToJsonSchema from @tanstack/ai takes a new io: 'input' | 'output' option.

Patch Changes

@tanstack/ai-ollaya@0.2.0

Minor Changes

  • #1562 f29596b - Add @tanstack/ai-ollaya, an evaluate adapter for a local Ollaya decision
    server. ollayaDecider(model) runs decide() against the open-source laya
    models over Ollaya's POST /v1/systemone endpoint — same wire contract as
    TypeSafe's Jev, fully local, no API key. Defaults to http://127.0.0.1:11435.

Patch Changes

@tanstack/ai-openai@0.26.0

Minor Changes

  • #1574 0f737ac - Add @tanstack/ai-openai/siwc: Sign in with ChatGPT for BYOK. Users can sign in with their ChatGPT account instead of pasting an API key. The access token goes into the openai BYOK slot, and refreshChatGptSignIn renews it in the browser.

  • #1539 94116ad - snapDuration and snapToDurationOption accept seconds (6), a numeric string ("6"), a seconds template ("6s"), or a keyword the model lists ("auto"). durationToSeconds reads the numeric forms. Sora (sora-2, sora-2-pro) accepts 4 | 8 | 12, "4" | "8" | "12", or "4s" | "8s" | "12s" and sends "4" | "8" | "12". Lovable Veo accepts the same three spellings for 4, 6, and 8 seconds.

Patch Changes

@tanstack/ai-acp@0.3.20

Patch Changes

@tanstack/ai-angular@0.12.4

Patch Changes

@tanstack/ai-anthropic@0.19.4

Patch Changes

  • #1579 3a09cf0 - Send Claude's thinking and tool errors back the way Claude sent them.

    • A tool message with error now sends tool_result.is_error: true, so Claude sees that the tool failed.
    • A redacted_thinking block is no longer dropped. It becomes a thinking part with redacted: true, an empty content, and the encrypted data in signature. The flag survives the stream, the UI messages, the wire, and stored threads, and the next request sends the block back as { type: 'redacted_thinking', data }.
    • On the AG-UI wire, a redacted block is its own reasoning message. Its id starts with redacted_thinking-, and the REASONING_ENCRYPTED_VALUE event's entityId points to that id. An AG-UI client keeps message ids, so it sends the block back as redacted data, not as a signature.
    • A thinking block's signature now names its reasoning message in entityId, not the step. An AG-UI client attaches the signature to that message, so it can send it back.
    • ThinkingPart and ModelMessage['thinking'] have the new optional redacted field.
  • #1516 36e77d9 - Update model metadata from OpenRouter API

  • Updated dependencies [3a09cf0, ee726f5, a5fce7f, 94116ad]:

    • @tanstack/ai@0.64.0

@tanstack/ai-bedrock@0.4.2

Patch Changes

@tanstack/ai-byteplus@0.5.2

Patch Changes

@tanstack/ai-claude-code@0.7.2

Patch Changes

@tanstack/ai-client@0.36.1

Patch Changes

@tanstack/ai-cloudflare@0.2.2

Patch Changes

@tanstack/ai-code-mode@0.4.19

Patch Changes

@tanstack/ai-code-mode-snippets@0.4.19

Patch Changes

@tanstack/ai-codex@0.5.15

Patch Changes

@tanstack/ai-cohere@0.4.12

Patch Changes

@tanstack/ai-compaction@0.1.12

Patch Changes

@tanstack/ai-devtools-core@0.5.23

Patch Changes

@tanstack/ai-durable-stream@0.1.22

Patch Changes

@tanstack/ai-elevenlabs@0.6.7

Patch Changes

@tanstack/ai-fal@0.15.4

Patch Changes

@tanstack/ai-gemini@0.34.2

Patch Changes

@tanstack/ai-grok@0.20.4

Patch Changes

@tanstack/ai-grok-build@0.5.15

Patch Changes

@tanstack/ai-groq@0.8.2

Patch Changes

@tanstack/ai-llmgateway@0.2.2

Patch Changes

@tanstack/ai-memory@0.2.9

Patch Changes

@tanstack/ai-mistral@0.6.13

Patch Changes

@tanstack/ai-octane@0.6.4

Patch Changes

@tanstack/ai-ollama@0.11.12

Patch Changes

@tanstack/ai-opencode@0.4.15

Patch Changes

@tanstack/ai-openrouter@0.20.2

Patch Changes

@tanstack/ai-perplexity@0.2.20

Patch Changes

@tanstack/ai-persistence@0.7.2

Patch Changes

  • #1590 0d5b2ea - Update the Redis guidance in the ai-persistence/build-custom-adapter skill: keep runs and interrupts indexes in sorted sets written by one Lua script together with the record, instead of advising against Redis for interrupts.

  • Updated dependencies [3a09cf0, ee726f5, a5fce7f, 94116ad]:

    • @tanstack/ai@0.64.0

@tanstack/ai-preact@0.19.4

Patch Changes

@tanstack/ai-react@0.29.4

Patch Changes

@tanstack/ai-reactor@0.2.10

Patch Changes

@tanstack/ai-remix@0.5.4

Patch Changes

@tanstack/ai-sandbox@0.5.18

Patch Changes

@tanstack/ai-sandbox-cloudflare@0.4.10

Patch Changes

  • Updated dependencies [3a09cf0, ee726f5, a5fce7f, 94116ad]:
    • @tanstack/ai@0.64.0
    • @tanstack/ai-sandbox@0.5.18
    • @tanstack/ai-sandbox-local-process@0.2.6

@tanstack/ai-skills@0.1.14

Patch Changes

@tanstack/ai-solid@0.25.4

Patch Changes

@tanstack/ai-svelte@0.24.4

Patch Changes

@tanstack/ai-typesafe@0.1.7

Patch Changes

@tanstack/ai-vercel-gateway@0.3.2

Patch Changes

@tanstack/ai-vertex@0.2.22

Patch Changes

@tanstack/ai-vue@0.25.4

Patch Changes

@tanstack/ai-worldlabs@0.1.3

Patch Changes

@tanstack/openai-base@0.12.2

Patch Changes

@tanstack/preact-ai-devtools@0.1.72

Patch Changes

  • #1535 62bec34 - Add Preact v11 to peerDependencies

  • Updated dependencies []:

    • @tanstack/ai-devtools-core@0.5.23

ag-ui@0.0.31

Patch Changes

  • Updated dependencies []:
    • @tanstack/ai-client@0.36.1
    • @tanstack/ai-react@0.29.4

@github-actions
github-actions Bot force-pushed the changeset-release/main branch from 38ffe81 to c6a5a4d Compare September 30, 2026 03:31
@coderabbitai

coderabbitai Bot commented Sep 30, 2026 •

Copy link
Copy Markdown
Contributor

Important

Review skipped

Bot user detected.

To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Repository: TanStack/ai/.coderabbit.yaml

Review profile: CHILL

Plan: Advanced

Run ID: 1483cc36-2701-4d57-b516-edfd037fc2db

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
  • Autopilot · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Autopilot is currently an internal CodeRabbit preview.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions
github-actions Bot force-pushed the changeset-release/main branch 8 times, most recently from b0aa754 to d1383c1 Compare October 2, 2026 07:41
@github-actions
github-actions Bot force-pushed the changeset-release/main branch from d1383c1 to 145cd83 Compare October 2, 2026 08:05
@AlemTuzlak
AlemTuzlak merged commit d31e4eb into main Oct 2, 2026
3 checks passed
@AlemTuzlak
AlemTuzlak deleted the changeset-release/main branch October 2, 2026 12:26
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