Added
pi.setLabel(entryId, label)in ExtensionAPI for setting per-entry labels from extensions (#806)- Export
keyHint,appKeyHint,editorKey,appKey,rawKeyHintfor extensions to format keybinding hints consistently (#802 by @dannote) - Exported
VERSIONfrom the package index and updated the custom-header example. (#798 by @tallshort) - Added
showHardwareCursorsetting to control cursor visibility while still positioning it for IME support. (#800 by @ghoulr) - Added Emacs-style kill ring editing with yank and yank-pop keybindings, plus legacy Alt+letter handling and Alt+D delete word forward support in the interactive editor. (#810 by @Perlence)
- Added
ctx.compact()andctx.getContextUsage()to extension contexts for programmatic compaction and context usage checks. - Added documentation for delete word forward and kill ring keybindings in interactive mode. (#810 by @Perlence)
Changed
- Updated the default system prompt wording to clarify the pi harness and documentation scope.
- Simplified Codex system prompt handling to use the default system prompt directly for Codex instructions.
Fixed
- Fixed photon module failing to load in ESM context with "require is not defined" error (#795 by @dannote)
- Fixed compaction UI not showing when extensions trigger compaction.
- Fixed orphaned tool results after errored assistant messages causing Codex API errors. When an assistant message has
stopReason: "error", its tool calls are now excluded from pending tool tracking, preventing synthetic tool results from being generated for calls that will be dropped by provider-specific converters. (#812) - Fixed Bedrock Claude max_tokens handling to always exceed thinking budget tokens, preventing compaction failures. (#797 by @pjtf93)
- Fixed Claude Code tool name normalization to match the Claude Code tool list case-insensitively and remove invalid mappings.
Removed
- Removed
pi-internal://path resolution from the read tool.