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-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): show what a Goal has spent against the window it is allowed by @qqqys in #11254
- feat(external-context): Add opt-in auto recall for administrator-owned Mem0 dialects by @doudouOUC in #11246
- feat(goal): show what a Goal has spent against the window it is allowed by @qqqys in #11248
- feat(channels): Implement named-session worktree reset (Part 4B) by @doudouOUC in #11015
- fix(cli): stop housekeeping hanging on a deleted bind mount by @doudouOUC in #11285
- fix(ci): reap leaked E2E sandbox containers by @yiliang114 in #11264
- feat(serve): allow concurrent standalone daemons with session fencing by @doudouOUC in #11207
- feat(web-shell): add continuous history and compact turn navigation by @doudouOUC in #11208
- fix(ci): isolate E2E directories across Vitest forks by @yiliang114 in #11312
- fix(goal-draft): keep drafts concise and verifiable by @qqqys in #11284
- feat(external-context): Add daemon memory writes by @doudouOUC in #11311
- fix(serve): fail fast on unsupported target mutations in the CDP tunnel by @wenshao in #11315
- fix(channels): restore worktree-task routes through the managed load path by @doudouOUC in #11308
- feat(web-shell): add a context usage tab to the right sidebar by @wenshao in #11177
- feat(web-shell): refine file cards and configure drop destination by @ytahdn in #11298
- perf(dev): add pnpm worktree bootstrap foundation by @yiliang114 in #10449
- feat(cli): reap owned worktrees when daemon sessions are deleted by @doudouOUC in #11309
- perf(web-shell): avoid an unnecessary initial turn-index page request by @doudouOUC in #11323
- test(e2e): isolate protocol checks and ACP test state by @qwen-code-dev-bot in #11286
- fix(channels): spell the fake worktree path in its canonical form (#11317) by @qwen-code-dev-bot in #11318
- feat(channels): add shared multiline instructions field to channel management by @yiliang114 in #11082
- fix(web-shell): cancel pending locate scroll timers on unmount by @doudouOUC in #11322
- fix(live-host): keep packaging in the standalone npm workspace by @yiliang114 in #11329
- feat(goal): pause a Goal after three autonomous turns that make no progress by @qqqys in #11239
- fix(web-shell): preserve running subagent timer across replay by @ytahdn in #11332
- fix(core): stop the background-agent launch result from inviting the parent to peek by @qqqys in #11324
- feat(core): configure model reasoning capabilities by @callmeYe in #10999
- refactor(ci): extract release workflow scripts by @yiliang114 in #11165
- fix(web-shell): prefer clipboard text over image attachments by @ytahdn in #11334
- fix(rewind): close the review findings left open when #10959 merged by @yiliang114 in #11344
- chore: restore regression coverage after WebUI retirement by @yiliang114 in #11101
- fix(goal): count a checkpoint the verifier never answers as a stall by @qqqys in #11304
- refactor(daemon): decouple extension activation refresh by @callmeYe in #10991
- feat(goal): size the checkpoint verifier timeout for a full claim list, and let operators set it by @qqqys in #11305
- feat(dingtalk): show dynamic lifecycle tags by @BenGuanRan in #10504
- fix(serve): configure live-state polling with a five-second default by @doudouOUC in #11339
- fix(web-shell): stop surfacing SSE backpressure warning in transcript by @ytahdn in #11340
- fix(core): retry statusless SSE throttling errors by @DragonnZhang in #11216
- feat(external-context): Add daemon memory deletion by @doudouOUC in #11337
- docs(serve): clarify API-only HTTP integration by @yiliang114 in #11314
- feat(core): expand ${session_id} in per-provider customHeaders by @yiliang114 in #11282
- fix(ci): reap release integration containers by @yiliang114 in #11330
- docs(serve): sync the daemon capability tag count with the registry by @wenshao in #11368
- chore(core): format the one file the prettier check lane still rejects by @wenshao in #11378
- feat(cli): OpenTUI parity closeout (dialogs, composer, shell mode) by @chiga0 in #11152
- fix(web-shell): show session active work by @yiliang114 in #11267
- fix(docs): stop daemon capability totals drifting by @yiliang114 in #11370
- style(core): format Anthropic generator test by @yiliang114 in #11374
- fix(web-shell): require answers before submitting questions by @ytahdn in #11341
- fix(web-shell): keep the transcript column on the composer axis while the turn rail shows by @qqqys in #11338
- fix(web-shell): gate todo progress interaction by @yiliang114 in #11382
- fix(ci): isolate subprocess-heavy E2E from fork pressure by @yiliang114 in #11388
- feat(web-shell): Improve split-view session navigation by @wenshao in #11250
- feat(goal): carry budget figures and progress guidance in the continuation prompt by @qqqys in #11257
- fix(review): screen content filters at every rewrite the probe authorises (#9558) by @wenshao in #10421
- fix(web-shell): preserve history anchors during slow rendering by @yiliang114 in #11366
- fix(core): keep branch commits made by a failing post-checkout hook by @dvd233 in #11300
- fix(web-shell): Replace undefined mock in split rerender tests (#11404) by @qwen-code-dev-bot in #11406
- fix(web-shell): use renamed session-activity mock in split-view rerender test (#11409) by @qwen-code-dev-bot in #11412
- feat(workflows): journal failed agents and settle agent failures to null by @qqqys in #11196
- fix(ci): isolate serve route E2E from fork pressure (#11389) by @qwen-code-dev-bot in #11391
- fix(cli): guard channel pidfiles against PID reuse by @BenGuanRan in #10687
- docs: require bilingual design documents by @wenshao in #11419
- feat(core): enable the built-in web_search by default on ModelStudio Standard/Token Plan by @qqqys in #11348
- fix(cli): cap the background-notification queue and tell the model what was dropped by @qqqys in #11351
- fix(ci): allow 90 minutes for ECS runner version resolution by @yiliang114 in #10921
- refactor(channels): remove obsolete block streaming by @qqqys in #11381
- feat(web-shell): add opt-in browser task notifications by @doudouOUC in #11398
- feat(dingtalk): present tool permission requests with native interactive cards by @BenGuanRan in #10457
- fix(web-shell): restore transcript layout and navigation presentation by @ytahdn in #11430
- refactor(serve): decouple workspace capacity policies by @doudouOUC in #11428
- fix(deps): Bump sharp to 0.35.4 to resolve high-severity libheif CVE by @yiliang114 in #11435
- feat(web-shell): separate Plan workflow from execution permissions by @ytahdn in #11423
- docs(nav): stop hiding the developer examples section by @yiliang114 in #11426
- fix(web-shell): make light-theme terminal text selection visible by @ytahdn in #11445
- docs(serve): state what --no-web actually removes by @yiliang114 in #11446
- fix(external-context): Align deletion responses with Mem0 SDK by @doudouOUC in #11397
- feat(serve): one-command remote start with a generated token, same-origin shell access, and a pairing QR by @wenshao in #11172
- fix(core): use qwen3.8-flash for automatic web search by @qqqys in #11450
- feat(ipc): drop peer messages that arrive faster than a session can take, and tell the sender once by @qqqys in #11277
- fix(web-shell): show and wire composer quick keys on the mobile textarea backend by @ytahdn in #11454
- fix(web-shell): gate subagent details until session is ready by @ytahdn in #11434
- fix(web-shell): move the hover timestamp off the message text by @yiliang114 in #11380
- feat: support GPT-5 and GPT-6 reasoning effort configuration by @wenshao in #11295
- fix(cli): seed headless promptIds from the resumed transcript by @yiliang114 in #11441
- fix(core): omit parameterless OpenAI tool schemas by @yiliang114 in #11431
- fix(cli): restore OpenTUI banner, footer, and loading states; fix the OSS mirror flavor by @chiga0 in #11437
- fix(daemon): persist prompt identity for active transcript replay by @XIQIXIQIXIQI in #11062
- fix(goal): retry a checkpoint that overran the claim budget instead of spending a stall by @qqqys in #11365
- feat(core): expand Kimi, Qwen and DeepSeek reasoning presets by @callmeYe in #11349
- fix(dws): forward Aone sandbox identifier by @qqqys in #11462
- feat(sessions): record what kind of session registered, and document the registry and wire contract by @qqqys in #11463
- feat(web-shell): keep answered questions visible outside processed summaries by @ytahdn in #11461
- feat(web-shell): improve session overview navigation and details by @wenshao in #11238
- fix(cli): quiesce a fire-and-forget serve handler across tests (#11346) by @qwen-code-dev-bot in #11362
- fix(serve): reconnect evicted SSE clients by @yiliang114 in #11467
- refactor(cli): drop the legacy Goal Stop-hook plumbing by @qqqys in #11459
- fix(ci): space PR creation from release to avoid secondary rate limit by @yiliang114 in #11444
- refactor(core): stop routing Goal turns through the legacy Stop hook by @qqqys in #11458
- fix(cua): preserve degraded UIAccess responses by @LaZzyMan in #11479
- fix(release): pin Debian 11 repositories to a coherent snapshot by @LaZzyMan in #11487
New Contributors
Full Changelog: cua-driver-rs-v0.20.4...cua-driver-rs-v0.20.5