91 releases (20 breaking)
Uses new Rust 2021
0.21.0 | May 26, 2022 |
---|---|
0.20.5 | Apr 13, 2022 |
0.20.3 | Mar 7, 2022 |
0.18.8 | Dec 31, 2021 |
0.2.1 | Mar 17, 2016 |
#122 in Cargo plugins
3,270 downloads per month
Used in fewer than 8 crates
135KB
3.5K
SLoC
cargo release
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
Install
Current release: 0.21.0
cargo install cargo-release
Usage
cargo release [level]
- See the reference for more on
level
, other CLI arguments, and configuration file format. - See also the FAQ for help in figuring out how to adapt cargo-release to your workflow.
Prerequisite
- Your project should be managed by git.
Dry run
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.
License
Licensed under either of
- Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT) at your option.
Contribution
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.
Dependencies
~19MB
~446K SLoC