0.139.0
新增功能
- Code mode 现在可以直接调用独立的 Web 搜索,包括从嵌套的 JavaScript 工具调用中发起,并接收纯文本搜索结果。 (#26719)
- 工具和连接器输入 schema 现在会保留
oneOf和allOf,大型 schema 在压缩时会保留更多浅层结构,从而提升与更丰富 MCP 工具的兼容性。 (#24118, #27084) codex doctor现在会在本地报告中包含编辑器和分页器环境详情,同时在 JSON 输出中对原始值进行脱敏。 (#27081)- 插件市场自动化信息更丰富、响应更迅速:
codex plugin marketplace list --json现在会包含每个市场来源,并且插件列表可以先从缓存的远程目录返回,然后再在后台刷新。 (#27009, #26932)
问题修复
codex resume --last "..."和codex fork --last "..."现在会将末尾参数视为初始 prompt,而不再错误地将其识别为 session ID。(#26818)- 来自 subagent 的 MCP 启动警告现在会保留在所属 thread 中,避免在 TUI 中重复向父 thread 发送告警,以及启动 spinner 卡住的问题。(#26639)
- 图片编辑现在使用所引用的确切图片文件路径,而不再根据对话历史进行猜测,因此附加图片的编辑会作用于预期的输入。(#26486)
- 路径中包含
~的裸 URL 现在会在 TUI 中完整转换为链接,而不再在波浪号之前被截断。(#27088) - 诸如
/new、/clear和/fork之类的 thread 重置操作,在 TUI 配置重新加载期间不再丢弃由云端管理的 requirements 或 feature flags。(#25177) - 沙箱执行现在会保留已批准的 escalation 决策,并更一致地强制执行配置的仅代理网络访问。(#24981, #27035)
其他变更
- Release 构建再次发布带行表的独立符号归档,改进了发布后的崩溃符号化,同时不会重新引入此前 full-debug 构建的性能下降。(#26202)
- 内嵌的 V8 工具链已更新至
rusty_v8149.2.0。(#26464)
完整变更日志:https://github.com/openai/codex/compare/rust-v0.138.0...rust-v0.139.0
- #26741 fix(remote-control): 在通用 websocket 404 时保留注册状态 @apanasenko-oai
- #26804 fix(core-plugins): 向 plugin-service 发送 Codex 产品 SKU @ericning-o
- #26464 build(v8): 将 rusty_v8 更新至 149.2.0 @cconger
- #26895 ci: 为 BuildBuddy secret 使用 bazel 环境 @bolinfest
- #24981 fix: 在统一 exec 中保留审批沙箱决策 @bolinfest
- #26818 fix(tui): 在 resume 和 fork 时接受提示词 @fcoury-oai
- #24820 deps: 将 starlark 更新至 0.14.2 @bolinfest
- #26639 fix(tui): 按线程限定 MCP 启动状态 @fcoury-oai
- #26719 [codex] 在 code 模式下启用独立网页搜索 @rka-oai
- #26632 feat: 为 v2 agent 添加驻留 LRU @jif-oai
- #26974 忽略 proc-macro-error2 安全公告 @jif-oai
- #26969 feat: 按活跃执行数统计 V2 并发 @jif-oai
- #26994 将 multi-agent v2 的 close_agent 重命名为 interrupt_agent @jif-oai
- #26997 在 resume 时避免重新打开 v2 后代 @jif-oai
- #26821 [codex] 从 memories 中排除外部工具输出 @rka-oai
- #26202 [codex] 恢复带行表的发布符号产物 @nornagon-openai
- #26852 fix(app-server): 避免阻塞连接清理 @apanasenko-oai
- #26923 向 Responses 客户端元数据添加 HTTP 窗口 ID @ningyi-oai
- #26680 [codex-analytics] 报告 compaction 分析详情 @rhan-oai
- #26637 [codex] 加速外部 agent 会话导入 @stefanstokic-oai
- #27009 [plugins] 在 marketplace list JSON 中暴露 marketplace 来源 @mpc-oai
- #27024 ci: 按仓库模板化自定义 runner 名称 @bolinfest
- #26230 fix: 跨配置和委派保留自动审查 @viyatb-oai
- #27038 [codex] 明确 PR babysitter 状态变更 @anp-oai
- #27037 [codex] 降低 multi-agent v2 使用提示的干扰 @jif-oai
- #26687 配对线程环境设置 @pakrym-oai
- #27054 cli: 为 sandbox permissions profile 添加 -P 别名 @bolinfest
- #27035 在 codex sandbox 中强制执行已配置的网络代理 @viyatb-oai
- #26486 通过引用的文件路径路由图像编辑 @won-openai
- #27060 [codex-analytics] 停止发送 codex 错误子原因 @rhan-oai
- #27044 [codex] 要求完整读取 main-agent skill @fchen-oai
- #24118 feat: 在工具输入 schema 中支持 oneOf 和 allOf @celia-oai
- #26934 [codex] 清理过期的 curated 插件缓存 @xl-openai
- #26932 为插件列表使用缓存的远程插件目录 @xl-openai
- #26091 [codex] 为 OTEL 计数器添加描述 @richardopenai
- #27081 feat(doctor): 报告编辑器和分页器环境 @fcoury-oai
- #27084 chore: 在大型工具 compaction 期间多保留一层 schema @celia-oai
- #26840 添加类型化文件 URI @anp-oai
- #27088 fix(tui): 将包含波浪号的完整裸 URL 链接化 @fcoury-oai
- #27068 在 /debug-config 中显示生效的沙箱模式 @canvrno-oai
- #27092 向 StoredThread 添加额外配置,暂时留空 @kumquatexpress
- #27096 更新网页搜索引用提示词 @yuning-oai
- #25177 在 TUI 线程重置期间保留云端要求 @canvrno-oai
- #27106 [codex] 移除远程 compaction 失败日志 @pakrym-oai