Release Notes
🚀 Updates
- Cache
- Added a new experiment that stores task outputs in a local content-addressable storage (CAS)
cache, sharing the same format used by the remote cache. Enables deduplicated storage across
tasks and a unified cache shape locally and remotely.- Enable with the
experiments.casOutputsCachesetting in.moon/workspace.*.
- Enable with the
- Added a new top-level
cachesetting in.moon/workspace.*for tuning the content-addressable
storage (CAS) cache.
- Added a new experiment that stores task outputs in a local content-addressable storage (CAS)
- Daemon
- When
pipeline.autoCleanCacheis enabled (by default), the auto-clean will now run in the
daemon, instead of at the tail-end of the main process. - When utilizing webhooks, the requests will now be made from the daemon, instead of the main
process.
- When
- Git
- Added SHA256 support for commit hashes. This is in preparation for Git's transition to SHA256 as
the default hash algorithm.
- Added SHA256 support for commit hashes. This is in preparation for Git's transition to SHA256 as
- Hash
- Added a new experiment that replaces the VCS/Git based file hashing mechanism with a custom
native implementation that runs within our task pool. This can improve performance by 10-50%.- Enable with the
experiments.nativeFileHashingsetting in.moon/workspace.*.
- Enable with the
- Added a new experiment that replaces the VCS/Git based file hashing mechanism with a custom
- MCP
- Added
get_templateandget_templatestools so AI coding assistants can discover templates
and inspect their variable schemas before callinggenerate.
- Added
- Tasks
- Added tags support to tasks through new
tagsandoptions.mergeTagssettings.- Added
taskTagfield support to MQL. - Added
--tagsoption support tomoon query tasks. - Updated targets to support the
#tag syntax in the task scope, allowing you to reference
tasks by their tags. For example:app:#quality.
- Added
- Added a
cacheStrategyfield to task dependencies that controls how a dependency's changes
invalidate the current task's cache. Supportshash,ignored, andoutputs— the latter
mixes in the dependency's output files instead of its hash, so build tasks are only invalidated
when upstream outputs change, not when upstream inputs change.- Behavior change: when
cacheStrategyis omitted, the default is nowhashif the
dependency declares outputs andignoredif it doesn't, instead of alwayshash. Tasks that
depend on output-less tasks (e.g. lint, test) will see fewer cache invalidations. Set
cacheStrategy: 'hash'explicitly to restore the previous behavior for a given dependency.
- Behavior change: when
- Added tags support to tasks through new
- Performance
- Reduced task target memory footprint by 50-100%.
🧰 Toolchains
- JavaScript
- Added support for Deno v2.8.
- Will use
deno cifor installs in CI whendeno.lockexists and the configured Deno version
is >= v2.8. - Will pass
--prodtodeno installfor production installs when the configured Deno version
is >= v2.8. - Will resolve
catalog:references inpackage.jsonfiles using catalogs declared in a root
deno.json.
- Will use
- Added support for Deno v2.8.
- Python
- Added unstable support for
uv pip.- Can be configured using
unstable_python.packageManager: 'uv-pip'in.moon/toolchains.*. - Will inherit install arguments from
unstable_pip.installArgs. - Will inherit sync arguments from
unstable_uv.syncArgs. - Will inherit venv arguments from
unstable_uv.venvArgs.
- Can be configured using
- Added unstable support for
🐞 Fixes
- Fixed a glob regression where unbounded walks could be up to 10x slower.
⚙️ Internal
- Updated proto to v0.57.3 from 0.56.4.
- Updated Rust to v1.96.0.
- Updated dependencies.
Install moon_cli 2.3.0
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/moonrepo/moon/releases/download/v2.3.0/moon_cli-installer.sh | shInstall prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://github.com/moonrepo/moon/releases/download/v2.3.0/moon_cli-installer.ps1 | iex"Download moon_cli 2.3.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 |