Highlights
- Codex Max as default (#7566): Codex Max is now the default model, and a TUI panic related to async-in-sync code was fixed.
- Better resume UX (#7302, [#7303]): Added a /resume slash command and improved resume performance so picking work back up is snappier.
- Tooltips & tips UX (#7557, [#7440]): Tips/tooltips are rendered via markdown with a bold “Tip” label and richer Codex tooltips across the app.
- TUI quality-of-life (#7530, [#7448], [#7514], [#7461]): TUI gets Ctrl‑P/N navigation, screen-line-capped shell output, restored Windows clipboard image paste, and a refactor for cleaner layout.
- History and context hygiene (#6242, [#7483], [#7545], [#7431], [#7483]): history.jsonl is trimmed by history.max_bytes, common junk dirs (incl. pycache) are ignored by default, and paste placeholders stay distinct.
PRs Merged
- use markdown for rendering tips [#7557] @[Jeremy Rose]
- Migrate codex max [#7566] @[Ahmed Ibrahim]
- Remove test from [#7481] that doesn't add much value [#7558] @[Eric Traut]
- [app-server] make
file_pathfor config optional [#7560] @[Celia Chen] - Migrate model family to models manager [#7565] @[Ahmed Ibrahim]
- Migrate
tuito use models manager [#7555] @[Ahmed Ibrahim] - Introduce
ModelsManagerand migrateapp-serverto use it. [#7552] @[Ahmed Ibrahim] - fix: wrap long exec lines in transcript overlay [#7481] @[muyuanjin]
- fix: Features should be immutable over the lifetime of a session/thread [#7540] @[Michael Bolin]
- feat: Support listing and selecting skills via $ or /skills [#7506] @[xl-openai]
- [app-server] fix: add thread_id to turn/plan/updated [#7553] @[Owen Lin]
- feat(tui): map Ctrl-P/N to arrow navigation in textarea [#7530] @[Aofei Sheng]
- fix(tui): limit user shell output by screen lines [#7448] @[muyuanjin]
- Migrate model preset [#7542] @[Ahmed Ibrahim]
- fix: main [#7546] @[jif-oai]
- feat: add pycache to excluded directories [#7545] @[jif-oai]
- chore: update unified exec sandboxing detection [#7541] @[jif-oai]
- add slash resume [#7302] @[Ahmed Ibrahim]
- chore: conversation_id -> thread_id in app-server feedback/upload [#7538] @[Owen Lin]
- chore: delete unused TodoList item from app-server [#7537] @[Owen Lin]
- chore: update app-server README [#7510] @[Owen Lin]
- chore: remove bun env var detect [#7534] @[Shijie Rao]
- feat: support list mcp servers in app server [#7505] @[Shijie Rao]
- seatbelt: allow openpty() [#7507] @[Jeremy Rose]
- feat: codex tool tips [#7440] @[jif-oai]
- feat: retroactive image placeholder to prevent poisoning [#6774] @[jif-oai]
- feat: model warning in case of apply patch [#7494] @[jif-oai]
- fix(tui) Support image paste from clipboard on native Windows [#7514] @[Dylan Hurd]
- fix(unified_exec): use platform default shell when unified_exec shell… [#7486] @[Robby He]
- Update device code auth strings. [#7498] @[Matthew Zeng]
- fix: inline function marked as dead code [#7508] @[Michael Bolin]
- improve resume performance [#7303] @[Ahmed Ibrahim]
- fix: path resolution bug in npx [#7134] @[Michael Bolin]
- Ensure duplicate-length paste placeholders stay distinct [#7431] @[Joshua Sutton]
- feat: support --version flag for @openai/codex-shell-tool-mcp [#7504] @[Michael Bolin]
- refactor: tui.rs extract several pieces [#7461] @[Josh McKinney]
- chore: make create_approval_requirement_for_command an async fn [#7501] @[Michael Bolin]
- Trim
history.jsonlwhenhistory.max_bytesis set [#6242] @[liam] - fix: remove serde(flatten) annotation for TurnError [#7499] @[Owen Lin]
- persisting credits if new snapshot does not contain credit info [#7490] @[zhao-oai]
- fix: drop lock once it is no longer needed [#7500] @[Michael Bolin]
- execpolicy helpers [#7032] @[zhao-oai]
- Show token used when context window is unknown [#7497] @[Ahmed Ibrahim]
- Use non-blocking mutex [#7467] @[Ahmed Ibrahim]
- Fix: track only untracked paths in ghost snapshots [#7470] @[lionel-oai]
- feat: ignore standard directories [#7483] @[jif-oai]
- fix: add ts number annotations for app-server v2 types [#7492] @[Owen Lin]
- feat: intercept apply_patch for unified_exec [#7446] @[jif-oai]
- chore: remove mention of experimental/unstable from app-server README [#7474] @[Owen Lin]
- Add request logging back [#7471] @[pakrym-oai]
- feat: add one off commands to app-server v2 [#7452] @[jif-oai]
- feat: add warning message for the model [#7445] @[jif-oai]
- chore: review everywhere [#7444] @[jif-oai]
- feat: alias compaction [#7442] @[jif-oai]
- feat: experimental support for skills.md [#7412] @[Thibault Sottiaux]