This repository currently uses a straightforward manual release process for the published txtplot crate.
- Versioning follows Semantic Versioning.
Cargo.tomlis the canonical version source.- Release tags should use the
vX.Y.Zform.
Update the crate version in Cargo.toml.
[package]
version = "0.1.0"If the release changes public behavior, review and update:
README.mdGUIDE.md- examples in
examples/ - any release notes or changelog material you keep externally
Use the existing workflow commands before tagging a release:
just check
just flake-checkIf the flake inputs changed as part of the release, refresh the lockfile:
nix flake lockCreate a release commit after the version and docs are in place.
git add Cargo.toml README.md flake.nix flake.lock
git commit -m "chore: release v0.1.0"git tag v0.1.0
git push origin main --tagsIf this release is intended for crates.io:
cargo publishAfter publication:
- Verify the new version appears on crates.io
- Verify the git tag matches the published version
- Confirm the README and examples still describe the released API accurately
- Keep release commits atomic.
- Prefer doc updates in the same release slice instead of fixing documentation drift later.
- If automated release infrastructure is introduced later, update this document rather than letting the manual checklist silently rot.