github badlogic/pi-mono v0.38.0

latest releases: v0.55.3, v0.55.2, v0.55.1...
one month ago

Breaking Changes

  • ctx.ui.custom() factory signature changed from (tui, theme, done) to (tui, theme, keybindings, done) for keybinding access in custom components
  • LoadedExtension type renamed to Extension
  • LoadExtensionsResult.setUIContext() removed, replaced with runtime: ExtensionRuntime
  • ExtensionRunner constructor now requires runtime: ExtensionRuntime as second parameter
  • ExtensionRunner.initialize() signature changed from options object to positional params (actions, contextActions, commandContextActions?, uiContext?)
  • ExtensionRunner.getHasUI() renamed to hasUI()
  • OpenAI Codex model aliases removed (gpt-5, gpt-5-mini, gpt-5-nano, codex-mini-latest). Use canonical IDs: gpt-5.1, gpt-5.1-codex-mini, gpt-5.2, gpt-5.2-codex. (#536 by @ghoulr)

Added

  • --no-extensions flag to disable extension discovery while still allowing explicit -e paths (#524 by @cv)
  • SDK: InteractiveMode, runPrintMode(), runRpcMode() exported for building custom run modes. See docs/sdk.md.
  • PI_SKIP_VERSION_CHECK environment variable to disable new version notifications at startup (#549 by @aos)
  • thinkingBudgets setting to customize token budgets per thinking level for token-based providers (#529 by @melihmucuk)
  • Extension UI dialogs (ctx.ui.select(), ctx.ui.confirm(), ctx.ui.input()) now support a timeout option with live countdown display (#522 by @nicobailon)
  • Extensions can now provide custom editor components via ctx.ui.setEditorComponent(). See examples/extensions/modal-editor.ts and docs/tui.md Pattern 7.
  • Extension factories can now be async, enabling dynamic imports and lazy-loaded dependencies (#513 by @austinm911)
  • ctx.shutdown() is now available in extension contexts for requesting a graceful shutdown. In interactive mode, shutdown is deferred until the agent becomes idle (after processing all queued steering and follow-up messages). In RPC mode, shutdown is deferred until after completing the current command response. In print mode, shutdown is a no-op as the process exits automatically when prompts complete. (#542 by @kaofelix)

Fixed

  • Default thinking level from settings now applies correctly when enabledModels is configured (#540 by @ferologics)
  • External edits to settings.json while pi is running are now preserved when pi saves settings (#527 by @ferologics)
  • Overflow-based compaction now skips if error came from a different model or was already handled by a previous compaction (#535 by @mitsuhiko)
  • OpenAI Codex context window reduced from 400k to 272k tokens to match Codex CLI defaults and prevent 400 errors (#536 by @ghoulr)
  • Context overflow detection now recognizes context_length_exceeded errors.
  • Key presses no longer dropped when input is batched over SSH (#538)
  • Clipboard image support now works on Alpine Linux and other musl-based distros (#533)

Don't miss a new pi-mono release

NewReleases is sending notifications on new releases.