Notable Changes
- Experimental Rust SDK–based MCP client introduced (#4252)
- New
responses-api-proxy
component to simplify and secure response handling/proxying (#4246) - Added secure mode:
CODEX_SECURE_MODE=1
to restrict process observability (#4220) - More explicit
codex exec
events, includingitem.started
and improved output display (#4177, #4250, #4113) - Safer command execution: dangerous command checks in core and Windows-specific safety (#4211, #4119)
- UX improvements: revamped
/status
with clearer presentation and details, pageless session list, approvals moved toListSelectionView
, better MCP tool call styling, and hiding status indicator during streaming (#3194, #4275, #3871, #4101, #4196) - Stability and correctness: token usage fix for compaction, SSE mounting reliability, and improving bugs on editing previous conversations (#4281, #4264, #4237)
- IDE extension reliability: fix login with API key when
.codex
directory is missing (#4258) - Internal cleanup and refactors for state, footer logic, and unused code (#4174, #4259, #4310)
Merged PRs
- [#4304] /status followup (#4304)
- [#4310] chore: dead code removal; remove frame count and stateful render helpers (#4310)
- [#4252] [MCP] Introduce an experimental official rust sdk based mcp client (#4252)
- [#4255] Add todo-list tool support (#4255)
- [#4246] feat: introduce responses-api-proxy (#4246)
- [#4281] fix: token usage for compaction (#4281)
- [#4113] Show exec output on success with trimmed display (#4113)
- [#4275] Move approvals to use ListSelectionView (#4275)
- [#4259] Refactor the footer logic to a new file (#4259)
- [#4229] ref: state - 2 (#4229)
- [#4211] core: add potentially dangerous command check (#4211)
- [#4264] Actually mount sse once (#4264)
- [#4254] Add codex exec testing helpers (#4254)
- [#4258] Fixed login failure with API key in IDE extension when a
.codex
directory doesn't exist (#4258) - [#4256] fix typo in sandbox doc (#4256)
- [#4250] [codex exec] Add item.started and support it for command execution (#4250)
- [#4251] fix (#4251)
- [#4248] fix bug when resizing to a smaller width (#4248)
- [#4067] make tests pass cleanly in sandbox (#4067)
- [#4204] Fix error message (#4204)
- [#4177] Add explicit codex exec events (#4177)
- [#4194] chore: refactor attempt_stream_responses() out of stream_responses() (#4194)
- [#4237] fix: esc w/ queued messages overwrites draft in composer (#4237)
- [#4220] feat: add support for CODEX_SECURE_MODE=1 to restrict process observability (#4220)
- [#4196] revamp /status (#4196)
- [#4174] ref: full state refactor (#4174)
- [#4205] github: update codespell action to v2.1 in workflow (#4205)
- [#4195] Send text parameter for non-gpt-5 models (#4195)
- [#4188] chore: drop unused values from env_flags (#4188)
- [#4119] adds a windows-specific method to check if a command is safe (#4119)
- [#3194] pageless session list (#3194)
- [#3871] improve MCP tool call styling (#3871)
- [#4101] hide the status indicator when the answer stream starts (#4101)
- [#4160] Simplify tool implemetations (#4160)