Features
- Ensure you are in a good state for release, including:
- Right branch
- Up-to-date with remote
- Clean tree
- Supports workspaces using cargo's native flags, like --workspace
, --exclude
and --package
- Updates dependent crates in workspace when changing version
- Change detection to help guide in what crates might not need a release
- Optionally share commits
- Handles cargo publish
, tagging, and pushing
- Pre-release search and replace for custom version updates, including
- Updating changelogs
- Update tags in Dockerfile
s
- Pre-release hook for extra customization, including
- CHANGELOG generation
Current release: 0.24.2
console,ignore
$ cargo install cargo-release
console,ignore
$ cargo release [level]
level
, other CLI
arguments, and configuration file format.By default, cargo-release
runs in dry-run mode so you can safely run it and
verify what it will do.
- Increase the logging level with each additional -v
to get more details
- Speed up dry-run by skipping cargo-publish
s verify step with --no-verify
Once you are ready, pass the --execute
flag.
cargo-release's versioning tracks compatibility for the binaries, not the API. We upload to
crates.io to distribute the binary. If using this as a library, be sure to pin the version
with a =
version requirement operator.
Licensed under either of
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.