Releasing a new version - python-telegram-bot/python-telegram-bot GitHub Wiki
This project adheres to the Semantic Versioning specification by Tom Preston-Werner.
The actual release (i.e. building the distributions and uploading to PyPI) are automated via GitHub actions. What currently needs to be done manually is updating the changelog and version files.
-
Bump version:
- telegram/_version.py
- Replace all ocurrences of NEXT.VERSION by the correct version string in the docstrings
- if the release includes a Bot API update, update README.rst
- if the release drops a Python version, update README.rst and pyproject.tolm
-
Commit & create a PR
-
Make sure that the chango fragment is created correctly for an internal change. Run chango release --uid vXX.yy and commit the result.
-
If all checks pass, squash-merge with the commit message:
Bump version to v<VERSION> (#<PR-Number>)
-
Trigger the workflow for releasing to PyPI (click "Run workflow" and select the master branch)
-
Approve the deployment request for PyPI
-
Wait for the GitHub action to finish uploding to PyPI and the GitHub releases page
-
Adjust the new release if necessary:
-
On Readthedocs dashboard check that latest, stable and vXX.YY are built correctly
-
Close milestones for this version.
-
Test in a clean virtualenv that
pip install python-telegram-bot
work with the new version. -
If the doc-fixes branch got merged, create a new one.
-
Merge the dev-wiki into the production wiki
Please use the following channels/groups to announce a new version release:
- @pythontelegrambotchannel
- @pythontelegrambotgroup (Channel posts are automatically forwarded to here)
Channel posts should be a bit more verbose than the plain release notes. E.g. they can
- list the (non-dev-team) authors, who contributed to the release, maybe even for each PR
- have a short, informative description of new/changed features