github moonrepo/moon v2.2.0
2.2.0

latest release: moon_config-v2.0.11
15 hours ago

Release Notes

💥 Breaking

  • The --json output for moon action-graph, moon project-graph, and moon task-graph commands
    has changed. The graph nodes are now integers instead of objects, and the node data is instead
    stored in a separate data object.

🚀 Updates

  • Temporarily brought back x86_64-apple-darwin (Apple Intel) as a supported operating system.
  • Affected
    • Added an experimental asynchronous version of the affected tracker, that is 100-150% faster.
      • Enable with the experiments.asyncAffectedTracking setting in .moon/workspace.*.
  • Config
    • Added MOON_PIPELINE_AUTO_CLEAN_CACHE environment variable support for the
      pipeline.autoCleanCache setting.
    • Added MOON_PIPELINE_CACHE_LIFETIME environment variable support for the
      pipeline.cacheLifetime setting.
    • Added MOON_PIPELINE_KILL_PROCESS_THRESHOLD environment variable support for the
      pipeline.killProcessThreshold setting.
  • 🆕 Daemon
    • Added an unstable daemon that will run in the background and process heavy operations. To start,
      it runs a file watcher on the workspace and invalidates caches.
    • Added a moon daemon command with start, stop, and more subcommands to manage the daemon.
    • Added an unstable_daemon setting to .moon/workspace.*.
  • Graphs
    • Improved performance of taskToolchains and taskType fields when querying the project graph.
    • Greatly reduced memory footprint of the action, project, and task graphs. Nodes in the graph are
      now integers instead of objects.
  • Plugin registry
    • Improved performance and memory consumption when loading plugins.
  • Task runner
    • Improved performance of task output archiving, by no longer blocking the main thread pool.
  • Toolchains
    • Updated the system toolchain to be built-in instead of an external WASM plugin that needs to be
      downloaded.
  • 🆕 Workspace
    • Added an experimental asynchronous version of the project and task graph builders, that utilizes
      a background thread pool per project to build the graph. This can improve performance by
      100-170% in large workspaces.
      • Enable with the experiments.asyncGraphBuilding setting in .moon/workspace.*.
      • Unlike the sync version, the async version does not support cycles, and will not cut edges
        automatically to avoid cycles.

🐞 Fixes

  • Fixed an issue with VCS hooks generation that could leave around stale hooks.
  • Fixed an issue where toolchains not managed by proto directly (like Rust) would consistently
    re-install itself.
  • Fixed an issue where OS based tasks would error while executing if they defined outputs, and
    you're on a different OS.
  • Fixed an issue where proto would be installed even when toolchains were disabled with
    MOON_TOOLCHAIN_FORCE_GLOBALS.

⚙️ Internal

  • Updated proto to v0.56.1 from 0.55.4.
  • Updated dependencies.

Install moon_cli 2.2.0

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/moonrepo/moon/releases/download/v2.2.0/moon_cli-installer.sh | sh

Install prebuilt binaries via powershell script

powershell -ExecutionPolicy Bypass -c "irm https://github.com/moonrepo/moon/releases/download/v2.2.0/moon_cli-installer.ps1 | iex"

Download moon_cli 2.2.0

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.