← 返回更新日志

Codex rust-v0.115.0

2026-03-16 · GitHub 原文
## 新特性 - 支持的模型现在可以通过 `view_image` 和 `codex.emitImage(..., detail: "original")` 请求全分辨率图像检查,这有助于提高精确视觉任务的性能。(#14175) - `js_repl` 现在暴露了 `codex.cwd` 和 `codex.homeDir`,并且保存的 `codex.tool(...)` / `codex.emitImage(...)` 引用可以在不同单元格间持续工作。(#14385, #14503) - 实时 WebSocket 会话新增了专用的转录模式,并通过 `codex` 工具支持 v2 交接,使用统一的 `[realtime]` 会话配置。(#14554, #14556, #14606) - v2 应用服务器现在提供了用于文件读取、写入、复制、目录操作和路径监视的文件系统 RPC,并新增了一个 Python SDK 用于集成该 API。(#14245, #14435) - 智能审批现在可以通过核心、应用服务器和 TUI 中的守护者子代理来路由审查请求,减少了后续审批中重复的设置工作。(#13860, #14668) - 应用集成现在使用 Responses API 的工具搜索流程,可以建议缺失的工具,并在活动模型不支持基于搜索的查找时优雅回退。(#14274, #14287, #14732) ## 问题修复 - 生成的子代理现在能更可靠地继承沙盒和网络规则,包括项目配置文件分层、持久化的主机审批以及符号链接的可写根目录。(#14619, #14650, #14674, #14807) - `js_repl` 不再因动态工具响应中包含字面量 U+2028 或 U+2029 字符而挂起。(#14421) - TUI 在创建子代理后退出时不再卡顿,且默认情况下中断一个回合不会销毁后台终端。(#14816, #14602) - `codex exec --profile` 在启动或恢复线程时再次能保留配置文件范围的设置。(#14524) - MCP 和启发式流程更加健壮,具有更安全的工具名称规范化以及在审批提示中保留 `tool_params` 的特性。(#14491, #14605, #14769) - 本地网络代理现在作为显式 HTTP/1 提供 CONNECT 流量,提高了与 HTTP 代理客户端的兼容性。(#14395) ## 杂项 - 子代理等待工具现在被统一命名为 `wait_agent`,与 `spawn_agent` 和 `send_input` 保持一致。(#14631) ## 更新日志 完整更新日志:https://github.com/openai/codex/compare/rust-v0.114.0...rust-v0.115.0 - #14395 fix(network-proxy): serve HTTP proxy listener as HTTP/1 @viyatb-oai - #14385 Add js_repl cwd and homeDir helpers @fjord-oai - #14376 Keep agent-switch word-motion keys out of draft editing @joshka-oai - #14175 Let models opt into original image detail @fjord-oai - #14382 check for large binaries in CI @owenlin0 - #14392 chore(app-server): stop emitting codex/event/ notifications @owenlin0 - #14274 feat: search_tool migrate to bring you own tool of Responses API @apanasenko-oai - #14174 refactor: centralize filesystem permissions precedence @viyatb-oai - #14394 chore(app-server): delete unused rpc methods from v1.rs @owenlin0 - #14171 fix: align core approvals with split sandbox policies @viyatb-oai - #14410 Make collab model metadata accurate on completion @aibrahim-oai - #14387 feat(app-server): propagate traces across tasks and core ops @owenlin0 - #14407 chore: use AVAILABLE and ON_INSTALL as default plugin install and auth policies @sayan-oai - #14287 [apps] Add tool_suggest tool. @mzeng-openai - #14432 Clarify spawn agent authorization @aibrahim-oai - #14295 Support waiting for code_mode sessions @pakrym-oai - #14427 feat: refactor on openai-curated plugins. @xl-openai - #13996 refactor: make bubblewrap the default Linux sandbox @viyatb-oai - #14440 fix: follow up on linux sandbox review nits @viyatb-oai - #14431 Handle pre-approved permissions in zsh fork @mousseau-oai - #14403 [elicitation] User-friendly tool call messages. @mzeng-openai - #14429 Use granted permissions when invoking apply_patch @mousseau-oai - #14471 Updated out-of-date tip about availability on free and go plans @etraut-openai - #14444 fix: move inline codex-rs/core unit tests into sibling files @bolinfest - #14437 Dispatch tools when code mode is not awaited directly @pakrym-oai - #14435 Add Python app-server SDK @shaqayeq-oai - #14473 fix(cli): support legacy use_linux_sandbox_bwrap flag @viyatb-oai - #13882 Fix stdio-to-uds peer-close flake @aibrahim-oai - #14476 Move code mode tool files under tools/code_mode and split functionality @pakrym-oai - #14475 rename spawn_csv feature flag to enable_fanout @daveaitel-openai - #14173 fix: preserve split filesystem semantics in linux sandbox @viyatb-oai - #14480 Cleanup code_mode tool descriptions @pakrym-oai - #14488 Handle malformed agent role definitions nonfatally @gabec-openai - #14398 Do not allow unified_exec for sandboxed scenarios on Windows @iceweasel-oai - #14419 use scopes_supported for OAuth when present on MCP servers @jgershen-oai - #14484 Add default code-mode yield timeout @pakrym-oai - #14494 Add parallel tool call test @pakrym-oai - #14478 chore(app-server): stop exporting EventMsg schemas @owenlin0 - #14490 fix turn_start_jsonrpc_span_parents_core_turn_spans flakiness @owenlin0 - #14496 Reuse tool runtime for code mode worker @pakrym-oai - #14421 Fix js_repl hangs on U+2028/U+2029 dynamic tool responses @aaronl-openai - #14505 Skip nested tool call parallel test on Windows @pakrym-oai - #14491 Fix MCP tool calling @pakrym-oai - #14493 memories: focus write prompts on user preferences @andi-oai - #14510 Rename exec session IDs to cell IDs @pakrym-oai - #14500 Update tool search prompts @mzeng-openai - #14426 Decouple request permissions feature and tool @mousseau-oai - #14503 Persist js_repl codex helpers across cells @fjord-oai - #14517 Expose code-mode tools through globals @pakrym-oai - #14502 feat(search_tool): gate search_tool on model supports_search_tool field @apanasenko-oai - #14521 Reapply "Pass more params to compaction" (#14298) @rasmusrygaard - #14524 Fix `codex exec --profile` handling @etraut-openai - #14516 Rename reject approval policy to granular @mousseau-oai - #14445 feat: add plugin/read. @xl-openai - #14178 login: add custom CA support for login flows @joshka-oai - #14535 Split multi-agent handlers per tool @pakrym-oai - #13329 [js_repl] Hard-stop active js_repl execs on explicit user interrupts @aaronl-openai - #14239 client: extend custom CA handling across HTTPS and websocket clients @joshka-oai - #14536 Add typed multi-agent tool outputs @pakrym-oai - #14514 fix: reopen writable linux carveouts under denied parents @viyatb-oai - #14531 Add plugin usage telemetry @alexsong-oai - #14511 code_mode: Move exec params from runtime declarations to @pragma @cconger - #14504 Refactor cloud requirements error and surface in JSON-RPC error @alexsong-oai - #14537 Add realtime v2 event parser behind feature flag @aibrahim-oai - #14529 Simplify permissions available in request permissions tool @mousseau-oai - #14522 feat: support skill-scoped managed network domain overrides in skill config @celia-oai - #14554 Add codex tool support for realtime v2 handoff @aibrahim-oai - #14556 Add realtime transcription mode for websocket sessions @aibrahim-oai - #14518 Add diagnostics for read_only_unless_trusted timeout flake @aibrahim-oai - #14603 Split multi-agent handler into dedicated files @pakrym-oai - #14526 code mode: single line tool declarations @pakrym-oai - #14400 Use a private desktop for Windows sandbox instead of Winsta0\Default @iceweasel-oai - #14558 sending back imagaegencall response back to responseapi @won-openai - #14553 Improve granular approval policy prompt @mousseau-oai - #14541 chore: clarify plugin + app copy in model instructions @sayan-oai - #14542 [bazel] Bump up cc and rust toolchains @zbarsky-openai - #14512 Start TUI on embedded app server @etraut-openai - #14606 Unify realtime v1/v2 session config @aibrahim-oai - #14527 app-server: Add platform os and family to init response @euroelessar - #14618 Use subagents naming in the TUI @aibrahim-oai - #14304 Override local apps settings with requirements.toml settings @canvrno-oai - #14479 feat(app-server, core): add more spans @owenlin0 - #13644 fix: preserve zsh-fork escalation fds across unified-exec spawn paths @bolinfest - #14617 Add code_mode_only feature @pakrym-oai - #13201 Slash copy osc52 wsl support @won-openai - #14631 Rename multi-agent wait tool to wait_agent @aibrahim-oai - #14622 Stabilize multi-agent feature flag @aibrahim-oai - #14245 app-server: add v2 filesystem APIs @euroelessar - #14605 Normalize MCP tool names to code-mode safe form @pakrym-oai - #14637 Fix wait_agent expectations in core tests @charley-oai - #13860 Add Smart Approvals guardian review across core, app-server, and TUI @charley-oai - #14639 Fix stale create_wait_tool reference @charley-oai - #14532 [hooks] stop continuation & stop_hook_active mechanics @eternal-openai - #14635 Fix realtime transcription session.update tools payload @aibrahim-oai - #14636 Use parser-specific realtime voice enum @aibrahim-oai - #14633 refactor: make unified-exec zsh-fork state explicit @bolinfest - #12031 Add openai_base_url config override for built-in provider @etraut-openai - #14645 Fix Windows CI assertions for guardian and Smart Approvals @aibrahim-oai - #14616 Fix turn context reconstruction after backtracking @charley-oai - #14619 fix: persist future network host approvals across sessions @viyatb-oai - #14650 fix: sync split sandbox policies for spawned subagents @viyatb-oai - #14609 move plugin/skill instructions into dev msg and reorder @sayan-oai - #12024 Enforce errors on overriding built-in model providers @etraut-openai - #14646 Refresh Python SDK generated types @sayan-oai - #14649 make defaultPrompt an array, keep backcompat @sayan-oai - #14501 dynamic tool calls: add param `exposeToContext` to optionally hide tool @cconger - #14651 Add argument-comment Dylint runner @bolinfest - #14674 fix: fix symlinked writable roots in sandbox policies @viyatb-oai - #14611 Add auth 401 recovery observability to client bug reports @ccy-oai - #14647 [apps] Add tool call meta. @mzeng-openai - #14732 [apps] Improve search tool fallback. @mzeng-openai - #14602 Preserve background terminals on interrupt and rename cleanup command to /stop @friel-openai - #14668 Reuse guardian session across approvals @charley-oai - #14769 fix(core): preserve tool_params for elicitations @mzeng-openai - #14807 fix: sub-agent role when using profiles @jif-oai - #14806 feat: improve skills cache key to take into account config layering @jif-oai - #13850 feat: make interrupt state not final for multi-agents @jif-oai - #14816 fix: tui freeze when sub-agents are present @jif-oai