What's Changed
- fix(serve): preserve session creation failure diagnostics by @callmeYe in #12331
- feat(sdk-java): Add managed runtime attestation client by @doudouOUC in #12522
- feat(web-shell): select a time range on the trajectory overview to narrow the table by @qqqys in #12543
- feat(serve,web-shell): set the Qwen Live endpoint and model from settings by @qqqys in #12529
- feat(channels): separate private and group access policies by @qqqys in #12547
- fix(core): bound oversized images returned by MCP tools by @yiliang114 in #10835
- feat(serve): run Qwen Live through the Web Shell, native macOS Host opt-in by @qqqys in #12534
- feat(web-shell): search within the current conversation by @samuelhsin in #12234
- perf(serve): use catalog for workspace extension activation projection by @callmeYe in #12541
- fix(core): decide MCP media handling from the bytes, not the label by @yiliang114 in #12567
- fix(core): read a backslash inside single quotes as literal when splitting by @TianYuan1024 in #11765
- perf(web-shell): derive the session workflow projection once and share it across surfaces (#10865) by @now-ing in #11237
- fix(skills): reload changed content after refresh by @jkxiao in #12182
- feat(web-shell): add host controls for model management by @Lilian0122 in #12345
- fix(cli): keep CoreToolScheduler stable across callback identity changes by @kabishou11 in #12069
- fix(web-shell): make mobile access opt-in and simplify split composer by @ytahdn in #12537
- test(cli): yield the event loop between base-tree tests by @wenshao in #12573
- feat(browser-use): make the bundled runtime self-contained by @tanzhenxin in #12548
- fix(cli): keep 64-bit file ids exact in the two identity comparators by @yiliang114 in #12568
- fix(cli): keep plan-identity guards exact for 64-bit file ids by @yiliang114 in #12577
- fix(java): Deliver broker cancellation after a dispatch lease lapses by @wenshao in #12583
- feat(web-shell): zoom and pan the trajectory overview by @qqqys in #12557
- fix(core): label each reattached image so older ones are not read as current by @yiliang114 in #12549
- feat(review): audit the applied --fix for unpinned new assumptions by @wenshao in #10169
- feat(channels): route messages to prefix-specific sessions by @qqqys in #12595
- fix(java): Fence lapsed tool executions by the repository clock by @wenshao in #12608
- feat(web-shell): show the trajectory over real time, idle included by @qqqys in #12607
- fix(review): correct what the fix audit tells its reader by @wenshao in #12610
- fix(serve): report serve.channels restore failures in channel status by @qqqys in #12542
- test(review): drive the fix-audit build through the yargs command by @wenshao in #12614
- feat(sdk-java): Adopt a Managed Runtime only after attestation by @doudouOUC in #12552
- feat(web-shell): inspect session tool calls by prompt by @ytahdn in #12466
- feat(web-shell): support selective host artifact integration by @dreamWB in #12588
- fix(web-shell): stop rendering empty args and input JSON in tool cards by @yiliang114 in #12601
- feat(live): stream shared screens into browser voice calls by @qqqys in #12623
- docs(extensions): cover workflow reload and add Chinese design by @BlackishGreen33 in #12625
- fix(core): cover every commit spelling and the promoted path in session-commit registration by @yiliang114 in #12556
- feat(desktop): add QWEN_DESKTOP_DISABLE_UPDATES opt-out for the startup update check by @yiliang114 in #12587
- perf(cli): stop one-shot runs from booting the CLI twice by @yiliang114 in #12602
- perf(cli): skip interactive-only probes on headless startup by @yiliang114 in #12603
- docs: fix /clear description, .qwen note, and outdated CLI name by @yc2bgr8 in #12555
- docs(conversations-recovery): document non-graceful ACP writer recovery by @dvd233 in #12268
- docs: fix comments and JSDoc that contradict the actual code by @sxh313 in #11950
- fix(cli): honor the usage-statistics opt-out under --bare by @yiliang114 in #12604
- fix(ci): trust the job workspace as a git safe.directory before checkout by @yiliang114 in #12648
- test(review): add hard-link witness test to save-artifact overwrite guard (#12578) by @holny in #12581
- test(java): make the local-process provisioner tests deterministic by @wenshao in #12639
- feat(review): record per-file content verdicts that survive a rebase by @wenshao in #9661
- feat(web-shell): manage the repository's worktrees from the git dialog by @wenshao in #12154
- docs(tools): add Firecrawl to the web search MCP services by @JuampiHernandez in #12646
- feat(sdk-java): Add the Hosted Harness private client by @doudouOUC in #12654
- test(java): pin runtime-broker guards left open in earlier reviews by @wenshao in #12632
- feat(java): Reconcile UNKNOWN tool executions from Runtime evidence by @wenshao in #12655
- test(cli): pin the managed-runtime worker's boot, bind and shutdown guards by @wenshao in #12633
- fix(review): persist the local findings ledger when a round cannot anchor by @wenshao in #12660
- fix(core): Preserve Claude thinking across tool turns by @pomelo-nwu in #12621
- feat(cli): Declare the v2 execute/status/cancel Managed Runtime contract by @doudouOUC in #12630
- fix(cli): keep one-shot system-reminder prefixes out of shell mode by @yiliang114 in #12605
- feat(sdk-java): Reconcile and adopt restored Runtime bindings by @doudouOUC in #12627
- fix(standalone): pin @lydell/node-pty-linux-arm64 and fail release on missing prebuilds by @yiliang114 in #12649
- feat(cli): list managed Agent View sessions in qwen sessions ps by @yiliang114 in #10942
- fix(web-shell): fall back to a plain draft for New task in a Live chat without a draft target by @yiliang114 in #12626
- chore(desktop): rename packages/desktop-shell to packages/desktop by @yiliang114 in #12653
- test(java): wait for a renewal at the advanced time in lease renewal tests by @wenshao in #12656
- fix(cli): resolve npm's global config when npm refuses to print it by @tanzhenxin in #12675
- feat(scripts): check in the startup benchmark harness by @tanzhenxin in #12674
- fix(web-shell): allow deleting the current session from sidebar and picker by @yiliang114 in #12636
- fix(core): keep the deferred-tool bridge halves on the same tool by @yiliang114 in #12539
- feat(sdk-java): Add the v2 tool operations to the runtime transport by @doudouOUC in #12637
- feat: add native advisor tool by @ZijianZhang989 in #9636
- feat(sdk-java): Add the W0a Managed Workspace binding contract by @wenshao in #12681
- perf(cli): keep running in place when env files only hold model credentials by @tanzhenxin in #12680
- feat(cli): Mount the v2 tool operations on the Managed Runtime worker by @doudouOUC in #12671
- perf(cli): halve fresh-startup time to typeable and cut RSS by 60% by @tanzhenxin in #12622
- fix(cli): make the Agent Team teammate tab transcript scrollable in VP mode by @yiliang114 in #9531
- fix(cli): restore ripgrep exec bit on managed npm update activation by @yiliang114 in #12673
- fix(cli): notify when the Linux clipboard tool is found but its query fails by @yiliang114 in #12666
- fix(core): rank PreToolUse permissionDecision most-restrictive in hook aggregation by @yiliang114 in #12689
- perf(serve): coalesce in-flight extension status loads by @callmeYe in #12638
- feat(cli): Define the managed-context/1 envelope contract by @wenshao in #12700
- feat(serve): add guarded Hosted Runtime foundations by @doudouOUC in #12691
- feat(managed-agent): Spring control plane and dual-path WebShell by @doudouOUC in #12692
- feat(serve): support model and reasoning selection at session creation by @callmeYe in #12308
- feat(core): Durable Managed Session journal and failover by @doudouOUC in #12693
- fix(cli): close the deferred /context accounting follow-ups by @yiliang114 in #12540
- fix(core): deduplicate system prompt guidance in a second pass by @doudouOUC in #12546
- feat(cli): agent-prepared Batch API workflow (/batch-api) by @yiliang114 in #12492
- feat: complete Advisor consultation behavior and usage limits by @yiliang114 in #12688
- test(cli): Close the fixture gaps deferred from managed-context/1 by @wenshao in #12712
- fix(mcp): preserve registration URL from header discovery by @dvd233 in #12205
- feat(managed-agent): admit workspace-bound sessions without execution by @doudouOUC in #12709
- feat(cli): Run Managed Runtime tools in the Session's Workspace directory by @wenshao in #12732
- feat(acp-bridge): route sessions across legacy and managed engines by @wenshao in #12698
- feat(serve): Enable private Hosted Harness no-tool text turns by @doudouOUC in #12713
- fix(core): consult system code page before chardet for non-UTF-8 output by @yiliang114 in #12731
- fix(core): treat EHOSTUNREACH/ENETUNREACH as connection-level in web_fetch https-upgrade fallback by @yiliang114 in #12705
- feat(managed-agent): Define the managed-tool-result/1 contract (O1a) by @wenshao in #12729
- fix(cli): pass the post-update relaunch command line to cmd verbatim by @yiliang114 in #12694
- fix(core): tolerate the win32 directory-sync refusal in managed session resources by @yiliang114 in #12718
- fix(core): prioritize registered prefixes in tool suggestions by @yc2bgr8 in #12743
- test(managed-agent): add Hosted no-tool process gates by @wenshao in #12733
- feat(acp-bridge): back paired engine selection with session owners and typed rejections by @wenshao in #12746
- fix(cli): Close the W0c-1 worker follow-ups before boot v2 is enabled by @wenshao in #12747
- fix(serve): Restore transcript reads for standalone sessions by @qqqys in #12615
- fix(serve): close review follow-ups for paired engine owners by @wenshao in #12750
- fix(serve): Settle hosted turns after transient read failures by @doudouOUC in #12742
- feat(runtime-broker): install managed Workspace contexts (W0c-2) by @doudouOUC in #12730
- feat(web-shell): prepare updates and restart from sidebar by @wenshao in #12734
- fix(serve): keep ACP child error messages and standalone conflicts intact by @wenshao in #12753
- test(core): Close the compile-cache test and doc gaps deferred from #12747 by @wenshao in #12759
- test(runtime-broker): Add Stage F multi-process fault gates for the tool path by @wenshao in #12752
- fix(extensions): reject http archive URLs with an actionable error instead of attempting a git clone by @liwenjie200543 in #12697
- fix(cli): report batch task records that list cannot read by @yiliang114 in #12741
- fix(web-shell): clear scrollbar-gutter in collapsed sidebar rail (#12453) by @holny in #12652
- feat(memory): extract structured scan and bounded retrieval by @yiliang114 in #12726
- fix(core,cli): stop stale-worktree sweep from destroying git-ignored content by @yiliang114 in #12763
- fix(serve): stop validating load-only restore fields on resume by @yiliang114 in #12768
- fix(core): keep stale-worktree sweep from deleting untracked files by @yiliang114 in #12739
- fix(ci): gate the E2E pool leg on a disk floor (#12764) by @qwen-code-dev-bot in #12769
- fix(cli): surface real /update errors and self-heal stale pending swap by @yiliang114 in #12755
- fix(desktop): identify missing node-pty pin by @barry166 in #12684
- fix(vscode-ide-companion): hold the edit send until the rewind lands in the transcript by @yar3333 in #12711
- fix(core): Log a failing schema's own error and close the compile-cache gaps by @wenshao in #12777
- feat(acp-bridge): give each paired channel its own workspace runtime identity by @wenshao in #12776
- feat(managed-agent): wire private Workspace execution (W0c-3) by @doudouOUC in #12754
- feat(web-shell): expose BTW in the composer add menu by @wenshao in #12775
- test(integration): Name the request in hosted session store failures by @wenshao in #12786
- fix(runtime-broker): read attestation integers exactly by @wenshao in #12774
- fix(core): deduplicate todo guidance and compress comment rule in a third prompt pass by @doudouOUC in #12784
- fix(core): preserve MCP status for optional -32601 responses by @dvd233 in #12500
- fix(core): recognize sed quiet aliases as read-only by @dvd233 in #12221
- fix(acp-bridge): drop oversized notifications instead of tearing down the channel by @kabishou11 in #11925
- fix(web-shell): complete zh-CN translations for the settings panel by @doudouOUC in #12783
- fix(hooks): key enabled state by name, not identity by @PratikWayase in #11965
- feat(mobile): support scoped native document selection (Phase 2) by @jabrailkhalil in #12126
- feat(core): add local managed tool-result segment store by @doudouOUC in #12767
- feat(acp-bridge): recover quarantined paired channels and operate per engine by @wenshao in #12795
- test(managed-agent): gate tool-driven failover E2E modes on Hosted no-tool slice by @yiliang114 in #12801
- fix(core): classify multi-address connect failures by any attempt, not the first by @yiliang114 in #12794
- fix(sdk-java): reject unreadable decimal scales by @yc2bgr8 in #12798
- test(runtime-broker): Add Stage F fault gates for W0c context installation by @wenshao in #12804
- fix(cli): preserve source identity in session exports by @banned2054 in #12118
- test(serve): tolerate workspace_runtime_stop envelope skew in capabilities baseline (#12490) by @qwen-code-dev-bot in #12494
- test(cli): Split the W0c-3 release test so Windows skips only the rename by @wenshao in #12815
- feat(acp-bridge): deliver workspace changes to every paired engine by @wenshao in #12807
- fix(ci): retry the helper-tests step once against pool contention (#12772) by @qwen-code-dev-bot in #12780
- fix(cli): report completion for saved workflow slash commands by @destire-mio in #12415
- docs(design): specify paired engine host wiring for B2d by @wenshao in #12771
- feat(managed-agent): Add the public API contract and contract tests by @wenshao in #12808
- fix(mcp): Support larger Apps, scoped tool calls and isolated origins by @samuelhsin in #12258
- fix(managed-agent): Align Flyway Runtime tables with the Broker schema by @wenshao in #12816
- test(managed-agent): Make the Hosted no-tool gate assertions falsifiable by @wenshao in #12819
- test(cli): Run the W0c-3 directory-loss test under Git Bash on Windows by @wenshao in #12818
- fix(cli): let an aged .deferred marker escape the update-still-applying block by @yiliang114 in #12810
- feat(cli): add /commit slash command with AI-drafted commit messages by @yiliang114 in #10586
- feat(web-shell): support optional worktrees for branch sessions by @water-in-stone in #11816
- fix(acp-bridge): close review follow-ups for paired quarantine recovery by @wenshao in #12811
- test(sdk-java): close the connection on Hosted Harness no-content responses by @wenshao in #12824
- fix(cli): require proof of death before deleting a staged swap by @yiliang114 in #12787
- feat(web-shell): Select and bind managed Workspaces by @doudouOUC in #12797
- feat(core): Capture foreground Managed Shell results with local receipts by @doudouOUC in #12821
- fix(sdk-java): preserve configured JDBC lease duration by @yc2bgr8 in #12788
- chore(sdk-java): align fastjson2 version to 2.0.65 by @wenshao in #12836
- perf(core): trim restated tool guidance and budget the resident tool surface by @yiliang114 in #12532
- feat(managed-agent): Implement the Session query contract (Stage D2) by @wenshao in #12822
- test(acp-bridge): pin the background drain ownership middle term and the backgroundTurn busy guards by @Oscar-Williams in #12250
- feat(memory): extract metadata migration and writer compatibility by @yiliang114 in #12757
- fix(cli): restore sessions in selected workspace runtime by @XIQIXIQIXIQI in #9050
- feat(managed-agent): Define the managed-extension-record/1 contract (H0b) by @wenshao in #12837
- feat(serve): wire paired execution engines into ordinary hosts behind an opt-in by @wenshao in #12828
- feat(managed-agent): Add the planned Stage H task contract (H0a) by @wenshao in #12830
- docs(tools): sync shell.md with the shipped run_shell_command contract by @yiliang114 in #12841
- fix(web-shell): complete skill toggle feedback and controls by @BlackishGreen33 in #12641
- feat(managed-agent): Implement event replay (Stage D3) by @wenshao in #12840
- feat(serve): add gated Hosted Workspace file tool turns by @doudouOUC in #12831
- fix(web-shell): defer React root unmount in chip destroy out of the CodeMirror update cycle by @yiliang114 in #12834
- feat(managed-agent): Design the ordinary-host Managed engine and close its preconditions (M1) by @wenshao in #12861
- test(managed-agent): Close deferred H0b record contract follow-ups by @wenshao in #12863
- test(managed-agent): Close the deferred Hosted no-tool gate follow-ups by @wenshao in #12864
- feat(desktop): add a linux-aarch64 leg to the Desktop release matrix by @yiliang114 in #12833
- fix(node-repl): widen the bounded-cancellation test margin under runner load by @yiliang114 in #12884
- test(managed-agent): Add FG6a Hosted Broker reply-loss gates by @wenshao in #12873
- test(integration): give the ACP model round trip its own request budget by @yiliang114 in #12885
- fix(acp): disable LSP for MCP discovery config by @dvd233 in #12256
- feat(managed-agent): Add the strict configuration snapshot and Managed compatibility evaluation (M3) by @wenshao in #12883
- test(managed-agent): add FG6b Session Store failure gates by @wenshao in #12888
- feat(managed-agent): Add W0e terminal recovery fences by @doudouOUC in #12839
- feat(managed-agent): Make Session close, archive and delete durable operations (Stage D4) by @wenshao in #12881
- fix(core): preserve memory read-limit signal on replay by @yc2bgr8 in #12893
- fix(web-shell): inset docked right panel below the macOS titlebar drag region by @yiliang114 in #12876
- fix(core): restore the vendored ripgrep exec bit at resolution time by @yiliang114 in #12892
- fix(runtime-broker): reject BigDecimal scales beyond ±2048 by @yiliang114 in #12870
- feat(computer-use): let a remote session use your desktop through a node_repl relay by @yiliang114 in #11799
- docs: fix dead links in GitHub Action, extensions, and privacy pages by @pratikgx in #12717
- docs: correct CSP invalid-source comments by @sherxlg-gif in #12163
- fix(managed-agent): Move the Session operation migration to V17 by @wenshao in #12900
- feat(agents): add durable workspace collaboration state by @yiliang114 in #12854
- feat(memory): add structured on-demand recall by @ZijianZhang989 in #10183
- fix(managed-agent): Refuse Legacy renames of Managed-owned transcripts (M1 follow-up) by @wenshao in #12906
- fix(managed-agent): Treat settings locations that depend on the working directory as unknown (M3 follow-up) by @wenshao in #12903
- feat(channels): rotate bounded route sessions by @qqqys in #12616
- test(managed-agent): add FG6c process crash gates by @wenshao in #12896
- fix(cli): honor usage-statistics opt-out and proxy in
qwen mcp reconnectby @yiliang114 in #12857 - feat(managed-agent): Commit Stage H records and serve the task list (H0c) by @wenshao in #12855
- fix(runtime-broker): enforce the codec reader's total-digit budget by @yiliang114 in #12910
- fix(cli): unwedge qwen batch after provider anomalies; bound maxCostUsd by the worst case by @yiliang114 in #12895
- fix(core): reap stale worktrees holding only symlinks or nested build output by @yiliang114 in #12785
- docs(developers): document CI and release repository variables by @Theater-ahyeon in #11129
- fix(cli): honor --bare and --safe-mode in the cross-session messaging gate by @yiliang114 in #9845
- fix(vscode-ide-companion): make the pre-auth Invalid Host header 403 actionable for port-forwarded windows by @yiliang114 in #12897
- test(cli): give the hosted tool-turn waitFor an explicit timeout (#12911) by @qwen-code-dev-bot in #12915
- test(managed-agent): add FG6d hosted cancellation gates by @wenshao in #12924
- fix(web-shell): hide empty MCP approval subtitles by @BlackishGreen33 in #12644
- fix(core): skip the skills listing when the Skill tool is not registered by @yiliang114 in #12838
- feat(serve): add gated Hosted foreground Shell turns by @doudouOUC in #12848
- test(managed-agent): add FG6e hosted SSE gap gates by @wenshao in #12942
- fix(daemon): persist session approval mode across cold restore by @doudouOUC in #12918
- fix(core): persist workflow replay suffix invalidation by @qqqys in #12948
- feat(managed-agent): Serve the public Turn list and detail (Stage D5) by @wenshao in #12932
- feat(web-shell): clarify trajectory overview metrics by @qqqys in #12944
- fix(serve): Persist Hosted file path refusals by @doudouOUC in #12950
- fix(managed-agent): Share the home-expansion and spawn-environment rules of the compatibility evaluation by @wenshao in #12934
- feat(managed-agent): Adopt durable local Runtime workers by @doudouOUC in #12865
- test(hosted): gate Shell output capture failures (FG6f) by @wenshao in #12954
- feat(core): lazy-load deferred tools in Code Mode by @tanzhenxin in #12898
- perf(memory): reduce automatic extraction token overhead by @yiliang114 in #12951
- fix(memory): preserve migration progress when index rebuild fails by @yiliang114 in #12913
- fix(managed-agent): Close the post-merge review of event replay by @wenshao in #12968
- docs(managed-agent): Defer local engine delivery behind Hosted by @doudouOUC in #12920
- feat(core): Add Landlock execution fallback by @doudouOUC in #12278
- fix(memory): tighten structured recall contracts by @yiliang114 in #12916
- fix(cli): scrub userinfo credentials from aux-model selector egress by @yiliang114 in #12862
- fix(managed-agent): Declare the tenant filter's 403 on the task read routes by @wenshao in #12966
- fix(core): preserve Code Mode cache when enabling workflow by @tanzhenxin in #12933
- fix(core): let Full Access approve shell and monitor directories outside the workspace by @tanzhenxin in #12927
- fix(core): withhold the SkillManager from subagents whose tool policy has no Skill tool by @yiliang114 in #12545
- feat(runtime-broker): reconcile executions on session takeover by @wenshao in #12964
- feat(managed-agent): Record Managed sessions as Managed Session logs (M4) by @wenshao in #12935
- fix(managed-agent): align the delayed-Runtime ordering proof with the 15-second criterion by @wenshao in #12967
- fix(core): isolate declarative subagent hooks by invocation by @qqqys in #12949
- fix(workflow): validate structured output schemas before dispatch by @qqqys in #12978
- fix(memory): preserve task lifecycle signals by @yiliang114 in #12917
- test(core): register the Skill tool in the resume listing fixture by @yiliang114 in #12996
- fix(cli): pin fast model to the selected provider endpoint by @yiliang114 in #12773
- refactor: anchor rewind mapping to stable prompt identity by @yiliang114 in #9466
- test(integration): disable managed auto-memory in advisor and telemetry CLI tests (#12979) by @qwen-code-dev-bot in #12981
- fix(e2e): Relax LLM-turn timeouts in monitor and cron interactive tests by @yiliang114 in #13002
- test(runtime-broker): Accept the takeover scan's settlement in the durable-local fault gate by @wenshao in #13000
- feat(web-shell): inspect trajectory records in place by @qqqys in #12971
- feat(managed-agent): Recover Workspace holders after trusted local reboot (W0e-3) by @doudouOUC in #12869
- fix(runtime-broker): read ready, seed and request integers exactly by @wenshao in #12972
- test(managed-agent): Accept a repeated cancel once an uncertain submit resolves by @wenshao in #13011
- fix(core): run safe Code Mode calls concurrently by @tanzhenxin in #12931
- fix(runtime-broker): Close the deferred W0c-2 findings from #12761 by @wenshao in #12975
- fix(core): align Code Mode text with lazy tool discovery by @tanzhenxin in #12990
- fix(permissions): honor approved cross-directory tool calls by @tanzhenxin in #12987
- fix(cli): stop swallowing Enter while completion suggestions load (#13015) by @qwen-code-dev-bot in #13021
- fix(cli): isolate daemon extension settings loads from shared process state by @yiliang114 in #13022
- test(managed-agent): record Hosted latency baseline by @wenshao in #12945
- feat(agents): add local workspace-agent collaboration by @yiliang114 in #11206
- feat(serve): implement generic Broker provider controls by @wenshao in #12868
- feat(managed-agent): enable G0 public Workspace file turns by @wenshao in #12955
- fix(serve): upload session attachments in 512 KiB chunks by @doudouOUC in #12923
- test(managed-agent): Pin M4 close anchors and the published definition (M4 follow-up) by @wenshao in #12995
- fix(cli): Bound how long a relaunched child outlives its supervisor by @wenshao in #13036
- test(managed-agent): gate provider retries and release ordering by @wenshao in #13061
- test(managed-agent): stop racing the recovery scanner in turn-claim tests by @wenshao in #13032
- fix(core): honor NO_PROXY for usage-statistics RUM uploads by @yiliang114 in #13023
- fix(runtime-broker): answer a refused provider start as unknown instead of prepared by @wenshao in #13064
- fix(runtime-broker): keep the UNKNOWN answer when the original Runtime cannot answer by @wenshao in #13069
- feat(sdk-java): Add audited Hosted Workspace operator recovery by @doudouOUC in #12977
- fix(workflow): reject unsupported scripts and oversized batches early by @qqqys in #13012
- fix(hooks): deliver pre-tool and ACP failure context to the model by @qqqys in #13006
- fix(core): keep delivered notification turns out of ACP rewind ordinals by @yiliang114 in #13029
- fix(core): honor usage-statistics opt-out for extension lifecycle events by @yiliang114 in #12789
- feat(memory): bundle Mem0 with the main CLI by @yiliang114 in #12891
- feat(agents): add A2A access and sharing for workspace agents by @yiliang114 in #12851
- feat(managed-agent): ask for Hosted tool approvals (D6a) by @wenshao in #13071
- fix(web-shell): prevent stats header overlap and raw JSON output by @qqqys in #13091
- fix(managed-agent): Settle task event and cancel semantics by @wenshao in #12998
- fix(managed-agent): guard queued Hosted approval expiry by @wenshao in #13098
- feat(managed-agent): Add durable remote Shell result delivery by @doudouOUC in #12894
- feat(managed-agent): Implement private Hosted MCP runtime (H1) by @wenshao in #12946
- perf(sdk-java): Serialize runtime broker JSON directly to bytes by @wenshao in #13108
- test(cli): give the settlement retry waitFors an explicit timeout (#13034) by @qwen-code-dev-bot in #13058
- test(managed-agent): state which coordinator refusal paths are real by @yiliang114 in #13099
- docs(managed-agent): name the real worker entry in the E2E README by @yiliang114 in #13093
- feat(managed-agent): Serve durable permission Actions (D6b) by @wenshao in #13101
- test(managed-agent): close the G0 admission follow-ups by @yiliang114 in #13095
- fix(web-shell): preserve large context usage snapshots by @qqqys in #13097
- fix(managed-agent): Complete tenant scope 403 contract by @yiliang114 in #13117
- feat(managed-agent): add verified W1a workspace cold restore by @doudouOUC in #13088
- feat(web-shell): add a collapsible trajectory waterfall by @qqqys in #13081
- test(managed-agent): Pin provider control refusal guards by @yiliang114 in #13118
- fix(managed-agent): Recover Hosted MCP release retries by @wenshao in #13109
- fix(managed-agent): Recover publication expiry with bounded verification by @doudouOUC in #13114
- test(core): compress the Core test suite without removing tests by @tanzhenxin in #13007
- fix(cli): Publish settings without a missing-file window by @doudouOUC in #13119
- fix(web-shell): keep inline chip annotations on the chip's real range by @yiliang114 in #12992
- fix(cli): persist scheduled cron prompts by @XIQIXIQIXIQI in #8838
- test(managed-agent): Cover G0 startup and cached refusals by @yiliang114 in #13116
- test(managed-agent): finish actor-scope failure diagnostics by @yiliang114 in #13127
- feat(managed-agent): project durable tool results to WebShell by @doudouOUC in #13037
- test(core): treat GitHub-hosted lanes as shared in the recall scan latency gate by @yiliang114 in #13094
- feat(managed-agent): Host Managed sessions in a private ACP child (M2) by @wenshao in #13131
- feat(managed-agent): Add hosted file history and undo by @wenshao in #13110
- fix(runtime-broker): renew the recovery claim through lost cleanup (#13017) by @wenshao in #13115
- test(integration): deflake the monitor tool call E2E against provider latency (#13001) by @qwen-code-dev-bot in #13005
- test(integration): subscribe to the session event stream before SIGKILLing the ACP child (#12925) by @qwen-code-dev-bot in #12930
- test(integration): disable managed auto-memory by default in E2E harnesses (#13009) by @qwen-code-dev-bot in #13013
- test(managed-agent): Close H0b record fixture gaps by @yiliang114 in #13120
- fix(core,cli): budget the bundled skill listing; drop OpenTUI's category heading without a provider total by @yiliang114 in #13159
- feat(web-shell): show and answer Hosted tool approvals in the Managed panel by @yiliang114 in #13107
- fix(core): deferred-tool selection rules in the reminder line and a reviewed-schema gate for tool_call by @yiliang114 in #13020
- feat(managed-agent): Hosted Turn takeover and G1 failover E2E by @wenshao in #13083
- feat(core): support Freeform input in Code Mode by @tanzhenxin in #13150
- fix(core): align exec output with Codex by @tanzhenxin in #13153
- feat(managed-agent): implement durable Hosted Hooks (H2) by @wenshao in #13129
- feat(core): allow concurrent Bash calls in Code Mode by @tanzhenxin in #13151
- fix(managed-hooks): bound Hook admission and cold restore cost by @wenshao in #13136
- chore: drop the unanchored workspace/ ignore rule that hides web-shell sources by @yiliang114 in #13155
- feat(managed-agent): Protect Session-owned tool output retirement by @doudouOUC in #13084
- fix(serve): Report Hosted Hook denials and conflicts accurately by @wenshao in #13137
- fix(managed-agent): Validate undo receipts and disclose backup limits by @wenshao in #13144
- fix(ci): stabilize hosted browser smoke gates by @yiliang114 in #13172
- ci(sdk-java): guard Flyway version uniqueness and watch red main runs by @wenshao in #12965
- feat(managed-agent): Add offline W1b recovery bundles by @doudouOUC in #13138
- fix(web-shell): stop the memory panel replacing a global QWEN.md it could not read by @yiliang114 in #13154
- feat(managed-agent): reliably close workspace-bound sessions by @doudouOUC in #13135
- fix(managed-agent): renumber session-close migration to V32 by @wenshao in #13223
- fix(web): pin fast model to the selected provider endpoint by @yiliang114 in #13227
- feat(core): resolve model limits and modalities from a models.dev catalog by @yiliang114 in #11959
- fix(web-shell): stop offering a Managed approval the viewer cannot answer by @yiliang114 in #13165
- feat(agents): add isolated remote Qwen runtime hosts by @yiliang114 in #12582
- feat(managed-agent): store immutable AgentDefinition revisions (Stage D8a) by @yiliang114 in #13142
- test(managed-agent): Disable MockMvc result printing in ManagedEventReplayTest by @wenshao in #13229
- fix(web-shell): preserve authentication fragment on offline retry by @jabrailkhalil in #13176
- fix(core): allow leading comments before workflow meta declaration (#12217) by @holny in #12651
- fix(cli): use Linux-specific unavailable message for clipboard paste (#12504) by @holny in #12507
- feat(managed-agent): archive and delete closed workspace sessions by @doudouOUC in #13194
- fix(core): stop misdiagnosing malformed tool-call args as max_tokens truncation by @yiliang114 in #12982
- test(core): pin CodeModeOnly bridge behavior at unit level by @waybarrios in #12497
- fix(serve): release only load-owned Hook Runtimes by @wenshao in #13195
- fix(core): recover a failed reminder-less notification turn as interrupted_prompt by @yiliang114 in #13126
- feat(qqbot): Accept inbound images and videos by @Eric-GoodBoy-Tech in #12850
- fix(acp): preserve configured OpenAI auth choice on model switches by @tanzhenxin in #13152
- fix(core): swap extension artifacts by copy when Windows locks the directory by @niheaven in #11889
- feat(managed-agent): Restore safe retired tool output collection by @doudouOUC in #13225
- fix(memory): preserve Markdown emphasis style during extraction by @yiliang114 in #13240
- feat(managed-agent): let a Workspace-bound Session's creator submit, cancel and rename by @yiliang114 in #13112
- test(managed-agent): Add tool output collection deployment gates by @doudouOUC in #13090
- feat(channels): add IMAP and SMTP email channel by @destire-mio in #12939
- feat(sdk-java): add SpotBugs high-confidence gate, CodeQL Java scan, Maven dependabot by @wenshao in #13216
- fix(managed-agent): Preserve writer and publication epoch deadlines by @yiliang114 in #13192
- feat(managed-agent): default durable local-process and trusted reboot recovery on by @wenshao in #13211
- fix(web-shell): skip corrupt managed SSE frames and merge gap resyncs by @wenshao in #13206
- feat(mobile): add scoped microphone consent (Phase 2) by @jabrailkhalil in #12127
- perf(extensions): load list metadata before selected details by @callmeYe in #12640
- test(feishu): isolate media dispatch coverage from external APIs by @jabrailkhalil in #13170
- feat(managed-agent): Run Managed session tools in a Runtime worker (M5a) by @wenshao in #13167
- fix(managed-agent): adopt the Runtime Session on a passive takeover by @wenshao in #13173
- fix(memory): keep MEMORY.md index link targets resolvable by @yiliang114 in #13156
- fix(cli): Harden settings failures and sandbox command streams by @doudouOUC in #13140
- fix(channels): clean up owned workers after config loss by @XIQIXIQIXIQI in #11071
- test(web-shell): pin the single-skip resync boundary and the stall threshold by @wenshao in #13277
- fix(ci): raise serve-ab handshake budget, report dead CodeQL nightlies, route trusted PR lanes to ECS by @yiliang114 in #13270
- fix(workflow): distinguish transport retry waits from stalls by @qqqys in #13274
- fix(core): cap the main-turn output clamp floor by the remaining window by @yiliang114 in #13286
- test(managed-agent): repair real-model mode of the managed-agent-server E2E runner by @wenshao in #13263
- fix(channels): pin channel-email on channel-base 0.24.7 by @wenshao in #13305
- fix(ci): sparse-check out the owner scripts as a cone directory by @wenshao in #13306
- fix(ci): assign PR owners through the REST assignees endpoint by @wenshao in #13310
- fix(serve): keep Hosted Sessions available across Shell publisher drain and lost acknowledgements by @wenshao in #13304
- fix(managed-agent): surface the named load refusal from mixed-version takeovers by @wenshao in #13349
- fix(managed-agent): retract the published prefix when a midstream retry replays by @wenshao in #13351
- fix(managed-agent): settle a deadline-exceeded hosted Turn as a classified failure by @wenshao in #13359
- fix(web-shell): restore the Managed approval retry budget on reload by @yiliang114 in #13294
- fix(cli): make the Hosted takeover load idempotent after a lost reply by @wenshao in #13350
- feat(managed-agent): persist Workspace session tool profiles by @yiliang114 in #13301
- fix(agents): distinguish accepted Host results from terminal runs by @yiliang114 in #13241
- fix(serve): queue a Workspace-bound hosted turn on a definite busy refusal by @wenshao in #13366
- test(core): wait for reap in supervisor-stopped hook case (#13356) by @wenshao in #13357
- feat(prompt): answer from conversation history before investigating by @Andrea-Bruno in #12580
- feat(memory): Opt-in selector skip for a unique new recall hit by @yiliang114 in #13158
- test(core): bound Hook history fixture for CI by @yiliang114 in #13382
- fix(cli): keep the /context estimate within the context window by @Shizoqua in #13246
- fix(managed-agent): stop gap-locked replay probes deadlocking same-tenant admission bursts by @wenshao in #13365
- fix(serve): let Web Shell trust a workspace without a terminal by @yiliang114 in #13146
- chore(managed-agent): swap JDBC pool from HikariCP to Druid by @wenshao in #13363
- fix(mobile): allow bracketed IPv6 loopback cleartext by @jabrailkhalil in #12963
- docs(cli): correct Hosted Runtime Broker option help by @Shxiao101 in #13141
- test(core): pin executionStatus for cancelled Shell result carrying error by @Shxiao101 in #13212
- feat(review): capture-tui — rendering claims get pixels, not prose by @wenshao in #9273
- fix(runtime-broker): close cross-process release race and harden scheduling by @wenshao in #13214
- test(integration): recognize sealed writer renewals in crash gate by @yiliang114 in #13385
- fix(web-shell): defer composer tag root unmount at all three sites by @yiliang114 in #13262
- test(web-shell): close the R2 review's managed-session test gaps on #12692 by @wenshao in #13346
- fix(managed-agent): stop database amplification on session hot paths by @wenshao in #13217
- feat(managed-agent): Add dev:managed-agent one-shot dev launcher by @wenshao in #13218
- fix(managed-agent): stop virtual-thread carrier pinning in the Hosted Harness stream and the Runtime Broker guards by @wenshao in #13388
- test(core): remove redundant tool registry override in resume matrix by @Shxiao101 in #13213
- fix(core): preserve original Code Mode Goal evidence by @yiliang114 in #13324
- fix(managed-agent): Close the H0c review follow-ups R3-6, R3-9, R3-10 and R3-11 by @wenshao in #13347
- test: fix hosted crash fencing and approval waits by @yiliang114 in #13380
- test(cli): give the unknown Hook fence waitFor an explicit timeout (#13316) by @qwen-code-dev-bot in #13323
- test(cli): give the settled file tool outcome waitFor an explicit timeout (#13408) by @qwen-code-dev-bot in #13411
- test(managed-agent): Close the H0c review Suggestions R2-1, R2-2, R3-4, R3-5, R3-7, R3-8 and R3-12 by @wenshao in #13345
- test(integration): make the caller-supplied session ID serve-routes test retry-safe (#13417) by @qwen-code-dev-bot in #13418
- fix(core): close managed-record validation gaps left from PR #12302 review by @wenshao in #13311
- fix(managed-agent): harden and diagnose Hosted cold-load refusal gates by @wenshao in #13361
- test(integration): stop relaying hop-by-hop headers through the Hosted store proxy by @wenshao in #13419
- feat(managed-agent): broker authentication and broker-provisioned writer credentials by @wenshao in #13210
- fix(managed-agent): Back off protected output collection candidates by @doudouOUC in #13296
- fix(core): allow plaintext HTTP opt-in in session-store tests by @yiliang114 in #13434
- fix(cli): deny outside Host tools before permission handling by @yiliang114 in #13406
- test(email): give the denied-sender admission waitFor an explicit timeout (#13433) by @qwen-code-dev-bot in #13438
- feat(web-shell): add adaptive navigation rail and unified Live settings by @ytahdn in #12943
New Contributors
- @jkxiao made their first contribution in #12182
- @BlackishGreen33 made their first contribution in #12625
- @yc2bgr8 made their first contribution in #12555
- @sxh313 made their first contribution in #11950
- @holny made their first contribution in #12581
- @JuampiHernandez made their first contribution in #12646
- @liwenjie200543 made their first contribution in #12697
- @banned2054 made their first contribution in #12118
- @Oscar-Williams made their first contribution in #12250
- @pratikgx made their first contribution in #12717
- @sherxlg-gif made their first contribution in #12163
- @waybarrios made their first contribution in #12497
- @niheaven made their first contribution in #11889
- @Andrea-Bruno made their first contribution in #12580
- @Shizoqua made their first contribution in #13246
- @Shxiao101 made their first contribution in #13141
Full Changelog: cua-driver-rs-v0.20.11...desktop-v0.25.0