Skip to main content

Alpha release of moon v2 now available!

· 2 min read
Miles Johnson
Founder, developer

After months of hard work, we are excited to announce the alpha release of moon v2! This major release brings a host of new features, improvements, and breaking changes that we believe will greatly enhance your experience with moon.

How to use

You can install the alpha with proto (>= 0.54.1), or download it directly from the GitHub release page.

$ proto install moon 2.0.0-alpha.2

Alternatively, you can try using the new experimental shell install scripts. Be warned that these haven't been tested thoroughly yet!

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

# Windows
powershell -ExecutionPolicy Bypass -c "irm https://github.com/moonrepo/moon/releases/download/v2.0.0-alpha.2/moon_cli-installer.ps1 | iex"

The existing shell install script and npm packages have not been updated for v2 yet.

Breaking changes

Since this is our first major release after v1, there are quite a few breaking changes, far too many to list here! Please refer to the official migration guide for a comprehensive list of breaking changes and how to address them.

New features

This wouldn't be a major release without some exciting new features! Here are some of the highlights:

  • New and improved CLI commands
  • New configuration formats
  • Toolchain and extension WASM plugins
  • Default projects
  • Config based task inheritance
  • Reworked env var handling
  • And much more!

For a in-depth look at all the new features and improvements, check out the official v2 blog post, which has not been published yet (still a work in progress).

Work in a progress

Before we stabilize v2, there are still some features and improvements we want to make. Here are some of the things we are currently working on:

  • Rewriting the Python toolchain as a WASM plugin. Because this is incomplete, Python is currently not supported in the v2 alpha.
  • Updating the @moonrepo/cli npm package with the new distribution format. Because of this, the npm package is not yet published.
  • Removing the auto-escaping/quoting from task arguments. This is a source of much confusion, and is only exacerbated by the differences between shells.
  • Auditing open issues and PRs to see what else needs to be done before the stable release.