0.64.0
- Thread 和 turn 现在包含 git 信息、当前工作目录、CLI 版本、源元数据,并在每个 item 和 error 上传播 thread ID 和 turn ID。它们会为 diff、plan 更新、token 用量变化和 compaction 事件发出新通知。文件变更 item 提供输出 delta,ImageView item 内联渲染图像。
- Review 流程得到增强:支持 detached review 模式、显式 enter 和 exit 事件、review thread ID,并且在 rollout 过滤变更后 review 历史仍然可见。
- 执行方面新增实验性“exp”模型、统一 exec 剪枝以限制会话膨胀、每次运行的自定义环境注入、经策略批准的命令绕过,以及 Windows 保护机制,用于将高风险浏览器或 URL 启动标记出来。历史查找现可在 Windows 和 WSL 上工作,模型选择会遵循 use_model。
- 安全默认值通过整合 world-writable 扫描和 workspace-write 对只读 .git 目录的强制执行得到改进。Sandbox 评估和审批流程与信任策略保持一致。
- MCP 和 shell 工具链新增 shell-tool MCP 登录支持、显式能力声明、sandbox 感知、发布到 npm 以及 MCP elicitations。rmcp 客户端升级到 0.10.0,以支持现代通知。
- 可观测性增强:command item 暴露进程 ID,thread 和 turn 发出 token 用量和 compaction 事件。Feedback 元数据捕获源信息。
- 工具链和运维方面,app-server 测试客户端新增 follow-up v2,新增配置管理工具,并刷新了 approvals 文档和 quickstart 位置。
Bug 修复
- 修复了 PowerShell 中 apply_patch 的解析,apply_patch 测试现在覆盖 shell_command 行为。
- 修复了 sandbox 评估回归;经策略批准的命令会被遵循;Windows 上危险命令检查更严格;workspace-write 强制执行 .git 只读。
- MCP 启动可容忍缺失的 type 字段,stream 错误消息更清晰,rmcp nix 输出哈希问题已解决。
- Delegate 取消不再挂起 unified exec,提前退出的会话会被清理,重复的“waited”渲染被抑制。
- limit 为零的 recent_commits 现在返回零,NetBSD process-hardening 构建已解除阻塞。
- 已禁用 review rollout 过滤,以便显示历史;approval 预设遵循 workspace-write;/approvals 信任检测已修正;sandbox 命令评估的边缘情况已修复。
- Compaction 会考虑加密推理,准确处理 token 预算,并发出可靠的 token 用量和 compaction 事件。
- 要求 TTY stdin;WSL 剪贴板路径已规范化;在 /new 时丢弃陈旧会话以避免冲突。
- 修复了大段粘贴时的自定义 prompt 展开问题;修正了 example-config 错误;清理了相对链接和 streamable_shell 引用。升级消息已修正。
- Windows sandbox 将 <workspace_root>/.git 视为只读,并在执行前标记有风险的浏览器启动。
- CLA allowlist 现在包含 dependabot 变体,企业可以跳过升级检查和消息。
- 不稳定测试已稳定,会话回收得到改进,rollout 会话初始化会暴露错误以便诊断。
维护
-
安全与 CI 新增 cargo-audit 和 cargo-deny。GitHub Actions 更新到 checkout v6 和 upload-artifact v5。已停止构建 macOS 13。跳过了一个不稳定的 Ubuntu 变体。next_minor_version 脚本现在能正确重置补丁号。
-
依赖已更新:libc 0.2.177、webbrowser 1.0.6、regex 1.12.2、toml_edit 0.23.5、arboard 3.6.1、serde_with 3.16.1、image 0.25.9、reqwest 0.12.24、tracing 0.1.43 和 rmcp 0.10.0。
-
文档已刷新:approvals 和 config 指南、codex max 和 xhigh 默认值、example-config 修复、CLA 指南,以及移除 streamable_shell 引用。
-
fix(scripts) next_minor_version 应重置补丁号 by @dylan-hurd-oai in #7050
- [app-server] feat: 在 Thread 上暴露 gitInfo/cwd/etc. by @owenlin0 in #7060
- feat: 添加 exp 模型以试验这些工具 by @aibrahim-oai in #7115
- 为实验启用 unified exec by @aibrahim-oai in #7118
- [app-server] doc: approvals by @owenlin0 in #7105
- Windows:将某些启动浏览器/URL 的调用标记为危险 by @iceweasel-oai in #7111
- 使用 use_model by @pakrym-oai in #7121
- feat: 支持在 shell-tool-mcp 上将 login 作为选项 by @bolinfest in #7120
- fix(tui): 当 stdin 不是终端时失败 by @joshka-oai in #6382
- 支持 MCP elicitations by @nornagon-openai in #6947
- refactor: 在 process_exec_tool_call 中内联 sandbox 类型查找 by @bolinfest in #7122
- 对经策略批准的命令绕过 sandbox by @zhao-oai in #7110
- fix: 开始将 @openai/codex-shell-tool-mcp 发布到 npm by @bolinfest in #7123
- feat: 在 shell-tool-mcp 中声明服务器能力 by @bolinfest in #7112
- 移动 execpolicy quickstart by @zhao-oai in #7127
- 在自动 compaction 中考虑加密推理 by @aibrahim-oai in #7113
- chore: 为加密摘要使用代理 by @jif-oai in #7252
- fix: codex delegate 取消 by @jif-oai in #7092
- feat: unified exec 基本剪枝策略 by @jif-oai in #7239
- 整合 world-writable-directories 扫描。by @iceweasel-oai in #7234
- fix: 不稳定测试 by @jif-oai in #7257
- [feedback] 将源信息添加到 feedback 元数据中。by @mzeng-openai in #7140
- fix(windows) 支持在 powershell 中解析 apply_patch by @dylan-hurd-oai in #7221
- chore(deps): 在 /codex-rs 中将 regex 从 1.11.1 升级到 1.12.2 by @dependabot[bot] in #7222
- chore(deps): 在 /codex-rs 中将 toml_edit 从 0.23.4 升级到 0.23.5 by @dependabot[bot] in #7223
- chore(deps): 将 actions/upload-artifact 从 4 升级到 5 by @dependabot[bot] in #7229
- chore(deps): 将 actions/checkout 从 5 升级到 6 by @dependabot[bot] in #7230
- fix: 修复 NetBSD 上的 process-hardening 构建 by @0-wiz-0 in #7238
- 从文档中移除 streamable_shell by @etraut-openai in #7235
- chore(deps): 在 /codex-rs 中将 libc 从 0.2.175 升级到 0.2.177 by @dependabot[bot] in #7224
- chore(deps): 在 /codex-rs 中将 webbrowser 从 1.0.5 升级到 1.0.6 by @dependabot[bot] in #7225
- 将 dependabot 的替代形式添加到 CLA 允许列表 by @etraut-openai in #7260
- 允许企业跳过升级检查和消息 by @gpeal in #7213
- fix: 大段粘贴时的自定义 prompt 展开 by @Priya-753 in #7154
- chore(ci): 添加 cargo audit 工作流和策略 by @joshka-oai in #7108
- chore: 添加 cargo-deny 配置 by @joshka-oai in #7119
- Windows Sandbox: 在 workspace-write 模式下将 <workspace_root>/.git 视为只读 by @iceweasel-oai in #7142
- chore: 去重 unified exec 的 "waited" 渲染 by @jif-oai in #7256
- fix: 不存储提前退出的会话 by @jif-oai in #7263
- fix: 更正 stream 错误消息 by @CSRessel in #7266
- [app-server-test-client] 添加 send-followup-v2 by @celia-oai in #7271
- feat[app-serve]: 配置管理 by @jif-oai in #7241
- feat: 为 unified exec 进程添加自定义 env by @jif-oai in #7286
- [app-server] feat: 将 thread_id 和 turn_id 添加到 item 和 error 通知 by @owenlin0 in #7124
- feat: 添加 compaction 事件 by @jif-oai in #7289
- [app-server] feat: 添加 turn/diff/updated 事件 by @owenlin0 in #7279
- fix: 移除 MacOS 13 by @jif-oai in #7295
- fix: 在 /new 时丢弃会话 by @jif-oai in #7297
- chore: 正确的客户端提取 by @jif-oai in #6996
- tmp: 丢弃不稳定的 ubuntu by @jif-oai in #7300
- [app-server] 添加 thread/tokenUsage/updated v2 事件 by @celia-oai in #7268
- 在 /approvals 上正确识别 WorkspaceWrite 策略 by @iceweasel-oai in #7301
- feat: 为事件处理更新进程 ID by @jif-oai in #7261
- 修复实验性 "sandbox command assessment" 功能的回归 by @etraut-openai in #7308
- nit: 删除文件 by @jif-oai in #7314
- doc: 修复相对链接并添加提示 by @lionel-oai in #7319
- 修复 example-config.md 文档中的两个 bug by @etraut-openai in #7324
- chore: 改进 rollout 会话初始化错误 by @jobchong in #7336
- feat: detached review by @jif-oai in #7292
- fix: 其他不稳定测试 by @jif-oai in #7372
- chore: 更好的会话回收 by @jif-oai in #7368
- chore(deps): 在 /codex-rs 中将 arboard 从 3.6.0 升级到 3.6.1 by @dependabot[bot] in #7426
- chore(deps): 在 /codex-rs 中将 serde_with 从 3.14.0 升级到 3.16.1 by @dependabot[bot] in #7422
- chore(deps): 在 /codex-rs 中将 reqwest 从 0.12.23 升级到 0.12.24 by @dependabot[bot] in #7424
- chore(deps): 在 /codex-rs 中将 tracing 从 0.1.41 升级到 0.1.43 by @dependabot[bot] in #7428
- 修复 CLA action,以正确豁免 dependabot by @etraut-openai in #7429
- chore(deps): 在 /codex-rs 中将 image 从 0.25.8 升级到 0.25.9 by @dependabot[bot] in #7421
- [app-server] 添加 turn/plan/updated 事件 by @celia-oai in #7329
- fix: 禁用 review rollout 过滤 by @jif-oai in #7371
- [app-server] fix: 确保所有事件上都有 thread_id 和 turn_id by @owenlin0 in #7408
- [app-server] fix: 为文件变更 item 发出 item/fileChange/outputDelta by @owenlin0 in #7399
- 修复 recent_commits(limit=0) 返回 1 个 commit 而不是 0 个的问题 by @Towaiji in #7334
- fix: nix 构建缺少 rmcp 输出哈希 by @Alb-O in #7436
- docs: 澄清 codex max 默认值和 xhigh 可用性 by @kgruiz in #7449
- fix: 防止因缺少 'type' 字段导致 MCP 启动失败 by @linuxmetel in #7417
- chore: 更新到 rmcp@0.10.0,以支持自定义客户端通知 by @bolinfest in #7462
- fix(apply_patch) shell_command 的测试 by @dylan-hurd-oai in #7307
- [app-server] 添加 ImageView item by @celia-oai in #7468
- fix(core): 在 windows 上启用历史查找 by @stevemostovoy-openai in #7457
- fix(tui): 处理 WSL 剪贴板图像路径 by @manoelcalixto in #3990
完整变更日志:https://github.com/openai/codex/compare/rust-v0.63.0...rust-v0.64.0