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-mcppackage
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).
What's Changed
- feat(web-shell): add session token usage panel by @ytahdn in #9988
- feat(core): accept cross-session messages behind an inbound gate by @qqqys in #9576
- fix(core): keep allowlist-uncovered tools registered as deferred instead of removing them (#10075) by @yiliang114 in #10082
- feat(goal): let a Goal stop early when its objective is infeasible by @qqqys in #10125
- feat(goal): grant one hand-off turn before a spent budget stops the Goal by @qqqys in #10132
- feat(core): add a bundled goal-draft skill that writes verifier-judgeable Goals by @qqqys in #10002
- fix(daemon): Persist empty sessions before scheduled-task binding by @doudouOUC in #10144
- fix(channels): Make same-chat delivery session-aware by @doudouOUC in #10145
- fix(web-shell): restore saved session diffs by @ytahdn in #10093
- fix(channels): preserve DingTalk rich-text multi-image messages by @BenGuanRan in #9922
- feat(telemetry): Emit context usage span attribute by @doudouOUC in #10016
- fix: repair the Windows test lane's standing failures by @wenshao in #10064
- fix(core): report broadcast delivery failures in send_message by @yiliang114 in #10081
- feat(daemon): support local path extension installs by @callmeYe in #10131
- fix(ci): run the autofix scan lane on the persistent pool by @wenshao in #10055
- test(core): give the telemetry-swap client mock a getToolRegistry by @wenshao in #10220
- fix(web-shell): Polish transcript, sidebar, and manager page visuals by @wenshao in #10157
- fix(web-shell): keep pagination-completed turns expanded by @ytahdn in #10086
- fix(webui): make the delta-resume reconnect test deterministic (#10200) by @qwen-code-dev-bot in #10203
- fix(ci): verify previous release tag exists in git before anchoring release notes by @yiliang114 in #10167
- fix(ci): exempt off-Linux E2E shards from vitest RPC-timeout unhandled errors (#10097) by @qwen-code-dev-bot in #10112
- docs(agents): trim redundant context by @DragonnZhang in #10137
- feat(serve): backfill session PR bindings and refresh their merge state by @wenshao in #9729
- fix(web-shell): make tool summaries consistently collapsible by @ytahdn in #10231
- feat(web-shell): allow hiding the session source switch by @dreamWB in #10079
- fix(goal): stamp tool results in every host, so Goals can prove anything by @qqqys in #10175
- feat(dingtalk): project reserved file output safely by @qqqys in #9991
- fix(core): remove duplicate getToolRegistry in telemetry-swap test mock by @wenshao in #10252
- fix(core): remove duplicate telemetry test registry stub by @AaronZ345 in #10243
- feat(goal): tell the model the objective changed, once, when it changed by @qqqys in #10013
- fix(core): add modality metadata for qwen3.8-flash and qwen3.8-plus by @yiliang114 in #10195
- fix(cli): bound the goal-runtime startup wait and skip the no-op Bun memory relaunch by @chiga0 in #10128
- chore(desktop): drop stale packages/desktop references after Electron removal by @yiliang114 in #10021
- fix(acp-bridge): Reap ACP child process trees by @doudouOUC in #10142
- fix(web-shell): keep reasoning effort controls available by @callmeYe in #10244
- fix(core): Reclaim command hook process trees by @doudouOUC in #10100
- feat(channels): Add owner-scoped named sessions by @doudouOUC in #10198
- feat(web-shell): show GitHub-style state icons for session PR bindings by @wenshao in #10258
- feat(review): keep deferred suggestions recoverable off the PR page by @wenshao in #9761
- refactor(core,cli): rename Gemini residue in memory/spinner/leaf ids by @yiliang114 in #9900
- fix(core): recognize new DeepSeek/GLM vision models in modality auto-detection by @yiliang114 in #10278
- fix(autofix): raise the repair and develop-issue agent budgets by @wenshao in #10217
- feat(review): warn when a subsystem's Criticals keep regrowing across rounds by @wenshao in #10010
- refactor(core): centralize worktree config derivation by @yiliang114 in #9915
- fix(core): clarify stream idle timeout guidance by @yu-xin-c in #9896
- feat(desktop-shell): restore the brand builder skill for the Tauri shell by @yiliang114 in #10164
- feat(cli): Add standalone daemon session API by @doudouOUC in #10179
- feat(review): remember explicit effort per project by @tlysanhuo in #9883
- feat(autofix): keep the round status comment live during long rounds by @wenshao in #9771
- fix(web-shell): Polish new-session welcome header visuals by @wenshao in #10230
- fix(artifacts): refresh updatedAt when artifact content changes by @zjgzx1988 in #9929
- fix(skills): separate extension identity from display name by @callmeYe in #10296
- feat(review): content-anchored incremental rounds for the local review-fix loop by @wenshao in #9659
- feat(review): carry the fix's premises beside its claim — add fixConstraint by @wenshao in #10168
- fix(cli): keep Agent View queued messages across teammate tab switches by @yiliang114 in #10102
- fix(core): make stale team reclaim generation-safe by @yiliang114 in #10236
- fix(core): report teammate result settled before event bridge attach by @yiliang114 in #10245
- docs(external-context): Design a configurable Mem0 provider extension by @doudouOUC in #10113
- fix(cli): restore goal-less startup broken by the goal-runtime wait refactor by @yiliang114 in #10290
- fix(test): mount channel plugin fixture in Docker by @yiliang114 in #10318
- fix(ci): stop shared-pool hosts exiting all-green E2E runs red (#10325) by @qwen-code-dev-bot in #10329
- feat(sdk): Add standalone session APIs by @doudouOUC in #10294
- feat(cli): OpenTUI migration infra batch — locked deps, dependency-direction arch check, framework-neutral streaming model by @chiga0 in #10134
- refactor(core,cli): rename generic Gemini identifiers to Llm by @yiliang114 in #10124
- fix(test): isolate integration tests from the host global qwen dir by @wenshao in #10337
- feat(external-context): Add configurable Mem0 extension skeleton by @doudouOUC in #10149
- fix(ci): retry transient sandbox image build failures in E2E (#10355) by @qwen-code-dev-bot in #10359
- fix(web-shell): keep archive out of the sidebar hover slot and block it on running sessions by @wenshao in #10302
- fix(serve): treat Skill toggles as settings writes by @callmeYe in #10077
- fix(test): isolate tool-control E2E from shared state by @yiliang114 in #10340
- fix(goal): stamp the wind-down hand-off only when its turn was delivered by @qqqys in #10260
- fix(channels): recover DWS direct messages by @qqqys in #10274
- fix(java): avoid Java 11 HTTP fixture reuse by @yiliang114 in #10365
- fix(test): route ACP cron fixtures by prompt by @yiliang114 in #10374
- fix(ci): route E2E temp files off /tmp by @yiliang114 in #10376
- fix(ci): treat a PR closed during a triage re-run as a terminal action by @yiliang114 in #10334
- feat(triage): add duplicate / already-fixed gate (Stage 1-pre) by @yiliang114 in #10292
- fix(ci): treat API-error triage responses as failed runs in qwen-triage.yml by @yiliang114 in #10333
- ci: serialize helper test files by @yiliang114 in #10371
- feat(web-shell): add opt-in composer add menu by @ytahdn in #10379
- feat(web-shell): add opt-in interactive browser terminal by @ytahdn in #9984
- feat(review): make Step 4 verification execution-grade by @wenshao in #9740
- feat(review): carry direction/baseline axes so the convergence floor can defer a Critical by @wenshao in #10301
- test(ci): make release classifier stub module-safe by @ytahdn in #10402
- fix(ci): repost the review ack under the command and react to it by @qqqys in #10381
- ci: run the no-AK integration gate as its own check by @qqqys in #10384
- fix(cua): harden Computer Use sessions and instructions by @LaZzyMan in #10319
Full Changelog: cua-driver-rs-v0.20.1...cua-driver-rs-v0.20.2