From ef20502821a301df5d376d2d93191a13b7f5e895 Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Sat, 10 Aug 2024 12:08:16 -0500 Subject: [PATCH] Release 3.10.3 (#8675) --- CHANGES.rst | 68 +++++++++++++++++++++++++++++++++++++++++ CHANGES/8653.bugfix.rst | 1 - CHANGES/8660.misc.rst | 3 -- CHANGES/8661.misc.rst | 1 - CHANGES/8662.misc.rst | 3 -- CHANGES/8667.misc.rst | 1 - CHANGES/8672.bugfix.rst | 3 -- aiohttp/__init__.py | 2 +- 8 files changed, 69 insertions(+), 13 deletions(-) delete mode 100644 CHANGES/8653.bugfix.rst delete mode 100644 CHANGES/8660.misc.rst delete mode 100644 CHANGES/8661.misc.rst delete mode 100644 CHANGES/8662.misc.rst delete mode 100644 CHANGES/8667.misc.rst delete mode 100644 CHANGES/8672.bugfix.rst diff --git a/CHANGES.rst b/CHANGES.rst index 0150c95494c..43ca69235e3 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -10,6 +10,74 @@ .. towncrier release notes start +3.10.3 (2024-08-10) +======================== + +Bug fixes +--------- + +- Fixed multipart reading when stream buffer splits the boundary over several read() calls -- by :user:`Dreamsorcerer`. + + + *Related issues and pull requests on GitHub:* + :issue:`8653`. + + + +- Fixed :py:class:`aiohttp.TCPConnector` doing blocking I/O in the event loop to create the ``SSLContext`` -- by :user:`bdraco`. + + The blocking I/O would only happen once per verify mode. However, it could cause the event loop to block for a long time if the ``SSLContext`` creation is slow, which is more likely during startup when the disk cache is not yet present. + + + *Related issues and pull requests on GitHub:* + :issue:`8672`. + + + + +Miscellaneous internal changes +------------------------------ + +- Improved performance of :py:meth:`~aiohttp.ClientWebSocketResponse.receive` and :py:meth:`~aiohttp.web.WebSocketResponse.receive` when there is no timeout. -- by :user:`bdraco`. + + The timeout context manager is now avoided when there is no timeout as it accounted for up to 50% of the time spent in the :py:meth:`~aiohttp.ClientWebSocketResponse.receive` and :py:meth:`~aiohttp.web.WebSocketResponse.receive` methods. + + + *Related issues and pull requests on GitHub:* + :issue:`8660`. + + + +- Improved performance of starting request handlers with Python 3.12+ -- by :user:`bdraco`. + + + *Related issues and pull requests on GitHub:* + :issue:`8661`. + + + +- Improved performance of HTTP keep-alive checks -- by :user:`bdraco`. + + Previously, when processing a request for a keep-alive connection, the keep-alive check would happen every second; the check is now rescheduled if it fires too early instead. + + + *Related issues and pull requests on GitHub:* + :issue:`8662`. + + + +- Improved performance of generating random WebSocket mask -- by :user:`bdraco`. + + + *Related issues and pull requests on GitHub:* + :issue:`8667`. + + + + +---- + + 3.10.2 (2024-08-08) =================== diff --git a/CHANGES/8653.bugfix.rst b/CHANGES/8653.bugfix.rst deleted file mode 100644 index 5c4d66c181f..00000000000 --- a/CHANGES/8653.bugfix.rst +++ /dev/null @@ -1 +0,0 @@ -Fixed multipart reading when stream buffer splits the boundary over several read() calls -- by :user:`Dreamsorcerer`. diff --git a/CHANGES/8660.misc.rst b/CHANGES/8660.misc.rst deleted file mode 100644 index 8710063329e..00000000000 --- a/CHANGES/8660.misc.rst +++ /dev/null @@ -1,3 +0,0 @@ -Improved performance of :py:meth:`~aiohttp.ClientWebSocketResponse.receive` and :py:meth:`~aiohttp.web.WebSocketResponse.receive` when there is no timeout. -- by :user:`bdraco`. - -The timeout context manager is now avoided when there is no timeout as it accounted for up to 50% of the time spent in the :py:meth:`~aiohttp.ClientWebSocketResponse.receive` and :py:meth:`~aiohttp.web.WebSocketResponse.receive` methods. diff --git a/CHANGES/8661.misc.rst b/CHANGES/8661.misc.rst deleted file mode 100644 index c0a6fdadb37..00000000000 --- a/CHANGES/8661.misc.rst +++ /dev/null @@ -1 +0,0 @@ -Improved performance of starting request handlers with Python 3.12+ -- by :user:`bdraco`. diff --git a/CHANGES/8662.misc.rst b/CHANGES/8662.misc.rst deleted file mode 100644 index efe30a60cb2..00000000000 --- a/CHANGES/8662.misc.rst +++ /dev/null @@ -1,3 +0,0 @@ -Improved performance of HTTP keep-alive checks -- by :user:`bdraco`. - -Previously, when processing a request for a keep-alive connection, the keep-alive check would happen every second; the check is now rescheduled if it fires too early instead. diff --git a/CHANGES/8667.misc.rst b/CHANGES/8667.misc.rst deleted file mode 100644 index 1c43b6e069a..00000000000 --- a/CHANGES/8667.misc.rst +++ /dev/null @@ -1 +0,0 @@ -Improved performance of generating random WebSocket mask -- by :user:`bdraco`. diff --git a/CHANGES/8672.bugfix.rst b/CHANGES/8672.bugfix.rst deleted file mode 100644 index a57ed16d5d2..00000000000 --- a/CHANGES/8672.bugfix.rst +++ /dev/null @@ -1,3 +0,0 @@ -Fixed :py:class:`aiohttp.TCPConnector` doing blocking I/O in the event loop to create the ``SSLContext`` -- by :user:`bdraco`. - -The blocking I/O would only happen once per verify mode. However, it could cause the event loop to block for a long time if the ``SSLContext`` creation is slow, which is more likely during startup when the disk cache is not yet present. diff --git a/aiohttp/__init__.py b/aiohttp/__init__.py index f050229f008..de896a56398 100644 --- a/aiohttp/__init__.py +++ b/aiohttp/__init__.py @@ -1,4 +1,4 @@ -__version__ = "3.10.2" +__version__ = "3.10.3" from typing import TYPE_CHECKING, Tuple