Removed built-in Google Gemini CLI and Google Antigravity support. Existing configurations using those providers must switch to another supported provider.
New Features
Cloudflare AI Gateway provider support with CLOUDFLARE_API_KEY/CLOUDFLARE_ACCOUNT_ID/CLOUDFLARE_GATEWAY_ID, default model resolution, and /login display. See docs/providers.md#cloudflare-ai-gateway. (#3856 by @mchenco).
Moonshot AI provider support with MOONSHOT_API_KEY, default model resolution, and /login display.
Added Cloudflare AI Gateway as a built-in provider with CLOUDFLARE_API_KEY/CLOUDFLARE_ACCOUNT_ID/CLOUDFLARE_GATEWAY_ID setup, default model resolution, /login display support, and provider documentation (#3856 by @mchenco).
Added Moonshot AI as a built-in provider with MOONSHOT_API_KEY setup, default model resolution, and /login display support.
Added Mistral Medium 3.5 built-in model support via @mariozechner/pi-ai (#4009 by @technocidal).
Added routed OpenAI-compatible response model metadata in assistant messages, so providers such as OpenRouter can expose the concrete model used (#3968 by @purrgrammer).
Added PI_CODING_AGENT_SESSION_DIR as an environment equivalent to --session-dir (#4027).
Added message_end extension result support for replacing finalized messages, enabling extensions to override assistant usage cost (#3982).
Added top-level name support to pi.registerProvider() so extension-registered providers can show a friendly name in /login (#3956).
Added ctx.ui.getEditorComponent() so extensions can wrap the currently configured custom editor factory (#3935).
Added a thinking_level_select extension event for observing thinking level changes (#3888).
Fixed
Fixed WSL clipboard image paste by passing the PowerShell save path directly instead of through a custom environment variable (#2469).
Fixed Google Vertex Gemini 3 tool call replay for unsigned tool calls (#4032).
Fixed blocked edit tool results rendering the rejection reason twice after interactive extension confirmation (#3830).