git switch main
git pull
git status
git switch -c vX.Y.Z
bump2version --config-file .bumpversion.cfg <increment>
The increment
parameter can be:
patch
minor
major
Use the one appropriate to the version increment you're releasing.
cd questdb-rs-ffi
cargo clean
cargo build
git commit -a -m "Bump version: <current> → <new>"
git push
Replace the <current>
and <new>
placeholders!
Create and merge a PR with the same name: "Bump version: <current> → <new>"
Once the PR is merged, pull main and add the version tag:
git switch main
git pull --prune
git tag X.Y.Z
git push --tags
On that page you'll see all the previous releases. Follow their manually-written style, and note that the style differs between patch, minor, and major releases.
Ensure once more you're fully in sync with the remote repo:
git switch main
git pull
git status
Publish the crate:
cd questdb-rs
cargo publish --dry-run --token [your API token from crates.io]
cargo publish --token [your API token from crates.io]
The release is immediately visible on crates.io, but there's a delay until it becomes available on docs.rs. Watch that site and ensure it appears there.