Back to Freedom.Tech Back
All Qwen Code releasesAll versions
Release Fri, Aug 21, 2026 7 min read

Qwen Code 0.21.15

Original release notes

Highlights

  • Web Shell now supports inserting file attachments via composer or @ selection, with improved streaming performance and immediate sidebar synchronization. (#9405, #9477, #9570, #9533)
  • Qwen hybrid models now expose a simple Thinking toggle for reasoning control, and the stable qwen3.8-max model is available via /model. (#9574, #9383)
  • The --resume flag is now supported in /review and CI retries to continue interrupted reviews when the PR head has not moved. (#9153)
  • Added support for authenticated HTTPS Git extension installs with configurable credential persistence for secure private repository cloning. (#9458)
  • Tool approval and ask-user dialogs now appear as in-flow bottom sheets aligned to chat width for a more integrated experience. (#9351)
  • Fixed issues where /rewind incorrectly dropped conversation history and duplicate tool-call IDs caused execution errors. (#9331, #9436)

Breaking Changes

No known breaking changes.

Web Shell Experience

Web Shell now features improved streaming performance, unified file uploads, Goal v3 controls, and real-time sidebar synchronization.

  • Web Shell streaming output is now more responsive during long tasks by batching transcript delivery and avoiding expensive Markdown parsing on growing content. (#9405)
  • Improved Web Shell performance by using live-state activity timestamps to refresh session recency and sort active lists without triggering rate-limited full catalog rescans. (#9476)
  • Unifies file uploads in Web Shell to offer reference or upload options, storing attachments persistently with duplicate name handling. (#9477)
  • Web Shell sidebar now immediately synchronizes session changes like renaming or deleting, while improving loading indicator spacing. (#9533)
  • Web Shell now stops redundant session title catalog refreshes after resolving a display name, reducing unnecessary network requests. (#9563)
  • Web Shell now supports inserting file attachments into active turns via the composer or @ selection, with preview and queue management. (#9570)
  • WebShell adopts Goal v3 controls, allowing goals to be managed independently of chat messages with a compact composer row. (#9393)
  • web-shell: fall back to execCommand copy in non-secure contexts (#9540)
  • ui: collapse duplicate in-flight tool_group rendered from history + pending (#9421)

Review & Verification

Enhanced review workflows with resume support, Aone Code integration, stricter verification disciplines, and accurate volume tracking.

  • The --resume flag is now supported in /review, review run, and CI retries to continue interrupted reviews when the PR head has not moved. (#9153)
  • Review ledger markers now record the posted inline comment count for the current and previous rounds to track posting volume trends. (#9413)
  • Review verifiers now enforce four run disciplines from live two-arm verification, including starting stateful targets from fresh state for each row. (#9447)
  • review: clamp the posting volume at its origin, not only where it is written (#9460)
  • review: keep the blocker in a COMMENT body every softening path reaches (#9416)
  • review: add runtime-axis, table-sweep and isolation witness forms (#9445)
  • Review verifier probes now run in private scratch worktrees to prevent race conditions with auditors reading the shared tree. (#9221)
  • The review system now validates that consumer-facing contract documentation accurately matches the implemented code behavior. (#9448)
  • The /review skill now supports posting comments and approvals to Aone Code via the a1 CLI when using the --comment flag. (#9491)

Autofix & CI Reliability

Resolved GitHub Actions bottlenecks, fixed workflow queuing deadlocks, and enforced test coverage for automated code fixes.

  • Fixed a CI failure in the flakiness gate by diffing against a pinned base OID instead of resolving HEAD^1, preventing intermittent access errors on the persistent pool. (#9464)
  • Fixes the flake-gate CI step by computing git diffs before environment scrubbing to prevent access errors on shallow merge-ref objects. (#9468)
  • Clones the autonomous-fix workflow into a new entity to bypass a GitHub Actions backend issue causing runs to stick in queued state. (#9482)
  • Added a comment to the autofix workflow file to force GitHub Actions to re-register triggers that had silently stopped executing scheduled and event-based runs. (#9479)
  • Reduced the size of the qwen-autofix.yml workflow file to stay under GitHub's 500 KB limit, restoring silent-failing automated fix runs that had stopped executing. (#9517)
  • The shepherd no longer counts permanently queued workflow runs with zero jobs as in-flight, preventing deadlocks that blocked autofix loops for hours. (#9518)
  • Autofix now requires mutation probes to verify that new guards or branches added in a round are covered by tests before committing changes. (#9578)
  • Autofix finding replies are now idempotent, skipping duplicate posts when the thread already contains an identical comment from the bot. (#9463)
  • Release pull requests are now authored by a dedicated bot account instead of the GitHub Actions token, enabling finalization in organizations that restrict Actions-created PRs. (#9592)

Session & Conversation Management

Introduced conversation isolation primitives, privacy-preserving ledgers, and fixed history retention issues during compression.

  • Introduces primitives for standalone conversation isolation, enabling deterministic session identity and validated lineage checks. (#9341)
  • Sessions now persist a privacy-preserving ledger of prompt outcomes to enable accurate cold-load reconciliation without storing user content. (#9426)
  • Fixed an issue where /rewind would incorrectly drop conversation history after /compress-fast by properly distinguishing rule-based compression markers from summarizing boundaries. (#9331)
  • Standalone conversation primitives now safely adopt concurrently created directories and enforce strict integrity budgets for JSONL readers. (#9512)
  • Skipped duplicate tool results during ACP loop detection are now persisted as terminal errors, preventing missing tool results in transcript replays after session resumes. (#9593)

Agent Capabilities & Models

Added stable qwen3.8-max model, simplified Thinking toggles, enabled DingTalk media access, and improved tool-call handling.

  • Added the stable qwen3.8-max model to the Token Plan model list, allowing users to select it via /model alongside the existing preview version. (#9383)
  • Qwen hybrid models now expose a simple Thinking toggle for reasoning control, removing complex effort tiers for supported versions. (#9574)
  • Enables DingTalk to download and attach media from quoted messages, allowing agents to inspect referenced images and files. (#9347)
  • Treats duplicate provider tool-call IDs as replays only when arguments match, allowing ID collisions with different arguments to execute normally. (#9436)
  • Prevents upstream fail-fast placeholder responses like '(request timeout)' from appearing in chat by retrying them internally. (#8938)
  • cli: surface the daemon duplicate tool-call breaker as a visible loop-detected stop (#9435)
  • core: reject run_in_background: false for named teammates (#9433)
  • core: clarify list_agents excludes Agent Team teammates (#9432)

Extensions & Git Integration

Enabled authenticated HTTPS Git installs, batch Extension state updates, and PTY worker support for managed terminal sessions.

  • Added support for authenticated HTTPS Git extension installs with configurable credential persistence, enabling secure cloning of private repositories via the daemon. (#9458)
  • Added batch APIs to update Extension activation states for up to 100 extensions globally or for specific trusted workspaces. (#8788)
  • Adds PTY worker support to enable managed Agent View sessions with local terminal hosts and authenticated stream forwarding. (#7800)

Observability & Diagnostics

Exposed V8 heap metrics, linked distributed tracing contexts, and routed unrecognized diagnostics to bounded sidechannels.

  • ACP child processes now track and report V8 old-generation heap metrics, including peak committed memory and major-GC counts, in daemon status. (#9380)
  • Links daemon HTTP request spans to inbound W3C traceparent headers to maintain continuous distributed tracing context. (#9391)
  • Routes unrecognized diagnostics to a bounded sidechannel instead of cluttering the main transcript blocks with debug entries. (#9202)
  • The bridge now advances a strictly monotonic per-session watermark and exposes it via BridgeSessionSummary.updatedAt in the live-state API. (#9396)

CLI & Workflow APIs

Added context file visibility, structured Workflow runtime models, and support for posting comments via a1 CLI.

  • Added a one-time INFO message to the CLI that lists attached context files above the first user prompt, making invisible system prompt attachments visible in the chat. (#8855)
  • Exposes a structured runtime model for Workflow execution to record lifecycle events, persist state, and support cancellation. (#9034)
  • Attachment uploads now send filenames as encoded URL query parameters instead of custom headers to prevent cross-origin issues. (#9567)
  • Suppresses Homebrew update notifications when local metadata confirms no newer version is available, preventing false alerts. (#9502)

Other Changes

Tool approval and ask-user dialogs now appear as in-flow bottom sheets aligned to chat width, and the agent-launch dialog defaults focus to allow. (#9351) Ensures image payload eviction remains consistent across chat history and forks by rewriting large