# Pi v0.80.0: pi-ai API migration, Ctrl+J newline, and many fixes

> Pi moves the old global pi-ai API (stream/complete/getModel/etc.) off the root entrypoint to a compat shim, paving the way for the new provider-factory API. Existing extensions are unaffected at runtime via a loader alias, but the compat entrypoint will be removed in a future release. Also adds Ctrl+J as a default newline keybinding and fixes numerous provider-scoped auth, session ordering, and streaming issues.

| | |
|---|---|
| **Tool** | Pi |
| **Version** | v0.80.0 |
| **Kind** | release |
| **Published** | 2026-06-23 |
| **Observed** | 2026-08-21 |
| **Significance** | 3/5 |
| **Breaking** | yes |
| **Categories** | feature, api-change, deprecation, fix |

## What changed


- **API deprecation**: pi-ai's old global API (`stream`/`complete`/`completeSimple`, `getModel`/`getModels`/`getProviders`, `registerApiProvider`, `getEnvApiKey`, ...) moved from `@earendil-works/pi-ai` root to `@earendil-works/pi-ai/compat`. Extension loader resolves the root to compat, so existing extensions keep working. The compat entrypoint and loader alias will be removed in a future release with a migration guide.
- `Ctrl+J` added as default newline keybinding alongside `Shift+Enter`
- `zai` provider label renamed to "ZAI Coding Plan (Global)"
- Fixed session names to normalize newline characters before storing/displaying
- Fixed session selector to order threaded session trees by latest activity
- Fixed extension-related crash and startup-failure reporting with suggestion to restart with `pi -ne`
- Fixed inherited OpenAI Responses streams to fail before missing terminal events
- Fixed inherited OpenAI Codex Responses WebSocket sessions to reconnect once when connection limit is reached
- Fixed inherited Amazon Bedrock endpoint resolution to honor scoped `AWS_PROFILE`
- Fixed inherited Cloudflare providers to require account/gateway configuration
- Fixed provider-scoped auth environment values to reach inherited Models/ImagesModels API calls
- Fixed inherited OpenCode Go GLM-5.2 metadata to expose `xhigh` reasoning
- Fixed `pi --resume` to load user package themes and resolve light/dark settings
- Fixed `models.json` custom providers so stored credentials can satisfy auth without redundant `apiKey`
- Removed inherited selective-provider `@earendil-works/pi-ai/base` and `@earendil-works/pi-agent-core/base` entrypoints


## Sources

- [github_release](https://github.com/earendil-works/pi/releases/tag/v0.80.0) — retrieved 2026-08-21


## Community

_No curated reactions recorded. Facts and community takes are kept in separate layers
and never blended._

---
Canonical: https://changelogs.info/pi/v0-80-0
Entity: https://changelogs.info/pi
Event ID: `evt_2026-06-23_pi_v0-80-0`
Licence: event synthesis © changelogs.info, CC BY 4.0. Linked sources belong to their vendors.
