github QwenLM/qwen-code v0.21.4
Release v0.21.4

3 hours ago

Highlights

  • Web Shell is now a release-ready desktop app with native lifecycle management, single-instance behavior, and automatic updates. (#8132)
  • Web Shell history pagination now handles oversized turns gracefully and includes a retry button to reload failed pages without restarting sessions. (#8335)
  • Forked subagents are now isolated from sibling forks, ensuring each agent accesses only its own assigned instructions and directives. (#8344)
  • Chat compression now reuses the main conversation prompt cache on supported providers, reducing latency without executing tools. (#8339)
  • Fixed a Windows issue where pasting sensitive extension settings like API keys was ignored by enabling multi-character paste events. (#8342)
  • The /review skill now correctly follows the user's configured output language for Tip lines, saved reports, and review labels. (#8370)

Breaking Changes

No known breaking changes.

Complete Change List

Features

  • The /summary command now accepts an optional path argument to save project summaries to custom locations, automatically creating parent directories if needed. (#8116) by @qwen-code-dev-bot
  • Updated the review verifier to treat unverified findings as low-confidence confirmations rather than rejections, instructing it to check cited sources first. (#8346) by @wenshao
  • Added the qwen review drive command to poll for service readiness and verify completion facts instead of relying on fixed sleep delays. (#8349) by @wenshao
  • The daemon now resolves and reports its memory budget in /daemon/status to indicate proximity to exhaustion. (#8245) by @doudouOUC
  • Added the qwen review mock-provider command to record OpenAI-compatible requests as JSONL for testing against a faithful outside world simulation. (#8355) by @wenshao
  • The Web Shell is now packaged as a release-ready desktop app with native lifecycle management, single-instance behavior, and automatic updates. (#8132) by @yiliang114
  • feat(serve): make sub-session concurrency caps configurable (#8341) by @wenshao
  • Add a repo-hygiene skill and weekly workflow to automatically scan for and propose fixes for documentation and code quality issues. (#7908) by @ZijianZhang989
  • Adjust the automated PR review timeout based on change size, allowing up to 240 minutes for large pull requests exceeding 300 lines. (#8377) by @wenshao
  • Enable full Web Shell management for GitHub and GitLab channels, allowing users to configure tokens and policies without editing settings files. (#8310) by @OrbitZore
  • Adds the qwen review publish-assets command to host evidence images in a user-designated repository for embedding in PR review comments. (#8351) by @wenshao
  • Adds a built-in Java/JVM performance checklist to the review tool that flags correctness traps and JVM-cost defects in Java files. (#8379) by @wenshao
  • feat(ci): expand code owner pool for packages/core (#8347) by @wenshao
  • Introduced the experimental.sessionWorkflow setting to optionally enable Session Workflow features like Plan & Review mode and the Workflow DAG. (#8391) by @yiliang114
  • Updated non-interactive CLI /goal commands to use the Goal v3 runtime, ensuring consistent state persistence and improved streaming behavior. (#8324) by @qqqys
  • Added the memory.agentMaxTurns setting to configure turn limits for all managed memory agents, with 0 disabling the limit entirely. (#8171) by @tomatotomata

Bug Fixes

  • Web Shell history pagination now proceeds even when a single turn exceeds the page budget, and a retry button allows reloading failed history pages without restarting the session. (#8335) by @wenshao
  • The CI triage job now ensures the qwen CLI is installed before running actions to prevent redundant installations and fix fleet-wide failures on self-hosted runners. (#8337) by @yiliang114
  • Mutation testing now correctly marks mutants as inconclusive instead of survived when their collocated tests failed in the unmutated baseline, preventing false positive findings. (#8345) by @wenshao
  • Forked subagents can no longer see the directives of sibling forks launched in the same turn, ensuring each subagent only accesses its own assigned instructions. (#8344) by @harjothkhara
  • Todo behavior outside Session Workflow views is restored to ensure agent association is opt-in and historical dependency references do not incorrectly mark plans as blocked. (#8334) by @yiliang114
  • Fixed a flaky Java daemon test by accepting ERROR terminal states during session teardown races in addition to COMPLETE cancelled states. (#8354) by @wenshao
  • Enabled chat compression to reuse the main conversation prompt cache when using supported providers, reducing latency without executing tools. (#8339) by @DragonnZhang
  • Fixed an issue on Windows where pasting sensitive extension settings like API keys was ignored by allowing multi-character paste events. (#8342) by @DragonnZhang
  • GitHub channel inbound tasks are now restart-safe, ensuring interrupted work is recovered and pending comments are retried without rerunning agents. (#8306) by @yiliang114
  • Prevented malformed JSON tool responses with leaked protocol tags from reaching the UI by routing them through the existing retry path. (#8301) by @yiliang114
  • Fix CI failures on older branches by correctly calculating PR file changes instead of comparing against the base branch history. (#8372) by @wenshao
  • Ensure ECS runner fleets update automatically by triggering the reconciliation workflow whenever the updater logic changes on main. (#8373) by @yiliang114
  • Ensure Tip lines, saved reports, and review labels in the /review skill correctly follow the user's configured output language. (#8370) by @wenshao
  • Fixes qwen review run to correctly handle the QWEN_CODE_CLI environment variable when spawning child processes to ensure proper build stamping. (#8378) by @wenshao
  • Enables recovery of long response streams interrupted by socket closures by distinguishing delivered output from internal reasoning steps. (#7896) by @LHMQ878
  • Ensures Auto Recall hooks properly dispose of proxy dispatchers after retrieval completes to prevent resource leaks. (#8352) by @doudouOUC
  • Updates review reports to clearly distinguish between tests that failed and tests that produced no results when excluding mutants due to pre-existing issues. (#8374) by @wenshao
  • Downgrades findings to Suggestion severity when tests blamed on a pull request are confirmed to already fail on the merge base. (#8380) by @wenshao
  • Fixed /review to deprioritize Maven generated test sources, preventing them from crowding out production Java paths in rule headings. (#8405) by @wenshao

Documentation

  • docs: complete TUI keyboard shortcut reference (#8327) by @DragonnZhang
  • Updated the architecture overview to reflect Qwen Code as a multi-surface monorepo, detailing CLI, ACP, and daemon execution models. (#8325) by @DragonnZhang
  • Documentation now explains how to select models for chat compression and image generation, including defaults and provider requirements. (#8348) by @DragonnZhang
  • Update agent documentation to include the drive and mock-provider commands and clarify how verification tests should be structured. (#8369) by @wenshao

Internal Changes

  • ci: gate merges on deterministic no-AK E2E (#8313) by @yiliang114
  • Made the SDK permission control end-to-end tests deterministic by scripting model responses while retaining real tool and CLI interactions. (#8302) by @yiliang114
  • Automated ECS runner updates to the latest stable Qwen CLI version immediately after publish and prevented accidental downgrades to prerelease builds. (#8343) by @wenshao
  • Fixed a flaky test in the extension manager that previously caused intermittent CI failures due to clock racing. (#8362) by @wenshao
  • Fixed a drive test case on macOS by asserting a shell-invariant behavior instead of relying on specific bash version exit codes. (#8366) by @wenshao
  • Improves the stability of acp-cron integration tests by selecting notifications based on source metadata instead of wall-clock timestamps. (#8336) by @qwen-code-dev-bot

New Contributors

Full Changelog: v0.21.3...v0.21.4

Don't miss a new qwen-code release

NewReleases is sending notifications on new releases.