Release · Oh My Pi · can1357

Oh My Pi v18.8.0

What's new in Oh My Pi v18.8.0, released Oct 7, 2026 (). Newer: v18.12.6 (Oct 21, 2026)

Release notes

Oh My Pi v18.8.0

@oh-my-pi/pi-agent-core

Changed
  • Improved performance when pruning tool output and capturing telemetry messages during long-running sessions.

@oh-my-pi/pi-ai

Breaking Changes
  • The environment API-key helpers (getEnvApiKey, getEnvApiKeyName, and listProvidersWithEnvKey) are no longer exported from @oh-my-pi/pi-ai/stream; import them from @oh-my-pi/pi-ai or @oh-my-pi/pi-ai/env-api-key instead.
  • TranscriptionRequest.audio now accepts Uint8Array | Blob. Consumers must handle Blob values when reading transcription requests.
Changed
  • Improved CPU and memory efficiency across streamed model responses, including Cursor, Devin, Codex, OpenAI Responses, and GitLab Duo Workflow.
  • Improved request and authentication performance, including account ranking, OAuth preflight, credential rate-limit checks, credential synchronization, and auth gateway requests.
  • Improved tool-call parsing performance for long calls and Apple Foundation Models requests.
  • Improved Cloudflare AI Gateway request performance and AWS credential-source detection.
  • Reduced memory usage when handling generated images and usage reports.
Fixed
  • Fixed false thinking-loop detections for Gemini, DeepSeek, and Grok when responses contain repetitive code or markup such as VRML, SVG, or JSON; valid output is no longer discarded and retried.
  • Fixed the Cursor provider retaining request resources after requests completed.
  • Fixed session-affinity pins growing without bound in long-lived gateways; pins are now capped at 256 sessions per provider.
  • Fixed Anthropic sessions failing every request with HTTP 400 ("role 'system' must precede an 'assistant' message") after a tool change coincided with compaction or an interrupted or failed reply; sessions already stuck this way recover on the next message (#14746).

@oh-my-pi/pi-catalog

Changed
  • Improved catalog performance by speeding up model cache reads and repeated catalog-wide model builds, especially for large catalogs.

@oh-my-pi/pi-coding-agent

Added
  • Write-tool previews now render as files stream: SVG files appear as images, and Mermaid files (.mmd and .mermaid) appear as diagrams. Tern also previews supported 3D model formats (.obj, .ply, .wrl, .x3dv, .stl, .gltf, and .usda) and renders SVG writes as SVG figures.
  • Added the title.icons setting to show session title cards with a Nerd Font glyph and emoji fallback (nf+emoji, default), always the emoji (emoji), or as plain titles (boring).
  • Added the title.generator setting to name sessions from a fork of the reply (fork, default) or with the title model only (tiny).
Changed
  • Session titles are generated using the session's model when possible, with a fallback to the lightweight title model; TITLE_SYSTEM.md continues to override the title prompt.
  • Session titles now include a card index, icon, and short code, with appropriate Nerd Font rendering in Tern panes.
  • When Nerd Font symbols are unavailable, session titling requests only an emoji.
  • Subagent completion indicators now advance to 99% when the subagent submits its result.
  • In Tern panes, headed and headless browser opens are shown in Tern picture-in-picture by default; set app.tern: false, browser.tern, or PI_BROWSER_TERN=0 to open Chromium instead.
  • In Tern panes, /fork opens the fork in a neighboring pane while preserving the original session.
  • Tern's empty composer now shows the session title, or “What are we cooking?” when no title is available.
  • Tern todo cards now display their checklist by default and can be collapsed by clicking the card header.
  • Improved performance across browser extraction, web and document fetching, file tools, search, session handling, LSP/DAP, MCP, subagents, SSH file operations, image processing, voice and dictation, collaboration, and large-output or large-file workflows.
  • Prompt history search now updates shortly after typing stops while Enter and mouse selections use the latest query.
  • Improved responsiveness and reduced resource usage for long sessions, large files and documents, streaming evaluations, terminal graphics, live voice calls, and other high-volume workflows.
  • Hosts that are not supported Mastodon, Lemmy, or Discourse instances are no longer repeatedly probed for those services, improving URL-fetch performance.
Fixed
  • Fixed a message sent while an earlier title request was still running never getting its own try at naming the session when that request came back empty.
  • Fixed /new incorrectly carrying plan mode, its plan-specific model, or goal mode into the new session.
  • Fixed todo lists failing to auto-clear while subagents streamed progress.
  • Fixed memory growth during ACP client-terminal commands.
  • Fixed freezes after large pastes containing unclosed tags.
  • Fixed slowdowns when processing long evaluation output, large Python kernel results, compiler/linter output, and ephemeral side-channel replies.
  • Fixed documents served as application/octet-stream being downloaded twice.
  • Fixed collaboration guests rebuilding the transcript excessively during streaming.

@oh-my-pi/collab-web

Changed
  • Improved streaming transcript performance by reducing unnecessary guest updates and Markdown re-rendering, including faster rendering for transcripts with many unclosed LaTeX delimiters.
  • Stopped tracking finished or no-longer-listed subagents, reducing unnecessary polling and memory usage in the agent drawer.

@oh-my-pi/omp-stats

Changed
  • Improved dashboard responsiveness and efficiency by reducing unnecessary data refreshes and re-rendering, speeding up session synchronization, database access, package imports, and usage, model, and time-series requests, and avoiding repeated downloads of unchanged traces.
  • Dashboard requests are now cancelled when no longer needed, improving responsiveness when switching sessions or closing trace views during loading.

@oh-my-pi/pi-tui

Added
  • SVG and Mermaid files now render as images or diagrams beneath their file cards, with SVG previews updating while the file streams and Mermaid previews appearing when the file is complete.
  • Native tool cards can open expanded regardless of the transcript’s expansion state; the todo checklist uses this behavior.
Changed
  • TSP composer placeholders now appear as the composer title in italicized curly quotes, with “What are we cooking?” used when no title is provided.
  • TSP image transfers are more efficient across reconnects and multiple surfaces: images are sent once per connection, existing terminal blobs are detected before upload, and images in the Tern blob cache can be reused without crossing the terminal pty.
  • Improved performance and responsiveness across the TUI, including large TSP messages and Markdown documents, streaming output, tool-result cards, debug logs, raw SSE and Git diff views, path and model searches, session and settings lists, plan review, agent transcripts, status updates, assistant links, Kitty images, and large prompt or evaluation content.
  • Large debug logs and plan-review histories now retain bounded history to keep the interface responsive, while preserving the newest log entries.
Fixed
  • Fixed slow Markdown processing for certain LaTeX environments and incomplete delimiters.
  • Fixed excessive slowdown when formatting long semicolon-free JavaScript evaluations.
  • Fixed prompt-editor lag in large drafts containing magic keywords.

@oh-my-pi/pi-utils

Added
  • Added ZipPackage to @oh-my-pi/pi-utils/ar for lazily reading ZIP-based document packages with a configurable total-inflation limit, plus DocxImage.readBytes() for accessing raw DOCX image data.
Changed
  • Improved DOCX conversion to inflate only the package contents it needs, reducing unnecessary work and memory use.

…