Skip to content

Releases: moonrepo/moon

v1.36.3

29 May 21:07
Compare
Choose a tag to compare

🐞 Fixes

  • Fixed an issue where environment variables with default/fallback values (${VAR:+default}) were
    not parsed correctly.

⚙️ Internal

  • Updated dependencies.

v1.36.2

25 May 22:05
Compare
Choose a tag to compare

🚀 Updates

  • Added support for shell-specific environment variable namespaces when scanning and substituting
    values. Supports the following:
    • $E: - Elvish
    • $env:: - Ion
    • $ENV. - Murex
    • $env. - Nu
    • $env: - PowerShell
  • Updated all identifiers to support unicode alpha-numeric characters instead of just ASCII.

🐞 Fixes

  • Fixed some issues where MOON_TOOLCHAIN_FORCE_GLOBALS wasn't respected for Python and Rust
    toolchains.

v1.36.1

21 May 21:10
Compare
Choose a tag to compare

🐞 Fixes

  • Fixed an issue where tasks would not substitute environment variables when executing, because it
    did not run in a shell.

⚙️ Internal

  • Updated dependencies.

v1.36.0

19 May 18:18
Compare
Choose a tag to compare

🚀 Updates

  • Added more unstable support for toolchain plugins.
    • In the project graph:
      • Extend projects with dependencies, tasks, and an alias.
    • In the action pipeline:
      • Added SetupEnvironment action that executes the setup_environment WASM API.
      • Added InstallDependencies action that executes the install_dependencies WASM API.
    • When running tasks:
      • Extend the command/script with additional parameters before executing.
      • Inject dependency and lock information into the hash.
    • With Docker:
      • Updated docker prune to utilize the new WASM APIs for toolchain plugins.
  • Added --host and --port options to moon action-graph, moon task-graph, and
    moon project-graph.
  • Added --stdin option to moon ci and moon run, which will allow touched files to be passed
    via stdin, instead of running VCS commands to determine them.
    • This is a follow-up fix to the revert in a previous version. This functionality is now opt-in
      instead of the default, to avoid problematic edge cases.
  • Updated and improved remote caching:
    • Added an unstable_remote.cache.verifyIntegrity setting, that will verify the digest of
      downloaded blobs to ensure they aren't corrupted or incomplete. Will degrade performance but
      ensure reliability.
    • Added a file rollback mechanic to that will be triggered when hydration fails part way and
      written files need to be removed.
    • Updated blob existence checks to be batched and parallelized.
    • Can now be enabled entirely through environment variables.
  • Updated and improved code generation:
    • Added support for array and object variable types in template.yml. The values must be JSON
      compatible.
    • Updated generator.templates to support https:// URLs that point to an archive that can be
      unpacked.
  • Removed the restriction around moon.{yml,pkl} not being allowed as a task input. However, will
    not be included when using **/*.

🐞 Fixes

  • Fixed an issue where terminal prompt validation would not trigger.
  • Fixed an issue with remote cache hydration where multiple files with the same blob hash would fail
    to write them all.
  • Fixed an issue where changing args or env of a task dependency would not invalidate its cache.
  • Fixed an issue where environment variables passed on the command line would not overwrite task
    env.
  • Fixed tag-based task dependencies not creating implicit project dependencies.
  • Fixed some task/command argument quoting issues.

🧩 Plugins

  • Added new toolchain WASM APIs.
    • extend_project_graph - Extend projects with toolchain specific info.
    • extend_task_command - Extend the command child process with parameters.
    • extend_task_script - Extend the script child process with parameters.
    • locate_dependencies_root - Locate the package dependencies workspace root.
    • parse_manifest - Parse a manifest file to extract dependencies.
    • parse_lock - Parse a lock file to extract resolved dependencies.
  • WASM
    • Added InstallDependenciesInput.packages and production fields.
    • Added InstallDependenciesOutput.operations field.
    • Added PruneDockerInput.projects and root fields.
    • Added PruneDockerOutput.
    • Added SetupEnvironmentOutput.operations field.
    • Added SetupToolchainOutput.operations field.
    • Added SyncWorkspaceInput.toolchain_config field.
    • Added TeardownToolchainInput.version field.

⚙️ Internal

  • Updated Rust to v1.87.0.
  • Updated proto to v0.49.1 (from 0.47.11).

v1.35.7

13 May 19:32
Compare
Choose a tag to compare

🐞 Fixes

  • Reverted moon ci and moon run accepting touched files via stdin, as it's causing issues in CI
    environments. Will revisit for the next release.

v1.35.6

09 May 18:03
Compare
Choose a tag to compare

🚀 Updates

  • Updated moon run to support passing touched files via stdin.
  • Updated commands that wait for stdin to continue after 10 seconds if nothing was received.

🐞 Fixes

  • Fixed an issue where Git v2 would error loading submodules that haven't been checked out yet.
  • Fixed an issue with remote cache hydration that would leave around stale artifacts.
  • Fixed an issue where parallel persistent tasks wouldn't prefix output.

v1.35.5

05 May 21:39
Compare
Choose a tag to compare

🐞 Fixes

  • Potential fix for affected dependencies in the action pipeline not running and failing with a
    "missing hash" error.
  • Potential fix for "Bun" and "Node with Bun as a package manager" both installing dependencies in
    parallel and colliding.
  • Fixed an issue where downloading an invalid remote cache would not abort the hydrate process.

v1.35.4

01 May 17:48
Compare
Choose a tag to compare

🚀 Updates

  • Updated remote caching to error if an output file is a symlink to a file outside of the workspace.

🐞 Fixes

  • Fixed an issue with priority tasks where dependencies of the task may sometimes not run in the
    correct order in the pipeline.
  • Fixed an issue where task affectedFiles and runFromWorkspaceRoot would pass invalid relative
    file paths.
  • Fixed an issue where running tasks for custom plugins would trigger a panic.

v1.35.3

30 Apr 05:27
Compare
Choose a tag to compare

🚀 Updates

  • Updated remote uploads/downloads to abort when receiving a ctrl+c.

🐞 Fixes

  • Fixed an issue where interrupting (ctrl+c) a task that exits with a 0 code would treat is as
    succesful, resulting in an invalid cache.

v1.35.2

29 Apr 05:07
Compare
Choose a tag to compare

🚀 Updates

  • Improved bare repository support for Git v2.
  • Updated moon ci to support passing touched files via stdin.

🐞 Fixes

  • Fixed the faster/new glob implementation not filtering out hidden directories. This should now
    work like the old implementation.
  • Fixed the new Git v2 not working correctly for synced hooks and worktrees.