@oh-my-pi/pi-ai
Changed
- Changed the xAI Grok OAuth (
xai-oauth) provider to use manual code-paste login by default./loginnow accepts a pasted authorization code or fullhttp://127.0.0.1:56121/callback?code=...redirect URL without starting a local callback listener (#3277 by @Jaaneek). - Renamed the xAI Grok OAuth provider in login and credential prompts to "xAI Grok OAuth (SuperGrok or X Premium+)" (#3277 by @Jaaneek).
Fixed
- Fixed the generic lazy-stream idle watchdog aborting healthy
cursor-agentstreams with "Provider stream stalled while waiting for the next event" while a Cursor exec-channel local tool (shell/read/grep/write/MCP/…) legitimately ran longer than the idle budget. Provider streams now advertise consumer-side local work in flight and the watchdog slides its deadline instead of aborting; genuinely silent streams still time out. (#4593) - Fixed OpenAI Codex/Responses reasoning streams so streamed thinking content is preserved when the final
output_item.donereconstructs to an empty summary (#4918). - Fixed Anthropic streams hanging forever when generation wedges mid-stream (notably long
writetool calls on Opus 4.8 high/xhigh) while the server keeps sendingpingkeepalives: pings now extend the idle watchdog only within a bounded window (3x the idle timeout) since the last real stream event, so a stalled tool-call stream times out and recovers instead of hanging with no retry path (#4900).
@oh-my-pi/pi-catalog
Added
- Added support for Grok 4.5 across multiple providers
- Added support for GPT-5.6 series models (Luna, Sol, Terra)
- Added Aion 3.0 and 3.0 Mini models
- Added Kuaishou KAT-Coder v2.5 models
- Added Nex-N2-Mini and SWE-1.7 series models
- Added Hy3 models and free variants
Changed
- Updated cost and token configurations for various models across providers
- Renamed several models for consistency (e.g., MiniMax M3, Gemma 4 31B, Qwen variants)
@oh-my-pi/pi-coding-agent
Fixed
- Fixed
readandgreptreating empty optionalselectorfields emitted by models as invalid selectors instead of behaving like omitted selectors. (#4879) - Fixed
grepexplicit line selectors on directory searches so they filter each matched file by line number instead of aborting with a single-file-only error (#4898). - Fixed Read tool previews dropping explicit
selectorarguments, so line ranges andrawmodifiers render in terminal read call titles again (#4899). - Fixed named profiles dropping default user keybindings from
~/.omp/agent/keybindings.*; profile keybindings now inherit those defaults and override only the keys they define (#4867). - Fixed pi extensions calling
ctx.ui.addAutocompleteProvider(...)crashing at load withTypeError: ... is not a function— a failure that, for extensions guarding init in onetry/catch(e.g.@ff-labs/pi-fff), aborted the extension's entire initialization.ExtensionUIContextnow implements pi's autocomplete-provider API: interactive mode stacks each registered factory on top of the built-in editor provider (re-applied on every slash-command refresh, with throwing or malformed factories skipped), while RPC/ACP/headless contexts accept the factory as a no-op. (#4919) - Fixed bundled reviewer and plan subagents to inherit their model roles' explicit thinking effort suffixes instead of pinning
high(#4761). - Built-in provider model discovery now refreshes an expired stored OAuth credential before an online refresh needs it, instead of silently skipping the provider. The refresh is scoped to the providers actually being discovered (
refreshProvidercannot rotate unrelated credentials), fires underonline-if-uncachedonly when the model manager will actually fetch, and offline discovery stays peek-only (#4893). - Fixed Escape during an active TUI prompt requiring a second press before canceling; the first Escape now aborts the streaming turn immediately. (#4921)
- Fixed the streamed
writetool's collapsed pending tail preview leaving stale rows above the first partial-result frame in the TUI; the first result now replays the viewport like the SSH placeholder seam already did (#4477) - Fixed first-run setup ignoring a pre-seeded
config.yaml: the settings loader now treatsconfig.ymlandconfig.yamlas equivalent existing main config files, writes back to the existing extension, and only creates canonicalconfig.ymlfor fresh installs. (#4914) - Fixed extension
sendUserMessage()withoutdeliverAssurfacingAgentBusyErrorduring active streams; omitteddeliverAsnow queues a steer through the normal prompt flow, and ACP/RPC skill-command prompts queue while streaming (RPC honors the prompt command'sstreamingBehavior, defaulting to steer) (#4923).
@oh-my-pi/pi-natives
Fixed
- Fixed unbounded memory growth in the native bash output bridge when a command produces output faster than the JS event loop consumes it: the shell streaming path now uses a bounded chunk queue with real backpressure (pipe readers park until the JS callback catches up, parking the child on its pipe) instead of buffering the entire surplus in memory. No output is dropped — the rolling tail view,
[raw output: artifact://…]lossless capture, and byte accounting are unaffected (#4078). - Fixed
readImageFromClipboardon Windows failing with "could not be converted to the appropriate format" for screenshots taken by Qt-based tools such as PixPin and Snipaste. arboard hands theirCF_DIBV5payload (BI_RGBplus an alpha mask, rewritten toBI_BITFIELDS) to a header-less BMP decode that mis-places the pixel offset for V4/V5 bitfield headers; the native reader now falls back to decoding the rawCF_DIBclipboard bytes directly, so image paste no longer depends on the PowerShell bridge. (#3426) - Fixed OMP being killed outright (OOM on memory-capped hosts such as WSL) when an output-heavy bash command hit its timeout: the unbounded output-bridge backlog could grow by gigabytes before cancellation and starve the JS event loop far past the deadline; with the bounded backpressured bridge the run resolves at its deadline with flat memory (#4866).
@oh-my-pi/pi-tui
Fixed
- Fixed late terminal appearance subscribers missing the already-detected OSC 11 light/dark result, so theme auto-detection picks up the terminal appearance even when the response arrives before the UI subscribes (#4731).
- Fixed slash command Tab completion reopening the file autocomplete drawer after accepting no-argument commands (#4808).
Full Changelog: v16.3.12...v16.3.13