npm @qwen-code/qwen-code 0.18.0
Release v0.18.0

4 hours ago

What's Changed

  • 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 env from 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

New Contributors

Full Changelog: v0.17.1...v0.18.0

Don't miss a new qwen-code release

NewReleases is sending notifications on new releases.