<!-- 使用 release/v0.16.0 分支中 .github/release.yml 的配置生成的发布说明 -->
## 更新内容
* feat(cli): 将 Markdown 链接包裹在 OSC 8 中,使换行后的 URL 保持可点击状态 by @BZ-D in https://github.com/QwenLM/qwen-code/pull/4037
* fix(core): 将累积的 OpenAI 流增量标准化为后缀 by @chiga0 in https://github.com/QwenLM/qwen-code/pull/3896
* fix(cli): 取消时自动恢复提示词并保留队列 by @wenshao in https://github.com/QwenLM/qwen-code/pull/4023
* docs(auth): 添加自定义 API 密钥向导的产品需求文档 (PRD) by @pomelo-nwu in https://github.com/QwenLM/qwen-code/pull/3583
* feat(cli): 在 /delete 命令中支持会话批量删除 by @qqqys in https://github.com/QwenLM/qwen-code/pull/3733
* fix(core): 为子代理的 OpenAI JSON 日志添加标签 by @tanzhenxin in https://github.com/QwenLM/qwen-code/pull/4099
* feat(subagents): 为 Explore 子代理使用 fastModel by @tanzhenxin in https://github.com/QwenLM/qwen-code/pull/4086
* fix(dashscope): 使用 URL 主机名检查替代正则表达式以避免 ReDoS (CodeQL) by @qqqys in https://github.com/QwenLM/qwen-code/pull/4112
* fix(core): 改进运行时 fetch 选项的错误处理与文档说明 by @ZevGit in https://github.com/QwenLM/qwen-code/pull/3997
* fix(telemetry): 处理 PR #3847 审查后续意见以完善链路追踪关联 by @doudouOUC in https://github.com/QwenLM/qwen-code/pull/4058
* feat(perf): 渐进式 MCP 可用性 —— MCP 不再阻塞首次输入 by @chiga0 in https://github.com/QwenLM/qwen-code/pull/3994
* fix(search): 使空查询退出变为同步操作,并统一 Windows 退格键行为 by @B-A-M-N in https://github.com/QwenLM/qwen-code/pull/3981
* chore(release): v0.15.11 by @qwen-code-ci-bot in https://github.com/QwenLM/qwen-code/pull/4100
* fix(anthropic): 允许在 tool_result 块上使用 cache_control by @tanzhenxin in https://github.com/QwenLM/qwen-code/pull/4121
* feat(core): 在对话压缩摘要前移除内联媒体内容 by @LaZzyMan in https://github.com/QwenLM/qwen-code/pull/4101
* ci(deps): 将 docker/* 操作升级至 Node 24 主版本(消除 GitHub Node 20 弃用警告) by @chiga0 in https://github.com/QwenLM/qwen-code/pull/4131
* fix(core): 将 IDE 上下文合并至用户提示词 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/3980
* fix(cli): 无需重启即可将 /language 输出应用于运行中的会话 by @chiga0 in https://github.com/QwenLM/qwen-code/pull/4143
* feat(tools): 添加通用 worktree 支持 —— EnterWorktree/ExitWorktree + 代理隔离 by @LaZzyMan in https://github.com/QwenLM/qwen-code/pull/4073
* feat(cli): 将 ModelScope 添加为内置第三方 API 提供商 by @Col0ring in https://github.com/QwenLM/qwen-code/pull/4150
* fix(core): 修正提示词大小与 Anthropic 缓存的上下文使用页脚 by @tanzhenxin in https://github.com/QwenLM/qwen-code/pull/4109
* fix(core): 支持跨认证快速侧边查询 by @tanzhenxin in https://github.com/QwenLM/qwen-code/pull/4117
* test(integration): 在 #4163 修复前,将 simple-mcp-server 锁定至旧版 MCP 路径 by @tanzhenxin in https://github.com/QwenLM/qwen-code/pull/4164
* fix(vscode): 保留思考状态并恢复缺失的编辑快照 by @DragonnZhang in https://github.com/QwenLM/qwen-code/pull/4147
* fix(cli): 将 MinTTY 的 Ctrl+Backspace 处理为删除前一个单词 by @dreamWB in https://github.com/QwenLM/qwen-code/pull/4059
* fix(cli): 在沙箱重启时保留调试会话 by @kkhomej33-netizen in https://github.com/QwenLM/qwen-code/pull/4060
* feat(core): 为 Qwen3.6-35B-A3B 量化变体添加图像+视频支持 by @Dinsmoor in https://github.com/QwenLM/qwen-code/pull/4106
* fix(hooks): 将 SessionStart 的 additionalContext 注入到聊天上下文中 by @DennisYu07 in https://github.com/QwenLM/qwen-code/pull/4115
* fix(i18n): 修正 zh-TW 翻译以符合繁体中文习惯 by @MikeWang0316tw in https://github.com/QwenLM/qwen-code/pull/4129
* feat(hooks): 为待办事项生命周期事件添加 TodoCreated 和 TodoCompleted 钩子 by @DennisYu07 in https://github.com/QwenLM/qwen-code/pull/3378
* refactor(cli): 回退斜杠命令的 LLM 动态翻译 by @tanzhenxin in https://github.com/QwenLM/qwen-code/pull/4145
* chore(deps): 重新升级 ink 6 → 7.0.3(上游 Static 重新挂载修复已合入) by @chiga0 in https://github.com/QwenLM/qwen-code/pull/4119
* feat(hooks): 添加支持 LLM 评估的 prompt 钩子类型 by @DennisYu07 in https://github.com/QwenLM/qwen-code/pull/3388
* perf(cli): 对 lowlight 进行代码分割以降低启动时 V8 解析开销 by @chiga0 in https://github.com/QwenLM/qwen-code/pull/4070
* fix(core): 在 setTools() 中刷新 systemInstruction,使渐进式 MCP 工具能送达模型 by @chiga0 in https://github.com/QwenLM/qwen-code/pull/4166
* feat(core,cli): 添加通用 atomicWriteFile,接入 Write/Edit 工具,升级 @types/node by @doudouOUC in https://github.com/QwenLM/qwen-code/pull/4096
* fix(vscode-ide-companion): 使用现有编辑器组进行差异对比,而非强制创建新组 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/4130
* feat(cli): 警告用户在 IDE 模式下回退功能已禁用 by @doudouOUC in https://github.com/QwenLM/qwen-code/pull/4122
* feat(cli): 为 /rename 添加参数提示与 --auto 自动补全 by @qqqys in https://github.com/QwenLM/qwen-code/pull/4048
* feat(cli): 添加基础的 /doctor 内存诊断功能 by @qqqys in https://github.com/QwenLM/qwen-code/pull/4180
* feat(cli): 添加会话级 /goal 命令,支持基于判断的回合继续 by @qqqys in https://github.com/QwenLM/qwen-code/pull/4123
* feat(rewind): 为 /rewind 命令添加文件恢复支持 by @doudouOUC in https://github.com/QwenLM/qwen-code/pull/4064
* feat(skills): 为卡死会话添加 /stuck 诊断技能 by @doudouOUC in https://github.com/QwenLM/qwen-code/pull/4133
* feat(telemetry): 统一链路追踪树的分层 span 创建路径 by @doudouOUC in https://github.com/QwenLM/qwen-code/pull/4126
* 重构(core):TaskBase 包装器 + 前台子代理持久化 by @tanzhenxin in https://github.com/QwenLM/qwen-code/pull/3970
* 功能(cli):readline 支持 Ctrl+P/N 进行历史记录与选择导航 by @dreamWB in https://github.com/QwenLM/qwen-code/pull/4082
* 功能(cli):添加内置状态行预设及交互式对话框 by @DragonnZhang in https://github.com/QwenLM/qwen-code/pull/4120
* 修复(core):添加堆内存压力自动压缩安全网 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/4186
* 修复(cli):传递 rewind 选择器测试属性 by @wenshao in https://github.com/QwenLM/qwen-code/pull/4211
* 功能(cli):添加 fork-session 恢复标志 by @qqqys in https://github.com/QwenLM/qwen-code/pull/4159
* 功能(telemetry):添加交互 span 及详细敏感属性 by @doudouOUC in https://github.com/QwenLM/qwen-code/pull/4097
* 修复(lsp):暴露状态与启动诊断信息 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/3649
* 修复(rewind):恢复上游 TOCTOU 排序 + 修复卡住的失败标记 by @doudouOUC in https://github.com/QwenLM/qwen-code/pull/4216
* 添加停止钩子阻塞上限 by @qqqys in https://github.com/QwenLM/qwen-code/pull/4208
* 修复(test):清除 boundedPromise 定时器以防止 abort-and-lifecycle 测试中的未处理拒绝 by @wenshao in https://github.com/QwenLM/qwen-code/pull/4220
* 修复(ui):修剪后台任务结果并按最新优先显示 (#4094) by @wenshao in https://github.com/QwenLM/qwen-code/pull/4125
* [codex] 允许 /export 自定义输出目录 by @qqqys in https://github.com/QwenLM/qwen-code/pull/4193
* 修复(core):使 shell 工具描述与配置的 shell 保持一致 by @kkhomej33-netizen in https://github.com/QwenLM/qwen-code/pull/4170
* 修复(cli):在斜杠命令中包含技能基础目录 by @kkhomej33-netizen in https://github.com/QwenLM/qwen-code/pull/4224
* 测试(perf):在沙箱环境下跳过守护进程基准测试套件 by @tanzhenxin in https://github.com/QwenLM/qwen-code/pull/4234
* 功能(core):PR-2.5 — 提升后流重定向 + 自然退出注册表结算 (#3831 后续) by @wenshao in https://github.com/QwenLM/qwen-code/pull/4102
* 修复(cli):恢复时还原 ACP 提示计数器 by @kkhomej33-netizen in https://github.com/QwenLM/qwen-code/pull/4233
* 修复(core):通过附加主机名规则扩展 DashScope 提供商检测 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/4157
* 修复(core):在分发时应用工具名称迁移 by @Jerry2003826 in https://github.com/QwenLM/qwen-code/pull/4213
* 功能(cli):为计划模式添加可配置的 plansDirectory by @shenyankm in https://github.com/QwenLM/qwen-code/pull/4062
* 功能(cli):添加结构化内存诊断 JSON by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/3785
* 修复(cli):记录回合中间排队的用户提示 by @Jerry2003826 in https://github.com/QwenLM/qwen-code/pull/4215
* 修复:添加缓存限制以防止构建/测试期间 OOM by @xmillogx-cmd in https://github.com/QwenLM/qwen-code/pull/4188
* 文档:--json-schema 结构化输出的用户与设计文档 by @wenshao in https://github.com/QwenLM/qwen-code/pull/4051
* 功能(core):标记不可能实现的目标为失败 by @qqqys in https://github.com/QwenLM/qwen-code/pull/4230
* 修复(core):在空闲微压缩期间保留先读后写状态 by @tanzhenxin in https://github.com/QwenLM/qwen-code/pull/4243
* 测试:减少依赖等待的 UI 测试延迟 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/3987
* 功能(serve):为 qwen serve 守护进程添加 /demo 调试页面 by @jifeng in https://github.com/QwenLM/qwen-code/pull/4132
* 维护(vscode):从源代码运行开发版 ACP CLI by @DragonnZhang in https://github.com/QwenLM/qwen-code/pull/4283
* 修复(telemetry):1.5 阶段优化 — 回退顺序、中止作为结果、日志/span 一致性 by @doudouOUC in https://github.com/QwenLM/qwen-code/pull/4302
* 支持活跃目标流事件与非交互式目标 by @qqqys in https://github.com/QwenLM/qwen-code/pull/4273
* 修复(cli):/status 保留先前的错误历史记录项 (#4169) by @LaZzyMan in https://github.com/QwenLM/qwen-code/pull/4265
* 修复(core):将自动记忆召回与主代理请求路径解耦 by @LaZzyMan in https://github.com/QwenLM/qwen-code/pull/4172
* 功能(worktree):C 阶段 — 会话持久化、hooksPath、Footer + WorktreeExitDialog、三模式 --resume 恢复 by @LaZzyMan in https://github.com/QwenLM/qwen-code/pull/4174
* 修复(core):对仅含环境变量的模型配置应用 defaultModalities() (#4219) by @LaZzyMan in https://github.com/QwenLM/qwen-code/pull/4262
* 修复(cli):当输入存在 Tab 消费者时,阻止 Windows Tab 审批模式切换 by @LaZzyMan in https://github.com/QwenLM/qwen-code/pull/4308
* 修复(core):在出站历史记录中镜像 Qwen3 推理过程 by @Alexxigang in https://github.com/QwenLM/qwen-code/pull/4294
* 功能(core):将跨认证快速模型扩展至代理 by @tanzhenxin in https://github.com/QwenLM/qwen-code/pull/4153
* 功能(cli,core):添加基于 LLM 分类器的自动审批模式 by @LaZzyMan in https://github.com/QwenLM/qwen-code/pull/4151
* 修复(test):在多模型端到端测试中统计结果消息而非助手消息 by @wenshao in https://github.com/QwenLM/qwen-code/pull/4341
* 功能(cli):每回合 /diff 配合交互式对话框 by @BZ-D in https://github.com/QwenLM/qwen-code/pull/4277
* 功能(cli):添加会话路径状态命令 by @kkhomej33-netizen in https://github.com/QwenLM/qwen-code/pull/4124
* 修复(test):提高 Windows 安装程序端到端测试的超时时间 by @wenshao in https://github.com/QwenLM/qwen-code/pull/4352
* 锁定 fetch 为内置 undici 以兼容更高版本的 undici by @ideal in https://github.com/QwenLM/qwen-code/pull/4238
* 修复(review):强化 SKILL.md 以防止弱模型跳过规则 by @wenshao in https://github.com/QwenLM/qwen-code/pull/4340
* 维护:添加 .github/release.yml 以支持 skip-changelog 标签 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/4327
* feat(core): 将 git 状态注入系统提示词,并优化 Explore/git-log 引导说明 by @DennisYu07 in https://github.com/QwenLM/qwen-code/pull/4110
* refactor(auth): 统一核心模块的提供商配置,将 /auth 简化为“连接提供商” by @pomelo-nwu in https://github.com/QwenLM/qwen-code/pull/4287
* feat(core): 为 Jupyter 笔记本添加 NotebookEdit 工具 by @zhangxy-zju in https://github.com/QwenLM/qwen-code/pull/3900
* fix(cli): 从反馈对话框中移除 QWEN_OAUTH 限制 by @pomelo-nwu in https://github.com/QwenLM/qwen-code/pull/4316
* fix(core): 使用浅拷贝替代 structuredClone 以防止长会话中的内存溢出 (OOM) by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/4286
* fix(core): 对齐会话钩子匹配器目标 by @qqqys in https://github.com/QwenLM/qwen-code/pull/4354
* 在流式 JSON 中暴露当前目标 by @qqqys in https://github.com/QwenLM/qwen-code/pull/4314
* feat(cli): 在 Ctrl+X 外部编辑器中尊重 /editor 偏好设置 by @dreamWB in https://github.com/QwenLM/qwen-code/pull/4310
* feat(telemetry): 第二阶段 — tool.blocked_on_user + 钩子跨度 (#3731) by @doudouOUC in https://github.com/QwenLM/qwen-code/pull/4321
* feat(installer): 添加独立托管的安装与卸载流程 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/3828
* fix(core): 处理 MiMo 工具结果媒体文件 by @DragonnZhang in https://github.com/QwenLM/qwen-code/pull/4281
* feat(telemetry): 支持自定义资源属性并添加指标基数控制 by @doudouOUC in https://github.com/QwenLM/qwen-code/pull/4367
* fix(core): 去重 geminiChat 恢复续写文本 by @chiga0 in https://github.com/QwenLM/qwen-code/pull/3966
* feat(skills): 在 SKILL.md 中支持 priority 字段以排序技能显示顺序 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/4155
* fix(ci): 解决自 5 月 19 日以来 TS5055 发布构建失败的问题 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/4383
* revert(core): 撤销 x-api-key + Authorization 双重发送 (#4342) — 导致 IdeaLab 风格代理出现回退 by @LaZzyMan in https://github.com/QwenLM/qwen-code/pull/4385
## 新增贡献者
* @ZevGit 在 https://github.com/QwenLM/qwen-code/pull/3997 完成了首次贡献
* @Col0ring 在 https://github.com/QwenLM/qwen-code/pull/4150 完成了首次贡献
* @Dinsmoor 在 https://github.com/QwenLM/qwen-code/pull/4106 完成了首次贡献
* @xmillogx-cmd 在 https://github.com/QwenLM/qwen-code/pull/4188 完成了首次贡献
* @jifeng 在 https://github.com/QwenLM/qwen-code/pull/4132 完成了首次贡献
* @Alexxigang 在 https://github.com/QwenLM/qwen-code/pull/4294 完成了首次贡献
* @ideal 在 https://github.com/QwenLM/qwen-code/pull/4238 完成了首次贡献
**完整更新日志**: https://github.com/QwenLM/qwen-code/compare/v0.15.11...v0.16.0
<!-- Release notes generated using configuration in .github/release.yml at release/v0.16.0 -->
## What's Changed
* feat(cli): wrap markdown links in OSC 8 so wrapped URLs stay clickable by @BZ-D in https://github.com/QwenLM/qwen-code/pull/4037
* fix(core): normalize cumulative OpenAI stream deltas to suffixes by @chiga0 in https://github.com/QwenLM/qwen-code/pull/3896
* fix(cli): auto-restore prompt and preserve queue on cancel by @wenshao in https://github.com/QwenLM/qwen-code/pull/4023
* docs(auth): add custom API key wizard PRD by @pomelo-nwu in https://github.com/QwenLM/qwen-code/pull/3583
* feat(cli): support batch deletion of sessions in /delete by @qqqys in https://github.com/QwenLM/qwen-code/pull/3733
* fix(core): tag subagent OpenAI JSON logs by @tanzhenxin in https://github.com/QwenLM/qwen-code/pull/4099
* feat(subagents): use fastModel for Explore subagent by @tanzhenxin in https://github.com/QwenLM/qwen-code/pull/4086
* fix(dashscope): use URL hostname check instead of regex to avoid ReDoS (CodeQL) by @qqqys in https://github.com/QwenLM/qwen-code/pull/4112
* fix(core): improve runtime fetch options error handling and documentation by @ZevGit in https://github.com/QwenLM/qwen-code/pull/3997
* fix(telemetry): address PR #3847 review follow-ups for trace correlation by @doudouOUC in https://github.com/QwenLM/qwen-code/pull/4058
* feat(perf): progressive MCP availability — MCP no longer blocks first input by @chiga0 in https://github.com/QwenLM/qwen-code/pull/3994
* fix(search): make empty-query exit synchronous and normalize Windows Backspace by @B-A-M-N in https://github.com/QwenLM/qwen-code/pull/3981
* chore(release): v0.15.11 by @qwen-code-ci-bot in https://github.com/QwenLM/qwen-code/pull/4100
* fix(anthropic): allow cache_control on tool_result blocks by @tanzhenxin in https://github.com/QwenLM/qwen-code/pull/4121
* feat(core): strip inline media before chat compaction summary by @LaZzyMan in https://github.com/QwenLM/qwen-code/pull/4101
* ci(deps): bump docker/* actions to Node 24 majors (silences GitHub Node 20 deprecation warning) by @chiga0 in https://github.com/QwenLM/qwen-code/pull/4131
* fix(core): merge IDE context into user prompt by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/3980
* fix(cli): apply /language output to running session without restart by @chiga0 in https://github.com/QwenLM/qwen-code/pull/4143
* feat(tools): add generic worktree support — EnterWorktree/ExitWorktree + Agent isolation by @LaZzyMan in https://github.com/QwenLM/qwen-code/pull/4073
* feat(cli): add ModelScope as a built-in third-party API provider by @Col0ring in https://github.com/QwenLM/qwen-code/pull/4150
* fix(core): correct context-usage Footer for prompt size and Anthropic caches by @tanzhenxin in https://github.com/QwenLM/qwen-code/pull/4109
* fix(core): support cross-auth fast side queries by @tanzhenxin in https://github.com/QwenLM/qwen-code/pull/4117
* test(integration): pin simple-mcp-server to legacy MCP path until #4163 is fixed by @tanzhenxin in https://github.com/QwenLM/qwen-code/pull/4164
* fix(vscode): preserve thinking state and recover missing edit snapshots by @DragonnZhang in https://github.com/QwenLM/qwen-code/pull/4147
* fix(cli): handle MinTTY Ctrl+Backspace as delete-previous-word by @dreamWB in https://github.com/QwenLM/qwen-code/pull/4059
* fix(cli): preserve debug session across sandbox relaunch by @kkhomej33-netizen in https://github.com/QwenLM/qwen-code/pull/4060
* feat(core): add image+video support for Qwen3.6-35B-A3B quant variants by @Dinsmoor in https://github.com/QwenLM/qwen-code/pull/4106
* fix(hooks): inject SessionStart additionalContext into chat context by @DennisYu07 in https://github.com/QwenLM/qwen-code/pull/4115
* fix(i18n): Correct zh-TW translations to match Traditional Chinese conventions by @MikeWang0316tw in https://github.com/QwenLM/qwen-code/pull/4129
* feat(hooks): Add TodoCreated and TodoCompleted hooks for todo lifecycle events by @DennisYu07 in https://github.com/QwenLM/qwen-code/pull/3378
* refactor(cli): revert dynamic slash command LLM translation by @tanzhenxin in https://github.com/QwenLM/qwen-code/pull/4145
* chore(deps): re-upgrade ink 6 → 7.0.3 (upstream Static remount fix landed) by @chiga0 in https://github.com/QwenLM/qwen-code/pull/4119
* feat(hooks): add prompt hook type with LLM evaluation support by @DennisYu07 in https://github.com/QwenLM/qwen-code/pull/3388
* perf(cli): code-split lowlight to cut startup V8 parse cost by @chiga0 in https://github.com/QwenLM/qwen-code/pull/4070
* fix(core): refresh systemInstruction in setTools() so progressive MCP tools reach the model by @chiga0 in https://github.com/QwenLM/qwen-code/pull/4166
* feat(core,cli): add generic atomicWriteFile, wire into Write/Edit tools, upgrade @types/node by @doudouOUC in https://github.com/QwenLM/qwen-code/pull/4096
* fix(vscode-ide-companion): use existing editor group for diff instead of forcing a new one by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/4130
* feat(cli): warn users that rewind is disabled in IDE mode by @doudouOUC in https://github.com/QwenLM/qwen-code/pull/4122
* feat(cli): argument hint + --auto completion for /rename by @qqqys in https://github.com/QwenLM/qwen-code/pull/4048
* feat(cli): add baseline /doctor memory diagnostics by @qqqys in https://github.com/QwenLM/qwen-code/pull/4180
* feat(cli): add session-scoped /goal command with judge-driven turn continuation by @qqqys in https://github.com/QwenLM/qwen-code/pull/4123
* feat(rewind): add file restoration support to /rewind command by @doudouOUC in https://github.com/QwenLM/qwen-code/pull/4064
* feat(skills): add /stuck diagnostic skill for frozen sessions by @doudouOUC in https://github.com/QwenLM/qwen-code/pull/4133
* feat(telemetry): unify span creation paths for hierarchical trace tree by @doudouOUC in https://github.com/QwenLM/qwen-code/pull/4126
* refactor(core): TaskBase envelope + foreground subagent persistence by @tanzhenxin in https://github.com/QwenLM/qwen-code/pull/3970
* feat(cli): readline Ctrl+P/N for history and selection navigation by @dreamWB in https://github.com/QwenLM/qwen-code/pull/4082
* feat(cli): add built-in status line presets with interactive dialog by @DragonnZhang in https://github.com/QwenLM/qwen-code/pull/4120
* fix(core): add heap-pressure auto-compaction safety net by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/4186
* fix(cli): pass rewind selector test props by @wenshao in https://github.com/QwenLM/qwen-code/pull/4211
* feat(cli): add fork-session resume flag by @qqqys in https://github.com/QwenLM/qwen-code/pull/4159
* feat(telemetry): add interaction span and detailed sensitive attributes by @doudouOUC in https://github.com/QwenLM/qwen-code/pull/4097
* fix(lsp): expose status and startup diagnostics by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/3649
* fix(rewind): restore upstream TOCTOU ordering + heal sticky failed marker by @doudouOUC in https://github.com/QwenLM/qwen-code/pull/4216
* Add stop hook blocking cap by @qqqys in https://github.com/QwenLM/qwen-code/pull/4208
* fix(test): clear boundedPromise timers to prevent unhandled rejections in abort-and-lifecycle test by @wenshao in https://github.com/QwenLM/qwen-code/pull/4220
* fix(ui): trim background task results and show newest first (#4094) by @wenshao in https://github.com/QwenLM/qwen-code/pull/4125
* [codex] Allow custom output directory for /export by @qqqys in https://github.com/QwenLM/qwen-code/pull/4193
* fix(core): align shell tool description with configured shell by @kkhomej33-netizen in https://github.com/QwenLM/qwen-code/pull/4170
* fix(cli): include skill base dir in slash commands by @kkhomej33-netizen in https://github.com/QwenLM/qwen-code/pull/4224
* test(perf): skip daemon baseline harness under sandbox by @tanzhenxin in https://github.com/QwenLM/qwen-code/pull/4234
* feat(core): PR-2.5 — post-promote stream redirect + natural-exit registry settle (#3831 follow-up) by @wenshao in https://github.com/QwenLM/qwen-code/pull/4102
* fix(cli): restore ACP prompt counter on resume by @kkhomej33-netizen in https://github.com/QwenLM/qwen-code/pull/4233
* fix(core): extend DashScope provider detection with additional hostname rules by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/4157
* fix(core): apply tool name migrations at dispatch by @Jerry2003826 in https://github.com/QwenLM/qwen-code/pull/4213
* feat(cli): add configurable plansDirectory for Plan Mode by @shenyankm in https://github.com/QwenLM/qwen-code/pull/4062
* feat(cli): add structured memory diagnostics JSON by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/3785
* fix(cli): record mid-turn queued user prompts by @Jerry2003826 in https://github.com/QwenLM/qwen-code/pull/4215
* fix: add cache limits to prevent OOM during build/test by @xmillogx-cmd in https://github.com/QwenLM/qwen-code/pull/4188
* docs: user + design docs for --json-schema structured output by @wenshao in https://github.com/QwenLM/qwen-code/pull/4051
* feat(core): fail impossible goals by @qqqys in https://github.com/QwenLM/qwen-code/pull/4230
* fix(core): preserve read-before-write state across idle microcompaction by @tanzhenxin in https://github.com/QwenLM/qwen-code/pull/4243
* test: reduce wait-dependent UI test delays by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/3987
* feat(serve): add /demo debug page for qwen serve daemon by @jifeng in https://github.com/QwenLM/qwen-code/pull/4132
* chore(vscode): run development ACP CLI from source by @DragonnZhang in https://github.com/QwenLM/qwen-code/pull/4283
* fix(telemetry): Phase 1.5 polish — fallback order, abort-as-result, log/span consistency by @doudouOUC in https://github.com/QwenLM/qwen-code/pull/4302
* Support active goal stream events and non-interactive goals by @qqqys in https://github.com/QwenLM/qwen-code/pull/4273
* fix(cli): /status preserves prior error history items (#4169) by @LaZzyMan in https://github.com/QwenLM/qwen-code/pull/4265
* fix(core): decouple auto-memory recall from main-agent request path by @LaZzyMan in https://github.com/QwenLM/qwen-code/pull/4172
* feat(worktree): Phase C — session persistence, hooksPath, Footer + WorktreeExitDialog, three-mode --resume restore by @LaZzyMan in https://github.com/QwenLM/qwen-code/pull/4174
* fix(core): apply defaultModalities() on env-var-only model config (#4219) by @LaZzyMan in https://github.com/QwenLM/qwen-code/pull/4262
* fix(cli): block Windows Tab approval-mode toggle when input has a Tab consumer by @LaZzyMan in https://github.com/QwenLM/qwen-code/pull/4308
* fix(core): mirror Qwen3 reasoning on outbound history by @Alexxigang in https://github.com/QwenLM/qwen-code/pull/4294
* feat(core): extend cross-auth fast models to agents by @tanzhenxin in https://github.com/QwenLM/qwen-code/pull/4153
* feat(cli,core): add Auto approval mode with LLM classifier by @LaZzyMan in https://github.com/QwenLM/qwen-code/pull/4151
* fix(test): count result messages instead of assistant messages in multi-model E2E test by @wenshao in https://github.com/QwenLM/qwen-code/pull/4341
* feat(cli): per-turn /diff with interactive dialog by @BZ-D in https://github.com/QwenLM/qwen-code/pull/4277
* feat(cli): add session path status command by @kkhomej33-netizen in https://github.com/QwenLM/qwen-code/pull/4124
* fix(test): raise timeout for Windows installer end-to-end tests by @wenshao in https://github.com/QwenLM/qwen-code/pull/4352
* Pin fetch to bundled undici for undici higher versions compatibility by @ideal in https://github.com/QwenLM/qwen-code/pull/4238
* fix(review): harden SKILL.md against weak-model rule skipping by @wenshao in https://github.com/QwenLM/qwen-code/pull/4340
* chore: add .github/release.yml to support skip-changelog label by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/4327
* feat(core): inject git status into system prompt and refine Explore/git-log guidance by @DennisYu07 in https://github.com/QwenLM/qwen-code/pull/4110
* refactor(auth): unify provider config in core, simplify /auth as "Connect a Provider" by @pomelo-nwu in https://github.com/QwenLM/qwen-code/pull/4287
* feat(core): add NotebookEdit tool for Jupyter notebooks by @zhangxy-zju in https://github.com/QwenLM/qwen-code/pull/3900
* fix(cli): remove QWEN_OAUTH gate from feedback dialog by @pomelo-nwu in https://github.com/QwenLM/qwen-code/pull/4316
* fix(core): replace structuredClone with shallow copy to prevent OOM in long sessions by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/4286
* fix(core): align session hook matcher targets by @qqqys in https://github.com/QwenLM/qwen-code/pull/4354
* Expose active goal in stream JSON by @qqqys in https://github.com/QwenLM/qwen-code/pull/4314
* feat(cli): respect /editor preference in Ctrl+X external editor by @dreamWB in https://github.com/QwenLM/qwen-code/pull/4310
* feat(telemetry): Phase 2 — tool.blocked_on_user + hook spans (#3731) by @doudouOUC in https://github.com/QwenLM/qwen-code/pull/4321
* feat(installer): add standalone hosted install and uninstall flow by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/3828
* fix(core): handle MiMo tool-result media by @DragonnZhang in https://github.com/QwenLM/qwen-code/pull/4281
* feat(telemetry): support custom resource attributes and add metric cardinality controls by @doudouOUC in https://github.com/QwenLM/qwen-code/pull/4367
* fix(core): deduplicate geminiChat recovery continuation text by @chiga0 in https://github.com/QwenLM/qwen-code/pull/3966
* feat(skills): support priority field in SKILL.md for sorting skill display order by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/4155
* fix(ci): resolve TS5055 release build failure since May 19 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/4383
* revert(core): undo x-api-key + Authorization double-emit (#4342) — regresses IdeaLab-style proxies by @LaZzyMan in https://github.com/QwenLM/qwen-code/pull/4385
## New Contributors
* @ZevGit made their first contribution in https://github.com/QwenLM/qwen-code/pull/3997
* @Col0ring made their first contribution in https://github.com/QwenLM/qwen-code/pull/4150
* @Dinsmoor made their first contribution in https://github.com/QwenLM/qwen-code/pull/4106
* @xmillogx-cmd made their first contribution in https://github.com/QwenLM/qwen-code/pull/4188
* @jifeng made their first contribution in https://github.com/QwenLM/qwen-code/pull/4132
* @Alexxigang made their first contribution in https://github.com/QwenLM/qwen-code/pull/4294
* @ideal made their first contribution in https://github.com/QwenLM/qwen-code/pull/4238
**Full Changelog**: https://github.com/QwenLM/qwen-code/compare/v0.15.11...v0.16.0