Skip to content

Latest commit

 

History

History
238 lines (174 loc) · 14.2 KB

File metadata and controls

238 lines (174 loc) · 14.2 KB

Changelog

[Unreleased]

[2.1.6] - 2026-08-08

  • Removed the obsolete scoped-commit helper and allowed standard Git commands in isolated worktrees.

Documentation

  • Reworked the README around installation, first-run success, and progressive links to focused CLI and configuration guidance.

Fixed

  • Fixed clean resolving every state file through a StateManager rooted at the current project, so files belonging to other projects were skipped and, when target names collided, the current project's file was removed while the output named a different one. Thanks @devYRPauli.
  • Waited for captured build logs to flush before reporting build completion so immediate readers do not observe empty or truncated files.
  • Restored TypeDoc API generation after the legacy documentation prune, repaired stale README links, and documented the TypeScript 6.x compatibility pin pending TypeDoc support for the TypeScript 7 compiler API.

Maintenance

  • Updated compatible runtime and development dependencies, including pi-tui, Node.js types, Oxfmt, Oxlint, PostCSS, tsx, and Vite.

[2.1.5] - 2026-08-02

Fixed

  • Corrected the exported discoverStates() map-key contract to use full stored target names, preventing hyphenated targets such as app-bundle and test-bundle from truncating and colliding. Thanks @devYRPauli.
  • Fixed Poltergeist.listAllStates() always returning an empty array; it rebuilt state paths through a StateManager rooted at / instead of reading the discovered files.

Maintenance

  • Stabilized universal Bun binary packaging by stripping cross-compiled ad-hoc signatures before lipo assembly and re-signing the combined binaries.
  • Updated runtime and development dependencies, including Chalk 6, pi-tui 0.83, LogTape 2.3, Vite 8.2, pnpm 11, and current Oxc tooling.

[2.1.4] - 2026-07-19

Highlights

  • Restored trusted macOS app distribution with Developer ID signing, hardened runtime, notarization, stapling, and fail-closed release verification.

Fixed

  • Repaired the tag workflow so the complete app bundle is sealed with the personal Developer ID identity instead of retaining the linker-generated ad-hoc signature shipped in v2.1.3.
  • Added pre-publication checks for the bundle identifier, signing authority, team, hardened runtime, stable designated requirement, strict resource seal, notarization ticket, and Gatekeeper acceptance.

Maintenance

  • Documented the release certificate and App Store Connect credential contract and added shell and workflow lint coverage for the signing path.

[2.1.3] - 2026-07-17

Highlights

  • Restored native polter argument handling for current Bun standalone binaries and Homebrew slices.
  • Refreshed the panel runtime and release toolchain for current dependency releases.

Fixed

  • Normalized polter entrypoint detection across Node.js, older Bun binaries, current Bun virtual paths, and architecture-suffixed Homebrew slices.
  • Stabilized build-error persistence coverage so asynchronous state writes are verified reliably.

Maintenance

  • Updated compatible runtime dependencies, including pi-tui, LogTape, arkregex, es-toolkit, and ora, and removed obsolete Picomatch packages.
  • Updated development tooling, including Node.js types, tsgo, Oxfmt, Oxlint, PostCSS, tsx, TypeDoc, Vite, and pnpm.
  • Updated GitHub Actions checkout and Node.js setup actions, standardized release titles, aligned Homebrew tap references, and added an explicit Oxfmt configuration for warning-free checks.

[2.1.2] - 2026-06-11

  • Fixed Watchman exclusion conversion so file-extension globs like *.log match files at any depth instead of directory contents. Thanks @devYRPauli.
  • Fixed CMake project discovery so generated build-system utility targets and annotated default targets are not treated as project targets.
  • Fixed standalone polter version reporting by sharing the CLI's compile-time package metadata.
  • Fixed compiled polter packaging so the Homebrew binary runs, with release smoke tests for both CLI executables.
  • Excluded nested macOS metadata files from published npm tarballs.
  • Updated runtime dependencies and build/release tooling, including the maintained pi-tui package, Node.js 24 baseline, tsgo, oxlint/oxfmt, and automated Homebrew tap updates.

[2.1.1] - 2025-11-25

  • Version reporting now matches the 2.1 line (CLI and binaries print 2.1.1).
  • Panel foundation (beta): rebuilt on @mariozechner/pi-tui with 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.

[2.1.0] - 2025-11-25

  • Panel foundation (beta): rebuilt on @mariozechner/pi-tui with 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.

[2.0.0] - 2025-11-06

  • Added hot-reload polter --watch flag with restart signal/delay options to keep executables fresh after successful builds
  • Introduced config-driven autoRun for 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.go projects during poltergeist init --auto, generating runnable binaries in dist/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

[1.9.0] - 2025-11-06

  • 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

[1.8.0] - 2025-08-09

  • 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.)

[1.7.2] - 2025-08-09

  • 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

[1.7.1] - 2025-08-09

  • Fixed version string to be compile-time constant - binary no longer reads version from filesystem

[1.7.0] - 2025-08-09

  • Clear differentiation between polter and poltergeist help messages
  • Watchman incremental updates - only changed files detected, not full file lists
  • Bun binary compilation - resolved import.meta.url issues
  • 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

[1.6.3] - 2025-08-08

  • Real-time build output streaming during execution
  • Manual build command with --verbose and --json options
  • 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

[1.6.2] - 2025-08-08

  • Fixed polter command not executing when installed globally via npm
  • Proper detection of execution context for symlinks and global packages
  • Fixed silent exit issue when polter was invoked globally

[1.6.1] - 2025-08-07

  • poltergeist polter subcommand 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

[1.6.0] - 2025-08-07

  • --verbose flag for status command with detailed build statistics
  • -v as version shorthand for all commands
  • NPM builder support with automatic package.json detection
  • Self-building capability for Poltergeist development
  • Executable targets in configuration for polter command
  • 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

[1.5.1] - 2025-08-03

  • Replaced Pino with LogTape for zero-dependency logging
  • Updated logger unit tests for LogTape compatibility
  • Fixed linting issues in logger implementation

[1.5.0] - 2025-01-02

  • Full Windows 10/11 support with cross-platform compatibility
  • Homebrew installation method for macOS ARM64 users
  • Breaking: Renamed pgrun command to polter for better branding
  • Breaking: Unified temp directory usage across platforms with POLTERGEIST_STATE_DIR support
  • 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

[1.0.0] - 2025-08-03

  • 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)

[1.0.0-beta.1] - 2025-08-03

  • 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

[1.0.0-beta.0] - 2025-08-02

  • 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