rust-v0.95.0 릴리스 노트
새로운 기능
- macOS에서 CLI로 Codex Desktop을 실행할 수 있도록
codex app을 추가했으며, 누락된 경우 자동으로 DMG를 다운로드합니다. (#10418)
~/.agents/skills에서 개인 스킬을 로드할 수 있도록 추가했으며(~/.codex/skills 호환성 포함), 공개 원격 스킬을 나열하고 다운로드하기 위한 app-server API/이벤트를 추가했습니다. (#10437, #10448)
/plan은 이제 인라인 프롬프트 인수와 붙여넣은 이미지를 수락하며, TUI의 슬래시 명령어 편집/강조 표시가 더욱 정교해졌습니다. (#10269)
- 셸 관련 도구를 이제 병렬로 실행할 수 있으며, 다중 명령어 실행 처리량을 개선했습니다. (#10505)
- 셸 실행이 이제
CODEX_THREAD_ID를 수신하므로 스크립트와 스킬이 활성 스레드/세션을 감지할 수 있습니다. (#10096)
- Linux 샌드박스에 Bubblewrap + FFI 연결을 추가했으며, 이는 향후 런타임 통합을 위한 기반입니다. (#10413)
버그 수정
- Git 명령어 안전을 강화하여 파괴적이거나 쓰기 가능한 호출이 더 이상 승인 확인을 우회하지 않도록 했습니다. (#10258)
- 저장된 스레드 이름을 올바르게 표시하고 스레드 나열 동작을 수정하여 재개/스레드 탐색 신뢰성을 개선했습니다. (#10340, #10383)
- 처음 실행 시 신뢰 모드 처리를 수정하여 샌드박스 모드가 일관되게 보고되도록 했으며,
$PWD/.agents를 $PWD/.codex처럼 읽기 전용으로 만들었습니다. (#10415, #10524)
- websocket/스트리밍 흐름에서 인터럽트 후
codex exec 행(hang)을 수정했으며, 인터럽트된 턴은 이제 깔끔하게 종료됩니다. (#10519)
- 검토 모드 승인 이벤트 연결을 수정하여
requestApproval ID가 해당 명령어 실행 항목과 일치하도록 했습니다. (#10416)
- 401 오류 진단을 개선했으며, 서버 메시지/본문 세부 정보와
cf-ray, requestId를 포함시켰습니다. (#10508)
문서
- TUI 채팅 작성자 문서를 확대하여 계획/검토 흐름에서 슬래시 명령어 인수와 첨부 파일 처리를 포함하도록 했습니다. (#10269)
- 이슈 템플릿과 라벨러 프롬프트를 새로 고침하여 CLI/앱 버그 보고 및 기능 요청을 더 잘 구분하도록 했습니다. (#10411, #10453, #10548, #10552)
유지보수
- 지원되지 않는
mcp-types crate에서 rmcp 기반 프로토콜 타입/어댑터로 마이그레이션을 완료한 후, 레거시 crate를 제거했습니다. (#10356, #10349, #10357)
- 보안 공지를 위해
bytes 의존성을 업데이트했고, 해결된 공지 구성을 정리했습니다. (#10525)
변경 로그
전체 변경 로그: https://github.com/openai/codex/compare/rust-v0.94.0...rust-v0.95.0
- #10340 Session picker shows thread_name if set @pap-openai
- #10381 chore: collab experimental @jif-oai
- #10231 feat: experimental flags @jif-oai
- #10382 nit: shell snapshot retention to 3 days @jif-oai
- #10383 fix: thread listing @jif-oai
- #10386 fix: Rfc3339 casting @jif-oai
- #10356 feat: add MCP protocol types and rmcp adapters @bolinfest
- #10269 Nicer highlighting of slash commands, /plan accepts prompt args and pasted images @charley-oai
- #10274 Add credits tooltip @pakrym-oai
- #10394 chore: ignore synthetic messages @jif-oai
- #10398 feat: drop sqlx logging @jif-oai
- #10281 Select experimental features with space @pakrym-oai
- #10402 feat: add
--experimental to generate-ts @jif-oai
- #10258 fix: unsafe auto-approval of git commands @viyatb-oai
- #10411 Updated labeler workflow prompt to include "app" label @etraut-openai
- #10399 emit a separate metric when the user cancels UAT during elevated setup @iceweasel-oai
- #10377 chore(tui) /personalities tip @dylan-hurd-oai
- #10252 [feat] persist thread_dynamic_tools in db @celia-oai
- #10437 feat: Read personal skills from .agents/skills @gverma-openai
- #10145 make codex better at git @pash-openai
- #10418 Add
codex app macOS launcher @aibrahim-oai
- #10447 Fix plan implementation prompt reappearing after /agent thread switch @charley-oai
- #10064 TUI: Render request_user_input results in history and simplify interrupt handling @charley-oai
- #10349 feat: replace custom mcp-types crate with equivalents from rmcp @bolinfest
- #10415 Fixed sandbox mode inconsistency if untrusted is selected @etraut-openai
- #10452 Hide short worked-for label in final separator @aibrahim-oai
- #10357 chore: remove deprecated mcp-types crate @bolinfest
- #10454 app tool tip @aibrahim-oai
- #10455 chore: add phase to message responseitem @sayan-oai
- #10414 Require models refresh on cli version mismatch @aibrahim-oai
- #10271 [Codex][CLI] Gate image inputs by model modalities @ccy-oai
- #10374 Trim compaction input @pakrym-oai
- #10453 Updated bug and feature templates @etraut-openai
- #10465 Restore status after preamble @pakrym-oai
- #10406 fix: clarify deprecation message for features.web_search @sayan-oai
- #10474 Ignore remote_compact_trims_function_call_history_to_fit_context_window on windows @pakrym-oai
- #10413 feat(linux-sandbox): vendor bubblewrap and wire it with FFI @viyatb-oai
- #10142 feat(secrets): add codex-secrets crate @viyatb-oai
- #10157 chore: nuke chat/completions API @jif-oai
- #10498 feat: drop wire_api from clients @jif-oai
- #10501 feat: clean codex-api part 1 @jif-oai
- #10508 Add more detail to 401 error @gt-oai
- #10521 Avoid redundant transactional check before inserting dynamic tools @jif-oai
- #10525 chore: update bytes crate in response to security advisory @bolinfest
- #10408 fix WebSearchAction type clash between v1 and v2 @sayan-oai
- #10404 Cleanup collaboration mode variants @charley-oai
- #10505 Enable parallel shell tools @jif-oai
- #10532 feat:
find_thread_path_by_id_str_in_subdir from DB @jif-oai
- #10524 fix: make $PWD/.agents read-only like $PWD/.codex @bolinfest
- #10096 Inject CODEX_THREAD_ID into the terminal environment @maxj-oai
- #10536 Revert "Load untrusted rules" @viyatb-oai
- #10412 fix(app-server): fix TS annotations for optional fields on requests @owenlin0
- #10416 fix(app-server): fix approval events in review mode @owenlin0
- #10545 Improve Default mode prompt (less confusion with Plan mode) @charley-oai
- #10289 [apps] Gateway MCP should be blocking. @mzeng-openai
- #10189 implement per-workspace capability SIDs for workspace specific ACLs @iceweasel-oai
- #10548 Updated bug templates and added a new one for app @etraut-openai
- #10531 [codex] Default values from requirements if unset @gt-oai
- #10552 Fixed icon for CLI bug template @etraut-openai
- #10039 chore(arg0): advisory-lock janitor for codex tmp paths @viyatb-oai
- #10448 feat: add APIs to list and download public remote skills @xl-openai
- #10519 Handle exec shutdown on Interrupt (fixes immortal
codex exec with websockets) @rasmusrygaard
- #10556 Feat: add upgrade to app server modelList @shijie-oai
- #10461 feat(tui): pace catch-up stream chunking with hysteresis @joshka-oai
- #10367 chore: add
codex debug app-server tooling @celia-oai