StGit Release Checklist
=======================

0. Test

   - All functional tests should be passing (`make test`)
   - All lints should be passing (`make lint`)

1. Update CHANGELOG.md

   - Look at git log from last release to HEAD. Identify user-facing
     changes, but ignore internal-only changes such as refactorings.
   - Add changes to *Removed*, *Added*, *Changed*, and *Fixed* lists in
     CHANGELOG.md.
   - Change "[Unreleased]" to reflect new release version and date.
   - Commit updated CHANGELOG.md

2. Update version in Cargo.toml

   - Update the version field: `version = "X.Y.Z"`

3. Create new tag

   - `git tag --sign -m 'Release vX.Y.Z' vX.Y.Z`

4. Update stacked-git.github.io

   - In stacked-git.github.io repo, `make sync` to sync updated
     changelog and man pages into website.
   - Review home page for anything that should be updated in conjunction
     with the StGit release.

5. Push changes upstream

   - Push new tag and master branch upstream
   - Push stacked-git.github.io changes

6. Publish GitHub Release

   - Draft release is created for new tags.
   - Change release title to "Stacked Git X.Y.Z"

7. Publish to crates.io

   - `cargo publish`

8. Review and update these release instructions
