Explicit session IDs for automation - --session-id <id> lets scripts create or resume an exact project-local session. See Sessions.
RPC bash output can stay out of model context - RPC clients can pass excludeFromContext to bash for commands whose output should not be sent with the next prompt. See RPC mode.
More predictable provider retries and timeouts - Codex WebSocket/SSE waits are bounded, and retry.provider.maxRetries controls provider retries instead of hidden SDK defaults. See Retry settings.
Better terminal editing across environments - Apple Terminal Shift+Enter, Windows/JetBrains capability detection, and Unicode-aware word navigation improve interactive editing. See Terminal setup and Keybindings.
Added
Added --session-id to let CLI callers use an exact project-local session ID, creating it if missing (#4874).
Added excludeFromContext flag to the bash RPC command for parity with the internal executeBash API (#5039).
Fixed
Fixed user message transcript rendering to preserve user-authored ordered-list markers (#5013).
Fixed self-update commands to bypass npm, pnpm, and Bun minimum release age gates for explicit pi update runs (#4929).
Fixed context token estimates to count user image attachments consistently with tool result images (#4983).
Fixed httpIdleTimeoutMs to apply to OpenAI Codex Responses WebSocket idle waits, added websocketConnectTimeoutMs for bounded WebSocket connect waits, and added a 10s Codex SSE response-header timeout (#4945).
Fixed RpcClient to reject pending requests and consume stdin pipe errors when the child process exits unexpectedly (#4764).
Fixed managed npm extension updates to avoid package managers installing or resolving pi host packages as peer dependencies (#4907).
Fixed RPC mode raw stdout writes to retry transient backpressure errors and flush queued protocol output during shutdown (#4897).
Fixed OpenAI Codex Responses cache-affinity headers to send session-id instead of proxy-incompatible session_id (#4967).
Fixed openai-codex/gpt-5.3-codex-spark model metadata to use its 128k context window (#4969).
Fixed OpenRouter/Poolside context overflow detection for maximum allowed input length errors (#4943).
Fixed provider retry controls so retry.provider.maxRetries is honored, SDK retries default to 0, and quota/billing 429s are not retried behind Pi's retry handling (#4991 by @mitsuhiko).
Fixed Apple Terminal Shift+Enter by detecting local macOS modifier state when Terminal.app sends plain Return.
Fixed Windows Terminal capability detection to enable OSC 8 hyperlinks, preserving clickable long URLs across wrapped lines (#4923).
Fixed JetBrains terminal capability detection to enable truecolor while disabling unsupported OSC 8 hyperlinks (#5037 by @Perlence).
Fixed editor and input word navigation/deletion to use Unicode word boundaries while preserving ASCII punctuation boundaries (#5022 by @haoqixu, #5067 by @haoqixu, #5068 by @haoqixu).
Fixed the development docs AGENTS.md link to point at the pi-mono guidelines (#5041).