Releases: moonrepo/moon
Releases · moonrepo/moon
v1.30.5
v1.30.4
🐞 Fixes
- Fixed
moon ci
showing incorrect job related logs. - Fixed some issues with the Python toolchain:
- pip is no longer required to be enabled to activate a virtual environment.
- Changed
python.rootRequirementsOnly
tofalse
by default. - The venv root is now the location of a found
requirements.txt
, otherwise the package root, or
workspace root ifpython.rootRequirementsOnly
is enabled. - Tasks will now inherit the correct venv paths in
PATH
.
v1.30.3
🐞 Fixes
- Fixed an issue where a task with explicit no inputs (
inputs: []
) would always be marked as affected.
⚙️ Internal
- Updated proto to v0.43.0 (from 0.42.2).
- Updated wasmtime to v26 (from v23).
- Updated Rust to v1.83.
v1.30.2
🐞 Fixes
- Fixed an issue where dependencies/dependents of an affected task would be skipped in the action
graph if they were also not affected. - Fixed a potential cycle (stack overflow) that may occur in the affected tracker.
⚙️ Internal
- Improved task dependent resolution in the action graph.
v1.30.1
🐞 Fixes
- Fixed a Git "fatal: bad object" error when submodules are in being used.
- Fixed an issue where
moon ci
would trigger a shallow checkout error, even when a base revision
is provided. - Fixed an issue were changes in a non-direct dependency would not mark a deep dependent as
affected.
v1.30.0
💥 Breaking
- If you renamed a project using the
id
setting inmoon.yml
, you can no longer reference that
project in dependencies and targets using its original ID. - Refactored the
moon query tasks
command.- CLI options have been replaced with new task based options, instead of being project based.
- Now utilizes the new task graph and affected tracker.
- The
moon project-graph --json
output no longer includes task data (thetasks
field is an empty
map).- Use
moon task-graph
to access this data, and piece things together using the project
taskTargets
field. - The
moon project --json
output pieces everything together automatically.
- Use
🚀 Updates
- Added unstable support for self-hosted remote caches, powered by the
Bazel Remote Execution API.- Allows for 3rd-party implementations like
bazel-remote
to be used. - Currently supports the gRPC protocol, and will support HTTP in a later release.
- Our moonbase product will be sunset in the future.
- Allows for 3rd-party implementations like
- Added Python tier 2 and 3 support.
- Will download and install Python into the toolchain when a
version
is configured. - Will parse the
requirements.txt
to resolve and install dependencies. - Added a
python
setting to.moon/toolchain.yml
. - Added a
toolchain.python
setting tomoon.yml
. - Updated
moon bin
commands to support Python.
- Will download and install Python into the toolchain when a
- Added a new task graph, that enables new granular based functionality for task related features.
- Added a new
moon task-graph
command. - Can now control the depth of upstream (dependencies) and downstream (dependents).
- Affected information now tracks based on dependent graph connections.
- Added
--upstream
and--downstream
options tomoon query tasks
.
- Added a new
- Added basic support for Git submodules, and will now extract touched files from all submodules.
- Added 7 new token variables:
$arch
,$os
,$osFamily
,$vcsBranch
,$vcsRepository
,
$vcsRevision
,$workingDir
- Added a
rust.binstallVersion
setting to.moon/toolchain.yml
. - Updated Pkl configurations to support
read()
for environment variables. - Resolved the
strictProjectIds
experiment and you can no longer reference the original ID. - Resolved the
disallowRunInCiMismatch
experiment and you can no longer have a CI based task
depend on a non-CI based task.
🐞 Fixes
- Fixed
moon project-graph <id>
not including all dependencies/dependents. It was only showing
direct relationships. - Fixed an issue where touched file paths would include Git submodule directories and trigger hasher warnings.
⚙️ Internal
- Updated dependencies.
- Updated proto to v0.42.2 (from 0.42.0).
v1.29.4
🚀 Updates
- Added an
experiments.strictProjectIds
setting to.moon/workspace.yml
. When enabled, will
disallow using original IDs for renamed projects (via theid
setting) when building the project
graph. - Updated codegen/template
destination
to be relative from the workspace root if prefixed with
/
, otherwise the current working directory.
🐞 Fixes
- Fixed an issue where moon would attempt to execute a folder if it has the same name as the current
shell. - Fixed an issue where
[working_dir]
and[workspace_root]
variables were not working in the
template.yml
destination
setting.
⚙️ Internal
- Updated dependencies.
- Updated proto to v0.42.0 (from 0.41.3).
v1.29.3
🐞 Fixes
- Fixed an issue running
npx
commands (primarily through lockfile deduping).
v1.29.2
🚀 Updates
- Removed the warning around
.env
files not existing in certain environments.
🐞 Fixes
- Fixed an issue where the task option
timeout
would apply to the overall run, and not for each
attempt when using theretryCount
option.
⚙️ Internal
- Updated Rust to v1.82.
v1.29.1
🚀 Updates
- Added a new task option
merge
, that defines the same strategy for all applicable fields. Can be
overridden withmergeX
task options. - Added a
moon
setting to.moon/toolchain.yml
, which can be used to customize the update check
process.
🐞 Fixes
- Fixed
moon query projects
including dependency projects by default. Can be controlled with
--upstream
. - Fixed
moon query projects
regex patterns not working when used in conjunction with affected. - Fixed Bash-based hooks being generated with the wrong path separators on Windows.
- Fixed an issue where an inherited task with merge strategy "replace" will accidentally remove task
args, deps, and env in inheriting tasks. - Fixed an issue where token variables and environment variables used within task args together
would not be replaced correctly.