Release history.

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

Aug 4, 2026

2 releases

>pypi/assistant-stream@0.0.36add section icons to tap docs sidebar by @ephraimduncan in https://github.com/assistant-ui/assistant-ui/pull/543318 changes

What's Changed

Features3

docs
add section icons to tap docs sidebar by @ephraimduncan in https://github.com/assistant-ui/assistant-ui/pull/5433
add docs agent discovery surfaces by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/5589
assistant-stream
opt-in heartbeat for DataStreamResponse by @Yonom in https://github.com/assistant-ui/assistant-ui/pull/5592

Fixes13

react
render custom children and support asChild in AttachmentPrimitive.Thumb by @ephraimduncan in https://github.com/assistant-ui/assistant-ui/pull/5415
react
ignore Escape during IME composition in ComposerPrimitiveInput by @ephraimduncan in https://github.com/assistant-ui/assistant-ui/pull/5416
react
allow callers to override default type on action buttons by @ephraimduncan in https://github.com/assistant-ui/assistant-ui/pull/5476
ui
replace invalid hsl fade mask colors with color-mix in reasoning by @ephraimduncan in https://github.com/assistant-ui/assistant-ui/pull/5467
docs
keep blank code-block lines one line tall by @ephraimduncan in https://github.com/assistant-ui/assistant-ui/pull/5465
ui
restore sidebar outline shadows by @rupic-app[bot] in https://github.com/assistant-ui/assistant-ui/pull/5582
react-a2a
restore inbound file and audio parts as file message parts by @ShobhitPatra in https://github.com/assistant-ui/assistant-ui/pull/5547
react
settle assistant transport runs after finish callback errors by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/5585
ui
drop invalid hsl wrapper from radix sidebar outline shadow by @ephraimduncan in https://github.com/assistant-ui/assistant-ui/pull/5469
react-mcp
handle server removal failures by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/5587
core
accept all valid image data URLs in sanitizeImageContent by @ShobhitPatra in https://github.com/assistant-ui/assistant-ui/pull/5484
react-a2a
keep the wire filename on inbound image parts by @ShobhitPatra in https://github.com/assistant-ui/assistant-ui/pull/5551
react-mcp
serialize custom server persistence by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/5591

Docs1

tap
document hooks support matrix and snapshot-throw divergence by @ShobhitPatra in https://github.com/assistant-ui/assistant-ui/pull/5577

Chores1

python
assistant-stream 0.0.36 by @Yonom in https://github.com/assistant-ui/assistant-ui/pull/5595
view on github
>pypi/assistant-stream@0.0.35Xulux playground — starter helper agent, usage limits, and template flow by @vivek100 in https://github.com/assistant-ui/assistant-ui/pull/4417760 changes

What's Changed

Features182

docs
Xulux playground — starter helper agent, usage limits, and template flow by @vivek100 in https://github.com/assistant-ui/assistant-ui/pull/4417
add Eve runtime adapter by @Yonom in https://github.com/assistant-ui/assistant-ui/pull/4455
react-langchain
resume interrupts via useLangChainRespond by @ShobhitPatra in https://github.com/assistant-ui/assistant-ui/pull/4447
react-langchain
resume parallel interrupts via useLangChainRespondAll by @ShobhitPatra in https://github.com/assistant-ui/assistant-ui/pull/4462
core
add internal createRuntimeExtras helper for external-store adapters by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/4466
core
add onThreadIdChange for managed threadId on remote thread list runtime by @Yonom in https://github.com/assistant-ui/assistant-ui/pull/4482
react-ag-ui
expose pending interrupts via createRuntimeExtras hooks by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/4485
docs
use Assistant Cloud for Xulux message history and telemetry by @vivek100 in https://github.com/assistant-ui/assistant-ui/pull/4461
react-ag-ui
add useAgUiSteerAway to steer past interrupts by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/4493
cli
rename the langgraph starter template to -t langchain by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/4494
react-langchain
regenerate via checkpoint fork by @ShobhitPatra in https://github.com/assistant-ui/assistant-ui/pull/4448
react-langchain
add useLangChainInterrupts reader for pending interrupts by @ShobhitPatra in https://github.com/assistant-ui/assistant-ui/pull/4476
react-langchain
render generative UI from graph state by @ShobhitPatra in https://github.com/assistant-ui/assistant-ui/pull/4503
with-expo
redesign the chat UI and fix the composer stop button by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/4509
forward onThreadIdChange through remote thread list adapters by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/4515
react-langchain
expose subagent and subgraph discovery hooks by @ShobhitPatra in https://github.com/assistant-ui/assistant-ui/pull/4516
react-langchain
edit messages via checkpoint fork by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/4521
react-ag-ui
restore pending tool-call status on reload by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/4538
react-langchain
live generative UI via push_ui_message by @ShobhitPatra in https://github.com/assistant-ui/assistant-ui/pull/4504
docs
improve Xulux playground handoff and source preview by @vivek100 in https://github.com/assistant-ui/assistant-ui/pull/4501
improve docs agent readiness by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/4536
refine tool call display UI by @ephraimduncan in https://github.com/assistant-ui/assistant-ui/pull/4528
react-o11y
add span timeline primitives for trace waterfalls by @samdickson22 in https://github.com/assistant-ui/assistant-ui/pull/4535
react-langchain
expose useStream handle via useLangChainStream by @ShobhitPatra in https://github.com/assistant-ui/assistant-ui/pull/4523
react
add id-keyed message rendering by @AVGVSTVS96 in https://github.com/assistant-ui/assistant-ui/pull/4542
react
add unstable headless composer input bridge by @AVGVSTVS96 in https://github.com/assistant-ui/assistant-ui/pull/4545
core
add shared client-side streaming timing primitive by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/4548
external-store
add unstable_onBranchChange adapter callback by @AVGVSTVS96 in https://github.com/assistant-ui/assistant-ui/pull/4543
react-langchain
attach per-message streaming timing by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/4550
redesign interactables API by @AVGVSTVS96 in https://github.com/assistant-ui/assistant-ui/pull/4310
re-export unstable interactable helpers from platform barrels by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/4577
honor startRun false in staged-capable runtimes by @Yonom in https://github.com/assistant-ui/assistant-ui/pull/4591
mcp-docs-server
adopt registerTool API with read-only annotations by @ShobhitPatra in https://github.com/assistant-ui/assistant-ui/pull/4574
thread-list
make more composable by @AVGVSTVS96 in https://github.com/assistant-ui/assistant-ui/pull/4593
react-generative-ui
add react-free ./ir subpath and rebase gen-ui API on it by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/4605
mcp-docs-server
expose docs and examples as MCP resources by @ShobhitPatra in https://github.com/assistant-ui/assistant-ui/pull/4596
react-generative-ui
add closed vocabulary as default GenerativeUILibrary by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/4607
react-generative-ui
add ActionRegistry and wire $action dispatch by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/4625
mcp-docs-server
add argument completions for docs/examples resources by @ShobhitPatra in https://github.com/assistant-ui/assistant-ui/pull/4621
mcp-docs-server
add assistantUISearch keyword search tool by @ShobhitPatra in https://github.com/assistant-ui/assistant-ui/pull/4579
react-ag-ui
restore interrupt status in fromAgUiMessages from persisted metadata by @ShobhitPatra in https://github.com/assistant-ui/assistant-ui/pull/4615
docs
improve Xulux handoff actions and templates by @vivek100 in https://github.com/assistant-ui/assistant-ui/pull/4643
docs
keep Xulux active preview context across turns by @vivek100 in https://github.com/assistant-ui/assistant-ui/pull/4642
add mcp tool name collision validation by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/4659
thread-list
accessibility and keyboard navigation support by @AVGVSTVS96 in https://github.com/assistant-ui/assistant-ui/pull/4627
support mcp connection timeouts by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/4684
support ai sdk mcp connection timeouts by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/4687
ui
show upload and error status on attachment tiles by @ephraimduncan in https://github.com/assistant-ui/assistant-ui/pull/4693
docs
open Ask AI panel beside the page instead of under the navbar by @ephraimduncan in https://github.com/assistant-ui/assistant-ui/pull/4633
docs
restyle Ask AI trigger and speed up panel animation by @ephraimduncan in https://github.com/assistant-ui/assistant-ui/pull/4634
docs
add Ask AI chat to the homepage and a ⌘I shortcut by @ephraimduncan in https://github.com/assistant-ui/assistant-ui/pull/4635
docs
add panel header and conversation starters to Ask AI by @ephraimduncan in https://github.com/assistant-ui/assistant-ui/pull/4636
ui
add caret color and enterKeyHint to composer input by @ephraimduncan in https://github.com/assistant-ui/assistant-ui/pull/4695
support disabled mcp toolkit entries by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/4665
docs
environment-specific favicons for dev and preview by @AVGVSTVS96 in https://github.com/assistant-ui/assistant-ui/pull/4725
support disabled mcp toolkit tools by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/4667
ui
render follow-up suggestions in thread by @ephraimduncan in https://github.com/assistant-ui/assistant-ui/pull/4694
add onResumeError hook callback for useChatRuntime by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/4672
mcp-docs-server
return structuredContent from the tools by @ShobhitPatra in https://github.com/assistant-ui/assistant-ui/pull/4628
docs
exit showcase zoom on outside click and wheel by @AVGVSTVS96 in https://github.com/assistant-ui/assistant-ui/pull/4750
react-ag-ui
steer-away cancels pending client-side tool calls by @ShobhitPatra in https://github.com/assistant-ui/assistant-ui/pull/4674
react-ink
add standalone TextInput primitive by @ShobhitPatra in https://github.com/assistant-ui/assistant-ui/pull/4658
ui
add provider logos for model selector by @ephraimduncan in https://github.com/assistant-ui/assistant-ui/pull/4703
react-ink
track hunkIndex on parsed diff lines by @ShobhitPatra in https://github.com/assistant-ui/assistant-ui/pull/4660
cloud
expose CloudAPIError with the HTTP status on failed requests by @ShobhitPatra in https://github.com/assistant-ui/assistant-ui/pull/4732
ui
client-side search for the thread list by @ShobhitPatra in https://github.com/assistant-ui/assistant-ui/pull/4726
react-ag-ui
auto-cancel pending client-side tool calls on new message by @ShobhitPatra in https://github.com/assistant-ui/assistant-ui/pull/4760
core
surface the upload failure reason on failed attachments by @ShobhitPatra in https://github.com/assistant-ui/assistant-ui/pull/4728
react-data-stream
detect stream protocol from response by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/4755
mcp-docs-server
surface doc title and excerpt on assistantUIDocs by @ShobhitPatra in https://github.com/assistant-ui/assistant-ui/pull/4611
support mcp tool name prefixes by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/4675
detect UI message stream protocol header by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/4794
add listResources api for mcp resource listing by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/4699
react-ai-sdk
export frontend tools type by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/4761
react
add compact mode to ComposerPrimitive.Root by @ephraimduncan in https://github.com/assistant-ui/assistant-ui/pull/4701
mcp-docs-server
expose playground template tools by @vivek100 in https://github.com/assistant-ui/assistant-ui/pull/4809
Base UI component variants with style-aware registry by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/4817
react
render prop for AssistantModalPrimitive parts by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/4818
preserve providerMetadata on text, reasoning, and tool-call message parts by @DLOVRIC2 in https://github.com/assistant-ui/assistant-ui/pull/4806
recognize exported defineToolkit bindings in spreads by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/4583
registry
enforce radix/base variant parity at build time by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/4829
converge collapsible variants on neutral state selectors by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/4831
add Base UI variants for the six radix-importing registry items by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/4834
make Base UI the default across docs and templates by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/4835
resumable ai-sdk backend registry template and docs cross-links by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/4838
assistant-stream
python resumable stream layer by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/4840
resolve templates base-first and retire the docs dropdown fork by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/4843
react-ai-sdk
support AI SDK v7 by @ShobhitPatra in https://github.com/assistant-ui/assistant-ui/pull/4654
add header brand assets menu by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/4630
add mcp server names to errors by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/4670
docs
move context usage into assistant header and simplify popover by @ephraimduncan in https://github.com/assistant-ui/assistant-ui/pull/4810
scope selection toolbar quote regions by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/4710
support quote exclusions via data-aui-quote-selectable="false" by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/4863
docs
redesign the site header nav panel and buttons by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/4864
infer tool args from schemas by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/4662
react-ai-sdk
add guard to resumable session storage by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/4771
react-ink
render the upload failure message in AttachmentStatus by @ShobhitPatra in https://github.com/assistant-ui/assistant-ui/pull/4731
docs
sync the header design and float the assistant panel by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/4882
extract a shared SSE event decoder into assistant-stream by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/4880
enforce api-reference ownership with a CI drift gate by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/4850
react-ai-sdk
forward onResumeToolCall to the external store by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/4837
react-ag-ui
surface ACTIVITY_SNAPSHOT results on tool parts by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/4895
AssistantError taxonomy with severity and display metadata by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/4842
plumb serverId through MCP Apps for multi-MCP host routing by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/4898
built-in LLM suggestion adapter for local and AI SDK runtimes by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/4833
react-ink
export flat Props aliases from the messagePart and statusBar barrels by @ShobhitPatra in https://github.com/assistant-ui/assistant-ui/pull/4888
react-ink-markdown
declare color, tableTruncate, and tableEllipsis on MarkdownTextProps by @ShobhitPatra in https://github.com/assistant-ui/assistant-ui/pull/4877
add mcp server names to close errors by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/4671
react-generative-ui
add form and list vocabulary components by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/4940
add styled generative ui registry items by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/4945
docs
replay Xulux starter responses by @vivek100 in https://github.com/assistant-ui/assistant-ui/pull/4912
react-lexical
support custom Lexical plugins via children by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/4950
react-ink
export attachment Props aliases from the composer and message barrels by @ShobhitPatra in https://github.com/assistant-ui/assistant-ui/pull/4906
react-native
export attachment Props aliases from the composerand message barrels by @ShobhitPatra in https://github.com/assistant-ui/assistant-ui/pull/4907
add the generative ui widget gallery and components reference by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/4959
react-generative-ui
add a Slack Block Kit outbound converter by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/4967
react-mcp
support listResources pagination by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/4970
shared agent state hooks for ag-ui and langgraph by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/4828
react-generative-ui
add the fromSlackBlocks inbound converter by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/4973
eve
require eve 0.24 by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/4974
react-lexical
support lexical 0.47 by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/4975
react-generative-ui
add a Teams Adaptive Cards outbound converter by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/4982
example
prove the chat-to-artifact work panel pattern by @samdickson22 in https://github.com/assistant-ui/assistant-ui/pull/4936
assistant-stream
rename ObjectStream to GorpStream with deprecated aliases by @Yonom in https://github.com/assistant-ui/assistant-ui/pull/5061
assistant-stream
migrate gorp delta-tracking into GorpStream by @Yonom in https://github.com/assistant-ui/assistant-ui/pull/5063
assistant-stream-py
SSE idle heartbeat, enabled by default (15s) by @Yonom in https://github.com/assistant-ui/assistant-ui/pull/5060
assistant-stream-py
port gorp server core and rebase the Python state layer on it by @Yonom in https://github.com/assistant-ui/assistant-ui/pull/5062
react
click blank composer space to focus the input by @AVGVSTVS96 in https://github.com/assistant-ui/assistant-ui/pull/5083
add Electron integration guide by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/4913
react-pi
map settled and appended events by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/5030
ui
polish attachment tile, remove button, and preview dialog by @ephraimduncan in https://github.com/assistant-ui/assistant-ui/pull/4983
example
add artifact workbench UX by @samdickson22 in https://github.com/assistant-ui/assistant-ui/pull/4934
cloud
add project-wide thread and message listing to the cloud SDK by @ShobhitPatra in https://github.com/assistant-ui/assistant-ui/pull/4773
tap
withKey accepts a Resource by @Yonom in https://github.com/assistant-ui/assistant-ui/pull/5186
add react native messages flatlist by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/4805
eve
require eve 0.27 by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/5192
react-lexical
support lexical 0.48 by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/5193
react-ai-sdk
expose chat state via runtime extras accessor hooks by @ShobhitPatra in https://github.com/assistant-ui/assistant-ui/pull/4963
react-pi
support pi 0.82 by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/5196
tap
configurableResource by @Yonom in https://github.com/assistant-ui/assistant-ui/pull/5194
docs
add collapsible thread history to clone examples by @vivek100 in https://github.com/assistant-ui/assistant-ui/pull/4858
x-generative-compiler
name both sources in duplicate-tool-name warning by @rupic-app[bot] in https://github.com/assistant-ui/assistant-ui/pull/5210
react-ag-ui
reconstruct mcp.app on restored tool-call parts (#5100) by @rupic-app[bot] in https://github.com/assistant-ui/assistant-ui/pull/5225
tap
drop configurableResource by @Yonom in https://github.com/assistant-ui/assistant-ui/pull/5235
external-thread
assistant-transport parity props and composer fixes by @Yonom in https://github.com/assistant-ui/assistant-ui/pull/5237
core
per-tool overwrite escape hatch; same-priority tool conflicts throw again by @Yonom in https://github.com/assistant-ui/assistant-ui/pull/5263
store
render-bound immutable aui instances by @Yonom in https://github.com/assistant-ui/assistant-ui/pull/5270
property API for aui accessors by @Yonom in https://github.com/assistant-ui/assistant-ui/pull/5275
drop v0.12-era deprecated APIs for v0.15 + migration guide by @Yonom in https://github.com/assistant-ui/assistant-ui/pull/5281
store
opaque client identity via getClientId; drop instance deref by @Yonom in https://github.com/assistant-ui/assistant-ui/pull/5282
assistant-stream
python encoder support for file, annotations, and step chunks by @rupic-app[bot] in https://github.com/assistant-ui/assistant-ui/pull/5294
store
optional state view — s.optional.<scope> resolves to undefined when unavailable by @Yonom in https://github.com/assistant-ui/assistant-ui/pull/5297
read the nested _meta.ui.resourceUri MCP Apps pointer by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/5314
migrate to MCP TypeScript SDK v2 scoped packages by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/5316
add pkg.pr.new previews by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/4713
react-mcp
form-mode MCP elicitation, list-change refresh, cache config by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/5334
react-generative-ui
add ./a2ui subpath (A2UI to UISpec) by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/5344
react-ag-ui
render A2UI surfaces from a2ui-surface activity snapshots by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/5345
react-mcp
surface elicitation validation and seed drafts from schema defaults by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/5342
store
AuiProvider isolation via aui={null}; fixed hook count in useAui by @Yonom in https://github.com/assistant-ui/assistant-ui/pull/5367
react-ag-ui
rehydrate A2UI surfaces from restored history by @rupic-app[bot] in https://github.com/assistant-ui/assistant-ui/pull/5352
ui
scroll follow-up suggestion pills with edge fades by @AVGVSTVS96 in https://github.com/assistant-ui/assistant-ui/pull/5147
react-ag-ui
send A2UI actions back over forwardedProps by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/5386
make assistant-ui installable in an eve app with eve add by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/5397
docs
step-based code slideshow for the tap tutorial by @Yonom in https://github.com/assistant-ui/assistant-ui/pull/5398
core
honour a supplied per-part status while the message is running by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/5403
react-ai-sdk
map text and reasoning part state onto the per-part status by @rupic-app[bot] in https://github.com/assistant-ui/assistant-ui/pull/5413
react-opencode
project Task child sessions by @nyl199310 in https://github.com/assistant-ui/assistant-ui/pull/5412
core,react-langgraph,react-langchain
sourceType opt-in on file message parts by @ShobhitPatra in https://github.com/assistant-ui/assistant-ui/pull/5439
docs
open source project index at /oss by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/5446
core,react-a2a,react-ag-ui,react-google-adk
honor sourceType "url" in remaining file converters by @ShobhitPatra in https://github.com/assistant-ui/assistant-ui/pull/5445
react-ai-sdk
support resumable storage updates by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/5336
react-opencode
add OpenCodeAttachmentAdapter for native file inputs by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/5492
docs
report Core Web Vitals with Vercel Speed Insights by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/5508
docs
redesign the landing and packages pages, move onto Base UI by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/5514
core
add the in-place refetch contract behind threads.reloadMainThread by @taoche in https://github.com/assistant-ui/assistant-ui/pull/5522
react-langgraph
adopt the in-place refetch capability by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/5531
core,react,ui
per-thread run state and thread list rename by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/5542
react-google-adk
refetch the session in place for reloadMainThread by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/5545
assistant-stream
add opt-in strict=false lenient decoding mode by @Yonom in https://github.com/assistant-ui/assistant-ui/pull/5565
assistant-stream
public RunController.flush by @Yonom in https://github.com/assistant-ui/assistant-ui/pull/5574
store
AuiProvider extends/config grammar with dev-enforced nesting decision by @Yonom in https://github.com/assistant-ui/assistant-ui/pull/5430

Fixes368

react-opencode
restore the type exports trimmed in #4470 by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/4472
build-utils
resolve bundled ambient types from hoisted monorepo installs.
docs
drop no-op identity replacements in demo zip path mapping by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/4496
tolerate content blocks that omit their declared fields by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/4497
react-native
preserve IME composition in the web composer input by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/4513
eve
support eve 0.12 by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/4518
react-langchain
type-check against the current @langchain SDK by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/4519
react-ag-ui
order tool-call parts by parentMessageId by @dkachur1 in https://github.com/assistant-ui/assistant-ui/pull/4533
docs
add assistant-cloud tsconfig path mapping for api-reference by @ShobhitPatra in https://github.com/assistant-ui/assistant-ui/pull/4526
docs
steps component prose styling by @AVGVSTVS96 in https://github.com/assistant-ui/assistant-ui/pull/4540
react-langgraph
count reasoning content blocks in streaming timing by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/4554
docs
render search highlights instead of literal <mark> tags by @ShobhitPatra in https://github.com/assistant-ui/assistant-ui/pull/4547
add tool-fallback button registry dependency by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/4556
add shimmer registry dependencies by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/4566
add client directives to UI components by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/4565
warn about duplicate generative toolkit spread names by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/4560
ui
add accessible names to icon-only combobox controls by @ephraimduncan in https://github.com/assistant-ui/assistant-ui/pull/4564
add missing registry package dependencies by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/4557
registry
declare tw-shimmer dependency for tool-group by @ephraimduncan in https://github.com/assistant-ui/assistant-ui/pull/4561
validate registry install metadata by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/4571
core
make PartPrimitive.Messages props a discriminated union by @ephraimduncan in https://github.com/assistant-ui/assistant-ui/pull/4567
react-langgraph
surface tool-call messages and interrupts from subgraph updates by @serhiizghama in https://github.com/assistant-ui/assistant-ui/pull/4569
avoid false positives in use-generative directive in compiler by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/4584
pin Expo example to Babel 7 by @Yonom in https://github.com/assistant-ui/assistant-ui/pull/4587
stabilize react api surface snapshot by @Yonom in https://github.com/assistant-ui/assistant-ui/pull/4592
improve providerTool duplicate config error via keys by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/4590
preserve package imports in aui-build by @Yonom in https://github.com/assistant-ui/assistant-ui/pull/4598
split react-generative-ui root export by @Yonom in https://github.com/assistant-ui/assistant-ui/pull/4597
align react-generative-ui lockfile range by @Yonom in https://github.com/assistant-ui/assistant-ui/pull/4600
stabilize API surface snapshots by @Yonom in https://github.com/assistant-ui/assistant-ui/pull/4601
mcp-docs-server
stop bundling unused blog posts by @ShobhitPatra in https://github.com/assistant-ui/assistant-ui/pull/4575
cli
skip shadcn registry install when --skip-install is passed by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/4609
re-export platform context providers by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/4580
mcp-docs-server
cap aggregate directory content size by @ShobhitPatra in https://github.com/assistant-ui/assistant-ui/pull/4578
contain Ask AI drawer scrolling by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/4585
name opaque toolkit entries in diagnostics by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/4617
react
disable smooth text streaming under prefers-reduced-motion by @ephraimduncan in https://github.com/assistant-ui/assistant-ui/pull/4562
restrict Xulux download proxy by @Yonom in https://github.com/assistant-ui/assistant-ui/pull/4620
api-surface
stabilize string literal union member order by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/4623
name tools in missing toolkit member for debugging by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/4610
generative ui action warnings by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/4652
improve duplicate generative ui prop warnings by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/4645
skip malformed generative ui component nodes by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/4653
skip malformed generative ui action types by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/4655
turbo-cache
exclude generated output contents from build inputs by @AVGVSTVS96 in https://github.com/assistant-ui/assistant-ui/pull/4669
retain model-provided keys during rendering by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/4656
validate generative ui imports by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/4632
support exported generative ui instances by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/4629
redirect docs overview roots by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/4685
model-selector
accessibility and keyboard nav by @AVGVSTVS96 in https://github.com/assistant-ui/assistant-ui/pull/4682
validate duplicate mcp server ids by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/4700
core
fail CloudFileAttachmentAdapter uploads that return an HTTP error status by @ShobhitPatra in https://github.com/assistant-ui/assistant-ui/pull/4714
clarify mcp oauth callback errors by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/4718
core
log the swallowed CloudFileAttachmentAdapter upload error by @ShobhitPatra in https://github.com/assistant-ui/assistant-ui/pull/4722
add mcp app host error context by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/4723
preserve image media type by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/4729
cli
mcp install config error by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/4733
react-native
show composer scrollbar at max height by @Gujiassh in https://github.com/assistant-ui/assistant-ui/pull/4708
cli
doctor detects duplicate assistant-ui packages under pnpm by @ShobhitPatra in https://github.com/assistant-ui/assistant-ui/pull/4727
core
malformed local thread storage by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/4741
bound test:types parallelism to avoid memory exhaustion by @ShobhitPatra in https://github.com/assistant-ui/assistant-ui/pull/4737
react-google-adk
invalid request JSON errors by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/4743
docs
validate pruned Xulux chat messages by @vivek100 in https://github.com/assistant-ui/assistant-ui/pull/4735
react-data-stream
include current message on request by @GuYounes in https://github.com/assistant-ui/assistant-ui/pull/4740
core
restore composer text and attachments when send upload fails by @ShobhitPatra in https://github.com/assistant-ui/assistant-ui/pull/4715
preserve direct file parts by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/4730
react-ai-sdk
make default attachment adapter work without FileReader via shared core helper by @ShobhitPatra in https://github.com/assistant-ui/assistant-ui/pull/4650
ignore malformed mcp custom servers by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/4690
docs
trap tab focus inside the zoomed homepage demo by @AVGVSTVS96 in https://github.com/assistant-ui/assistant-ui/pull/4749
docs
add visible keyboard focus ring to shared tab triggers by @AVGVSTVS96 in https://github.com/assistant-ui/assistant-ui/pull/4752
react-ai-sdk
validate frontend tool schemas by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/4756
react-langgraph
serialize sends so runs never overlap by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/4765
react-langgraph
drop late tool result for an already-answered call by @rupic-app[bot] in https://github.com/assistant-ui/assistant-ui/pull/4768
cli
update package json errors by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/4772
api-surface
stabilize top-level declaration order by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/4788
cli
register with-resumable-stream example for scaffolding by @ShobhitPatra in https://github.com/assistant-ui/assistant-ui/pull/4720
core
include thread ids in thread list errors by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/4744
react-langgraph
preserve attachments on the user message state by @rupic-app[bot] in https://github.com/assistant-ui/assistant-ui/pull/4791
ui
scope badge hover styles to interactive anchors by @ephraimduncan in https://github.com/assistant-ui/assistant-ui/pull/4784
templates
surface the real error on failed chat requests by @ShobhitPatra in https://github.com/assistant-ui/assistant-ui/pull/4793
docs
move star count after GitHub icon and add nav spacing by @ephraimduncan in https://github.com/assistant-ui/assistant-ui/pull/4780
forward thread messages ref by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/4712
cloud
await initializeAuth auth headers (#4807) by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/4807
ui
adapt syntax highlighter to light and dark mode by @ephraimduncan in https://github.com/assistant-ui/assistant-ui/pull/4782
react-langgraph,react-langchain
emit url file source blocks by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/4800
docs
restore Xulux thread shell ownership by @vivek100 in https://github.com/assistant-ui/assistant-ui/pull/4804
cloud
preserve history attachments by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/4754
cloud
handle empty success responses for mutation action by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/4811
show pointer cursor on navbar search triggers by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/4816
react-devtools
resolve tailwind cli explicitly for windows by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/4825
base select popup rendering and dual-flavor docs polish by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/4839
react-mcp
validate persisted auth state by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/4845
react-ai-sdk
guard converters against missing parts and mediaType by @ShobhitPatra in https://github.com/assistant-ui/assistant-ui/pull/4648
react-ink
preserve TextInput cursor when a controlled owner corrects an edit by @ShobhitPatra in https://github.com/assistant-ui/assistant-ui/pull/4770
assistant-stream
accept AI SDK v5+ delta text, source-url, file, and bare lifecycle chunks at the decode boundary by @ShobhitPatra in https://github.com/assistant-ui/assistant-ui/pull/4854
expose generative ui key in present schema by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/4657
ui
let checked flow through props in menu checkbox items by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/4859
prevent logo context menu scroll shift by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/4860
cli
resolve base ui flavored registry urls in add by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/4865
registry
resolve style-aware urls for nested item names by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/4869
cloud
guard localStorage access in anonymous auth strategy by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/4870
cli
install the quick start from the flavor the initialized project uses by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/4868
parse CRLF SSE events in A2A client by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/4819
react-google-adk
parse standard sse frames by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/4821
ui
hide the context display tooltip arrow via a data slot by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/4881
cli
include installed assistant-ui packages in info by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/4891
react-langgraph
forward threadId and initialThreadId to the thread list runtime by @serhiizghama in https://github.com/assistant-ui/assistant-ui/pull/4892
docs
raise Xulux prompt preview above canvas by @vivek100 in https://github.com/assistant-ui/assistant-ui/pull/4897
react-ai-sdk
guard toolOutputConversion against non-string mediaType by @ShobhitPatra in https://github.com/assistant-ui/assistant-ui/pull/4899
react-google-adk
normalize session api urls by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/4893
react-ag-ui
preserve history branches on load by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/4776
cli
validate peer dependency ranges with semver by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/4886
react-a2a
validate stream response content type by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/4905
core
message converter cache invalidation breaks under React Compiler, dropping settled assistant messages from export by @samdickson22 in https://github.com/assistant-ui/assistant-ui/pull/4704
cloud-ai-sdk
preserve mounted state in strict mode by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/4921
preserve file data in message conversion by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/4923
react-pi
parse standard SSE line endings by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/4939
core
keep tool-args key-order caches independent for dotted keys by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/4943
assistant-stream
support LF, CRLF, and CR line endings by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/4876
assistant-stream
discard unterminated sse frames by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/4875
ui
initialize Radix sidebar skeleton width as state by @samdickson22 in https://github.com/assistant-ui/assistant-ui/pull/4918
tap
keep root lifecycle state out of useMemo by @samdickson22 in https://github.com/assistant-ui/assistant-ui/pull/4919
tap
preserve hosted resource fiber state by @samdickson22 in https://github.com/assistant-ui/assistant-ui/pull/4920
react-lexical
forward Delete removes directive chips as one unit by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/4952
assistant-stream
accept event stream content type parameters by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/4883
react-opencode
propagate SDK response errors by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/4908
core
generate unique attachment ids by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/4956
flush unsupported title generation streams by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/4957
cli
detect monorepos from workspace root by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/4960
core
accept json text attachments by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/4961
react-google-adk
normalize direct stream api urls by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/4964
tw-shimmer
correct background shimmer speed in firefox by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/4966
core
resume the local runtime when a human tool result is falsy by @serhiizghama in https://github.com/assistant-ui/assistant-ui/pull/4969
stop isJSONArray from consuming the array index as recursion depth by @ShobhitPatra in https://github.com/assistant-ui/assistant-ui/pull/4954
cli
use semver for doctor version checks by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/4978
cli
parse scaffold tsconfig as jsonc by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/4979
assistant-stream
prevent object stream settlement after cancellation by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/4988
cli
include assistant-ui version in info by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/4993
cloud
normalize response timestamps by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/4998
react-pi
validate event stream content type by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/5010
core
handle failed composer appends by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/4981
react-google-adk
validate direct stream options by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/5011
examples
rotate waterfall collapse chevron when span is collapsed by @ephraimduncan in https://github.com/assistant-ui/assistant-ui/pull/5014
cli
sanitize scaffold tsconfigs and surface shadcn install failures by @ephraimduncan in https://github.com/assistant-ui/assistant-ui/pull/5013
cli
scaffold voice and interactables examples via the registry by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/5021
docs
sandbox hosted artifact previews by @AkhilTrivediX in https://github.com/assistant-ui/assistant-ui/pull/5020
examples
sandbox the with-artifacts preview iframe by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/5022
cli
consistent base default for style-less registry resolution by @ephraimduncan in https://github.com/assistant-ui/assistant-ui/pull/4990
docs
dual-flavor state selectors and accordion keyframes by @ephraimduncan in https://github.com/assistant-ui/assistant-ui/pull/4987
ui
route Base UI model-selector effort keys to cmdk by @ephraimduncan in https://github.com/assistant-ui/assistant-ui/pull/4985
react-mcp
validate persisted connection timeouts by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/5029
react-google-adk
validate stream response content type by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/5031
react-google-adk
validate session api responses by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/5032
cli
discover hoisted packages in doctor by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/5041
cli
resolve symlinked workspace paths by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/5042
react-ai-sdk
persist history for pending tool approvals by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/5051
react-pi
validate HTTP response payloads by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/5056
react-ai-sdk
skip rewriting unchanged history after each run by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/5052
warn on unmapped cloud updates and document the update contract by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/5058
core
settle stopped thread runtime starts by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/5066
core
detect removed keys in shallow memoized state by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/5067
react
defer auto-scroll during top-anchored runs by @Gujiassh in https://github.com/assistant-ui/assistant-ui/pull/5059
react-ai-sdk
close late mcp clients after timeout by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/5070
formalize the AI SDK v7 line at 1.4 by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/5075
core
isolate voice session listener errors by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/5078
react-a2a
validate send message responses by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/5082
react-ai-sdk
serialize history persistence by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/5087
core
nested message runtime paths by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/5091
react-google-adk
validate artifact api responses by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/5092
clean up frame resources by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/5096
carry streamed tool-call partial_json onto LangGraph updates-event AIMessage by @rupic-app[bot] in https://github.com/assistant-ui/assistant-ui/pull/5099
react-langgraph
preserve streamed bedrock tool args by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/5080
core
mark a cancelled run incomplete when the adapter returns cleanly by @VihaanAgarwal in https://github.com/assistant-ui/assistant-ui/pull/5090
react-ag-ui
preserve MCP host fields in tool results by @samdickson22 in https://github.com/assistant-ui/assistant-ui/pull/5095
react-pi
widen pi-coding-agent peer range to include 0.79.x and 0.80.x by @ShobhitPatra in https://github.com/assistant-ui/assistant-ui/pull/5023
react-pi
migrate node host to pi 0.80.8+ ModelRuntime API by @rupic-app[bot] in https://github.com/assistant-ui/assistant-ui/pull/5105
react-langgraph
handle queued run failures by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/5108
core
handle failed local history loads by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/5117
core
generate portable cloud attachment ids by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/5120
react
tolerate transient part-type mismatch in part hooks by @rupic-app[bot] in https://github.com/assistant-ui/assistant-ui/pull/5119
mouse pointer on model selector thinking controls by @Nick-Lucas in https://github.com/assistant-ui/assistant-ui/pull/5123
core
preserve part scopes during thread switches by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/5127
react-hook-form
keep form context in sync by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/5128
assistant-stream
cancel polyfilled iterators on early exit by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/5129
assistant-stream
prioritize backend tool results by @Solaris-star in https://github.com/assistant-ui/assistant-ui/pull/5107
core
stop auto-submitting a parse-error result on divergent argsText close by @rupic-app[bot] in https://github.com/assistant-ui/assistant-ui/pull/5132
react-a2a
refresh runtime client on option changes by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/5136
assistant-stream
clean up tool abort listeners by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/5141
cloud-ai-sdk
preserve async tool callbacks by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/5140
react-lexical
delegate Tab to composer input plugins by @AVGVSTVS96 in https://github.com/assistant-ui/assistant-ui/pull/5145
cloud
align thread response contract by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/5017
react
preserve top anchor reserve between turns by @Gujiassh in https://github.com/assistant-ui/assistant-ui/pull/5085
react-opencode
import useEffectEvent from use-effect-event ponyfill by @ShobhitPatra in https://github.com/assistant-ui/assistant-ui/pull/5139
cloud
deduplicate concurrent auth requests by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/5157
core
restrict assistant frame messages to the parent window by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/5163
react-streamdown
keep inline math that opens with a digit by @SiKreuz in https://github.com/assistant-ui/assistant-ui/pull/5160
core
preserve isOptimistic on user messages in fromThreadMessageLike by @ShobhitPatra in https://github.com/assistant-ui/assistant-ui/pull/5122
docs
single-flavor xulux demo downloads by @ephraimduncan in https://github.com/assistant-ui/assistant-ui/pull/5033
core
apply pending mute after voice setup by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/5113
avoid false copy success without a clipboard handler by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/5089
keep reasoning auto-scroll after a manual disclosure toggle by @rupic-app[bot] in https://github.com/assistant-ui/assistant-ui/pull/5164
react-pi
isolate shared streams by client by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/5111
assistant-stream
isolate resumable stream hooks by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/5106
core
support attachments without a File global by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/5097
preserve falsy runtime state by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/5088
react-ink
tolerate transient part type mismatches by @Gujiassh in https://github.com/assistant-ui/assistant-ui/pull/5133
assistant-stream
guard stream task settlement by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/5045
core
settle frame tool calls on dispose by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/5081
react-a2a
validate agent card responses by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/5115
core
refresh cloud history persistence on client change by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/5126
react-pi
isolate event listener errors by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/5040
ui
keyboard activation for radix attachment preview by @ephraimduncan in https://github.com/assistant-ui/assistant-ui/pull/4986
core
isolate thread runtime event listener errors by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/5144
react-ink
wrap ThreadListPrimitive.Items rows in ThreadListItemByIndexProvider with keys by @ShobhitPatra in https://github.com/assistant-ui/assistant-ui/pull/4885
assistant-stream
validate UIMessageStream frames and clear args alias on tool-result by @ShobhitPatra in https://github.com/assistant-ui/assistant-ui/pull/5155
assistant-stream
validate assistant-transport chunks and drop out-of-range part paths by @ShobhitPatra in https://github.com/assistant-ui/assistant-ui/pull/5152
react-mcp
close connections completed after unmount by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/5150
react-ink
remount windowed Static scrollback on thread switch by @ShobhitPatra in https://github.com/assistant-ui/assistant-ui/pull/5043
cloud
normalize base urls across auth strategies by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/4846
core
serialize local thread storage mutations by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/4847
ui
keep radix TabsTrigger asChild inside the primitive by @ephraimduncan in https://github.com/assistant-ui/assistant-ui/pull/4984
react-data-stream
report request failures through onError by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/4903
react-a2a
forward user attachments and file parts to the wire by @ShobhitPatra in https://github.com/assistant-ui/assistant-ui/pull/5036
react-a2a
preserve history branches on load by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/4968
react
edit controlled assistant-visible inputs by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/5168
core
isolate composer runtime event listener errors by @rupic-app[bot] in https://github.com/assistant-ui/assistant-ui/pull/5171
only record firstTokenTime when a text-delta mutates a part by @rupic-app[bot] in https://github.com/assistant-ui/assistant-ui/pull/5174
assistant-stream
validate per-type chunk fields and drop wrong-part-type chunks by @ShobhitPatra in https://github.com/assistant-ui/assistant-ui/pull/5172
assistant-stream
avoid duplicate initial object stream operations by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/5044
docs
restore source-linked package builds by @samdickson22 in https://github.com/assistant-ui/assistant-ui/pull/4994
react-ai-sdk
stale useVercelAIThreadState name in sliceMessagesUntil error by @ShobhitPatra in https://github.com/assistant-ui/assistant-ui/pull/4948
cloud-ai-sdk
correct README quickstart to render UIMessage parts by @ShobhitPatra in https://github.com/assistant-ui/assistant-ui/pull/4953
core
preserve optimistic update order by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/4958
react-ai-sdk
pass initialized thread id to prepareSendMessagesRequest by @rupic-app[bot] in https://github.com/assistant-ui/assistant-ui/pull/5178
cloud-ai-sdk
retry interrupted history loads by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/4872
core
isolate public runtime event listeners by @Gujiassh in https://github.com/assistant-ui/assistant-ui/pull/5177
assistant-stream
dedupe accumulator drop warnings per instance by @ShobhitPatra in https://github.com/assistant-ui/assistant-ui/pull/5176
tap
create the scheduler MessageChannel lazily by @Yonom in https://github.com/assistant-ui/assistant-ui/pull/5181
assistant-stream
guard gorp accumulator path navigation by @Yonom in https://github.com/assistant-ui/assistant-ui/pull/5142
core
preserve latest thread switch by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/5057
core
keep composer attachments visible while their upload is in flight by @serhiizghama in https://github.com/assistant-ui/assistant-ui/pull/5112
cloud-ai-sdk
retry failed title generation by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/4874
cloud-ai-sdk
reset chat state on cloud change by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/5134
cloud-ai-sdk
settle disabled thread loading by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/5109
tap
implement useMemoCache on tap's React dispatcher by @Yonom in https://github.com/assistant-ui/assistant-ui/pull/5182
core
isolate speech synthesis listener errors by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/5137
react-ai-sdk
wait for history before stream resume by @Gujiassh in https://github.com/assistant-ui/assistant-ui/pull/4947
x-generative-compiler
give namespace-import toolkit spreads a specific compile error by @rupic-app[bot] in https://github.com/assistant-ui/assistant-ui/pull/5188
react-ag-ui
apply mcp-apps activity snapshots to restored tool calls by @VihaanAgarwal in https://github.com/assistant-ui/assistant-ui/pull/5110
core
persist LocalRuntime runs paused for tool approval by @serhiizghama in https://github.com/assistant-ui/assistant-ui/pull/5116
assistant-stream
parse UIMessageStream frames with secure-json-parse by @ShobhitPatra in https://github.com/assistant-ui/assistant-ui/pull/5200
assistant-stream
parse SSE and data-stream frames with secure-json-parse by @rupic-app[bot] in https://github.com/assistant-ui/assistant-ui/pull/5206
core
abort assistant frame tool calls by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/5202
tap
stop shipping react-shim declarations the exports map disclaims by @Yonom in https://github.com/assistant-ui/assistant-ui/pull/5207
react-native
keep MessagesFlatList following the bottom on viewport shrink by @rupic-app[bot] in https://github.com/assistant-ui/assistant-ui/pull/5212
composer
stop duplicate console.error on attachment-add rejection (#5215) by @rupic-app[bot] in https://github.com/assistant-ui/assistant-ui/pull/5219
core
stabilize cloud thread list adapters by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/5224
react
handle file picker attachment errors by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/5227
core
preserve thread-list position when switchToThread fetch settles after list by @rupic-app[bot] in https://github.com/assistant-ui/assistant-ui/pull/5231
assistant-stream
DataStreamChunkDecoder skips blank framing lines by @Yonom in https://github.com/assistant-ui/assistant-ui/pull/5236
assistant-transport
mark commands delivered on chunk-less successful runs by @Yonom in https://github.com/assistant-ui/assistant-ui/pull/5238
assistant-transport
empty follow-up run no-ops instead of erroring by @Yonom in https://github.com/assistant-ui/assistant-ui/pull/5241
assistant-transport
consume parentId once per run by @Yonom in https://github.com/assistant-ui/assistant-ui/pull/5240
assistant-transport
onError reads live queue state, not a render snapshot by @Yonom in https://github.com/assistant-ui/assistant-ui/pull/5242
assistant-transport
flush commands coalesced into a resume run by @Yonom in https://github.com/assistant-ui/assistant-ui/pull/5249
core,store
warn instead of throw on recoverable inconsistencies (port of Athena hardening patches) by @Yonom in https://github.com/assistant-ui/assistant-ui/pull/5250
assistant-transport
abort the in-flight run on unmount by @Yonom in https://github.com/assistant-ui/assistant-ui/pull/5243
external-thread
validate the adapter accept string on every addAttachment entry point by @Yonom in https://github.com/assistant-ui/assistant-ui/pull/5256
external-thread
clearAttachments and reset call adapter.remove for pending attachments by @Yonom in https://github.com/assistant-ui/assistant-ui/pull/5257
external-thread
stamp the thread head as parentId on queue-adapter sends by @Yonom in https://github.com/assistant-ui/assistant-ui/pull/5259
external-thread
unset optional callbacks throw a capability error naming the missing prop by @Yonom in https://github.com/assistant-ui/assistant-ui/pull/5260
external-thread
plumb the attachmentAdapter into edit composers by @Yonom in https://github.com/assistant-ui/assistant-ui/pull/5258
core
restore repository duplicate-id throw; dedupe external-store messages at ingestion by @Yonom in https://github.com/assistant-ui/assistant-ui/pull/5262
external-thread
merge a failed send back into the draft by @Yonom in https://github.com/assistant-ui/assistant-ui/pull/5261
cli
await async command handlers by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/5272
tap
useSyncExternalStore retains committed value when snapshot throws by @Yonom in https://github.com/assistant-ui/assistant-ui/pull/5274
core
cloud history adapter resolves aui through clientRef at call time by @Yonom in https://github.com/assistant-ui/assistant-ui/pull/5279
assistant-stream
PlainTextEncoder emits assistant text only by @ShobhitPatra in https://github.com/assistant-ui/assistant-ui/pull/5278
assistant-stream
settle the tool-call part on setResponse by @ShobhitPatra in https://github.com/assistant-ui/assistant-ui/pull/5284
assistant-stream-py
canonicalize assistant-transport encoder wire shape by @rupic-app[bot] in https://github.com/assistant-ui/assistant-ui/pull/5287
core
keep replacement runs cancellable by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/5295
react-langgraph
honor RemoveMessage in updates events by @rupic-app[bot] in https://github.com/assistant-ui/assistant-ui/pull/5293
assistant-stream
guard tool-call args append against closed stream by @Solaris-star in https://github.com/assistant-ui/assistant-ui/pull/5296
docs
pass tools client to AssistantRuntimeProvider in Artifacts example by @samdickson22 in https://github.com/assistant-ui/assistant-ui/pull/5299
react-langgraph,react-langchain
forward audio parts and skip data parts by @ShobhitPatra in https://github.com/assistant-ui/assistant-ui/pull/5223
react-ag-ui
preserve streaming across messages snapshots by @Gujiassh in https://github.com/assistant-ui/assistant-ui/pull/5311
ui
keep ModelSelector popover side stable while filtering by @samdickson22 in https://github.com/assistant-ui/assistant-ui/pull/5300
core
suppress controlled thread id echoes by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/5230
react-a2a
forward audio and data parts and handle zero-byte data URLs by @ShobhitPatra in https://github.com/assistant-ui/assistant-ui/pull/5220
react-ag-ui,react-google-adk
forward audio parts and skip data parts by @ShobhitPatra in https://github.com/assistant-ui/assistant-ui/pull/5315
react-opencode
wire permissions to standard tool approvals by @nyl199310 in https://github.com/assistant-ui/assistant-ui/pull/5325
react-a2a
cancel streams on early exit by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/5302
tap
accept reducer replays below the committed version instead of throwing by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/5331
react-pi
isolate event stream error callbacks by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/5333
case-insensitive data: scheme in ui kit and devtools preview parsing by @ShobhitPatra in https://github.com/assistant-ui/assistant-ui/pull/5323
case-insensitive data: URL scheme in parseDataUrl and passthrough gates by @ShobhitPatra in https://github.com/assistant-ui/assistant-ui/pull/5318
react-mcp
elicitation seam follow-ups from #5339 by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/5341
docs
use bot icon for coding agent prompt by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/5346
react-mcp
handle custom storage failures by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/5347
cloud-ai-sdk
handle finish callback failures by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/5351
store
shallow-compare scope meta query instead of spreading deps by @Yonom in https://github.com/assistant-ui/assistant-ui/pull/5360
store
derive assistant state proxy from the client via WeakMap by @Yonom in https://github.com/assistant-ui/assistant-ui/pull/5355
store
replay-safe initial-data handles in useClientList by @Yonom in https://github.com/assistant-ui/assistant-ui/pull/5354
proxy invariant violation in store client/state proxies by @Yonom in https://github.com/assistant-ui/assistant-ui/pull/5353
tap
per-scheduler update-depth limit in UpdateScheduler by @Yonom in https://github.com/assistant-ui/assistant-ui/pull/5370
react-google-adk
cancel streams on early exit by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/5374
tap
throw update-depth error from the scheduling markDirty by @Yonom in https://github.com/assistant-ui/assistant-ui/pull/5375
react-mcp
resolve empty elicitation drafts to the unanswered state by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/5377
react-generative-ui
narrow convertSurfaceToUISpec return to UIElement by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/5383
ui
let defaultOpen decide the reasoning resting state by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/5387
react-langgraph
route the values-path reconcile through appendMessage by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/5390
tap
re-add deprecated useMemoCache export by @Yonom in https://github.com/assistant-ui/assistant-ui/pull/5399
core
reset copied feedback timer by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/5404
core
derive group status from member statuses instead of the last member by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/5410
cloud
enumerate the attachment content fields aui/v0 persists by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/5419
react-langgraph
report loading on initial thread frame by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/5428
react-opencode
avoid repeated child session scans by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/5431
react-ai-sdk,eve
forward audio parts instead of throwing by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/5441
react-langchain,react-langgraph
carry audio through file parts by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/5444
ui
handle url file parts in File download and size by @ShobhitPatra in https://github.com/assistant-ui/assistant-ui/pull/5443
react-ai-sdk
wrap bare base64 file and image payloads in a data url by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/5452
react-google-adk
stop mangling file parts with an audio mime type by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/5456
react
refresh mcp app resources after host changes by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/5432
react-opencode
wrap a file payload that is not a parsable url by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/5459
react-ag-ui
convert file parts placed directly in message content by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/5461
assistant-stream,react-data-stream
carry a file part filename to the model message by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/5463
docs
stop the header star flicker and calm the heatmap by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/5460
react-ai-sdk
detect the media type of a bare base64 image by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/5466
docs
cover the missing pages in the sitemap by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/5475
react-opencode
send image parts as file parts so they reach the model by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/5468
docs
index the tap docs everywhere the main docs are indexed by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/5478
docs
drop the public cache bypass on the stats pages by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/5483
react-ai-sdk,react-opencode
converge the image media type ladder by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/5479
react-opencode
align pending message fingerprints by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/5480
react-ai-sdk
pass null-body-status responses through the resumable fetch wrapper by @rupic-app[bot] in https://github.com/assistant-ui/assistant-ui/pull/5337
react-ai-sdk
scope resumable stream id storage key per thread by @rupic-app[bot] in https://github.com/assistant-ui/assistant-ui/pull/5332
react-opencode
stop fingerprinting parts the outbound path never sends by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/5491
react-opencode
project user file parts as message attachments by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/5490
ui
honor file part sourceType in File download and size by @ShobhitPatra in https://github.com/assistant-ui/assistant-ui/pull/5473
core
prevent removed attachments from reappearing by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/5233
docs
center sidebar indent line under section icons by @ephraimduncan in https://github.com/assistant-ui/assistant-ui/pull/5434
react-langchain,react-langgraph
surface audio transcripts by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/5503
react-langchain,react-langgraph
preserve file attachment filenames by @Gujiassh in https://github.com/assistant-ui/assistant-ui/pull/5504
store
preserve notification state in StrictMode by @nyl199310 in https://github.com/assistant-ui/assistant-ui/pull/5411
core,react
preserve composer draft when suggestion send fires mid-run by @ephraimduncan in https://github.com/assistant-ui/assistant-ui/pull/5417
react-pi
isolate thread controller subscribers by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/5518
react-opencode
isolate thread controller subscribers by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/5520
react-langgraph
make cancelRun a hard stop by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/5525
assistant-stream
guard pending tool settlement after cancellation by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/5521
assistant-stream
close out tool calls that have no result by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/5535
keep a settled tool call distinguishable from an unfinished one by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/5537
react-langgraph
preserve sends racing load and cancellation by @rupic-app[bot] in https://github.com/assistant-ui/assistant-ui/pull/5530
safe-content-frame
surface iframe content load errors by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/5539
react-langgraph
let cancelRun end a run whose stream hangs by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/5543
react-google-adk
keep message ids stable across event replays by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/5544
core
handle failed initial thread runtime starts by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/5552
cloud
validate anonymous auth token responses by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/5555
restore UI Builder runtime context by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/5556
keep navbar submenu above banner by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/5558
react-data-stream
report cancellation during request setup by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/5563
react
skip add-message commands with no supported parts by @Yonom in https://github.com/assistant-ui/assistant-ui/pull/5566
core
preserve falsy tool results by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/5569
react-a2a
preserve replacement run state by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/5570
defer blob URL revocation until after download click by @ephraimduncan in https://github.com/assistant-ui/assistant-ui/pull/5420
fall back to attachment type for extension-less filenames in AttachmentThumb by @ephraimduncan in https://github.com/assistant-ui/assistant-ui/pull/5421
ui
restore rtl support in the base sidebar flavor by @ephraimduncan in https://github.com/assistant-ui/assistant-ui/pull/5474
ui
keep Radix tooltips instant after shadcn replacement (#5575) by @rupic-app[bot] in https://github.com/assistant-ui/assistant-ui/pull/5576
react
compose SelectionToolbarRoot onMouseDown with composeEventHandlers by @ephraimduncan in https://github.com/assistant-ui/assistant-ui/pull/5418

Performance6

turbo
restore git-aware build cache inputs by @ShobhitPatra in https://github.com/assistant-ui/assistant-ui/pull/4738
ui
contain offscreen message rows with content-visibility by @ephraimduncan in https://github.com/assistant-ui/assistant-ui/pull/4786
mcp-docs-server
cache docs and examples file listings by @ShobhitPatra in https://github.com/assistant-ui/assistant-ui/pull/4626
ui
memoize diff parsing and contain offscreen diff files by @ephraimduncan in https://github.com/assistant-ui/assistant-ui/pull/4783
react-ink-markdown
memoize markdansi render in MarkdownText by @ShobhitPatra in https://github.com/assistant-ui/assistant-ui/pull/4867
store
simplify useAui notification plumbing by @Yonom in https://github.com/assistant-ui/assistant-ui/pull/5385

Refactors46

docs
split Xulux markdown from shared docs assistant component by @vivek100 in https://github.com/assistant-ui/assistant-ui/pull/4457
react-langchain
split runtime file and adopt createRuntimeExtras by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/4467
react-opencode
adopt createRuntimeExtras and split the runtime file by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/4470
react-langgraph
adopt createRuntimeExtras and split the runtime file by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/4471
react-a2a
adopt createRuntimeExtras and split accessor hooks/types by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/4473
react-pi
adopt createRuntimeExtras and split accessor hooks/types by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/4474
react-google-adk
adopt createRuntimeExtras by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/4475
react-langgraph
adopt shared streaming timing primitive by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/4549
react-ai-sdk
adopt shared streaming timing primitive by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/4551
react-opencode
adopt shared streaming timing primitive by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/4553
with-mcp
migrate test server to registerTool with read-only annotations by @ShobhitPatra in https://github.com/assistant-ui/assistant-ui/pull/4604
react-ai-sdk
use addToolOutput instead of deprecated addToolResult by @ShobhitPatra in https://github.com/assistant-ui/assistant-ui/pull/4651
react-ink
move useTextBuffer beside TextInput by @ShobhitPatra in https://github.com/assistant-ui/assistant-ui/pull/4767
ui
polish assistant modal motion, elevation, and shape by @ephraimduncan in https://github.com/assistant-ui/assistant-ui/pull/4812
ui
single-source the collapsible components across flavors by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/4832
move the docs chrome to Base UI and drop stray radix deps by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/4841
nest the shadcn trees and make the unmarked alias mean Base UI by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/4844
make the unmarked component file the Base UI source by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/4873
react-ai-sdk
emit file tool output parts instead of deprecated image-data/file-data by @ShobhitPatra in https://github.com/assistant-ui/assistant-ui/pull/4902
react-ag-ui
back thread state with MessageRepository by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/4938
host the streaming-stable tool-args stringifier in @assistant-ui/core/internal by @ShobhitPatra in https://github.com/assistant-ui/assistant-ui/pull/4901
assistant-stream
dedupe internal SSE event parsing by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/4949
remove dead is-json copy from assistant-stream by @ShobhitPatra in https://github.com/assistant-ui/assistant-ui/pull/4955
host the shared JSON type guards in @assistant-ui/core/internal by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/4971
assistant-stream
single wire protocol (assistant-transport); remove gorp-shaped exports by @Yonom in https://github.com/assistant-ui/assistant-ui/pull/5064
react-ag-ui
share interrupt-response validation between submitInterruptResponses and steerAway by @ShobhitPatra in https://github.com/assistant-ui/assistant-ui/pull/5025
Change externalId to optional in RemoteThreadInitializeResponse by @darreleng in https://github.com/assistant-ui/assistant-ui/pull/5034
share parseDataUrl and httpUrlPattern from core internal by @ShobhitPatra in https://github.com/assistant-ui/assistant-ui/pull/5039
eve
migrate convertEveMessage onto fromThreadMessageLike by @ShobhitPatra in https://github.com/assistant-ui/assistant-ui/pull/5183
cloud-ai-sdk
route thread action state writes through a shared commit guard by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/5187
tap
single-param ResourceElement by @Yonom in https://github.com/assistant-ui/assistant-ui/pull/5190
docs
dedupe base demo sidebar onto CloneThreadShell by @rupic-app[bot] in https://github.com/assistant-ui/assistant-ui/pull/5209
migrate internal source-guard selectors to s.optional by @Yonom in https://github.com/assistant-ui/assistant-ui/pull/5304
docs
serve /api/mcp through the v2 web-standard MCP transport by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/5320
core
move createRuntimeExtras to the react entry by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/5329
store
drop redundant keys memo in useClientLookup by @Yonom in https://github.com/assistant-ui/assistant-ui/pull/5361
tap
hoist createTapRoot's scheduler out of dispatch by @Yonom in https://github.com/assistant-ui/assistant-ui/pull/5357
tap
shared throwAggregated error helper by @Yonom in https://github.com/assistant-ui/assistant-ui/pull/5358
store
single shared InferClientState type by @Yonom in https://github.com/assistant-ui/assistant-ui/pull/5356
store
per-facet ValidateClient checks; require error accessor name by @Yonom in https://github.com/assistant-ui/assistant-ui/pull/5362
core
make Thread client importExternalState required by @Yonom in https://github.com/assistant-ui/assistant-ui/pull/5369
store
local useShallowStable helper, drop tap useMemoCache export by @Yonom in https://github.com/assistant-ui/assistant-ui/pull/5368
adopt React's useEffectEvent for latest-client reads by @Yonom in https://github.com/assistant-ui/assistant-ui/pull/5312
store
two-mode useAui — pure React for Derived-only hosts, tap root only for root scopes by @Yonom in https://github.com/assistant-ui/assistant-ui/pull/5373
store
inline useAui helper hooks by @Yonom in https://github.com/assistant-ui/assistant-ui/pull/5380
core
share the media type ladder and wire url between adapters by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/5485

Reverts1

"docs: serve the artifacts demo from the deployed with-artifacts example" by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/5340

Docs48

update nav and pricing layout by @Yonom in https://github.com/assistant-ui/assistant-ui/pull/4459
add the adapter-orchestration convention to AGENTS.md by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/4469
add standalone-tool-call grouping key to chain-of-thought sample by @ephraimduncan in https://github.com/assistant-ui/assistant-ui/pull/4479
agents
add a general do's and don'ts section by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/4483
don't generate api-reference on dev by @AVGVSTVS96 in https://github.com/assistant-ui/assistant-ui/pull/4498
minor updates to pi READMEs by @AVGVSTVS96 in https://github.com/assistant-ui/assistant-ui/pull/4502
fix speech guide snippet to use AuiIf instead of nonexistent useMessageTTS by @ShobhitPatra in https://github.com/assistant-ui/assistant-ui/pull/4529
show file parts in user message by @Yonom in https://github.com/assistant-ui/assistant-ui/pull/4537
mermaid diagrams by @ephraimduncan in https://github.com/assistant-ui/assistant-ui/pull/4437
part-grouping
document flat tool row pattern with GroupedParts by @AVGVSTVS96 in https://github.com/assistant-ui/assistant-ui/pull/4541
react-langchain
document per-message metadata and media hooks by @ShobhitPatra in https://github.com/assistant-ui/assistant-ui/pull/4552
agents
sharpen do/don't and add adapter/build guardrails by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/4559
api-ref
regenerate, update classification logic by @AVGVSTVS96 in https://github.com/assistant-ui/assistant-ui/pull/4572
react-langchain
reframe react-langgraph comparison as at-parity by @ShobhitPatra in https://github.com/assistant-ui/assistant-ui/pull/4558
demo
add user editable notepad tool-ui showcasing new interactables API by @AVGVSTVS96 in https://github.com/assistant-ui/assistant-ui/pull/4371
add follow-up suggestions component page by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/4612
generative ui actions registry by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/4638
update mcp apps client example by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/4689
clarify frontend tool auto resume by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/4709
cli
rename langgraph template to langchain in package READMEs by @ShobhitPatra in https://github.com/assistant-ui/assistant-ui/pull/4716
add react native markdown rendering docs by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/4711
cli
list all supported examples in the create table by @ShobhitPatra in https://github.com/assistant-ui/assistant-ui/pull/4721
add ChatGPT subscription guide by @AVGVSTVS96 in https://github.com/assistant-ui/assistant-ui/pull/4748
add generative ui api reference by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/4644
add missing link for react data stream api reference by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/4781
rework voice guides into realtime, dictation, and speech story by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/4830
use transport instead of removed useChatRuntime({ api }) in guides by @ShobhitPatra in https://github.com/assistant-ui/assistant-ui/pull/4797
react-ai-sdk
move the resumable streams cross-links into jsdoc by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/4849
add mcp tool approval patterns by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/4778
add missing migrations page by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/4848
point install snippets at the style-aware registry by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/4866
document useChatRuntime runtime options in the ai-sdk v7 guide by @ShobhitPatra in https://github.com/assistant-ui/assistant-ui/pull/4909
fix ai sdk overview link by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/4996
fix stale langchain links by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/5068
codify the upstream-majors bump doctrine in AGENTS.md by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/5077
replace DevTools screenshots with interactive live demos by @ephraimduncan in https://github.com/assistant-ui/assistant-ui/pull/5161
mcp-apps
document ag-ui tool result contract by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/5114
store
re-parent Derived JSDoc; test(tap): phantom-typed TestFiber by @Yonom in https://github.com/assistant-ui/assistant-ui/pull/5199
skills
butflow review policy — approaches, not diffs by @Yonom in https://github.com/assistant-ui/assistant-ui/pull/5239
test policy — repro vs contract tests by @Yonom in https://github.com/assistant-ui/assistant-ui/pull/5244
property accessor sweep for guides and tap-docs by @Yonom in https://github.com/assistant-ui/assistant-ui/pull/5276
serve the artifacts demo from the deployed with-artifacts example by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/5338
store
trim AuiIf JSDoc and add a mount/unmount contract test by @Yonom in https://github.com/assistant-ui/assistant-ui/pull/5364
store
fix drift against current store source and document s.optional by @Yonom in https://github.com/assistant-ui/assistant-ui/pull/5388
explain that only the last message part reports running by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/5400
tap
revise tap documentation content by @Yonom in https://github.com/assistant-ui/assistant-ui/pull/5402
core,react
deprecate Unstable_AudioMessagePart in favour of file parts by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/5447
add runtime thread refetch support by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/5567

Styles2

ui
refine cot/tool disclosure motion, contrast & reduced-motion by @ephraimduncan in https://github.com/assistant-ui/assistant-ui/pull/4480
docs
refine ChatGPT example to match real ChatGPT UI by @ephraimduncan in https://github.com/assistant-ui/assistant-ui/pull/4568

Tests22

react-native
add a vitest suite for the primitives by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/4514
react-ai-sdk
cover toolOutputConversion and sliceMessagesUntil by @naamanu in https://github.com/assistant-ui/assistant-ui/pull/4614
api-surface
cover generator union normalizers by @ShobhitPatra in https://github.com/assistant-ui/assistant-ui/pull/4631
cloud-ai-sdk
exercise the ai v6 leg of the peer union in CI by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/5076
core
run compiler-sensitive hooks against built output by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/5028
react-ai-sdk
pin history append retry semantics by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/5179
tap
caller-side keying in withKey resource tests by @Yonom in https://github.com/assistant-ui/assistant-ui/pull/5189
delete incident repro tests (core, react, assistant-stream) by @Yonom in https://github.com/assistant-ui/assistant-ui/pull/5245
cloud-ai-sdk
dedupe unit tests against the contract suite by @Yonom in https://github.com/assistant-ui/assistant-ui/pull/5246
assistant-stream, react-streamdown
drop below-seam changeTree tests and export-smoke file by @Yonom in https://github.com/assistant-ui/assistant-ui/pull/5247
react-langgraph
dedupe reconcile tests; reframe regression-tagged suites as contracts by @Yonom in https://github.com/assistant-ui/assistant-ui/pull/5248
core
reframe regression-tagged titles as contracts by @Yonom in https://github.com/assistant-ui/assistant-ui/pull/5251
drop react duplicates of core-owned suites (BaseSubscribable, auiV0Encode) by @Yonom in https://github.com/assistant-ui/assistant-ui/pull/5254
fold react legacy-runtime suites into core (shouldContinue, convertExternalMessages, LocalThreadRuntimeCore) by @Yonom in https://github.com/assistant-ui/assistant-ui/pull/5255
fold react BaseComposerRuntimeCore suite into core, pruned by @Yonom in https://github.com/assistant-ui/assistant-ui/pull/5264
fold react ExternalStoreThreadRuntimeCore suite into core, pruned by @Yonom in https://github.com/assistant-ui/assistant-ui/pull/5265
rewrite DataRenderers against the real store, prune react integration suites by @Yonom in https://github.com/assistant-ui/assistant-ui/pull/5266
prune framework adapter suites (react-ai-sdk, react-langchain, assistant-stream) by @Yonom in https://github.com/assistant-ui/assistant-ui/pull/5267
prune small package suites (cloud, react-pi, react-google-adk, react-a2a, react-data-stream) by @Yonom in https://github.com/assistant-ui/assistant-ui/pull/5268
assistant-stream
cross-language interop fixture for assistant-transport by @ShobhitPatra in https://github.com/assistant-ui/assistant-ui/pull/5289
docs
pin the mcp header-leniency shim contract by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/5326
event-path contract tests for tap/store by @Yonom in https://github.com/assistant-ui/assistant-ui/pull/5366

CI23

template size metrics gate by @ShobhitPatra in https://github.com/assistant-ui/assistant-ui/pull/4468
update actions for Node 24 by @Yonom in https://github.com/assistant-ui/assistant-ui/pull/4595
check api surface in tests by @Yonom in https://github.com/assistant-ui/assistant-ui/pull/4619
clarify template sync only targets minimal template by @AVGVSTVS96 in https://github.com/assistant-ui/assistant-ui/pull/4668
use Fable 5 as review model by @AVGVSTVS96 in https://github.com/assistant-ui/assistant-ui/pull/4691
claude-review
warn if fable refuses and falls back to opus by @AVGVSTVS96 in https://github.com/assistant-ui/assistant-ui/pull/4698
claude-review
change fable review effort to high by @AVGVSTVS96 in https://github.com/assistant-ui/assistant-ui/pull/4697
claude-review
fail the job when Claude execution errors by @ShobhitPatra in https://github.com/assistant-ui/assistant-ui/pull/4719
de-duplicate .turbo cache key between build and test jobs by @ShobhitPatra in https://github.com/assistant-ui/assistant-ui/pull/4742
temporarily run Claude Code review on Opus 4.8 by @AVGVSTVS96 in https://github.com/assistant-ui/assistant-ui/pull/4747
template-metrics
compare against the merge-base instead of a cached baseline by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/4853
install root tooling for the template sync check by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/4836
fix the template sync install and api-reference drift on main by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/4894
skip claude review on bot pushes and scope concurrency to the job by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/4900
split app and example builds into a separate job by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/4977
re-enable Fable 5 for Claude code review by @AVGVSTVS96 in https://github.com/assistant-ui/assistant-ui/pull/5016
fail claude-review when the run ends without posting the final review by @ShobhitPatra in https://github.com/assistant-ui/assistant-ui/pull/5026
claude-review
simplify and improve review prompt by @AVGVSTVS96 in https://github.com/assistant-ui/assistant-ui/pull/5035
claude-review
run reviews on fork PRs via pull_request_target by @AVGVSTVS96 in https://github.com/assistant-ui/assistant-ui/pull/5104
review with Opus 5 at high effort, name the author model in review comment by @AVGVSTVS96 in https://github.com/assistant-ui/assistant-ui/pull/5146
right-size 7 GitHub Actions runners by @Yonom in https://github.com/assistant-ui/assistant-ui/pull/5303
merge expo and ink deploy workflows by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/5343
scope autofix and claude review to prs targeting main by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/5436

Chores41

update versions by @github-actions[bot] in https://github.com/assistant-ui/assistant-ui/pull/4427
harden CI secret usage by @Yonom in https://github.com/assistant-ui/assistant-ui/pull/4453
require maintainer review for CI config by @Yonom in https://github.com/assistant-ui/assistant-ui/pull/4454
update versions by @github-actions[bot] in https://github.com/assistant-ui/assistant-ui/pull/4458
devtools
stop committing the generated panel css by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/4499
update dependencies by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/4517
add API surface snapshots by @Yonom in https://github.com/assistant-ui/assistant-ui/pull/4588
update versions by @github-actions[bot] in https://github.com/assistant-ui/assistant-ui/pull/4465
update dependencies by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/4608
update versions by @github-actions[bot] in https://github.com/assistant-ui/assistant-ui/pull/4599
update README traction chart by @github-actions[bot] in https://github.com/assistant-ui/assistant-ui/pull/4661
update versions by @github-actions[bot] in https://github.com/assistant-ui/assistant-ui/pull/4624
cap concurrency in root build script by @ShobhitPatra in https://github.com/assistant-ui/assistant-ui/pull/4736
update README traction chart by @github-actions[bot] in https://github.com/assistant-ui/assistant-ui/pull/4745
add okisdev as code owner for CODEOWNERS and api-surface by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/4789
update dependencies by @Yonom in https://github.com/assistant-ui/assistant-ui/pull/4746
bump TypeScript to v7 by @Kinfe123 in https://github.com/assistant-ui/assistant-ui/pull/4777
update dependencies by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/4815
release the ai sdk v7 switch as a patch by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/4855
react-ink
delete dead re-export shims and stale local RuntimeAdapterProvider by @ShobhitPatra in https://github.com/assistant-ui/assistant-ui/pull/4878
add @AVGVSTVS96 to CODEOWNERS by @AVGVSTVS96 in https://github.com/assistant-ui/assistant-ui/pull/4827
update dependencies by @Yonom in https://github.com/assistant-ui/assistant-ui/pull/4887
upgrade oxfmt to 0.59 and apply its reformat by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/4976
update versions by @github-actions[bot] in https://github.com/assistant-ui/assistant-ui/pull/4717
remove @assistant-ui/gorp (migrated into assistant-stream assistant-transport) by @Yonom in https://github.com/assistant-ui/assistant-ui/pull/5071
update dependencies by @Yonom in https://github.com/assistant-ui/assistant-ui/pull/5079
upgrade oxfmt to 0.60 by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/5197
update versions by @github-actions[bot] in https://github.com/assistant-ui/assistant-ui/pull/5012
enable erasableSyntaxOnly + verbatimModuleSyntax in the shared tsconfig base by @Yonom in https://github.com/assistant-ui/assistant-ui/pull/5208
update versions by @github-actions[bot] in https://github.com/assistant-ui/assistant-ui/pull/5203
add missing changesets for the v0.15 train by @Yonom in https://github.com/assistant-ui/assistant-ui/pull/5285
update versions by @github-actions[bot] in https://github.com/assistant-ui/assistant-ui/pull/5273
drop private @assistant-ui/ui from migrate-optional-selectors changeset by @Yonom in https://github.com/assistant-ui/assistant-ui/pull/5305
update versions by @github-actions[bot] in https://github.com/assistant-ui/assistant-ui/pull/5286
update versions by @github-actions[bot] in https://github.com/assistant-ui/assistant-ui/pull/5306
update versions by @github-actions[bot] in https://github.com/assistant-ui/assistant-ui/pull/5392
docs
refresh the model list to the cheapest current models by @okisdev in https://github.com/assistant-ui/assistant-ui/pull/5538
update versions by @github-actions[bot] in https://github.com/assistant-ui/assistant-ui/pull/5429
update versions by @github-actions[bot] in https://github.com/assistant-ui/assistant-ui/pull/5554
update next to 16.3 by @ephraimduncan in https://github.com/assistant-ui/assistant-ui/pull/5571
python
assistant-stream 0.0.35 by @Yonom in https://github.com/assistant-ui/assistant-ui/pull/5578

Other21

examples: use latest assistant-ui components in with-chain-of-thought by @ephraimduncan in https://github.com/assistant-ui/assistant-ui/pull/4478
Update README traction chart by @github-actions[bot] in https://github.com/assistant-ui/assistant-ui/pull/4530
Track Xulux chat turn outcomes by @vivek100 in https://github.com/assistant-ui/assistant-ui/pull/4603
Revert "fix(cloud): normalize response timestamps" by @Yonom in https://github.com/assistant-ui/assistant-ui/pull/5015
python: consolidate on assistant-transport; remove gorp-named module and SSE dialect; rename state container to AssistantState by @Yonom in https://github.com/assistant-ui/assistant-ui/pull/5065
Update README traction chart by @github-actions[bot] in https://github.com/assistant-ui/assistant-ui/pull/5072
Update README traction chart by @github-actions[bot] in https://github.com/assistant-ui/assistant-ui/pull/5232
@ephraimduncan made their first contribution in https://github.com/assistant-ui/assistant-ui/pull/4479
@Kinfe123 made their first contribution in https://github.com/assistant-ui/assistant-ui/pull/4536
@naamanu made their first contribution in https://github.com/assistant-ui/assistant-ui/pull/4614
@GuYounes made their first contribution in https://github.com/assistant-ui/assistant-ui/pull/4740
@rupic-app[bot] made their first contribution in https://github.com/assistant-ui/assistant-ui/pull/4768
@DLOVRIC2 made their first contribution in https://github.com/assistant-ui/assistant-ui/pull/4806
@AkhilTrivediX made their first contribution in https://github.com/assistant-ui/assistant-ui/pull/5020
@VihaanAgarwal made their first contribution in https://github.com/assistant-ui/assistant-ui/pull/5090
@Nick-Lucas made their first contribution in https://github.com/assistant-ui/assistant-ui/pull/5123
@Solaris-star made their first contribution in https://github.com/assistant-ui/assistant-ui/pull/5107
@SiKreuz made their first contribution in https://github.com/assistant-ui/assistant-ui/pull/5160
@darreleng made their first contribution in https://github.com/assistant-ui/assistant-ui/pull/5034
@nyl199310 made their first contribution in https://github.com/assistant-ui/assistant-ui/pull/5325
@taoche made their first contribution in https://github.com/assistant-ui/assistant-ui/pull/5522
view on github

Aug 3, 2026

32 releases

>@assistant-ui/core@0.3.5handle stopped initial thread runtime starts1 change

Fixes1

handle stopped initial thread runtime starts
view on github
>@assistant-ui/core@0.3.4sourceType opt-in on file message parts so attachment adapters can send url/id file references12 changes

Features5

sourceType opt-in on file message parts so attachment adapters can send url/id file references
honor sourceType "url" in a2a, ag-ui, and adk file converters
expose threadListItem.isRunning so a thread list row can show its own run
add the in-place refetch contract behind threads.reloadMainThread. A runtime opts in with unstable_refetchThread on ThreadRuntimeCore, which an external store supplies through the new ExternalStoreAdapter.onRefetchThread (unrelated to onReload, which re-generates an assistant message) and which surfaces as RuntimeCapabilities.refetchThread, reporting which mechanism a call would take rather than whether it does anything. Runtimes that opt in keep their runtime identity, so composer drafts survive and messages stay rendered while the refetch runs; the rest fall back to remounting the runtime hook. Core does not stop a run in progress before calling the capability: doing that means cancelRun, whose contract is that the user abandoned a send, so it returns the trailing user message to the composer. An implementation owns whatever coordination a concurrent run needs.
add threads.reloadMainThread to refetch the open thread's remote state in place

Fixes5

prevent canceled attachment uploads from reappearing and settle failed removals as attachment errors
wrap a file part payload that is not a parsable url
keep a settled tool call distinguishable from an unfinished one, so a tool returning false, 0, "" or null no longer loses its result on the cloud round trip and no longer reads as never completed
read an image's media type from its leading bytes in both adapters
suggestion trigger with send no longer overwrites the composer draft while a run is in progress; on runtimes without queue support it now renders disabled mid-run, matching ComposerPrimitive.Send

Refactors1

share the media type ladder and wire url between adapters

Docs1

deprecate Unstable_AudioMessagePart in favour of file parts
view on github
>@assistant-ui/core@0.3.3honour a supplied per-part status while the message is running4 changes

Features1

honour a supplied per-part status while the message is running

Fixes3

enumerate the attachment content fields the aui/v0 encoder persists so per-part status stays out of the stored shape
keep copied feedback visible for the full duration after repeated copies
keep grouped and detached part statuses in sync
view on github
>@assistant-ui/eve@0.0.7forward audio message parts as file parts and skip data parts instead of throwing1 change

Fixes1

eve
forward audio message parts as file parts and skip data parts instead of throwing
view on github
>@assistant-ui/react@0.15.4add opt-in strict: false mode that reconciles malformed stream input instead of throwing (decoders, state accumulator); assistant-transport resume runs always decode leniently2 changes

Features1

add opt-in strict: false mode that reconciles malformed stream input instead of throwing (decoders, state accumulator); assistant-transport resume runs always decode leniently

Fixes1

skip add-message commands with no supported parts in assistant transport runtime
view on github
>@assistant-ui/react@0.15.3sourceType opt-in on file message parts so attachment adapters can send url/id file references7 changes

Features3

sourceType opt-in on file message parts so attachment adapters can send url/id file references
expose threadListItem.isRunning so a thread list row can show its own run
add threads.reloadMainThread to refetch the open thread's remote state in place

Fixes3

refresh MCP App resources when the host changes
keep a settled tool call distinguishable from an unfinished one, so a tool returning false, 0, "" or null no longer loses its result on the cloud round trip and no longer reads as never completed
suggestion trigger with send no longer overwrites the composer draft while a run is in progress; on runtimes without queue support it now renders disabled mid-run, matching ComposerPrimitive.Send

Docs1

deprecate Unstable_AudioMessagePart in favour of file parts
view on github
>@assistant-ui/react@0.15.2enumerate the attachment content fields the aui/v0 encoder persists so per-part status stays out of the stored shape2 changes

Fixes1

enumerate the attachment content fields the aui/v0 encoder persists so per-part status stays out of the stored shape

Refactors1

share the part status derivation with core
view on github
>@assistant-ui/react-a2a@0.2.26honor sourceType "url" in a2a, ag-ui, and adk file converters1 change

Features1

honor sourceType "url" in a2a, ag-ui, and adk file converters
view on github
>@assistant-ui/react-ag-ui@0.0.50honor sourceType "url" in a2a, ag-ui, and adk file converters2 changes

Features1

honor sourceType "url" in a2a, ag-ui, and adk file converters

Fixes1

convert file parts placed directly in message content
view on github
>@assistant-ui/react-ai-sdk@1.4.4resume stream ids discovered after the chat runtime mounts9 changes

Features2

resume stream ids discovered after the chat runtime mounts
allow the resumable stream id storage key to be derived lazily from a getter, so apps can scope it per thread (see the Resumable Streams guide)

Fixes6

react-ai-sdk
forward audio message parts as file parts instead of throwing
wrap bare base64 file and image payloads in a data URL envelope
detect the media type of a bare base64 image instead of assuming png
wrap a file part payload that is not a parsable url
pass null-body-status responses through the resumable fetch wrapper instead of reconstructing them, avoiding a TypeError on WebKit when a 204/205/304 carries a non-null empty body
read an image's media type from its leading bytes in both adapters

Refactors1

share the media type ladder and wire url between adapters
view on github
>@assistant-ui/react-ai-sdk@1.4.3map AI SDK text and reasoning part state onto the per-part status1 change

Features1

map AI SDK text and reasoning part state onto the per-part status
view on github
>@assistant-ui/react-data-stream@0.12.24report cancellations that occur while resolving request options1 change

Fixes1

report cancellations that occur while resolving request options
view on github
>@assistant-ui/react-data-stream@0.12.23carry a file part's filename through to the model message1 change

Fixes1

carry a file part's filename through to the model message
view on github
>@assistant-ui/react-google-adk@0.0.21honor sourceType "url" in a2a, ag-ui, and adk file converters4 changes

Features2

honor sourceType "url" in a2a, ag-ui, and adk file converters
threads.reloadMainThread refetches an ADK session in place

Fixes2

stop mangling file parts that carry an audio mime type
a message keeps its id when its event is replayed
view on github
>@assistant-ui/react-langchain@0.0.23sourceType opt-in on file message parts so attachment adapters can send url/id file references4 changes

Features1

sourceType opt-in on file message parts so attachment adapters can send url/id file references

Fixes3

surface an audio response transcript instead of rendering a blank message
carry audio through file message parts in both converter directions
preserve file attachment filenames in LangChain blocks
view on github
>@assistant-ui/react-langgraph@0.14.19sourceType opt-in on file message parts so attachment adapters can send url/id file references9 changes

Features2

sourceType opt-in on file message parts so attachment adapters can send url/id file references
register onRefetchThread, so threads.reloadMainThread refetches in place instead of remounting the runtime hook. The load effect body moves into a shared runLoad(purpose) with one AbortController per in-flight load, and a refetch goes through the same load boundary the initial load already uses, so it merges into whatever a run has produced since rather than replacing it. A run in progress is left alone: it is neither cancelled nor reset, because the merge already decides what each side keeps. A refetch that arrives while the initial load is still in flight defers to it, a new run supersedes an in-flight refetch, and one still in flight at unmount is aborted.

Fixes7

report thread loading on the first render frame
cancelRun now settles a run whose stream hangs instead of yielding
react-langgraph
preserve sends racing thread load and cancellation
surface an audio response transcript instead of rendering a blank message
carry audio through file message parts in both converter directions
make cancelRun a hard stop. the abort signal is handed to the caller's stream, so a callback that does not check it kept feeding chunks into the thread after cancellation; the consume loop now stops on its own.
preserve file attachment filenames in LangChain blocks
view on github
>@assistant-ui/react-langgraph@0.14.18route the values-path message reconcile through appendMessage1 change

Fixes1

route the values-path message reconcile through appendMessage
view on github
>@assistant-ui/react-opencode@0.2.17add OpenCodeAttachmentAdapter, converting browser files into attachments that preserve OpenCode's native file semantics10 changes

Features1

add OpenCodeAttachmentAdapter, converting browser files into attachments that preserve OpenCode's native file semantics

Fixes8

avoid repeated child session scans during streaming
project user file parts as message attachments instead of inline content, for server, pending, and shadow copies alike
wrap a file part payload that is not a parsable url
send image parts as file parts so they reach the model
stop fingerprinting audio and data parts the outbound path never sends, so their pending copies reconcile with the server echo
reconcile pending file messages after OpenCode normalizes their wire URLs
isolate thread controller subscriber errors
read an image's media type from its leading bytes in both adapters

Refactors1

share the media type ladder and wire url between adapters
view on github
>@assistant-ui/react-opencode@0.2.16project OpenCode Task child sessions as nested messages1 change

Features1

project OpenCode Task child sessions as nested messages
view on github
>@assistant-ui/react-pi@0.0.12isolate thread controller subscriber failures1 change

Fixes1

isolate thread controller subscriber failures
view on github
>@assistant-ui/store@0.3.3prevent Composer updates from being lost under React StrictMode1 change

Fixes1

prevent Composer updates from being lost under React StrictMode
view on github
>assistant-cloud@0.1.38validate successful anonymous authentication responses before use1 change

Fixes1

validate successful anonymous authentication responses before use
view on github
>assistant-stream@0.3.33add opt-in strict: false mode that reconciles malformed stream input instead of throwing (decoders, state accumulator); assistant-transport resume runs always decode leniently1 change

Features1

add opt-in strict: false mode that reconciles malformed stream input instead of throwing (decoders, state accumulator); assistant-transport resume runs always decode leniently
view on github
>assistant-stream@0.3.32prevent pending frontend tool output from enqueuing after stream cancellation4 changes

Fixes4

prevent pending frontend tool output from enqueuing after stream cancellation
carry a file part's filename through to the model message
keep a settled tool call distinguishable from an unfinished one, so a tool returning false, 0, "" or null no longer loses its result on the cloud round trip and no longer reads as never completed
synthesize a result for tool calls that have none, so a thread holding a cancelled or abandoned tool call no longer breaks every later run
view on github
>safe-content-frame@0.0.26surface iframe content load errors instead of reporting a timeout1 change

Fixes1

surface iframe content load errors instead of reporting a timeout
view on github
>7 maintenance releasesdependency updates and chores
>@assistant-ui/cloud-ai-sdk@0.1.29[email protected]1 change
>@assistant-ui/react-mcp@0.1.3@assistant-ui/[email protected]1 change

Other1

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

Other1

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

Other1

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

Other1

@assistant-ui/[email protected]
view on github
>@assistant-ui/tap@0.9.9re-add the deprecated useMemoCache export for older @assistant-ui/store versions1 change

Other1

re-add the deprecated useMemoCache export for older @assistant-ui/store versions
view on github

Jul 30, 2026

18 releases

>@assistant-ui/cloud-ai-sdk@0.1.28preserve AI SDK finish callback error handling1 change

Fixes1

preserve AI SDK finish callback error handling
view on github
>@assistant-ui/core@0.3.2AuiProvider accepts value={null} as an isolation boundary; useAui runs a fixed hook count per overload and deprecates the explicit-parent config7 changes

Features1

AuiProvider accepts value={null} as an isolation boundary; useAui runs a fixed hook count per overload and deprecates the explicit-parent config

Fixes3

suppress onThreadIdChange callbacks for prop-driven thread switches
accept case-insensitive data: URL schemes and normalize parsed mime types to lowercase
parse zero-byte base64 payloads in parseDataUrl

Refactors3

move createRuntimeExtras to the @assistant-ui/core/react entry and drop the internal re-export
make Thread client importExternalState required
import useEffectEvent from React directly for latest-client reads and drop the use-effect-event ponyfill dependency
view on github
>@assistant-ui/mcp-docs-server@0.2.0minormigrate to MCP TypeScript SDK v2 scoped packages (@modelcontextprotocol/client, @modelcontextprotocol/core, @modelcontextprotocol/server), replacing the monolithic @modelcontextprotocol/sdk 1.x dependency1 change

Features1

migrate to MCP TypeScript SDK v2 scoped packages (@modelcontextprotocol/client, @modelcontextprotocol/core, @modelcontextprotocol/server), replacing the monolithic @modelcontextprotocol/sdk 1.x dependency
view on github
>@assistant-ui/react-a2a@0.2.25cancel A2A response streams when consumers stop iteration early4 changes

Fixes3

cancel A2A response streams when consumers stop iteration early
forward audio and data parts to the wire and pass unparseable data URLs through as URLs
accept case-insensitive data: URL schemes and normalize parsed mime types to lowercase

Refactors1

move createRuntimeExtras to the @assistant-ui/core/react entry and drop the internal re-export
view on github
>@assistant-ui/react-ag-ui@0.0.49send A2UI actions back to the agent as forwardedProps.a2uiAction on the next run7 changes

Features4

send A2UI actions back to the agent as forwardedProps.a2uiAction on the next run
read the canonical nested _meta.ui.resourceUri MCP Apps pointer, keeping the deprecated flat "ui/resourceUri" key as a fallback
consume a2ui-surface activity snapshots and render A2UI surfaces as present tool-call parts
rehydrate A2UI surfaces from restored activity history

Fixes2

forward audio message parts and skip data parts instead of dropping or throwing
keep streaming across mid-run MESSAGES_SNAPSHOT imports. The active assistant is preserved and re-anchored when the snapshot omits it, and when a snapshot shape still evicts it, the placeholder is recreated under its original id on the next content-bearing emit, so neither the token stream nor the message identity is lost.

Refactors1

move createRuntimeExtras to the @assistant-ui/core/react entry and drop the internal re-export
view on github
>@assistant-ui/react-ai-sdk@1.4.2read the canonical nested meta.ui.resourceUri MCP Apps pointer, keeping the deprecated flat "ui/resourceUri" key as a fallback3 changes

Features1

read the canonical nested _meta.ui.resourceUri MCP Apps pointer, keeping the deprecated flat "ui/resourceUri" key as a fallback

Fixes1

accept case-insensitive data: URL schemes and normalize parsed mime types to lowercase

Refactors1

move createRuntimeExtras to the @assistant-ui/core/react entry and drop the internal re-export
view on github
>@assistant-ui/react-devtools@1.2.12case-insensitive data: and http(s) scheme checks in preview parsing1 change

Fixes1

case-insensitive data: and http(s) scheme checks in preview parsing
view on github
>@assistant-ui/react-generative-ui@0.0.11add react-free ./a2ui subpath with an A2UI operation reducer and UISpec converter2 changes

Features1

add react-free ./a2ui subpath with an A2UI operation reducer and UISpec converter

Fixes1

narrow the convertSurfaceToUISpec return type to UIElement, matching what the converter can produce
view on github
>@assistant-ui/react-google-adk@0.0.20forward audio message parts and skip data parts instead of dropping or throwing3 changes

Fixes2

forward audio message parts and skip data parts instead of dropping or throwing
cancel Google ADK streams when iteration stops early

Refactors1

move createRuntimeExtras to the @assistant-ui/core/react entry and drop the internal re-export
view on github
>@assistant-ui/react-langchain@0.0.22forward audio parts as base64 audio blocks and skip data parts instead of throwing2 changes

Fixes1

forward audio parts as base64 audio blocks and skip data parts instead of throwing

Refactors1

move createRuntimeExtras to the @assistant-ui/core/react entry and drop the internal re-export
view on github
>@assistant-ui/react-langgraph@0.14.17forward audio parts as base64 audio blocks and skip data parts instead of throwing2 changes

Fixes1

forward audio parts as base64 audio blocks and skip data parts instead of throwing

Refactors1

move createRuntimeExtras to the @assistant-ui/core/react entry and drop the internal re-export
view on github
>@assistant-ui/react-mcp@0.1.0minormigrate to MCP TypeScript SDK v2 scoped packages (@modelcontextprotocol/client, @modelcontextprotocol/core, @modelcontextprotocol/server), replacing the monolithic @modelcontextprotocol/sdk 1.x dependency6 changes

Features2

migrate to MCP TypeScript SDK v2 scoped packages (@modelcontextprotocol/client, @modelcontextprotocol/core, @modelcontextprotocol/server), replacing the monolithic @modelcontextprotocol/sdk 1.x dependency
form-mode MCP elicitation (pending state, answerElicitation, unstyled McpElicitationPrimitive namespace), tool list-change auto-refresh, and cache.defaultTtlMs response cache configuration

Fixes4

react-mcp
resolve empty elicitation drafts to the unanswered state
honor boolean schema defaults in elicitation seeding, flag mistyped boolean drafts as invalid, and add an elicitation: false opt-out
surface elicitation validation on the pending item (stay-pending accept errors and McpElicitationPrimitive.Error), seed drafts from schema defaults
handle custom MCP server storage failures
view on github
>@assistant-ui/react-opencode@0.2.15connect OpenCode permissions to standard tool approvals3 changes

Fixes1

connect OpenCode permissions to standard tool approvals

Refactors2

move createRuntimeExtras to the @assistant-ui/core/react entry and drop the internal re-export
import useEffectEvent from React directly for latest-client reads and drop the use-effect-event ponyfill dependency
view on github
>@assistant-ui/react-pi@0.0.11accept case-insensitive data: URL schemes and normalize parsed mime types to lowercase4 changes

Fixes2

accept case-insensitive data: URL schemes and normalize parsed mime types to lowercase
keep event streams reconnecting when error callbacks fail

Refactors2

move createRuntimeExtras to the @assistant-ui/core/react entry and drop the internal re-export
import useEffectEvent from React directly for latest-client reads and drop the use-effect-event ponyfill dependency
view on github
>@assistant-ui/store@0.3.2AuiProvider accepts value={null} as an isolation boundary; useAui runs a fixed hook count per overload and deprecates the explicit-parent config13 changes

Features1

AuiProvider accepts value={null} as an isolation boundary; useAui runs a fixed hook count per overload and deprecates the explicit-parent config

Fixes1

report proxy properties as configurable so Object.keys, spread, and Object.getOwnPropertyDescriptor on clients and the proxied assistant state no longer throw the proxy invariant TypeError

Performance1

simplify useAui notification and effect plumbing

Refactors3

inline single-call-site useAui helper hooks
store
local useShallowStable helper replaces tap useMemoCache; drop useMemoCache from tap's public entrypoint
import useEffectEvent from React directly for latest-client reads and drop the use-effect-event ponyfill dependency

Other7

AuiIf: trim JSDoc and add a mount/unmount contract test
useClientList: clear initial-data handles on commit instead of during render so discarded renders can replay
useClientLookup: derive the key-to-index map from the validated element keys and drop the redundant keys memo
useAuiState: derive the assistant state proxy from the client via a WeakMap so hand-built clients no longer yield an undefined selector argument
useAui: memoize scope meta via shallow equality on the query object instead of a spread deps array, so query key-count changes are detected reliably
Share a single InferClientState type across useClientResource, useClientLookup, and useClientList
ValidateClient: restructure into independent per-facet checks; createErrorClientAccessor now requires the scope name
view on github
>@assistant-ui/tap@0.9.8count update depth per scheduler in UpdateScheduler and drop only the offending scheduler from a flush, so one looping root no longer starves or wedges unrelated roots6 changes

Fixes2

count update depth per scheduler in UpdateScheduler and drop only the offending scheduler from a flush, so one looping root no longer starves or wedges unrelated roots
accept reducer replays below the committed version instead of throwing

Refactors1

store
local useShallowStable helper replaces tap useMemoCache; drop useMemoCache from tap's public entrypoint

Other3

The update-depth error now throws from the markDirty that schedules the run past the limit, so the stack points at the offending setState.
createTapRoot: reuse a single per-root UpdateScheduler across dispatches and assert without applying first
Deduplicate the rethrow-or-AggregateError error handling into a shared internal helper
view on github
>assistant-stream@0.3.31DataStreamDecoder drops tool-call args deltas for an already-closed args stream instead of crashing mid-decode when a text delta interleaves between a tool call's begin and its args2 changes

Fixes2

DataStreamDecoder drops tool-call args deltas for an already-closed args stream instead of crashing mid-decode when a text delta interleaves between a tool call's begin and its args
accept case-insensitive data: URL schemes and normalize parsed mime types to lowercase
view on github
>1 maintenance releasedependency updates and chores
>@assistant-ui/react-o11y@0.0.31@assistant-ui/[email protected]1 change

Other1

@assistant-ui/[email protected]
view on github

Jul 29, 2026

7 releases

>@assistant-ui/core@0.3.1keep replacement runs cancellable after superseded runs settle2 changes

Fixes1

keep replacement runs cancellable after superseded runs settle

Refactors1

internal selectors read optional scopes via s.optional.part instead of guarding on aui.part.source
view on github
>@assistant-ui/react@0.15.1internal selectors read optional scopes via s.optional.part instead of guarding on aui.part.source1 change

Refactors1

internal selectors read optional scopes via s.optional.part instead of guarding on aui.part.source
view on github
>@assistant-ui/react-langgraph@0.14.16honor LangChain RemoveMessage (type: "remove") in updates events instead of crashing1 change

Fixes1

honor LangChain RemoveMessage (type: "remove") in updates events instead of crashing
view on github
>@assistant-ui/store@0.3.1optional state view — s.optional.<scope> resolves to undefined when the scope is unavailable instead of throwing, so useAuiState((s) => s.optional.threadListItem?.remoteId) works outside a thread list item. The base state stays non-optional and keeps throwing on unavailable scopes.1 change

Features1

optional state view — s.optional.<scope> resolves to undefined when the scope is unavailable instead of throwing, so useAuiState((s) => s.optional.threadListItem?.remoteId) works outside a thread list item. The base state stays non-optional and keeps throwing on unavailable scopes.
view on github
>assistant-stream@0.3.30addToolCallPart({response}) settles the tool-call part so the stream closes1 change

Fixes1

addToolCallPart({response}) settles the tool-call part so the stream closes
view on github
>2 maintenance releasesdependency updates and chores
>@assistant-ui/react-mcp@0.0.22@assistant-ui/[email protected]1 change

Other1

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

Jul 28, 2026

51 releases

>@assistant-ui/core@0.3.0minorproperty API for aui — nullary scope accessors are now properties (aui.thread.getState instead of aui.thread.getState); calling them still works but is deprecated. Accessors keep source/query/name selection metadata as properties; these are reserved names for scope methods. An unavailable scope's accessor no longer throws at selection time: aui.thread always succeeds and is always truthy, .source is null, and any other property read (or a call) throws — check availability via aui.thread.source != null. Accessor identity is binding-keyed: stable across renders without structural change, new on structural change — memoization keyed on an accessor now invalidates exactly when its binding changes.5 changes

Features4

property API for aui — nullary scope accessors are now properties (aui.thread.getState instead of aui.thread.getState); calling them still works but is deprecated. Accessors keep source/query/name selection metadata as properties; these are reserved names for scope methods. An unavailable scope's accessor no longer throws at selection time: aui.thread always succeeds and is always truthy, .source is null, and any other property read (or a call) throws — check availability via aui.thread.source != null. Accessor identity is binding-keyed: stable across renders without structural change, new on structural change — memoization keyed on an accessor now invalidates exactly when its binding changes.
drop APIs deprecated in v0.12/v0.14 — the legacy context hooks (useAssistantRuntime, useThreadRuntime, useThread, useMessageRuntime, useMessage, useComposerRuntime, useComposer, useMessagePartRuntime, useMessagePart, useAttachmentRuntime, useAttachment, useThreadListItemRuntime, useThreadListItem, useThreadList, useEditComposer and their attachment variants; use useAui / useAuiState), the component-only ToolsState.tools map (use toolUIs), and the "mcp-app" group key in groupPartByType (use "standalone-tool-call"). See the v0.15 migration guide.
getClientId(client) returns an opaque, WeakMap-legal identity for a bound client — the same object regardless of accessor wrapping depth. The cloud message persistence cache is now keyed on it instead of the per-mount accessor proxy. Removes unwrapClientAccessor and getBoundClient (introduced and replaced pre-release, never published).
render-bound immutable aui instances — derived scopes resolve to client instances during render and are frozen into the returned client; structural swaps produce a new client through React while value updates never change client identity. Removes the PartByIndexProvider lastPartRef guards and the useClientLookup stale-index clamp.

Fixes1

cloud history adapter resolves the aui client at call time instead of capturing the client from the first render
view on github
>@assistant-ui/core@0.2.23ExternalThread props for assistant-transport (isLoading, state, extras, onResume, onAddToolResult, onLoadExternalState, onResumeToolCall, attachmentAdapter; importExternalState); export ToolInvocationTracker from core internal; composer parentId, draft-restore, and part-status fixes10 changes

Features1

ExternalThread props for assistant-transport (isLoading, state, extras, onResume, onAddToolResult, onLoadExternalState, onResumeToolCall, attachmentAdapter; importExternalState); export ToolInvocationTracker from core internal; composer parentId, draft-restore, and part-status fixes

Fixes5

abort pending AssistantFrame tool calls when their run is cancelled
ExternalThread validates the adapter accept string on every addAttachment entry point
core
persist LocalRuntime runs paused for tool approval
core
preserve thread-list position when switchToThread's on-demand fetch settles after a concurrent list
avoid reloading Cloud thread lists on unchanged runtime rerenders

Other4

Restore the MessageRepository duplicate-id throw (it detects internal corruption); duplicate ids in an external-store messages array are now deduped at ingestion with a warning, keeping the last occurrence.
Warn instead of throw on recoverable inconsistencies: duplicate same-priority tool registrations merge with the latest registration taking precedence, duplicate message ids skip linking, stale client lookup indices are clamped, and null tool names in tool result messages are tolerated.
Adopt erasableSyntaxOnly; public enums are now as const objects.
Same-priority duplicate tool registrations throw again. The Tool type gains an optional overwrite flag (discouraged escape hatch) that lets a later registration silently replace a same-priority tool of the same name; the flag is stripped from the merged output.
view on github
>@assistant-ui/react@0.15.0minorproperty API for aui — nullary scope accessors are now properties (aui.thread.getState instead of aui.thread.getState); calling them still works but is deprecated. Accessors keep source/query/name selection metadata as properties; these are reserved names for scope methods. An unavailable scope's accessor no longer throws at selection time: aui.thread always succeeds and is always truthy, .source is null, and any other property read (or a call) throws — check availability via aui.thread.source != null. Accessor identity is binding-keyed: stable across renders without structural change, new on structural change — memoization keyed on an accessor now invalidates exactly when its binding changes.2 changes

Features2

property API for aui — nullary scope accessors are now properties (aui.thread.getState instead of aui.thread.getState); calling them still works but is deprecated. Accessors keep source/query/name selection metadata as properties; these are reserved names for scope methods. An unavailable scope's accessor no longer throws at selection time: aui.thread always succeeds and is always truthy, .source is null, and any other property read (or a call) throws — check availability via aui.thread.source != null. Accessor identity is binding-keyed: stable across renders without structural change, new on structural change — memoization keyed on an accessor now invalidates exactly when its binding changes.
drop APIs deprecated in v0.12/v0.14 — the legacy context hooks (useAssistantRuntime, useThreadRuntime, useThread, useMessageRuntime, useMessage, useComposerRuntime, useComposer, useMessagePartRuntime, useMessagePart, useAttachmentRuntime, useAttachment, useThreadListItemRuntime, useThreadListItem, useThreadList, useEditComposer and their attachment variants; use useAui / useAuiState), the component-only ToolsState.tools map (use toolUIs), and the "mcp-app" group key in groupPartByType (use "standalone-tool-call"). See the v0.15 migration guide.
view on github
>@assistant-ui/react@0.14.29ExternalThread props for assistant-transport (isLoading, state, extras, onResume, onAddToolResult, onLoadExternalState, onResumeToolCall, attachmentAdapter; importExternalState); export ToolInvocationTracker from core internal; composer parentId, draft-restore, and part-status fixes19 changes

Features1

ExternalThread props for assistant-transport (isLoading, state, extras, onResume, onAddToolResult, onLoadExternalState, onResumeToolCall, attachmentAdapter; importExternalState); export ToolInvocationTracker from core internal; composer parentId, draft-restore, and part-status fixes

Fixes16

assistant-transport
a follow-up run that finds an empty command queue no-ops instead of erroring "No commands to send"
assistant-transport marks in-transit commands delivered when a run completes successfully without state chunks, instead of leaving them pending forever
assistant-transport
onError reads the live in-transit commands at error time instead of a stale render snapshot
assistant-transport consumes parentId once per run; later unrelated runs no longer re-send the last append's parentId
assistant-transport
commands enqueued during a resume run are flushed in a follow-up run instead of starving in the queue
assistant-transport
abort the in-flight run on unmount instead of leaking the fetch
stop logging attachment-add rejections to the console from ComposerPrimitive.AttachmentDropzone and ComposerPrimitive.Input; the rejection is already surfaced via the structured composer.attachmentAddError event, so the per-file console.error produced unopt-outable duplicate noise for apps handling the event
ExternalThread validates the adapter accept string on every addAttachment entry point
ExternalThread clearAttachments/reset call adapter.remove for pending attachments
ExternalThread edit composers receive the attachmentAdapter
ExternalThread merges a failed send back into the draft (text prepended, attachments and quote preserved)
ExternalThread queue-adapter sends stamp the thread head as parentId
ExternalThread throws a capability error when an unset optional callback is invoked
core
persist LocalRuntime runs paused for tool approval
handle rejected file picker attachment additions
core
preserve thread-list position when switchToThread's on-demand fetch settles after a concurrent list

Other2

Adopt erasableSyntaxOnly; public enums are now as const objects.
ExternalThread: dedupe duplicate message ids with a warning (last occurrence wins) instead of throwing on duplicate resource keys.
view on github
>@assistant-ui/react-ag-ui@0.0.47reconstruct mcp.app on restored tool-call parts in fromAgUiMessages from the meta["ui/resourceUri"] MCP-UI pointer, so getMcpAppFromToolPart resolves the app on restored history instead of leaving McpAppRenderer on its fallback; effective for transports that preserve meta (the standard @ag-ui/client HTTP transport strips it until upstream ToolMessageSchema gains a passthrough, agno-agi/agno#9087)1 change

Features1

reconstruct mcp.app on restored tool-call parts in fromAgUiMessages from the _meta["ui/resourceUri"] MCP-UI pointer, so getMcpAppFromToolPart resolves the app on restored history instead of leaving McpAppRenderer on its fallback; effective for transports that preserve _meta (the standard @ag-ui/client HTTP transport strips it until upstream ToolMessageSchema gains a passthrough, agno-agi/agno#9087)
view on github
>@assistant-ui/react-ai-sdk@1.4.1migrate to aui property accessors1 change

Refactors1

migrate to aui property accessors
view on github
>@assistant-ui/react-devtools@1.2.11migrate to aui property accessors1 change

Refactors1

migrate to aui property accessors
view on github
>@assistant-ui/react-google-adk@0.0.19migrate to aui property accessors1 change

Refactors1

migrate to aui property accessors
view on github
>@assistant-ui/react-hook-form@0.12.25migrate to aui property accessors1 change

Refactors1

migrate to aui property accessors
view on github
>@assistant-ui/react-ink@0.0.35migrate primitives to aui property accessors; drop deprecated part-type handling1 change

Refactors1

migrate primitives to aui property accessors; drop deprecated part-type handling
view on github
>@assistant-ui/react-langgraph@0.14.15render-bound immutable aui instances — derived scopes resolve to client instances during render and are frozen into the returned client; structural swaps produce a new client through React while value updates never change client identity. Removes the PartByIndexProvider lastPartRef guards and the useClientLookup stale-index clamp.2 changes

Features1

render-bound immutable aui instances — derived scopes resolve to client instances during render and are frozen into the returned client; structural swaps produce a new client through React while value updates never change client identity. Removes the PartByIndexProvider lastPartRef guards and the useClientLookup stale-index clamp.

Refactors1

migrate to aui property accessors
view on github
>@assistant-ui/react-lexical@0.2.7migrate to aui property accessors1 change

Refactors1

migrate to aui property accessors
view on github
>@assistant-ui/react-mcp@0.0.21migrate to aui property accessors1 change

Refactors1

migrate to aui property accessors
view on github
>@assistant-ui/react-native@0.1.33migrate primitives to aui property accessors; drop deprecated part-type handling1 change

Refactors1

migrate primitives to aui property accessors; drop deprecated part-type handling
view on github
>@assistant-ui/react-native@0.1.32keep MessagesFlatList following the bottom when the viewport shrinks (keyboard opening) mid-stream by extending the sticky pin to the onLayout path1 change

Fixes1

keep MessagesFlatList following the bottom when the viewport shrinks (keyboard opening) mid-stream by extending the sticky pin to the onLayout path
view on github
>@assistant-ui/react-o11y@0.0.29migrate to aui property accessors1 change

Refactors1

migrate to aui property accessors
view on github
>@assistant-ui/react-pi@0.0.10migrate to aui property accessors1 change

Refactors1

migrate to aui property accessors
view on github
>@assistant-ui/store@0.3.0minorproperty API for aui — nullary scope accessors are now properties (aui.thread.getState instead of aui.thread.getState); calling them still works but is deprecated. Accessors keep source/query/name selection metadata as properties; these are reserved names for scope methods. An unavailable scope's accessor no longer throws at selection time: aui.thread always succeeds and is always truthy, .source is null, and any other property read (or a call) throws — check availability via aui.thread.source != null. Accessor identity is binding-keyed: stable across renders without structural change, new on structural change — memoization keyed on an accessor now invalidates exactly when its binding changes.3 changes

Features3

property API for aui — nullary scope accessors are now properties (aui.thread.getState instead of aui.thread.getState); calling them still works but is deprecated. Accessors keep source/query/name selection metadata as properties; these are reserved names for scope methods. An unavailable scope's accessor no longer throws at selection time: aui.thread always succeeds and is always truthy, .source is null, and any other property read (or a call) throws — check availability via aui.thread.source != null. Accessor identity is binding-keyed: stable across renders without structural change, new on structural change — memoization keyed on an accessor now invalidates exactly when its binding changes.
getClientId(client) returns an opaque, WeakMap-legal identity for a bound client — the same object regardless of accessor wrapping depth. The cloud message persistence cache is now keyed on it instead of the per-mount accessor proxy. Removes unwrapClientAccessor and getBoundClient (introduced and replaced pre-release, never published).
render-bound immutable aui instances — derived scopes resolve to client instances during render and are frozen into the returned client; structural swaps produce a new client through React while value updates never change client identity. Removes the PartByIndexProvider lastPartRef guards and the useClientLookup stale-index clamp.
view on github
>@assistant-ui/tap@0.9.7useSyncExternalStore retains the last committed value when the snapshot getter throws; export useMemoCache from the package root1 change

Fixes1

useSyncExternalStore retains the last committed value when the snapshot getter throws; export useMemoCache from the package root
view on github
>@assistant-ui/tap@0.9.6drop configurableResource — use resource with an options argument instead3 changes

Features1

drop configurableResource — use resource with an options argument instead

Other2

Adopt erasableSyntaxOnly; public enums are now as const objects.
Stop shipping react-shim declaration files the exports map disclaims — the shim subpaths are now genuinely untyped in every resolution mode instead of accidentally typed via TypeScript's fallback resolution.
view on github
>@assistant-ui/x-generative-compiler@0.0.11name the winning and overridden sources in the duplicate-tool-name composition warning1 change

Features1

name the winning and overridden sources in the duplicate-tool-name composition warning
view on github
>assistant-stream@0.3.29PlainTextEncoder emits assistant text only. Reasoning and tool-call argument deltas no longer leak into the output, non-text chunks (result, annotations, data, update-state, tool-call-args-text-finish) are skipped instead of throwing mid-stream, and the incorrect x-vercel-ai-data-stream header is removed from the response headers.1 change

Fixes1

PlainTextEncoder emits assistant text only. Reasoning and tool-call argument deltas no longer leak into the output, non-text chunks (result, annotations, data, update-state, tool-call-args-text-finish) are skipped instead of throwing mid-stream, and the incorrect x-vercel-ai-data-stream header is removed from the response headers.
view on github
>assistant-stream@0.3.28DataStreamChunkDecoder skips blank framing lines and drops colon-less lines with a warning instead of throwing5 changes

Fixes3

DataStreamChunkDecoder skips blank framing lines and drops colon-less lines with a warning instead of throwing
parse SSEDecoder and data-stream chunk frames with secure-json-parse, matching the transport and UIMessageStream decoders; a malformed or prototype-pollution frame is now dropped with a warning and the stream continues instead of erroring the whole stream
parse UIMessageStream frames with secure-json-parse, matching the transport decoder

Other2

Adopt erasableSyntaxOnly; public enums are now as const objects.
Same-priority duplicate tool registrations throw again. The Tool type gains an optional overwrite flag (discouraged escape hatch) that lets a later registration silently replace a same-priority tool of the same name; the flag is stripped from the merged output.
view on github
>assistant-ui@0.0.108v0-15/aui-accessor-calls-to-properties codemod — rewrites nullary aui.x accessor calls to aui.x property access as part of npx assistant-ui upgrade.2 changes

Features1

v0-15/aui-accessor-calls-to-properties codemod — rewrites nullary aui.x accessor calls to aui.x property access as part of npx assistant-ui upgrade.

Fixes1

await asynchronous CLI command handlers
view on github
>27 maintenance releasesdependency updates and chores
>@assistant-ui/cloud-ai-sdk@0.1.27Adopt erasableSyntaxOnly; public enums are now as const objects.1 change

Other1

Adopt erasableSyntaxOnly; public enums are now as const objects.
view on github
>@assistant-ui/eve@0.0.6@assistant-ui/[email protected]1 change
>@assistant-ui/next@0.0.13@assistant-ui/[email protected]1 change
>@assistant-ui/react-a2a@0.2.24@assistant-ui/[email protected]1 change

Other1

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

Other1

@assistant-ui/[email protected]
view on github
>@assistant-ui/react-data-stream@0.12.22@assistant-ui/[email protected]1 change

Other1

@assistant-ui/[email protected]
view on github
>@assistant-ui/react-data-stream@0.12.21Adopt erasableSyntaxOnly; public enums are now as const objects.1 change

Other1

Adopt erasableSyntaxOnly; public enums are now as const objects.
view on github
>@assistant-ui/react-generative-ui@0.0.10@assistant-ui/[email protected]1 change

Other1

@assistant-ui/[email protected]
view on github
>@assistant-ui/react-ink@0.0.34Adopt erasableSyntaxOnly; public enums are now as const objects.1 change

Other1

Adopt erasableSyntaxOnly; public enums are now as const objects.
view on github
>@assistant-ui/react-ink-markdown@0.0.34@assistant-ui/[email protected]1 change

Other1

@assistant-ui/[email protected]
view on github
>@assistant-ui/react-ink-markdown@0.0.33@assistant-ui/[email protected]1 change

Other1

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

Other1

@assistant-ui/[email protected]
view on github
>@assistant-ui/react-langgraph@0.14.14Adopt erasableSyntaxOnly; public enums are now as const objects.1 change

Other1

Adopt erasableSyntaxOnly; public enums are now as const objects.
view on github
>@assistant-ui/react-markdown@0.14.8@assistant-ui/[email protected]1 change
>@assistant-ui/react-mcp@0.0.20[email protected]1 change
>@assistant-ui/react-o11y@0.0.28@assistant-ui/[email protected]1 change

Other1

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

Other1

@assistant-ui/[email protected]
view on github
>@assistant-ui/react-opencode@0.2.13Adopt erasableSyntaxOnly; public enums are now as const objects.1 change

Other1

Adopt erasableSyntaxOnly; public enums are now as const objects.
view on github
>@assistant-ui/react-pi@0.0.9Adopt erasableSyntaxOnly; public enums are now as const objects.1 change

Other1

Adopt erasableSyntaxOnly; public enums are now as const objects.
view on github
>@assistant-ui/react-streamdown@0.3.8@assistant-ui/[email protected]1 change
>@assistant-ui/react-syntax-highlighter@0.14.4@assistant-ui/[email protected]1 change

Other1

@assistant-ui/[email protected]
view on github
>@assistant-ui/store@0.2.22Warn instead of throw on recoverable inconsistencies: duplicate same-priority tool registrations merge with the latest registration taking precedence, duplicate message ids skip linking, stale client lookup indices are clamped, and null tool names in tool result messages are tolerated.2 changes

Other2

Warn instead of throw on recoverable inconsistencies: duplicate same-priority tool registrations merge with the latest registration taking precedence, duplicate message ids skip linking, stale client lookup indices are clamped, and null tool names in tool result messages are tolerated.
Adopt erasableSyntaxOnly; public enums are now as const objects.
view on github
>@assistant-ui/vite@0.0.11@assistant-ui/[email protected]1 change
>@assistant-ui/x-buildutils@0.0.20Adopt erasableSyntaxOnly; public enums are now as const objects.1 change

Other1

Adopt erasableSyntaxOnly; public enums are now as const objects.
view on github
>assistant-cloud@0.1.37Adopt erasableSyntaxOnly; public enums are now as const objects.1 change

Other1

Adopt erasableSyntaxOnly; public enums are now as const objects.
view on github
>create-assistant-ui@0.0.71[email protected]1 change
>safe-content-frame@0.0.25Adopt erasableSyntaxOnly; public enums are now as const objects.1 change

Other1

Adopt erasableSyntaxOnly; public enums are now as const objects.
view on github

Jul 26, 2026

38 releases

>@assistant-ui/cloud-ai-sdk@0.1.26preserve async tool call callbacks9 changes

Fixes6

preserve async tool call callbacks
keep disabled thread fetching out of the loading state
reset selected threads and cached chats when the Cloud client changes
retry interrupted thread history loads
README quickstart renders UIMessage parts and drops nonexistent threadId destructure
retry automatic title generation after failed attempts

Refactors1

share the mounted-and-current-cloud guard across thread actions

Tests1

exercise the ai v6 leg of the peer union in CI

Chores1

update dependencies
view on github
>@assistant-ui/core@0.2.22avoid reporting copy success without a clipboard handler31 changes

Fixes27

avoid reporting copy success without a clipboard handler
refresh Cloud history persistence when the Cloud client changes
restrict AssistantFrame provider messages to the parent window
settle thread runtime starts when stopped before mounting
isolate speech synthesis listener failures
mark a cancelled local runtime run incomplete when the adapter returns without throwing
preserve falsy runtime state values
stop auto-submitting a parse-error tool result when divergent argsText closes without a backend result
detect removed keys in shallow memoized state
preserve the latest thread selection when switches finish out of order
support attachments without relying on a global File constructor
keep composer attachments visible while their upload is in flight
preserve concurrent local thread metadata and history writes
preserve optimistic updates in invocation order
handle failed composer append tasks
reject pending AssistantFrame tool calls when the host is disposed
handle failed local history loads
isolate public runtime event subscribers
prioritize backend tool results over stale argument parse errors
isolate realtime voice session listener errors
apply pending mute state after voice session setup
allow omitting externalId in RemoteThreadInitializeResponse
keep derived part scopes stable while removed parts unmount
generate Cloud attachment IDs without requiring Web Crypto
isolate composer runtime event listener errors
isolate thread runtime event listener errors
preserve metadata.isOptimistic on user messages in fromThreadMessageLike

Refactors1

share parseDataUrl and httpUrlPattern from core internal

Tests1

verify compiler-sensitive hooks against the built package

Chores1

update dependencies

Other1

fix nested message runtime path references
view on github
>@assistant-ui/eve@0.0.5require eve 0.27.63 changes

Features1

require eve 0.27.6

Refactors1

migrate convertEveMessage onto fromThreadMessageLike

Chores1

update dependencies
view on github
>@assistant-ui/react@0.14.28focus composer input when clicking blank space in ComposerPrimitive.Root8 changes

Features1

focus composer input when clicking blank space in ComposerPrimitive.Root

Fixes5

prevent instant auto-scroll from interrupting active top-anchored runs
tolerate a transient part-type mismatch in the part hooks so a thread switch can't throw inside useSyncExternalStore and unmount the app
keep controlled assistant-visible inputs in sync after edits
support attachments without relying on a global File constructor
preserve the top-anchor reserve between turns

Chores1

update dependencies

Other1

Warn against throwing from part selectors and keep React Ink part rendering stable during transient part-type mismatches.
view on github
>@assistant-ui/react-a2a@0.2.23preserve branched message history when loading A2A runtimes7 changes

Fixes5

preserve branched message history when loading A2A runtimes
forward user attachments and file parts to the wire and derive real image MIME types
reject unrecognizable agent card responses and fill proto3-omitted fields
refresh A2A runtime clients when connection options change
reject malformed successful A2A send message responses

Refactors1

share parseDataUrl and httpUrlPattern from core internal

Chores1

update dependencies
view on github
>@assistant-ui/react-ag-ui@0.0.46apply mcp-apps ACTIVITYSNAPSHOT events to tool calls from restored history5 changes

Fixes2

apply mcp-apps ACTIVITY_SNAPSHOT events to tool calls from restored history
preserve MCP Host fields in AG-UI tool results and restored history

Refactors2

share interrupt-response validation between submitInterruptResponses and steerAway
share parseDataUrl and httpUrlPattern from core internal

Chores1

update dependencies
view on github
>@assistant-ui/react-ai-sdk@1.4.0minorformally open the AI SDK v7 line at 1.4. 1.3.41 shipped the v7 hard-dep switch as a patch inside the documented v6 line; from 1.4.0 the mapping is explicit: ^1.4 targets ai@^7, v6 users pin 1.3.40, v5 users pin 1.1.21.11 changes

Features2

formally open the AI SDK v7 line at 1.4. 1.3.41 shipped the v7 hard-dep switch as a patch inside the documented v6 line; from 1.4.0 the mapping is explicit: ^1.4 targets ai@^7, v6 users pin 1.3.40, v5 users pin 1.1.21.
expose the AI SDK chat helpers and error via runtime extras accessor hooks (useAISDKChat, useAISDKError)

Fixes7

close MCP clients that resolve after a connection timeout
react-ai-sdk
persist pending tool approvals and append post-approval continuations
react-ai-sdk
pass the initialized remote thread id to prepareSendMessagesRequest
wait for external thread history to load before resuming a stream
serialize history persistence to prevent duplicate appends
react-ai-sdk
skip rewriting unchanged messages after each run
replace stale useVercelAIThreadState name in the sliceMessagesUntil error and include the missing id

Tests1

pin history append retry semantics after a failed persistence pass

Chores1

update dependencies
view on github
>@assistant-ui/react-data-stream@0.12.20report request preparation and fetch failures through onError3 changes

Fixes2

report request preparation and fetch failures through onError
preserve falsy runtime state values

Chores1

update dependencies
view on github
>@assistant-ui/react-generative-ui@0.0.9preserve Slack alert level literal types2 changes

Fixes1

preserve Slack alert level literal types

Chores1

update dependencies
view on github
>@assistant-ui/react-google-adk@0.0.18reject incomplete direct stream options5 changes

Fixes4

reject incomplete direct stream options
validate session API response shapes
validate event stream response content types
validate Google ADK artifact API responses

Chores1

update dependencies
view on github
>@assistant-ui/react-hook-form@0.12.24keep form values in model context up to date2 changes

Fixes1

keep form values in model context up to date

Chores1

update dependencies
view on github
>@assistant-ui/react-ink@0.0.33remount windowed Static scrollback on thread switch4 changes

Fixes2

remount windowed Static scrollback on thread switch
wrap ThreadListPrimitive.Items rows in ThreadListItemByIndexProvider with keys

Chores1

update dependencies

Other1

Warn against throwing from part selectors and keep React Ink part rendering stable during transient part-type mismatches.
view on github
>@assistant-ui/react-langchain@0.0.20share parseDataUrl and httpUrlPattern from core internal2 changes

Refactors1

share parseDataUrl and httpUrlPattern from core internal

Chores1

update dependencies
view on github
>@assistant-ui/react-langgraph@0.14.13handle queued run failures without unhandled promise rejections5 changes

Fixes3

handle queued run failures without unhandled promise rejections
carry streamed tool-call partial_json onto the full AIMessage delivered by LangGraph updates events so the converter keeps deriving argsText from the streamed text instead of re-stringifying parsed args.
preserve streamed Bedrock tool call arguments

Refactors1

share parseDataUrl and httpUrlPattern from core internal

Chores1

update dependencies
view on github
>@assistant-ui/react-lexical@0.2.6support lexical 0.483 changes

Features1

support lexical 0.48

Fixes1

delegate Tab key events to composer input plugins

Chores1

update dependencies
view on github
>@assistant-ui/react-markdown@0.14.7keep inline math that opens with a digit out of currency escaping2 changes

Fixes1

keep inline math that opens with a digit out of currency escaping

Chores1

update dependencies
view on github
>@assistant-ui/react-mcp@0.0.19close pending MCP connections when their resource is disposed3 changes

Fixes2

close pending MCP connections when their resource is disposed
ignore malformed persisted MCP connection timeout values

Chores1

update dependencies
view on github
>@assistant-ui/react-native@0.1.31add ThreadPrimitive.MessagesFlatList with React Native auto-scroll behavior2 changes

Features1

add ThreadPrimitive.MessagesFlatList with React Native auto-scroll behavior

Chores1

update dependencies
view on github
>@assistant-ui/react-opencode@0.2.12import useEffectEvent from the use-effect-event ponyfill instead of react2 changes

Fixes1

import useEffectEvent from the use-effect-event ponyfill instead of react

Chores1

update dependencies
view on github
>@assistant-ui/react-pi@0.0.8map Pi settled and appended session events without snapshot refreshes9 changes

Features2

map Pi settled and appended session events without snapshot refreshes
support pi 0.82

Fixes6

isolate shared Pi event streams between client instances
validate JSON payloads returned by the Pi HTTP client
migrate the react-pi node host to the pi 0.80.8+ ModelRuntime API and raise the pi-coding-agent peer floor to >=0.80.8, so the ./node entry links again on pi 0.80.8+ (which removed AuthStorage and replaced ModelRegistry.create)
validate event stream response content types
widen the pi-coding-agent peer to >=0.78.0 <0.80.8, covering 0.79.x and 0.80.x up to the release that removed the AuthStorage API the node host still uses
isolate subscriber errors while delivering shared stream events

Chores1

update dependencies
view on github
>@assistant-ui/react-streamdown@0.3.7keep inline math that opens with a digit out of currency escaping2 changes

Fixes1

keep inline math that opens with a digit out of currency escaping

Chores1

update dependencies
view on github
>@assistant-ui/store@0.2.21ResourceElement<Result> drops its args type parameter — elements are opaque descriptors; Resource<Result, Args> keeps the callable typing and ContravariantResource is removed2 changes

Refactors1

ResourceElement<Result> drops its args type parameter — elements are opaque descriptors; Resource<Result, Args> keeps the callable typing and ContravariantResource is removed

Chores1

update dependencies
view on github
>@assistant-ui/tap@0.9.5configurableResource — curries an options-first hook into (options) => Resource<V, A>, replacing .bind(null, options) boilerplate6 changes

Features2

configurableResource — curries an options-first hook into (options) => Resource<V, A>, replacing .bind(null, options) boilerplate
withKey accepts a Resource — withKey(key, resourceFn) returns a resource whose produced elements carry the key

Fixes2

implement useMemoCache on tap's dispatcher so compiled components work under duplicated tap copies
create the scheduler MessageChannel lazily so importing tap does not hold the Node event loop open

Refactors1

ResourceElement<Result> drops its args type parameter — elements are opaque descriptors; Resource<Result, Args> keeps the callable typing and ContravariantResource is removed

Chores1

update dependencies
view on github
>@assistant-ui/x-generative-compiler@0.0.10give namespace-import toolkit spreads a specific compile error pointing at the default-import form1 change

Fixes1

give namespace-import toolkit spreads a specific compile error pointing at the default-import form
view on github
>assistant-cloud@0.1.36add cloud.projects.threads.list and cloud.projects.threads.messages.list for project-wide thread and message export6 changes

Features1

add cloud.projects.threads.list and cloud.projects.threads.messages.list for project-wide thread and message export

Fixes5

refresh Cloud history persistence when the Cloud client changes
deduplicate concurrent Cloud authentication requests
normalize Cloud base URLs across authentication modes
thread and message responses are now decoded to match their published types
assistant-cloud
warn when an update targets a message without a remote id
view on github
>assistant-stream@0.3.27add GorpStreamDeltaTracker, migrating gorp's delta-tracking (change frames, isChangedAt, getChangedKeys) into GorpStream16 changes

Features2

add GorpStreamDeltaTracker, migrating gorp's delta-tracking (change frames, isChangedAt, getChangedKeys) into GorpStream
rename ObjectStream to GorpStream (old names remain as deprecated aliases)

Fixes13

dedupe accumulator drop warnings per instance and drop class
isolate resumable stream observability hook errors
prevent assistant stream task settlement from escaping as unhandled rejections
avoid applying initial gorp stream operations twice
clean up abort listeners after frontend tool execution settles
guard gorp accumulator path navigation against inherited keys and prototype-polluting path segments
guard object stream settlement after cancellation
prioritize backend tool results over stale argument parse errors
cancel polyfilled async iterators when consumers stop early
validate assistant-transport chunk shape at the decode boundary and bounds-check accumulator part paths
validate per-type required fields at the assistant-transport decode boundary and drop malformed chunks in the accumulator instead of aborting the response; an unsupported part-start now inserts an empty reasoning placeholder to keep later part indices aligned
drop malformed UIMessageStream frames at the decode boundary and fix tool-result closing the active args stream
only record firstTokenTime when a text-delta actually mutates a part

Refactors1

consolidate on a single wire protocol name (assistant-transport). Remove the unpublished gorp-shaped exports, expose diff tracking as AssistantTransportDeltaTracker and the state operation type as AssistantTransportStateOperation, and keep the published ObjectStream aliases working as deprecated delegates.
view on github
>assistant-ui@0.0.107include the running CLI version in info output7 changes

Fixes6

include the running CLI version in info output
align undefined-style registry defaults with the base default and correct the shipped skill's registry commands
install registry components when scaffolding the voice and interactables examples
sanitize tsconfig for every create scaffold and surface registry install failures
cli
discover workspace packages from symlinked working directories
cli
discover assistant-ui packages hoisted above the doctor working directory

Chores1

update dependencies
view on github
>safe-content-frame@0.0.24clean up frame resources after disposal and load failures2 changes

Fixes1

clean up frame resources after disposal and load failures

Chores1

update dependencies
view on github
>10 maintenance releasesdependency updates and chores
>@assistant-ui/metro@0.0.6update dependencies1 change

Chores1

update dependencies
view on github
>@assistant-ui/next@0.0.12@assistant-ui/[email protected]1 change
>@assistant-ui/react-devtools@1.2.10update dependencies1 change

Chores1

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

Chores1

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

Chores1

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

Chores1

update dependencies
view on github
>@assistant-ui/vite@0.0.10update dependencies1 change

Chores1

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

Chores1

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

Chores1

update dependencies
view on github

Jul 16, 2026

40 releases

>@assistant-ui/cloud-ai-sdk@0.1.25widen AI SDK peer range to allow v7 alongside v6 (ai@^6 || ^7, @ai-sdk/react@^3 || ^4)6 changes

Features1

widen AI SDK peer range to allow v7 alongside v6 (ai@^6 || ^7, @ai-sdk/react@^3 || ^4)

Fixes1

preserve mounted state and ignore superseded thread refreshes when Strict Mode replays effects

Chores4

update dependencies
update dependencies
update dependencies
update dependencies
view on github
>@assistant-ui/core@0.2.21surface the upload failure reason on failed attachment status28 changes

Features9

surface the upload failure reason on failed attachment status
AssistantError taxonomy with severity and display metadata propagated through run error status. behavior note: local runtime run failures now store a structured AssistantError object in message status.error instead of a plain string; useMessageError keeps returning a human-readable string for both shapes, and code reading status.error directly should use isAssistantError or toAssistantError
createSuggestionAdapter factory and AbortSignal forwarding for suggestion generation
infer tool argument types from Standard Schema parameters
support prefixed MCP toolkit tool names
support disabled MCP toolkit entries
support disabled MCP toolkit tools
plumb an optional serverId through MCP Apps metadata and host calls for multi-MCP routing
preserve providerMetadata on text, reasoning, and tool-call message parts

Fixes14

core
accept application/json text attachments and parameterized MIME types
core
log the swallowed CloudFileAttachmentAdapter upload error instead of discarding it
core
CloudFileAttachmentAdapter now fails uploads that return an HTTP error status instead of attaching a dead link
preserve user attachments in Cloud history
restore composer text and attachments when an attachment upload fails during send
re-convert cached messages when the converter callback or metadata changes, and re-parent children of skipped optimistic messages in repository export
stop isJSONArray from consuming the array index as recursion depth
resume the local runtime when a human tool returns a falsy result
ignore malformed local thread storage
make the default attachment adapter work without FileReader (Node, react-ink, SSR) by sharing a single getFileDataURL from @assistant-ui/core/internal, whose base64 fallback chunks large inputs and works on runtimes without Buffer
include thread ids in thread list runtime errors
keep tool-args key-order caches independent for keys containing dots or brackets
generate unique IDs for built-in file attachments
complete unsupported title generation streams

Refactors2

host the shared JSON type guards in @assistant-ui/core/internal
host the streaming-stable tool-args stringifier in @assistant-ui/core/internal

Chores3

update dependencies
update dependencies
update dependencies
view on github
>@assistant-ui/eve@0.0.4require eve 0.24.34 changes

Features1

require eve 0.24.3

Chores3

update dependencies
update dependencies
update dependencies
view on github
>@assistant-ui/mcp-docs-server@0.1.39return structuredContent from the docs, examples, and search tools7 changes

Features3

return structuredContent from the docs, examples, and search tools
surface doc title and excerpt on assistantUIDocs responses
expose playground template tools through the MCP docs server

Performance1

cache the docs and examples file listings

Chores3

update dependencies
update dependencies
update dependencies
view on github
>@assistant-ui/react@0.14.27render prop support for AssistantModalPrimitive Trigger, Anchor, and Content15 changes

Features9

render prop support for AssistantModalPrimitive Trigger, Anchor, and Content
add compact mode to ComposerPrimitive.Root
support prefixed MCP toolkit tool names
support disabled MCP toolkit entries
support disabled MCP toolkit tools
plumb an optional serverId through MCP Apps metadata and host calls for multi-MCP routing
preserve providerMetadata on text, reasoning, and tool-call message parts
support data-aui-quote-selectable="false" exclusions
support opt-in quote regions for the selection toolbar

Fixes2

preserve user attachments in Cloud history
add MCP App host request error context

Refactors1

host the shared JSON type guards in @assistant-ui/core/internal

Chores3

update dependencies
update dependencies
update dependencies
view on github
>@assistant-ui/react-a2a@0.2.22parse CRLF-delimited SSE frames in the A2A client5 changes

Fixes2

parse CRLF-delimited SSE frames in the A2A client
validate A2A stream response content types before parsing

Refactors1

consume the shared SSE event decoder

Chores2

update dependencies
update dependencies
view on github
>@assistant-ui/react-ag-ui@0.0.45useAgUiState and useAgUiSetState hooks exposing shared agent state with optimistic updates that ride the next run9 changes

Features5

useAgUiState and useAgUiSetState hooks exposing shared agent state with optimistic updates that ride the next run
auto-cancel pending client-side tool calls on send, edit, and reload (opt out with autoCancelPendingToolCalls: false)
plumb an optional serverId through MCP Apps metadata and host calls for multi-MCP routing
steer-away cancels pending client-side tool calls
surface the mcp-apps ACTIVITY_SNAPSHOT CallToolResult on the tool part result while preserving the model-facing text for subsequent runs

Fixes1

preserve branchable history loaded by the AG-UI runtime

Refactors1

back AG-UI thread state with a MessageRepository source of truth

Chores2

reformat with oxfmt 0.59
update dependencies
view on github
>@assistant-ui/react-ai-sdk@1.3.41forward onResumeToolCall to the external store adapter24 changes

Features11

forward onResumeToolCall to the external store adapter
adapters.suggestion generates follow-up suggestions after each run
expose chat runtime resume errors
export a FrontendTools type for typing uploaded frontend tool definitions.
add MCP toolkit entry names to close errors
support prefixed MCP toolkit tool names
support disabled MCP toolkit tools
add MCP toolkit entry names to connection and tool-listing errors
plumb an optional serverId through MCP Apps metadata and host calls for multi-MCP routing
preserve providerMetadata on text, reasoning, and tool-call message parts
upgrade to AI SDK v7 (ai@^7, @ai-sdk/react@^4, @ai-sdk/mcp@^2); pin the previous release to stay on v6

Fixes7

preserve direct file parts in AI SDK message creation
preserve image media types when creating AI SDK messages
guard converters against missing parts and mediaType on non-spec payloads
guard resumable session storage access
make the default attachment adapter work without FileReader (Node, react-ink, SSR) by sharing a single getFileDataURL from @assistant-ui/core/internal, whose base64 fallback chunks large inputs and works on runtimes without Buffer
guard toolOutputConversion against missing mediaType on non-spec tool output
validate frontend tool schemas before conversion

Refactors3

use addToolOutput instead of the deprecated addToolResult for tool results
host the streaming-stable tool-args stringifier in @assistant-ui/core/internal
emit file tool output parts instead of deprecated image-data/file-data

Docs1

move the resumable streams cross-links into jsdoc so the api-reference generator preserves them

Chores2

update dependencies
update dependencies
view on github
>@assistant-ui/react-data-stream@0.12.19detect data stream protocol from response headers7 changes

Features3

detect data stream protocol from response headers
detect UI message stream protocol from response headers
widen @ai-sdk/provider range to allow the v7 line alongside v6 (^3 || ^4)

Fixes2

preserve base64 file data during AI SDK message conversion
include current assistant message in toLanguageModelMessages to properly send frontend tool results

Chores2

update dependencies
update dependencies
view on github
>@assistant-ui/react-devtools@1.2.9resolve the tailwind cli entry explicitly so pnpm install completes on windows3 changes

Fixes1

resolve the tailwind cli entry explicitly so pnpm install completes on windows

Chores2

update dependencies
update dependencies
view on github
>@assistant-ui/react-generative-ui@0.0.8add Box, image round, and multi-series chart support11 changes

Features8

add Box, image round, and multi-series chart support
add Form, Checkbox, RadioGroup, ListView vocabulary and real Chart/Carousel renders
add icon vocabulary component
add fromSlackBlocks to the ./slack subpath
add toSlackBlocks and decodeBlockAction under the ./slack subpath
add toAdaptiveCard, toTeamsAttachments, and decodeSubmitData under the ./teams subpath
add escape option to generativeUIToJSX for copy-pasteable output
add pretty option to generativeUIToJSX

Fixes2

serialize a model-provided $key as the JSX key attribute
expose stable generative UI keys in the present schema

Chores1

update dependencies
view on github
>@assistant-ui/react-google-adk@0.0.17clarify invalid ADK proxy request body errors8 changes

Fixes5

clarify invalid ADK proxy request body errors
parse standard SSE frames in Google ADK streams
normalize direct ADK stream API URLs
normalize trailing slashes in ADK session API URLs
complete unsupported title generation streams

Refactors1

consume the shared SSE event decoder

Chores2

update dependencies
update dependencies
view on github
>@assistant-ui/react-ink@0.0.32track hunkIndex on parsed diff lines14 changes

Features8

track hunkIndex on parsed diff lines
render the upload failure message in AttachmentStatus
export attachment Props aliases from the composer and message barrels
export flat Props aliases from the messagePart and statusBar barrels
support prefixed MCP toolkit tool names
support disabled MCP toolkit entries
support disabled MCP toolkit tools
add standalone TextInput primitive

Fixes1

preserve the TextInput cursor when a controlled owner corrects an edit

Refactors1

move useTextBuffer beside TextInput

Chores4

delete dead re-export shims and stale local RuntimeAdapterProvider
update dependencies
update dependencies
update dependencies
view on github
>@assistant-ui/react-ink-markdown@0.0.31declare color, tableTruncate, and tableEllipsis on MarkdownTextProps4 changes

Features1

declare color, tableTruncate, and tableEllipsis on MarkdownTextProps

Performance1

memoize markdansi render in MarkdownText

Chores2

update dependencies
update dependencies
view on github
>@assistant-ui/react-langchain@0.0.19emit url source blocks for http(s) file attachment data instead of mislabeling it base644 changes

Fixes1

emit url source blocks for http(s) file attachment data instead of mislabeling it base64

Chores3

update dependencies
update dependencies
update dependencies
view on github
>@assistant-ui/react-langgraph@0.14.12useLangGraphState and useLangGraphSetState hooks exposing graph values as shared agent state with optimistic updates that ride the next run input9 changes

Features1

useLangGraphState and useLangGraphSetState hooks exposing graph values as shared agent state with optimistic updates that ride the next run input

Fixes5

emit url source blocks for http(s) file attachment data instead of mislabeling it base64
forward threadId and initialThreadId from useLangGraphRuntime to the underlying thread list runtime, so URL-based thread routing (threadId in, onThreadIdChange out) works with LangGraph the same way it does with the base runtime
serialize runs in useLangGraphRuntime so a frontend tool result resume never overlaps the run that emitted the tool call. isRunning stays true across the seam, cancel stops the whole turn and drops the queued resume, and a run that aborts or errors drops the sends queued behind it.
drop a frontend tool result for a call that was already answered instead of releasing it as a resume run. A slow frontend tool resolving after a new turn auto-cancelled its dangling call no longer sends a second tool message to the graph.
preserve attachments on the user message state in useLangGraphRuntime

Refactors1

host the streaming-stable tool-args stringifier in @assistant-ui/core/internal

Chores2

update dependencies
update dependencies
view on github
>@assistant-ui/react-lexical@0.2.5support lexical 0.475 changes

Features2

support lexical 0.47
render children as custom Lexical plugins in LexicalComposerInput

Fixes1

delete directive chips as one unit with forward Delete and on mobile backspace

Chores2

update dependencies
update dependencies
view on github
>@assistant-ui/react-mcp@0.0.18expose MCP resource listing on connected servers7 changes

Features2

expose MCP resource listing on connected servers
support cursor pagination when listing MCP resources

Fixes3

ignore malformed persisted MCP custom servers
clarify MCP OAuth callback failures
ignore malformed persisted MCP auth state

Chores2

update dependencies
update dependencies
view on github
>@assistant-ui/react-native@0.1.30support prefixed MCP toolkit tool names8 changes

Features4

support prefixed MCP toolkit tool names
support disabled MCP toolkit entries
support disabled MCP toolkit tools
export attachment Props aliases from the composer and message barrels

Fixes2

react-native
show composer scrollbar at max height
forward ThreadPrimitive.Messages refs to the underlying FlatList

Chores2

update dependencies
update dependencies
view on github
>@assistant-ui/react-opencode@0.2.11propagate OpenCode SDK response errors through runtime operations5 changes

Fixes1

propagate OpenCode SDK response errors through runtime operations

Chores4

update dependencies
update dependencies
update dependencies
update dependencies
view on github
>@assistant-ui/react-pi@0.0.7parse all standard SSE line endings5 changes

Fixes1

parse all standard SSE line endings

Chores4

update dependencies
update dependencies
update dependencies
update dependencies
view on github
>@assistant-ui/tap@0.9.4preserve React-hosted tap resource roots and keyed fiber registries for the component lifetime4 changes

Fixes2

preserve React-hosted tap resource roots and keyed fiber registries for the component lifetime
keep tap root scheduler, fiber, queue, and subscribers in React state for the full component lifetime

Chores2

update dependencies
update dependencies
view on github
>@assistant-ui/x-generative-compiler@0.0.9recognize exported same-file toolkit fragments in toolkit spreads4 changes

Fixes1

recognize exported same-file toolkit fragments in toolkit spreads

Chores3

update dependencies
update dependencies
update dependencies
view on github
>assistant-cloud@0.1.35expose CloudAPIError with the HTTP status on failed requests6 changes

Features1

expose CloudAPIError with the HTTP status on failed requests

Fixes3

guard localStorage access in anonymous auth strategy
handle empty successful Cloud API responses
await auth headers when initializing Assistant Cloud auth

Chores2

update dependencies
update dependencies
view on github
>assistant-stream@0.3.26export a spec-complete SSE event decoder from assistant-stream/utils12 changes

Features3

export a spec-complete SSE event decoder from assistant-stream/utils
detect data stream protocol from response headers
optional code and severity metadata on error chunks

Fixes4

accept parameterized event-stream content types
parse all standard SSE line endings
discard unterminated SSE frames
accept the AI SDK v5+ delta text chunks, source-url, flat file, and bare lifecycle chunks in UIMessageStreamDecoder

Refactors2

back the internal SSE pipelines with the shared SSEEventDecoder
remove the dead is-json copy

Chores3

update dependencies
update dependencies
update dependencies
view on github
>assistant-ui@0.0.106install the base ui quick start from init when the initialized project uses a base style14 changes

Fixes11

install the base ui quick start from init when the initialized project uses a base style
resolve base ui flavored registry urls in add when the project style starts with base-
include declared assistant-ui packages in info output
validate peer dependency ranges using semver
clarify MCP install config parse errors
strip every workspace path alias when materializing a template
accept JSONC syntax when transforming scaffold tsconfig files
clarify assistant-ui update package.json parse errors
cli
doctor now detects duplicate assistant-ui packages in pnpm node_modules layouts
compare prerelease versions using SemVer rules in assistant-ui doctor
cli
detect monorepos from the workspace root

Chores2

update dependencies
update dependencies

Other1

cli: register the with-resumable-stream example so npx assistant-ui create -e with-resumable-stream resolves instead of failing with "Unknown example".
view on github
>14 maintenance releasesdependency updates and chores
>@assistant-ui/agent-launcher@0.1.9update dependencies2 changes

Chores2

update dependencies
update dependencies
view on github
>@assistant-ui/gorp@0.0.5update dependencies1 change

Chores1

update dependencies
view on github
>@assistant-ui/metro@0.0.5update dependencies5 changes

Chores5

update dependencies
update dependencies
update dependencies
update TypeScript to 7
update dependencies
view on github
>@assistant-ui/next@0.0.11update dependencies2 changes

Chores2

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

Chores1

update dependencies
view on github
>@assistant-ui/react-markdown@0.14.6update dependencies3 changes

Chores3

update dependencies
update dependencies
update dependencies
view on github
>@assistant-ui/react-o11y@0.0.26update dependencies2 changes

Chores2

update dependencies
update dependencies
view on github
>@assistant-ui/react-streamdown@0.3.6update dependencies2 changes

Chores2

update dependencies
update dependencies
view on github
>@assistant-ui/vite@0.0.9update dependencies2 changes

Chores2

update dependencies
update dependencies
view on github
>@assistant-ui/x-buildutils@0.0.18update dependencies5 changes

Chores5

update dependencies
update dependencies
update dependencies
update TypeScript to 7
update dependencies
view on github
>create-assistant-ui@0.0.69[email protected]1 change
>heat-graph@0.0.13update dependencies2 changes

Chores2

update dependencies
update dependencies
view on github
>safe-content-frame@0.0.23update dependencies2 changes

Chores2

update dependencies
update dependencies
view on github
>tw-shimmer@0.4.12update dependencies2 changes

Chores1

update dependencies

Other1

fix background shimmer animation speed in Firefox
view on github

Jul 4, 2026

23 releases

>@assistant-ui/core@0.2.20skip malformed generative UI component nodes1 change

Fixes1

skip malformed generative UI component nodes
view on github
>@assistant-ui/mcp-docs-server@0.1.38add assistantUISearch tool for keyword search over the docs2 changes

Features2

add assistantUISearch tool for keyword search over the docs
add argument completions for the docs and examples resources
view on github
>@assistant-ui/react-ag-ui@0.0.44restore interrupt status in fromAgUiMessages from persisted metadata1 change

Features1

react-ag-ui
restore interrupt status in fromAgUiMessages from persisted metadata
view on github
>@assistant-ui/react-ai-sdk@1.3.40support server-side MCP connection timeouts2 changes

Features1

support server-side MCP connection timeouts

Fixes1

detect MCP tool name collisions with toolkit tools
view on github
>@assistant-ui/react-generative-ui@0.0.7name duplicate prop owners in generative UI schema warnings5 changes

Fixes4

name duplicate prop owners in generative UI schema warnings
clarify unknown generative UI action warnings
honor stable generative UI item keys
skip malformed generative UI action types

Other1

add ActionRegistry and wire $action dispatch end to end. createActionRegistry(handlers) maps $action.type to a handler; omit actions for a read-only render where $dispatch stays un-injected and interactive clicks are silent. the vocabulary's Button/Select/Input/DatePicker attach real event handlers that fire $dispatch($action), merging the user's runtime value into the payload under the reserved $input key so a model-supplied value is never clobbered; an unknown action type degrades to a no-op with a dev warning rather than throwing. HITL resume-value typing is left as unknown (IR doc open question #2); the resume value reaching the runtime is a follow-up.
view on github
>@assistant-ui/react-ink@0.0.31re-export documented context providers from platform barrels1 change

Fixes1

re-export documented context providers from platform barrels
view on github
>@assistant-ui/react-mcp@0.0.17support MCP connection timeouts2 changes

Features1

support MCP connection timeouts

Fixes1

validate duplicate MCP server ids in the React MCP manager
view on github
>@assistant-ui/react-native@0.1.29re-export documented context providers from platform barrels1 change

Fixes1

re-export documented context providers from platform barrels
view on github
>@assistant-ui/x-buildutils@0.0.17preserve package imports as external build specifiers1 change

Fixes1

preserve package imports as external build specifiers
view on github
>@assistant-ui/x-generative-compiler@0.0.8support exported module-scope JSONGenerativeUI instances3 changes

Fixes3

support exported module-scope JSONGenerativeUI instances
name tools in missing toolkit member compiler errors
validate JSONGenerativeUI constructor imports
view on github
>assistant-stream@0.3.25support server-side MCP connection timeouts1 change

Features1

support server-side MCP connection timeouts
view on github
>assistant-ui@0.0.105skip shadcn registry install when --skip-install is passed1 change

Fixes1

cli
skip shadcn registry install when --skip-install is passed
view on github
>11 maintenance releasesdependency updates and chores
>@assistant-ui/cloud-ai-sdk@0.1.24update dependencies1 change

Chores1

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

Chores1

update dependencies
view on github
>@assistant-ui/next@0.0.10@assistant-ui/[email protected]1 change
>@assistant-ui/react@0.14.26Thread list accessibility improvements, focused on keyboard and focus handling:1 change

Other1

Thread list accessibility improvements, focused on keyboard and focus handling:
view on github
>@assistant-ui/react-ink-markdown@0.0.30@assistant-ui/[email protected]1 change
>@assistant-ui/react-langchain@0.0.18update dependencies1 change

Chores1

update dependencies
view on github
>@assistant-ui/react-langgraph@0.14.11update dependencies1 change

Chores1

update dependencies
view on github
>@assistant-ui/react-pi@0.0.6update dependencies1 change

Chores1

update dependencies
view on github
>@assistant-ui/vite@0.0.8@assistant-ui/[email protected]1 change
>create-assistant-ui@0.0.68[email protected]1 change
>safe-content-frame@0.0.22update dependencies1 change

Chores1

update dependencies
view on github