From 2572f96fafb3156f79523bfbe2bc84f13e382167 Mon Sep 17 00:00:00 2001 From: jif-oai Date: Wed, 4 Feb 2026 17:00:11 +0000 Subject: [PATCH] ## New Features - Added `thread/compact` to the v2 app-server API as an async trigger RPC, so clients can start compaction immediately and track completion separately. (#10445) - Added websocket-side rate limit signaling via a new `codex.rate_limits` event, with websocket parity for ETag/reasoning metadata handling. (#10324) - Enabled `unified_exec` on all non-Windows platforms. (#10641) - Constrained requirement values now include source provenance, enabling source-aware config debugging in UI flows like `/debug-config`. (#10568) ## Bug Fixes - Fixed `Esc` handling in the TUI `request_user_input` overlay: when notes are open, `Esc` now exits notes mode instead of interrupting the session. (#10569) - Thread listing now queries the state DB first (including archived threads) and falls back to filesystem traversal only when needed, improving listing correctness and resilience. (#10544) - Fixed thread path lookup to require that the resolved file actually exists, preventing invalid thread-id resolutions. (#10618) - Dynamic tool injection now runs in a single transaction to avoid partial state updates. (#10614) - Refined `request_rule` guidance used in approval-policy prompting to correct rule behavior. (#10379, #10598) ## Documentation - Updated app-server docs for `thread/compact` to clarify its asynchronous behavior and thread-busy lifecycle. (#10445) - Updated TUI docs to match the mode-specific `Esc` behavior in `request_user_input`. (#10569) ## Chores - Migrated state DB helpers to a versioned SQLite filename scheme and cleaned up legacy state files during runtime initialization. (#10623) - Expanded runtime telemetry with websocket timing metrics and simplified internal metadata flow in core client plumbing. (#10577, #10589) ## Changelog Full Changelog: https://github.com/openai/codex/compare/rust-v0.95.0...rust-v0.96.0 - #10569 tui: make Esc clear request_user_input notes while notes are shown @charley-oai - #10577 feat: log webscocket timing into runtime metrics @apanasenko-oai - #10445 Add thread/compact v2 @aibrahim-oai - #10589 Move metadata calculation out of client @pakrym-oai - #10379 fix(core) updated request_rule guidance @dylan-hurd-oai - #10598 fix(core) Request Rule guidance tweak @dylan-hurd-oai - #10544 Prefer state DB thread listings before filesystem @jif-oai - #10614 fix: single transaction for dyn tools injection @jif-oai - #10568 Requirements: add source to constrained requirement values @gt-oai - #10611 chore: simplify user message detection @jif-oai - #10618 fix: make sure file exist in `find_thread_path_by_id_str_in_subdir` @jif-oai - #10619 nit: cleaning @jif-oai - #10324 Add a codex.rate_limits event for websockets @rasmusrygaard - #10623 Migrate state DB path helpers to versioned filename @jif-oai - #10638 Update tests to stop using sse_completed fixture @pakrym-oai - #10641 feat: land unified_exec @jif-oai --- codex-rs/Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/codex-rs/Cargo.toml b/codex-rs/Cargo.toml index 39ebe5967d..83b688f5f2 100644 --- a/codex-rs/Cargo.toml +++ b/codex-rs/Cargo.toml @@ -55,7 +55,7 @@ members = [ resolver = "2" [workspace.package] -version = "0.0.0" +version = "0.96.0" # Track the edition for all workspace crates in one place. Individual # crates can still override this value, but keeping it here means new # crates created with `cargo new -w ...` automatically inherit the 2024