<!-- 使用 .github/release.yml 中的配置生成发布说明,位于 release/v0.19.10-nightly.20260716.506ce0a1a -->
## 更新内容
* docs(review): 重复审阅轮次后限制 PR 范围 by @wenshao in https://github.com/QwenLM/qwen-code/pull/6848
* feat(web-shell): 添加工作区路径锁定 by @ytahdn in https://github.com/QwenLM/qwen-code/pull/6853
* fix(web-shell): 改进文件搜索和编辑器焦点 by @ytahdn in https://github.com/QwenLM/qwen-code/pull/6845
* fix(web-shell): 防止编辑器标签更新循环 by @ytahdn in https://github.com/QwenLM/qwen-code/pull/6859
* feat(web-shell): 添加扩展管理页面 by @ytahdn in https://github.com/QwenLM/qwen-code/pull/6815
* fix(web-shell): 使编辑器高度自适应 by @dreamWB in https://github.com/QwenLM/qwen-code/pull/6872
* fix(web-shell): 移除 ChatEditor 中重复的 useWebShellPortalRoot 导入 by @C0d3N1nja97342 in https://github.com/QwenLM/qwen-code/pull/6890
* fix(ci): 跳过空的 SDK 发布 PR by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/6861
* fix(ci): 避免在自托管 Playwright 冒烟测试中使用 apt by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/6865
* fix(webui): 遵循后续接受回调的抑制 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/6862
* feat(core): 为静默前台 shell 命令发送存活心跳 by @doudouOUC in https://github.com/QwenLM/qwen-code/pull/6876
* feat(cli): VP 模式用户体验改进 by @chiga0 in https://github.com/QwenLM/qwen-code/pull/6885
* fix(cli): 换行长版紧凑工具摘要 by @han-dreamer in https://github.com/QwenLM/qwen-code/pull/6847
* fix(web-shell): 跨重载保持折叠的会话组区域 by @samuelhsin in https://github.com/QwenLM/qwen-code/pull/6878
* ci(release): 异步完成稳定版本发布 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/6868
* fix(cli): 避免更新活动的 CLI 进程 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/6874
* fix(dingtalk): 刷新入站媒体的 token by @qqqys in https://github.com/QwenLM/qwen-code/pull/6903
* feat(acp): 暴露工具调用准备生命周期 by @ran411285752 in https://github.com/QwenLM/qwen-code/pull/6819
* fix(vscode): 在 Electron Node 模式下运行 ACP 进程 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/6866
* feat(channels): 添加结构化通道内存管理 by @qqqys in https://github.com/QwenLM/qwen-code/pull/6860
* feat(ci): 添加自动化 PR 失败巡检 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/6766
* feat(scripts): 添加本地 PR 验证门禁 by @callmeYe in https://github.com/QwenLM/qwen-code/pull/6873
* fix(cli): 在待处理视口限制内保持 exit_plan_mode 计划可见 (#6867) by @C0d3N1nja97342 in https://github.com/QwenLM/qwen-code/pull/6882
* fix(test): 跨并发 CI 作业隔离企业微信临时文件 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/6908
* fix(core): 保留格式错误工具结果的显示输出 by @morluto in https://github.com/QwenLM/qwen-code/pull/6925
* fix(vscode-companion): 准确的图片尺寸消息和 formatFileSize 单位 by @chinesepowered in https://github.com/QwenLM/qwen-code/pull/6904
* fix(vscode-companion): 防止非边界 @ 抑制 / 补全 by @chinesepowered in https://github.com/QwenLM/qwen-code/pull/6902
* feat(web-shell): 向宿主暴露会话控制 by @dreamWB in https://github.com/QwenLM/qwen-code/pull/6906
* feat(channels): 支持钉钉 webhook 投递至私聊 by @BenGuanRan in https://github.com/QwenLM/qwen-code/pull/6891
* feat(core): 添加 PDF 视觉桥接回退机制 by @doudouOUC in https://github.com/QwenLM/qwen-code/pull/6846
* fix(cli): 预览信任检查时不修改缓存的 trusted-folders 配置 by @AriaZhao-coder in https://github.com/QwenLM/qwen-code/pull/6900
* feat(cli): 添加 general.notificationMode 以静默单次审批通知 (#6898) by @C0d3N1nja97342 in https://github.com/QwenLM/qwen-code/pull/6922
* fix(mcp): 只读自动审批需信任 by @morluto in https://github.com/QwenLM/qwen-code/pull/6924
* fix(cli): 将 FETCH_TIMEOUT_MS 应用于 /update 版本检查并记录 fetchInfo 结果 (#6857) by @C0d3N1nja97342 in https://github.com/QwenLM/qwen-code/pull/6887
* fix(core): 在微压缩中包含技能结果 by @han-dreamer in https://github.com/QwenLM/qwen-code/pull/6788
* feat(web-shell): 使用弹出层作为编辑器控件 by @ytahdn in https://github.com/QwenLM/qwen-code/pull/6877
* fix(core): 处理代理传来的未签名 Claude 思考内容 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/6893
* feat(cli): 将默认审批模式从 default 改为 auto by @pomelo-nwu in https://github.com/QwenLM/qwen-code/pull/6899
* fix(config): 拒绝会话和工具调用限制中的小数 by @morluto in https://github.com/QwenLM/qwen-code/pull/6920
* fix(web-shell): 强化非主会话归档操作 by @doudouOUC in https://github.com/QwenLM/qwen-code/pull/6912
* fix(core): 清理独立的结束思考标签 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/6854
* fix(webui): 通过 prev state 路由 useLocalStorage 函数式更新 by @chinesepowered in https://github.com/QwenLM/qwen-code/pull/6905
* feat(cli): 添加 /learn 命令以支持用户发起的技能创建 by @LaZzyMan in https://github.com/QwenLM/qwen-code/pull/6440
* fix(core): 将 shell 超时归类为工具错误 by @doudouOUC in https://github.com/QwenLM/qwen-code/pull/6864
* fix(web-shell): 恢复 portal root hook 导入 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/6934
* feat(web-shell): 在 PR 上自动发布视觉预览(截图 + 流程 GIF) by @wenshao in https://github.com/QwenLM/qwen-code/pull/6880
* fix(review): 证明 diff 已读,构建每个 agent 的 prompt,并计算结论 by @wenshao in https://github.com/QwenLM/qwen-code/pull/6892
* feat(daemon): 添加不可变的会话源元数据 by @ytahdn in https://github.com/QwenLM/qwen-code/pull/6932
* fix(core): 回滚失败的 max-token 连续生成尝试 by @morluto in https://github.com/QwenLM/qwen-code/pull/6921
* fix(cli): 将提交测试与继承的 QWEN_CODE_SESSION_ID 隔离 by @qwen-code-dev-bot in https://github.com/QwenLM/qwen-code/pull/6944
* feat(web-shell): 为 Mermaid 图表添加缩放、平移和拖拽控件 by @yuanyuanAli in https://github.com/QwenLM/qwen-code/pull/6881
* feat(review): 在代码中构建第 4 步验证器和第 5 步反向审计提示词 by @wenshao in https://github.com/QwenLM/qwen-code/pull/6942
* feat(web-shell): 最大化单个拆分面板 by @wenshao in https://github.com/QwenLM/qwen-code/pull/6951
* ci(web-shell): 停止在仅 SDK 的 PR 上触发视觉预览 by @wenshao in https://github.com/QwenLM/qwen-code/pull/6959
* feat(cli): 添加归档会话导出功能 by @doudouOUC in https://github.com/QwenLM/qwen-code/pull/6911
* fix(web-shell): 在窄版编辑器中显示工作区标签提示 by @wenshao in https://github.com/QwenLM/qwen-code/pull/6958
* fix(test): 在 stdin-close E2E 测试中放宽第二轮阶段超时时间 (#6966) by @qwen-code-dev-bot in https://github.com/QwenLM/qwen-code/pull/6973
* feat(web-shell): 显示等待用户操作的会话 by @ytahdn in https://github.com/QwenLM/qwen-code/pull/6956
* fix(wecom): 防止 requireMention 禁用群聊 by @BenGuanRan in https://github.com/QwenLM/qwen-code/pull/6948
* fix(cua-driver): 增强 MCP 工具的可靠性 by @LaZzyMan in https://github.com/QwenLM/qwen-code/pull/6968
* feat(review): 证明第 4 步(验证)和第 5 步(反向审计)已实际运行 by @wenshao in https://github.com/QwenLM/qwen-code/pull/6965
* ci: 将 cron-interactive 从 push E2E 隔离至仅夜间构建 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/6986
* fix(cron): 为 cron-interactive E2E 添加确定性测试插口 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/6987
* feat(channels): 支持自然内存引用 by @qqqys in https://github.com/QwenLM/qwen-code/pull/6952
* chore: 将默认模型更新为 qwen3.7-max by @qwen-code-dev-bot in https://github.com/QwenLM/qwen-code/pull/6978
* feat(daemon): 添加无状态生成 SSE by @ytahdn in https://github.com/QwenLM/qwen-code/pull/6947
* fix(test): 为提升 CI 稳定性,在 SDK E2E 测试中放宽模型响应超时时间 (#6979) by @qwen-code-dev-bot in https://github.com/QwenLM/qwen-code/pull/6985
## 新贡献者
* @ran411285752 在 https://github.com/QwenLM/qwen-code/pull/6819 首次贡献
* @morluto 在 https://github.com/QwenLM/qwen-code/pull/6925 首次贡献
* @AriaZhao-coder 在 https://github.com/QwenLM/qwen-code/pull/6900 首次贡献
**完整更新日志**: https://github.com/QwenLM/qwen-code/compare/v0.19.10...v0.19.10-nightly.20260716.506ce0a1a
<!-- Release notes generated using configuration in .github/release.yml at release/v0.19.10-nightly.20260716.506ce0a1a -->
## What's Changed
* docs(review): cap PR scope after repeated review rounds by @wenshao in https://github.com/QwenLM/qwen-code/pull/6848
* feat(web-shell): add workspace path lock by @ytahdn in https://github.com/QwenLM/qwen-code/pull/6853
* fix(web-shell): improve file search and composer focus by @ytahdn in https://github.com/QwenLM/qwen-code/pull/6845
* fix(web-shell): prevent composer tag update loop by @ytahdn in https://github.com/QwenLM/qwen-code/pull/6859
* feat(web-shell): add extension management page by @ytahdn in https://github.com/QwenLM/qwen-code/pull/6815
* fix(web-shell): make composer height adaptive by @dreamWB in https://github.com/QwenLM/qwen-code/pull/6872
* fix(web-shell): remove duplicate useWebShellPortalRoot import in ChatEditor by @C0d3N1nja97342 in https://github.com/QwenLM/qwen-code/pull/6890
* fix(ci): skip empty SDK release PR by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/6861
* fix(ci): avoid apt on self-hosted Playwright smoke by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/6865
* fix(webui): honor follow-up accept callback suppression by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/6862
* feat(core): emit liveness heartbeats for silent foreground shell commands by @doudouOUC in https://github.com/QwenLM/qwen-code/pull/6876
* feat(cli): VP mode UX improvements by @chiga0 in https://github.com/QwenLM/qwen-code/pull/6885
* fix(cli): wrap long compact tool summaries by @han-dreamer in https://github.com/QwenLM/qwen-code/pull/6847
* fix(web-shell): persist collapsed session group sections across reload by @samuelhsin in https://github.com/QwenLM/qwen-code/pull/6878
* ci(release): finalize stable releases asynchronously by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/6868
* fix(cli): avoid updating active CLI processes by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/6874
* fix(dingtalk): refresh token for inbound media by @qqqys in https://github.com/QwenLM/qwen-code/pull/6903
* feat(acp): expose tool-call preparation lifecycle by @ran411285752 in https://github.com/QwenLM/qwen-code/pull/6819
* fix(vscode): run ACP process in Electron Node mode by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/6866
* feat(channels): add structured channel memory management by @qqqys in https://github.com/QwenLM/qwen-code/pull/6860
* feat(ci): add automated PR failure patrol by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/6766
* feat(scripts): add local PR verification gate by @callmeYe in https://github.com/QwenLM/qwen-code/pull/6873
* fix(cli): keep exit_plan_mode plan visible inside the pending viewport clamp (#6867) by @C0d3N1nja97342 in https://github.com/QwenLM/qwen-code/pull/6882
* fix(test): isolate WeCom temporary files across concurrent CI jobs by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/6908
* fix(core): preserve display output for malformed tool results by @morluto in https://github.com/QwenLM/qwen-code/pull/6925
* fix(vscode-companion): accurate image-size messages and formatFileSize units by @chinesepowered in https://github.com/QwenLM/qwen-code/pull/6904
* fix(vscode-companion): don't let a non-boundary @ suppress / completion by @chinesepowered in https://github.com/QwenLM/qwen-code/pull/6902
* feat(web-shell): expose session controls to hosts by @dreamWB in https://github.com/QwenLM/qwen-code/pull/6906
* feat(channels): support DingTalk webhook delivery to direct messages by @BenGuanRan in https://github.com/QwenLM/qwen-code/pull/6891
* feat(core): add PDF vision bridge fallback by @doudouOUC in https://github.com/QwenLM/qwen-code/pull/6846
* fix(cli): don't mutate cached trusted-folders config on preview trust check by @AriaZhao-coder in https://github.com/QwenLM/qwen-code/pull/6900
* feat(cli): add general.notificationMode to silence per-approval notifications (#6898) by @C0d3N1nja97342 in https://github.com/QwenLM/qwen-code/pull/6922
* fix(mcp): require trust for read-only auto-approval by @morluto in https://github.com/QwenLM/qwen-code/pull/6924
* fix(cli): apply FETCH_TIMEOUT_MS to /update version check and log fetchInfo results (#6857) by @C0d3N1nja97342 in https://github.com/QwenLM/qwen-code/pull/6887
* fix(core): include skill results in microcompaction by @han-dreamer in https://github.com/QwenLM/qwen-code/pull/6788
* feat(web-shell): use popovers for composer controls by @ytahdn in https://github.com/QwenLM/qwen-code/pull/6877
* fix(core): handle unsigned Claude thinking from proxies by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/6893
* feat(cli): change default approval mode from default to auto by @pomelo-nwu in https://github.com/QwenLM/qwen-code/pull/6899
* fix(config): reject fractional session and tool-call limits by @morluto in https://github.com/QwenLM/qwen-code/pull/6920
* fix(web-shell): Harden non-primary session archive actions by @doudouOUC in https://github.com/QwenLM/qwen-code/pull/6912
* fix(core): sanitize standalone closing thinking tags by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/6854
* fix(webui): route useLocalStorage functional updates through prev state by @chinesepowered in https://github.com/QwenLM/qwen-code/pull/6905
* feat(cli): add /learn command for user-initiated skill creation by @LaZzyMan in https://github.com/QwenLM/qwen-code/pull/6440
* fix(core): Classify shell timeouts as tool errors by @doudouOUC in https://github.com/QwenLM/qwen-code/pull/6864
* fix(web-shell): restore portal root hook import by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/6934
* feat(web-shell): auto-post visual previews (screenshots + flow GIFs) on PRs by @wenshao in https://github.com/QwenLM/qwen-code/pull/6880
* fix(review): prove the diff was read, build every agent's prompt, and compute the verdict by @wenshao in https://github.com/QwenLM/qwen-code/pull/6892
* feat(daemon): add immutable session source metadata by @ytahdn in https://github.com/QwenLM/qwen-code/pull/6932
* fix(core): roll back failed max-token continuation attempts by @morluto in https://github.com/QwenLM/qwen-code/pull/6921
* fix(cli): isolate submit tests from inherited QWEN_CODE_SESSION_ID by @qwen-code-dev-bot in https://github.com/QwenLM/qwen-code/pull/6944
* feat(web-shell): add zoom, pan and drag controls to Mermaid diagrams by @yuanyuanAli in https://github.com/QwenLM/qwen-code/pull/6881
* feat(review): build the Step 4 verifier and Step 5 reverse-audit prompts in code by @wenshao in https://github.com/QwenLM/qwen-code/pull/6942
* feat(web-shell): maximize a single split pane by @wenshao in https://github.com/QwenLM/qwen-code/pull/6951
* ci(web-shell): stop visual previews firing on SDK-only PRs by @wenshao in https://github.com/QwenLM/qwen-code/pull/6959
* feat(cli): Add archived session export by @doudouOUC in https://github.com/QwenLM/qwen-code/pull/6911
* fix(web-shell): show workspace chip tooltip on narrow composer by @wenshao in https://github.com/QwenLM/qwen-code/pull/6958
* fix(test): widen second-turn phase timeouts in stdin-close E2E test (#6966) by @qwen-code-dev-bot in https://github.com/QwenLM/qwen-code/pull/6973
* feat(web-shell): show sessions awaiting user action by @ytahdn in https://github.com/QwenLM/qwen-code/pull/6956
* fix(wecom): prevent requireMention from disabling group chat by @BenGuanRan in https://github.com/QwenLM/qwen-code/pull/6948
* fix(cua-driver): harden MCP tool reliability by @LaZzyMan in https://github.com/QwenLM/qwen-code/pull/6968
* feat(review): prove Step 4 (verify) and Step 5 (reverse audit) actually ran by @wenshao in https://github.com/QwenLM/qwen-code/pull/6965
* ci: quarantine cron-interactive from push E2E to nightly-only by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/6986
* fix(cron): add deterministic test seam for cron-interactive E2E by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/6987
* feat(channels): support natural memory references by @qqqys in https://github.com/QwenLM/qwen-code/pull/6952
* chore: update default model to qwen3.7-max by @qwen-code-dev-bot in https://github.com/QwenLM/qwen-code/pull/6978
* feat(daemon): add stateless generation SSE by @ytahdn in https://github.com/QwenLM/qwen-code/pull/6947
* fix(test): widen model-response timeouts in SDK E2E tests for CI stability (#6979) by @qwen-code-dev-bot in https://github.com/QwenLM/qwen-code/pull/6985
## New Contributors
* @ran411285752 made their first contribution in https://github.com/QwenLM/qwen-code/pull/6819
* @morluto made their first contribution in https://github.com/QwenLM/qwen-code/pull/6925
* @AriaZhao-coder made their first contribution in https://github.com/QwenLM/qwen-code/pull/6900
**Full Changelog**: https://github.com/QwenLM/qwen-code/compare/v0.19.10...v0.19.10-nightly.20260716.506ce0a1a