Release Notes
🚀 Updates
- The Pkl modules generated since v2.6.3 type lists and maps as Pkl's amendable
Listingand
Mappingonly, as Pkl recommends for configuration data. A config that amends its module, and
assigns aList,Set, orMapto a setting, must convert it withtoListing()or
toMapping(), or create it withnew Listing { ... }instead. Updated the Pkl docs and examples
to match. - moon now handles
SIGHUP, which is sent when the terminal is closed, likeSIGTERM. Running
tasks receiveSIGHUP, and are force killed afterpipeline.killProcessThreshold, the pipeline
is marked as terminated, and moon exits with code 129. Previously moon was killed immediately, so
akill -HUPleft its tasks running. On Windows, closing the console window is handled the same
way, instead of aborting the pipeline with code 131.
🐞 Fixes
- Fixed an issue where moon exited with code 1 and printed "Failed to flush buffered output to
console" when the command reading its output exited early (a broken pipe), instead of exiting
quietly with code 141. - Fixed an issue where, with the daemon enabled, a task would fail with "Failed to make daemon RPC
call" when its stdout/stderr, or its list of output files, was larger than 4 MiB. The daemon now
accepts messages up to 256 MiB, and if archiving or hydrating outputs through the daemon fails,
it's done in-process instead of failing the task. - Fixed an issue where the daemon was silently never used in development containers (like VS Code
Dev Containers), yet was used in CI environments that aren't Docker containers (like Kubernetes
pods), where it outlived the run. The daemon is now used in development containers, is never used
in CI, and the reason it was skipped is logged at the debug level. - Fixed an issue where
hasher.ignorePatternsandhasher.ignoreMissingPatternswere matched
against absolute file paths instead of workspace relative paths. A pattern that matched a parent
directory of the workspace, like**/.worktrees/**for a git worktree nested in the repository,
ignored every input, so tasks were always cached and restored stale outputs. Patterns without a
**/prefix, likedocs/**, now match as well. - Fixed an issue where
.envfiles with multiple trailing comment markers (#) would not parse
correctly.
⚙️ Internal
- Updated the npm release to publish
@moonrepo/cliafter the@moonrepo/core-*packages, and to
skip versions that are already published, so a failed release can be re-ran. Previously a failure
could publish a@moonrepo/cliversion whose binaries were never published.
Install moon_cli 2.6.4
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/moonrepo/moon/releases/download/v2.6.4/moon_cli-installer.sh | shInstall prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://github.com/moonrepo/moon/releases/download/v2.6.4/moon_cli-installer.ps1 | iex"Download moon_cli 2.6.4
| File | Platform | Checksum |
|---|---|---|
| moon_cli-aarch64-apple-darwin.tar.xz | Apple Silicon macOS | checksum |
| moon_cli-x86_64-apple-darwin.tar.xz | Intel macOS | checksum |
| moon_cli-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
| moon_cli-aarch64-unknown-linux-gnu.tar.xz | ARM64 Linux | checksum |
| moon_cli-x86_64-unknown-linux-gnu.tar.xz | x64 Linux | checksum |
| moon_cli-aarch64-unknown-linux-musl.tar.xz | ARM64 MUSL Linux | checksum |
| moon_cli-x86_64-unknown-linux-musl.tar.xz | x64 MUSL Linux | checksum |