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 loginand copy an API key from https://crates.io/me -
Checkout the
mainbranch 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 numbers in
Cargo.toml,pyproject.tomlandREADME.md. The version numbers have 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]. -
Run
cargo publish --dry-runand fix any errors. -
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
mainbranch. 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. This will push the new version to crates.io. Note: this cannot be undone, but you can usecargo yankto mark a version as unsuitable for use. -
Open a pull request to
mainto update the version numbers inCargo.tomlandpyproject.tomlto[x].[y].[z]-dev -
Add the release to the next issue of Scientific Computing in Rust Monthly