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

latest release: gh-attach-assets
pre-release3 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 (x86_64 + arm64)
  • Node.js: the same workflow publishes the single
    @qwen-code/cua-sdk npm package after a clean install against
    these release assets

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): approval and ask-user dialogs as in-flow sheets; fix background-agent false failure by @ytahdn in #9351
  • feat(serve): Add live-state session activity watermark by @doudouOUC in #9396
  • perf(web-shell): keep streaming output responsive by @ytahdn in #9405
  • feat(serve): measure ACP child peak old-generation heap by @doudouOUC in #9380
  • feat(review): wire --resume through /review, review run and the CI retry by @wenshao in #9153
  • feat(review): record each round's posting volume in the ledger marker by @wenshao in #9413
  • feat(review): teach verifiers four run disciplines from a live two-arm verification by @wenshao in #9447
  • feat(daemon): add batch extension activation APIs by @callmeYe in #8788
  • fix(triage): diff the flake-gate file list against the pinned base OID by @yiliang114 in #9464
  • fix(cli): surface the daemon duplicate tool-call breaker as a visible loop-detected stop by @doudouOUC in #9435
  • feat(providers): add qwen3.8-max to Token Plan model list by @qqqys in #9383
  • fix(cli): prevent /rewind from dropping conversation history after /compress-fast by @yiliang114 in #9331
  • fix(core): reject run_in_background: false for named teammates by @yiliang114 in #9433
  • fix(review): clamp the posting volume at its origin, not only where it is written by @wenshao in #9460
  • feat(extensions): support authenticated HTTPS Git installs by @callmeYe in #9458
  • fix(core): clarify list_agents excludes Agent Team teammates by @yiliang114 in #9432
  • fix(core): reject upstream fail-fast placeholder responses by @yiliang114 in #8938
  • fix(core): isolate image payload eviction state by @yiliang114 in #9423
  • fix(core): treat duplicate provider tool-call ids as replays only when arguments match by @doudouOUC in #9436
  • feat(telemetry): link daemon HTTP request spans to inbound W3C traceparent by @chiga0 in #9391
  • feat(web-shell): add transcript contract prevalidation by @water-in-stone in #9388
  • fix(triage): compute the flake-gate diff before the env -i re-exec by @yiliang114 in #9468
  • fix(sdk): route unrecognized diagnostics onto a bounded transcript sidechannel by @yiliang114 in #9202
  • fix(ci): clone qwen-autofix into a recovery workflow entity by @wenshao in #9482
  • refactor(cli): consolidate shared helpers ahead of the legacy audit skill by @wenshao in #9345
  • fix(ci): no-op touch to re-register the autofix workflow triggers by @wenshao in #9479
  • fix(review): keep the blocker in a COMMENT body every softening path reaches by @wenshao in #9416
  • feat(web-shell): Consume live-state session activity timestamps by @doudouOUC in #9476
  • refactor(review): define each certification-bar atom exactly once by @wenshao in #9473
  • feat(cli): show loaded context files alongside the first prompt by @ZijianZhang989 in #8855
  • feat(review): add runtime-axis, table-sweep and isolation witness forms by @wenshao in #9445
  • fix(ci): keep qwen-autofix.yml under GitHub's 500 KB start-runs limit by @wenshao in #9517
  • feat(cli): Add agent view PTY workers by @ZijianZhang989 in #7800
  • fix(dingtalk): attach media from quoted messages by @qqqys in #9347
  • feat(core): expose workflow execution state by @qqqys in #9034
  • refactor(review): route the certification path atoms through one needle by @wenshao in #9484
  • chore(ci): Add --provenance to npm publish and id-token permission by @yiliang114 in #9532
  • fix(cli): suppress Homebrew update notification when brew has nothing newer (#9493) by @yiliang114 in #9502
  • feat(cli): Add standalone conversation isolation primitives by @doudouOUC in #9341
  • feat(web-shell): unify file uploads and references by @ytahdn in #9477
  • fix(web-shell): keep sidebar sessions synchronized by @ytahdn in #9533
  • refactor: centralize cross-package contracts by @yiliang114 in #9497
  • fix(cli): give the case-variant delete test the attachments mock by @wenshao in #9551
  • feat(serve): persist prompt terminal ledger for cold-load reconciliation by @chiga0 in #9426
  • fix(review): run verifier probes in a private scratch worktree (#9207) by @wenshao in #9221
  • fix(serve): Harden standalone conversation primitives by @doudouOUC in #9512
  • fix(tests): retry acp-cron cleanup rm on transient ENOTEMPTY by @yiliang114 in #9559
  • chore(ci): Drop NPM_TOKEN in favor of npm Trusted Publishing by @yiliang114 in #9552
  • fix(autofix): make the brake's BLOCKED handoff a first-class round outcome by @wenshao in #9297
  • fix(web-shell): Stop repeated session title catalog refreshes by @doudouOUC in #9563
  • fix(daemon): avoid custom attachment upload header by @ytahdn in #9567
  • feat(review): rule on contract documentation, and matrix layered guards by @wenshao in #9448
  • feat(web-shell): support file attachments in mid-turn messages by @ytahdn in #9570
  • feat: register toggle-only reasoning for Qwen hybrid models by @callmeYe in #9574
  • feat(web-shell): adopt canonical Goal v3 controls by @qqqys in #9393
  • test(review): single-encode the diff-read fixture and pin the failed-read gate by @wenshao in #9539
  • refactor(review): build the incremental scope from the PR's diff, not a check by @wenshao in #9267
  • fix(ci): stop counting wedged queued runs as in-flight in the shepherd by @wenshao in #9518
  • fix(ci): heal a symlinked workspace instead of wedging the runner on it by @wenshao in #9498
  • fix(autofix): mutation-probe new guards before a round commits by @wenshao in #9578
  • test(ci): stage on-disk session state in the serve A/B by @wenshao in #9444
  • fix(ci): make autofix finding replies idempotent by @wenshao in #9463
  • fix(ci): author the release PR with a third bot PAT by @yiliang114 in #9592
  • fix(cli): persist skipped duplicate tool results by @yiliang114 in #9593
  • fix(web-shell): fall back to execCommand copy in non-secure contexts by @yiliang114 in #9540
  • fix(ui): collapse duplicate in-flight tool_group rendered from history + pending by @qwen-code-dev-bot in #9421
  • feat(review): post --comment reviews to Aone Code via the a1 CLI by @wenshao in #9491
  • feat(review): tell the author why a review loop is not settling by @wenshao in #9461
  • fix(ci): stop the fallback comment from denying a review it already posted by @wenshao in #9462
  • fix(web-shell): bound daemon transcript retention to stop renderer OOM crashes by @wenshao in #9303
  • chore(ci): Disable install scripts in release CI and guard security-checks workflow by @yiliang114 in #9577
  • feat(web-shell): keep a turn expanded while its background shell runs by @ytahdn in #9632
  • feat(autofix): audit the approach instead of stopping on growth-budget breach by @wenshao in #9262
  • docs(ci): the ECS pool does run containers — correct two comments that say it does not by @wenshao in #9575
  • fix(autofix): bind the sandbox image to its pulled digest by @wenshao in #9527
  • docs(autofix): design runner-level isolation for PAT-bearing steps by @wenshao in #9525
  • fix(web-shell): settle parallel-agents collapse and unify agent detail transcript by @ytahdn in #9640
  • fix(web-shell): show create-group tooltip by @deggs7 in #9400
  • feat(review): fold the one-hop import widening into fetch-pr --since by @wenshao in #9332
  • docs: document inline terminal image previews by @DragonnZhang in #8656
  • feat(core): make list_directory opt-in (disabled by default) by @DragonnZhang in #9424
  • docs: document the Session Workflow setting by @DragonnZhang in #8554
  • feat(cli): extend non-blocking slash commands to more builtins by @DragonnZhang in #9495
  • docs(autofix): pin the publish-side checks to the patch text by @wenshao in #9652
  • chore(deps): Clear high-severity CVE baseline and harden the security gate by @yiliang114 in #9584
  • docs(autofix): add an operator guide for /takeover from N by @wenshao in #9622
  • fix(artifacts): expand recorded directories into per-file artifacts by @zjgzx1988 in #9395
  • feat(review): disclose that Aone posts join the discussion gate only by @wenshao in #9625
  • fix(review): make the incremental cache work for Aone AGit-Flow CRs by @wenshao in #9630
  • feat(review): detect self-MR on Aone targets in presubmit by @wenshao in #9629
  • fix(autofix): include pending runs in the busy-PR enumeration by @wenshao in #9662
  • docs(autofix): correct the round-seed guide on leading whitespace by @wenshao in #9663
  • fix(web-shell): use daemon live-state hasActivePrompt for loading indicator (#9487) by @yiliang114 in #9631
  • fix(cli): keep slash menu selection stable while a response streams by @yiliang114 in #9508
  • fix(web-shell): don't steal approval focus while the user is typing by @yiliang114 in #9609
  • fix(core): support public GitHub extensions with older Git by @yiliang114 in #9680
  • feat(web-shell): Bind GitHub PRs to sessions with sidebar badge and search by @wenshao in #9543
  • fix(ci): bump vulnerable dependencies to unblock CVE audit by @yiliang114 in #9703
  • fix(review): audit Aone targets in cleanup's bypass tripwire by @wenshao in #9633
  • docs: classify architecture invariants by enforcement mechanism (#9152) by @yiliang114 in #9689
  • fix(autofix): stop counting idle timeouts toward the timeout cap by @wenshao in #9673
  • feat(review): give the convergence observation a machine-readable half by @wenshao in #9623
  • perf(web-shell): optimize streaming transcript rendering by @ytahdn in #9672
  • fix(web-shell): route goal messages by session activity by @ytahdn in #9667
  • i18n(cli): translate Unset in the settings dialog by @yiliang114 in #9714
  • perf(review): give review agents their own subagent type by @wenshao in #9678
  • refactor(autofix): move the push-and-report body out of the workflow file by @wenshao in #9653
  • feat(review): report the address a drive's service actually bound by @wenshao in #9655
  • fix(autofix): pass CI=true through the gate's env -i launches by @wenshao in #9649
  • refactor(cli): keep acp-integration off serve internals (#8084) by @yiliang114 in #9144
  • feat(review): close Aone residual gaps — composeUrl, test-plan routing, a1 version floor by @wenshao in #9624
  • fix(review): stop shedding the convergence observation first by @wenshao in #9715
  • fix(review): clear the deferred Round-5 findings from the Aone write path by @wenshao in #9604
  • refactor(core): remove root barrel self-imports and enforce the boundary by @yiliang114 in #9635
  • fix(cli): Recover sessions across archive races by @doudouOUC in #9513
  • feat(serve): restore ask_user_question HITL on session load/resume by @doudouOUC in #9665
  • fix(sdk): support "auto" permission mode by @shenyankm in #9003
  • fix(web-shell): pass session workspace cwd when opening from overview panel by @wenshao in #9730
  • fix(web-shell): fall back after stale mid-turn rejection by @ytahdn in #9732
  • fix(review): stop the fallback comment from firing on superseded runs by @wenshao in #9716
  • feat(review): add temporal-reachability and incident-replay lenses by @wenshao in #9708
  • fix(web-shell): stable pinned-section order and instant pin feedback by @yiliang114 in #9560
  • feat(review): ask each fix for its test, and rule on non-convergence by @wenshao in #9596
  • chore(ci): migrate autofix prose to the design record and ratchet growth by @wenshao in #9677
  • feat(cli): restore each daemon session onto its last selected model by @doudouOUC in #9687
  • feat(review): validate Aone inline anchors against the captured diff before posting by @wenshao in #9634
  • fix(ci): record qwen-autofix.yml's shipped size in the workflow size baseline by @wenshao in #9747
  • fix(ci): gate the fork signal on fields the review payload delivers by @qqqys in #9469
  • feat(goal): account the tokens a Goal spends by @qqqys in #9583
  • fix(core): reject session titles that echo the prompt's own examples by @yiliang114 in #9709
  • fix(core): parse the workflow meta literal instead of evaluating it by @qqqys in #9325
  • fix(sdk): support relative artifact download URLs by @ytahdn in #9734
  • fix(autofix): give the repair pass a budget it can finish in by @qqqys in #9691
  • feat(cli): enable dynamic workflows from a settings key by @qqqys in #9098
  • fix(core): widen the workflow stall watchdog past the transport retry ladder by @qqqys in #9397
  • test(core): pin that subagent registries carry no MCP instructions by @wenshao in #9720
  • fix(core): gate skill announcements on what the model was declared by @wenshao in #9718
  • feat(review): back pr-context on Aone Code targets by @wenshao in #9621
  • fix(review): count a fix-induced re-report as first-time work by @wenshao in #9744
  • docs(review): name the axis when two of them both call it "rank 3" by @wenshao in #9759
  • fix(web-shell): preview document-classified artifacts by @ytahdn in #9760
  • feat(web-shell): refresh composer skills incrementally after toggles by @samuelhsin in #9131
  • feat(review): back comment-status and presubmit for Aone Code targets by @wenshao in #9627
  • perf(cli): raise VP scroll rendering to 60 FPS by @DragonnZhang in #9681
  • feat(models): support dual-role image generation models by @callmeYe in #9650
  • fix(daemon): keep restored ask_user_question valid after load by @doudouOUC in #9763
  • feat(review): add the persistently-critical convergence advisory (land-with-residual-risk) by @wenshao in #9526
  • fix(core): support public GitHub extensions with older Git by @yiliang114 in #9690
  • feat(cua-driver): add versioned Computer Use SDK and release pipeline by @LaZzyMan in #9587
  • refactor(node-repl)!: deliver the persistent Node REPL as a standalone MCP server by @LaZzyMan in #9499
  • fix(review): repair permissions before giving up on worktree cleanup by @wenshao in #9748
  • fix(core): Normalize both sides of the session title echo comparison by @yiliang114 in #9809
  • refactor(cli): enforce utils leaf-layer dependency direction (#9146) by @yiliang114 in #9737
  • fix(web-shell): cap React dev performance.measure accumulation to stop renderer OOM by @wenshao in #9770
  • fix(dingtalk): parse forwarded chat records by @qqqys in #9339
  • fix(web-shell): add remark-cjk-friendly so bold adjacent to CJK punct… by @cactuser-Lu in #9457
  • feat(mcp): add MCP 2026 core and WebShell Apps host by @samuelhsin in #8992
  • fix(config): allow prompt hooks in settings schema by @zjunothing in #8779
  • fix(web-shell): show reasoning effort before session creation by @callmeYe in #9599
  • fix(auth): let Vertex AI authenticate with Application Default Credentials by @axiom-of-choice in #9017
  • fix(ci): record cd-cua-driver.yml's shipped size in the workflow size baseline by @wenshao in #9822
  • feat(review): give verifiers a do-not-refute list and a constructible rejection bar by @wenshao in #9799
  • fix(core): clear tool display list before awaiting completion callback by @qwen-code-dev-bot in #9602
  • refactor(cli): extract ACP skill management by @callmeYe in #8865
  • fix(cli): normalize win32 drive-letter casing in MCP approval keys by @zhou2024NAU in #9779
  • Support MiniMax image generation schema by @octo-patch in #8322
  • fix(core): sniff image content before read by @rbalachandar in #9113
  • fix(vscode): preserve Windows file links in session exports by @yefuyou in #8953
  • fix(cli): prevent input border overflow on resize by @tlysanhuo in #8991
  • feat(core): declare create_sub_session only under qwen serve by @DragonnZhang in #9425
  • fix(core): report remaining background agents by @tao943 in #9018
  • fix(core): cap the effort tier at what each endpoint accepts by @harjothkhara in #9501
  • fix(cli): probe microphone permission on recording start, not voice warmup by @Nas01010101 in #8912
  • fix(core): detect long verbatim repetition loops in content and reasoning streams by @yiliang114 in #9668
  • feat(scheduled-tasks): allow creating a task with an existing session by @yiliang114 in #9361
  • docs(agent): clarify parameter preconditions by @tao943 in #9580
  • fix(review): pin the verified git identity across the residue probe (#9557) by @wenshao in #9742
  • fix(core): surface nested sub-agent approvals under background parents by @wenshao in #9793
  • fix(core): mark agent launch failures as failed tool calls by @yiliang114 in #9519
  • refactor(goal): render Goal continuation prompts from one core renderer by @qqqys in #9581
  • fix(core): avoid ghost shutdown pending state by @AaronZ345 in #9550
  • fix(core): isolate fork cache readers by session by @tomsen02 in #9471
  • refactor(review): split SKILL.md into a core body plus verdict-gated reference files by @wenshao in #9804
  • feat(web-shell): compact agent activity summaries by @ytahdn in #9657
  • feat(auth): add Kimi (Moonshot AI) as a built-in third-party provider by @TianYuan1024 in #9814
  • fix(goal): count catalog previews in the unit their budget is written in by @qqqys in #9835
  • feat(core): show what a workflow will do, and scope the grant that approves it by @qqqys in #9837

New Contributors

Full Changelog: dsw-eas-net-smoke-20260819-r1...cua-driver-rs-v0.20.0

Don't miss a new qwen-code release

NewReleases is sending notifications on new releases.