## 更新内容
* fix(cli): 在 Windows CRLF/BOM 环境下解析 Markdown 命令 frontmatter by @zy6p in https://github.com/QwenLM/qwen-code/pull/2078
* feat: 在 CodeColorizer 中为代码高亮添加 tabWidth 支持,并将制表符替换为空格 by @lgzzzz in https://github.com/QwenLM/qwen-code/pull/2077
* chore: 将版本升级至 0.12.0 by @tanzhenxin in https://github.com/QwenLM/qwen-code/pull/2090
* feat(export-html): 添加工具调用结果查看器 by @huww98 in https://github.com/QwenLM/qwen-code/pull/2085
* feat(terminal-capture): 添加支持生成 GIF 的流式捕获功能 by @tanzhenxin in https://github.com/QwenLM/qwen-code/pull/2116
* feat(commands): 为 GitHub 工作流添加自定义 QC 命令 by @tanzhenxin in https://github.com/QwenLM/qwen-code/pull/2117
* fix(cli): 在 TTY 模式下忽略 stream-json 输入格式以防止挂起 by @Mingholy in https://github.com/QwenLM/qwen-code/pull/2047
* refactor: 将设置迁移重构为带原子文件写入的串行框架 by @Mingholy in https://github.com/QwenLM/qwen-code/pull/2037
* fix(core): 防止尾部流块导致重复的函数调用输出 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/2125
* fix(ide): 在容器环境中为 host.docker.internal 添加异步 DNS 检查 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/1817
* fix: 在安装扩展期间处理符号链接 by @LaZzyMan in https://github.com/QwenLM/qwen-code/pull/2056
* fix: 读取/写入非 UTF-8 文件时保留原始编码 by @LaZzyMan in https://github.com/QwenLM/qwen-code/pull/2073
* fix(install): 为安装脚本添加提示并修复安装问题 by @DennisYu07 in https://github.com/QwenLM/qwen-code/pull/2118
* fix(core): 为临时流异常添加独立的重试预算 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/2126
* feat: 在 KeypressContext 中添加对可打印 CSI-u 键的支持 by @DragonnZhang in https://github.com/QwenLM/qwen-code/pull/1827
* fix(windows): 解决由 CRLF 换行符引起的静默失败问题 (#1868) by @Aayushyaash in https://github.com/QwenLM/qwen-code/pull/1890
* fix(cli): 在默认上下文重置时保持 AGENTS.md 处于启用状态 by @zy6p in https://github.com/QwenLM/qwen-code/pull/2082
* feat: 为 VS Code 设置添加 JSON Schema 验证 by @DragonnZhang in https://github.com/QwenLM/qwen-code/pull/1830
* feat(hooks): 实现带 CLI 和 UI 管理的 Hooks 系统基础设施 by @DennisYu07 in https://github.com/QwenLM/qwen-code/pull/1988
* refactor(cli): 整合消息组件并修复前导图标显示问题 by @tanzhenxin in https://github.com/QwenLM/qwen-code/pull/2120
* fix(core): 移除基于 LLM 的循环检测,并默认启用 skipLoopDetection by @tanzhenxin in https://github.com/QwenLM/qwen-code/pull/2092
* refactor: 统一沙箱配置命名并改进遥测配置 by @pomelo-nwu in https://github.com/QwenLM/qwen-code/pull/1793
* feat(shell): 默认启用 PTY 并进行多项增强 by @tanzhenxin in https://github.com/QwenLM/qwen-code/pull/2108
* chore: 将 @DragonnZhang 添加至 CODEOWNERS by @DragonnZhang in https://github.com/QwenLM/qwen-code/pull/2138
* feat: 通过动态启用/禁用和运行时更新增强 MCP 管理 TUI by @LaZzyMan in https://github.com/QwenLM/qwen-code/pull/1831
* fix(keyboard): 处理 Kitty 小键盘私有用途键码 by @kkhomej33-netizen in https://github.com/QwenLM/qwen-code/pull/2137
* fix(hooks): 修复 userPromptSubmit 的结果聚合器,并修复集成测试的启用逻辑 by @DennisYu07 in https://github.com/QwenLM/qwen-code/pull/2139
* fix(hooks): 将 enable 从 hooks 移至 hookConfig,并添加最大轮次限制 by @DennisYu07 in https://github.com/QwenLM/qwen-code/pull/2156
* feat: 添加用于扩展管理的交互式 TUI by @LaZzyMan in https://github.com/QwenLM/qwen-code/pull/2008
* refactor(acp): 将 ACP 集成迁移至 @agentclientprotocol/sdk by @Mingholy in https://github.com/QwenLM/qwen-code/pull/2063
* fix: 修复 Hooks 在线集成测试失败问题 by @DennisYu07 in https://github.com/QwenLM/qwen-code/pull/2183
* feat: 实现 AskUserQuestionTool 以支持交互式用户查询 by @DragonnZhang in https://github.com/QwenLM/qwen-code/pull/1828
* fix: 基于 0.12.0 反馈改进 MCP 管理与扩展管理 TUI by @LaZzyMan in https://github.com/QwenLM/qwen-code/pull/2208
* fix(test): 在文件内容断言中使用 toContain 替代 toBe by @qwen-code-ci-bot in https://github.com/QwenLM/qwen-code/pull/2218
## 新贡献者
* @zy6p 在 https://github.com/QwenLM/qwen-code/pull/2078 中完成了首次贡献
* @lgzzzz 在 https://github.com/QwenLM/qwen-code/pull/2077 中完成了首次贡献
* @huww98 在 https://github.com/QwenLM/qwen-code/pull/2085 中完成了首次贡献
* @Aayushyaash 在 https://github.com/QwenLM/qwen-code/pull/1890 中完成了首次贡献
* @kkhomej33-netizen 在 https://github.com/QwenLM/qwen-code/pull/2137 中完成了首次贡献
**完整更新日志**: https://github.com/QwenLM/qwen-code/compare/v0.11.1...v0.12.0
## What's Changed
* fix(cli): parse markdown command frontmatter on Windows CRLF/BOM by @zy6p in https://github.com/QwenLM/qwen-code/pull/2078
* feat: add tabWidth support for code highlighting and replace tabs with spaces in CodeColorizer by @lgzzzz in https://github.com/QwenLM/qwen-code/pull/2077
* chore: bump version to 0.12.0 by @tanzhenxin in https://github.com/QwenLM/qwen-code/pull/2090
* feat(export-html): viewer for tool call results by @huww98 in https://github.com/QwenLM/qwen-code/pull/2085
* feat(terminal-capture): add streaming capture with GIF generation by @tanzhenxin in https://github.com/QwenLM/qwen-code/pull/2116
* feat(commands): add custom QC commands for GitHub workflows by @tanzhenxin in https://github.com/QwenLM/qwen-code/pull/2117
* fix(cli): ignore stream-json input format in TTY mode to prevent hanging by @Mingholy in https://github.com/QwenLM/qwen-code/pull/2047
* Refactor settings migration to sequential framework with atomic file writes by @Mingholy in https://github.com/QwenLM/qwen-code/pull/2037
* fix(core): prevent duplicate function-call yields from trailing stream chunks by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/2125
* fix(ide): add async DNS check for host.docker.internal in container environments by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/1817
* fix: handle symlinks during extension installation by @LaZzyMan in https://github.com/QwenLM/qwen-code/pull/2056
* fix: preserve original encoding when reading/writing non-UTF-8 files by @LaZzyMan in https://github.com/QwenLM/qwen-code/pull/2073
* fix(install): Add tips and fix installation issues for installation scripts by @DennisYu07 in https://github.com/QwenLM/qwen-code/pull/2118
* fix(core): add independent retry budget for transient stream anomalies by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/2126
* feat: add support for printable CSI-u keys in KeypressContext by @DragonnZhang in https://github.com/QwenLM/qwen-code/pull/1827
* fix(windows): resolve silent failures caused by CRLF line endings (#1868) by @Aayushyaash in https://github.com/QwenLM/qwen-code/pull/1890
* fix(cli): keep AGENTS.md enabled by default context reset by @zy6p in https://github.com/QwenLM/qwen-code/pull/2082
* feat: add JSON Schema validation for VS Code settings by @DragonnZhang in https://github.com/QwenLM/qwen-code/pull/1830
* feat(hooks): Implement hooks system infrastructure with CLI and UI management by @DennisYu07 in https://github.com/QwenLM/qwen-code/pull/1988
* refactor(cli): consolidate message components and fix leading icon display issues by @tanzhenxin in https://github.com/QwenLM/qwen-code/pull/2120
* fix(core): remove LLM-based loop detection and enable skipLoopDetection by default by @tanzhenxin in https://github.com/QwenLM/qwen-code/pull/2092
* refactor: unify sandbox configuration naming and improve telemetry config by @pomelo-nwu in https://github.com/QwenLM/qwen-code/pull/1793
* feat(shell): enable PTY by default and various enhancements by @tanzhenxin in https://github.com/QwenLM/qwen-code/pull/2108
* chore: add @DragonnZhang to CODEOWNERS by @DragonnZhang in https://github.com/QwenLM/qwen-code/pull/2138
* feat: Enhance MCP Management TUI with dynamic enable/disable and runtime updates by @LaZzyMan in https://github.com/QwenLM/qwen-code/pull/1831
* fix(keyboard): handle Kitty keypad private-use keycodes by @kkhomej33-netizen in https://github.com/QwenLM/qwen-code/pull/2137
* fix(hooks): fix result aggregator for userPromptSubmit and fix enable for integration test by @DennisYu07 in https://github.com/QwenLM/qwen-code/pull/2139
* fix(hooks): Move enable from hooks to hookConfig and add max turns by @DennisYu07 in https://github.com/QwenLM/qwen-code/pull/2156
* feat: Add interactive TUI for extension management by @LaZzyMan in https://github.com/QwenLM/qwen-code/pull/2008
* refactor(acp): migrate ACP integration to @agentclientprotocol/sdk by @Mingholy in https://github.com/QwenLM/qwen-code/pull/2063
* fix: Hooks online integration test failed by @DennisYu07 in https://github.com/QwenLM/qwen-code/pull/2183
* feat: Implement AskUserQuestionTool for interactive user queries by @DragonnZhang in https://github.com/QwenLM/qwen-code/pull/1828
* fix: improve MCP Management & Extension Management TUI based on 0.12.0 feedback by @LaZzyMan in https://github.com/QwenLM/qwen-code/pull/2208
* fix(test): use toContain instead of toBe for file content assertion by @qwen-code-ci-bot in https://github.com/QwenLM/qwen-code/pull/2218
## New Contributors
* @zy6p made their first contribution in https://github.com/QwenLM/qwen-code/pull/2078
* @lgzzzz made their first contribution in https://github.com/QwenLM/qwen-code/pull/2077
* @huww98 made their first contribution in https://github.com/QwenLM/qwen-code/pull/2085
* @Aayushyaash made their first contribution in https://github.com/QwenLM/qwen-code/pull/1890
* @kkhomej33-netizen made their first contribution in https://github.com/QwenLM/qwen-code/pull/2137
**Full Changelog**: https://github.com/QwenLM/qwen-code/compare/v0.11.1...v0.12.0