github can1357/oh-my-pi v16.1.14

latest release: v16.1.15
10 hours ago

@oh-my-pi/pi-ai

Added

  • Added proxy support for model providers via PI_PROXY and PI_PROXY_<PROVIDER> variables
  • Added NO_PROXY environment variable support for bypassing proxy configuration
  • Added support for Sakana AI provider
  • Added Sakana AI login and request base URL support for SAKANA_* / FUGU_* environment variables

Changed

  • Consolidated API key authentication logic across registry providers
  • Disabled parallel tool calls for Devin provider requests

Fixed

  • Improved proxy bypass logic to correctly handle private IP ranges and local metadata services
  • Enhanced memoization for proxy environment variable lookups to improve performance

@oh-my-pi/pi-catalog

Added

  • Added Sakana AI provider support with Fugu model integration
  • Added Sakana AI/Fugu provider catalog entries with Fugu model discovery and Responses API metadata
  • Added support for "xhigh" reasoning tier across model configurations
  • Added configuration for new models GCP-5.4 Mini, GPT-5.5, and variants
  • Added devin variant collapse table to streamline model tiering

Changed

  • Updated reasoning label pattern to include "minimal" and "max" efforts
  • Simplified model identification logic for Devin-powered reasoning models
  • Refactored variant routing to consolidate and standardize tier definitions

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

Added

  • Added a Ruby eval backend (language: "rb"): a persistent subprocess Ruby kernel that shares the standard agent tool bridge and evaluation model, supporting IRB-style auto-display of results in a persistent session
  • Added a Julia eval backend (language: "jl"): a persistent subprocess Julia kernel that shares the standard agent tool bridge and evaluation model, supporting Julia REPL-style auto-display of results in a persistent session
  • Added configuration options eval.rb and eval.jl to enable or disable the Ruby and Julia backends (both opt-in, disabled by default), as well as ruby.interpreter and julia.interpreter paths for explicit runtime control
  • Added a Ruby eval backend (language: "rb"): a persistent subprocess Ruby kernel modeled on the Python kernel, speaking the same NDJSON protocol with isolated frame/stdout channels, clean SIGINT cancellation that preserves kernel state, and per-owner kernel cleanup. Ships the full prelude helper surface (display/read/write/append/tree/diff/env/output/sort/uniq/counter, the tool.<name> bridge proxy, and completion/agent/parallel/pipeline/log/phase/budget) over the shared loopback tool bridge, honors local:// roots, and auto-displays the last expression IRB-style (suppressing assignments/definitions). Gated by the eval.rb setting and PI_RB env flag, with an optional ruby.interpreter override.
  • Added a Julia eval backend (language: "jl"): a persistent subprocess Julia kernel with the same NDJSON/result-display/tool-bridge model as the Python and Ruby eval runtimes, including eval.jl / PI_JL gating, julia.interpreter override support, persistent per-session state, clean cancellation, owner-based kernel cleanup, local:// path roots, and the current Julia prelude helper surface (display/read/write/append/tree/diff/env/output, the tool.<name> bridge proxy, and bridge-backed completion/agent/parallel/pipeline/log/phase/budget, including structured schema parsing and return_handle DAG shaping).
  • The eval tool advertises only the runtimes enabled for the session: a disabled backend (rb/jl are off by default) is omitted from the tool's language enum, schema field descriptions, discovery summary, and prelude documentation, so disabled backends are never surfaced to the model

Changed

  • Refactored internal evaluation logic to consolidate shared kernel management and IPC handling
  • Refactored internal draft state to consolidate images and text into the editor component
  • Unified transcript rendering logic for background jobs, IRC traffic, and file mentions
  • Unified subprocess lifecycle management for mnemopi, speech, tiny-model, and TTS workers
  • Softened the system-prompt and tool-prompt guidance that hard-forbade reaching for shell equivalents of dedicated tools (grep/rg, sed/perl -i, cat/head/tail, find/fd). The "Specialized Tool Priority" section, the bash/search/find/read/replace tool prompts, and the FORBIDDEN/NEVER framing now state the dedicated tools as the preferred default rather than an absolute prohibition, so the agent no longer fights itself when a quick shell command is the right call. The opt-in bashInterceptor (default off) still hard-blocks these commands for users who enable it.
  • Refined TUI dashboard and list component layout logic for consistent rendering
  • Standardized scrollbar behaviors and keyboard navigation across all list components
  • Optimized internal message framing logic for better performance when handling large data bursts

Removed

  • Removed the readHashLines setting (the "Hash Lines" toggle under Files → Reading). Hashline read/search anchors ([PATH#TAG] snapshot headers plus LINE:content) are now driven solely by edit.mode === "hashline": the toggle was redundant when off (anchors are already suppressed for non-hashline edit modes) and a footgun when on (turning it off left the default hashline edit tool with no addressable anchors, since read then skips recording the snapshot tag). Existing configs are migrated automatically by dropping the stale key.

@oh-my-pi/hashline

Fixed

  • Improved delimiter-balance repair to correctly identify and spare deleted structural closers
  • Prevented premature deletion of structural closers when existing code below the range covers them
  • Accurate tracking of inserted lines to improve boundary repair logic for surrounding code blocks
  • Fixed delimiter-balance repair so deleted closer suffixes are kept only when the replacement prefix still has unmatched openers for them, avoiding duplicated trailing braces while preserving omitted outer closers.

@oh-my-pi/pi-natives

Fixed

  • Enabled full Julia syntax highlighting support in highlightCode

Full Changelog: v16.1.13...v16.1.14

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

NewReleases is sending notifications on new releases.