github moonrepo/moon v2.6.4
2.6.4

6 hours ago

Release Notes

🚀 Updates

  • The Pkl modules generated since v2.6.3 type lists and maps as Pkl's amendable Listing and
    Mapping only, as Pkl recommends for configuration data. A config that amends its module, and
    assigns a List, Set, or Map to a setting, must convert it with toListing() or
    toMapping(), or create it with new Listing { ... } instead. Updated the Pkl docs and examples
    to match.
  • moon now handles SIGHUP, which is sent when the terminal is closed, like SIGTERM. Running
    tasks receive SIGHUP, and are force killed after pipeline.killProcessThreshold, the pipeline
    is marked as terminated, and moon exits with code 129. Previously moon was killed immediately, so
    a kill -HUP left 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.ignorePatterns and hasher.ignoreMissingPatterns were 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, like docs/**, now match as well.
  • Fixed an issue where .env files with multiple trailing comment markers (#) would not parse
    correctly.

⚙️ Internal

  • Updated the npm release to publish @moonrepo/cli after 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/cli version 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 | sh

Install 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

Don't miss a new moon release

NewReleases is sending notifications on new releases.