<!-- qwen-release-notes:v1 -->
## 亮点
- 移除了 Goals 的 50 轮对话限制,允许任务突破原有边界继续恢复和运行。 ([#8421](https://github.com/QwenLM/qwen-code/pull/8421))
- 在交互式 CLI 中启用了 Kitty、Ghostty 和 chafa 的模型输出内联终端图像渲染。 ([#8305](https://github.com/QwenLM/qwen-code/pull/8305))
- 引入了声明式清单和命令,支持使用仓库特定上下文自定义审查计划。 ([#8401](https://github.com/QwenLM/qwen-code/pull/8401))
- 通过规范化证书名称以符合 Electron Builder 的预期,修复了 Live Host 发布签名问题。 ([#8579](https://github.com/QwenLM/qwen-code/pull/8579))
- 通过限制流式响应的总生命周期,防止 GitHub 触发的审查运行出现静默挂起。 ([#8602](https://github.com/QwenLM/qwen-code/pull/8602))
- 允许托管部署将语音转录路由到特定的 HTTP 或私有网络 ASR 网关。 ([#8350](https://github.com/QwenLM/qwen-code/pull/8350))
## 破坏性变更
暂无已知的破坏性变更。
## 完整变更列表
### 新功能
- 新增 `security.allowedInsecureVoiceBaseUrls` 配置项,允许托管部署将语音转录路由到特定的 HTTP 或私有网络 ASR 网关。 ([#8350](https://github.com/QwenLM/qwen-code/pull/8350)) by @rockybot2026
- 在交互式 CLI 中启用模型和工具输出的内联终端图像渲染,支持 Kitty、Ghostty 和 chafa。 ([#8305](https://github.com/QwenLM/qwen-code/pull/8305)) by @tlysanhuo
- 引入声明式 `.qwen/review-context.json` 清单及 `review repo-context` 命令,支持使用仓库特定上下文自定义审查计划。 ([#8401](https://github.com/QwenLM/qwen-code/pull/8401)) by @wenshao
- 为 REST SSE 连接添加了可观测性支持(包含稳定的 UUID),并为流生命周期事件(包括慢客户端警告和驱逐)提供遥测数据。 ([#8572](https://github.com/QwenLM/qwen-code/pull/8572)) by @doudouOUC
### 缺陷修复
- 修复审查 CLI 包,确保包含核心包构建输出,使审查阶段的验证检查能正确运行。 ([#8612](https://github.com/QwenLM/qwen-code/pull/8612)) by @wenshao
- 通过规范化 Developer ID 证书名称以符合 Electron Builder 的预期,修复了 Live Host 发布签名问题。 ([#8579](https://github.com/QwenLM/qwen-code/pull/8579)) by @LaZzyMan
- 增强沙箱运行时选择机制,在使用前探测可用性,在未找到可用运行时时报错更清晰。 ([#7734](https://github.com/QwenLM/qwen-code/pull/7734)) by @harjothkhara
- 修复自动修复工作流中的竞态条件,确保扫描与选择任务在单个并发组内执行。 ([#8435](https://github.com/QwenLM/qwen-code/pull/8435)) by @wenshao
- 修复文件读取权限逻辑,在检查工作区边界前先解析符号链接,确保访问决策准确。 ([#8636](https://github.com/QwenLM/qwen-code/pull/8636)) by @doudouOUC
- 移除 Goals 固定的 50 次续传限制,允许任务突破原有轮数边界继续恢复和运行。 ([#8421](https://github.com/QwenLM/qwen-code/pull/8421)) by @qqqys
- 通过新增 `QWEN_STREAM_MAX_LIFETIME_MS` 配置项限制流式响应的总生命周期,防止 GitHub 触发的 `/review` 运行出现静默挂起。 ([#8602](https://github.com/QwenLM/qwen-code/pull/8602)) by @wenshao
- 在检出分支后立即更新 Web Shell 侧边栏的分支标识,无需等待下一次轮询即可反映新分支名。 ([#8600](https://github.com/QwenLM/qwen-code/pull/8600)) by @wenshao
- 允许在浏览器地址栏刷新 Web Shell 会话页面而不会触发认证错误,同时保持 API 子路径的安全。 ([#8445](https://github.com/QwenLM/qwen-code/pull/8445)) by @BZ-D
- 将制品预览、下载和审查报告的作用域限制在其所属的工作区内,防止工作区变更后出现访问问题。 ([#8510](https://github.com/QwenLM/qwen-code/pull/8510)) by @zjunothing
- fix(cli):在 `/language ui <language>` 子命令中接受 scope 参数 ([#8633](https://github.com/QwenLM/qwen-code/pull/8633)) by @yiliang114
- 钉钉任务现使用单一连续状态卡片进行更新和最终回复,防止界面杂乱并确保正确 @用户。 ([#8565](https://github.com/QwenLM/qwen-code/pull/8565)) by @qqqys
### 性能优化
- 通过移除审计循环和验证步骤中不必要的串行延迟,降低 `/review` 流水线延迟。 ([#8642](https://github.com/QwenLM/qwen-code/pull/8642)) by @wenshao
### 文档
- 新增遗留代码审计技能的设计文档,该技能将审查机制应用于已合并的现有代码。 ([#8397](https://github.com/QwenLM/qwen-code/pull/8397)) by @wenshao
### 内部变更
- 通过为外部路径 glob 测试使用专用空目录,提高测试可靠性,防止在繁忙系统上超时。 ([#8604](https://github.com/QwenLM/qwen-code/pull/8604)) by @wenshao
## 新贡献者
- @rockybot2026 在 [#8350](https://github.com/QwenLM/qwen-code/pull/8350) 中首次贡献代码
- @tlysanhuo 在 [#8305](https://github.com/QwenLM/qwen-code/pull/8305) 中首次贡献代码
**完整更新日志**: https://github.com/QwenLM/qwen-code/compare/v0.21.6...v0.21.7
<!-- qwen-release-notes:v1 -->
## Highlights
- Removed the 50-turn limit for Goals, allowing tasks to resume and continue beyond previous boundaries. ([#8421](https://github.com/QwenLM/qwen-code/pull/8421))
- Enabled rendering inline terminal images from model outputs in the interactive CLI for Kitty, Ghostty, and chafa. ([#8305](https://github.com/QwenLM/qwen-code/pull/8305))
- Introduced a declarative manifest and command to customize review plans with repository-specific context. ([#8401](https://github.com/QwenLM/qwen-code/pull/8401))
- Fixed Live Host release signing by normalizing certificate names to match Electron Builder expectations. ([#8579](https://github.com/QwenLM/qwen-code/pull/8579))
- Prevents silent hangs in GitHub-triggered review runs by capping the total lifetime of streaming responses. ([#8602](https://github.com/QwenLM/qwen-code/pull/8602))
- Allows managed deployments to route voice transcription through specific HTTP or private-network ASR gateways. ([#8350](https://github.com/QwenLM/qwen-code/pull/8350))
## Breaking Changes
No known breaking changes.
## Complete Change List
### Features
- Adds the security.allowedInsecureVoiceBaseUrls setting to allow managed deployments to route voice transcription through specific HTTP or private-network ASR gateways. ([#8350](https://github.com/QwenLM/qwen-code/pull/8350)) by @rockybot2026
- Enables rendering inline terminal images from model and tool outputs in the interactive CLI with support for Kitty, Ghostty, and chafa. ([#8305](https://github.com/QwenLM/qwen-code/pull/8305)) by @tlysanhuo
- Introduces a declarative .qwen/review-context.json manifest and the review repo-context command to customize review plans with repository-specific context. ([#8401](https://github.com/QwenLM/qwen-code/pull/8401)) by @wenshao
- Added observability for REST SSE connections with stable UUIDs and telemetry for stream lifecycle events including slow-client warnings and evictions. ([#8572](https://github.com/QwenLM/qwen-code/pull/8572)) by @doudouOUC
### Bug Fixes
- Fixed the review CLI bundle to include the core package build output, ensuring verification checks run correctly in review phases. ([#8612](https://github.com/QwenLM/qwen-code/pull/8612)) by @wenshao
- Fixed Live Host release signing by normalizing the Developer ID certificate name to match Electron Builder expectations. ([#8579](https://github.com/QwenLM/qwen-code/pull/8579)) by @LaZzyMan
- Enhanced sandbox runtime selection to probe availability before use, providing clearer errors when no working runtime is found. ([#7734](https://github.com/QwenLM/qwen-code/pull/7734)) by @harjothkhara
- Fixed a race condition in autofix workflows by ensuring scan-and-pick runs execute within a single concurrency group. ([#8435](https://github.com/QwenLM/qwen-code/pull/8435)) by @wenshao
- Fixed file read permissions to resolve symbolic links before checking workspace boundaries, ensuring accurate access decisions. ([#8636](https://github.com/QwenLM/qwen-code/pull/8636)) by @doudouOUC
- Removed the fixed 50-continuation limit for Goals, allowing them to resume and continue beyond previous turn count boundaries. ([#8421](https://github.com/QwenLM/qwen-code/pull/8421)) by @qqqys
- Prevents silent hangs in GitHub-triggered /review runs by capping the total lifetime of streaming responses with the new QWEN_STREAM_MAX_LIFETIME_MS setting. ([#8602](https://github.com/QwenLM/qwen-code/pull/8602)) by @wenshao
- Updates the Web Shell sidebar branch chip immediately after a checkout to reflect the new branch name without waiting for the next poll. ([#8600](https://github.com/QwenLM/qwen-code/pull/8600)) by @wenshao
- Allows refreshing Web Shell session pages in the browser address bar without authentication errors while keeping API subpaths secured. ([#8445](https://github.com/QwenLM/qwen-code/pull/8445)) by @BZ-D
- Scopes artifact previews, downloads, and review reports to their owning workspace to prevent access issues after workspace changes. ([#8510](https://github.com/QwenLM/qwen-code/pull/8510)) by @zjunothing
- fix(cli): accept scope flags in /language ui <language> subcommands ([#8633](https://github.com/QwenLM/qwen-code/pull/8633)) by @yiliang114
- DingTalk tasks now use a single continuous status card for updates and final answers, preventing clutter and ensuring correct user mentions. ([#8565](https://github.com/QwenLM/qwen-code/pull/8565)) by @qqqys
### Performance
- Reduces /review pipeline latency by removing unnecessary serial delays in the audit loop and verification steps. ([#8642](https://github.com/QwenLM/qwen-code/pull/8642)) by @wenshao
### Documentation
- Added a design document for the legacy code audit skill which applies review machinery to existing merged code. ([#8397](https://github.com/QwenLM/qwen-code/pull/8397)) by @wenshao
### Internal Changes
- Improved test reliability by using a dedicated empty directory for external-path glob tests to prevent timeouts on busy systems. ([#8604](https://github.com/QwenLM/qwen-code/pull/8604)) by @wenshao
## New Contributors
- @rockybot2026 made their first contribution in [#8350](https://github.com/QwenLM/qwen-code/pull/8350)
- @tlysanhuo made their first contribution in [#8305](https://github.com/QwenLM/qwen-code/pull/8305)
**Full Changelog**: https://github.com/QwenLM/qwen-code/compare/v0.21.6...v0.21.7