How to issue a release in 15 easy steps

Time required: about an hour.

 1. Ensure your main branch is synced to origin:
       git pull origin main
 2. Look over whats-new.rst and the docs. Make sure "What's New" is complete
    (check the date!) and add a brief summary note describing the release at the
    top.
 3. If you have any doubts, run the full test suite one final time!
      py.test
 4. On the main branch, commit the release in git:
      git commit -a -m 'Release vX.Y.Z'
 5. Tag the release:
      git tag -a vX.Y.Z -m 'vX.Y.Z'
 6. Push your changes to main:
      git push origin main
      git push origin --tags
 7. Update the stable branch (used by ReadTheDocs) and switch back to main:
      git checkout stable
      git rebase main
      git push origin stable
      git checkout main
    It's OK to force push to 'stable' if necessary.
    We also update the stable branch with `git cherrypick` for documentation
    only fixes that apply the current released version.
 8. Build and test the release package
      python -m pip install --upgrade build twine
      rm -rf dist
      python -m build
      python -m twine check dist/*
 9. Add a section for the next release to doc/whats-new.rst.
10. Commit your changes and push to main again:
      git commit -a -m 'Revert to dev version'
      git push origin main
    You're done pushing to main!
11. Issue the release on GitHub. Open https://github.com/crusaderky/pshell/releases;
    the new release should have automatically appeared. Otherwise, click on
    "Draft a new release" and paste in the latest from whats-new.rst.
12. Use twine to register and upload the release on pypi. Be careful, you can't
    take this back!
      twine upload dist/*.tar.gz
    You will need to be listed as a package owner at
    https://pypi.python.org/pypi/pshell for this to work.
13. Update the docs. Login to https://readthedocs.org/projects/pshell/versions/
    and switch your new release tag (at the bottom) from "Inactive" to "Active".
    It should now build automatically.
14. Update conda-forge. Clone https://github.com/conda-forge/pshell-feedstock
    and update the version number and sha256 in meta.yaml. (On OS X, you can
    calculate sha256 with `shasum -a 256 pshell-X.Y.Z.tar.gz`). Submit a pull
    request (and merge it, once CI passes).
