<!-- 使用 release/v0.24.0-nightly.20260918.537311b8a5 分支中 .github/release.yml 的配置生成发布说明 -->
## 更新内容
* 文档(服务): 记录合并的 ACP 边界接受情况 by @wenshao in https://github.com/QwenLM/qwen-code/pull/12024
* 修复(CI): 在打包 VSIX 之前等待已发布的导出渲染器 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/12036
* 修复(Web终端): 在两条导航路径中停止丢弃守护进程凭据 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/12011
* 修复(ACP): 恢复托管的自动记忆提取 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/12018
* 修复(CLI): 修复针对 ink 发现的十二个 OpenTUI 对齐差距 by @chiga0 in https://github.com/QwenLM/qwen-code/pull/11806
* 修复(核心): 跨工具往返调用统计 Stop-hook 块 by @qqqys in https://github.com/QwenLM/qwen-code/pull/12062
* 新增(工作流): 使 agent() 将子智能体限制为显式工具白名单 by @qqqys in https://github.com/QwenLM/qwen-code/pull/12051
* 修复(核心): 避免在斜杠命令完成后出现误中断 by @ytahdn in https://github.com/QwenLM/qwen-code/pull/12052
* 测试(CLI): 将循环保护注释刷新为已交付的机制 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/12065
* 修复(Web终端): 页面刷新后恢复上下文使用 by @ytahdn in https://github.com/QwenLM/qwen-code/pull/12070
* 文档(钩子): 合并重复的浏览部分 by @qqqys in https://github.com/QwenLM/qwen-code/pull/12071
* 新增: 按模型选择 OpenAI wire API by @tanzhenxin in https://github.com/QwenLM/qwen-code/pull/11538
* 修复(桌面端): 在删除冒烟测试工作区前等待守护进程排空 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/12049
* 修复(核心,CLI): 修复 Windows 通道剩余的三项失败 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/12063
* 修复(CI): 在分派基准测试前等待 npm 发布 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/12086
* 新增(核心): 在进度事件中识别钩子调用并公布消息总线 by @qqqys in https://github.com/QwenLM/qwen-code/pull/12075
* 新增(外部上下文): 支持可配置的 Mem0 提供程序 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/9952
* 修复(扩展): 更新后显示进度并清除更新标志 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/11886
* 修复(ACP): 在转录回放中保留用户资源链接 by @XIQIXIQIXIQI in https://github.com/QwenLM/qwen-code/pull/12088
* 新增(Web终端): 支持主机设置项排除 by @Lilian0122 in https://github.com/QwenLM/qwen-code/pull/11975
* 新增(Web终端): 将过大的粘贴内容折叠为附件卡片 by @ytahdn in https://github.com/QwenLM/qwen-code/pull/12084
* 新增(浏览器使用): 添加基于 Playwright 的浏览器 SDK by @tanzhenxin in https://github.com/QwenLM/qwen-code/pull/11241
* 新增(工作流): 添加仅名称锁定,将工作流工具限制为命名工作流 by @qqqys in https://github.com/QwenLM/qwen-code/pull/12078
* 修复(核心): 在其自身源下加载系统级钩子 by @qqqys in https://github.com/QwenLM/qwen-code/pull/12077
* 修复(核心): 报告 http、提示词和函数钩子运行器的实际结果 by @qqqys in https://github.com/QwenLM/qwen-code/pull/12081
* 修复(核心): 清理文件系统重新拼写路径的已知问题 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/12087
* 修复(VSCode): 拒绝不支持的 IPv6 远程 webview URL by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/12092
* 新增(Web终端): 从工作区分支选择器管理 git 远程仓库 by @wenshao in https://github.com/QwenLM/qwen-code/pull/11163
* 修复(Web终端): 为 tools.workflowNameOnly 设置行添加别名 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/12100
* 测试(核心): 在不使用调用 ID 的情况下比较钩子进度结果 by @qqqys in https://github.com/QwenLM/qwen-code/pull/12104
* 修复(Web终端): 在设置面板中为 tools.workflowNameOnly 添加别名 (#12094) by @qwen-code-dev-bot in https://github.com/QwenLM/qwen-code/pull/12103
* 文档(核心): 告知 /goal-draft propose_goal 强制执行的目标限制 by @qqqys in https://github.com/QwenLM/qwen-code/pull/12101
* 新增(CLI): 将目标状态记录写入会话导出 by @qqqys in https://github.com/QwenLM/qwen-code/pull/12099
* 新增(目标): 从转录尾部判断终端提议 by @qqqys in https://github.com/QwenLM/qwen-code/pull/12105
* 修复(CLI): 在 /context 中优先使用按会话缓存的令牌计数 by @kabishou11 in https://github.com/QwenLM/qwen-code/pull/12066
* 重构(目标): 停止在所有界面显示检查点健康状况 by @qqqys in https://github.com/QwenLM/qwen-code/pull/12114
* 新增(Web终端): 添加 PWA 可安装性及 Android 开发终端 by @jabrailkhalil in https://github.com/QwenLM/qwen-code/pull/11722
* 修复(核心): 在录制的转录中保留 MCP App HTML 以便回放渲染 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/12131
* 修复(核心): 在 V4 限制下解析 DeepSeek 官方 API deepseek-flash 名称 by @he-yufeng in https://github.com/QwenLM/qwen-code/pull/11909
* 重构(目标): 删除证据检查点和目录代码 by @qqqys in https://github.com/QwenLM/qwen-code/pull/12120
* 重构(CLI): 使用 OpenTUI 已使用的视图绘制 ink 目标卡片 by @qqqys in https://github.com/QwenLM/qwen-code/pull/12110
* 测试(服务): 将指南操作绑定到其协议部分 by @mohammedmessaoudene-cmd in https://github.com/QwenLM/qwen-code/pull/11808
* 修复(核心): 在模型名称规范化过程中保留 DeepSeek V4 生成后缀 by @he-yufeng in https://github.com/QwenLM/qwen-code/pull/12124
* 修复(核心): 在 isAsyncOperator 中仅将空格/制表符/换行符视为单词分隔符 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/11865
* fix(mcp): 显示 MCP App 资源加载警告 by @doudouOUC in https://github.com/QwenLM/qwen-code/pull/11960
* fix(serve): 当工作区为 home 时从用户作用域读取频道设置 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/11083
* fix(core): 从日志历史中清除已删除会话的提示词 by @L4XB in https://github.com/QwenLM/qwen-code/pull/11769
* fix(workflows): 拒绝没有日志的恢复操作,并在重启时保持运行的 sourceRef by @qqqys in https://github.com/QwenLM/qwen-code/pull/12097
* refactor(goal): 将 Goal 工具每次模型请求的开销降低五分之二 by @qqqys in https://github.com/QwenLM/qwen-code/pull/12123
* feat(core): 在钩子列表中定义 enabled 和 disabledReason by @qqqys in https://github.com/QwenLM/qwen-code/pull/12139
* test(cli): 在 provider-order 测试中先逐步执行 Grok 再执行 MiniMax by @harjothkhara in https://github.com/QwenLM/qwen-code/pull/10089
* feat(core): 导出钩子事件显示元数据及纯超时辅助函数 by @qqqys in https://github.com/QwenLM/qwen-code/pull/12138
* docs(ci): 说明为何 review-pr 扫描需要整个工作区隔离 by @CanReader in https://github.com/QwenLM/qwen-code/pull/10493
* docs(daemon): 完善 REST 集成覆盖范围 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/12144
* docs(config): 注明 baseUrl 是托管 OpenAI 兼容网关的 /v1 根路径 (#10362) by @now-ing in https://github.com/QwenLM/qwen-code/pull/11155
* fix(web-shell): 当 attach 被替代时保留首次提示会话 by @cactuser-Lu in https://github.com/QwenLM/qwen-code/pull/12149
* feat(browser-use): 添加 Chrome Native Messaging 中继 by @tanzhenxin in https://github.com/QwenLM/qwen-code/pull/11242
* fix(goal): 说明恢复过程中跳过了哪些较新的记录 by @qqqys in https://github.com/QwenLM/qwen-code/pull/12148
* fix(review): 在 dimension-agent 简报中放入 PR worktree 绝对路径 by @kabishou11 in https://github.com/QwenLM/qwen-code/pull/11926
* feat(workflows): 为每次运行记录检查点,并展示被重启中断的运行 by @qqqys in https://github.com/QwenLM/qwen-code/pull/12159
* fix(web-shell): 允许在会话创建期间进行顺序 SDK 请求 by @shenyankm in https://github.com/QwenLM/qwen-code/pull/11913
* feat(web-shell): 从结构化元数据渲染压缩结果 by @ytahdn in https://github.com/QwenLM/qwen-code/pull/12141
* test(sdk): 验证每条消息的内容块停止情况 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/12158
* feat(core): 为子代理添加容器执行功能 by @wenshao in https://github.com/QwenLM/qwen-code/pull/11711
* feat(web-shell): 将提交历史绘制为跨所有分支的泳道图,并支持搜索 by @wenshao in https://github.com/QwenLM/qwen-code/pull/12152
* refactor(goal): 弃用对记录在 Goal 状态日志化之前的 Goals 的恢复 by @qqqys in https://github.com/QwenLM/qwen-code/pull/12155
* feat(live): 将 Web Shell 接纳为浏览器 Live Host by @qqqys in https://github.com/QwenLM/qwen-code/pull/12166
* fix(web-shell): 缩放时保持 mermaid 画布固定 by @ytahdn in https://github.com/QwenLM/qwen-code/pull/12177
* fix(core): 停止在会话恢复中标记未回复的通知 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/12007
* fix(cli): 将完整轮次的工具取消操作排除在错误路径之外 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/11154
* feat(web-shell): 添加每轮次的已满足/未满足标记 by @ytahdn in https://github.com/QwenLM/qwen-code/pull/12174
* feat(live): 从 realtimeOnly modelProviders 路由解析 Live Voice 模型 by @qqqys in https://github.com/QwenLM/qwen-code/pull/12173
* refactor(goal)!: 停止发出 active_goal 流事件 by @qqqys in https://github.com/QwenLM/qwen-code/pull/12181
* feat(web-shell): 随 cli 发布一同发布该包 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/12178
* refactor(goal): 在 ACP wire 上保留一个 Goal 卡片,并为其命名模块 by @qqqys in https://github.com/QwenLM/qwen-code/pull/12187
* perf(core): 扩展目录路由仅通过 manifest 刷新 by @callmeYe in https://github.com/QwenLM/qwen-code/pull/12153
* feat(core): 从常驻工具集组装系统提示词 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/12145
* feat(web-shell): 从浏览器发起 Live Voice 通话 by @qqqys in https://github.com/QwenLM/qwen-code/pull/12189
* refactor(goal): 通过 core reader 读取不可读状态的运行卡片 by @qqqys in https://github.com/QwenLM/qwen-code/pull/12194
* fix(release): 暂时暂停 web-shell 发布 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/12202
* test(core): 在 authoring-hint 测试中恢复前等待完整运行退出 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/12196
* feat(web-shell): 在状态栏显示 Goal 的轮次和活跃时间上限 by @qqqys in https://github.com/QwenLM/qwen-code/pull/12201
## 新贡献者
* @Lilian0122 在 https://github.com/QwenLM/qwen-code/pull/11975 中首次贡献
* @jabrailkhalil 在 https://github.com/QwenLM/qwen-code/pull/11722 中首次贡献
* @mohammedmessaoudene-cmd 在 https://github.com/QwenLM/qwen-code/pull/11808 中首次贡献
* @L4XB 在 https://github.com/QwenLM/qwen-code/pull/11769 中首次贡献
**完整更新日志**: https://github.com/QwenLM/qwen-code/compare/v0.24.0...v0.24.0-nightly.20260918.537311b8a5
<!-- Release notes generated using configuration in .github/release.yml at release/v0.24.0-nightly.20260918.537311b8a5 -->
## What's Changed
* docs(serve): record merged ACP boundary acceptance by @wenshao in https://github.com/QwenLM/qwen-code/pull/12024
* fix(ci): wait for the published export renderer before packaging the VSIX by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/12036
* fix(web-shell): stop dropping the daemon credential on two navigation paths by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/12011
* fix(acp): restore managed auto-memory extraction by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/12018
* fix(cli): close twelve OpenTUI parity gaps found against ink by @chiga0 in https://github.com/QwenLM/qwen-code/pull/11806
* fix(core): count Stop-hook blocks across tool round trips by @qqqys in https://github.com/QwenLM/qwen-code/pull/12062
* feat(workflows): let agent() narrow a subagent to an explicit tool allowlist by @qqqys in https://github.com/QwenLM/qwen-code/pull/12051
* fix(core): avoid false interruption after completed slash commands by @ytahdn in https://github.com/QwenLM/qwen-code/pull/12052
* test(cli): refresh the loop-guard comments to the shipped mechanism by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/12065
* fix(web-shell): restore context usage after page refresh by @ytahdn in https://github.com/QwenLM/qwen-code/pull/12070
* docs(hooks): merge the duplicated Browsing sections by @qqqys in https://github.com/QwenLM/qwen-code/pull/12071
* feat: select the OpenAI wire API per model by @tanzhenxin in https://github.com/QwenLM/qwen-code/pull/11538
* fix(desktop): wait out the daemon drain before removing the smoke workspace by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/12049
* fix(core,cli): green the Windows lane's three remaining failures by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/12063
* fix(ci): wait for the release on npm before dispatching the benchmark by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/12086
* feat(core): identify hook invocations in progress events and announce the message bus by @qqqys in https://github.com/QwenLM/qwen-code/pull/12075
* feat(external-context): Support configurable Mem0 providers by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/9952
* fix(extensions): show progress and clear the update flag after an update by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/11886
* fix(acp): preserve user resource links in transcript replay by @XIQIXIQIXIQI in https://github.com/QwenLM/qwen-code/pull/12088
* feat(web-shell): support host settings item exclusions by @Lilian0122 in https://github.com/QwenLM/qwen-code/pull/11975
* feat(web-shell): fold oversized pastes into an attachment card by @ytahdn in https://github.com/QwenLM/qwen-code/pull/12084
* feat(browser-use): add Playwright-based Browser SDK by @tanzhenxin in https://github.com/QwenLM/qwen-code/pull/11241
* feat(workflows): add a name-only lock that restricts the Workflow tool to named workflows by @qqqys in https://github.com/QwenLM/qwen-code/pull/12078
* fix(core): load system-scope hooks under their own source by @qqqys in https://github.com/QwenLM/qwen-code/pull/12077
* fix(core): report real outcomes from the http, prompt and function hook runners by @qqqys in https://github.com/QwenLM/qwen-code/pull/12081
* fix(core): scrub a known path the filesystem re-spells by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/12087
* fix(vscode): reject unsupported IPv6 remote webview URLs by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/12092
* feat(web-shell): manage git remotes from the workspace branch picker by @wenshao in https://github.com/QwenLM/qwen-code/pull/11163
* fix(web-shell): alias the tools.workflowNameOnly settings row by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/12100
* test(core): compare hook progress outcomes without the invocation id by @qqqys in https://github.com/QwenLM/qwen-code/pull/12104
* fix(web-shell): alias tools.workflowNameOnly in the settings panel (#12094) by @qwen-code-dev-bot in https://github.com/QwenLM/qwen-code/pull/12103
* docs(core): tell /goal-draft the objective limit propose_goal enforces by @qqqys in https://github.com/QwenLM/qwen-code/pull/12101
* feat(cli): write Goal state records into session exports by @qqqys in https://github.com/QwenLM/qwen-code/pull/12099
* feat(goal): judge terminal proposals from the transcript tail by @qqqys in https://github.com/QwenLM/qwen-code/pull/12105
* fix(cli): prefer per-session cached token count in /context by @kabishou11 in https://github.com/QwenLM/qwen-code/pull/12066
* refactor(goal): stop showing checkpoint health on every surface by @qqqys in https://github.com/QwenLM/qwen-code/pull/12114
* feat(web-shell): add PWA installability and Android development shell by @jabrailkhalil in https://github.com/QwenLM/qwen-code/pull/11722
* fix(core): keep MCP App html in recorded transcripts so replay can render by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/12131
* fix(core): resolve DeepSeek's official API deepseek-flash name at V4 limits by @he-yufeng in https://github.com/QwenLM/qwen-code/pull/11909
* refactor(goal): delete the evidence checkpoint and catalog code by @qqqys in https://github.com/QwenLM/qwen-code/pull/12120
* refactor(cli): draw the ink Goal cards from the view OpenTUI already uses by @qqqys in https://github.com/QwenLM/qwen-code/pull/12110
* test(serve): bind guide operations to their protocol sections by @mohammedmessaoudene-cmd in https://github.com/QwenLM/qwen-code/pull/11808
* fix(core): keep the DeepSeek V4 generation suffix through model-name normalization by @he-yufeng in https://github.com/QwenLM/qwen-code/pull/12124
* fix(core): treat only space/tab/newline as word separators in isAsyncOperator by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/11865
* fix(mcp): show MCP App resource load warnings by @doudouOUC in https://github.com/QwenLM/qwen-code/pull/11960
* fix(serve): read channel settings from user scope when workspace is home by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/11083
* fix(core): purge a deleted session's prompts from the log history by @L4XB in https://github.com/QwenLM/qwen-code/pull/11769
* fix(workflows): refuse a resume that has no journal, and keep a run's sourceRef across restarts by @qqqys in https://github.com/QwenLM/qwen-code/pull/12097
* refactor(goal): cut what the Goal tools cost every model request by two fifths by @qqqys in https://github.com/QwenLM/qwen-code/pull/12123
* feat(core): define enabled and disabledReason in the hooks listing by @qqqys in https://github.com/QwenLM/qwen-code/pull/12139
* test(cli): step through Grok before MiniMax in the provider-order test by @harjothkhara in https://github.com/QwenLM/qwen-code/pull/10089
* feat(core): export hook event display metadata and pure timeout helpers by @qqqys in https://github.com/QwenLM/qwen-code/pull/12138
* docs(ci): explain why the review-pr sweep needs a whole-workspace quarantine by @CanReader in https://github.com/QwenLM/qwen-code/pull/10493
* docs(daemon): complete REST integration coverage by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/12144
* docs(config): note baseUrl is the /v1 root for hosted OpenAI-compatible gateways (#10362) by @now-ing in https://github.com/QwenLM/qwen-code/pull/11155
* fix(web-shell): keep first-prompt session when its attach is superseded by @cactuser-Lu in https://github.com/QwenLM/qwen-code/pull/12149
* feat(browser-use): add Chrome Native Messaging relay by @tanzhenxin in https://github.com/QwenLM/qwen-code/pull/11242
* fix(goal): say which newer records recovery walked past by @qqqys in https://github.com/QwenLM/qwen-code/pull/12148
* fix(review): put PR worktree absolute path in dimension-agent briefs by @kabishou11 in https://github.com/QwenLM/qwen-code/pull/11926
* feat(workflows): record a checkpoint for every run and surface runs a restart interrupted by @qqqys in https://github.com/QwenLM/qwen-code/pull/12159
* fix(web-shell): allow sequential SDK requests during session creation by @shenyankm in https://github.com/QwenLM/qwen-code/pull/11913
* feat(web-shell): render the compression outcome from structured meta by @ytahdn in https://github.com/QwenLM/qwen-code/pull/12141
* test(sdk): validate content block stops per message by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/12158
* feat(core): add container execution for subagents by @wenshao in https://github.com/QwenLM/qwen-code/pull/11711
* feat(web-shell): draw the commit history as a lane graph, across all branches, with search by @wenshao in https://github.com/QwenLM/qwen-code/pull/12152
* refactor(goal): retire recovery of Goals recorded before Goal state was journaled by @qqqys in https://github.com/QwenLM/qwen-code/pull/12155
* feat(live): admit the Web Shell as a browser Live Host by @qqqys in https://github.com/QwenLM/qwen-code/pull/12166
* fix(web-shell): keep the mermaid canvas fixed while zooming out by @ytahdn in https://github.com/QwenLM/qwen-code/pull/12177
* fix(core): stop session recovery from flagging unanswered notifications by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/12007
* fix(cli): keep full-turn tool cancellation out of the error path by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/11154
* feat(web-shell): add per-turn satisfied / not satisfied marks by @ytahdn in https://github.com/QwenLM/qwen-code/pull/12174
* feat(live): resolve the Live Voice model from a realtimeOnly modelProviders route by @qqqys in https://github.com/QwenLM/qwen-code/pull/12173
* refactor(goal)!: stop emitting the active_goal stream event by @qqqys in https://github.com/QwenLM/qwen-code/pull/12181
* feat(web-shell): publish the package with the cli release by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/12178
* refactor(goal): keep one Goal card on the ACP wire and name the module for it by @qqqys in https://github.com/QwenLM/qwen-code/pull/12187
* perf(core): manifest-only refresh for the extension catalog route by @callmeYe in https://github.com/QwenLM/qwen-code/pull/12153
* feat(core): assemble the system prompt from the resident tool set by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/12145
* feat(web-shell): hold a Live Voice call from the browser by @qqqys in https://github.com/QwenLM/qwen-code/pull/12189
* refactor(goal): read the unreadable-state running card through the core reader by @qqqys in https://github.com/QwenLM/qwen-code/pull/12194
* fix(release): temporarily pause web-shell publishing by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/12202
* test(core): await full run exit before resuming in the authoring-hint test by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/12196
* feat(web-shell): show a Goal's turn and active-time ceilings on the status strip by @qqqys in https://github.com/QwenLM/qwen-code/pull/12201
## New Contributors
* @Lilian0122 made their first contribution in https://github.com/QwenLM/qwen-code/pull/11975
* @jabrailkhalil made their first contribution in https://github.com/QwenLM/qwen-code/pull/11722
* @mohammedmessaoudene-cmd made their first contribution in https://github.com/QwenLM/qwen-code/pull/11808
* @L4XB made their first contribution in https://github.com/QwenLM/qwen-code/pull/11769
**Full Changelog**: https://github.com/QwenLM/qwen-code/compare/v0.24.0...v0.24.0-nightly.20260918.537311b8a5