- Nothing yet.
- Version reporting now matches the 2.1 line (CLI and binaries print 2.1.1).
- Panel foundation (beta): rebuilt on
@mariozechner/pi-tuiwith auto-refresh, scrollable per-target log tails, sticky controls, and git summaries via--git-mode ai|list, plus alt-screen default, tagline/home-path shortening, ahead/behind badges, compressed separators, and clean redraws. - Interactive controls: start/stop and pause/resume hotkeys with width-aware control lines; calmer launches that clear the screen and keep spacing tight on narrow terminals.
- Progress + logs: build/Vitest/XCTest progress bars now ASCII-safe; script banners move inline, failure hints surface in logs, and dirty-file/log panes clamp to available width.
- Project init: auto-detects Swift/mixed/CMake projects, runs the CMake analyzer with preset/generator support, and can auto-add inferred targets.
- Smarter rebuild scheduling: debounced build scheduler, rebuild queue on scheduling changes, config-reload orchestrator, and watch-service refresh/re-subscribe when configs change.
- CMake analyzer upgrades: split build query/parser helpers, improved target generation, and clearer error reporting for CMake users.
- Resilience & wrapper: daemon state dir falls back to temp on Windows; detached daemon handling tightened; stale/lock recovery hints and improved “stale binary” guidance.
- CLI registry & JSON: centralized command registry drives help text/option metadata; JSON output for
wait/clean; descriptors tested and aligned across commands. - Tooling & docs: npm builder streams logs; Swift/XCTest progress parser hardened; notifier typing fixed; panel docs refreshed; AGENTS/tools blocks synced; dependency/workflow updates keep pnpm-first defaults.
- Panel foundation (beta): rebuilt on
@mariozechner/pi-tuiwith auto-refresh, scrollable per-target log tails, sticky controls, and git summaries via--git-mode ai|list, plus alt-screen default, tagline/home-path shortening, ahead/behind badges, compressed separators, and clean redraws. - Interactive controls: start/stop and pause/resume hotkeys with width-aware control lines; calmer launches that clear the screen and keep spacing tight on narrow terminals.
- Progress + logs: build/Vitest/XCTest progress bars now ASCII-safe; script banners move inline, failure hints surface in logs, and dirty-file/log panes clamp to available width.
- Project init: auto-detects Swift/mixed/CMake projects, runs the CMake analyzer with preset/generator support, and can auto-add inferred targets.
- Smarter rebuild scheduling: debounced build scheduler, rebuild queue on scheduling changes, config-reload orchestrator, and watch-service refresh/re-subscribe when configs change.
- CMake analyzer upgrades: split build query/parser helpers, improved target generation, and clearer error reporting for CMake users.
- Resilience & wrapper: daemon state dir falls back to temp on Windows; detached daemon handling tightened; stale/lock recovery hints and improved “stale binary” guidance.
- CLI registry & JSON: centralized command registry drives help text/option metadata; JSON output for
wait/clean; descriptors tested and aligned across commands. - Tooling & docs: npm builder streams logs; Swift/XCTest progress parser hardened; notifier typing fixed; panel docs refreshed; AGENTS/tools blocks synced; dependency/workflow updates keep pnpm-first defaults.
- Added hot-reload
polter --watchflag with restart signal/delay options to keep executables fresh after successful builds - Introduced config-driven
autoRunfor executable targets so the daemon can relaunch binaries automatically after builds - Refactored launch handling into shared utilities and added regression tests covering watch mode parsing, launch prep, and the executable runner life cycle
- Auto-detect Go
cmd/<name>/main.goprojects duringpoltergeist init --auto, generating runnable binaries indist/bin/ - Extend the TypeScript example harness to cover the new Go CLI project with tokenized rebuild verification
- Documented hot reload workflows in README, covering daemon setup and multi-target tuning
- Replaced the legacy example shell runner with a TypeScript harness that logs structured results to docs/test-e2e-report.json
- Added brace-aware glob expansion so Watchman subscriptions fire reliably across mixed-language targets
- Updated CLI defaults to emit enabled Node targets with separate TypeScript/JavaScript watch paths and aligned tests
- Modernized the CMake builder to use ESM-friendly child_process imports and run library/executable builds without bailing
- Introduced AGENTS.md guidance (symlinked from CLAUDE.md) and removed examples/run-all-examples.sh in favour of the new workflow
- Target-specific log files in
/tmp/poltergeist/with plain text format (80% size reduction) - Separate log file per target matching state file naming:
{projectName}-{hash}-{target}.log - Plain text log format for zero parsing overhead:
timestamp level: message - Fixed Bun.spawn stdio configuration error - daemon now starts correctly with log file redirection
- Proper file handle wrapping with
Bun.file()for Bun runtime compatibility - Improved daemon spawning reliability for Bun standalone binaries
- Polter waits for builds when lock file exists regardless of state (handles any stuck build scenario)
- Detects stuck build processes from error patterns and provides tool-specific recovery commands
- Generic lock detection works with any build system (SwiftPM, Make, Cargo, npm, etc.)
- Fixed polter binary not being built during release process - Homebrew users now get working polter command
- Updated build script to build both poltergeist and polter binaries
- Added comprehensive release checklist to prevent future release mistakes
- Fixed version string to be compile-time constant - binary no longer reads version from filesystem
- Clear differentiation between
polterandpoltergeisthelp messages - Watchman incremental updates - only changed files detected, not full file lists
- Bun binary compilation - resolved
import.meta.urlissues - Performance for large projects (e.g., VibeTunnel with 489+ Swift files)
- IPC communication for both Node.js and Bun runtimes
- Startup timeout increased to 60s for complex projects
- Real-time build output streaming during execution
- Manual build command with
--verboseand--jsonoptions - Inline error diagnostics with context in build failures
- Automatic rebuild attempts for recent failures when running
polter - Enhanced error persistence in state files for quick diagnosis
- Improved error messages with timestamps and actionable next steps
- Better build output capture for error diagnosis
- AI agents now get immediate feedback when builds fail
- Fixed
poltercommand not executing when installed globally via npm - Proper detection of execution context for symlinks and global packages
- Fixed silent exit issue when
polterwas invoked globally
poltergeist poltersubcommand for Homebrew compatibility- Configurable daemon startup timeout via environment variable
- Automatic retry with exponential backoff for daemon startup
- Default daemon timeout increased from 10s to 30s
- Better error messages when daemon startup fails
- Eliminated code duplication in polter command
- Improved cross-platform path handling
--verboseflag for status command with detailed build statistics-vas version shorthand for all commands- NPM builder support with automatic package.json detection
- Self-building capability for Poltergeist development
- Executable targets in configuration for
poltercommand - Unified output formatting with consistent prefixes
- Major CLI redesign with modern, consistent format
- CLIFormatter utility for unified help displays
- Commands organized into logical groups
- Fixed daemon detection with proper heartbeat checking
- Binary discovery in subdirectories
- Standardized CLI output and flag conventions
- Replaced Pino with LogTape for zero-dependency logging
- Updated logger unit tests for LogTape compatibility
- Fixed linting issues in logger implementation
- Full Windows 10/11 support with cross-platform compatibility
- Homebrew installation method for macOS ARM64 users
- Breaking: Renamed
pgruncommand topolterfor better branding - Breaking: Unified temp directory usage across platforms with
POLTERGEIST_STATE_DIRsupport - Enhanced CI pipeline with multi-platform testing matrix
- Cross-platform path separator handling
- Windows drive letter root directory detection
- Process parameter naming conflicts in ProcessManager
- Windows-specific test compatibility issues
- Dedicated CHANGELOG.md file for improved release tracking
- Updated dependencies: winston 3.17.0, zod 4.0.14, tsx 4.20.3
- Consolidated README documentation with improved organization
- Official stable release marking production readiness
- Complete test suite validation (318 tests passing)
- Mac app state file parsing for hyphenated project names
- Staleness threshold consistency (5 minutes across CLI and Mac app)
- CI pipeline test execution order
- Replaced custom glob matcher with picomatch library
- Removed legacy status format support
- Improved codebase maintainability (-76 lines)
- picomatch dependency for robust pattern matching
- Initial beta release
- Universal target system for multiple build types
- Smart execution wrapper (polter) for fresh builds
- Intelligent build prioritization and queue management
- Focus pattern detection and configuration
- Native notifications with concurrent build protection
- Advanced state management and process tracking
- Cross-platform support (macOS, Linux, Windows)
- macOS companion app for status bar monitoring