github QwenLM/qwen-code cua-driver-rs-v0.20.6
cua-driver-rs v0.20.6

pre-release2 hours ago

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).

What's Changed

  • fix(web-shell): realign two suites with shipped behavior to unbreak main CI (#11525) by @qwen-code-dev-bot in #11530
  • feat(acp): register daemon-managed sessions in the session registry and let them send peer messages by @qqqys in #11488
  • fix(ci): grant the packaging check the permissions its callee declares by @yiliang114 in #11532
  • fix(dev): install hooks during worktree bootstrap by @yiliang114 in #11496
  • test(core): cover bundled ConPTY fallback and terminal replies by @yiliang114 in #11555
  • fix(review): dispatch review agents through parallel workflows by @wenshao in #11524
  • feat(web-shell): render URLs in user messages as clickable links by @wenshao in #11464
  • fix(vscode): preserve active file exclusion by @yiliang114 in #11568
  • feat(serve): support 256 workspaces by default by @doudouOUC in #11515
  • fix(cli): drain notification queue when a turn errors out by @yiliang114 in #11559
  • fix(review): keep host-trusted state out of the container's writable surface by @wenshao in #9983
  • fix(acp): pass shell execution config to tool invocations by @yiliang114 in #11102
  • refactor(dingtalk): remove obsolete background response aggregation by @qqqys in #11570
  • feat(channels)!: remove message prefix filtering by @qqqys in #11571
  • fix(ci): widen the replayed supersede-cede timeline margin to deflake Scripts by @wenshao in #11581
  • test(review): pin the fold invariant the per-line escape rests on by @wenshao in #11533
  • fix(autofix): charge regressions to the brake and gate test weakening by @wenshao in #10188
  • fix(acp): Preserve submitted prompt provenance for auto recall by @doudouOUC in #11455
  • fix(serve): restore configured channels after restart by @qqqys in #11472
  • feat(goal): start approved Web Shell proposals after their owning turn by @qqqys in #11360
  • refactor(core): move the web_search DashScope client behind a backend interface by @qqqys in #11490
  • fix(serve): load persisted MCP config after ACP preheat at startup by @kabishou11 in #11145
  • fix(vscode-ide-companion): resolve diff paths once in DiffManager by @CanReader in #10494
  • feat(sdk): add a peer endpoint so a program outside Qwen Code can join cross-session messaging by @qqqys in #11560
  • feat(goal): stop a Goal at a turn or an active-time budget by @qqqys in #11457
  • perf(core): drop the redundant history clone in session recovery planning by @DragonnZhang in #11595
  • fix(core): free an exited web terminal's PTY resources at exit time by @yiliang114 in #11572
  • test(integration): assert successful /compress token reduction by @yu-xin-c in #11259
  • fix(ci): retry transient E2E build artifact upload failures once (#11364) by @qwen-code-dev-bot in #11375
  • feat(web-shell): route scheduled runs by model and group by @qqqys in #11396
  • feat(web-shell): enrich browser notifications and open target sessions by @doudouOUC in #11447
  • feat(web-shell): improve composer and context usage presentation by @wenshao in #11509
  • feat(live): add visual input, proactive assistance and memory by @wangxiongts in #11369
  • fix(bridge): preserve child error detail on session explicit-close and kill paths (#11123) by @now-ing in #11190
  • feat(review): focus automatic static navigation reviews by @wenshao in #11456
  • fix(web-shell): persist cancelled responses and elapsed time by @ytahdn in #11608
  • feat(subagents): add Codex executor and native agent builtins by @wenshao in #11474
  • fix(ci): pin the fleet install to the /usr/local prefix by @yiliang114 in #11593
  • fix(core): recover from rejected Responses encrypted reasoning by @DragonnZhang in #11596
  • feat(core): add CodeModeOnly tool execution by @DragonnZhang in #10607
  • fix(goal): strip fences and retry the checkpoint verifier on the shapes a note can fix by @qqqys in #11578
  • fix(web-shell): show source retry only after load failure by @callmeYe in #11629
  • chore(core): remove the unused trusted hooks manager and implement unregisterSkillHooks by @qqqys in #11621
  • fix(core): route plain-text hook stdout to additionalContext for prompt and session events by @qqqys in #11612
  • fix(cli): close the OpenTUI renderer's parity gaps against ink by @chiga0 in #11630
  • fix(core): mark reattached image snapshots as potentially outdated by @yiliang114 in #11602
  • feat(workflows): move the authoring reference into a bundled skill by @qqqys in #11520
  • feat(web-shell): hide sources panel add-source button behind URL flag by @callmeYe in #11639
  • feat(channels): show channel turns exactly as the model receives them by @qqqys in #11646
  • fix(vscode): localize rewind preflight errors by @yiliang114 in #11628
  • feat(web-shell): add web previews with saved delivery history by @wenshao in #11276
  • feat(web-shell): Edit and resend the latest user message by @ytahdn in #11650
  • fix(core): preserve Responses retry metadata and assistant phases by @DragonnZhang in #11652
  • fix(cli): keep the expanded confirmation dialog inside the viewport by @qwen-code-dev-bot in #11656
  • fix(core): retry transient server errors in established streams by @DragonnZhang in #11634
  • test(integration): isolate the QWEN_HOME-unset case from the real $HOME (#10900) by @qwen-code-dev-bot in #10920
  • fix(vscode): preserve IDE workspace env var on Remote-SSH (#11556) by @yiliang114 in #11624
  • test(core): pin the deferred exit-time PTY release against trailing output by @yiliang114 in #11585
  • fix(vscode): give the edit back when a permission diff is closed by @yiliang114 in #11171
  • feat(core): add permission_mode, agent_id and prompt_id to every hook input by @qqqys in #11618
  • chore(core): cover every hook event in the settings schema and hook bus by @qqqys in #11620
  • fix(goal): persist why a checkpoint failed and show it before the Goal stops by @qqqys in #11576
  • fix(web-shell): suppress abort toasts on preflight rejection by @yiliang114 in #11676
  • feat(web-shell): continue interrupted sessions by @wenshao in #11545
  • fix(core): redact request-body prefix in Responses debug logs by @yiliang114 in #11668
  • fix(web-shell): label blocked goal cards correctly by @yu-xin-c in #11174
  • fix(cli): quiesce the fire-and-forget serve handler across tests by @qwen-code-dev-bot in #11417
  • fix(core): keep Responses reasoning replay data off foreign wires by @yiliang114 in #11567
  • feat(skills): extension skills are named by their extension by @nerdalytics in #10841
  • fix(web-shell): close the trust-gate and bystander gaps in the local-files bridge by @wenshao in #11169
  • fix(core): place DashScope cache breakpoint before reattached images by @yiliang114 in #11640
  • fix(core): report real stop_hook_active on Stop hooks by @qqqys in #11613
  • fix(core): cite web search sources as bare URLs by @qqqys in #11677
  • fix(acp-bridge): reject unlimited cgroup sentinel for ACP child heaps by @doudouOUC in #11653
  • fix(core): prevent duplicate task owner dispatch by @AaronZ345 in #10237
  • refactor(web-shell): share sidebar test harness by @bluefateludi in #9797
  • feat(vscode): add an explicit session source switch by @yiliang114 in #11584
  • feat(core): auto-retry transient network errors (EOF) where Ctrl+Y is unavailable by @qwen-code-dev-bot in #10347
  • fix(core)!: read command hook timeout in seconds by @qqqys in #11615
  • fix(telemetry): gate request_text/response_text on logPrompts by @yiliang114 in #11670
  • docs(daemon): publish the REST API reference by @yiliang114 in #11592
  • chore: enforce Playwright version parity and close the deferred #11101 follow-ups by @yiliang114 in #11371
  • chore(pnpm): gate pnpm-lock on package-lock and declare hoisted imports by @yiliang114 in #11625
  • test(lockfile): pin the Playwright parity check's first manifest and both nested directions by @yiliang114 in #11716
  • fix(vscode): unify session history and remove source switch by @yiliang114 in #11713
  • fix(acp): preserve original filenames in resource-link prompts by @zhangxy-zju in #11721
  • fix(vscode): shut the ACP CLI down gracefully instead of killing it by @yiliang114 in #11642
  • docs(vscode): record the cross-source delete consequence by @yiliang114 in #11730
  • docs(daemon): describe the prompt rate-limit and queue-full responses separately by @yiliang114 in #11733
  • fix(core): redact error text in usage-statistics telemetry sink by @yiliang114 in #11649
  • fix(core): reap surviving hook process trees on Windows by @yiliang114 in #11623
  • fix(core): compute cron next-fire time with epoch arithmetic across DST fall-back by @yiliang114 in #11723
  • fix(goal): remove backtracking fence unwrap from judge replies by @yiliang114 in #11693
  • fix(core): keep the mirrored reasoning field off Fireworks requests by @bluefateludi in #11701
  • fix(core): fire active-todo reminders at delegation boundaries and user turns by @yiliang114 in #10963
  • refactor(core): apply one matcher rule to every hook event by @qqqys in #11619
  • fix(core): guard internal git calls against configured helper programs by @yiliang114 in #11669
  • feat(workflows): add effort and disallowedTools to agent() options by @qqqys in #11691
  • feat(goal): rerun a stalled checkpoint in batches, smaller after each stall by @qqqys in #11690
  • feat(web-shell): add model role and context window configuration by @wenshao in #11342
  • test(web-shell): give the 200-record history-viewport smoke case its own budget by @yiliang114 in #11740
  • fix(lsp): synchronize target documents before queries by @shenyankm in #11443
  • fix(core): run web terminal PTYs on the bundled ConPTY backend by @yiliang114 in #11643
  • fix(core): retry status-less upstream errors instead of ending the turn by @wenshao in #11291
  • fix(dashscope): send request metadata only for qwen-family models by @shoemoney in #11606
  • test(core): account for the extra Windows fstat in the tail-growth session mocks by @F415643 in #11750
  • fix(web-shell): prevent terminal query freezes and clean up protocol rejection by @yiliang114 in #11748
  • fix(cli): break Ink useBoxMetrics commit-phase setState loop (React #185) by @zaalipro in #11565
  • perf(web-shell): load metadata on demand and reuse capability checks by @ytahdn in #11644
  • fix(dingtalk): handle replied rich-text media by @qqqys in #11759
  • fix(dingtalk): preserve callback text by @qqqys in #11757
  • fix(cli): prevent dialog clipping in short terminals by @shenyankm in #9040
  • fix(web-shell): keep mid-turn messages the daemon rejects at idle by @wenshao in #11289
  • fix(core): strip AppImage PYTHONHOME/PYTHONPATH from stdio MCP children by @yiliang114 in #11763
  • feat(cua): add app-bound actions and compact native observations by @LaZzyMan in #11705
  • fix(cua): address tool failures and efficiency in OSWorld runs by @tanzhenxin in #11683
  • fix(cua): bound observations and reduce model round trips by @DragonnZhang in #11735
  • fix(web-shell): pin es2021 floor across both build configs and harden terminal tests by @yiliang114 in #11758
  • feat: agent board — share work across independently started agents by @yiliang114 in #9402
  • feat(review): record a default deadline in the plan so every run has a wall by @wenshao in #11686
  • chore(release): bump node repl to 0.1.4 by @LaZzyMan in #11771

New Contributors

Full Changelog: desktop-v0.3.0...cua-driver-rs-v0.20.6

Don't miss a new qwen-code release

NewReleases is sending notifications on new releases.