- Port pi-ai from upstream with Bun-first approach (source files, no dist)
- Add cli_ prefix to tool names in OAuth mode to avoid collisions
- Improve beta header handling with proper deduplication
- Convert codex-instructions.md to Bun text embed
- Strip .js extensions from all imports
- Added in-memory session storage abstraction with SessionStorage interface and MemorySessionStorage implementation.
- Added configurable bash interceptor rules with pattern-based command interception settings.
- Added AbortSignal support to 80+ web scrapers for request cancellation.
- Changed task tool to require explicit task `id` field and single `agent` parameter at top level.
- Removed `submit_review` tool - reviewers now use `complete` tool with structured output.
- Replaced Date.now() and crypto.randomUUID() with nanoid() for unique ID generation throughout codebase.
- Added new @oh-my-pi/pi-git-tool package with 22 git operations, safety guards, caching, and GitHub CLI integration.
- Added /wt slash command for git worktree management with create, list, merge, remove, spawn, and parallel operations.
- Added worktree library with collapse strategies (simple, merge-base, rebase) and session tracking for agent tasks.
- Added structured git tool with TypeBox schema exposing gitTool and createGitTool from SDK.
- Added safety policies blocking force push to protected branches and warning on destructive operations.
- Added VoiceSupervisor and VoiceController classes for realtime voice mode using OpenAI Realtime API.
- Added echo suppression, noise floor filtering, and fallback transcript handling for voice input.
- Changed voice mode toggle from Caps Lock to Ctrl+Y with auto-send on silence behavior.
- Changed default TTS model from gpt-4o-mini-tts to tts-1.
- Added kwaipilot/kat-coder-pro model and removed deprecated OpenRouter models.
- Replaced crypto.randomUUID() with nanoid() for ID generation across session-manager and rpc-mode.
- Added RecentSessionInfo class with lazy getters for fullName, name, and timeAgo properties.
- Simplified session retrieval by consolidating isValidSessionFile() into getSortedSessions() helper.
- Added nanoid ^5.1.6 dependency and removed duplicate safe-buffer entries from lockfile.
- Added unified capability-based discovery system for loading configuration from 8 AI coding tools (Cursor, Windsurf, Cline, GitHub Copilot, Gemini, Codex, Claude, VS Code).
- Added Discovery settings tab in interactive mode for enabling/disabling configuration providers.
- Added provider source attribution showing which tool contributed each configuration item.
- Added support for tool-specific rule formats including Cursor MDC, Windsurf global_rules, and Cline .clinerules.
- Changed MCP tool name parsing to use last underscore separator for improved server name handling.
- Refactored core loaders (skills, hooks, custom tools, slash commands) to use capability API instead of manual directory scanning.
- Renamed CLI binary and package from 'pi' to 'omp' across all platforms and installers.
- Changed environment variable prefix from PI_* to OMP_* with automatic migration support.
- Changed configuration directory from ~/.pi/ to ~/.omp/ with multi-path fallback discovery.
- Added getConfigDirPaths(), findConfigFile(), and readConfigFile() functions for config resolution across .omp, .pi, and .claude directories.
- Embedded assets (themes, templates, agents, commands) directly into binary at compile time using Bun imports.
- Removed runtime filesystem reads for bundled assets in favor of static build-time imports.
- Simplified build scripts by removing copy-assets steps and compiling directly from TypeScript source.
- Updated publish workflow to use bun publish with NPM_CONFIG_TOKEN environment variable.
- Added TypeScript declarations for importing .md, .css, .html, and .js files as text strings.
- Added centralized file logger with winston and daily rotation to ~/.pi/logs/ directory.
- Exposed logger property to hook and custom tool APIs for extension logging.
- Replaced silent error suppression with debug/warning logging across 20+ catch blocks.
- Removed separate Exa error logger in favor of centralized logging system.
- Added interactive /review command with mode selection for base
branch, uncommitted changes, specific commit, or custom
instructions.
- Added subprocess tool registry for extracting and rendering tool
data from subprocess agents.
- Added combined review result rendering with verdict and findings
tree structure.
- Changed bundled commands to be overridable by user/project
commands with same name.
- Removed findings_count parameter from submit_review tool in
favor of automatic counting.
- Added fix npm script for auto-fixable lint issues with unsafe
fixes.
- Added @typescript/native-preview dependency to enable faster type checking with tsgo.
- Updated check scripts across packages to use tsgo instead of tsc for improved performance.
- Extended root check script to include coding-agent package type checking.