0.140.0
新增功能
- 新增
/usage视图,用于查看每日、每周和累计账户 token 活动。(#27925) /goal现在会保留超大文本、大型粘贴块和图片附件,包括在远程 app-server 会话中。(#27508, #27509, #27510)- 新增通过
codex delete、/delete和 app-serverthread/delete永久删除会话,并带有确认保护措施和 subagent 清理。(#25018, #27476) - 新增
/import,用于选择性导入来自 Claude Code 的设置、项目配置和最近聊天。(#27070, #27071, #27703) - 输入
@现在默认打开统一的 mentions 菜单,用于文件、插件和 skills。(#27499) - 新增托管的 Amazon Bedrock API-key 认证,以及 CLI 和 MCP OAuth 凭据的加密本地存储。(#27443, #27689, #27504, #27535, #27539, #27541)
问题修复
- 损坏的 SQLite 状态数据库现在会从 rollout 数据自动备份并重建,包括数据库目录格式异常的情况。 (#26859, #27719)
- 防止了在有排队指导信息时按下
Esc导致/review崩溃,同时在审查被取消时保留该指导信息。 (#22879) - 通过重试瞬时启动失败、将不可用的 OAuth 凭据报告为已登出,并保留显式禁用的服务器,提升了 MCP 可靠性。 (#25147, #26713, #27414)
- 修复了远程插件卸载请求,并正确展示安装期间需要身份验证的应用。 (#27085, #27223)
- 可靠地持久化了“Don’t remind me”更新忽略设置,并在轮次完成后清除了过期的运行中 hook 指示器。 (#27619, #27783)
- 非 TTY 后台命令现在可通过 Ctrl-C 中断,同时保留其最终输出和退出状态。 (#26734)
其他变更
- 通过保留 Git 内置的文件系统监视器、避免重复读取历史记录、加速归档查找以及缓存 turn-diff 渲染,提升了大型仓库和长时间会话的响应速度。(#26880, #27031, #27276, #27489)
- 从 TUI 中移除了实验性的
/realtime语音控制及相关音频依赖。(#27801)
- 澄清了关于保持 crate API 范围精简以及支持 Linux、macOS 和 Windows 的贡献者指南。 (#27939, #27966)
完整变更日志:https://github.com/openai/codex/compare/rust-v0.139.0...rust-v0.140.0
- #26880 [codex] 为 worktree Git 读取保留 fsmonitor @tamird
- #27085 使用服务器应用认证要求进行远程插件安装 @xl-openai
- #27098 [codex] 返回工作区目录中已安装的插件 @xl-openai
- #27007 multi-agent:添加基于路径的 v2 活动跟踪 @jif-oai
- #27166 app-server:在 v2 agent 中断后清除过期的 thread watch @jif-oai
- #27080 [codex] 忽略待处理的 PR 审查评论 @anp-oai
- #26420 避免 no-op backfill 状态写入 @zanie-oai
- #27031 避免在冷恢复期间重新读取 rollout 历史 @zanie-oai
- #22879 fix:防止在 steer 消息上按 Esc 时 /review 崩溃 @canvrno-oai
- #27173 app-server:拒绝对 multi-agent v2 子 agent 的直接输入 @jif-oai
- #27184 通过扩展加载选定的 executor skills @jif-oai
- #26835 [codex] 测试扩展 API 契约 @anp-oai
- #27063 [codex-analytics] 添加可扩展的 feature thread 来源 @marksteinbrick-oai
- #26479 [codex] 加速本地 nextest 运行 @anp-oai
- #27223 fix:远程卸载使用插件服务路由 @ericning-o
- #22685 添加 SOCKS5 TCP MITM 覆盖 @winston-openai
- #26681 允许在完成后创建新 goal @etraut-openai
- #26711 减少 TUI 旧版核心依赖 @etraut-openai
- #27110 [1/6] 添加 Python goal 路由基础 @aibrahim-oai
- #27191 通过扩展路由托管 Apps MCP @jif-oai
- #26830 [codex] 刻画全局指令生命周期 @anp-oai
- #26713 [codex] 将不可用的 MCP OAuth 凭据报告为已注销 @anp-oai
- #26734 [codex] 处理非 TTY unified exec 的 Ctrl-C @pakrym-oai
- #27116 停止将 Codex 用户输入镜像到 realtime @guinness-oai
- #27111 [2/6] 添加私有 Python goal 操作 @aibrahim-oai
- #25147 [codex] 重试 streamable HTTP 初始化失败 @ssetty-oai
- #27257 [codex] 收紧 MCP 连接管理器 API 可见性和顺序 @aibrahim-oai
- #26701 TUI Plugin Sharing 1 - 添加远程插件身份 @canvrno-oai
- #27129 feat:memory 模型使用 provider 默认值 @celia-oai
- #27094 为 build_tool_router 添加 spans @mchen-oai
- #24999 添加按会话的 realtime 模型和版本覆盖 @guinness-oai
- #27078 [codex-analytics] 上报 goal 生命周期分析 @marksteinbrick-oai
- #27285 [codex] 修复合并后分析集成失败 @anp-oai
- #27107 为 run_turn 添加 spans @mchen-oai
- #27261 [codex] 使 MCP 连接启动可失败 @aibrahim-oai
- #27174 feat:将子 MCP 警告排除在父 transcript 之外 @jif-oai
- #27198 使用 plugin-service MCP 作为托管插件运行时 @jif-oai
- #27375 [codex] 为 multi-agent spawn 指标添加版本标签 @jif-oai
- #27383 从扩展贡献者中移除 async-trait @jif-oai
- #27259 使用 latest-wins 的 MCP 管理器替换 @charliemarsh-oai
- #27264 [codex] 在 rollout 中存储 compact window id @pakrym-oai
- #27280 [codex] 添加 io PathUri 原生转换 API @anp-oai
- #27315 [codex] 使用 LLD 链接 Windows 发布版本 @tamird
- #27276 降低 archive rollout 查找 CPU 占用 @etraut-openai
- #27299 [codex] 概述 ToolExecutor handler 主体 @anp-oai
- #27391 为可见 thread 列表排序建立索引 @zanie-oai
- #27407 修复压缩 rollout 搜索路径匹配 @jif-oai
- #27304 [codex] 从 ToolExecutor 中移除 async_trait @anp-oai
- #26041 添加 app-server 后台终端进程 API @etraut-openai
- #25018 添加 app-server
thread/deleteAPI @etraut-openai - #26859 fix:从损坏的 sqlite 数据库自动恢复 @ddr-oai
- #27064 [codex] 移除阻塞式外部 agent 迁移流程 @stefanstokic-oai
- #27421 [codex] 提高 app-server 递归限制 @anp-oai
- #27062 [codex] 重试临时的 Guardian 审查失败 @kbazzi
- #27065 [codex] 提取外部 agent 导入选择器渲染器 @stefanstokic-oai
- #26409 [plugins] 将 remote_plugin_id 注入安装 elicitations @adaley-openai
- #27439 feat:在 ThreadExtensionDependencies 上提供 ThreadStore @bolinfest
- #27343 保护核心测试子进程清理 @etraut-openai
- #27070 [codex] 添加外部 agent 导入选择器 UX @stefanstokic-oai
- #27321 [codex] 将发布平台规则移入 bazel 包 @anp-oai
- #27071 [codex] 为外部 agent 添加 /import @stefanstokic-oai
- #27311 [codex] 跳过远程插件的本地 curated 发现 @xl-openai
- #27414 [codex] 在运行时 overlay 之间保留已禁用的 MCP 服务器 @e-provencher
- #27312 [codex] 复用发布产物用于 npm 暂存 @tamird
- #27319 将独立 assistant 输出转发到 realtime @guinness-oai
- #27057 [codex] 添加可复用的 OTEL gauge 仪器 @richardopenai
- #27245 image:添加共享 data URL 准备工具 @fjord-oai
- #27392 [codex-analytics] 上报内部启动的 turn 事件 @marksteinbrick-oai
- #27322 [codex] 在 rules_rs 注解中保留构建脚本依赖 @anp-oai
- #27489 core:缓存 turn diff 渲染 @nornagon-openai
- #27465 [codex] 移除冗余的插件应用认证状态 @xl-openai
- #27484 移除 TUI 旧版核心 test_support 依赖 @etraut-openai
- #27476 在 CLI 和 TUI 中添加会话删除命令 @etraut-openai
- #27247 core:在功能开关后调整所有历史图片大小 @fjord-oai
- #27487 精简 TUI 旧版遥测和迁移依赖 @etraut-openai
- #27438 [codex] 添加 token 预算上下文功能 @pakrym-oai
- #27501 [codex] 扩展托管网页搜索引用指南 @yuning-oai
- #27526 tools:简化默认工具搜索文本 @sayan-oai
- #27488 [codex] 添加新的上下文窗口工具 @pakrym-oai
- #27443 feat:添加 Bedrock API key 作为托管认证模式 @celia-oai
- #27532 [codex] 将 comp_hash 添加到模型元数据 @aibrahim-oai
- #27246 core:从 Responses Lite 请求中移除图像细节 @fjord-oai
- #27517 [codex] 将认证模式传递给插件管理器 @xl-openai
- #27520 [codex] 当 comp_hash 变化时进行 compact @aibrahim-oai
- #27518 [codex] 添加上下文剩余量工具 @pakrym-oai
- #27266 image:调整提示图像大小时保留元数据 @fjord-oai
- #27103 [codex-analytics] 上报 v2 compaction 的缓存输入 token @rhan-oai
- #27356 对动态工具使用通用搜索元数据 @sayan-oai
- #27082 [codex-analytics] 上报结构化的 compaction codex 错误 @rhan-oai
- #26513 [codex] 调整云配置缓存间隔 @alexsong-oai
- #27387 skills:使后端插件 skills 无需 executor 即可调用 @jif-oai
- #27403 skills:按 thread 缓存远程目录失败 @jif-oai
- #27573 core:默认启用远程 compaction v2 @jif-oai
- #27388 skills:暴露远程 skill 资源工具 @jif-oai
- #27569 multi-agent:将并发指南移入 v2 使用提示 @jif-oai
- #27585 nit:限制错误 @jif-oai
- #27404 test:覆盖无需 executor 的引用后端 skill 读取 @jif-oai
- #27591 skills:按 authority 渲染目录定位符 @jif-oai
- #27413 skills:将 skills 扩展与 core 解耦 @jif-oai
- #27527 [codex] 并发发布 npm 包 @tamird
- #27528 [codex] 随 npm 一起发布 DotSlash @tamird
- #27529 [codex] 仅下载发布产物 @tamird
- #27490 移除 TUI 旧版 Windows 沙箱依赖 @etraut-openai
- #27483 在 MCP 工具调用分析事件中上报插件 ID @chrisdong-oai
- #27417 在致命退出时打印 TUI 会话信息 @etraut-openai
- #27507 lint:允许自文档化的 builder 参数 @anp-oai
- #27420 [codex] 传播插件应用类别 @charlesgong-openai
- #27454 [codex] 添加跨平台文件系统适配器覆盖 @anp-oai
- #27415 [codex] 在 codex exec 中显示运行时警告 @anp-oai
- #27639 [codex] 回退并发 npm 发布 @tamird
- #27646 feat:暂时禁用 orchestrator skills @jif-oai
- #27323 [codex] 提供 ARM64 MinGW powl 兼容性支持 @anp-oai
- #27433 [codex] 移除 EnvironmentPathRef @anp-oai
- #27424 [codex] 将 ExecutorFileSystem 路径迁移到 PathUri @anp-oai
- #27101 [codex] 通过注入的 provider 加载用户指令 @anp-oai
- #27634 通过 catalog 解析 MCP 服务器注册 @jif-oai
- #27122 core:整合 Responses API Codex 元数据 @owenlin0
- #27450 [codex-rs] 强制执行 PAT 工作区限制 @cooper-oai
- #27653 [codex] 将 exec-server 文件系统协议迁移到 PathUri @anp-oai
- #27663 在 token 预算上下文中包含 thread id @pakrym-oai
- #26418 [codex] 避免使用 profiles 时重复发现 hooks.json @abhinav-oai
- #27689 feat:在模型 provider 中优先使用托管 Bedrock 认证 @celia-oai
- #27700 从 exec-server 协议中移除 fs/join 和 fs/parent @anp-oai
- #26426 当 hooks.json 包含不支持的顶层字段时发出警告 @abhinav-oai
- #27318 [codex] 将持久化策略应用移入 ThreadStore @wiltzius-openai
- #27498 通过 turn environments v2 路由图像扩展读取 @won-openai
- #27623 为 turn 生命周期缺口添加 spans @mchen-oai
- #27619 tui:在 turn 完成后清除陈旧的 hook 行 @kotakem-openai
- #27711 修复图像扩展 PathUri 转换 @anp-oai
- #27475 [codex] 从第一方代码中移除 async_trait @anp-oai
- #27719 fix:从 sqlite 目录被当作文件的情况恢复 @ddr-oai
- #27715 ci(v8):根据相关变更对 Windows 源码构建进行门控 @cconger
- #27702 [codex] 并行化发布代码生成 @tamird
- #27709 [codex] 提前解析环境 shell 元数据 @pakrym-oai
- #27445 feat(app-server):持久化远程控制期望状态 @apanasenko-oai
- #27508 [1 of 3] 支持较长的原始 TUI goal 目标 @etraut-openai
- #27256 添加 request_user_input 自动解决窗口契约 @shijie-oai
- #27724 code-mode standalone:提取协议并添加 host crate @cconger
- #27778 翻译非英语 issue @etraut-openai
- #27316 保持 request_user_input 仅限 direct-model @shijie-oai
- #27696 [codex] 从所有绑定环境加载 AGENTS.md @anp-oai
- #27670 使 MCP 服务器贡献按 thread 作用域隔离 @jif-oai
- #27732 [code-mode] 拒绝来自输出 helper 的远程图像 URL @rka-oai
- #27692 添加由 executor 拥有的插件解析 @jif-oai
- #27863 提取共享的插件 MCP 配置解析 @jif-oai
- #27703 [codex] 恢复源特定的导入文案 @stefanstokic-oai
- #27879 fix:串行化认证环境测试 @jif-oai
- #27791 拒绝侧边对话中的 transcript 回溯 @etraut-openai
- #27075 [ez][codex-rs] 支持在应用默认值中配置 approvals reviewer @zamoshchin-openai
- #27538 为 Python SDK 工具使用依赖组 @charliemarsh-oai
- #27783 不依赖缓存持久化更新忽略状态 @etraut-openai
- #27814 tui:允许 /goal 命令中有额外的 o @btraut-openai
- #27901 使用 uv 作为 Python SDK 构建后端 @charliemarsh-oai
- #27720 realtime:添加 AVAS 架构覆盖 @bakks
- #27919 chore:更新 MAv2 提示词 @jif-oai
- #27816 sandboxing:将 cwd 输入迁移到 PathUri @anp-oai
- #27890 [codex] 暴露远程插件共享 URL @ericning-o
- #27913 [codex] 统一 apply patch 解析 @pakrym-oai
- #27920 将独立图像生成失败作为终端项处理 @won-openai
- #27927 [codex] 将大小添加到内部文件系统元数据 @pakrym-oai
- #27504 feat:添加 secret 认证存储配置 @celia-oai
- #27674 [login] 在开始登录前撤销现有认证 @cooper-oai
- #27535 feat:添加认证专用的加密 secret 命名空间 @celia-oai
- #27939 [codex] 添加 crate API 表面审查规则 @pakrym-oai
- #27926 [codex] 使隐式 skill 读取与解析器一致 @alexsong-oai
- #23254 fix(plugins) 移除插件描述 @dylan-hurd-oai
- #27830 支持明文 agent 消息 @jif-oai
- #27801 移除 TUI realtime 语音支持 @etraut-openai
- #27539 feat:为 CLI 认证使用加密本地 secret @celia-oai
- #27076 对结构化功能开关发出警告 @canvrno-oai
- #27541 feat:为 MCP OAuth 使用加密本地 secret @celia-oai
- #27936 [codex] 为 realtime append text 添加角色 @agamble-oai
- #27509 [2 of 3] 支持 TUI goal 中的长粘贴文本 @etraut-openai
- #27109 添加 Guardian catalog 诊断元数据 @won-openai
- #27966 在 AGENTS.md 中指定平台支持 @anp-oai
- #27855 [codex] 并行化 Windows 压缩 @tamird
- #27499 将 composer 中 TUI 统一 mentions 提升为默认 mentions 功能 @canvrno-oai
- #27972 [codex] 让通用测试 turn 继承其环境 @pakrym-oai
- #27856 [codex] 并行打包 Windows 符号 @tamird
- #27976 [codex] 使 PathUri::from_abs_path 不会失败 @anp-oai
- #27854 [codex] 并行化 Windows 包归档 @tamird
- #27853 [codex] 并发暂存 npm 包 @tamird
- #27710 [codex] 添加延迟追踪 spans @rphilizaire-openai
- #27510 [3 of 3] 支持 TUI goal 中的图像 @etraut-openai
- #27925 feat(tui):重新合入 token activity 命令 @fcoury-oai
- #27988 [codex] 将基于应用的插件建议限制为远程 catalog @xl-openai
- #27652 [codex] 将认证模式添加到插件管理器构造函数 @felixxia-oai
- #27964 [codex] 添加 hermetic Wine 测试支持 @anp-oai
- #27459 [codex] 按认证路由门控插件 MCP 服务器 @felixxia-oai
- #27961 feat(app-server):强制禁用托管远程控制 @apanasenko-oai
- #27937 [codex] 添加 hermetic Wine exec-server 测试 @anp-oai
- #27996 [codex] 通过 WebSocket 发送请求作用域的 turn 状态 @aibrahim-oai
- #28002 [codex] 通过 compact 请求发送 turn 状态 @aibrahim-oai