assistant-ui logoassistant-ui

Changelog

Release history

All releases published from the assistant-ui monorepo, grouped by date.

Jun 9, 2026

6 packages

@assistant-ui/core@0.2.12patchGitHub →

Other

1
misc@assistant-ui/[email protected]
@assistant-ui/gorp@0.0.2patchGitHub →

Features

1
featadd gorp state-sync primitives
@assistant-ui/react@0.14.16patchGitHub →

Other

1
misc@assistant-ui/[email protected]
@assistant-ui/react-mcp@0.0.8patchGitHub →

Other

1
misc@assistant-ui/[email protected]
@assistant-ui/react-o11y@0.0.19patchGitHub →

Other

1
misc@assistant-ui/[email protected]
@assistant-ui/tap@0.6.1patchGitHub →

Fixes

1
fixkeep the tap React shim compatible with React 18 builds

Jun 8, 2026

38 packages

@assistant-ui/agent-launcher@0.1.6patchGitHub →

Chores

1
choreupdate dependencies
@assistant-ui/cloud-ai-sdk@0.1.20patchGitHub →

Chores

1
choreupdate dependencies
@assistant-ui/core@0.2.11patchGitHub →

Features

5
featexpose joinStrategy on useAISDKRuntime / useChatRuntime
featcheck the generative compiler version against the core package compatibility range
featmessage queuing for external-store, langgraph, and local runtimes
featadd externalTool for render-only generative toolkit entries
featrename hitlTool to humanTool while keeping deprecated compatibility aliases

Fixes

2
fixmake defineToolkit usable for plain runtime toolkits
fixmake SimpleTextAttachmentAdapter and SimpleImageAttachmentAdapter work without FileReader. they read files via the browser only FileReader, so sending an attachment in a non browser runtime (e.g. @assistant-ui/react-ink in a terminal) threw ReferenceError: FileReader is not defined. the adapters now feature detect: they keep using FileReader when it exists (browser, and React Native whose Blob polyfill provides it) and fall back to file.text / file.arrayBuffer in Node. output is byte identical across all three environments, so @assistant-ui/react, @assistant-ui/react-native, and @assistant-ui/react-ink all keep re-exporting the same core implementation.

Chores

1
choreupdate dependencies
@assistant-ui/mcp-docs-server@0.1.34patchGitHub →

Chores

1
choreupdate dependencies
@assistant-ui/metro@0.0.2patchGitHub →

Features

2
featmerge toolkits across "use generative" files and allow a bare defineMcpToolkit default export
featadd @assistant-ui/metro — the "use generative" directive compiler for Expo / React Native, so RN apps author tools with the same defineToolkit API as the web via withAui in metro.config.js

Fixes

1
fixbake the compiler version into the build so the core compatibility check works when the compiler is bundled

Chores

1
choreupdate dependencies
@assistant-ui/next@0.0.5patchGitHub →

Features

1
featrename hitlTool to humanTool while keeping deprecated compatibility aliases

Docs

1
docsreference AISDKToolkit instead of the deprecated generativeTools in the README

Chores

1
choreupdate dependencies
@assistant-ui/react@0.14.15patchGitHub →

Features

3
featmessage queuing for external-store, langgraph, and local runtimes
featadd externalTool for render-only generative toolkit entries
featrename hitlTool to humanTool while keeping deprecated compatibility aliases

Fixes

2
fixmake defineToolkit usable for plain runtime toolkits
fix· mcp-appssend the 2026-01-26 dialect on host→app messages so widgets built with @modelcontextprotocol/ext-apps initialize and receive tool results

Refactors

1
refactorextract a shared sandbox host (SafeContentFrame lifecycle, the single cross-origin guarded message listener, auto-resize) and reuse it for the MCP app frame, with no behavior change

Chores

1
choreupdate dependencies
@assistant-ui/react-a2a@0.2.19patchGitHub →

Chores

1
choreupdate dependencies
@assistant-ui/react-ag-ui@0.0.36patchGitHub →

Features

3
featconsume ACTIVITY_SNAPSHOT events to support MCP Apps on the AG-UI runtime
featexport fromAgUiMessages from the package root
featemit AG-UI multimodal input parts (image/audio/video/document with typed data/url sources) for file attachments instead of the legacy binary input content

Fixes

1
fiximport AG-UI reasoning messages from MESSAGES_SNAPSHOT

Chores

1
choreupdate dependencies
@assistant-ui/react-ai-sdk@1.3.33patchGitHub →

Features

1
featexpose joinStrategy on useAISDKRuntime / useChatRuntime

Fixes

2
fix· react-ai-sdkmake the package metro-bundleable in react native / expo by serving a client-only entry under the react-native export condition
fix· react-ai-sdkmake the package root bundle on edge, cloudflare workers, deno, and browsers, not just react native. the node-only stdio MCP transport is now resolved through a package.json "imports" condition (#mcp-stdio), so importing @assistant-ui/react-ai-sdk at root carries the full server toolkit on every target with http/sse MCP working on edge, while stdio MCP throws a clear runtime error only where a subprocess cannot be spawned (browser, react native, edge, workers) instead of breaking the build via @ai-sdk/mcp/mcp-stdio -> node:child_process. node, bun, and deno keep the real stdio transport.

Chores

2
choredeprecate generativeTools in favor of AISDKToolkit
choreupdate dependencies
@assistant-ui/react-data-stream@0.12.17patchGitHub →

Chores

1
choreupdate dependencies
@assistant-ui/react-devtools@1.2.3patchGitHub →

Features

2
featsurface full tool metadata (type, provider id, MCP server, providerOptions, deferred-results, backend defaults) in the devtools model context, and redact credentials (apiKey, authorization headers, tokens, MCP server headers/env) at the serializer boundary before they cross the postMessage bridge
featforward the scope graph from the host (each accessor's name, source, query, and available method names) so the devtools frame can show a Scopes tab with the scope hierarchy and a per-scope read-only method catalog

Chores

2
choreupdate dependencies
choreallow @assistant-ui/tap 0.6 in the peer dependency range
@assistant-ui/react-generative-ui@0.0.3patchGitHub →

Chores

1
choreupdate dependencies
@assistant-ui/react-google-adk@0.0.15patchGitHub →

Chores

1
choreupdate dependencies
@assistant-ui/react-hook-form@0.12.18patchGitHub →

Chores

1
choreupdate dependencies
@assistant-ui/react-ink@0.0.24patchGitHub →

Features

3
featadd externalTool for render-only generative toolkit entries
featdefineToolkit and the tool markers (hitlTool / stubTool / providerTool) now have runtime implementations in @assistant-ui/react-ink, so Ink apps author tools with the same defineToolkit API (and typed args) as the web. An Ink app runs in a single Node process with no client/server boundary, so there is nothing for the "use generative" compiler to split: defineToolkit resolves each tool's type at runtime and no build step is required.
featrename hitlTool to humanTool while keeping deprecated compatibility aliases

Fixes

2
fixmake defineToolkit usable for plain runtime toolkits
fix· react-inkblock Enter submission while the thread is running unless the runtime supports queueing. ComposerInput called composer.send unconditionally, so pressing Enter mid-run interrupted the active stream even on runtimes with capabilities.queue: false. It now applies the same gate as the web ComposerInput (isRunning && !capabilities.queue no-ops, keeping the typed text). The onSubmit override path is unaffected; apps using it own their submit behavior.

Chores

1
choreupdate dependencies
@assistant-ui/react-ink-markdown@0.0.23patchGitHub →

Chores

1
choreupdate dependencies
@assistant-ui/react-langchain@0.0.13patchGitHub →

Chores

1
choreupdate dependencies
@assistant-ui/react-langgraph@0.14.7patchGitHub →

Features

1
featmessage queuing for external-store, langgraph, and local runtimes

Fixes

2
fixbatch parallel tool results so a turn with multiple tool calls resumes in a single run
fixpreserve LangChain reasoning content when summary is absent

Chores

1
choreupdate dependencies
@assistant-ui/react-lexical@0.2.3patchGitHub →

Chores

1
choreupdate dependencies
@assistant-ui/react-markdown@0.14.2patchGitHub →

Chores

1
choreupdate dependencies
@assistant-ui/react-mcp@0.0.7patchGitHub →

Chores

1
choreupdate dependencies
@assistant-ui/react-native@0.1.22patchGitHub →

Features

2
featadd externalTool for render-only generative toolkit entries
featrename hitlTool to humanTool while keeping deprecated compatibility aliases

Fixes

1
fixmake defineToolkit usable for plain runtime toolkits

Chores

1
choreupdate dependencies
@assistant-ui/react-o11y@0.0.18patchGitHub →

Chores

1
choreupdate dependencies
@assistant-ui/react-opencode@0.2.6patchGitHub →

Chores

1
choreupdate dependencies
@assistant-ui/react-streamdown@0.3.2patchGitHub →

Chores

1
choreupdate dependencies
@assistant-ui/react-syntax-highlighter@0.14.2patchGitHub →

Chores

1
choreupdate dependencies
@assistant-ui/store@0.2.14patchGitHub →

Refactors

1
refactorrename the client composition and event hooks to the use* convention to match the tap resource API: tapClientResource -> useClientResource, tapClientLookup -> useClientLookup, tapClientList -> useClientList, tapAssistantClientRef -> useAssistantClientRef, tapAssistantEmit -> useAssistantEmit.

Chores

1
choreupdate dependencies
@assistant-ui/tap@0.6.0minorGitHub →

Features

1
featReact integration

Chores

1
choreupdate dependencies
@assistant-ui/vite@0.0.4patchGitHub →

Features

1
featrename hitlTool to humanTool while keeping deprecated compatibility aliases

Chores

1
choreupdate dependencies
@assistant-ui/x-buildutils@0.0.12patchGitHub →

Fixes

1
fixomit onSuccess instead of passing undefined so the tsdown config type-checks under exactOptionalPropertyTypes

Chores

1
choreupdate dependencies
@assistant-ui/x-generative-compiler@0.0.4patchGitHub →

Features

4
featcheck the generative compiler version against the core package compatibility range
featadd externalTool for render-only generative toolkit entries
featmerge toolkits across "use generative" files and allow a bare defineMcpToolkit default export
featrename hitlTool to humanTool while keeping deprecated compatibility aliases

Fixes

2
fixbake the compiler version into the build so the core compatibility check works when the compiler is bundled
fixomit externalTool entries from server toolkits

Chores

1
choreupdate dependencies
assistant-cloud@0.1.32patchGitHub →

Chores

1
choreupdate dependencies
assistant-stream@0.3.21patchGitHub →

Chores

1
choreupdate dependencies
assistant-ui@0.0.99patchGitHub →

Chores

1
choreupdate dependencies
create-assistant-ui@0.0.62patchGitHub →
heat-graph@0.0.11patchGitHub →

Chores

1
choreupdate dependencies
safe-content-frame@0.0.21patchGitHub →

Chores

1
choreupdate dependencies

Jun 1, 2026

12 packages

@assistant-ui/core@0.2.9patchGitHub →

Features

2
featadd the ToolkitDeclaration / ToolkitDeclarationDefinition types for authoring a toolkit permissively (a backend tool may declare description/parameters/execute); the canonical Toolkit keeps those fields erased. Author with defineToolkit from @assistant-ui/react, which the "use generative" compiler strips per build.
featmove the defineToolkit and hitl use-generative markers from @assistant-ui/next into @assistant-ui/core/react, so they ship once from every distribution (@assistant-ui/react, @assistant-ui/react-native, @assistant-ui/react-ink) and stay portable across build targets. Import them from @assistant-ui/react instead of @assistant-ui/next; they remain no-op markers stripped at build time by a "use generative" compiler.
@assistant-ui/next@0.0.3patchGitHub →

Features

3
featadd @assistant-ui/next — the withAui Next.js config wrapper and the compiler for the "use generative" directive that colocates a tool's schema, server-only execute, and client-only render in one file
featextract the framework-agnostic "use generative" compiler into the internal @assistant-ui/x-generative-compiler package. @assistant-ui/next now consumes the shared compiler instead of bundling its own copy, so other build integrations can reuse it.
featmove the defineToolkit and hitl use-generative markers from @assistant-ui/next into @assistant-ui/core/react, so they ship once from every distribution (@assistant-ui/react, @assistant-ui/react-native, @assistant-ui/react-ink) and stay portable across build targets. Import them from @assistant-ui/react instead of @assistant-ui/next; they remain no-op markers stripped at build time by a "use generative" compiler.
@assistant-ui/react@0.14.13patchGitHub →

Features

2
featadd the ToolkitDeclaration / ToolkitDeclarationDefinition types for authoring a toolkit permissively (a backend tool may declare description/parameters/execute); the canonical Toolkit keeps those fields erased. Author with defineToolkit from @assistant-ui/react, which the "use generative" compiler strips per build.
featmove the defineToolkit and hitl use-generative markers from @assistant-ui/next into @assistant-ui/core/react, so they ship once from every distribution (@assistant-ui/react, @assistant-ui/react-native, @assistant-ui/react-ink) and stay portable across build targets. Import them from @assistant-ui/react instead of @assistant-ui/next; they remain no-op markers stripped at build time by a "use generative" compiler.
@assistant-ui/react-ink@0.0.22patchGitHub →

Features

1
featmove the defineToolkit and hitl use-generative markers from @assistant-ui/next into @assistant-ui/core/react, so they ship once from every distribution (@assistant-ui/react, @assistant-ui/react-native, @assistant-ui/react-ink) and stay portable across build targets. Import them from @assistant-ui/react instead of @assistant-ui/next; they remain no-op markers stripped at build time by a "use generative" compiler.
@assistant-ui/react-ink-markdown@0.0.21patchGitHub →

Other

1
misc@assistant-ui/[email protected]
@assistant-ui/react-mcp@0.0.5patchGitHub →

Other

1
@assistant-ui/react-native@0.1.20patchGitHub →

Features

1
featmove the defineToolkit and hitl use-generative markers from @assistant-ui/next into @assistant-ui/core/react, so they ship once from every distribution (@assistant-ui/react, @assistant-ui/react-native, @assistant-ui/react-ink) and stay portable across build targets. Import them from @assistant-ui/react instead of @assistant-ui/next; they remain no-op markers stripped at build time by a "use generative" compiler.
@assistant-ui/vite@0.0.2patchGitHub →

Features

1
featadd @assistant-ui/vite — a Vite plugin (aui) that compiles the "use generative" directive for Vite apps and TanStack Start. It transforms each toolkit per Vite environment (client keeps render, server environments keep execute), so no facade/redirect is needed; it also skips the Next-only server-only import, which has no react-server layer under Vite.
@assistant-ui/x-generative-compiler@0.0.2patchGitHub →

Features

1
featextract the framework-agnostic "use generative" compiler into the internal @assistant-ui/x-generative-compiler package. @assistant-ui/next now consumes the shared compiler instead of bundling its own copy, so other build integrations can reuse it.
assistant-stream@0.3.19patchGitHub →

Features

1
featadd the ToolkitDeclaration / ToolkitDeclarationDefinition types for authoring a toolkit permissively (a backend tool may declare description/parameters/execute); the canonical Toolkit keeps those fields erased. Author with defineToolkit from @assistant-ui/react, which the "use generative" compiler strips per build.
assistant-ui@0.0.97patchGitHub →

Features

1
featprompt to add assistant-ui agent skills when creating a project. npx assistant-ui create now asks whether to add the agent skills and, on yes, delegates to the skills CLI (skills add assistant-ui/skills) so it installs into your chosen agent platforms (Claude Code, Cursor, Zed, etc.). Use --skills / --no-skills to skip the prompt; non-interactive runs default to adding them.
create-assistant-ui@0.0.60patchGitHub →

May 31, 2026

1 package

@assistant-ui/next@0.0.2patchGitHub →

Features

1
featadd @assistant-ui/next — the withAui Next.js config wrapper, the defineToolkit authoring helper, and the compiler for the "use generative" directive that colocates a tool's schema, server-only execute, and client-only render in one file

Chores

1
choreupdate dependencies

May 27, 2026

17 packages

@assistant-ui/cloud-ai-sdk@0.1.17patchGitHub →

Chores

1
choreupdate dependencies
@assistant-ui/core@0.2.7patchGitHub →

Features

2
featdetect and diagnose duplicate @assistant-ui/core installs
feat· corebuild a client-side tool-invocations pipeline directly into useExternalStoreRuntime. Tool-call parts in messages now fire streamCall / execute automatically for any external-store runtime that opts in. Opt in per-adapter via unstable_enableToolInvocations: true (off by default — most external-store runtimes either run tools server-side or already wire their own client-side dispatch path; double-firing is the risk). The _store.isLoading flag signals when initial history is loaded: snapshots observed while isLoading === true are treated as historical (no fire), matching the contract that callers like importExternalState already rely on. Six in-tree runtimes (useAssistantTransportRuntime, useAISDKRuntime, useLangGraphRuntime, useStreamRuntime, useAgUiRuntime, useAdkRuntime) are migrated to the embedded tracker; the standalone useToolInvocations React hook is removed. Adds ExternalStoreAdapter.setToolStatuses so adapters can mirror the tracker's per-tool-call status into local React state for converter metadata. Auto-aborts in-flight tool calls on new turns (append with startRun, startRun) so a tool that finishes after the user moves on can no longer feed a stale result into the next turn.
@assistant-ui/react@0.14.11patchGitHub →

Chores

1
choredrop tracker-behaviour explainer comments left behind in satellite runtimes
@assistant-ui/react-ag-ui@0.0.33patchGitHub →

Chores

1
choredrop tracker-behaviour explainer comments left behind in satellite runtimes
@assistant-ui/react-ai-sdk@1.3.30patchGitHub →

Chores

1
choredrop tracker-behaviour explainer comments left behind in satellite runtimes
@assistant-ui/react-google-adk@0.0.12patchGitHub →

Chores

1
choredrop tracker-behaviour explainer comments left behind in satellite runtimes
@assistant-ui/react-hook-form@0.12.16patchGitHub →

Chores

1
choreupdate dependencies
@assistant-ui/react-ink@0.0.20patchGitHub →

Chores

1
choreupdate dependencies
@assistant-ui/react-ink-markdown@0.0.19patchGitHub →

Chores

1
choreupdate dependencies
@assistant-ui/react-langchain@0.0.10patchGitHub →

Chores

1
choredrop tracker-behaviour explainer comments left behind in satellite runtimes
@assistant-ui/react-langgraph@0.14.4patchGitHub →

Chores

1
choredrop tracker-behaviour explainer comments left behind in satellite runtimes
@assistant-ui/react-mcp@0.0.3patchGitHub →

Other

1
misc@assistant-ui/[email protected]
@assistant-ui/react-o11y@0.0.16patchGitHub →

Other

1
misc@assistant-ui/[email protected]
@assistant-ui/react-opencode@0.2.3patchGitHub →

Chores

1
choreupdate dependencies
@assistant-ui/tap@0.5.13patchGitHub →

Tests

1
teststabilize flaky StrictMode setTimeout rerender test on slow CI
assistant-ui@0.0.95patchGitHub →

Features

1
featdetect and diagnose duplicate @assistant-ui/core installs
create-assistant-ui@0.0.58patchGitHub →

May 26, 2026

10 packages

@assistant-ui/core@0.2.6patchGitHub →

Features

2
featsimplify MessagePrimitive.GroupedParts API and add groupPartByType helper.
featsurface AI SDK v6 tool approvals as a first-class respondToApproval prop on tool components. tool-call parts in the approval-requested state now carry part.approval = { id, isAutomatic? }; tool components call respondToApproval({ approved, reason? }) to ack the gate without threading chatHelpers through application context. also fixes a transient requires-action flicker for the approval-responded state and tightens the external-message converter so interrupt vs pending tool calls are distinguished by an actual interrupt/approval field rather than by result === undefined.
@assistant-ui/react@0.14.9patchGitHub →

Features

2
featsimplify MessagePrimitive.GroupedParts API and add groupPartByType helper.
featsurface AI SDK v6 tool approvals as a first-class respondToApproval prop on tool components. tool-call parts in the approval-requested state now carry part.approval = { id, isAutomatic? }; tool components call respondToApproval({ approved, reason? }) to ack the gate without threading chatHelpers through application context. also fixes a transient requires-action flicker for the approval-responded state and tightens the external-message converter so interrupt vs pending tool calls are distinguished by an actual interrupt/approval field rather than by result === undefined.
@assistant-ui/react-ai-sdk@1.3.28patchGitHub →

Features

1
featsurface AI SDK v6 tool approvals as a first-class respondToApproval prop on tool components. tool-call parts in the approval-requested state now carry part.approval = { id, isAutomatic? }; tool components call respondToApproval({ approved, reason? }) to ack the gate without threading chatHelpers through application context. also fixes a transient requires-action flicker for the approval-responded state and tightens the external-message converter so interrupt vs pending tool calls are distinguished by an actual interrupt/approval field rather than by result === undefined.
@assistant-ui/react-ink@0.0.19patchGitHub →

Features

1
featsurface AI SDK v6 tool approvals as a first-class respondToApproval prop on tool components. tool-call parts in the approval-requested state now carry part.approval = { id, isAutomatic? }; tool components call respondToApproval({ approved, reason? }) to ack the gate without threading chatHelpers through application context. also fixes a transient requires-action flicker for the approval-responded state and tightens the external-message converter so interrupt vs pending tool calls are distinguished by an actual interrupt/approval field rather than by result === undefined.
@assistant-ui/react-ink-markdown@0.0.18patchGitHub →

Other

1
misc@assistant-ui/[email protected]
@assistant-ui/react-mcp@0.0.2patchGitHub →

Other

1
misc@assistant-ui/[email protected]
@assistant-ui/react-native@0.1.18patchGitHub →

Features

2
featsimplify MessagePrimitive.GroupedParts API and add groupPartByType helper.
featsurface AI SDK v6 tool approvals as a first-class respondToApproval prop on tool components. tool-call parts in the approval-requested state now carry part.approval = { id, isAutomatic? }; tool components call respondToApproval({ approved, reason? }) to ack the gate without threading chatHelpers through application context. also fixes a transient requires-action flicker for the approval-responded state and tightens the external-message converter so interrupt vs pending tool calls are distinguished by an actual interrupt/approval field rather than by result === undefined.
assistant-stream@0.3.17patchGitHub →

Fixes

1
fixpreserve parentId on streamed text and reasoning parts
assistant-ui@0.0.94patchGitHub →

Chores

1
chore· clidrop with-parent-id-grouping from the --example list. the example demonstrated MessagePrimitive.Unstable_PartsGroupedByParentId, which is deprecated; its grouping pattern is now better demonstrated by with-chain-of-thought using MessagePrimitive.GroupedParts, and the sources gap is closed by emitting source-url parts from a search_web tool in the same example. npx assistant-ui create -e with-parent-id-grouping will no longer resolve.
create-assistant-ui@0.0.57patchGitHub →

May 25, 2026

34 packages

@assistant-ui/agent-launcher@0.1.5patchGitHub →

Chores

1
choreupdate dependencies
@assistant-ui/cloud-ai-sdk@0.1.16patchGitHub →

Chores

1
choreupdate dependencies
@assistant-ui/core@0.2.5patchGitHub →

Features

3
feat· core, reactadd MessagePrimitive.GenerativeUI primitive
feat· react-inkadd file storage adapter
feat· core, reactopt-out of auto-unarchive when switching threads

Fixes

1
fix· corereplay the latched initialize thread event to late subscribers. ensureInitialized emits initialize once during construction, so a runtime seeded with non-empty messages (e.g. useChatRuntime({ messages }) under useRemoteThreadListRuntime) fired it before the title binder's effect subscribed, and the runEndgenerateTitle wiring was never installed. unstable_on("initialize", ...) now schedules a one-off replay (on a microtask, re-checking the subscription) when the thread has already initialized, mirroring a BehaviorSubject, so late subscribers (the title binder, and ThreadViewport's thread.initialize top-anchor reset) no longer miss it.

Chores

1
choreupdate dependencies

Other

1
miscrelax thread-message-like image validation to accept https:// and blob: URLs (and svg+xml data URIs) alongside base64 data: URIs, so assistant-authored images served from a URL render.
@assistant-ui/mcp-docs-server@0.1.32patchGitHub →

Chores

1
choreupdate dependencies
@assistant-ui/react@0.14.8patchGitHub →

Features

3
feat· reactunstable_insertNewlineOnTouchEnter on ComposerPrimitive.Input
feat· core, reactadd MessagePrimitive.GenerativeUI primitive
feat· core, reactopt-out of auto-unarchive when switching threads

Chores

1
choreupdate dependencies
@assistant-ui/react-a2a@0.2.16patchGitHub →

Chores

1
choreupdate dependencies
@assistant-ui/react-ag-ui@0.0.32patchGitHub →

Chores

1
choreupdate dependencies
@assistant-ui/react-ai-sdk@1.3.27patchGitHub →

Chores

1
choreupdate dependencies
@assistant-ui/react-data-stream@0.12.14patchGitHub →

Chores

1
choreupdate dependencies
@assistant-ui/react-devtools@1.2.1patchGitHub →

Chores

1
choreupdate dependencies
@assistant-ui/react-google-adk@0.0.11patchGitHub →

Features

1
feat· core, reactadd MessagePrimitive.GenerativeUI primitive

Chores

1
choreupdate dependencies
@assistant-ui/react-hook-form@0.12.15patchGitHub →

Chores

1
choreupdate dependencies
@assistant-ui/react-ink@0.0.18patchGitHub →

Features

1
feat· react-inkadd file storage adapter

Chores

1
choreupdate dependencies
@assistant-ui/react-ink-markdown@0.0.17patchGitHub →

Chores

1
choreupdate dependencies
@assistant-ui/react-langchain@0.0.8patchGitHub →

Features

1
feat· core, reactadd MessagePrimitive.GenerativeUI primitive

Chores

1
choreupdate dependencies
@assistant-ui/react-langgraph@0.14.2patchGitHub →

Features

1
feat· core, reactadd MessagePrimitive.GenerativeUI primitive

Chores

1
choreupdate dependencies
@assistant-ui/react-lexical@0.2.1patchGitHub →

Chores

1
choreupdate dependencies
@assistant-ui/react-markdown@0.14.1patchGitHub →

Chores

1
choreupdate dependencies
@assistant-ui/react-mcp@0.0.1patchGitHub →

Features

1
featnew package — MCP server configuration and OAuth primitives. Unstyled Radix-style primitives (McpManagerPrimitive, McpServerPrimitive, McpAddFormPrimitive), a tap-backed manager + per-server resource, OAuth (PKCE + DCR) / bearer / none auth modes, and pluggable persistence via MCPLocalStorage / MCPMemoryStorage / MCPCustomStorage.

Chores

1
choreupdate dependencies
@assistant-ui/react-native@0.1.17patchGitHub →

Fixes

1
fix· react-nativesupport the children render-prop API on ThreadPrimitive.Messages

Chores

1
choreupdate dependencies
@assistant-ui/react-o11y@0.0.15patchGitHub →

Chores

1
choreupdate dependencies
@assistant-ui/react-opencode@0.2.2patchGitHub →

Chores

1
choreupdate dependencies
@assistant-ui/react-streamdown@0.3.1patchGitHub →

Chores

1
choreupdate dependencies
@assistant-ui/react-syntax-highlighter@0.14.1patchGitHub →

Chores

1
choreupdate dependencies
@assistant-ui/store@0.2.12patchGitHub →

Build

1
build· x-buildutilsmigrate aui-build from ts.createProgram to tsdown with unbundle: true

Chores

1
choreupdate dependencies
@assistant-ui/tap@0.5.12patchGitHub →

Build

1
build· x-buildutilsmigrate aui-build from ts.createProgram to tsdown with unbundle: true

Chores

1
choreupdate dependencies
@assistant-ui/x-buildutils@0.0.9patchGitHub →

Build

1
build· x-buildutilsmigrate aui-build from ts.createProgram to tsdown with unbundle: true

Chores

1
choreupdate dependencies
assistant-cloud@0.1.29patchGitHub →

Chores

1
choreupdate dependencies
assistant-stream@0.3.16patchGitHub →

Docs

1
docs· assistant-streamfix README usage example and clarify wire-format pairing

Chores

1
choreupdate dependencies
assistant-ui@0.0.93patchGitHub →

Chores

1
choreupdate dependencies
create-assistant-ui@0.0.56patchGitHub →
heat-graph@0.0.9patchGitHub →

Chores

1
choreupdate dependencies
mcp-app-studio@0.7.14patchGitHub →

Chores

1
choreupdate dependencies
safe-content-frame@0.0.20patchGitHub →

Chores

1
choreupdate dependencies

May 21, 2026

19 packages

@assistant-ui/cloud-ai-sdk@0.1.15patchGitHub →
@assistant-ui/core@0.2.4patchGitHub →

Fixes

1
fix· core|MessageParts,GroupedPartskey part fibers by absolute part index
@assistant-ui/core@0.2.3patchGitHub →

Features

1
feat· coreexpose modelName and toolNames in ModelContextState

Fixes

2
fixguard navigator.clipboard availability and swallow write rejections in ActionBarPrimitive.Copy. Previously, copy clicks in SSR, non-HTTPS contexts, or older browsers without the Clipboard API threw a ReferenceError, and permission-denied rejections surfaced as unhandled promise rejections. The web copyToClipboard implementation in @assistant-ui/react now early-rejects when the API is unavailable, and useActionBarCopy in @assistant-ui/core silently absorbs the rejection so the rest of the UI is unaffected.
fix· corefire streamCall for already-resolved tool calls observed after the initial snapshot, and promote in-progress tool calls from the initial snapshot once they change. Previously the runtime silently skipped streamCall whenever a tool-call part arrived already-resolved (history reload, thread switch, mid-run resume, PTC sub-call surfacing), forcing fragile render-effect fallbacks. execute stays suppressed for these cases so side effects don't double-run.

Refactors

1
refactorhoist MessagePartPrimitiveInProgress to @assistant-ui/core/react so @assistant-ui/react, @assistant-ui/react-ink, and other distributions can share the same implementation. @assistant-ui/react's MessagePartPrimitive.InProgress is unchanged for callers; it now re-exports from core.

Docs

1
docsadd JSDoc for core runtime and assistant tool APIs
@assistant-ui/react@0.14.7patchGitHub →

Fixes

1
fix· react|useSmoothrender-phase resync of displayed text on part change
@assistant-ui/react@0.14.6patchGitHub →

Fixes

3
fixguard navigator.clipboard availability and swallow write rejections in ActionBarPrimitive.Copy. Previously, copy clicks in SSR, non-HTTPS contexts, or older browsers without the Clipboard API threw a ReferenceError, and permission-denied rejections surfaced as unhandled promise rejections. The web copyToClipboard implementation in @assistant-ui/react now early-rejects when the API is unavailable, and useActionBarCopy in @assistant-ui/core silently absorbs the rejection so the rest of the UI is unaffected.
fixuseExternalStoreRuntime no longer leaves phantom assistant siblings when the external store swaps a message id between syncs (e.g. AI SDK v6 useChat replacing a client-generated id with a server-provided id mid-stream, surfacing as BranchPicker showing 2/2 on a turn the user never branched). The messages-array sync path now diffs against the previous sync and removes ids that disappeared, matching the messageRepository path's snapshot semantics. Closes #4037.
fix· x-buildutilsinclude local types/ in typeRoots so x-buildutils itself can resolve its ambient browser-process types

Refactors

1
refactorhoist MessagePartPrimitiveInProgress to @assistant-ui/core/react so @assistant-ui/react, @assistant-ui/react-ink, and other distributions can share the same implementation. @assistant-ui/react's MessagePartPrimitive.InProgress is unchanged for callers; it now re-exports from core.

Docs

1
docsadd React JSDoc and deprecation notices for primitive and tool APIs

Other

1
miscfix thread initialization timing race which caused scrollToBottomOnInitialize to fail in useLocalRuntime
@assistant-ui/react-a2a@0.2.15patchGitHub →

Other

1
miscUpdate link to a2a overview
@assistant-ui/react-ag-ui@0.0.31patchGitHub →

Features

1
feat· react-ag-uitrack streaming timing on the run aggregator so useMessageTiming works on AG-UI assistant messages

Fixes

1
fix· react-ag-uipreserve arrival order of parts in RunAggregator
@assistant-ui/react-ink@0.0.17patchGitHub →

Features

8
feat· react-inkadd StatusBarPrimitive components
feat· react-inkadd intra-line highlighting to DiffView replacement lines
feat· react-inkadd LoadingPrimitive for terminal loading states
feat· react-inkadd Status sub-component for terminal-safe attachment status display, and fall back from extensionless filenames to the attachment type in Thumb.
feat· react-inkadd ComposerPrimitive.Queue and QueueItemPrimitive (Text, Remove, Steer)
feat· react-inkadd ComposerPrimitive.Quote, QuoteText, and QuoteDismiss for terminal composer quote parity with @assistant-ui/react
feat· react-inkharden terminal pressable interactions
feat· react-inkadd MessagePartPrimitive namespace with terminal-safe defaults for image, file, source, reasoning, and data parts.

Fixes

1
fix· react-inkguard Pressable's onPress against the disabled prop independently of isFocused, so disabled reliably blocks key presses even when focus state and the prop disagree.
@assistant-ui/react-ink-markdown@0.0.16patchGitHub →

Other

1
misc@assistant-ui/[email protected]
@assistant-ui/react-langchain@0.0.7patchGitHub →

Features

1
feat· react-langchainparity options + send hooks (toward deprecating react-langgraph)

Chores

1
chorebump @langchain/react peer dependency to ^1.0.2 (v1 useStream API)
@assistant-ui/react-langgraph@0.14.1patchGitHub →

Features

1
feat· react-langgraphtrack streaming timing via useLangGraphStreamingTiming so useMessageTiming works on LangGraph assistant messages
@assistant-ui/react-o11y@0.0.14patchGitHub →

Other

1
misc@assistant-ui/[email protected]
@assistant-ui/react-opencode@0.2.1patchGitHub →

Features

1
feat· react-opencodetrack streaming timing via useOpenCodeStreamingTiming so useMessageTiming works on OpenCode assistant messages

Fixes

1
fix· react-opencodemake the OpenCode runtime registry recover after React StrictMode cleanup.
@assistant-ui/store@0.2.11patchGitHub →

Fixes

1
fix· storekey Derived scopes by {source, query} so a meta change produces a new client function in the same render pass. Previously a Derived whose query changed (e.g. MessageByIndexProvider whose index prop changed across renders) kept its underlying resource fiber, and the get closure was updated via tapEffectEvent — which lags one commit. During the in-flight render after a meta change, child consumers reading through the derived scope could resolve through the previous closure and read an index the underlying store no longer had. Hashing the meta into the tapResources key forces the fiber to be replaced when meta changes, so the new clientFunction (and the new get) propagates through React context immediately. Also drops the unused dynamic-meta variant (Derived({ getMeta })); use static source/query.

Docs

1
docsadd JSDoc for useAui, useAuiState, useAuiEvent, AuiIf, and AuiProvider
@assistant-ui/x-buildutils@0.0.8patchGitHub →

Fixes

1
fix· x-buildutilsinclude local types/ in typeRoots so x-buildutils itself can resolve its ambient browser-process types
assistant-cloud@0.1.28patchGitHub →

Features

1
feat· cloudallow custom baseUrl with API key auth. Previously the apiKey config branch hard-coded https://backend.assistant-api.com; you can now pass baseUrl to point an apiKey-authenticated AssistantCloud at a self-hosted or staging backend.
assistant-stream@0.3.15patchGitHub →

Docs

1
docsadd JSDoc for assistant stream tool definitions
assistant-ui@0.0.92patchGitHub →

Features

2
featadd a local source override flag --debug-source-root for local CLI template testing
featresolve template UI components from the shared package source

Fixes

1
fixvalidate create scaffold selector conflicts, respect package managers in add, and refresh CLI README examples

Docs

1
docsrefresh assistant-ui skill examples with current model names
create-assistant-ui@0.0.55patchGitHub →

May 13, 2026

1 package

manual-release@0.14.2GitHub →

No notes.

May 7, 2026

30 packages

@assistant-ui/cloud-ai-sdk@0.1.14patchGitHub →

Fixes

1
fix· cloud-ai-sdkuse ai sdk onFinish event for telemetry status instead of message-shape heuristic

Chores

1
choreupdate dependencies
@assistant-ui/core@0.2.0minorGitHub →

Chores

1
choredrop APIs deprecated in v0.11/v0.12
@assistant-ui/mcp-docs-server@0.1.31patchGitHub →

Chores

1
choreupdate dependencies
@assistant-ui/react@0.14.0minorGitHub →

Chores

1
choredrop APIs deprecated in v0.11/v0.12
@assistant-ui/react-a2a@0.2.14patchGitHub →

Other

1
misc@assistant-ui/[email protected]
@assistant-ui/react-ag-ui@0.0.29patchGitHub →

Other

1
misc@assistant-ui/[email protected]
@assistant-ui/react-ai-sdk@1.3.23patchGitHub →

Other

1
misc@assistant-ui/[email protected]
@assistant-ui/react-data-stream@0.12.13patchGitHub →

Other

1
misc@assistant-ui/[email protected]
@assistant-ui/react-devtools@1.2.0patchGitHub →

Other

1
misc@assistant-ui/[email protected]
@assistant-ui/react-google-adk@0.0.10patchGitHub →

Other

1
misc@assistant-ui/[email protected]
@assistant-ui/react-hook-form@0.12.14patchGitHub →

Other

1
misc@assistant-ui/[email protected]
@assistant-ui/react-ink@0.0.15patchGitHub →

Other

1
misc@assistant-ui/[email protected]
@assistant-ui/react-ink-markdown@0.0.14patchGitHub →

Other

1
misc@assistant-ui/[email protected]
@assistant-ui/react-langchain@0.0.6patchGitHub →

Other

1
misc@assistant-ui/[email protected]
@assistant-ui/react-langgraph@0.14.0minorGitHub →

Chores

1
choredrop APIs deprecated in v0.11/v0.12
@assistant-ui/react-lexical@0.2.0patchGitHub →

Other

1
misc@assistant-ui/[email protected]
@assistant-ui/react-markdown@0.14.0patchGitHub →

Other

1
misc@assistant-ui/[email protected]
@assistant-ui/react-native@0.1.15patchGitHub →

Other

1
misc@assistant-ui/[email protected]
@assistant-ui/react-o11y@0.0.13patchGitHub →

Other

1
misc@assistant-ui/[email protected]
@assistant-ui/react-opencode@0.2.0patchGitHub →

Chores

1
choredrop APIs deprecated in v0.11/v0.12
@assistant-ui/react-streamdown@0.3.0patchGitHub →

Other

1
misc@assistant-ui/[email protected]
@assistant-ui/react-syntax-highlighter@0.14.0patchGitHub →

Other

1
misc@assistant-ui/[email protected]
@assistant-ui/store@0.2.10patchGitHub →

Fixes

1
fixRenderChildrenWithAccessor no longer misses re-renders when state updates after access

Chores

1
choreupdate dependencies
@assistant-ui/tap@0.5.11patchGitHub →

Chores

1
choreupdate dependencies
@assistant-ui/x-buildutils@0.0.7patchGitHub →

Chores

1
choreupdate dependencies
assistant-stream@0.3.13patchGitHub →

Chores

1
choreupdate dependencies
assistant-ui@0.0.91patchGitHub →

Chores

1
choreupdate dependencies
create-assistant-ui@0.0.54patchGitHub →
heat-graph@0.0.8patchGitHub →

Chores

1
choreupdate dependencies
mcp-app-studio@0.7.13patchGitHub →

Chores

1
choreupdate dependencies