Skip to content

v18.1.0

Choose a tag to compare

@github-actions github-actions released this 01 Sep 14:00
· 34 commits to main since this release
d74c583

@oh-my-pi/pi-ai

Added

  • Added an optional completeSimple callback that observes every result, including results from internal thinking-loop retries.
  • Added compatibility options for Anthropic-compatible proxies that reject context_management and OpenAI Responses proxies that provide incomplete reasoning-summary streams.
  • Added ClinePass API-key authentication via the official CLINE_API_KEY environment variable, with account validation, actionable subscription and quota errors, support for eligible ClinePass model rosters, and rolling quota-window reporting in omp usage.
  • Added Devin router-model support, including assignment of the concrete model before each request, routed-model metadata, credit usage reporting, and plan, quota-window, and account details through omp usage.

Changed

  • Provider behavior is now driven by each model's resolved compatibility, identity, thinking, and behavior policies rather than model-name matching, improving support for model-specific request formatting, vision, reasoning, routing, pricing, and quota handling.
  • Devin integrations now use the current released CLI identity and support parallel tool calls when the model declares that capability.

Fixed

  • Fixed OpenAI remote-compaction replay for persisted sessions, allowing sessions with previously stored compaction items to resume successfully.
  • Fixed Cursor Fable requests failing when advertised tools used JSON Schema composition keywords.
  • Fixed Z.AI (GLM Coding Plan) browser sign-in by using the registered CLI callback address.
  • Fixed OpenAI Codex/Responses tool results being lost when composite call identifiers could not be paired with the corresponding assistant call.
  • Fixed native OpenAI Responses history replay becoming stuck on malformed or truncated function-call arguments; invalid history items are now discarded so the session can recover.

@oh-my-pi/pi-catalog

Added

  • Added GitLab Duo model support.
  • Added provider support for Llama.cpp, LM Studio, and Minimax.
  • Added catalog entries for Qwen 3.8 27B, Granite 4.2 8B, Abliterated variants, GLM 5.3, and Qwen 3.8 Flash Next.
  • Added compatibility metadata for context management and reasoning summaries on supported provider-compatible model endpoints.
  • Added the native ClinePass provider with live model discovery, subscription and free-tier model listings, current limits and pricing, model modalities, and per-model reasoning controls. Subscription models display API-equivalent pricing while free-tier models display as free.
  • Added native Devin provider discovery with current Cascade model capabilities, pricing, limits, reasoning controls, selector aliases, and model descriptions and recommendation/beta metadata. Added static SWE-1.6 defaults so the provider can resolve a default model before account-scoped discovery completes.
  • Added per-tier model pricing and long-context pricing support, along with expanded catalog metadata for model limits, API routes, input modalities, and provider-specific model aliases.

Changed

  • Updated pricing data across the catalog to reflect current provider rates.
  • Standardized model display names for greater consistency.
  • Improved model compatibility classification and variant selection using structured model identities, providing more reliable detection of model families, revisions, reasoning variants, and provider-specific capabilities.

Fixed

  • Fixed compatibility detection for vendor-prefixed GLM models on Mistral and Cerebras, restoring the appropriate tokenizer and reasoning-history behavior.
  • Removed an obsolete OpenCode provider entry that exposed unavailable Zen models in the model picker.
  • Fixed model revision detection for parameterized model IDs, including correct classification of Qwen, Fireworks Kimi, and Cursor-wrapped Grok models.
  • Fixed Kimi K3 reasoning-effort handling on OpenAI-compatible hosts such as LiteLLM and vLLM.
  • Fixed pricing for Codex Daybreak aliases, including worker variants.
  • Fixed reasoning-effort variants for local Ollama models and DeepSeek V4, and corrected prompt-cache support for applicable Bedrock Nova deployments.
  • Fixed Devin model variants with separate thinking and context-size options so all supported routing combinations and context limits are preserved.
  • Corrected Devin SWE-1.6 and SWE-1.6 Fast capability metadata so image attachments use the appropriate text-only fallback instead of being silently discarded.
  • Devin discovery now warns when the service returns an empty native model catalog, helping identify stale or incompatible CLI credentials.

Removed

  • Removed legacy DeepSeek V3 variants from the Novita catalog.

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

Added

  • Added the /trace slash command to display session trace URLs in the stats dashboard.
  • Added support for OpenAI-compatible gateways whose model-list endpoint is rooted at a versioned URL, with an injectV1: false discovery option to request {baseUrl}/models directly.
  • Added provider-reported credits and concrete routed-model counts to /session statistics.
  • Added CLINE_API_KEY to CLI environment help for native ClinePass subscription inference.
  • Expanded Devin model selection to support native CLI aliases, dotted upstream model names, and raw effort-route identifiers.
  • Added provider-supplied model metadata to /models, including new, beta, and recommended badges plus model descriptions.
  • Standalone CLAUDE.md files in project and ancestor directories are now loaded as context alongside AGENTS.md, while preserving config-directory precedence.
  • Added an Activity view to Agent Hub with searchable and filterable timelines spanning live progress and persisted transcripts; /hub is now the live-operations entry point while /agents retains Control Center behavior.
  • Added an icon.advisorClosed symbol-theme token: the advisor eye in the status line now closes once the advisor has finished reviewing and will not add further comments.

Changed

  • Disabled hashline editing for Kimi, Mimo, DeepSeek Flash, and Stepfun models for improved stability.
  • Reworked /usage into a fullscreen dashboard overlay (no transcript output): a compact per-provider subscriptions grid with untouched providers collapsed into one line, a GitHub-style daily activity heatmap fed by local stats, and the classic full report one keypress away.
  • Reworked transcript navigation with a fullscreen rewind selector opened by double-Escape, supporting rendered-item navigation, user-turn jumps, branching rewinds, and alternate session-tree branch selection.
  • Updated /copy to use the fullscreen transcript selector, allowing users to copy a turn or navigate into nested content such as code, quotes, commands, and tool output.

Fixed

  • Improved edit-tool error guidance for operations missing the » separator, identifying redundant context-only operations
  • Fixed OAuth provider modifyModels projections being silently dropped after a discovery refresh introduced live-config headers.
  • Edit-tool / line operations now match their anchors leniently across whitespace drift (indentation, blank-line miscounts) instead of failing with a byte-for-byte error; a note reports the lenient match.
  • Fixed an edit-tool REWRITE consisting only of add lines silently replacing (deleting) the matched text; it now inserts after the kept MATCH.
  • Edit-tool no-match errors now name MATCH lines that exist nowhere in the file and suggest marking them with , and errors without a located region no longer append a misleading file-head "closest match" preview.
  • Fixed ordinary CLI startup eagerly loading the computer worker graph (native desktop addon and early environment), restoring lazy startup and profile .env ordering.
  • Fixed online auto-thinking classifier usage being omitted from session token and cost totals.
  • Fixed image generation with custom provider endpoints when using openai-codex credentials and a non-OpenAI chat model.
  • Fixed custom hook UI factories not receiving the documented keybindings argument.
  • Fixed MCP OAuth token exchange for authorization endpoints that use a different resource indicator.
  • Fixed custom extension web_search tools being shadowed by the built-in search tool.
  • Fixed Agent Hub task boards collapsing to summary rows after returning from a focused session.
  • Improved Linux ARM64 browser startup messaging when managed Chrome for Testing builds are unavailable, with guidance for using system Chromium or PUPPETEER_EXECUTABLE_PATH.
  • Fixed resuming image-heavy sessions that previously terminated while replaying transcripts.
  • Fixed custom agents declaring hub being incorrectly treated as read-only.
  • Restored compatibility for legacy Pi extensions that import calculateContextTokens or use the synchronous SettingsManager.create() API.
  • Fixed custom model overrides being lost during configuration updates.
  • Clarified that the default task-delegation setting follows the selected model's policy.
  • Fixed /rename without a title interrupting active session activity.
  • Fixed the Nerd Font notification persisting incorrectly after theme configuration.
  • Fixed sampling parameter errors with newer Anthropic models.
  • Long OpenCode Go usage-limit waits now switch replay-safe turns to a configured alternate provider when the delay exceeds retry.maxDelayMs.
  • Fixed OpenAI Codex Responses tool results being lost when composite and plain tool-call identifiers did not match.
  • Fixed /tan background agents failing to resolve credentials for providers supplied by extensions.
  • Fixed Mnemopi saving session transcripts on exit when automatic retention is disabled.
  • Fixed configuration writes through chained symlinks so the final target and intermediate links are preserved.
  • Fixed direct tool calls using full xd:// device URLs.
  • Fixed command-backed headers in custom discovery providers being resolved for discovered models.
  • Fixed Windows drive paths pasted under WSL being resolved through their /mnt/<drive> mounts for images and file reads.
  • Improved sloppy/SPARSE edit no-match guidance so low-confidence matches are clearly presented without unsafe copy-ready operations.
  • Fixed agents in Hub wait loops failing to respond to user steering messages.
  • Fixed /tan sessions inheriting parent costs and overstating subagent totals.
  • Fixed prompt action labels being truncated.
  • Fixed assistant text being truncated when a tool call begins during streaming.
  • Fixed the advisor dropping concerns when catching up on multiple turns and improved review context with bounded tool-result excerpts plus complete ask exchanges.
  • Fixed bash command timeouts being delayed by child processes holding output pipes open, while improving timeout reporting and cleanup.
  • Fixed retry countdowns and capped-wait errors displaying floating-point noise in millisecond durations.
  • Prevented browser app.path from terminating existing same-executable applications when no reusable CDP endpoint is available.
  • Fixed top-level errors overwriting the active composer before terminal restoration.
  • Fixed Enter being ignored during the first turn when omp starts with an initial prompt.

@oh-my-pi/pi-natives

Fixed

  • Fixed TTY output backpressure reporting so pending write progress is accurately reflected during large writes.

@oh-my-pi/snapcompact

Added

  • Added a declarative compatibility rules system for consistent model identification, capabilities, policies, and provider-specific behavior across model classes, families, and revisions.
  • Added the compat-compiler CLI for managing model identity and capability rules through KDL configuration files.

Changed

  • Standardized model revision handling and compatibility resolution across model discovery and runtime behavior.

@oh-my-pi/omp-stats

Added

  • Added API for daily activity tracking, including cost, requests, and token usage aggregates
  • Added a Traces dashboard for detailed session analysis, including an interactive timeline, searchable and filterable transcripts, token and cost summaries, and aggregate tool-usage and timing insights.

Fixed

  • Fixed omp stats omitting usage from online auto-thinking classifier calls.

@oh-my-pi/pi-tui

Fixed

  • Improved terminal stability when resuming image-heavy sessions, preventing large transcript repaints from being mistaken for stalled output or exceeding the terminal output limit.
  • Fixed inline images leaving blank rows in Herdr panes when resuming or rendering sessions in nested terminals.
  • Fixed the TUI crashing on reference-style Markdown links whose labels match JavaScript built-in names; these links now render safely as plain text.
  • Fixed fatal cleanup leaving the cursor inside a focused input before error output is displayed.
  • Fixed resumed sessions showing stale background bands until the next keypress in WSL and Windows Terminal.

@oh-my-pi/pi-utils

Added

  • Added postmortem.fatal for terminal-safe top-level failure reporting.

Fixed

  • Fixed sub-second duration formatting so it no longer exposes floating-point precision noise.
  • Managed Chrome-for-Testing downloads now reject unsupported Linux ARM64 hosts instead of installing an incompatible x86_64 browser.
  • Fixed Markdown reference-link labels that match built-in Object.prototype names, such as constructor and __proto__, so they are no longer misidentified as definitions or emitted with an undefined URL (#10283).

What's Changed

  • feat(ai,catalog): add native ClinePass provider by @will-bogusz in #7863
  • feat(ai,catalog): adopt Devin's native CLI surface (dynamic catalog, router, usage) by @will-bogusz in #8590
  • feat(coding-agent): load standalone CLAUDE.md from project root by @H4vC in #10272
  • feat(coding-agent): add openai-models-list-bare discovery no norm by @H4vC in #10371
  • fix(auth): use ZCode-registered callback for Z.AI OAuth by @roboomp in #10246
  • fix(ai): add provider compatibility opt-outs by @jubueche in #10358
  • feat(coding-agent): add unified agent activity view by @kmccleary3301 in #7974
  • fix(hooks): align HookUIContext.custom with runtime keybindings arity by @kvnloo in #10424
  • fix(prompts): make hub steering interrupts require a user-facing reply by @ParadaCarleton in #10437
  • fix(config): resolve discovery-provider !command headers on inference path by @roboomp in #10458
  • fix(tools): allow opaque Codex image proxy credentials by @roboomp in #10460
  • test: unbreak coding-agent native/unit on displayless PR runners by @Mustaqeem66 in #10262
  • fix(advisor): deliver full deferred-note backlog past per-update cap by @roboomp in #10273
  • fix(tui): restore terminal before fatal stderr output by @roboomp in #10277
  • fix(nix): restore bun lock guard by @roboomp in #10281
  • fix(ai): pair composite Responses tool-call ids on the call_ component by @mattwilkinsonn in #10284
  • fix(config): preserve dangling symlink chains on config write by @mattwilkinsonn in #10285
  • fix(tui): render prototype-label reference links as plain text by @roboomp in #10291
  • fix(mcp): preserve advertised OAuth resource by @roboomp in #10301
  • fix(tui): enforce image budget before frame emission by @roboomp in #10307
  • fix(bash): bound native output-drain so timeouts fire on time by @roboomp in #10309
  • fix(tools): respect custom web search overrides by @roboomp in #10316
  • fix(session): exclude inherited cost from /tan forks by @roboomp in #10319
  • fix(coding-agent): force-complete streaming reveal at tool-call boundary by @roboomp in #10320
  • fix(coding-agent): preserve activity after invalid rename by @roboomp in #10327
  • fix(pi-ai): drop malformed function_call arguments from Responses replay by @IanAbaxx in #10332
  • fix(tui): fuse resumed-session repaint with overlay exit by @roboomp in #10340
  • fix(tools): resolve xd:// prefixed direct device calls by @roboomp in #10343
  • fix(scripts): use canonical read-only agent policy by @roboomp in #10350
  • fix(coding-agent): surface relay consumer startup errors by @roboomp in #10354
  • fix(tui): prevent blank images in herdr panes by @roboomp in #10356
  • fix(coding-agent): fix truncated labels of prompt actions by @kidonng in #10357
  • fix(retry): bypass long OpenCode usage waits by @solutions-ship-it in #10365
  • fix(auto-thinking): account for classifier usage by @jubueche in #10366
  • fix(advisor): include bounded tool results in reviews by @jiwangyihao in #10367
  • test(coding-agent): isolate default model regression fixture by @roboomp in #10384
  • test(robomp): isolate server tests from dispatcher by @roboomp in #10385
  • fix(pi-shell): make process tests independent of coreutils by @roboomp in #10386
  • fix(coding-agent): forward parent extensions to /tan child so provider auth survives by @fernandodeperto in #10390
  • fix(extensions): restore SettingsManager shim shape for legacy pi extensions by @roboomp in #10398
  • test(coding-agent): fix placeholder collision flake by @roboomp in #10402
  • docs(coding-agent): clarify default task delegation policy by @roboomp in #10405
  • fix(browser): reject x86 chromium download on linux arm64 by @roboomp in #10406
  • fix(mnemopi): respect disabled auto-retention on exit by @kml93 in #10408
  • fix(edit): gate sloppy no-match anchor guess on confidence by @roboomp in #10412
  • fix(ai): strip compaction statuses from replay by @spgsroot in #10415
  • fix(catalog): retire leftover bare opencode provider slice by @roboomp in #10418
  • fix(tools): translate windows drive paths to /mnt mounts on WSL by @roboomp in #10428
  • fix(cursor): sanitize unsupported tool schema combiners by @roboomp in #10433
  • fix(tui): make stdout backlog disconnect progress-aware by @roboomp in #10434
  • fix(tui): preserve task boards across focus rebuilds by @roboomp in #10447
  • fix(tui): round fractional retry durations by @roboomp in #10266
  • fix(browser): preserve pre-existing app processes by @roboomp in #10269
  • feat(coding-agent): close advisor eye icon once its review has yielded by @H4vC in #10463

New Contributors

Full Changelog: v18.0.11...v18.1.0