<!-- 使用 release/v0.23.3-nightly.20260912.54aa66834b 分支中 .github/release.yml 的配置生成发布说明 -->
## 更新内容
* refactor(dingtalk): 移除过时的后台响应聚合 by @qqqys in https://github.com/QwenLM/qwen-code/pull/11570
* feat(channels)!: 移除消息前缀过滤 by @qqqys in https://github.com/QwenLM/qwen-code/pull/11571
* fix(ci): 扩大重放的替代/移交时间线边距以消除 Scripts 测试的不稳定性 by @wenshao in https://github.com/QwenLM/qwen-code/pull/11581
* test(review): 固定每行转义所依赖的折叠不变量 by @wenshao in https://github.com/QwenLM/qwen-code/pull/11533
* fix(autofix): 将回归问题归因于刹车与门禁测试的弱化 by @wenshao in https://github.com/QwenLM/qwen-code/pull/10188
* fix(acp): 为自动召回保留已提交提示词的原生来源 by @doudouOUC in https://github.com/QwenLM/qwen-code/pull/11455
* fix(serve): 重启后恢复已配置的频道 by @qqqys in https://github.com/QwenLM/qwen-code/pull/11472
* feat(goal): 在所属回合后启动已批准的 Web Shell 提案 by @qqqys in https://github.com/QwenLM/qwen-code/pull/11360
* refactor(core): 将 web_search DashScope 客户端移至后端接口之后 by @qqqys in https://github.com/QwenLM/qwen-code/pull/11490
* fix(serve): 启动时 ACP 预热后加载持久化的 MCP 配置 by @kabishou11 in https://github.com/QwenLM/qwen-code/pull/11145
* fix(vscode-ide-companion): 在 DiffManager 中仅解析一次 diff 路径 by @CanReader in https://github.com/QwenLM/qwen-code/pull/10494
* feat(sdk): 添加对等端点,使 Qwen Code 外部程序可加入跨会话消息传递 by @qqqys in https://github.com/QwenLM/qwen-code/pull/11560
* feat(goal): 在指定回合或活跃时间预算耗尽时停止 Goal by @qqqys in https://github.com/QwenLM/qwen-code/pull/11457
* perf(core): 在会话恢复规划中移除冗余的历史记录克隆 by @DragonnZhang in https://github.com/QwenLM/qwen-code/pull/11595
* fix(core): 在退出时释放已退出的 Web 终端的 PTY 资源 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/11572
* test(integration): 断言 /compress 令牌压缩成功 by @yu-xin-c in https://github.com/QwenLM/qwen-code/pull/11259
* fix(ci): 重试一次瞬态 E2E 构建产物上传失败问题 (#11364) by @qwen-code-dev-bot in https://github.com/QwenLM/qwen-code/pull/11375
* feat(web-shell): 按模型和组路由计划运行任务 by @qqqys in https://github.com/QwenLM/qwen-code/pull/11396
* feat(web-shell): 丰富浏览器通知并打开目标会话 by @doudouOUC in https://github.com/QwenLM/qwen-code/pull/11447
* feat(web-shell): 改进 Composer 和上下文使用情况的展示 by @wenshao in https://github.com/QwenLM/qwen-code/pull/11509
* feat(live): 添加视觉输入、主动辅助和记忆功能 by @wangxiongts in https://github.com/QwenLM/qwen-code/pull/11369
* fix(bridge): 在会话显式关闭和终止路径中保留子级错误详情 (#11123) by @now-ing in https://github.com/QwenLM/qwen-code/pull/11190
* feat(review): 聚焦自动静态导航审查 by @wenshao in https://github.com/QwenLM/qwen-code/pull/11456
* fix(web-shell): 持久化已取消的响应及已用时间 by @ytahdn in https://github.com/QwenLM/qwen-code/pull/11608
* feat(subagents): 添加 Codex 执行器和原生代理内置函数 by @wenshao in https://github.com/QwenLM/qwen-code/pull/11474
* fix(ci): 将集群安装固定到 /usr/local 前缀 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/11593
* fix(core): 从被拒绝的 Responses 加密推理中恢复 by @DragonnZhang in https://github.com/QwenLM/qwen-code/pull/11596
* feat(core): 添加仅代码模式工具执行 by @DragonnZhang in https://github.com/QwenLM/qwen-code/pull/10607
* fix(goal): 移除围栏并针对笔记可修复的形状重试检查点验证器 by @qqqys in https://github.com/QwenLM/qwen-code/pull/11578
* fix(web-shell): 仅在加载失败后显示源重试 by @callmeYe in https://github.com/QwenLM/qwen-code/pull/11629
* chore(core): 移除未使用的可信钩子管理器并实现 unregisterSkillHooks by @qqqys in https://github.com/QwenLM/qwen-code/pull/11621
* fix(core): 将纯文本钩子 stdout 路由到 additionalContext 以处理提示词和会话事件 by @qqqys in https://github.com/QwenLM/qwen-code/pull/11612
* fix(cli): 弥补 OpenTUI 渲染器与 ink 之间的功能差异 by @chiga0 in https://github.com/QwenLM/qwen-code/pull/11630
* fix(core): 将重新附加的图像快照标记为可能过时 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/11602
* feat(workflows): 将创作参考移至捆绑技能中 by @qqqys in https://github.com/QwenLM/qwen-code/pull/11520
* feat(web-shell): 将 Sources 面板的添加源按钮隐藏于 URL 标志后 by @callmeYe in https://github.com/QwenLM/qwen-code/pull/11639
* feat(channels): 按模型接收到的原始格式展示频道回合 by @qqqys in https://github.com/QwenLM/qwen-code/pull/11646
* fix(vscode): 本地化回退预检错误 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/11628
* feat(web-shell): 添加带有已保存交付历史的 Web 预览 by @wenshao in https://github.com/QwenLM/qwen-code/pull/11276
* feat(web-shell): 编辑并重新发送最新用户消息 by @ytahdn in https://github.com/QwenLM/qwen-code/pull/11650
* fix(core): 保留 Responses 重试元数据及助手阶段 by @DragonnZhang in https://github.com/QwenLM/qwen-code/pull/11652
* fix(cli): 保持展开的确认对话框位于视口内 by @qwen-code-dev-bot in https://github.com/QwenLM/qwen-code/pull/11656
* fix(core): 在已建立的流中重试瞬态服务器错误 by @DragonnZhang in https://github.com/QwenLM/qwen-code/pull/11634
* test(integration): 将未设置 QWEN_HOME 的情况与真实 $HOME 隔离 (#10900) by @qwen-code-dev-bot in https://github.com/QwenLM/qwen-code/pull/10920
* fix(vscode): 在 Remote-SSH 上保留 IDE 工作区环境变量 (#11556) by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/11624
* test(core): 针对尾部输出固定延迟退出时 PTY 的释放 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/11585
* fix(vscode): 关闭权限差异视图时恢复编辑 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/11171
* feat(core): 向每个 hook 输入添加 permission_mode、agent_id 和 prompt_id by @qqqys in https://github.com/QwenLM/qwen-code/pull/11618
* chore(core): 在设置模式和 hook 总线中覆盖所有 hook 事件 by @qqqys in https://github.com/QwenLM/qwen-code/pull/11620
* fix(goal): 持久化检查点失败的原因,并在 Goal 停止前展示 by @qqqys in https://github.com/QwenLM/qwen-code/pull/11576
* fix(web-shell): 在预检拒绝时抑制中止提示 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/11676
* feat(web-shell): 继续中断的会话 by @wenshao in https://github.com/QwenLM/qwen-code/pull/11545
* fix(core): 在 Responses 调试日志中脱敏请求体前缀 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/11668
* fix(web-shell): 正确标记被阻止的 Goal 卡片 by @yu-xin-c in https://github.com/QwenLM/qwen-code/pull/11174
* fix(cli): 在测试期间使 fire-and-forget 服务处理器保持静默 by @qwen-code-dev-bot in https://github.com/QwenLM/qwen-code/pull/11417
* fix(core): 防止 Responses 推理回放数据流向外部连接 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/11567
* feat(skills): 扩展技能以其扩展名命名 by @nerdalytics in https://github.com/QwenLM/qwen-code/pull/10841
* fix(web-shell): 修复本地文件桥接中的信任门控与旁观者漏洞 by @wenshao in https://github.com/QwenLM/qwen-code/pull/11169
* fix(core): 在重新附加图像前设置 DashScope 缓存断点 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/11640
* fix(core): 在 Stop hooks 中报告真实的 stop_hook_active 状态 by @qqqys in https://github.com/QwenLM/qwen-code/pull/11613
* fix(core): 将网络搜索来源引用为纯 URL by @qqqys in https://github.com/QwenLM/qwen-code/pull/11677
* fix(acp-bridge): 拒绝 ACP 子堆的无限制 cgroup 哨兵 by @doudouOUC in https://github.com/QwenLM/qwen-code/pull/11653
* fix(core): 防止重复的任务所有者分发 by @AaronZ345 in https://github.com/QwenLM/qwen-code/pull/10237
* refactor(web-shell): 共享侧边栏测试框架 by @bluefateludi in https://github.com/QwenLM/qwen-code/pull/9797
* feat(vscode): 添加显式的会话来源切换 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/11584
* feat(core): 在无法使用 Ctrl+Y 时自动重试临时网络错误(EOF) by @qwen-code-dev-bot in https://github.com/QwenLM/qwen-code/pull/10347
* fix(core)!: 以秒为单位读取命令 hook 超时时间 by @qqqys in https://github.com/QwenLM/qwen-code/pull/11615
* fix(telemetry): 基于 logPrompts 限制 request_text/response_text 的采集 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/11670
* docs(daemon): 发布 REST API 参考文档 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/11592
* chore: 强制执行 Playwright 版本一致性并关闭延迟的 #11101 后续工作 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/11371
* chore(pnpm): 基于 package-lock 锁定 pnpm-lock 并声明提升导入 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/11625
* test(lockfile): 固定 Playwright 一致性检查的首个清单及双向嵌套方向 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/11716
* fix(vscode): 统一会话历史并移除来源切换 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/11713
* fix(acp): 在资源链接提示中保留原始文件名 by @zhangxy-zju in https://github.com/QwenLM/qwen-code/pull/11721
* fix(vscode): 优雅关闭 ACP CLI 而非强制终止 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/11642
* docs(vscode): 记录跨来源删除的后果 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/11730
* docs(daemon): 分别描述提示词限流与队列满的响应 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/11733
* fix(core): 在用量统计遥测接收器中脱敏错误文本 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/11649
* fix(core): 在 Windows 上回收残留的 hook 进程树 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/11623
* fix(core): 在夏令时回退期间使用 epoch 算术计算 cron 下次触发时间 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/11723
* fix(goal): 从评审回复中移除回溯栅栏解包 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/11693
* fix(core): 在 Fireworks 请求中移除镜像推理字段 by @bluefateludi in https://github.com/QwenLM/qwen-code/pull/11701
* fix(core): 在委托边界和用户轮次触发 active-todo 提醒 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/10963
## 新贡献者
* @kabishou11 在 https://github.com/QwenLM/qwen-code/pull/11145 完成了首次贡献
* @CanReader 在 https://github.com/QwenLM/qwen-code/pull/10494 完成了首次贡献
* @wangxiongts 在 https://github.com/QwenLM/qwen-code/pull/11369 完成了首次贡献
**完整更新日志**: https://github.com/QwenLM/qwen-code/compare/v0.23.3...v0.23.3-nightly.20260912.54aa66834b
<!-- Release notes generated using configuration in .github/release.yml at release/v0.23.3-nightly.20260912.54aa66834b -->
## What's Changed
* refactor(dingtalk): remove obsolete background response aggregation by @qqqys in https://github.com/QwenLM/qwen-code/pull/11570
* feat(channels)!: remove message prefix filtering by @qqqys in https://github.com/QwenLM/qwen-code/pull/11571
* fix(ci): widen the replayed supersede-cede timeline margin to deflake Scripts by @wenshao in https://github.com/QwenLM/qwen-code/pull/11581
* test(review): pin the fold invariant the per-line escape rests on by @wenshao in https://github.com/QwenLM/qwen-code/pull/11533
* fix(autofix): charge regressions to the brake and gate test weakening by @wenshao in https://github.com/QwenLM/qwen-code/pull/10188
* fix(acp): Preserve submitted prompt provenance for auto recall by @doudouOUC in https://github.com/QwenLM/qwen-code/pull/11455
* fix(serve): restore configured channels after restart by @qqqys in https://github.com/QwenLM/qwen-code/pull/11472
* feat(goal): start approved Web Shell proposals after their owning turn by @qqqys in https://github.com/QwenLM/qwen-code/pull/11360
* refactor(core): move the web_search DashScope client behind a backend interface by @qqqys in https://github.com/QwenLM/qwen-code/pull/11490
* fix(serve): load persisted MCP config after ACP preheat at startup by @kabishou11 in https://github.com/QwenLM/qwen-code/pull/11145
* fix(vscode-ide-companion): resolve diff paths once in DiffManager by @CanReader in https://github.com/QwenLM/qwen-code/pull/10494
* feat(sdk): add a peer endpoint so a program outside Qwen Code can join cross-session messaging by @qqqys in https://github.com/QwenLM/qwen-code/pull/11560
* feat(goal): stop a Goal at a turn or an active-time budget by @qqqys in https://github.com/QwenLM/qwen-code/pull/11457
* perf(core): drop the redundant history clone in session recovery planning by @DragonnZhang in https://github.com/QwenLM/qwen-code/pull/11595
* fix(core): free an exited web terminal's PTY resources at exit time by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/11572
* test(integration): assert successful /compress token reduction by @yu-xin-c in https://github.com/QwenLM/qwen-code/pull/11259
* fix(ci): retry transient E2E build artifact upload failures once (#11364) by @qwen-code-dev-bot in https://github.com/QwenLM/qwen-code/pull/11375
* feat(web-shell): route scheduled runs by model and group by @qqqys in https://github.com/QwenLM/qwen-code/pull/11396
* feat(web-shell): enrich browser notifications and open target sessions by @doudouOUC in https://github.com/QwenLM/qwen-code/pull/11447
* feat(web-shell): improve composer and context usage presentation by @wenshao in https://github.com/QwenLM/qwen-code/pull/11509
* feat(live): add visual input, proactive assistance and memory by @wangxiongts in https://github.com/QwenLM/qwen-code/pull/11369
* fix(bridge): preserve child error detail on session explicit-close and kill paths (#11123) by @now-ing in https://github.com/QwenLM/qwen-code/pull/11190
* feat(review): focus automatic static navigation reviews by @wenshao in https://github.com/QwenLM/qwen-code/pull/11456
* fix(web-shell): persist cancelled responses and elapsed time by @ytahdn in https://github.com/QwenLM/qwen-code/pull/11608
* feat(subagents): add Codex executor and native agent builtins by @wenshao in https://github.com/QwenLM/qwen-code/pull/11474
* fix(ci): pin the fleet install to the /usr/local prefix by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/11593
* fix(core): recover from rejected Responses encrypted reasoning by @DragonnZhang in https://github.com/QwenLM/qwen-code/pull/11596
* feat(core): add CodeModeOnly tool execution by @DragonnZhang in https://github.com/QwenLM/qwen-code/pull/10607
* fix(goal): strip fences and retry the checkpoint verifier on the shapes a note can fix by @qqqys in https://github.com/QwenLM/qwen-code/pull/11578
* fix(web-shell): show source retry only after load failure by @callmeYe in https://github.com/QwenLM/qwen-code/pull/11629
* chore(core): remove the unused trusted hooks manager and implement unregisterSkillHooks by @qqqys in https://github.com/QwenLM/qwen-code/pull/11621
* fix(core): route plain-text hook stdout to additionalContext for prompt and session events by @qqqys in https://github.com/QwenLM/qwen-code/pull/11612
* fix(cli): close the OpenTUI renderer's parity gaps against ink by @chiga0 in https://github.com/QwenLM/qwen-code/pull/11630
* fix(core): mark reattached image snapshots as potentially outdated by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/11602
* feat(workflows): move the authoring reference into a bundled skill by @qqqys in https://github.com/QwenLM/qwen-code/pull/11520
* feat(web-shell): hide sources panel add-source button behind URL flag by @callmeYe in https://github.com/QwenLM/qwen-code/pull/11639
* feat(channels): show channel turns exactly as the model receives them by @qqqys in https://github.com/QwenLM/qwen-code/pull/11646
* fix(vscode): localize rewind preflight errors by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/11628
* feat(web-shell): add web previews with saved delivery history by @wenshao in https://github.com/QwenLM/qwen-code/pull/11276
* feat(web-shell): Edit and resend the latest user message by @ytahdn in https://github.com/QwenLM/qwen-code/pull/11650
* fix(core): preserve Responses retry metadata and assistant phases by @DragonnZhang in https://github.com/QwenLM/qwen-code/pull/11652
* fix(cli): keep the expanded confirmation dialog inside the viewport by @qwen-code-dev-bot in https://github.com/QwenLM/qwen-code/pull/11656
* fix(core): retry transient server errors in established streams by @DragonnZhang in https://github.com/QwenLM/qwen-code/pull/11634
* test(integration): isolate the QWEN_HOME-unset case from the real $HOME (#10900) by @qwen-code-dev-bot in https://github.com/QwenLM/qwen-code/pull/10920
* fix(vscode): preserve IDE workspace env var on Remote-SSH (#11556) by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/11624
* test(core): pin the deferred exit-time PTY release against trailing output by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/11585
* fix(vscode): give the edit back when a permission diff is closed by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/11171
* feat(core): add permission_mode, agent_id and prompt_id to every hook input by @qqqys in https://github.com/QwenLM/qwen-code/pull/11618
* chore(core): cover every hook event in the settings schema and hook bus by @qqqys in https://github.com/QwenLM/qwen-code/pull/11620
* fix(goal): persist why a checkpoint failed and show it before the Goal stops by @qqqys in https://github.com/QwenLM/qwen-code/pull/11576
* fix(web-shell): suppress abort toasts on preflight rejection by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/11676
* feat(web-shell): continue interrupted sessions by @wenshao in https://github.com/QwenLM/qwen-code/pull/11545
* fix(core): redact request-body prefix in Responses debug logs by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/11668
* fix(web-shell): label blocked goal cards correctly by @yu-xin-c in https://github.com/QwenLM/qwen-code/pull/11174
* fix(cli): quiesce the fire-and-forget serve handler across tests by @qwen-code-dev-bot in https://github.com/QwenLM/qwen-code/pull/11417
* fix(core): keep Responses reasoning replay data off foreign wires by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/11567
* feat(skills): extension skills are named by their extension by @nerdalytics in https://github.com/QwenLM/qwen-code/pull/10841
* fix(web-shell): close the trust-gate and bystander gaps in the local-files bridge by @wenshao in https://github.com/QwenLM/qwen-code/pull/11169
* fix(core): place DashScope cache breakpoint before reattached images by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/11640
* fix(core): report real stop_hook_active on Stop hooks by @qqqys in https://github.com/QwenLM/qwen-code/pull/11613
* fix(core): cite web search sources as bare URLs by @qqqys in https://github.com/QwenLM/qwen-code/pull/11677
* fix(acp-bridge): reject unlimited cgroup sentinel for ACP child heaps by @doudouOUC in https://github.com/QwenLM/qwen-code/pull/11653
* fix(core): prevent duplicate task owner dispatch by @AaronZ345 in https://github.com/QwenLM/qwen-code/pull/10237
* refactor(web-shell): share sidebar test harness by @bluefateludi in https://github.com/QwenLM/qwen-code/pull/9797
* feat(vscode): add an explicit session source switch by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/11584
* feat(core): auto-retry transient network errors (EOF) where Ctrl+Y is unavailable by @qwen-code-dev-bot in https://github.com/QwenLM/qwen-code/pull/10347
* fix(core)!: read command hook timeout in seconds by @qqqys in https://github.com/QwenLM/qwen-code/pull/11615
* fix(telemetry): gate request_text/response_text on logPrompts by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/11670
* docs(daemon): publish the REST API reference by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/11592
* chore: enforce Playwright version parity and close the deferred #11101 follow-ups by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/11371
* chore(pnpm): gate pnpm-lock on package-lock and declare hoisted imports by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/11625
* test(lockfile): pin the Playwright parity check's first manifest and both nested directions by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/11716
* fix(vscode): unify session history and remove source switch by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/11713
* fix(acp): preserve original filenames in resource-link prompts by @zhangxy-zju in https://github.com/QwenLM/qwen-code/pull/11721
* fix(vscode): shut the ACP CLI down gracefully instead of killing it by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/11642
* docs(vscode): record the cross-source delete consequence by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/11730
* docs(daemon): describe the prompt rate-limit and queue-full responses separately by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/11733
* fix(core): redact error text in usage-statistics telemetry sink by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/11649
* fix(core): reap surviving hook process trees on Windows by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/11623
* fix(core): compute cron next-fire time with epoch arithmetic across DST fall-back by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/11723
* fix(goal): remove backtracking fence unwrap from judge replies by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/11693
* fix(core): keep the mirrored reasoning field off Fireworks requests by @bluefateludi in https://github.com/QwenLM/qwen-code/pull/11701
* fix(core): fire active-todo reminders at delegation boundaries and user turns by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/10963
## New Contributors
* @kabishou11 made their first contribution in https://github.com/QwenLM/qwen-code/pull/11145
* @CanReader made their first contribution in https://github.com/QwenLM/qwen-code/pull/10494
* @wangxiongts made their first contribution in https://github.com/QwenLM/qwen-code/pull/11369
**Full Changelog**: https://github.com/QwenLM/qwen-code/compare/v0.23.3...v0.23.3-nightly.20260912.54aa66834b