To make a new release of ndelement, follow the following steps:
-
If you are yet to make a release on your current computer, run
cargo login
and copy an API key from https://crates.io/me -
Checkout the
main
branch andgit pull
, then checkout a new branch calledrelease-v[x].[y].[z]
(where[x]
,[y]
, and[z]
are defined in the next step):git checkout main git pull git checkout -b release-v[x].[y].[z]
-
Update the version number in
Cargo.toml1. The version number has the format
[x].[y].[z]. If you are releasing a major version, you should increment
[x]and set
[y]and
[z]to 0. If you are releasing a minor version, you should increment
[y]and set
[z]to zero. If you are releasing a bugfix, you should increment
[z]`. -
Commit your changes and push to GitHub, open a pull request to merge changes back into main, and merge the pull request.
-
Create a release on GitHub from the
main
branch. The release tag and title should bev[x].[y].[z]
(where[x]
,[y]
and[z]
are as in step 2). In the "Describe this release" box, you should bullet point the main changes since the last release. -
Run
cargo publish --dry-run
, then runcargo package --list
and check that no unwanted extras have been included in the release. -
If everything is working as expected, run
cargo publish
. This will push the new version to crates.io. Note: this cannot be undone, but you can usecargo yank
to mark a version as unsuitable for use. -
Open a pull request to
main
to update the version number inCargo.toml
to[x].[y].[z]-dev
-
Add the release to the next issue of Scientific Computing in Rust Monthly