release-plz-0.3.27 is not a library.
Release-plz helps you release your Rust packages by automating:
- CHANGELOG generation (with git-cliff).
- Creation of GitHub/Gitea releases.
- Publishing to a cargo registry (
crates.io
by default). - Version bumps in
Cargo.toml
.
Release-plz updates your packages with a release Pull Request based on:
- Your git history, following Conventional commits.
- API breaking changes (detected by cargo-semver-checks).
🤔 What's a Release PR?
Release-plz maintains Release PRs, keeping them up-to-date as you merge additional commits. When you're ready to create a release, simply merge the release PR.
When you merge the Release PR (or when you edit the Cargo.toml
versions by yourself),
release-plz:
- Creates a git tag named
<package_name>-v<version>
(e.g.tokio-v1.8.1
). - Publishes the package to the cargo registry by running
cargo publish
. - Publishes a GitHub/Gitea release based on the git tag.
📚 Docs
Learn how to use release-plz in the mdbook docs.
🤖 Running release-plz
There are two ways to run release-plz:
- GitHub Action: Run Release-plz from CI. The action both updates and releases your packages.
- CLI: Run release-plz from your terminal or other CI systems (Gitea supported).
💖 Users
This search and this page show the public GitHub repositories using release-plz in CI.
🌓 Similar projects
- release-please: release-plz is inspired by release-please, but instead of determining the next versions based on git tags, release-plz compares local packages with the ones published in the cargo registry. Plus, release-plz doesn't need any configuration and is optimized for Rust projects.
- cargo-smart-release: Fearlessly release workspace crates and with beautiful semi-handcrafted changelogs.
🙏 Credits
Parts of the codebase are inspired by: