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.>@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
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.>@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.>@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.>@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.>@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.>@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
>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.>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.>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]
>@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
May 27, 2026
17 releases
>@assistant-ui/core@0.2.7detect and diagnose duplicate @assistant-ui/core installs2 changes
Features2
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.>assistant-ui@0.0.95detect and diagnose duplicate @assistant-ui/core installs1 change
>15 maintenance releasesdependency updates and chores
>@assistant-ui/cloud-ai-sdk@0.1.17update dependencies1 change
>@assistant-ui/react@0.14.11drop tracker-behaviour explainer comments left behind in satellite runtimes1 change
Chores1
>@assistant-ui/react-ag-ui@0.0.33drop tracker-behaviour explainer comments left behind in satellite runtimes1 change
Chores1
>@assistant-ui/react-ai-sdk@1.3.30drop tracker-behaviour explainer comments left behind in satellite runtimes1 change
Chores1
>@assistant-ui/react-google-adk@0.0.12drop tracker-behaviour explainer comments left behind in satellite runtimes1 change
Chores1
>@assistant-ui/react-hook-form@0.12.16update dependencies1 change
>@assistant-ui/react-ink@0.0.20update dependencies1 change
>@assistant-ui/react-ink-markdown@0.0.19update dependencies1 change
>@assistant-ui/react-langchain@0.0.10drop tracker-behaviour explainer comments left behind in satellite runtimes1 change
Chores1
>@assistant-ui/react-langgraph@0.14.4drop tracker-behaviour explainer comments left behind in satellite runtimes1 change
Chores1
>@assistant-ui/react-mcp@0.0.3@assistant-ui/[email protected]1 change
Other1
@assistant-ui/[email protected]
>@assistant-ui/react-o11y@0.0.16@assistant-ui/[email protected]1 change
Other1
@assistant-ui/[email protected]
>@assistant-ui/react-opencode@0.2.3update dependencies1 change
>@assistant-ui/tap@0.5.13stabilize flaky StrictMode setTimeout rerender test on slow CI1 change
>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
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.>@assistant-ui/react@0.14.9simplify MessagePrimitive.GroupedParts API and add groupPartByType helper.2 changes
Features2
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.>@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.>@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.>@assistant-ui/react-native@0.1.18simplify MessagePrimitive.GroupedParts API and add groupPartByType helper.2 changes
Features2
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.>assistant-stream@0.3.17preserve parentId on streamed text and reasoning parts1 change
Fixes1
preserve parentId on streamed text and reasoning parts
>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]
>@assistant-ui/react-mcp@0.0.2@assistant-ui/[email protected]1 change
Other1
@assistant-ui/[email protected]
>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.>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 primitivereact-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 runEnd → generateTitle 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.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.>@assistant-ui/react@0.14.8unstableinsertNewlineOnTouchEnter on ComposerPrimitive.Input4 changes
Features3
core, react
add
MessagePrimitive.GenerativeUI primitivecore, react
opt-out of auto-unarchive when switching threads
>@assistant-ui/react-google-adk@0.0.11add MessagePrimitive.GenerativeUI primitive2 changes
Features1
core, react
add
MessagePrimitive.GenerativeUI primitive>@assistant-ui/react-ink@0.0.18add file storage adapter2 changes
Features1
react-ink
add file storage adapter
>@assistant-ui/react-langchain@0.0.8add MessagePrimitive.GenerativeUI primitive2 changes
Features1
core, react
add
MessagePrimitive.GenerativeUI primitive>@assistant-ui/react-langgraph@0.14.2add MessagePrimitive.GenerativeUI primitive2 changes
Features1
core, react
add
MessagePrimitive.GenerativeUI primitive>@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.>@assistant-ui/react-native@0.1.17support the children render-prop API on ThreadPrimitive.Messages2 changes
>assistant-stream@0.3.16fix README usage example and clarify wire-format pairing2 changes
>25 maintenance releasesdependency updates and chores
>@assistant-ui/agent-launcher@0.1.5update dependencies1 change
>@assistant-ui/cloud-ai-sdk@0.1.16update dependencies1 change
>@assistant-ui/mcp-docs-server@0.1.32update dependencies1 change
>@assistant-ui/react-a2a@0.2.16update dependencies1 change
>@assistant-ui/react-ag-ui@0.0.32update dependencies1 change
>@assistant-ui/react-ai-sdk@1.3.27update dependencies1 change
>@assistant-ui/react-data-stream@0.12.14update dependencies1 change
>@assistant-ui/react-devtools@1.2.1update dependencies1 change
>@assistant-ui/react-hook-form@0.12.15update dependencies1 change
>@assistant-ui/react-ink-markdown@0.0.17update dependencies1 change
>@assistant-ui/react-lexical@0.2.1update dependencies1 change
>@assistant-ui/react-markdown@0.14.1update dependencies1 change
>@assistant-ui/react-o11y@0.0.15update dependencies1 change
>@assistant-ui/react-opencode@0.2.2update dependencies1 change
>@assistant-ui/react-streamdown@0.3.1update dependencies1 change
>@assistant-ui/react-syntax-highlighter@0.14.1update dependencies1 change
>@assistant-ui/store@0.2.12migrate aui-build from ts.createProgram to tsdown with unbundle: true2 changes
>@assistant-ui/tap@0.5.12migrate aui-build from ts.createProgram to tsdown with unbundle: true2 changes
>@assistant-ui/x-buildutils@0.0.9migrate aui-build from ts.createProgram to tsdown with unbundle: true2 changes
>assistant-cloud@0.1.29update dependencies1 change
>assistant-ui@0.0.93update dependencies1 change
>create-assistant-ui@0.0.56[email protected]1 change
>heat-graph@0.0.9update dependencies1 change
>mcp-app-studio@0.7.14update dependencies1 change
>safe-content-frame@0.0.20update dependencies1 change
May 21, 2026
19 releases
>@assistant-ui/core@0.2.4key part fibers by absolute part index1 change
>@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
>@assistant-ui/react@0.14.7render-phase resync of displayed text on part change1 change
>@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.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>@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>@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/reactreact-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.>@assistant-ui/react-langchain@0.0.7parity options + send hooks (toward deprecating react-langgraph)2 changes
>@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>@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 messagesFixes1
>@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>@assistant-ui/x-buildutils@0.0.8include local types/ in typeRoots so x-buildutils itself can resolve its ambient browser-process types1 change
Fixes1
>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
>assistant-stream@0.3.15add JSDoc for assistant stream tool definitions1 change
Docs1
add JSDoc for assistant stream tool definitions
>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 testingresolve 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
>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
>@assistant-ui/react-ink-markdown@0.0.16@assistant-ui/[email protected]1 change
Other1
@assistant-ui/[email protected]
>@assistant-ui/react-o11y@0.0.14@assistant-ui/[email protected]1 change
Other1
@assistant-ui/[email protected]
>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
No notes.
view on githubMay 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
>@assistant-ui/core@0.2.0minordrop APIs deprecated in v0.11/v0.121 change
>@assistant-ui/react@0.14.0minordrop APIs deprecated in v0.11/v0.121 change
>@assistant-ui/react-langgraph@0.14.0minordrop APIs deprecated in v0.11/v0.121 change
>@assistant-ui/store@0.2.10RenderChildrenWithAccessor no longer misses re-renders when state updates after access2 changes
>25 maintenance releasesdependency updates and chores
>@assistant-ui/mcp-docs-server@0.1.31update dependencies1 change
>@assistant-ui/react-a2a@0.2.14@assistant-ui/[email protected]1 change
Other1
@assistant-ui/[email protected]
>@assistant-ui/react-ag-ui@0.0.29@assistant-ui/[email protected]1 change
Other1
@assistant-ui/[email protected]
>@assistant-ui/react-ai-sdk@1.3.23@assistant-ui/[email protected]1 change
Other1
@assistant-ui/[email protected]
>@assistant-ui/react-data-stream@0.12.13@assistant-ui/[email protected]1 change
Other1
@assistant-ui/[email protected]
>@assistant-ui/react-devtools@1.2.0@assistant-ui/[email protected]1 change
Other1
@assistant-ui/[email protected]
>@assistant-ui/react-google-adk@0.0.10@assistant-ui/[email protected]1 change
Other1
@assistant-ui/[email protected]
>@assistant-ui/react-hook-form@0.12.14@assistant-ui/[email protected]1 change
Other1
@assistant-ui/[email protected]
>@assistant-ui/react-ink@0.0.15@assistant-ui/[email protected]1 change
Other1
@assistant-ui/[email protected]
>@assistant-ui/react-ink-markdown@0.0.14@assistant-ui/[email protected]1 change
Other1
@assistant-ui/[email protected]
>@assistant-ui/react-langchain@0.0.6@assistant-ui/[email protected]1 change
Other1
@assistant-ui/[email protected]
>@assistant-ui/react-lexical@0.2.0@assistant-ui/[email protected]1 change
Other1
@assistant-ui/[email protected]
>@assistant-ui/react-markdown@0.14.0@assistant-ui/[email protected]1 change
Other1
@assistant-ui/[email protected]
>@assistant-ui/react-native@0.1.15@assistant-ui/[email protected]1 change
Other1
@assistant-ui/[email protected]
>@assistant-ui/react-o11y@0.0.13@assistant-ui/[email protected]1 change
Other1
@assistant-ui/[email protected]
>@assistant-ui/react-opencode@0.2.0drop APIs deprecated in v0.11/v0.121 change
>@assistant-ui/react-streamdown@0.3.0@assistant-ui/[email protected]1 change
Other1
@assistant-ui/[email protected]
>@assistant-ui/react-syntax-highlighter@0.14.0@assistant-ui/[email protected]1 change
Other1
@assistant-ui/[email protected]