Release history.

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

Jun 13, 2026

14 releases

>@assistant-ui/core@0.2.15add reasoningEffort to LanguageModelConfig4 changes

Features4

add reasoningEffort to LanguageModelConfig
precompile packages with React Compiler
approval options vocabulary on tool approvals. ToolCallMessagePart.approval gains request-supplied options (machine-readable kinds allow-once / allow-always / reject-once / reject-always, open to _-prefixed custom kinds), a recorded optionId, and a terminal resolution ("cancelled" | "expired") for non-decision outcomes. respondToApproval additionally accepts { optionId }, resolved in core against the option's kind; custom kinds require an explicit approved. ExternalThread gains an onRespondToToolApproval callback. The kit approval bar renders supplied options with an opt-in confirmation step showing the grants an option would persist. Persistence stays host-owned.
per-tool-call timing and stall detection. ToolCallMessagePart gains a timing field ({ startedAt, completedAt? } in epoch ms), auto-populated by the assistant-stream accumulator at part start and result, and accepted on ThreadMessageLike for external-store hosts. New useToolCallElapsed hook returns the call's elapsed milliseconds, ticking once per second while running; unstable_useMessageStallDetection({ thresholdMs }) reports mid-run output stalls by watching a message content fingerprint. The kit ToolFallback trigger renders the duration when timing is present.
view on github
>@assistant-ui/react@0.14.19precompile packages with React Compiler3 changes

Features3

precompile packages with React Compiler
approval options vocabulary on tool approvals. ToolCallMessagePart.approval gains request-supplied options (machine-readable kinds allow-once / allow-always / reject-once / reject-always, open to _-prefixed custom kinds), a recorded optionId, and a terminal resolution ("cancelled" | "expired") for non-decision outcomes. respondToApproval additionally accepts { optionId }, resolved in core against the option's kind; custom kinds require an explicit approved. ExternalThread gains an onRespondToToolApproval callback. The kit approval bar renders supplied options with an opt-in confirmation step showing the grants an option would persist. Persistence stays host-owned.
per-tool-call timing and stall detection. ToolCallMessagePart gains a timing field ({ startedAt, completedAt? } in epoch ms), auto-populated by the assistant-stream accumulator at part start and result, and accepted on ThreadMessageLike for external-store hosts. New useToolCallElapsed hook returns the call's elapsed milliseconds, ticking once per second while running; unstable_useMessageStallDetection({ thresholdMs }) reports mid-run output stalls by watching a message content fingerprint. The kit ToolFallback trigger renders the duration when timing is present.
view on github
>@assistant-ui/react-ag-ui@0.0.39accept any AbstractAgent in useAgUiRuntime instead of requiring HttpAgent4 changes

Features2

accept any AbstractAgent in useAgUiRuntime instead of requiring HttpAgent
forward the full ExternalStoreThreadListAdapter (threads, archivedThreads, onRename, onArchive, ...) through adapters.threadList so server-persisted threads can be registered and switched to; clear messages before onSwitchToThread so the previous thread's messages no longer merge in as a phantom sibling branch; onSwitchToThread can return unstable_resume to reattach to an in-flight run after switching (resumes in the background and requires a ThreadHistoryAdapter with resume, otherwise it reports through onError instead of re-running the agent)

Fixes2

attach a TOOL_CALL_RESULT for a prior run's tool call to its owning message instead of synthesizing a duplicate empty-args part
keep failed and aborted runs visible. the synthetic RUN_FINISHED from onRunFinalized used to overwrite RUN_ERROR with a successful status, so failed runs rendered as complete and MessagePrimitive.Error never showed. aborts (which @ag-ui/client routes through onRunFailed) now map to RUN_CANCELLED instead of RUN_ERROR, so the run lands as incomplete/cancelled.
view on github
>@assistant-ui/react-devtools@1.2.5precompile packages with React Compiler1 change

Features1

precompile packages with React Compiler
view on github
>@assistant-ui/react-ink@0.0.26precompile packages with React Compiler1 change

Features1

precompile packages with React Compiler
view on github
>@assistant-ui/react-mcp@0.0.11precompile packages with React Compiler1 change

Features1

precompile packages with React Compiler
view on github
>@assistant-ui/react-native@0.1.24precompile packages with React Compiler3 changes

Features3

precompile packages with React Compiler
approval options vocabulary on tool approvals. ToolCallMessagePart.approval gains request-supplied options (machine-readable kinds allow-once / allow-always / reject-once / reject-always, open to _-prefixed custom kinds), a recorded optionId, and a terminal resolution ("cancelled" | "expired") for non-decision outcomes. respondToApproval additionally accepts { optionId }, resolved in core against the option's kind; custom kinds require an explicit approved. ExternalThread gains an onRespondToToolApproval callback. The kit approval bar renders supplied options with an opt-in confirmation step showing the grants an option would persist. Persistence stays host-owned.
per-tool-call timing and stall detection. ToolCallMessagePart gains a timing field ({ startedAt, completedAt? } in epoch ms), auto-populated by the assistant-stream accumulator at part start and result, and accepted on ThreadMessageLike for external-store hosts. New useToolCallElapsed hook returns the call's elapsed milliseconds, ticking once per second while running; unstable_useMessageStallDetection({ thresholdMs }) reports mid-run output stalls by watching a message content fingerprint. The kit ToolFallback trigger renders the duration when timing is present.
view on github
>@assistant-ui/react-o11y@0.0.22precompile packages with React Compiler1 change

Features1

precompile packages with React Compiler
view on github
>@assistant-ui/react-pi@0.0.2initial @assistant-ui/react-pi MVP — a Pi coding-agent runtime adapter1 change

Features1

initial @assistant-ui/react-pi MVP — a Pi coding-agent runtime adapter
view on github
>@assistant-ui/store@0.2.17precompile packages with React Compiler1 change

Features1

precompile packages with React Compiler
view on github
>@assistant-ui/tap@0.8.1precompile packages with React Compiler2 changes

Features1

precompile packages with React Compiler

Performance1

optimize tap memo hook hot paths
view on github
>@assistant-ui/x-buildutils@0.0.13precompile packages with React Compiler1 change

Features1

precompile packages with React Compiler
view on github
>assistant-stream@0.3.22per-tool-call timing and stall detection. ToolCallMessagePart gains a timing field ({ startedAt, completedAt? } in epoch ms), auto-populated by the assistant-stream accumulator at part start and result, and accepted on ThreadMessageLike for external-store hosts. New useToolCallElapsed hook returns the call's elapsed milliseconds, ticking once per second while running; unstableuseMessageStallDetection({ thresholdMs }) reports mid-run output stalls by watching a message content fingerprint. The kit ToolFallback trigger renders the duration when timing is present.1 change

Features1

per-tool-call timing and stall detection. ToolCallMessagePart gains a timing field ({ startedAt, completedAt? } in epoch ms), auto-populated by the assistant-stream accumulator at part start and result, and accepted on ThreadMessageLike for external-store hosts. New useToolCallElapsed hook returns the call's elapsed milliseconds, ticking once per second while running; unstable_useMessageStallDetection({ thresholdMs }) reports mid-run output stalls by watching a message content fingerprint. The kit ToolFallback trigger renders the duration when timing is present.
view on github
>1 maintenance releasedependency updates and chores
>@assistant-ui/react-ink-markdown@0.0.25@assistant-ui/core@0.2.151 change

Other1

@assistant-ui/core@0.2.15
view on github

Jun 12, 2026

20 releases

>@assistant-ui/core@0.2.14branch switching for the ExternalThread client6 changes

Features3

branch switching for the ExternalThread client
support tool approvals on the local runtime
expose lastMessageAt on thread list items, populated from the cloud thread list adapter

Fixes2

exclude reasoning parts from copied message text
stable identity for grouped message parts across reorders

Chores1

update @assistant-ui/tap dependency ranges to ^0.7.0
view on github
>@assistant-ui/next@0.0.6give each "use generative" module a distinct bundler-redirect identity so two toolkits in one app no longer collide under next dev1 change

Fixes1

give each "use generative" module a distinct bundler-redirect identity so two toolkits in one app no longer collide under next dev
view on github
>@assistant-ui/react@0.14.18unstableuseComposerInputHistory8 changes

Features3

unstable_useComposerInputHistory
branch switching for the ExternalThread client
public, tunable useSmooth

Fixes4

exclude reasoning parts from copied message text
emit the GroupedParts streaming indicator for empty running messages, so the assistant slot shows a loading affordance immediately after sending instead of staying blank
compensate scrollbar gutter in useScrollLock so collapsible animations don't shift centered content horizontally on classic scrollbars
clear pending viewport bottom-scroll intent on pointer interaction, preventing collapsible expand/collapse from yanking the thread to the bottom

Chores1

update @assistant-ui/tap dependency ranges to ^0.7.0
view on github
>@assistant-ui/react-ag-ui@0.0.38restore multimodal user input (image, audio, video, document, and legacy binary parts) as attachments in fromAgUiMessages, so persisted conversations reload attachments instead of dropping them and re-send them on the next run1 change

Features1

restore multimodal user input (image, audio, video, document, and legacy binary parts) as attachments in fromAgUiMessages, so persisted conversations reload attachments instead of dropping them and re-send them on the next run
view on github
>@assistant-ui/react-ai-sdk@1.3.35attach partial-JSON meta to streaming tool args so consumers can tell which field is still mid-arrival1 change

Fixes1

attach partial-JSON meta to streaming tool args so consumers can tell which field is still mid-arrival
view on github
>@assistant-ui/react-generative-ui@0.0.4hold back nodes whose $type is still streaming instead of reporting them as unknown components1 change

Fixes1

hold back nodes whose $type is still streaming instead of reporting them as unknown components
view on github
>@assistant-ui/react-hook-form@0.12.19replace deprecated useAssistantToolUI with the tools client API1 change

Refactors1

replace deprecated useAssistantToolUI with the tools client API
view on github
>@assistant-ui/react-ink@0.0.25reword the useNotification JSDoc from "pauses for human approval" to "pauses for user input"; the needs-input trigger fires on requires-action with reason interrupt, not on tool approval gates2 changes

Docs1

reword the useNotification JSDoc from "pauses for human approval" to "pauses for user input"; the needs-input trigger fires on requires-action with reason interrupt, not on tool approval gates

Chores1

update @assistant-ui/tap dependency ranges to ^0.7.0
view on github
>@assistant-ui/react-markdown@0.14.3opt-in defer prop on the markdown text primitives2 changes

Features2

opt-in defer prop on the markdown text primitives
public, tunable useSmooth
view on github
>@assistant-ui/react-opencode@0.2.7re-sync thread history, session status, and pending permissions/questions after the event stream reconnects, so events lost while disconnected (e.g. session.idle or permission.asked) cannot leave isRunning stuck or deadlock a run2 changes

Fixes2

react-opencode
re-sync thread history, session status, and pending permissions/questions after the event stream reconnects, so events lost while disconnected (e.g. session.idle or permission.asked) cannot leave isRunning stuck or deadlock a run
react-opencode
stop re-subscribing to the OpenCode event stream on every render, which could drop session.idle and leave isRunning stuck at true
view on github
>@assistant-ui/react-streamdown@0.3.3opt-in defer prop on the markdown text primitives2 changes

Features2

opt-in defer prop on the markdown text primitives
smooth prop on StreamdownTextPrimitive
view on github
>@assistant-ui/store@0.2.16host the assistant client with useTapHost so the tap commit runs in the passive phase (no paint blocking); AuiProvider mounts the host's commit effects ahead of its children's effects2 changes

Features1

host the assistant client with useTapHost so the tap commit runs in the passive phase (no paint blocking); AuiProvider mounts the host's commit effects ahead of its children's effects

Chores1

update @assistant-ui/tap dependency ranges to ^0.7.0
view on github
>@assistant-ui/tap@0.7.1add useTapHost, a React host that commits the resource in the passive phase without blocking paint; the returned per-render effects callback lets descendant consumers mount the commit ahead of their own effects via useEffect(effects). The React bridge hosts (useResource, useResources, useTapRoot) now also commit in useEffect instead of useLayoutEffect.2 changes

Features1

add useTapHost, a React host that commits the resource in the passive phase without blocking paint; the returned per-render effects callback lets descendant consumers mount the commit ahead of their own effects via useEffect(effects). The React bridge hosts (useResource, useResources, useTapRoot) now also commit in useEffect instead of useLayoutEffect.

Fixes1

match React semantics: support render-phase updates (setState during render re-renders before committing, capped at 25 passes, instead of throwing; discarded render attempts drop their render-phase dispatches like React; updating a resource other than the one currently rendering throws), apply dispatches exactly once across React-discarded and replayed renders of tap sub-roots, run all effect cleanups before any setups within a commit, and compare only the common prefix of deps arrays that change length (with a dev warning)
view on github
>assistant-ui@0.0.100teach defineToolkit instead of deprecated makeAssistantToolUI in the assistant-ui skill1 change

Docs1

teach defineToolkit instead of deprecated makeAssistantToolUI in the assistant-ui skill
view on github
>6 maintenance releasesdependency updates and chores
>@assistant-ui/react-devtools@1.2.4update @assistant-ui/tap dependency ranges to ^0.7.01 change

Chores1

update @assistant-ui/tap dependency ranges to ^0.7.0
view on github
>@assistant-ui/react-ink-markdown@0.0.24@assistant-ui/core@0.2.141 change

Other1

@assistant-ui/core@0.2.14
view on github
>@assistant-ui/react-mcp@0.0.10@assistant-ui/core@0.2.141 change

Other1

@assistant-ui/core@0.2.14
view on github
>@assistant-ui/react-native@0.1.23update @assistant-ui/tap dependency ranges to ^0.7.01 change

Chores1

update @assistant-ui/tap dependency ranges to ^0.7.0
view on github
>@assistant-ui/react-o11y@0.0.21@assistant-ui/store@0.2.161 change

Other1

@assistant-ui/store@0.2.16
view on github
>create-assistant-ui@0.0.63assistant-ui@0.0.1001 change

Other1

assistant-ui@0.0.100
view on github

Jun 9, 2026

6 releases

>@assistant-ui/gorp@0.0.2add gorp state-sync primitives1 change

Features1

add gorp state-sync primitives
view on github
>@assistant-ui/tap@0.6.1keep the tap React shim compatible with React 18 builds1 change

Fixes1

keep the tap React shim compatible with React 18 builds
view on github
>4 maintenance releasesdependency updates and chores
>@assistant-ui/core@0.2.12@assistant-ui/tap@0.6.11 change

Other1

@assistant-ui/tap@0.6.1
view on github
>@assistant-ui/react@0.14.16@assistant-ui/core@0.2.121 change

Other1

@assistant-ui/core@0.2.12
view on github
>@assistant-ui/react-mcp@0.0.8@assistant-ui/tap@0.6.11 change

Other1

@assistant-ui/tap@0.6.1
view on github
>@assistant-ui/react-o11y@0.0.19@assistant-ui/tap@0.6.11 change

Other1

@assistant-ui/tap@0.6.1
view on github

Jun 8, 2026

38 releases

>@assistant-ui/core@0.2.11expose joinStrategy on useAISDKRuntime / useChatRuntime8 changes

Features5

expose joinStrategy on useAISDKRuntime / useChatRuntime
check the generative compiler version against the core package compatibility range
message queuing for external-store, langgraph, and local runtimes
add externalTool for render-only generative toolkit entries
rename hitlTool to humanTool while keeping deprecated compatibility aliases

Fixes2

make defineToolkit usable for plain runtime toolkits
make 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.

Chores1

update dependencies
view on github
>@assistant-ui/metro@0.0.2merge toolkits across "use generative" files and allow a bare defineMcpToolkit default export4 changes

Features2

merge toolkits across "use generative" files and allow a bare defineMcpToolkit default export
add @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

Fixes1

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

Chores1

update dependencies
view on github
>@assistant-ui/next@0.0.5rename hitlTool to humanTool while keeping deprecated compatibility aliases3 changes

Features1

rename hitlTool to humanTool while keeping deprecated compatibility aliases

Docs1

reference AISDKToolkit instead of the deprecated generativeTools in the README

Chores1

update dependencies
view on github
>@assistant-ui/react@0.14.15message queuing for external-store, langgraph, and local runtimes7 changes

Features3

message queuing for external-store, langgraph, and local runtimes
add externalTool for render-only generative toolkit entries
rename hitlTool to humanTool while keeping deprecated compatibility aliases

Fixes2

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

Refactors1

extract 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

Chores1

update dependencies
view on github
>@assistant-ui/react-ag-ui@0.0.36consume ACTIVITYSNAPSHOT events to support MCP Apps on the AG-UI runtime5 changes

Features3

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

Fixes1

import AG-UI reasoning messages from MESSAGES_SNAPSHOT

Chores1

update dependencies
view on github
>@assistant-ui/react-ai-sdk@1.3.33expose joinStrategy on useAISDKRuntime / useChatRuntime5 changes

Features1

expose joinStrategy on useAISDKRuntime / useChatRuntime

Fixes2

react-ai-sdk
make the package metro-bundleable in react native / expo by serving a client-only entry under the react-native export condition
react-ai-sdk
make 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.

Chores2

deprecate generativeTools in favor of AISDKToolkit
update dependencies
view on github
>@assistant-ui/react-devtools@1.2.3surface 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 bridge4 changes

Features2

surface 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
forward 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

Chores2

update dependencies
allow @assistant-ui/tap 0.6 in the peer dependency range
view on github
>@assistant-ui/react-ink@0.0.24add externalTool for render-only generative toolkit entries6 changes

Features3

add externalTool for render-only generative toolkit entries
defineToolkit 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.
rename hitlTool to humanTool while keeping deprecated compatibility aliases

Fixes2

make defineToolkit usable for plain runtime toolkits
react-ink
block 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.

Chores1

update dependencies
view on github
>@assistant-ui/react-langgraph@0.14.7message queuing for external-store, langgraph, and local runtimes4 changes

Features1

message queuing for external-store, langgraph, and local runtimes

Fixes2

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

Chores1

update dependencies
view on github
>@assistant-ui/react-native@0.1.22add externalTool for render-only generative toolkit entries4 changes

Features2

add externalTool for render-only generative toolkit entries
rename hitlTool to humanTool while keeping deprecated compatibility aliases

Fixes1

make defineToolkit usable for plain runtime toolkits

Chores1

update dependencies
view on github
>@assistant-ui/store@0.2.14rename 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.2 changes

Refactors1

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

Chores1

update dependencies
view on github
>@assistant-ui/tap@0.6.0MinorReact integration2 changes

Features1

React integration

Chores1

update dependencies
view on github
>@assistant-ui/vite@0.0.4rename hitlTool to humanTool while keeping deprecated compatibility aliases2 changes

Features1

rename hitlTool to humanTool while keeping deprecated compatibility aliases

Chores1

update dependencies
view on github
>@assistant-ui/x-buildutils@0.0.12omit onSuccess instead of passing undefined so the tsdown config type-checks under exactOptionalPropertyTypes2 changes

Fixes1

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

Chores1

update dependencies
view on github
>@assistant-ui/x-generative-compiler@0.0.4check the generative compiler version against the core package compatibility range7 changes

Features4

check the generative compiler version against the core package compatibility range
add externalTool for render-only generative toolkit entries
merge toolkits across "use generative" files and allow a bare defineMcpToolkit default export
rename hitlTool to humanTool while keeping deprecated compatibility aliases

Fixes2

bake the compiler version into the build so the core compatibility check works when the compiler is bundled
omit externalTool entries from server toolkits

Chores1

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

Chores1

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

Chores1

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

Chores1

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

Chores1

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

Chores1

update dependencies
view on github
>@assistant-ui/react-generative-ui@0.0.3update dependencies1 change

Chores1

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

Chores1

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

Chores1

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

Chores1

update dependencies
view on github
>@assistant-ui/react-langchain@0.0.13update dependencies1 change

Chores1

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

Chores1

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

Chores1

update dependencies
view on github
>@assistant-ui/react-mcp@0.0.7update dependencies1 change

Chores1

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

Chores1

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

Chores1

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

Chores1

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

Chores1

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

Chores1

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

Chores1

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

Chores1

update dependencies
view on github
>create-assistant-ui@0.0.62assistant-ui@0.0.991 change

Other1

assistant-ui@0.0.99
view on github
>heat-graph@0.0.11update dependencies1 change

Chores1

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

Chores1

update dependencies
view on github

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/core@0.2.91 change

Other1

@assistant-ui/core@0.2.9
view on github
>@assistant-ui/react-mcp@0.0.5assistant-stream@0.3.191 change

Other1

assistant-stream@0.3.19
view on github
>create-assistant-ui@0.0.60assistant-ui@0.0.971 change

Other1

assistant-ui@0.0.97
view on github

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/core@0.2.71 change

Other1

@assistant-ui/core@0.2.7
view on github
>@assistant-ui/react-o11y@0.0.16@assistant-ui/tap@0.5.131 change

Other1

@assistant-ui/tap@0.5.13
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.58assistant-ui@0.0.951 change

Other1

assistant-ui@0.0.95
view on github

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/core@0.2.61 change

Other1

@assistant-ui/core@0.2.6
view on github
>@assistant-ui/react-mcp@0.0.2@assistant-ui/core@0.2.61 change

Other1

@assistant-ui/core@0.2.6
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.57assistant-ui@0.0.941 change

Other1

assistant-ui@0.0.94
view on github