Release notes
Oh My Pi v18.8.8
@oh-my-pi/pi-agent-core
Added
- Added
Agent.setModelResolver()to fit every model an agent adopts (viasetModel, starting with the current one) before it is used (#15048 by @H4vC) - Added
CompactionSettings.baseWindowTokens: when set,resolveThresholdTokens()scales its percentage or reserve-based threshold from that base instead of the full context window (#15065 by @H4vC)
Fixed
- Fixed OpenAI V1 remote compaction re-attaching a prior Anthropic native payload after a successful compact (#15041 by @PaleRoses)
- Fixed
resolveThresholdTokens()clamping a positivethresholdTokenstobaseWindowTokens; a fixed threshold is checked against the real window, and the base only rescales the percentage and reserve policies (#15074 by @H4vC) - Fixed
resolveThresholdTokens()clamping a fixedthresholdTokensat or past the context window to one token below it, so compaction fired only after the next request overflowed; it now clamps to the window less the reserve (#15146 by @will-bogusz)
@oh-my-pi/pi-ai
Fixed
- Fixed OpenAI Responses and Codex tool calls running with empty
{}arguments when a compatible host or proxy ends the call with an empty arguments payload after streaming the real ones (#15099 by @will-bogusz) - Fixed truncated Factory Droid Gemini responses ending as a hard error or a half-received tool call instead of being retried (#15103 by @will-bogusz)
- Fixed Factory Droid Gemini ignoring an error the server reports mid-response, which hid its status and retried errors that cannot succeed (#15103 by @will-bogusz)
- Fixed resumed OpenAI Responses sessions (xAI, Factory Droid, OpenAI and other hosts) dropping all earlier encrypted reasoning on their first request; GitHub Copilot still rebuilds history until its first response (#15148 by @will-bogusz)
@oh-my-pi/browser-relay
Fixed
- Fixed tabs a relay client asks to open in the background being created as the selected tab (#15109 by @will-bogusz)
@oh-my-pi/pi-catalog
Added
- Added the
connection-bound-native-historyrule axis for Responses hosts that reject native history items from an earlier connection, set for GitHub Copilot (#15148 by @will-bogusz)
Fixed
- Fixed Devin's discovered models not marking the account's default model, the one Devin's own CLI starts the account on (SWE-2 High on Pro, SWE-1.6 Slow on Free); when it is an effort lane of a family, the family starts at that effort. Cursor's discovered models no longer carry that marker, so Cursor keeps its existing startup selection (#15115 by @will-bogusz)
@oh-my-pi/pi-coding-agent
Added
- Added
/jobs kill <id>|allto cancel a running background job (or every one this session owns) from the command line, even while the agent is busy (#14160 by @KanwarGill) - Added
omp anonymize [session] [-o dir]to write a shareable copy of a session and its subagent transcripts: only an explicit allowlist of omp metadata (ids, timestamps, models, usage, built-in tool names and options) is kept; message, thinking, and tool-output text become size-annotated[redacted …]markers; tool-call paths become mock paths (/home/seg3/seg4/src/seg9.ts:10-20), shell commands keep known programs and flags, other literals such as a grep pattern becomePLACEHOLDER_N, and extension or MCP payloads are redacted whole, with the same original always mapping to the same token across files (#15077 by @H4vC) - Added
/dump anon, which writes the same anonymized session and subagent JSONL to a zip in the temp directory and copies its path (#15077 by @H4vC) - Added message times to
/dumptranscripts (assistant turns also show request duration and time to first token), and live status, last activity, pending tool calls, and the partially streamed turn to/dump allfiles for subagents still running, so a stuck subagent can be diagnosed from the archive (#15121 by @H4vC) - Added
contextFiles.extrato load extra instruction files, such asAGENTS.local.md, beside the usual context file (#15147 by @Shadorain). /annotateopens the note you are writing, a file or typed-prompt source, or (for local diff reviews) the current working-tree file in$VISUALor$EDITORwith the external-editor key (Ctrl+G by default); a file source is saved back and its notes follow the edited text (#15151 by @Shadorain)
Changed
- A
/modelscompaction limit set past a model's standard context window now runs that model on its extended window instead of being silently clamped; the hub warns (noting long-context pricing) and saves on a second Enter, in the terminal and in Tern, and rejects limits past the model's largest window (#15048 by @H4vC) - A token compaction limit set in
/models(orcompaction.modelThresholds) is now the base omp scales with its usual policy, as if it were the model's window (85% of it by default for bases above ~109k, orcompaction.thresholdPercentof it), instead of the exact point. Plain numbers saved since 18.8.5 therefore compact earlier; rewrite one as"f<tokens>"(or typef400kin the hub) to keep it an exact trigger. The/modelslimit field shows where the model would compact as you type (compacts at 340K · 85% of 400K base), the preview's Compacts at row says why, and the saved message repeats it (#15065 by @H4vC)
Fixed
- Fixed
/usage(or clicking the status-line cost) while the usage dashboard was already open stacking a second dashboard on top; it now focuses the open one (#15145 by @H4vC) - Fixed the browser tool prompt not documenting
observe()'sviewportOnlyandincludeAlloptions, or thatopen/close/runtimeouts are seconds clamped to 1–300 whilewaitFor*timeouts are milliseconds (#15104 by @will-bogusz) - Fixed browser relay pages opened in the background (
browser.newPage({ background: true })intab.run
…