Pi 0.71.0
New version of pi. Download from npm or view release on GitHub.
Breaking Changes
- 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/logindisplay. See docs/providers.md#cloudflare-ai-gateway. (#3856 by @mchenco). - Moonshot AI provider support with
MOONSHOT_API_KEY, default model resolution, and/logindisplay. - Mistral Medium 3.5 built-in model support. See docs/providers.md#api-keys. (#4009 by @technocidal).
- Extension APIs can replace finalized
message_endmessages, wrap custom editor factories viactx.ui.getEditorComponent(), and observe thinking level changes. See docs/extensions.md#message_start--message_update--message_end, docs/extensions.md#widgets-status-and-footer, and docs/extensions.md#thinking_level_select. PI_CODING_AGENT_SESSION_DIRconfigures session storage from the environment. See docs/usage.md#environment-variables.
Added
- Added Cloudflare AI Gateway as a built-in provider with
CLOUDFLARE_API_KEY/CLOUDFLARE_ACCOUNT_ID/CLOUDFLARE_GATEWAY_IDsetup, default model resolution,/logindisplay support, and provider documentation (#3856 by @mchenco). - Added Moonshot AI as a built-in provider with
MOONSHOT_API_KEYsetup, default model resolution, and/logindisplay 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_DIRas an environment equivalent to--session-dir(#4027). - Added
message_endextension result support for replacing finalized messages, enabling extensions to override assistant usage cost (#3982). - Added top-level
namesupport topi.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_selectextension event for observing thinking level changes (#3888).