15
0

Accepting request 1269515 from home:glaubitz:branches:devel:languages:python

- Update to 3.11.16
  * Replaced deprecated asyncio.iscoroutinefunction with its
    counterpart from inspect
  * Fixed :class:multidict.CIMultiDict being mutated when passed
    to :class:aiohttp.web.Response -- by :user:bdraco.
- from version 3.11.15
  * Reverted explicitly closing sockets if an exception is raised
    during create_connection
    This change originally appeared in aiohttp 3.11.13
  * Improved performance of WebSocket buffer handling
  * Improved performance of serializing headers
- from version 3.11.14
  * Fixed an issue where dns queries were delayed indefinitely
    when an exception occurred in a trace.send_dns_cache_miss
  * Fixed DNS resolution on platforms that don't support
    socket.AI_ADDRCONFIG
  * The connector now raises :exc:aiohttp.ClientConnectionError
    instead of :exc:OSError when failing to explicitly close the
    socket after :py:meth:asyncio.loop.create_connection fails
  * Break cyclic references at connection close when there was
    a traceback
  * Break cyclic references when there is an exception handling
    a request
  * Improved logging on non-overlapping WebSocket client protocols
    to include the remote address
  * Improved performance of parsing content types by adding a cache
    in the same manner currently done with mime types
- from version 3.11.13
  * Removed a break statement inside the finally block in
    :py:class:~aiohttp.web.RequestHandler

OBS-URL: https://build.opensuse.org/request/show/1269515
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-aiohttp?expand=0&rev=144
This commit is contained in:
2025-04-15 10:20:22 +00:00
committed by Git OBS Bridge
parent 7d70c0cd3f
commit 27d3a54094
5 changed files with 65 additions and 29 deletions

View File

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

BIN
aiohttp-3.11.16.tar.gz LFS Normal file

Binary file not shown.

View File

@@ -1,3 +1,64 @@
-------------------------------------------------------------------
Tue Apr 15 09:18:21 UTC 2025 - John Paul Adrian Glaubitz <adrian.glaubitz@suse.com>
- Update to 3.11.16
* Replaced deprecated asyncio.iscoroutinefunction with its
counterpart from inspect
* Fixed :class:multidict.CIMultiDict being mutated when passed
to :class:aiohttp.web.Response -- by :user:bdraco.
- from version 3.11.15
* Reverted explicitly closing sockets if an exception is raised
during create_connection
This change originally appeared in aiohttp 3.11.13
* Improved performance of WebSocket buffer handling
* Improved performance of serializing headers
- from version 3.11.14
* Fixed an issue where dns queries were delayed indefinitely
when an exception occurred in a trace.send_dns_cache_miss
* Fixed DNS resolution on platforms that don't support
socket.AI_ADDRCONFIG
* The connector now raises :exc:aiohttp.ClientConnectionError
instead of :exc:OSError when failing to explicitly close the
socket after :py:meth:asyncio.loop.create_connection fails
* Break cyclic references at connection close when there was
a traceback
* Break cyclic references when there is an exception handling
a request
* Improved logging on non-overlapping WebSocket client protocols
to include the remote address
* Improved performance of parsing content types by adding a cache
in the same manner currently done with mime types
- from version 3.11.13
* Removed a break statement inside the finally block in
:py:class:~aiohttp.web.RequestHandler
* Changed connection creation to explicitly close sockets if an
exception is raised in the event loop's create_connection method
* Fixed test test_write_large_payload_deflate_compression_data_in_\
eof_writelines failing with Python 3.12.9+ or 3.13.2+
* Added human-readable error messages to the exceptions for WebSocket
disconnects due to PONG not being received
Previously, the error messages were empty strings, which made it
hard to determine what went wrong.
- from version 3.11.12
* MultipartForm.decode() now follows RFC1341 7.2.1 with a CRLF
after the boundary
* Restored the missing total_bytes attribute to EmptyStreamReader
* Updated :py:func:~aiohttp.request to make it accept _RequestOptions
kwargs.
* Improved logging of HTTP protocol errors to include the remote address
* Added aiohttp-openmetrics to list of third-party libraries
* Added missing files to the source distribution to fix Makefile targets
* Added a cythonize-nodeps target to run Cython without invoking pip to
install dependencies
* Started building armv7l musllinux wheels
* The CI/CD workflow has been updated to use upload-artifact v4 and
download-artifact v4 GitHub Actions
* Restored support for zero copy writes when using Python 3.12 versions
3.12.9 and later or Python 3.13.2+
Zero copy writes were previously disabled due to CVE-2024-12254 which
is resolved in these Python versions.
- Drop test_relax_import_time.patch, fixed upstream
-------------------------------------------------------------------
Mon Jan 6 19:02:59 UTC 2025 - Matej Cepl <mcepl@cepl.eu>

View File

@@ -19,14 +19,13 @@
%bcond_with docs
%{?sle15_python_module_pythons}
Name: python-aiohttp
Version: 3.11.11
Version: 3.11.16
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

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