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
- fix(cli): persist MCP server removals by @Jerry2003826 in #4535
- fix(models): refresh raw model-derived defaults by @Jerry2003826 in #4517
- fix(vscode-ide-companion): exclude workspace packages from NOTICES.txt generation by @yiliang114 in #4455
- fix(telemetry): attach interaction span to session root context by @doudouOUC in #4499
- fix(cli): auto-prepend @ when pasting or dropping multiple file paths by @MikeWang0316tw in #4544
- feat(prompt): move new app prompt from system prompt to skills by @DennisYu07 in #4567
- feat(worktree): Phase D — startup --worktree flag + symlinkDirectories + PR refs by @LaZzyMan in #4381
- fix(permissions): make command substitution ask, not deny (#4093) by @LaZzyMan in #4386
- feat(cli): default auto-dream/auto-skill to on and add /memory toggle by @LaZzyMan in #4547
- fix(cli): surface startup warnings on stderr before TUI render (#4448) by @kagura-agent in #4461
- fix(telemetry): improve LogToSpan bridge error info and TUI handling by @doudouOUC in #4482
- feat(channels): add Feishu (Lark) channel adapter by @yuanyuanAli in #4379
- feat(telemetry): foundation for skill-based RT optimization (P0+P1) by @gwinthis in #4565
- fix(cli): track model-sent slash command history by @yiliang114 in #3826
- feat(computer-use): zero-config built-in via open-computer-use MCP by @LaZzyMan in #4590
- refactor(core)!: replace tail-preservation compaction with summary + restoration attachments by @LaZzyMan in #4599
- Emit PermissionDenied hooks for AUTO classifier blocks by @qqqys in #4376
- chore(release): v0.16.2 by @qwen-code-ci-bot in #4571
- fix(core): use undici fetch for IDE proxy requests by @he-yufeng in #4607
- fix(core,cli): label screenshot-triggered compaction accurately in the auto-compact notice by @LaZzyMan in #4623
- chore(release): v0.17.0 by @qwen-code-ci-bot in #4626
- fix(rewind): false "compressed turn" error when mid-turn messages exist by @doudouOUC in #4580
- fix(core): emit enable_thinking on DashScope when reasoning is disabled by @doudouOUC in #4505
- fix(core): surface Anthropic empty stream provider errors by @DragonnZhang in #4540
- feat(core): add memory pressure monitor by @ZevGit in #4403
- fix(core): guard oversized resumed history sends by @Jerry2003826 in #4531
- fix(cli): stabilize statusline preset ordering by @shenyankm in #4634
- fix(config): load home .env vars before settings ${VAR} resolution (#4466) by @kagura-agent in #4474
- fix(acp): drop discontinued Qwen OAuth method by @he-yufeng in #4639
- fix(core): enforce adjacent tool results by @he-yufeng in #4622
- fix(cli): hide completed sticky todos by @he-yufeng in #4635
- feat(cli): Add settings JSON corrupted warning dialog by @zzhenyao in #4560
- fix(core): harden context error text collection by @he-yufeng in #4632
- fix(core): apply output language to side queries by @he-yufeng in #4636
- fix(cli): persist /memory toggle state across dialog reopen by @LaZzyMan in #4650
- fix(docs): Hide internal docs from docs site by @DragonnZhang in #4357
- fix(core): preserve uid in atomicWriteFile to avoid breaking shared-write files by @doudouOUC in #4431
- Improve hooks matcher display by @qqqys in #4545
- fix(cli): use session channel when closing ACP sessions by @Jerry2003826 in #4522
- fix(core,cli): replace full-history structuredClone with shallow/tail variants to prevent OOM on resume by @yiliang114 in #4644
- feat(cli): add respectUserColors and hideContextIndicator options for statusline by @zzhenyao in #4670
- fix(core): tolerate unsupported Streamable HTTP GET SSE by @Jerry2003826 in #4521
- fix(insight): Harden insight facet normalization and empty qualitative handling by @DragonnZhang in #3557
- feat(cli): notify when background shells finish by @DragonnZhang in #4355
- feat(core): add simplify bundled skill by @pomelo-nwu in #3570
- feat(skills): add agent reproduction workflows by @DragonnZhang in #4118
- feat(cli): virtual viewport for long conversations on ink 7 by @chiga0 in #4146
- feat(cli): background housekeeping for stale file-history dirs by @doudouOUC in #4414
- fix(core): loosen auto-mode classifier timeouts, disable stage-2 thinking by @qqqys in #4680
- fix(core): coerce hostile-provider usage token counts (#4350 part 1) by @DragonnZhang in #4439
- feat(core): inject context env vars (session/agent/prompt ID) into shell subprocesses by @yiliang114 in #4649
- Add AUTO mode denial observability and caps by @qqqys in #4476
- feat(core): auto-dump memory diagnostics to disk on pressure detection by @yiliang114 in #4654
- feat(core): atomic write rollout for credentials, memory, config, JSONL (closes #3681, #4095 Phase 2) by @doudouOUC in #4333
- docs: add /diff command and auto theme detection documentation by @BZ-D in #4699
- feat(cli): Add searchable MiniMax-M3 model setup by @shenyankm in #4668
- feat(core,cli): auto-compact follow-up — /compress instructions, PreCompact hook plumb, plan/subagent attachments by @LaZzyMan in #4688
- fix(cli): honor list extensions flag by @he-yufeng in #4673
- feat(input): move physical cursor to visual cursor for IME input by @zzhenyao in #4652
- feat(core): add post tool batch hooks by @qqqys in #4454
- fix(ui): distinguish auto approval mode indicators by @he-yufeng in #4600
- fix(core): disable undici 300s bodyTimeout for no-proxy Node.js path by @Pepograminger in #4605
- feat(prompt): deduplicate tool guidance between system prompt and tool descriptions by @DennisYu07 in #4569
- chore(deps): update @google/genai from 1.30.0 to 2.6.0 by @InfiniteUselessness in #4485
- feat(cli): add CPU profiling support for Chrome DevTools analysis by @yiliang114 in #4620
- feat(prompt): enhance system prompts with global reasoning discipline and iterative planning by @DennisYu07 in #4436
- refactor(cli): rename "Default" approval mode to "Ask permissions" (#4625) by @LaZzyMan in #4674
- fix(cli): suppress completion menu for history-restored text until edited by @DragonnZhang in #4558
- fix(cli): statusline not re-rendering when switching from preset to command type by @BZ-D in #4706
- fix(cli): avoid exit-time history deep clones by @he-yufeng in #4717
- feat(subagent): add fork subagent feature gate and "Don't peek / Don't race" prompt discipline by @DennisYu07 in #4574
- fix(telemetry): clear span dedup state after chat compression (#3731) by @doudouOUC in #4660
- feat(core):strengthen system prompts for reading code before editing, dedicated tool priority, and step-by-step communication by @DennisYu07 in #4375
- fix(core): remove proactive subagent system-reminder injection by @DennisYu07 in #4587
- fix(cli): fix Space key not working in Arena model selection dialog by @ZijianZhang989 in #4701
- feat(skills): add triage skill for issue/PR gatekeeping by @pomelo-nwu in #4577
- feat(computer-use): use @qwen-code/open-computer-use fork (signed + notarized) by @LaZzyMan in #4726
- chore(release): v0.17.1 by @qwen-code-ci-bot in #4742
- fix(cli): skip thought parts in copy output by @he-yufeng in #4738
- feat(installer): verify release assets + switch public docs to standalone entrypoint by @yiliang114 in #3855
- feat(ci): add @qwen /triage workflow for automated issue and PR triage by @yiliang114 in #4768
- fix(cli): Improve approval mode display text by @BZ-D in #4753
- fix(ui): display model name instead of id in statusline and startup banner by @zzhenyao in #4741
- feat(cli): add standalone auto-update support by @yiliang114 in #4629
- fix(ci): fix triage prompt variable expansion, bot identity, and model secret by @yiliang114 in #4778
- feat(telemetry): Phase 4b — retry visibility for qwen-code.llm_request (#3731) by @doudouOUC in #4432
- feat(core): add user prompt expansion hooks by @qqqys in #4377
- fix(computer-use): auto-approve install in auto-approve modes (YOLO/AUTO_EDIT/AUTO) by @LaZzyMan in #4756
- fix(cli): implement --list-extensions flag handler (#4450) by @kagura-agent in #4456
- feat(telemetry): Phase 3 — qwen-code.subagent span with concurrent isolation (#3731) by @doudouOUC in #4410
- feat(skills): /skills picker dialog — browse, search, toggle, pick (#4532) by @callmeYe in #4533
- fix(core): handle error variant in disabled skill command delegation by @yiliang114 in #4804
- fix(cli): remove dead --list-extensions handler from #4456 by @yiliang114 in #4800
- feat(cli): enable /remember, /forget, /dream in ACP mode by @doudouOUC in #4811
- ci(triage): Fix Qwen triage workflow prompt by @yiliang114 in #4787
- Revert "feat(cli): enable /remember, /forget, /dream in ACP mode" by @doudouOUC in #4818
- feat(vscode): surface ACP background notifications by @DragonnZhang in #4358
- feat(cli): support /copy N to copy Nth-last AI message by @LaZzyMan in #4761
- fix(core): recurse into submodule files when crawling git repos by @he-yufeng in #4596
- Harden auto mode self-modification checks by @qqqys in #4572
- fix(clipboard): use platform-native tools for image paste on Linux by @CNCSMonster in #4647
- fix(core): add multimodal support for qwen3.7-plus by @pomelo-nwu in #4803
- feat(cli): prevent system sleep while running by @DragonnZhang in #4434
- feat(ci): add PR review workflow using bundled /review skill by @yiliang114 in #4549
- fix(core): scope boolean coercion to boolean-typed schema fields by @Pluviobyte in #4618
- fix(cli): bundle extension examples by @kkhomej33-netizen in #4719
- fix(cli): fix vim mode Esc leak, Enter submit, render lag and implement missing VIM commands by @zzhenyao in #4677
- fix(core): allow intentional foreground sleep for backoff by @kkhomej33-netizen in #4708
- fix(core): honor runtime output dir for auto memory by @he-yufeng in #4715
- feat(cli): add /fork background-agent command by @qqqys in #4780
- fix(tui): skip cross-group tool merge in mode to eliminate screen flash by @zzhenyao in #4795
- Move startup context into system reminders by @tanzhenxin in #4053
- feat(core): honor skill allowedTools by auto-approving declared tools by @tanzhenxin in #4704
- Add InstructionsLoaded hook for instruction file loading by @qqqys in #4665
- fix(cli): prevent selection dialog flicker by @ZevGit in #4755
- feat(skills): enforce auto-skill- directory prefix for auto-generated skills by @LaZzyMan in #4839
- fix(core): inject current date on every user query to prevent stale date by @Alex-ai-future in #4798
- Align automated PR review with bundled skill by @yiliang114 in #4843
- fix(ci): coordinate qwen triage and review automation by @yiliang114 in #4570
- fix(core): add missing closing braces in formatDateForContext test block by @yiliang114 in #4863
- fix(core): prevent OOM by compacting API history, UI history, and triggering under memory pressure by @zzhenyao in #4824
- fix(core): don't kill a failed-spawn sleep inhibitor child (sandbox abort on tool use) by @tanzhenxin in #4865
- fix(skills): add bundled skill doc-index validation to docs skills by @DragonnZhang in #4851
- feat(memory): add user-level auto-memory at ~/.qwen/memories/ (#4747) by @LaZzyMan in #4764
- fix(sdk): correct npm package name in SDK install instructions by @ZijianZhang989 in #4860
- test(integration): drop tight 30s timeout in sleep-interception e2e tests by @tanzhenxin in #4878
- fix: strip runtime snapshot prefix before persisting model.name by @Rakson0209 in #4734
- test: cover rewind selector restore options by @han-dreamer in #4784
- fix(cli): handle background auto-update breaking cross-authType model switching by @yiliang114 in #4760
- fix(core): preserve shared baseUrl on auth refresh by @he-yufeng in #4828
- refactor(core): remove GitService, migrate /restore to FileHistoryService by @doudouOUC in #4871
- feat(acp): support desktop qwen integration by @DragonnZhang in #4728
- feat(extension): add description field to ExtensionConfig by @callmeYe in #4857
- fix(ci): acknowledge queued qwen review requests by @qqqys in #4847
- fix(core): fix qc-helper skill docs index and config categories by @DragonnZhang in #4848
- feat(telemetry): inject TRACEPARENT env var into shell child processes by @doudouOUC in #4906
- fix(ci): normalize dev launcher path assertions on Windows by @wenshao in #4915
- fix(installer): correct broken (404) 'for more info' URL in post-install message by @pomelo-nwu in #4916
- fix(core): isolate OpenAI SDK abort listener leak with per-request child controllers by @yiliang114 in #4810
- feat(hooks): support terminal sequence notifications by @DennisYu07 in #4895
- feat(core): Workflow tool P1 — minimal node:vm sandbox + sequential agent() (#4721) by @LaZzyMan in #4732
- fix(acp): prevent session/prompt hang when client ignores mid-turn drain requests by @tanzhenxin in #4925
- fix(core): remove greeting-responder example from agent tool prompt by @tanzhenxin in #4923
- feat(ci): add auto-generated CHANGELOG.md synced from releases (#4872) by @LaZzyMan in #4881
- feat(stats): add interactive /stats dashboard with cross-session tracking by @BenGuanRan in #4779
- fix(core): remove
envfrom read-only shell command allowlist by @pomelo-nwu in #4932 - fix(core): prevent cron scheduler from firing on creation minute by @tanzhenxin in #4946
- fix(core): ensure hard threshold always exceeds auto threshold by @DennisYu07 in #4949
- fix(installer): auto-detect SYSTEM account and default PATH scope to machine by @yiliang114 in #4903
- fix(skills): use full YAML parser for frontmatter to support block scalars by @yiliang114 in #4870
- fix(core): give complete intentional-sleep guidance on first rejection for sleep chains by @tanzhenxin in #4948
- fix(core): add qwen3.7-plus to Coding Plan model list by @ZijianZhang989 in #4953
- ci: extend qwen PR review timeout to 90min and queue delay to 30min by @yiliang114 in #4962
- test: cover rewind selector fallback states by @han-dreamer in #4905
- feat(core): enable loop/cron tools by default by @tanzhenxin in #4950
- test(integration): harden flaky sleep-interception e2e against skipped tool calls by @tanzhenxin in #4936
- fix(openai): default splitToolMedia so tool-returned images reach strict OpenAI-compatible backends by @LaZzyMan in #4917
- fix(cli): fix cursor left-move stalling at hard-wrapped line boundary by @DragonnZhang in #4852
- feat(core): declarative agent frontmatter v1 — permissionMode bridge + maxTurns wiring + color allowlist (CC 2.1.168 parity) by @LaZzyMan in #4842
- fix(core): microcompact hook continuations by @qqqys in #4840
- feat: add Agent Team experimental feature for parallel sub-agent coordination by @tanzhenxin in #4844
- Fix release workspace test failures by @tanzhenxin in #4980
- fix(core): preserve teammate identity when resuming a tool call after approval by @tanzhenxin in #4979
- refactor(skills): remove redundant commands and sync e2e-testing skill by @tanzhenxin in #4992
- fix(installer): print shell reload hint when new qwen is not picked up by @yiliang114 in #4960
- feat(desktop): Add desktop app package with Qwen ACP SDK integration by @DragonnZhang in #3778
- feat(daemon): merge daemon-mode feature batch into main by @doudouOUC in #4490
- feat(core): layered tool-output truncation, per-message budget, per-tool limits by @LaZzyMan in #4880
- fix(auth): time out Qwen OAuth refresh by @he-yufeng in #4829
- fix(cli): route down-arrow straight to the live agent panel (#4907) by @wsyjh8 in #4911
- fix(core): harden experimental agent-team messaging by @tanzhenxin in #4988
- feat(telemetry): add runtime memory/CPU sampling with OTel metric reporting by @yiliang114 in #4868
- fix(cli): enable VP scroll at idle prompt and fix viewport height by @chiga0 in #4959
- fix(core): parse comma-separated tools/disallowedTools in agent frontmatter by @callmeYe in #4935
- perf(filesearch): move AsyncFzf index construction to a worker thread by @callmeYe in #4621
- feat(cli): add /compress-fast command for no-LLM rule-based context compression by @ZijianZhang989 in #4893
- fix(cli): make extensions new work when bundled examples are missing by @BZ-D in #5009
- feat(web-shell): add Option+Enter and Cmd+Enter newline shortcuts by @yiliang114 in #5005
- chore(daemon): remove dead code and simplify control flow by @qqqys in #4789
- fix(goal): persist iteration count across resume so MAX_GOAL_ITERATIONS bounds the whole session by @qqqys in #5000
- Add /cd command by @qqqys in #4890
- ci(desktop): mac code-signing + App Store Connect API-key notarization by @LaZzyMan in #5013
- feat(core): persist file history snapshots for cross-session /rewind (T2.1) by @doudouOUC in #4897
- fix(desktop): keep composer sendable after idle escape by @puneetdixit200 in #4788
- fix(cli): avoid headless browser open crashes by @he-yufeng in #4716
- fix(cli): debounce resize repaint and clear stale scrollback on settle by @wsyjh8 in #4919
- feat(core): port declarative-agent mcpServers + hooks (CC 2.1.168 parity follow-up) by @LaZzyMan in #4996
- feat(core): Workflow P2 — parallel() + pipeline() concurrent fan-out (#4721) by @LaZzyMan in #4947
- fix(core): add Tool Fallback rule to system prompt by @pomelo-nwu in #4931
- fix(docs): correct stale settings keys, wrong defaults, and missing commands by @DragonnZhang in #4969
- fix(core): stabilize truncated tool retry keys by @he-yufeng in #4970
- fix(core): stabilize prompt-cache prefix against MCP/skills churn by @callmeYe in #4896
- fix(core): fix Windows startup error caused by missing printf command by @zzhenyao in #5012
- feat(core): add enter_plan_mode tool and Plan Approval Gate by @callmeYe in #4853
- docs(desktop): use main for brand builder skill by @DragonnZhang in #5021
- perf(desktop): add --cli-only flag to skip non-CLI packages during vendor build by @DragonnZhang in #5025
- fix(desktop): allow unsigned Windows auto-updates by @DragonnZhang in #5028
- fix(cli): join previous line when Ctrl+U pressed at column 0 by @ZijianZhang989 in #5011
- fix(tui): Tighten message and tool spacing by @chiga0 in #4595
- fix(core): serialize team task claims per agent and add mailbox lock parity by @tanzhenxin in #4981
- fix(core): support .toml command files in extension command discovery by @callmeYe in #5017
- test(i18n): raise timeout for slow must-translate locale suites on Windows CI by @yiliang114 in #5024
- fix(stats): dedup usage records by sessionId and skip in-progress writes by @BenGuanRan in #4995
- fix(test): unbreak qwen serve integration suites after the daemon batch merge by @tanzhenxin in #5041
- feat(acp): broadcast session title updates to daemon clients by @qqqys in #5035
- fix(release): allow fzfWorker.js in standalone dist allowlist by @yiliang114 in #5049
- chore(release): v0.18.0 by @qwen-code-ci-bot in #5050
- feat(daemon): gate direct session shell behind explicit opt-in by @doudouOUC in #5031
- fix(telemetry): Propagate daemon ACP trace context by @doudouOUC in #5047
- feat(core): persist oversized tool results to disk (#4095 Phase 4) by @doudouOUC in #5042
- fix(docs): update Coding Plan model list and fix stale references in developer docs by @DragonnZhang in #5054
- feat(core,cli): bubble background subagent permission prompts to the parent session by @qqqys in #4955
- feat(core): let grep results satisfy prior-read checks by @he-yufeng in #5043
- chore: sync package-lock.json with packages/cli ws dependencies by @tanzhenxin in #5023
- feat(skills): support user-invocable frontmatter by @kkhomej33-netizen in #5037
- fix(daemon): Sanitize logs and type MCP restarts by @doudouOUC in #5006
- fix(memory): avoid stale tool schema recall by @he-yufeng in #5058
- fix(core): eliminate OOM from debugResponses accumulation by @zzhenyao in #4982
- feat(serve): deliver A2UI surfaces over MCP — bridge extraction and action endpoint by @qqqys in #4961
- fix: enable fork subagents by default by @he-yufeng in #4963
- refactor(web-shell): remove duplicate agents panel, contain SubAgent views by @wenshao in #5059
- feat(mcp): project .mcp.json + workspace approval gating with aligned scope precedence (#4615) by @qqqys in #4713
- fix(core): preserve background agent launch flags by @he-yufeng in #5061
- feat(web-shell): daemon web-shell improvements — token usage, settings, retry, streaming metrics, hidden commands by @ytahdn in #5066
- feat(web-shell): revamp floating todo panel interactions by @wenshao in #5069
- fix(web-shell): improve slash command panel layering by @ytahdn in #5078
- feat(web-shell): show message time on hover by @wenshao in #5079
- fix(serve): Add prompt queue backpressure by @doudouOUC in #5033
- feat(core): durable cron jobs — /loop tasks that survive restarts by @tanzhenxin in #5004
- fix(cli): show full plan for gate failures by @he-yufeng in #5077
- feat(web-shell): show time on parallel-agents box and sub-agent tools by @wenshao in #5084
- feat(sdk,serve): DaemonTransport abstraction + ACP standard compliance by @chiga0 in #5040
- fix(cli): submit fast tool results after stream end by @he-yufeng in #5071
- feat(core): Workflow P3 — agent({schema, agentType, model, isolation:'worktree'}) (#4721) by @LaZzyMan in #5034
- fix(cli): ignore expired live agents in focus navigation by @he-yufeng in #5070
- fix(cli): drop tool calls after cancellation by @he-yufeng in #5020
- fix(core): Persist file history snapshot updates by @doudouOUC in #5057
- test(cli): Cover rewind selection and confirm flow by @doudouOUC in #5044
- fix(cli): add OSC 52 clipboard fallback for SSH environments by @zzhenyao in #4929
- fix(webui): defer DaemonClient disposal to survive React StrictMode by @wenshao in #5091
- feat(core): migrate Computer Use to cua-driver (cross-platform) by @LaZzyMan in #5051
- feat(web-shell): reveal full tool detail and auto-collapse finished tools by @wenshao in #5088
- fix(cli,core): harden OOM prevention — idempotent compaction tests, explicit GC, debug log defaults by @zzhenyao in #4914
- fix(cli): wrap long status lines by @tt-a1i in #5093
- fix(acp): add internal Kind.Agent, keep ACP wire on 'other' (no-regression) by @doudouOUC in #5085
- feat(web-shell): make input shortcuts discoverable and clickable by @wenshao in #5096
- fix(ci): fail PR review job when the run aborts mid-review by @yiliang114 in #5053
- feat(cli,web-shell): persist goal status in daemon transcript events by @ytahdn in #5098
- fix(core): default GLM-5.2+ and GLM-6.x onward to 1M context by @wenshao in #5103
- refactor(core): unify retry delay policy by @yiliang114 in #3827
- feat(acp): dedicated agent permission dialog via _meta.toolName (follow-up to #5085) by @doudouOUC in #5105
- fix(daemon): Avoid replaying truncated session diffs by @doudouOUC in #5108
- feat(cli): import Claude MCP servers by @tt-a1i in #5095
- fix(core): Repair duplicate tool call IDs by @doudouOUC in #5107
- feat(cli): improve /copy command argumentHint and description by @huww98 in #5110
- feat(web-shell): collapsible TodoWrite history with status diff by @wenshao in #5109
- test: stabilize simple MCP integration check by @he-yufeng in #5072
- fix(core): hard-stop repeated identical tool calls by @he-yufeng in #5036
- fix(core): keep token escalation warm across agent rounds by @he-yufeng in #5062
- fix(core): bound hard rescue compression retries by @Jerry2003826 in #4526
- fix(core): bound foreground shell output capture by @Jerry2003826 in #4524
- fix(core): compress when usage metadata is missing by @Jerry2003826 in #4528
- docs: Refresh daemon developer docs by @doudouOUC in #4412
- fix(core): ignore agent names without active teams by @he-yufeng in #5115
- fix(core): include response tokens in prompt estimate by @Jerry2003826 in #4525
- fix(dual-output): prevent FIFO blocking on startup when no reader connected by @chiga0 in #4894
- ci: add scheduled autofix workflow for stale bug issues by @qqqys in #4989
- fix(core): honor skipLoopDetection for the deterministic tool-call loop by @wenshao in #5128
- docs: rewrite CLAUDE.md to point to AGENTS.md as authoritative source by @pomelo-nwu in #5138
- feat(computer-use): configurable screenshot max dimension (setting + env) by @LaZzyMan in #5122
- fix(core): Bound active tool result history by @doudouOUC in #5111
- fix(desktop): isolate update feed from CLI releases by @DragonnZhang in #5139
- feat(web-shell): per-task token & time detail on completed todos by @wenshao in #5118
- fix(web-shell): remove redundant sanitizeSvg, fix mermaid render failure by @ytahdn in #5123
- fix release integration env controls by @yiliang114 in #5121
- feat(web-shell): collapse completed turns to prompt + final answer by @wenshao in #5125
- fix(core): skip auto-title generation when history has no user message by @yuanyuanAli in #5120
- feat(desktop): show git branch in working directory badge by @tt-a1i in #5082
- feat(triage): make minimal-change an explicit PR review check by @yiliang114 in #5146
- fix(release): allow cli-entry.js in standalone dist allowlist by @yiliang114 in #5153
- fix: warn on oversized context instructions by @he-yufeng in #5073
- docs: fix stale defaults, CLI syntax, and tool naming drift by @DragonnZhang in #5158
- chore(release): desktop desktop-v0.0.4 by @qwen-code-ci-bot in #5127
- chore(release): v0.18.1 by @qwen-code-ci-bot in #5164
- feat(web-shell): support custom footer renderer by @ytahdn in #5166
- fix(core): simplify edit tool description to path only by @huww98 in #5140
- fix(monitor): batch-drain notifications to reduce token waste by @doudouOUC in #5165
- feat(web-shell): add imperative composer API for external text, tag, and submit control by @ytahdn in #5161
- feat(web-shell): per-turn time & tokens on the collapse seam, below the prompt by @wenshao in #5163
- docs(daemon): Refresh daemon docs in English by @doudouOUC in #5144
- fix(core): coerce numeric string params in SchemaValidator for MCP tools by @pomelo-nwu in #4967
- fix(channels): match sender id as a full segment in SessionRouter by @Osamaali313 in #5116
- docs(design): DaemonTransport abstraction — pluggable transport for SDK by @chiga0 in #5026
- ci: publish autofix PRs as qwen-code-ci-bot by @qqqys in #5137
- fix(agent): make forking explicit; keep omitted subagent_type awaitable by @wenshao in #5155
- fix(core): auto-retry transport stream errors before the first chunk by @yiliang114 in #5171
- docs: add Qwen Code Desktop release link by @DragonnZhang in #5152
- docs: fix MCP token path, daemon UI event count, add Feishu channel by @DragonnZhang in #5172
- docs(channels): add screenshots to Feishu setup guide by @joeytoday in #4983
- feat(cli): Add daemon status API by @doudouOUC in #5174
- docs: fix missing spaces before parentheses in README by @marko1olo in #4796
- fix: Qwen PR review proxy bypass, stale-worktree cleanup, and footer line break by @yiliang114 in #5168
- feat(core+cli): Workflow P4 — meta + /workflows + phase-tree (#4721) by @LaZzyMan in #5094
- feat(daemon): deliver web-shell mid-turn messages into the running turn by @wenshao in #5175
- feat(tui): collapsible thinking blocks with duration timer by @chiga0 in #4598
- feat(web-shell): expose transcript event changes by @ytahdn in #5193
- Polish web-shell execution display by @ytahdn in #5190
- Fix completed prompt lifecycle race by @ytahdn in #5192
- fix(dingtalk): reopen code fences without inserting a blank line by @he-yufeng in #5204
- fix(cli): hide unconfigured discontinued OAuth model by @he-yufeng in #5167
- fix(permissions): do not model /dev/tcp and /dev/udp redirects as file I/O by @warmjademe in #5196
- fix(core): strengthen exit_plan_mode descriptions to prevent empty plan parameter by @Alex-ai-future in #5188
- fix(desktop): keep latest feed stable-only by @DragonnZhang in #5149
- fix(core): read SHORT-typed TIFF dimensions correctly on big-endian files by @he-yufeng in #5209
- fix(cli): skip highlightAuto for unlabeled code blocks with box-drawing/CJK content by @yuanyuanAli in #5198
- fix: coerce non-string tool params to strings for self-hosted LLMs by @launchswitch in #4793
- ci(autofix): prioritize recent unattended bugs over stale ones by @qqqys in #5178
- fix(cli): keep sudo-required npm installs on npm instead of migrating to standalone by @yiliang114 in #5207
- Revert "fix(core): skip auto-title generation when history has no user message" by @yuanyuanAli in #5200
- fix(e2e): add daemon_status to serve capabilities baseline; run E2E on PRs by @wenshao in #5211
- fix(web-shell): localize remaining hardcoded UI strings by @carffuca in #5189
- fix(acp): load extension commands in daemon sessions by @ytahdn in #5216
- fix(web-shell): simplify collapse metadata display by @ytahdn in #5223
- fix(ci): gate PR review and triage on write permission by @yiliang114 in #5191
- ci: run CLI integration tests in the merge queue by @yiliang114 in #5224
- ci(autofix): unify issue-fix and review-response into one lifecycle workflow by @qqqys in #5233
- feat(cli): add sessions list command with --json and --limit flags by @ZijianZhang989 in #5187
- ci(e2e): stop running the E2E matrix on every PR push by @yiliang114 in #5238
- chore(release): v0.18.2 by @qwen-code-ci-bot in #5243
- fix(cli): Stop after cancelled ask_user_question by @doudouOUC in #5218
- fix(cli): render slash suggestion descriptions on a single truncated line by @yiliang114 in #5236
- ci(release): report required Test checks on release PRs and auto-approve by @yiliang114 in #5250
- fix(core): always declare exit_plan_mode so plan mode can call it (#5210) by @yiliang114 in #5251
- chore(release): v0.18.3 by @qwen-code-ci-bot in #5255
- fix(core): Track supported sed edits in file history by @doudouOUC in #5141
- fix(vscode-ide-companion): create independent McpServer per IDE session by @huww98 in #5264
- fix(core): read BMP height as signed int32 for top-down bitmaps by @he-yufeng in #5227
- docs: add CLI subcommands section with qwen sessions list by @DragonnZhang in #5254
- feat(serve): make ACP permission timeout configurable by @doudouOUC in #5260
- fix(cli): Preserve mid-turn image messages by @doudouOUC in #5183
- docs: fix SSE ring size errors and add /workflows command by @DragonnZhang in #5205
- fix(core): detect dat files by content by @tt-a1i in #5256
- fix(model): remember selected provider when multiple share a model id (#5173) by @doudouOUC in #5179
- docs: Revamp README for clarity and focus by @pomelo-nwu in #5257
- feat(i18n): localize tool display names in TUI and web-shell badges by @wenshao in #5220
- fix(daemon): centralize mid-turn event constant + recover timed-out drains by @wenshao in #5266
- fix(core): keep DeepSeek presets text-only by @tt-a1i in #5268
- fix(cli): drop AgentView cleanup setState that can trip React #185 (#5199) by @wenshao in #5286
- fix(core): read WebP VP8X canvas height from the correct byte offset by @he-yufeng in #5194
- fix(cli): support Ctrl+P/N in completions by @tt-a1i in #5259
- feat(serve): add daemon idle detection to GET /health?deep=true by @jifeng in #4934
- fix(core): never let telemetry file exporters crash the process by @DragonnZhang in #5246
- fix(cli): correct context filename settings schema by @tt-a1i in #5269
- feat(hooks): pass original API call ID (toolCallId) to hook system by @shiloong in #4918
- fix(core): per-turn tool-call circuit breaker — always-on cap + opt-in loop heuristics (#5234) by @wenshao in #5279
- fix(desktop): handle git branch badge edge cases by @tt-a1i in #5247
- feat(core,cli): Workflow tool token budget + per-run UI surfacing (P5) by @LaZzyMan in #5231
- feat(extensions): add i18n support for extension displayName and description by @callmeYe in #5289
- feat(loop): wire prompt-only /loop to self-paced wakeups by @qqqys in #5197
- fix(cli): correct sandbox settings schema by @tt-a1i in #5272
- test(cli): enable load config model selection coverage by @tt-a1i in #5274
- docs(cli): document tmux scroll workaround by @tt-a1i in #5248
- test(cli): cover selection list scroll up by @tt-a1i in #5276
- fix(weixin): show allowed image directories by @tt-a1i in #5296
- fix(cli): reject malformed OSC rgb colors by @tt-a1i in #5307
- test(cli): enable table foreground reset coverage by @tt-a1i in #5278
- test(core): enable agent headless termination coverage by @tt-a1i in #5282
- fix(web-shell): summarize grep_search results by @tt-a1i in #5294
- fix(core): read short VP8L WebP dimensions by @tt-a1i in #5292
- fix(core): track attached stdout fd redirects by @tt-a1i in #5317
- fix(dingtalk): split oversized markdown lines by @tt-a1i in #5299
- fix(cli): preserve multiline shell history by @tt-a1i in #5335
- fix(cli): validate GitHub remote hosts by @tt-a1i in #5327
- test(cli): enable command search long suggestion coverage by @tt-a1i in #5283
- fix(core): preserve migrated command description strings by @tt-a1i in #5321
- fix(cli): enforce stdin byte limit by @tt-a1i in #5331
- fix(core): respect home path boundary when tildeifying by @tt-a1i in #5333
- fix(cli): truncate session picker text by display width by @tt-a1i in #5338
- fix(core): support GIF image token metadata by @tt-a1i in #5340
- fix(cli): handle session search graphemes by @tt-a1i in #5342
- fix(cli): normalize english output language by @tt-a1i in #5346
- fix(core): parse OAuth resource metadata params by @tt-a1i in #5344
- fix(core): handle stale worktree session markers by @tt-a1i in #5229
- feat(loop): add second-resolution session wakeup engine by @qqqys in #5182
- fix(core): ignore duplicate provider tool-call ids by @YingchaoX in #5038
- fix(cli): show thinking in full transcript mode by @tt-a1i in #5354
- feat(desktop): compile macOS 26+ Liquid Glass Assets.car in brand-create by @pomelo-nwu in #5284
- fix(cli): return fresh empty mcp json results by @tt-a1i in #5349
- fix(weixin): normalize markdown image syntax by @tt-a1i in #5297
- fix(core): skip sleep inhibitor in headless ssh by @tt-a1i in #5295
- fix(cli): reject malformed terminal sequences by @tt-a1i in #5305
- fix(cli): expand windows-style tilde paths by @tt-a1i in #5298
- fix(core): validate oauth expires_in values by @tt-a1i in #5356
- fix(core): reject malformed cron numeric fields by @tt-a1i in #5352
- fix(cli): parse sandbox image registry ports by @tt-a1i in #5325
- fix(cli): preserve empty MCP prompt args by @tt-a1i in #5323
- fix(core): reject invalid cron task entries by @tt-a1i in #5309
- fix(cli): avoid agent composer unmount reset by @tt-a1i in #5302
- fix(cli): validate channel service pidfile by @tt-a1i in #5300
- fix(core): preserve invalid schema length strings by @tt-a1i in #5312
- fix(weixin): confirm the WEBP signature, not just the RIFF prefix by @he-yufeng in #5285
- feat(channel): add QQ Bot (QQ机器人) channel adapter by @Eric-GoodBoy-Tech in #5202
- fix(cli): reject malformed ACP timeout strings by @tt-a1i in #5315
- fix(cli): import extension channels via file urls by @tt-a1i in #5301
- fix(cli): bound streaming thought render buffers by @kkhomej33-netizen in #5314
- feat(core): auto-reveal exit_plan_mode tool when entering plan mode by @aspnmy in #5311
- fix(cli): window title shows session name instead of model activity status by @ZijianZhang989 in #5288
- fix(core): keep qwen3.6-flash and kimi-k2.6 presets text-only by @he-yufeng in #5328
- feat(skills): add desktop-pet skill for creating pixel-art companions by @xxlaura in #4808
- fix(cli): render a sub-minute duration that rounds to 60s as "1m" by @he-yufeng in #5287
- fix: Expand Windows ~\ home paths and hide phantom (session) entries in the desktop session list by @mvanhorn in #5253
- feat(stats): expose token usage for cost visibility by @shenyankm in #4564
- fix(plan-gate): isolate gate agent AbortSignal from parent signal chain by @CubeLander in #5185
- fix(core): honor output language in side queries by @Jerry2003826 in #4519
- fix(cli): avoid stale git branch watcher setup by @tt-a1i in #5271
- fix(desktop): detect WebP and AVI in RIFF magic-byte sniffing by @he-yufeng in #5336
- fix(input): restore IME cursor positioning reverted in #4779 by @BenGuanRan in #4993
- fix(cli): close @path completion dropdown on Enter accept by @Alex-ai-future in #4841
- fix(core): fall back to encrypted-file storage for extension secrets when keychain is unavailable by @DragonnZhang in #5221
- fix(core): support whitespace in session metadata fields by @tt-a1i in #5353
- fix(core): prevent OOM in auto-memory extraction during /quit (#5147) by @ZijianZhang989 in #5181
- refactor(tools): rename TodoWrite tool display name to TodoList by @wenshao in #5319
- fix(core): expire tokens at buffer boundary by @tt-a1i in #5360
- fix(cli): validate restore checkpoints before mutation by @tt-a1i in #5358
- fix(core): honor ripgrep builtin setting at runtime by @tt-a1i in #5362
- fix(core): create token file on first save by @tt-a1i in #5367
- fix(cli): preserve workspace trust state for extensions by @tt-a1i in #5369
- fix(cli): Stop after cancelled permissions by @doudouOUC in #5258
- fix(core): resolve tilde paths before search permission checks by @tt-a1i in #5378
- fix(cli): respect sandbox path boundaries by @tt-a1i in #5375
- fix(cli): update acp cancel test flag by @tt-a1i in #5384
- fix(core): avoid reconnecting on MCP tool errors by @tt-a1i in #5382
- fix(core): accept uppercase web fetch schemes by @tt-a1i in #5391
- fix(cli): preserve equals in mcp env values by @tt-a1i in #5377
- feat(cli): show follow-up suggestion in input placeholder by @MikeWang0316tw in #5145
- fix(core): avoid glob prefix cache reuse by @tt-a1i in #5364
- fix(core): validate grep result limits by @tt-a1i in #5389
- fix(core): parse grep results with colon paths by @tt-a1i in #5372
- feat(config): add settings file change detection via chokidar watcher… by @water-in-stone in #4933
- fix(acp): scrub simple env for spawned children by @tt-a1i in #5395
- fix(core): pass --no-ask-password to systemd-inhibit to prevent TUI corruption by @OrbitZore in #5318
- fix(cli): parse sandbox mounts with windows drives by @tt-a1i in #5388
- fix(core): add GLM-5.2 to Z.AI preset by @tt-a1i in #5397
- fix(openai): add string tool result compatibility mode by @tt-a1i in #5399
- fix(cli): clarify cumulative statusline token labels by @tt-a1i in #5400
- feat(cli): show optional response token rate by @tt-a1i in #5401
- fix(cli): reduce retained interactive tool output memory by @kkhomej33-netizen in #4971
- fix(cli): calculate response rate from phase token delta by @tt-a1i in #5402
- fix(cli): clarify unavailable model configuration hint by @tt-a1i in #5403
- feat(cli): serve the Web Shell UI from
qwen serveby @wenshao in #5392 - fix(cli): gate cron scheduler startup on config initialization (#5022) by @qwen-code-ci-bot in #5230
- fix(core): keep estimated token split summing to total by @he-yufeng in #5420
- fix(core): share memory filename config state by @tt-a1i in #5419
- fix(channel): scope qqbot session backup path by @tt-a1i in #5417
- fix(channel): track qqbot close reconnect timer by @tt-a1i in #5416
- fix(auth): preserve custom provider models on install by @tt-a1i in #5404
- fix(core): target microcompaction cache disarms by @tt-a1i in #5407
- fix(channel): keep qqbot token refresh retrying by @tt-a1i in #5414
- fix(cli): keep keypress handlers current by @tt-a1i in #5421
- refactor(serve): unify session title/displayName into single displayName field by @chiga0 in #5002
- feat(cli): add persistent history collapse on resume with refined commands by @Gove2004 in #4085
- fix(cli): narrow settings enum schemas by @tt-a1i in #5418
- fix(channel): bound qqbot gateway reconnect retries by @tt-a1i in #5415
- fix(core): block broad shell self-kill commands by @tt-a1i in #5409
- fix(cli): preserve trustedFolders comments on save by @Zoean-z in #4746
- fix(hooks): remove the dead updatedMCPToolOutput field (#5422) by @ken-jo in #5423
- feat(web-shell): add extension management by @ytahdn in #5398
- fix(cli): accept uppercase URL schemes in mcp add transport detection by @he-yufeng in #5426
- fix(extensions): accept uppercase URL schemes when parsing install sources by @he-yufeng in https://github.com/QwenLM/qwen-code/pull/5429
- fix(core): provide escape path when plan gate is unavailable by @Alex-ai-future in https://github.com/QwenLM/qwen-code/pull/5430
- feat(extensions): interactive multi-tab /extensions manager (Installed / Discover / Sources) by @BZ-D in https://github.com/QwenLM/qwen-code/pull/4850
- fix(cli): stabilize extension list spacing by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/5445
- fix(weixin): handle uppercase CDN upload schemes by @tt-a1i in https://github.com/QwenLM/qwen-code/pull/5439
- fix(core): require opt-in for plan mode prompt by @tt-a1i in https://github.com/QwenLM/qwen-code/pull/5433
- test(core): drop duplicate gitdiff untracked count case by @tt-a1i in https://github.com/QwenLM/qwen-code/pull/5468
- fix(core): evaluate ignore files named with dot prefixes by @tt-a1i in https://github.com/QwenLM/qwen-code/pull/5458
- fix(core): enforce shell directory workspace boundary by @tt-a1i in https://github.com/QwenLM/qwen-code/pull/5454
- fix(core): validate lsp socket ports by @tt-a1i in https://github.com/QwenLM/qwen-code/pull/5493
- fix(core): parse max output token env strictly by @tt-a1i in https://github.com/QwenLM/qwen-code/pull/5491
- fix(core): detect providers by hostname by @tt-a1i in https://github.com/QwenLM/qwen-code/pull/5450
- fix(cli): validate ACP glob max results by @tt-a1i in https://github.com/QwenLM/qwen-code/pull/5480
- fix(core): allow dot-prefixed plans directories by @tt-a1i in https://github.com/QwenLM/qwen-code/pull/5460
- fix(extensions): fetch http marketplaces with http client by @tt-a1i in https://github.com/QwenLM/qwen-code/pull/5452
- fix(cli): parse FORCE_HYPERLINK strictly by @tt-a1i in https://github.com/QwenLM/qwen-code/pull/5489
- fix(core): parse tool concurrency env strictly by @tt-a1i in https://github.com/QwenLM/qwen-code/pull/5496
- fix(cli): enforce custom theme home boundary by @tt-a1i in https://github.com/QwenLM/qwen-code/pull/5456
- fix(dingtalk): skip uppercase webhook reaction targets by @tt-a1i in https://github.com/QwenLM/qwen-code/pull/5466
- fix(desktop): accept uppercase icon URL schemes by @tt-a1i in https://github.com/QwenLM/qwen-code/pull/5470
- fix(cli): reject partial session size values by @tt-a1i in https://github.com/QwenLM/qwen-code/pull/5475
- fix(telegram): clear typing intervals on disconnect by @tt-a1i in https://github.com/QwenLM/qwen-code/pull/5477
- fix(cli): respect installation path boundaries by @tt-a1i in https://github.com/QwenLM/qwen-code/pull/5441
- fix: accept uppercase endpoint URL schemes by @tt-a1i in https://github.com/QwenLM/qwen-code/pull/5443
- fix(core): reject fractional computer-use integer strings by @tt-a1i in https://github.com/QwenLM/qwen-code/pull/5500
- fix(core): match provider base URL slash variants by @tt-a1i in https://github.com/QwenLM/qwen-code/pull/5448
- fix(cli): enforce temp path boundaries for at-file by @tt-a1i in https://github.com/QwenLM/qwen-code/pull/5446
- fix(desktop): preserve uppercase favicon URLs by @tt-a1i in https://github.com/QwenLM/qwen-code/pull/5463
- fix(desktop): parse NO_PROXY ports strictly by @tt-a1i in https://github.com/QwenLM/qwen-code/pull/5498
- fix(serve): validate session reaper timeouts by @tt-a1i in https://github.com/QwenLM/qwen-code/pull/5484
- fix(extensions): handle uppercase npm registry schemes by @tt-a1i in https://github.com/QwenLM/qwen-code/pull/5437
- fix(core): add missing Token Plan models (qwen3.7-plus, glm-5.2, kimi-k2.7-code) by @huww98 in https://github.com/QwenLM/qwen-code/pull/5505
- fix(cli): wire ACP model-invocable commands by @tt-a1i in https://github.com/QwenLM/qwen-code/pull/5504
- fix(cli): reject partial cpu profile durations by @tt-a1i in https://github.com/QwenLM/qwen-code/pull/5486
- test(desktop): update blocked scheme open-url assertion by @tt-a1i in https://github.com/QwenLM/qwen-code/pull/5529
- fix(desktop): restore locale parity by @tt-a1i in https://github.com/QwenLM/qwen-code/pull/5537
- fix(extension): accept uppercase URL schemes in Claude plugin sources by @he-yufeng in https://github.com/QwenLM/qwen-code/pull/5461
- fix(desktop): parse server ports strictly by @tt-a1i in https://github.com/QwenLM/qwen-code/pull/5509
- fix(desktop): validate generic oauth token responses by @tt-a1i in https://github.com/QwenLM/qwen-code/pull/5511
- fix(core): don't treat an empty-parts message as a function call/response by @he-yufeng in https://github.com/QwenLM/qwen-code/pull/5494
- fix(desktop): allow double dots in bundle filenames by @tt-a1i in https://github.com/QwenLM/qwen-code/pull/5515
- feat(core): add Requesty provider by @Thibaultjaigu in https://github.com/QwenLM/qwen-code/pull/5478
- fix(cli): handle truncated remote input files by @tt-a1i in https://github.com/QwenLM/qwen-code/pull/5473
- test(core): wait for cron lock probe takeover by @tt-a1i in https://github.com/QwenLM/qwen-code/pull/5535
- perf(core): read current git branch directly from .git instead of spawning git by @wenshao in https://github.com/QwenLM/qwen-code/pull/5432
- fix(vscode): keep UNC paths absolute by @tt-a1i in https://github.com/QwenLM/qwen-code/pull/5542
- chore(release): v0.18.4 by @qwen-code-ci-bot in https://github.com/QwenLM/qwen-code/pull/5464
- feat(ci): on-demand tmux real-user testing for PRs by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/5203
- test(desktop): align interceptor packaging contract by @tt-a1i in https://github.com/QwenLM/qwen-code/pull/5531
- fix(desktop): keep sibling paths absolute by @tt-a1i in https://github.com/QwenLM/qwen-code/pull/5517
- test(desktop): enable feedback flag in permission tests by @tt-a1i in https://github.com/QwenLM/qwen-code/pull/5533
- fix(cli): allow dotfile paths in Web Shell sendFile by @wenshao in https://github.com/QwenLM/qwen-code/pull/5541
- fix(cli): allow double dots in update archives by @tt-a1i in https://github.com/QwenLM/qwen-code/pull/5521
- fix(desktop): separate transform data output lines by @tt-a1i in https://github.com/QwenLM/qwen-code/pull/5525
- fix(desktop): handle Windows file mentions by @tt-a1i in https://github.com/QwenLM/qwen-code/pull/5523
- ci(release): trigger CI from release branch pushes by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/5543
- fix(desktop): consolidate path boundary checks by @tt-a1i in https://github.com/QwenLM/qwen-code/pull/5545
- fix(desktop): reject fractional transfer sizes by @tt-a1i in https://github.com/QwenLM/qwen-code/pull/5527
- docs(triage): Add reuse-before-new-code review check by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/5547
- fix(cli): validate ACP file read windows by @tt-a1i in https://github.com/QwenLM/qwen-code/pull/5482
- fix(extensions): accept uppercase marketplace source schemes by @tt-a1i in https://github.com/QwenLM/qwen-code/pull/5435
- Use VS Code theme tokens for companion scrollbar by @interconnectedMe in https://github.com/QwenLM/qwen-code/pull/5488
- feat(mcp): support MCP resources and reliably surface prompts by @wenshao in https://github.com/QwenLM/qwen-code/pull/5544
- chore(release): v0.18.5 by @qwen-code-ci-bot in https://github.com/QwenLM/qwen-code/pull/5558
- ci(release): Auto-publish VSCode companion after stable releases by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/5572
- fix(cli): render full resume preview history by @cyphercodes in https://github.com/QwenLM/qwen-code/pull/5565
- fix(cli): fill content area background on wrapped input lines by @lcheng321 in https://github.com/QwenLM/qwen-code/pull/5568
- fix(cli): fail non-interactive runs on loop detection by @cyphercodes in https://github.com/QwenLM/qwen-code/pull/5564
- fix(core): respect zero OpenAI log file limit by @russeell in https://github.com/QwenLM/qwen-code/pull/5569
- fix(core): keep bare fast model on current auth by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/5553
- feat(lint): enforce kebab-case filenames with ESLint by @ZijianZhang989 in https://github.com/QwenLM/qwen-code/pull/4797
- [codex] Fix legacy filename allowlist for kebab-case lint by @qqqys in https://github.com/QwenLM/qwen-code/pull/5578
- refactor(cli): Rename serve files to kebab-case by @doudouOUC in https://github.com/QwenLM/qwen-code/pull/5592
- feat(extensions): support archive install sources by @kkhomej33-netizen in https://github.com/QwenLM/qwen-code/pull/4909
- fix(cli): prefer command name over alias in slash completion ranking by @Alex-ai-future in https://github.com/QwenLM/qwen-code/pull/5577
- test(integration): add fake OpenAI server for no-AK daemon tests by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/5560
- refactor(core): replace OpenRouter/Requesty provider classes with customHeaders in preset by @pomelo-nwu in https://github.com/QwenLM/qwen-code/pull/5539
- feat(voice): voice dictation with native capture, streaming, and biasing by @qqqys in https://github.com/QwenLM/qwen-code/pull/5502
- feat: revivable background sub-agents and subagent transcript TTL by @qqqys in https://github.com/QwenLM/qwen-code/pull/5556
- feat(core): add Artifact tool to publish interactive HTML pages by @qqqys in https://github.com/QwenLM/qwen-code/pull/5557
- feat(cli): add optional [HH:MM:SS] timestamp before each assistant turn by @ZijianZhang989 in https://github.com/QwenLM/qwen-code/pull/5001
- fix(core): require confirmation when user manually enters plan mode by @LaZzyMan in https://github.com/QwenLM/qwen-code/pull/5595
- fix(core): always-on guard for consecutive identical tool calls (#5019) by @wenshao in https://github.com/QwenLM/qwen-code/pull/5573
- fix(ci): harden tmux triage reporting by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/5548
- fix(voice): surface native recorder fallback so missing prebuilds aren't silent by @qqqys in https://github.com/QwenLM/qwen-code/pull/5605
- fix(core): prevent GLM on DashScope from dropping web_fetch content by @tanzhenxin in https://github.com/QwenLM/qwen-code/pull/5599
- Fix native voice recorder retry after stop errors by @qqqys in https://github.com/QwenLM/qwen-code/pull/5609
- [codex] ci(triage): acknowledge slash triage requests by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/5594
- [codex] Support artifact auto-open setting by @qqqys in https://github.com/QwenLM/qwen-code/pull/5617
- feat(tui): remove tool group borders and collapse completed tool results by @chiga0 in https://github.com/QwenLM/qwen-code/pull/5003
- feat(workflows): finish Dynamic Workflows port — resume, saved workflows, keyword trigger, notifications (#4721) by @LaZzyMan in https://github.com/QwenLM/qwen-code/pull/5600
- feat(web-shell): support daemon session branching by @ytahdn in https://github.com/QwenLM/qwen-code/pull/5613
- fix(core): backend-aware artifact publish confirmation + cancel handling by @qqqys in https://github.com/QwenLM/qwen-code/pull/5615
- test(integration): run no-AK smoke tests on PRs by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/5607
- fix(cli): Fail dangling replayed tool calls by @doudouOUC in https://github.com/QwenLM/qwen-code/pull/5624
- fix(voice): bundle native audio addon into standalone archives by @qqqys in https://github.com/QwenLM/qwen-code/pull/5628
- ci: route in-repo PRs' Linux test to self-hosted runner by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/5620
- ci(release): queue release failures for autofix by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/5551
- feat(cli): browse MCP server resources in the /mcp dialog by @wenshao in https://github.com/QwenLM/qwen-code/pull/5635
- refactor(cli): Finish serve kebab-case filenames by @doudouOUC in https://github.com/QwenLM/qwen-code/pull/5604
- feat(core): default-on preserve_thinking for DashScope provider by @tanzhenxin in https://github.com/QwenLM/qwen-code/pull/5637
- ci(audio-capture): cross-compile darwin-x64 prebuild on arm64, drop macos-13 runner by @qqqys in https://github.com/QwenLM/qwen-code/pull/5643
- ci: harden self-hosted runner routing (follow-up to #5620 review) by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/5644
- fix(cli): harden ACP session list pagination params by @tt-a1i in https://github.com/QwenLM/qwen-code/pull/5618
- docs(mcp): correct mcp add scope default by @tt-a1i in https://github.com/QwenLM/qwen-code/pull/5593
- feat(tui): add thinking block viewer with Alt+T expand/collapse by @chiga0 in https://github.com/QwenLM/qwen-code/pull/5627
- fix(cli): parse serve rate limit env strictly by @tt-a1i in https://github.com/QwenLM/qwen-code/pull/5612
- fix(core): parse API timeout env strictly by @tt-a1i in https://github.com/QwenLM/qwen-code/pull/5602
- fix(serve): validate readText line limits by @tt-a1i in https://github.com/QwenLM/qwen-code/pull/5639
- fix(core): escape backslashes and quotes in emacs ediff paths by @he-yufeng in https://github.com/QwenLM/qwen-code/pull/5630
- fix(cli): detect USE_OPENAI auth when the model is set via QWEN_MODEL by @he-yufeng in https://github.com/QwenLM/qwen-code/pull/5647
- test(integration): skip qwen serve streaming suite under container sandbox by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/5655
- refactor(core): extract Protocol enum and decouple model identity from auth type by @zzhenyao in https://github.com/QwenLM/qwen-code/pull/5089
- fix(webui): stop auto-recreating session on user-initiated delete by @yuanyuanAli in https://github.com/QwenLM/qwen-code/pull/5633
- fix(cli): keep settings v5 migration idempotent by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/5676
- fix(test): restore openai model selection in ACP set_config_option test by @wenshao in https://github.com/QwenLM/qwen-code/pull/5721
- fix(test): isolate ACP integration agents via QWEN_HOME to end parallel-settings race by @wenshao in https://github.com/QwenLM/qwen-code/pull/5724
- fix(test): make ACP set_config_option test use a deterministic openai provider model by @wenshao in https://github.com/QwenLM/qwen-code/pull/5728
- fix(core): keep active runtime model in default getAllConfiguredModels listing by @wenshao in https://github.com/QwenLM/qwen-code/pull/5729
- feat(desktop): show file preview in a resizable side panel instead of fullscreen by @DragonnZhang in https://github.com/QwenLM/qwen-code/pull/5730
- fix(core): remove redundant reportSuggestionUsage causing double-counted stats by @huww98 in https://github.com/QwenLM/qwen-code/pull/5684
- fix(core): validate ask_user_question answer indexes by @russeell in https://github.com/QwenLM/qwen-code/pull/5622
- feat(core): respect configurable agent ignore files by @shenyankm in https://github.com/QwenLM/qwen-code/pull/4653
- fix(daemon): Refresh workspace provider defaults by @doudouOUC in https://github.com/QwenLM/qwen-code/pull/5638
- feat(core): add fastOnly/voiceOnly flags to hide models from main model list by @callmeYe in https://github.com/QwenLM/qwen-code/pull/5632
- feat(cli): match MCP resource completions by name and discover servers by @wenshao in https://github.com/QwenLM/qwen-code/pull/5733
- chore(release): v0.19.0 by @qwen-code-ci-bot in https://github.com/QwenLM/qwen-code/pull/5739
- fix(cli): skip unusable A2UI configs by @tt-a1i in https://github.com/QwenLM/qwen-code/pull/5685
- fix(cli): avoid duplicate ACP write BOM by @tt-a1i in https://github.com/QwenLM/qwen-code/pull/5688
- fix(cli): enable /lsp in ACP mode by @tt-a1i in https://github.com/QwenLM/qwen-code/pull/5689
- fix(core): require integer inline media byte limit by @tt-a1i in https://github.com/QwenLM/qwen-code/pull/5671
- fix(cli): reject invalid session list cursors by @tt-a1i in https://github.com/QwenLM/qwen-code/pull/5709
- fix(cli): reject unsupported extension scopes by @tt-a1i in https://github.com/QwenLM/qwen-code/pull/5714
- fix(core): reject blank cron prompts by @tt-a1i in https://github.com/QwenLM/qwen-code/pull/5716
- fix(cli): validate channel credential types by @tt-a1i in https://github.com/QwenLM/qwen-code/pull/5718
- fix(cli): use high-contrast software cursor by @tt-a1i in https://github.com/QwenLM/qwen-code/pull/5720
- fix(core): require integer compaction counts by @tt-a1i in https://github.com/QwenLM/qwen-code/pull/5646
- fix(core): parse agent & workflow integer env vars strictly by @he-yufeng in https://github.com/QwenLM/qwen-code/pull/5679
- fix(serve): validate list maxEntries as a positive integer by @he-yufeng in https://github.com/QwenLM/qwen-code/pull/5719
- fix(workflows): validate runId before recursive prune delete (path-traversal dir wipe) by @LaZzyMan in https://github.com/QwenLM/qwen-code/pull/5740
- fix(triage): never auto-approve cross-repo refactor PRs by @wenshao in https://github.com/QwenLM/qwen-code/pull/5744
- fix(cli): only paint theme background when it matches the terminal by @wenshao in https://github.com/QwenLM/qwen-code/pull/5746
- revert(core): revert Protocol enum & model-identity decoupling (#5089) by @wenshao in https://github.com/QwenLM/qwen-code/pull/5745
- ci: retry merge-ref checkout to fix transient "not our ref" failures by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/5732
- chore(release): v0.19.1 by @qwen-code-ci-bot in https://github.com/QwenLM/qwen-code/pull/5762
- feat(serve): Add remote LSP status route by @doudouOUC in https://github.com/QwenLM/qwen-code/pull/5741
- fix(agent): cap fork turns and bubble fork permission prompts by @qqqys in https://github.com/QwenLM/qwen-code/pull/5737
- feat(vision-bridge): transcribe images to text for text-only models by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/5126
- feat(core): add deterministic guards for destructive commands in auto mode by @DennisYu07 in https://github.com/QwenLM/qwen-code/pull/5754
- feat(cli): add extension operation polling by @ytahdn in https://github.com/QwenLM/qwen-code/pull/5753
- fix(vscode): always show chat view in the Activity Bar sidebar by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/5757
- fix(cli): source /context token total from the per-session chat by @qqqys in https://github.com/QwenLM/qwen-code/pull/5764
- fix(core): Disambiguate duplicate model display names by @doudouOUC in https://github.com/QwenLM/qwen-code/pull/5769
- fix(cli): remove theme background fills from input box and user messages by @chiga0 in https://github.com/QwenLM/qwen-code/pull/5772
- feat(cli): match MCP resources globally on bare @ and show full references by @wenshao in https://github.com/QwenLM/qwen-code/pull/5774
- ci: collapse PR checks into Ubuntu gate by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/5767
- refactor(web-shell): restructure chat UI by @ytahdn in https://github.com/QwenLM/qwen-code/pull/5775
- fix(cli): stabilize VP mouse interactions by @ZevGit in https://github.com/QwenLM/qwen-code/pull/5751
- docs: fix config/command/auth drift and surface the model-providers page by @DragonnZhang in https://github.com/QwenLM/qwen-code/pull/5735
- fix(vscode): clamp open file positions by @tt-a1i in https://github.com/QwenLM/qwen-code/pull/5711
- fix(config): fall back to user env files by @tt-a1i in https://github.com/QwenLM/qwen-code/pull/5731
- fix(core): require integer stop hook cap by @tt-a1i in https://github.com/QwenLM/qwen-code/pull/5667
- fix(core): require integer microcompaction keep count by @tt-a1i in https://github.com/QwenLM/qwen-code/pull/5652
- fix(core): Align MCP OAuth guidance and docs by @doudouOUC in https://github.com/QwenLM/qwen-code/pull/5589
- feat(cli): Add workspace permissions rules API by @doudouOUC in https://github.com/QwenLM/qwen-code/pull/5743
- fix(cli): replace emoji thinking/summary icons with Unicode text symbols by @pomelo-nwu in https://github.com/QwenLM/qwen-code/pull/5788
- fix(cli): restore saved custom model IDs when re-entering the auth wizard by @pomelo-nwu in https://github.com/QwenLM/qwen-code/pull/5654
- fix(daemon): Reject stale prompt client admission by @doudouOUC in https://github.com/QwenLM/qwen-code/pull/5784
- feat(serve): voice dictation over the daemon for the Web Shell by @qqqys in https://github.com/QwenLM/qwen-code/pull/5755
- fix(core): parse QWEN_SERVE_MCP_CLIENT_BUDGET strictly as a decimal integer by @he-yufeng in https://github.com/QwenLM/qwen-code/pull/5752
- fix(sdk): self-heal stale clientId on invalid_client_id prompts by @doudouOUC in https://github.com/QwenLM/qwen-code/pull/5797
- feat(voice): refine ASR transcripts with the fast model before insert by @qqqys in https://github.com/QwenLM/qwen-code/pull/5794
- fix(cli): promote pasted image paths to attachments by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/5803
- fix(sdk): raise browser daemon bundle budget to 126 KiB by @wenshao in https://github.com/QwenLM/qwen-code/pull/5801
- ci: harden Linux CI reliability (shallow ECS checkout + CodeQL timeout) by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/5810
- fix(cli): correctly map Claude MCP server transport types on import and in .mcp.json by @BZ-D in https://github.com/QwenLM/qwen-code/pull/5812
- perf(cli): Optimize serve daemon startup by @doudouOUC in https://github.com/QwenLM/qwen-code/pull/5785
- Expose MCP resource read tool by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/5781
- ci: move macOS/Windows tests and CodeQL off the per-PR path by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/5813
- fix(core): allow web_fetch JSON fallback by @tt-a1i in https://github.com/QwenLM/qwen-code/pull/5660
- chore(release): v0.19.2 by @qwen-code-ci-bot in https://github.com/QwenLM/qwen-code/pull/5830
- ci: split platform test matrix into named jobs so PRs can enter the merge queue by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/5833
- fix(ide): validate QWEN_CODE_IDE_SERVER_PORT before reading lock file by @mvanhorn in https://github.com/QwenLM/qwen-code/pull/5805
- fix(core): add streaming inactivity timeout to the OpenAI pipeline by @doudouOUC in https://github.com/QwenLM/qwen-code/pull/5827
- fix(cli): prevent scroll snap-back and flicker in non-VP mode during multi-agent runs by @chiga0 in https://github.com/QwenLM/qwen-code/pull/5799
- feat(serve): Add daemon workspace voice and control APIs by @doudouOUC in https://github.com/QwenLM/qwen-code/pull/5765
- feat(cli): Add skill usage stats by @doudouOUC in https://github.com/QwenLM/qwen-code/pull/5826
- feat(memory): confirm auto-generated skills before persisting by @LaZzyMan in https://github.com/QwenLM/qwen-code/pull/5616
- fix(cli): cancel pending self-paced loop wakeups on user abort by @qqqys in https://github.com/QwenLM/qwen-code/pull/5808
- fix(core): preserve reasoning_content when merging assistant turns by @he-yufeng in https://github.com/QwenLM/qwen-code/pull/5815
- feat(cli): Show model thinking intent in loading indicator by @pomelo-nwu in https://github.com/QwenLM/qwen-code/pull/5668
- ci: give each CI job one home in the merge-queue flow by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/5842
- fix(web-shell): stabilize active prompt loading state by @ytahdn in https://github.com/QwenLM/qwen-code/pull/5818
- Revert "feat(cli): Show model thinking intent in loading indicator" by @pomelo-nwu in https://github.com/QwenLM/qwen-code/pull/5846
- ci(release): make release flow merge-queue-safe and keep release PRs out of notes by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/5832
- ci: add
@qwen-code /resolveby @yiliang114 in https://github.com/QwenLM/qwen-code/pull/5779 - fix(cli): stop repeated duplicate provider responses by @tt-a1i in https://github.com/QwenLM/qwen-code/pull/5657
- test(cli): add daemon startup benchmark by @doudouOUC in https://github.com/QwenLM/qwen-code/pull/5825
- docs: add vertex-ai auth, missing commands, and qc-helper index entries by @DragonnZhang in https://github.com/QwenLM/qwen-code/pull/5727
- feat(core): decouple /remember from auto-extract, stop writing to QWEN.md by @callmeYe in https://github.com/QwenLM/qwen-code/pull/5814
- fix(web-shell): defer transcript-appending local commands while a turn streams by @carffuca in https://github.com/QwenLM/qwen-code/pull/5822
- feat(web-shell): enhance assistant markdown tables with Excel-style interactions by @jifeng in https://github.com/QwenLM/qwen-code/pull/5650
- ci(triage): run triage on the self-hosted ECS pool instead of GitHub-hosted by @wenshao in https://github.com/QwenLM/qwen-code/pull/5851
- feat(cli): enable built-in status line preset by default for new users by @pomelo-nwu in https://github.com/QwenLM/qwen-code/pull/5792
- feat(config): map provider id to SDK protocol via providerProtocol (#5758) by @qqqys in https://github.com/QwenLM/qwen-code/pull/5793
- feat(telemetry): Make sensitive span attribute limit configurable by @doudouOUC in https://github.com/QwenLM/qwen-code/pull/5804
- fix(packaging): bundle audio capture for mirror installs by @qqqys in https://github.com/QwenLM/qwen-code/pull/5747
- feat(core): QWEN_STREAM_IDLE_TIMEOUT_MS env knob for the stream idle timeout by @doudouOUC in https://github.com/QwenLM/qwen-code/pull/5845
- feat(cli): support a user-configurable keyterms file for voice dictation by @qqqys in https://github.com/QwenLM/qwen-code/pull/5817
- fix(core): reject userinfo URLs in WebFetch validation by @VectorPeak in https://github.com/QwenLM/qwen-code/pull/5783
- ci: route the merge queue's Linux jobs onto ECS by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/5854
- feat(cli): simplify auto mode startup text and remove emoji (#4584) by @ZijianZhang989 in https://github.com/QwenLM/qwen-code/pull/5824
- feat(web-shell): show duration on finished thinking summary by @wenshao in https://github.com/QwenLM/qwen-code/pull/5864
- test(cli): raise i18n ToolMessage test timeout to 15s to stop merge-queue flake by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/5858
- ci: take CodeQL and E2E off the per-merge push path by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/5859
- ci(qwen-resolve): run the /resolve job on a hosted runner by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/5862
- feat(tui): partition tool display by type — collapse read/search, show mutation tools individually by @chiga0 in https://github.com/QwenLM/qwen-code/pull/5661
- fix(cli): make alt+t expand thinking on macOS Option-compose terminals by @chiga0 in https://github.com/QwenLM/qwen-code/pull/5872
- feat(mcp): reconcile MCP servers live on settings change by @water-in-stone in https://github.com/QwenLM/qwen-code/pull/5561
- ci(qwen-resolve): support fork PRs and slim /resolve to conflict-only by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/5870
- feat(serve): query a single session's status by id by @samuelhsin in https://github.com/QwenLM/qwen-code/pull/5857
- chore(cli): drop redundant home-directory startup warning by @pomelo-nwu in https://github.com/QwenLM/qwen-code/pull/5839
- fix(cli): show ⌥T instead of alt+T on macOS for thinking expansion by @Alex-ai-future in https://github.com/QwenLM/qwen-code/pull/5802
- feat(core): make self-paced /loop lean on monitor/background-task notifications by @qqqys in https://github.com/QwenLM/qwen-code/pull/5844
- fix(cli): improve token speed accounting by @seekskyworld in https://github.com/QwenLM/qwen-code/pull/5811
- fix(core): stream chat-compression side-query to survive gateway timeout by @doudouOUC in https://github.com/QwenLM/qwen-code/pull/5865
- perf(cli): skip spawnSync wrapper for
qwen serveby @doudouOUC in https://github.com/QwenLM/qwen-code/pull/5874 - fix(web-shell): reword the Chinese tool-group summary (执行了 → 调用了) by @wenshao in https://github.com/QwenLM/qwen-code/pull/5876
- feat(cli): tighten response timestamp consistency and tests by @ZijianZhang989 in https://github.com/QwenLM/qwen-code/pull/5850
- fix(release): skip dist/node_modules when building standalone archives by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/5878
- fix(test): raise timeout for cold-import suites to stop CI flake by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/5880
- ci: isolate per-run agent state for triage and PR review by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/5885
- feat(core): add bundled extension creator skill by @callmeYe in https://github.com/QwenLM/qwen-code/pull/5828
- feat(cli): support @extension mention in input autocomplete by @callmeYe in https://github.com/QwenLM/qwen-code/pull/5849
- refactor(cli): Split serve server routes by @doudouOUC in https://github.com/QwenLM/qwen-code/pull/5809
- feat(cua-driver): vendor qwen-cua-driver with opt-in 0–1000 relative coordinates by @LaZzyMan in https://github.com/QwenLM/qwen-code/pull/5896
New Contributors
- @kagura-agent made their first contribution in #4461
- @he-yufeng made their first contribution in #4607
- @zzhenyao made their first contribution in #4560
- @Pepograminger made their first contribution in #4605
- @InfiniteUselessness made their first contribution in #4485
- @ZijianZhang989 made their first contribution in #4701
- @callmeYe made their first contribution in #4533
- @CNCSMonster made their first contribution in #4647
- @Pluviobyte made their first contribution in #4618
- @Alex-ai-future made their first contribution in #4798
- @Rakson0209 made their first contribution in #4734
- @han-dreamer made their first contribution in #4784
- @BenGuanRan made their first contribution in #4779
- @wsyjh8 made their first contribution in #4911
- @puneetdixit200 made their first contribution in #4788
- @Osamaali313 made their first contribution in #5116
- @marko1olo made their first contribution in #4796
- @warmjademe made their first contribution in #5196
- @launchswitch made their first contribution in #4793
- @carffuca made their first contribution in #5189
- @shiloong made their first contribution in #4918
- @Eric-GoodBoy-Tech made their first contribution in #5202
- @aspnmy made their first contribution in #5311
- @xxlaura made their first contribution in #4808
- @mvanhorn made their first contribution in #5253
- @CubeLander made their first contribution in #5185
- @water-in-stone made their first contribution in #4933
- @OrbitZore made their first contribution in #5318
- @Gove2004 made their first contribution in #4085
- @Zoean-z made their first contribution in #4746
- @ken-jo made their first contribution in #5423
- @Thibaultjaigu made their first contribution in https://github.com/QwenLM/qwen-code/pull/5478
- @interconnectedMe made their first contribution in https://github.com/QwenLM/qwen-code/pull/5488
- @lcheng321 made their first contribution in https://github.com/QwenLM/qwen-code/pull/5568
- @russeell made their first contribution in https://github.com/QwenLM/qwen-code/pull/5569
- @VectorPeak made their first contribution in https://github.com/QwenLM/qwen-code/pull/5783
- @samuelhsin made their first contribution in https://github.com/QwenLM/qwen-code/pull/5857
- @seekskyworld made their first contribution in https://github.com/QwenLM/qwen-code/pull/5811
Full Changelog: sdk-typescript-v0.1.8-preview.1...cua-driver-rs-v0.6.8