Bump Version to v20.4

This commit is contained in:
Hinrich Mahler 2023-07-09 12:18:32 +02:00
parent db6030ea83
commit 59105b240f
8 changed files with 82 additions and 12 deletions

View file

@ -4,6 +4,76 @@
Changelog Changelog
========= =========
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`)
Version 20.3 Version 20.3
============ ============
*Released 2023-05-07* *Released 2023-05-07*

View file

@ -21,7 +21,7 @@ author = "Leandro Toledo"
# built documents. # built documents.
# #
# The short X.Y version. # The short X.Y version.
version = "20.3" # telegram.__version__[:3] version = "20.4" # telegram.__version__[:3]
# The full version, including alpha/beta/rc tags. # The full version, including alpha/beta/rc tags.
release = "20.3" # telegram.__version__ release = "20.3" # telegram.__version__

View file

@ -90,7 +90,7 @@ UploadFileDict = Dict[str, FieldTuple]
HTTPVersion = Literal["1.1", "2.0"] HTTPVersion = Literal["1.1", "2.0"]
"""Allowed HTTP versions. """Allowed HTTP versions.
.. versionadded:: NEXT.VERSION""" .. versionadded:: 20.4"""
CorrectOptionID = Literal[0, 1, 2, 3, 4, 5, 6, 7, 8, 9] CorrectOptionID = Literal[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

View file

@ -51,7 +51,7 @@ class Version(NamedTuple):
__version_info__: Final[Version] = Version( __version_info__: Final[Version] = Version(
major=20, minor=3, micro=0, releaselevel="final", serial=0 major=20, minor=4, micro=0, releaselevel="final", serial=0
) )
__version__: Final[str] = str(__version_info__) __version__: Final[str] = str(__version_info__)

View file

@ -365,7 +365,7 @@ class Application(Generic[BT, CCT, UD, CD, BD, JQ], AsyncContextManager["Applica
""":obj:`int`: The number of concurrent updates that will be processed in parallel. A """:obj:`int`: The number of concurrent updates that will be processed in parallel. A
value of ``0`` indicates updates are *not* being processed concurrently. value of ``0`` indicates updates are *not* being processed concurrently.
.. versionchanged:: NEXT.VERSION .. versionchanged:: 20.4
This is now just a shortcut to :attr:`update_processor.max_concurrent_updates This is now just a shortcut to :attr:`update_processor.max_concurrent_updates
<telegram.ext.BaseUpdateProcessor.max_concurrent_updates>`. <telegram.ext.BaseUpdateProcessor.max_concurrent_updates>`.
@ -396,7 +396,7 @@ class Application(Generic[BT, CCT, UD, CD, BD, JQ], AsyncContextManager["Applica
.. seealso:: :wiki:`Concurrency` .. seealso:: :wiki:`Concurrency`
.. versionadded:: NEXT.VERSION .. versionadded:: 20.4
""" """
return self._update_processor return self._update_processor
@ -984,7 +984,7 @@ class Application(Generic[BT, CCT, UD, CD, BD, JQ], AsyncContextManager["Applica
.. versionchanged:: 20.2 .. versionchanged:: 20.2
Accepts :class:`asyncio.Future` and generator-based coroutine functions. Accepts :class:`asyncio.Future` and generator-based coroutine functions.
.. deprecated:: NEXT.VERSION .. deprecated:: 20.4
Since Python 3.12, generator-based coroutine functions are no longer accepted. Since Python 3.12, generator-based coroutine functions are no longer accepted.
update (:obj:`object`, optional): If set, will be passed to :meth:`process_error` update (:obj:`object`, optional): If set, will be passed to :meth:`process_error`
as additional information for the error handlers. Moreover, the corresponding as additional information for the error handlers. Moreover, the corresponding
@ -994,7 +994,7 @@ class Application(Generic[BT, CCT, UD, CD, BD, JQ], AsyncContextManager["Applica
Keyword Args: Keyword Args:
name (:obj:`str`, optional): The name of the task. name (:obj:`str`, optional): The name of the task.
.. versionadded:: NEXT.VERSION .. versionadded:: 20.4
Returns: Returns:
:class:`asyncio.Task`: The created task. :class:`asyncio.Task`: The created task.

View file

@ -931,7 +931,7 @@ class ApplicationBuilder(Generic[BT, CCT, UD, CD, BD, JQ]):
:class:`telegram.ext.BaseUpdateProcessor` to use that instance for handling updates :class:`telegram.ext.BaseUpdateProcessor` to use that instance for handling updates
concurrently. concurrently.
.. versionchanged:: NEXT.VERSION .. versionchanged:: 20.4
Now accepts :class:`BaseUpdateProcessor` instances. Now accepts :class:`BaseUpdateProcessor` instances.
Returns: Returns:

View file

@ -29,7 +29,7 @@ class BaseUpdateProcessor(ABC):
.. seealso:: :wiki:`Concurrency` .. seealso:: :wiki:`Concurrency`
.. versionadded:: NEXT.VERSION .. versionadded:: 20.4
Args: Args:
max_concurrent_updates (:obj:`int`): The maximum number of updates to be processed max_concurrent_updates (:obj:`int`): The maximum number of updates to be processed
@ -129,7 +129,7 @@ class SimpleUpdateProcessor(BaseUpdateProcessor):
coroutine, i.e. does not apply any additional processing. This is used by default when coroutine, i.e. does not apply any additional processing. This is used by default when
:attr:`telegram.ext.ApplicationBuilder.concurrent_updates` is :obj:`int`. :attr:`telegram.ext.ApplicationBuilder.concurrent_updates` is :obj:`int`.
.. versionadded:: NEXT.VERSION .. versionadded:: 20.4
""" """
__slots__ = () __slots__ = ()

View file

@ -176,7 +176,7 @@ class JobQueue(Generic[CCT]):
Hint: Hint:
This method is effectively a wrapper for :meth:`telegram.ext.Job.run`. This method is effectively a wrapper for :meth:`telegram.ext.Job.run`.
.. versionadded:: NEXT.VERSION .. versionadded:: 20.4
Args: Args:
job_queue (:class:`JobQueue`): The job queue that created the job. job_queue (:class:`JobQueue`): The job queue that created the job.
@ -855,7 +855,7 @@ class Job(Generic[CCT]):
This method can be useful when using advanced APScheduler features along with This method can be useful when using advanced APScheduler features along with
:class:`telegram.ext.JobQueue`. :class:`telegram.ext.JobQueue`.
.. versionadded:: NEXT.VERSION .. versionadded:: 20.4
Args: Args:
aps_job (:class:`apscheduler.job.Job`): The APScheduler job aps_job (:class:`apscheduler.job.Job`): The APScheduler job