python-telegram-bot/CHANGES.rst

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

2250 lines
77 KiB
ReStructuredText
Raw Normal View History

.. _ptb-changelog:
=========
Changelog
=========
2023-11-27 19:01:57 +01:00
Version 20.6
============
*Released 2023-11-27*
This is the technical changelog for version 20.6. More elaborate release notes can be found in the news channel `@pythontelegrambotchannel <https://t.me/pythontelegrambotchannel>`__.
New Features
------------
- Add ``JobQueue.scheduler_configuration`` and Corresponding Warnings (:pr:`3913` closes :issue:`3837`)
- Add Parameter ``socket_options`` to ``HTTPXRequest`` (:pr:`3935` closes :issue:`2965`)
- Add ``ApplicationBuilder.(get_updates_)socket_options`` (:pr:`3943`)
- Improve ``write_timeout`` Handling for Media Methods (:pr:`3952`)
- Add ``filters.Mention`` (:pr:`3941` closes :issue:`3799`)
- Rename ``proxy_url`` to ``proxy`` and Allow ``httpx.{Proxy, URL}`` as Input (:pr:`3939` closes :issue:`3844`)
Bug Fixes & Changes
-------------------
- Adjust ``read_timeout`` Behavior for ``Bot.get_updates`` (:pr:`3963` closes :issue:`3893`)
- Improve ``BaseHandler.__repr__`` for Callbacks without ``__qualname__`` (:pr:`3934`)
- Fix Persistency Issue with Ended Non-Blocking Conversations (:pr:`3962`)
- Improve Type Hinting for Arguments with Default Values in ``Bot`` (:pr:`3942`)
Documentation Improvements
--------------------------
- Add Documentation for ``__aenter__`` and ``__aexit__`` Methods (:pr:`3907` closes :issue:`3886`)
- Improve Insertion of Kwargs into ``Bot`` Methods (:pr:`3965`)
Internal Changes
----------------
- Adjust Tests to New Error Messages (:pr:`3970`)
Dependency Updates
------------------
- Bump ``pytest-xdist`` from 3.3.1 to 3.4.0 (:pr:`3975`)
- ``pre-commit`` autoupdate (:pr:`3967`)
- Update ``httpx`` requirement from ~=0.25.1 to ~=0.25.2 (:pr:`3983`)
- Bump ``pytest-xdist`` from 3.4.0 to 3.5.0 (:pr:`3982`)
- Update ``httpx`` requirement from ~=0.25.0 to ~=0.25.1 (:pr:`3961`)
- Bump ``srvaroa/labeler`` from 1.6.1 to 1.7.0 (:pr:`3958`)
- Update ``cachetools`` requirement from ~=5.3.1 to ~=5.3.2 (:pr:`3954`)
- Bump ``pytest`` from 7.4.2 to 7.4.3 (:pr:`3953`)
2023-10-03 15:39:57 +02:00
Version 20.6
============
*Released 2023-10-03*
This is the technical changelog for version 20.6. More elaborate release notes can be found in the news channel `@pythontelegrambotchannel <https://t.me/pythontelegrambotchannel>`__.
Major Changes
-------------
- Drop Backward Compatibility Layer Introduced in :pr:`3853` (API 6.8) (:pr:`3873`)
- Full Support for Bot API 6.9 (:pr:`3898`)
New Features
------------
- Add Rich Equality Comparison to ``WriteAccessAllowed`` (:pr:`3911` closes :issue:`3909`)
- Add ``__repr__`` Methods Added in :pr:`3826` closes :issue:`3770` to Sphinx Documentation (:pr:`3901` closes :issue:`3889`)
- Add String Representation for Selected Classes (:pr:`3826` closes :issue:`3770`)
Minor Changes
-------------
- Add Support Python 3.12 (:pr:`3915`)
- Documentation Improvements (:pr:`3910`)
Internal Changes
----------------
- Verify Type Hints for Bot Method & Telegram Class Parameters (:pr:`3868`)
- Move Bot API Tests to Separate Workflow File (:pr:`3912`)
- Fix Failing ``file_size`` Tests (:pr:`3906`)
- Set Threshold for DeepSources PY-R1000 to High (:pr:`3888`)
- One-Time Code Formatting Improvement via ``--preview`` Flag of ``black`` (:pr:`3882`)
- Move Dunder Methods to the Top of Class Bodies (:pr:`3883`)
- Remove Superfluous ``Defaults.__ne__`` (:pr:`3884`)
Dependency Updates
------------------
- ``pre-commit`` autoupdate (:pr:`3876`)
- Update ``pre-commit`` Dependencies (:pr:`3916`)
- Bump ``actions/checkout`` from 3 to 4 (:pr:`3914`)
- Update ``httpx`` requirement from ~=0.24.1 to ~=0.25.0 (:pr:`3891`)
- Bump ``furo`` from 2023.8.19 to 2023.9.10 (:pr:`3890`)
- Bump ``sphinx`` from 7.2.5 to 7.2.6 (:pr:`3892`)
- Update ``tornado`` requirement from ~=6.2 to ~=6.3.3 (:pr:`3675`)
- Bump ``pytest`` from 7.4.0 to 7.4.2 (:pr:`3881`)
2023-09-03 14:46:28 +02:00
Version 20.5
============
*Released 2023-09-03*
This is the technical changelog for version 20.5. More elaborate release notes can be found in the news channel `@pythontelegrambotchannel <https://t.me/pythontelegrambotchannel>`__.
Major Changes
-------------
- API 6.8 (:pr:`3853`)
- Remove Functionality Deprecated Since Bot API 6.5, 6.6 or 6.7 (:pr:`3858`)
New Features
------------
- Extend Allowed Values for HTTP Version (:pr:`3823` closes :issue:`3821`)
- Add ``has_args`` Parameter to ``CommandHandler`` (:pr:`3854` by `@thatguylah <https://github.com/thatguylah>`__ closes :issue:`3798`)
- Add ``Application.stop_running()`` and Improve Marking Updates as Read on ``Updater.stop()`` (:pr:`3804`)
Minor Changes
-------------
- Type Hinting Fixes for ``WebhookInfo`` (:pr:`3871`)
- Test and Document ``Exception.__cause__`` on ``NetworkError`` (:pr:`3792` closes :issue:`3778`)
- Add Support for Python 3.12 RC (:pr:`3847`)
Documentation Improvements
--------------------------
- Remove Version Check from Examples (:pr:`3846`)
- Documentation Improvements (:pr:`3803`, :pr:`3797`, :pr:`3816` by `@trim21 <https://github.com/trim21>`__, :pr:`3829` by `@aelkheir <https://github.com/aelkheir>`__)
- Provide Versions of ``customwebhookbot.py`` with Different Frameworks (:pr:`3820` closes :issue:`3717`)
Dependency Updates
------------------
- ``pre-commit`` autoupdate (:pr:`3824`)
- Bump ``srvaroa/labeler`` from 1.6.0 to 1.6.1 (:pr:`3870`)
- Bump ``sphinx`` from 7.0.1 to 7.1.1 (:pr:`3818`)
- Bump ``sphinx`` from 7.2.3 to 7.2.5 (:pr:`3869`)
- Bump ``furo`` from 2023.5.20 to 2023.7.26 (:pr:`3817`)
- Update ``apscheduler`` requirement from ~=3.10.3 to ~=3.10.4 (:pr:`3862`)
- Bump ``sphinx`` from 7.2.2 to 7.2.3 (:pr:`3861`)
- Bump ``pytest-asyncio`` from 0.21.0 to 0.21.1 (:pr:`3801`)
- Bump ``sphinx-paramlinks`` from 0.5.4 to 0.6.0 (:pr:`3840`)
- Update ``apscheduler`` requirement from ~=3.10.1 to ~=3.10.3 (:pr:`3851`)
- Bump ``furo`` from 2023.7.26 to 2023.8.19 (:pr:`3850`)
- Bump ``sphinx`` from 7.1.2 to 7.2.2 (:pr:`3852`)
- Bump ``sphinx`` from 7.1.1 to 7.1.2 (:pr:`3827`)
2023-07-09 12:18:32 +02:00
Version 20.4
============
*Released 2023-07-09*
This is the technical changelog for version 20.4. More elaborate release notes can be found in the news channel `@pythontelegrambotchannel <https://t.me/pythontelegrambotchannel>`__.
Major Changes
-------------
- Drop Support for Python 3.7 (:pr:`3728`, :pr:`3742` by `@Trifase <https://github.com/Trifase>`__, :pr:`3749` by `@thefunkycat <https://github.com/thefunkycat>`__, :pr:`3740` closes :issue:`3732`, :pr:`3754` closes :issue:`3731`, :pr:`3753`, :pr:`3764`, :pr:`3762`, :pr:`3759` closes :issue:`3733`)
New Features
------------
- Make Integration of ``APScheduler`` into ``JobQueue`` More Explicit (:pr:`3695`)
- Introduce ``BaseUpdateProcessor`` for Customized Concurrent Handling of Updates (:pr:`3654` closes :issue:`3509`)
Minor Changes
-------------
- Fix Inconsistent Type Hints for ``timeout`` Parameter of ``Bot.get_updates`` (:pr:`3709` by `@revolter <https://github.com/revolter>`__)
- Use Explicit Optionals (:pr:`3692` by `@MiguelX413 <https://github.com/MiguelX413>`__)
Bug Fixes
---------
- Fix Wrong Warning Text in ``KeyboardButton.__eq__`` (:pr:`3768`)
Documentation Improvements
--------------------------
- Explicitly set ``allowed_updates`` in Examples (:pr:`3741` by `@Trifase <https://github.com/Trifase>`__ closes :issue:`3726`)
- Bump ``furo`` and ``sphinx`` (:pr:`3719`)
- Documentation Improvements (:pr:`3698`, :pr:`3708` by `@revolter <https://github.com/revolter>`__, :pr:`3767`)
- Add Quotes for Installation Instructions With Optional Dependencies (:pr:`3780`)
- Exclude Type Hints from Stability Policy (:pr:`3712`)
- Set ``httpx`` Logging Level to Warning in Examples (:pr:`3746` closes :issue:`3743`)
Internal Changes
----------------
- Drop a Legacy ``pre-commit.ci`` Configuration (:pr:`3697`)
- Add Python 3.12 Beta to the Test Matrix (:pr:`3751`)
- Use Temporary Files for Testing File Downloads (:pr:`3777`)
- Auto-Update Changed Version in Other Files After Dependabot PRs (:pr:`3716`)
- Add More ``ruff`` Rules (:pr:`3763`)
- Rename ``_handler.py`` to ``_basehandler.py`` (:pr:`3761`)
- Automatically Label ``pre-commit-ci`` PRs (:pr:`3713`)
- Rework ``pytest`` Integration into GitHub Actions (:pr:`3776`)
- Fix Two Bugs in GitHub Actions Workflows (:pr:`3739`)
Dependency Updates
------------------
- Update ``cachetools`` requirement from ~=5.3.0 to ~=5.3.1 (:pr:`3738`)
- Update ``aiolimiter`` requirement from ~=1.0.0 to ~=1.1.0 (:pr:`3707`)
- ``pre-commit`` autoupdate (:pr:`3791`)
- Bump ``sphinxcontrib-mermaid`` from 0.8.1 to 0.9.2 (:pr:`3737`)
- Bump ``pytest-xdist`` from 3.2.1 to 3.3.0 (:pr:`3705`)
- Bump ``srvaroa/labeler`` from 1.5.0 to 1.6.0 (:pr:`3786`)
- Bump ``dependabot/fetch-metadata`` from 1.5.1 to 1.6.0 (:pr:`3787`)
- Bump ``dessant/lock-threads`` from 4.0.0 to 4.0.1 (:pr:`3785`)
- Bump ``pytest`` from 7.3.2 to 7.4.0 (:pr:`3774`)
- Update ``httpx`` requirement from ~=0.24.0 to ~=0.24.1 (:pr:`3715`)
- Bump ``pytest-xdist`` from 3.3.0 to 3.3.1 (:pr:`3714`)
- Bump ``pytest`` from 7.3.1 to 7.3.2 (:pr:`3758`)
- ``pre-commit`` autoupdate (:pr:`3747`)
2023-05-07 15:31:23 +02:00
Version 20.3
============
*Released 2023-05-07*
This is the technical changelog for version 20.3. More elaborate release notes can be found in the news channel `@pythontelegrambotchannel <https://t.me/pythontelegrambotchannel>`_.
Major Changes
-------------
- Full support for API 6.7 (:pr:`3673`)
- Add a Stability Policy (:pr:`3622`)
2023-05-07 15:31:23 +02:00
New Features
------------
- Add ``Application.mark_data_for_update_persistence`` (:pr:`3607`)
- Make ``Message.link`` Point to Thread View Where Possible (:pr:`3640`)
- Localize Received ``datetime`` Objects According to ``Defaults.tzinfo`` (:pr:`3632`)
2023-05-07 15:31:23 +02:00
Minor Changes, Documentation Improvements and CI
------------------------------------------------
- Empower ``ruff`` (:pr:`3594`)
- Drop Usage of ``sys.maxunicode`` (:pr:`3630`)
- Add String Representation for ``RequestParameter`` (:pr:`3634`)
- Stabilize CI by Rerunning Failed Tests (:pr:`3631`)
- Give Loggers Better Names (:pr:`3623`)
- Add Logging for Invalid JSON Data in ``BasePersistence.parse_json_payload`` (:pr:`3668`)
- Improve Warning Categories & Stacklevels (:pr:`3674`)
- Stabilize ``test_delete_sticker_set`` (:pr:`3685`)
- Shield Update Fetcher Task in ``Application.start`` (:pr:`3657`)
- Recover 100% Type Completeness (:pr:`3676`)
- Documentation Improvements (:pr:`3628`, :pr:`3636`, :pr:`3694`)
2023-05-07 15:31:23 +02:00
Dependencies
------------
- Bump ``actions/stale`` from 7 to 8 (:pr:`3644`)
- Bump ``furo`` from 2023.3.23 to 2023.3.27 (:pr:`3643`)
- ``pre-commit`` autoupdate (:pr:`3646`, :pr:`3688`)
- Remove Deprecated ``codecov`` Package from CI (:pr:`3664`)
- Bump ``sphinx-copybutton`` from 0.5.1 to 0.5.2 (:pr:`3662`)
- Update ``httpx`` requirement from ~=0.23.3 to ~=0.24.0 (:pr:`3660`)
- Bump ``pytest`` from 7.2.2 to 7.3.1 (:pr:`3661`)
2023-05-07 15:31:23 +02:00
2023-03-25 13:25:59 +01:00
Version 20.2
============
*Released 2023-03-25*
This is the technical changelog for version 20.2. More elaborate release notes can be found in the news channel `@pythontelegrambotchannel <https://t.me/pythontelegrambotchannel>`_.
Major Changes
-------------
- Full Support for API 6.6 (:pr:`3584`)
- Revert to HTTP/1.1 as Default and make HTTP/2 an Optional Dependency (:pr:`3576`)
2023-03-25 13:25:59 +01:00
Minor Changes, Documentation Improvements and CI
------------------------------------------------
- Documentation Improvements (:pr:`3565`, :pr:`3600`)
- Handle Symbolic Links in ``was_called_by`` (:pr:`3552`)
- Tidy Up Tests Directory (:pr:`3553`)
- Enhance ``Application.create_task`` (:pr:`3543`)
- Make Type Completeness Workflow Usable for ``PRs`` from Forks (:pr:`3551`)
- Refactor and Overhaul the Test Suite (:pr:`3426`)
2023-03-25 13:25:59 +01:00
Dependencies
------------
- Bump ``pytest-asyncio`` from 0.20.3 to 0.21.0 (:pr:`3624`)
- Bump ``furo`` from 2022.12.7 to 2023.3.23 (:pr:`3625`)
- Bump ``pytest-xdist`` from 3.2.0 to 3.2.1 (:pr:`3606`)
- ``pre-commit`` autoupdate (:pr:`3577`)
- Update ``apscheduler`` requirement from ~=3.10.0 to ~=3.10.1 (:pr:`3572`)
- Bump ``pytest`` from 7.2.1 to 7.2.2 (:pr:`3573`)
- Bump ``pytest-xdist`` from 3.1.0 to 3.2.0 (:pr:`3550`)
- Bump ``sphinxcontrib-mermaid`` from 0.7.1 to 0.8 (:pr:`3549`)
2023-03-25 13:25:59 +01:00
2023-02-09 20:58:22 +01:00
Version 20.1
============
*Released 2023-02-09*
This is the technical changelog for version 20.1. More elaborate release notes can be found in the news channel `@pythontelegrambotchannel <https://t.me/pythontelegrambotchannel>`_.
Major Changes
-------------
- Full Support for Bot API 6.5 (:pr:`3530`)
2023-02-09 20:58:22 +01:00
New Features
------------
- Add ``Application(Builder).post_stop`` (:pr:`3466`)
- Add ``Chat.effective_name`` Convenience Property (:pr:`3485`)
- Allow to Adjust HTTP Version and Use HTTP/2 by Default (:pr:`3506`)
2023-02-09 20:58:22 +01:00
Documentation Improvements
--------------------------
- Enhance ``chatmemberbot`` Example (:pr:`3500`)
- Automatically Generate Cross-Reference Links (:pr:`3501`, :pr:`3529`, :pr:`3523`)
- Add Some Graphic Elements to Docs (:pr:`3535`)
- Various Smaller Improvements (:pr:`3464`, :pr:`3483`, :pr:`3484`, :pr:`3497`, :pr:`3512`, :pr:`3515`, :pr:`3498`)
2023-02-09 20:58:22 +01:00
Minor Changes, Documentation Improvements and CI
------------------------------------------------
- Update Copyright to 2023 (:pr:`3459`)
- Stabilize Tests on Closing and Hiding the General Forum Topic (:pr:`3460`)
- Fix Dependency Warning Typo (:pr:`3474`)
- Cache Dependencies on ``GitHub`` Actions (:pr:`3469`)
- Store Documentation Builts as ``GitHub`` Actions Artifacts (:pr:`3468`)
- Add ``ruff`` to ``pre-commit`` Hooks (:pr:`3488`)
- Improve Warning for ``days`` Parameter of ``JobQueue.run_daily`` (:pr:`3503`)
- Improve Error Message for ``NetworkError`` (:pr:`3505`)
- Lock Inactive Threads Only Once Each Day (:pr:`3510`)
- Bump ``pytest`` from 7.2.0 to 7.2.1 (:pr:`3513`)
- Check for 3D Arrays in ``check_keyboard_type`` (:pr:`3514`)
- Explicit Type Annotations (:pr:`3508`)
- Increase Verbosity of Type Completeness CI Job (:pr:`3531`)
- Fix CI on Python 3.11 + Windows (:pr:`3547`)
2023-02-09 20:58:22 +01:00
Dependencies
------------
- Bump ``actions/stale`` from 6 to 7 (:pr:`3461`)
- Bump ``dessant/lock-threads`` from 3.0.0 to 4.0.0 (:pr:`3462`)
- ``pre-commit`` autoupdate (:pr:`3470`)
- Update ``httpx`` requirement from ~=0.23.1 to ~=0.23.3 (:pr:`3489`)
- Update ``cachetools`` requirement from ~=5.2.0 to ~=5.2.1 (:pr:`3502`)
- Improve Config for ``ruff`` and Bump to ``v0.0.222`` (:pr:`3507`)
- Update ``cachetools`` requirement from ~=5.2.1 to ~=5.3.0 (:pr:`3520`)
- Bump ``isort`` to 5.12.0 (:pr:`3525`)
- Update ``apscheduler`` requirement from ~=3.9.1 to ~=3.10.0 (:pr:`3532`)
- ``pre-commit`` autoupdate (:pr:`3537`)
- Update ``cryptography`` requirement to >=39.0.1 to address Vulnerability (:pr:`3539`)
2023-02-09 20:58:22 +01:00
2023-01-01 17:20:54 +01:00
Version 20.0
============
*Released 2023-01-01*
This is the technical changelog for version 20.0. More elaborate release notes can be found in the news channel `@pythontelegrambotchannel <https://t.me/pythontelegrambotchannel>`_.
Major Changes
-------------
- Full Support For Bot API 6.4 (:pr:`3449`)
2023-01-01 17:20:54 +01:00
Minor Changes, Documentation Improvements and CI
------------------------------------------------
- Documentation Improvements (:pr:`3428`, :pr:`3423`, :pr:`3429`, :pr:`3441`, :pr:`3404`, :pr:`3443`)
- Allow ``Sequence`` Input for Bot Methods (:pr:`3412`)
- Update Link-Check CI and Replace a Dead Link (:pr:`3456`)
- Freeze Classes Without Arguments (:pr:`3453`)
- Add New Constants (:pr:`3444`)
- Override ``Bot.__deepcopy__`` to Raise ``TypeError`` (:pr:`3446`)
- Add Log Decorator to ``Bot.get_webhook_info`` (:pr:`3442`)
- Add Documentation On Verifying Releases (:pr:`3436`)
- Drop Undocumented ``Job.__lt__`` (:pr:`3432`)
2023-01-01 17:20:54 +01:00
Dependencies
------------
- Downgrade ``sphinx`` to 5.3.0 to Fix Search (:pr:`3457`)
- Bump ``sphinx`` from 5.3.0 to 6.0.0 (:pr:`3450`)
2023-01-01 17:20:54 +01:00
2022-12-15 15:54:00 +01:00
Version 20.0b0
==============
*Released 2022-12-15*
This is the technical changelog for version 20.0b0. More elaborate release notes can be found in the news channel `@pythontelegrambotchannel <https://t.me/pythontelegrambotchannel>`_.
Major Changes
-------------
- Make ``TelegramObject`` Immutable (:pr:`3249`)
2022-12-15 15:54:00 +01:00
Minor Changes, Documentation Improvements and CI
------------------------------------------------
- Reduce Code Duplication in Testing ``Defaults`` (:pr:`3419`)
- Add Notes and Warnings About Optional Dependencies (:pr:`3393`)
- Simplify Internals of ``Bot`` Methods (:pr:`3396`)
- Reduce Code Duplication in Several ``Bot`` Methods (:pr:`3385`)
- Documentation Improvements (:pr:`3386`, :pr:`3395`, :pr:`3398`, :pr:`3403`)
2022-12-15 15:54:00 +01:00
Dependencies
------------
- Bump ``pytest-xdist`` from 3.0.2 to 3.1.0 (:pr:`3415`)
- Bump ``pytest-asyncio`` from 0.20.2 to 0.20.3 (:pr:`3417`)
- ``pre-commit`` autoupdate (:pr:`3409`)
Bot API 4.0 (#1168) Telegram Passport (#1174): - Add full support for telegram passport. - New types: PassportData, PassportFile, EncryptedPassportElement, EncryptedCredentials, PassportElementError, PassportElementErrorDataField, PassportElementErrorFrontSide, PassportElementErrorReverseSide, PassportElementErrorSelfie, PassportElementErrorFile and PassportElementErrorFiles. - New bot method: set_passport_data_errors - New filter: Filters.passport_data - Field passport_data field on Message - PassportData is automagically decrypted when you specify your private key when creating Updater or Bot. - PassportFiles is also automagically decrypted as you download/retrieve them. - See new passportbot.py example for details on how to use, or go to our telegram passport wiki page for more info - NOTE: Passport decryption requires new dependency `cryptography`. Inputfile rework (#1184): - Change how Inputfile is handled internally - This allows support for specifying the thumbnails of photos and videos using the thumb= argument in the different send_ methods. - Also allows Bot.send_media_group to actually finally send more than one media. - Add thumb to Audio, Video and Videonote - Add Bot.edit_message_media together with InputMediaAnimation, InputMediaAudio, and inputMediaDocument. Other Bot API 4.0 changes: - Add forusquare_type to Venue, InlineQueryResultVenue, InputVenueMessageContent, and Bot.send_venue. (#1170) - Add vCard support by adding vcard field to Contact, InlineQueryResultContact, InputContactMessageContent, and Bot.send_contact. (#1166) - Support new message entities: CASHTAG and PHONE_NUMBER. (#1179) - Cashtag seems to be things like $USD and $GBP, but it seems telegram doesn't currently send them to bots. - Phone number also seems to have limited support for now - Add Bot.send_animation, add width, height, and duration to Animation, and add Filters.animation. (#1172) Co-authored-by: Jasmin Bom <jsmnbom@gmail.com> Co-authored-by: code1mountain <32801117+code1mountain@users.noreply.github.com> Co-authored-by: Eldinnie <pieter.schutz+github@gmail.com> Co-authored-by: mathefreak1 <mathefreak@hi2.in>
2018-08-29 14:18:58 +02:00
2022-11-24 12:32:43 +01:00
Version 20.0a6
==============
*Released 2022-11-24*
This is the technical changelog for version 20.0a6. More elaborate release notes can be found in the news channel `@pythontelegrambotchannel <https://t.me/pythontelegrambotchannel>`_.
Bug Fixes
---------
- Only Persist Arbitrary ``callback_data`` if ``ExtBot.callback_data_cache`` is Present (:pr:`3384`)
- Improve Backwards Compatibility of ``TelegramObjects`` Pickle Behavior (:pr:`3382`)
- Fix Naming and Keyword Arguments of ``File.download_*`` Methods (:pr:`3380`)
- Fix Return Value Annotation of ``Chat.create_forum_topic`` (:pr:`3381`)
2022-11-24 12:32:43 +01:00
2022-11-22 12:51:57 +01:00
Version 20.0a5
==============
*Released 2022-11-22*
This is the technical changelog for version 20.0a5. More elaborate release notes can be found in the news channel `@pythontelegrambotchannel <https://t.me/pythontelegrambotchannel>`_.
Major Changes
-------------
- API 6.3 (:pr:`3346`, :pr:`3343`, :pr:`3342`, :pr:`3360`)
- Explicit ``local_mode`` Setting (:pr:`3154`)
- Make Almost All 3rd Party Dependencies Optional (:pr:`3267`)
- Split ``File.download`` Into ``File.download_to_drive`` And ``File.download_to_memory`` (:pr:`3223`)
2022-11-22 12:51:57 +01:00
New Features
------------
- Add Properties for API Settings of ``Bot`` (:pr:`3247`)
- Add ``chat_id`` and ``username`` Parameters to ``ChatJoinRequestHandler`` (:pr:`3261`)
- Introduce ``TelegramObject.api_kwargs`` (:pr:`3233`)
- Add Two Constants Related to Local Bot API Servers (:pr:`3296`)
- Add ``recursive`` Parameter to ``TelegramObject.to_dict()`` (:pr:`3276`)
- Overhaul String Representation of ``TelegramObject`` (:pr:`3234`)
- Add Methods ``Chat.mention_{html, markdown, markdown_v2}`` (:pr:`3308`)
- Add ``constants.MessageLimit.DEEP_LINK_LENGTH`` (:pr:`3315`)
- Add Shortcut Parameters ``caption``, ``parse_mode`` and ``caption_entities`` to ``Bot.send_media_group`` (:pr:`3295`)
- Add Several New Enums To Constants (:pr:`3351`)
2022-11-22 12:51:57 +01:00
Bug Fixes
---------
- Fix ``CallbackQueryHandler`` Not Handling Non-String Data Correctly With Regex Patterns (:pr:`3252`)
- Fix Defaults Handling in ``Bot.answer_web_app_query`` (:pr:`3362`)
2022-11-22 12:51:57 +01:00
Documentation Improvements
--------------------------
- Update PR Template (:pr:`3361`)
- Document Dunder Methods of ``TelegramObject`` (:pr:`3319`)
- Add Several References to Wiki pages (:pr:`3306`)
- Overhaul Search bar (:pr:`3218`)
- Unify Documentation of Arguments and Attributes of Telegram Classes (:pr:`3217`, :pr:`3292`, :pr:`3303`, :pr:`3312`, :pr:`3314`)
- Several Smaller Improvements (:pr:`3214`, :pr:`3271`, :pr:`3289`, :pr:`3326`, :pr:`3370`, :pr:`3376`, :pr:`3366`)
2022-11-22 12:51:57 +01:00
Minor Changes, Documentation Improvements and CI
------------------------------------------------
- Improve Warning About Unknown ``ConversationHandler`` States (:pr:`3242`)
- Switch from Stale Bot to ``GitHub`` Actions (:pr:`3243`)
- Bump Python 3.11 to RC2 in Test Matrix (:pr:`3246`)
- Make ``Job.job`` a Property and Make ``Jobs`` Hashable (:pr:`3250`)
- Skip ``JobQueue`` Tests on Windows Again (:pr:`3280`)
- Read-Only ``CallbackDataCache`` (:pr:`3266`)
- Type Hinting Fix for ``Message.effective_attachment`` (:pr:`3294`)
- Run Unit Tests in Parallel (:pr:`3283`)
- Update Test Matrix to Use Stable Python 3.11 (:pr:`3313`)
- Don't Edit Objects In-Place When Inserting ``ext.Defaults`` (:pr:`3311`)
- Add a Test for ``MessageAttachmentType`` (:pr:`3335`)
- Add Three New Test Bots (:pr:`3347`)
- Improve Unit Tests Regarding ``ChatMemberUpdated.difference`` (:pr:`3352`)
- Flaky Unit Tests: Use ``pytest`` Marker (:pr:`3354`)
- Fix ``DeepSource`` Issues (:pr:`3357`)
- Handle Lists and Tuples and Datetimes Directly in ``TelegramObject.to_dict`` (:pr:`3353`)
- Update Meta Config (:pr:`3365`)
- Merge ``ChatDescriptionLimit`` Enum Into ``ChatLimit`` (:pr:`3377`)
2022-11-22 12:51:57 +01:00
Dependencies
------------
- Bump ``pytest`` from 7.1.2 to 7.1.3 (:pr:`3228`)
- ``pre-commit`` Updates (:pr:`3221`)
- Bump ``sphinx`` from 5.1.1 to 5.2.3 (:pr:`3269`)
- Bump ``furo`` from 2022.6.21 to 2022.9.29 (:pr:`3268`)
- Bump ``actions/stale`` from 5 to 6 (:pr:`3277`)
- ``pre-commit`` autoupdate (:pr:`3282`)
- Bump ``sphinx`` from 5.2.3 to 5.3.0 (:pr:`3300`)
- Bump ``pytest-asyncio`` from 0.19.0 to 0.20.1 (:pr:`3299`)
- Bump ``pytest`` from 7.1.3 to 7.2.0 (:pr:`3318`)
- Bump ``pytest-xdist`` from 2.5.0 to 3.0.2 (:pr:`3317`)
- ``pre-commit`` autoupdate (:pr:`3325`)
- Bump ``pytest-asyncio`` from 0.20.1 to 0.20.2 (:pr:`3359`)
- Update ``httpx`` requirement from ~=0.23.0 to ~=0.23.1 (:pr:`3373`)
2022-11-22 12:51:57 +01:00
2022-08-27 13:25:57 +02:00
Version 20.0a4
==============
*Released 2022-08-27*
This is the technical changelog for version 20.0a4. More elaborate release notes can be found in the news channel `@pythontelegrambotchannel <https://t.me/pythontelegrambotchannel>`_.
Hot Fixes
---------
* Fix a Bug in ``setup.py`` Regarding Optional Dependencies (:pr:`3209`)
2022-08-27 13:25:57 +02:00
2022-08-27 12:39:38 +02:00
Version 20.0a3
==============
*Released 2022-08-27*
This is the technical changelog for version 20.0a3. More elaborate release notes can be found in the news channel `@pythontelegrambotchannel <https://t.me/pythontelegrambotchannel>`_.
Major Changes
-------------
- Full Support for API 6.2 (:pr:`3195`)
2022-08-27 12:39:38 +02:00
New Features
------------
- New Rate Limiting Mechanism (:pr:`3148`)
- Make ``chat/user_data`` Available in Error Handler for Errors in Jobs (:pr:`3152`)
- Add ``Application.post_shutdown`` (:pr:`3126`)
2022-08-27 12:39:38 +02:00
Bug Fixes
---------
- Fix ``helpers.mention_markdown`` for Markdown V1 and Improve Related Unit Tests (:pr:`3155`)
- Add ``api_kwargs`` Parameter to ``Bot.log_out`` and Improve Related Unit Tests (:pr:`3147`)
- Make ``Bot.delete_my_commands`` a Coroutine Function (:pr:`3136`)
- Fix ``ConversationHandler.check_update`` not respecting ``per_user`` (:pr:`3128`)
2022-08-27 12:39:38 +02:00
Minor Changes, Documentation Improvements and CI
------------------------------------------------
- Add Python 3.11 to Test Suite & Adapt Enum Behaviour (:pr:`3168`)
- Drop Manual Token Validation (:pr:`3167`)
- Simplify Unit Tests for ``Bot.send_chat_action`` (:pr:`3151`)
- Drop ``pre-commit`` Dependencies from ``requirements-dev.txt`` (:pr:`3120`)
- Change Default Values for ``concurrent_updates`` and ``connection_pool_size`` (:pr:`3127`)
- Documentation Improvements (:pr:`3139`, :pr:`3153`, :pr:`3135`)
- Type Hinting Fixes (:pr:`3202`)
2022-08-27 12:39:38 +02:00
Dependencies
------------
- Bump ``sphinx`` from 5.0.2 to 5.1.1 (:pr:`3177`)
- Update ``pre-commit`` Dependencies (:pr:`3085`)
- Bump ``pytest-asyncio`` from 0.18.3 to 0.19.0 (:pr:`3158`)
- Update ``tornado`` requirement from ~=6.1 to ~=6.2 (:pr:`3149`)
- Bump ``black`` from 22.3.0 to 22.6.0 (:pr:`3132`)
- Bump ``actions/setup-python`` from 3 to 4 (:pr:`3131`)
2022-08-27 12:39:38 +02:00
2022-06-27 19:19:54 +02:00
Version 20.0a2
==============
*Released 2022-06-27*
This is the technical changelog for version 20.0a2. More elaborate release notes can be found in the news channel `@pythontelegrambotchannel <https://t.me/pythontelegrambotchannel>`_.
Major Changes
-------------
- Full Support for API 6.1 (:pr:`3112`)
2022-06-27 19:19:54 +02:00
New Features
------------
- Add Additional Shortcut Methods to ``Chat`` (:pr:`3115`)
- Mermaid-based Example State Diagrams (:pr:`3090`)
2022-06-27 19:19:54 +02:00
Minor Changes, Documentation Improvements and CI
------------------------------------------------
- Documentation Improvements (:pr:`3103`, :pr:`3121`, :pr:`3098`)
- Stabilize CI (:pr:`3119`)
- Bump ``pyupgrade`` from 2.32.1 to 2.34.0 (:pr:`3096`)
- Bump ``furo`` from 2022.6.4 to 2022.6.4.1 (:pr:`3095`)
- Bump ``mypy`` from 0.960 to 0.961 (:pr:`3093`)
2022-06-27 19:19:54 +02:00
2022-06-09 19:07:15 +02:00
Version 20.0a1
==============
*Released 2022-06-09*
This is the technical changelog for version 20.0a1. More elaborate release notes can be found in the news channel `@pythontelegrambotchannel <https://t.me/pythontelegrambotchannel>`_.
Major Changes:
--------------
- Drop Support for ``ujson`` and instead ``BaseRequest.parse_json_payload`` (:pr:`3037`, :pr:`3072`)
- Drop ``InputFile.is_image`` (:pr:`3053`)
- Drop Explicit Type conversions in ``__init__`` s (:pr:`3056`)
- Handle List-Valued Attributes More Consistently (:pr:`3057`)
- Split ``{Command, Prefix}Handler`` And Make Attributes Immutable (:pr:`3045`)
- Align Behavior Of ``JobQueue.run_daily`` With ``cron`` (:pr:`3046`)
- Make PTB Specific Keyword-Only Arguments for PTB Specific in Bot methods (:pr:`3035`)
- Adjust Equality Comparisons to Fit Bot API 6.0 (:pr:`3033`)
- Add Tuple Based Version Info (:pr:`3030`)
- Improve Type Annotations for ``CallbackContext`` and Move Default Type Alias to ``ContextTypes.DEFAULT_TYPE`` (:pr:`3017`, :pr:`3023`)
- Rename ``Job.context`` to ``Job.data`` (:pr:`3028`)
- Rename ``Handler`` to ``BaseHandler`` (:pr:`3019`)
2022-06-09 19:07:15 +02:00
New Features:
-------------
- Add ``Application.post_init`` (:pr:`3078`)
- Add Arguments ``chat/user_id`` to ``CallbackContext`` And Example On Custom Webhook Setups (:pr:`3059`)
- Add Convenience Property ``Message.id`` (:pr:`3077`)
- Add Example for ``WebApp`` (:pr:`3052`)
- Rename ``telegram.bot_api_version`` to ``telegram.__bot_api_version__`` (:pr:`3030`)
2022-06-09 19:07:15 +02:00
Bug Fixes:
----------
- Fix Non-Blocking Entry Point in ``ConversationHandler`` (:pr:`3068`)
- Escape Backslashes in ``escape_markdown`` (:pr:`3055`)
2022-06-09 19:07:15 +02:00
Dependencies:
-------------
- Update ``httpx`` requirement from ~=0.22.0 to ~=0.23.0 (:pr:`3069`)
- Update ``cachetools`` requirement from ~=5.0.0 to ~=5.2.0 (:pr:`3058`, :pr:`3080`)
2022-06-09 19:07:15 +02:00
Minor Changes, Documentation Improvements and CI:
-------------------------------------------------
- Move Examples To Documentation (:pr:`3089`)
- Documentation Improvements and Update Dependencies (:pr:`3010`, :pr:`3007`, :pr:`3012`, :pr:`3067`, :pr:`3081`, :pr:`3082`)
- Improve Some Unit Tests (:pr:`3026`)
- Update Code Quality dependencies (:pr:`3070`, :pr:`3032`,:pr:`2998`, :pr:`2999`)
- Don't Set Signal Handlers On Windows By Default (:pr:`3065`)
- Split ``{Command, Prefix}Handler`` And Make Attributes Immutable (:pr:`3045`)
- Apply ``isort`` and Update ``pre-commit.ci`` Configuration (:pr:`3049`)
- Adjust ``pre-commit`` Settings for ``isort`` (:pr:`3043`)
- Add Version Check to Examples (:pr:`3036`)
- Use ``Collection`` Instead of ``List`` and ``Tuple`` (:pr:`3025`)
- Remove Client-Side Parameter Validation (:pr:`3024`)
- Don't Pass Default Values of Optional Parameters to Telegram (:pr:`2978`)
- Stabilize ``Application.run_*`` on Python 3.7 (:pr:`3009`)
- Ignore Code Style Commits in ``git blame`` (:pr:`3003`)
- Adjust Tests to Changed API Behavior (:pr:`3002`)
2022-06-09 19:07:15 +02:00
2022-05-06 19:03:54 +02:00
Version 20.0a0
==============
*Released 2022-05-06*
This is the technical changelog for version 20.0a0. More elaborate release notes can be found in the news channel `@pythontelegrambotchannel <https://t.me/pythontelegrambotchannel>`_.
Major Changes:
--------------
- Refactor Initialization of Persistence Classes
(:pr:`2604`)
2022-05-06 19:03:54 +02:00
- Drop Non-``CallbackContext`` API
(:pr:`2617`)
2022-05-06 19:03:54 +02:00
- Remove ``__dict__`` from ``__slots__`` and drop Python 3.6
(:pr:`2619`,
:pr:`2636`)
2022-05-06 19:03:54 +02:00
- Move and Rename ``TelegramDecryptionError`` to
``telegram.error.PassportDecryptionError``
(:pr:`2621`)
2022-05-06 19:03:54 +02:00
- Make ``BasePersistence`` Methods Abstract
(:pr:`2624`)
2022-05-06 19:03:54 +02:00
- Remove ``day_is_strict`` argument of ``JobQueue.run_monthly``
(:pr:`2634`
2022-05-06 19:03:54 +02:00
by `iota-008 <https://github.com/iota-008>`__)
- Move ``Defaults`` to ``telegram.ext``
(:pr:`2648`)
2022-05-06 19:03:54 +02:00
- Remove Deprecated Functionality
(:pr:`2644`,
:pr:`2740`,
:pr:`2745`)
2022-05-06 19:03:54 +02:00
- Overhaul of Filters
(:pr:`2759`,
:pr:`2922`)
2022-05-06 19:03:54 +02:00
- Switch to ``asyncio`` and Refactor PTBs Architecture
(:pr:`2731`)
2022-05-06 19:03:54 +02:00
- Improve ``Job.__getattr__``
(:pr:`2832`)
2022-05-06 19:03:54 +02:00
- Remove ``telegram.ReplyMarkup``
(:pr:`2870`)
2022-05-06 19:03:54 +02:00
- Persistence of ``Bots``: Refactor Automatic Replacement and
Integration with ``TelegramObject``
(:pr:`2893`)
2022-05-06 19:03:54 +02:00
New Features:
-------------
- Introduce Builder Pattern
(:pr:`2646`)
2022-05-06 19:03:54 +02:00
- Add ``Filters.update.edited``
(:pr:`2705`
2022-05-06 19:03:54 +02:00
by `PhilippFr <https://github.com/PhilippFr>`__)
- Introduce ``Enums`` for ``telegram.constants``
(:pr:`2708`)
2022-05-06 19:03:54 +02:00
- Accept File Paths for ``private_key``
(:pr:`2724`)
2022-05-06 19:03:54 +02:00
- Associate ``Jobs`` with ``chat/user_id``
(:pr:`2731`)
2022-05-06 19:03:54 +02:00
- Convenience Functionality for ``ChatInviteLinks``
(:pr:`2782`)
2022-05-06 19:03:54 +02:00
- Add ``Dispatcher.add_handlers``
(:pr:`2823`)
2022-05-06 19:03:54 +02:00
- Improve Error Messages in ``CommandHandler.__init__``
(:pr:`2837`)
2022-05-06 19:03:54 +02:00
- ``Defaults.protect_content``
(:pr:`2840`)
2022-05-06 19:03:54 +02:00
- Add ``Dispatcher.migrate_chat_data``
(:pr:`2848`
2022-05-06 19:03:54 +02:00
by `DonalDuck004 <https://github.com/DonalDuck004>`__)
- Add Method ``drop_chat/user_data`` to ``Dispatcher`` and Persistence
(:pr:`2852`)
- Add methods ``ChatPermissions.{all, no}_permissions`` (:pr:`2948`)
2022-05-06 19:03:54 +02:00
- Full Support for API 6.0
(:pr:`2956`)
2022-05-06 19:03:54 +02:00
- Add Python 3.10 to Test Suite
(:pr:`2968`)
2022-05-06 19:03:54 +02:00
Bug Fixes & Minor Changes:
--------------------------
- Improve Type Hinting for ``CallbackContext``
(:pr:`2587`
2022-05-06 19:03:54 +02:00
by `revolter <https://github.com/revolter>`__)
- Fix Signatures and Improve ``test_official``
(:pr:`2643`)
2022-05-06 19:03:54 +02:00
- Refine ``Dispatcher.dispatch_error``
(:pr:`2660`)
2022-05-06 19:03:54 +02:00
- Make ``InlineQuery.answer`` Raise ``ValueError``
(:pr:`2675`)
2022-05-06 19:03:54 +02:00
- Improve Signature Inspection for Bot Methods
(:pr:`2686`)
2022-05-06 19:03:54 +02:00
- Introduce ``TelegramObject.set/get_bot``
(:pr:`2712`
2022-05-06 19:03:54 +02:00
by `zpavloudis <https://github.com/zpavloudis>`__)
- Improve Subscription of ``TelegramObject``
(:pr:`2719`
2022-05-06 19:03:54 +02:00
by `SimonDamberg <https://github.com/SimonDamberg>`__)
- Use Enums for Dynamic Types & Rename Two Attributes in ``ChatMember``
(:pr:`2817`)
2022-05-06 19:03:54 +02:00
- Return Plain Dicts from ``BasePersistence.get_*_data``
(:pr:`2873`)
2022-05-06 19:03:54 +02:00
- Fix a Bug in ``ChatMemberUpdated.difference``
(:pr:`2947`)
2022-05-06 19:03:54 +02:00
- Update Dependency Policy
(:pr:`2958`)
2022-05-06 19:03:54 +02:00
Internal Restructurings & Improvements:
---------------------------------------
- Add User Friendly Type Check For Init Of
``{Inline, Reply}KeyboardMarkup``
(:pr:`2657`)
2022-05-06 19:03:54 +02:00
- Warnings Overhaul
(:pr:`2662`)
2022-05-06 19:03:54 +02:00
- Clear Up Import Policy
(:pr:`2671`)
2022-05-06 19:03:54 +02:00
- Mark Internal Modules As Private
(:pr:`2687`
2022-05-06 19:03:54 +02:00
by `kencx <https://github.com/kencx>`__)
- Handle Filepaths via the ``pathlib`` Module
(:pr:`2688`
2022-05-06 19:03:54 +02:00
by `eldbud <https://github.com/eldbud>`__)
- Refactor MRO of ``InputMedia*`` and Some File-Like Classes
(:pr:`2717`
2022-05-06 19:03:54 +02:00
by `eldbud <https://github.com/eldbud>`__)
- Update Exceptions for Immutable Attributes
(:pr:`2749`)
2022-05-06 19:03:54 +02:00
- Refactor Warnings in ``ConversationHandler``
(:pr:`2755`,
:pr:`2784`)
2022-05-06 19:03:54 +02:00
- Use ``__all__`` Consistently
(:pr:`2805`)
2022-05-06 19:03:54 +02:00
CI, Code Quality & Test Suite Improvements:
-------------------------------------------
- Add Custom ``pytest`` Marker to Ease Development
(:pr:`2628`)
2022-05-06 19:03:54 +02:00
- Pass Failing Jobs to Error Handlers
(:pr:`2692`)
2022-05-06 19:03:54 +02:00
- Update Notification Workflows
(:pr:`2695`)
2022-05-06 19:03:54 +02:00
- Use Error Messages for ``pylint`` Instead of Codes
(:pr:`2700`
2022-05-06 19:03:54 +02:00
by `Piraty <https://github.com/Piraty>`__)
- Make Tests Agnostic of the CWD
(:pr:`2727`
2022-05-06 19:03:54 +02:00
by `eldbud <https://github.com/eldbud>`__)
- Update Code Quality Dependencies
(:pr:`2748`)
2022-05-06 19:03:54 +02:00
- Improve Code Quality
(:pr:`2783`)
2022-05-06 19:03:54 +02:00
- Update ``pre-commit`` Settings & Improve a Test
(:pr:`2796`)
2022-05-06 19:03:54 +02:00
- Improve Code Quality & Test Suite
(:pr:`2843`)
2022-05-06 19:03:54 +02:00
- Fix failing animation tests
(:pr:`2865`)
2022-05-06 19:03:54 +02:00
- Update and Expand Tests & pre-commit Settings and Improve Code
Quality
(:pr:`2925`)
2022-05-06 19:03:54 +02:00
- Extend Code Formatting With Black
(:pr:`2972`)
2022-05-06 19:03:54 +02:00
- Update Workflow Permissions
(:pr:`2984`)
2022-05-06 19:03:54 +02:00
- Adapt Tests to Changed ``Bot.get_file`` Behavior
(:pr:`2995`)
2022-05-06 19:03:54 +02:00
Documentation Improvements:
---------------------------
- Doc Fixes
(:pr:`2597`)
2022-05-06 19:03:54 +02:00
- Add Code Comment Guidelines to Contribution Guide
(:pr:`2612`)
2022-05-06 19:03:54 +02:00
- Add Cross-References to External Libraries & Other Documentation
Improvements
(:pr:`2693`,
:pr:`2691`
2022-05-06 19:03:54 +02:00
by `joesinghh <https://github.com/joesinghh>`__,
:pr:`2739`
2022-05-06 19:03:54 +02:00
by `eldbud <https://github.com/eldbud>`__)
- Use Furo Theme, Make Parameters Referenceable, Add Documentation
Building to CI, Improve Links to Source Code & Other Improvements
(:pr:`2856`,
:pr:`2798`,
:pr:`2854`,
:pr:`2841`)
2022-05-06 19:03:54 +02:00
- Documentation Fixes & Improvements
(:pr:`2822`)
2022-05-06 19:03:54 +02:00
- Replace ``git.io`` Links
(:pr:`2872`
2022-05-06 19:03:54 +02:00
by `murugu-21 <https://github.com/murugu-21>`__)
- Overhaul Readmes, Update RTD Startpage & Other Improvements
(:pr:`2969`)
2022-05-06 19:03:54 +02:00
2022-02-02 21:16:36 +01:00
Version 13.11
=============
*Released 2022-02-02*
This is the technical changelog for version 13.11. More elaborate release notes can be found in the news channel `@pythontelegrambotchannel <https://t.me/pythontelegrambotchannel>`_.
**Major Changes:**
- Full Support for Bot API 5.7 (:pr:`2881`)
2022-02-02 21:16:36 +01:00
2022-01-03 08:36:27 +01:00
Version 13.10
=============
*Released 2022-01-03*
This is the technical changelog for version 13.10. More elaborate release notes can be found in the news channel `@pythontelegrambotchannel <https://t.me/pythontelegrambotchannel>`_.
**Major Changes:**
- Full Support for API 5.6 (:pr:`2835`)
2022-01-03 08:36:27 +01:00
**Minor Changes & Doc fixes:**
- Update Copyright to 2022 (:pr:`2836`)
- Update Documentation of ``BotCommand`` (:pr:`2820`)
2022-01-03 08:36:27 +01:00
2021-12-11 15:44:21 +01:00
Version 13.9
============
*Released 2021-12-11*
This is the technical changelog for version 13.9. More elaborate release notes can be found in the news channel `@pythontelegrambotchannel <https://t.me/pythontelegrambotchannel>`_.
**Major Changes:**
- Full Support for Api 5.5 (:pr:`2809`)
2021-12-11 15:44:21 +01:00
**Minor Changes**
- Adjust Automated Locking of Inactive Issues (:pr:`2775`)
2021-12-11 15:44:21 +01:00
2021-11-08 20:09:23 +01:00
Version 13.8.1
==============
*Released 2021-11-08*
This is the technical changelog for version 13.8.1. More elaborate release notes can be found in the news channel `@pythontelegrambotchannel <https://t.me/pythontelegrambotchannel>`_.
**Doc fixes:**
- Add ``ChatJoinRequest(Handler)`` to Docs (:pr:`2771`)
2021-11-08 20:09:23 +01:00
2021-11-08 19:12:10 +01:00
Version 13.8
============
*Released 2021-11-08*
This is the technical changelog for version 13.8. More elaborate release notes can be found in the news channel `@pythontelegrambotchannel <https://t.me/pythontelegrambotchannel>`_.
**Major Changes:**
- Full support for API 5.4 (:pr:`2767`)
2021-11-08 19:12:10 +01:00
**Minor changes, CI improvements, Doc fixes and Type hinting:**
- Create Issue Template Forms (:pr:`2689`)
- Fix ``camelCase`` Functions in ``ExtBot`` (:pr:`2659`)
- Fix Empty Captions not Being Passed by ``Bot.copy_message`` (:pr:`2651`)
- Fix Setting Thumbs When Uploading A Single File (:pr:`2583`)
- Fix Bug in ``BasePersistence.insert``/``replace_bot`` for Objects with ``__dict__`` not in ``__slots__`` (:pr:`2603`)
2021-11-08 19:12:10 +01:00
2021-07-01 18:03:38 +02:00
Version 13.7
============
*Released 2021-07-01*
This is the technical changelog for version 13.7. More elaborate release notes can be found in the news channel `@pythontelegrambotchannel <https://t.me/pythontelegrambotchannel>`_.
**Major Changes:**
- Full support for Bot API 5.3 (:pr:`2572`)
2021-07-01 18:03:38 +02:00
**Bug Fixes:**
- Fix Bug in ``BasePersistence.insert/replace_bot`` for Objects with ``__dict__`` in their slots (:pr:`2561`)
- Remove Incorrect Warning About ``Defaults`` and ``ExtBot`` (:pr:`2553`)
2021-07-01 18:03:38 +02:00
**Minor changes, CI improvements, Doc fixes and Type hinting:**
- Type Hinting Fixes (:pr:`2552`)
- Doc Fixes (:pr:`2551`)
- Improve Deprecation Warning for ``__slots__`` (:pr:`2574`)
- Stabilize CI (:pr:`2575`)
- Fix Coverage Configuration (:pr:`2571`)
- Better Exception-Handling for ``BasePersistence.replace/insert_bot`` (:pr:`2564`)
- Remove Deprecated ``pass_args`` from Deeplinking Example (:pr:`2550`)
2021-07-01 18:03:38 +02:00
2021-06-06 12:28:01 +02:00
Version 13.6
============
*Released 2021-06-06*
New Features:
- Arbitrary ``callback_data`` (:pr:`1844`)
- Add ``ContextTypes`` & ``BasePersistence.refresh_user/chat/bot_data`` (:pr:`2262`)
- Add ``Filters.attachment`` (:pr:`2528`)
- Add ``pattern`` Argument to ``ChosenInlineResultHandler`` (:pr:`2517`)
2021-06-06 12:28:01 +02:00
Major Changes:
- Add ``slots`` (:pr:`2345`)
2021-06-06 12:28:01 +02:00
Minor changes, CI improvements, Doc fixes and Type hinting:
- Doc Fixes (:pr:`2495`, :pr:`2510`)
- Add ``max_connections`` Parameter to ``Updater.start_webhook`` (:pr:`2547`)
- Fix for ``Promise.done_callback`` (:pr:`2544`)
- Improve Code Quality (:pr:`2536`, :pr:`2454`)
- Increase Test Coverage of ``CallbackQueryHandler`` (:pr:`2520`)
- Stabilize CI (:pr:`2522`, :pr:`2537`, :pr:`2541`)
- Fix ``send_phone_number_to_provider`` argument for ``Bot.send_invoice`` (:pr:`2527`)
- Handle Classes as Input for ``BasePersistence.replace/insert_bot`` (:pr:`2523`)
- Bump Tornado Version and Remove Workaround from :pr:`2067` (:pr:`2494`)
2021-06-06 12:28:01 +02:00
2021-04-30 11:15:38 +02:00
Version 13.5
============
*Released 2021-04-30*
**Major Changes:**
- Full support of Bot API 5.2 (:pr:`2489`).
2021-04-30 11:15:38 +02:00
.. note::
The ``start_parameter`` argument of ``Bot.send_invoice`` and the corresponding shortcuts is now optional, so the order of
parameters had to be changed. Make sure to update your method calls accordingly.
- Update ``ChatActions``, Deprecating ``ChatAction.RECORD_AUDIO`` and ``ChatAction.UPLOAD_AUDIO`` (:pr:`2460`)
2021-04-30 11:15:38 +02:00
**New Features:**
- Convenience Utilities & Example for Handling ``ChatMemberUpdated`` (:pr:`2490`)
- ``Filters.forwarded_from`` (:pr:`2446`)
2021-04-30 11:15:38 +02:00
**Minor changes, CI improvements, Doc fixes and Type hinting:**
- Improve Timeouts in ``ConversationHandler`` (:pr:`2417`)
- Stabilize CI (:pr:`2480`)
- Doc Fixes (:pr:`2437`)
- Improve Type Hints of Data Filters (:pr:`2456`)
- Add Two ``UserWarnings`` (:pr:`2464`)
- Improve Code Quality (:pr:`2450`)
- Update Fallback Test-Bots (:pr:`2451`)
- Improve Examples (:pr:`2441`, :pr:`2448`)
2021-04-30 11:15:38 +02:00
2021-03-14 19:21:44 +01:00
Version 13.4.1
==============
*Released 2021-03-14*
**Hot fix release:**
- Fixed a bug in ``setup.py`` (:pr:`2431`)
2021-03-14 19:21:44 +01:00
2021-03-14 17:00:26 +01:00
Version 13.4
============
*Released 2021-03-14*
**Major Changes:**
- Full support of Bot API 5.1 (:pr:`2424`)
2021-03-14 17:00:26 +01:00
**Minor changes, CI improvements, doc fixes and type hinting:**
- Improve ``Updater.set_webhook`` (:pr:`2419`)
- Doc Fixes (:pr:`2404`)
- Type Hinting Fixes (:pr:`2425`)
- Update ``pre-commit`` Settings (:pr:`2415`)
- Fix Logging for Vendored ``urllib3`` (:pr:`2427`)
- Stabilize Tests (:pr:`2409`)
2021-03-14 17:00:26 +01:00
2021-02-19 19:55:07 +01:00
Version 13.3
============
*Released 2021-02-19*
**Major Changes:**
- Make ``cryptography`` Dependency Optional & Refactor Some Tests (:pr:`2386`, :pr:`2370`)
- Deprecate ``MessageQueue`` (:pr:`2393`)
2021-02-19 19:55:07 +01:00
**Bug Fixes:**
- Refactor ``Defaults`` Integration (:pr:`2363`)
- Add Missing ``telegram.SecureValue`` to init and Docs (:pr:`2398`)
2021-02-19 19:55:07 +01:00
**Minor changes:**
- Doc Fixes (:pr:`2359`)
2021-02-19 19:55:07 +01:00
2021-02-02 20:57:14 +01:00
Version 13.2
============
*Released 2021-02-02*
**Major Changes:**
- Introduce ``python-telegram-bot-raw`` (:pr:`2324`)
- Explicit Signatures for Shortcuts (:pr:`2240`)
2021-02-02 20:57:14 +01:00
**New Features:**
- Add Missing Shortcuts to ``Message`` (:pr:`2330`)
- Rich Comparison for ``Bot`` (:pr:`2320`)
- Add ``run_async`` Parameter to ``ConversationHandler`` (:pr:`2292`)
- Add New Shortcuts to ``Chat`` (:pr:`2291`)
- Add New Constant ``MAX_ANSWER_CALLBACK_QUERY_TEXT_LENGTH`` (:pr:`2282`)
- Allow Passing Custom Filename For All Media (:pr:`2249`)
- Handle Bytes as File Input (:pr:`2233`)
2021-02-02 20:57:14 +01:00
**Bug Fixes:**
- Fix Escaping in Nested Entities in ``Message`` Properties (:pr:`2312`)
- Adjust Calling of ``Dispatcher.update_persistence`` (:pr:`2285`)
- Add ``quote`` kwarg to ``Message.reply_copy`` (:pr:`2232`)
- ``ConversationHandler``: Docs & ``edited_channel_post`` behavior (:pr:`2339`)
2021-02-02 20:57:14 +01:00
**Minor changes, CI improvements, doc fixes and type hinting:**
- Doc Fixes (:pr:`2253`, :pr:`2225`)
- Reduce Usage of ``typing.Any`` (:pr:`2321`)
- Extend Deeplinking Example (:pr:`2335`)
- Add pyupgrade to pre-commit Hooks (:pr:`2301`)
- Add PR Template (:pr:`2299`)
- Drop Nightly Tests & Update Badges (:pr:`2323`)
- Update Copyright (:pr:`2289`, :pr:`2287`)
- Change Order of Class DocStrings (:pr:`2256`)
- Add macOS to Test Matrix (:pr:`2266`)
- Start Using Versioning Directives in Docs (:pr:`2252`)
- Improve Annotations & Docs of Handlers (:pr:`2243`)
2021-02-02 20:57:14 +01:00
2020-11-29 17:01:03 +01:00
Version 13.1
============
*Released 2020-11-29*
**Major Changes:**
- Full support of Bot API 5.0 (:pr:`2181`, :pr:`2186`, :pr:`2190`, :pr:`2189`, :pr:`2183`, :pr:`2184`, :pr:`2188`, :pr:`2185`, :pr:`2192`, :pr:`2196`, :pr:`2193`, :pr:`2223`, :pr:`2199`, :pr:`2187`, :pr:`2147`, :pr:`2205`)
2020-11-29 17:01:03 +01:00
**New Features:**
- Add ``Defaults.run_async`` (:pr:`2210`)
- Improve and Expand ``CallbackQuery`` Shortcuts (:pr:`2172`)
- Add XOR Filters and make ``Filters.name`` a Property (:pr:`2179`)
- Add ``Filters.document.file_extension`` (:pr:`2169`)
- Add ``Filters.caption_regex`` (:pr:`2163`)
- Add ``Filters.chat_type`` (:pr:`2128`)
- Handle Non-Binary File Input (:pr:`2202`)
2020-11-29 17:01:03 +01:00
**Bug Fixes:**
- Improve Handling of Custom Objects in ``BasePersistence.insert``/``replace_bot`` (:pr:`2151`)
- Fix bugs in ``replace/insert_bot`` (:pr:`2218`)
2020-11-29 17:01:03 +01:00
**Minor changes, CI improvements, doc fixes and type hinting:**
- Improve Type hinting (:pr:`2204`, :pr:`2118`, :pr:`2167`, :pr:`2136`)
- Doc Fixes & Extensions (:pr:`2201`, :pr:`2161`)
- Use F-Strings Where Possible (:pr:`2222`)
- Rename kwargs to _kwargs where possible (:pr:`2182`)
- Comply with PEP561 (:pr:`2168`)
- Improve Code Quality (:pr:`2131`)
- Switch Code Formatting to Black (:pr:`2122`, :pr:`2159`, :pr:`2158`)
- Update Wheel Settings (:pr:`2142`)
- Update ``timerbot.py`` to ``v13.0`` (:pr:`2149`)
- Overhaul Constants (:pr:`2137`)
- Add Python 3.9 to Test Matrix (:pr:`2132`)
- Switch Codecov to ``GitHub`` Action (:pr:`2127`)
- Specify Required pytz Version (:pr:`2121`)
2020-11-29 17:01:03 +01:00
2020-10-07 21:23:55 +02:00
Version 13.0
============
*Released 2020-10-07*
**For a detailed guide on how to migrate from v12 to v13, see this** `wiki page <https://github.com/python-telegram-bot/python-telegram-bot/wiki/Transition-guide-to-Version-13.0>`_.
**Major Changes:**
- Deprecate old-style callbacks, i.e. set ``use_context=True`` by default (:pr:`2050`)
- Refactor Handling of Message VS Update Filters (:pr:`2032`)
- Deprecate ``Message.default_quote`` (:pr:`1965`)
- Refactor persistence of Bot instances (:pr:`1994`)
- Refactor ``JobQueue`` (:pr:`1981`)
- Refactor handling of kwargs in Bot methods (:pr:`1924`)
- Refactor ``Dispatcher.run_async``, deprecating the ``@run_async`` decorator (:pr:`2051`)
2020-10-07 21:23:55 +02:00
**New Features:**
- Type Hinting (:pr:`1920`)
- Automatic Pagination for ``answer_inline_query`` (:pr:`2072`)
- ``Defaults.tzinfo`` (:pr:`2042`)
- Extend rich comparison of objects (:pr:`1724`)
- Add ``Filters.via_bot`` (:pr:`2009`)
- Add missing shortcuts (:pr:`2043`)
- Allow ``DispatcherHandlerStop`` in ``ConversationHandler`` (:pr:`2059`)
- Make Errors picklable (:pr:`2106`)
2020-10-07 21:23:55 +02:00
**Minor changes, CI improvements, doc fixes or bug fixes:**
- Fix Webhook not working on Windows with Python 3.8+ (:pr:`2067`)
- Fix setting thumbs with ``send_media_group`` (:pr:`2093`)
- Make ``MessageHandler`` filter for ``Filters.update`` first (:pr:`2085`)
- Fix ``PicklePersistence.flush()`` with only ``bot_data`` (:pr:`2017`)
- Add test for clean argument of ``Updater.start_polling/webhook`` (:pr:`2002`)
- Doc fixes, refinements and additions (:pr:`2005`, :pr:`2008`, :pr:`2089`, :pr:`2094`, :pr:`2090`)
- CI fixes (:pr:`2018`, :pr:`2061`)
- Refine ``pollbot.py`` example (:pr:`2047`)
- Refine Filters in examples (:pr:`2027`)
- Rename ``echobot`` examples (:pr:`2025`)
- Use Lock-Bot to lock old threads (:pr:`2048`, :pr:`2052`, :pr:`2049`, :pr:`2053`)
2020-10-07 21:23:55 +02:00
2020-06-22 20:20:00 +02:00
Version 12.8
============
*Released 2020-06-22*
**Major Changes:**
- Remove Python 2 support (:pr:`1715`)
- Bot API 4.9 support (:pr:`1980`)
- IDs/Usernames of ``Filters.user`` and ``Filters.chat`` can now be updated (:pr:`1757`)
2020-06-22 20:20:00 +02:00
**Minor changes, CI improvements, doc fixes or bug fixes:**
- Update contribution guide and stale bot (:pr:`1937`)
- Remove ``NullHandlers`` (:pr:`1913`)
- Improve and expand examples (:pr:`1943`, :pr:`1995`, :pr:`1983`, :pr:`1997`)
- Doc fixes (:pr:`1940`, :pr:`1962`)
- Add ``User.send_poll()`` shortcut (:pr:`1968`)
- Ignore private attributes en ``TelegramObject.to_dict()`` (:pr:`1989`)
- Stabilize CI (:pr:`2000`)
2020-06-22 20:20:00 +02:00
2020-05-02 12:14:38 +02:00
Version 12.7
============
*Released 2020-05-02*
**Major Changes:**
- Bot API 4.8 support. **Note:** The ``Dice`` object now has a second positional argument ``emoji``. This is relevant, if you instantiate ``Dice`` objects manually. (:pr:`1917`)
- Added ``tzinfo`` argument to ``helpers.from_timestamp``. It now returns an timezone aware object. This is relevant for ``Message.{date,forward_date,edit_date}``, ``Poll.close_date`` and ``ChatMember.until_date`` (:pr:`1621`)
2020-05-02 12:14:38 +02:00
**New Features:**
- New method ``run_monthly`` for the ``JobQueue`` (:pr:`1705`)
- ``Job.next_t`` now gives the datetime of the jobs next execution (:pr:`1685`)
2020-05-02 12:14:38 +02:00
**Minor changes, CI improvements, doc fixes or bug fixes:**
- Stabalize CI (:pr:`1919`, :pr:`1931`)
- Use ABCs ``@abstractmethod`` instead of raising ``NotImplementedError`` for ``Handler``, ``BasePersistence`` and ``BaseFilter`` (:pr:`1905`)
- Doc fixes (:pr:`1914`, :pr:`1902`, :pr:`1910`)
2020-05-02 12:14:38 +02:00
2020-04-11 09:53:29 +02:00
Version 12.6.1
==============
*Released 2020-04-11*
**Bug fixes:**
- Fix serialization of ``reply_markup`` in media messages (:pr:`1889`)
2020-04-11 09:53:29 +02:00
2020-04-10 23:52:08 +02:00
Version 12.6
============
*Released 2020-04-10*
**Major Changes:**
- Bot API 4.7 support. **Note:** In ``Bot.create_new_sticker_set`` and ``Bot.add_sticker_to_set``, the order of the parameters had be changed, as the ``png_sticker`` parameter is now optional. (:pr:`1858`)
2020-04-10 23:52:08 +02:00
**Minor changes, CI improvements or bug fixes:**
- Add tests for ``swtich_inline_query(_current_chat)`` with empty string (:pr:`1635`)
- Doc fixes (:pr:`1854`, :pr:`1874`, :pr:`1884`)
- Update issue templates (:pr:`1880`)
- Favor concrete types over "Iterable" (:pr:`1882`)
- Pass last valid ``CallbackContext`` to ``TIMEOUT`` handlers of ``ConversationHandler`` (:pr:`1826`)
- Tweak handling of persistence and update persistence after job calls (:pr:`1827`)
- Use checkout@v2 for GitHub actions (:pr:`1887`)
2020-04-10 23:52:08 +02:00
2020-03-30 18:25:53 +02:00
Version 12.5.1
==============
*Released 2020-03-30*
**Minor changes, doc fixes or bug fixes:**
- Add missing docs for `PollHandler` and `PollAnswerHandler` (:pr:`1853`)
- Fix wording in `Filters` docs (:pr:`1855`)
- Reorder tests to make them more stable (:pr:`1835`)
- Make `ConversationHandler` attributes immutable (:pr:`1756`)
- Make `PrefixHandler` attributes `command` and `prefix` editable (:pr:`1636`)
- Fix UTC as default `tzinfo` for `Job` (:pr:`1696`)
2020-03-30 18:25:53 +02:00
2020-03-29 10:01:11 +02:00
Version 12.5
============
*Released 2020-03-29*
**New Features:**
- `Bot.link` gives the `t.me` link of the bot (:pr:`1770`)
2020-03-29 10:01:11 +02:00
**Major Changes:**
- Bot API 4.5 and 4.6 support. (:pr:`1508`, :pr:`1723`)
2020-03-29 10:01:11 +02:00
**Minor changes, CI improvements or bug fixes:**
- Remove legacy CI files (:pr:`1783`, :pr:`1791`)
- Update pre-commit config file (:pr:`1787`)
- Remove builtin names (:pr:`1792`)
- CI improvements (:pr:`1808`, :pr:`1848`)
- Support Python 3.8 (:pr:`1614`, :pr:`1824`)
- Use stale bot for auto closing stale issues (:pr:`1820`, :pr:`1829`, :pr:`1840`)
- Doc fixes (:pr:`1778`, :pr:`1818`)
- Fix typo in `edit_message_media` (:pr:`1779`)
- In examples, answer CallbackQueries and use `edit_message_text` shortcut (:pr:`1721`)
- Revert accidental change in vendored urllib3 (:pr:`1775`)
2020-03-29 10:01:11 +02:00
2020-02-10 11:39:26 +01:00
Version 12.4.2
==============
*Released 2020-02-10*
**Bug Fixes**
- Pass correct parse_mode to InlineResults if bot.defaults is None (:pr:`1763`)
- Make sure PP can read files that dont have bot_data (:pr:`1760`)
2020-02-10 11:39:26 +01:00
2020-02-08 14:06:05 +01:00
Version 12.4.1
==============
*Released 2020-02-08*
This is a quick release for :pr:`1744` which was accidently left out of v12.4.0 though mentioned in the
2020-02-08 14:06:05 +01:00
release notes.
2020-02-08 08:54:06 +01:00
Version 12.4.0
==============
*Released 2020-02-08*
**New features:**
- Set default values for arguments appearing repeatedly. We also have a `wiki page for the new defaults`_. (:pr:`1490`)
- Store data in ``CallbackContext.bot_data`` to access it in every callback. Also persists. (:pr:`1325`)
- ``Filters.poll`` allows only messages containing a poll (:pr:`1673`)
2020-02-08 08:54:06 +01:00
**Major changes:**
- ``Filters.text`` now accepts messages that start with a slash, because ``CommandHandler`` checks for ``MessageEntity.BOT_COMMAND`` since v12. This might lead to your MessageHandlers receiving more updates than before (:pr:`1680`).
- ``Filters.command`` new checks for ``MessageEntity.BOT_COMMAND`` instead of just a leading slash. Also by ``Filters.command(False)`` you can now filters for messages containing a command `anywhere` in the text (:pr:`1744`).
2020-02-08 08:54:06 +01:00
**Minor changes, CI improvements or bug fixes:**
- Add ``disptacher`` argument to ``Updater`` to allow passing a customized ``Dispatcher`` (:pr:`1484`)
- Add missing names for ``Filters`` (:pr:`1632`)
- Documentation fixes (:pr:`1624`, :pr:`1647`, :pr:`1669`, :pr:`1703`, :pr:`1718`, :pr:`1734`, :pr:`1740`, :pr:`1642`, :pr:`1739`, :pr:`1746`)
- CI improvements (:pr:`1716`, :pr:`1731`, :pr:`1738`, :pr:`1748`, :pr:`1749`, :pr:`1750`, :pr:`1752`)
- Fix spelling issue for ``encode_conversations_to_json`` (:pr:`1661`)
- Remove double assignement of ``Dispatcher.job_queue`` (:pr:`1698`)
- Expose dispatcher as property for ``CallbackContext`` (:pr:`1684`)
- Fix ``None`` check in ``JobQueue._put()`` (:pr:`1707`)
- Log datetimes correctly in ``JobQueue`` (:pr:`1714`)
- Fix false ``Message.link`` creation for private groups (:pr:`1741`)
- Add option ``--with-upstream-urllib3`` to `setup.py` to allow using non-vendored version (:pr:`1725`)
- Fix persistence for nested ``ConversationHandlers`` (:pr:`1679`)
- Improve handling of non-decodable server responses (:pr:`1623`)
- Fix download for files without ``file_path`` (:pr:`1591`)
- test_webhook_invalid_posts is now considered flaky and retried on failure (:pr:`1758`)
2020-02-08 08:54:06 +01:00
.. _`wiki page for the new defaults`: https://github.com/python-telegram-bot/python-telegram-bot/wiki/Adding-defaults-to-your-bot
2019-11-23 20:19:20 +01:00
Version 12.3.0
==============
*Released 2020-01-11*
2019-11-23 20:19:20 +01:00
**New features:**
- `Filters.caption` allows only messages with caption (:pr:`1631`).
- Filter for exact messages/captions with new capability of `Filters.text` and `Filters.caption`. Especially useful in combination with ReplyKeyboardMarkup. (:pr:`1631`).
2019-11-23 20:19:20 +01:00
**Major changes:**
- Fix inconsistent handling of naive datetimes (:pr:`1506`).
2019-11-23 20:19:20 +01:00
2020-02-08 08:54:06 +01:00
**Minor changes, CI improvements or bug fixes:**
2019-11-23 20:19:20 +01:00
- Documentation fixes (:pr:`1558`, :pr:`1569`, :pr:`1579`, :pr:`1572`, :pr:`1566`, :pr:`1577`, :pr:`1656`).
- Add mutex protection on `ConversationHandler` (:pr:`1533`).
- Add `MAX_PHOTOSIZE_UPLOAD` constant (:pr:`1560`).
- Add args and kwargs to `Message.forward()` (:pr:`1574`).
- Transfer to GitHub Actions CI (:pr:`1555`, :pr:`1556`, :pr:`1605`, :pr:`1606`, :pr:`1607`, :pr:`1612`, :pr:`1615`, :pr:`1645`).
- Fix deprecation warning with Py3.8 by vendored urllib3 (:pr:`1618`).
- Simplify assignements for optional arguments (:pr:`1600`)
- Allow private groups for `Message.link` (:pr:`1619`).
- Fix wrong signature call for `ConversationHandler.TIMEOUT` handlers (:pr:`1653`).
2019-11-23 20:19:20 +01:00
2019-10-14 20:12:13 +02:00
Version 12.2.0
==============
2019-11-23 20:19:20 +01:00
*Released 2019-10-14*
2019-10-14 20:12:13 +02:00
**New features:**
- Nested ConversationHandlers (:pr:`1512`).
2019-10-14 20:12:13 +02:00
**Minor changes, CI improvments or bug fixes:**
- Fix CI failures due to non-backward compat attrs depndency (:pr:`1540`).
2019-10-14 20:12:13 +02:00
- travis.yaml: TEST_OFFICIAL removed from allowed_failures.
- Fix typos in examples (:pr:`1537`).
- Fix Bot.to_dict to use proper first_name (:pr:`1525`).
- Refactor ``test_commandhandler.py`` (:pr:`1408`).
- Add Python 3.8 (RC version) to Travis testing matrix (:pr:`1543`).
- test_bot.py: Add to_dict test (:pr:`1544`).
- Flake config moved into setup.cfg (:pr:`1546`).
2019-10-14 20:12:13 +02:00
2019-09-17 10:30:52 +02:00
Version 12.1.1
==============
*Released 2019-09-18*
**Hot fix release**
Fixed regression in the vendored urllib3 (:pr:`1517`).
2019-09-17 10:30:52 +02:00
2019-09-13 21:29:06 +02:00
Version 12.1.0
================
*Released 2019-09-13*
**Major changes:**
- Bot API 4.4 support (:pr:`1464`, :pr:`1510`)
2019-09-13 21:29:06 +02:00
- Add `get_file` method to `Animation` & `ChatPhoto`. Add, `get_small_file` & `get_big_file`
methods to `ChatPhoto` (:pr:`1489`)
- Tools for deep linking (:pr:`1049`)
2019-09-13 21:29:06 +02:00
**Minor changes and/or bug fixes:**
- Documentation fixes (:pr:`1500`, :pr:`1499`)
- Improved examples (:pr:`1502`)
2019-09-13 21:29:06 +02:00
Version 12.0.0
2019-02-13 13:41:04 +01:00
================
2019-08-29 20:25:28 +02:00
*Released 2019-08-29*
2019-02-13 13:41:04 +01:00
Well... This felt like decades. But here we are with a new release.
2019-02-13 13:41:04 +01:00
Expect minor releases soon (mainly complete Bot API 4.4 support)
2019-02-13 13:41:04 +01:00
**Major and/or breaking changes:**
2019-02-13 13:41:04 +01:00
- Context based callbacks
- Persistence
- PrefixHandler added (Handler overhaul)
- Deprecation of RegexHandler and edited_messages, channel_post, etc. arguments (Filter overhaul)
- Various ConversationHandler changes and fixes
- Bot API 4.1, 4.2, 4.3 support
- Python 3.4 is no longer supported
- Error Handler now handles all types of exceptions (:pr:`1485`)
- Return UTC from from_timestamp() (:pr:`1485`)
**See the wiki page at https://github.com/python-telegram-bot/python-telegram-bot/wiki/Transition-guide-to-Version-12.0 for a detailed guide on how to migrate from version 11 to version 12.**
2019-02-13 13:41:04 +01:00
Context based callbacks (:pr:`1100`)
------------------------------------
2019-02-13 13:41:04 +01:00
- Use of ``pass_`` in handlers is deprecated.
- Instead use ``use_context=True`` on ``Updater`` or ``Dispatcher`` and change callback from (bot, update, others...) to (update, context).
- This also applies to error handlers ``Dispatcher.add_error_handler`` and JobQueue jobs (change (bot, job) to (context) here).
- For users with custom handlers subclassing Handler, this is mostly backwards compatible, but to use the new context based callbacks you need to implement the new collect_additional_context method.
2019-02-13 13:41:04 +01:00
- Passing bot to ``JobQueue.__init__`` is deprecated. Use JobQueue.set_dispatcher with a dispatcher instead.
- Dispatcher makes sure to use a single `CallbackContext` for a entire update. This means that if an update is handled by multiple handlers (by using the group argument), you can add custom arguments to the `CallbackContext` in a lower group handler and use it in higher group handler. NOTE: Never use with @run_async, see docs for more info. (:pr:`1283`)
2019-02-13 13:41:04 +01:00
- If you have custom handlers they will need to be updated to support the changes in this release.
- Update all examples to use context based callbacks.
Persistence (:pr:`1017`)
------------------------
2019-02-13 13:41:04 +01:00
- Added PicklePersistence and DictPersistence for adding persistence to your bots.
- BasePersistence can be subclassed for all your persistence needs.
- Add a new example that shows a persistent ConversationHandler bot
2019-02-13 13:41:04 +01:00
Handler overhaul (:pr:`1114`)
-----------------------------
2019-02-13 13:41:04 +01:00
- CommandHandler now only triggers on actual commands as defined by telegram servers (everything that the clients mark as a tabable link).
- PrefixHandler can be used if you need to trigger on prefixes (like all messages starting with a "/" (old CommandHandler behaviour) or even custom prefixes like "#" or "!").
Filter overhaul (:pr:`1221`)
----------------------------
2019-02-13 13:41:04 +01:00
- RegexHandler is deprecated and should be replaced with a MessageHandler with a regex filter.
- Use update filters to filter update types instead of arguments (message_updates, channel_post_updates and edited_updates) on the handlers.
- Completely remove allow_edited argument - it has been deprecated for a while.
- data_filters now exist which allows filters that return data into the callback function. This is how the regex filter is implemented.
- All this means that it no longer possible to use a list of filters in a handler. Use bitwise operators instead!
ConversationHandler
-------------------
- Remove ``run_async_timeout`` and ``timed_out_behavior`` arguments (:pr:`1344`)
- Replace with ``WAITING`` constant and behavior from states (:pr:`1344`)
- Only emit one warning for multiple CallbackQueryHandlers in a ConversationHandler (:pr:`1319`)
- Use warnings.warn for ConversationHandler warnings (:pr:`1343`)
- Fix unresolvable promises (:pr:`1270`)
2019-02-13 13:41:04 +01:00
Bug fixes & improvements
------------------------
- Handlers should be faster due to deduped logic.
- Avoid compiling compiled regex in regex filter. (:pr:`1314`)
- Add missing ``left_chat_member`` to Message.MESSAGE_TYPES (:pr:`1336`)
- Make custom timeouts actually work properly (:pr:`1330`)
2019-02-13 13:41:04 +01:00
- Add convenience classmethods (from_button, from_row and from_column) to InlineKeyboardMarkup
- Small typo fix in setup.py (:pr:`1306`)
- Add Conflict error (HTTP error code 409) (:pr:`1154`)
- Change MAX_CAPTION_LENGTH to 1024 (:pr:`1262`)
- Remove some unnecessary clauses (:pr:`1247`, :pr:`1239`)
- Allow filenames without dots in them when sending files (:pr:`1228`)
- Fix uploading files with unicode filenames (:pr:`1214`)
- Replace http.server with Tornado (:pr:`1191`)
- Allow SOCKSConnection to parse username and password from URL (:pr:`1211`)
- Fix for arguments in passport/data.py (:pr:`1213`)
- Improve message entity parsing by adding text_mention (:pr:`1206`)
- Documentation fixes (:pr:`1348`, :pr:`1397`, :pr:`1436`)
- Merged filters short-circuit (:pr:`1350`)
- Fix webhook listen with tornado (:pr:`1383`)
- Call task_done() on update queue after update processing finished (:pr:`1428`)
- Fix send_location() - latitude may be 0 (:pr:`1437`)
- Make MessageEntity objects comparable (:pr:`1465`)
- Add prefix to thread names (:pr:`1358`)
2019-02-13 13:41:04 +01:00
Buf fixes since v12.0.0b1
-------------------------
- Fix setting bot on ShippingQuery (:pr:`1355`)
- Fix _trigger_timeout() missing 1 required positional argument: 'job' (:pr:`1367`)
- Add missing message.text check in PrefixHandler check_update (:pr:`1375`)
- Make updates persist even on DispatcherHandlerStop (:pr:`1463`)
- Dispatcher force updating persistence object's chat data attribute(:pr:`1462`)
2019-02-13 13:41:04 +01:00
Internal improvements
---------------------
- Finally fix our CI builds mostly (too many commits and PRs to list)
- Use multiple bots for CI to improve testing times significantly.
- Allow pypy to fail in CI.
- Remove the last CamelCase CheckUpdate methods from the handlers we missed earlier.
- test_official is now executed in a different job
Version 11.1.0
==============
*Released 2018-09-01*
2018-09-01 17:27:35 +02:00
Fixes and updates for Telegram Passport: (:pr:`1198`)
2018-09-01 17:27:35 +02:00
- Fix passport decryption failing at random times
- Added support for middle names.
- Added support for translations for documents
- Add errors for translations for documents
- Added support for requesting names in the language of the user's country of residence
- Replaced the payload parameter with the new parameter nonce
- Add hash to EncryptedPassportElement
Version 11.0.0
==============
*Released 2018-08-29*
Bot API 4.0 (#1168) Telegram Passport (#1174): - Add full support for telegram passport. - New types: PassportData, PassportFile, EncryptedPassportElement, EncryptedCredentials, PassportElementError, PassportElementErrorDataField, PassportElementErrorFrontSide, PassportElementErrorReverseSide, PassportElementErrorSelfie, PassportElementErrorFile and PassportElementErrorFiles. - New bot method: set_passport_data_errors - New filter: Filters.passport_data - Field passport_data field on Message - PassportData is automagically decrypted when you specify your private key when creating Updater or Bot. - PassportFiles is also automagically decrypted as you download/retrieve them. - See new passportbot.py example for details on how to use, or go to our telegram passport wiki page for more info - NOTE: Passport decryption requires new dependency `cryptography`. Inputfile rework (#1184): - Change how Inputfile is handled internally - This allows support for specifying the thumbnails of photos and videos using the thumb= argument in the different send_ methods. - Also allows Bot.send_media_group to actually finally send more than one media. - Add thumb to Audio, Video and Videonote - Add Bot.edit_message_media together with InputMediaAnimation, InputMediaAudio, and inputMediaDocument. Other Bot API 4.0 changes: - Add forusquare_type to Venue, InlineQueryResultVenue, InputVenueMessageContent, and Bot.send_venue. (#1170) - Add vCard support by adding vcard field to Contact, InlineQueryResultContact, InputContactMessageContent, and Bot.send_contact. (#1166) - Support new message entities: CASHTAG and PHONE_NUMBER. (#1179) - Cashtag seems to be things like $USD and $GBP, but it seems telegram doesn't currently send them to bots. - Phone number also seems to have limited support for now - Add Bot.send_animation, add width, height, and duration to Animation, and add Filters.animation. (#1172) Co-authored-by: Jasmin Bom <jsmnbom@gmail.com> Co-authored-by: code1mountain <32801117+code1mountain@users.noreply.github.com> Co-authored-by: Eldinnie <pieter.schutz+github@gmail.com> Co-authored-by: mathefreak1 <mathefreak@hi2.in>
2018-08-29 14:18:58 +02:00
Fully support Bot API version 4.0!
2018-08-29 15:21:02 +02:00
(also some bugfixes :))
Bot API 4.0 (#1168) Telegram Passport (#1174): - Add full support for telegram passport. - New types: PassportData, PassportFile, EncryptedPassportElement, EncryptedCredentials, PassportElementError, PassportElementErrorDataField, PassportElementErrorFrontSide, PassportElementErrorReverseSide, PassportElementErrorSelfie, PassportElementErrorFile and PassportElementErrorFiles. - New bot method: set_passport_data_errors - New filter: Filters.passport_data - Field passport_data field on Message - PassportData is automagically decrypted when you specify your private key when creating Updater or Bot. - PassportFiles is also automagically decrypted as you download/retrieve them. - See new passportbot.py example for details on how to use, or go to our telegram passport wiki page for more info - NOTE: Passport decryption requires new dependency `cryptography`. Inputfile rework (#1184): - Change how Inputfile is handled internally - This allows support for specifying the thumbnails of photos and videos using the thumb= argument in the different send_ methods. - Also allows Bot.send_media_group to actually finally send more than one media. - Add thumb to Audio, Video and Videonote - Add Bot.edit_message_media together with InputMediaAnimation, InputMediaAudio, and inputMediaDocument. Other Bot API 4.0 changes: - Add forusquare_type to Venue, InlineQueryResultVenue, InputVenueMessageContent, and Bot.send_venue. (#1170) - Add vCard support by adding vcard field to Contact, InlineQueryResultContact, InputContactMessageContent, and Bot.send_contact. (#1166) - Support new message entities: CASHTAG and PHONE_NUMBER. (#1179) - Cashtag seems to be things like $USD and $GBP, but it seems telegram doesn't currently send them to bots. - Phone number also seems to have limited support for now - Add Bot.send_animation, add width, height, and duration to Animation, and add Filters.animation. (#1172) Co-authored-by: Jasmin Bom <jsmnbom@gmail.com> Co-authored-by: code1mountain <32801117+code1mountain@users.noreply.github.com> Co-authored-by: Eldinnie <pieter.schutz+github@gmail.com> Co-authored-by: mathefreak1 <mathefreak@hi2.in>
2018-08-29 14:18:58 +02:00
Telegram Passport (:pr:`1174`):
Bot API 4.0 (#1168) Telegram Passport (#1174): - Add full support for telegram passport. - New types: PassportData, PassportFile, EncryptedPassportElement, EncryptedCredentials, PassportElementError, PassportElementErrorDataField, PassportElementErrorFrontSide, PassportElementErrorReverseSide, PassportElementErrorSelfie, PassportElementErrorFile and PassportElementErrorFiles. - New bot method: set_passport_data_errors - New filter: Filters.passport_data - Field passport_data field on Message - PassportData is automagically decrypted when you specify your private key when creating Updater or Bot. - PassportFiles is also automagically decrypted as you download/retrieve them. - See new passportbot.py example for details on how to use, or go to our telegram passport wiki page for more info - NOTE: Passport decryption requires new dependency `cryptography`. Inputfile rework (#1184): - Change how Inputfile is handled internally - This allows support for specifying the thumbnails of photos and videos using the thumb= argument in the different send_ methods. - Also allows Bot.send_media_group to actually finally send more than one media. - Add thumb to Audio, Video and Videonote - Add Bot.edit_message_media together with InputMediaAnimation, InputMediaAudio, and inputMediaDocument. Other Bot API 4.0 changes: - Add forusquare_type to Venue, InlineQueryResultVenue, InputVenueMessageContent, and Bot.send_venue. (#1170) - Add vCard support by adding vcard field to Contact, InlineQueryResultContact, InputContactMessageContent, and Bot.send_contact. (#1166) - Support new message entities: CASHTAG and PHONE_NUMBER. (#1179) - Cashtag seems to be things like $USD and $GBP, but it seems telegram doesn't currently send them to bots. - Phone number also seems to have limited support for now - Add Bot.send_animation, add width, height, and duration to Animation, and add Filters.animation. (#1172) Co-authored-by: Jasmin Bom <jsmnbom@gmail.com> Co-authored-by: code1mountain <32801117+code1mountain@users.noreply.github.com> Co-authored-by: Eldinnie <pieter.schutz+github@gmail.com> Co-authored-by: mathefreak1 <mathefreak@hi2.in>
2018-08-29 14:18:58 +02:00
- Add full support for telegram passport.
- New types: PassportData, PassportFile, EncryptedPassportElement, EncryptedCredentials, PassportElementError, PassportElementErrorDataField, PassportElementErrorFrontSide, PassportElementErrorReverseSide, PassportElementErrorSelfie, PassportElementErrorFile and PassportElementErrorFiles.
- New bot method: set_passport_data_errors
- New filter: Filters.passport_data
- Field passport_data field on Message
2018-08-29 15:21:02 +02:00
- PassportData can be easily decrypted.
- PassportFiles are automatically decrypted if originating from decrypted PassportData.
Bot API 4.0 (#1168) Telegram Passport (#1174): - Add full support for telegram passport. - New types: PassportData, PassportFile, EncryptedPassportElement, EncryptedCredentials, PassportElementError, PassportElementErrorDataField, PassportElementErrorFrontSide, PassportElementErrorReverseSide, PassportElementErrorSelfie, PassportElementErrorFile and PassportElementErrorFiles. - New bot method: set_passport_data_errors - New filter: Filters.passport_data - Field passport_data field on Message - PassportData is automagically decrypted when you specify your private key when creating Updater or Bot. - PassportFiles is also automagically decrypted as you download/retrieve them. - See new passportbot.py example for details on how to use, or go to our telegram passport wiki page for more info - NOTE: Passport decryption requires new dependency `cryptography`. Inputfile rework (#1184): - Change how Inputfile is handled internally - This allows support for specifying the thumbnails of photos and videos using the thumb= argument in the different send_ methods. - Also allows Bot.send_media_group to actually finally send more than one media. - Add thumb to Audio, Video and Videonote - Add Bot.edit_message_media together with InputMediaAnimation, InputMediaAudio, and inputMediaDocument. Other Bot API 4.0 changes: - Add forusquare_type to Venue, InlineQueryResultVenue, InputVenueMessageContent, and Bot.send_venue. (#1170) - Add vCard support by adding vcard field to Contact, InlineQueryResultContact, InputContactMessageContent, and Bot.send_contact. (#1166) - Support new message entities: CASHTAG and PHONE_NUMBER. (#1179) - Cashtag seems to be things like $USD and $GBP, but it seems telegram doesn't currently send them to bots. - Phone number also seems to have limited support for now - Add Bot.send_animation, add width, height, and duration to Animation, and add Filters.animation. (#1172) Co-authored-by: Jasmin Bom <jsmnbom@gmail.com> Co-authored-by: code1mountain <32801117+code1mountain@users.noreply.github.com> Co-authored-by: Eldinnie <pieter.schutz+github@gmail.com> Co-authored-by: mathefreak1 <mathefreak@hi2.in>
2018-08-29 14:18:58 +02:00
- See new passportbot.py example for details on how to use, or go to `our telegram passport wiki page`_ for more info
- NOTE: Passport decryption requires new dependency `cryptography`.
Inputfile rework (:pr:`1184`):
Bot API 4.0 (#1168) Telegram Passport (#1174): - Add full support for telegram passport. - New types: PassportData, PassportFile, EncryptedPassportElement, EncryptedCredentials, PassportElementError, PassportElementErrorDataField, PassportElementErrorFrontSide, PassportElementErrorReverseSide, PassportElementErrorSelfie, PassportElementErrorFile and PassportElementErrorFiles. - New bot method: set_passport_data_errors - New filter: Filters.passport_data - Field passport_data field on Message - PassportData is automagically decrypted when you specify your private key when creating Updater or Bot. - PassportFiles is also automagically decrypted as you download/retrieve them. - See new passportbot.py example for details on how to use, or go to our telegram passport wiki page for more info - NOTE: Passport decryption requires new dependency `cryptography`. Inputfile rework (#1184): - Change how Inputfile is handled internally - This allows support for specifying the thumbnails of photos and videos using the thumb= argument in the different send_ methods. - Also allows Bot.send_media_group to actually finally send more than one media. - Add thumb to Audio, Video and Videonote - Add Bot.edit_message_media together with InputMediaAnimation, InputMediaAudio, and inputMediaDocument. Other Bot API 4.0 changes: - Add forusquare_type to Venue, InlineQueryResultVenue, InputVenueMessageContent, and Bot.send_venue. (#1170) - Add vCard support by adding vcard field to Contact, InlineQueryResultContact, InputContactMessageContent, and Bot.send_contact. (#1166) - Support new message entities: CASHTAG and PHONE_NUMBER. (#1179) - Cashtag seems to be things like $USD and $GBP, but it seems telegram doesn't currently send them to bots. - Phone number also seems to have limited support for now - Add Bot.send_animation, add width, height, and duration to Animation, and add Filters.animation. (#1172) Co-authored-by: Jasmin Bom <jsmnbom@gmail.com> Co-authored-by: code1mountain <32801117+code1mountain@users.noreply.github.com> Co-authored-by: Eldinnie <pieter.schutz+github@gmail.com> Co-authored-by: mathefreak1 <mathefreak@hi2.in>
2018-08-29 14:18:58 +02:00
- Change how Inputfile is handled internally
- This allows support for specifying the thumbnails of photos and videos using the thumb= argument in the different send\_ methods.
- Also allows Bot.send_media_group to actually finally send more than one media.
- Add thumb to Audio, Video and Videonote
- Add Bot.edit_message_media together with InputMediaAnimation, InputMediaAudio, and inputMediaDocument.
Other Bot API 4.0 changes:
- Add forusquare_type to Venue, InlineQueryResultVenue, InputVenueMessageContent, and Bot.send_venue. (:pr:`1170`)
- Add vCard support by adding vcard field to Contact, InlineQueryResultContact, InputContactMessageContent, and Bot.send_contact. (:pr:`1166`)
- Support new message entities: CASHTAG and PHONE_NUMBER. (:pr:`1179`)
Bot API 4.0 (#1168) Telegram Passport (#1174): - Add full support for telegram passport. - New types: PassportData, PassportFile, EncryptedPassportElement, EncryptedCredentials, PassportElementError, PassportElementErrorDataField, PassportElementErrorFrontSide, PassportElementErrorReverseSide, PassportElementErrorSelfie, PassportElementErrorFile and PassportElementErrorFiles. - New bot method: set_passport_data_errors - New filter: Filters.passport_data - Field passport_data field on Message - PassportData is automagically decrypted when you specify your private key when creating Updater or Bot. - PassportFiles is also automagically decrypted as you download/retrieve them. - See new passportbot.py example for details on how to use, or go to our telegram passport wiki page for more info - NOTE: Passport decryption requires new dependency `cryptography`. Inputfile rework (#1184): - Change how Inputfile is handled internally - This allows support for specifying the thumbnails of photos and videos using the thumb= argument in the different send_ methods. - Also allows Bot.send_media_group to actually finally send more than one media. - Add thumb to Audio, Video and Videonote - Add Bot.edit_message_media together with InputMediaAnimation, InputMediaAudio, and inputMediaDocument. Other Bot API 4.0 changes: - Add forusquare_type to Venue, InlineQueryResultVenue, InputVenueMessageContent, and Bot.send_venue. (#1170) - Add vCard support by adding vcard field to Contact, InlineQueryResultContact, InputContactMessageContent, and Bot.send_contact. (#1166) - Support new message entities: CASHTAG and PHONE_NUMBER. (#1179) - Cashtag seems to be things like $USD and $GBP, but it seems telegram doesn't currently send them to bots. - Phone number also seems to have limited support for now - Add Bot.send_animation, add width, height, and duration to Animation, and add Filters.animation. (#1172) Co-authored-by: Jasmin Bom <jsmnbom@gmail.com> Co-authored-by: code1mountain <32801117+code1mountain@users.noreply.github.com> Co-authored-by: Eldinnie <pieter.schutz+github@gmail.com> Co-authored-by: mathefreak1 <mathefreak@hi2.in>
2018-08-29 14:18:58 +02:00
- Cashtag seems to be things like `$USD` and `$GBP`, but it seems telegram doesn't currently send them to bots.
- Phone number also seems to have limited support for now
- Add Bot.send_animation, add width, height, and duration to Animation, and add Filters.animation. (:pr:`1172`)
Bot API 4.0 (#1168) Telegram Passport (#1174): - Add full support for telegram passport. - New types: PassportData, PassportFile, EncryptedPassportElement, EncryptedCredentials, PassportElementError, PassportElementErrorDataField, PassportElementErrorFrontSide, PassportElementErrorReverseSide, PassportElementErrorSelfie, PassportElementErrorFile and PassportElementErrorFiles. - New bot method: set_passport_data_errors - New filter: Filters.passport_data - Field passport_data field on Message - PassportData is automagically decrypted when you specify your private key when creating Updater or Bot. - PassportFiles is also automagically decrypted as you download/retrieve them. - See new passportbot.py example for details on how to use, or go to our telegram passport wiki page for more info - NOTE: Passport decryption requires new dependency `cryptography`. Inputfile rework (#1184): - Change how Inputfile is handled internally - This allows support for specifying the thumbnails of photos and videos using the thumb= argument in the different send_ methods. - Also allows Bot.send_media_group to actually finally send more than one media. - Add thumb to Audio, Video and Videonote - Add Bot.edit_message_media together with InputMediaAnimation, InputMediaAudio, and inputMediaDocument. Other Bot API 4.0 changes: - Add forusquare_type to Venue, InlineQueryResultVenue, InputVenueMessageContent, and Bot.send_venue. (#1170) - Add vCard support by adding vcard field to Contact, InlineQueryResultContact, InputContactMessageContent, and Bot.send_contact. (#1166) - Support new message entities: CASHTAG and PHONE_NUMBER. (#1179) - Cashtag seems to be things like $USD and $GBP, but it seems telegram doesn't currently send them to bots. - Phone number also seems to have limited support for now - Add Bot.send_animation, add width, height, and duration to Animation, and add Filters.animation. (#1172) Co-authored-by: Jasmin Bom <jsmnbom@gmail.com> Co-authored-by: code1mountain <32801117+code1mountain@users.noreply.github.com> Co-authored-by: Eldinnie <pieter.schutz+github@gmail.com> Co-authored-by: mathefreak1 <mathefreak@hi2.in>
2018-08-29 14:18:58 +02:00
2018-08-29 15:21:02 +02:00
Non Bot API 4.0 changes:
Bot API 4.0 (#1168) Telegram Passport (#1174): - Add full support for telegram passport. - New types: PassportData, PassportFile, EncryptedPassportElement, EncryptedCredentials, PassportElementError, PassportElementErrorDataField, PassportElementErrorFrontSide, PassportElementErrorReverseSide, PassportElementErrorSelfie, PassportElementErrorFile and PassportElementErrorFiles. - New bot method: set_passport_data_errors - New filter: Filters.passport_data - Field passport_data field on Message - PassportData is automagically decrypted when you specify your private key when creating Updater or Bot. - PassportFiles is also automagically decrypted as you download/retrieve them. - See new passportbot.py example for details on how to use, or go to our telegram passport wiki page for more info - NOTE: Passport decryption requires new dependency `cryptography`. Inputfile rework (#1184): - Change how Inputfile is handled internally - This allows support for specifying the thumbnails of photos and videos using the thumb= argument in the different send_ methods. - Also allows Bot.send_media_group to actually finally send more than one media. - Add thumb to Audio, Video and Videonote - Add Bot.edit_message_media together with InputMediaAnimation, InputMediaAudio, and inputMediaDocument. Other Bot API 4.0 changes: - Add forusquare_type to Venue, InlineQueryResultVenue, InputVenueMessageContent, and Bot.send_venue. (#1170) - Add vCard support by adding vcard field to Contact, InlineQueryResultContact, InputContactMessageContent, and Bot.send_contact. (#1166) - Support new message entities: CASHTAG and PHONE_NUMBER. (#1179) - Cashtag seems to be things like $USD and $GBP, but it seems telegram doesn't currently send them to bots. - Phone number also seems to have limited support for now - Add Bot.send_animation, add width, height, and duration to Animation, and add Filters.animation. (#1172) Co-authored-by: Jasmin Bom <jsmnbom@gmail.com> Co-authored-by: code1mountain <32801117+code1mountain@users.noreply.github.com> Co-authored-by: Eldinnie <pieter.schutz+github@gmail.com> Co-authored-by: mathefreak1 <mathefreak@hi2.in>
2018-08-29 14:18:58 +02:00
- Minor integer comparison fix (:pr:`1147`)
- Fix Filters.regex failing on non-text message (:pr:`1158`)
- Fix ProcessLookupError if process finishes before we kill it (:pr:`1126`)
- Add t.me links for User, Chat and Message if available and update User.mention_* (:pr:`1092`)
- Fix mention_markdown/html on py2 (:pr:`1112`)
.. _`our telegram passport wiki page`: https://github.com/python-telegram-bot/python-telegram-bot/wiki/Telegram-Passport
Bot API 4.0 (#1168) Telegram Passport (#1174): - Add full support for telegram passport. - New types: PassportData, PassportFile, EncryptedPassportElement, EncryptedCredentials, PassportElementError, PassportElementErrorDataField, PassportElementErrorFrontSide, PassportElementErrorReverseSide, PassportElementErrorSelfie, PassportElementErrorFile and PassportElementErrorFiles. - New bot method: set_passport_data_errors - New filter: Filters.passport_data - Field passport_data field on Message - PassportData is automagically decrypted when you specify your private key when creating Updater or Bot. - PassportFiles is also automagically decrypted as you download/retrieve them. - See new passportbot.py example for details on how to use, or go to our telegram passport wiki page for more info - NOTE: Passport decryption requires new dependency `cryptography`. Inputfile rework (#1184): - Change how Inputfile is handled internally - This allows support for specifying the thumbnails of photos and videos using the thumb= argument in the different send_ methods. - Also allows Bot.send_media_group to actually finally send more than one media. - Add thumb to Audio, Video and Videonote - Add Bot.edit_message_media together with InputMediaAnimation, InputMediaAudio, and inputMediaDocument. Other Bot API 4.0 changes: - Add forusquare_type to Venue, InlineQueryResultVenue, InputVenueMessageContent, and Bot.send_venue. (#1170) - Add vCard support by adding vcard field to Contact, InlineQueryResultContact, InputContactMessageContent, and Bot.send_contact. (#1166) - Support new message entities: CASHTAG and PHONE_NUMBER. (#1179) - Cashtag seems to be things like $USD and $GBP, but it seems telegram doesn't currently send them to bots. - Phone number also seems to have limited support for now - Add Bot.send_animation, add width, height, and duration to Animation, and add Filters.animation. (#1172) Co-authored-by: Jasmin Bom <jsmnbom@gmail.com> Co-authored-by: code1mountain <32801117+code1mountain@users.noreply.github.com> Co-authored-by: Eldinnie <pieter.schutz+github@gmail.com> Co-authored-by: mathefreak1 <mathefreak@hi2.in>
2018-08-29 14:18:58 +02:00
Version 10.1.0
==============
*Released 2018-05-02*
2018-05-04 23:37:13 +02:00
Fixes changing previous behaviour:
- Add urllib3 fix for socks5h support (:pr:`1085`)
- Fix send_sticker() timeout=20 (:pr:`1088`)
2018-05-04 23:37:13 +02:00
Fixes:
- Add a caption_entity filter for filtering caption entities (:pr:`1068`)
- Inputfile encode filenames (:pr:`1086`)
- InputFile: Fix proper naming of file when reading from subprocess.PIPE (:pr:`1079`)
- Remove pytest-catchlog from requirements (:pr:`1099`)
- Documentation fixes (:pr:`1061`, :pr:`1078`, :pr:`1081`, :pr:`1096`)
2018-05-04 23:37:13 +02:00
Version 10.0.2
==============
*Released 2018-04-17*
2018-04-17 09:07:19 +02:00
Important fix:
- Handle utf8 decoding errors (:pr:`1076`)
2018-04-17 09:07:19 +02:00
New features:
- Added Filter.regex (:pr:`1028`)
- Filters for Category and file types (:pr:`1046`)
- Added video note filter (:pr:`1067`)
2018-04-17 09:07:19 +02:00
Fixes:
- Fix in telegram.Message (:pr:`1042`)
- Make chat_id a positional argument inside shortcut methods of Chat and User classes (:pr:`1050`)
- Make Bot.full_name return a unicode object. (:pr:`1063`)
- CommandHandler faster check (:pr:`1074`)
- Correct documentation of Dispatcher.add_handler (:pr:`1071`)
2018-04-17 09:07:19 +02:00
- Various small fixes to documentation.
Version 10.0.1
==============
*Released 2018-03-05*
2018-03-05 12:46:19 +01:00
Fixes:
2018-03-05 13:57:21 +01:00
- Fix conversationhandler timeout (PR :pr:`1032`)
- Add missing docs utils (PR :pr:`912`)
2018-03-05 12:46:19 +01:00
Version 10.0.0
==============
*Released 2018-03-02*
2018-03-03 00:03:03 +01:00
Non backward compatabile changes and changed defaults
- JobQueue: Remove deprecated prevent_autostart & put() (PR :pr:`1012`)
- Bot, Updater: Remove deprecated network_delay (PR :pr:`1012`)
- Remove deprecated Message.new_chat_member (PR :pr:`1012`)
- Retry bootstrap phase indefinitely (by default) on network errors (PR :pr:`1018`)
2018-03-03 00:03:03 +01:00
New Features
- Support v3.6 API (PR :pr:`1006`)
- User.full_name convinience property (PR :pr:`949`)
- Add `send_phone_number_to_provider` and `send_email_to_provider` arguments to send_invoice (PR :pr:`986`)
- Bot: Add shortcut methods reply_{markdown,html} (PR :pr:`827`)
- Bot: Add shortcut method reply_media_group (PR :pr:`994`)
- Added utils.helpers.effective_message_type (PR :pr:`826`)
- Bot.get_file now allows passing a file in addition to file_id (PR :pr:`963`)
- Add .get_file() to Audio, Document, PhotoSize, Sticker, Video, VideoNote and Voice (PR :pr:`963`)
- Add .send_*() methods to User and Chat (PR :pr:`963`)
- Get jobs by name (PR :pr:`1011`)
- Add Message caption html/markdown methods (PR :pr:`1013`)
- File.download_as_bytearray - new method to get a d/led file as bytearray (PR :pr:`1019`)
- File.download(): Now returns a meaningful return value (PR :pr:`1019`)
- Added conversation timeout in ConversationHandler (PR :pr:`895`)
2018-03-03 00:03:03 +01:00
Changes
- Store bot in PreCheckoutQuery (PR :pr:`953`)
- Updater: Issue INFO log upon received signal (PR :pr:`951`)
- JobQueue: Thread safety fixes (PR :pr:`977`)
- WebhookHandler: Fix exception thrown during error handling (PR :pr:`985`)
- Explicitly check update.effective_chat in ConversationHandler.check_update (PR :pr:`959`)
- Updater: Better handling of timeouts during get_updates (PR :pr:`1007`)
- Remove unnecessary to_dict() (PR :pr:`834`)
- CommandHandler - ignore strings in entities and "/" followed by whitespace (PR :pr:`1020`)
- Documentation & style fixes (PR :pr:`942`, PR :pr:`956`, PR :pr:`962`, PR :pr:`980`, PR :pr:`983`)
2018-03-03 00:03:03 +01:00
Version 9.0.0
=============
*Released 2017-12-08*
2017-12-08 23:08:42 +01:00
Breaking changes (possibly)
- Drop support for python 3.3 (PR :pr:`930`)
2017-12-08 23:08:42 +01:00
New Features
- Support Bot API 3.5 (PR :pr:`920`)
2017-12-08 23:08:42 +01:00
Changes
- Fix race condition in dispatcher start/stop (:pr:`887`)
- Log error trace if there is no error handler registered (:pr:`694`)
- Update examples with consistent string formatting (:pr:`870`)
2017-12-08 23:08:42 +01:00
- Various changes and improvements to the docs.
Version 8.1.1
=============
*Released 2017-10-15*
- Fix Commandhandler crashing on single character messages (PR :pr:`873`).
Version 8.1.0
=============
*Released 2017-10-14*
New features
- Support Bot API 3.4 (PR :pr:`865`).
Changes
2017-10-15 16:59:41 +02:00
- MessageHandler & RegexHandler now consider channel_updates.
- Fix command not recognized if it is directly followed by a newline (PR :pr:`869`).
- Removed Bot._message_wrapper (PR :pr:`822`).
2017-10-15 16:59:41 +02:00
- Unitests are now also running on AppVeyor (Windows VM).
- Various unitest improvements.
- Documentation fixes.
Version 8.0.0
=============
*Released 2017-09-01*
2017-09-01 10:38:15 +02:00
New features
- Fully support Bot Api 3.3 (PR :pr:`806`).
2017-09-01 10:38:15 +02:00
- DispatcherHandlerStop (`see docs`_).
- Regression fix for text_html & text_markdown (PR :pr:`777`).
- Added effective_attachment to message (PR :pr:`766`).
2017-09-01 10:38:15 +02:00
Non backward compatible changes
- Removed Botan support from the library (PR :pr:`776`).
- Fully support Bot Api 3.3 (PR :pr:`806`).
- Remove de_json() (PR :pr:`789`).
2017-09-01 10:38:15 +02:00
Changes
- Sane defaults for tcp socket options on linux (PR :pr:`754`).
- Add RESTRICTED as constant to ChatMember (PR :pr:`761`).
- Add rich comparison to CallbackQuery (PR :pr:`764`).
- Fix get_game_high_scores (PR :pr:`771`).
- Warn on small con_pool_size during custom initalization of Updater (PR :pr:`793`).
- Catch exceptions in error handlerfor errors that happen during polling (PR :pr:`810`).
- For testing we switched to pytest (PR :pr:`788`).
2017-10-15 16:59:41 +02:00
- Lots of small improvements to our tests and documentation.
2017-09-01 10:38:15 +02:00
.. _`see docs`: https://docs.python-telegram-bot.org/en/v13.11/telegram.ext.dispatcher.html?highlight=Dispatcher.add_handler#telegram.ext.Dispatcher.add_handler
2016-07-15 01:48:11 +02:00
Version 7.0.1
===============
*Released 2017-07-28*
- Fix TypeError exception in RegexHandler (PR #751).
- Small documentation fix (PR #749).
Version 7.0.0
=============
*Released 2017-07-25*
2017-07-25 22:07:26 +02:00
- Fully support Bot API 3.2.
- New filters for handling messages from specific chat/user id (PR #677).
- Add the possibility to add objects as arguments to send_* methods (PR #742).
- Fixed download of URLs with UTF-8 chars in path (PR #688).
- Fixed URL parsing for ``Message`` text properties (PR #689).
- Fixed args dispatching in ``MessageQueue``'s decorator (PR #705).
- Fixed regression preventing IPv6 only hosts from connnecting to Telegram servers (Issue #720).
- ConvesationHandler - check if a user exist before using it (PR #699).
- Removed deprecated ``telegram.Emoji``.
- Removed deprecated ``Botan`` import from ``utils`` (``Botan`` is still available through ``contrib``).
- Removed deprecated ``ReplyKeyboardHide``.
- Removed deprecated ``edit_message`` argument of ``bot.set_game_score``.
- Internal restructure of files.
- Improved documentation.
- Improved unitests.
Pre-version 7.0
===============
2017-06-18 12:35:16 +02:00
**2017-06-18**
*Released 6.1.0*
- Fully support Bot API 3.0
- Add more fine-grained filters for status updates
- Bug fixes and other improvements
2017-05-29 21:24:12 +02:00
**2017-05-29**
2017-05-29 22:55:15 +02:00
*Released 6.0.3*
- Faulty PyPI release
**2017-05-29**
2017-05-29 21:24:12 +02:00
*Released 6.0.2*
- Avoid confusion with user's ``urllib3`` by renaming vendored ``urllib3`` to ``ptb_urllib3``
**2017-05-19**
2017-05-21 14:25:40 +02:00
*Released 6.0.1*
- Add support for ``User.language_code``
- Fix ``Message.text_html`` and ``Message.text_markdown`` for messages with emoji
2017-05-19 21:49:01 +02:00
**2017-05-19**
*Released 6.0.0*
- Add support for Bot API 2.3.1
- Add support for ``deleteMessage`` API method
- New, simpler API for ``JobQueue`` - :pr:`484`
- Download files into file-like objects - :pr:`459`
2017-05-19 21:49:01 +02:00
- Use vendor ``urllib3`` to address issues with timeouts
- The default timeout for messages is now 5 seconds. For sending media, the default timeout is now 20 seconds.
- String attributes that are not set are now ``None`` by default, instead of empty strings
- Add ``text_markdown`` and ``text_html`` properties to ``Message`` - :pr:`507`
- Add support for Socks5 proxy - :pr:`518`
- Add support for filters in ``CommandHandler`` - :pr:`536`
- Add the ability to invert (not) filters - :pr:`552`
2017-05-19 21:49:01 +02:00
- Add ``Filters.group`` and ``Filters.private``
- Compatibility with GAE via ``urllib3.contrib`` package - :pr:`583`
- Add equality rich comparision operators to telegram objects - :pr:`604`
2017-05-19 21:49:01 +02:00
- Several bugfixes and other improvements
- Remove some deprecated code
**2017-04-17**
*Released 5.3.1*
- Hotfix release due to bug introduced by urllib3 version 1.21
2016-12-11 23:51:51 +01:00
**2016-12-11**
*Released 5.3*
- Implement API changes of November 21st (Bot API 2.3)
- ``JobQueue`` now supports ``datetime.timedelta`` in addition to seconds
- ``JobQueue`` now supports running jobs only on certain days
- New ``Filters.reply`` filter
- Bugfix for ``Message.edit_reply_markup``
- Other bugfixes
2016-10-25 20:10:36 +02:00
**2016-10-25**
*Released 5.2*
- Implement API changes of October 3rd (games update)
- Add ``Message.edit_*`` methods
- Filters for the ``MessageHandler`` can now be combined using bitwise operators (``& and |``)
- Add a way to save user- and chat-related data temporarily
- Other bugfixes and improvements
2016-09-24 15:29:23 +02:00
**2016-09-24**
*Released 5.1*
- Drop Python 2.6 support
- Deprecate ``telegram.Emoji``
- Use ``ujson`` if available
- Add instance methods to ``Message``, ``Chat``, ``User``, ``InlineQuery`` and ``CallbackQuery``
- RegEx filtering for ``CallbackQueryHandler`` and ``InlineQueryHandler``
- New ``MessageHandler`` filters: ``forwarded`` and ``entity``
- Add ``Message.get_entity`` to correctly handle UTF-16 codepoints and ``MessageEntity`` offsets
- Fix bug in ``ConversationHandler`` when first handler ends the conversation
- Allow multiple ``Dispatcher`` instances
- Add ``ChatMigrated`` Exception
- Properly split and handle arguments in ``CommandHandler``
2016-07-15 01:48:11 +02:00
**2016-07-15**
*Released 5.0*
- Rework ``JobQueue``
- Introduce ``ConversationHandler``
- Introduce ``telegram.constants`` - :pr:`342`
2016-07-15 01:48:11 +02:00
2016-07-12 22:34:49 +02:00
**2016-07-12**
*Released 4.3.4*
- Fix proxy support with ``urllib3`` when proxy requires auth
2016-07-08 22:13:46 +02:00
**2016-07-08**
*Released 4.3.3*
- Fix proxy support with ``urllib3``
2016-07-04 21:52:00 +02:00
**2016-07-04**
*Released 4.3.2*
- Fix: Use ``timeout`` parameter in all API methods
2016-06-29 15:53:52 +02:00
**2016-06-29**
*Released 4.3.1*
- Update wrong requirement: ``urllib3>=1.10``
2016-06-28 13:35:42 +02:00
**2016-06-28**
*Released 4.3*
- Use ``urllib3.PoolManager`` for connection re-use
- Rewrite ``run_async`` decorator to re-use threads
- New requirements: ``urllib3`` and ``certifi``
2016-06-10 15:44:17 +02:00
**2016-06-10**
*Released 4.2.1*
- Fix ``CallbackQuery.to_dict()`` bug (thanks to @jlmadurga)
- Fix ``editMessageText`` exception when receiving a ``CallbackQuery``
2016-05-28 22:49:15 +02:00
**2016-05-28**
*Released 4.2*
- Implement Bot API 2.1
- Move ``botan`` module to ``telegram.contrib``
- New exception type: ``BadRequest``
2016-05-22 13:01:14 +02:00
**2016-05-22**
*Released 4.1.2*
- Fix ``MessageEntity`` decoding with Bot API 2.1 changes
2016-05-16 16:05:02 +02:00
**2016-05-16**
*Released 4.1.1*
- Fix deprecation warning in ``Dispatcher``
2016-05-16 01:24:09 +02:00
**2016-05-15**
*Released 4.1*
- Implement API changes from May 6, 2016
- Fix bug when ``start_polling`` with ``clean=True``
- Methods now have snake_case equivalent, for example ``telegram.Bot.send_message`` is the same as ``telegram.Bot.sendMessage``
2016-05-01 22:13:24 +02:00
**2016-05-01**
*Released 4.0.3*
- Add missing attribute ``location`` to ``InlineQuery``
2016-04-29 19:26:46 +02:00
**2016-04-29**
*Released 4.0.2*
- Bugfixes
2016-04-29 19:31:39 +02:00
- ``KeyboardReplyMarkup`` now accepts ``str`` again
2016-04-29 19:26:46 +02:00
2016-04-27 01:02:57 +02:00
**2016-04-27**
2016-04-27 01:17:47 +02:00
*Released 4.0.1*
2016-04-27 01:02:57 +02:00
- Implement Bot API 2.0
- Almost complete recode of ``Dispatcher``
2016-05-29 11:37:35 +02:00
- Please read the `Transition Guide to 4.0 <https://github.com/python-telegram-bot/python-telegram-bot/wiki/Transition-guide-to-Version-4.0>`_
2016-04-27 01:02:57 +02:00
- **Changes from 4.0rc1**
- The syntax of filters for ``MessageHandler`` (upper/lower cases)
- Handler groups are now identified by ``int`` only, and ordered
2016-04-27 01:17:47 +02:00
- **Note:** v4.0 has been skipped due to a PyPI accident
2016-04-27 01:02:57 +02:00
2016-04-22 16:27:49 +02:00
**2016-04-22**
*Released 4.0rc1*
- Implement Bot API 2.0
- Almost complete recode of ``Dispatcher``
- Please read the `Transistion Guide to 4.0 <https://github.com/python-telegram-bot/python-telegram-bot/wiki/Transition-guide-to-Version-4.0>`_
2016-04-22 16:27:49 +02:00
2016-03-22 03:02:13 +01:00
**2016-03-22**
*Released 3.4*
- Move ``Updater``, ``Dispatcher`` and ``JobQueue`` to new ``telegram.ext`` submodule (thanks to @rahiel)
- Add ``disable_notification`` parameter (thanks to @aidarbiktimirov)
- Fix bug where commands sent by Telegram Web would not be recognized (thanks to @shelomentsevd)
- Add option to skip old updates on bot startup
- Send files from ``BufferedReader``
2016-02-28 02:33:49 +01:00
**2016-02-28**
*Released 3.3*
- Inline bots
- Send any file by URL
- Specialized exceptions: ``Unauthorized``, ``InvalidToken``, ``NetworkError`` and ``TimedOut``
- Integration for botan.io (thanks to @ollmer)
- HTML Parsemode (thanks to @jlmadurga)
- Bugfixes and under-the-hood improvements
**Very special thanks to Noam Meltzer (@tsnoam) for all of his work!**
2016-01-09 15:50:19 +01:00
**2016-01-09**
*Released 3.3b1*
- Implement inline bots (beta)
**2016-01-05**
*Released 3.2.0*
- Introducing ``JobQueue`` (original author: @franciscod)
- Streamlining all exceptions to ``TelegramError`` (Special thanks to @tsnoam)
- Proper locking of ``Updater`` and ``Dispatcher`` ``start`` and ``stop`` methods
- Small bugfixes
2015-12-29 14:46:00 +01:00
**2015-12-29**
*Released 3.1.2*
- Fix custom path for file downloads
- Don't stop the dispatcher thread on uncaught errors in handlers
**2015-12-21**
*Released 3.1.1*
- Fix a bug where asynchronous handlers could not have additional arguments
- Add ``groups`` and ``groupdict`` as additional arguments for regex-based handlers
2015-12-16 16:25:14 +01:00
**2015-12-16**
*Released 3.1.0*
- The ``chat``-field in ``Message`` is now of type ``Chat``. (API update Oct 8 2015)
- ``Message`` now contains the optional fields ``supergroup_chat_created``, ``migrate_to_chat_id``, ``migrate_from_chat_id`` and ``channel_chat_created``. (API update Nov 2015)
2015-12-08 00:07:21 +01:00
**2015-12-08**
*Released 3.0.0*
- Introducing the ``Updater`` and ``Dispatcher`` classes
2015-11-11 14:31:20 +01:00
**2015-11-11**
*Released 2.9.2*
- Error handling on request timeouts has been improved
**2015-11-10**
2015-11-10 15:21:04 +01:00
*Released 2.9.1*
2015-11-10 15:21:04 +01:00
- Add parameter ``network_delay`` to Bot.getUpdates for slow connections
2015-10-08 16:31:48 +02:00
**2015-11-10**
2015-10-08 16:31:48 +02:00
*Released 2.9*
2015-10-08 15:23:12 +02:00
- Emoji class now uses ``bytes_to_native_str`` from ``future`` 3rd party lib
- Make ``user_from`` optional to work with channels
- Raise exception if Telegram times out on long-polling
2015-10-08 15:23:12 +02:00
*Special thanks to @jh0ker for all hard work*
2015-09-24 14:29:23 +02:00
**2015-10-08**
2015-09-20 17:52:40 +02:00
*Released 2.8.7*
2015-09-20 17:52:40 +02:00
- Type as optional for ``GroupChat`` class
**2015-10-08**
*Released 2.8.6*
- Adds type to ``User`` and ``GroupChat`` classes (pre-release Telegram feature)
2015-09-05 00:00:54 +02:00
**2015-09-24**
2015-09-04 23:19:05 +02:00
*Released 2.8.5*
2015-09-04 23:19:05 +02:00
- Handles HTTP Bad Gateway (503) errors on request
2015-11-10 21:32:54 +01:00
- Fixes regression on ``Audio`` and ``Document`` for unicode fields
2015-08-19 21:16:06 +02:00
**2015-09-20**
2015-08-17 18:15:29 +02:00
*Released 2.8.4*
2015-08-17 18:15:29 +02:00
2015-11-10 21:32:54 +01:00
- ``getFile`` and ``File.download`` is now fully supported
2015-08-15 20:06:32 +02:00
**2015-09-10**
2015-08-14 21:36:39 +02:00
*Released 2.8.3*
2015-08-14 21:36:39 +02:00
2015-11-10 21:32:54 +01:00
- Moved ``Bot._requestURL`` to its own class (``telegram.utils.request``)
- Much better, such wow, Telegram Objects tests
2015-11-10 21:32:54 +01:00
- Add consistency for ``str`` properties on Telegram Objects
- Better design to test if ``chat_id`` is invalid
- Add ability to set custom filename on ``Bot.sendDocument(..,filename='')``
- Fix Sticker as ``InputFile``
- Send JSON requests over urlencoded post data
2015-11-10 21:32:54 +01:00
- Markdown support for ``Bot.sendMessage(..., parse_mode=ParseMode.MARKDOWN)``
- Refactor of ``TelegramError`` class (no more handling ``IOError`` or ``URLError``)
2015-08-12 04:49:26 +02:00
**2015-09-05**
2015-08-11 22:37:28 +02:00
*Released 2.8.2*
2015-08-11 22:37:28 +02:00
- Fix regression on Telegram ReplyMarkup
2015-11-10 21:32:54 +01:00
- Add certificate to ``is_inputfile`` method
2015-08-10 19:48:24 +02:00
**2015-09-05**
2015-08-09 15:17:32 +02:00
*Released 2.8.1*
2015-08-09 15:17:32 +02:00
- Fix regression on Telegram objects with thumb properties
2015-08-09 00:37:14 +02:00
**2015-09-04**
2015-08-09 00:18:58 +02:00
*Released 2.8*
2015-08-09 00:18:58 +02:00
2015-11-10 21:32:54 +01:00
- TelegramError when ``chat_id`` is empty for send* methods
- ``setWebhook`` now supports sending self-signed certificate
- Huge redesign of existing Telegram classes
- Added support for PyPy
- Added docstring for existing classes
2015-07-25 23:31:01 +02:00
**2015-08-19**
2015-07-20 13:03:47 +02:00
*Released 2.7.1*
2015-07-20 13:03:47 +02:00
2015-11-10 21:32:54 +01:00
- Fixed JSON serialization for ``message``
2015-07-20 04:40:12 +02:00
**2015-08-17**
2015-07-15 16:48:33 +02:00
*Released 2.7*
2015-07-15 16:48:33 +02:00
2015-11-10 21:32:54 +01:00
- Added support for ``Voice`` object and ``sendVoice`` method
- Due backward compatibility performer or/and title will be required for ``sendAudio``
- Fixed JSON serialization when forwarded message
2015-07-12 15:35:37 +02:00
**2015-08-15**
2015-07-11 15:02:29 +02:00
*Released 2.6.1*
2015-07-15 16:48:33 +02:00
- Fixed parsing image header issue on < Python 2.7.3
2015-07-11 03:41:34 +02:00
**2015-08-14**
2015-07-10 21:52:03 +02:00
*Released 2.6.0*
2015-07-15 16:48:33 +02:00
2015-11-10 21:32:54 +01:00
- Depreciation of ``require_authentication`` and ``clearCredentials`` methods
- Giving ``AUTHORS`` the proper credits for their contribution for this project
- ``Message.date`` and ``Message.forward_date`` are now ``datetime`` objects
2015-07-10 18:52:36 +02:00
**2015-08-12**
*Released 2.5.3*
2015-07-15 16:48:33 +02:00
2015-11-10 21:32:54 +01:00
- ``telegram.Bot`` now supports to be unpickled
2015-07-09 14:53:11 +02:00
**2015-08-11**
2015-07-08 23:33:28 +02:00
*Released 2.5.2*
2015-07-08 23:33:28 +02:00
- New changes from Telegram Bot API have been applied
2015-11-10 21:32:54 +01:00
- ``telegram.Bot`` now supports to be pickled
- Return empty ``str`` instead ``None`` when ``message.text`` is empty
**2015-08-10**
*Released 2.5.1*
- Moved from GPLv2 to LGPLv3
**2015-08-09**
*Released 2.5*
- Fixes logging calls in API
**2015-08-08**
*Released 2.4*
2015-11-10 21:32:54 +01:00
- Fixes ``Emoji`` class for Python 3
- ``PEP8`` improvements
**2015-08-08**
*Released 2.3*
2015-11-10 21:32:54 +01:00
- Fixes ``ForceReply`` class
- Remove ``logging.basicConfig`` from library
**2015-07-25**
*Released 2.2*
2015-11-10 21:32:54 +01:00
- Allows ``debug=True`` when initializing ``telegram.Bot``
**2015-07-20**
*Released 2.1*
2015-11-10 21:32:54 +01:00
- Fix ``to_dict`` for ``Document`` and ``Video``
**2015-07-19**
*Released 2.0*
- Fixes bugs
2015-11-10 21:32:54 +01:00
- Improves ``__str__`` over ``to_json()``
- Creates abstract class ``TelegramObject``
**2015-07-15**
*Released 1.9*
- Python 3 officially supported
2015-11-10 21:32:54 +01:00
- ``PEP8`` improvements
**2015-07-12**
*Released 1.8*
- Fixes crash when replying an unicode text message (special thanks to JRoot3D)
**2015-07-11**
*Released 1.7*
2015-11-10 21:32:54 +01:00
- Fixes crash when ``username`` is not defined on ``chat`` (special thanks to JRoot3D)
**2015-07-10**
*Released 1.6*
- Improvements for GAE support
**2015-07-10**
*Released 1.5*
2015-11-10 21:32:54 +01:00
- Fixes randomly unicode issues when using ``InputFile``
**2015-07-10**
*Released 1.4*
2015-11-10 21:32:54 +01:00
- ``requests`` lib is no longer required
- Google App Engine (GAE) is supported
**2015-07-10**
*Released 1.3*
2015-11-10 21:32:54 +01:00
- Added support to ``setWebhook`` (special thanks to macrojames)
**2015-07-09**
*Released 1.2*
2015-11-10 21:32:54 +01:00
- ``CustomKeyboard`` classes now available
- Emojis available
2015-11-10 21:32:54 +01:00
- ``PEP8`` improvements
**2015-07-08**
*Released 1.1*
- PyPi package now available
**2015-07-08**
*Released 1.0*
- Initial checkin of python-telegram-bot