💥 Breaking
- To support the new project graph, the order and priority in which environment variables are
resolved has changed. Previously it was task-level > .env file > project-level. Now it's
task-level > project-level > .env file.
🚀 Updates
- Rewrote the project graph from the ground-up:
- Lazily built using a multi-pass approach.
- Graph edges now indicate the type of relationship: development, production, build, peer.
- Updated
moon project-graph --json
to include the fully expanded graph data.
- Identifiers (project names, file groups, etc) can now be prefixed with underscores (
_
). - Added Poetry detection support for Python projects.
- Added an
experiments
setting to.moon/workspace.yml
. - Tasks
- Environment variables in
command
andargs
are now substituted. - Task
deps
can now depend on tag targets (#tag:task
). - Task
env
are now used when substituting values, alongside system-level. - Task
outputs
can now use token variables.
- Environment variables in
- Codegen
- Templates can be used as-is without rendering with Tera by appending
a.raw
extension.
- Templates can be used as-is without rendering with Tera by appending
- Query language
- Updated
project
to query both project name AND alias. - Added
projectName
for only querying by name.
- Updated
🐞 Fixes
- Fixed an issue where newer moonbase secret keys would fail to sign in.
- Fixed an issue where
@files
token would not invalidate the project graph cache. - Fixed an issue where changing
.env
would not invalidate the project graph cache.
⚙️ Internal
- Updated to proto v0.13.
- Updated Rust to v1.71.