Install dependencies
$ npm install -g conventional-changelog-cli
$ cd rust-multihash
$ conventional-changelog --preset conventionalcommits
Add the output of that to CHANGELOG.md
. Write a human-centric summary of changes and add migration instructions for breaking changes if needed.
Update the linked output to reference the new version, which conventional-changelog doesn't know about:
# [](https://github.com/multiformats/rust-multihash/compare/v0.17.0...v) (2022-12-06)
becomes:
# [v0.18.0](https://github.com/multiformats/rust-multihash/compare/v0.17.0...v0.18.0) (2022-12-06)
Create a pull request with the changelog changes and the correct version bumps to the crates.
Once the PR above is merged, the crate can be published. This is done using cargo-release
.
This requires the following permissions
- on github.com/multiformats/rust-multihash
- creating tags
- pushing to
master
- on crates.io
- publish access to all published crates
Dry run
$ cargo release --workspace
Actual publishing
$ cargo release --workspace --execute