.. include:: use_latest_docs.rst
.. _releasing:
Preparing a release
-------------------
Things to do for releasing:
* 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
+ select new version number
- increment as per `Semantic Versioning `_ rules
+ checkout a new branch ``release-vX.Y.Z``
+ bump version number in ``qtrio/_version.py``
- remove ``+dev`` tag from version number
+ run ``towncrier``
..
https://github.com/twisted/towncrier/pull/271
- ``towncrier build --yes``
- review history change
- ``git rm`` changes
+ fixup `docs/source/history.rst`
- correct QTrio capitalization
- remove empty misc changelog entries from the history
+ commit such as ``Bump version and run towncrier for vX.Y.Z release``
* push to the primary repository
+ a tag will be created on the branch and the tag should be in the primary repository
* create pull request to `altendky/qtrio `_'s
"main" branch
* verify that all checks succeeded
* get a review
* tag with ``vX.Y.Z``, push tag
* download wheel and sdist from build artifacts and unpack
* push to PyPI::
twine upload dist/*
* replace the ``+dev`` version tag in the same pull request as ``vX.Y.Z+dev``
* merge the release pull request