website/blog/2025-06-24_moon-v1.38.mdx
In this release, we're stoked to release the Go WASM toolchain plugin, and improved MCP/AI support!
<!--truncate-->Task inheritance is one of moon's most powerful features, allowing you to define tasks at the top-level and have them automatically inherited by projects that match certain conditions. In it's current form, task inheritance is based on the file name of the configuration file, but this approach has several limitations.
We're planning to improve task inheritance and have written up an RFC to discuss these changes. We'd appreciate any and all feedback!
Official Go toolchain support has been requested by the community for a long time now, and with the
somewhat stabilization of WASM plugins and the introduction of the
Rust toolchain in the last release, we felt it was finally time to add Go! To enable
Go, run our new command or add an unstable_go entry to
.moon/toolchain.yml.
$ moon toolchain add unstable_go
unstable_go:
version: '1.24.0'
workspaces: true
The Go toolchain releases with full tier 1, 2, and 3 support! Additionally, the following features and functionality is available when enabling the toolchain:
go.work file. Can be disabled with the
unstable_go.workspaces setting.go.mod module directive as a project alias.go.mod require directives.go.sum and go.work.sum files.GOBIN) into task command/script child processes.go install commands. Can be customized with the
unstable_go.bins setting.go mod or go work commands when installing dependencies.We hope you enjoy this new Go toolchain. With that said, we are not Go experts, and would love to hear from you on what works, what doesn't, what can be improved, and what features you would like to see added!
In our last release, we introduced the moon mcp command,
offering deep editor integration with AI models like GitHub Copilot and Cursor. This release expands
on that by introducing 3 more tools to utilize:
get_touched_files - Gets touched files between base and head revisions.sync_projects - Runs the SyncProject action for one or many projects by id.sync_workspace - Runs the SyncWorkspace action.This was a feature we originally scoped out during moon's inception, almost 3 years ago, but we never got around to implementing it. However, there has been some improvements to native operating system notifications in Rust lately, so it felt like a good time to finally implement it!
And on that note, we are introducing a new
notifier.terminalNotifications setting that allows
you to receive terminal notifications for pipeline events.
notifier:
terminalNotifications: 'failure'
View the official guide for more information!
View the official release for a full list of changes.
moon toolchain command and sub-commands.
.moon/toolchain.yml with moon toolchain add.moon toolchain info.notifier.webhookAcknowledge setting, that ensures webhooks resolve with a 2XX status
code.With toolchains plugins being stabilized more, we'd like to focus on some other areas.
args)