Compare commits

..

No commits in common. "factory" and "factory" have entirely different histories.

6 changed files with 15 additions and 397 deletions

BIN
aiohttp-3.10.5.tar.gz (Stored with Git LFS) Normal file

Binary file not shown.

View File

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

View File

@ -1,343 +1,7 @@
-------------------------------------------------------------------
Mon Jan 6 19:02:59 UTC 2025 - Matej Cepl <mcepl@cepl.eu>
- Update to 3.11.11:
- Bug fixes
- Updated :py:meth:~aiohttp.ClientSession.request to reuse
the quote_cookie setting from ClientSession._cookie_jar
when processing cookies parameter.
- Fixed type of SSLContext for some static type checkers
(e.g. pyright).
- Updated :meth:aiohttp.web.StreamResponse.write annotation
to also allow :class:bytearray and :class:memoryview as
inputs
- Fixed a hang where a connection previously used for a
streaming download could be returned to the pool in a
paused state.
- Features
- Enabled ALPN on default SSL contexts. This improves
compatibility with some proxies which don't work without
this extension.
- Miscellaneous internal changes
- Fixed an infinite loop that can occur when using aiohttp in
combination with async-solipsism
- Update to 3.11.10:
- Fixed race condition in :class:aiohttp.web.FileResponse
that could have resulted in an incorrect response if the
file was replaced on the file system during prepare
- Replaced deprecated call to :func:mimetypes.guess_type with
:func:mimetypes.guess_file_type when using Python 3.13+
- Disabled zero copy writes in the StreamWriter
-------------------------------------------------------------------
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>
- update to 3.10.10:
* Fixed error messages from
:py:class:`~aiohttp.resolver.AsyncResolver` being swallowed
-- by :user:`bdraco`. Related issues and pull requests on
GitHub: :issue:`9451`, :issue:`9455`.
* Added :exc:`aiohttp.ClientConnectorDNSError` for
differentiating DNS resolution errors from other connector
errors -- by :user:`mstojcevich`. Related issues and pull
requests on GitHub: :issue:`8455`.
* Simplified DNS resolution throttling code to reduce chance of
race conditions -- by :user:`bdraco`. Related issues and pull
requests on GitHub: :issue:`9454`.
-------------------------------------------------------------------
Wed Oct 9 08:04:22 UTC 2024 - John Paul Adrian Glaubitz <adrian.glaubitz@suse.com>
- Update to 3.10.9
* Fixed proxy headers being used in the ``ConnectionKey`` hash
when a proxy was not being used
* Widened the type of the ``trace_request_ctx`` parameter of
:meth:`ClientSession.request() <aiohttp.ClientSession.request>`
and friends
* Fixed failure to try next host after single-host connection timeout
* Improved performance of resolving hosts with Python 3.12+
* Reduced memory required for timer objects
created during the client request lifecycle
- from version 3.10.8
* Fixed cancellation leaking upwards on timeout
- from version 3.10.7
* Fixed assembling the :class:`~yarl.URL` for web requests when
the host contains a non-default port or IPv6 address
* Improved performance of determining if a URL is absolute
* Replaced code that can now be handled by ``yarl``
- Add patch to increase timeout for import time test
* test_relax_import_time.patch
- Update BuildRequires and Requires from setup.py
-------------------------------------------------------------------
Wed Sep 25 11:57:08 UTC 2024 - Nico Krapp <nico.krapp@suse.com>
- Update to 3.10.6
* Increased minimum yarl version to 1.12.0
* Declared Python 3.13 supported
* Full changelog: https://github.com/aio-libs/aiohttp/releases/tag/v3.10.6
-------------------------------------------------------------------
Wed Sep 4 12:40:42 UTC 2024 - Fergal Mc Carthy <fmccarthy@suse.com>
- Add patch test_no_warnings_fix.patch
* Ignore UserWarning about importing aiohttp from a second sys.path
location under the abuild home directory when running tests under
the build service.
-------------------------------------------------------------------
Tue Aug 20 06:48:08 UTC 2024 - Steve Kowalik <steven.kowalik@suse.com>
- Update to 3.10.5:
e Update to 3.10.5:
* Fixed aiohttp.ClientResponse.json() not setting status when
aiohttp.ContentTypeError is raised
* Improved performance of the WebSocket reader

View File

@ -1,7 +1,7 @@
#
# spec file for package python-aiohttp
#
# Copyright (c) 2025 SUSE LLC
# Copyright (c) 2024 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@ -19,14 +19,12 @@
%bcond_with docs
%{?sle15_python_module_pythons}
Name: python-aiohttp
Version: 3.11.11
Version: 3.10.5
Release: 0
Summary: Asynchronous HTTP client/server framework
License: Apache-2.0
URL: https://github.com/aio-libs/aiohttp
Source: https://files.pythonhosted.org/packages/source/a/aiohttp/aiohttp-%{version}.tar.gz
Patch0: test_no_warnings_fix.patch
Patch1: test_relax_import_time.patch
Requires: python-aiohappyeyeballs >= 2.3.0
Requires: python-aiosignal >= 1.1.2
Requires: python-attrs >= 17.3.0
@ -36,7 +34,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.17.0 with python-yarl < 2)
Requires: (python-yarl >= 1.0 with python-yarl < 2)
Recommends: python-Brotli
Recommends: python-aiodns
Recommends: python-cChardet
@ -58,7 +56,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.17.0 with %python-yarl < 2}
BuildRequires: %{python_module yarl >= 1.0 with %python-yarl < 2}
# /SECTION
# SECTION test requirements
BuildRequires: %{python_module aiodns}
@ -66,9 +64,7 @@ BuildRequires: %{python_module Brotli}
BuildRequires: %{python_module freezegun}
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}
@ -128,23 +124,20 @@ rm -r %{buildroot}%{$python_sitearch}/aiohttp/.hash
%check
donttest="test_aiohttp_request_coroutine or test_mark_formdata_as_processed or test_aiohttp_plugin_async or test_secure_https_proxy_absolute_path"
# # no name resolution
# donttest+=" or test_client_session_timeout_zero"
# # flaky
# donttest+=" or test_https_proxy_unsupported_tls_in_tls"
# donttest+=" or test_shutdown_handler_cancellation_suppressed"
# no name resolution
donttest+=" or test_client_session_timeout_zero"
# flaky
donttest+=" or test_https_proxy_unsupported_tls_in_tls"
donttest+=" or test_shutdown_handler_cancellation_suppressed"
# raises not expected "ConnectionResetError" with openssl 3.2 and python < 3.11
donttest+=" or test_tcp_connector_raise_connector_ssl_error[pyloop]"
# # fails with pytest 8 https://github.com/aio-libs/aiohttp/issues/8234
# donttest+=" or (test_pytest_plugin and test_aiohttp_plugin)"
# fails with pytest 8 https://github.com/aio-libs/aiohttp/issues/8234
donttest+=" or (test_pytest_plugin and test_aiohttp_plugin)"
# requires python-on-whales
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,15 +0,0 @@
diff -rup aiohttp-3.10.5.orig/tests/test_circular_imports.py aiohttp-3.10.5/tests/test_circular_imports.py
--- aiohttp-3.10.5.orig/tests/test_circular_imports.py 2024-08-19 15:18:15.000000000 -0400
+++ aiohttp-3.10.5/tests/test_circular_imports.py 2024-09-04 08:18:49.702469018 -0400
@@ -111,6 +111,11 @@ def test_no_warnings(import_path: str) -
# `gunicorn.util`.
"-W", "ignore:pkg_resources is deprecated as an API:"
"DeprecationWarning",
+ # UserWarning about importing aiohttp from a second sys.path
+ # location under the abuild home directory when running tests
+ # under the build service
+ "-W", "ignore:Module aiohttp was already imported from "
+ "/home/abuild/rpmbuild/BUILDROOT",
"-c", f"import {import_path!s}",
# fmt: on
)

View File

@ -1,24 +0,0 @@
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
),
}
_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(
- f"{sys.version_info.major}.{sys.version_info.minor}", 200
+ f"{sys.version_info.major}.{sys.version_info.minor}", 500
)
assert best_time_ms < expected_time