Features
- feat(react-core): collect reply ratings with comments for Automatic Learning (#7828) (4930320)
- feat(react-core): collapse tool calls made in a row (#7938) (f0a2490)
Fixes
- fix(mcp-apps)!: give MCP App widgets an opaque origin by default (#7896) (b0c1736)
- fix(core): scope stopAgent and run aborts to one agent (#7920) (dd9f04b)
- fix(release): release @copilotkit/learning with the monorepo packages (#7949) (56c1056)
- fix(a2ui-renderer): return the onAction promise so dispatchAction waits for it (#7911) (6429c79)
- fix(mcp-apps-renderer): refuse open-links that resolve off-origin (#7635) (4177870)
- fix(a2ui-renderer)!: type createCatalog renderer props as the binder resolves them (#7815) (0ea6f28)
- fix(runtime): send RUN_ERROR when an SSE run fails instead of an empty stream (#7917) (3f73c87)
- fix(runtime): expose nested LangGraph tool metadata on copilotkit.actions (#7870) (08f41c8)
- fix(core): keep the error on tool calls that throw without a message (b4cb0ef)
- fix(core): set error on the tool message when a tool handler throws (59ba1aa)
- fix(core): don't move a tool result in front of reasoning stored before it (#7901) (7e8e10b)
- fix(core): always re-pair tool results with their calls before sending a run (#7877) (4225da2)
- fix(core): restore missing frontend tool results on reopen (#7847) (99f29ee)
- fix(react-core): preserve chat scroll after hidden host (#7425) (49c7f17)
- fix(react-core): accept a render-only useCopilotAction, and name the action in its config error (closes PE-921) (#7875) (d65c046)
- fix(react-core,vue,angular): name the chat's icon-only buttons from labels (#7865) (8c6620b)
- fix(runtime): keep tool-only assistant turns in afterRequestMiddleware messages (#7861) (a1f9a2f)
- fix(runtime-client-gql): declare the packages its published types import (#7818) (f46dcbb)
- fix(web-inspector): show Trajectory evidence on Learning Insights (#7812) (7b446f8)
- fix(react-core): don't stringify tool-hook deps (closes PE-848) (#7830) (d8a2ccb)
Other Changes
- perf(core): avoid repeated tool-call repair (#7748) (2c19c57)
- docs(runtime): mark BuiltInAgentModel ids as suggestions, list current GPT-5 ids (#7957) (25bdfe6)
- refactor: remove unreachable modules from react-core, runtime and shared (#7918) (03198b0)
- perf(runtime): request only message ids for the run-start history lookup (#7796) (e29aa9f)
Breaking Changes
- fix(mcp-apps)!: give MCP App widgets an opaque origin by default (#7896) (b0c1736)
MCP App widgets now run in a sandbox without
allow-same-origin, so they get an opaque origin and cannot use
localStorage, sessionStorage, IndexedDB or cookies.
Requests from a widget that need CORS, such as module scripts and fetch,
are now sent with Origin: null. Serve public widget assets with - fix(a2ui-renderer)!: type createCatalog renderer props as the binder resolves them (#7815) (0ea6f28)
createCatalogrenderers (and the deprecated
createA2UICatalogrender) now get props typed as the A2UI binder
resolves them, so code written against the raw schema types can stop
compiling.
Call Action props as functions, for exampleprops.onPress(), instead
of reading them as action objects.
Use bound props as plain values (props.levelis anumber) and drop
handling of the{ path }and{ call }shapes, which renderers never
receive at runtime.
A plainz.array(z.string())prop now resolves toanylike a child
list, so annotate callback parameters, for example
props.children.map((id: string) => …).