Qwen CUA Driver 预编译二进制文件
(托管于 `packages/cua-driver` 下)。
- **macOS**: 已代码签名 + 公证的通用二进制文件 + `QwenCuaDriver.app`
- **Linux**: 未签名(x86_64 + arm64,glibc 2.31 及以上)
- **Windows**: 未签名(x86_64 + arm64)
- **Node.js**: 同一工作流在针对这些发布资源完成干净安装后,会发布 `@qwen-code/cua-sdk`;并在通过 MCP 协议冒烟测试后,发布独立版本的 `@qwen-code/node-repl-mcp` 包
启用相对坐标:`CUA_DRIVER_RS_COORDINATE_SPACE=1`
(默认 `0` = 关闭;可选 `CUA_DRIVER_RS_COORDINATE_SCALE=1000`)。
为受影响的模型 API 路由启用文本 MCP 载荷过滤:
`MCP_MODEL_PAYLOAD_FILTER=1`(默认关闭)。
<!-- 使用 .github/release.yml 中 b89ba11ede3f40fdbf8b2c9ecc58dd028fc21465 处的配置生成发布说明 -->
## 更新内容
* feat(web-shell): 添加会话令牌使用面板 by @ytahdn in https://github.com/QwenLM/qwen-code/pull/9988
* feat(core): 通过入站门控接受跨会话消息 by @qqqys in https://github.com/QwenLM/qwen-code/pull/9576
* fix(core): 将未列入白名单的工具保留为延迟注册状态而非移除它们 (#10075) by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/10082
* feat(goal): 当目标不可行时允许 Goal 提前停止 by @qqqys in https://github.com/QwenLM/qwen-code/pull/10125
* feat(goal): 在预算耗尽停止 Goal 前,允许一次交接回合 by @qqqys in https://github.com/QwenLM/qwen-code/pull/10132
* feat(core): 添加内置的 goal-draft 技能,用于编写可被验证器评判的 Goals by @qqqys in https://github.com/QwenLM/qwen-code/pull/10002
* fix(daemon): 在计划任务绑定前持久化空会话 by @doudouOUC in https://github.com/QwenLM/qwen-code/pull/10144
* fix(channels): 使同聊天会话的投递具备会话感知能力 by @doudouOUC in https://github.com/QwenLM/qwen-code/pull/10145
* fix(web-shell): 恢复已保存的会话差异 by @ytahdn in https://github.com/QwenLM/qwen-code/pull/10093
* fix(channels): 保留钉钉富文本多图片消息 by @BenGuanRan in https://github.com/QwenLM/qwen-code/pull/9922
* feat(telemetry): 发出上下文使用 span 属性 by @doudouOUC in https://github.com/QwenLM/qwen-code/pull/10016
* fix: 修复 Windows 测试通道的持续失败问题 by @wenshao in https://github.com/QwenLM/qwen-code/pull/10064
* fix(core): 在 send_message 中报告广播投递失败 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/10081
* feat(daemon): 支持本地路径扩展安装 by @callmeYe in https://github.com/QwenLM/qwen-code/pull/10131
* fix(ci): 在持久化池中运行 autofix 扫描通道 by @wenshao in https://github.com/QwenLM/qwen-code/pull/10055
* test(core): 为 telemetry-swap 客户端 mock 添加 getToolRegistry by @wenshao in https://github.com/QwenLM/qwen-code/pull/10220
* fix(web-shell): 优化转录文本、侧边栏和管理页面的视觉效果 by @wenshao in https://github.com/QwenLM/qwen-code/pull/10157
* fix(web-shell): 保持分页完成的回合处于展开状态 by @ytahdn in https://github.com/QwenLM/qwen-code/pull/10086
* fix(webui): 使 delta-resume 重连测试具有确定性 (#10200) by @qwen-code-dev-bot in https://github.com/QwenLM/qwen-code/pull/10203
* fix(ci): 在锚定发布说明前验证 git 中存在上一个发布标签 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/10167
* fix(ci): 将非 Linux 环境的 E2E 分片从 vitest RPC 超时未处理错误中排除 (#10097) by @qwen-code-dev-bot in https://github.com/QwenLM/qwen-code/pull/10112
* docs(agents): 精简冗余上下文 by @DragonnZhang in https://github.com/QwenLM/qwen-code/pull/10137
* feat(serve): 回填会话 PR 绑定并刷新其合并状态 by @wenshao in https://github.com/QwenLM/qwen-code/pull/9729
* fix(web-shell): 使工具摘要保持一致的可折叠状态 by @ytahdn in https://github.com/QwenLM/qwen-code/pull/10231
* feat(web-shell): 允许隐藏会话来源切换按钮 by @dreamWB in https://github.com/QwenLM/qwen-code/pull/10079
* fix(goal): 在每个主机上标记工具结果,以便 Goals 能够证明任何内容 by @qqqys in https://github.com/QwenLM/qwen-code/pull/10175
* feat(dingtalk): 安全输出保留文件 by @qqqys in https://github.com/QwenLM/qwen-code/pull/9991
* fix(core): 移除 telemetry-swap 测试 mock 中重复的 getToolRegistry by @wenshao in https://github.com/QwenLM/qwen-code/pull/10252
* fix(core): 移除重复的遥测测试注册表存根 by @AaronZ345 in https://github.com/QwenLM/qwen-code/pull/10243
* feat(goal): 在目标变更时仅通知模型一次 by @qqqys in https://github.com/QwenLM/qwen-code/pull/10013
* fix(core): 为 qwen3.8-flash 和 qwen3.8-plus 添加模态元数据 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/10195
* fix(cli): 限制 goal-runtime 启动等待时间并跳过无操作的 Bun 内存重启 by @chiga0 in https://github.com/QwenLM/qwen-code/pull/10128
* chore(desktop): 移除 Electron 后丢弃过时的 packages/desktop 引用 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/10021
* fix(acp-bridge): 回收 ACP 子进程树 by @doudouOUC in https://github.com/QwenLM/qwen-code/pull/10142
* fix(web-shell): 保持推理努力程度控件可用 by @callmeYe in https://github.com/QwenLM/qwen-code/pull/10244
* fix(core): 回收命令钩子进程树 by @doudouOUC in https://github.com/QwenLM/qwen-code/pull/10100
* feat(channels): 添加所有者作用域的名称会话 by @doudouOUC in https://github.com/QwenLM/qwen-code/pull/10198
* feat(web-shell): 为会话 PR 绑定显示 GitHub 风格的狀態图标 by @wenshao in https://github.com/QwenLM/qwen-code/pull/10258
* feat(review): 使延迟建议脱离 PR 页面后仍可恢复 by @wenshao in https://github.com/QwenLM/qwen-code/pull/9761
* refactor(core,cli): 重命名内存/加载动画/叶子节点 ID 中残留的 Gemini 标识 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/9900
* fix(core): 在模态自动检测中识别新的 DeepSeek/GLM 视觉模型 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/10278
* fix(autofix): 提高修复与开发问题代理的预算 by @wenshao in https://github.com/QwenLM/qwen-code/pull/10217
* feat(review): 当子系统的 Critical(关键问题)在多轮中持续增加时发出警告 by @wenshao in https://github.com/QwenLM/qwen-code/pull/10010
* refactor(core): 集中化处理 worktree 配置派生逻辑 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/9915
* fix(core): 明确流式空闲超时指导说明 by @yu-xin-c in https://github.com/QwenLM/qwen-code/pull/9896
* feat(desktop-shell): 为 Tauri 桌面端恢复品牌构建技能 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/10164
* feat(cli): 新增独立守护进程会话 API by @doudouOUC in https://github.com/QwenLM/qwen-code/pull/10179
* feat(review): 按项目记录显式投入的精力 by @tlysanhuo in https://github.com/QwenLM/qwen-code/pull/9883
* feat(autofix): 在长轮次中保持轮次状态评论实时更新 by @wenshao in https://github.com/QwenLM/qwen-code/pull/9771
* fix(web-shell): 优化新会话欢迎头部的视觉效果 by @wenshao in https://github.com/QwenLM/qwen-code/pull/10230
* fix(artifacts): 当制品内容变更时刷新 updatedAt 时间 by @zjgzx1988 in https://github.com/QwenLM/qwen-code/pull/9929
* fix(skills): 将扩展标识与显示名称分离 by @callmeYe in https://github.com/QwenLM/qwen-code/pull/10296
* feat(review): 为本地审查-修复循环新增基于内容锚点的增量轮次 by @wenshao in https://github.com/QwenLM/qwen-code/pull/9659
* feat(review): 在声明旁附带修复前提条件——新增 fixConstraint by @wenshao in https://github.com/QwenLM/qwen-code/pull/10168
* fix(cli): 在切换协作者标签页时保持 Agent 视图中的排队消息 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/10102
* fix(core): 使过期团队回收逻辑具备生成安全特性 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/10236
* fix(core): 在附加事件桥接前报告协作者结果已结算 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/10245
* docs(external-context): 设计可配置的 Mem0 提供商扩展 by @doudouOUC in https://github.com/QwenLM/qwen-code/pull/10113
* fix(cli): 恢复因 goal-runtime 等待重构而损坏的无目标启动 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/10290
* fix(test): 在 Docker 中挂载 channel 插件测试夹具 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/10318
* fix(ci): 修复共享池主机导致全绿 E2E 测试变红的问题 (#10325) by @qwen-code-dev-bot in https://github.com/QwenLM/qwen-code/pull/10329
* feat(sdk): 新增独立会话 API by @doudouOUC in https://github.com/QwenLM/qwen-code/pull/10294
* feat(cli): OpenTUI 迁移基础设施批次——锁定依赖、依赖方向架构检查、框架无关的流式模型 by @chiga0 in https://github.com/QwenLM/qwen-code/pull/10134
* refactor(core,cli): 将通用 Gemini 标识符重命名为 Llm by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/10124
* fix(test): 将集成测试与主机全局 qwen 目录隔离 by @wenshao in https://github.com/QwenLM/qwen-code/pull/10337
* feat(external-context): 新增可配置的 Mem0 扩展骨架 by @doudouOUC in https://github.com/QwenLM/qwen-code/pull/10149
* fix(ci): 重试 E2E 中临时性的沙箱镜像构建失败 (#10355) by @qwen-code-dev-bot in https://github.com/QwenLM/qwen-code/pull/10359
* fix(web-shell): 将归档文件移出侧边栏悬停槽位,并在运行中的会话中屏蔽它 by @wenshao in https://github.com/QwenLM/qwen-code/pull/10302
* fix(serve): 将 Skill 开关操作视为设置写入 by @callmeYe in https://github.com/QwenLM/qwen-code/pull/10077
* fix(test): 将工具控制 E2E 测试与共享状态隔离 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/10340
* fix(goal): 仅在交付其轮次时标记 wind-down 交接 by @qqqys in https://github.com/QwenLM/qwen-code/pull/10260
* fix(channels): 恢复 DWS 私信 by @qqqys in https://github.com/QwenLM/qwen-code/pull/10274
* fix(java): 避免 Java 11 HTTP 测试夹具复用 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/10365
* fix(test): 按提示词路由 ACP cron 测试夹具 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/10374
* fix(ci): 将 E2E 临时文件路由至 /tmp 之外 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/10376
* fix(ci): 将分类重跑期间关闭的 PR 视为终止操作 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/10334
* feat(triage): 新增重复/已修复拦截门控(Stage 1-pre) by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/10292
* fix(ci): 在 qwen-triage.yml 中将 API 错误分类响应视为失败运行 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/10333
* ci: 序列化辅助测试文件 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/10371
* feat(web-shell): 新增可选的 Composer 添加菜单 by @ytahdn in https://github.com/QwenLM/qwen-code/pull/10379
* feat(web-shell): 新增可选的交互式浏览器终端 by @ytahdn in https://github.com/QwenLM/qwen-code/pull/9984
* feat(review): 将第 4 步验证提升至执行级 by @wenshao in https://github.com/QwenLM/qwen-code/pull/9740
* feat(review): 携带方向/基线轴,使收敛底线可推迟 Critical 判定 by @wenshao in https://github.com/QwenLM/qwen-code/pull/10301
* test(ci): 使发布分类器存根模块具备安全性 by @ytahdn in https://github.com/QwenLM/qwen-code/pull/10402
* fix(ci): 在命令下方重新发布审查确认消息并作出反应 by @qqqys in https://github.com/QwenLM/qwen-code/pull/10381
* ci:将 no-AK 集成门禁作为独立检查项运行 by @qqqys,见 https://github.com/QwenLM/qwen-code/pull/10384
* fix(cua):增强 Computer Use 会话和指令的安全性 by @LaZzyMan,见 https://github.com/QwenLM/qwen-code/pull/10319
**完整更新日志**:https://github.com/QwenLM/qwen-code/compare/cua-driver-rs-v0.20.1...cua-driver-rs-v0.20.2
Qwen CUA Driver prebuilt binaries
(vendored under `packages/cua-driver`).
- **macOS**: codesigned + notarized universal binary + `QwenCuaDriver.app`
- **Linux**: unsigned (x86_64 + arm64, glibc 2.31 floor)
- **Windows**: unsigned (x86_64 + arm64)
- **Node.js**: the same workflow publishes `@qwen-code/cua-sdk`
after a clean install against these release assets and publishes
the independently versioned `@qwen-code/node-repl-mcp` package
after its MCP protocol smoke tests
Enable relative coordinates: `CUA_DRIVER_RS_COORDINATE_SPACE=1`
(default `0` = off; optional `CUA_DRIVER_RS_COORDINATE_SCALE=1000`).
Enable textual MCP payload filtering for affected model API routes:
`MCP_MODEL_PAYLOAD_FILTER=1` (default off).
<!-- Release notes generated using configuration in .github/release.yml at b89ba11ede3f40fdbf8b2c9ecc58dd028fc21465 -->
## What's Changed
* feat(web-shell): add session token usage panel by @ytahdn in https://github.com/QwenLM/qwen-code/pull/9988
* feat(core): accept cross-session messages behind an inbound gate by @qqqys in https://github.com/QwenLM/qwen-code/pull/9576
* fix(core): keep allowlist-uncovered tools registered as deferred instead of removing them (#10075) by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/10082
* feat(goal): let a Goal stop early when its objective is infeasible by @qqqys in https://github.com/QwenLM/qwen-code/pull/10125
* feat(goal): grant one hand-off turn before a spent budget stops the Goal by @qqqys in https://github.com/QwenLM/qwen-code/pull/10132
* feat(core): add a bundled goal-draft skill that writes verifier-judgeable Goals by @qqqys in https://github.com/QwenLM/qwen-code/pull/10002
* fix(daemon): Persist empty sessions before scheduled-task binding by @doudouOUC in https://github.com/QwenLM/qwen-code/pull/10144
* fix(channels): Make same-chat delivery session-aware by @doudouOUC in https://github.com/QwenLM/qwen-code/pull/10145
* fix(web-shell): restore saved session diffs by @ytahdn in https://github.com/QwenLM/qwen-code/pull/10093
* fix(channels): preserve DingTalk rich-text multi-image messages by @BenGuanRan in https://github.com/QwenLM/qwen-code/pull/9922
* feat(telemetry): Emit context usage span attribute by @doudouOUC in https://github.com/QwenLM/qwen-code/pull/10016
* fix: repair the Windows test lane's standing failures by @wenshao in https://github.com/QwenLM/qwen-code/pull/10064
* fix(core): report broadcast delivery failures in send_message by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/10081
* feat(daemon): support local path extension installs by @callmeYe in https://github.com/QwenLM/qwen-code/pull/10131
* fix(ci): run the autofix scan lane on the persistent pool by @wenshao in https://github.com/QwenLM/qwen-code/pull/10055
* test(core): give the telemetry-swap client mock a getToolRegistry by @wenshao in https://github.com/QwenLM/qwen-code/pull/10220
* fix(web-shell): Polish transcript, sidebar, and manager page visuals by @wenshao in https://github.com/QwenLM/qwen-code/pull/10157
* fix(web-shell): keep pagination-completed turns expanded by @ytahdn in https://github.com/QwenLM/qwen-code/pull/10086
* fix(webui): make the delta-resume reconnect test deterministic (#10200) by @qwen-code-dev-bot in https://github.com/QwenLM/qwen-code/pull/10203
* fix(ci): verify previous release tag exists in git before anchoring release notes by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/10167
* fix(ci): exempt off-Linux E2E shards from vitest RPC-timeout unhandled errors (#10097) by @qwen-code-dev-bot in https://github.com/QwenLM/qwen-code/pull/10112
* docs(agents): trim redundant context by @DragonnZhang in https://github.com/QwenLM/qwen-code/pull/10137
* feat(serve): backfill session PR bindings and refresh their merge state by @wenshao in https://github.com/QwenLM/qwen-code/pull/9729
* fix(web-shell): make tool summaries consistently collapsible by @ytahdn in https://github.com/QwenLM/qwen-code/pull/10231
* feat(web-shell): allow hiding the session source switch by @dreamWB in https://github.com/QwenLM/qwen-code/pull/10079
* fix(goal): stamp tool results in every host, so Goals can prove anything by @qqqys in https://github.com/QwenLM/qwen-code/pull/10175
* feat(dingtalk): project reserved file output safely by @qqqys in https://github.com/QwenLM/qwen-code/pull/9991
* fix(core): remove duplicate getToolRegistry in telemetry-swap test mock by @wenshao in https://github.com/QwenLM/qwen-code/pull/10252
* fix(core): remove duplicate telemetry test registry stub by @AaronZ345 in https://github.com/QwenLM/qwen-code/pull/10243
* feat(goal): tell the model the objective changed, once, when it changed by @qqqys in https://github.com/QwenLM/qwen-code/pull/10013
* fix(core): add modality metadata for qwen3.8-flash and qwen3.8-plus by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/10195
* fix(cli): bound the goal-runtime startup wait and skip the no-op Bun memory relaunch by @chiga0 in https://github.com/QwenLM/qwen-code/pull/10128
* chore(desktop): drop stale packages/desktop references after Electron removal by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/10021
* fix(acp-bridge): Reap ACP child process trees by @doudouOUC in https://github.com/QwenLM/qwen-code/pull/10142
* fix(web-shell): keep reasoning effort controls available by @callmeYe in https://github.com/QwenLM/qwen-code/pull/10244
* fix(core): Reclaim command hook process trees by @doudouOUC in https://github.com/QwenLM/qwen-code/pull/10100
* feat(channels): Add owner-scoped named sessions by @doudouOUC in https://github.com/QwenLM/qwen-code/pull/10198
* feat(web-shell): show GitHub-style state icons for session PR bindings by @wenshao in https://github.com/QwenLM/qwen-code/pull/10258
* feat(review): keep deferred suggestions recoverable off the PR page by @wenshao in https://github.com/QwenLM/qwen-code/pull/9761
* refactor(core,cli): rename Gemini residue in memory/spinner/leaf ids by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/9900
* fix(core): recognize new DeepSeek/GLM vision models in modality auto-detection by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/10278
* fix(autofix): raise the repair and develop-issue agent budgets by @wenshao in https://github.com/QwenLM/qwen-code/pull/10217
* feat(review): warn when a subsystem's Criticals keep regrowing across rounds by @wenshao in https://github.com/QwenLM/qwen-code/pull/10010
* refactor(core): centralize worktree config derivation by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/9915
* fix(core): clarify stream idle timeout guidance by @yu-xin-c in https://github.com/QwenLM/qwen-code/pull/9896
* feat(desktop-shell): restore the brand builder skill for the Tauri shell by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/10164
* feat(cli): Add standalone daemon session API by @doudouOUC in https://github.com/QwenLM/qwen-code/pull/10179
* feat(review): remember explicit effort per project by @tlysanhuo in https://github.com/QwenLM/qwen-code/pull/9883
* feat(autofix): keep the round status comment live during long rounds by @wenshao in https://github.com/QwenLM/qwen-code/pull/9771
* fix(web-shell): Polish new-session welcome header visuals by @wenshao in https://github.com/QwenLM/qwen-code/pull/10230
* fix(artifacts): refresh updatedAt when artifact content changes by @zjgzx1988 in https://github.com/QwenLM/qwen-code/pull/9929
* fix(skills): separate extension identity from display name by @callmeYe in https://github.com/QwenLM/qwen-code/pull/10296
* feat(review): content-anchored incremental rounds for the local review-fix loop by @wenshao in https://github.com/QwenLM/qwen-code/pull/9659
* feat(review): carry the fix's premises beside its claim — add fixConstraint by @wenshao in https://github.com/QwenLM/qwen-code/pull/10168
* fix(cli): keep Agent View queued messages across teammate tab switches by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/10102
* fix(core): make stale team reclaim generation-safe by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/10236
* fix(core): report teammate result settled before event bridge attach by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/10245
* docs(external-context): Design a configurable Mem0 provider extension by @doudouOUC in https://github.com/QwenLM/qwen-code/pull/10113
* fix(cli): restore goal-less startup broken by the goal-runtime wait refactor by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/10290
* fix(test): mount channel plugin fixture in Docker by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/10318
* fix(ci): stop shared-pool hosts exiting all-green E2E runs red (#10325) by @qwen-code-dev-bot in https://github.com/QwenLM/qwen-code/pull/10329
* feat(sdk): Add standalone session APIs by @doudouOUC in https://github.com/QwenLM/qwen-code/pull/10294
* feat(cli): OpenTUI migration infra batch — locked deps, dependency-direction arch check, framework-neutral streaming model by @chiga0 in https://github.com/QwenLM/qwen-code/pull/10134
* refactor(core,cli): rename generic Gemini identifiers to Llm by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/10124
* fix(test): isolate integration tests from the host global qwen dir by @wenshao in https://github.com/QwenLM/qwen-code/pull/10337
* feat(external-context): Add configurable Mem0 extension skeleton by @doudouOUC in https://github.com/QwenLM/qwen-code/pull/10149
* fix(ci): retry transient sandbox image build failures in E2E (#10355) by @qwen-code-dev-bot in https://github.com/QwenLM/qwen-code/pull/10359
* fix(web-shell): keep archive out of the sidebar hover slot and block it on running sessions by @wenshao in https://github.com/QwenLM/qwen-code/pull/10302
* fix(serve): treat Skill toggles as settings writes by @callmeYe in https://github.com/QwenLM/qwen-code/pull/10077
* fix(test): isolate tool-control E2E from shared state by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/10340
* fix(goal): stamp the wind-down hand-off only when its turn was delivered by @qqqys in https://github.com/QwenLM/qwen-code/pull/10260
* fix(channels): recover DWS direct messages by @qqqys in https://github.com/QwenLM/qwen-code/pull/10274
* fix(java): avoid Java 11 HTTP fixture reuse by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/10365
* fix(test): route ACP cron fixtures by prompt by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/10374
* fix(ci): route E2E temp files off /tmp by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/10376
* fix(ci): treat a PR closed during a triage re-run as a terminal action by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/10334
* feat(triage): add duplicate / already-fixed gate (Stage 1-pre) by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/10292
* fix(ci): treat API-error triage responses as failed runs in qwen-triage.yml by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/10333
* ci: serialize helper test files by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/10371
* feat(web-shell): add opt-in composer add menu by @ytahdn in https://github.com/QwenLM/qwen-code/pull/10379
* feat(web-shell): add opt-in interactive browser terminal by @ytahdn in https://github.com/QwenLM/qwen-code/pull/9984
* feat(review): make Step 4 verification execution-grade by @wenshao in https://github.com/QwenLM/qwen-code/pull/9740
* feat(review): carry direction/baseline axes so the convergence floor can defer a Critical by @wenshao in https://github.com/QwenLM/qwen-code/pull/10301
* test(ci): make release classifier stub module-safe by @ytahdn in https://github.com/QwenLM/qwen-code/pull/10402
* fix(ci): repost the review ack under the command and react to it by @qqqys in https://github.com/QwenLM/qwen-code/pull/10381
* ci: run the no-AK integration gate as its own check by @qqqys in https://github.com/QwenLM/qwen-code/pull/10384
* fix(cua): harden Computer Use sessions and instructions by @LaZzyMan in https://github.com/QwenLM/qwen-code/pull/10319
**Full Changelog**: https://github.com/QwenLM/qwen-code/compare/cua-driver-rs-v0.20.1...cua-driver-rs-v0.20.2