💥 Breaking
- We've updated the task inheritance order to better reflect specificity. The biggest changes are
that deno/node/bun are now a higher priority than javascript/typescript, and stack is the lowest
priority. This should only affect users with very complex inheritance chains.
🚀 Updates
- We are deprecating the concept of the "platform", as this is required for the next step in
supporting WASM based toolchain plugins. Going forward, any reference to platform is now a
toolchain. The following changes have been made:- Deprecated the top-level
platform
setting inmoon.yml
, usetoolchain.default
instead.- Additionally, the toolchain can now be inferred from the top-level
language
setting and any
config files in the project/workspace root. This pattern is preferred when possible.
- Additionally, the toolchain can now be inferred from the top-level
- Deprecated the
platform
task setting, usetoolchain
instead. - Deprecated the
taskPlatform
query field, usetaskToolchain
instead. - Deprecated the
--platform
option formoon query tasks
, use--toolchain
instead. - Deprecated the
$taskPlatform
token, use$taskToolchain
instead.
- Deprecated the top-level
- Added the ability to run targets in
moon run
andmoon ci
using a glob-like syntax.- For example:
:build-*
,app-*:build
,#tag-{foo,bar}:build
, etc.
- For example:
- Added a
--no-bail
flag tomoon run
, that will continue running tasks even when a task fails. - Added glob support (and
glob://
) togenerator.templates
in.moon/workspace.yml
, allowing you
to glob for your codegen template locations. - Added a task option
inferInputs
, that will automatically infer inputs based on file groups and
substituted environment variables used within the task. - Updated task option
runInCI
to support the values "always" (always run) and "affected" (only run
if affected, same astrue
). - Updated task inputs to automatically be inherited from file group token functions used within the
task'sscript
,command
,args
, orenv
. - Updated the
extends
setting in.moon/workspace.yml
,toolchain.yml
, andtasks.yml
, to
support a list of files/URLs to extend. - Updated our unstable remote service (Bazel RE API) with new functionality:
- Added an
unstable_remote.cache.compression
setting, which can be set tozstd
to enable
zstandard compression on output blobs. - Symlink based outputs will now be created as symlinks on Windows, where previously they were
copies. Do note that symlinks require privileged access on Windows to function correctly.
- Added an
- Updated the
moon templates
command:- Templates are now sorted by identifier.
- Added a
--filter
option to filter the templates list by ID.
- Updated toolchain dependency installs to retry up to 3 attempts if the install command fails.
- Improved the task output prefixing logic.
🐞 Fixes
- Fixed a panic that could occur during command argument parsing.
- Fixed an issue where remote cached blobs would sometimes fail to be created locally.
- Fixed an issue when
ctrl+c
ing multiple persistent tasks would sometimes leave them running in
the background.
⚙️ Internal
- Updated proto to v0.44.2 (from 0.44.1).
- Updated dependencies.