Skip to content

Releases: moonrepo/moon

v1.33.0

13 Mar 18:12
Compare
Choose a tag to compare

💥 Breaking

  • Changed the way to disable the TypeScript toolchain in moon.yml.
    # Before
    toolchain:
      typescript:
        disabled: true
    # After
    toolchain:
      typescript: false # or null
  • Removed the --include option from moon docker scaffold (it's been long deprecated). Use the
    docker settings instead.

🚀 Updates

  • The TypeScript toolchain is now powered by a WASM plugin. This is our
    first step in supporting plugins in core. We chose TypeScript as our 1st plugin because it was the
    simplest of all the toolchains, and primarily was used for project syncing.
    • Plugins must be downloaded from the internet, so a connection is required on the first run. The
      plugin is then cached locally.
    • Most of the code had to be rewritten but we tried to keep as much parity as possible. Please
      report an issues or differences you encounter.
    • Because TypeScript is now a "true" toolchain, it will appear in the toolchains list for projects
      and tasks. This is required since it runs operations in the context of the plugin.
    • All typescript settings in .moon/toolchain.yml can now be defined as overrides in
      moon.yml.
  • Added new toolchain plugin integrations for specific features.
    • Integrated into the SyncWorkspace and SyncProject actions.
    • Integrated into all moon docker commands.
    • Integrated into the task hashing process.
  • Added a new moonx executable, which is a shorthand for moon run.
    • Right now the implementation uses Bash/PowerShell shims, but will be migrated to a true binary
      executable once we rework our release process.
    • The shims are dynamically created the first time moon runs, relative to the executed moon
      binary.
  • Added support for moon run ~:build, which will run the build task in the closest project
    (traversing upwards).
  • Added $XDG_DATA_HOME support when detecting the moon store. Will be used if $MOON_HOME is not
    set, and will fallback to $HOME/.moon.
  • Added elapsed/timing information to child processes and WASM calls within logs.
  • Improved the handling of CTRL-C, CTRL-BREAK, and other signals on Windows.
  • Updated moon init with toolchain plugin support.
  • Updated toolchain.default in moon.yml to support a list of IDs.
  • Updated unstable_remote.auth.headers to support environment variable interpolation.
  • Updated generated JSON schemas at .moon/cache/schemas to dynamically include toolchain plugin
    configuration.
  • Updated file hashing (via git hash-object) to continously pipe stdin to avoid hanging processes.
  • Deprecated hasher.batchSize in .moon/workspace.yml.

🧩 Plugins

  • Added new toolchain WASM APIs.
    • register_toolchain - Registers the toolchain and provide metadata for detection and other
      purposes.
    • initialize_toolchain - Provides prompts to use during moon init to gather settings values.
    • define_toolchain_config - Defines a configuration schema for use within JSON schemas.
    • define_docker_metadata - Defines metadata related to docker commands.
    • hash_task_contents - Injects content into the task hashing process.
    • prune_docker - Custom operations to run during docker prune.
    • scaffold_docker - Custom operations to run during docker scaffold.
    • sync_project - Runs syncing operations per project (during the SyncProject action).
    • sync_workspace - Runs syncing operations at the workspace root (during the SyncWorkspace
      action).
  • Updated download_extension to v0.0.9.
  • Updated migrate_nx_extension to v0.0.9.
    • Will no longer remove Nx configs. Pass --cleanup to remove them.
  • Updated migrate_turborepo_extension to v0.1.6.
    • Will no longer remove Turborepo configs. Pass --cleanup to remove them.

🐞 Fixes

  • Fixed an issue where file hashing (git hash-object) would hang when there are too many files
    being hashed.

⚙️ Internal

  • Updated proto to v0.47.4 (from 0.45.2).
  • Updated Rust to v1.85.
  • Updated dependencies.
  • Removed JSON schemas from the GitHub release.

v1.32.9

10 Mar 16:54
Compare
Choose a tag to compare

🐞 Fixes

  • Reverted "Fixed an issue where task output wasn't captured for the "review" section in a run
    summary." as it caused a regression.

v1.32.8

04 Mar 00:55
Compare
Choose a tag to compare

🐞 Fixes

  • Fixed an issue where task output wasn't captured for the "review" section in a run summary.
  • Fixed an issue where a task with a script would always be forced to the "system" toolchain.

v1.32.7

26 Feb 19:25
Compare
Choose a tag to compare

🚀 Updates

  • Updated moon task-graph, moon-project-graph, and moon action-graph to request a port
    dynamically, instead of defaulting to 8000.

🐞 Fixes

  • Fixed an issue where moon *-graph commands could not be CTRL+C'd.
  • Fixed an issue where Git based template locations would fail if the initial git clone failed.

v1.32.6

21 Feb 17:44
Compare
Choose a tag to compare

🐞 Fixes

  • Fixed an issue where aliases would not be inherited for some toolchains.
  • Fixed some token variable interpolation for paths on Windows.

v1.32.5

14 Feb 23:48
Compare
Choose a tag to compare

🚀 Updates

  • Updated Python uv with new features:
    • Project aliases are inferred from project.name in pyproject.toml.
    • Implicit project dependencies are inferred from project.dependencies in pyproject.toml.
      • Requires a bare identifier with no version/url/origin markers.
      • Currently does not support tool.uv or workspaces.

🐞 Fixes

  • Fixed an issue where no touched files would be found when pushing commits on the default branch.
  • Fixed an issue where pyproject.toml or uv.lock would sometimes not be parsed.

v1.32.4

11 Feb 20:34
Compare
Choose a tag to compare

🐞 Fixes

  • Fixed an issue where a project could be inserted into the project graph multiple times.
  • Fixed an issue where touched files would sometimes not be available outside of affected scopes.

v1.32.3

11 Feb 00:25
Compare
Choose a tag to compare

🐞 Fixes

  • Fixed an issue where moon setup wouldn't load configuration.
  • Fixed an issue where moon docker scaffold would unexpectedly install the toolchain languages.
  • Fixed an issue where moon docker scaffold would not copy uv.toml and uv.lock files.
  • Fixed an issue where changing python.version wouldn't regenerate the Python virtual environment.

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.