diff --git a/CHANGES.rst b/CHANGES.rst index 8da40ff025c..b1331a7fe9f 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -10,19 +10,15 @@ .. towncrier release notes start -3.10.1 (2024-08-02) +3.10.1 (2024-08-03) ======================== Bug fixes --------- -- Fixed WebSocket server heartbeat timeout logic to terminate `receive` and return :py:class:`~aiohttp.ServerTimeoutError` -- by :user:`arcivanov`. +- Fixed WebSocket server heartbeat timeout logic to terminate :py:meth:`~aiohttp.ClientWebSocketResponse.receive` and return :py:class:`~aiohttp.ServerTimeoutError` -- by :user:`arcivanov`. - When a WebSocket pong message was not received, the - :py:meth:`~aiohttp.ClientWebSocketResponse.receive` operation did not terminate. - This change causes `_pong_not_received` to feed the `reader` an error message, causing - pending `receive` to terminate and return the error message. The error message contains - the exception :py:class:`~aiohttp.ServerTimeoutError`. + When a WebSocket pong message was not received, the :py:meth:`~aiohttp.ClientWebSocketResponse.receive` operation did not terminate. This change causes ``_pong_not_received`` to feed the ``reader`` an error message, causing pending :py:meth:`~aiohttp.ClientWebSocketResponse.receive` to terminate and return the error message. The error message contains the exception :py:class:`~aiohttp.ServerTimeoutError`. *Related issues and pull requests on GitHub:* @@ -42,17 +38,9 @@ Bug fixes Removals and backward incompatible breaking changes --------------------------------------------------- -- Creating :py:class:`aiohttp.TCPConnector`, - :py:class:`aiohttp.ClientSession`, - :py:class:`~aiohttp.resolver.ThreadedResolver` - :py:class:`aiohttp.web.Server`, - or :py:class:`aiohttp.CookieJar` - instances without a running event loop now - raises a :exc:`RuntimeError` - -- by :user:`asvetlov`. - - Creating these objects without a running event loop was deprecated - in :issue:`3372` which was released in version 3.5.0. +- Creating :py:class:`aiohttp.TCPConnector`, :py:class:`aiohttp.ClientSession`, :py:class:`~aiohttp.resolver.ThreadedResolver` :py:class:`aiohttp.web.Server`, or :py:class:`aiohttp.CookieJar` instances without a running event loop now raises a :exc:`RuntimeError` -- by :user:`asvetlov`. + + Creating these objects without a running event loop was deprecated in :issue:`3372` which was released in version 3.5.0. This change first appeared in version 3.10.0 as :issue:`6378`.