Release Notes
💥 Breaking
- The
--jsonoutput formoon action-graph,moon project-graph, andmoon task-graphcommands
has changed. Thegraphnodes are now integers instead of objects, and the node data is instead
stored in a separatedataobject.
🚀 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.asyncAffectedTrackingsetting in.moon/workspace.*.
- Enable with the
- Added an experimental asynchronous version of the affected tracker, that is 100-150% faster.
- Config
- Added
MOON_PIPELINE_AUTO_CLEAN_CACHEenvironment variable support for the
pipeline.autoCleanCachesetting. - Added
MOON_PIPELINE_CACHE_LIFETIMEenvironment variable support for the
pipeline.cacheLifetimesetting. - Added
MOON_PIPELINE_KILL_PROCESS_THRESHOLDenvironment variable support for the
pipeline.killProcessThresholdsetting.
- Added
- 🆕 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 daemoncommand withstart,stop, and more subcommands to manage the daemon. - Added an
unstable_daemonsetting to.moon/workspace.*.
- Added an unstable daemon that will run in the background and process heavy operations. To start,
- Graphs
- Improved performance of
taskToolchainsandtaskTypefields 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.
- Improved performance of
- 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.
- Updated the system toolchain to be built-in instead of an external WASM plugin that needs to be
- 🆕 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.asyncGraphBuildingsetting in.moon/workspace.*. - Unlike the sync version, the async version does not support cycles, and will not cut edges
automatically to avoid cycles.
- Enable with the
- Added an experimental asynchronous version of the project and task graph builders, that utilizes
🐞 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 | shInstall 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 |