-
Add Rustdoc root to the crate root
# -
Review the Rust API Guidelines checklist
-
Remove any
publish=falsefromCargo.toml -
Add
version-sync = "0.9"todev-dependenciesand install theversion-sync.rstest intests/ -
Set up CI
-
Add maintenance badge to
Cargo.toml[badges.maintenance] status = "actively-developed" -
Deal with the badge display mess. Add some badges to
README.tplorREADME.md. IfREADME.tpl, do not usecargo-readme's badge feature, which is currently kind of busted. [](https://github.com/GenericPerson/{{crate}}/actions) [](https://crates.io/crates/{{crate}}) [](https://docs.rs/{{crate}})If using
README.mddirectly, replace all instances of{{crate}}with the crate name. If you are notGenericPerson, fix that too. In general, edit to taste. -
Continue with the per-release instructions.
- Update
Cargo.tomlversion - Update
html_root_urlversion in crate root - Update
READMEversion- If using
cargo-readme, run it - Otherwise update manually
- If using
- Run
showmd README.mdto make sure it looks OK - Run
cargo doc --openand check that everything looks sane - Grep for the old version number to see if anything has been left lying around.
- Run tests to check
version-sync - Run
cargo fmt --allto check - Run
cargo clippy --allto check - Git commit the new version
- Git tag the new version
- Push the release and make sure it looks OK on Github
- Wait for Github CI to finish
- Publish to
crates.iowith--dry-runand make sure it works - Publish to
crates.io - Wait for
crates.ioto process, and check everything out