Announcing GoReleaser v2.10
This version introduces the new Homebrew Casks feature, an experimental MCP server, plus many other small improvements.
Homebrew Casks
Historically, the brews section was kind of a hack.
In Homebrew, Formulas are supposed to be used to build something from source,
and then install it.
We were leveraging it to install something that was already built elsewhere.
But no more!
Thanks to the help of Sean Molenaar from the
Homebrew team, this version introduces a new
homebrew_casks section that does the
right thing!
You can follow the migration guide to learn how to
adjust your configuration, but, in most cases, you only need to rename brews
to homebrew_casks and that’s it.
For instance, GoReleaser’s own configuration:
brews:
- repository:
owner: goreleaser
name: homebrew-tap
directory: Formula
goarm: "7"
homepage: https://goreleaser.com
description: Release engineering, simplified
license: MIT
test: |
system "#{bin}/goreleaser -v"
conflicts:
- goreleaser-pro
extra_install: |-
bash_completion.install "completions/goreleaser.bash" => "goreleaser"
zsh_completion.install "completions/goreleaser.zsh" => "_goreleaser"
fish_completion.install "completions/goreleaser.fish"
man1.install "manpages/goreleaser.1.gz"Caution
Signing and Notarizing
If you don’t currently sign and notarize your binaries, you might also need to add a post install hook to remove the quarantine bit.
All that being said, the old brews section is deprecated and should be
removed in our next major (v3, not planned date yet) unless someone finds a big
reason not to.
And again, thanks to Sean for all the help and feedback given! You rock!
MCP server
As an experiment, we now ship a MCP server. It doesn’t do a lot - yet, but I think that, as AI grows, it might get more features and become increasingly more useful.
You can use it with any client that supports MCP, for instance, for Claude
Desktop, you can add this to your claude_desktop_config.json:
{
"mcpServers": {
"goreleaser": {
"command": "goreleaser",
"args": [ "mcp" ]
}
}Or, with mods (running from main):
mcp-servers:
goreleaser:
command: goreleaser
args:
- mcpOr, you can add it to your tool of choice. Basically, just call goreleaser mcp
and that’s it.
We’re also very interested in other tools GoReleaser MCP can provide. Feel free to hop in our discussion and give whatever feedback or ideas you have!
Other smaller changes
- pro:
npmsgot aurl_templatefield - pro: improved error handling for Cloudsmith
- ko: allow to specify the local domain for local registries
- nfpm: allows to set RPM’s build host
- sbom: templeteable
disablefield - bun, deno: fixed duplicated build flags
- homebrew, nix: support more archive formats
Other news
- GoReleaser now has ~14.7k stars and 433 contributors! Thanks, everyone!
- We eventually discuss new features in our Discord server. Join the conversation!
- nFPM had new releases as well, check it out.
Download
You can install or upgrade using your favorite package manager, or see the full release notes and download the pre-compiled binaries from GitHub:
Install v2.10.0 (OSS) v2.10.0 (Pro)
Upgrading with Homebrew
If you installed GoReleaser from our tap, this one time you’ll need to:
brew uninstall goreleaser/tap/goreleaser
brew install --cask goreleaser/tap/goreleaserHelping out
You can help by reporting issues, contributing features, documentation improvements, and bug fixes. You can also sponsor the project, or get a GoReleaser Pro license.