<!-- qwen-release-notes:v1 -->
## 亮点
- 新增对 Agent Plugins v1 的支持,以扩展智能体能力。 ([#8834](https://github.com/QwenLM/qwen-code/pull/8834))
- 通过 /coordinate 命令启用了包含只读协作者的本地多智能体工作流。 ([#8804](https://github.com/QwenLM/qwen-code/pull/8804))
- 改进了文本选择体验:双击可拖拽选词,三击可拖拽选行。 ([#8739](https://github.com/QwenLM/qwen-code/pull/8739))
- 通过防止冲突的推理设置,修复了 DashScope Qwen 3.8 请求失败的问题。 ([#8525](https://github.com/QwenLM/qwen-code/pull/8525))
- 增强了 Web Shell 的交互性,包括持久化的箭头符号、更好的悬停状态以及内联显示的智能体指标。 ([#8780](https://github.com/QwenLM/qwen-code/pull/8780))
- 新增 OpenTelemetry 会话生命周期事件,以提升会话创建和关闭的可观测性。 ([#8616](https://github.com/QwenLM/qwen-code/pull/8616))
## 破坏性变更
暂无已知的破坏性变更。
## 完整变更列表
### 新功能
- feat(serve): 绑定守护进程 ACP NDJSON 缓冲区 ([#8911](https://github.com/QwenLM/qwen-code/pull/8911)) by @doudouOUC
- feat(extensions): 支持 Agent Plugins v1 ([#8834](https://github.com/QwenLM/qwen-code/pull/8834)) by @callmeYe
- feat(ui): 双击后支持按词拖拽,三击后支持按行扩展 ([#8739](https://github.com/QwenLM/qwen-code/pull/8739)) by @qwen-code-dev-bot
- 新增标准的 OpenTelemetry session.start 和 session.end 生命周期事件,以提升会话创建和关闭的可观测性。 ([#8616](https://github.com/QwenLM/qwen-code/pull/8616)) by @zjunothing
- Web Shell 子智能体行现在更具交互性,包含持久化的箭头符号、更好的悬停状态,以及内联显示的智能体类型和指标。 ([#8780](https://github.com/QwenLM/qwen-code/pull/8780)) by @carffuca
- 会话列表读取现在能正确传播请求取消操作,以防止已断开的客户端留下昂贵的后台扫描任务。 ([#8954](https://github.com/QwenLM/qwen-code/pull/8954)) by @doudouOUC
- feat(desktop): 新增阿里云 OSS 发布镜像 ([#8976](https://github.com/QwenLM/qwen-code/pull/8976)) by @yiliang114
- feat(web-shell): 优化紧凑模式下的工具活动显示 ([#8973](https://github.com/QwenLM/qwen-code/pull/8973)) by @ytahdn
- ACP 会话现在使用统一的 Goal v3 运行时,支持创建、编辑、暂停、恢复和清除操作,并改进了回合调度。 ([#8732](https://github.com/QwenLM/qwen-code/pull/8732)) by @qqqys
- Web Shell 侧边栏现包含 Channels 视图,可同步跟踪来自钉钉、飞书和企微的集成会话以及标准任务。 ([#8457](https://github.com/QwenLM/qwen-code/pull/8457)) by @BZ-D
- /coordinate 命令现支持原生多智能体工作流,包含只读协作者,并自动将结果转发至主智能体。 ([#8804](https://github.com/QwenLM/qwen-code/pull/8804)) by @yiliang114
- 审查技能的逆向审计现在通过对比运行时状态语义与模型,检测沙箱等建模系统层中的缺陷。 ([#8956](https://github.com/QwenLM/qwen-code/pull/8956)) by @wenshao
- 终端窗口标题现在显示 ◐ 和 ✳ 等状态符号,以便在无法使用颜色提示的多路复用器中标识任务状态。 ([#8970](https://github.com/QwenLM/qwen-code/pull/8970)) by @qwen-code-dev-bot
- /doctor memory 命令现报告工具结果保留统计信息,包括字符计数以及结果超过 3 万字符时的警告。 ([#8875](https://github.com/QwenLM/qwen-code/pull/8875)) by @ZijianZhang989
- Web Shell 中的后台任务通知现在支持本地化,并在一致的聊天风格气泡内显示结构化元数据。 ([#8989](https://github.com/QwenLM/qwen-code/pull/8989)) by @ytahdn
- Web Shell 现支持 Qwen 3.8 推理控制,允许用户直接从模型芯片切换思考模式并选择努力程度。 ([#8974](https://github.com/QwenLM/qwen-code/pull/8974)) by @callmeYe
### 错误修复
- fix(web-shell): 强制实施提示符安全的会话导航 ([#8931](https://github.com/QwenLM/qwen-code/pull/8931)) by @doudouOUC
- fix(desktop): 修复 0.1.1 版本的回退问题 ([#8896](https://github.com/QwenLM/qwen-code/pull/8896)) by @yiliang114
- fix(serve): 保持恢复请求结构区分明确 ([#8933](https://github.com/QwenLM/qwen-code/pull/8933)) by @doudouOUC
- fix(web-shell): 改进询问用户问题的键盘交互 ([#8876](https://github.com/QwenLM/qwen-code/pull/8876)) by @carffuca
- 通过确保不同时发送冲突的 reasoning_effort 和 thinking_budget 设置,防止 DashScope Qwen 3.8 请求失败。 ([#8525](https://github.com/QwenLM/qwen-code/pull/8525)) by @DragonnZhang
- 修复测试中的工作区路径包含检查,以正确处理 macOS 系统上的规范化路径。 ([#8759](https://github.com/QwenLM/qwen-code/pull/8759)) by @rbalachandar
- 确保修复代理在所有可重试的 A/B 退出路径上收到重建 dist/ 的警告,以防止信任过时的基线工件。 ([#8958](https://github.com/QwenLM/qwen-code/pull/8958)) by @wenshao
- 修复点号分隔次要版本 Claude 模型别名的解析,并添加对 Opus 5 模型的 token 限制支持。 ([#8585](https://github.com/QwenLM/qwen-code/pull/8585)) by @netbrah
- 正确识别 OpenAI SDK 的 APIUserAbortError 为用户取消操作,以防止在请求被中止时报告虚假的 API 错误。 ([#8399](https://github.com/QwenLM/qwen-code/pull/8399)) by @harjothkhara
- 虚拟子代理会话 ID 现在支持冒号和斜杠等保留字符,以修复某些提供商任务 ID 的详细信息视图解析。 ([#8717](https://github.com/QwenLM/qwen-code/pull/8717)) by @carffuca
- 通过提前验证信封并防止重用失败的通道生成,修复了守护进程 ACP 传输中的资源所有权漏洞。 ([#8947](https://github.com/QwenLM/qwen-code/pull/8947)) by @doudouOUC
- 同会话刷新操作现在具有事务性,以确保如果候选恢复失败或超时,可见的会话状态保持不变。 ([#8939](https://github.com/QwenLM/qwen-code/pull/8939)) by @doudouOUC
- 将对纯内容思考标签泄漏的防御扩展至所有 OpenAI 兼容提供商,以防止未闭合的标签破坏数据流。 ([#8818](https://github.com/QwenLM/qwen-code/pull/8818)) by @yiliang114
- 更新审查正文措辞,以明确披露覆盖范围缺口,并在代理无法认证整个差异时防止矛盾。 ([#8857](https://github.com/QwenLM/qwen-code/pull/8857)) by @yiliang114
- fix(web-shell): 保持工作区选择器建议关闭 ([#8844](https://github.com/QwenLM/qwen-code/pull/8844)) by @ytahdn
- fix(desktop): 为 macOS 应用图标添加安全区域 ([#8987](https://github.com/QwenLM/qwen-code/pull/8987)) by @yiliang114
- fix(webui): 修复同会话刷新竞态条件漏洞 ([#8990](https://github.com/QwenLM/qwen-code/pull/8990)) by @doudouOUC
- fix(web-shell): 强化提示符准入所有权 ([#8955](https://github.com/QwenLM/qwen-code/pull/8955)) by @doudouOUC
- fix(desktop): 来自 #8896 的后续审查修复 ([#8951](https://github.com/QwenLM/qwen-code/pull/8951)) by @yiliang114
- 虚拟历史模式下的文本选择现在包含页脚和状态栏,同时保持其他控件不被选中。 ([#8329](https://github.com/QwenLM/qwen-code/pull/8329)) by @DragonnZhang
- 桌面应用在启动期间现在显示最小化图标,并在加载或恢复操作完成前隐藏内部工作区。 ([#8988](https://github.com/QwenLM/qwen-code/pull/8988)) by @yiliang114
- 无头工具的结果内容现在限制为 65,536 字节,为超大输出显示确定性预览,且不改变语义数据。 ([#9012](https://github.com/QwenLM/qwen-code/pull/9012)) by @doudouOUC
- 桌面发布流水线现在执行更严格的版本检查,验证 Node.js 归档文件,并确保更新期间安全组装运行时。 ([#9009](https://github.com/QwenLM/qwen-code/pull/9009)) by @yiliang114
- 认证和设置等临时斜杠命令不再污染历史记录,而模型选择器操作现在会明确报告其结果。 ([#8365](https://github.com/QwenLM/qwen-code/pull/8365)) by @DragonnZhang
- 从审查上下文清单中移除 web-shell e2e 测试路径,以确保审查者仅看到相关的源代码文件。 ([#9028](https://github.com/QwenLM/qwen-code/pull/9028)) by @wenshao
- 通过在 ECS 运行器上缓存 linter 下载并使用严格的校验和验证来提高 CI 可靠性,从而加速构建。 ([#9001](https://github.com/QwenLM/qwen-code/pull/9001)) by @yiliang114
### 性能
- 反向审计收敛对现在为 3B 分块审查并发启动第 1 轮和第 2 轮,以减少长 CI 运行的等待时间。 ([#8903](https://github.com/QwenLM/qwen-code/pull/8903)) by @wenshao
### 文档
- docs(agents): 从通用工作流中移除强制的 /review 步骤 ([#9000](https://github.com/QwenLM/qwen-code/pull/9000)) by @wenshao
- 文档现在定义了选择性守护进程会话恢复的实现契约,使用定向投影替代完整转录的物化。 ([#8743](https://github.com/QwenLM/qwen-code/pull/8743)) by @doudouOUC
### 内部更改
- chore(serve): 记录会话延续的接纳日志 ([#8932](https://github.com/QwenLM/qwen-code/pull/8932)) by @doudouOUC
- 对于 qwen serve 运行时,项目内存隔离现在默认采用工作区范围,而独立 CLI 的行为保持不变。 ([#8856](https://github.com/QwenLM/qwen-code/pull/8856)) by @qqqys
- 修复了在 ACP 桥接传输失败场景中,因历史页面大小调整产生的逻辑合并冲突而导致的确定性测试失败问题。 ([#8984](https://github.com/QwenLM/qwen-code/pull/8984)) by @wenshao
- 新增回归测试以确保在多提供商模板更新期间模型选择保持稳定,防止意外的提供商覆盖。 ([#8879](https://github.com/QwenLM/qwen-code/pull/8879)) by @ComplexSimply
## 新贡献者
- @rbalachandar 在 [#8759](https://github.com/QwenLM/qwen-code/pull/8759) 中完成了首次贡献
**完整更新日志**: https://github.com/QwenLM/qwen-code/compare/v0.21.10...v0.21.11
<!-- qwen-release-notes:v1 -->
## Highlights
- Added support for Agent Plugins v1 to extend agent capabilities. ([#8834](https://github.com/QwenLM/qwen-code/pull/8834))
- Enabled native multi-agent workflows with read-only teammates via the /coordinate command. ([#8804](https://github.com/QwenLM/qwen-code/pull/8804))
- Improved text selection with word-wise drag on double-click and line-wise extension on triple-click. ([#8739](https://github.com/QwenLM/qwen-code/pull/8739))
- Fixed DashScope Qwen 3.8 request failures by preventing conflicting reasoning settings. ([#8525](https://github.com/QwenLM/qwen-code/pull/8525))
- Enhanced Web Shell interactivity with persistent chevrons, better hover states, and inline agent metrics. ([#8780](https://github.com/QwenLM/qwen-code/pull/8780))
- Added OpenTelemetry session lifecycle events to improve observability of session creation and shutdown. ([#8616](https://github.com/QwenLM/qwen-code/pull/8616))
## Breaking Changes
No known breaking changes.
## Complete Change List
### Features
- feat(serve): bound daemon ACP NDJSON buffers ([#8911](https://github.com/QwenLM/qwen-code/pull/8911)) by @doudouOUC
- feat(extensions): support Agent Plugins v1 ([#8834](https://github.com/QwenLM/qwen-code/pull/8834)) by @callmeYe
- feat(ui): word-wise drag after double-click, line-wise extension after triple-click ([#8739](https://github.com/QwenLM/qwen-code/pull/8739)) by @qwen-code-dev-bot
- Adds standard OpenTelemetry session.start and session.end lifecycle events to improve observability of session creation and shutdown. ([#8616](https://github.com/QwenLM/qwen-code/pull/8616)) by @zjunothing
- Web Shell subagent rows are now more interactive with persistent chevrons, better hover states, and inline display of agent types and metrics. ([#8780](https://github.com/QwenLM/qwen-code/pull/8780)) by @carffuca
- Session list reads now properly propagate request cancellation to prevent disconnected clients from leaving expensive background scans running. ([#8954](https://github.com/QwenLM/qwen-code/pull/8954)) by @doudouOUC
- feat(desktop): add Aliyun OSS release mirror ([#8976](https://github.com/QwenLM/qwen-code/pull/8976)) by @yiliang114
- feat(web-shell): improve compact tool activity ([#8973](https://github.com/QwenLM/qwen-code/pull/8973)) by @ytahdn
- ACP sessions now use the unified Goal v3 runtime to support create, edit, pause, resume, and clear actions with improved turn scheduling. ([#8732](https://github.com/QwenLM/qwen-code/pull/8732)) by @qqqys
- The Web Shell sidebar now includes a Channels view to track integration sessions from DingTalk, Feishu, and WeCom alongside standard tasks. ([#8457](https://github.com/QwenLM/qwen-code/pull/8457)) by @BZ-D
- The /coordinate command now supports native multi-agent workflows with read-only teammates and automated result forwarding to the leader agent. ([#8804](https://github.com/QwenLM/qwen-code/pull/8804)) by @yiliang114
- The review skill's reverse audit now detects defects in modeled system layers like sandboxes by comparing runtime state semantics against the model. ([#8956](https://github.com/QwenLM/qwen-code/pull/8956)) by @wenshao
- Terminal window titles now display status symbols like ◐ and ✳ to indicate task state in multiplexers where color cues are unavailable. ([#8970](https://github.com/QwenLM/qwen-code/pull/8970)) by @qwen-code-dev-bot
- The /doctor memory command now reports tool result retention stats, including character counts and warnings for results exceeding 30k characters. ([#8875](https://github.com/QwenLM/qwen-code/pull/8875)) by @ZijianZhang989
- Background task notifications in the web shell are now localizable and display structured metadata within consistent chat-style bubbles. ([#8989](https://github.com/QwenLM/qwen-code/pull/8989)) by @ytahdn
- Web Shell now supports Qwen 3.8 reasoning controls, allowing users to toggle Thinking mode and select effort levels directly from the model chip. ([#8974](https://github.com/QwenLM/qwen-code/pull/8974)) by @callmeYe
### Bug Fixes
- fix(web-shell): Enforce prompt-safe session navigation ([#8931](https://github.com/QwenLM/qwen-code/pull/8931)) by @doudouOUC
- fix(desktop): consolidate 0.1.1 regressions ([#8896](https://github.com/QwenLM/qwen-code/pull/8896)) by @yiliang114
- fix(serve): Keep restore request shapes distinct ([#8933](https://github.com/QwenLM/qwen-code/pull/8933)) by @doudouOUC
- fix(web-shell): improve ask user question keyboard interactions ([#8876](https://github.com/QwenLM/qwen-code/pull/8876)) by @carffuca
- Prevents DashScope Qwen 3.8 requests from failing by ensuring conflicting reasoning_effort and thinking_budget settings are not sent together. ([#8525](https://github.com/QwenLM/qwen-code/pull/8525)) by @DragonnZhang
- Fixes workspace path containment checks in tests to correctly handle canonicalized paths on macOS systems. ([#8759](https://github.com/QwenLM/qwen-code/pull/8759)) by @rbalachandar
- Ensures the repair agent is warned to rebuild dist/ on all retryable A/B exit paths to prevent trusting stale baseline artifacts. ([#8958](https://github.com/QwenLM/qwen-code/pull/8958)) by @wenshao
- Fixes parsing of dotted-minor Claude model aliases and adds token limit support for Opus 5 models. ([#8585](https://github.com/QwenLM/qwen-code/pull/8585)) by @netbrah
- Correctly identifies OpenAI SDK APIUserAbortError as a user cancellation to prevent false API error reporting when requests are aborted. ([#8399](https://github.com/QwenLM/qwen-code/pull/8399)) by @harjothkhara
- Virtual subagent session IDs now support reserved characters like colons and slashes to fix detail view resolution for certain provider task IDs. ([#8717](https://github.com/QwenLM/qwen-code/pull/8717)) by @carffuca
- Closed resource ownership gaps in the daemon ACP transport by validating envelopes earlier and preventing reuse of failed channel generations. ([#8947](https://github.com/QwenLM/qwen-code/pull/8947)) by @doudouOUC
- Same-session refresh operations are now transactional to ensure visible session state remains unchanged if a candidate restore fails or times out. ([#8939](https://github.com/QwenLM/qwen-code/pull/8939)) by @doudouOUC
- Extended defense against content-only thinking-tag leaks to all OpenAI-compatible providers to prevent unclosed tags from breaking streams. ([#8818](https://github.com/QwenLM/qwen-code/pull/8818)) by @yiliang114
- Updated review body wording to clearly disclose coverage gaps and prevent contradictions when agents cannot certify the entire diff. ([#8857](https://github.com/QwenLM/qwen-code/pull/8857)) by @yiliang114
- fix(web-shell): keep workspace picker suggestions closed ([#8844](https://github.com/QwenLM/qwen-code/pull/8844)) by @ytahdn
- fix(desktop): add safe area to macOS app icon ([#8987](https://github.com/QwenLM/qwen-code/pull/8987)) by @yiliang114
- fix(webui): Close same-session refresh race gaps ([#8990](https://github.com/QwenLM/qwen-code/pull/8990)) by @doudouOUC
- fix(web-shell): Harden prompt admission ownership ([#8955](https://github.com/QwenLM/qwen-code/pull/8955)) by @doudouOUC
- fix(desktop): follow-up review fixes from #8896 ([#8951](https://github.com/QwenLM/qwen-code/pull/8951)) by @yiliang114
- Text selection in Virtualized History mode now includes the footer and statusline while keeping other controls excluded from the selection region. ([#8329](https://github.com/QwenLM/qwen-code/pull/8329)) by @DragonnZhang
- The desktop app now displays a minimal icon during startup and hides the internal workspace until loading or recovery actions are complete. ([#8988](https://github.com/QwenLM/qwen-code/pull/8988)) by @yiliang114
- Headless tool result content is now bounded to 65,536 bytes, displaying deterministic previews for oversized outputs without altering semantic data. ([#9012](https://github.com/QwenLM/qwen-code/pull/9012)) by @doudouOUC
- The desktop release pipeline now enforces stricter version checks, verifies Node.js archives, and ensures safe runtime assembly during updates. ([#9009](https://github.com/QwenLM/qwen-code/pull/9009)) by @yiliang114
- Transient slash commands like authentication and settings no longer clutter history, while model picker actions now explicitly report their outcomes. ([#8365](https://github.com/QwenLM/qwen-code/pull/8365)) by @DragonnZhang
- Removed web-shell e2e test paths from the review context manifest to ensure reviewers only see relevant source code files. ([#9028](https://github.com/QwenLM/qwen-code/pull/9028)) by @wenshao
- Improved CI reliability by caching linter downloads on ECS runners with strict checksum verification to speed up builds. ([#9001](https://github.com/QwenLM/qwen-code/pull/9001)) by @yiliang114
### Performance
- Reverse-audit convergence pairs now launch rounds 1 and 2 concurrently for 3B chunked reviews to reduce wait times on long CI runs. ([#8903](https://github.com/QwenLM/qwen-code/pull/8903)) by @wenshao
### Documentation
- docs(agents): drop mandatory /review step from the general workflow ([#9000](https://github.com/QwenLM/qwen-code/pull/9000)) by @wenshao
- Documentation now defines the implementation contract for selective daemon session restore, replacing full transcript materialization with targeted projections. ([#8743](https://github.com/QwenLM/qwen-code/pull/8743)) by @doudouOUC
### Internal Changes
- chore(serve): Log session continuation admissions ([#8932](https://github.com/QwenLM/qwen-code/pull/8932)) by @doudouOUC
- Project memory isolation now defaults to workspace scope for qwen serve runtimes, while standalone CLI behavior remains unchanged. ([#8856](https://github.com/QwenLM/qwen-code/pull/8856)) by @qqqys
- Fixed a deterministic test failure in the ACP bridge transport failure scenario caused by a logical merge conflict in history page sizing. ([#8984](https://github.com/QwenLM/qwen-code/pull/8984)) by @wenshao
- A new regression test ensures model selection remains stable during multi-provider template updates to prevent unintended provider overwrites. ([#8879](https://github.com/QwenLM/qwen-code/pull/8879)) by @ComplexSimply
## New Contributors
- @rbalachandar made their first contribution in [#8759](https://github.com/QwenLM/qwen-code/pull/8759)
**Full Changelog**: https://github.com/QwenLM/qwen-code/compare/v0.21.10...v0.21.11