npm @qwen-code/qwen-code 0.20.1-nightly.20260724.7d17c44a3
Release v0.20.1-nightly.20260724.7d17c44a3

4 hours ago

What's Changed

  • test(telemetry): Cover daemon metrics init ordering and document metricReader asymmetry by @doudouOUC in #7456
  • perf(startup): Load undici lazily behind package-local dynamic imports by @doudouOUC in #7455
  • fix(autofix): keep a still-red check visible until its head is judged by @wenshao in #7438
  • feat(web-shell): add workspace selector button with add/switch dropdown in composer toolbar by @water-in-stone in #7390
  • fix: normalize empty working_dir to unset when isolation:worktree is set on AgentTool by @mvanhorn in #7403
  • fix(core): Advertise completed task revival by @DragonnZhang in #7454
  • fix(cli): narrow update-check error classification by @yiliang114 in #7431
  • fix(web-shell): isolate component styles from host CSS by @ytahdn in #7466
  • feat(web-shell): show subagent sessions in detail panel by @ytahdn in #7380
  • perf(web-shell): optimize long session rendering by @ytahdn in #7408
  • feat(web-shell): add rendered file previews by @ytahdn in #7467
  • feat(core): add memory recall delivery telemetry by @ZijianZhang989 in #7393
  • fix(web-shell): polish embedded shell interactions by @ytahdn in #7477
  • fix(release): exclude mobile-mcp from core version bump by @yiliang114 in #7474
  • fix(ci): inject actual model name into triage signature by @yiliang114 in #7475
  • fix(core): align stepped day fields with Vixie cron semantics by @destire-mio in #7464
  • feat(core): keep completed background agents resident by @DragonnZhang in #7426
  • fix(acp-bridge): close prompt-terminal follow-ups from the PR #7400 self-review by @doudouOUC in #7453
  • fix(core): strip Qwen-internal daemon secrets from agent-spawned child env by @chinesepowered in #7256
  • docs(core): align JSDoc @param names with actual function signatures by @ovochouovo in #7492
  • feat(serve): support forced MCP reconnects by @BZ-D in #7488
  • fix(cli): insert newline on Shift+Enter and stop streaming thinking-block flicker by @chiga0 in #7397
  • fix(web-shell): open singleton subagent details by @ytahdn in #7495
  • fix(web-shell): avoid redundant Git status requests by @ytahdn in #7496
  • fix(agent): ignore empty working_dir placeholders by @Truraly in #7343
  • feat(prompts): allow overriding core identity via QWEN_SYSTEM_IDENTITY_MD by @zjgzx1988 in #7478
  • fix(cli): yield to single-slot background agents by @hogeheer499-commits in #7258
  • docs(autofix): require evidenced pre-commit verification, not a bare "verified" by @wenshao in #7486
  • feat(autofix): stop a PR that fails to push for N rounds in a row by @wenshao in #7482
  • feat(core): restore background agent roster by @DragonnZhang in #7459
  • feat(cli): support custom skill directories via settings by @qwen-code-dev-bot in #7395
  • fix(core): add image modality support for qwen3.8-max and kimi-k3 models by @yiliang114 in #7491
  • fix(dingtalk): preserve non-bot mention context by @qwen-code-dev-bot in #7473
  • fix(core): harden the usage salvage around session deletion by @zjunothing in #7425
  • fix(core): make fork subagents discoverable by @DragonnZhang in #7460
  • test(core): Cover Shell truncation without an artifact by @doudouOUC in #7470
  • fix(ci): autofix route checks existing labels on non-trigger label events by @yiliang114 in #7481
  • feat(cli): preserve semantic text when copying VP selections by @chiga0 in #7286
  • test(core): stub the registry methods agent.ts actually calls by @chinesepowered in #7538
  • perf(startup): lazy-load Google GenAI SDK on first use by @doudouOUC in #7512
  • fix(vscode): use file picker image paths for vision input by @yiliang114 in #7493
  • fix(cli): open the actual serve fallback port by @yiliang114 in #7501
  • fix(ci): don't let one failing scenario sink the whole visual preview by @wenshao in #7511
  • feat(web-shell): add selective Shadow DOM isolation by @ytahdn in #7551
  • feat(web-shell): add renderChatHeader slot for custom session header by @yuanyuanAli in #7553
  • fix(cli): say review coverage gaps in the author's units, not chunk ids by @wenshao in #7550
  • fix(autofix): retry a skipped-Prepare instead of stranding the PR terminal by @wenshao in #7490
  • fix(cli): keep role codenames and brief paths out of the posted review body by @wenshao in #7560
  • fix(autofix): retry an agent timeout instead of advancing past its feedback by @wenshao in #7563
  • feat(serve): add workspace-level generation by @ytahdn in #7552
  • fix(web-shell): expose managedId in artifact open requests by @ytahdn in #7570
  • feat(serve): persist workspace channel configuration by @qqqys in #7514
  • fix(sdk-python): require canonical form in validate_session_id by @chinesepowered in #7532
  • fix(web-shell): sync background agent status by @ytahdn in #7561
  • feat(core): propagate trusted daemon invocation context by @callmeYe in #7279
  • fix(feishu): await stream cancels in media download teardown by @chinesepowered in #7465
  • fix(autofix): make the review-address report comment fully bilingual by @wenshao in #7569
  • feat(cli): post the review body bilingually when the PR description is Chinese by @wenshao in #7564
  • feat(autofix): auto-rerun a check that died on infrastructure, once by @wenshao in #7562
  • fix(serve): detect stale SSE cursors across daemon restarts via epoch token; preserve turn attribution and surface compaction failures in replay by @doudouOUC in #7458
  • feat(core): Align GenAI telemetry with ARMS by @doudouOUC in #7536
  • fix(serve): avoid TOCTOU race dropping live sessions from list response by @yiliang114 with @Copilot in #7556
  • fix(cli): prevent monitor notifications after task_stop by @yiliang114 in #7573
  • Fix(cli): use npm view for update check instead of update-notifier (#7515) by @dtometzki in #7528
  • fix(core): avoid empty transcript history pages by @ytahdn in #7582
  • fix(cli): surface unhandled rejections and render errors instead of swallowing them by @chiga0 in #7406
  • fix(web-shell): isolate slash command plugin pages by @ytahdn in #7581
  • feat(web-shell): add workspace agent management by @ytahdn in #7572
  • fix(sdk-python): validate max_tool_calls and max_subagent_depth as integers by @chinesepowered in #7548
  • test(autofix): single-source the infra-signature list from the workflow by @wenshao in #7565
  • fix(cli): correct queued message display style and ordering by @chiga0 in #7381
  • perf(cli): Defer ACP telemetry initialization by @doudouOUC in #7558
  • fix(core): persist usage for tool-only subagent rounds by @DragonnZhang in #7557
  • fix(core): retry requests when providers require thinking by @yiliang114 in #7534
  • feat(autofix): update a stale base when the gate rejects a behind-main fix by @wenshao in #7595
  • fix(core): record auto-memory index reads in FileReadCache by @han-dreamer in #7468
  • fix(web-shell): initialize workspace selector from ID by @patrick-andstar in #7518
  • fix(core): reject nested background requests by @patrick-andstar in #7593
  • fix(web-shell): prevent React measure detail OOM by @ytahdn in #7596
  • fix(core): jsonl write([]) should leave an empty file, not a stray newline by @chinesepowered in #7533
  • fix(core): strip daemon secrets from hook and tool-discovery child env by @chinesepowered in #7527
  • fix(core): preserve disabled reasoning effort by @WladmirJunior in #7541
  • feat(sdk-java): Add daemon transport by @doudouOUC in #7463
  • fix(web-shell): render a plain textarea composer on touch devices by @ComplexSimply in #7587
  • fix(core): treat backslash as literal inside single quotes in splitCommands by @chinesepowered in #7526
  • fix(cli): stop treating version-manager npm shims as npm-cli.js by @nerdalytics in #7545
  • fix(core,cli): isolate teammate leader turns from agent context by @yiliang114 in #7576
  • feat(autofix): auto-update a PR red only from a stale, since-fixed base by @wenshao in #7554
  • test: deflake write_file content assertion in tool-control E2E test by @yiliang114 with @Copilot in #7613
  • fix(sdk-java): let a terminal continuation start the next prompt by @wenshao in #7615
  • feat(autofix): auto-recover a PR parked on a stale base by @wenshao in #7602
  • fix(channels): route Telegram replies to forum topics by @hogeheer499-commits in #7612
  • fix(acp): hide discontinued OAuth model for other auth types by @hogeheer499-commits in #7522
  • test(sdk-java): widen the SSE idle-watchdog margins in the slow-line test by @wenshao in #7617
  • feat(core): add Goal v3 state protocol by @qqqys in #7517
  • feat(daemon): add explicit channel delivery by @BenGuanRan in #7388
  • feat(serve): scope channel lifecycle to workspace runtimes by @qqqys in #7577

New Contributors

Full Changelog: v0.20.1...v0.20.1-nightly.20260724.7d17c44a3

Don't miss a new qwen-code release

NewReleases is sending notifications on new releases.