Accepting request 1228526 from devel:languages:python

OBS-URL: https://build.opensuse.org/request/show/1228526
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-aiohttp?expand=0&rev=53
This commit is contained in:
2024-12-06 13:25:14 +00:00
committed by Git OBS Bridge
5 changed files with 275 additions and 18 deletions

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:0631dd7c9f0822cc61c88586ca76d5b5ada26538097d0f1df510b082bad3411a
size 7542993

3
aiohttp-3.11.9.tar.gz Normal file
View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:a9266644064779840feec0e34f10a89b3ff1d2d6b751fe90017abcad1864fa7c
size 7668012

View File

@@ -1,3 +1,252 @@
-------------------------------------------------------------------
Thu Dec 5 11:02:09 UTC 2024 - Daniel Garcia <daniel.garcia@suse.com>
- Update to 3.11.9:
* Fixed invalid method logging unexpected being logged at exception
level on subsequent connections -- by :user:`bdraco`.
* Improved performance of parsing headers when using the C parser --
by :user:`bdraco`.
- 3.11.8:
* Improved performance of creating :class:`aiohttp.ClientResponse`
objects when there are no cookies -- by :user:`bdraco`.
* Improved performance of creating :class:`aiohttp.ClientResponse`
objects -- by :user:`bdraco`.
* Improved performances of creating objects during the HTTP request
lifecycle -- by :user:`bdraco`.
* Improved performance of constructing :class:`aiohttp.web.Response`
with headers -- by :user:`bdraco`.
* Improved performance of making requests when there are no auto
headers to skip -- by :user:`bdraco`.
* Downgraded logging of invalid HTTP method exceptions on the first
request to debug level -- by :user:`bdraco`.
-------------------------------------------------------------------
Fri Nov 22 11:58:54 UTC 2024 - Dirk Müller <dmueller@suse.com>
- update to 3.11.7:
* Fixed the HTTP client not considering the connector's
force_close value when setting the Connection header -- by
:user:`bdraco`. Related issues and pull requests on GitHub:
:issue:`10003`.
* Improved performance of serializing HTTP headers -- by
:user:`bdraco`. Related issues and pull requests on GitHub:
:issue:`10014`.
* Restored the force_close method to the ResponseHandler -- by
:user:`bdraco`. Related issues and pull requests on GitHub:
:issue:`9997`.
* Fixed the ANY method not appearing in
:meth:`~aiohttp.web.UrlDispatcher.routes` -- by
:user:`bdraco`. Related issues and pull requests on GitHub:
:issue:`9899`, :issue:`9987`.
* Fixed StaticResource not allowing the OPTIONS method after
calling set_options_route -- by :user:`bdraco`. Related
issues and pull requests on GitHub: :issue:`9972`,
:issue:`9975`, :issue:`9976`.
* Improved performance of creating web responses when there are
no cookies -- by :user:`bdraco`. Related issues and pull
requests on GitHub: :issue:`9895`.
* Removed non-existing __author__ from dir(aiohttp) -- by
:user:`Dreamsorcerer`. Related issues and pull requests on
GitHub: :issue:`9918`.
* Restored the FlowControlDataQueue class -- by :user:`bdraco`.
This class is no longer used internally, and will be
permanently removed in the next major version. Related issues
and pull requests on GitHub: :issue:`9963`.
* Improved performance of resolving resources when multiple
methods are registered for the same route -- by
:user:`bdraco`. Related issues and pull requests on GitHub:
:issue:`9899`.
* Fixed improperly closed WebSocket connections generating an
unhandled exception -- by :user:`bdraco`. Related issues and
pull requests on GitHub: :issue:`9883`.
* Added a backward compatibility layer to
:class:`aiohttp.RequestInfo` to allow creating these objects
without a real_url -- by :user:`bdraco`. Related issues and
pull requests on GitHub: :issue:`9873`.
* Raise :exc:`aiohttp.ServerFingerprintMismatch` exception on
client-side if request through http proxy with mismatching
server fingerprint digest:
aiohttp.ClientSession(headers=headers, connector=TCPConnector
(ssl=aiohttp.Fingerprint(mismatch_digest),
trust_env=True).request(...) -- by :user:`gangj`. Related
issues and pull requests on GitHub: :issue:`6652`.
* Modified websocket
:meth:`aiohttp.ClientWebSocketResponse.receive_str`,
:py:meth:`aiohttp.ClientWebSocketResponse.receive_bytes`,
:py:meth:`aiohttp.web.WebSocketResponse.receive_str` &
:py:meth:`aiohttp.web.WebSocketResponse.receive_bytes`
methods to raise new :py:exc:`aiohttp.WSMessageTypeError`
exception, instead of generic :py:exc:`TypeError`, when
websocket messages of incorrect types are received -- by
:user:`ara-25`. Related issues and pull requests on GitHub:
:issue:`6800`.
* Made TestClient.app a Generic so type checkers will know the
correct type (avoiding unneeded client.app is not None
checks) -- by :user:`Dreamsorcerer`. Related issues and pull
requests on GitHub: :issue:`8977`.
* Fixed the keep-alive connection pool to be FIFO instead of
LIFO -- by :user:`bdraco`. Keep-alive connections are more
likely to be reused before they disconnect. Related issues
and pull requests on GitHub: :issue:`9672`.
* Added strategy parameter to
:meth:`aiohttp.web.StreamResponse.enable_compression` The
value of this parameter is passed to the
:func:`zlib.compressobj` function, allowing people to use a
more sufficient compression algorithm for their data served
by :mod:`aiohttp.web` -- by :user:`shootkin` Related issues
and pull requests on GitHub: :issue:`6257`.
* Added server_hostname parameter to ws_connect. Related issues
and pull requests on GitHub: :issue:`7941`.
* Exported :py:class:`~aiohttp.ClientWSTimeout` to top-level
namespace -- by :user:`Dreamsorcerer`. Related issues and
pull requests on GitHub: :issue:`8612`.
* Added secure/httponly/samesite parameters to .del_cookie() --
by :user:`Dreamsorcerer`. Related issues and pull requests on
GitHub: :issue:`8956`.
* Updated :py:class:`~aiohttp.ClientSession`'s auth logic to
include default auth only if the request URL's origin matches
_base_url; otherwise, the auth will not be included -- by
:user:`MaximZemskov` Related issues and pull requests on
GitHub: :issue:`8966`, :issue:`9466`.
* Added proxy and proxy_auth parameters to
:py:class:`~aiohttp.ClientSession` -- by :user:`meshya`.
Related issues and pull requests on GitHub: :issue:`9207`.
* Added default_to_multipart parameter to FormData. Related
issues and pull requests on GitHub: :issue:`9335`.
* Added :py:meth:`~aiohttp.ClientWebSocketResponse.send_frame`
and :py:meth:`~aiohttp.web.WebSocketResponse.send_frame` for
WebSockets -- by :user:`bdraco`. Related issues and pull
requests on GitHub: :issue:`9348`.
* Updated :py:class:`~aiohttp.ClientSession` to support paths
in base_url parameter. base_url paths must end with a / --
by :user:`Cycloctane`. Related issues and pull requests on
GitHub: :issue:`9530`.
* Improved performance of reading WebSocket messages with a
Cython implementation -- by :user:`bdraco`. Related issues
and pull requests on GitHub: :issue:`9543`, :issue:`9554`,
:issue:`9556`, :issue:`9558`, :issue:`9636`, :issue:`9649`,
:issue:`9781`.
* Added writer_limit to the
:py:class:`~aiohttp.web.WebSocketResponse` to be able to
adjust the limit before the writer forces the buffer to be
drained -- by :user:`bdraco`. Related issues and pull
requests on GitHub: :issue:`9572`.
* Added an :attr:`~aiohttp.abc.AbstractAccessLogger.enabled`
property to :class:`aiohttp.abc.AbstractAccessLogger` to
dynamically check if logging is enabled -- by :user:`bdraco`.
Related issues and pull requests on GitHub: :issue:`9822`.
* Deprecate obsolete timeout: float and receive_timeout:
Optional[float] in
:py:meth:`~aiohttp.ClientSession.ws_connect`. Change default
websocket receive timeout from None to 10.0. Related issues
and pull requests on GitHub: :issue:`3945`.
* Dropped support for Python 3.8 -- by :user:`Dreamsorcerer`.
Related issues and pull requests on GitHub: :issue:`8797`.
* Increased minimum yarl version to 1.17.0 -- by
:user:`bdraco`. Related issues and pull requests on GitHub:
:issue:`8909`, :issue:`9079`, :issue:`9305`, :issue:`9574`.
* Removed the is_ipv6_address and is_ip4_address helpers are
they are no longer used -- by :user:`bdraco`. Related issues
and pull requests on GitHub: :issue:`9344`.
* Changed ClientRequest.connection_key to be a NamedTuple to
improve client performance -- by :user:`bdraco`. Related
issues and pull requests on GitHub: :issue:`9365`.
* FlowControlDataQueue has been replaced with the
WebSocketDataQueue -- by :user:`bdraco`. Related issues and
pull requests on GitHub: :issue:`9685`.
* Changed ClientRequest.request_info to be a NamedTuple to
improve client performance -- by :user:`bdraco`. Related
issues and pull requests on GitHub: :issue:`9692`.
* Switched to using the :mod:`propcache <propcache.api>`
package for property caching -- by :user:`bdraco`. The
:mod:`propcache <propcache.api>` package is derived from the
property caching code in :mod:`yarl` and has been broken out
to avoid maintaining it for multiple projects. Related issues
and pull requests on GitHub: :issue:`9394`.
* Separated aiohttp.http_websocket into multiple files to make
it easier to maintain -- by :user:`bdraco`. Related issues
and pull requests on GitHub: :issue:`9542`, :issue:`9552`.
* Changed diagram images generator from blockdiag to GraphViz.
Generating documentation now requires the GraphViz executable
to be included in $PATH or sphinx build configuration.
Related issues and pull requests on GitHub: :issue:`9359`.
* Added flake8 settings to avoid some forms of implicit
concatenation. -- by :user:`booniepepper`. Related issues and
pull requests on GitHub: :issue:`7731`.
* Enabled keep-alive support on proxies (which was originally
disabled several years ago) -- by :user:`Dreamsorcerer`.
Related issues and pull requests on GitHub: :issue:`8920`.
* Changed web entry point to not listen on TCP when only a Unix
path is passed -- by :user:`Dreamsorcerer`. Related issues
and pull requests on GitHub: :issue:`9033`.
* Disabled automatic retries of failed requests in
:class:`aiohttp.test_utils.TestClient`'s client session
(which could potentially hide errors in tests) -- by
:user:`ShubhAgarwal-dev`. Related issues and pull requests on
GitHub: :issue:`9141`.
* Changed web keepalive_timeout default to around an hour in
order to reduce race conditions on reverse proxies -- by
:user:`Dreamsorcerer`. Related issues and pull requests on
GitHub: :issue:`9285`.
* Reduced memory required for stream objects created during the
client request lifecycle -- by :user:`bdraco`. Related issues
and pull requests on GitHub: :issue:`9407`.
* Improved performance of the internal DataQueue -- by
:user:`bdraco`. Related issues and pull requests on GitHub:
:issue:`9659`.
* Improved performance of calling receive for WebSockets for
the most common message types -- by :user:`bdraco`. Related
issues and pull requests on GitHub: :issue:`9679`.
* Replace internal helper methods method_must_be_empty_body and
status_code_must_be_empty_body with simple set lookups -- by
:user:`bdraco`. Related issues and pull requests on GitHub:
:issue:`9722`.
* Improved performance of :py:class:`aiohttp.BaseConnector`
when there is no limit_per_host -- by :user:`bdraco`. Related
issues and pull requests on GitHub: :issue:`9756`.
* Improved performance of sending HTTP requests when there is
no body -- by :user:`bdraco`. Related issues and pull
requests on GitHub: :issue:`9757`.
* Improved performance of the WebsocketWriter when the protocol
is not paused -- by :user:`bdraco`. Related issues and pull
requests on GitHub: :issue:`9796`.
* Implemented zero copy writes for StreamWriter -- by
:user:`bdraco`. Related issues and pull requests on GitHub:
:issue:`9839`.
-------------------------------------------------------------------
Tue Nov 19 08:50:53 UTC 2024 - Daniel Garcia <daniel.garcia@suse.com>
- update to 3.10.11:
(bsc#1233446, CVE-2024-52303, bsc#1233447, CVE-2024-52304)
- Authentication provided by a redirect now takes precedence over
provided auth when making requests with the client -- by
:user:`PLPeeters`.
- Fixed :py:meth:`WebSocketResponse.close()
<aiohttp.web.WebSocketResponse.close>` to discard non-close
messages within its timeout window after sending close -- by
:user:`lenard-mosys`.
- Fixed a deadlock that could occur while attempting to get a new
connection slot after a timeout -- by :user:`bdraco`.
- Fixed the WebSocket flow control calculation undercounting with
multi-byte data -- by :user:`bdraco`.
- Fixed incorrect parsing of chunk extensions with the pure Python
parser -- by :user:`bdraco`.
- Fixed system routes polluting the middleware cache -- by
:user:`bdraco`.
- Improved performance of the connector when a connection can be
reused -- by :user:`bdraco`.
- Improved performance of the client request lifecycle when there
are no cookies -- by :user:`bdraco`.
- Improved performance of sending client requests when the writer
can finish synchronously -- by :user:`bdraco`.
- Improved performance of serializing HTTP headers -- by
:user:`bdraco`.
- Passing enable_cleanup_closed to :py:class:`aiohttp.TCPConnector`
is now ignored on Python 3.12.7+ and 3.13.1+ since the underlying
bug that caused asyncio to leak SSL connections has been fixed
upstream -- by :user:`bdraco`.
-------------------------------------------------------------------
Tue Oct 22 13:14:05 UTC 2024 - Dirk Müller <dmueller@suse.com>

View File

@@ -19,7 +19,7 @@
%bcond_with docs
%{?sle15_python_module_pythons}
Name: python-aiohttp
Version: 3.10.10
Version: 3.11.9
Release: 0
Summary: Asynchronous HTTP client/server framework
License: Apache-2.0
@@ -36,7 +36,7 @@ Requires: (python-async_timeout >= 4.0 with python-async_timeout < 5)
%endif
Requires: (python-charset-normalizer >= 2.0 with python-charset-normalizer < 4)
Requires: (python-multidict >= 4.5 with python-multidict < 7)
Requires: (python-yarl >= 1.13.0 with python-yarl < 2)
Requires: (python-yarl >= 1.17.0 with python-yarl < 2)
Recommends: python-Brotli
Recommends: python-aiodns
Recommends: python-cChardet
@@ -58,7 +58,7 @@ BuildRequires: %{python_module attrs >= 17.3.0}
BuildRequires: %{python_module charset-normalizer >= 2.0 with %python-charset-normalizer < 4}
BuildRequires: %{python_module frozenlist >= 1.1.1}
BuildRequires: %{python_module multidict >= 4.5 with %python-multidict < 7}
BuildRequires: %{python_module yarl >= 1.13.0 with %python-yarl < 2}
BuildRequires: %{python_module yarl >= 1.17.0 with %python-yarl < 2}
# /SECTION
# SECTION test requirements
BuildRequires: %{python_module aiodns}
@@ -68,6 +68,7 @@ BuildRequires: %{python_module gunicorn}
BuildRequires: %{python_module pluggy}
BuildRequires: %{python_module propcache}
BuildRequires: %{python_module pytest >= 6.2.0}
BuildRequires: %{python_module pytest-cov}
BuildRequires: %{python_module pytest-mock}
BuildRequires: %{python_module pytest-timeout}
BuildRequires: %{python_module pytest-xdist}
@@ -141,6 +142,9 @@ donttest+=" or (test_pytest_plugin and test_aiohttp_plugin)"
rm -v tests/autobahn/test_autobahn.py
# uses proxy.py which is not maintained anymore
rm -v tests/test_proxy_functional.py
# Requires python-pytest-codspeed
rm -v tests/test_benchmarks_*
# randomly fails on xdist splits
single_runs="(test_run_app or test_web_runner)"
# breaks without threading

View File

@@ -1,16 +1,20 @@
diff -Nru aiohttp-3.10.9.orig/tests/test_imports.py aiohttp-3.10.9/tests/test_imports.py
--- aiohttp-3.10.9.orig/tests/test_imports.py 2024-10-04 18:47:06.000000000 +0200
+++ aiohttp-3.10.9/tests/test_imports.py 2024-10-09 09:57:53.705087969 +0200
@@ -29,7 +29,7 @@
_TARGET_TIMINGS_BY_PYTHON_VERSION = {
- "3.12": 250, # 3.12 is expected to be a bit slower due to performance trade-offs
+ "3.12": 500, # 3.12 is expected to be a bit slower due to performance trade-offs
Index: aiohttp-3.10.11/tests/test_imports.py
===================================================================
--- aiohttp-3.10.11.orig/tests/test_imports.py
+++ aiohttp-3.10.11/tests/test_imports.py
@@ -36,9 +36,9 @@ _TARGET_TIMINGS_BY_PYTHON_VERSION = {
"3.12": (
# 3.12+ is expected to be a bit slower due to performance trade-offs,
# and even slower under pytest-xdist, especially in CI
- _XDIST_WORKER_COUNT * 100 * (1 if _IS_CI_ENV else 1.53)
+ _XDIST_WORKER_COUNT * 250 * (1 if _IS_CI_ENV else 1.53)
if _IS_XDIST_RUN
- else 265
+ else 500
),
}
@@ -66,6 +66,6 @@
_TARGET_TIMINGS_BY_PYTHON_VERSION["3.13"] = _TARGET_TIMINGS_BY_PYTHON_VERSION["3.12"]
@@ -78,6 +78,6 @@ def test_import_time(pytester: pytest.Py
os.environ["PYTHONPATH"] = old_path
expected_time = _TARGET_TIMINGS_BY_PYTHON_VERSION.get(