github earendil-works/pi v0.76.0

6 hours ago

New Features

  • 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).

Don't miss a new pi release

NewReleases is sending notifications on new releases.