New Features
- Image generation support - Added image generation APIs, generated image model metadata, and built-in OpenRouter image generation support inherited from
@earendil-works/pi-ai. - Together AI provider - Added Together AI as a built-in provider with
/loginAPI-key auth, default model resolution, and setup docs. See README.md#providers--models and docs/providers.md. - Windows ARM64 standalone binaries - Added standalone release artifacts for Windows ARM64.
- Improved terminal and markdown rendering - Added markdown list indentation, task-list checkbox rendering, large markdown robustness, and inline image placement fixes inherited from
@earendil-works/pi-tui.
Added
- Added image generation support from
@earendil-works/pi-ai, including image generation APIs, image model metadata, and built-in OpenRouter image generation support (#3887 by @cristinaponcela). - Added Together AI to built-in provider setup,
/loginAPI-key auth, and default model resolution (#3624 by @Nutlope). - Added Windows ARM64 standalone binary release artifacts (#4458 by @brianmichel).
Fixed
- Fixed Node 26 OpenAI-compatible streams timing out after five idle minutes by routing global fetch through pi's undici dispatcher (#4519).
- Fixed pnpm global package installs by resolving the global package root from pnpm's layout.
- Fixed macOS clipboard access errors under sandboxed pasteboard denial so they do not abort the process (#4492).
- Fixed the scoped model startup hint to show the configured model-cycle keybinding (#4508).
- Fixed resource path display to disambiguate package/resource names that collide across package locations.
- Fixed
fdauto-download on macOS x86_64 by pinning the last release that ships an Intel macOS binary (#4559). - Fixed skill diagnostics to stop warning when a skill name differs from its parent directory (#4534).
- Fixed prompt template argument parsing to split unquoted multiline input on newlines (#4553).
- Fixed
--resumesession listing to cap in-flight session metadata loads and avoid OOM on large session histories (#4583). - Fixed interactive error messages to render with trailing spacing so reload errors do not run into resource listings (#4510).
- Fixed
.agentspackage provenance metadata to survive package-manager scans. - Fixed nested code fences in the Termux setup documentation so the example AGENTS.md renders correctly (#4503).
- Fixed tool output expansion while extension confirmation dialogs are focused (#4429).
- Fixed auto-retry for Anthropic streams that end before
message_stop(#4433). - Fixed compaction summary calls to clamp requested output tokens to model limits.
- Fixed uncaught interactive-mode exceptions to restore the terminal before exiting (#4426 by @ofa1).
- Fixed ANSI stripping to match
strip-ansibehavior after dependency removal. - Fixed UUIDv7 sequence generation shared by session IDs after dependency removal.
- Fixed OpenRouter cached-token usage accounting, Fireworks caching compatibility, and OpenAI Codex WebSocket proxy handling inherited from
@earendil-works/pi-ai. - Fixed markdown list wrapping, task-list checkboxes, large markdown rendering, WezTerm Kitty keyboard escape handling, and short-viewport inline image placement inherited from
@earendil-works/pi-tui. - Fixed theme sharing across package scopes so extensions do not crash with
Theme not initialized(#4333). - Fixed keybinding hints to show Option instead of Alt on macOS (#4289).
- Fixed the interactive update notification to render the changelog as an OSC 8 hyperlink when the terminal supports hyperlinks (#4280).