Skip to content

Releases: moonrepo/moon

v1.38.2

02 Jul 03:11
Compare
Choose a tag to compare

🚀 Updates

  • More plugin pre-loading improvements.

🐞 Fixes

  • Potential fix for duplicate nodes in the action graph.
  • Potential fix for the node platform panicing for a missing package manager.
  • Potential fix for a fs rename error when installing proto.
  • Fixed a panic that would occur during moon ci job calculation.

v1.38.1

01 Jul 04:22
Compare
Choose a tag to compare

🚀 Updates

  • Added a new setting for toolchain plugins, versionFromPrototools, which controls how we inherit
    a version from the root .prototools file. By default this is enabled, but can be disabled, and configured with
    a string if the IDs don't match.
  • Added support for toolchain plugins to replace/wrap a task script in the extend_task_script WASM
    API.
  • Updated toolchain setup to preload the proto WASM plugin. This should help to alleviate network
    race conditions.
  • Updated moon setup to also install toolchain plugins.

🐞 Fixes

  • Fixed an issue where toolchain plugins do not inherit versions from .prototools.
  • Fixed an issue where a file lock would be created for proto installation, even when it didn't need
    to be installed.
  • Fixed an issue where moon docker prune would force install all toolchains. If you were relying
    on this functionality, run moon docker setup instead.

🧩 Plugins

  • WASM API
    • Added ExtendTaskScriptOutput.script field.

v1.38.0

24 Jun 21:43
Compare
Choose a tag to compare

💥 Breaking

  • WASM API
    • Renamed RegisterToolchainOutput.lock_file_name to RegisterToolchainOutput.lock_file_names
      and its type to Vec<String>.
    • Renamed RegisterToolchainOutput.manifest_file_name to
      RegisterToolchainOutput.manifest_file_names and its type to Vec<String>.

🚀 Updates

  • Added a new Go toolchain implementation, powered entirely by our new WASM plugin system. It can be enabled with the unstable_go identifier.
    • Supports tiers 1, 2, and 3!
    • Supports Go workspaces via go.work files.
    • Extracts project dependencies and relationships from go.mod files.
    • Extracts version and lockfile information from go.sum and go.work.sum files.
    • Basic vendor support (go mod vendor) during Docker prune.
  • Added new tools for moon mcp.
    • get_touched_files - Gets touched files between base and head.
    • sync_projects - Runs the SyncProject action for one or many projects.
    • sync_workspace - Runs the SyncWorkspace action.
  • Added new moon toolchain command and sub-commands.
    • Add a toolchain to .moon/toolchain.yml with moon toolchain add.
    • View information about a toolchain plugin with moon toolchain info.
  • Added support for terminal desktop notifications. Can be enabled with the new
    notifier.terminalNotifications setting in .moon/workspace.yml.
  • Added a notifier.webhookAcknowledge setting, that ensures webhooks resolve with a 2xx status
    code.
  • Updated project graph invalidation to take manifests from toolchain plugins into account.

🐞 Fixes

  • Fixed an issue with task output hydration that would sometimes fail with a permission denied error
    when cleaning stale files.

🧩 Plugins

  • Updated rust_toolchain to v0.2.0.
    • Cached the globals bin directory when extending task commands/scripts.
    • Task hashing now includes the host OS, arch, and libc.
  • WASM API
    • Added LocateDependenciesRootInput.toolchain_config field.
    • Added PruneDockerInput.toolchain_config field.
    • Added ScaffoldDockerInput.toolchain_config field.

⚙️ Internal

  • Updated proto to v0.50.1 (from 0.49.4).

v1.37.3

17 Jun 17:12
Compare
Choose a tag to compare

🐞 Fixes

  • Fixed an issue where git:// based code generation couldn't checkout a specific commit.
  • Fixed incorrect casing for the moon migrate --skipTouchedFilesCheck option.

v1.37.2

15 Jun 18:54
Compare
Choose a tag to compare

🚀 Updates

  • Updated moon ci to always run the sync workspace action, even when no tasks are affected.

🐞 Fixes

  • Fixed an issue where git commands would attempt to execute, even when no git binary was found.
  • Fixed an issue where moon docker scaffold would over scaffold the same project multiple times.
  • Fixed an issue where proto would be installed when MOON_TOOLCHAIN_FORCE_GLOBALS is set.
  • Reworked the git commands that are executed for git:// based code generation.

⚙️ Internal

  • Updated dependencies.

v1.37.1

06 Jun 01:57
Compare
Choose a tag to compare

📚 Documentation

  • Updated the MCP documentation.
    • Added Zed support.
    • Added an llms.txt file to our website.
    • Updated code examples to include the MOON_WORKSPACE_ROOT environment variable.

🐞 Fixes

  • Fixed environment variable inheritance for config settings not always working correctly.

🧩 Plugins

  • Updated rust_toolchain to v0.1.2.
    • Fixed cargo-binstall failing in CI when the binary already exists.
  • WASM API
    • Added SetupEnvironmentInput.globals_dir field.

⚙️ Internal

  • Updated dependencies.

v1.37.0

04 Jun 00:45
Compare
Choose a tag to compare

🔖 RFCs

  • Task input additions and enhancements: #1985

🚀 Updates

  • Added a new Rust toolchain implementation, powered entirely by our new WASM plugin system. Since toolchain plugins are new and unstable, this Rust toolchain can be enabled with the unstable_rust identifier (instead of rust).
    • Supports multiple Cargo workspaces, and workspaces can exist at any depth.
    • More accurate project relationship detection.
    • New addMsrvConstraint setting.
    • Better Docker prune implementation.
    • Improved manifest/lockfile parsing.
    • Cargo/rustup commands are now hashed and cached.
  • Added an unstable moon mcp command, which starts an MCP (model context protocol) stdio server
    that responds to AI agent requests.
    • Supports the following tools: get_project, get_projects, get_task, get_tasks.
    • We will be expanding this with more functionality over time, like run_task, etc.
  • Updated webhook events.
    • Added environment.initializing and environment.initialized events.
    • Added root and toolchain fields to dependencies.installing and dependencies.installed
      events.
    • Deprecated the runtime field in all events. Will be removed once toolchain plugins are
      complete.

🧩 Plugins

  • Added test utilities for testing toolchain plugin functions.
  • Improved cache handling and invalidation for SetupEnvironment and InstallDependencies actions.
  • WASM
    • Reworked all virtual path fields in "output" structs to greatly reduce the JSON payload.
    • Reworked the ManifestDependency type to be an enum instead of a struct.
    • Added ProjectDependency.via field.

⚙️ Internal

  • Updated proto to v0.49.4 (from 0.49.1).
  • Updated dependencies.

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.