@tencent-ai/codebuddy-code 2.97.1-next.b57d081.20260516 → 2.97.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -7,6 +7,25 @@ CodeBuddy Code 的所有重要更新都会记录在这里。
7
7
 
8
8
  ## [未发布]
9
9
 
10
+ ## [2.97.2] - 2026-05-16
11
+
12
+ ### 🔧 功能改进
13
+
14
+ - **警告抑制**:抑制 DEP0040(punycode)、NODE_TLS_REJECT_UNAUTHORIZED 和 AbortSignal MaxListenersExceeded 等无用警告
15
+ - **TLS 禁用集中化**:将 TLS 验证禁用逻辑统一收敛到 ProxyUtils.disableTlsVerification()
16
+ - **自定义 Agent hooks 支持**:自定义 Agent 的 frontmatter 现在支持 hooks 配置
17
+ - **rm 命令风险评级调整**:非递归多文件 rm 从 HIGH 降级为 MEDIUM,减少不必要的权限确认
18
+ - **YAML 解析容错**:自定义 Agent 文件 YAML 解析错误时输出警告而非静默忽略
19
+
20
+ ### 🐛 修复
21
+
22
+ - **ACP 模式下 MCP 工具不可见**:修复 v2.96.0 引入的回归 —— 在 ACP(IDE 嵌入式 / Web UI / Workbuddy Desktop 等)模式下,MCP 配置在 ACP `newSession` 协议层下发,但启动早期 headless 路径会先以空配置完成一次 MCP 扫描并固化缓存,导致随后由 ACP 写入的真实 MCP server 配置被忽略,所有 MCP 工具不会被连接、也无法被 ToolSearch 检索到。现在配置变化会主动失效缓存并重新扫描,已连接的 server 会被复用以避免重复建立连接。
23
+ - **会话启动钩子**:统一各入口(启动 / 恢复 / 清理 / 分支 / 压缩)触发 SessionStart 钩子的路径,避免重复触发或遗漏导致首条提示缺失上下文。
24
+ - **插件加载(headless / ACP 模式)**:修复插件目录环境变量尚未注入时被错误缓存为空,从而 `--plugin-dir` 指定的插件无法被识别、SessionStart hook 无法注册的问题。
25
+ - **插件解压**:解压插件 zip 时保留可执行位,修复部分插件附带的 `.sh` 等脚本被错误降权为 644 导致无法执行的问题。
26
+ - **IDE 集成**:修复 IDE 集成模式下子代理调用 Read / Write / Edit / MultiEdit / Bash / AskUserQuestion 时,IDE 客户端因会话标识不匹配而拒绝执行的问题。修复后子代理在 IDE 中也能正常使用这些代理给客户端的工具。
27
+ - **tmux 环境输入乱码**:在 tmux 下,CBC 向 stdout 写出 Kitty keyboard protocol 控制序列后,tmux 会将自身的状态响应(如 `\x1b[?0u`、`\x1b[?2004l`)注入回 stdin,导致输入框出现乱码。新增 CSI 私有模式序列过滤层,在键映射阶段统一丢弃这类终端控制噪声,不影响正常按键输入。
28
+
10
29
  ## [2.97.1] - 2026-05-14
11
30
 
12
31
  ### 🐛 修复
package/bin/codebuddy CHANGED
@@ -1,5 +1,14 @@
1
1
  #!/usr/bin/env node
2
2
 
3
+ // Suppress Node.js DEP0040 (punycode) deprecation warning triggered by dependencies
4
+ const originalEmit = process.emit;
5
+ process.emit = function (name, data, ...args) {
6
+ if (name === 'warning' && data && data.name === 'DeprecationWarning' && data.code === 'DEP0040') {
7
+ return false;
8
+ }
9
+ return originalEmit.call(process, name, data, ...args);
10
+ };
11
+
3
12
  // 记录真正的进程启动时间(在任何模块加载之前)
4
13
  global.__CODEBUDDY_PROCESS_START_TIME__ = Date.now();
5
14