Suture v2.9.0 Shipping Checklist
Prerequisites
- [ ] Rust 1.85+ installed
- [ ] GitHub CLI (
gh) authenticated
- [ ] crates.io token (
cargo login)
- [ ] Docker (for MinIO integration testing, optional)
1. Tag and Release
- [ ] Update VERSION.md with final test count and date
- [ ]
git tag v2.9.0
- [ ]
git push origin main --tags
- [ ] Verify GitHub Actions CI passes on tag
- [ ] Verify GitHub Actions Release builds all 5 binaries
- [ ] Download and test Linux x86_64 binary
- [ ] Download and test macOS binary (if available)
- [ ] Verify release notes on GitHub
2. crates.io Publishing
- [ ]
cargo login with crates.io token
- [ ] Follow
packaging/PUBLISH.md dependency order
- [ ]
cargo publish -p suture-common (first)
- [ ]
cargo publish -p suture-core
- [ ] Continue through dependency chain...
- [ ]
cargo publish -p suture-cli (last)
- [ ] Verify
cargo install suture-cli works
3. Package Managers
- [ ] Test Homebrew:
brew install --build-from-source packaging/homebrew/suture.rb
- [ ] Test AUR:
makepkg -si in packaging/aur/
- [ ] Create AUR repository and push PKGBUILD
4. GitHub Pages
- [ ] Go to repo Settings → Pages
- [ ] Source: Deploy from a branch →
docs folder
- [ ] Save and verify https://wyattau.github.io/suture/ loads
5. Editor Plugins
- [ ] VS Code:
cd vscode-extension && npm install && npm run compile
- [ ] Package:
vsce package
- [ ] JetBrains: Open in IntelliJ IDEA, verify plugin compiles
- [ ] Neovim:
:packadd path/to/neovim-plugin/
6. Announcements
- [ ] Share release notes on social media / communities
- [ ] Post to r/rust, r/git, Hacker News
- [ ] Update project README badges
Post-Release
- [ ] Monitor for issues and bug reports
- [ ] Respond to community feedback
- [ ] Plan v2.10.0 based on feedback