## 新功能
- 目标(Goals)现默认启用,由专用存储支持,并可跨活动轮次追踪进度。(#23300, #23685, #23696, #23732)
- `codex remote-control` 现在像前台命令一样运行,等待就绪,报告机器状态,并保留显式的守护进程风格 `start`/`stop` 命令。(#22878)
- 权限配置文件获得了列表 API、继承、托管的 `requirements.toml` 支持、运行时刷新行为以及更强的 Windows 沙箱集成。(#22928, #23412, #22270, #23433, #22931, #23715)
- 插件发现更易于检查,支持市场感知的列表输出、已安装版本、可见的市场根目录以及远程集合支持。(#23372, #23584, #23727, #23730)
- 扩展可以观察更多生命周期事件,包括子代理启动/停止、工具执行、轮次元数据以及异步审批/轮次处理。(#22782, #22873, #23309, #23688, #23690, #23692)
## 错误修复
- 修复了 TUI 启动时在重用本地应用服务器套接字时选择错误工作目录的问题。(#23538)
- 修复了计划模式下的自由格式回答,使得修改后的 Enter 键(如 Shift+Enter)不再意外提交。(#23536)
- 移除了进程退出后过时的后台终端轮询事件。(#23231)
- 保留了原始代码模式下的执行输出,除非显式请求了输出令牌限制。(#23564)
- 使 AGENTS 指令加载更加可靠,包括本地全局读取和对无效 UTF-8 的警告而非静默丢弃。(#23343, #23232)
- 修复了应用服务器启动/停止竞态条件、空恢复/分支路径、插件升级失败以及实时 v1 WebSocket 兼容性问题。(#23516, #23578, #23400, #23356, #23771)
## 文档
- 为插件创建者添加了更清晰的关于更新和重新安装本地个人插件的指南。(#23542)
- 扩展了应用服务器/API 文档和模式覆盖范围,围绕托管权限配置文件需求。(#23433, #23555)
## 杂项
- 添加了规范的 Codex 软件包归档流水线,并将安装程序、npm 包、DotSlash 和 SDK 运行时迁移到该共享布局。(#23513, #23582, #23586, #23596, #23635, #23636, #23637, #23638, #23786)
- 修复了 Linux Python 运行时轮子标签,使得基于 glibc 的系统可以安装运行时工件。(#21812)
- 通过软件包构建器测试、预构建资源打包、DotSlash zstd 处理、按平台分片的 Rust 测试以及 Codex Linux 发布运行器,改进了发布和 CI 可靠性。(#23760, #23759, #23752, #23358, #23761)
## 更新日志
完整更新日志:https://github.com/openai/codex/compare/rust-v0.132.0...rust-v0.133.0
- #23343 codex: 通过 LOCAL_FS 路由全局 AGENTS 读取 @starr-openai
- #22380 修复:将未知工具模式默认为空模式 @celia-oai
- #23309 添加工具生命周期扩展贡献者 @jif-oai
- #23253 减少 rust-ci-full Windows nextest 超时波动 @starr-openai
- #22878 改进 `codex remote-control` CLI UX @owenlin0
- #21812 发布具有 glibc 兼容标签的 Linux 运行时轮子 @aibrahim-oai
- #22709 [codex] 修剪未使用的 TurnContextItem 字段 @pakrym-oai
- #23353 在插件 MCP 工具元数据中包含插件 ID @mzeng-openai
- #22728 [codex] 将待处理输入移入输入队列 @pakrym-oai
- #23371 修复(tui):警告不支持的 iTerm2 宠物版本 @fcoury-oai
- #23376 [codex-analytics] 为执行线程保留用户线程来源 @marksteinbrick-oai
- #23360 应用服务器:在 v2 权限参数中使用配置文件 ID @bolinfest
- #23384 [codex] 移除外部 WebSocket 会话重置 @pakrym-oai
- #22721 清理:移除技能环境变量依赖提示 @xl-openai
- #23389 移除 ToolSearch 功能开关 @sayan-oai
- #23080 [1 of 7] 向 UserInput 添加线程设置 @etraut-openai
- #23081 [2 of 7] 移除 UserInputWithTurnContext @etraut-openai
- #23075 [3 of 7] 移除 UserTurn @etraut-openai
- #23396 [codex] 提取轮次技能和插件注入 @pakrym-oai
- #23356 修复(plugins):保持版本升级为累加式 @iceweasel-oai
- #22508 [5 of 7] 用 ThreadSettings 替换 OverrideTurnContext @etraut-openai
- #22086 CI:自定义 v8 构建 @cconger
- #23390 移除显式的连接器工具取消延迟 @sayan-oai
- #22928 核心:暴露权限配置文件选择器元数据 @viyatb-oai
- #23352 为全历史代理分支保留上下文基线 @jif-oai
- #23300 功能:专用目标数据库 @jif-oai
- #22835 从工具规划中移除 ToolsConfig @jif-oai
- #22870 添加 `body_after_prefix` 自动压缩令牌限制范围 @jif-oai
- #23144 将 v1 多代理工具延迟到工具搜索后面 @jif-oai
- #23409 [codex] 允许空的轮次/启动请求 @pakrym-oai
- #23388 [codex] 将钩子请求管道移至钩子运行时 @pakrym-oai
- #23405 [codex] 将转向输入保留为用户输入 @pakrym-oai
- #22914 [2 of 4] tui:通过应用服务器路由应用和技能启用 @etraut-openai
- #23397 [codex] 使上下文用户片段可动态渲染 @pakrym-oai
- #23475 杂项:为 v1 子代理工具命名空间 @jif-oai
- #23493 使 `deny` 成为文件系统权限条目的规范形式 @viyatb-oai
- #22929 强化 CLI 速率限制窗口标签 @ase-openai
- #22782 添加 SubagentStart 钩子 @abhinav-oai
- #23513 构建:添加 Codex 包构建器 @bolinfest
- #23369 在 EnvironmentManager 中使本地环境可选 @starr-openai
- #23327 重构执行服务器 WebSocket 泵 @starr-openai
- #23536 修复(tui):在计划问题中保留修改后的回车键 @fcoury-oai
- #23400 修复空发布路径的应用服务器处理 @wiltzius-openai
- #23551 通过处理器路由仅限本地的应用服务器门控 @starr-openai
- #23372 将插件安装发现拆分为列表和请求工具 @mzeng-openai
- #23516 修复:序列化 Unix 应用服务器启动 @efrazer-oai
- #22169 [codex] 遵循角色定义的服务等级 @aibrahim-oai
- #23555 为锁定计算机使用添加 CUA 需求小节 @adams-oai
- #23538 修复:TUI 在错误的工作目录下启动 @canvrno-oai
- #23526 构建:为 Codex 包获取 rg @bolinfest
- #23573 移除未使用的 ARC 监视路径 @mzeng-openai
- #23576 测试:修复多代理服务等级断言 @bolinfest
- #23541 构建:默认 Codex 包目标和输出 @bolinfest
- #23358 按平台分散 rust-ci-full nextest @starr-openai
- #23593 功能:暴露 codex-app-server 版本标志 @bolinfest
- #23412 功能:添加权限配置文件列表 API @viyatb-oai
- #23535 将插件和技能预热移至会话启动 @aibrahim-oai
- #23231 修复过时的后台终端轮询事件 @etraut-openai
- #23564 [codex] 默认保留原始代码模式执行输出 @aibrahim-oai
- #23232 警告 AGENTS.md 文件中的无效 UTF-8 @etraut-openai
- #23584 功能:添加垂直远程插件集合支持 @xl-openai
- #23586 构建:打包预构建的 Codex 入口点 @bolinfest
- #23582 ci:在发布流程中构建 Codex 包归档 @bolinfest
- #23596 运行时:检测 Codex 包布局 @bolinfest
- #23500 向 FunctionCallOutput 添加加密内容 @sayan-oai
- #23633 将执行服务器远程注册迁移到环境 @richardopenai
- #23451 为远程压缩请求添加超时 @jif-oai
- #23667 功能:重命名 1 @jif-oai
- #23669 功能:重命名 3 @jif-oai
- #23668 功能:重命名 2 @jif-oai
- #23675 修复:main @jif-oai
- #23685 功能:将目标扩展工具连接到专用目标存储 @jif-oai
- #23690 功能:异步审批贡献 @jif-oai
- #23692 功能:异步轮次项处理 @jif-oai
- #23688 功能:向扩展暴露轮次启动元数据 @jif-oai
- #23605 [codex] 从代码模式提示中隐藏延迟工具 @pakrym-oai
- #23634 运行时:为捆绑的 bwrap 使用安装上下文 @bolinfest
- #23635 发布:发布 Codex 包归档校验和 @bolinfest
- #23592 功能:为侧斜杠命令添加 btw 别名 @anp-oai
- #23696 功能:在目标扩展中记录活动目标进度 @jif-oai
- #23176 [2 of 2] 在后台启动全新 TUI 线程 @etraut-openai
- #23578 修复(app-server):加速关闭 @fcoury-oai
- #22896 windows-sandbox:添加已解析权限辅助函数 @bolinfest
- #23502 添加线程/设置/更新应用服务器 API @etraut-openai
- #23507 通过应用服务器同步 TUI 线程设置 @etraut-openai
- #23666 功能:向扩展工具调用添加 turn_id 和 truncation_policy @jif-oai
- #23636 安装:使用 Codex 包归档 @bolinfest
- #23717 [codex] 保留失败的目标核算刷新 @jif-oai
- #23655 添加独立网络搜索 API 客户端 @sayan-oai
- #23724 修复线程设置的 clippy 失败 @etraut-openai
- #23637 npm:在 Codex 包布局中分发平台包 @bolinfest
- #23729 修复(config):解析云需求中的拒绝读取全局模式 @viyatb-oai
- #23638 dotslash:从包归档发布 Codex 入口点 @bolinfest
- #22918 windows-sandbox:将权限配置文件发送到提权运行器 @bolinfest
- #23735 windows-sandbox:共享捆绑辅助函数查找 @bolinfest
- #18868 添加 MITM 钩子配置模型 @evawong-oai
- #22270 功能(permissions):解析权限配置文件继承 @viyatb-oai
- #23719 cli:为执行服务器添加严格配置 @bolinfest
- #23542 [skills] 为插件创建者创建个人更新流程 @caseychow-oai
- #21272 支持紧凑的 SessionStart 钩子 @abhinav-oai
- #20659 将 MITM 钩子接入运行时执行 @evawong-oai
- #23752 发布:为包归档使用 DotSlash zstd @bolinfest
- #22923 windows-sandbox:从已解析权限驱动写入根目录 @bolinfest
- #23761 杂项:为 Rust 发布使用 Codex Linux 运行器 @bolinfest
- #23759 发布:打包预构建资源二进制文件 @bolinfest
- #23167 windows-sandbox:从已解析权限提供设置 @bolinfest
- #22931 核心:在运行时刷新活动权限配置文件 @viyatb-oai
- #22873 添加 SubagentStop 钩子 @abhinav-oai
- #23727 功能(plugins):以表格形式输出插件列表 @caseychow-oai
- #23732 使目标功能默认开启且不再作为实验性 @etraut-openai
- #23537 遵循客户端解析的服务等级默认值 @shijie-oai
- #23771 [codex] 修复实时 v1 WebSocket 兼容性 @guinness-oai
- #23764 移除 Windows 沙箱资源戳记 @iceweasel-oai
- #23730 [codex] 列出插件发现考虑的市场 @caseychow-oai
- #23760 ci:运行 Codex 包构建器测试 @bolinfest
- #23737 [codex] 向 MCP 工具调用项添加插件 ID @mzeng-openai
- #18240 使用命名的 MITM 权限配置 @evawong-oai
- #23774 [codex] 在禁用审批时拒绝只读回退 @viyatb-oai
- #23714 windows-sandbox:添加配置文件原生提权 API @bolinfest
- #23433 功能:在 requirements.toml 中支持托管权限配置文件 @viyatb-oai
- #23715 核心:将权限配置文件传递给 Windows 运行器 @bolinfest
- #23786 sdk:启动打包的 Codex 运行时 @bolinfest
## New Features
- Goals are now enabled by default, backed by dedicated storage, and track progress across active turns. (#23300, #23685, #23696, #23732)
- `codex remote-control` now runs like a foreground command, waits for readiness, reports machine status, and keeps explicit daemon-style `start`/`stop` commands. (#22878)
- Permission profiles gained list APIs, inheritance, managed `requirements.toml` support, runtime refresh behavior, and stronger Windows sandbox integration. (#22928, #23412, #22270, #23433, #22931, #23715)
- Plugin discovery is easier to inspect, with marketplace-aware list output, installed versions, visible marketplace roots, and remote collection support. (#23372, #23584, #23727, #23730)
- Extensions can observe more lifecycle events, including subagent start/stop, tool execution, turn metadata, and async approval/turn processing. (#22782, #22873, #23309, #23688, #23690, #23692)
## Bug Fixes
- Fixed TUI startup choosing the wrong working directory when reusing a local app-server socket. (#23538)
- Fixed plan-mode free-form answers so modified Enter keys, like Shift+Enter, no longer submit unexpectedly. (#23536)
- Removed stale background terminal poll events after a process exits. (#23231)
- Preserved raw code-mode exec output unless an explicit output token limit is requested. (#23564)
- Made AGENTS instruction loading more reliable, including local global reads and warnings for invalid UTF-8 instead of silent drops. (#23343, #23232)
- Fixed app-server startup/shutdown races, empty resume/fork paths, plugin upgrade failures, and realtime v1 websocket compatibility. (#23516, #23578, #23400, #23356, #23771)
## Documentation
- Added clearer plugin-creator guidance for updating and reinstalling local personal plugins. (#23542)
- Expanded app-server/API docs and schema coverage around managed permission profile requirements. (#23433, #23555)
## Chores
- Added a canonical Codex package archive pipeline and moved installers, npm packages, DotSlash, and SDK runtimes toward that shared layout. (#23513, #23582, #23586, #23596, #23635, #23636, #23637, #23638, #23786)
- Fixed Linux Python runtime wheel tags so glibc-based systems can install the runtime artifacts. (#21812)
- Improved release and CI reliability with package-builder tests, prebuilt resource packaging, DotSlash zstd handling, platform-sharded Rust tests, and Codex Linux release runners. (#23760, #23759, #23752, #23358, #23761)
## Changelog
Full Changelog: https://github.com/openai/codex/compare/rust-v0.132.0...rust-v0.133.0
- #23343 codex: route global AGENTS reads through LOCAL_FS @starr-openai
- #22380 fix: default unknown tool schemas to empty schemas @celia-oai
- #23309 Add tool lifecycle extension contributor @jif-oai
- #23253 Reduce rust-ci-full Windows nextest timeout flakes @starr-openai
- #22878 Improve `codex remote-control` CLI UX @owenlin0
- #21812 Publish Linux runtime wheels with glibc-compatible tags @aibrahim-oai
- #22709 [codex] Trim unused TurnContextItem fields @pakrym-oai
- #23353 Include plugin id in plugin MCP tool metadata @mzeng-openai
- #22728 [codex] Move pending input into input queue @pakrym-oai
- #23371 fix(tui): warn on unsupported iTerm2 pet versions @fcoury-oai
- #23376 [codex-analytics] preserve user thread source for exec threads @marksteinbrick-oai
- #23360 app-server: use profile ids in v2 permission params @bolinfest
- #23384 [codex] Remove external websocket session resets @pakrym-oai
- #22721 cleanup: Remove skill env var dependency prompting @xl-openai
- #23389 Remove ToolSearch feature toggle @sayan-oai
- #23080 [1 of 7] Add thread settings to UserInput @etraut-openai
- #23081 [2 of 7] Remove UserInputWithTurnContext @etraut-openai
- #23075 [3 of 7] Remove UserTurn @etraut-openai
- #23396 [codex] Extract turn skill and plugin injections @pakrym-oai
- #23356 fix(plugins): keep version upgrades additive @iceweasel-oai
- #22508 [5 of 7] Replace OverrideTurnContext with ThreadSettings @etraut-openai
- #22086 CI: Customize v8 building @cconger
- #23390 Remove explicit connector tool undeferral @sayan-oai
- #22928 core: expose permission profile picker metadata @viyatb-oai
- #23352 Preserve context baselines for full-history agent forks @jif-oai
- #23300 feat: dedicated goal DB @jif-oai
- #22835 Remove ToolsConfig from tool planning @jif-oai
- #22870 Add `body_after_prefix` auto-compact token limit scope @jif-oai
- #23144 Defer v1 multi-agent tools behind tool search @jif-oai
- #23409 [codex] Allow empty turn/start requests @pakrym-oai
- #23388 [codex] Move hook request plumbing into hook runtime @pakrym-oai
- #23405 [codex] Preserve steer input as user input @pakrym-oai
- #22914 [2 of 4] tui: route app and skill enablement through app server @etraut-openai
- #23397 [codex] Make contextual user fragments dyn-renderable @pakrym-oai
- #23475 chore: namespace v1 sub-agent tools @jif-oai
- #23493 Make `deny` canonical for filesystem permission entries @viyatb-oai
- #22929 Harden CLI rate limit window labels @ase-openai
- #22782 Add SubagentStart hook @abhinav-oai
- #23513 build: add Codex package builder @bolinfest
- #23369 Make local environment optional in EnvironmentManager @starr-openai
- #23327 Refactor exec-server websocket pump @starr-openai
- #23536 fix(tui): preserve modified enter in plan questions @fcoury-oai
- #23400 Fix empty rollout path app-server handling @wiltzius-openai
- #23551 Route local-only app-server gating through processors @starr-openai
- #23372 Split plugin install discovery into list and request tools @mzeng-openai
- #23516 fix: serialize unix app-server startup @efrazer-oai
- #22169 [codex] Honor role-defined spawn service tiers @aibrahim-oai
- #23555 Add CUA requirements subsection for locked computer use @adams-oai
- #23538 Fix: TUI starting in wrong CWD @canvrno-oai
- #23526 build: fetch rg for Codex packages @bolinfest
- #23573 Remove unused ARC monitor path @mzeng-openai
- #23576 test: fix multi-agent service tier assertion @bolinfest
- #23541 build: default Codex package target and output @bolinfest
- #23358 Fan out rust-ci-full nextest by platform @starr-openai
- #23593 feat: expose codex-app-server version flag @bolinfest
- #23412 feat: add permission profile list api @viyatb-oai
- #23535 Move plugin and skill warmup into session startup @aibrahim-oai
- #23231 Fix stale background terminal poll events @etraut-openai
- #23564 [codex] Preserve raw code-mode exec output by default @aibrahim-oai
- #23232 Warn on invalid UTF-8 in AGENTS.md files @etraut-openai
- #23584 feat: Add vertical remote plugin collection support @xl-openai
- #23586 build: package prebuilt Codex entrypoints @bolinfest
- #23582 ci: build Codex package archives in release workflow @bolinfest
- #23596 runtime: detect Codex package layout @bolinfest
- #23500 add encryptedcontent to functioncalloutput @sayan-oai
- #23633 Migrate exec-server remote registration to environments @richardopenai
- #23451 Add timeout for remote compaction requests @jif-oai
- #23667 feat: rename 1 @jif-oai
- #23669 feat: rename 3 @jif-oai
- #23668 feat: rename 2 @jif-oai
- #23675 fix: main @jif-oai
- #23685 feat: wire goal extension tools to the dedicated goal store @jif-oai
- #23690 feat: async approval contrib @jif-oai
- #23692 feat: async turn item process @jif-oai
- #23688 feat: expose turn-start metadata to extensions @jif-oai
- #23605 [codex] Hide deferred tools from code mode prompt @pakrym-oai
- #23634 runtime: use install context for bundled bwrap @bolinfest
- #23635 release: publish Codex package archive checksums @bolinfest
- #23592 feat: Add btw alias for side slash command @anp-oai
- #23696 feat: account active goal progress in the goal extension @jif-oai
- #23176 [2 of 2] Start fresh TUI thread in background @etraut-openai
- #23578 fix(app-server): speed up shutdown @fcoury-oai
- #22896 windows-sandbox: add resolved permissions helper @bolinfest
- #23502 Add thread/settings/update app-server API @etraut-openai
- #23507 Sync TUI thread settings through app server @etraut-openai
- #23666 feat: add turn_id and truncation_policy to extension tool calls @jif-oai
- #23636 install: consume Codex package archives @bolinfest
- #23717 [codex] Preserve failed goal accounting flushes @jif-oai
- #23655 add standalone websearch api client @sayan-oai
- #23724 Fix thread settings clippy failure @etraut-openai
- #23637 npm: ship platform packages in Codex package layout @bolinfest
- #23729 fix(config): resolve cloud requirements deny-read globs @viyatb-oai
- #23638 dotslash: publish Codex entrypoints from package archives @bolinfest
- #22918 windows-sandbox: send permission profiles to elevated runner @bolinfest
- #23735 windows-sandbox: share bundled helper lookup @bolinfest
- #18868 Add MITM hook config model @evawong-oai
- #22270 feat(permissions): resolve permission profile inheritance @viyatb-oai
- #23719 cli: add strict config to exec-server @bolinfest
- #23542 [skills] Create a personal update flow for plugin creator @caseychow-oai
- #21272 Support compact SessionStart hooks @abhinav-oai
- #20659 Wire MITM hooks into runtime enforcement @evawong-oai
- #23752 release: use DotSlash zstd for package archives @bolinfest
- #22923 windows-sandbox: drive write roots from resolved permissions @bolinfest
- #23761 chore: use Codex Linux runners for Rust releases @bolinfest
- #23759 release: package prebuilt resource binaries @bolinfest
- #23167 windows-sandbox: feed setup from resolved permissions @bolinfest
- #22931 core: refresh active permission profiles at runtime @viyatb-oai
- #22873 Add SubagentStop hook @abhinav-oai
- #23727 feat(plugins): tabulate plugin list output @caseychow-oai
- #23732 Make goals feature on by default and no longer experimental @etraut-openai
- #23537 Honor client-resolved service tier defaults @shijie-oai
- #23771 [codex] Fix realtime v1 websocket compatibility @guinness-oai
- #23764 Remove Windows sandbox resource stamping @iceweasel-oai
- #23730 [codex] List marketplaces considered by plugin discovery @caseychow-oai
- #23760 ci: run Codex package builder tests @bolinfest
- #23737 [codex] Add plugin id to MCP tool call items @mzeng-openai
- #18240 Use named MITM permissions config @evawong-oai
- #23774 [codex] Reject read-only fallback with approvals disabled @viyatb-oai
- #23714 windows-sandbox: add profile-native elevated APIs @bolinfest
- #23433 feat: support managed permission profiles in requirements.toml @viyatb-oai
- #23715 core: pass permission profiles to Windows runner @bolinfest
- #23786 sdk: launch packaged Codex runtimes @bolinfest