Skip to content

Releases: moonrepo/moon

v1.12.1

30 Aug 00:25
Compare
Choose a tag to compare

🐞 Fixes

  • Improved failed task error messages by including information about the failing task.
  • Fixed an issue where failed tasks would be cached.
  • Fixed an issue where errors lost information while bubbling up the stack.

v1.12.0

19 Aug 23:16
Compare
Choose a tag to compare

🚀 Updates

  • Added git worktree support (experimental).
  • Added an interactive field to task options. This marks tasks as interactive, so they can use stdin.
  • Added an extends field to task configurations. This allows tasks to extend and inherit settings from sibling tasks.
  • Updated task env values to support token functions and variables.
  • Updated task outputs to support negated globs.
  • Will now log a warning to the console if a configuration file uses the .yaml extension.

🐞 Fixes

  • Fixed an issue where moon ci would not run affected targets based on touched files.

⚙️ Internal

  • Improved caching and hashing layers.

v1.11.1

01 Aug 20:01
Compare
Choose a tag to compare

🐞 Fixes

  • Fixed an issue where tasks using output globs would not always hydrate from the cache.

v1.11.0

31 Jul 21:55
Compare
Choose a tag to compare

💥 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 and args 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.
  • Codegen
    • Templates can be used as-is without rendering with Tera by appending
      a .raw extension.
  • Query language
    • Updated project to query both project name AND alias.
    • Added projectName for only querying by name.

🐞 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.

v1.10.1

13 Jul 21:26
Compare
Choose a tag to compare

🐞 Fixes

  • Fixed an issue where .gitignore patterns weren't always applied correctly.
  • Fixed an issue where git hash-object commands would fail if moon was setup in a sub-directory.
  • Fixed an issue where our "upgrade moon" message would print when requesting JSON output
    (--json), resulting in JSON parsing errors.

v1.10.0

10 Jul 19:32
Compare
Choose a tag to compare

💥 Breaking

These changes are fixing edge cases that should not have been allowed, but may break existing
repos. If these changes become troublesome, we'll revert.

  • Tasks that configure the same outputs will now error. This change was made as multiple tasks
    writing to the same output location will cause caching and hydration issues.
  • If a dependency of a task failed to run or was skipped, then the parent task will now be skipped.

🚀 Updates

  • Added support for MOON_BASE and MOON_HEAD environment variables.
    • Will be used when diffing across branches or commits.
    • Works for both moon ci and moon run.
  • Added deno.bins setting to .moon/toolchain.yml.
  • Added hasher.ignorePatterns and hasher.ignoreMissingPatterns settings to
    .moon/workspace.yml.
  • Updated moon ci to include a summary of all failed actions.
  • Updated moon run to compare against the previous commit when running on the default branch and
    using --remote.
  • Updated rust.bins in .moon/toolchain.yml to support an object for each bin entry.
    • Can denote bins as CI or local only.
    • Can force install bins.
  • Updated the run report to include stderr/stdout for all attempts.

🐞 Fixes

  • Fixed an issue where failed target run attempts would not appear in the run report.

📚 Documentation

  • Added a new in-depth "Debugging a task" guide.

⚙️ Internal

  • Updated to proto v0.12.
  • Modernized the code generator and project constraints implementation.
  • Renamed runfile to snapshot throughout.

v1.9.2

29 Jun 20:34
Compare
Choose a tag to compare

🐞 Fixes

  • Fixed a panic when attempting to execute an npm package who's binary is purely Bash.

v1.9.1

28 Jun 18:09
Compare
Choose a tag to compare

🐞 Fixes

  • Fixed a panic when parsing the output of git --version.

v1.9.0

26 Jun 21:35
Compare
Choose a tag to compare

🚀 Updates

  • Added VCS hooks management support.
    • Added vcs.hooks and vcs.syncHooks settings to .moon/workspace.yml.
    • Added moon sync hooks command.
  • Added --clean and --force flags to moon sync codeowners command.
  • Updated moon init to:
    • Detect an applicable VCS provider and set the vcs.provider setting.
    • Convert a detected tool version to a fully-qualified semantic version.
  • Node.js
    • Moved syncing logic from InstallNodeDeps action to SetupNodeTool action. This includes
      syncing packageManager, engines, and version files. This should feel more natural.

🐞 Fixes

  • Fixed an issue where task hashes would be different between Windows and Unix machines.
    • Root cause is that arguments would use different path separators.
  • Fixed an issue where dev, start, or serve tasks would not always be marked as local.
  • Fixed an issue where inherited tasks parameters (inputs, deps, etc) would sometimes be lost based
    on the merge strategy.
  • Fixed an issue with dependency graph cycle detection.

⚙️ Internal

  • Updated to proto v0.11.
  • Dropped SVN support since it was never finished and doesn't work.
  • Improved VCS file handling, caching, and performance.

v1.8.3

21 Jun 17:39
Compare
Choose a tag to compare

🐞 Fixes

  • Fixed an issue where command line arguments were incorrectly escaped in Bash shells.