@oh-my-pi/pi-agent-core
Fixed
- Fixed interrupted runs so assistant message boundaries are emitted reliably, allowing subscribers to persist and recover the interrupted turn.
@oh-my-pi/pi-ai
Added
- Added
getOAuthCredentialProvider()to resolve login aliases, such asopenai-codex-device, to the provider where their credentials are stored.
Fixed
- Fixed Ultrafast service-tier billing and usage accounting: GPT-6 Astra now applies its published premium rates—6× on the OpenAI API and 8× included usage on Codex—and is counted toward the premium-request limit.
- Fixed Vertex AI authentication on Windows when credentials are created with
gcloud auth application-default login. - Fixed selecting Cursor accounts by email through
auth.accountPoliciesand/session pin; newly refreshed and existing accounts now retain the account email.
@oh-my-pi/pi-catalog
Added
- Added Mistral Large 4 with reasoning support, image input, a 1M-token context window, and preview pricing.
- Added configurable thinking levels from low through maximum for MiniMax-M3.1-Flash-Preview; because the model always reasons, requests that disable thinking use the low level.
- Added Google Antigravity pricing and model support for Claude Opus 5.5 and Sonnet 5.5.
Changed
- MiniMax Token Plan providers (
minimax-codeandminimax-code-cn) now use MiniMax's recommended Anthropic-compatible API for model requests and login key validation. - Google Antigravity now exposes Claude Opus 5.5 and Sonnet 5.5 once each, with selectable low, medium, and high thinking levels.
Fixed
- Added the correct published pricing for GPT-6 Astra's Ultrafast service tier: a 6× multiplier on the OpenAI API and an 8× multiplier on the Codex card.
@oh-my-pi/pi-coding-agent
Added
- Added last-chance consumption of eligible banked Codex and Claude resets expiring within five minutes when auto-redeem is enabled, even with low usage or reserved credits.
- Added inline rendering of agent-generated SVG diagrams, charts, and mockups, with theme-aware colors and a
tui.renderSvgsetting to disable it. - Added automatic chart generation for numeric tables, configurable with
tui.autoGraph(always,smart, oroff). The agent now chooses suitable visual formats—including charts, Mermaid, SVG, tables, or prose—based on the content. Charts and this guidance apply to the main TUI session only, not to subagents, print, RPC, or ACP. - Added first-class JSON and JSONL querying to the
readtool with?q=<jq-filter>, including in-process filtering, raw or compact output, and offset/limit pagination for efficient large-file access. - Added
/prewalk offto cancel a pending model handoff without changing the active model, saved prewalk setting, or continuation history. - Added logout support to RPC clients through
get_logout_accountsandlogout, with matching methods in the TypeScript, Python, Go, and Rust SDKs. - Added custom model-kind declarations for providers and extensions, allowing image, speech, embedding, judge, and other supported model roles to be registered and routed correctly.
- Added working-directory reporting for Tern terminal sessions so the native composer bar can display the current folder.
Changed
- Improved JSON and JSONL query streaming and pagination to reduce resource usage, support partial results, and provide clearer continuation between result pages.
- Clarified the
readtool documentation with complete examples for requesting line ranges.
Fixed
- Fixed model-preset tests failing when provider credentials are configured in the environment.
- Fixed unauthenticated Macs auto-selecting the on-device Apple model when the default prompt exceeds its context window; Apple remains selectable explicitly.
- Fixed replay and compaction tests failing after bundled model roster changes.
- Fixed standalone builds failing when the native addon archive could not be resolved.
- Fixed JSON query parsing and parameter decoding for filters beginning with hyphens and other encoded query values.
- Fixed task execution after settings could not be saved; subagents now use the current in-memory settings while the save failure is reported as a warning.
- Fixed prewalk and model-recovery state across
/new, handoffs, cancellations, and automatic recovery. - Fixed login, logout, model refresh, and provider-status reporting for aliased providers such as
openai-codex-device. - Fixed model speed statistics mixing fast service-tier results into standard-tier averages;
/modelsnow reports the applicable tier separately. - Fixed the
writeandedittools hanging or consuming excessive resources when given FIFOs, terminals, device files, or other non-regular targets; unsupported targets are now rejected safely. - Fixed long conversations losing user or tool-result images because assistant-generated images were counted against provider image limits.
- Fixed local session paths for special session IDs such as
.and..so they cannot escape the intended storage directory. - Fixed
omp gc --archive --applyleaving orphaned session-title records behind. - Fixed
/retryafter an interrupted process exit while an extension-driven prompt was reopening. - Fixed browser relay sessions failing to discover or interact with cross-origin iframe content that loaded before the tab was opened.
- Fixed browser clicks on visually styled radios and checkboxes whose underlying inputs are hidden.
- Fixed
/modelfailing to switch when selecting the model already assigned to a project's default role. - Fixed
waitreturning early when a background completion had already been consumed by another operation. - Fixed symlinked routing configurations failing to reload after their target links were replaced.
- Fixed repeated coding-plan fallback confirmations in cases involving changing thinking settings, unavailable quota information, or account recovery.
- Fixed Python evaluation failing when a shared runner temporary directory was created by another user.
- Fixed RPC clients being unable to complete multi-select questions in multi-question
askprompts. - Corrected inaccurate tool and setting descriptions, including
readranges, backgroundbashbehavior, Python evaluation capabilities, edit replacement guidance, goal removal behavior, andadvisor.immuneTurns. - Fixed custom glob backends hanging indefinitely; scans now honor tool deadlines and cancellation.
- Fixed
--resume <path>silently creating a new session when the specified path did not exist; it now reports the missing path. - Fixed
/settingsopening duplicate menus when invoked while the settings menu was already open. - Fixed native Git operations resolving repositories incorrectly when run through symbolic links.
@oh-my-pi/pi-natives
Breaking Changes
- Renamed the
linux-allBazel target (//:natives-linux-all) toall(//:natives-all); the renamed target now includes Darwin addons. - Removed the
gen:nativeandgen:native:resetscripts. Standalone binary builds now embed the native addon archive and manifest instead of writing them tonative/.
Added
- Enhanced
rasterizeSvgwith optional scaling and terminal-cell padding, allowing SVGs to render larger while preserving 1:1 display in terminals. - Added
OMP_NATIVE_FEATURESfor passing extra Cargo features to local native addon builds; Bazel builds ignore this setting. - Added support for cross-compiling macOS native addons from Linux hosts.
Changed
- macOS addon release stamping now works on any host by refreshing the addon's ad-hoc signature automatically.
Fixed
- Fixed
tailfailing to print files, or omitting their first 64 KiB, when file sizes were exact multiples of 64 KiB. - Fixed
tailprinting nothing, or dropping lines from the file's first 64 KiB, when the file size is an exact multiple of 64 KiB (#14264 by @jchanghong023) - Fixed native
sedandjqkilling the host process with SIGBUS when an input file is truncated while they read it (#14613) - Fixed
tail -fpiped into a command that exits early (such ashead -n 1orgrep -m1) never stopping on macOS (#14614) - Native
sort -ukeeps punctuation-distinct paths under UTF-8 locales instead of silently dropping records (#14606).
@oh-my-pi/omp-stats
Fixed
- Fixed Ultrafast turns not being counted toward the Premium Requests statistic.
- Fixed the desktop stats dashboard menu button so it no longer appears unnecessarily or dims the page without opening navigation.
@oh-my-pi/pi-tui
Added
- Assistant SVG code blocks now render as inline, theme-colored images on terminals with graphics support, updating as responses stream and adapting to terminal width; SVG that cannot be rendered remains available as code.
- Numeric tables in assistant responses can now include automatically selected, themed charts based on the table’s structure and units.
Changed
- The status line now recognizes projects located in the user’s
reposdirectory. - Model mentions,
/switchcompletions, and model-picker search now update immediately while typing, including with large model catalogs.
Fixed
- Fixed terminal resizing issues that could cause flicker or briefly display an empty frame.
- Improved
/annotatehandling for long source lines and filenames, preserving indentation and typed note text. - Fixed fullscreen inputs that could hide the cursor when hardware-cursor support was enabled.
- Fixed model picker and mention-list ordering for same-provider
-latestmodels so results remain alphabetically stable. - Model browser performance metrics now show the correct measurements for each service tier and identify the tier.
- Fixed plan review keyboard navigation so horizontal options use Left/Right and model-slider adjustments use Shift+Left/Right.
- Improved the Ask dialog footer so question-switching keyboard shortcuts are clearly labeled.
- Fixed creating a new agent when its generated system prompt contains a Markdown code fence.
- Timed-out
globscans are now labeled as timed out rather than truncated. - Ctrl+Delete now deletes the word after the cursor, matching Ctrl+Backspace behavior.
What's Changed
- fix(tui): update autocomplete on every keystroke and speed up model ranking by @H4vC in #14595
- feat(catalog): collapse Antigravity Claude 5.5 thinking tiers and add pricing by @eggpeat in #14195
- feat(catalog): routed MiniMax Token Plan through the Anthropic-compatible API by @eggpeat in #13696
- fix(ai): priced ultrafast turns at the published 6x premium and kept tier speeds separate by @eggpeat in #14471
- feat(coding-agent): add RPC logout commands by @andrebrait in #14588
- fix(prewalk): rearm new sessions and allow disarming by @NaC-L in #14587
- feat(catalog): add Mistral Large 4 (AI-assisted) by @PierrunoYT in #14602
- fix(coding-agent): release obsolete catalog snapshots by @iliaal in #14317
- fix(write): refuse FIFOs and devices instead of freezing on them by @DrFaustus-vic in #14452
- fix(edit): refuse FIFOs and devices instead of blocking on them by @DrFaustus-vic in #14462
- Stop assistant images from evicting real input images by @F0Rextasy in #14390
- fix(coding-agent): keep the local:// fallback root inside omp-local for . and .. session ids by @jaredlyon in #14385
- fix(gc): delete session_titles rows for archived sessions by @F0Rextasy in #14358
- fix(agent): persist the aborted turn when a context handler rejects on abort by @schickling-assistant in #14188
- fix(tui): label the question-switch keys in the Ask dialog footer by @tahakotil in #14590
- fix(tui): keep code fences inside JSON when parsing generated agent spec by @tahakotil in #14589
- fix(coding-agent): show relay runs the iframes that loaded before the tab was opened by @will-bogusz in #14422
- fix(browser): click radios and checkboxes whose real input is transparent by @will-bogusz in #14555
- fix(ai): find gcloud user ADC under %APPDATA% on Windows by @jorgoose in #14549
- fix(stats): hide topbar menu button on desktop by @lin-snow in #14406
- fix(coding-agent): switch to the project default when its model-hub chip is picked by @jshield in #14382
- fix(coding-agent): ignore consumed completions when peeking the yield queue by @nick-maderight in #14257
- chore: remove duplicate Response.Moderation interface declarations by @kvnloo in #13719
- docs(telemetry): document skill description oneshot kind by @xaviergmail in #14145
- fix(ai): store the Cursor account email so account policies can select it by @will-bogusz in #14511
- fix(coding-agent): follow config symlink replacements live by @schickling-assistant in #14192
- docs(readme): document project input trust controls by @JYeswak in #14259
- fix(tui): use left/right to pick plan review options in Tern by @H4vC in #14607
- fix(coding-agent): stop re-asking the reserve fallback prompt after No by @lemonleks in #14475
- fix(eval): stage runner scripts in a per-uid temp dir by @TheRockPusher in #14449
- fix(coding-agent): offer Done selecting for multi-select in multi-question ask over RPC by @ataberkus in #14253
- fix(pi-builtins): read a full last chunk in tail when the size is a block multiple by @jchanghong023 in #14264
- feat(natives): pass extra cargo features via env by @justdoGIT in #14058
- docs(coding-agent): make tool descriptions match runtime behaviour by @radkawar in #13998
- Correct advisor.immuneTurns description: blockers are always exempt by @F0Rextasy in #14360
- fix(coding-agent): custom glob backends ignore the tool deadline by @F0Rextasy in #14426
- fix(coding-agent): --resume must fail closed on a missing file by @F0Rextasy in #14404
- docs(coding-agent): show complete read range calls by @Dante-dan in #13956
- feat(models): custom model kinds and runner APIs for models.yml and extensions by @jimhester in #14483
- fix(tui): improve annotate wrapping, filenames, and cursor behavior by @anatoli-tsinovoy in #14609
- feat(read): add first-class JSON and JSONL querying with ?q= by @asuffield in #14141
- fix(settings): kept reloads working after a failed config save by @roboomp in #14622
- fix(builtins): read sed and jq inputs instead of mmapping them by @roboomp in #14618
- fix(builtins): preserved punctuation in locale sort uniqueness by @roboomp in #14610
- fix(builtins): stopped tail -f on macOS once its pipe reader exits by @roboomp in #14617
New Contributors
- @PierrunoYT made their first contribution in #14602
- @tahakotil made their first contribution in #14590
- @lin-snow made their first contribution in #14406
- @jshield made their first contribution in #14382
- @TheRockPusher made their first contribution in #14449
- @ataberkus made their first contribution in #14253
- @jimhester made their first contribution in #14483
- @asuffield made their first contribution in #14141
Full Changelog: v18.6.3...v18.7.0