This release introduces support to Python builds through Poetry and UV!

Let’s dig into some of the news!

Python builds

You can no build Python packages with UV or Poetry. You can run goreleaser init in your Python project, and it should generate the appropriate .goreleaser.yml for you, but, basically, all you need is this:

builds:
  - builder: uv
    buildmode: wheel

You can also change uv to poetry if you want that instead, and you can also add another build instance with buildmode: sdist if you need it.

You can see a full example here, as well as docs for both UV and Poetry.

Other smaller changes

Python builds are the biggest news of this release, but we still put another couple of good improvements in there:

  • pro: license checks now properly handle canceled subscriptions;
  • pro: custom publishers can now publish MSIs, DMGs, and SBOMs;
  • templates: many checksum functions, so you can do things like {{ sha256 .ArtifactPath }};
  • ko: you can now pass sbomDir to your Ko configurations;
  • winget: you can now set privacy_url and installation_notes;
  • fix: GoReleaser will now issue better warnings when your configuration produces many artifacts with the same file path;

Gophercon LATAM

I’ll be speaking at Gophercon LATAM 2025 next week! Come chat if you go, I’ll have stickers! :)

Other news

  • GoReleaser now has ~14.6k stars and 428 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.9.0 (OSS) v2.9.0 (Pro)

Helping 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.

Get the Pro license Sponsor the project