v1.55.3
CopilotKit v1.55.3
A consolidation release on the 1.55 line, rolling up everything that landed in 1.55.0, 1.55.1, and 1.55.2. The headline: every @copilotkitnext/* package has been folded into its flat @copilotkit/* equivalent. v1 imports stay on @copilotkit/react-core; v2 imports continue to use the @copilotkit/react-core/v2 subpath.
On top of the consolidation: multimodal attachments for the built-in agent, A2UI v0.9 with Open Generative UI, a fetch-based runtime handler, Vertex AI provider, BuiltInAgent factory mode, and a long list of fixes to streaming, reasoning, layout, and re-render behavior.
Install
npm install @copilotkit/react-core@1.55.3 @copilotkit/react-ui@1.55.3 @copilotkit/runtime@1.55.3Features
- Package consolidation:
@copilotkitnext/*→@copilotkit/*— every@copilotkitnext/*package is folded into its flat@copilotkit/*equivalent. The v1 API surface stays at the package root (e.g.@copilotkit/react-core); the v2 API surface continues to be available via the@copilotkit/react-core/v2subpath. The@copilotkitnext/*scope was deprecated in 1.54 and is removed here. - Multimodal attachments for the built-in agent —
@copilotkit/runtimenow accepts multimodal attachments (images, files, anything non-text) and passes them through to the model with content types preserved. (#3604) - A2UI v0.9 + Open Generative UI — A2UI aligns with the v0.9 spec and Open Generative UI lands with BYOC catalogs (the agent renders from your component catalog), built-in dark mode, and sandboxed UI generation (generated components render inside a sandbox instead of being spliced into the host tree). (#3588)
- Fetch-based runtime handler —
@copilotkit/runtimeexposes a fetch-based handler alongside the Node/Hono integrations, plus a consistency pass on public function names. Targets Cloudflare Workers, Vercel Edge, and other Webfetchruntimes. (#3550) BuiltInAgentfactory mode — the built-in agent now supports a factory construction path, so you can pass your own LLM-producing factory and decouple the agent from the providers baked in today. Landed in 1.55.2. (#3572)- Auto-detected runtime transport —
@copilotkit/coreand@copilotkit/react-corenow detect REST vs. single-endpoint transport from the runtime and adapt automatically. (#3601) - Vertex AI provider — first-class provider on the runtime.
- State streaming LangGraph middleware re-exported — re-exported directly from
@copilotkit/runtimeso callers no longer have to reach into@ag-ui/*to wire it up. (#3473) - Custom
mcpClientsconfiguration — pass your own MCP client configuration to the runtime to control how tool providers connect and reuse. (#3493)
Runtime fixes (@copilotkit/runtime)
- Reasoning lifecycle hardening — keeps the AG-UI reasoning event stream well-formed regardless of SDK behavior: skip empty reasoning deltas (which violate the
@ag-ui/coreschema), auto-close reasoning when the SDK omitsreasoning-end(covers consecutive-start, phase changes, aborts, errors, and fallback paths), makereasoning-endidempotent, regeneratereasoningMessageIdbetween consecutive reasoning blocks, and close reasoning in the outer catch block. (#3526) - Race condition dropping agent runs —
RunHandler.runAgent()had a race that could drop runs invoked in quick succession. Closed. (#3514) - Empty tool arguments no longer crash — tool calls with empty,
null, orundefinedargument strings were throwing a JSON parse error instead of being treated as the logically empty object they represent. The runtime now normalizes them to{}. (#3439) - Open-generative-ui middleware import fix — corrects an incorrect import in the open-generative-ui middleware that surfaced after the consolidation. Shipped in 1.55.1. (#3680)
React fixes (@copilotkit/react-core, @copilotkit/react-ui)
messageViewandlabelsprops stabilized —CopilotChatwas re-rendering the entire message list on every keystroke because prop identity was shifting. Replaced withuseShallowStableRefto keep references stable. (#3646)- Multiple
CopilotChatinstances no longer share state acrossthreadIds — two chats mounted at different threads were sharing message state. Per-thread agent instances are now isolated. (#3525) - Markdown components ref stabilized — the Markdown component ref was changing every render, cascading into unnecessary work during streaming. Stabilized. (#3535)
- Assistant text preserved across multi-tool turns — when an assistant turn emitted text plus multiple tool calls, the text portion could get dropped. Preserved correctly now (CPK-7154). (#3622)
- Chat layout regressions from 1.55.0 fixed — the chat input is pinned to the bottom of the window again, and mounting
CopilotSidebarno longer adds empty space below the page content. (#3759) - React keys on
CopilotMessageschildren — suppresses the "unique key prop" warning React was emitting. defaultOpen={false}respected inCopilotSidebarandCopilotPopup— the prop was being ignored on initial mount.
Upgrading
-
The
@copilotkitnext/*scope is removed in this release. The deprecation notice shipped in v1.54.0. -
For v2 imports, switch from
@copilotkitnext/reactto the@copilotkit/react-core/v2subpath:- import { CopilotChat } from "@copilotkitnext/react"; + import { CopilotChat } from "@copilotkit/react-core/v2";
-
Other
@copilotkitnext/*packages map one-to-one to their@copilotkit/*equivalents (e.g.@copilotkitnext/angular→@copilotkit/angular). -
v1 APIs are unchanged. If you were importing v1 hooks from
@copilotkit/react-core, nothing changes.
Packages republished at 1.55.3
@copilotkit/runtime, @copilotkit/react-core, @copilotkit/react-ui, @copilotkit/core, @copilotkit/shared, @copilotkit/runtime-client-gql, @copilotkit/sdk-js, @copilotkit/voice, @copilotkit/web-inspector, @copilotkit/a2ui-renderer, @copilotkit/react-textarea, @copilotkit/sqlite-runner, and @copilotkit/angular.