What's Changed
- refactor(dingtalk): remove obsolete background response aggregation by @qqqys in #11570
- feat(channels)!: remove message prefix filtering by @qqqys in #11571
- fix(ci): widen the replayed supersede-cede timeline margin to deflake Scripts by @wenshao in #11581
- test(review): pin the fold invariant the per-line escape rests on by @wenshao in #11533
- fix(autofix): charge regressions to the brake and gate test weakening by @wenshao in #10188
- fix(acp): Preserve submitted prompt provenance for auto recall by @doudouOUC in #11455
- fix(serve): restore configured channels after restart by @qqqys in #11472
- feat(goal): start approved Web Shell proposals after their owning turn by @qqqys in #11360
- refactor(core): move the web_search DashScope client behind a backend interface by @qqqys in #11490
- fix(serve): load persisted MCP config after ACP preheat at startup by @kabishou11 in #11145
- fix(vscode-ide-companion): resolve diff paths once in DiffManager by @CanReader in #10494
- feat(sdk): add a peer endpoint so a program outside Qwen Code can join cross-session messaging by @qqqys in #11560
- feat(goal): stop a Goal at a turn or an active-time budget by @qqqys in #11457
- perf(core): drop the redundant history clone in session recovery planning by @DragonnZhang in #11595
- fix(core): free an exited web terminal's PTY resources at exit time by @yiliang114 in #11572
- test(integration): assert successful /compress token reduction by @yu-xin-c in #11259
- fix(ci): retry transient E2E build artifact upload failures once (#11364) by @qwen-code-dev-bot in #11375
- feat(web-shell): route scheduled runs by model and group by @qqqys in #11396
- feat(web-shell): enrich browser notifications and open target sessions by @doudouOUC in #11447
- feat(web-shell): improve composer and context usage presentation by @wenshao in #11509
- feat(live): add visual input, proactive assistance and memory by @wangxiongts in #11369
- fix(bridge): preserve child error detail on session explicit-close and kill paths (#11123) by @now-ing in #11190
- feat(review): focus automatic static navigation reviews by @wenshao in #11456
- fix(web-shell): persist cancelled responses and elapsed time by @ytahdn in #11608
- feat(subagents): add Codex executor and native agent builtins by @wenshao in #11474
- fix(ci): pin the fleet install to the /usr/local prefix by @yiliang114 in #11593
- fix(core): recover from rejected Responses encrypted reasoning by @DragonnZhang in #11596
- feat(core): add CodeModeOnly tool execution by @DragonnZhang in #10607
- fix(goal): strip fences and retry the checkpoint verifier on the shapes a note can fix by @qqqys in #11578
- fix(web-shell): show source retry only after load failure by @callmeYe in #11629
- chore(core): remove the unused trusted hooks manager and implement unregisterSkillHooks by @qqqys in #11621
- fix(core): route plain-text hook stdout to additionalContext for prompt and session events by @qqqys in #11612
- fix(cli): close the OpenTUI renderer's parity gaps against ink by @chiga0 in #11630
- fix(core): mark reattached image snapshots as potentially outdated by @yiliang114 in #11602
- feat(workflows): move the authoring reference into a bundled skill by @qqqys in #11520
- feat(web-shell): hide sources panel add-source button behind URL flag by @callmeYe in #11639
- feat(channels): show channel turns exactly as the model receives them by @qqqys in #11646
- fix(vscode): localize rewind preflight errors by @yiliang114 in #11628
- feat(web-shell): add web previews with saved delivery history by @wenshao in #11276
- feat(web-shell): Edit and resend the latest user message by @ytahdn in #11650
- fix(core): preserve Responses retry metadata and assistant phases by @DragonnZhang in #11652
- fix(cli): keep the expanded confirmation dialog inside the viewport by @qwen-code-dev-bot in #11656
- fix(core): retry transient server errors in established streams by @DragonnZhang in #11634
- test(integration): isolate the QWEN_HOME-unset case from the real $HOME (#10900) by @qwen-code-dev-bot in #10920
- fix(vscode): preserve IDE workspace env var on Remote-SSH (#11556) by @yiliang114 in #11624
- test(core): pin the deferred exit-time PTY release against trailing output by @yiliang114 in #11585
- fix(vscode): give the edit back when a permission diff is closed by @yiliang114 in #11171
- feat(core): add permission_mode, agent_id and prompt_id to every hook input by @qqqys in #11618
- chore(core): cover every hook event in the settings schema and hook bus by @qqqys in #11620
- fix(goal): persist why a checkpoint failed and show it before the Goal stops by @qqqys in #11576
- fix(web-shell): suppress abort toasts on preflight rejection by @yiliang114 in #11676
- feat(web-shell): continue interrupted sessions by @wenshao in #11545
- fix(core): redact request-body prefix in Responses debug logs by @yiliang114 in #11668
- fix(web-shell): label blocked goal cards correctly by @yu-xin-c in #11174
- fix(cli): quiesce the fire-and-forget serve handler across tests by @qwen-code-dev-bot in #11417
- fix(core): keep Responses reasoning replay data off foreign wires by @yiliang114 in #11567
- feat(skills): extension skills are named by their extension by @nerdalytics in #10841
- fix(web-shell): close the trust-gate and bystander gaps in the local-files bridge by @wenshao in #11169
- fix(core): place DashScope cache breakpoint before reattached images by @yiliang114 in #11640
- fix(core): report real stop_hook_active on Stop hooks by @qqqys in #11613
- fix(core): cite web search sources as bare URLs by @qqqys in #11677
- fix(acp-bridge): reject unlimited cgroup sentinel for ACP child heaps by @doudouOUC in #11653
- fix(core): prevent duplicate task owner dispatch by @AaronZ345 in #10237
- refactor(web-shell): share sidebar test harness by @bluefateludi in #9797
- feat(vscode): add an explicit session source switch by @yiliang114 in #11584
- feat(core): auto-retry transient network errors (EOF) where Ctrl+Y is unavailable by @qwen-code-dev-bot in #10347
- fix(core)!: read command hook timeout in seconds by @qqqys in #11615
- fix(telemetry): gate request_text/response_text on logPrompts by @yiliang114 in #11670
- docs(daemon): publish the REST API reference by @yiliang114 in #11592
- chore: enforce Playwright version parity and close the deferred #11101 follow-ups by @yiliang114 in #11371
- chore(pnpm): gate pnpm-lock on package-lock and declare hoisted imports by @yiliang114 in #11625
- test(lockfile): pin the Playwright parity check's first manifest and both nested directions by @yiliang114 in #11716
- fix(vscode): unify session history and remove source switch by @yiliang114 in #11713
- fix(acp): preserve original filenames in resource-link prompts by @zhangxy-zju in #11721
- fix(vscode): shut the ACP CLI down gracefully instead of killing it by @yiliang114 in #11642
- docs(vscode): record the cross-source delete consequence by @yiliang114 in #11730
- docs(daemon): describe the prompt rate-limit and queue-full responses separately by @yiliang114 in #11733
- fix(core): redact error text in usage-statistics telemetry sink by @yiliang114 in #11649
- fix(core): reap surviving hook process trees on Windows by @yiliang114 in #11623
- fix(core): compute cron next-fire time with epoch arithmetic across DST fall-back by @yiliang114 in #11723
- fix(goal): remove backtracking fence unwrap from judge replies by @yiliang114 in #11693
- fix(core): keep the mirrored reasoning field off Fireworks requests by @bluefateludi in #11701
- fix(core): fire active-todo reminders at delegation boundaries and user turns by @yiliang114 in #10963
New Contributors
- @kabishou11 made their first contribution in #11145
- @CanReader made their first contribution in #10494
- @wangxiongts made their first contribution in #11369
Full Changelog: v0.23.3...v0.23.3-nightly.20260912.54aa66834b