Skip to content

Release v0.21.8

Latest

Choose a tag to compare

@qwen-code-ci-bot qwen-code-ci-bot released this 08 Aug 17:07
· 1 commit to release/v0.21.8 since this release

Highlights

  • Restored real-time autofix support for pull requests opened from forks by bridging review events to credentialed workflows. (#8676)
  • Enabled compression cache sharing for OpenAI, Gemini, and Vertex AI to reuse conversation prefixes and reduce redundant input processing. (#8418, #8425)
  • Added repository context manifests to guide the /review command with bounded domains, related paths, and recommended tests. (#8654)
  • Fixed a security issue where explicitly distrusted workspaces were incorrectly inheriting trust from parent directories. (#8628)
  • Improved /review performance by moving remote matching to a deterministic CLI subcommand, achieving up to 93.3% prompt cache hit rates. (#8658)
  • Allowed ACP agent tool calls to run concurrently at the configured limit, removing artificial serialization that slowed down fan-out operations. (#8631)

Breaking Changes

No known breaking changes.

Complete Change List

Features

  • Review runs now warn users if the executing bundle is older than the current code and document the findings --test-delta flag for severity adjustments. (#8390) by @wenshao
  • The daemon now observes and reports memory pressure levels and ratios using real denominators for both the root process and child heaps. (#8423) by @doudouOUC
  • Compression cache sharing is now enabled for all OpenAI-compatible providers, including stable session keys for the official OpenAI API. (#8418) by @DragonnZhang
  • Compression cache sharing is now enabled for Gemini and Vertex AI to reuse conversation prefixes and reduce redundant input processing. (#8425) by @DragonnZhang
  • Group chats can now be approved once via a stable chat ID using the new group pairing policy, allowing access for all members. (#8440) by @qqqys
  • Added a repository context manifest to guide the /review command with bounded domains, related paths, and recommended tests for specific repository areas. (#8654) by @wenshao
  • Enhanced DingTalk integration to include stable identifiers of mentioned members in the inbound context when the bot is mentioned alongside other users. (#8639) by @BenGuanRan
  • Restores real-time autofix support for pull requests opened from forks by bridging review events to the credentialed workflow lane. (#8676) by @wenshao
  • Enriches Feishu contact observations with sender display names and group names to replace opaque IDs with recognizable labels. (#8569) by @BenGuanRan
  • Improves Web Shell feedback for parallel subagents by keeping status visible, auto-expanding details during work, and collapsing groups upon completion. (#8559) by @carffuca
  • Adds optional Mem0 memory write support to the Direct External Context integration for approved content when explicitly enabled in configuration. (#8507) by @doudouOUC
  • Improves telemetry attribution to distinguish daemon-spawned sessions from direct CLI launches in usage statistics. (#8670) by @yiliang114
  • Added support for installing Web Shell Extensions directly from local .zip or .tar.gz archive files via the Extension manager. (#8621) by @callmeYe
  • Feishu users can now answer structured single-select and multi-select questions directly via native Card V2 forms instead of text replies. (#8578) by @BenGuanRan
  • Dynamic Workflows now support cooperative pause and resume via the 'p' shortcut in Background Tasks or the '/workflows p' command in the TUI. (#8320) by @qqqys
  • Added activeWork, activeWorkReporting, and activeWorkStaleMs fields to the GET /health?deep=1 endpoint to expose current work state. (#8588) by @doudouOUC
  • Implemented durable evidence checkpointing for long-running Goals to prevent data loss and manage evidence limits during execution. (#8465) by @qqqys

Bug Fixes

  • Forced AutoFix review admission now fails closed with explicit validation and stable reason codes when takeover permissions cannot be verified. (#8410) by @qqqys
  • Automatic recap results are now discarded if a new user message starts while the recap is still processing to prevent output from appearing in the wrong turn. (#8573) by @carffuca
  • File caching and session leases now fail closed when inode values are zero to prevent unrelated files from being incorrectly treated as identical. (#8290) by @xianjianlf2
  • Backward transcript pagination now caps page expansion to prevent single large turns from inflating pages beyond the requested size and byte budget. (#8553) by @wenshao
  • Signal-terminated foreground shell commands are now correctly reported as errors instead of being treated as successful executions. (#8501) by @daleselaji-dev
  • The npm cache producer now runs as a non-root user to prevent file permission issues on persistent self-hosted CI runners. (#8669) by @yiliang114
  • Same-host daemon bridges now use the regular CLI filesystem service for text reads while keeping text writes delegated through the workspace boundary. (#8620) by @doudouOUC
  • Automated fix jobs backed by personal access tokens are now skipped for fork pull requests that lack repository secrets. (#8671) by @wenshao
  • The triage status comment now finalizes correctly even when the workflow is cancelled or times out, preventing stale running indicators. (#8436) by @wenshao
  • Fixed an issue where slash command names were truncated in narrow terminals, ensuring full command names like 'review' and 'doctor' remain visible in completion menus. (#8657) by @carffuca
  • Removed a blocking disk flush command from directory E2E tests to prevent Vitest worker timeouts on busy self-hosted Linux runners. (#8685) by @wenshao
  • Added a timeout to silent MCP SSE startup attempts in 'qwen mcp list' to prevent the command from hanging indefinitely on unresponsive endpoints. (#8555) by @daleselaji-dev
  • Enabled management of DingTalk interactive card configurations in the daemon channel catalog and ensured Web Shell preserves these object-valued settings. (#8517) by @BenGuanRan
  • Increased SDK request timeouts and stream limits for CI review runs to prevent failures during long upstream processing or large context generation. (#8673) by @wenshao
  • Fixes an issue on Windows where workspace paths with verbatim prefixes caused failures during runtime startup and workspace resolution. (#8619) by @yiliang114
  • Ensures links in assistant replies open in the system browser when the built-in browser pane fails to load or navigate. (#8594) by @yiliang114
  • Allows ACP agent tool calls to run concurrently at the configured limit, removing artificial serialization that slowed down fan-out operations. (#8631) by @wenshao
  • Fixes mobile layout issues to keep the composer anchored at the bottom of the chat pane on screens up to 760px wide. (#8601) by @dreamWB
  • Fixes an issue where resuming a session after a connection cut would display incomplete responses by correctly recording the delivered text prefix. (#8624) by @harjothkhara
  • Ensures live system instructions refresh immediately after memory writes so new context is applied without requiring a session restart. (#8640) by @ZijianZhang989
  • Hardens QQ group sender attribution to consistently display neutral labels for username-less senders and prevent identity exposure when mentions are disabled. (#8477) by @zjunothing
  • Fixes stream-json sessions to remain alive after an interrupt signal, allowing users to continue interactions without restarting the CLI. (#8509) by @zjunothing
  • Corrects integration test configuration to enforce worker limits and prevent unbounded parallelism during test execution. (#8689) by @wenshao
  • Emits standard ACP usage update notifications after each model round to accurately report prompt context occupancy and window size. (#8528) by @zjunothing
  • Fixed an issue where changing trust or tool settings now correctly refreshes MCP session metadata without requiring a full reconnection. (#8522) by @zjunothing
  • Fixed a layout issue where collapsing thought blocks in the terminal buffer now correctly releases reserved vertical space immediately. (#8570) by @chiga0
  • Fixed timeout error handling to preserve underlying cause and HTTP status codes, ensuring retry policies function correctly for network failures. (#8531) by @zjunothing
  • Separated internal hook context from user-visible transcript text to ensure clean display and accurate telemetry across all interfaces. (#7948) by @destire-mio
  • Integration test cleanup now runs asynchronously and stops waiting immediately if telemetry fails to become ready, preventing hangs during test execution. (#8688) by @wenshao
  • Review agent transcripts are now wrapped to prevent accidental execution of workflow commands found in logged file contents. (#8683) by @wenshao
  • The resume session command is now echoed to the main terminal buffer on exit so it remains visible in scrollback when chat recording is enabled. (#8455) by @chiga0
  • A persistent 'N queued' badge now appears in the Footer status row to indicate pending messages even when the main queue display is clipped during streaming. (#8667) by @qwen-code-dev-bot
  • Pressing ESC once now immediately cancels ongoing agent work instead of requiring multiple presses to clear queued messages first. (#8353) by @C0d3N1nja97342
  • The Alibaba Token Plan preset now uses the correct Singapore-region model ID 'deepseek-v4-flash-0731' to prevent HTTP 403 errors. (#8705) by @zjunothing
  • Fixed a startup failure in the review workflow caused by exceeding GitHub's maximum expression length limit. (#8720) by @wenshao
  • Fixed a security issue where explicitly distrusted workspaces were incorrectly inheriting trust from parent directories. (#8628) by @daleselaji-dev
  • Fixed an issue where multi-line /review commands followed by a newline failed to trigger the review process. (#8723) by @wenshao
  • Changed the autofix loop to enter Critical-only mode after five change rounds to prevent excessive automated modifications. (#8751) by @wenshao
  • Prevents daemon sessions from inheriting loader-affecting environment variables like NODE_OPTIONS and LD_* that could interfere with subprocess execution. (#8663) by @wenshao
  • Enables successful type checking for integration tests by fixing configuration errors and resolving previously undetected type issues. (#8693) by @doudouOUC

Performance

  • Stopped restoring the large remote npm cache on self-hosted runners to improve performance, as the restore time exceeded the installation time saved. (#8681) by @wenshao
  • Optimizes CI by running automatic reviews for documentation-only pull requests at medium effort while maintaining high effort for all other changes. (#8648) by @wenshao
  • Improved /review performance by moving remote matching to a deterministic CLI subcommand and achieving up to 93.3% prompt cache hit rates. (#8658) by @wenshao
  • Made autofix fleet caps tunable via repository variables and raised default limits to improve CI throughput without workflow edits. (#8731) by @wenshao
  • Introduced a soft tool-call budget into review plans to optimize resource usage during finder and auditor operations. (#8708) by @wenshao

Documentation

  • Documentation now covers the per-caller and workspace-wide concurrency settings for the qwen serve command, including defaults and accepted ranges. (#8404) by @DragonnZhang
  • Added Aliyun Model Studio CLI (bailian-cli) to the Ecosystem section to support image generation, knowledge retrieval, and agent orchestration. (#8710) by @Maddock-MDF
  • Clarified SDK documentation to confirm that reusable queries remain open for further prompts after an interruption, unless the session is explicitly closed. (#8711) by @DragonnZhang

Internal Changes

  • Markdown parsing during message streaming is now throttled to 80ms intervals to prevent performance degradation while maintaining immediate updates when streaming stops. (#7904) by @PratikWayase

New Contributors

Full Changelog: v0.21.7...v0.21.8