새로운 기능
- TUI이 이제 펜스 코드 블록 및 diff에 구문 강조 표시를 지원하며, 라이브 미리보기 기능이 있는
/theme 선택기를 추가하고, 밝은 터미널과 어두운 터미널을 위해 더 나은 테마 인식 diff 색상을 사용합니다. (#11447, #12581)
- 이제 스페이스바를 누르고 있어서 음성 입력을 녹음하고 TUI에서 직접 전사하여 프롬프트를 음성으로 입력할 수 있습니다. 이 기능은 여전히 개발 중이며, 활성화하려면 설정에서 features.voice_transcription = true를 설정하세요. (#3381)
- 멀티 에이전트 워크플로우를 더 쉽게 실행하고 추적할 수 있습니다:
spawn_agents_on_csv는 CSV에서 내장 진행 상황/ETA를 사용하여 작업을 분산할 수 있으며, 서브 에이전트는 닉네임, 더 깔끔한 선택기, 시각적 하위 스레드 승인 프롬프트로 더 쉽게 추적할 수 있습니다. (#10935, #12320, #12327, #12332, #12570, #12767)
- TUI에 새로운 편의 명령어가 추가되었습니다:
/copy는 최신 완전한 어시스턴트 응답을 복사하고, /clear와 Ctrl-L은 스레드 컨텍스트를 잃지 않고 화면을 지우며, /clear는 새로운 채팅도 시작할 수 있습니다. (#12444, #12520, #12613, #12628)
- 승인 제어가 더 유연합니다: Codex는 이제 명령에 대한 추가 샌드박스 권한을 요청할 수 있으며, 승인을 완전히 끌 필요 없이 특정 승인 프롬프트 유형을 자동으로 거부할 수 있습니다. (#11871, #12087)
- App-server 클라이언트는 스레드로 더 많은 작업을 할 수 있습니다:
thread/list는 제목으로 검색할 수 있고, 스레드 상태는 read/list 응답 및 알림에서 노출되며, thread/resume은 최신 턴을 인라인으로 반환하여 재연결이 덜 손실됩니다. (#11776, #11786, #12578)
버그 수정
- TUI의 긴 링크는 줄 바꿈할 때 클릭 가능하게 유지되며, 이는 여러 보기의 관련된 클리핑 및 레이아웃 문제도 수정합니다. (#12067)
- 여러 TUI 상호작용 엣지 케이스가 수정되었습니다: 대기열 메시지 편집이 이제 더 많은 터미널에서 작동하고, 최종 답변이 여전히 스트리밍 중인 동안 Enter를 누르면 팔로우업 프롬프트가 더 이상 멈추지 않으며, 승인 대화가 이제 올바른 요청 ID로 응답합니다. (#12240, #12569, #12746)
- 채팅 작성기의
@ 파싱이 더 신뢰할 수 있으므로, npx -y @scope/pkg@latest와 같은 명령이 더 이상 실수로 파일 선택기를 열거나 제출을 차단하지 않습니다. (#12643)
- App-server 웹소켓 처리가 더 견고합니다: 스레드 리스너가 연결 해제를 견디고, Ctrl-C가 재시작 전에 진행 중인 턴을 기다리며,
permessage-deflate를 전송하는 웹소켓 클라이언트가 성공적으로 연결할 수 있습니다. (#12373, #12517, #12629)
- Linux 샌드박스 명령이 이제 최소
/dev를 얻으므로, 엔트로피나 기타 표준 디바이스 노드가 필요한 도구의 실패를 수정합니다. (#12081)
js_repl이 이제 포착되지 않은 커널 실패를 더 명확하게 보고하고, 그 후에 깔끔하게 복구하며, 중첩된 도구 호출의 view_image 결과를 올바르게 첨부합니다. (#12636, #12725)
문서
- Bugcrowd 보고 지침이 있는 공개 보안 정책을 추가했습니다. (#12193)
- 설치 및 로컬 워크플로우 문서를
cargo install --locked cargo-nextest를 사용하도록 업데이트하고, 전체 기능 범위가 특별히 필요한 경우가 아닌 한 일반적인 --all-features 빌드를 피합니다. (#12377, #12429)
변경 로그
전체 변경 로그: https://github.com/openai/codex/compare/rust-v0.104.0...rust-v0.105.0
- #12071 V2 웹소켓 기능 활성화 시 사용 @pakrym-oai
- #12052 feat(core): zsh exec bridge @owenlin0
- #12072 에이전트 메시지 스레드 항목에 메시지 페이즈 추가 @mousseau-oai
- #12077 configtoml에서 experimental_mode 제거 @won-openai
- #12036 codex-api: realtime websocket session.create + typed inbound events @aibrahim-oai
- #12073 모델 가시 컨텍스트 레이아웃 스냅샷 테스트 추가 @charley-oai
- #12096 safety-check 레이블을 포함하도록 이슈 라벨러 스크립트 업데이트 @etraut-openai
- #11944 [js_repl] js_repl에 대한 노드 모듈 해결 경로를 지정할 수 있습니다 @aaronl-openai
- #11798 fix: macOS 플랫폼에 대해 /System이 너무 허용적이지 않도록 제한된 읽기 수정 @leoshimo-oai
- #12015 TUI 설정에서 기본 상태 라인 표시기 활성화 @jif-oai
- #12124 feat: phase 1 및 phase 2 e2e 지연 @jif-oai
- #12121 feat: phase 2 사용량 @jif-oai
- #12120 feat: 메모리 사용 메트릭 @jif-oai
- #12133 feat: 에이전트 설정 파일 경로 검증 @jif-oai
- #12137 nit: phase 1 모델 변경 @jif-oai
- #12069 js_repl_tools_only 모드에서 모델 도구 필터링 중지 @fjord-oai
- #12135 feat: 롤아웃 요약을 위한 더 나은 슬러그 @jif-oai
- #12157 검토 위임 중 collab 도구 비활성화 @jif-oai
- #11802 app server에 대한 토큰 새로 고침 로직의 구멍 수정 @etraut-openai
- #12105 fix: 파일 감시자 @jif-oai
- #12167 memories: 롤아웃 요약 슬러그 상한을 60으로 올림 @zuxin-oai
- #12177 js_repl: 노드_모듈 경계 검사를 위한 경로 정규화 @fjord-oai
- #12025 Windows 샌드박스 설정을 위한 app-server 지원 @iceweasel-oai
- #12187 fix: 인용 제거 @zuxin-oai
- #12180 [apps] 임시 앱 차단 @mzeng-openai
- #11786 app-server: read/list 및 알림을 통해 로드된 스레드 상태 노출 @euroelessar
- #12038 state: 스레드 및 스레드 없는 프로세스 로그에 대한 10 MiB 로그 상한 적용 @charley-oai
- #12203 app-server 분리된 검토 및 실행 중-재개 테스트 안정화 @charley-oai
- #12211 [apps] 앱 허용 목록 업데이트 @mzeng-openai
- #12081 fix(linux-sandbox): bwrap 샌드박스에 /dev 마운트 @viyatb-oai
- #12164 기능 플래그 공지에 대한 문서 링크 업데이트 @etraut-openai
- #12231 memories 롤아웃 기본값 조정 @jif-oai
- #12152 feat: 서브 에이전트 주입 @jif-oai
- #12233 feat: 셸 스냅샷 실패 이유 추가 @jif-oai
- #12193 docs: codex 보안 정책 추가 @viyatb-oai
- #12228 feat: 구성 가능한 write_stdin 타임아웃 추가 @jif-oai
- #11787 custom servers에 대한 MCP 도구 승인 처리 조정 @colby-oai
- #12179 이전 턴 컨텍스트 추적을 ContextManager 히스토리로 이동 @charley-oai
- #12244 히스토리에서 로드할 때 페이즈 복원 @mousseau-oai
- #12101 클라이언트 측 modelinfo 재정의 @sayan-oai
- #12251 구성 가능한 에이전트 생성 깊이 추가 @jif-oai
- #12254 chore: 모든 사람을 위한 스택 크기 증가 @jif-oai
- #12250 feat: ue의 타임아웃 없음 모드 @jif-oai
- #12255 chore: McpConnectionManager에 대한 new() 및 initialize() 통합 @bolinfest
- #12256 "feat: ue의 타임아웃 없음 모드" 되돌리기 @jif-oai
- #12258 스택 크기 Bazel 테스트 해킹 실행 취소 @charley-oai
- #12264 불안정한 테스트 수정 @jif-oai
- #12087 feat: 세분화된 프롬프트 거부 제어 기능이 있는 승인 정책 거부 추가 @bolinfest
- #12253 메트릭 내보내기 중에 제거된 기능 건너뛰기 @jif-oai
- #12265 계획 모드의 누적 proposed_plan 동작 명확히 @charley-oai
- #12266 app-server 테스트: 우아한 하위 프로세스 종료를 통해 간헐적인 nextest LEAK 감소 @bolinfest
- #11953 ws turn metadata via client_metadata @pash-openai
- #11778 fix(bazel): memories의 askama 템플릿을 include_str!로 바꾸기 @rupurt
- #11382 MCP OAuth 콜백 URL에 대한 구성 가능한 MCP 로그인 추가 @dkumar-oai
- #12274 [bazel] proc_macro_dep libs 수정 @zbarsky-openai
- #12054 feat(config): permissions.network proxy 설정 배선 추가 @viyatb-oai
- #12269 tests(thread_resume): 재개 오류 경로 테스트에서 실행 중인 턴 중단 @bolinfest
- #12009 CVE-2026-24842을 수정하기 위해 pnpm 버전 업데이트 @mjr-openai
- #12080 skill-creator: frontmatter 구문 분석에서 PyYAML 지연 로드 @xl-openai
- #12271 tests: 인플라이트 턴 정리 도우미 중앙화 @bolinfest
- #12286 app-server: list_apps_returns_connectors_with_accessible_flags 테스트 불안정성 수정 @bolinfest
- #11776 app-server: 스레드 재개 재참가 흐름 개선 @maxj-oai
- #11822 [apps] 앱 도구 캐시를 디스크에 저장하여 시작 시간 단축 @mzeng-openai
- #12221 memories: 원본 memories에 rollout_summary_file 헤더 추가 및 프롬프트 조정 @zuxin-oai
- #12309 memories phase 추론 노력 상수 설정 @jif-oai
- #12315 chore: nit explorer @jif-oai
- #12320 feat: 서브 에이전트에 닉네임 추가 @jif-oai
- #12328 chore: 더 나은 에이전트 이름 @jif-oai
- #12326 phase 2에 대해 collab 비활성화 @jif-oai
- #12267 otel tool_result 로그에 MCP 서버 컨텍스트 추가 @colby-oai
- #12327 feat: 서브 에이전트를 위한 더 깔끔한 TUI @jif-oai
- #12332 feat: TUI에서 더 나은 에이전트 선택기 @jif-oai
- #12344 feat: 필요하지 않은 경우 phase 2 대기열에 넣지 않음 @jif-oai
- #12340 fix: macOS 수면 억제자 FFI 단순화 @yvolovich-cyber
- #12347 fix: thread/read에서 닉네임 @jif-oai
- #12294 턴 사이의 연결 재사용 @pakrym-oai
- #12287 app-server: JSON 추적 로그 추가 @maxj-oai
- #12140 네트워크 승인을 호스트/프로토콜/포트 범위로 리팩터링 @viyatb-oai
- #12300 js_repl: 문법에서 래핑된 페이로드 접두사 차단 @fjord-oai
- #11368 fix(network-proxy): unix 소켓 허용 전체 및 seatbelt 규칙 업데이트 @viyatb-oai
- #12275 js_repl: codex.state 도우미 참조 제거 @fjord-oai
- #12289 CODEX-4927: 브라우저에서 로컬 로그인 권한 거부 표시 @daniel-oai
- #12205 ci(bazel): 원격 이미지에서 node-version.txt의 노드 설치 @fjord-oai
- #12312 feat: 구성
allow_login_shell 추가 @jif-oai
- #12086 [apps] 앱 설정 구현 @mzeng-openai
- #12353 fix(core): 파괴적 MCP 도구 호출에 대한 승인 필요 @colby-oai
- #12218 app-server: 연결 해제 정리 경로 강화 @maxj-oai
- #12291 core 테스트: 검토 제품군에서 은폐 모의 서버 사용 @viyatb-oai
- #12374 [apps] 간단한 로고 URL 형식 적용 @mzeng-openai
- #12377 docs: cargo-nextest 설치 시 --locked 사용 @derekf-oai
- #12370 피드백에 추가 파일을 첨부할 수 있는 기능 추가 @pakrym-oai
- #12306 sanitizer를 codex-secrets로 이동 @viyatb-oai
- #12379 model_catalog_json은 시작 시에만 적용되는 것을 명확히 @sayan-oai
- #12307 모드 전환 시 모델/추론 힌트 표시 @charley-oai
- #12403 [apps] 게이트웨이 URL 수정 @mzeng-openai
- #12240 fix(tui): 일부 터미널에서 대기열 메시지 편집 바로 가기에 도달할 수 없음 @fcoury
- #12405 [apps] MCP 도구 호출 타임아웃 증가 @mzeng-openai
- #12406 fix: JSON 스키마 생성에서 명시적으로 이름 충돌 나열 @bolinfest
- #12301 주어진 스레드에 대한 최신 이름 바꾸기 집합을 위한 스레드 개체에 필드 추가 @natea-oai
- #12268 realtime api에 배선 @aibrahim-oai
- #12415 fix(nix): Linux 빌드에 libcap 종속성 포함 @rgodha24
- #12416 실험적 realtime 웹소켓 URL 재정의 추가 @aibrahim-oai
- #12303 계획 모드 추론 선택 흐름 개선 @charley-oai
- #12418 실험적 realtime 웹소켓 재정의 및 텍스트 미러링 추가 @aibrahim-oai
- #12381 fix: thread_resume_rejoins_running_thread_even_with_override_mismatch의 불안정성 해결 @bolinfest
- #12422 feat: App Server v2에서 OAI Responses API MessagePhase 유형 직접 사용 @bolinfest
- #12376 test(app-server): turn/completed를 turn_start 테스트에서 기다림 @yvolovich-cyber
- #12408 JSON 스키마 코드젠에서 v1 무시 @bolinfest
- #12314 fix(core) 일치하지 않는 접두사 규칙 필터링 @dylan-hurd-oai
- #12429 feat: --all-features 플래그의 사용을 중단하도록 권장 @bolinfest
- #12252 압축 컨텍스트 재주입 및 모델 기준선 수정 @charley-oai
- #12427 chore: codex-core에서 설정 진단 이동 @bolinfest
- #12430 대기 메시지 축소 @pakrym-oai
- #12432 chore: codex-core 공개 프로토콜/셸 재내보내기 제거 @bolinfest
- #12434 fix: codex-arg0은 더 이상 codex-core에 의존하지 않습니다 @bolinfest
- #12435 refactor(core): 포함된 시스템 기술을 codex-skills crate로 이동 @bolinfest
- #12440 chore: 빈 codex-rs/code 파일 삭제 @bolinfest
- #12441 AggregatedStream 삭제 @pakrym-oai
- #11293 feat(linux-sandbox): TCP-UDS-TCP 브리지를 통해 프록시 전용 송신 구현 @viyatb-oai
- #12410 profile-level model_catalog_json 재정의 @sayan-oai
- #12420 재생된 런타임 이벤트가 활성 상태를 강제하는 것을 방지 @etraut-openai
- #12428 가능한 경우 v2 웹소켓 선호 @pakrym-oai
- #12419 이미지에 대한 토큰 사용량 추정 개선 @etraut-openai
- #12474 fix: ~/.agents 기술로 기술 로더 테스트 은폐 @bolinfest
- #12473 core: TurnContext에서 제약된 승인/샌드박스 정책 보존 @bolinfest
- #12067 fix(tui): 모든 TUI 보기에서 URL 클릭 가능성 보존 @fcoury
- #12469 인바운드 realtime 텍스트를 턴 시작 또는 조종으로 라우팅 @aibrahim-oai
- #12479 "인바운드 realtime 텍스트를 턴 시작 또는 조종으로 라우팅" 되돌리기 @aibrahim-oai
- #12475 fix: realtime 대화 불안정 테스트를 순서에 무관하게 만들기 @bolinfest
- #12476 Nix 셸 경로에 견고한 셸 감지 테스트 만들기 @rupurt
- #11447 feat(tui): syntect를 통한 구문 강조 표시(테마 선택기 포함) @fcoury
- #12373 app-server: 연결 해제 전 스레드 리스너 유지 @maxj-oai
- #12444 feat(tui) /clear @won-openai
- #12485 fix(core) exec 정책 파싱 3 @dylan-hurd-oai
- #12423 realtime api에 이벤트 전송 @aibrahim-oai
- #12364 feat: monitor 역할 @jif-oai
- #12313 활성 탐색 셀을 망치지 않고 고아 exec 끝 처리 @jif-oai
- #12455 feat(tui): Alt-d 삭제 전진 단어 지원 @dougEfresh
- #12480 "인바운드 realtime 텍스트를 턴 시작 또는 조종으로 라우팅" 되돌리기 되돌리기 @aibrahim-oai
- #12509 선택기에서 테마를 대소문자 구분 없이 정렬 @etraut-openai
- #12511 선택 항목 강조 표시에 C# 구문 옵션 추가 @etraut-openai
- #12513 이 저장소를 위한 PR 베이비시팅 기술 추가 @etraut-openai
- #12518 test: DotSlash를 통해 zsh 포크를 공급하고 zsh-fork 테스트 안정화 @bolinfest
- #12553 view_image에서 이미지 콘텐츠 반환 @pakrym-oai
- #12555 refactor: MCP 정책 구성을 에스컬레이트 서버에서 분리 @bolinfest
- #12559 chore: nit name @jif-oai
- #12562 chore: awaiter @jif-oai
- #12565 chore: memories에 문서 추가 @jif-oai
- #12568 chore: phase 2 이름 @jif-oai
- #12571 fix: TUI 제약 @jif-oai
- #12570 feat: 에이전트 선택기에서 죽은 에이전트 유지 @jif-oai
- #12575 feat: 모델에 에이전트 닉네임 @jif-oai
- #12500 feat: uuid 도우미 추가 @jif-oai
- #12580 chore: 메모리 기능 플래그 이름 바꾸기 @jif-oai
- #12541 명령 후 output-last-message 플래그를 구문 분석하도록 exec 재개 허용 @etraut-openai
- #12579 feat: 멀티 에이전트 역할 메트릭 @jif-oai
- #12141 feat: sqlite 랜드 @jif-oai
- #12576 chore: 더 나은 bazel 테스트 로그 @jif-oai
- #12028 기능 플래그 협업 모드 제거 @aibrahim-oai
- #12520 /clear를 clear + new chat으로 지원하도록 조정하고, macos 터미널의 사소한 버그 수정 @won-openai
- #12556 refactor: exec-server 및 shell-escalation에 대한 unix 모듈 레이아웃 정규화 @bolinfest
- #12421 app-server: 스택 압력을 줄이기 위해 요청 디스패치 미래를 박스로 처리 @charley-oai
- #12528 chore(deps): libc를 0.2.180에서 0.2.182로 범프 /codex-rs @dependabot
- #12529 chore(deps): syn을 2.0.114에서 2.0.117로 범프 /codex-rs @dependabot
- #12583 도구 런타임에서 Arc 기반 ToolCtx 사용 @bolinfest
- #12540 fix: 잘린 상태 표시기에 줄임표 추가 @sayan-oai
- #12609 fix(tui): 소유된 래핑 매핑 불일치에서 복구 @fcoury
- #12569 fix(tui): 최종 답변이 여전히 스트리밍 중일 때 큐 조종 Enter를 지연시켜 데드 상태 방지 @guidedways
- #12530 chore(deps): owo-colors를 4.2.3에서 4.3.0으로 범프 /codex-rs @dependabot
- #12549 fix: 상태 표시기 아래의 세부 정보에서 백그라운드 터미널에서 실행 중인 명령 표시 @sayan-oai
- #3381 음성 전사 @nornagon-openai
- #12619 realtime spawn_transcript 위임 처리 @aibrahim-oai
- #11408 models.json 업데이트 @github-actions
- #12629 app-server:
Sec-WebSocket-Extensions: permessage-deflate를 통한 웹소켓 연결 수정 @JaviSoto
- #12632 refactor: exec-server 삭제 및 execve 래퍼를 shell-escalation으로 이동 @bolinfest
- #12638 refactor: shell-escalation을 codex-core에서 분리 @bolinfest