<!-- qwen-release-notes:v1 -->
## 亮点
_请参阅下方完整变更列表。_
## 破坏性变更
无已知破坏性变更。
## 完整变更列表
### 新功能
- feat(core): 在系统提示引导中添加监控工具 ([#12408](https://github.com/QwenLM/qwen-code/pull/12408)) by @yiliang114
- feat(daemon): 添加批量工作区会话目录 ([#12254](https://github.com/QwenLM/qwen-code/pull/12254)) by @samuelhsin
- feat(review): 记录计划的推导依据,并报告偏差 ([#12369](https://github.com/QwenLM/qwen-code/pull/12369)) by @wenshao
- feat(java): 添加受管工具执行状态 ([#12391](https://github.com/QwenLM/qwen-code/pull/12391)) by @doudouOUC
- feat(serve): 支持无需远程守护进程的 SSH 工作区 ([#12255](https://github.com/QwenLM/qwen-code/pull/12255)) by @wenshao
- feat(web-shell): 在非回环监听器上启用可过期的二维码配对 ([#12322](https://github.com/QwenLM/qwen-code/pull/12322)) by @wenshao
- feat(mobile): 添加加密、隔离的连接配置文件(第二阶段) ([#12121](https://github.com/QwenLM/qwen-code/pull/12121)) by @jabrailkhalil
- feat(java): 添加运行时代理服务核心 ([#12438](https://github.com/QwenLM/qwen-code/pull/12438)) by @doudouOUC
- feat(cli): 添加受管运行时证明契约 ([#12447](https://github.com/QwenLM/qwen-code/pull/12447)) by @doudouOUC
- feat(serve): 添加可选的固定 ACP 子进程堆内存限制 ([#12353](https://github.com/QwenLM/qwen-code/pull/12353)) by @doudouOUC
- feat(cli): 将 bwrap 沙箱移至工具执行阶段 ([#12267](https://github.com/QwenLM/qwen-code/pull/12267)) by @doudouOUC
- feat(serve): 添加 --token-qr 应急开关和仅地址二维码回退 ([#12266](https://github.com/QwenLM/qwen-code/pull/12266)) by @wenshao
- feat(java): 使用 JDBC 持久化受管工具执行 ([#12445](https://github.com/QwenLM/qwen-code/pull/12445)) by @doudouOUC
### 缺陷修复
- fix(review): 将未计划的分块排除在覆盖率之外,并从计划中读取分母 ([#12370](https://github.com/QwenLM/qwen-code/pull/12370)) by @wenshao
- fix(core): 读取笔记本时接受可为空的分页 ([#12421](https://github.com/QwenLM/qwen-code/pull/12421)) by @DragonnZhang
- fix(cli): 清理过期的会话调试日志 ([#12374](https://github.com/QwenLM/qwen-code/pull/12374)) by @doudouOUC
- fix(web-shell): 将 npm pack 诊断信息与验证器输出隔离 ([#12367](https://github.com/QwenLM/qwen-code/pull/12367)) by @dvd233
- fix(live): 当共享屏幕无法容纳时,消耗 JPEG 质量而非像素 ([#12397](https://github.com/QwenLM/qwen-code/pull/12397)) by @qqqys
- fix(web-shell): 暴露 markdown 消息完成状态 ([#12431](https://github.com/QwenLM/qwen-code/pull/12431)) by @callmeYe
- fix(web-shell): 根据打包文件列表验证通配符导出目标 ([#12364](https://github.com/QwenLM/qwen-code/pull/12364)) by @yiliang114
- fix(web-shell): 刷新失败后恢复排队的提示绑定 ([#12279](https://github.com/QwenLM/qwen-code/pull/12279)) by @elizabethbrunette21
- fix(desktop): 在 Tauri shell 中恢复窗口缩放 ([#12410](https://github.com/QwenLM/qwen-code/pull/12410)) by @yiliang114
- fix(web-shell): 在重新加载时保留引用标签 ([#12404](https://github.com/QwenLM/qwen-code/pull/12404)) by @ytahdn
- fix(web-shell): 无需刷新页面即可浏览远程工作区文件夹 ([#12412](https://github.com/QwenLM/qwen-code/pull/12412)) by @yiliang114
- fix(cli): 关闭与 ink 相比剩余的 OpenTUI 一致性差距 ([#12309](https://github.com/QwenLM/qwen-code/pull/12309)) by @chiga0
- fix(core): 当 tools.eager 条目未匹配到任何已发现工具时发出警告 ([#12451](https://github.com/QwenLM/qwen-code/pull/12451)) by @yiliang114
- fix(web-shell): 在服务单个项目的守护进程上打开 Live 会话 ([#12441](https://github.com/QwenLM/qwen-code/pull/12441)) by @qqqys
- fix(web-shell): 在批准前显示编辑差异 ([#12443](https://github.com/QwenLM/qwen-code/pull/12443)) by @yiliang114
### 文档
- docs: 更新 README 主图 ([#12474](https://github.com/QwenLM/qwen-code/pull/12474)) by @yiliang114
### 内部变更
- refactor(build,release): 使用 pnpm 工作区构建和发布 ([#12400](https://github.com/QwenLM/qwen-code/pull/12400)) by @yiliang114
- test(scripts): 在 worker 分叉前预热固定的 corepack pnpm 缓存 (#12436) ([#12446](https://github.com/QwenLM/qwen-code/pull/12446)) by @qwen-code-dev-bot
- chore(cli): 将 OpenTUI 渲染器升级至 0.5.10 ([#12321](https://github.com/QwenLM/qwen-code/pull/12321)) by @chiga0
- chore(sdk-java): 将 fastjson2 升级至 2.0.65 ([#12465](https://github.com/QwenLM/qwen-code/pull/12465)) by @wenshao
## 新贡献者
- @elizabethbrunette21 在 [#12279](https://github.com/QwenLM/qwen-code/pull/12279) 中做出了首次贡献
**完整变更日志**: https://github.com/QwenLM/qwen-code/compare/v0.24.3...v0.24.4
<!-- qwen-release-notes:v1 -->
## Highlights
_See the complete change list below._
## Breaking Changes
No known breaking changes.
## Complete Change List
### Features
- feat(core): add monitor tool to system prompt guidance ([#12408](https://github.com/QwenLM/qwen-code/pull/12408)) by @yiliang114
- feat(daemon): Add batched workspace session catalogs ([#12254](https://github.com/QwenLM/qwen-code/pull/12254)) by @samuelhsin
- feat(review): record what a plan was computed from, and report drift ([#12369](https://github.com/QwenLM/qwen-code/pull/12369)) by @wenshao
- feat(java): Add managed tool execution state ([#12391](https://github.com/QwenLM/qwen-code/pull/12391)) by @doudouOUC
- feat(serve): support SSH workspaces without a remote daemon ([#12255](https://github.com/QwenLM/qwen-code/pull/12255)) by @wenshao
- feat(web-shell): enable expiring QR pairing on non-loopback listeners ([#12322](https://github.com/QwenLM/qwen-code/pull/12322)) by @wenshao
- feat(mobile): add encrypted, isolated connection profiles (Phase 2) ([#12121](https://github.com/QwenLM/qwen-code/pull/12121)) by @jabrailkhalil
- feat(java): Add runtime broker service core ([#12438](https://github.com/QwenLM/qwen-code/pull/12438)) by @doudouOUC
- feat(cli): Add managed runtime attestation contract ([#12447](https://github.com/QwenLM/qwen-code/pull/12447)) by @doudouOUC
- feat(serve): Add opt-in fixed ACP child heap enforcement ([#12353](https://github.com/QwenLM/qwen-code/pull/12353)) by @doudouOUC
- feat(cli): Move bwrap sandboxing to tool execution ([#12267](https://github.com/QwenLM/qwen-code/pull/12267)) by @doudouOUC
- feat(serve): add --token-qr escape hatch and address-only QR fallback ([#12266](https://github.com/QwenLM/qwen-code/pull/12266)) by @wenshao
- feat(java): Persist managed tool executions with JDBC ([#12445](https://github.com/QwenLM/qwen-code/pull/12445)) by @doudouOUC
### Bug Fixes
- fix(review): keep unplanned chunks out of coverage, and read the denominator from the plan ([#12370](https://github.com/QwenLM/qwen-code/pull/12370)) by @wenshao
- fix(core): accept nullable pagination when reading notebooks ([#12421](https://github.com/QwenLM/qwen-code/pull/12421)) by @DragonnZhang
- fix(cli): clean up stale session debug logs ([#12374](https://github.com/QwenLM/qwen-code/pull/12374)) by @doudouOUC
- fix(web-shell): isolate npm pack diagnostics from verifier output ([#12367](https://github.com/QwenLM/qwen-code/pull/12367)) by @dvd233
- fix(live): spend JPEG quality, not pixels, when a shared screen will not fit ([#12397](https://github.com/QwenLM/qwen-code/pull/12397)) by @qqqys
- fix(web-shell): expose markdown message completion state ([#12431](https://github.com/QwenLM/qwen-code/pull/12431)) by @callmeYe
- fix(web-shell): verify wildcard export targets against the packed file list ([#12364](https://github.com/QwenLM/qwen-code/pull/12364)) by @yiliang114
- fix(web-shell): recover queued prompt binding after refresh failure ([#12279](https://github.com/QwenLM/qwen-code/pull/12279)) by @elizabethbrunette21
- fix(desktop): restore window zoom in the Tauri shell ([#12410](https://github.com/QwenLM/qwen-code/pull/12410)) by @yiliang114
- fix(web-shell): preserve reference tags across reloads ([#12404](https://github.com/QwenLM/qwen-code/pull/12404)) by @ytahdn
- fix(web-shell): browse remote workspace folders without page refresh ([#12412](https://github.com/QwenLM/qwen-code/pull/12412)) by @yiliang114
- fix(cli): close the remaining OpenTUI parity gaps against ink ([#12309](https://github.com/QwenLM/qwen-code/pull/12309)) by @chiga0
- fix(core): warn when tools.eager entries match no discovered tool ([#12451](https://github.com/QwenLM/qwen-code/pull/12451)) by @yiliang114
- fix(web-shell): open a Live session on a daemon serving one project ([#12441](https://github.com/QwenLM/qwen-code/pull/12441)) by @qqqys
- fix(web-shell): show edit diffs before approval ([#12443](https://github.com/QwenLM/qwen-code/pull/12443)) by @yiliang114
### Documentation
- docs: update README hero image ([#12474](https://github.com/QwenLM/qwen-code/pull/12474)) by @yiliang114
### Internal Changes
- refactor(build,release): Use pnpm workspace builds and publishing ([#12400](https://github.com/QwenLM/qwen-code/pull/12400)) by @yiliang114
- test(scripts): warm the pinned corepack pnpm cache before workers fork (#12436) ([#12446](https://github.com/QwenLM/qwen-code/pull/12446)) by @qwen-code-dev-bot
- chore(cli): bump the OpenTUI renderer to 0.5.10 ([#12321](https://github.com/QwenLM/qwen-code/pull/12321)) by @chiga0
- chore(sdk-java): bump fastjson2 to 2.0.65 ([#12465](https://github.com/QwenLM/qwen-code/pull/12465)) by @wenshao
## New Contributors
- @elizabethbrunette21 made their first contribution in [#12279](https://github.com/QwenLM/qwen-code/pull/12279)
**Full Changelog**: https://github.com/QwenLM/qwen-code/compare/v0.24.3...v0.24.4