Skip to content

Releases: moonrepo/moon

v1.32.2

07 Feb 03:10
Compare
Choose a tag to compare

🐞 Fixes

  • Fixed an issue where NO_COLOR or FORCE_COLOR would be overwritten for task child processes.

⚙️ Internal

  • Updated proto to v0.45.2 (from 0.45.1).
  • Updated dependencies.

v1.32.1

04 Feb 20:58
Compare
Choose a tag to compare

🚀 Updates

  • Added a runner.killProcessThreshold setting to control the threshold in which to force kill
    child processes when a signal is received. Defaults to 2 seconds.

🐞 Fixes

  • Fixed an issue where bash and batch project language's would not inherit tasks.
  • Fixed some bun.lock parsing issues.

v1.32.0

03 Feb 00:19
Compare
Choose a tag to compare

🚀 Updates

  • Added unstable support for multiple package workspaces when installing dependencies and resolving
    lockfiles.
    • For example, you can now have multiple yarn.lock files throughout the repository, allowing for
      multiple Yarn/Node workspaces.
  • Updated Pkl (.pkl) based configuration to always be enabled, and is no longer hidden behind an
    experimental flag.
  • Updated our unstable remote service (Bazel RE API) with new functionality:
    • You can now use http(s) protocols for gRPC servers, instead of just grpc(s).
    • Added an unstable_remote.api setting, which can be used to inform the server's API format.
      Defaults to grpc.
    • Added an unstable_remote.auth setting, which can be used for HTTP Bearer/token Authorization
      based endpoints. Can also be used to set headers for all requests.
    • Added support for Depot cloud-based caching: https://depot.dev/docs/cache/overview
    • Added support for the HTTP protocol: https://bazel.build/remote/caching#http-caching
    • Added support for the ByteStream API.
    • Added timeout and concurrency limit to clients.
    • Added a MOON_DEBUG_REMOTE environment variable, which can be used to debug internal errors for
      diagnosing connection/integration issues.
    • Improved handling of TLS/mTLS connections.
  • Improved the Bun toolchain.
    • Added support for the new v1.2 bun.lock file. We do our best to detect this, but we suggest
      configuring --save-text-lockfile.
  • Improved the Deno toolchain.
    • Added support for Deno v2 and deno install. Will now run this command instead of deno cache.
    • Added support for v3 and v4 lockfiles (we now use the deno_lockfile crate).
    • Added basic support for workspaces.
    • Added deno.installArgs setting.
  • Improved the Python toolchain.
    • Added unstable uv support. Can be enabled with the new python.packageManager and python.uv
      settings.
      • Right now, has basic toolchain support, including dependency installs and virtual
        environments.
    • Renamed python.rootRequirementsOnly to python.rootVenvOnly (old name still works).
    • Will now inherit versions from the root .prototools.
  • Improved the Rust toolchain.
    • The root-level project is now properly taken into account when detecting if a project is within
      the Cargo workspace.
    • Project dependencies (dependsOn) are now automatically inferred from Cargo.toml
      dependencies.
  • Reworked child process handling to better handle signals and shutdown accordingly. Additionally,
    when the pipeline receives a signal, we now display the status that shutdown the pipeline in the
    summary.
  • Reworked the new task inferInputs option to not infer environment variables from popular CI/CD
    providers, as those values constantly change, causing tasks to always be affected. If you would
    like to reference these values, add them as an explicit inputs.

🐞 Fixes

  • Fixed lots of issues around remote caching. Should be "stable" now.

⚙️ Internal

  • Updated Rust to v1.84.1.

v1.31.3

24 Jan 21:53
Compare
Choose a tag to compare

🐞 Fixes

  • This patch upgrades proto to the latest version to fix some bin locating issues that you may have
    encountered if you have proto v0.45 installed on your system, which conflicts with the proto v0.44
    that moon installs.

⚙️ Internal

  • Updated proto to v0.45.1 (from 0.44.4).

v1.31.2

13 Jan 00:37
Compare
Choose a tag to compare

🚀 Updates

  • Added file locks for certain operations to avoid race collisions when multiple moon commands are
    ran in parallel.

🐞 Fixes

  • Fixed an issue where inferred inputs would include directories that would log a warning and fail
    to be hashed.

⚙️ Internal

  • Updated Rust to v1.84.

v1.31.1

08 Jan 01:44
Compare
Choose a tag to compare

🐞 Fixes

  • Fixed NO_COLOR and FORCE_COLOR being unexpectedly set in some situations.
  • Fixed an issue where a custom project language would no longer inherit global tasks of the same
    name.

⚙️ Internal

  • Updated proto to v0.44.4 (from 0.44.2).

v1.31.0

06 Jan 18:53
Compare
Choose a tag to compare

💥 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 in moon.yml, use toolchain.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.
    • Deprecated the platform task setting, use toolchain instead.
    • Deprecated the taskPlatform query field, use taskToolchain instead.
    • Deprecated the --platform option for moon query tasks, use --toolchain instead.
    • Deprecated the $taskPlatform token, use $taskToolchain instead.
  • Added the ability to run targets in moon run and moon ci using a glob-like syntax.
    • For example: :build-*, app-*:build, #tag-{foo,bar}:build, etc.
  • Added a --no-bail flag to moon run, that will continue running tasks even when a task fails.
  • Added glob support (and glob://) to generator.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 as true).
  • Updated task inputs to automatically be inherited from file group token functions used within the
    task's script, command, args, or env.
  • Updated the extends setting in .moon/workspace.yml, toolchain.yml, and tasks.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 to zstd 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.
  • 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+cing multiple persistent tasks would sometimes leave them running in
    the background.

⚙️ Internal

  • Updated proto to v0.44.2 (from 0.44.1).
  • Updated dependencies.

v1.30.6

28 Dec 23:15
Compare
Choose a tag to compare

🐞 Fixes

  • Fixed an issue where python venv would fail to find an applicable Python version.
  • Fixed an issue with PowerShell Git hooks not bubbling up exit codes of failed commands.
  • Fixed an issue where Git submodules/worktrees would point to the wrong hooks folder.

⚙️ Internal

  • Updated proto to v0.44.1 (from 0.43.1).

v1.30.5

10 Dec 00:15
Compare
Choose a tag to compare

🐞 Fixes

  • Fixed Python virtual env bin path not being available for tasks when python.version is not
    defined.

⚙️ Internal

  • Updated proto to v0.43.1 (from 0.43.0).
  • Updated dependencies.

v1.30.4

09 Dec 00:56
Compare
Choose a tag to compare

🐞 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 to false by default.
    • The venv root is now the location of a found requirements.txt, otherwise the package root, or
      workspace root if python.rootRequirementsOnly is enabled.
    • Tasks will now inherit the correct venv paths in PATH.