| name | prepare-release |
| description | Prepare a new version release with changelog and version bumps |
| license | MIT OR Apache-2.0 |
Prepare Release
Steps to prepare a new skilo release.
Checklist
- All tests pass
- No Clippy warnings
- Update version in
Cargo.toml
- Update
Cargo.lock
- Update
CHANGELOG.md
- Update the supported versions table in
.github/SECURITY.md
- Find and update version references in docs
- Commit changes (including
Cargo.lock)
- Create git tag
Version Bump
Update version in Cargo.toml:
[package]
version = "X.Y.Z"
After updating Cargo.toml, run cargo check to update Cargo.lock:
cargo check
Changelog Format
Follow Keep a Changelog format:
## [X.Y.Z] - YYYY-MM-DD
### Added
- New features
### Changed
- Changes to existing functionality
### Fixed
- Bug fixes
Update Version References in Docs
Search for hardcoded version numbers in documentation and update them:
rg "skilo@\d+\.\d+\.\d+" --type md
rg "v\d+\.\d+\.\d+" README.md
Common locations:
README.md - CI example (cargo install skilo@X.Y.Z)
- Installation instructions
- Badge URLs
Update Supported Versions in SECURITY.md
.github/SECURITY.md declares which release series receives security fixes.
Bump its Supported Versions table so the new minor series is marked
supported and any series that is no longer maintained is dropped:
| Version | Supported |
| ------- | ------------------ |
| 0.11.x | :white_check_mark: |
| < 0.11 | :x: |
Release Commands
cargo test && cargo clippy
git add -A
git commit -m "chore: release vX.Y.Z"
git tag -a vX.Y.Z -m "Release vX.Y.Z"
git push && git push --tags
Publishing to crates.io
cargo publish --dry-run
cargo publish