Qwen CUA Driver 预编译二进制文件
(托管于 `packages/cua-driver` 目录下)。
- **macOS**: 代码签名 + 公证的通用二进制文件 + `QwenCuaDriver.app`
- **Linux**: 未签名(x86_64 + arm64,最低 glibc 2.31)
- **Windows**: 未签名的 UIAccess 工作进程 + 原生 SDK 负载
(x86_64 + arm64);部署时必须对目标机器上的工作进程进行签名并建立信任
才能激活 UIAccess
- **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 中 33a75a6b0a1a6b4b405caa6f1bf1f9f47f122e5c 处的配置生成发布说明 -->
## 更新内容
* fix(core): 通过 tools.eager 将 permissions.allow 与工具注册解耦 (#10075) by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/10098
* feat(serve): 使 Aone 成为会话 PR 绑定的核心平台 by @wenshao in https://github.com/QwenLM/qwen-code/pull/10287
* feat(web-shell): 在分支选择器操作旁显示 Git 状态提示 by @wenshao in https://github.com/QwenLM/qwen-code/pull/10397
* feat(review): 将 Step 3A 扇出作为生成的工作流脚本输出 by @qqqys in https://github.com/QwenLM/qwen-code/pull/10119
* fix(core): 将 ask_user_question 对话框置于允许规则和自动审批规则之后 by @qqqys in https://github.com/QwenLM/qwen-code/pull/10160
* fix(cli): 从共享选项定义派生 bootstrap --help by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/8902
* feat(serve): 在无头守护进程主机上隐藏工作区 Browse by @qqqys in https://github.com/QwenLM/qwen-code/pull/9406
* fix(core): 防止 Anthropic 流无限期挂起 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/9945
* docs(design): OpenTUI 迁移设计与架构说明 by @chiga0 in https://github.com/QwenLM/qwen-code/pull/10343
* feat(daemon): 支持作用域工作区内存任务 by @qqqys in https://github.com/QwenLM/qwen-code/pull/9895
* fix(autofix): 在轮次报告中显示线程解析守卫拒绝信息,并等待头部传播延迟结束 by @wenshao in https://github.com/QwenLM/qwen-code/pull/10117
* fix(core): 暴露已解析的代理执行模式 by @DragonnZhang in https://github.com/QwenLM/qwen-code/pull/9955
* fix(core): 在旧版 Git 归档回退机制中接受包含的符号链接 by @harjothkhara in https://github.com/QwenLM/qwen-code/pull/9969
* ci: 在 Git 外部托管 PR 证据 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/9985
* refactor(sdk): 打破认证流程客户端循环 by @DragonnZhang in https://github.com/QwenLM/qwen-code/pull/10039
* fix(core): 阻止守护进程 Configs 和后台工作劫持调试日志会话 by @tomsen02 in https://github.com/QwenLM/qwen-code/pull/9930
* perf(review): 在验证分片前对照携带的账本对候选项去重 by @wenshao in https://github.com/QwenLM/qwen-code/pull/10121
* feat(web-shell): 在窗格头部添加本地控制二维码入口 by @wenshao in https://github.com/QwenLM/qwen-code/pull/10432
* fix(core): 在 findSessionTitlesByPrefix 中扫描归档会话 by @harjothkhara in https://github.com/QwenLM/qwen-code/pull/10032
* feat(autofix): 消费审查收敛信号——作为接管循环的熔断器 by @wenshao in https://github.com/QwenLM/qwen-code/pull/10122
* fix(core): 为命名队友遵循代理定义模型路由 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/10092
* refactor(core): 集中处理 JSON 标签字符转义 by @AaronZ345 in https://github.com/QwenLM/qwen-code/pull/9917
* feat(web-shell): 优化会话概览表格 by @ytahdn in https://github.com/QwenLM/qwen-code/pull/10115
* fix(ci): 将发布流水线 Linux 作业路由至 ECS 运行器池 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/10036
* refactor(cli): 移除未使用的 MemoryUsageDisplay 组件 by @qqqys in https://github.com/QwenLM/qwen-code/pull/10238
* feat(web-shell): 添加每次运行的定时任务会话 by @qqqys in https://github.com/QwenLM/qwen-code/pull/10233
* fix(core): 在 team_delete 中传播文件系统清理失败 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/10213
* refactor(core): 将 Goal 发送限制在调用者的递归预算内,并说明为何保留其他例外 by @qqqys in https://github.com/QwenLM/qwen-code/pull/10259
* fix(test): 在守护进程生成时探测一次原生目录选择器 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/10456
* test(sdk-java): 在无主体 fixture 响应时关闭连接 by @wenshao in https://github.com/QwenLM/qwen-code/pull/10472
* fix(serve): 在引导期间通告原生目录选择器 by @wenshao in https://github.com/QwenLM/qwen-code/pull/10471
* fix(core): 立即结算已取消的工作流,并根据可用 CPU 数量调整窗口大小 by @qqqys in https://github.com/QwenLM/qwen-code/pull/10468
* fix(web-shell): 用可恢复的错误状态替换启动白屏 by @harjothkhara in https://github.com/QwenLM/qwen-code/pull/10215
* refactor(sdk): 打破 ACP 路由表循环 by @DragonnZhang in https://github.com/QwenLM/qwen-code/pull/10040
* fix(ci): 在签出前恢复受保护的 qwen 残留文件 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/10214
* fix(core): 退出后保留 fire-and-forget 钩子 by @doudouOUC in https://github.com/QwenLM/qwen-code/pull/10288
* fix(web-shell): 在侧边栏分组区域中保持固定会话可见 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/10416
* 修复(sdk-python): 支持大型 stream-json 消息 by @lwind233 in https://github.com/QwenLM/qwen-code/pull/9337
* 功能(serve): 停止强制执行仅限公共的扩展网络策略 by @callmeYe in https://github.com/QwenLM/qwen-code/pull/10156
* 重构(core): 将 MCP 服务器配置提取到专用模块 by @DragonnZhang in https://github.com/QwenLM/qwen-code/pull/9496
* 功能(core): 通过 send_message 和 list_agents 按名称定位其他会话 by @qqqys in https://github.com/QwenLM/qwen-code/pull/10158
* 测试(test): 使 queued-submission 排空操作可通过渲染的 AppContainer 访问 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/10436
* 修复(sdk-python): 修复导入顺序以解决 Ruff CI 问题 (#10496) by @qwen-code-dev-bot in https://github.com/QwenLM/qwen-code/pull/10505
* 修复(cli): 将启动警告范围限定为开发会话 by @xianjianlf2 in https://github.com/QwenLM/qwen-code/pull/8456
* 修复(core): 在 stream-json 直接模式下不声明问题主机 by @tonydzi in https://github.com/QwenLM/qwen-code/pull/9414
* 修复(daemon): 取消超时的会话初始化 by @doudouOUC in https://github.com/QwenLM/qwen-code/pull/10268
* 修复(core): 在并发生成失败后,从持久化的团队名单中移除幽灵成员 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/10223
* 功能(web-shell): 添加显式的守护进程会话上下文 by @doudouOUC in https://github.com/QwenLM/qwen-code/pull/10418
* 修复(cli): 使 @ 补全分类标签可点击 by @destire-mio in https://github.com/QwenLM/qwen-code/pull/8395
* 修复(vscode-ide-companion): 将模型选择下拉菜单锚定到输入表单 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/9702
* 修复(cli): 保持 Windows IME 输入法组合文本可读 by @bluefateludi in https://github.com/QwenLM/qwen-code/pull/9803
* 修复(sdk): 在剩余的 workspace 文件辅助函数中支持相对守护进程基础 URL by @shoemoney in https://github.com/QwenLM/qwen-code/pull/9817
* 修复(cli): 在同步错误时清理 shell 中止监听器 by @AaronZ345 in https://github.com/QwenLM/qwen-code/pull/9849
* 功能(core): 明确报告压缩 API 失败 by @xianjianlf2 in https://github.com/QwenLM/qwen-code/pull/9119
* 文档(java): 修正已关闭会话异常说明 by @AaronZ345 in https://github.com/QwenLM/qwen-code/pull/9859
* 修复(cli): 推断无密钥 Vertex AI 认证 by @KXHXK in https://github.com/QwenLM/qwen-code/pull/9045
* 功能(triage): 在 PR 打开及延期处理时分配一名负责的所有者 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/9813
* 重构(vscode-ide-companion): 将聊天功能迁移至 WebShell 和 qwen serve by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/9811
* 修复(cli): 统一提供程序更新模型的消息提示 by @rbalachandar in https://github.com/QwenLM/qwen-code/pull/9023
* 测试(integration): 等待 ACP 命令更新通知 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/10516
* 修复(config): 移除已废弃的动态命令翻译设置 by @destire-mio in https://github.com/QwenLM/qwen-code/pull/8754
* 修复(scripts): 移除从未实际支持的 npm "--parallel" 标志 by @imrehg in https://github.com/QwenLM/qwen-code/pull/8725
* 修复(cli): 处理 Windows 文件系统标识语义 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/10440
* 修复(serve): 允许以 ".." 为前缀的 cwd 子目录 by @AaronZ345 in https://github.com/QwenLM/qwen-code/pull/9848
* 修复(cli): 在 win32 的 capture_screen_context 中拒绝符号链接的截图路径 by @zhou2024NAU in https://github.com/QwenLM/qwen-code/pull/9847
* 文档(users): 将 evidence-based-conclusions 配方添加至常见工作流 by @Dmatut7 in https://github.com/QwenLM/qwen-code/pull/8702
* 修复(core): 避免 LM Studio 语法失败 by @mredbishop in https://github.com/QwenLM/qwen-code/pull/10275
* 修复(acp): 在 Session.ts 中将会话令牌限制缓存作用域限定为路由级 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/9862
* 修复(channel): 恢复时保留源元数据 by @AaronZ345 in https://github.com/QwenLM/qwen-code/pull/10257
* 修复(core): 停止强制设置 DeepSeek 的 temperature by @AaronZ345 in https://github.com/QwenLM/qwen-code/pull/9879
* 修复(core): 消除 send_message 目标歧义 by @Sumire-no-kai in https://github.com/QwenLM/qwen-code/pull/10083
* 修复(cli): 在工具轮次边界而非整个任务结束时交付队友消息 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/9638
* 修复(cli): 优化重复内联图像渲染 by @zjunothing in https://github.com/QwenLM/qwen-code/pull/8789
* 功能(core): 将受限的 MCP 工具参数转发至 AUTO 模式分类器 by @qqqys in https://github.com/QwenLM/qwen-code/pull/10352
* 修复(serve): 优先使用可用的签发者而非过期的同主题副本 by @qqqys in https://github.com/QwenLM/qwen-code/pull/10042
* 测试(web-shell): 在启动测试中 mock provider 模块 main.tsx 实际导入的内容 by @wenshao in https://github.com/QwenLM/qwen-code/pull/10526
* 修复(core): 在会话清理期间保留所有权 by @doudouOUC in https://github.com/QwenLM/qwen-code/pull/10300
* 修复(serve): 热重载运行时模型提供程序 by @doudouOUC in https://github.com/QwenLM/qwen-code/pull/10269
* 功能(serve): 在可信回环地址上启用完整 API 访问 by @doudouOUC in https://github.com/QwenLM/qwen-code/pull/10403
* 测试(web-shell): 修复守护进程 SDK mock 路径 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/10545
* 功能(channels): 为命名任务输出添加属性 by @doudouOUC in https://github.com/QwenLM/qwen-code/pull/10420
* 测试(cli): 稳定会话截止时间边界测试 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/10556
* CI: 稳定共享 ECS 主机竞争环境下的测试 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/10552
* 修复(core): 在可选的 Streamable HTTP GET SSE 探测中容忍 HTTP 404 by @harjothkhara in https://github.com/QwenLM/qwen-code/pull/10091
* feat(web-shell): 在侧边栏显示工作区概览和工作区菜单 by @wenshao in https://github.com/QwenLM/qwen-code/pull/10407
* docs(serve): 记录托管守护进程的 Tool PATH by @doudouOUC in https://github.com/QwenLM/qwen-code/pull/10576
* feat(serve): 暴露 Workflow 任务和控制接口 by @qqqys in https://github.com/QwenLM/qwen-code/pull/10411
* fix(sdk): 暴露守护进程 JSON-RPC 错误详情 by @doudouOUC in https://github.com/QwenLM/qwen-code/pull/10571
* ci: 将共享 Runner 集成限制应用于发布流程 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/10592
* fix(serve): 在 turn_error 消息中暴露 Provider 错误详情 by @doudouOUC in https://github.com/QwenLM/qwen-code/pull/10569
* feat(cli): OpenTUI 迁移基础批次 — 主题、无障碍(a11y)、剪贴板、按键、对话框脚手架 by @chiga0 in https://github.com/QwenLM/qwen-code/pull/10146
* fix(sdk): 将浏览器守护进程包预算提升至 216KB by @chiga0 in https://github.com/QwenLM/qwen-code/pull/10602
* fix(ci): 使 Release 工作流可手动触发 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/10598
* fix(ci): 在无容器沙箱的环境下运行 /resolve 并固定其 CLI 版本 by @wenshao in https://github.com/QwenLM/qwen-code/pull/10428
* test: 强化发布流程中时间敏感型等待机制 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/10615
* feat(channels): 启用并发命名任务控制 by @doudouOUC in https://github.com/QwenLM/qwen-code/pull/10574
* fix(ci): 协调共享 ECS 主机上的 Docker 沙箱工作负载 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/10605
* fix(ci): 跨单元测试套件统一非 Linux 环境下 Vitest 的未处理错误处理 by @qwen-code-dev-bot in https://github.com/QwenLM/qwen-code/pull/10443
* feat(web-shell): 允许复制终端 turn 错误 by @Wkewen in https://github.com/QwenLM/qwen-code/pull/10001
* fix(ci): 恢复因 HEAD 移动、Fork 推送、503 错误及草稿状态而丢失的 /resolve 请求 by @wenshao in https://github.com/QwenLM/qwen-code/pull/10429
* feat(serve): 确立工作区运行时所有权 by @ytahdn in https://github.com/QwenLM/qwen-code/pull/10593
* feat: 管理工作区范围扩展技能状态 by @callmeYe in https://github.com/QwenLM/qwen-code/pull/10600
* fix(core): 在缺失 O_NOFOLLOW 时保持对非符号链接读取的保护 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/10007
* feat(config): 允许操作员设置或禁用 Goal Token 预算 by @qqqys in https://github.com/QwenLM/qwen-code/pull/10543
* fix(sdk): 将守护进程浏览器包大小调整为建议性提示 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/10630
* feat(core): 在每一轮交互中提醒模型当前激活的输出风格 by @qqqys in https://github.com/QwenLM/qwen-code/pull/10282
* fix(cli): 缩短用于镜像 ID 容器名称的沙箱主机名 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/10624
* fix(ci): 基于磁盘容量限制无 AK 安装 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/10539
* fix(ci): 在 npm install 失败时保留磁盘采样数据 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/10517
* fix(cli): 在重新安装重命名失败时保留现有技能 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/10189
* feat(external-context): 加载管理员拥有的 Mem0 方言 by @doudouOUC in https://github.com/QwenLM/qwen-code/pull/10634
* fix(web-shell): 在后台代理完成后释放最终页脚 by @dreamWB in https://github.com/QwenLM/qwen-code/pull/10503
* fix(vscode): 在 WebShell 切换后恢复原生差异审批功能 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/10534
* fix(serve): 为基于轮询的 SSE 客户端添加可选的 prompt-settled 关闭宽限期 by @chiga0 in https://github.com/QwenLM/qwen-code/pull/10344
* test(ci): 稳定共享 Runner 预算及 Cron 交互式检查 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/10648
* feat(serve): 添加无会话 POST /language 接口以支持用户级语言同步 by @doudouOUC in https://github.com/QwenLM/qwen-code/pull/10554
* fix(tools): 将空白的 task_list 过滤器视为不存在 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/10159
* fix(web-shell): 关闭 MCP 插件面板后恢复 Composer by @AaronZ345 in https://github.com/QwenLM/qwen-code/pull/10232
* fix(cli): 检测重叠的审查评论范围 by @bluefateludi in https://github.com/QwenLM/qwen-code/pull/9801
* test(core): 固定 tools.eager 的 Object.prototype 键容忍度并修正相关文档 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/10479
* fix(web-shell,core): 在未处理错误门控下清除泄漏的测试运行异步任务 by @wenshao in https://github.com/QwenLM/qwen-code/pull/10655
* fix(core): 当 PreToolUse 钩子返回 ask 时显示编辑差异 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/9441
* fix(java): 从 payload 读取控制响应子类型 by @AaronZ345 in https://github.com/QwenLM/qwen-code/pull/9924
* fix(core): 通过一次性压缩恢复被 HTTP 413 拒绝的模型请求 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/10408
* fix(core): 使 task_list 轮询的循环检测具备结果感知能力 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/9492
* fix(serve): 对通道初始化超时进行分类 by @chiga0 in https://github.com/QwenLM/qwen-code/pull/10404
* fix(review): 为 lint 延期和调用者说明文本提供可读的双语披露 by @wenshao in https://github.com/QwenLM/qwen-code/pull/10587
* fix(hooks): 修复钩子执行中的四个信任边界漏洞 by @wenshao in https://github.com/QwenLM/qwen-code/pull/10427
* feat(web-shell): 从已绑定 PR 的关闭引用中派生会话 Issue 绑定 by @wenshao in https://github.com/QwenLM/qwen-code/pull/10425
* feat(serve): 允许通过环境变量迁移会话附件存储位置 by @ytahdn in https://github.com/QwenLM/qwen-code/pull/10066
* fix(core): 修复 sharp 0.34 以下版本中图像视图失效的问题 by @MingyaWang in https://github.com/QwenLM/qwen-code/pull/10633
* feat(cli): OpenTUI 迁移 live-session 及输入批处理 by @chiga0 in https://github.com/QwenLM/qwen-code/pull/10368
* feat(channels): 改进回退权限及错误提示信息 by @qqqys in https://github.com/QwenLM/qwen-code/pull/10614
* fix(dingtalk): 网络故障后恢复状态卡片 by @qqqys in https://github.com/QwenLM/qwen-code/pull/10357
* feat(web-shell): 解决工作目录有未提交更改时阻塞 git 更新的问题 by @wenshao in https://github.com/QwenLM/qwen-code/pull/10390
* feat(channels): 自定义 DWS 任务反应 by @qqqys in https://github.com/QwenLM/qwen-code/pull/10610
* test(cli): 在共享运行器上稳定选择器挂起中止测试 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/10664
* fix(cli): 在选择器中显示 Goal 目标 by @qqqys in https://github.com/QwenLM/qwen-code/pull/10295
* test(core): 关闭 #9930 评审轮次中记录的延期测试缺口 by @tomsen02 in https://github.com/QwenLM/qwen-code/pull/10465
* fix(core): 使失败派生的补偿写入门控具备提交感知能力 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/10522
* fix(cua): 加固 Node REPL 和 Windows UIAccess by @LaZzyMan in https://github.com/QwenLM/qwen-code/pull/10666
* feat(cli): 通过 general.outputStyle 或 --output-style 选择输出样式 by @qqqys in https://github.com/QwenLM/qwen-code/pull/10283
* feat(qwen-live): 独立语音守护进程包 — M1 + M2 by @LaZzyMan in https://github.com/QwenLM/qwen-code/pull/10367
* fix(cua): 发布未签名的 Windows UIAccess 工作进程 by @LaZzyMan in https://github.com/QwenLM/qwen-code/pull/10680
## 新贡献者
* @lwind233 在 https://github.com/QwenLM/qwen-code/pull/9337 完成了首次贡献
* @tonydzi 在 https://github.com/QwenLM/qwen-code/pull/9414 完成了首次贡献
* @bluefateludi 在 https://github.com/QwenLM/qwen-code/pull/9803 完成了首次贡献
* @shoemoney 在 https://github.com/QwenLM/qwen-code/pull/9817 完成了首次贡献
* @KXHXK 在 https://github.com/QwenLM/qwen-code/pull/9045 完成了首次贡献
* @imrehg 在 https://github.com/QwenLM/qwen-code/pull/8725 完成了首次贡献
* @Dmatut7 在 https://github.com/QwenLM/qwen-code/pull/8702 完成了首次贡献
* @mredbishop 在 https://github.com/QwenLM/qwen-code/pull/10275 完成了首次贡献
* @Sumire-no-kai 在 https://github.com/QwenLM/qwen-code/pull/10083 完成了首次贡献
* @Wkewen 在 https://github.com/QwenLM/qwen-code/pull/10001 完成了首次贡献
* @MingyaWang 在 https://github.com/QwenLM/qwen-code/pull/10633 完成了首次贡献
**完整更新日志**: https://github.com/QwenLM/qwen-code/compare/cua-driver-rs-v0.20.2...cua-driver-rs-v0.20.3
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 UIAccess worker + native SDK payload
(x86_64 + arm64); deployments must sign and trust the worker
on the target machine before UIAccess activation
- **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 33a75a6b0a1a6b4b405caa6f1bf1f9f47f122e5c -->
## What's Changed
* fix(core): decouple permissions.allow from tool registration via tools.eager (#10075) by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/10098
* feat(serve): make Aone a first-class platform for session PR bindings by @wenshao in https://github.com/QwenLM/qwen-code/pull/10287
* feat(web-shell): show git state hints beside branch picker actions by @wenshao in https://github.com/QwenLM/qwen-code/pull/10397
* feat(review): emit the Step 3A fan-out as a generated workflow script by @qqqys in https://github.com/QwenLM/qwen-code/pull/10119
* fix(core): keep the ask_user_question dialog behind allow rules and auto-approval by @qqqys in https://github.com/QwenLM/qwen-code/pull/10160
* fix(cli): derive bootstrap --help from shared option definitions by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/8902
* feat(serve): hide workspace Browse on headless daemon hosts by @qqqys in https://github.com/QwenLM/qwen-code/pull/9406
* fix(core): prevent Anthropic streams from hanging indefinitely by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/9945
* docs(design): OpenTUI migration design and architecture notes by @chiga0 in https://github.com/QwenLM/qwen-code/pull/10343
* feat(daemon): support scoped workspace memory tasks by @qqqys in https://github.com/QwenLM/qwen-code/pull/9895
* fix(autofix): surface thread-resolution guard refusals in the round report and wait out head-propagation lag by @wenshao in https://github.com/QwenLM/qwen-code/pull/10117
* fix(core): expose resolved agent execution mode by @DragonnZhang in https://github.com/QwenLM/qwen-code/pull/9955
* fix(core): accept contained symlinks in the older-Git archive fallback by @harjothkhara in https://github.com/QwenLM/qwen-code/pull/9969
* ci: host PR evidence outside Git by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/9985
* refactor(sdk): break auth flow client cycle by @DragonnZhang in https://github.com/QwenLM/qwen-code/pull/10039
* fix(core): stop daemon Configs and background work from hijacking the debug-log session by @tomsen02 in https://github.com/QwenLM/qwen-code/pull/9930
* perf(review): dedup candidates against the carried ledger before the verify shard by @wenshao in https://github.com/QwenLM/qwen-code/pull/10121
* feat(web-shell): add Local Control QR code entry to pane header by @wenshao in https://github.com/QwenLM/qwen-code/pull/10432
* fix(core): scan archived sessions in findSessionTitlesByPrefix by @harjothkhara in https://github.com/QwenLM/qwen-code/pull/10032
* feat(autofix): consume the review convergence signals — a circuit breaker for the takeover loop by @wenshao in https://github.com/QwenLM/qwen-code/pull/10122
* fix(core): honor agent-definition model routes for named teammates by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/10092
* refactor(core): centralize JSON tag-character escaping by @AaronZ345 in https://github.com/QwenLM/qwen-code/pull/9917
* feat(web-shell): optimize session overview table by @ytahdn in https://github.com/QwenLM/qwen-code/pull/10115
* fix(ci): route release pipeline Linux jobs to the ECS runner pool by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/10036
* refactor(cli): remove unused MemoryUsageDisplay component by @qqqys in https://github.com/QwenLM/qwen-code/pull/10238
* feat(web-shell): add per-run scheduled task sessions by @qqqys in https://github.com/QwenLM/qwen-code/pull/10233
* fix(core): propagate filesystem cleanup failures in team_delete by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/10213
* refactor(core): hold Goal sends to the caller's recursion budget, and say why the other carve-outs stay by @qqqys in https://github.com/QwenLM/qwen-code/pull/10259
* fix(test): probe the native directory picker once at daemon spawn time by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/10456
* test(sdk-java): close the connection on body-less fixture responses by @wenshao in https://github.com/QwenLM/qwen-code/pull/10472
* fix(serve): advertise the native directory picker during bootstrap by @wenshao in https://github.com/QwenLM/qwen-code/pull/10471
* fix(core): settle a cancelled workflow at once, and size the window by usable CPUs by @qqqys in https://github.com/QwenLM/qwen-code/pull/10468
* fix(web-shell): replace the boot white screen with a recoverable error state by @harjothkhara in https://github.com/QwenLM/qwen-code/pull/10215
* refactor(sdk): break ACP route table cycle by @DragonnZhang in https://github.com/QwenLM/qwen-code/pull/10040
* fix(ci): recover protected qwen leftovers before checkout by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/10214
* fix(core): Preserve fire-and-forget hooks after exit by @doudouOUC in https://github.com/QwenLM/qwen-code/pull/10288
* fix(web-shell): keep pinned sessions visible in their sidebar group sections by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/10416
* fix(sdk-python): support large stream-json messages by @lwind233 in https://github.com/QwenLM/qwen-code/pull/9337
* feat(serve): stop enforcing public-only extension network policy by @callmeYe in https://github.com/QwenLM/qwen-code/pull/10156
* refactor(core): Extract MCP server config into a dedicated module by @DragonnZhang in https://github.com/QwenLM/qwen-code/pull/9496
* feat(core): address other sessions by name from send_message and list_agents by @qqqys in https://github.com/QwenLM/qwen-code/pull/10158
* fix(test): make the queued-submission drain reachable through a rendered AppContainer by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/10436
* fix(sdk-python): repair import ordering to fix Ruff CI (#10496) by @qwen-code-dev-bot in https://github.com/QwenLM/qwen-code/pull/10505
* fix(cli): scope startup warnings to dev sessions by @xianjianlf2 in https://github.com/QwenLM/qwen-code/pull/8456
* fix(core): do not claim a question host in stream-json direct mode by @tonydzi in https://github.com/QwenLM/qwen-code/pull/9414
* fix(daemon): Cancel timed-out session initialization by @doudouOUC in https://github.com/QwenLM/qwen-code/pull/10268
* fix(core): remove ghost members from persisted team roster after failed concurrent spawn by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/10223
* feat(web-shell): Add explicit daemon session contexts by @doudouOUC in https://github.com/QwenLM/qwen-code/pull/10418
* fix(cli): make @ completion category tabs clickable by @destire-mio in https://github.com/QwenLM/qwen-code/pull/8395
* fix(vscode-ide-companion): anchor model selector dropdown to input form by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/9702
* fix(cli): keep Windows IME composition readable by @bluefateludi in https://github.com/QwenLM/qwen-code/pull/9803
* fix(sdk): support relative daemon base URLs in remaining workspace file helpers by @shoemoney in https://github.com/QwenLM/qwen-code/pull/9817
* fix(cli): clean shell abort listener on sync errors by @AaronZ345 in https://github.com/QwenLM/qwen-code/pull/9849
* feat(core): report compression API failures distinctly by @xianjianlf2 in https://github.com/QwenLM/qwen-code/pull/9119
* docs(java): correct closed session exception by @AaronZ345 in https://github.com/QwenLM/qwen-code/pull/9859
* fix(cli): infer keyless Vertex AI auth by @KXHXK in https://github.com/QwenLM/qwen-code/pull/9045
* feat(triage): assign one accountable owner when a PR opens, and when deferring by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/9813
* refactor(vscode-ide-companion): migrate chat to WebShell and qwen serve by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/9811
* fix(cli): align provider update model messaging by @rbalachandar in https://github.com/QwenLM/qwen-code/pull/9023
* test(integration): wait for ACP command update notification by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/10516
* fix(config): remove dead dynamic command translation setting by @destire-mio in https://github.com/QwenLM/qwen-code/pull/8754
* fix(scripts): remove never actually supported npm "--parallel" flag by @imrehg in https://github.com/QwenLM/qwen-code/pull/8725
* fix(cli): handle Windows filesystem identity semantics by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/10440
* fix(serve): allow dotdot-prefixed cwd subdirectories by @AaronZ345 in https://github.com/QwenLM/qwen-code/pull/9848
* fix(cli): reject symlinked screenshot paths on win32 in capture_screen_context by @zhou2024NAU in https://github.com/QwenLM/qwen-code/pull/9847
* docs(users): add evidence-based-conclusions recipe to common workflows by @Dmatut7 in https://github.com/QwenLM/qwen-code/pull/8702
* fix(core): avoid LM Studio grammar failure by @mredbishop in https://github.com/QwenLM/qwen-code/pull/10275
* fix(acp): route-scope the session token-limit cache in Session.ts by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/9862
* fix(channel): preserve source metadata on resume by @AaronZ345 in https://github.com/QwenLM/qwen-code/pull/10257
* fix(core): stop forcing DeepSeek temperature by @AaronZ345 in https://github.com/QwenLM/qwen-code/pull/9879
* fix(core): disambiguate send_message destinations by @Sumire-no-kai in https://github.com/QwenLM/qwen-code/pull/10083
* fix(cli): deliver teammate messages at tool-round boundaries, not whole-task end by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/9638
* fix(cli): optimize repeated inline image rendering by @zjunothing in https://github.com/QwenLM/qwen-code/pull/8789
* feat(core): forward bounded MCP tool arguments to the AUTO-mode classifier by @qqqys in https://github.com/QwenLM/qwen-code/pull/10352
* fix(serve): prefer a usable issuer over an expired same-subject twin by @qqqys in https://github.com/QwenLM/qwen-code/pull/10042
* test(web-shell): mock the provider module main.tsx actually imports in the boot test by @wenshao in https://github.com/QwenLM/qwen-code/pull/10526
* fix(core): Preserve ownership during session cleanup by @doudouOUC in https://github.com/QwenLM/qwen-code/pull/10300
* fix(serve): Hot-reload runtime model providers by @doudouOUC in https://github.com/QwenLM/qwen-code/pull/10269
* feat(serve): Enable full API access on trusted loopback by @doudouOUC in https://github.com/QwenLM/qwen-code/pull/10403
* test(web-shell): fix daemon SDK mock path by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/10545
* feat(channels): Attribute named task output by @doudouOUC in https://github.com/QwenLM/qwen-code/pull/10420
* test(cli): stabilize session deadline boundary test by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/10556
* ci: stabilize tests under shared ECS host contention by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/10552
* fix(core): tolerate HTTP 404 on the optional Streamable HTTP GET SSE probe by @harjothkhara in https://github.com/QwenLM/qwen-code/pull/10091
* feat(web-shell): show workspace overview and a workspace menu in the sidebar by @wenshao in https://github.com/QwenLM/qwen-code/pull/10407
* docs(serve): Document tool PATH for managed daemons by @doudouOUC in https://github.com/QwenLM/qwen-code/pull/10576
* feat(serve): expose Workflow tasks and controls by @qqqys in https://github.com/QwenLM/qwen-code/pull/10411
* fix(sdk): Surface daemon JSON-RPC error details by @doudouOUC in https://github.com/QwenLM/qwen-code/pull/10571
* ci: apply shared-runner integration limits to release by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/10592
* fix(serve): surface provider error detail in turn_error messages by @doudouOUC in https://github.com/QwenLM/qwen-code/pull/10569
* feat(cli): OpenTUI migration foundation batch — theme, a11y, clipboard, keys, dialogs scaffolding by @chiga0 in https://github.com/QwenLM/qwen-code/pull/10146
* fix(sdk): bump the browser daemon bundle budget to 216KB by @chiga0 in https://github.com/QwenLM/qwen-code/pull/10602
* fix(ci): make the Release workflow dispatchable by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/10598
* fix(ci): run /resolve without the container sandbox and pin its CLI version by @wenshao in https://github.com/QwenLM/qwen-code/pull/10428
* test: harden release timing-sensitive waits by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/10615
* feat(channels): Enable concurrent named task control by @doudouOUC in https://github.com/QwenLM/qwen-code/pull/10574
* fix(ci): coordinate Docker sandbox workloads on shared ECS hosts by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/10605
* fix(ci): align non-Linux Vitest unhandled-error handling across unit suites by @qwen-code-dev-bot in https://github.com/QwenLM/qwen-code/pull/10443
* feat(web-shell): allow copying terminal turn errors by @Wkewen in https://github.com/QwenLM/qwen-code/pull/10001
* fix(ci): recover /resolve requests lost to moved heads, fork pushes, 503s and drafts by @wenshao in https://github.com/QwenLM/qwen-code/pull/10429
* feat(serve): establish workspace runtime ownership by @ytahdn in https://github.com/QwenLM/qwen-code/pull/10593
* feat: manage workspace-scoped extension skill state by @callmeYe in https://github.com/QwenLM/qwen-code/pull/10600
* fix(core): keep no-follow reads protected where O_NOFOLLOW is missing by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/10007
* feat(config): let operators size or disable the Goal token budget by @qqqys in https://github.com/QwenLM/qwen-code/pull/10543
* fix(sdk): make daemon browser bundle size advisory by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/10630
* feat(core): remind the model of the active output style every turn by @qqqys in https://github.com/QwenLM/qwen-code/pull/10282
* fix(cli): shorten sandbox hostname for image-ID container names by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/10624
* fix(ci): gate no-AK installs on disk capacity by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/10539
* fix(ci): retain disk samples when npm install fails by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/10517
* fix(cli): preserve existing skill on reinstall rename failure by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/10189
* feat(external-context): Load administrator-owned Mem0 dialects by @doudouOUC in https://github.com/QwenLM/qwen-code/pull/10634
* fix(web-shell): release final footer after background agent completion by @dreamWB in https://github.com/QwenLM/qwen-code/pull/10503
* fix(vscode): restore native diff approval after WebShell cutover by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/10534
* fix(serve): add opt-in prompt-settled close grace for poll-based SSE clients by @chiga0 in https://github.com/QwenLM/qwen-code/pull/10344
* test(ci): stabilize shared-runner budgets and cron interactive checks by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/10648
* feat(serve): add sessionless POST /language for user-level language sync by @doudouOUC in https://github.com/QwenLM/qwen-code/pull/10554
* fix(tools): treat blank task_list filters as absent by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/10159
* fix(web-shell): restore composer after closing MCP plugin panel by @AaronZ345 in https://github.com/QwenLM/qwen-code/pull/10232
* fix(cli): detect overlapping review comment ranges by @bluefateludi in https://github.com/QwenLM/qwen-code/pull/9801
* test(core): pin tools.eager Object.prototype-key tolerance and correct related docs by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/10479
* fix(web-shell,core): clear leaked test-run async under the unhandled-error gate by @wenshao in https://github.com/QwenLM/qwen-code/pull/10655
* fix(core): show edit diffs when a PreToolUse hook returns ask by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/9441
* fix(java): read control response subtype from payload by @AaronZ345 in https://github.com/QwenLM/qwen-code/pull/9924
* fix(core): recover model requests rejected with HTTP 413 via one-shot compaction by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/10408
* fix(core): make loop detection result-aware for task_list polls by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/9492
* fix(serve): classify channel initialization timeouts by @chiga0 in https://github.com/QwenLM/qwen-code/pull/10404
* fix(review): readable bilingual disclosures for lint deferrals and caller prose by @wenshao in https://github.com/QwenLM/qwen-code/pull/10587
* fix(hooks): close four trust-boundary holes in hook execution by @wenshao in https://github.com/QwenLM/qwen-code/pull/10427
* feat(web-shell): derive session issue bindings from the closing references of bound PRs by @wenshao in https://github.com/QwenLM/qwen-code/pull/10425
* feat(serve): allow relocating session attachment storage via env var by @ytahdn in https://github.com/QwenLM/qwen-code/pull/10066
* fix(core): keep image views working with sharp releases older than 0.34 by @MingyaWang in https://github.com/QwenLM/qwen-code/pull/10633
* feat(cli): OpenTUI migration live-session and input batch by @chiga0 in https://github.com/QwenLM/qwen-code/pull/10368
* feat(channels): Improve fallback permission and error messages by @qqqys in https://github.com/QwenLM/qwen-code/pull/10614
* fix(dingtalk): recover status cards after network failures by @qqqys in https://github.com/QwenLM/qwen-code/pull/10357
* feat(web-shell): unblock git update on dirty working tree by @wenshao in https://github.com/QwenLM/qwen-code/pull/10390
* feat(channels): customize DWS task reactions by @qqqys in https://github.com/QwenLM/qwen-code/pull/10610
* test(cli): stabilize the picker hang-up abort test on shared runners by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/10664
* fix(cli): show Goal objectives in session picker by @qqqys in https://github.com/QwenLM/qwen-code/pull/10295
* test(core): close the deferred test gaps recorded in #9930's review rounds by @tomsen02 in https://github.com/QwenLM/qwen-code/pull/10465
* fix(core): make the failed-spawn compensating-write gate commit-aware by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/10522
* fix(cua): harden Node REPL and Windows UIAccess by @LaZzyMan in https://github.com/QwenLM/qwen-code/pull/10666
* feat(cli): select an output style via general.outputStyle or --output-style by @qqqys in https://github.com/QwenLM/qwen-code/pull/10283
* feat(qwen-live): standalone voice daemon package — M1 + M2 by @LaZzyMan in https://github.com/QwenLM/qwen-code/pull/10367
* fix(cua): publish unsigned Windows UIAccess worker by @LaZzyMan in https://github.com/QwenLM/qwen-code/pull/10680
## New Contributors
* @lwind233 made their first contribution in https://github.com/QwenLM/qwen-code/pull/9337
* @tonydzi made their first contribution in https://github.com/QwenLM/qwen-code/pull/9414
* @bluefateludi made their first contribution in https://github.com/QwenLM/qwen-code/pull/9803
* @shoemoney made their first contribution in https://github.com/QwenLM/qwen-code/pull/9817
* @KXHXK made their first contribution in https://github.com/QwenLM/qwen-code/pull/9045
* @imrehg made their first contribution in https://github.com/QwenLM/qwen-code/pull/8725
* @Dmatut7 made their first contribution in https://github.com/QwenLM/qwen-code/pull/8702
* @mredbishop made their first contribution in https://github.com/QwenLM/qwen-code/pull/10275
* @Sumire-no-kai made their first contribution in https://github.com/QwenLM/qwen-code/pull/10083
* @Wkewen made their first contribution in https://github.com/QwenLM/qwen-code/pull/10001
* @MingyaWang made their first contribution in https://github.com/QwenLM/qwen-code/pull/10633
**Full Changelog**: https://github.com/QwenLM/qwen-code/compare/cua-driver-rs-v0.20.2...cua-driver-rs-v0.20.3