github can1357/oh-my-pi v16.2.9

5 hours ago

@oh-my-pi/pi-ai

Added

  • Added OAuthCallbackFlowOptions.allowPortFallback to allow disabling random-port fallback, enabling strict port enforcement and early configuration errors for OAuth flows with static redirect URIs.

Changed

  • Improved OAuthCallbackFlow port conflict error messages to include the busy port, configured redirect URI, and actionable remediation steps.

Fixed

  • Fixed an issue where malformed tool-call JSON from local Ollama or llama.cpp models was incorrectly retried as generic 500 errors, now surfacing a clear recovery message.
  • Fixed a race condition in OAuth callback flows where abort signals triggered before the callback listener was registered were ignored.

@oh-my-pi/pi-catalog

Added

  • Added full capability support for Claude Sonnet 5, aligning it with Claude Opus 4.8 and Fable 5. This includes adaptive thinking display, mid-conversation system messages, sampling parameter and thinking omission API restrictions, and 5-tier adaptive reasoning effort mapping (including xhigh and max levels) across direct APIs, OpenRouter, and Bedrock Converse.

Changed

  • Updated input and output costs for models in the catalog.

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

Breaking Changes

  • Renamed the built-in quick_task subagent to sonic; update any task spawns or configurations referencing quick_task by name.

Added

  • Added the llama3.2:3b local model option for memory and auto-thinking tasks, utilizing a quantized ONNX model.
  • Added a built-in Tester subagent designed to write high-signal tests for behavior, invariants, and edge cases while avoiding redundant or low-value tests.
  • Added a Speech-to-Text submit trigger setting to auto-submit dictation on release, on complete sentences, or via a spoken submit command.
  • Added a loop-guard mechanism that detects thinking/response loops and injects a system notice during auto-retries to guide the model to break the pattern and take a concrete next step.

Changed

  • Renamed the Speech-to-Text (STT) setting label from "TTS Submit Trigger" to "Speech-to-Text Submit Trigger".

Fixed

  • Fixed an issue where mid-run compaction was incorrectly skipped when a persisted assistant display variant shared a persistence key but differed in content from the live message.
  • Fixed duplicate placeholder cards being created when streamed tool blocks started with an empty ID.
  • Fixed omp debug --profile failing on Bun by treating the optional --allow-natives-syntax flag as best-effort when v8.setFlagsFromString is unavailable.
  • Fixed release binaries missing the compiled tiny-model Transformers.js version pin, preventing runtime resolution issues on certain platforms like Homebrew Darwin arm64.
  • Fixed MCP OAuth flows silently falling back to a random redirect port when the preferred port (default 3000) was busy, which caused authentication failures with strict providers. The flow now fails fast with a configuration error when a static client ID is pinned, while dynamic registration flows continue to use fallback ports.
  • Fixed /mcp reauth and /mcp add commands ignoring the Escape key during OAuth authentication, allowing users to cancel the flow immediately instead of waiting for the timeout.

Removed

  • Removed the built-in oracle subagent.

@oh-my-pi/pi-tui

Added

  • Added Editor.submit() to allow programmatic composer submission, enabling integration with speech input and other automated flows.

@oh-my-pi/pi-utils

Added

  • Improved resilience in fetchWithRetry() by adding a response-body retry gate to handle deterministic provider failures that return retryable HTTP statuses.

Fixed

  • Fixed YAML frontmatter parsing for skill descriptions containing unquoted colons (: ), ensuring typed fields are correctly preserved without triggering unnecessary warnings.

What's Changed

  • fix(mcp/oauth): fail fast when callback port is busy instead of advertising a random one by @roboomp in #3889
  • fix(mcp): made Esc cancel /mcp reauth and /mcp add OAuth flow by @roboomp in #3890
  • fix(debug): guard v8.setFlagsFromString so CPU profiler works on Bun by @roboomp in #3898
  • fix(ai): harden Ollama malformed tool-call JSON failures by @roboomp in #3900
  • fix(coding-agent): preserve auto thinking across plan approval by @roboomp in #3906
  • fix(release): pin tiny transformers version in release binaries by @roboomp in #3907

Full Changelog: v16.2.8...v16.2.9

Don't miss a new oh-my-pi release

NewReleases is sending notifications on new releases.