Release Process
This page documents the release process for nmrs.
Versioning
nmrs follows Semantic Versioning:
- Major (X.0.0) — breaking API changes
- Minor (0.X.0) — new features, backward-compatible
- Patch (0.0.X) — bug fixes, backward-compatible
Changelog
See nmrs/CHANGELOG.md for the full changelog.
Release Checklist
- Update version in
Cargo.toml - Update the changelog
- Run
cargo test - Run
cargo clippy - Run
cargo fmt --check - Build documentation (
mdbook buildindocs/) - Create a git tag:
git tag v2.2.0 - Push the tag:
git push origin v2.2.0 - Publish to crates.io:
cargo publish -p nmrs
Distribution Channels
| Channel | Package |
|---|---|
| crates.io | nmrs library |
API Stability
- All public types are
#[non_exhaustive]— new fields/variants can be added in minor releases - Existing API signatures are preserved across minor releases
- Deprecated items are documented and kept for at least one minor release
Next Steps
- Contributing – how to contribute
- Changelog – full version history