Released 2024-04-15
This is the technical changelog for version 21.1.1. More elaborate release notes can be found in the news channel @pythontelegrambotchannel.
- Fix Bug With Parameter
message_thread_id
ofMessage.reply_*
(4207
closes4205
)
- Remove Deprecation Warning in
JobQueue.run_daily
(4206
by @Konano) - Fix Annotation of
EncryptedCredentials.decrypted_secret
(4199
by @marinelay closes4198
)
Released 2024-04-12
This is the technical changelog for version 21.1. More elaborate release notes can be found in the news channel @pythontelegrambotchannel.
- API 7.2 (
4180
closes4179
and4181
,4181
) - Make
ChatAdministratorRights/ChatMemberAdministrator.can_*_stories
Required (API 7.1) (4192
)
- Refactor Debug logging in
Bot
to Improve Type Hinting (4151
closes4010
)
- Make
Message.reply_*
Reply in the Same Topic by Default (4170
by @aelkheir closes4139
) - Accept Socket Objects for Webhooks (
4161
closes4078
) - Add
Update.effective_sender
(4168
by @aelkheir closes4085
)
- Documentation Improvements (
4171
,4158
by @teslaedison)
- Temporarily Mark Tests with
get_sticker_set
as XFAIL due to API 7.2 Update (4190
)
pre-commit
autoupdate (4184
)- Bump
dependabot/fetch-metadata
from 1.6.0 to 2.0.0 (4185
)
Released 2024-03-06
This is the technical changelog for version 21.0.1. More elaborate release notes can be found in the news channel @pythontelegrambotchannel.
- Remove
docs
from Package (4150
)
Released 2024-03-06
This is the technical changelog for version 21.0. More elaborate release notes can be found in the news channel @pythontelegrambotchannel.
- Remove Functionality Deprecated in API 7.0 (
4114
closes4099
) - API 7.1 (
4118
)
- Add Parameter
media_write_timeout
toHTTPXRequest
and MethodApplicationBuilder.media_write_timeout
(4120
closes3864
) - Handle Properties in
TelegramObject.__setstate__
(4134
closes4111
)
- Add Missing Slot to
Updater
(4130
closes4127
)
- Improve HTML Download of Documentation (
4146
closes4050
) - Documentation Improvements (
4109
,4116
) - Update Copyright to 2024 (
4121
by @aelkheir closes4041
)
- Apply
pre-commit
Checks More Widely (4135
) - Refactor and Overhaul
test_official
(4087
closes3874
) - Run Unit Tests in PRs on Requirements Changes (
4144
) - Make
Updater.stop
Independent ofCancelledError
(4126
)
- Relax Upper Bound for
httpx
Dependency (4148
) - Bump
test-summary/action
from 2.2 to 2.3 (4142
) - Update
cachetools
requirement from ~=5.3.2 to ~=5.3.3 (4141
) - Update
httpx
requirement from ~=0.26.0 to ~=0.27.0 (4131
)
Released 2024-02-08
This is the technical changelog for version 20.8. More elaborate release notes can be found in the news channel @pythontelegrambotchannel.
- API 7.0 (
4034
closes4033
,4038
by @aelkheir)
- Fix Type Hint for
filters
Parameter ofMessageHandler
(4039
by @Palaptin) - Deprecate
filters.CHAT
(4083
closes4062
) - Improve Error Handling in Built-In Webhook Handler (
3987
closes3979
)
- Add Parameter
pattern
toPreCheckoutQueryHandler
andfilters.SuccessfulPayment
(4005
by @aelkheir closes3752
) - Add Missing Conversions of
type
to Corresponding Enum fromtelegram.constants
(4067
) - Add Support for Unix Sockets to
Updater.start_webhook
(3986
closes3978
) - Add
Bot.do_api_request
(4084
closes4053
) - Add
AsyncContextManager
as Parent Class toBaseUpdateProcessor
(4001
)
- Documentation Improvements (
3919
) - Add Docstring to Dunder Methods (
3929
closes3926
) - Documentation Improvements (
4002
,4079
by @kenjitagawa,4104
by @xTudoS)
- Drop Usage of DeepSource (
4100
) - Improve Type Completeness & Corresponding Workflow (
4035
) - Bump
ruff
and Removesort-all
(4075
) - Move Handler Files to
_handlers
Subdirectory (4064
by @lucasmolinari closes4060
) - Introduce
sort-all
Hook forpre-commit
(4052
) - Use Recommended
pre-commit
Mirror forblack
(4051
) - Remove Unused
DEFAULT_20
(3997
) - Migrate From
setup.cfg
topyproject.toml
Where Possible (4088
)
- Bump
black
andruff
(4089
) - Bump
srvaroa/labeler
from 1.8.0 to 1.10.0 (4048
) - Update
tornado
requirement from ~=6.3.3 to ~=6.4 (3992
) - Bump
actions/stale
from 8 to 9 (4046
) - Bump
actions/setup-python
from 4 to 5 (4047
) pre-commit
autoupdate (4101
)- Bump
actions/upload-artifact
from 3 to 4 (4045
) pre-commit
autoupdate (3996
)- Bump
furo
from 2023.9.10 to 2024.1.29 (4094
) pre-commit
autoupdate (4043
)- Bump
codecov/codecov-action
from 3 to 4 (4091
) - Bump
EndBug/add-and-commit
from 9.1.3 to 9.1.4 (4090
) - Update
httpx
requirement from ~=0.25.2 to ~=0.26.0 (4024
) - Bump
pytest
from 7.4.3 to 7.4.4 (4056
) - Bump
srvaroa/labeler
from 1.7.0 to 1.8.0 (3993
) - Bump
test-summary/action
from 2.1 to 2.2 (4044
) - Bump
dessant/lock-threads
from 4.0.1 to 5.0.1 (3994
)
Released 2023-11-27
This is the technical changelog for version 20.7. More elaborate release notes can be found in the news channel @pythontelegrambotchannel.
- Add
JobQueue.scheduler_configuration
and Corresponding Warnings (3913
closes3837
) - Add Parameter
socket_options
toHTTPXRequest
(3935
closes2965
) - Add
ApplicationBuilder.(get_updates_)socket_options
(3943
) - Improve
write_timeout
Handling for Media Methods (3952
) - Add
filters.Mention
(3941
closes3799
) - Rename
proxy_url
toproxy
and Allowhttpx.{Proxy, URL}
as Input (3939
closes3844
)
- Adjust
read_timeout
Behavior forBot.get_updates
(3963
closes3893
) - Improve
BaseHandler.__repr__
for Callbacks without__qualname__
(3934
) - Fix Persistency Issue with Ended Non-Blocking Conversations (
3962
) - Improve Type Hinting for Arguments with Default Values in
Bot
(3942
)
- Add Documentation for
__aenter__
and__aexit__
Methods (3907
closes3886
) - Improve Insertion of Kwargs into
Bot
Methods (3965
)
- Adjust Tests to New Error Messages (
3970
)
- Bump
pytest-xdist
from 3.3.1 to 3.4.0 (3975
) pre-commit
autoupdate (3967
)- Update
httpx
requirement from ~=0.25.1 to ~=0.25.2 (3983
) - Bump
pytest-xdist
from 3.4.0 to 3.5.0 (3982
) - Update
httpx
requirement from ~=0.25.0 to ~=0.25.1 (3961
) - Bump
srvaroa/labeler
from 1.6.1 to 1.7.0 (3958
) - Update
cachetools
requirement from ~=5.3.1 to ~=5.3.2 (3954
) - Bump
pytest
from 7.4.2 to 7.4.3 (3953
)
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.
- Drop Backward Compatibility Layer Introduced in
3853
(API 6.8) (3873
) - Full Support for Bot API 6.9 (
3898
)
- Add Rich Equality Comparison to
WriteAccessAllowed
(3911
closes3909
) - Add
__repr__
Methods Added in3826
closes3770
to Sphinx Documentation (3901
closes3889
) - Add String Representation for Selected Classes (
3826
closes3770
)
- Add Support Python 3.12 (
3915
) - Documentation Improvements (
3910
)
- Verify Type Hints for Bot Method & Telegram Class Parameters (
3868
) - Move Bot API Tests to Separate Workflow File (
3912
) - Fix Failing
file_size
Tests (3906
) - Set Threshold for DeepSource’s PY-R1000 to High (
3888
) - One-Time Code Formatting Improvement via
--preview
Flag ofblack
(3882
) - Move Dunder Methods to the Top of Class Bodies (
3883
) - Remove Superfluous
Defaults.__ne__
(3884
)
pre-commit
autoupdate (3876
)- Update
pre-commit
Dependencies (3916
) - Bump
actions/checkout
from 3 to 4 (3914
) - Update
httpx
requirement from ~=0.24.1 to ~=0.25.0 (3891
) - Bump
furo
from 2023.8.19 to 2023.9.10 (3890
) - Bump
sphinx
from 7.2.5 to 7.2.6 (3892
) - Update
tornado
requirement from ~=6.2 to ~=6.3.3 (3675
) - Bump
pytest
from 7.4.0 to 7.4.2 (3881
)
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.
- API 6.8 (
3853
) - Remove Functionality Deprecated Since Bot API 6.5, 6.6 or 6.7 (
3858
)
- Extend Allowed Values for HTTP Version (
3823
closes3821
) - Add
has_args
Parameter toCommandHandler
(3854
by @thatguylah closes3798
) - Add
Application.stop_running()
and Improve Marking Updates as Read onUpdater.stop()
(3804
)
- Type Hinting Fixes for
WebhookInfo
(3871
) - Test and Document
Exception.__cause__
onNetworkError
(3792
closes3778
) - Add Support for Python 3.12 RC (
3847
)
- Remove Version Check from Examples (
3846
) - Documentation Improvements (
3803
,3797
,3816
by @trim21,3829
by @aelkheir) - Provide Versions of
customwebhookbot.py
with Different Frameworks (3820
closes3717
)
pre-commit
autoupdate (3824
)- Bump
srvaroa/labeler
from 1.6.0 to 1.6.1 (3870
) - Bump
sphinx
from 7.0.1 to 7.1.1 (3818
) - Bump
sphinx
from 7.2.3 to 7.2.5 (3869
) - Bump
furo
from 2023.5.20 to 2023.7.26 (3817
) - Update
apscheduler
requirement from ~=3.10.3 to ~=3.10.4 (3862
) - Bump
sphinx
from 7.2.2 to 7.2.3 (3861
) - Bump
pytest-asyncio
from 0.21.0 to 0.21.1 (3801
) - Bump
sphinx-paramlinks
from 0.5.4 to 0.6.0 (3840
) - Update
apscheduler
requirement from ~=3.10.1 to ~=3.10.3 (3851
) - Bump
furo
from 2023.7.26 to 2023.8.19 (3850
) - Bump
sphinx
from 7.1.2 to 7.2.2 (3852
) - Bump
sphinx
from 7.1.1 to 7.1.2 (3827
)
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.
- Drop Support for Python 3.7 (
3728
,3742
by @Trifase,3749
by @thefunkycat,3740
closes3732
,3754
closes3731
,3753
,3764
,3762
,3759
closes3733
)
- Make Integration of
APScheduler
intoJobQueue
More Explicit (3695
) - Introduce
BaseUpdateProcessor
for Customized Concurrent Handling of Updates (3654
closes3509
)
- Fix Inconsistent Type Hints for
timeout
Parameter ofBot.get_updates
(3709
by @revolter) - Use Explicit Optionals (
3692
by @MiguelX413)
- Fix Wrong Warning Text in
KeyboardButton.__eq__
(3768
)
- Explicitly set
allowed_updates
in Examples (3741
by @Trifase closes3726
) - Bump
furo
andsphinx
(3719
) - Documentation Improvements (
3698
,3708
by @revolter,3767
) - Add Quotes for Installation Instructions With Optional Dependencies (
3780
) - Exclude Type Hints from Stability Policy (
3712
) - Set
httpx
Logging Level to Warning in Examples (3746
closes3743
)
- Drop a Legacy
pre-commit.ci
Configuration (3697
) - Add Python 3.12 Beta to the Test Matrix (
3751
) - Use Temporary Files for Testing File Downloads (
3777
) - Auto-Update Changed Version in Other Files After Dependabot PRs (
3716
) - Add More
ruff
Rules (3763
) - Rename
_handler.py
to_basehandler.py
(3761
) - Automatically Label
pre-commit-ci
PRs (3713
) - Rework
pytest
Integration into GitHub Actions (3776
) - Fix Two Bugs in GitHub Actions Workflows (
3739
)
- Update
cachetools
requirement from ~=5.3.0 to ~=5.3.1 (3738
) - Update
aiolimiter
requirement from ~=1.0.0 to ~=1.1.0 (3707
) pre-commit
autoupdate (3791
)- Bump
sphinxcontrib-mermaid
from 0.8.1 to 0.9.2 (3737
) - Bump
pytest-xdist
from 3.2.1 to 3.3.0 (3705
) - Bump
srvaroa/labeler
from 1.5.0 to 1.6.0 (3786
) - Bump
dependabot/fetch-metadata
from 1.5.1 to 1.6.0 (3787
) - Bump
dessant/lock-threads
from 4.0.0 to 4.0.1 (3785
) - Bump
pytest
from 7.3.2 to 7.4.0 (3774
) - Update
httpx
requirement from ~=0.24.0 to ~=0.24.1 (3715
) - Bump
pytest-xdist
from 3.3.0 to 3.3.1 (3714
) - Bump
pytest
from 7.3.1 to 7.3.2 (3758
) pre-commit
autoupdate (3747
)
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.
- Full support for API 6.7 (
3673
) - Add a Stability Policy (
3622
)
- Add
Application.mark_data_for_update_persistence
(3607
) - Make
Message.link
Point to Thread View Where Possible (3640
) - Localize Received
datetime
Objects According toDefaults.tzinfo
(3632
)
- Empower
ruff
(3594
) - Drop Usage of
sys.maxunicode
(3630
) - Add String Representation for
RequestParameter
(3634
) - Stabilize CI by Rerunning Failed Tests (
3631
) - Give Loggers Better Names (
3623
) - Add Logging for Invalid JSON Data in
BasePersistence.parse_json_payload
(3668
) - Improve Warning Categories & Stacklevels (
3674
) - Stabilize
test_delete_sticker_set
(3685
) - Shield Update Fetcher Task in
Application.start
(3657
) - Recover 100% Type Completeness (
3676
) - Documentation Improvements (
3628
,3636
,3694
)
- Bump
actions/stale
from 7 to 8 (3644
) - Bump
furo
from 2023.3.23 to 2023.3.27 (3643
) pre-commit
autoupdate (3646
,3688
)- Remove Deprecated
codecov
Package from CI (3664
) - Bump
sphinx-copybutton
from 0.5.1 to 0.5.2 (3662
) - Update
httpx
requirement from ~=0.23.3 to ~=0.24.0 (3660
) - Bump
pytest
from 7.2.2 to 7.3.1 (3661
)
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.
- Full Support for API 6.6 (
3584
) - Revert to HTTP/1.1 as Default and make HTTP/2 an Optional Dependency (
3576
)
- Documentation Improvements (
3565
,3600
) - Handle Symbolic Links in
was_called_by
(3552
) - Tidy Up Tests Directory (
3553
) - Enhance
Application.create_task
(3543
) - Make Type Completeness Workflow Usable for
PRs
from Forks (3551
) - Refactor and Overhaul the Test Suite (
3426
)
- Bump
pytest-asyncio
from 0.20.3 to 0.21.0 (3624
) - Bump
furo
from 2022.12.7 to 2023.3.23 (3625
) - Bump
pytest-xdist
from 3.2.0 to 3.2.1 (3606
) pre-commit
autoupdate (3577
)- Update
apscheduler
requirement from ~=3.10.0 to ~=3.10.1 (3572
) - Bump
pytest
from 7.2.1 to 7.2.2 (3573
) - Bump
pytest-xdist
from 3.1.0 to 3.2.0 (3550
) - Bump
sphinxcontrib-mermaid
from 0.7.1 to 0.8 (3549
)
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.
- Full Support for Bot API 6.5 (
3530
)
- Add
Application(Builder).post_stop
(3466
) - Add
Chat.effective_name
Convenience Property (3485
) - Allow to Adjust HTTP Version and Use HTTP/2 by Default (
3506
)
- Enhance
chatmemberbot
Example (3500
) - Automatically Generate Cross-Reference Links (
3501
,3529
,3523
) - Add Some Graphic Elements to Docs (
3535
) - Various Smaller Improvements (
3464
,3483
,3484
,3497
,3512
,3515
,3498
)
- Update Copyright to 2023 (
3459
) - Stabilize Tests on Closing and Hiding the General Forum Topic (
3460
) - Fix Dependency Warning Typo (
3474
) - Cache Dependencies on
GitHub
Actions (3469
) - Store Documentation Builts as
GitHub
Actions Artifacts (3468
) - Add
ruff
topre-commit
Hooks (3488
) - Improve Warning for
days
Parameter ofJobQueue.run_daily
(3503
) - Improve Error Message for
NetworkError
(3505
) - Lock Inactive Threads Only Once Each Day (
3510
) - Bump
pytest
from 7.2.0 to 7.2.1 (3513
) - Check for 3D Arrays in
check_keyboard_type
(3514
) - Explicit Type Annotations (
3508
) - Increase Verbosity of Type Completeness CI Job (
3531
) - Fix CI on Python 3.11 + Windows (
3547
)
- Bump
actions/stale
from 6 to 7 (3461
) - Bump
dessant/lock-threads
from 3.0.0 to 4.0.0 (3462
) pre-commit
autoupdate (3470
)- Update
httpx
requirement from ~=0.23.1 to ~=0.23.3 (3489
) - Update
cachetools
requirement from ~=5.2.0 to ~=5.2.1 (3502
) - Improve Config for
ruff
and Bump tov0.0.222
(3507
) - Update
cachetools
requirement from ~=5.2.1 to ~=5.3.0 (3520
) - Bump
isort
to 5.12.0 (3525
) - Update
apscheduler
requirement from ~=3.9.1 to ~=3.10.0 (3532
) pre-commit
autoupdate (3537
)- Update
cryptography
requirement to >=39.0.1 to address Vulnerability (3539
)
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.
- Full Support For Bot API 6.4 (
3449
)
- Documentation Improvements (
3428
,3423
,3429
,3441
,3404
,3443
) - Allow
Sequence
Input for Bot Methods (3412
) - Update Link-Check CI and Replace a Dead Link (
3456
) - Freeze Classes Without Arguments (
3453
) - Add New Constants (
3444
) - Override
Bot.__deepcopy__
to RaiseTypeError
(3446
) - Add Log Decorator to
Bot.get_webhook_info
(3442
) - Add Documentation On Verifying Releases (
3436
) - Drop Undocumented
Job.__lt__
(3432
)
- Downgrade
sphinx
to 5.3.0 to Fix Search (3457
) - Bump
sphinx
from 5.3.0 to 6.0.0 (3450
)
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.
- Make
TelegramObject
Immutable (3249
)
- Reduce Code Duplication in Testing
Defaults
(3419
) - Add Notes and Warnings About Optional Dependencies (
3393
) - Simplify Internals of
Bot
Methods (3396
) - Reduce Code Duplication in Several
Bot
Methods (3385
) - Documentation Improvements (
3386
,3395
,3398
,3403
)
- Bump
pytest-xdist
from 3.0.2 to 3.1.0 (3415
) - Bump
pytest-asyncio
from 0.20.2 to 0.20.3 (3417
) pre-commit
autoupdate (3409
)
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.
- Only Persist Arbitrary
callback_data
ifExtBot.callback_data_cache
is Present (3384
) - Improve Backwards Compatibility of
TelegramObjects
Pickle Behavior (3382
) - Fix Naming and Keyword Arguments of
File.download_*
Methods (3380
) - Fix Return Value Annotation of
Chat.create_forum_topic
(3381
)
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.
- API 6.3 (
3346
,3343
,3342
,3360
) - Explicit
local_mode
Setting (3154
) - Make Almost All 3rd Party Dependencies Optional (
3267
) - Split
File.download
IntoFile.download_to_drive
AndFile.download_to_memory
(3223
)
- Add Properties for API Settings of
Bot
(3247
) - Add
chat_id
andusername
Parameters toChatJoinRequestHandler
(3261
) - Introduce
TelegramObject.api_kwargs
(3233
) - Add Two Constants Related to Local Bot API Servers (
3296
) - Add
recursive
Parameter toTelegramObject.to_dict()
(3276
) - Overhaul String Representation of
TelegramObject
(3234
) - Add Methods
Chat.mention_{html, markdown, markdown_v2}
(3308
) - Add
constants.MessageLimit.DEEP_LINK_LENGTH
(3315
) - Add Shortcut Parameters
caption
,parse_mode
andcaption_entities
toBot.send_media_group
(3295
) - Add Several New Enums To Constants (
3351
)
- Fix
CallbackQueryHandler
Not Handling Non-String Data Correctly With Regex Patterns (3252
) - Fix Defaults Handling in
Bot.answer_web_app_query
(3362
)
- Update PR Template (
3361
) - Document Dunder Methods of
TelegramObject
(3319
) - Add Several References to Wiki pages (
3306
) - Overhaul Search bar (
3218
) - Unify Documentation of Arguments and Attributes of Telegram Classes (
3217
,3292
,3303
,3312
,3314
) - Several Smaller Improvements (
3214
,3271
,3289
,3326
,3370
,3376
,3366
)
- Improve Warning About Unknown
ConversationHandler
States (3242
) - Switch from Stale Bot to
GitHub
Actions (3243
) - Bump Python 3.11 to RC2 in Test Matrix (
3246
) - Make
Job.job
a Property and MakeJobs
Hashable (3250
) - Skip
JobQueue
Tests on Windows Again (3280
) - Read-Only
CallbackDataCache
(3266
) - Type Hinting Fix for
Message.effective_attachment
(3294
) - Run Unit Tests in Parallel (
3283
) - Update Test Matrix to Use Stable Python 3.11 (
3313
) - Don't Edit Objects In-Place When Inserting
ext.Defaults
(3311
) - Add a Test for
MessageAttachmentType
(3335
) - Add Three New Test Bots (
3347
) - Improve Unit Tests Regarding
ChatMemberUpdated.difference
(3352
) - Flaky Unit Tests: Use
pytest
Marker (3354
) - Fix
DeepSource
Issues (3357
) - Handle Lists and Tuples and Datetimes Directly in
TelegramObject.to_dict
(3353
) - Update Meta Config (
3365
) - Merge
ChatDescriptionLimit
Enum IntoChatLimit
(3377
)
- Bump
pytest
from 7.1.2 to 7.1.3 (3228
) pre-commit
Updates (3221
)- Bump
sphinx
from 5.1.1 to 5.2.3 (3269
) - Bump
furo
from 2022.6.21 to 2022.9.29 (3268
) - Bump
actions/stale
from 5 to 6 (3277
) pre-commit
autoupdate (3282
)- Bump
sphinx
from 5.2.3 to 5.3.0 (3300
) - Bump
pytest-asyncio
from 0.19.0 to 0.20.1 (3299
) - Bump
pytest
from 7.1.3 to 7.2.0 (3318
) - Bump
pytest-xdist
from 2.5.0 to 3.0.2 (3317
) pre-commit
autoupdate (3325
)- Bump
pytest-asyncio
from 0.20.1 to 0.20.2 (3359
) - Update
httpx
requirement from ~=0.23.0 to ~=0.23.1 (3373
)
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.
- Fix a Bug in
setup.py
Regarding Optional Dependencies (3209
)
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.
- Full Support for API 6.2 (
3195
)
- New Rate Limiting Mechanism (
3148
) - Make
chat/user_data
Available in Error Handler for Errors in Jobs (3152
) - Add
Application.post_shutdown
(3126
)
- Fix
helpers.mention_markdown
for Markdown V1 and Improve Related Unit Tests (3155
) - Add
api_kwargs
Parameter toBot.log_out
and Improve Related Unit Tests (3147
) - Make
Bot.delete_my_commands
a Coroutine Function (3136
) - Fix
ConversationHandler.check_update
not respectingper_user
(3128
)
- Add Python 3.11 to Test Suite & Adapt Enum Behaviour (
3168
) - Drop Manual Token Validation (
3167
) - Simplify Unit Tests for
Bot.send_chat_action
(3151
) - Drop
pre-commit
Dependencies fromrequirements-dev.txt
(3120
) - Change Default Values for
concurrent_updates
andconnection_pool_size
(3127
) - Documentation Improvements (
3139
,3153
,3135
) - Type Hinting Fixes (
3202
)
- Bump
sphinx
from 5.0.2 to 5.1.1 (3177
) - Update
pre-commit
Dependencies (3085
) - Bump
pytest-asyncio
from 0.18.3 to 0.19.0 (3158
) - Update
tornado
requirement from ~=6.1 to ~=6.2 (3149
) - Bump
black
from 22.3.0 to 22.6.0 (3132
) - Bump
actions/setup-python
from 3 to 4 (3131
)
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.
- Full Support for API 6.1 (
3112
)
- Add Additional Shortcut Methods to
Chat
(3115
) - Mermaid-based Example State Diagrams (
3090
)
- Documentation Improvements (
3103
,3121
,3098
) - Stabilize CI (
3119
) - Bump
pyupgrade
from 2.32.1 to 2.34.0 (3096
) - Bump
furo
from 2022.6.4 to 2022.6.4.1 (3095
) - Bump
mypy
from 0.960 to 0.961 (3093
)
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.
- Drop Support for
ujson
and insteadBaseRequest.parse_json_payload
(3037
,3072
) - Drop
InputFile.is_image
(3053
) - Drop Explicit Type conversions in
__init__
s (3056
) - Handle List-Valued Attributes More Consistently (
3057
) - Split
{Command, Prefix}Handler
And Make Attributes Immutable (3045
) - Align Behavior Of
JobQueue.run_daily
Withcron
(3046
) - Make PTB Specific Keyword-Only Arguments for PTB Specific in Bot methods (
3035
) - Adjust Equality Comparisons to Fit Bot API 6.0 (
3033
) - Add Tuple Based Version Info (
3030
) - Improve Type Annotations for
CallbackContext
and Move Default Type Alias toContextTypes.DEFAULT_TYPE
(3017
,3023
) - Rename
Job.context
toJob.data
(3028
) - Rename
Handler
toBaseHandler
(3019
)
- Add
Application.post_init
(3078
) - Add Arguments
chat/user_id
toCallbackContext
And Example On Custom Webhook Setups (3059
) - Add Convenience Property
Message.id
(3077
) - Add Example for
WebApp
(3052
) - Rename
telegram.bot_api_version
totelegram.__bot_api_version__
(3030
)
- Fix Non-Blocking Entry Point in
ConversationHandler
(3068
) - Escape Backslashes in
escape_markdown
(3055
)
- Update
httpx
requirement from ~=0.22.0 to ~=0.23.0 (3069
) - Update
cachetools
requirement from ~=5.0.0 to ~=5.2.0 (3058
,3080
)
- Move Examples To Documentation (
3089
) - Documentation Improvements and Update Dependencies (
3010
,3007
,3012
,3067
,3081
,3082
) - Improve Some Unit Tests (
3026
) - Update Code Quality dependencies (
3070
,3032
,2998
,2999
) - Don't Set Signal Handlers On Windows By Default (
3065
) - Split
{Command, Prefix}Handler
And Make Attributes Immutable (3045
) - Apply
isort
and Updatepre-commit.ci
Configuration (3049
) - Adjust
pre-commit
Settings forisort
(3043
) - Add Version Check to Examples (
3036
) - Use
Collection
Instead ofList
andTuple
(3025
) - Remove Client-Side Parameter Validation (
3024
) - Don't Pass Default Values of Optional Parameters to Telegram (
2978
) - Stabilize
Application.run_*
on Python 3.7 (3009
) - Ignore Code Style Commits in
git blame
(3003
) - Adjust Tests to Changed API Behavior (
3002
)
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.
- Refactor Initialization of Persistence Classes (
2604
) - Drop Non-
CallbackContext
API (2617
) - Remove
__dict__
from__slots__
and drop Python 3.6 (2619
,2636
) - Move and Rename
TelegramDecryptionError
totelegram.error.PassportDecryptionError
(2621
) - Make
BasePersistence
Methods Abstract (2624
) - Remove
day_is_strict
argument ofJobQueue.run_monthly
(2634
by iota-008) - Move
Defaults
totelegram.ext
(2648
) - Remove Deprecated Functionality (
2644
,2740
,2745
) - Overhaul of Filters (
2759
,2922
) - Switch to
asyncio
and Refactor PTBs Architecture (2731
) - Improve
Job.__getattr__
(2832
) - Remove
telegram.ReplyMarkup
(2870
) - Persistence of
Bots
: Refactor Automatic Replacement and Integration withTelegramObject
(2893
)
- Introduce Builder Pattern (
2646
) - Add
Filters.update.edited
(2705
by PhilippFr) - Introduce
Enums
fortelegram.constants
(2708
) - Accept File Paths for
private_key
(2724
) - Associate
Jobs
withchat/user_id
(2731
) - Convenience Functionality for
ChatInviteLinks
(2782
) - Add
Dispatcher.add_handlers
(2823
) - Improve Error Messages in
CommandHandler.__init__
(2837
) Defaults.protect_content
(2840
)- Add
Dispatcher.migrate_chat_data
(2848
by DonalDuck004) - Add Method
drop_chat/user_data
toDispatcher
and Persistence (2852
) - Add methods
ChatPermissions.{all, no}_permissions
(2948
) - Full Support for API 6.0 (
2956
) - Add Python 3.10 to Test Suite (
2968
)
- Improve Type Hinting for
CallbackContext
(2587
by revolter) - Fix Signatures and Improve
test_official
(2643
) - Refine
Dispatcher.dispatch_error
(2660
) - Make
InlineQuery.answer
RaiseValueError
(2675
) - Improve Signature Inspection for Bot Methods (
2686
) - Introduce
TelegramObject.set/get_bot
(2712
by zpavloudis) - Improve Subscription of
TelegramObject
(2719
by SimonDamberg) - Use Enums for Dynamic Types & Rename Two Attributes in
ChatMember
(2817
) - Return Plain Dicts from
BasePersistence.get_*_data
(2873
) - Fix a Bug in
ChatMemberUpdated.difference
(2947
) - Update Dependency Policy (
2958
)
- Add User Friendly Type Check For Init Of
{Inline, Reply}KeyboardMarkup
(2657
) - Warnings Overhaul (
2662
) - Clear Up Import Policy (
2671
) - Mark Internal Modules As Private (
2687
by kencx) - Handle Filepaths via the
pathlib
Module (2688
by eldbud) - Refactor MRO of
InputMedia*
and Some File-Like Classes (2717
by eldbud) - Update Exceptions for Immutable Attributes (
2749
) - Refactor Warnings in
ConversationHandler
(2755
,2784
) - Use
__all__
Consistently (2805
)
- Add Custom
pytest
Marker to Ease Development (2628
) - Pass Failing Jobs to Error Handlers (
2692
) - Update Notification Workflows (
2695
) - Use Error Messages for
pylint
Instead of Codes (2700
by Piraty) - Make Tests Agnostic of the CWD (
2727
by eldbud) - Update Code Quality Dependencies (
2748
) - Improve Code Quality (
2783
) - Update
pre-commit
Settings & Improve a Test (2796
) - Improve Code Quality & Test Suite (
2843
) - Fix failing animation tests (
2865
) - Update and Expand Tests & pre-commit Settings and Improve Code Quality (
2925
) - Extend Code Formatting With Black (
2972
) - Update Workflow Permissions (
2984
) - Adapt Tests to Changed
Bot.get_file
Behavior (2995
)
- Doc Fixes (
2597
) - Add Code Comment Guidelines to Contribution Guide (
2612
) - Add Cross-References to External Libraries & Other Documentation Improvements (
2693
,2691
by joesinghh,2739
by eldbud) - Use Furo Theme, Make Parameters Referenceable, Add Documentation Building to CI, Improve Links to Source Code & Other Improvements (
2856
,2798
,2854
,2841
) - Documentation Fixes & Improvements (
2822
) - Replace
git.io
Links (2872
by murugu-21) - Overhaul Readmes, Update RTD Startpage & Other Improvements (
2969
)
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.
Major Changes:
- Full Support for Bot API 5.7 (
2881
)
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.
Major Changes:
- Full Support for API 5.6 (
2835
)
Minor Changes & Doc fixes:
- Update Copyright to 2022 (
2836
) - Update Documentation of
BotCommand
(2820
)
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.
Major Changes:
- Full Support for Api 5.5 (
2809
)
Minor Changes
- Adjust Automated Locking of Inactive Issues (
2775
)
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.
Doc fixes:
- Add
ChatJoinRequest(Handler)
to Docs (2771
)
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.
Major Changes:
- Full support for API 5.4 (
2767
)
Minor changes, CI improvements, Doc fixes and Type hinting:
- Create Issue Template Forms (
2689
) - Fix
camelCase
Functions inExtBot
(2659
) - Fix Empty Captions not Being Passed by
Bot.copy_message
(2651
) - Fix Setting Thumbs When Uploading A Single File (
2583
) - Fix Bug in
BasePersistence.insert
/replace_bot
for Objects with__dict__
not in__slots__
(2603
)
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.
Major Changes:
- Full support for Bot API 5.3 (
2572
)
Bug Fixes:
- Fix Bug in
BasePersistence.insert/replace_bot
for Objects with__dict__
in their slots (2561
) - Remove Incorrect Warning About
Defaults
andExtBot
(2553
)
Minor changes, CI improvements, Doc fixes and Type hinting:
- Type Hinting Fixes (
2552
) - Doc Fixes (
2551
) - Improve Deprecation Warning for
__slots__
(2574
) - Stabilize CI (
2575
) - Fix Coverage Configuration (
2571
) - Better Exception-Handling for
BasePersistence.replace/insert_bot
(2564
) - Remove Deprecated
pass_args
from Deeplinking Example (2550
)
Released 2021-06-06
New Features:
- Arbitrary
callback_data
(1844
) - Add
ContextTypes
&BasePersistence.refresh_user/chat/bot_data
(2262
) - Add
Filters.attachment
(2528
) - Add
pattern
Argument toChosenInlineResultHandler
(2517
)
Major Changes:
- Add
slots
(2345
)
Minor changes, CI improvements, Doc fixes and Type hinting:
- Doc Fixes (
2495
,2510
) - Add
max_connections
Parameter toUpdater.start_webhook
(2547
) - Fix for
Promise.done_callback
(2544
) - Improve Code Quality (
2536
,2454
) - Increase Test Coverage of
CallbackQueryHandler
(2520
) - Stabilize CI (
2522
,2537
,2541
) - Fix
send_phone_number_to_provider
argument forBot.send_invoice
(2527
) - Handle Classes as Input for
BasePersistence.replace/insert_bot
(2523
) - Bump Tornado Version and Remove Workaround from
2067
(2494
)
Released 2021-04-30
Major Changes:
Full support of Bot API 5.2 (
2489
).Note
The
start_parameter
argument ofBot.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
, DeprecatingChatAction.RECORD_AUDIO
andChatAction.UPLOAD_AUDIO
(2460
)
New Features:
- Convenience Utilities & Example for Handling
ChatMemberUpdated
(2490
) Filters.forwarded_from
(2446
)
Minor changes, CI improvements, Doc fixes and Type hinting:
- Improve Timeouts in
ConversationHandler
(2417
) - Stabilize CI (
2480
) - Doc Fixes (
2437
) - Improve Type Hints of Data Filters (
2456
) - Add Two
UserWarnings
(2464
) - Improve Code Quality (
2450
) - Update Fallback Test-Bots (
2451
) - Improve Examples (
2441
,2448
)
Released 2021-03-14
Hot fix release:
- Fixed a bug in
setup.py
(2431
)
Released 2021-03-14
Major Changes:
- Full support of Bot API 5.1 (
2424
)
Minor changes, CI improvements, doc fixes and type hinting:
- Improve
Updater.set_webhook
(2419
) - Doc Fixes (
2404
) - Type Hinting Fixes (
2425
) - Update
pre-commit
Settings (2415
) - Fix Logging for Vendored
urllib3
(2427
) - Stabilize Tests (
2409
)
Released 2021-02-19
Major Changes:
- Make
cryptography
Dependency Optional & Refactor Some Tests (2386
,2370
) - Deprecate
MessageQueue
(2393
)
Bug Fixes:
- Refactor
Defaults
Integration (2363
) - Add Missing
telegram.SecureValue
to init and Docs (2398
)
Minor changes:
- Doc Fixes (
2359
)
Released 2021-02-02
Major Changes:
- Introduce
python-telegram-bot-raw
(2324
) - Explicit Signatures for Shortcuts (
2240
)
New Features:
- Add Missing Shortcuts to
Message
(2330
) - Rich Comparison for
Bot
(2320
) - Add
run_async
Parameter toConversationHandler
(2292
) - Add New Shortcuts to
Chat
(2291
) - Add New Constant
MAX_ANSWER_CALLBACK_QUERY_TEXT_LENGTH
(2282
) - Allow Passing Custom Filename For All Media (
2249
) - Handle Bytes as File Input (
2233
)
Bug Fixes:
- Fix Escaping in Nested Entities in
Message
Properties (2312
) - Adjust Calling of
Dispatcher.update_persistence
(2285
) - Add
quote
kwarg toMessage.reply_copy
(2232
) ConversationHandler
: Docs &edited_channel_post
behavior (2339
)
Minor changes, CI improvements, doc fixes and type hinting:
- Doc Fixes (
2253
,2225
) - Reduce Usage of
typing.Any
(2321
) - Extend Deeplinking Example (
2335
) - Add pyupgrade to pre-commit Hooks (
2301
) - Add PR Template (
2299
) - Drop Nightly Tests & Update Badges (
2323
) - Update Copyright (
2289
,2287
) - Change Order of Class DocStrings (
2256
) - Add macOS to Test Matrix (
2266
) - Start Using Versioning Directives in Docs (
2252
) - Improve Annotations & Docs of Handlers (
2243
)
Released 2020-11-29
Major Changes:
- Full support of Bot API 5.0 (
2181
,2186
,2190
,2189
,2183
,2184
,2188
,2185
,2192
,2196
,2193
,2223
,2199
,2187
,2147
,2205
)
New Features:
- Add
Defaults.run_async
(2210
) - Improve and Expand
CallbackQuery
Shortcuts (2172
) - Add XOR Filters and make
Filters.name
a Property (2179
) - Add
Filters.document.file_extension
(2169
) - Add
Filters.caption_regex
(2163
) - Add
Filters.chat_type
(2128
) - Handle Non-Binary File Input (
2202
)
Bug Fixes:
- Improve Handling of Custom Objects in
BasePersistence.insert
/replace_bot
(2151
) - Fix bugs in
replace/insert_bot
(2218
)
Minor changes, CI improvements, doc fixes and type hinting:
- Improve Type hinting (
2204
,2118
,2167
,2136
) - Doc Fixes & Extensions (
2201
,2161
) - Use F-Strings Where Possible (
2222
) - Rename kwargs to _kwargs where possible (
2182
) - Comply with PEP561 (
2168
) - Improve Code Quality (
2131
) - Switch Code Formatting to Black (
2122
,2159
,2158
) - Update Wheel Settings (
2142
) - Update
timerbot.py
tov13.0
(2149
) - Overhaul Constants (
2137
) - Add Python 3.9 to Test Matrix (
2132
) - Switch Codecov to
GitHub
Action (2127
) - Specify Required pytz Version (
2121
)
Released 2020-10-07
For a detailed guide on how to migrate from v12 to v13, see this wiki page.
Major Changes:
- Deprecate old-style callbacks, i.e. set
use_context=True
by default (2050
) - Refactor Handling of Message VS Update Filters (
2032
) - Deprecate
Message.default_quote
(1965
) - Refactor persistence of Bot instances (
1994
) - Refactor
JobQueue
(1981
) - Refactor handling of kwargs in Bot methods (
1924
) - Refactor
Dispatcher.run_async
, deprecating the@run_async
decorator (2051
)
New Features:
- Type Hinting (
1920
) - Automatic Pagination for
answer_inline_query
(2072
) Defaults.tzinfo
(2042
)- Extend rich comparison of objects (
1724
) - Add
Filters.via_bot
(2009
) - Add missing shortcuts (
2043
) - Allow
DispatcherHandlerStop
inConversationHandler
(2059
) - Make Errors picklable (
2106
)
Minor changes, CI improvements, doc fixes or bug fixes:
- Fix Webhook not working on Windows with Python 3.8+ (
2067
) - Fix setting thumbs with
send_media_group
(2093
) - Make
MessageHandler
filter forFilters.update
first (2085
) - Fix
PicklePersistence.flush()
with onlybot_data
(2017
) - Add test for clean argument of
Updater.start_polling/webhook
(2002
) - Doc fixes, refinements and additions (
2005
,2008
,2089
,2094
,2090
) - CI fixes (
2018
,2061
) - Refine
pollbot.py
example (2047
) - Refine Filters in examples (
2027
) - Rename
echobot
examples (2025
) - Use Lock-Bot to lock old threads (
2048
,2052
,2049
,2053
)
Released 2020-06-22
Major Changes:
- Remove Python 2 support (
1715
) - Bot API 4.9 support (
1980
) - IDs/Usernames of
Filters.user
andFilters.chat
can now be updated (1757
)
Minor changes, CI improvements, doc fixes or bug fixes:
- Update contribution guide and stale bot (
1937
) - Remove
NullHandlers
(1913
) - Improve and expand examples (
1943
,1995
,1983
,1997
) - Doc fixes (
1940
,1962
) - Add
User.send_poll()
shortcut (1968
) - Ignore private attributes en
TelegramObject.to_dict()
(1989
) - Stabilize CI (
2000
)
Released 2020-05-02
Major Changes:
- Bot API 4.8 support. Note: The
Dice
object now has a second positional argumentemoji
. This is relevant, if you instantiateDice
objects manually. (1917
) - Added
tzinfo
argument tohelpers.from_timestamp
. It now returns an timezone aware object. This is relevant forMessage.{date,forward_date,edit_date}
,Poll.close_date
andChatMember.until_date
(1621
)
New Features:
- New method
run_monthly
for theJobQueue
(1705
) Job.next_t
now gives the datetime of the jobs next execution (1685
)
Minor changes, CI improvements, doc fixes or bug fixes:
- Stabalize CI (
1919
,1931
) - Use ABCs
@abstractmethod
instead of raisingNotImplementedError
forHandler
,BasePersistence
andBaseFilter
(1905
) - Doc fixes (
1914
,1902
,1910
)
Released 2020-04-11
Bug fixes:
- Fix serialization of
reply_markup
in media messages (1889
)
Released 2020-04-10
Major Changes:
- Bot API 4.7 support. Note: In
Bot.create_new_sticker_set
andBot.add_sticker_to_set
, the order of the parameters had be changed, as thepng_sticker
parameter is now optional. (1858
)
Minor changes, CI improvements or bug fixes:
- Add tests for
swtich_inline_query(_current_chat)
with empty string (1635
) - Doc fixes (
1854
,1874
,1884
) - Update issue templates (
1880
) - Favor concrete types over "Iterable" (
1882
) - Pass last valid
CallbackContext
toTIMEOUT
handlers ofConversationHandler
(1826
) - Tweak handling of persistence and update persistence after job calls (
1827
) - Use checkout@v2 for GitHub actions (
1887
)
Released 2020-03-30
Minor changes, doc fixes or bug fixes:
- Add missing docs for PollHandler and PollAnswerHandler (
1853
) - Fix wording in Filters docs (
1855
) - Reorder tests to make them more stable (
1835
) - Make ConversationHandler attributes immutable (
1756
) - Make PrefixHandler attributes command and prefix editable (
1636
) - Fix UTC as default tzinfo for Job (
1696
)
Released 2020-03-29
New Features:
- Bot.link gives the t.me link of the bot (
1770
)
Major Changes:
- Bot API 4.5 and 4.6 support. (
1508
,1723
)
Minor changes, CI improvements or bug fixes:
- Remove legacy CI files (
1783
,1791
) - Update pre-commit config file (
1787
) - Remove builtin names (
1792
) - CI improvements (
1808
,1848
) - Support Python 3.8 (
1614
,1824
) - Use stale bot for auto closing stale issues (
1820
,1829
,1840
) - Doc fixes (
1778
,1818
) - Fix typo in edit_message_media (
1779
) - In examples, answer CallbackQueries and use edit_message_text shortcut (
1721
) - Revert accidental change in vendored urllib3 (
1775
)
Released 2020-02-10
Bug Fixes
- Pass correct parse_mode to InlineResults if bot.defaults is None (
1763
) - Make sure PP can read files that dont have bot_data (
1760
)
Released 2020-02-08
This is a quick release for 1744
which was accidently left out of v12.4.0 though mentioned in the release notes.
Released 2020-02-08
New features:
- Set default values for arguments appearing repeatedly. We also have a wiki page for the new defaults. (
1490
) - Store data in
CallbackContext.bot_data
to access it in every callback. Also persists. (1325
) Filters.poll
allows only messages containing a poll (1673
)
Major changes:
Filters.text
now accepts messages that start with a slash, becauseCommandHandler
checks forMessageEntity.BOT_COMMAND
since v12. This might lead to your MessageHandlers receiving more updates than before (1680
).Filters.command
new checks forMessageEntity.BOT_COMMAND
instead of just a leading slash. Also byFilters.command(False)
you can now filters for messages containing a command anywhere in the text (1744
).
Minor changes, CI improvements or bug fixes:
- Add
disptacher
argument toUpdater
to allow passing a customizedDispatcher
(1484
) - Add missing names for
Filters
(1632
) - Documentation fixes (
1624
,1647
,1669
,1703
,1718
,1734
,1740
,1642
,1739
,1746
) - CI improvements (
1716
,1731
,1738
,1748
,1749
,1750
,1752
) - Fix spelling issue for
encode_conversations_to_json
(1661
) - Remove double assignement of
Dispatcher.job_queue
(1698
) - Expose dispatcher as property for
CallbackContext
(1684
) - Fix
None
check inJobQueue._put()
(1707
) - Log datetimes correctly in
JobQueue
(1714
) - Fix false
Message.link
creation for private groups (1741
) - Add option
--with-upstream-urllib3
to setup.py to allow using non-vendored version (1725
) - Fix persistence for nested
ConversationHandlers
(1679
) - Improve handling of non-decodable server responses (
1623
) - Fix download for files without
file_path
(1591
) - test_webhook_invalid_posts is now considered flaky and retried on failure (
1758
)
Released 2020-01-11
New features:
- Filters.caption allows only messages with caption (
1631
). - Filter for exact messages/captions with new capability of Filters.text and Filters.caption. Especially useful in combination with ReplyKeyboardMarkup. (
1631
).
Major changes:
- Fix inconsistent handling of naive datetimes (
1506
).
Minor changes, CI improvements or bug fixes:
- Documentation fixes (
1558
,1569
,1579
,1572
,1566
,1577
,1656
). - Add mutex protection on ConversationHandler (
1533
). - Add MAX_PHOTOSIZE_UPLOAD constant (
1560
). - Add args and kwargs to Message.forward() (
1574
). - Transfer to GitHub Actions CI (
1555
,1556
,1605
,1606
,1607
,1612
,1615
,1645
). - Fix deprecation warning with Py3.8 by vendored urllib3 (
1618
). - Simplify assignements for optional arguments (
1600
) - Allow private groups for Message.link (
1619
). - Fix wrong signature call for ConversationHandler.TIMEOUT handlers (
1653
).
Released 2019-10-14
New features:
- Nested ConversationHandlers (
1512
).
Minor changes, CI improvments or bug fixes:
- Fix CI failures due to non-backward compat attrs depndency (
1540
). - travis.yaml: TEST_OFFICIAL removed from allowed_failures.
- Fix typos in examples (
1537
). - Fix Bot.to_dict to use proper first_name (
1525
). - Refactor
test_commandhandler.py
(1408
). - Add Python 3.8 (RC version) to Travis testing matrix (
1543
). - test_bot.py: Add to_dict test (
1544
). - Flake config moved into setup.cfg (
1546
).
Released 2019-09-18
Hot fix release
Fixed regression in the vendored urllib3 (1517
).
Released 2019-09-13
Major changes:
- Bot API 4.4 support (
1464
,1510
) - Add get_file method to Animation & ChatPhoto. Add, get_small_file & get_big_file methods to ChatPhoto (
1489
) - Tools for deep linking (
1049
)
Minor changes and/or bug fixes:
- Documentation fixes (
1500
,1499
) - Improved examples (
1502
)
Released 2019-08-29
Well... This felt like decades. But here we are with a new release.
Expect minor releases soon (mainly complete Bot API 4.4 support)
Major and/or breaking changes:
- 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 (
1485
) - Return UTC from from_timestamp() (
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.
- Use of
pass_
in handlers is deprecated. - Instead use
use_context=True
onUpdater
orDispatcher
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.
- 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. (
1283
) - 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.
- 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
- 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 "!").
- 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!
- Remove
run_async_timeout
andtimed_out_behavior
arguments (1344
) - Replace with
WAITING
constant and behavior from states (1344
) - Only emit one warning for multiple CallbackQueryHandlers in a ConversationHandler (
1319
) - Use warnings.warn for ConversationHandler warnings (
1343
) - Fix unresolvable promises (
1270
)
- Handlers should be faster due to deduped logic.
- Avoid compiling compiled regex in regex filter. (
1314
) - Add missing
left_chat_member
to Message.MESSAGE_TYPES (1336
) - Make custom timeouts actually work properly (
1330
) - Add convenience classmethods (from_button, from_row and from_column) to InlineKeyboardMarkup
- Small typo fix in setup.py (
1306
) - Add Conflict error (HTTP error code 409) (
1154
) - Change MAX_CAPTION_LENGTH to 1024 (
1262
) - Remove some unnecessary clauses (
1247
,1239
) - Allow filenames without dots in them when sending files (
1228
) - Fix uploading files with unicode filenames (
1214
) - Replace http.server with Tornado (
1191
) - Allow SOCKSConnection to parse username and password from URL (
1211
) - Fix for arguments in passport/data.py (
1213
) - Improve message entity parsing by adding text_mention (
1206
) - Documentation fixes (
1348
,1397
,1436
) - Merged filters short-circuit (
1350
) - Fix webhook listen with tornado (
1383
) - Call task_done() on update queue after update processing finished (
1428
) - Fix send_location() - latitude may be 0 (
1437
) - Make MessageEntity objects comparable (
1465
) - Add prefix to thread names (
1358
)
- Fix setting bot on ShippingQuery (
1355
) - Fix _trigger_timeout() missing 1 required positional argument: 'job' (
1367
) - Add missing message.text check in PrefixHandler check_update (
1375
) - Make updates persist even on DispatcherHandlerStop (
1463
) - Dispatcher force updating persistence object's chat data attribute(
1462
)
- 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
Released 2018-09-01
Fixes and updates for Telegram Passport: (1198
)
- 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
Released 2018-08-29
Fully support Bot API version 4.0! (also some bugfixes :))
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 can be easily decrypted.
- PassportFiles are automatically decrypted if originating from decrypted PassportData.
- 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
- Support new message entities: CASHTAG and PHONE_NUMBER. (
- Add Bot.send_animation, add width, height, and duration to Animation, and add Filters.animation. (
1172
)
Non Bot API 4.0 changes:
- Minor integer comparison fix (
1147
) - Fix Filters.regex failing on non-text message (
1158
) - Fix ProcessLookupError if process finishes before we kill it (
1126
) - Add t.me links for User, Chat and Message if available and update User.mention* (
1092
) - Fix mention_markdown/html on py2 (
1112
)
Released 2018-05-02
Fixes changing previous behaviour:
- Add urllib3 fix for socks5h support (
1085
) - Fix send_sticker() timeout=20 (
1088
)
Fixes:
- Add a caption_entity filter for filtering caption entities (
1068
) - Inputfile encode filenames (
1086
) - InputFile: Fix proper naming of file when reading from subprocess.PIPE (
1079
) - Remove pytest-catchlog from requirements (
1099
) - Documentation fixes (
1061
,1078
,1081
,1096
)
Released 2018-04-17
Important fix:
- Handle utf8 decoding errors (
1076
)
New features:
- Added Filter.regex (
1028
) - Filters for Category and file types (
1046
) - Added video note filter (
1067
)
Fixes:
- Fix in telegram.Message (
1042
) - Make chat_id a positional argument inside shortcut methods of Chat and User classes (
1050
) - Make Bot.full_name return a unicode object. (
1063
) - CommandHandler faster check (
1074
) - Correct documentation of Dispatcher.add_handler (
1071
) - Various small fixes to documentation.
Released 2018-03-05
Fixes:
- Fix conversationhandler timeout (PR
1032
) - Add missing docs utils (PR
912
)
Released 2018-03-02
Non backward compatabile changes and changed defaults
- JobQueue: Remove deprecated prevent_autostart & put() (PR
1012
) - Bot, Updater: Remove deprecated network_delay (PR
1012
) - Remove deprecated Message.new_chat_member (PR
1012
) - Retry bootstrap phase indefinitely (by default) on network errors (PR
1018
)
New Features
- Support v3.6 API (PR
1006
) - User.full_name convinience property (PR
949
) - Add send_phone_number_to_provider and send_email_to_provider arguments to send_invoice (PR
986
) - Bot: Add shortcut methods reply{markdown,html} (PR
827
) - Bot: Add shortcut method reply_media_group (PR
994
) - Added utils.helpers.effective_message_type (PR
826
) - Bot.get_file now allows passing a file in addition to file_id (PR
963
) - Add .get_file() to Audio, Document, PhotoSize, Sticker, Video, VideoNote and Voice (PR
963
) - Add .send*() methods to User and Chat (PR
963
) - Get jobs by name (PR
1011
) - Add Message caption html/markdown methods (PR
1013
) - File.download_as_bytearray - new method to get a d/led file as bytearray (PR
1019
) - File.download(): Now returns a meaningful return value (PR
1019
) - Added conversation timeout in ConversationHandler (PR
895
)
Changes
- Store bot in PreCheckoutQuery (PR
953
) - Updater: Issue INFO log upon received signal (PR
951
) - JobQueue: Thread safety fixes (PR
977
) - WebhookHandler: Fix exception thrown during error handling (PR
985
) - Explicitly check update.effective_chat in ConversationHandler.check_update (PR
959
) - Updater: Better handling of timeouts during get_updates (PR
1007
) - Remove unnecessary to_dict() (PR
834
) - CommandHandler - ignore strings in entities and "/" followed by whitespace (PR
1020
) - Documentation & style fixes (PR
942
, PR956
, PR962
, PR980
, PR983
)
Released 2017-12-08
Breaking changes (possibly)
- Drop support for python 3.3 (PR
930
)
New Features
- Support Bot API 3.5 (PR
920
)
Changes
- Fix race condition in dispatcher start/stop (
887
) - Log error trace if there is no error handler registered (
694
) - Update examples with consistent string formatting (
870
) - Various changes and improvements to the docs.
Released 2017-10-15
- Fix Commandhandler crashing on single character messages (PR
873
).
Released 2017-10-14
New features - Support Bot API 3.4 (PR 865
).
Changes - MessageHandler & RegexHandler now consider channel_updates. - Fix command not recognized if it is directly followed by a newline (PR 869
). - Removed Bot._message_wrapper (PR 822
). - Unitests are now also running on AppVeyor (Windows VM). - Various unitest improvements. - Documentation fixes.
Released 2017-09-01
New features
- Fully support Bot Api 3.3 (PR
806
). - DispatcherHandlerStop (see docs).
- Regression fix for text_html & text_markdown (PR
777
). - Added effective_attachment to message (PR
766
).
Non backward compatible changes
- Removed Botan support from the library (PR
776
). - Fully support Bot Api 3.3 (PR
806
). - Remove de_json() (PR
789
).
Changes
- Sane defaults for tcp socket options on linux (PR
754
). - Add RESTRICTED as constant to ChatMember (PR
761
). - Add rich comparison to CallbackQuery (PR
764
). - Fix get_game_high_scores (PR
771
). - Warn on small con_pool_size during custom initalization of Updater (PR
793
). - Catch exceptions in error handlerfor errors that happen during polling (PR
810
). - For testing we switched to pytest (PR
788
). - Lots of small improvements to our tests and documentation.
Released 2017-07-28
- Fix TypeError exception in RegexHandler (PR #751).
- Small documentation fix (PR #749).
Released 2017-07-25
- 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 fromutils
(Botan
is still available throughcontrib
). - Removed deprecated
ReplyKeyboardHide
. - Removed deprecated
edit_message
argument ofbot.set_game_score
. - Internal restructure of files.
- Improved documentation.
- Improved unitests.
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
Released 6.0.3
- Faulty PyPI release
2017-05-29
Released 6.0.2
- Avoid confusion with user's
urllib3
by renaming vendoredurllib3
toptb_urllib3
2017-05-19
Released 6.0.1
- Add support for
User.language_code
- Fix
Message.text_html
andMessage.text_markdown
for messages with emoji
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
-484
- Download files into file-like objects -
459
- 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
andtext_html
properties toMessage
-507
- Add support for Socks5 proxy -
518
- Add support for filters in
CommandHandler
-536
- Add the ability to invert (not) filters -
552
- Add
Filters.group
andFilters.private
- Compatibility with GAE via
urllib3.contrib
package -583
- Add equality rich comparision operators to telegram objects -
604
- 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
Released 5.3
- Implement API changes of November 21st (Bot API 2.3)
JobQueue
now supportsdatetime.timedelta
in addition to secondsJobQueue
now supports running jobs only on certain days- New
Filters.reply
filter - Bugfix for
Message.edit_reply_markup
- Other bugfixes
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
Released 5.1
- Drop Python 2.6 support
- Deprecate
telegram.Emoji
- Use
ujson
if available - Add instance methods to
Message
,Chat
,User
,InlineQuery
andCallbackQuery
- RegEx filtering for
CallbackQueryHandler
andInlineQueryHandler
- New
MessageHandler
filters:forwarded
andentity
- Add
Message.get_entity
to correctly handle UTF-16 codepoints andMessageEntity
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
Released 5.0
- Rework
JobQueue
- Introduce
ConversationHandler
- Introduce
telegram.constants
-342
2016-07-12
Released 4.3.4
- Fix proxy support with
urllib3
when proxy requires auth
2016-07-08
Released 4.3.3
- Fix proxy support with
urllib3
2016-07-04
Released 4.3.2
- Fix: Use
timeout
parameter in all API methods
2016-06-29
Released 4.3.1
- Update wrong requirement:
urllib3>=1.10
2016-06-28
Released 4.3
- Use
urllib3.PoolManager
for connection re-use - Rewrite
run_async
decorator to re-use threads - New requirements:
urllib3
andcertifi
2016-06-10
Released 4.2.1
- Fix
CallbackQuery.to_dict()
bug (thanks to @jlmadurga) - Fix
editMessageText
exception when receiving aCallbackQuery
2016-05-28
Released 4.2
- Implement Bot API 2.1
- Move
botan
module totelegram.contrib
- New exception type:
BadRequest
2016-05-22
Released 4.1.2
- Fix
MessageEntity
decoding with Bot API 2.1 changes
2016-05-16
Released 4.1.1
- Fix deprecation warning in
Dispatcher
2016-05-15
Released 4.1
- Implement API changes from May 6, 2016
- Fix bug when
start_polling
withclean=True
- Methods now have snake_case equivalent, for example
telegram.Bot.send_message
is the same astelegram.Bot.sendMessage
2016-05-01
Released 4.0.3
- Add missing attribute
location
toInlineQuery
2016-04-29
Released 4.0.2
- Bugfixes
KeyboardReplyMarkup
now acceptsstr
again
2016-04-27
Released 4.0.1
- Implement Bot API 2.0
- Almost complete recode of
Dispatcher
- Please read the Transition Guide to 4.0
- Changes from 4.0rc1
- The syntax of filters for
MessageHandler
(upper/lower cases) - Handler groups are now identified by
int
only, and ordered
- The syntax of filters for
- Note: v4.0 has been skipped due to a PyPI accident
2016-04-22
Released 4.0rc1
- Implement Bot API 2.0
- Almost complete recode of
Dispatcher
- Please read the Transistion Guide to 4.0
2016-03-22
Released 3.4
- Move
Updater
,Dispatcher
andJobQueue
to newtelegram.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
Released 3.3
- Inline bots
- Send any file by URL
- Specialized exceptions:
Unauthorized
,InvalidToken
,NetworkError
andTimedOut
- 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
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
andDispatcher
start
andstop
methods - Small bugfixes
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
andgroupdict
as additional arguments for regex-based handlers
2015-12-16
Released 3.1.0
- The
chat
-field inMessage
is now of typeChat
. (API update Oct 8 2015) Message
now contains the optional fieldssupergroup_chat_created
,migrate_to_chat_id
,migrate_from_chat_id
andchannel_chat_created
. (API update Nov 2015)
2015-12-08
Released 3.0.0
- Introducing the
Updater
andDispatcher
classes
2015-11-11
Released 2.9.2
- Error handling on request timeouts has been improved
2015-11-10
Released 2.9.1
- Add parameter
network_delay
to Bot.getUpdates for slow connections
2015-11-10
Released 2.9
- Emoji class now uses
bytes_to_native_str
fromfuture
3rd party lib - Make
user_from
optional to work with channels - Raise exception if Telegram times out on long-polling
Special thanks to @jh0ker for all hard work
2015-10-08
Released 2.8.7
- Type as optional for
GroupChat
class
2015-10-08
Released 2.8.6
- Adds type to
User
andGroupChat
classes (pre-release Telegram feature)
2015-09-24
Released 2.8.5
- Handles HTTP Bad Gateway (503) errors on request
- Fixes regression on
Audio
andDocument
for unicode fields
2015-09-20
Released 2.8.4
getFile
andFile.download
is now fully supported
2015-09-10
Released 2.8.3
- Moved
Bot._requestURL
to its own class (telegram.utils.request
) - Much better, such wow, Telegram Objects tests
- 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
- Markdown support for
Bot.sendMessage(..., parse_mode=ParseMode.MARKDOWN)
- Refactor of
TelegramError
class (no more handlingIOError
orURLError
)
2015-09-05
Released 2.8.2
- Fix regression on Telegram ReplyMarkup
- Add certificate to
is_inputfile
method
2015-09-05
Released 2.8.1
- Fix regression on Telegram objects with thumb properties
2015-09-04
Released 2.8
- 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-08-19
Released 2.7.1
- Fixed JSON serialization for
message
2015-08-17
Released 2.7
- Added support for
Voice
object andsendVoice
method - Due backward compatibility performer or/and title will be required for
sendAudio
- Fixed JSON serialization when forwarded message
2015-08-15
Released 2.6.1
- Fixed parsing image header issue on < Python 2.7.3
2015-08-14
Released 2.6.0
- Depreciation of
require_authentication
andclearCredentials
methods - Giving
AUTHORS
the proper credits for their contribution for this project Message.date
andMessage.forward_date
are nowdatetime
objects
2015-08-12
Released 2.5.3
telegram.Bot
now supports to be unpickled
2015-08-11
Released 2.5.2
- New changes from Telegram Bot API have been applied
telegram.Bot
now supports to be pickled- Return empty
str
insteadNone
whenmessage.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
- Fixes
Emoji
class for Python 3 PEP8
improvements
2015-08-08
Released 2.3
- Fixes
ForceReply
class - Remove
logging.basicConfig
from library
2015-07-25
Released 2.2
- Allows
debug=True
when initializingtelegram.Bot
2015-07-20
Released 2.1
- Fix
to_dict
forDocument
andVideo
2015-07-19
Released 2.0
- Fixes bugs
- Improves
__str__
overto_json()
- Creates abstract class
TelegramObject
2015-07-15
Released 1.9
- Python 3 officially supported
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
- Fixes crash when
username
is not defined onchat
(special thanks to JRoot3D)
2015-07-10
Released 1.6
- Improvements for GAE support
2015-07-10
Released 1.5
- Fixes randomly unicode issues when using
InputFile
2015-07-10
Released 1.4
requests
lib is no longer required- Google App Engine (GAE) is supported
2015-07-10
Released 1.3
- Added support to
setWebhook
(special thanks to macrojames)
2015-07-09
Released 1.2
CustomKeyboard
classes now available- Emojis available
PEP8
improvements
2015-07-08
Released 1.1
- PyPi package now available
2015-07-08
Released 1.0
- Initial checkin of python-telegram-bot