<!-- qwen-release-notes:v1 -->
## 亮点
- 通过审查事件桥接至凭据工作流,恢复了从分叉仓库发起的拉取请求的实时自动修复支持。 ([#8676](https://github.com/QwenLM/qwen-code/pull/8676))
- 为 OpenAI、Gemini 和 Vertex AI 启用了压缩缓存共享,以复用对话前缀并减少冗余输入处理。 ([#8418](https://github.com/QwenLM/qwen-code/pull/8418), [#8425](https://github.com/QwenLM/qwen-code/pull/8425))
- 新增仓库上下文清单,为 /review 命令提供有界领域、相关路径及推荐测试的指导。 ([#8654](https://github.com/QwenLM/qwen-code/pull/8654))
- 修复了一项安全漏洞:明确不信任的工作区错误继承了父目录的信任状态。 ([#8628](https://github.com/QwenLM/qwen-code/pull/8628))
- 通过将远程匹配移至确定性 CLI 子命令,提升了 /review 性能,提示词缓存命中率最高达 93.3%。 ([#8658](https://github.com/QwenLM/qwen-code/pull/8658))
- 允许 ACP 代理工具调用在配置限制内并发运行,移除了拖慢扇出操作的人工串行限制。 ([#8631](https://github.com/QwenLM/qwen-code/pull/8631))
## 破坏性变更
暂无已知的破坏性变更。
## 完整变更列表
### 新功能
- 审查运行现在会在执行包版本落后于当前代码时警告用户,并记录 --test-delta 标志的用法以调整严重程度。 ([#8390](https://github.com/QwenLM/qwen-code/pull/8390)) by @wenshao
- 守护进程现在使用根进程和子堆的实际分母来观察并报告内存压力级别和比率。 ([#8423](https://github.com/QwenLM/qwen-code/pull/8423)) by @doudouOUC
- 现已为所有 OpenAI 兼容提供商启用压缩缓存共享,包括官方 OpenAI API 的稳定会话密钥。 ([#8418](https://github.com/QwenLM/qwen-code/pull/8418)) by @DragonnZhang
- 现已为 Gemini 和 Vertex AI 启用压缩缓存共享,以复用对话前缀并减少冗余输入处理。 ([#8425](https://github.com/QwenLM/qwen-code/pull/8425)) by @DragonnZhang
- 通过新的群组配对策略,群组聊天现在可通过稳定的聊天 ID 一次性审批,从而允许所有成员访问。 ([#8440](https://github.com/QwenLM/qwen-code/pull/8440)) by @qqqys
- 新增仓库上下文清单,为 /review 命令提供有界领域、相关路径及针对特定仓库区域的推荐测试。 ([#8654](https://github.com/QwenLM/qwen-code/pull/8654)) by @wenshao
- 增强钉钉集成:当机器人与其他用户同时被提及时,入站上下文中将包含被提及成员的稳定标识符。 ([#8639](https://github.com/QwenLM/qwen-code/pull/8639)) by @BenGuanRan
- 通过审查事件桥接至凭据工作流通道,恢复了从分叉仓库发起的拉取请求的实时自动修复支持。 ([#8676](https://github.com/QwenLM/qwen-code/pull/8676)) by @wenshao
- 丰富飞书联系人观察数据,增加发送者显示名称和群组名称,以可识别的标签替换不透明的 ID。 ([#8569](https://github.com/QwenLM/qwen-code/pull/8569)) by @BenGuanRan
- 改进 Web Shell 对并行子代理的反馈:保持状态可见,工作中自动展开详情,完成后折叠分组。 ([#8559](https://github.com/QwenLM/qwen-code/pull/8559)) by @carffuca
- 在直接外部上下文集成中为已批准内容添加了可选的 Mem0 内存写入支持,需在配置中显式启用。 ([#8507](https://github.com/QwenLM/qwen-code/pull/8507)) by @doudouOUC
- 改进遥测归因,在统计数据中区分守护进程派生的会话与直接 CLI 启动的会话。 ([#8670](https://github.com/QwenLM/qwen-code/pull/8670)) by @yiliang114
- 通过扩展管理器支持直接从本地 .zip 或 .tar.gz 归档文件安装 Web Shell 扩展。 ([#8621](https://github.com/QwenLM/qwen-code/pull/8621)) by @callmeYe
- 飞书用户现在可以直接通过原生 Card V2 表单回答结构化单选和多选题,而无需文本回复。 ([#8578](https://github.com/QwenLM/qwen-code/pull/8578)) by @BenGuanRan
- 动态工作流现在支持通过后台任务中的 'p' 快捷键或 TUI 中的 '/workflows p' 命令进行协作式暂停和恢复。 ([#8320](https://github.com/QwenLM/qwen-code/pull/8320)) by @qqqys
- 在 GET /health?deep=1 端点中添加了 activeWork、activeWorkReporting 和 activeWorkStaleMs 字段,以暴露当前工作状态。 ([#8588](https://github.com/QwenLM/qwen-code/pull/8588)) by @doudouOUC
- 为长时间运行的目标实现了持久的证据检查点,以防止数据丢失并在执行期间管理证据限制。 ([#8465](https://github.com/QwenLM/qwen-code/pull/8465)) by @qqqys
### 错误修复
- 当无法验证接管权限时,强制 AutoFix 审查准入现在会执行显式验证并返回稳定的错误码,从而安全失败。 ([#8410](https://github.com/QwenLM/qwen-code/pull/8410)) by @qqqys
- 若自动回顾(recap)仍在处理中时新消息已开始,将丢弃自动回顾结果,以防止输出出现在错误的对话轮次中。 ([#8573](https://github.com/QwenLM/qwen-code/pull/8573)) by @carffuca
- 当 inode 值为零时,文件缓存与会话租约现在会安全失败,以防止不相关的文件被错误地视为相同。 ([#8290](https://github.com/QwenLM/qwen-code/pull/8290)) by @xianjianlf2
- 向后转录分页现在限制了页面扩展,以防止单个大型对话轮次导致页面超出请求的大小和字节预算。 ([#8553](https://github.com/QwenLM/qwen-code/pull/8553)) by @wenshao
- 被信号终止的前台 shell 命令现在会正确报告为错误,而非被视为成功执行。 ([#8501](https://github.com/QwenLM/qwen-code/pull/8501)) by @daleselaji-dev
- npm 缓存生成器现在以非 root 用户身份运行,以防止在持久化自托管 CI 运行器上出现文件权限问题。 ([#8669](https://github.com/QwenLM/qwen-code/pull/8669)) by @yiliang114
- 同主机守护进程桥接现在使用常规 CLI 文件系统服务进行文本读取,同时保持文本写入通过工作区边界进行委托。 ([#8620](https://github.com/QwenLM/qwen-code/pull/8620)) by @doudouOUC
- 对于缺乏仓库密钥的 fork 拉取请求,由个人访问令牌支持的自动修复作业现在将被跳过。 ([#8671](https://github.com/QwenLM/qwen-code/pull/8671)) by @wenshao
- 即使工作流被取消或超时,分类状态评论现在也能正确完成,防止出现过时的运行指示器。 ([#8436](https://github.com/QwenLM/qwen-code/pull/8436)) by @wenshao
- 修复了窄终端中斜杠命令名称被截断的问题,确保 'review' 和 'doctor' 等完整命令名称在补全菜单中保持可见。 ([#8657](https://github.com/QwenLM/qwen-code/pull/8657)) by @carffuca
- 从目录 E2E 测试中移除了阻塞式磁盘刷新命令,以防止在繁忙的自托管 Linux 运行器上出现 Vitest 工作器超时。 ([#8685](https://github.com/QwenLM/qwen-code/pull/8685)) by @wenshao
- 为 'qwen mcp list' 中静默的 MCP SSE 启动尝试添加了超时设置,以防止命令在无响应的端点上无限挂起。 ([#8555](https://github.com/QwenLM/qwen-code/pull/8555)) by @daleselaji-dev
- 在守护进程频道目录中启用了钉钉互动卡片配置的管理,并确保 Web Shell 保留这些对象类型的设置。 ([#8517](https://github.com/QwenLM/qwen-code/pull/8517)) by @BenGuanRan
- 增加了 CI 审查运行的 SDK 请求超时时间和流限制,以防止在长时间上游处理或大上下文生成期间发生故障。 ([#8673](https://github.com/QwenLM/qwen-code/pull/8673)) by @wenshao
- 修复了 Windows 上带有逐字前缀的工作区路径在运行时启动和工作区解析期间导致失败的问题。 ([#8619](https://github.com/QwenLM/qwen-code/pull/8619)) by @yiliang114
- 当内置浏览器窗格无法加载或导航时,确保助手回复中的链接在系统浏览器中打开。 ([#8594](https://github.com/QwenLM/qwen-code/pull/8594)) by @yiliang114
- 允许 ACP 代理工具调用在配置的限制内并发运行,移除了减慢扇出操作的人为串行化。 ([#8631](https://github.com/QwenLM/qwen-code/pull/8631)) by @wenshao
- 修复了移动端布局问题,使输入框在最高 760px 宽的屏幕上始终锚定在聊天窗格底部。 ([#8601](https://github.com/QwenLM/qwen-code/pull/8601)) by @dreamWB
- 修复了连接中断后恢复会话会显示不完整响应的问题,通过正确记录已交付的文本前缀来解决。 ([#8624](https://github.com/QwenLM/qwen-code/pull/8624)) by @harjothkhara
- 确保内存写入后系统指令立即刷新,以便应用新上下文而无需重启会话。 ([#8640](https://github.com/QwenLM/qwen-code/pull/8640)) by @ZijianZhang989
- 增强了 QQ 群发送者归属的健壮性,为无用户名发送者一致显示中性标签,并在禁用提及时防止身份暴露。 ([#8477](https://github.com/QwenLM/qwen-code/pull/8477)) by @zjunothing
- 修复了中断信号后 stream-json 会话保持存活的问题,允许用户在不重启 CLI 的情况下继续交互。 ([#8509](https://github.com/QwenLM/qwen-code/pull/8509)) by @zjunothing
- 修正了集成测试配置以强制执行工作器限制,防止测试执行期间出现无限制的并行。 ([#8689](https://github.com/QwenLM/qwen-code/pull/8689)) by @wenshao
- 在每个模型轮次后发出标准 ACP 使用更新通知,以准确报告提示上下文占用率和窗口大小。 ([#8528](https://github.com/QwenLM/qwen-code/pull/8528)) by @zjunothing
- 修复了更改信任或工具设置的问题,现在能正确刷新 MCP 会话元数据,而无需完全重新连接。 ([#8522](https://github.com/QwenLM/qwen-code/pull/8522)) by @zjunothing
- 修复了布局问题,现在在终端缓冲区中折叠思考块能立即正确释放预留的垂直空间。 ([#8570](https://github.com/QwenLM/qwen-code/pull/8570)) by @chiga0
- 修复了超时错误处理,以保留根本原因和 HTTP 状态码,确保重试策略在网络故障时能正确运行。 ([#8531](https://github.com/QwenLM/qwen-code/pull/8531)) by @zjunothing
- 将内部钩子上下文与用户可见的转录文本分离,以确保所有界面上的清晰显示和准确的遥测数据。 ([#7948](https://github.com/QwenLM/qwen-code/pull/7948)) by @destire-mio
- 集成测试清理现在异步运行,若遥测服务无法就绪则立即停止等待,从而防止测试执行期间挂起。([#8688](https://github.com/QwenLM/qwen-code/pull/8688)) by @wenshao
- 审查代理转录内容现已启用自动换行,以防止意外执行日志文件内容中可能包含的工作流命令。([#8683](https://github.com/QwenLM/qwen-code/pull/8683)) by @wenshao
- 退出时,`resume session` 命令现在会回显至主终端缓冲区,以便在启用聊天记录时保留在滚动历史记录中可见。([#8455](https://github.com/QwenLM/qwen-code/pull/8455)) by @chiga0
- Footer 状态行现在显示持久的“N queued”徽章,即使流式传输期间主队列显示被截断,也能准确指示待处理消息。([#8667](https://github.com/QwenLM/qwen-code/pull/8667)) by @qwen-code-dev-bot
- 按一次 ESC 键现在会立即取消正在进行的代理工作,无需再多次按键以先清除排队消息。([#8353](https://github.com/QwenLM/qwen-code/pull/8353)) by @C0d3N1nja97342
- 阿里云 Token 计划预设现已使用正确的区域模型 ID `deepseek-v4-flash-0731`,以防止出现 HTTP 403 错误。([#8705](https://github.com/QwenLM/qwen-code/pull/8705)) by @zjunothing
- 修复了因超出 GitHub 最大表达式长度限制而导致审查工作流启动失败的问题。([#8720](https://github.com/QwenLM/qwen-code/pull/8720)) by @wenshao
- 修复了安全漏洞:明确标记为不信任的工作区错误继承了父目录的信任状态。([#8628](https://github.com/QwenLM/qwen-code/pull/8628)) by @daleselaji-dev
- 修复了多行 `/review` 命令后跟换行符时无法触发审查流程的问题。([#8723](https://github.com/QwenLM/qwen-code/pull/8723)) by @wenshao
- 更改了自动修复循环逻辑,在经历五次更改轮次后进入仅 Critical 模式,以防止过度自动化修改。([#8751](https://github.com/QwenLM/qwen-code/pull/8751)) by @wenshao
- 防止守护进程会话继承可能干扰子进程执行的加载器相关环境变量(如 `NODE_OPTIONS` 和 `LD_*`)。([#8663](https://github.com/QwenLM/qwen-code/pull/8663)) by @wenshao
- 通过修复配置错误并解决此前未检测到的类型问题,使集成测试的类型检查得以成功运行。([#8693](https://github.com/QwenLM/qwen-code/pull/8693)) by @doudouOUC
### Performance
- 停止在自托管运行器上恢复大型远程 npm 缓存以提升性能,因为恢复耗时已超过节省的安装时间。([#8681](https://github.com/QwenLM/qwen-code/pull/8681)) by @wenshao
- 优化 CI 流程:对仅包含文档的拉取请求以中等强度运行自动审查,同时保持对其他更改的高强度审查。([#8648](https://github.com/QwenLM/qwen-code/pull/8648)) by @wenshao
- 通过将远程匹配移至确定性 CLI 子命令,实现高达 93.3% 的提示词缓存命中率,从而提升 `/review` 性能。([#8658](https://github.com/QwenLM/qwen-code/pull/8658)) by @wenshao
- 使自动修复集群上限可通过仓库变量进行配置,并调高默认限制,以在不修改工作流的情况下提升 CI 吞吐量。([#8731](https://github.com/QwenLM/qwen-code/pull/8731)) by @wenshao
- 在审查计划中引入软性工具调用预算,以优化查找器与审计器操作期间的资源消耗。([#8708](https://github.com/QwenLM/qwen-code/pull/8708)) by @wenshao
### Documentation
- 文档现已涵盖 `qwen serve` 命令的按调用者和工作区范围的并发设置,包含默认值与允许范围。([#8404](https://github.com/QwenLM/qwen-code/pull/8404)) by @DragonnZhang
- 在“生态系统”部分添加了阿里云百炼 CLI(bailian-cli),以支持图像生成、知识检索与代理编排。([#8710](https://github.com/QwenLM/qwen-code/pull/8710)) by @Maddock-MDF
- 澄清 SDK 文档,确认除非显式关闭会话,否则可重用查询在中断后仍保持打开状态以接收后续提示。([#8711](https://github.com/QwenLM/qwen-code/pull/8711)) by @DragonnZhang
### Internal Changes
- 消息流式传输期间的 Markdown 解析现已限制为 80ms 间隔,以防止性能下降,同时在流式传输停止时保持即时更新。([#7904](https://github.com/QwenLM/qwen-code/pull/7904)) by @PratikWayase
## New Contributors
- @daleselaji-dev 在 [#8501](https://github.com/QwenLM/qwen-code/pull/8501) 中完成了首次贡献
- @Maddock-MDF 在 [#8710](https://github.com/QwenLM/qwen-code/pull/8710) 中完成了首次贡献
**Full Changelog**: https://github.com/QwenLM/qwen-code/compare/v0.21.7...v0.21.8
<!-- qwen-release-notes:v1 -->
## Highlights
- Restored real-time autofix support for pull requests opened from forks by bridging review events to credentialed workflows. ([#8676](https://github.com/QwenLM/qwen-code/pull/8676))
- Enabled compression cache sharing for OpenAI, Gemini, and Vertex AI to reuse conversation prefixes and reduce redundant input processing. ([#8418](https://github.com/QwenLM/qwen-code/pull/8418), [#8425](https://github.com/QwenLM/qwen-code/pull/8425))
- Added repository context manifests to guide the /review command with bounded domains, related paths, and recommended tests. ([#8654](https://github.com/QwenLM/qwen-code/pull/8654))
- Fixed a security issue where explicitly distrusted workspaces were incorrectly inheriting trust from parent directories. ([#8628](https://github.com/QwenLM/qwen-code/pull/8628))
- Improved /review performance by moving remote matching to a deterministic CLI subcommand, achieving up to 93.3% prompt cache hit rates. ([#8658](https://github.com/QwenLM/qwen-code/pull/8658))
- Allowed ACP agent tool calls to run concurrently at the configured limit, removing artificial serialization that slowed down fan-out operations. ([#8631](https://github.com/QwenLM/qwen-code/pull/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](https://github.com/QwenLM/qwen-code/pull/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](https://github.com/QwenLM/qwen-code/pull/8423)) by @doudouOUC
- Compression cache sharing is now enabled for all OpenAI-compatible providers, including stable session keys for the official OpenAI API. ([#8418](https://github.com/QwenLM/qwen-code/pull/8418)) by @DragonnZhang
- Compression cache sharing is now enabled for Gemini and Vertex AI to reuse conversation prefixes and reduce redundant input processing. ([#8425](https://github.com/QwenLM/qwen-code/pull/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](https://github.com/QwenLM/qwen-code/pull/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](https://github.com/QwenLM/qwen-code/pull/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](https://github.com/QwenLM/qwen-code/pull/8639)) by @BenGuanRan
- Restores real-time autofix support for pull requests opened from forks by bridging review events to the credentialed workflow lane. ([#8676](https://github.com/QwenLM/qwen-code/pull/8676)) by @wenshao
- Enriches Feishu contact observations with sender display names and group names to replace opaque IDs with recognizable labels. ([#8569](https://github.com/QwenLM/qwen-code/pull/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](https://github.com/QwenLM/qwen-code/pull/8559)) by @carffuca
- Adds optional Mem0 memory write support to the Direct External Context integration for approved content when explicitly enabled in configuration. ([#8507](https://github.com/QwenLM/qwen-code/pull/8507)) by @doudouOUC
- Improves telemetry attribution to distinguish daemon-spawned sessions from direct CLI launches in usage statistics. ([#8670](https://github.com/QwenLM/qwen-code/pull/8670)) by @yiliang114
- Added support for installing Web Shell Extensions directly from local .zip or .tar.gz archive files via the Extension manager. ([#8621](https://github.com/QwenLM/qwen-code/pull/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](https://github.com/QwenLM/qwen-code/pull/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](https://github.com/QwenLM/qwen-code/pull/8320)) by @qqqys
- Added activeWork, activeWorkReporting, and activeWorkStaleMs fields to the GET /health?deep=1 endpoint to expose current work state. ([#8588](https://github.com/QwenLM/qwen-code/pull/8588)) by @doudouOUC
- Implemented durable evidence checkpointing for long-running Goals to prevent data loss and manage evidence limits during execution. ([#8465](https://github.com/QwenLM/qwen-code/pull/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](https://github.com/QwenLM/qwen-code/pull/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](https://github.com/QwenLM/qwen-code/pull/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](https://github.com/QwenLM/qwen-code/pull/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](https://github.com/QwenLM/qwen-code/pull/8553)) by @wenshao
- Signal-terminated foreground shell commands are now correctly reported as errors instead of being treated as successful executions. ([#8501](https://github.com/QwenLM/qwen-code/pull/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](https://github.com/QwenLM/qwen-code/pull/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](https://github.com/QwenLM/qwen-code/pull/8620)) by @doudouOUC
- Automated fix jobs backed by personal access tokens are now skipped for fork pull requests that lack repository secrets. ([#8671](https://github.com/QwenLM/qwen-code/pull/8671)) by @wenshao
- The triage status comment now finalizes correctly even when the workflow is cancelled or times out, preventing stale running indicators. ([#8436](https://github.com/QwenLM/qwen-code/pull/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](https://github.com/QwenLM/qwen-code/pull/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](https://github.com/QwenLM/qwen-code/pull/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](https://github.com/QwenLM/qwen-code/pull/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](https://github.com/QwenLM/qwen-code/pull/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](https://github.com/QwenLM/qwen-code/pull/8673)) by @wenshao
- Fixes an issue on Windows where workspace paths with verbatim prefixes caused failures during runtime startup and workspace resolution. ([#8619](https://github.com/QwenLM/qwen-code/pull/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](https://github.com/QwenLM/qwen-code/pull/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](https://github.com/QwenLM/qwen-code/pull/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](https://github.com/QwenLM/qwen-code/pull/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](https://github.com/QwenLM/qwen-code/pull/8624)) by @harjothkhara
- Ensures live system instructions refresh immediately after memory writes so new context is applied without requiring a session restart. ([#8640](https://github.com/QwenLM/qwen-code/pull/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](https://github.com/QwenLM/qwen-code/pull/8477)) by @zjunothing
- Fixes stream-json sessions to remain alive after an interrupt signal, allowing users to continue interactions without restarting the CLI. ([#8509](https://github.com/QwenLM/qwen-code/pull/8509)) by @zjunothing
- Corrects integration test configuration to enforce worker limits and prevent unbounded parallelism during test execution. ([#8689](https://github.com/QwenLM/qwen-code/pull/8689)) by @wenshao
- Emits standard ACP usage update notifications after each model round to accurately report prompt context occupancy and window size. ([#8528](https://github.com/QwenLM/qwen-code/pull/8528)) by @zjunothing
- Fixed an issue where changing trust or tool settings now correctly refreshes MCP session metadata without requiring a full reconnection. ([#8522](https://github.com/QwenLM/qwen-code/pull/8522)) by @zjunothing
- Fixed a layout issue where collapsing thought blocks in the terminal buffer now correctly releases reserved vertical space immediately. ([#8570](https://github.com/QwenLM/qwen-code/pull/8570)) by @chiga0
- Fixed timeout error handling to preserve underlying cause and HTTP status codes, ensuring retry policies function correctly for network failures. ([#8531](https://github.com/QwenLM/qwen-code/pull/8531)) by @zjunothing
- Separated internal hook context from user-visible transcript text to ensure clean display and accurate telemetry across all interfaces. ([#7948](https://github.com/QwenLM/qwen-code/pull/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](https://github.com/QwenLM/qwen-code/pull/8688)) by @wenshao
- Review agent transcripts are now wrapped to prevent accidental execution of workflow commands found in logged file contents. ([#8683](https://github.com/QwenLM/qwen-code/pull/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](https://github.com/QwenLM/qwen-code/pull/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](https://github.com/QwenLM/qwen-code/pull/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](https://github.com/QwenLM/qwen-code/pull/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](https://github.com/QwenLM/qwen-code/pull/8705)) by @zjunothing
- Fixed a startup failure in the review workflow caused by exceeding GitHub's maximum expression length limit. ([#8720](https://github.com/QwenLM/qwen-code/pull/8720)) by @wenshao
- Fixed a security issue where explicitly distrusted workspaces were incorrectly inheriting trust from parent directories. ([#8628](https://github.com/QwenLM/qwen-code/pull/8628)) by @daleselaji-dev
- Fixed an issue where multi-line /review commands followed by a newline failed to trigger the review process. ([#8723](https://github.com/QwenLM/qwen-code/pull/8723)) by @wenshao
- Changed the autofix loop to enter Critical-only mode after five change rounds to prevent excessive automated modifications. ([#8751](https://github.com/QwenLM/qwen-code/pull/8751)) by @wenshao
- Prevents daemon sessions from inheriting loader-affecting environment variables like NODE_OPTIONS and LD_* that could interfere with subprocess execution. ([#8663](https://github.com/QwenLM/qwen-code/pull/8663)) by @wenshao
- Enables successful type checking for integration tests by fixing configuration errors and resolving previously undetected type issues. ([#8693](https://github.com/QwenLM/qwen-code/pull/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](https://github.com/QwenLM/qwen-code/pull/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](https://github.com/QwenLM/qwen-code/pull/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](https://github.com/QwenLM/qwen-code/pull/8658)) by @wenshao
- Made autofix fleet caps tunable via repository variables and raised default limits to improve CI throughput without workflow edits. ([#8731](https://github.com/QwenLM/qwen-code/pull/8731)) by @wenshao
- Introduced a soft tool-call budget into review plans to optimize resource usage during finder and auditor operations. ([#8708](https://github.com/QwenLM/qwen-code/pull/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](https://github.com/QwenLM/qwen-code/pull/8404)) by @DragonnZhang
- Added Aliyun Model Studio CLI (bailian-cli) to the Ecosystem section to support image generation, knowledge retrieval, and agent orchestration. ([#8710](https://github.com/QwenLM/qwen-code/pull/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](https://github.com/QwenLM/qwen-code/pull/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](https://github.com/QwenLM/qwen-code/pull/7904)) by @PratikWayase
## New Contributors
- @daleselaji-dev made their first contribution in [#8501](https://github.com/QwenLM/qwen-code/pull/8501)
- @Maddock-MDF made their first contribution in [#8710](https://github.com/QwenLM/qwen-code/pull/8710)
**Full Changelog**: https://github.com/QwenLM/qwen-code/compare/v0.21.7...v0.21.8