0.140.0-cometix
New Features
- Added
/usageviews for daily, weekly, and cumulative account token activity. (openai#27925) /goalnow preserves oversized text, large pasted blocks, and image attachments, including in remote app-server sessions. (openai#27508, openai#27509, openai#27510)- Added permanent session deletion through
codex delete,/delete, and app-serverthread/delete, with confirmation safeguards and subagent cleanup. (openai#25018, openai#27476) - Added
/importfor selectively importing setup, project configuration, and recent chats from Claude Code. (openai#27070, openai#27071, openai#27703) - Typing
@now opens the unified mentions menu for files, plugins, and skills by default. (openai#27499) - Added managed Amazon Bedrock API-key authentication and encrypted local storage for CLI and MCP OAuth credentials. (openai#27443, openai#27689, openai#27504, openai#27535, openai#27539, openai#27541)
Bug Fixes
- Corrupted SQLite state databases are now backed up and rebuilt automatically from rollout data, including malformed database-directory cases. (openai#26859, openai#27719)
- Prevented
/reviewfrom crashing whenEscis pressed with queued guidance, while preserving that guidance when the review is canceled. (openai#22879) - Improved MCP reliability by retrying transient startup failures, reporting unusable OAuth credentials as logged out, and preserving explicitly disabled servers. (openai#25147, openai#26713, openai#27414)
- Fixed remote plugin uninstall requests and correctly surfaced apps requiring authentication during installation. (openai#27085, openai#27223)
- Persisted “Don’t remind me” update dismissals reliably and cleared stale running-hook indicators after completed turns. (openai#27619, openai#27783)
- Non-TTY background commands can now be interrupted with Ctrl-C while preserving their final output and exit status. (openai#26734)
Documentation
- Clarified contributor guidance around keeping crate APIs narrow and supporting Linux, macOS, and Windows. (openai#27939, openai#27966)
Chores
- Improved responsiveness for large repositories and long sessions by preserving Git’s built-in filesystem monitor, avoiding duplicate history reads, accelerating archive lookup, and caching turn-diff rendering. (openai#26880, openai#27031, openai#27276, openai#27489)
- Removed the experimental
/realtimevoice controls and related audio dependencies from the TUI. (openai#27801)
Changelog
Full Changelog: openai/codex@rust-v0.139.0...rust-v0.140.0
- openai#26880 [codex] preserve fsmonitor for worktree Git reads @tamird
- openai#27085 Use server app auth requirements for remote plugin install @xl-openai
- openai#27098 [codex] Return workspace directory installed plugins @xl-openai
- openai#27007 multi-agent: add path-based v2 activity tracking @jif-oai
- openai#27166 app-server: clear stale thread watches after v2 agent interruption @jif-oai
- openai#27080 [codex] Ignore pending PR review comments @anp-oai
- openai#26420 Avoid no-op backfill state writes @zanie-oai
- openai#27031 Avoid rereading rollout history during cold resume @zanie-oai
- openai#22879 fix: Prevent /review crash when entering Esc on steer message @canvrno-oai
- openai#27173 app-server: reject direct input to multi-agent v2 sub-agents @jif-oai
- openai#27184 Load selected executor skills through extensions @jif-oai
- openai#26835 [codex] Test extension API contracts @anp-oai
- openai#27063 [codex-analytics] add extensible feature thread sources @marksteinbrick-oai
- openai#26479 [codex] Speed up local nextest runs @anp-oai
- openai#27223 fix: use plugin service route for remote uninstall @ericning-o
- openai#22685 Add SOCKS5 TCP MITM coverage @winston-openai
- openai#26681 Allow creating a new goal after completion @etraut-openai
- openai#26711 Reduce TUI legacy core dependencies @etraut-openai
- openai#27110 [1/6] Add Python goal routing foundation @aibrahim-oai
- openai#27191 Route hosted Apps MCP through extensions @jif-oai
- openai#26830 [codex] Characterize global instruction lifecycle @anp-oai
- openai#26713 [codex] Report unusable MCP OAuth credentials as logged out @anp-oai
- openai#26734 [codex] Handle Ctrl-C for non-TTY unified exec @pakrym-oai
- openai#27116 Stop mirroring Codex user input into realtime @guinness-oai
- openai#27111 [2/6] Add private Python goal operations @aibrahim-oai
- openai#25147 [codex] Retry streamable HTTP initialize failures @ssetty-oai
- openai#27257 [codex] Tighten MCP connection manager API visibility and order @aibrahim-oai
- openai#26701 TUI Plugin Sharing 1 - add remote plugin identity @canvrno-oai
- openai#27129 feat: use provider defaults for memory models @celia-oai
- openai#27094 Add spans to build_tool_router @mchen-oai
- openai#24999 Add per-session realtime model and version overrides @guinness-oai
- openai#27078 [codex-analytics] emit goal lifecycle analytics @marksteinbrick-oai
- openai#27285 [codex] Fix post-merge analytics integration failures @anp-oai
- openai#27107 Add spans to run_turn @mchen-oai
- openai#27261 [codex] Make MCP connection startup fallible @aibrahim-oai
- openai#27174 feat: keep child MCP warnings out of parent transcript @jif-oai
- openai#27198 Use plugin-service MCP as the hosted plugin runtime @jif-oai
- openai#27375 [codex] Tag multi-agent spawn metrics with version @jif-oai
- openai#27383 Remove async-trait from extension contributors @jif-oai
- openai#27259 Use latest-wins MCP manager replacement @charliemarsh-oai
- openai#27264 [codex] Store compact window id in rollout @pakrym-oai
- openai#27280 [codex] add io PathUri native conversion APIs @anp-oai
- openai#27315 [codex] link Windows releases with LLD @tamird
- openai#27276 Reduce archive rollout lookup CPU @etraut-openai
- openai#27299 [codex] Outline ToolExecutor handler bodies @anp-oai
- openai#27391 Index visible thread list ordering @zanie-oai
- openai#27407 Fix compressed rollout search path matching @jif-oai
- openai#27304 [codex] Remove async_trait from ToolExecutor @anp-oai
- openai#26041 Add app-server background terminal process APIs @etraut-openai
- openai#25018 Add app-server
thread/deleteAPI @etraut-openai - openai#26859 fix: Auto-recover from corrupted sqlite databases @ddr-oai
- openai#27064 [codex] remove blocking external agent migration flow @stefanstokic-oai
- openai#27421 [codex] Raise app-server recursion limit @anp-oai
- openai#27062 [codex] Retry transient Guardian review failures @kbazzi
- openai#27065 [codex] extract external agent import picker renderer @stefanstokic-oai
- openai#26409 [plugins] Inject remote_plugin_id into install elicitations @adaley-openai
- openai#27439 feat: make ThreadStore available on ThreadExtensionDependencies @bolinfest
- openai#27343 Guard core test subprocess cleanup @etraut-openai
- openai#27070 [codex] add external agent import picker UX @stefanstokic-oai
- openai#27321 [codex] Move release platform rules into bazel package @anp-oai
- openai#27071 [codex] add /import for external agents @stefanstokic-oai
- openai#27311 [codex] Skip local curated discovery for remote plugins @xl-openai
- openai#27414 [codex] Preserve disabled MCP servers across runtime overlays @e-provencher
- openai#27312 [codex] reuse release artifacts for npm staging @tamird
- openai#27319 Forward standalone assistant output to realtime @guinness-oai
- openai#27057 [codex] Add reusable OTEL gauge instruments @richardopenai
- openai#27245 image: add shared data URL preparation utilities @fjord-oai
- openai#27392 [codex-analytics] emit internally started turn events @marksteinbrick-oai
- openai#27322 [codex] Preserve build-script dependencies in rules_rs annotations @anp-oai
- openai#27489 core: cache turn diff rendering @nornagon-openai
- openai#27465 [codex] Remove redundant plugin app auth state @xl-openai
- openai#27484 Remove TUI legacy core test_support dependencies @etraut-openai
- openai#27476 Add session delete commands in CLI and TUI @etraut-openai
- openai#27247 core: resize all history images behind a feature flag @fjord-oai
- openai#27487 Trim TUI legacy telemetry and migration dependencies @etraut-openai
- openai#27438 [codex] Add token budget context feature @pakrym-oai
- openai#27501 [codex] Expand hosted web search citation guidance @yuning-oai
- openai#27526 tools: simplify default tool search text @sayan-oai
- openai#27488 [codex] Add new context window tool @pakrym-oai
- openai#27443 feat: add Bedrock API key as a managed auth mode @celia-oai
- openai#27532 [codex] Add comp_hash to model metadata @aibrahim-oai
- openai#27246 core: strip image detail from Responses Lite requests @fjord-oai
- openai#27517 [codex] Pass auth mode to plugin manager @xl-openai
- openai#27520 [codex] Compact when comp_hash changes @aibrahim-oai
- openai#27518 [codex] Add context remaining tool @pakrym-oai
- openai#27266 image: preserve metadata when resizing prompt images @fjord-oai
- openai#27103 [codex-analytics] report cached input tokens for v2 compaction @rhan-oai
- openai#27356 Use generic search metadata for dynamic tools @sayan-oai
- openai#27082 [codex-analytics] Emit structured compaction codex errors @rhan-oai
- openai#26513 [codex] Tune cloud config cache intervals @alexsong-oai
- openai#27387 skills: make backend plugin skills invocable without an executor @jif-oai
- openai#27403 skills: cache remote catalog failures per thread @jif-oai
- openai#27573 core: enable remote compaction v2 by default @jif-oai
- openai#27388 skills: expose remote skill resource tools @jif-oai
- openai#27569 multi-agent: move concurrency guidance into v2 usage hints @jif-oai
- openai#27585 nit: cap error @jif-oai
- openai#27404 test: cover referenced backend skill reads without an executor @jif-oai
- openai#27591 skills: render catalog locators by authority @jif-oai
- openai#27413 skills: decouple the skills extension from core @jif-oai
- openai#27527 [codex] publish npm packages concurrently @tamird
- openai#27528 [codex] publish DotSlash alongside npm @tamird
- openai#27529 [codex] download only release artifacts @tamird
- openai#27490 Remove TUI legacy Windows sandbox dependency @etraut-openai
- openai#27483 Emit plugin ID on MCP tool call analytics events @chrisdong-oai
- openai#27417 Print TUI session info on fatal exits @etraut-openai
- openai#27507 lint: allow self-documenting builder arguments @anp-oai
- openai#27420 [codex] Propagate plugin app categories @charlesgong-openai
- openai#27454 [codex] add cross-platform filesystem adapter coverage @anp-oai
- openai#27415 [codex] Surface runtime warnings in codex exec @anp-oai
- openai#27639 [codex] revert concurrent npm publishing @tamird
- openai#27646 feat: disable orchestrator skills for now @jif-oai
- openai#27323 [codex] Provide ARM64 MinGW powl compatibility support @anp-oai
- openai#27433 [codex] remove EnvironmentPathRef @anp-oai
- openai#27424 [codex] migrate ExecutorFileSystem paths to PathUri @anp-oai
- openai#27101 [codex] Load user instructions through an injected provider @anp-oai
- openai#27634 Resolve MCP server registrations through a catalog @jif-oai
- openai#27122 core: Consolidate Responses API Codex metadata @owenlin0
- openai#27450 [codex-rs] enforce PAT workspace restrictions @cooper-oai
- openai#27653 [codex] migrate exec-server filesystem protocol to PathUri @anp-oai
- openai#27663 Include thread id in token budget context @pakrym-oai
- openai#26418 [codex] Avoid duplicate hooks.json discovery with profiles @abhinav-oai
- openai#27689 feat: prefer managed Bedrock auth in model provider @celia-oai
- openai#27700 Remove fs/join and fs/parent from exec-server protocol @anp-oai
- openai#26426 Warn when hooks.json has unsupported top-level fields @abhinav-oai
- openai#27318 [codex] Move persistence policy application into ThreadStore @wiltzius-openai
- openai#27498 Route image extension reads through turn environments v2 @won-openai
- openai#27623 Add spans to turn lifecycle gaps @mchen-oai
- openai#27619 tui: clear stale hook row after turn completion @kotakem-openai
- openai#27711 Fix image extension PathUri conversion @anp-oai
- openai#27475 [codex] Remove async_trait from first-party code @anp-oai
- openai#27719 fix: Recover from sqlite directory being a file @ddr-oai
- openai#27715 ci(v8): gate Windows source builds on relevant changes @cconger
- openai#27702 [codex] parallelize release code generation @tamird
- openai#27709 [codex] resolve environment shell metadata eagerly @pakrym-oai
- openai#27445 feat(app-server): persist remote-control desired state @apanasenko-oai
- openai#27508 [1 of 3] Support long raw TUI goal objectives @etraut-openai
- openai#27256 Add request_user_input auto-resolution window contract @shijie-oai
- openai#27724 code-mode standalone: extract protocol and add host crate @cconger
- openai#27778 Translate non-English issues @etraut-openai
- openai#27316 Keep request_user_input direct-model only @shijie-oai
- openai#27696 [codex] Load AGENTS.md from all bound environments @anp-oai
- openai#27670 Make MCP server contributions thread-scoped @jif-oai
- openai#27732 [code-mode] Reject remote image URLs from output helpers @rka-oai
- openai#27692 Add executor-owned plugin resolution @jif-oai
- openai#27863 Extract shared plugin MCP config parsing @jif-oai
- openai#27703 [codex] restore source-specific import copy @stefanstokic-oai
- openai#27879 fix: serialize auth environment tests @jif-oai
- openai#27791 Reject transcript backtrack in side conversations @etraut-openai
- openai#27075 [ez][codex-rs] Support approvals reviewer in app defaults @zamoshchin-openai
- openai#27538 Use dependency groups for Python SDK tooling @charliemarsh-oai
- openai#27783 Persist update dismissal without cache @etraut-openai
- openai#27814 tui: Allow extra o's in /goal command @btraut-openai
- openai#27901 Use uv as Python SDK build backend @charliemarsh-oai
- openai#27720 realtime: add AVAS architecture override @bakks
- openai#27919 chore: prompt MAv2 @jif-oai
- openai#27816 sandboxing: migrate cwd inputs to PathUri @anp-oai
- openai#27890 [codex] expose remote plugin share URL @ericning-o
- openai#27913 [codex] unify apply patch parsing @pakrym-oai
- openai#27920 Handle standalone image generation failures as terminal items @won-openai
- openai#27927 [codex] Add size to internal filesystem metadata @pakrym-oai
- openai#27504 feat: add secret auth storage configuration @celia-oai
- openai#27674 [login] revoke existing auth before starting login @cooper-oai
- openai#27535 feat: add auth-specific encrypted secret namespaces @celia-oai
- openai#27939 [codex] Add crate API surface review rule @pakrym-oai
- openai#27926 [codex] Align implicit skill reads with parser @alexsong-oai
- openai#23254 fix(plugins) rm plugin descriptions @dylan-hurd-oai
- openai#27830 Support plaintext agent messages @jif-oai
- openai#27801 Remove TUI realtime voice support @etraut-openai
- openai#27539 feat: use encrypted local secrets for CLI auth @celia-oai
- openai#27076 Warn for structured feature toggles @canvrno-oai
- openai#27541 feat: use encrypted local secrets for MCP OAuth @celia-oai
- openai#27936 [codex] add roles to realtime append text @agamble-oai
- openai#27509 [2 of 3] Support long pasted text in TUI goals @etraut-openai
- openai#27109 Add Guardian catalog diagnostics metadata @won-openai
- openai#27966 Specify platform support in AGENTS.md @anp-oai
- openai#27855 [codex] parallelize Windows compression @tamird
- openai#27499 Promote TUI unified mentions in composer to default mentions feature @canvrno-oai
- openai#27972 [codex] Let generic test turns inherit their environment @pakrym-oai
- openai#27856 [codex] package Windows symbols in parallel @tamird
- openai#27976 [codex] make PathUri::from_abs_path infallible @anp-oai
- openai#27854 [codex] parallelize Windows package archives @tamird
- openai#27853 [codex] stage npm packages concurrently @tamird
- openai#27710 [codex] add latency tracing spans @rphilizaire-openai
- openai#27510 [3 of 3] Support images in TUI goals @etraut-openai
- openai#27925 feat(tui): reland token activity command @fcoury-oai
- openai#27988 [codex] Limit app-based plugin suggestions to remote catalogs @xl-openai
- openai#27652 [codex] Add auth mode to plugin manager constructor @felixxia-oai
- openai#27964 [codex] Add hermetic Wine test support @anp-oai
- openai#27459 [codex] Gate plugin MCP servers by auth route @felixxia-oai
- openai#27961 feat(app-server): enforce managed remote control disable @apanasenko-oai
- openai#27937 [codex] Add hermetic Wine exec-server test @anp-oai
- openai#27996 [codex] Send request-scoped turn state over WebSocket @aibrahim-oai
- openai#28002 [codex] Send turn state through compact requests @aibrahim-oai