Skip to main content

RELEASE-PLZ

Release-plz Logo

Release Rust crates from CI with a Release PR

Changelog generation 📝

Release-plz updates your changelogs with git-cliff using Keep a changelog format by default.

Version bump ⤴️

Release-plz bumps the versions of your crates according to Semantic Versioning, based on Conventional Commits and API breaking changes detected by cargo-semver-checks.

Release PR 🤖

Release-plz opens a PR with the changes to CHANGELOG.md, Cargo.toml and Cargo.lock. When you merge the PR, release-plz creates the tag and the release on GitHub/Gitea and publishes the crate to crates.io.

It works locally, too 👩‍💻

1️⃣ Install Release-plz
$ cargo install release-plz

2️⃣ Go to project
$ cd path/to/your/project

3️⃣ Tell Release-plz to update Cargo.toml, Cargo.lock and CHANGELOG.md
$ release-plz update

4️⃣ Review the changes and commit them
$ git add . && git commit -m "chore: release"

5️⃣ Tell Release-plz to create the git tag and publish to crates.io
$ release-plz release

Loved by many Rustaceans 🦀

Luca Palmieri
Luca Palmieri@algo_luca
God bless @MarcoIeni for release-plz.
Erin Power
Erin Power@XAMPPRocky
This is a great project to contribute to, it's so incredibly valuable for other maintainers like myself to be able to automate project releases and provide a better experience for our contributors.
Predrag Gruevski
Predrag Gruevski@PredragGruevski
Release-plz will automatically run cargo-semver-checks as part of the release process. If you are in the market for a good release manager, you should check this one out; it's awesome.
Amos Wenger
Amos Wenger@fasterthanlime
As far as I can tell, release-plz (an actual Rust executable running in CI, comes with its own GitHub Action) is best-of-class.