Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package python-aiohttp for openSUSE:Factory checked in at 2024-01-31 23:53:33 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-aiohttp (Old) and /work/SRC/openSUSE:Factory/.python-aiohttp.new.1815 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-aiohttp" Wed Jan 31 23:53:33 2024 rev:43 rq:1142928 version:3.9.3 Changes: -------- --- /work/SRC/openSUSE:Factory/python-aiohttp/python-aiohttp.changes 2024-01-29 22:25:56.874772805 +0100 +++ /work/SRC/openSUSE:Factory/.python-aiohttp.new.1815/python-aiohttp.changes 2024-01-31 23:53:46.533044286 +0100 @@ -1,0 +2,34 @@ +Tue Jan 30 10:26:57 UTC 2024 - John Paul Adrian Glaubitz <adrian.glaub...@suse.com> + +- Update to version 3.9.3 + * Fixed backwards compatibility breakage (in 3.9.2) of ``ssl`` parameter + when set outside of ``ClientSession`` (e.g. directly in ``TCPConnector``) + * Improved test suite handling of paths and temp files to consistently + use pathlib and pytest fixtures. +- from version 3.9.2 (bsc#1219341, CVE-2024-23334, bsc#1219342, CVE-2024-23829) + * Fixed server-side websocket connection leak. + * Fixed ``web.FileResponse`` doing blocking I/O in the event loop. + * Fixed double compress when compression enabled and compressed file + exists in server file responses. + * Added runtime type check for ``ClientSession`` ``timeout`` parameter. + * Fixed an unhandled exception in the Python HTTP parser on header lines + starting with a colon. + * Improved validation of paths for static resources requests to the server. + * Added support for passing :py:data:`True` to ``ssl`` parameter in + ``ClientSession`` while deprecating :py:data:`None`. + * Fixed an unhandled exception in the Python HTTP parser on header lines + starting with a colon. + * Fixed examples of ``fallback_charset_resolver`` function in the + :doc:`client_advanced` document. + * The Sphinx setup was updated to avoid showing the empty + changelog draft section in the tagged release documentation + builds on Read The Docs. + * The changelog categorization was made clearer. The contributors can + now mark their fragment files more accurately. + * Updated :ref:`contributing/Tests coverage <aiohttp-contributing>` + section to show how we use ``codecov``. + * Replaced all ``tmpdir`` fixtures with ``tmp_path`` in test suite. +- Refresh patches for new version + * remove-re-assert.patch + +------------------------------------------------------------------- Old: ---- aiohttp-3.9.1.tar.gz New: ---- aiohttp-3.9.3.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-aiohttp.spec ++++++ --- /var/tmp/diff_new_pack.1exeQ5/_old 2024-01-31 23:53:47.169067233 +0100 +++ /var/tmp/diff_new_pack.1exeQ5/_new 2024-01-31 23:53:47.173067377 +0100 @@ -19,7 +19,7 @@ %bcond_with docs %{?sle15_python_module_pythons} Name: python-aiohttp -Version: 3.9.1 +Version: 3.9.3 Release: 0 Summary: Asynchronous HTTP client/server framework License: Apache-2.0 ++++++ aiohttp-3.9.1.tar.gz -> aiohttp-3.9.3.tar.gz ++++++ /work/SRC/openSUSE:Factory/python-aiohttp/aiohttp-3.9.1.tar.gz /work/SRC/openSUSE:Factory/.python-aiohttp.new.1815/aiohttp-3.9.3.tar.gz differ: char 5, line 1 ++++++ remove-re-assert.patch ++++++ --- /var/tmp/diff_new_pack.1exeQ5/_old 2024-01-31 23:53:47.209068676 +0100 +++ /var/tmp/diff_new_pack.1exeQ5/_new 2024-01-31 23:53:47.213068820 +0100 @@ -1,15 +1,7 @@ ---- - tests/test_client_session.py | 6 +++--- - tests/test_streams.py | 4 ++-- - tests/test_urldispatch.py | 7 +++---- - tests/test_web_response.py | 27 ++++++++++++--------------- - 4 files changed, 20 insertions(+), 24 deletions(-) - -Index: aiohttp-3.9.0/tests/test_client_session.py -=================================================================== ---- aiohttp-3.9.0.orig/tests/test_client_session.py -+++ aiohttp-3.9.0/tests/test_client_session.py -@@ -2,6 +2,7 @@ import asyncio +diff -Nru aiohttp-3.9.3.orig/tests/test_client_session.py aiohttp-3.9.3/tests/test_client_session.py +--- aiohttp-3.9.3.orig/tests/test_client_session.py 2024-01-29 20:32:25.000000000 +0100 ++++ aiohttp-3.9.3/tests/test_client_session.py 2024-01-30 11:20:09.652810999 +0100 +@@ -2,6 +2,7 @@ import contextlib import gc import io @@ -17,7 +9,7 @@ import json from http.cookies import SimpleCookie from typing import Any, List -@@ -9,7 +10,6 @@ from unittest import mock +@@ -9,7 +10,6 @@ import pytest from multidict import CIMultiDict, MultiDict @@ -25,7 +17,7 @@ from yarl import URL import aiohttp -@@ -320,8 +320,8 @@ def test_connector_loop(loop) -> None: +@@ -320,8 +320,8 @@ loop.run_until_complete(make_sess()) assert ( @@ -36,10 +28,9 @@ ) another_loop.run_until_complete(connector.close()) -Index: aiohttp-3.9.0/tests/test_streams.py -=================================================================== ---- aiohttp-3.9.0.orig/tests/test_streams.py -+++ aiohttp-3.9.0/tests/test_streams.py +diff -Nru aiohttp-3.9.3.orig/tests/test_streams.py aiohttp-3.9.3/tests/test_streams.py +--- aiohttp-3.9.3.orig/tests/test_streams.py 2024-01-29 20:32:25.000000000 +0100 ++++ aiohttp-3.9.3/tests/test_streams.py 2024-01-30 11:20:09.652810999 +0100 @@ -3,13 +3,13 @@ import abc import asyncio @@ -55,7 +46,7 @@ from aiohttp import streams -@@ -1102,7 +1102,7 @@ class TestStreamReader: +@@ -1102,7 +1102,7 @@ loop = asyncio.get_event_loop() stream = self._make_one() stream._waiter = loop.create_future() @@ -64,11 +55,10 @@ stream._waiter.set_result(None) await stream._waiter stream._waiter = None -Index: aiohttp-3.9.0/tests/test_urldispatch.py -=================================================================== ---- aiohttp-3.9.0.orig/tests/test_urldispatch.py -+++ aiohttp-3.9.0/tests/test_urldispatch.py -@@ -5,7 +5,6 @@ from collections.abc import Container, I +diff -Nru aiohttp-3.9.3.orig/tests/test_urldispatch.py aiohttp-3.9.3/tests/test_urldispatch.py +--- aiohttp-3.9.3.orig/tests/test_urldispatch.py 2024-01-29 20:32:25.000000000 +0100 ++++ aiohttp-3.9.3/tests/test_urldispatch.py 2024-01-30 11:21:46.656743543 +0100 +@@ -4,7 +4,6 @@ from urllib.parse import unquote import pytest @@ -76,7 +66,7 @@ from yarl import URL import aiohttp -@@ -313,7 +312,7 @@ def test_double_add_url_with_the_same_na +@@ -312,7 +311,7 @@ regexp = "Duplicate 'name', already handled by" with pytest.raises(ValueError) as ctx: router.add_route("GET", "/get_other", handler2, name="name") @@ -85,16 +75,16 @@ def test_route_plain(router) -> None: -@@ -504,7 +503,7 @@ def test_contains(router) -> None: +@@ -502,7 +501,7 @@ def test_static_repr(router) -> None: - router.add_static("/get", os.path.dirname(aiohttp.__file__), name="name") + router.add_static("/get", pathlib.Path(aiohttp.__file__).parent, name="name") - assert Matches(r"<StaticResource 'name' /get") == repr(router["name"]) + assert re.match(r"<StaticResource 'name' /get", repr(router["name"])) def test_static_adds_slash(router) -> None: -@@ -626,7 +625,7 @@ async def test_regular_match_info(router +@@ -624,7 +623,7 @@ req = make_mocked_request("GET", "/get/john") match_info = await router.resolve(req) assert {"name": "john"} == match_info @@ -103,11 +93,10 @@ async def test_match_info_with_plus(router) -> None: -Index: aiohttp-3.9.0/tests/test_web_response.py -=================================================================== ---- aiohttp-3.9.0.orig/tests/test_web_response.py -+++ aiohttp-3.9.0/tests/test_web_response.py -@@ -2,13 +2,13 @@ import collections.abc +diff -Nru aiohttp-3.9.3.orig/tests/test_web_response.py aiohttp-3.9.3/tests/test_web_response.py +--- aiohttp-3.9.3.orig/tests/test_web_response.py 2024-01-29 20:32:25.000000000 +0100 ++++ aiohttp-3.9.3/tests/test_web_response.py 2024-01-30 11:20:09.656144352 +0100 +@@ -2,13 +2,13 @@ import datetime import gzip import json @@ -122,7 +111,7 @@ from aiohttp import HttpVersion, HttpVersion10, HttpVersion11, hdrs from aiohttp.helpers import ETag -@@ -401,7 +401,9 @@ async def test_chunked_encoding_forbidde +@@ -401,7 +401,9 @@ with pytest.raises(RuntimeError) as ctx: await resp.prepare(req) @@ -133,7 +122,7 @@ async def test_compression_no_accept() -> None: -@@ -843,7 +845,7 @@ def test_response_cookies() -> None: +@@ -843,7 +845,7 @@ 'Set-Cookie: name=("")?; ' "expires=Thu, 01 Jan 1970 00:00:00 GMT; Max-Age=0; Path=/" ) @@ -142,7 +131,7 @@ resp.set_cookie("name", "value", domain="local.host") expected = "Set-Cookie: name=value; Domain=local.host; Path=/" -@@ -895,7 +897,7 @@ def test_response_cookie__issue_del_cook +@@ -895,7 +897,7 @@ 'Set-Cookie: name=("")?; ' "expires=Thu, 01 Jan 1970 00:00:00 GMT; Max-Age=0; Path=/" ) @@ -151,7 +140,7 @@ def test_cookie_set_after_del() -> None: -@@ -1136,14 +1138,13 @@ async def test_send_headers_for_empty_bo +@@ -1136,14 +1138,13 @@ await resp.write_eof() txt = buf.decode("utf8") assert ( @@ -168,7 +157,7 @@ ) -@@ -1156,15 +1157,13 @@ async def test_render_with_body(buf, wri +@@ -1156,15 +1157,13 @@ txt = buf.decode("utf8") assert ( @@ -186,7 +175,7 @@ ) -@@ -1178,15 +1177,13 @@ async def test_send_set_cookie_header(bu +@@ -1178,15 +1177,13 @@ txt = buf.decode("utf8") assert (