New Features
- App-server TUI now supports device-code ChatGPT sign-in during onboarding and can refresh existing ChatGPT tokens. (#14952)
- Plugin setup is smoother: Codex can prompt to install missing plugins or connectors, honor a configured suggestion allowlist, and sync install/uninstall state remotely. (#14896, #15022, #14878)
- Added a
userpromptsubmithook so prompts can be blocked or augmented before execution and before they enter history. (#14626) - Realtime sessions now start with recent thread context and are less likely to self-interrupt during audio playback. (#14829, #14827)
Bug Fixes
- Fixed a first-turn stall where websocket prewarm could delay
turn/start; startup now times out and falls back cleanly. (#14838) - Restored conversation history for remote resume/fork in the app-server TUI and stopped duplicate live transcript output from legacy stream events. (#14930, #14892)
- Improved Linux sandbox startup on symlinked checkouts, missing writable roots, and Ubuntu/AppArmor hosts by preferring system
bwrapwhen available. (#14849, #14890, #14963) - Fixed an agent job finalization race and reduced status polling churn for worker threads. (#14843)
Documentation
- Refreshed the Python SDK public API docs, examples, and walkthrough around the generated app-server models. (#14446)
Chores
- Pinned the
setup-zigGitHub Action to an immutable SHA for more reproducible CI. (#14858)
Changelog
Full Changelog: rust-v0.115.0...rust-v0.116.0
- #14717 Move TUI on top of app server (parallel code) @etraut-openai
- #14665 Use request permission profile in app server @mousseau-oai
- #14826 Fixed build failures related to PR 14717 @etraut-openai
- #14833 fix(core): fix sanitize name to use '_' everywhere @apanasenko-oai
- #14268 memories: exclude AGENTS and skills from stage1 input @andi-oai
- #14139 windows-sandbox: add runner IPC foundation for future unified_exec @iceweasel-oai
- #14851 Add exit helper to code mode scripts @pakrym-oai
- #14828 [stack 1/4] Split realtime websocket methods by version @aibrahim-oai
- #14652 Apply argument comment lint across codex-rs @bolinfest
- #14837 skill-creator: default new skills to ~/.codex/skills @xl-openai
- #14861 Add marketplace display names to plugin/list @xl-openai
- #14878 feat: support remote_sync for plugin install/uninstall. @xl-openai
- #14830 [stack 2/4] Align main realtime v2 wire and runtime flow @aibrahim-oai
- #14886 fix: align marketplace display name with existing interface conventions @xl-openai
- #14881 [codex] add Jason as a predefined subagent name @tibo-openai
- #14864 fix: tighten up shell arg quoting in GitHub workflows @bolinfest
- #14829 [stack 3/4] Add current thread context to realtime startup @aibrahim-oai
- #14827 [stack 4/4] Reduce realtime self-interruptions during playback @aibrahim-oai
- #14849 fix: canonicalize symlinked Linux sandbox cwd @viyatb-oai
- #14892 Fix tui_app_server: ignore duplicate legacy stream events @etraut-openai
- #14899 Revert tui code so it does not rely on in-process app server @etraut-openai
- #14890 fix(linux-sandbox): ignore missing writable roots @viyatb-oai
- #14920 feat: centralize package manager version @jif-oai
- #14935 feat: rename to get more explicit close agent @jif-oai
- #14843 Fix agent jobs finalization race and reduce status polling churn @daveaitel-openai
- #14944 feat: show effective model in spawn agent event @jif-oai
- #14838 fix(core): prevent hanging turn/start due to websocket warming issues @owenlin0
- #14859 Feat: CXA-1831 Persist latest model and reasoning effort in sqlite @shijie-oai
- #14930 fix(tui): restore remote resume and fork history @fcoury
- #14955 Fix fuzzy search notification buffering in app-server tests @aibrahim-oai
- #14938 feat: add suffix to shell snapshot name @jif-oai
- #14959 Fix code mode yield startup race @aibrahim-oai
- #14434 generate an internal json schema for
RolloutLine@keyz - #14846 use framed IPC for elevated command runner @iceweasel-oai
- #14952 Add device-code onboarding and ChatGPT token refresh to app-server TUI @etraut-openai
- #14896 [plugins] Support plugin installation elicitation. @mzeng-openai
- #14958 Stabilize Windows cmd-based shell test harnesses @aibrahim-oai
- #14966 Stabilize permissions popup selection tests @aibrahim-oai
- #14968 Stabilize approval matrix write-file command @aibrahim-oai
- #14986 temporarily disable private desktop until it works with elevated IPC path @iceweasel-oai
- #14983 Rename exec_wait tool to wait @pakrym-oai
- #14905 Add auth env observability @ccy-oai
- #14931 fix(tui): implement /mcp inventory for tui_app_server @fcoury
- #14977 Cleanup skills/remote/xxx endpoints. @xl-openai
- #14984 Gate realtime audio interruption logic to v2 @aibrahim-oai
- #14902 Unify realtime shutdown in core @aibrahim-oai
- #14963 fix(linux-sandbox): prefer system /usr/bin/bwrap when available @viyatb-oai
- #14446 Add Python SDK public API and examples @shaqayeq-oai
- #14993 feat: Add product-aware plugin policies and clean up manifest naming @xl-openai
- #14995 app-server: reject websocket requests with Origin headers @maxj-oai
- #14960 Add FS abstraction and use in view_image @pakrym-oai
- #14293 fix: honor active permission profiles in sandbox debug @viyatb-oai
- #14610 feat: support restricted ReadOnlyAccess in elevated Windows sandbox @viyatb-oai
- #13592 Prefer websockets when providers support them @pakrym-oai
- #14903 Handle realtime conversation end in the TUI @aibrahim-oai
- #14727 Use workspace requirements for guardian prompt override @charley-oai
- #14626 [hooks] userpromptsubmit - hook before user's prompt is executed @eternal-openai
- #14858 Pin setup-zig GitHub Action to immutable SHA @viyatb-oai
- #13702 fix(subagents) share execpolicy by default @dylan-hurd-oai
- #15022 [plugins] Support configuration tool suggest allowlist. @mzeng-openai
- #14947 feat: adapt artifacts to new packaging and 2.5.6 @jif-oai
- #14821 feat: add memory citation to agent message @jif-oai
- #15058 nit: disable live memory edition @jif-oai
- #14942 Removed remaining core events from tui_app_server @etraut-openai
- #15059 chore: disable memory read path for morpheus @jif-oai
- #14842 Add notify to code-mode @pakrym-oai
- #15020 fix: harden plugin feature gating @xl-openai