Repository navigation
v2.0.0
Enma v2.0.0 — Production Readiness & Cross-Platform Reliability
Enma v2.0.0 is a major release focused on production readiness, reliable process lifecycle management, efficient filesystem event handling, and cross-platform correctness.
This release strengthens the foundations of Enma's Hotload, Watch, and Scheduler capabilities, with particular attention to container environments, process safety, and predictable command execution.
Highlights
Improved Hotload Efficiency
Hotload now handles newly discovered directories more efficiently.
- Batch the initial contents of newly discovered directories into a single build/restart cycle when commands do not use file placeholders.
- Preserve per-file execution semantics when placeholders are present.
- Avoid unnecessary rebuilds for empty directories, ignored files, and unchanged content.
- Improve handling of nested directories and filesystem events.
- Preserve existing behavior for ordinary file changes.
In a regression scenario involving a newly discovered directory containing 120 files, the number of build executions was reduced from 121 to 1.
More Reliable Process Lifecycle Management
Process management has been strengthened for long-running services and containerized environments.
- Improve child-process cleanup and lifecycle handling.
- Address zombie-process accumulation when Enma runs as PID 1 in Linux containers.
- Strengthen process termination and restart behavior.
- Improve reliability during rapid filesystem changes and repeated daemon restarts.
These improvements make Enma more suitable for Docker-based development and production workflows.
Windows Command Execution Safety
Fixed a Windows-specific issue where MSYS2 shell argument processing could unexpectedly modify paths containing special characters.
- Preserve command arguments and file paths more reliably.
- Use a Windows-specific command-launching strategy to avoid unwanted argument transformations.
- Apply consistent handling across Hotload, Watch, and daemon execution.
- Strengthen regression coverage for shell metacharacters, quoting, and argument boundaries.
Unix command execution behavior remains unchanged.
Cross-Platform Compatibility Fixes
Improved correctness and test portability across macOS, Linux, and Windows.
- Standardize line endings for distributed text assets.
- Correct Windows-specific assumptions in CLI documentation and completion tests.
- Improve TOML configuration tests involving Windows paths.
- Clarify platform-specific PID-file permission behavior.
- Improve path-style and ignore-pattern test coverage.
Stronger End-to-End Reliability
Improved synchronization and diagnostics in Hotload end-to-end tests.
- Correct restart verification during rapid successive daemon restarts.
- Separate restart-event counting from live-process verification.
- Add regression tests for fast process termination and restart scenarios.
- Improve failure diagnostics without simply increasing timeouts.
Quality Assurance
This release introduces and expands automated verification across multiple operating systems.
Validation includes:
- Unit and end-to-end tests
- Go race detection
- Randomized test ordering (
-shuffle) - Cross-platform CI smoke tests
- Bounded fuzz testing
- Regression testing for process lifecycle and filesystem events
- Linux PID 1 container verification
- Mutation testing
- Independent correctness and security reviews
- GoReleaser snapshot and distribution verification
The extended CI pipeline helped identify and resolve both Windows-specific command execution defects and macOS end-to-end test synchronization issues before release.
Breaking Changes
Enma v2.0.0 is a major-version release.
Users upgrading from v1.x should review their existing command-line options, configuration files, and automation workflows for compatibility.
The Go module path remains github.com/magicdrive/enma. This release is distributed as a standalone CLI through Homebrew and release artifacts; the unchanged module path is not intended to provide Go Modules v2 semantic import versioning.
Installation
Install Enma using Homebrew:
brew install magicdrive/tap/enmaUpgrade an existing installation:
brew update
brew upgrade magicdrive/tap/enmaVerify the installed version:
enma --versionWhat's Next
Future releases will continue improving distribution, developer experience, and operational reliability, including a version-selectable installation script for environments where Homebrew is not available.
Enma v2.0.0 establishes a stronger foundation for reliable, event-driven command execution across development environments and containerized workflows.
Thank you for using Enma!
Full Changelog: v1.2.9...v2.0.0