-
Notifications
You must be signed in to change notification settings - Fork 0
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 changelog and version files.
-
Log changes to:
- CHANGES.rst
Since writing adding the correct links is a bit tiresome, here is a little something to help you with it. It also covers the version bump (see next bullet point)
-
Bump version:
- telegram/_version.py
- docs/source/conf.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
-
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:
- Tag version: v<VERSION>
- Release title: v<VERSION>
- Description: <logs from CHANGES.rst>
-
On Readthedocs dashboard trigger a build for stable release (you'd probably need to do it twice: check the git revision being built to make sure it's the right one).
-
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
- Wiki of
python-telegram-bot
© Copyright 2015-2025 – Licensed by Creative Commons
- Architecture Overview
- Builder Pattern for
Application
- Types of Handlers
- Working with Files and Media
- Exceptions, Warnings and Logging
- Concurrency in PTB
- Advanced Filters
- Storing data
- Making your bot persistent
- Adding Defaults
- Job Queue
- Arbitrary
callback_data
- Avoiding flood limits
- Webhooks
- Bot API Forward Compatiblity
- Frequently requested design patterns
- Code snippets
- Performance Optimizations
- Telegram Passport
- Bots built with PTB
- Automated Bot Tests