How to issue a release in 15 easy steps

Time required: about an hour.

 1. Ensure your master branch is synced to origin:
       git pull origin master
 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 master 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. Build source for pypi:
      python setup.py sdist
 7. Use twine to register and upload the release on pypi. Be careful, you can't
    take this back!
      twine upload dist/recursive_diff-X.Y.Z*
    You will need to be listed as a package owner at
    https://pypi.python.org/pypi/recursive_diff for this to work.
 8. Push your changes to master:
      git push origin master
      git push origin --tags
 9. Update the stable branch (used by ReadTheDocs) and switch back to master:
      git checkout stable
      git rebase master
      git push origin stable
      git checkout master
    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.
10. Add a section for the next release (v.X.(Y+1)) to doc/whats-new.rst.
11. Commit your changes and push to master again:
      git commit -a -m 'Revert to dev version'
      git push origin master
    You're done pushing to master!
12. Issue the release on GitHub. Open
    https://github.com/crusaderky/recursive_diff/releases; the new release should have
    automatically appeared. Otherwise, click on "Draft a new release" and paste in the
    latest from whats-new.rst.
13. Update the docs. Login to https://readthedocs.org/projects/recursive_diff/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/recursive_diff-feedstock
    and update the version number and sha256 in meta.yaml. (On OS X, you can
    calculate sha256 with `shasum -a 256 recursive_diff-X.Y.Z.tar.gz`). Submit a pull
    request (and merge it, once CI passes).
