Preparing a release

Things to do for releasing:

  • announce intent to release on gitter

  • check for open issues / pull requests that really should be in the release

    • come back when these are done

    • … or ignore them and do another release next week

  • check for deprecations “long enough ago” (two months or two releases, whichever is longer)

    • remove affected code

  • Do the actual release changeset

    • update version number

      • increment as per Semantic Versioning rules

      • remove +dev tag from version number

    • Run towncrier

      • review history change

      • git rm changes

    • commit

  • push to your personal repository

  • create pull request to python-trio/trio’s “master” branch

  • announce PR on gitter

    • wait for feedback

    • fix problems, if any

  • verify that all checks succeeded

  • acknowledge the release PR

    • or rather, somebody else should do that

  • tag with vVERSION

  • push to PyPI

    • python3 setup.py sdist bdist_wheel upload

  • announce on gitter

  • update version number

    • add +dev tag to the end

  • prepare another pull request to “master”

    • acknowledge it