Highlights
See the complete change list below.
Breaking Changes
No known breaking changes.
Complete Change List
Features
- Restores the selected text-only connection and validated session or workspace route after Android Activity recreation, while preserving explicit retry screens after failures. (#12247) by @jabrailkhalil
- Improves mobile profile screen accessibility with clearer connection actions, editor labels, validation announcements, and scrollable storage recovery. (#12129) by @jabrailkhalil
- Adds an experimental Kubernetes CSI-backed runtime that validates workspaces, persists pod identity, and records durable worker acknowledgements for managed sessions. (#13289) by @doudouOUC
- Adds background Shell and Monitor capabilities to the Managed Agent runtime, enabling durable background shell sessions and task event reporting. (#13265) by @wenshao
- Web Shell /btw side can now create independent side-task conversations in a parent session's secondary workspace, including while the parent is responding. (#13468) by @wenshao
- Agent and Goal coordination tools are now deferred by default and discovered on demand, reducing unnecessary tool declarations in ordinary tool-call sessions. (#13033) by @yiliang114
- Local Managed Agent runtime tool outcomes are now durably recorded, including parameters, receipts, and checkpoints, before results are returned to the model. (#13291) by @wenshao
- Hosted approval requests can now include bounded previews of file and shell input, exposed through public and WebShell APIs with truncation metadata. (#13400) by @yiliang114
- Lets creators change a Workspace-bound Managed Session's working directory through a durable, idempotent operation. (#13247) by @wenshao
- Adds read-only glob file discovery to Hosted Workspace /2 profiles while keeping searches inside the session working directory. (#13166) by @yiliang114
- Adds planned Stage H5 agent channel API route shapes and persistence tables for channel routes and outbound deliveries. (#13497) by @wenshao
- feat(web-shell): take back a cancelled prompt that produced nothing (#13488) by @wenshao
- feat(hosted): show captured inputs in native approval cards (#13407) by @yiliang114
- feat(managed-agent): EventTransport message-envelope contract (#13498) by @wenshao
- feat(managed-agent): adopt the next Hosted Harness generation (G3) (#13174) by @wenshao
- feat(managed-agent): enumerate the public and WebShell surface with an admission gate (#13543) by @wenshao
- feat(managed-agent): H4a child agent and child acceptance record contract (#13505) by @wenshao
- feat(managed-agent): give Hosted turns the Workspace's project context (#13168) by @yiliang114
- feat(managed-agent): H6a schedule and automation run record contract (#13536) by @wenshao
- feat(managed-agent): H5a channel route and delivery record contract (#13548) by @wenshao
- feat(web-shell): Add fullscreen viewing for history tables (#13589) by @wenshao
- feat(managed-agent): prove Shell process-group stops with a worker ledger (M5c) (#13352) by @wenshao
- feat(managed-agent): add W1c offline workspace migration (#13260) by @doudouOUC
- feat(agents): session-centric multi-agent collaboration (#13467) by @yiliang114
- feat(managed-agent): add reliable ACTIVE Workspace deletion (L3) (#13354) by @doudouOUC
- feat(hooks): apply PreToolUse updatedInput with full revalidation (#13442) by @qqqys
- feat(web-shell): add trajectory search and diagnostic filters (#13264) by @qqqys
- feat(web-shell): restore aggregated workspace hosts in sidebar (#13677) by @yiliang114
- feat(managed-agent): persist workspace actor roles and session owners (#13544) by @wenshao
- feat(managed-agent): H4b child Session runtime (#13550) by @wenshao
- feat(web-shell): browse earlier trajectory windows (#13716) by @qqqys
- feat(agents): remove the thread backend and run A2A on sessions (#13583) by @yiliang114
- feat(trajectory): preserve model request execution identity (#13740) by @qqqys
- feat(managed-agent): H5b/H5c channel runtime for the email reference adapter (#13572) by @wenshao
- feat(managed-agent): add opt-in production replay-floor advancement for Session event retention (#12380) (#13621) by @qwen-code-dev-bot
- feat(managed-agent): H4c workflow child kind and child launch budget (#13754) by @wenshao
- feat(managed-agent): enforce workspace actor roles across the bound-Session surface (#13545) by @wenshao
- feat(managed-agent): H6b/H6c automation runtime for persistent definitions (#13598) by @wenshao
- feat(core): record prompt execution context (#13712) by @ytahdn
- feat(managed-agent): H4d-a session message record contract and child continuation rules (#13786) by @wenshao
- feat(managed-agent): H4e-a team record contract (#13811) by @wenshao
- feat(managed-agent): child Workspace capability for managed child Sessions (#13753 I1) (#13781) by @wenshao
- feat(trajectory): record and replay request lifecycle (PR6B) (#13755) by @qqqys
- feat(managed-agent): restart-recoverable foreground child wait (fixes #13708) (#13769) by @wenshao
- feat(web-shell): connect saved daemons simultaneously, no-flash host switching (#13727) (#13739) by @yiliang114
- feat(managed-agent): H4e-b1 lead-side team runtime (#13824) by @wenshao
- feat(managed-agent): H4f public task cancel for child agent tasks (#13823) by @wenshao
- feat(trajectory): record native tool execution lifecycles (#13836) by @qqqys
- feat(managed-agent): worktree admission for managed child agents (#13753 I2) (#13841) by @wenshao
- feat(managed-agent): H4d-b session message runtime (#13822) by @wenshao
- feat(mods): run experimental headless Mod commands (#13843) by @qqqys
- feat(managed-agent): enable the H4e-b1 team domains after the physical pass (#13846) by @wenshao
- feat(managed-agent): Collect retired stream-capture tool outputs (#13534) (#13554) by @wenshao
- feat(managed-agent): execute pinned AgentDefinition revisions (#13530) by @yiliang114
- feat(core): Keep complete file reads on one opened source (#13776) by @doudouOUC
- feat(managed-agent): support WebShell session cwd changes (#13760) by @doudouOUC
- feat(web-shell): add Send now for queued mid-turn messages (#13681) by @wenshao
Bug Fixes
- Replaces a selected remote host in Web Shell without losing agent bindings by revoking the old credential and moving bindings to the new host. (#13430) by @yiliang114
- Adds a 60-second wait before retrying E2E build artifact downloads to reduce false failures from immediate back-to-back attempts. (#13292) by @qwen-code-dev-bot
- Makes yamllint and shellcheck CI lanes fail clearly when the git file list is empty instead of silently passing or showing misleading errors. (#12650) by @qwen-code-dev-bot
- Improves managed-agent SSE delivery by using Condition-based waiting instead of pinning virtual-thread carriers. (#13402) by @wenshao
- Prevents managed-agent harness attachment creation from blocking concurrent map monitors, avoiding virtual-thread carrier pinning under cold bursts. (#13403) by @wenshao
- Fixes /context detail so per-tool MCP rows are scaled consistently and add up to the MCP tools row on both estimate and provider-count paths. (#13390) by @Shizoqua
- Aligns memory-index prompt loading with the writer budget so oversized entries are omitted whole and later complete entries remain available in order. (#13315) by @beibeihk
- Fixes vim-mode clipboard paste on Windows by making clipboard reads more reliable with PowerShell UTF-8 output, a longer timeout, and normalized line endings. (#13198) by @Bug-killer-prog
- Stops automatic QWEN.md and AGENTS.md discovery at the Git root so files in parent directories above the repository no longer enter requests. (#13381) by @agammann
- Extension Git operations no longer stall waiting for interactive credentials; unauthenticated sources now fail immediately. (#13454) by @yiliang114
- Settings file replacement now preserves the existing file's POSIX permission bits under stricter umask, improving safety and consistency when saving settings. (#13293) by @doudouOUC
- Fixes WeChat login QR code generation by sending required iLink headers with the request. (#13482) by @yiliang114
- Recognizes llama.cpp context-overflow wording so compaction runs instead of looping on HTTP 400. (#13421) by @yiliang114
- Recovers complete function-style XML tool calls so they execute instead of remaining assistant text. (#13437) by @yiliang114
- Honors memory.agentMaxTurns in user-scoped memory dream and restricts turn/timeout limits to trusted operator settings. (#13462) by @yiliang114
- Prevents MCP permission rules for one server from authorizing a different colliding server. (#12531) by @yiliang114
- Fixes web-shell managed session UI correctness issues including stale error banners, turn settling, pending-prompt handling, session switching, and provider rebuild behavior. (#13342) by @wenshao
- Makes main-branch CI failures caused only by GitHub infrastructure issues rerun failed jobs once instead of filing an autofix issue. (#13512) by @qwen-code-dev-bot
- fix(core): keep nested tool_call arguments open on Responses; name the target in bridged validation errors (#12901) by @yiliang114
- Ensures memory agent budget settings are honored only from User, System, and SystemDefaults scopes, with workspace values ignored and warned. (#13508) by @yiliang114
- Prevents an XML tool call quoted inside a parameter value from being dispatched as a real tool call. (#13515) by @yiliang114
- fix(ci): raise the Hosted verify step ceiling above its failsafe fork timeout (#13503) (#13504) by @qwen-code-dev-bot
- fix(ci): sweep stale pool residue before sdk-java checkouts (#13507) by @qwen-code-dev-bot
- fix(managed-agent): check the replay before publishing a domain record (#13376) by @wenshao
- fix(core): key the models.dev catalog under dotted as well as dashed ids (#13299) by @yiliang114
- fix(mobile): resolve document providers once per selection (#13147) by @jabrailkhalil
- fix(managed-agent): close the three Critical H0c follow-ups from #13300 (#13355) by @wenshao
- fix(core): stop advertising unsupported LSP dynamic registration (#13494) by @shenyankm
- fix(core): stop JSONL prefix reads when their budget is met (#13486) by @GoldArowana
- fix(web-shell): escape control characters in the managed approval args preview (#13549) by @yiliang114
- fix(core): budget side-query output tokens against the resolved context window (#13244) by @yiliang114
- fix(agent): enforce per-model concurrency cap on foreground sub-agents (#12461) by @Andrea-Bruno
- fix(runtime-broker): keep the HTTP exchange cancel off the deadline completion path (#13562) by @wenshao
- fix(ci): skip millisecond latency budgets on the release ECS pool (#13541) (#13547) by @qwen-code-dev-bot
- fix(docs): apply Prettier formatting to the daemon event schema (#13573) (#13580) by @qwen-code-dev-bot
- fix(acp): preserve branch checkpoints after Code Mode turns (#13574) by @yiliang114
- fix(web-shell): allow deleting queued prompts during admission (#13594) by @yiliang114
- fix(serve): invalidate the Hosted Workspace context on instruction-file changes (#13605) by @yiliang114
- fix(web-shell): follow an accepted approval answer to its terminal operation (#13609) by @yiliang114
- fix(managed-agent): commit oversized message records as inline chunks (#13375) by @wenshao
- fix(ci): classify runner-acquisition failure as infrastructure (#13622) (#13626) by @qwen-code-dev-bot
- fix(web-shell): sanitise model-supplied text at the approval card's sibling render sites (#13578) by @yiliang114
- fix(feishu): preserve text and clean up failed inbound file writes (#13337) by @jabrailkhalil
- fix(managed-agent): clear successful Workspace migration diagnostics (#13655) by @doudouOUC
- fix(managed-agent): stop a bound Turn under refused authorization (#13163) by @yiliang114
- fix(acp): include stored attachment paths in model context (#13668) by @ytahdn
- fix(core): preserve GLM vision metadata for dashed model IDs (#13651) by @yiliang114
- fix(goals): separate aggregate summaries from external facts (#13575) by @yiliang114
- fix(core): hide the hook child console on Windows (#13670) by @yiliang114
- fix(acp-bridge): keep local published file artifacts ephemeral (#12395) by @zjgzx1988
- fix(workflow): show results and failures in /workflows run details (#13646) by @qqqys
- fix(core): gate discovery hints on registered capabilities (#13576) by @yiliang114
- fix(memory): preserve the prompt prefix when memory indexes change (#13521) by @yiliang114
- fix(core): surface PreToolUse ask content on MCP tool confirmations (#13687) (#13697) by @yiliang114
- fix(web-shell): preserve artifact cards during reconnect (#13714) by @ytahdn
- fix(web-shell): allow downloading changed workspace artifacts (#13718) by @ytahdn
- fix(browser-use): fail fast when no Native Messaging host can be registered (#13699) by @yiliang114
- fix(web-shell): Select worktree mode without extra confirmation (#13607) by @wenshao
- fix(web-shell): show workspace artifacts by their filename (#13672) by @zjgzx1988
- fix(cli): preserve complete Hosted no-tool model Parts (#13750) by @doudouOUC
- fix(ci): raise the O4 gate step ceiling above its failsafe fork timeout (#13684) (#13688) by @qwen-code-dev-bot
- fix(verify-pr): drop the stale "ships no JDK" claim from the Java lane guidance (#13791) (#13792) by @qwen-code-dev-bot
- fix(release): reclaim docker disk and gate the data root before the sandbox image build (#13479) (#13481) by @qwen-code-dev-bot
- fix(managed-agent): unblock H3 background Shell and Monitor start path (#13789) by @wenshao
- fix(core): leave unknown ${identifier} placeholders literal in subagent prompts (#13694) by @yiliang114
- fix(mcp): discover tools on the readResource lazy-spawn path (#13806) by @yiliang114
- fix(cli): match ink's OpenTUI popup geometry and completion truncation (#12559) by @chiga0
- fix(ci): bound E2E sandbox image cleanup (#13686) by @zonemeen
- fix(ci): reject unsupported Bash in workflow size checks (#13470) by @zonemeen
- fix(web-shell): collapse background results with turn steps (#13825) by @ytahdn
- fix(managed-agent): answer journal-only calls on every interrupted-turn route (#13829) by @wenshao
- fix(core): suppress trailing orphan thinking tags in prose (#13600) by @yiliang114
- fix(core): make lazy-spawn MCP discovery best-effort (#13828) by @yiliang114
- fix(browser-use): report Windows as unsupported instead of advising an install (#13675) by @yiliang114
- fix(managed-agent): observe background-process exits at Session re-acquire (#13830) by @wenshao
- fix(permissions): escalate repeated destructive-command denials to manual approval (#13636) by @yiliang114
- fix(core): surface failed or unavailable LSP diagnostics as errors (#13128) by @yiliang114
- fix(managed-agent): harden the managed panel failure lifecycle and worker path containment (#13179) by @wenshao
- fix(core): close Managed session correctness gaps from #12693 post-merge review (#13332) by @wenshao
- fix(session): reserve retained snapshot prompt identities on resume (#13729) by @yiliang114
- fix(runtime): retain CSI mount identity through directory resolution (#13772) by @doudouOUC
- fix(managed-agent): reconcile approval delivery and concurrent session titles (#13682) by @yiliang114
- fix(hosted): Count future result-hook mounts at child admission (#13773) by @yiliang114
- fix(managed-agent): settle the deferred review findings of PR #13352 (#13630) by @wenshao
- fix(core): tell the parent model why a foreground subagent stopped (#13624) by @yiliang114
Performance
- Speeds up full extension scans by loading extension directories in bounded parallel batches while preserving order and error behavior. (#13379) by @callmeYe
Documentation
- Adds Stage H4/H5/H6 slice design documents for managed agents, channels, and automation. (#13499) by @wenshao
- Adds English and Chinese design documentation for the optional cross-node EventTransport based on message queues. (#13500) by @wenshao
- Repairs managed-agent documentation findings from the R2 review, fixing stale links, port guidance, stage labels, and incorrect claims. (#13343) by @wenshao
- docs(serve): fix stale permission-route note and document pending-prompt events (#13281) by @LUOSENGWA
- docs(managed-agent): add the delivery ledger for #12380 (#13565) by @wenshao
- docs(troubleshooting): add a "connection resets on some networks" entry (TLS-stack-selective middleboxes) (#13235) by @LUOSENGWA
- docs(managed-agent): bring the delivery ledger up to main d0ddd02 (#13593) by @wenshao
- docs(serve): fix Prettier formatting in the daemon event schema (#13585) (#13587) by @qwen-code-dev-bot
- docs(managed-agent): link every PR and issue reference in the delivery ledger (#13631) by @wenshao
- docs(core): point the session-agents contract at its SDK mirror (#13648) by @yiliang114
- docs(verify-pr): add local-round publish, follow-up, mutation and rig rules (#13756) by @wenshao
- docs(managed-agent): record H3 Linux acceptance blockers and replay inputs (#13764) by @yiliang114
- docs(verify-pr): name scenario axes in scope selection and attribute merge-only reds (#13813) by @wenshao
- docs(managed-agent): H4e-b1 lead-side team runtime design (#13817) by @wenshao
- docs(managed-agent): Name RocketMQ LiteTopic (5.5.0+) as the preferred P2 EventTransport candidate (#13826) by @wenshao
- docs(verify-pr): key the turn-axes rule to the diff, not the central claim (#13819) by @wenshao
- docs(managed-agent): H4e-b2 team mailbox design (#13879) by @wenshao
- docs(verify-pr): budget the turn-axes secondary A/B as a harness slot (#13850) by @wenshao
Internal Changes
- Adds post-merge test coverage and hygiene checks for HTTP store integrity scenarios, including multi-page journals and restore refusal on inconsistent data. (#13341) by @wenshao
- Stabilizes the /hooks dialog E2E test by using CI-aware timeouts and asserting against the rendered dialog. (#13427) by @qwen-code-dev-bot
- Increases the waitFor timeout for hosted tool-turn approval tests to reduce flaky CI failures. (#13399) by @qwen-code-dev-bot
- test(integration): make the utf-bom defaultFileEncoding test deterministic (#13196) by @Bug-killer-prog
- test(managed-agent): pin untested contracts from the #12692 R2 review (#13348) by @wenshao
- test(integration): let the headless workflow-skill E2E inherit the suite timeout (#13518) (#13520) by @qwen-code-dev-bot
- test(managed-agent): commit authority-valid deltas in the restore byte-budget test (#13551) by @wenshao
- test(core): pin the limit-less alias shape the models.dev projection ships (#13539) by @yiliang114
- test(integration): require a successful monitor tool call (#13452) by @GoldArowana
- test(managed-agent): harden pinning witnesses and add renewal-arm pinning witness (#13388 follow-up) (#13401) by @wenshao
- test(integration): share the Hosted proxy header filter across all store relays (#13431) by @wenshao
- test: isolate hosted catalog refresh and verify ACP defaults (#13653) by @yiliang114
- test(desktop): pin both Linux release legs to the ubuntu-22.04 glibc floor (#13616) by @tonydzi
- test(managed-agent): tolerate scheduling slack in the detach heartbeat window (#13658) by @yiliang114
- test(integration): let workflow-completion reply waits inherit the helper default (#13552) (#13555) by @qwen-code-dev-bot
- refactor(transcript): centralize internal Code Mode result detection (#13577) by @yiliang114
- test(memory): cover request-tail catalog and protocol contracts (#13736) by @yiliang114
- test(managed-agent): verify Hosted Shell operator recovery on MySQL and MariaDB (#13759) by @yiliang114
- test(managed-agent): cover AgentDefinition review follow-ups (#13757) by @yiliang114
- ci(sdk-java): re-check open PRs for Flyway version collisions as main moves (#13770) by @wenshao
- ci(verify): provision a Java toolchain for sdk-java PRs (#13763) by @doudouOUC
- refactor(managed-agent): classify child Session run kinds by name (#13779) by @wenshao
- test(managed-agent): widen HostedHarnessMySqlIT lifecycle budgets for CI MySQL stalls (#13780) (#13783) by @qwen-code-dev-bot
- test(cli): bind ephemeral loopback port in container-mode tests (#13775) (#13778) by @qwen-code-dev-bot
- ci(sdk-java): stop the API contract version from regressing or stalling (#13804) (#13808) by @wenshao
- test(cli): avoid port conflicts in managed runtime container tests (#13569) by @zonemeen
- test(cli): pin the background capture pause across the launcher-exit flush (#13834) by @wenshao
- test(managed-agent): run the H4e-b1 team flow end to end in the Hosted MySQL lane (#13867) by @wenshao
New Contributors
- @beibeihk made their first contribution in #13315
- @agammann made their first contribution in #13381
- @GoldArowana made their first contribution in #13486
- @LUOSENGWA made their first contribution in #13281
- @zonemeen made their first contribution in #13686
Full Changelog: v0.25.0...v0.25.1