ITADN

版本发布 8

2.2.4v2.2.4
? · 2026-05-04

## Release Notes #### 🐞 Fixes - Fixed an issue where proto's `auto-clean` would remove tools installed by moon as they weren't marked as used. - Fixed a regression where moon would fail with `Failed to execute git and capture output` when `.gitmodules` referenced a submodule that hadn't been checked out (e.g. `update = none`). Uninitialized submodules are now skipped, matching the v1 behavior. - Fixed an issue where toolchain dependency installation would be skipped even when the vendor directory does not exist. - Fixed an issue where failing actions would not re-run again because their hash would be persisted, even on failure. - Fixed an issue where `WouldBlock` errors would trigger when attempting to flush buffered output to the console. - Fixed an issue where `--upstream=none` would error for missing dependencies. #### 🧰 Toolchains - **Python** - Fixed an issue where the wrong arguments were passed to `uv sync` depending on whether proto is managing the Python version. - Fixed an issue where venv paths were not available to commands run through the toolchain, like `uv sync`. #### ⚙️ Internal - Updated dependencies. ## Install moon_cli 2.2.4 ### Install prebuilt binaries via shell script ```sh curl --proto '=https' --tlsv1.2 -LsSf https://github.com/moonrepo/moon/releases/download/v2.2.4/moon_cli-installer.sh | sh ``` ### Install prebuilt binaries via powershell script ```sh powershell -ExecutionPolicy Bypass -c "irm https://github.com/moonrepo/moon/releases/download/v2.2.4/moon_cli-installer.ps1 | iex" ``` ## Download moon_cli 2.2.4 | File | Platform | Checksum | |--------|----------|----------| | [moon_cli-aarch64-apple-darwin.tar.xz](https://github.com/moonrepo/moon/releases/download/v2.2.4/moon_cli-aarch64-apple-darwin.tar.xz) | Apple Silicon macOS | [checksum](https://github.com/moonrepo/moon/releases/download/v2.2.4/moon_cli-aarch64-apple-darwin.tar.xz.sha256) | | [moon_cli-x86_64-apple-darwin.tar.xz](https://github.com/moonrepo/moon/releases/download/v2.2.4/moon_cli-x86_64-apple-darwin.tar.xz) | Intel macOS | [checksum](https://github.com/moonrepo/moon/releases/download/v2.2.4/moon_cli-x86_64-apple-darwin.tar.xz.sha256) | | [moon_cli-x86_64-pc-windows-msvc.zip](https://github.com/moonrepo/moon/releases/download/v2.2.4/moon_cli-x86_64-pc-windows-msvc.zip) | x64 Windows | [checksum](https://github.com/moonrepo/moon/releases/download/v2.2.4/moon_cli-x86_64-pc-windows-msvc.zip.sha256) | | [moon_cli-aarch64-unknown-linux-gnu.tar.xz](https://github.com/moonrepo/moon/releases/download/v2.2.4/moon_cli-aarch64-unknown-linux-gnu.tar.xz) | ARM64 Linux | [checksum](https://github.com/moonrepo/moon/releases/download/v2.2.4/moon_cli-aarch64-unknown-linux-gnu.tar.xz.sha256) | | [moon_cli-x86_64-unknown-linux-gnu.tar.xz](https://github.com/moonrepo/moon/releases/download/v2.2.4/moon_cli-x86_64-unknown-linux-gnu.tar.xz) | x64 Linux | [checksum](https://github.com/moonrepo/moon/releases/download/v2.2.4/moon_cli-x86_64-unknown-linux-gnu.tar.xz.sha256) | | [moon_cli-aarch64-unknown-linux-musl.tar.xz](https://github.com/moonrepo/moon/releases/download/v2.2.4/moon_cli-aarch64-unknown-linux-musl.tar.xz) | ARM64 MUSL Linux | [checksum](https://github.com/moonrepo/moon/releases/download/v2.2.4/moon_cli-aarch64-unknown-linux-musl.tar.xz.sha256) | | [moon_cli-x86_64-unknown-linux-musl.tar.xz](https://github.com/moonrepo/moon/releases/download/v2.2.4/moon_cli-x86_64-unknown-linux-musl.tar.xz) | x64 MUSL Linux | [checksum](https://github.com/moonrepo/moon/releases/download/v2.2.4/moon_cli-x86_64-unknown-linux-musl.tar.xz.sha256) |

2.2.0v2.2.0
? · 2026-04-12

## 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](https://github.com/moonrepo/proto/releases/tag/v0.56.0) from 0.55.4. - Updated dependencies. ## Install moon_cli 2.2.0 ### Install prebuilt binaries via shell script ```sh 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 ```sh 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](https://github.com/moonrepo/moon/releases/download/v2.2.0/moon_cli-aarch64-apple-darwin.tar.xz) | Apple Silicon macOS | [checksum](https://github.com/moonrepo/moon/releases/download/v2.2.0/moon_cli-aarch64-apple-darwin.tar.xz.sha256) | | [moon_cli-x86_64-apple-darwin.tar.xz](https://github.com/moonrepo/moon/releases/download/v2.2.0/moon_cli-x86_64-apple-darwin.tar.xz) | Intel macOS | [checksum](https://github.com/moonrepo/moon/releases/download/v2.2.0/moon_cli-x86_64-apple-darwin.tar.xz.sha256) | | [moon_cli-x86_64-pc-windows-msvc.zip](https://github.com/moonrepo/moon/releases/download/v2.2.0/moon_cli-x86_64-pc-windows-msvc.zip) | x64 Windows | [checksum](https://github.com/moonrepo/moon/releases/download/v2.2.0/moon_cli-x86_64-pc-windows-msvc.zip.sha256) | | [moon_cli-aarch64-unknown-linux-gnu.tar.xz](https://github.com/moonrepo/moon/releases/download/v2.2.0/moon_cli-aarch64-unknown-linux-gnu.tar.xz) | ARM64 Linux | [checksum](https://github.com/moonrepo/moon/releases/download/v2.2.0/moon_cli-aarch64-unknown-linux-gnu.tar.xz.sha256) | | [moon_cli-x86_64-unknown-linux-gnu.tar.xz](https://github.com/moonrepo/moon/releases/download/v2.2.0/moon_cli-x86_64-unknown-linux-gnu.tar.xz) | x64 Linux | [checksum](https://github.com/moonrepo/moon/releases/download/v2.2.0/moon_cli-x86_64-unknown-linux-gnu.tar.xz.sha256) | | [moon_cli-aarch64-unknown-linux-musl.tar.xz](https://github.com/moonrepo/moon/releases/download/v2.2.0/moon_cli-aarch64-unknown-linux-musl.tar.xz) | ARM64 MUSL Linux | [checksum](https://github.com/moonrepo/moon/releases/download/v2.2.0/moon_cli-aarch64-unknown-linux-musl.tar.xz.sha256) | | [moon_cli-x86_64-unknown-linux-musl.tar.xz](https://github.com/moonrepo/moon/releases/download/v2.2.0/moon_cli-x86_64-unknown-linux-musl.tar.xz) | x64 MUSL Linux | [checksum](https://github.com/moonrepo/moon/releases/download/v2.2.0/moon_cli-x86_64-unknown-linux-musl.tar.xz.sha256) |

2.1.1v2.1.1
? · 2026-03-20

## Release Notes #### 🐞 Fixes - Fixed an issue with remote caching where the batching max size and limit were not being applied correctly. - Fixed an issue where exclude/rename for task inheritance applied to tasks other than those in the current project. - Fixed an issue where toolchains that loaded project/workspace toolchain configuration would not be merged correctly. - Fixed an issue where task console output may appear out of order. - Fixed an issue with Git file hashing by temporarily re-enabling Git locks. ## Install moon_cli 2.1.1 ### Install prebuilt binaries via shell script ```sh curl --proto '=https' --tlsv1.2 -LsSf https://github.com/moonrepo/moon/releases/download/v2.1.1/moon_cli-installer.sh | sh ``` ### Install prebuilt binaries via powershell script ```sh powershell -ExecutionPolicy Bypass -c "irm https://github.com/moonrepo/moon/releases/download/v2.1.1/moon_cli-installer.ps1 | iex" ``` ## Download moon_cli 2.1.1 | File | Platform | Checksum | |--------|----------|----------| | [moon_cli-aarch64-apple-darwin.tar.xz](https://github.com/moonrepo/moon/releases/download/v2.1.1/moon_cli-aarch64-apple-darwin.tar.xz) | Apple Silicon macOS | [checksum](https://github.com/moonrepo/moon/releases/download/v2.1.1/moon_cli-aarch64-apple-darwin.tar.xz.sha256) | | [moon_cli-x86_64-pc-windows-msvc.zip](https://github.com/moonrepo/moon/releases/download/v2.1.1/moon_cli-x86_64-pc-windows-msvc.zip) | x64 Windows | [checksum](https://github.com/moonrepo/moon/releases/download/v2.1.1/moon_cli-x86_64-pc-windows-msvc.zip.sha256) | | [moon_cli-aarch64-unknown-linux-gnu.tar.xz](https://github.com/moonrepo/moon/releases/download/v2.1.1/moon_cli-aarch64-unknown-linux-gnu.tar.xz) | ARM64 Linux | [checksum](https://github.com/moonrepo/moon/releases/download/v2.1.1/moon_cli-aarch64-unknown-linux-gnu.tar.xz.sha256) | | [moon_cli-x86_64-unknown-linux-gnu.tar.xz](https://github.com/moonrepo/moon/releases/download/v2.1.1/moon_cli-x86_64-unknown-linux-gnu.tar.xz) | x64 Linux | [checksum](https://github.com/moonrepo/moon/releases/download/v2.1.1/moon_cli-x86_64-unknown-linux-gnu.tar.xz.sha256) | | [moon_cli-aarch64-unknown-linux-musl.tar.xz](https://github.com/moonrepo/moon/releases/download/v2.1.1/moon_cli-aarch64-unknown-linux-musl.tar.xz) | ARM64 MUSL Linux | [checksum](https://github.com/moonrepo/moon/releases/download/v2.1.1/moon_cli-aarch64-unknown-linux-musl.tar.xz.sha256) | | [moon_cli-x86_64-unknown-linux-musl.tar.xz](https://github.com/moonrepo/moon/releases/download/v2.1.1/moon_cli-x86_64-unknown-linux-musl.tar.xz) | x64 MUSL Linux | [checksum](https://github.com/moonrepo/moon/releases/download/v2.1.1/moon_cli-x86_64-unknown-linux-musl.tar.xz.sha256) |

2.0.0v2.0.0
? · 2026-02-18

## Release Notes #### 💥 Breaking View the [migration guide](https://moonrepo.dev/docs/migrate/2.0) for a full list of breaking changes and how to easily migrate! - Renamed "touched files" to "changed files". - **CLI** - Removed canary and nightly releases. - Removed commands: `moon node`, `moon migrate from-package-json`, `moon query hash`, `moon query hash-diff` - Renamed all options and flags to kebab-case instead of camelCase. - Reworked many commands and their arguments. Refer to the migration guide for details. - Reworked console output handling. Updated `--summary` with different levels. - Reworked release distribution to use archives instead of direct executables. - **Configuration** - Renamed, removed, or changed _many_ settings. Refer to the migration guide for details. - Renamed `.moon/toolchain.yml` to `.moon/toolchains.yml` (plural). - **MCP** - Updated protocol version to 2025-11-25. - Updated `get_projects` and `get_tasks` to return fragments, to reduce the payload size. - **Projects** - Reworked how the `language` is detected. - Flattened `project` metadata structure. - **Tasks** - Task inheritance now deep merges instead of shallow merges when dealing with extends and multi-global. - Task `command` and `args` only support simple commands now. Use `script` for compound commands (pipes, redirects, multiple commands, etc). - Removed "watcher" task `preset`. - Reworked env var merge order, substitution, and more. Refer to the migration guide for details. - Reworked `.env` handling. - Moved loading to occur before task execution, instead of creation. - Can _no longer_ reference task `env` vars for substitution. - **Toolchain** - Removed the old platform system, and replaced it with the new WASM plugin system. - All old "stable" toolchains have been replaced with the new "unstable" toolchains. - **VCS** - Reworked the hooks layer for better interoperability. - **WASM API** - Removed the `/cwd` virtual path. - Renamed `ProjectFragment.alias` to `ProjectFragment.aliases` and changed its type from `Option<String>` to `Vec<String>`. - Removed `RegisterExtensionOutput.config_schema` field. Use the new `define_extension_config` plugin function instead. #### 🚀 Updates View the [announcement blog post](https://moonrepo.dev/blog/moon-v2.0) for all updates, new features, improvements, and much more! - **Action pipeline** - Will now always generate a hash for a task, even if caching is disabled. - Applies "transitive reduction" to the graph, removing unnecessary edges for better performance. - Improved console output, logging, and error handling. - Improved parallelism when running tasks. - Now resolves and expands targets _before_ partitioning. - Now partitions _after_ filtering based on affected state. - **CLI** - New commands: `moon exec`, `moon extension`, `moon hash`, `moon projects`, `moon tasks`, `moon query affected`, `moon template` - Updated commands `moon check`, `moon ci`, and `moon run`: - Now uses `moon exec` under the hood. - Added levels to `--summary`. - Updated commands that require an identifier to prompt for it if not provided. - Stabilized the `moonx` binary (which uses `moon exec` under the hood). - Added support for `.config/moon` instead of `.moon`. - Added support for `...` in task targets, which is an alias for `**/*`. This is similar to how Bazel targets work. - Improved stack memory usage by pushing thread data to the heap. This resolves spurious stack overflow issues. - **Configuration** - Added support for more formats: JSON, TOML, and HCL. - Improved error messages for union based settings. - `.moon/extensions.*` - New file for configuring extensions (formerly in `workspace.extensions`). - `.moon/tasks.*` - Added `inheritedBy` setting for configuration based task inheritance. - `.moon/workspace.*` - Added `projects.globFormat` setting. - Added `defaultProject` setting. - Stabilized remote caching. - `moon.*` - Added `mergeToolchains` task option. - Added "utility" task `preset`. - Added "data" `stack`. - **Docker** - Better toolchain integration. - Added `--no-setup` and `--template` support to `moon docker file`. - Updated project configs to override workspace configs. - **Extensions** - Added a new extension, `unpack`, for unpacking archive files. - Added `.moon/extensions.*` configuration file. - Added support for new plugin APIs: `define_extension_config`, `extend_command`, `extend_project_graph`, `extend_task_command`, `extend_task_script`, `sync_project`, and `sync_workspace`. - **MCP** - Added a `generate` tool for running the code generator. - **Projects** - Added a default project concept. - Added path based IDs instead of dir name IDs. - Updated projects to support multiple aliases (one from each applicable toolchain). - **Remote cache** - Stabilized all settings. - Enabled gzip/zstd compression for HTTP requests. - **Tasks** - Added deep merging support for task inheritance. - Updated `command` and `args` with better syntax parsing and error handling. - Better handling of quotes, escapes, and spaces. - Extracts env vars into the task. - Updated `env` values to support `null`, which would remove an inherited system env var. - Updated `envFile` option to support token/var substitution. - Improved `.env` handling: - Updated the parser to support more syntax. - Updated loading to occur before task execution, instead of creation. - Can now reference system/moon/task env vars for substitution. - **Toolchains** - Stabilized the new WASM plugin system. - Improved how toolchains extend env vars and paths for commands and scripts. - **Tokens** - Added new tokens: `$projectTitle`, `$projectAliases`, `$taskToolchains` - **VCS** - Replaced the old v1 Git implementation with a new v2 implementation. - Improved support for worktrees, submodules, and more. - **WASM API** - Added a `load_extension_config_by_id` host function. - Added `define_extension_config`, `initialize_extension`, and `extend_command` plugin functions. - Added `load_extension_config`, `parse_extension_config` and `parse_extension_config_schema` utility functions. - Added `DefineExtensionConfigOutput`, `InitializeExtensionInput`, `InitializeExtensionOutput`, `ExtendCommandInput`, and `ExtendCommandOutput` types. - Added `ExtendProjectGraphInput.extension_config`, `ExtendTaskCommandInput.extension_config`, `ExtendTaskScriptInput.extension_config`, `SyncProjectInput.extension_config`, and `SyncWorkspaceInput.extension_config` fields. - Added `RegisterToolchainOutput.language` field. #### 🧩 Extensions - **Migrate Nx** - Added support for the following `project.json` fields: `targets.*.continuous` - **Migrate Turborepo** - Added support for the following `turbo.json` fields: `tags`, `tasks.*.env` (wildcards and negation) - **Unpack** - Updated to use `unzip` and `tar` commands. #### 🧰 Toolchains - **JavaScript** - Added support for Yarn v4.10 catalogs. - Fixed an issue where implicit dependencies would sometimes not resolve. #### 🐞 Fixes - Fixed local executables in `@moonrepo` packages not being detected correctly. - Fixed task job parallelism to partition _after_ tasks have been filtered based on affected state. - Fixed an issue where env var substitution would not process in the order they were defined. - Fixed an issue where ctrl+c wouldn't exit when a prompt was waiting for input. - Fixed an issue where `project` based task inputs would not be reflected internally in the input files/globs list. - Fixed an issue where running a task that triggers a system/moon error wouldn't output the error message. This also aborts the action pipeline correctly now. - Fixed an issue where errors during project graph building would not be reported correctly. - Fixed an issue where a negated glob in a file group would not expand properly when used as an argument. #### ⚙️ Internal - Updated proto to [v0.55.2](https://github.com/moonrepo/proto/releases/tag/v0.55.0) from 0.53.2 (view [v0.54](https://github.com/moonrepo/proto/releases/tag/v0.54.0) changes). - Updated wasmtime to v37. - Updated Rust to v1.93.0. - Updated dependencies. ## Install moon_cli 2.0.0 ### Install prebuilt binaries via shell script ```sh curl --proto '=https' --tlsv1.2 -LsSf https://github.com/moonrepo/moon/releases/download/v2.0.0/moon_cli-installer.sh | sh ``` ### Install prebuilt binaries via powershell script ```sh powershell -ExecutionPolicy Bypass -c "irm https://github.com/moonrepo/moon/releases/download/v2.0.0/moon_cli-installer.ps1 | iex" ``` ## Download moon_cli 2.0.0 | File | Platform | Checksum | |--------|----------|----------| | [moon_cli-aarch64-apple-darwin.tar.xz](https://github.com/moonrepo/moon/releases/download/v2.0.0/moon_cli-aarch64-apple-darwin.tar.xz) | Apple Silicon macOS | [checksum](https://github.com/moonrepo/moon/releases/download/v2.0.0/moon_cli-aarch64-apple-darwin.tar.xz.sha256) | | [moon_cli-x86_64-pc-windows-msvc.zip](https://github.com/moonrepo/moon/releases/download/v2.0.0/moon_cli-x86_64-pc-windows-msvc.zip) | x64 Windows | [checksum](https://github.com/moonrepo/moon/releases/download/v2.0.0/moon_cli-x86_64-pc-windows-msvc.zip.sha256) | | [moon_cli-aarch64-unknown-linux-gnu.tar.xz](https://github.com/moonrepo/moon/releases/download/v2.0.0/moon_cli-aarch64-unknown-linux-gnu.tar.xz) | ARM64 Linux | [checksum](https://github.com/moonrepo/moon/releases/download/v2.0.0/moon_cli-aarch64-unknown-linux-gnu.tar.xz.sha256) | | [moon_cli-x86_64-unknown-linux-gnu.tar.xz](https://github.com/moonrepo/moon/releases/download/v2.0.0/moon_cli-x86_64-unknown-linux-gnu.tar.xz) | x64 Linux | [checksum](https://github.com/moonrepo/moon/releases/download/v2.0.0/moon_cli-x86_64-unknown-linux-gnu.tar.xz.sha256) | | [moon_cli-aarch64-unknown-linux-musl.tar.xz](https://github.com/moonrepo/moon/releases/download/v2.0.0/moon_cli-aarch64-unknown-linux-musl.tar.xz) | ARM64 MUSL Linux | [checksum](https://github.com/moonrepo/moon/releases/download/v2.0.0/moon_cli-aarch64-unknown-linux-musl.tar.xz.sha256) | | [moon_cli-x86_64-unknown-linux-musl.tar.xz](https://github.com/moonrepo/moon/releases/download/v2.0.0/moon_cli-x86_64-unknown-linux-musl.tar.xz) | x64 MUSL Linux | [checksum](https://github.com/moonrepo/moon/releases/download/v2.0.0/moon_cli-x86_64-unknown-linux-musl.tar.xz.sha256) |

Version 2.0.0-rc.5v2.0.0-rc.5预发布
? · 2026-02-18

## Release Notes #### 💥 Breaking View the [migration guide](https://moonrepo.dev/docs/migrate/2.0) for a full list of breaking changes and how to easily migrate! - Renamed "touched files" to "changed files". - **CLI** - Removed canary and nightly releases. - Removed commands: `moon node`, `moon migrate from-package-json`, `moon query hash`, `moon query hash-diff` - Renamed all options and flags to kebab-case instead of camelCase. - Reworked many commands and their arguments. Refer to the migration guide for details. - Reworked console output handling. Updated `--summary` with different levels. - Reworked release distribution to use archives instead of direct executables. - **Configuration** - Renamed, removed, or changed _many_ settings. Refer to the migration guide for details. - Renamed `.moon/toolchain.yml` to `.moon/toolchains.yml` (plural). - **MCP** - Updated protocol version to 2025-11-25. - Updated `get_projects` and `get_tasks` to return fragments, to reduce the payload size. - **Projects** - Reworked how the `language` is detected. - Flattened `project` metadata structure. - **Tasks** - Task inheritance now deep merges instead of shallow merges when dealing with extends and multi-global. - Task `command` and `args` only support simple commands now. Use `script` for compound commands (pipes, redirects, multiple commands, etc). - Removed "watcher" task `preset`. - Reworked env var merge order, substitution, and more. Refer to the migration guide for details. - Reworked `.env` handling. - Moved loading to occur before task execution, instead of creation. - Can _no longer_ reference task `env` vars for substitution. - **Toolchain** - Removed the old platform system, and replaced it with the new WASM plugin system. - All old "stable" toolchains have been replaced with the new "unstable" toolchains. - **VCS** - Reworked the hooks layer for better interoperability. - **WASM API** - Removed the `/cwd` virtual path. - Renamed `ProjectFragment.alias` to `ProjectFragment.aliases` and changed its type from `Option<String>` to `Vec<String>`. - Removed `RegisterExtensionOutput.config_schema` field. Use the new `define_extension_config` plugin function instead. #### 🚀 Updates View the [announcement blog post](https://moonrepo.dev/blog/moon-v2.0) for all updates, new features, improvements, and much more! - **Action pipeline** - Will now always generate a hash for a task, even if caching is disabled. - Applies "transitive reduction" to the graph, removing unnecessary edges for better performance. - Improved console output, logging, and error handling. - Improved parallelism when running tasks. - Now resolves and expands targets _before_ partitioning. - Now partitions _after_ filtering based on affected state. - **CLI** - New commands: `moon exec`, `moon extension`, `moon hash`, `moon projects`, `moon tasks`, `moon query affected`, `moon template` - Updated commands `moon check`, `moon ci`, and `moon run`: - Now uses `moon exec` under the hood. - Added levels to `--summary`. - Updated commands that require an identifier to prompt for it if not provided. - Stabilized the `moonx` binary (which uses `moon exec` under the hood). - Added support for `.config/moon` instead of `.moon`. - Added support for `...` in task targets, which is an alias for `**/*`. This is similar to how Bazel targets work. - Improved stack memory usage by pushing thread data to the heap. This resolves spurious stack overflow issues. - **Configuration** - Added support for more formats: JSON, TOML, and HCL. - Improved error messages for union based settings. - `.moon/extensions.*` - New file for configuring extensions (formerly in `workspace.extensions`). - `.moon/tasks.*` - Added `inheritedBy` setting for configuration based task inheritance. - `.moon/workspace.*` - Added `projects.globFormat` setting. - Added `defaultProject` setting. - Stabilized remote caching. - `moon.*` - Added `mergeToolchains` task option. - Added "utility" task `preset`. - Added "data" `stack`. - **Docker** - Better toolchain integration. - Added `--no-setup` and `--template` support to `moon docker file`. - Updated project configs to override workspace configs. - **Extensions** - Added a new extension, `unpack`, for unpacking archive files. - Added `.moon/extensions.*` configuration file. - Added support for new plugin APIs: `define_extension_config`, `extend_command`, `extend_project_graph`, `extend_task_command`, `extend_task_script`, `sync_project`, and `sync_workspace`. - **MCP** - Added a `generate` tool for running the code generator. - **Projects** - Added a default project concept. - Added path based IDs instead of dir name IDs. - Updated projects to support multiple aliases (one from each applicable toolchain). - **Remote cache** - Stabilized all settings. - Enabled gzip/zstd compression for HTTP requests. - **Tasks** - Added deep merging support for task inheritance. - Updated `command` and `args` with better syntax parsing and error handling. - Better handling of quotes, escapes, and spaces. - Extracts env vars into the task. - Updated `env` values to support `null`, which would remove an inherited system env var. - Updated `envFile` option to support token/var substitution. - Improved `.env` handling: - Updated the parser to support more syntax. - Updated loading to occur before task execution, instead of creation. - Can now reference system/moon/task env vars for substitution. - **Toolchains** - Stabilized the new WASM plugin system. - Improved how toolchains extend env vars and paths for commands and scripts. - **Tokens** - Added new tokens: `$projectTitle`, `$projectAliases`, `$taskToolchains` - **VCS** - Replaced the old v1 Git implementation with a new v2 implementation. - Improved support for worktrees, submodules, and more. - **WASM API** - Added a `load_extension_config_by_id` host function. - Added `define_extension_config`, `initialize_extension`, and `extend_command` plugin functions. - Added `load_extension_config`, `parse_extension_config` and `parse_extension_config_schema` utility functions. - Added `DefineExtensionConfigOutput`, `InitializeExtensionInput`, `InitializeExtensionOutput`, `ExtendCommandInput`, and `ExtendCommandOutput` types. - Added `ExtendProjectGraphInput.extension_config`, `ExtendTaskCommandInput.extension_config`, `ExtendTaskScriptInput.extension_config`, `SyncProjectInput.extension_config`, and `SyncWorkspaceInput.extension_config` fields. - Added `RegisterToolchainOutput.language` field. #### 🧩 Extensions - **Migrate Nx** - Added support for the following `project.json` fields: `targets.*.continuous` - **Migrate Turborepo** - Added support for the following `turbo.json` fields: `tags`, `tasks.*.env` (wildcards and negation) - **Unpack** - Updated to use `unzip` and `tar` commands. #### 🧰 Toolchains - **JavaScript** - Added support for Yarn v4.10 catalogs. - Fixed an issue where implicit dependencies would sometimes not resolve. #### 🐞 Fixes - Fixed local executables in `@moonrepo` packages not being detected correctly. - Fixed task job parallelism to partition _after_ tasks have been filtered based on affected state. - Fixed an issue where env var substitution would not process in the order they were defined. - Fixed an issue where ctrl+c wouldn't exit when a prompt was waiting for input. - Fixed an issue where `project` based task inputs would not be reflected internally in the input files/globs list. - Fixed an issue where running a task that triggers a system/moon error wouldn't output the error message. This also aborts the action pipeline correctly now. - Fixed an issue where errors during project graph building would not be reported correctly. - Fixed an issue where a negated glob in a file group would not expand properly when used as an argument. #### ⚙️ Internal - Updated proto to [v0.55.2](https://github.com/moonrepo/proto/releases/tag/v0.55.0) from 0.53.2 (view [v0.54](https://github.com/moonrepo/proto/releases/tag/v0.54.0) changes). - Updated wasmtime to v37. - Updated Rust to v1.93.0. - Updated dependencies. ## Install moon_cli 2.0.0-rc.5 ### Install prebuilt binaries via shell script ```sh curl --proto '=https' --tlsv1.2 -LsSf https://github.com/moonrepo/moon/releases/download/v2.0.0-rc.5/moon_cli-installer.sh | sh ``` ### Install prebuilt binaries via powershell script ```sh powershell -ExecutionPolicy Bypass -c "irm https://github.com/moonrepo/moon/releases/download/v2.0.0-rc.5/moon_cli-installer.ps1 | iex" ``` ## Download moon_cli 2.0.0-rc.5 | File | Platform | Checksum | |--------|----------|----------| | [moon_cli-aarch64-apple-darwin.tar.xz](https://github.com/moonrepo/moon/releases/download/v2.0.0-rc.5/moon_cli-aarch64-apple-darwin.tar.xz) | Apple Silicon macOS | [checksum](https://github.com/moonrepo/moon/releases/download/v2.0.0-rc.5/moon_cli-aarch64-apple-darwin.tar.xz.sha256) | | [moon_cli-x86_64-pc-windows-msvc.zip](https://github.com/moonrepo/moon/releases/download/v2.0.0-rc.5/moon_cli-x86_64-pc-windows-msvc.zip) | x64 Windows | [checksum](https://github.com/moonrepo/moon/releases/download/v2.0.0-rc.5/moon_cli-x86_64-pc-windows-msvc.zip.sha256) | | [moon_cli-aarch64-unknown-linux-gnu.tar.xz](https://github.com/moonrepo/moon/releases/download/v2.0.0-rc.5/moon_cli-aarch64-unknown-linux-gnu.tar.xz) | ARM64 Linux | [checksum](https://github.com/moonrepo/moon/releases/download/v2.0.0-rc.5/moon_cli-aarch64-unknown-linux-gnu.tar.xz.sha256) | | [moon_cli-x86_64-unknown-linux-gnu.tar.xz](https://github.com/moonrepo/moon/releases/download/v2.0.0-rc.5/moon_cli-x86_64-unknown-linux-gnu.tar.xz) | x64 Linux | [checksum](https://github.com/moonrepo/moon/releases/download/v2.0.0-rc.5/moon_cli-x86_64-unknown-linux-gnu.tar.xz.sha256) | | [moon_cli-aarch64-unknown-linux-musl.tar.xz](https://github.com/moonrepo/moon/releases/download/v2.0.0-rc.5/moon_cli-aarch64-unknown-linux-musl.tar.xz) | ARM64 MUSL Linux | [checksum](https://github.com/moonrepo/moon/releases/download/v2.0.0-rc.5/moon_cli-aarch64-unknown-linux-musl.tar.xz.sha256) | | [moon_cli-x86_64-unknown-linux-musl.tar.xz](https://github.com/moonrepo/moon/releases/download/v2.0.0-rc.5/moon_cli-x86_64-unknown-linux-musl.tar.xz) | x64 MUSL Linux | [checksum](https://github.com/moonrepo/moon/releases/download/v2.0.0-rc.5/moon_cli-x86_64-unknown-linux-musl.tar.xz.sha256) |

Version 2.0.0-rc.4v2.0.0-rc.4预发布
? · 2026-02-16

## Release Notes #### 💥 Breaking View the [migration guide](https://moonrepo.dev/docs/migrate/2.0) for a full list of breaking changes and how to easily migrate! - Renamed "touched files" to "changed files". - **CLI** - Removed commands: `moon node`, `moon migrate from-package-json`, `moon query hash`, `moon query hash-diff` - Renamed all options and flags to kebab-case instead of camelCase. - Reworked many commands and their arguments. Refer to the migration guide for details. - Reworked console output handling. Updated `--summary` with different levels. - Reworked release distribution to use archives instead of direct executables. - **Configuration** - Renamed, removed, or changed _many_ settings. Refer to the migration guide for details. - Renamed `.moon/toolchain.yml` to `.moon/toolchains.yml` (plural). - **MCP** - Updated protocol version to 2025-11-25. - Updated `get_projects` and `get_tasks` to return fragments, to reduce the payload size. - **Projects** - Reworked how the `language` is detected. - Flattened `project` metadata structure. - **Tasks** - Task inheritance now deep merges instead of shallow merges when dealing with extends and multi-global. - Task `command` and `args` only support simple commands now. Use `script` for compound commands (pipes, redirects, multiple commands, etc). - Removed "watcher" task `preset`. - Reworked env var merge order, substitution, and more. Refer to the migration guide for details. - Reworked `.env` handling. - Moved loading to occur before task execution, instead of creation. - Can _no longer_ reference task `env` vars for substitution. - **Toolchain** - Removed the old platform system, and replaced it with the new WASM plugin system. - All old "stable" toolchains have been replaced with the new "unstable" toolchains. - **VCS** - Reworked the hooks layer for better interoperability. - **WASM API** - Removed the `/cwd` virtual path. - Renamed `ProjectFragment.alias` to `ProjectFragment.aliases` and changed its type from `Option<String>` to `Vec<String>`. - Removed `RegisterExtensionOutput.config_schema` field. Use the new `define_extension_config` plugin function instead. #### 🚀 Updates View the [announcement blog post](https://moonrepo.dev/blog/moon-v2.0) for all updates, new features, improvements, and much more! - **Action pipeline** - Will now always generate a hash for a task, even if caching is disabled. - Applies "transitive reduction" to the graph, removing unnecessary edges for better performance. - Improved console output, logging, and error handling. - Improved parallelism when running tasks. - Now resolves and expands targets _before_ partitioning. - Now partitions _after_ filtering based on affected state. - **CLI** - New commands: `moon exec`, `moon extension`, `moon hash`, `moon projects`, `moon tasks`, `moon query affected`, `moon template` - Updated commands `moon check`, `moon ci`, and `moon run`: - Now uses `moon exec` under the hood. - Added levels to `--summary`. - Updated commands that require an identifier to prompt for it if not provided. - Stabilized the `moonx` binary (which uses `moon exec` under the hood). - Added support for `.config/moon` instead of `.moon`. - Added support for `...` in task targets, which is an alias for `**/*`. This is similar to how Bazel targets work. - Improved stack memory usage by pushing thread data to the heap. This resolves spurious stack overflow issues. - **Configuration** - Added support for more formats: JSON, TOML, and HCL. - Improved error messages for union based settings. - `.moon/extensions.*` - New file for configuring extensions (formerly in `workspace.extensions`). - `.moon/tasks.*` - Added `inheritedBy` setting for configuration based task inheritance. - `.moon/workspace.*` - Added `projects.globFormat` setting. - Added `defaultProject` setting. - Stabilized remote caching. - `moon.*` - Added `mergeToolchains` task option. - Added "utility" task `preset`. - Added "data" `stack`. - **Docker** - Better toolchain integration. - Added `--no-setup` and `--template` support to `moon docker file`. - Updated project configs to override workspace configs. - **Extensions** - Added a new extension, `unpack`, for unpacking archive files. - Added `.moon/extensions.*` configuration file. - Added support for new plugin APIs: `define_extension_config`, `extend_command`, `extend_project_graph`, `extend_task_command`, `extend_task_script`, `sync_project`, and `sync_workspace`. - **MCP** - Added a `generate` tool for running the code generator. - **Projects** - Added a default project concept. - Added path based IDs instead of dir name IDs. - Updated projects to support multiple aliases (one from each applicable toolchain). - **Remote cache** - Stabilized all settings. - Enabled gzip/zstd compression for HTTP requests. - **Tasks** - Added deep merging support for task inheritance. - Updated `command` and `args` with better syntax parsing and error handling. - Better handling of quotes, escapes, and spaces. - Extracts env vars into the task. - Updated `env` values to support `null`, which would remove an inherited system env var. - Updated `envFile` option to support token/var substitution. - Improved `.env` handling: - Updated the parser to support more syntax. - Updated loading to occur before task execution, instead of creation. - Can now reference system/moon/task env vars for substitution. - **Toolchains** - Stabilized the new WASM plugin system. - Improved how toolchains extend env vars and paths for commands and scripts. - **Tokens** - Added new tokens: `$projectTitle`, `$projectAliases`, `$taskToolchains` - **VCS** - Replaced the old v1 Git implementation with a new v2 implementation. - Improved support for worktrees, submodules, and more. - **WASM API** - Added a `load_extension_config_by_id` host function. - Added `define_extension_config`, `initialize_extension`, and `extend_command` plugin functions. - Added `load_extension_config`, `parse_extension_config` and `parse_extension_config_schema` utility functions. - Added `DefineExtensionConfigOutput`, `InitializeExtensionInput`, `InitializeExtensionOutput`, `ExtendCommandInput`, and `ExtendCommandOutput` types. - Added `ExtendProjectGraphInput.extension_config`, `ExtendTaskCommandInput.extension_config`, `ExtendTaskScriptInput.extension_config`, `SyncProjectInput.extension_config`, and `SyncWorkspaceInput.extension_config` fields. - Added `RegisterToolchainOutput.language` field. #### 🧩 Extensions - **Migrate Nx** - Added support for the following `project.json` fields: `targets.*.continuous` - **Migrate Turborepo** - Added support for the following `turbo.json` fields: `tags`, `tasks.*.env` (wildcards and negation) - **Unpack** - Updated to use `unzip` and `tar` commands. #### 🧰 Toolchains - **JavaScript** - Added support for Yarn v4.10 catalogs. - Fixed an issue where implicit dependencies would sometimes not resolve. #### 🐞 Fixes - Fixed local executables in `@moonrepo` packages not being detected correctly. - Fixed task job parallelism to partition _after_ tasks have been filtered based on affected state. - Fixed an issue where env var substitution would not process in the order they were defined. - Fixed an issue where ctrl+c wouldn't exit when a prompt was waiting for input. - Fixed an issue where `project` based task inputs would not be reflected internally in the input files/globs list. - Fixed an issue where running a task that triggers a system/moon error wouldn't output the error message. This also aborts the action pipeline correctly now. - Fixed an issue where errors during project graph building would not be reported correctly. - Fixed an issue where a negated glob in a file group would not expand properly when used as an argument. #### ⚙️ Internal - Updated proto to [v0.55.2](https://github.com/moonrepo/proto/releases/tag/v0.55.0) from 0.53.2 (view [v0.54](https://github.com/moonrepo/proto/releases/tag/v0.54.0) changes). - Updated wasmtime to v37. - Updated Rust to v1.93.0. - Updated dependencies. ## Install moon_cli 2.0.0-rc.4 ### Install prebuilt binaries via shell script ```sh curl --proto '=https' --tlsv1.2 -LsSf https://github.com/moonrepo/moon/releases/download/v2.0.0-rc.4/moon_cli-installer.sh | sh ``` ### Install prebuilt binaries via powershell script ```sh powershell -ExecutionPolicy Bypass -c "irm https://github.com/moonrepo/moon/releases/download/v2.0.0-rc.4/moon_cli-installer.ps1 | iex" ``` ## Download moon_cli 2.0.0-rc.4 | File | Platform | Checksum | |--------|----------|----------| | [moon_cli-aarch64-apple-darwin.tar.xz](https://github.com/moonrepo/moon/releases/download/v2.0.0-rc.4/moon_cli-aarch64-apple-darwin.tar.xz) | Apple Silicon macOS | [checksum](https://github.com/moonrepo/moon/releases/download/v2.0.0-rc.4/moon_cli-aarch64-apple-darwin.tar.xz.sha256) | | [moon_cli-x86_64-pc-windows-msvc.zip](https://github.com/moonrepo/moon/releases/download/v2.0.0-rc.4/moon_cli-x86_64-pc-windows-msvc.zip) | x64 Windows | [checksum](https://github.com/moonrepo/moon/releases/download/v2.0.0-rc.4/moon_cli-x86_64-pc-windows-msvc.zip.sha256) | | [moon_cli-aarch64-unknown-linux-gnu.tar.xz](https://github.com/moonrepo/moon/releases/download/v2.0.0-rc.4/moon_cli-aarch64-unknown-linux-gnu.tar.xz) | ARM64 Linux | [checksum](https://github.com/moonrepo/moon/releases/download/v2.0.0-rc.4/moon_cli-aarch64-unknown-linux-gnu.tar.xz.sha256) | | [moon_cli-x86_64-unknown-linux-gnu.tar.xz](https://github.com/moonrepo/moon/releases/download/v2.0.0-rc.4/moon_cli-x86_64-unknown-linux-gnu.tar.xz) | x64 Linux | [checksum](https://github.com/moonrepo/moon/releases/download/v2.0.0-rc.4/moon_cli-x86_64-unknown-linux-gnu.tar.xz.sha256) | | [moon_cli-aarch64-unknown-linux-musl.tar.xz](https://github.com/moonrepo/moon/releases/download/v2.0.0-rc.4/moon_cli-aarch64-unknown-linux-musl.tar.xz) | ARM64 MUSL Linux | [checksum](https://github.com/moonrepo/moon/releases/download/v2.0.0-rc.4/moon_cli-aarch64-unknown-linux-musl.tar.xz.sha256) | | [moon_cli-x86_64-unknown-linux-musl.tar.xz](https://github.com/moonrepo/moon/releases/download/v2.0.0-rc.4/moon_cli-x86_64-unknown-linux-musl.tar.xz) | x64 MUSL Linux | [checksum](https://github.com/moonrepo/moon/releases/download/v2.0.0-rc.4/moon_cli-x86_64-unknown-linux-musl.tar.xz.sha256) |

Version 2.0.0-rc.2v2.0.0-rc.2预发布
? · 2026-02-04

## Release Notes #### 💥 Breaking View the [migration guide](https://moonrepo.dev/docs/migrate/2.0) for a full list of breaking changes and how to easily migrate! - Renamed "touched files" to "changed files". - **CLI** - Removed commands: `moon node`, `moon migrate from-package-json`, `moon query hash`, `moon query hash-diff` - Renamed all options and flags to kebab-case instead of camelCase. - Reworked many commands and their arguments. Refer to the migration guide for details. - Reworked console output handling. Updated `--summary` with different levels. - Reworked release distribution to use archives instead of direct executables. - **Configuration** - Renamed, removed, or changed _many_ settings. Refer to the migration guide for details. - Renamed `.moon/toolchain.yml` to `.moon/toolchains.yml` (plural). - **MCP** - Updated protocol version to 2025-11-25. - Updated `get_projects` and `get_tasks` to return fragments, to reduce the payload size. - **Projects** - Reworked how the `language` is detected. - Flattened `project` metadata structure. - **Tasks** - Task inheritance now deep merges instead of shallow merges when dealing with extends and multi-global. - Task `command` and `args` only support simple commands now. Use `script` for compound commands (pipes, redirects, multiple commands, etc). - Removed "watcher" task `preset`. - Reworked env var merge order, substitution, and more. Refer to the migration guide for details. - Reworked `.env` handling. - Moved loading to occur before task execution, instead of creation. - Can _no longer_ reference task `env` vars for substitution. - **Toolchain** - Removed the old platform system, and replaced it with the new WASM plugin system. - All old "stable" toolchains have been replaced with the new "unstable" toolchains. - **VCS** - Reworked the hooks layer for better interoperability. - **WASM API** - Removed the `/cwd` virtual path. - Renamed `ProjectFragment.alias` to `ProjectFragment.aliases` and changed its type from `Option<String>` to `Vec<String>`. - Removed `RegisterExtensionOutput.config_schema` field. Use the new `define_extension_config` plugin function instead. #### 🚀 Updates View the [announcement blog post](https://moonrepo.dev/blog/moon-v2.0) for all updates, new features, improvements, and much more! - **Action pipeline** - Will now always generate a hash for a task, even if caching is disabled. - Applies "transitive reduction" to the graph, removing unnecessary edges for better performance. - Improved console output, logging, and error handling. - Improved parallelism when running tasks. - Now resolves and expands targets _before_ partitioning. - Now partitions _after_ filtering based on affected state. - **CLI** - New commands: `moon exec`, `moon extension`, `moon hash`, `moon projects`, `moon tasks`, `moon query affected`, `moon template` - Updated commands `moon check`, `moon ci`, and `moon run`: - Now uses `moon exec` under the hood. - Added levels to `--summary`. - Updated commands that require an identifier to prompt for it if not provided. - Stabilized the `moonx` binary (which uses `moon exec` under the hood). - Added support for `.config/moon` instead of `.moon`. - Added support for `...` in task targets, which is an alias for `**/*`. This is similar to how Bazel targets work. - Improved stack memory usage by pushing thread data to the heap. This resolves spurious stack overflow issues. - **Configuration** - Added support for more formats: JSON, TOML, and HCL. - Improved error messages for union based settings. - `.moon/extensions.*` - New file for configuring extensions (formerly in `workspace.extensions`). - `.moon/tasks.*` - Added `inheritedBy` setting for configuration based task inheritance. - `.moon/workspace.*` - Added `projects.globFormat` setting. - Added `defaultProject` setting. - Stabilized remote caching. - `moon.*` - Added `mergeToolchains` task option. - Added "utility" task `preset`. - Added "data" `stack`. - **Docker** - Better toolchain integration. - Added `--no-setup` and `--template` support to `moon docker file`. - Updated project configs to override workspace configs. - **Extensions** - Added a new extension, `unpack`, for unpacking archive files. - Added `.moon/extensions.*` configuration file. - Added support for new plugin APIs: `define_extension_config`, `extend_command`, `extend_project_graph`, `extend_task_command`, `extend_task_script`, `sync_project`, and `sync_workspace`. - **MCP** - Added a `generate` tool for running the code generator. - **Projects** - Added a default project concept. - Added path based IDs instead of dir name IDs. - Updated projects to support multiple aliases (one from each applicable toolchain). - **Tasks** - Added deep merging support for task inheritance. - Updated `command` and `args` with better syntax parsing and error handling. - Better handling of quotes, escapes, and spaces. - Extracts env vars into the task. - Updated `env` values to support `null`, which would remove an inherited system env var. - Updated `envFile` option to support token/var substitution. - Improved `.env` handling: - Updated the parser to support more syntax. - Updated loading to occur before task execution, instead of creation. - Can now reference system/moon/task env vars for substitution. - **Toolchains** - Stabilized the new WASM plugin system. - Improved how toolchains extend env vars and paths for commands and scripts. - **Tokens** - Added new tokens: `$projectTitle`, `$projectAliases`, `$taskToolchains` - **VCS** - Replaced the old v1 Git implementation with a new v2 implementation. - Improved support for worktrees, submodules, and more. - **WASM API** - Added a `load_extension_config_by_id` host function. - Added `define_extension_config`, `initialize_extension`, and `extend_command` plugin functions. - Added `load_extension_config`, `parse_extension_config` and `parse_extension_config_schema` utility functions. - Added `DefineExtensionConfigOutput`, `InitializeExtensionInput`, `InitializeExtensionOutput`, `ExtendCommandInput`, and `ExtendCommandOutput` types. - Added `ExtendProjectGraphInput.extension_config`, `ExtendTaskCommandInput.extension_config`, `ExtendTaskScriptInput.extension_config`, `SyncProjectInput.extension_config`, and `SyncWorkspaceInput.extension_config` fields. - Added `RegisterToolchainOutput.language` field. #### 🧩 Extensions - **Migrate Nx** - Added support for the following `project.json` fields: `targets.*.continuous` - **Migrate Turborepo** - Added support for the following `turbo.json` fields: `tags`, `tasks.*.env` (wildcards and negation) - **Unpack** - Updated to use `unzip` and `tar` commands. #### 🧰 Toolchains - **JavaScript** - Added support for Yarn v4.10 catalogs. - Fixed an issue where implicit dependencies would sometimes not resolve. #### 🐞 Fixes - Fixed local executables in `@moonrepo` packages not being detected correctly. - Fixed task job parallelism to partition _after_ tasks have been filtered based on affected state. - Fixed an issue where env var substitution would not process in the order they were defined. - Fixed an issue where ctrl+c wouldn't exit when a prompt was waiting for input. - Fixed an issue where `project` based task inputs would not be reflected internally in the input files/globs list. - Fixed an issue where running a task that triggers a system/moon error wouldn't output the error message. This also aborts the action pipeline correctly now. - Fixed an issue where errors during project graph building would not be reported correctly. #### ⚙️ Internal - Updated proto to [v0.55.2](https://github.com/moonrepo/proto/releases/tag/v0.55.0) from 0.53.2 (view [v0.54](https://github.com/moonrepo/proto/releases/tag/v0.54.0) changes). - Updated wasmtime to v37. - Updated Rust to v1.93.0. - Updated dependencies. ## Install moon_cli 2.0.0-rc.2 ### Install prebuilt binaries via shell script ```sh curl --proto '=https' --tlsv1.2 -LsSf https://github.com/moonrepo/moon/releases/download/v2.0.0-rc.2/moon_cli-installer.sh | sh ``` ### Install prebuilt binaries via powershell script ```sh powershell -ExecutionPolicy Bypass -c "irm https://github.com/moonrepo/moon/releases/download/v2.0.0-rc.2/moon_cli-installer.ps1 | iex" ``` ## Download moon_cli 2.0.0-rc.2 | File | Platform | Checksum | |--------|----------|----------| | [moon_cli-aarch64-apple-darwin.tar.xz](https://github.com/moonrepo/moon/releases/download/v2.0.0-rc.2/moon_cli-aarch64-apple-darwin.tar.xz) | Apple Silicon macOS | [checksum](https://github.com/moonrepo/moon/releases/download/v2.0.0-rc.2/moon_cli-aarch64-apple-darwin.tar.xz.sha256) | | [moon_cli-x86_64-pc-windows-msvc.zip](https://github.com/moonrepo/moon/releases/download/v2.0.0-rc.2/moon_cli-x86_64-pc-windows-msvc.zip) | x64 Windows | [checksum](https://github.com/moonrepo/moon/releases/download/v2.0.0-rc.2/moon_cli-x86_64-pc-windows-msvc.zip.sha256) | | [moon_cli-aarch64-unknown-linux-gnu.tar.xz](https://github.com/moonrepo/moon/releases/download/v2.0.0-rc.2/moon_cli-aarch64-unknown-linux-gnu.tar.xz) | ARM64 Linux | [checksum](https://github.com/moonrepo/moon/releases/download/v2.0.0-rc.2/moon_cli-aarch64-unknown-linux-gnu.tar.xz.sha256) | | [moon_cli-x86_64-unknown-linux-gnu.tar.xz](https://github.com/moonrepo/moon/releases/download/v2.0.0-rc.2/moon_cli-x86_64-unknown-linux-gnu.tar.xz) | x64 Linux | [checksum](https://github.com/moonrepo/moon/releases/download/v2.0.0-rc.2/moon_cli-x86_64-unknown-linux-gnu.tar.xz.sha256) | | [moon_cli-aarch64-unknown-linux-musl.tar.xz](https://github.com/moonrepo/moon/releases/download/v2.0.0-rc.2/moon_cli-aarch64-unknown-linux-musl.tar.xz) | ARM64 MUSL Linux | [checksum](https://github.com/moonrepo/moon/releases/download/v2.0.0-rc.2/moon_cli-aarch64-unknown-linux-musl.tar.xz.sha256) | | [moon_cli-x86_64-unknown-linux-musl.tar.xz](https://github.com/moonrepo/moon/releases/download/v2.0.0-rc.2/moon_cli-x86_64-unknown-linux-musl.tar.xz) | x64 MUSL Linux | [checksum](https://github.com/moonrepo/moon/releases/download/v2.0.0-rc.2/moon_cli-x86_64-unknown-linux-musl.tar.xz.sha256) |

Version 2.0.0-rc.0v2.0.0-rc.0预发布
? · 2026-01-27

## Release Notes #### 💥 Breaking View the [migration guide](https://moonrepo.dev/docs/migrate/2.0) for a full list of breaking changes and how to easily migrate! - Renamed "touched files" to "changed files". - **CLI** - Removed commands: `moon node`, `moon migrate from-package-json`, `moon query hash`, `moon query hash-diff` - Renamed all options and flags to kebab-case instead of camelCase. - Reworked many commands and their arguments. Refer to the migration guide for details. - Reworked console output handling. Updated `--summary` with different levels. - Reworked release distribution to use archives instead of direct executables. - **Configuration** - Renamed, removed, or changed _many_ settings. Refer to the migration guide for details. - Renamed `.moon/toolchain.yml` to `.moon/toolchains.yml` (plural). - **MCP** - Updated protocol version to 2025-11-25. - Updated `get_projects` and `get_tasks` to return fragments, to reduce the payload size. - **Projects** - Reworked how the `language` is detected. - Flattened `project` metadata structure. - **Tasks** - Task inheritance now deep merges instead of shallow merges when dealing with extends and multi-global. - Task `command` and `args` only support simple commands now. Use `script` for compound commands (pipes, redirects, multiple commands, etc). - Removed "watcher" task `preset`. - Reworked env var merge order, substitution, and more. Refer to the migration guide for details. - Reworked `.env` handling. - Moved loading to occur before task execution, instead of creation. - Can _no longer_ reference task `env` vars for substitution. - **Toolchain** - Removed the old platform system, and replaced it with the new WASM plugin system. - All old "stable" toolchains have been replaced with the new "unstable" toolchains. - **VCS** - Reworked the hooks layer for better interoperability. - **WASM API** - Removed the `/cwd` virtual path. - Renamed `ProjectFragment.alias` to `ProjectFragment.aliases` and changed its type from `Option<String>` to `Vec<String>`. - Removed `RegisterExtensionOutput.config_schema` field. Use the new `define_extension_config` plugin function instead. #### 🚀 Updates View the [announcement blog post](https://moonrepo.dev/blog/moon-v2.0) for all updates, new features, improvements, and much more! - **Action pipeline** - Will now always generate a hash for a task, even if caching is disabled. - Applies "transitive reduction" to the graph, removing unnecessary edges for better performance. - Improved console output, logging, and error handling. - Improved parallelism when running tasks. - Now resolves and expands targets _before_ partitioning. - Now partitions _after_ filtering based on affected state. - **CLI** - New commands: `moon exec`, `moon extension`, `moon hash`, `moon projects`, `moon tasks`, `moon query affected`, `moon template` - Updated commands `moon check`, `moon ci`, and `moon run`: - Now uses `moon exec` under the hood. - Added levels to `--summary`. - Updated commands that require an identifier to prompt for it if not provided. - Stabilized the `moonx` binary (which uses `moon exec` under the hood). - Added support for `.config/moon` instead of `.moon`. - Added support for `...` in task targets, which is an alias for `**/*`. This is similar to how Bazel targets work. - Improved stack memory usage by pushing thread data to the heap. This resolves spurious stack overflow issues. - **Configuration** - Added support for more formats: JSON, TOML, and HCL. - `.moon/extensions.*` - New file for configuring extensions (formerly in `workspace.extensions`). - `.moon/tasks.*` - Added `inheritedBy` setting for configuration based task inheritance. - `.moon/workspace.*` - Added `projects.globFormat` setting. - Added `defaultProject` setting. - Stabilized remote caching. - `moon.*` - Added `mergeToolchains` task option. - Added "utility" task `preset`. - Added "data" `stack`. - **Docker** - Better toolchain integration. - Added `--no-setup` and `--template` support to `moon docker file`. - Updated project configs to override workspace configs. - **Extensions** - Added a new extension, `unpack`, for unpacking archive files. - Added `.moon/extensions.*` configuration file. - Added support for new plugin APIs: `define_extension_config`, `extend_command`, `extend_project_graph`, `extend_task_command`, `extend_task_script`, `sync_project`, and `sync_workspace`. - **MCP** - Added a `generate` tool for running the code generator. - **Projects** - Added a default project concept. - Added path based IDs instead of dir name IDs. - Updated projects to support multiple aliases (one from each applicable toolchain). - **Tasks** - Added deep merging support for task inheritance. - Updated `command` and `args` with better syntax parsing and error handling. - Better handling of quotes, escapes, and spaces. - Extracts env vars into the task. - Updated `env` values to support `null`, which would remove an inherited system env var. - Updated `envFile` option to support token/var substitution. - Improved `.env` handling: - Updated the parser to support more syntax. - Updated loading to occur before task execution, instead of creation. - Can now reference system/moon/task env vars for substitution. - **Toolchains** - Stabilized the new WASM plugin system. - Improved how toolchains extend env vars and paths for commands and scripts. - **Tokens** - Added new tokens: `$projectTitle`, `$projectAliases`, `$taskToolchains` - **VCS** - Replaced the old v1 Git implementation with a new v2 implementation. - Improved support for worktrees, submodules, and more. - **WASM API** - Added a `load_extension_config_by_id` host function. - Added `define_extension_config`, `initialize_extension`, and `extend_command` plugin functions. - Added `load_extension_config`, `parse_extension_config` and `parse_extension_config_schema` utility functions. - Added `DefineExtensionConfigOutput`, `InitializeExtensionInput`, `InitializeExtensionOutput`, `ExtendCommandInput`, and `ExtendCommandOutput` types. - Added `ExtendProjectGraphInput.extension_config`, `ExtendTaskCommandInput.extension_config`, `ExtendTaskScriptInput.extension_config`, `SyncProjectInput.extension_config`, and `SyncWorkspaceInput.extension_config` fields. - Added `RegisterToolchainOutput.language` field. #### 🧩 Extensions - **Migrate Nx** - Added support for the following `project.json` fields: `targets.*.continuous` - **Migrate Turborepo** - Added support for the following `turbo.json` fields: `tags`, `tasks.*.env` (wildcards and negation) - **Unpack** - Updated to use `unzip` and `tar` commands. #### 🧰 Toolchains - **JavaScript** - Added support for Yarn v4.10 catalogs. - Fixed an issue where implicit dependencies would sometimes not resolve. #### 🐞 Fixes - Fixed local executables in `@moonrepo` packages not being detected correctly. - Fixed task job parallelism to partition _after_ tasks have been filtered based on affected state. - Fixed an issue where env var substitution would not process in the order they were defined. - Fixed an issue where ctrl+c wouldn't exit when a prompt was waiting for input. - Fixed an issue where `project` based task inputs would not be reflected internally in the input files/globs list. - Fixed an issue where running a task that triggers a system/moon error wouldn't output the error message. This also aborts the action pipeline correctly now. - Fixed an issue where errors during project graph building would not be reported correctly. #### ⚙️ Internal - Updated proto to [v0.54.1](https://github.com/moonrepo/proto/releases/tag/v0.54.0) (from 0.53.2). - Updated wasmtime to v37. - Updated Rust to v1.92.0. - Updated dependencies. ## Install moon_cli 2.0.0-rc.0 ### Install prebuilt binaries via shell script ```sh curl --proto '=https' --tlsv1.2 -LsSf https://github.com/moonrepo/moon/releases/download/v2.0.0-rc.0/moon_cli-installer.sh | sh ``` ### Install prebuilt binaries via powershell script ```sh powershell -ExecutionPolicy Bypass -c "irm https://github.com/moonrepo/moon/releases/download/v2.0.0-rc.0/moon_cli-installer.ps1 | iex" ``` ## Download moon_cli 2.0.0-rc.0 | File | Platform | Checksum | |--------|----------|----------| | [moon_cli-aarch64-apple-darwin.tar.xz](https://github.com/moonrepo/moon/releases/download/v2.0.0-rc.0/moon_cli-aarch64-apple-darwin.tar.xz) | Apple Silicon macOS | [checksum](https://github.com/moonrepo/moon/releases/download/v2.0.0-rc.0/moon_cli-aarch64-apple-darwin.tar.xz.sha256) | | [moon_cli-x86_64-pc-windows-msvc.zip](https://github.com/moonrepo/moon/releases/download/v2.0.0-rc.0/moon_cli-x86_64-pc-windows-msvc.zip) | x64 Windows | [checksum](https://github.com/moonrepo/moon/releases/download/v2.0.0-rc.0/moon_cli-x86_64-pc-windows-msvc.zip.sha256) | | [moon_cli-aarch64-unknown-linux-gnu.tar.xz](https://github.com/moonrepo/moon/releases/download/v2.0.0-rc.0/moon_cli-aarch64-unknown-linux-gnu.tar.xz) | ARM64 Linux | [checksum](https://github.com/moonrepo/moon/releases/download/v2.0.0-rc.0/moon_cli-aarch64-unknown-linux-gnu.tar.xz.sha256) | | [moon_cli-x86_64-unknown-linux-gnu.tar.xz](https://github.com/moonrepo/moon/releases/download/v2.0.0-rc.0/moon_cli-x86_64-unknown-linux-gnu.tar.xz) | x64 Linux | [checksum](https://github.com/moonrepo/moon/releases/download/v2.0.0-rc.0/moon_cli-x86_64-unknown-linux-gnu.tar.xz.sha256) | | [moon_cli-aarch64-unknown-linux-musl.tar.xz](https://github.com/moonrepo/moon/releases/download/v2.0.0-rc.0/moon_cli-aarch64-unknown-linux-musl.tar.xz) | ARM64 MUSL Linux | [checksum](https://github.com/moonrepo/moon/releases/download/v2.0.0-rc.0/moon_cli-aarch64-unknown-linux-musl.tar.xz.sha256) | | [moon_cli-x86_64-unknown-linux-musl.tar.xz](https://github.com/moonrepo/moon/releases/download/v2.0.0-rc.0/moon_cli-x86_64-unknown-linux-musl.tar.xz) | x64 MUSL Linux | [checksum](https://github.com/moonrepo/moon/releases/download/v2.0.0-rc.0/moon_cli-x86_64-unknown-linux-musl.tar.xz.sha256) |