Release history.

Every package release from the assistant-ui monorepo, grouped by day.

Jun 1, 2026

12 releases

>@assistant-ui/core@0.2.9add 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.2 changes

Features2

add 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.
move 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.
view on github
>@assistant-ui/next@0.0.3add @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 file3 changes

Features3

add @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
extract 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.
move 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.
view on github
>@assistant-ui/react@0.14.13add 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.2 changes

Features2

add 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.
move 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.
view on github
>@assistant-ui/react-ink@0.0.22move 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.1 change

Features1

move 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.
view on github
>@assistant-ui/react-native@0.1.20move 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.1 change

Features1

move 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.
view on github
>@assistant-ui/vite@0.0.2add @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.1 change

Features1

add @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.
view on github
>@assistant-ui/x-generative-compiler@0.0.2extract 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.1 change

Features1

extract 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.
view on github
>assistant-stream@0.3.19add 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.1 change

Features1

add 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.
view on github
>assistant-ui@0.0.97prompt 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.1 change

Features1

prompt 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.
view on github
>3 maintenance releasesdependency updates and chores
>@assistant-ui/react-ink-markdown@0.0.21@assistant-ui/[email protected]1 change

Other1

@assistant-ui/[email protected]
view on github
>@assistant-ui/react-mcp@0.0.5[email protected]1 change
>create-assistant-ui@0.0.60[email protected]1 change

May 31, 2026

1 release

>@assistant-ui/next@0.0.2add @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 file2 changes

Features1

add @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

Chores1

update dependencies
view on github

May 27, 2026

17 releases

>@assistant-ui/core@0.2.7detect and diagnose duplicate @assistant-ui/core installs2 changes

Features2

detect and diagnose duplicate @assistant-ui/core installs
core
build 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.
view on github
>assistant-ui@0.0.95detect and diagnose duplicate @assistant-ui/core installs1 change

Features1

detect and diagnose duplicate @assistant-ui/core installs
view on github
>15 maintenance releasesdependency updates and chores
>@assistant-ui/cloud-ai-sdk@0.1.17update dependencies1 change

Chores1

update dependencies
view on github
>@assistant-ui/react@0.14.11drop tracker-behaviour explainer comments left behind in satellite runtimes1 change

Chores1

drop tracker-behaviour explainer comments left behind in satellite runtimes
view on github
>@assistant-ui/react-ag-ui@0.0.33drop tracker-behaviour explainer comments left behind in satellite runtimes1 change

Chores1

drop tracker-behaviour explainer comments left behind in satellite runtimes
view on github
>@assistant-ui/react-ai-sdk@1.3.30drop tracker-behaviour explainer comments left behind in satellite runtimes1 change

Chores1

drop tracker-behaviour explainer comments left behind in satellite runtimes
view on github
>@assistant-ui/react-google-adk@0.0.12drop tracker-behaviour explainer comments left behind in satellite runtimes1 change

Chores1

drop tracker-behaviour explainer comments left behind in satellite runtimes
view on github
>@assistant-ui/react-hook-form@0.12.16update dependencies1 change

Chores1

update dependencies
view on github
>@assistant-ui/react-ink@0.0.20update dependencies1 change

Chores1

update dependencies
view on github
>@assistant-ui/react-ink-markdown@0.0.19update dependencies1 change

Chores1

update dependencies
view on github
>@assistant-ui/react-langchain@0.0.10drop tracker-behaviour explainer comments left behind in satellite runtimes1 change

Chores1

drop tracker-behaviour explainer comments left behind in satellite runtimes
view on github
>@assistant-ui/react-langgraph@0.14.4drop tracker-behaviour explainer comments left behind in satellite runtimes1 change

Chores1

drop tracker-behaviour explainer comments left behind in satellite runtimes
view on github
>@assistant-ui/react-mcp@0.0.3@assistant-ui/[email protected]1 change

Other1

@assistant-ui/[email protected]
view on github
>@assistant-ui/react-o11y@0.0.16@assistant-ui/[email protected]1 change

Other1

@assistant-ui/[email protected]
view on github
>@assistant-ui/react-opencode@0.2.3update dependencies1 change

Chores1

update dependencies
view on github
>@assistant-ui/tap@0.5.13stabilize flaky StrictMode setTimeout rerender test on slow CI1 change

Tests1

stabilize flaky StrictMode setTimeout rerender test on slow CI
view on github
>create-assistant-ui@0.0.58[email protected]1 change

May 26, 2026

10 releases

>@assistant-ui/core@0.2.6simplify MessagePrimitive.GroupedParts API and add groupPartByType helper.2 changes

Features2

simplify MessagePrimitive.GroupedParts API and add groupPartByType helper.
surface 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.
view on github
>@assistant-ui/react@0.14.9simplify MessagePrimitive.GroupedParts API and add groupPartByType helper.2 changes

Features2

simplify MessagePrimitive.GroupedParts API and add groupPartByType helper.
surface 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.
view on github
>@assistant-ui/react-ai-sdk@1.3.28surface 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.1 change

Features1

surface 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.
view on github
>@assistant-ui/react-ink@0.0.19surface 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.1 change

Features1

surface 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.
view on github
>@assistant-ui/react-native@0.1.18simplify MessagePrimitive.GroupedParts API and add groupPartByType helper.2 changes

Features2

simplify MessagePrimitive.GroupedParts API and add groupPartByType helper.
surface 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.
view on github
>assistant-stream@0.3.17preserve parentId on streamed text and reasoning parts1 change

Fixes1

preserve parentId on streamed text and reasoning parts
view on github
>4 maintenance releasesdependency updates and chores
>@assistant-ui/react-ink-markdown@0.0.18@assistant-ui/[email protected]1 change

Other1

@assistant-ui/[email protected]
view on github
>@assistant-ui/react-mcp@0.0.2@assistant-ui/[email protected]1 change

Other1

@assistant-ui/[email protected]
view on github
>assistant-ui@0.0.94drop with-parent-id-grouping from the --example list. the example demonstrated MessagePrimitive.UnstablePartsGroupedByParentId, 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 searchweb tool in the same example. npx assistant-ui create -e with-parent-id-grouping will no longer resolve.1 change

Chores1

cli
drop 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.
view on github
>create-assistant-ui@0.0.57[email protected]1 change

May 25, 2026

34 releases

>@assistant-ui/core@0.2.5add MessagePrimitive.GenerativeUI primitive6 changes

Features3

core, react
add MessagePrimitive.GenerativeUI primitive
react-ink
add file storage adapter
core, react
opt-out of auto-unarchive when switching threads

Fixes1

core
replay 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.

Chores1

update dependencies

Other1

relax 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.
view on github
>@assistant-ui/react@0.14.8unstableinsertNewlineOnTouchEnter on ComposerPrimitive.Input4 changes

Features3

react
unstable_insertNewlineOnTouchEnter on ComposerPrimitive.Input
core, react
add MessagePrimitive.GenerativeUI primitive
core, react
opt-out of auto-unarchive when switching threads

Chores1

update dependencies
view on github
>@assistant-ui/react-google-adk@0.0.11add MessagePrimitive.GenerativeUI primitive2 changes

Features1

core, react
add MessagePrimitive.GenerativeUI primitive

Chores1

update dependencies
view on github
>@assistant-ui/react-ink@0.0.18add file storage adapter2 changes

Features1

react-ink
add file storage adapter

Chores1

update dependencies
view on github
>@assistant-ui/react-langchain@0.0.8add MessagePrimitive.GenerativeUI primitive2 changes

Features1

core, react
add MessagePrimitive.GenerativeUI primitive

Chores1

update dependencies
view on github
>@assistant-ui/react-langgraph@0.14.2add MessagePrimitive.GenerativeUI primitive2 changes

Features1

core, react
add MessagePrimitive.GenerativeUI primitive

Chores1

update dependencies
view on github
>@assistant-ui/react-mcp@0.0.1new 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.2 changes

Features1

new 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.

Chores1

update dependencies
view on github
>@assistant-ui/react-native@0.1.17support the children render-prop API on ThreadPrimitive.Messages2 changes

Fixes1

react-native
support the children render-prop API on ThreadPrimitive.Messages

Chores1

update dependencies
view on github
>assistant-stream@0.3.16fix README usage example and clarify wire-format pairing2 changes

Docs1

assistant-stream
fix README usage example and clarify wire-format pairing

Chores1

update dependencies
view on github
>25 maintenance releasesdependency updates and chores
>@assistant-ui/agent-launcher@0.1.5update dependencies1 change

Chores1

update dependencies
view on github
>@assistant-ui/cloud-ai-sdk@0.1.16update dependencies1 change

Chores1

update dependencies
view on github
>@assistant-ui/mcp-docs-server@0.1.32update dependencies1 change

Chores1

update dependencies
view on github
>@assistant-ui/react-a2a@0.2.16update dependencies1 change

Chores1

update dependencies
view on github
>@assistant-ui/react-ag-ui@0.0.32update dependencies1 change

Chores1

update dependencies
view on github
>@assistant-ui/react-ai-sdk@1.3.27update dependencies1 change

Chores1

update dependencies
view on github
>@assistant-ui/react-data-stream@0.12.14update dependencies1 change

Chores1

update dependencies
view on github
>@assistant-ui/react-devtools@1.2.1update dependencies1 change

Chores1

update dependencies
view on github
>@assistant-ui/react-hook-form@0.12.15update dependencies1 change

Chores1

update dependencies
view on github
>@assistant-ui/react-ink-markdown@0.0.17update dependencies1 change

Chores1

update dependencies
view on github
>@assistant-ui/react-lexical@0.2.1update dependencies1 change

Chores1

update dependencies
view on github
>@assistant-ui/react-markdown@0.14.1update dependencies1 change

Chores1

update dependencies
view on github
>@assistant-ui/react-o11y@0.0.15update dependencies1 change

Chores1

update dependencies
view on github
>@assistant-ui/react-opencode@0.2.2update dependencies1 change

Chores1

update dependencies
view on github
>@assistant-ui/react-streamdown@0.3.1update dependencies1 change

Chores1

update dependencies
view on github
>@assistant-ui/react-syntax-highlighter@0.14.1update dependencies1 change

Chores1

update dependencies
view on github
>@assistant-ui/store@0.2.12migrate aui-build from ts.createProgram to tsdown with unbundle: true2 changes

Build1

x-buildutils
migrate aui-build from ts.createProgram to tsdown with unbundle: true

Chores1

update dependencies
view on github
>@assistant-ui/tap@0.5.12migrate aui-build from ts.createProgram to tsdown with unbundle: true2 changes

Build1

x-buildutils
migrate aui-build from ts.createProgram to tsdown with unbundle: true

Chores1

update dependencies
view on github
>@assistant-ui/x-buildutils@0.0.9migrate aui-build from ts.createProgram to tsdown with unbundle: true2 changes

Build1

x-buildutils
migrate aui-build from ts.createProgram to tsdown with unbundle: true

Chores1

update dependencies
view on github
>assistant-cloud@0.1.29update dependencies1 change

Chores1

update dependencies
view on github
>assistant-ui@0.0.93update dependencies1 change

Chores1

update dependencies
view on github
>create-assistant-ui@0.0.56[email protected]1 change
>heat-graph@0.0.9update dependencies1 change

Chores1

update dependencies
view on github
>mcp-app-studio@0.7.14update dependencies1 change

Chores1

update dependencies
view on github
>safe-content-frame@0.0.20update dependencies1 change

Chores1

update dependencies
view on github

May 21, 2026

19 releases

>@assistant-ui/core@0.2.4key part fibers by absolute part index1 change

Fixes1

core|MessageParts,GroupedParts
key part fibers by absolute part index
view on github
>@assistant-ui/core@0.2.3expose modelName and toolNames in ModelContextState5 changes

Features1

core
expose modelName and toolNames in ModelContextState

Fixes2

guard 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.
core
fire 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.

Refactors1

hoist 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.

Docs1

add JSDoc for core runtime and assistant tool APIs
view on github
>@assistant-ui/react@0.14.7render-phase resync of displayed text on part change1 change

Fixes1

react|useSmooth
render-phase resync of displayed text on part change
view on github
>@assistant-ui/react@0.14.6guard 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.6 changes

Fixes3

guard 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.
useExternalStoreRuntime 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.
x-buildutils
include local types/ in typeRoots so x-buildutils itself can resolve its ambient browser-process types

Refactors1

hoist 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.

Docs1

add React JSDoc and deprecation notices for primitive and tool APIs

Other1

fix thread initialization timing race which caused scrollToBottomOnInitialize to fail in useLocalRuntime
view on github
>@assistant-ui/react-ag-ui@0.0.31track streaming timing on the run aggregator so useMessageTiming works on AG-UI assistant messages2 changes

Features1

react-ag-ui
track streaming timing on the run aggregator so useMessageTiming works on AG-UI assistant messages

Fixes1

react-ag-ui
preserve arrival order of parts in RunAggregator
view on github
>@assistant-ui/react-ink@0.0.17add StatusBarPrimitive components9 changes

Features8

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

Fixes1

react-ink
guard Pressable's onPress against the disabled prop independently of isFocused, so disabled reliably blocks key presses even when focus state and the prop disagree.
view on github
>@assistant-ui/react-langchain@0.0.7parity options + send hooks (toward deprecating react-langgraph)2 changes

Features1

react-langchain
parity options + send hooks (toward deprecating react-langgraph)

Chores1

bump @langchain/react peer dependency to ^1.0.2 (v1 useStream API)
view on github
>@assistant-ui/react-langgraph@0.14.1track streaming timing via useLangGraphStreamingTiming so useMessageTiming works on LangGraph assistant messages1 change

Features1

react-langgraph
track streaming timing via useLangGraphStreamingTiming so useMessageTiming works on LangGraph assistant messages
view on github
>@assistant-ui/react-opencode@0.2.1track streaming timing via useOpenCodeStreamingTiming so useMessageTiming works on OpenCode assistant messages2 changes

Features1

react-opencode
track streaming timing via useOpenCodeStreamingTiming so useMessageTiming works on OpenCode assistant messages

Fixes1

react-opencode
make the OpenCode runtime registry recover after React StrictMode cleanup.
view on github
>@assistant-ui/store@0.2.11key 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.2 changes

Fixes1

store
key 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.

Docs1

add JSDoc for useAui, useAuiState, useAuiEvent, AuiIf, and AuiProvider
view on github
>@assistant-ui/x-buildutils@0.0.8include local types/ in typeRoots so x-buildutils itself can resolve its ambient browser-process types1 change

Fixes1

x-buildutils
include local types/ in typeRoots so x-buildutils itself can resolve its ambient browser-process types
view on github
>assistant-cloud@0.1.28allow 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.1 change

Features1

cloud
allow 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.
view on github
>assistant-stream@0.3.15add JSDoc for assistant stream tool definitions1 change

Docs1

add JSDoc for assistant stream tool definitions
view on github
>assistant-ui@0.0.92add a local source override flag --debug-source-root for local CLI template testing4 changes

Features2

add a local source override flag --debug-source-root for local CLI template testing
resolve template UI components from the shared package source

Fixes1

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

Docs1

refresh assistant-ui skill examples with current model names
view on github
>5 maintenance releasesdependency updates and chores
>@assistant-ui/cloud-ai-sdk@0.1.15[email protected]1 change
>@assistant-ui/react-a2a@0.2.15Update link to a2a overview1 change

Other1

Update link to a2a overview
view on github
>@assistant-ui/react-ink-markdown@0.0.16@assistant-ui/[email protected]1 change

Other1

@assistant-ui/[email protected]
view on github
>@assistant-ui/react-o11y@0.0.14@assistant-ui/[email protected]1 change

Other1

@assistant-ui/[email protected]
view on github
>create-assistant-ui@0.0.55[email protected]1 change

May 13, 2026

1 release

>1 maintenance releasedependency updates and chores
>manual-release@0.14.2

May 7, 2026

30 releases

>@assistant-ui/cloud-ai-sdk@0.1.14use ai sdk onFinish event for telemetry status instead of message-shape heuristic2 changes

Fixes1

cloud-ai-sdk
use ai sdk onFinish event for telemetry status instead of message-shape heuristic

Chores1

update dependencies
view on github
>@assistant-ui/core@0.2.0minordrop APIs deprecated in v0.11/v0.121 change

Chores1

drop APIs deprecated in v0.11/v0.12
view on github
>@assistant-ui/react@0.14.0minordrop APIs deprecated in v0.11/v0.121 change

Chores1

drop APIs deprecated in v0.11/v0.12
view on github
>@assistant-ui/react-langgraph@0.14.0minordrop APIs deprecated in v0.11/v0.121 change

Chores1

drop APIs deprecated in v0.11/v0.12
view on github
>@assistant-ui/store@0.2.10RenderChildrenWithAccessor no longer misses re-renders when state updates after access2 changes

Fixes1

RenderChildrenWithAccessor no longer misses re-renders when state updates after access

Chores1

update dependencies
view on github
>25 maintenance releasesdependency updates and chores
>@assistant-ui/mcp-docs-server@0.1.31update dependencies1 change

Chores1

update dependencies
view on github
>@assistant-ui/react-a2a@0.2.14@assistant-ui/[email protected]1 change
>@assistant-ui/react-ag-ui@0.0.29@assistant-ui/[email protected]1 change
>@assistant-ui/react-ai-sdk@1.3.23@assistant-ui/[email protected]1 change
>@assistant-ui/react-data-stream@0.12.13@assistant-ui/[email protected]1 change
>@assistant-ui/react-devtools@1.2.0@assistant-ui/[email protected]1 change
>@assistant-ui/react-google-adk@0.0.10@assistant-ui/[email protected]1 change
>@assistant-ui/react-hook-form@0.12.14@assistant-ui/[email protected]1 change
>@assistant-ui/react-ink@0.0.15@assistant-ui/[email protected]1 change
>@assistant-ui/react-ink-markdown@0.0.14@assistant-ui/[email protected]1 change

Other1

@assistant-ui/[email protected]
view on github
>@assistant-ui/react-langchain@0.0.6@assistant-ui/[email protected]1 change
>@assistant-ui/react-lexical@0.2.0@assistant-ui/[email protected]1 change

Other1

@assistant-ui/[email protected]
view on github
>@assistant-ui/react-markdown@0.14.0@assistant-ui/[email protected]1 change
>@assistant-ui/react-native@0.1.15@assistant-ui/[email protected]1 change
>@assistant-ui/react-o11y@0.0.13@assistant-ui/[email protected]1 change

Other1

@assistant-ui/[email protected]
view on github
>@assistant-ui/react-opencode@0.2.0drop APIs deprecated in v0.11/v0.121 change

Chores1

drop APIs deprecated in v0.11/v0.12
view on github
>@assistant-ui/react-streamdown@0.3.0@assistant-ui/[email protected]1 change
>@assistant-ui/react-syntax-highlighter@0.14.0@assistant-ui/[email protected]1 change

Other1

@assistant-ui/[email protected]
view on github
>@assistant-ui/tap@0.5.11update dependencies1 change

Chores1

update dependencies
view on github
>@assistant-ui/x-buildutils@0.0.7update dependencies1 change

Chores1

update dependencies
view on github
>assistant-stream@0.3.13update dependencies1 change

Chores1

update dependencies
view on github
>assistant-ui@0.0.91update dependencies1 change

Chores1

update dependencies
view on github
>create-assistant-ui@0.0.54[email protected]1 change
>heat-graph@0.0.8update dependencies1 change

Chores1

update dependencies
view on github
>mcp-app-studio@0.7.13update dependencies1 change

Chores1

update dependencies
view on github