Releasing a new version - python-telegram-bot/python-telegram-bot GitHub Wiki

Releasing a new version

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 version file.

Process

  • Bump version locally:

    • telegram/_version.py
  • Commit & create a PR with the name: "Bump Version to v.xxx"

  • Chango will commit replacing all NEXT.VERSION references. Make sure that the chango fragment for that PR is created for an other change.

  • 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 uploading to PyPI and the GitHub releases page.

  • Adjust the new release if necessary.

  • Wait for the docs build to complete. Then, on the Readthedocs dashboard, check that latest, stable and vXX.YY are built correctly.

  • Approve the deployment request for the Telegram channel announcement

  • Close milestones for this version.

  • Test in a clean virtualenv that pip install python-telegram-bot works with the new version.

  • If the doc-fixes branch got merged, create a new one.

  • Merge the dev-wiki into the production wiki

Public Announcements

Please use the following channels/groups to announce a new version release:

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
⚠️ **GitHub.com Fallback** ⚠️