github QwenLM/qwen-code desktop-v0.25.0
Qwen Code Desktop v0.25.0

2 hours ago

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 reconnect by @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

Full Changelog: cua-driver-rs-v0.20.11...desktop-v0.25.0

Don't miss a new qwen-code release

NewReleases is sending notifications on new releases.