python-telegram-bot
16.3K subscribers
91 links
The official channel for the python-telegram-bot library | https://python-telegram-bot.org
Download Telegram
We've just released v21.4.
Thank you to everyone who contributed to this release.
As usual, upgrade using pip install -U python-telegram-bot.

This release brings support for Bot API versions 7.5, 7.6, and 7.7.
Moreover, we have added initial support for Python 3.13 Beta and a new convenience helper for working with MessageEntity objects containing UTF-16 encoded characters.

For the full list of changes and improvements, please see the below changelog.

Major Changes

• Full Support for API 7.5 (#4328, #4316, #4315, #4312 closes #4310, #4311)
• Full Support for API 7.6 (#4333 closes #4331, #4344, #4341, #4334, #4335, #4351, #4342, #4348)
• Full Support for API 7.7 (#4356 closes #4355)
• Drop python-telegram-bot-raw And Switch to pyproject.toml Based Packaging (#4288 closes #4129 and #4296)
• Deprecate Inclusion of successful_payment in Message.effective_attachment (#4365 closes #4350)

New Features

• Add Support for Python 3.13 Beta (#4253)
• Add filters.PAID_MEDIA (#4357)
• Log Received Data on Deserialization Errors (#4304)
• Add MessageEntity.adjust_message_entities_to_utf_16 Utility Function (#4323 by Antares0982 closes #4319)
• Make Argument bot of TelegramObject.de_json Optional (#4320)

Documentation Improvements

• Documentation Improvements (#4303 closes #4301)
• Restructure Readme (#4362)
• Fix Link-Check Workflow (#4332)

Internal Changes

• Automate PyPI Releases (#4364 closes #4318)
• Add mise-en-place to .gitignore (#4300)
• Use a Composite Action for Testing Type Completeness (#4367)
• Stabilize Some Concurrency Usages in Test Suite (#4360)
• Add a Test Case for MenuButton (#4363)
• Extend SuccessfulPayment Test (#4349)
• Small Fixes for test_stars.py (#4347)
• Use Python 3.13 Beta 3 in Test Suite (#4336)

Dependency Updates

• Bump ruff and Add New Rules (#4329)
• Bump pre-commit Hooks to Latest Versions (#4337)
• Add Lower Bound for flaky Dependency (#4322 by Palaptin)
• Bump pytest from 8.2.1 to 8.2.2 (#4294)
We've just released v21.5.
Thank you to everyone who contributed to this release.
As usual, upgrade using pip install -U python-telegram-bot.

This release brings support for Bot API 7.8 and 7.9. The new parameter read_file_handle of InputFile was added to support special use cases with local API servers. Moreover, building up on v21.4, additional convenience methods for MessageEntity were added.

Finally, we would like to point out that Python 3.8 will be reaching its end of life some time in October. python-telegram-bot will drop support for Python 3.8 after that. If you're still using Python 3.8, please consider upgrading to a newer version.

For the full list of changes and improvements, please see the below changelog.

Major Changes

• Full Support for Bot API 7.9 (#4429)
• Full Support for Bot API 7.8 (#4408)

New Features

• Add MessageEntity.shift_entities and MessageEntity.concatenate (#4376 closes #4372)
• Add Parameter game_pattern to CallbackQueryHandler (#4353 by jainamoswal closes #4269)
• Add Parameter read_file_handle to InputFile (#4388 closes #4339)

Documentation Improvements

• Bugfix for "Available In" Admonitions (#4413)
• Documentation Improvements (#4400 closes #4446, #4448 by Palaptin)
• Document Return Types of RequestData Members (#4396)
• Add Introductory Paragraphs to Telegram Types Subsections (#4389 by mohdyusuf2312 closes #4380)
• Start Adapting to RTD Addons (#4386)

Minor and Internal Changes

• Remove Surplus Logging from Updater Network Loop (#4432 by MartinHjelmare)
• Add Internal Constants for Encodings (#4378 by elpekenin)
• Improve PyPI Automation (#4375 closes #4373)
• Update Test Suite to New Test Channel Setup (#4435)
• Improve Fixture Usage in test_message.py (#4431 by Palaptin)
• Update Python 3.13 Test Suite to RC1 (#4415)
• Bump ruff and Add New Rules (#4416)

Dependency Updates

• Update cachetools requirement from <5.5.0,>=5.3.3 to >=5.3.3,<5.6.0 (#4437)
• Bump sphinx from 7.4.7 to 8.0.2 and furo from 2024.7.18 to 2024.8.6 (#4412)
• Bump test-summary/action from 2.3 to 2.4 (#4410)
• Bump pytest from 8.2.2 to 8.3.2 (#4403)
• Bump dependabot/fetch-metadata from 2.1.0 to 2.2.0 (#4411)
• Update cachetools requirement from ~=5.3.3 to >=5.3.3,<5.5.0 (#4390)
• Bump sphinx from 7.3.7 to 7.4.7 (#4395)
• Bump furo from 2024.5.6 to 2024.7.18 (#4392)
We've just released v21.6.
Thank you to everyone who contributed to this release.
As usual, upgrade using pip install -U python-telegram-bot.

This release brings support for Bot API 7.10 and allows further customization of HTTPXRequest.

For the full list of changes and improvements, please see the below changelog.

New Features

• Full Support for Bot API 7.10 (#4461 closes #4459, #4460, #4463 by aelkheir, #4464)
• Add Parameter httpx_kwargs to HTTPXRequest (#4451 closes #4424)

Minor Changes

• Improve Type Completeness (#4466)

Internal Changes

• Update Python 3.13 Test Suite to RC2 (#4471)
• Enforce the offline_bot Fixture in Test*WithoutRequest (#4465)
• Make Tests for telegram.ext Independent of Networking (#4454)
• Rename Testing Base Classes (#4453)

Dependency Updates

• Bump pytest from 8.3.2 to 8.3.3 (#4475)
We've just released v21.7.
Thank you to everyone who contributed to this release.
As usual, upgrade using pip install -U python-telegram-bot.

This release brings full support for Bot API 7.11.
Moreover, it removes support for Python 3.8, which reached EOL on September 6th, 2024 and adds stable support for Python 3.13.
This is in line with our stability policy.

For the full list of changes and improvements, please see the below changelog.

Major Changes

• Full Support for Bot API 7.11 (#4546 closes #4543)
• Add Message.reply_paid_media (#4551)
• Drop Support for Python 3.8 (#4398 by elpekenin)

Minor Changes

• Allow Sequence in Application.add_handlers (#4531 by roast-lord closes #4530)
• Improve Exception Handling in File.download_* (#4542)
• Use Stable Python 3.13 Release in Test Suite (#4535)

Documentation Improvements

• Documentation Improvements (#4536 by Ecode2, #4556)
• Fix Linkcheck Workflow (#4545)
• Use sphinx-build-compatibility to Keep Sphinx Compatibility (#4492)

Internal Changes

• Improve Test Instability Caused by Message Fixtures (#4507)
• Stabilize Some Flaky Tests (#4500)
• Reduce Creation of HTTP Clients in Tests (#4493)
• Update pytest-xdist Usage (#4491)
• Fix Failing Tests by Making Them Independent (#4494)
• Introduce Codecov's Test Analysis (#4487)
• Maintenance Work on Bot Tests (#4489)
• Introduce conftest.py for File Related Tests (#4488)
• Update Issue Templates to Use Issue Types (#4553)
• Update Automation to Label Changes (#4552)

Dependency Updates

• Bump srvaroa/labeler from 1.11.0 to 1.11.1 (#4549)
• Bump sphinx from 8.0.2 to 8.1.3 (#4532)
• Bump sphinxcontrib-mermaid from 0.9.2 to 1.0.0 (#4529)
• Bump srvaroa/labeler from 1.10.1 to 1.11.0 (#4509)
• Bump Bibo-Joshi/pyright-type-completeness from 1.0.0 to 1.0.1 (#4510)
We've just released v21.8.
Thank you to everyone who contributed to this release.
As usual, upgrade using pip install -U python-telegram-bot.

For the full list of changes and improvements, please see the below changelog.

Major Changes

• Full Support for Bot API 8.0 (#4568, #4566 closes #4567, #4572, #4571, #4570, #4576, #4574)

Documentation Improvements

• Documentation Improvements (#4565 by Snehashish06, #4573)
We've just released v21.9.
Thank you to everyone who contributed to this release.
As usual, upgrade using pip install -U python-telegram-bot.

For the full list of changes and improvements, please see the below changelog.

Major Changes

• Full Support for Bot API 8.1 (#4594 closes #4592)

Minor Changes

• Use MessageLimit.DEEP_LINK_LENGTH in helpers.create_deep_linked_url (#4597 by nemacysts)
• Allow Sequence Input for allowed_updates in Application and Updater Methods (#4589 by nemacysts)

Dependency Updates

• Update aiolimiter requirement from ~=1.1.0 to >=1.1,<1.3 (#4595)
• Bump pytest from 8.3.3 to 8.3.4 (#4596)
• Bump codecov/codecov-action from 4 to 5 (#4585)
• Bump pylint to v3.3.2 to Improve Python 3.13 Support (#4590 by nemacysts)
• Bump srvaroa/labeler from 1.11.1 to 1.12.0 (#4586)
We've just released v21.10.
Thank you to everyone who contributed to this release.
As usual, upgrade using pip install -U python-telegram-bot.

This release brings full support for Bot API 8.2 and includes a bug fix for the deserialization of Gift and Gifts.
Moreover, with the update of the optional apscheduler dependency used for the JobQueue, we have deprecated support for pytz timezones.
Please switch to using zoneinfo.ZoneInfo timezones after upgrading.

For the full list of changes and improvements, please see the below changelog.

Major Changes

• Full Support for Bot API 8.2 (#4633)
• Bump apscheduler & Deprecate pytz Support (#4582)

New Features

• Add Parameter pattern to JobQueue.jobs() (#4613 closes #4544)
• Allow Input of Type Sticker for Several Methods (#4616 closes #4580)

Bug Fixes

• Ensure Forward Compatibility of Gift and Gifts (#4634 closes #4637)

Documentation Improvements & Internal Changes

• Use Custom Labels for dependabot PRs (#4621)
• Remove Redundant pylint Suppressions (#4628)
• Update Copyright to 2025 (#4631)
• Refactor Module Structure and Tests for Star Payments Classes (#4615 closes #4593)
• Unify datetime Imports (#4605 by @cuevasrja closes #4577)
• Add Static Security Analysis of GitHub Actions Workflows (#4606)

Dependency Updates

• Bump astral-sh/setup-uv from 4.2.0 to 5.1.0 (#4625)
• Bump codecov/codecov-action from 5.1.1 to 5.1.2 (#4622)
• Bump actions/upload-artifact from 4.4.3 to 4.5.0 (#4623)
• Bump github/codeql-action from 3.27.9 to 3.28.0 (#4624)
We've just released v21.11.
Thank you to everyone who contributed to this release.
As usual, upgrade using pip install -U python-telegram-bot.

This release brings full support for Bot API 8.3. It also removes functionality deprecated in Bot API 8.2 and 7.4. This is in line with our stability policy.
The extended customization support for Bot.base_(file_)url makes it possible to use use Telegrams testing environment with PTB. Moreover, the built-in AIORateLimiter now respects the allow_paid_broadcast parameter.

For the full list of changes and improvements, please see the below changelog.

Major Changes and New Features

• Full Support for Bot API 8.3 (#4676 closes #4677, #4682 by aelkheir, #4690 by aelkheir, #4691 by aelkheir)
• Make provider_token Argument Optional (#4689)
• Remove Deprecated InlineQueryResultArticle.hide_url (#4640 closes #4638)
• Accept datetime.timedelta Input in Bot Method Parameters (#4651)
• Extend Customization Support for Bot.base_(file_)url (#4632 closes #3355)
• Support allow_paid_broadcast in AIORateLimiter (#4627 closes #4578)
• Add BaseUpdateProcessor.current_concurrent_updates (#4626 closes #3984)

Minor Changes and Bug Fixes

• Add Bootstrapping Logic to Application.run_* (#4673 closes #4657)
• Fix a Bug in edit_user_star_subscription (#4681 by vavasik800)
• Simplify Handling of Empty Data in TelegramObject.de_json and Friends (#4617 closes #4614)

Documentation Improvements

• Documentation Improvements (#4641)
• Overhaul Admonition Insertion in Documentation (#4462 closes #4414)

Internal Changes

• Stabilize Linkcheck Test (#4693)
• Bump pre-commit Hooks to Latest Versions (#4643)
• Refactor Tests for TelegramObject Classes with Subclasses (#4654 closes #4652)
• Use Fine Grained Permissions for GitHub Actions Workflows (#4668)

Dependency Updates

• Bump actions/setup-python from 5.3.0 to 5.4.0 (#4665)
• Bump dependabot/fetch-metadata from 2.2.0 to 2.3.0 (#4666)
• Bump actions/stale from 9.0.0 to 9.1.0 (#4667)
• Bump astral-sh/setup-uv from 5.1.0 to 5.2.2 (#4664)
• Bump codecov/test-results-action from 1.0.1 to 1.0.2 (#4663)
We've just released v21.11.1.
As usual, upgrade using pip install -U python-telegram-bot.

This is a bug fix release that restores the documentation at https://docs.python-telegram-bot.org.

Documentation Improvements

• Fix ReadTheDocs Build (#4695)
We've just released v22.0.
Thank you to everyone who contributed to this release.
As usual, upgrade using pip install -U python-telegram-bot.

The release notes can be found here.
We've just released v22.1.
Thank you to everyone who contributed to this release.
As usual, upgrade using pip install -U python-telegram-bot.

The release notes can be found here.