@oh-my-pi/pi-ai
Added
- Added routing-session cleanup for OpenAI Responses and Codex while preserving shared provider fallbacks (#14334 by @iliaal).
Fixed
- Fixed Claude Haiku 5.5 requests silently enabling adaptive thinking when reasoning is off, on native Bedrock (main and helper calls) and the Anthropic API; conversations whose earlier effort controls rule out disabled thinking fall back to lowest-effort adaptive thinking instead of failing (#14996 by @bse-ai).
- Fixed
/session pinbeing ignored when every stored account is quota-blocked, which routed the next request to a different exhausted account instead of the pinned one (#14997). - Fixed
minimax-code-cnsessions staying pinned to a key whose Token Plan quota is exhausted (用量上限429) instead of rotating to a sibling credential (#15053).
@oh-my-pi/pi-catalog
Added
- Added built-in CoralBricks support with
/login, live model discovery, per-model reasoning levels and off controls, and bundled offline fallbacks. (#14146 by @ryan-brosas) - Added
gen:models --provider <id>to update one provider without changing other providers' catalog snapshots. (#14146 by @ryan-brosas)
Fixed
- Fixed Claude Haiku 5.5 thinking Off to request explicitly disabled thinking on every host serving its adaptive thinking (#14996 by @bse-ai).
@oh-my-pi/pi-coding-agent
Added
- Added automated release binary publication to build.stencil.so
- Added OSC 7501 program status reporting: terminals and agent inboxes that support it now show whether omp is working, waiting on your answer or approval (with the question), done, or failed (with the error), without parsing the window title. Turn it off with
terminal.programStatus. - Added title cards (icon and short code) to
/rename: the title model picks one for a title you type, or for a generated title when the session has no card yet;title.icons: boringkeeps renamed titles plain. - Grammars for less common languages (Kotlin, Swift, Ruby, PHP, Haskell, Verilog, and others) are now downloaded on first use for code summaries, block context,
ast_grep,ast_edit, and TTSR rules; offline, files in those languages are skipped with a note instead of failing.PI_GRAMMARS_URLoverrides the download location. - Added
bash.gitGuard(default off) for checkouts shared by concurrent agents: the bash tool refusesgit stash,git reset --hardor to another commit, andgit checkout/switch/restorethat would overwrite working-tree files unless a merge or rebase conflict is being resolved; unstaging stays allowed, and commands are judged as they actually run, including inside substitutions, functions, and aftercd.
Changed
- Updated
writetool error message to mention local:// scratch support - Web search now tells the agent about its X post operators (
site:x.com,from:<handle>) when you are logged in to xAI, so questions about reactions on X reach X search. - Reduced memory retained after merging unchanged discovered and cached models (#14252 by @iliaal).
- The default
smolmodel now prefers Claude Haiku 5.5 when it is available. - Automatic session titles now start when the agent's reply begins rather than when you submit, so a slow-thinking first reply gets a card title (icon and code) instead of a plain fallback title.
read file.jsonl?q=…keeps the other lines' results when a line before the last fails and shows jq's error ahead of them, instead of failing the read; anything else the query wrote to stderr, such asdebugoutput, now leads the result too (#14659 by @will-bogusz)- Title card icons now picture each session's specific subject instead of a generic bug, flask, speedometer, gear, or terminal, or the project's language logo, so sessions in the same project are easier to tell apart.
- Agents whose tool list omits
writebut still get it to runxd://tools can now also writelocal://files (reports, notes) outside plan mode; working-tree writes stay blocked. - Added
worktree.onStartandworktree.onExitsettings to start each session in its own worktree and clean it up on exit (#14908 by @gitpushoriginmaster) - Added
speech.speedandtts.localSpeedsettings (0.5–2.5, default 1) to speed up or slow down local Kokoro speech for live vocalization and thettstool /omp say, plus anomp say --speedflag; ACP voice clients find both settings and their presets inspeech.models.list(#5868) omp updateand the startup update notice leave an omp installed by another app (Tern) to that app instead of replacing its files.- The startup update notice no longer appears when omp runs from a source checkout.
Fixed
- Reduced memory growth after one-shot side requests without interrupting ongoing conversations (#14334 by @iliaal).
- Fixed sessions staying untitled when you interrupted the first reply to send a queued steer message.
- Fixed browser downloads saving into another tab's
downloadsfolder, andtab.waitForDownload()saving into the system Downloads folder once another tab closed; each tab in a Chromium omp launched or spawned now saves into its own, iframe downloads included. In those browsers a download no tab tracks (started by a page omp did not open, or finishing after its tab closed) now keeps Chromium's GUID file name instead of its suggested name; connected and relay browsers keep real file names (#14544 by @will-bogusz) - Fixed browser calls in relay mode failing with "The browser relay … is out of date" after an omp upgrade until the old relay was killed by hand; omp now restarts a relay it started itself under an older version (#14416 by @will-bogusz)
- Fixed
/renamewithout a title dropping the session's title card (icon and short code) (#14980) - Fixed title cards showing the emoji instead of the Nerd Font icon when the model misremembered the icon's name: dashes for underscores (
nf-md-text-box), the wrong icon set (nf-md-spinnerfornf-fa-spinner), or reordered, missing, or extra words (nf-md-testfornf-md-test_tube). - Fixed
omp updateignoring theupdate.channelsetting: canary users were checked against stable releases, and--canary/--stablewere never remembered. - Fixed interrupting a reply to send a queued steer message briefly showing omp as idle (title, progress, working indicator) before the steer ran; RPC and SDK clients also no longer see a final
agent_endfor that interrupt. - Fixed browser tab recordings and video frame/contact-sheet extraction creating
omp-browser-recording-*andomp-video-*scratch directories in your working directory instead of the system temp directory. - Fixed edit snapshots retaining excess history when metadata or displayed-line provenance grows; the 64 MiB snapshot budget now counts UTF-8 bytes, so CJK- and emoji-heavy files keep fewer versions (#14975 by @iliaal).
@oh-my-pi/pi-mnemopi
Fixed
- Fixed proactive linking freezing the host for seconds per stored memory on large banks; a memory's graph links are now written in one commit instead of one per link (#14998).
@oh-my-pi/pi-natives
Added
- Added
wasmGrammarForfor tree-sitter grammars loaded as WebAssembly on demand from<natives dir>/grammars, andmissingGrammarsonastGrep/astEditresults naming languages skipped because their grammar is not installed.
Changed
- Reduced syntax-highlighting startup work by bundling the complete precompiled grammar set (#14104 by @iliaal).
- Changed standalone binaries to embed each native addon as its own deterministic zstd frame instead of a timestamped gzip tarball, making binaries smaller.
- Updated the shell's built-in
jqto jaq 3.1.1, whichjq --versionnow reports (#14659 by @will-bogusz)
Fixed
- Fixed the built-in
jqerroring where jq returnsnull(.a.bover{},.[0]overnull) and lackingIN,input_filename,input_line_numberand--unbuffered(#14659 by @will-bogusz) - Fixed the built-in
jqreading each file operand separately:-snow slurps them into one array andinputreads on into the next file, as in jq (#14659 by @will-bogusz) - Fixed the built-in
jqstopping at the first input that fails and rejecting"021"and"+1"intonumber, where jq does neither; a run that reported a failing input is never shortened by the output minimizer, even when it exits 0 (#14659 by @will-bogusz) - Fixed the built-in
jq'shalt_errorprinting its message to stdout; like jq, it now goes to stderr (#14659 by @will-bogusz) - Shrank the native addon by about 77 MB: only 17 common tree-sitter grammars are linked in, and the other 39 languages load WebAssembly grammars from the grammar directory, treated as unsupported until installed.
@oh-my-pi/pi-tui
Added
- Added cache-release hooks for TUI components and tool cards, allowing extensions to discard derived render data without rebuilding content (#13632 by @iliaal).
Changed
- Subagent "Submit Result" cards now show the submitted result (its fields as a tree, or the report text), the section it fills, and why a submission was rejected, instead of only "Result submitted.".
- Reduced memory held by retired transcript history in long sessions (#13632 by @iliaal).
Fixed
- Reduced memory retained by discarded TSP images and previews (#14336 by @iliaal).
- Fixed startup capability probes printing as text in the prompt (e.g.
25a1;stsp;q;{…}pppppp) on terminals that cannot parse them, such as macOS Terminal.app. - Fixed the
/resumepicker flashing while a search runs over a large session history: background fuzzy matches now land in one update instead of reordering the list dozens of times per keystroke.
@oh-my-pi/pi-utils
Added
- Added
getNativeGrammarsDir(), where the native addon loads downloaded tree-sitter grammars from (~/.omp/natives/grammars).
Fixed
- Fixed the virtual terminal misreading private CSI sequences such as kitty keyboard
CSI < uand modifyOtherKeysCSI > 4;1 mas cursor restores or text styling, which garbled replayed PTY output.
What's Changed
- perf(coding-agent): reuse complete model objects during merge by @iliaal in #14252
- refactor(natives): share tokenizer short-key parsing by @iliaal in #14335
- Build the combined syntax grammar artifact ahead of time by @iliaal in #14104
- fix(coding-agent): release completed one-shot provider state by @iliaal in #14334
- fix(tui): release discarded native image blobs by @iliaal in #14336
- fix(ai,catalog): honor Claude Haiku 5.5 thinking Off by @bse-ai in #14996
- fix(ai): tried explicit session pin first when every account is blocked by @roboomp in #14999
- fix(mnemopi): batched proactive-link graph writes in one transaction by @roboomp in #15005
- feat(coding-agent): add Kokoro speaking-rate settings for vocalization and local TTS by @H4vC in #15042
- fix(coding-agent): advertise speech speed settings in the ACP speech catalog by @H4vC in #15045
- fix(coding-agent): restart an outdated browser relay that omp started itself by @will-bogusz in #14416
- fix(browser): save each tab's downloads into its own folder by @will-bogusz in #14544
- fix(builtins): port jq to jaq 3.1.1 and close the jq gaps agents hit by @will-bogusz in #14659
- Release derived render caches when transcript entries retire by @iliaal in #13632
- fix(edit): count retained snapshot allocations with shared provenance by @iliaal in #14975
- feat(catalog): add CoralBricks provider with /login flow by @ryan-brosas in #14146
New Contributors
- @ryan-brosas made their first contribution in #14146
Full Changelog: v18.8.6...v18.8.7