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

pre-release4 hours ago

cua-driver prebuilt binaries — relative-coordinate fork
(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)

Enable relative coordinates: CUA_DRIVER_RS_COORDINATE_SPACE=1
(default 0 = off; optional CUA_DRIVER_RS_COORDINATE_SCALE=1000).

What's Changed

  • feat(scheduler): make recurring cron/loop job expiration configurable by @TianYuan1024 in #6173
  • fix(serve): respect disabled skill settings by @ytahdn in #6223
  • fix: align vscode-ide-companion curly rule with root config by @yiliang114 in #6221
  • fix(qqbot): security hardening — gateway validation, atomic state, sanitized logging by @Eric-GoodBoy-Tech in #6200
  • fix(cua-driver): migrate Windows scripts + add /mcp Approve button by @LaZzyMan in #6241
  • [codex] Revert GLM tagged thinking parsing for DashScope by @tanzhenxin in #6248
  • fix(web-shell): improve session restore and loading feedback by @ytahdn in #6220
  • feat(mobile-mcp): vendor mobile-mcp with opt-in 0-1000 relative coordinates by @LaZzyMan in #6235
  • feat(web-shell): show the qwen-code version in the sidebar footer by @wenshao in #6222
  • feat(daemon): add session artifact APIs by @chiga0 in #5895
  • feat(web-shell): display nested sub-agents as a tree in the tasks panel by @tanzhenxin in #6239
  • Add sessionless workspace memory forget and dream by @callmeYe in #6227
  • fix: avoid vsce secret scanner false positive on regex patterns by @yiliang114 in #6247
  • fix(web-shell): encode vision model picker selection & polish dispatch by @AmariahAK in #6236
  • feat(web-shell): improve slash command discovery (taller menu, group counts, fuzzy search) by @wenshao in #6267
  • fix(serve): Optimize daemon NDJSON stream handling by @doudouOUC in #6263
  • ci(autofix): restore sandbox image flow by @yiliang114 in #6261
  • fix(qqbot): markdown-first send, replyMsgId TTL, and dead code removal by @Eric-GoodBoy-Tech in #6201
  • feat(daemon): expose visionModelId in workspace provider status and web-shell model dialog by @qwen-code-dev-bot in #6262
  • fix(triage): strengthen PR gate with batch detection, problem existence check, and red flag patterns by @pomelo-nwu in #5723
  • feat(review): route suggestion-level findings to an updatable PR comment by @pomelo-nwu in #5786
  • fix(autofix): unconditionally restore tracked files before branch checkout (#6281) by @qwen-code-dev-bot in #6286
  • feat(serve): Add runtime.activity fields to daemon status API by @doudouOUC in #6270
  • feat(web-shell): add a daemon status page backed by GET /daemon/status by @wenshao in #6272
  • fix(vscode): keep auth quick inputs open on focus loss by @barry166 in #6274
  • ci(audio): clarify macOS prebuild artifact suffix by @barry166 in #6275
  • fix(cache): preserve tools prefix in side-query for Anthropic prompt-cache hits by @kagura-agent in #6225
  • feat(web-shell): add MCP mentions and iconized @ references by @BZ-D in #6279
  • fix(core): give Stop-hook continuations a fresh per-turn tool-call budget; make the cap configurable by @tanzhenxin in #6238
  • perf(glob): prune ignored directories during traversal, not just post-filter by @minmax in #6123
  • fix(web-shell): use theme color for @ group titles by @BZ-D in #6294
  • fix(acp): pass per-session settings explicitly instead of racing on this.settings by @doudouOUC in #6292
  • feat(web-shell): manage sessions from the sidebar (archive, unarchive, delete) by @wenshao in #6293
  • fix(core): improve debug txt diagnostics by @yiliang114 in #6277
  • fix(ci): require maintainer-applied autofix/approved label for tier-1 fast-path by @yiliang114 in #6276
  • fix(auth): prevent persistent 401 after API key change by @yiliang114 in #6284
  • feat(daemon): Add session export endpoint by @doudouOUC in #6297
  • test(e2e): make fake OpenAI reachable from Docker sandbox by @yiliang114 in #6302
  • fix(cli): stream long responses into scrollback to stop scroll-to-top lock by @MikeWang0316tw in #6170
  • fix(qqbot): streaming idle-flush with tool-call and stale-callback protection by @Eric-GoodBoy-Tech in #6204
  • fix(openai): preserve descriptionless tools by @VectorPeak in #6243
  • feat(acp): advertise vision-bridge image capability in initialize response by @yiliang114 in #6269
  • fix(core): enforce agent concurrency cap on foreground sub-agents by @kagura-agent in #6300
  • fix(ci): Stop review bots for closed PRs by @yiliang114 in #6304
  • fix(core): skip abbreviations in multiple_sentences filter (#6077) by @qwen-code-dev-bot in #6193
  • perf(cli): cache LoadedSettings per workspace with stat-based invalidation by @doudouOUC in #6310
  • feat(web-shell): support compact echarts full data blocks by @zhangxy-zju in #6232
  • fix(ci): skip stale PR review runs by @yiliang114 in #6313
  • feat(acp): Batch session load replay by @doudouOUC in #6309
  • fix(core): treat request timeout of 0 as disabled instead of aborting immediately by @Nas01010101 in #6288
  • fix(serve): resolve false auth warning in preflight when API key is set via settings by @doudouOUC in #6296
  • fix(core): treat @-attached files as read for prior-read enforcement by @Nas01010101 in #6295
  • fix(cli): preserve partial remote input JSONL records by @VectorPeak in #6317
  • fix(core): disable qwen thinking via chat_template_kwargs on non-DashScope servers by @beantownbytes in #6271
  • feat(web-shell): add custom at mention panel by @ytahdn in #6242
  • feat(acp-bridge): Add EventBus subscriber byte cap by @doudouOUC in #6314
  • perf(ci): optimize autofix pipeline — fast-track, skip duplicate build, scoped tests by @yiliang114 in #6315
  • fix(web-shell): keep skill slash commands after starting a new session by @wenshao in #6319
  • test(core): cover full:false branch of recordAttachedFileRead for truncated @-attachments by @Nas01010101 in #6324
  • feat(web-shell): time-series metrics charts on Daemon Status by @wenshao in #6307
  • fix(web-shell): localize built-in command and skill descriptions in the slash menu by @wenshao in #6326
  • fix(desktop): enforce transform_data isolation by @gauravyad86 in #6285
  • Notify model when extension capabilities change by @ZijianZhang989 in #6245
  • fix(core): skip no-op max_tokens escalation by @han-dreamer in #6234
  • fix(core): avoid null OpenAPI schema types by @VectorPeak in #6323
  • refactor(core): centralize extension runtime refresh by @ZijianZhang989 in #6152
  • feat(daemon): Add session organization by @doudouOUC in #6305
  • feat(cli): Surface daemon prompt queue status by @doudouOUC in #6325
  • Restart stalled ACP bridge for channels by @qqqys in #6330
  • docs(design): daemon side-channel coordination (A1/A2/A4/A5) by @chiga0 in #4511
  • docs: fix skill invocation syntax and include Feishu in channel lists by @DragonnZhang in #6320
  • feat(scheduler): opt-in per-tool-call execution timeout by @minmax in #6124
  • feat(web-shell): add onSessionChange and onSubmitBefore callbacks by @ytahdn in #6333
  • feat(core): stabilize tool schema declaration order by @water-in-stone in #6339
  • Fix incorrect context window calculation for custom models by @heyparth1 in #6266
  • feat(core): model fallback chain — auto-switch to backup models on overload by @yiliang114 in #6273
  • fix(core): preserve OpenAI reasoning as raw thoughts by @han-dreamer in #6192
  • fix(core): add UTF-8 prefix for cmd.exe on Windows by @Aleks-0 in #6216
  • feat(cli): support multi-folder workspaces in file system boundary checks by @yiliang114 in #6278
  • feat(web-shell): support icon chips for mention tags by @BZ-D in #6337
  • Feat: LSP Server support hot reload by @water-in-stone in #5953
  • fix(cli): allow queued input during compression by @han-dreamer in #6336
  • fix(web-shell): finalize deferred gated submissions by @ytahdn in #6342
  • feat(cli): Add large pipe frame measurement by @doudouOUC in #6335
  • [codex] add proactive channel loop tools by @qqqys in #6287
  • fix(cli): smoother live streaming preview — drop "generating more" cue, hold back partial table rows by @MikeWang0316tw in #6340
  • perf: memoize skill scans, debounce sleep-inhibitor log, guard IDE readdir by @kagura-agent in #6155
  • docs: fix settings.json reference drift against schema by @DragonnZhang in #6351
  • fix(desktop): preserve glued automation history records by @VectorPeak in #6344
  • feat(web-shell): named session groups and color tags in the sidebar by @wenshao in #6350
  • fix(web-shell): suppress stale pending prompt refresh errors by @ytahdn in #6352
  • feat(web-shell): add a Scheduled Tasks management page by @wenshao in #6348
  • docs(web-shell): document chart renderer integration by @zhangxy-zju in #6353
  • feat(web-shell): show Settings and Daemon Status as an in-place panel by @wenshao in #6341
  • ci(autofix): move agent prompts into a project skill by @yiliang114 in #6306
  • fix(web-shell): constrain virtual scroll rows by @ytahdn in #6362
  • fix(cli): Allow ACP local fallback reads from /tmp by @doudouOUC in #6370
  • test(core): keep context warning test aligned with default token limit by @yiliang114 in #6391
  • fix(core): default context windows to 200k by @tanzhenxin in #6387
  • feat(web-shell): add token-usage analytics dashboard to Daemon Status by @wenshao in #6388
  • feat(cli): Add Phase 1 workspace runtime registry by @doudouOUC in #6394
  • fix(triage): exclude test files from core module size gate and distinguish feat from refactor by @yiliang114 with @Copilot in #6369
  • fix(cli): Keep model picker entries contiguous in short terminals by @tanzhenxin in #6359
  • fix(core): Include request IDs in OpenAI error logs by @tanzhenxin in #6379
  • fix(cli): ignore current review run in presubmit CI by @yiliang114 in #6397
  • fix(autofix): improve review addressing and verification by @yiliang114 in #6382
  • fix(core): require integer ReadFile pagination params by @VectorPeak in #6381
  • feat(core): surface PreToolUse hook 'ask' as a TUI confirmation by @LaZzyMan in #5629
  • fix(core): resolve symlinks when matching conditional rules and skills by @DennisYu07 in #6371
  • fix(web-shell): refine tool detail presentation by @ytahdn in #6399
  • fix(core): preserve no-argument tool calls that stream an empty arguments string by @tomsen02 in #6250
  • feat(review): add issue-fidelity and root-cause ownership gate to /review by @DragonnZhang in #6395
  • fix(cli): use EnvHttpProxyAgent in channel proxy to respect NO_PROXY (#6401) by @qwen-code-dev-bot in #6405
  • fix(daemon): Handle settings reload events outside transcript by @doudouOUC in #6407
  • Handle missing web-shell sessions without redirecting by @ytahdn in #6357
  • docs: document PreToolUse hook permissionDecision "ask" behavior by @DragonnZhang in #6411
  • feat(cli): Add Phase 2a workspace foundation by @doudouOUC in #6410
  • fix(memory): don't advance AutoMemory extract cursor when the agent makes zero tool calls by @lcheng321 in #6398
  • fix(core): gate image payload replacement behind threshold by @LaZzyMan in #6380
  • feat(web-shell): add Session Overview panel and in-window split view by @wenshao in #6400
  • fix(review): remove qwen-code-specific core-infra gate from bundled /review by @DragonnZhang in #6412
  • fix(web-shell): polish scheduled task timeline UI by @callmeYe in #6386
  • fix(cli): smoother streaming table rendering by @MikeWang0316tw in #6345
  • fix(core): Gate large PDF text extraction by @doudouOUC in #6409
  • feat(cli): add --project and --global flags to /model for per-project model persistence by @Alex-ai-future in #6060
  • perf(core): Add session start profiler by @doudouOUC in #6349
  • feat(core): add maxSubAgents setting to limit parallel sub-agent count by @yiliang114 in #6354
  • fix(core): allow rewind after compressed history by @yiliang114 in #6358
  • fix(core): align monitor limit parameter schemas by @VectorPeak in #6413
  • fix(core): prevent KV-cache invalidation on tool_search by reordering reminderParts by @Aleks-0 in #6420
  • docs: consolidate design docs and plans under docs/ by @DragonnZhang in #6417
  • fix(shell): avoid Unix pager default on Windows by @han-dreamer in #6390
  • feat(scheduled-tasks): run each task in its own dedicated, named session by @wenshao in #6389
  • feat(cli): support stacked slash-skill invocations by @DennisYu07 in #6361
  • feat(core): add Tool(param:value) permission syntax for parameter-level access control by @DennisYu07 in #6106
  • fix(daemon): preserve user message source metadata by @callmeYe in #6385
  • feat(core): add tools.visible config for selective deferred-tool visibility at startup by @Aleks-0 in #6372
  • fix(core): prevent re-invoking loaded skill from appending duplicate content by @DennisYu07 in #6430
  • fix(web-shell): keep split-view session list fresh and preserve panes across view switches by @wenshao in #6418
  • feat(web-shell): add Qwen logo beside the sidebar new-chat button by @wenshao in #6437
  • fix(web-shell): Improve user tags and mobile menu layout by @yuanyuanAli in #6441
  • fix(web-shell): keep errored turns expanded by @ytahdn in #6424
  • fix(web-shell): clear stale floating todos by @ytahdn in #6425
  • Avoid refreshing session activity on load by @yiliang114 in #6439
  • fix(web-shell): hide rotating loading phrase in split-view pane status by @wenshao in #6447
  • fix(core): Support large text range reads by @doudouOUC in #6404
  • fix(core): strip system-reminder blocks from session title and recap side-query prompts by @yiliang114 in #6435
  • Upgrade GitHub Actions for Node 24 compatibility by @salmanmkc in #5157
  • fix(autofix): report review handoff failures by @yiliang114 in #6415
  • fix(monitor): preserve inherited git pager by @han-dreamer in #6429
  • fix(serve): classify interrupted model stream errors by @ytahdn in #6422
  • fix(web-shell): refine tool call summaries by @ytahdn in #6450
  • fix(web-shell): split-view pane fixes (remove "current" badge, clear composer on send) by @wenshao in #6454
  • feat(web-shell): add column reorder, resize, and freeze controls to markdown table by @jifeng in #6444
  • feat(channels): add WeCom intelligent robot channel by @qqqys in #6436
  • [codex] add natural channel memory intents by @qqqys in #6376
  • perf(cli): defer startup prefetch tasks by @water-in-stone in #6303
  • feat(web-shell): unify scheduled task sessions — bind chat-created tasks + clock icon by @wenshao in #6453
  • docs(channels): add WeCom to channels overview by @DragonnZhang in #6490
  • feat(cli): Add serve env isolation and total admission by @doudouOUC in #6416
  • feat(cli): review auto-generated skills with an inline preview, editor handoff, and an in-dialog off switch by @tanzhenxin in #6393
  • fix(core): reject fractional LSP limit inputs by @VectorPeak in #6455
  • fix(core): Match hook display-name matchers to tool ids by @LaZzyMan in #6373
  • fix(web-shell): hide sidebar settings text when width is insufficient by @wenshao in #6494
  • fix(web-shell): count daemon sessions in Daemon Status usage dashboard by @wenshao in #6493
  • feat(cli): Show permission mode badge in footer for DEFAULT mode by @DennisYu07 in #6498
  • fix(channel): Relay ACP permission requests by @qqqys in #6446
  • fix(core): reject Windows-style workspace artifact paths by @VectorPeak in #6483
  • fix(cli): show file path in compact tool summary for single collapsible tools by @Alex-ai-future in #6448
  • fix(cua-driver): migrate Windows scripts + README rewrite by @LaZzyMan in #6515
  • feat(serve): Bound replay snapshot history by @doudouOUC in #6482
  • feat(web-shell): restore the full composer in split-view panes by @wenshao in #6510
  • fix(cli): bound the live streaming-table pending height (fix scroll-to-top lock, stall-then-dump, header flash) by @MikeWang0316tw in #6421
  • fix(cli): clean up IDE client after deferred timeout by @water-in-stone in #6509
  • fix(web-shell): prevent sidebar footer overflow by @callmeYe in #6522
  • fix(web-shell): refine markdown table interactions by @jifeng in #6500
  • fix(web-shell): i18n for ~43 hardcoded English strings across 15 files by @wenshao in #6516
  • fix(cli): keep status line on session model by @yiliang114 in #6514
  • feat(hooks): inject background tasks and cron jobs status into Stop/SubagentStop hook payloads by @DennisYu07 in #6531
  • fix(cli): allow approval-mode changes without bearer token by @wenshao in #6527
  • fix(memory): allow forget to remove user managed memory by @callmeYe in #6432
  • feat(cli): Enable multi-workspace session routing by @doudouOUC in #6511
  • fix(core): omit deprecated temperature param for Claude 4.8+ by @qwen-code-dev-bot in #6520
  • feat(cli): auto-retry next port when serve port is in use by @wenshao in #6513
  • feat: extension file reload — watch for plugin changes and hot-reload runtime by @ZijianZhang989 in #6347
  • feat(channels): add dmPolicy config to disable private/DM messages by @chenghuichen in #6521
  • feat(web-shell): expose external split controls by @ytahdn in #6523
  • fix(core): detect non-SSE HTTP 200 responses in OpenAI streaming pipeline by @yiliang114 with @Copilot in #6466
  • fix(scripts): handle missing NPM dist-tags gracefully in release versioning (#6476) by @qwen-code-dev-bot in #6481
  • feat(core): add working_dir to the Agent tool for pinning subagents to an existing worktree by @wenshao in #6456
  • feat(autofix): extend review loop to all dev-bot PRs, add real-time triggers by @wenshao in #6528
  • fix(cli): fixed-width elapsed time below one minute to stop status-line jitter by @zjunothing in #6533
  • fix(memory): give each linked git worktree its own auto-memory root by @zjunothing in #6462
  • fix(cli): unblock /clear after task cancellation and surface the blocked reason by @zjunothing in #6499
  • fix(web-shell): stabilize slash command i18n in split-view panes by @wenshao in #6546
  • Stop repeated subagent tool-call loops by @yiliang114 in #6543
  • fix(session): detect and mark broken history chains instead of silently truncating by @doudouOUC in #6502
  • fix(cli): prefer command name match over alias match regardless of recentScore by @Alex-ai-future in #6504
  • feat(memory): make background memory agent timeouts configurable by @zjunothing in #6459
  • feat(cli): Add session owner index for workspace runtimes by @doudouOUC in #6540
  • docs: fix model-provider config shape and refresh feature/setting drift by @DragonnZhang in #6552
  • fix(channels): add chat payload diagnostics by @qqqys in #6539
  • fix(core): configurable vision bridge timeout + retry with fresh budget by @zjunothing in #6541
  • fix(shell): avoid self-kill from pgrep selectors by @yiliang114 in #6544
  • Gate browser automation MCP on external adapter by @yiliang114 in #6472
  • perf(core): add pure-ASCII fast path to text token estimation by @dexhunter in #6551
  • fix(extension): clean tempDir before fallback git clone on Windows by @C0d3N1nja97342 in #6545
  • chore(core): remove stale refreshStartupContextReminder mocks from tool-search tests by @Aleks-0 in #6423
  • fix(cli): align memory dialog with managed memory by @callmeYe in #6434
  • ci(autofix): Add single-target scheduler by @yiliang114 in #6547
  • fix(daemon): surface workspace memory task error details by @callmeYe in #6431
  • fix(serve): stop cdp-mcp-command reading process.env directly by @chinesepowered in #6562
  • fix(mobile-mcp): strip bounds from UI hierarchy dump by @LaZzyMan in #6568
  • fix(web-shell): make dialog backdrop z-index configurable by @cxruan in #6572
  • feat(web-shell): polish stats table layout and todo panel UI by @ytahdn in #6559
  • feat(cli): List persisted sessions for trusted workspaces by @doudouOUC in #6558
  • Add harness infrastructure for web-shell package by @harbin1053020115 in #6517
  • Fix workspace skills for disabled extensions and ACP preheat by @ytahdn in #6534
  • fix(ci): add retry logic to VSCode IDE Companion publish steps by @yiliang114 with @Copilot in #6574
  • feat(core): render PDF pages to images when text extraction overflows or fails by @doudouOUC in #6585
  • fix(ci): detect silent triage failures with empty-response check by @yiliang114 in #6566
  • Fix long session timeline scrolling by @callmeYe in #6526
  • feat(scheduled-tasks): add isolated run mode via create_sub_session tool by @wenshao in #6535
  • feat(cli): VP mode — inline thought expand on click + auto-hiding scrollbar by @chiga0 in #6079
  • feat(review): post Suggestion findings as inline comments by @wenshao in #6593
  • fix(cli): forward user input to MCP prompts with no declared arguments by @yiliang114 in #6571
  • feat(daemon): persist session artifacts across restarts by @chiga0 in #6557
  • feat(cli): Add channel worker settings reload for serve --channel by @doudouOUC in #6598
  • Support voiceBridge for ACP audio prompts by @qqqys in #6576
  • ci(autofix): per-issue concurrency, route cancel-in-progress, assigned trigger by @yiliang114 in #6609
  • fix(cua-driver): complete coordinate normalization for zoom/scroll/mouse tools by @LaZzyMan in #6610
  • chore(cua-driver): update version refs to 0.7.1 + add fix doc by @LaZzyMan in #6616

New Contributors

Full Changelog: cua-driver-rs-v0.7.0...cua-driver-rs-v0.7.1

Don't miss a new qwen-code release

NewReleases is sending notifications on new releases.