pkgsrc-Changes archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
CVS commit: pkgsrc/www/py-aiohttp
Module Name: pkgsrc
Committed By: adam
Date: Tue Jun 2 05:11:04 UTC 2026
Modified Files:
pkgsrc/www/py-aiohttp: Makefile distinfo
Log Message:
py-aiohttp: updated to 3.14.0
3.14.0 (2026-06-01)
Features
- Added ``RequestKey`` and ``ResponseKey`` classes,
which enable static type checking for request & response
context storages in the same way that ``AppKey`` does for ``Application``
- Added :func:`~aiohttp.encode_basic_auth` for encoding HTTP Basic
Authentication credentials. Replaces the now-deprecated
:class:`~aiohttp.BasicAuth`
- Started accepting :term:`asynchronous context managers <asynchronous context manager>` for cleanup contexts.
Legacy single-yield :term:`asynchronous generator` cleanup contexts continue to be
supported; async context managers are adapted internally so they are
entered at startup and exited during cleanup.
- Added :py:attr:`~aiohttp.CookieJar.cookies` and :py:attr:`~aiohttp.CookieJar.host_only_cookies` read-only properties to :py:class:`~aiohttp.CookieJar` exposing the stored cookies with their full
attributes
- Added :py:attr:`~aiohttp.web.TCPSite.port` accessor for dynamic port allocations in :class:`~aiohttp.web.TCPSite`
- Added ``decode_text`` parameter to :meth:`~aiohttp.ClientSession.ws_connect` and :class:`~aiohttp.web.WebSocketResponse` to receive WebSocket TEXT messages as raw bytes instead of decoded strings,
enabling direct use with high-performance JSON parsers like ``orjson``
- Large overhaul of parser/decompression code.
The zip bomb security fix in 3.13 stopped highly compressed payloads
from being decompressed, regardless of validity. Now aiohttp will
decompress such payloads in chunks of 256+ KiB, allowing safe decompression
of such payloads.
- Added explicit APIs for bytes-returning JSON serializer:
``JSONBytesEncoder`` type, ``JsonBytesPayload``,
:func:`~aiohttp.web.json_bytes_response`,
:meth:`~aiohttp.web.WebSocketResponse.send_json_bytes` and
:meth:`~aiohttp.ClientWebSocketResponse.send_json_bytes` methods, and
``json_serialize_bytes`` parameter for :class:`~aiohttp.ClientSession`
- Added :attr:`~aiohttp.ClientResponse.output_size` and
:attr:`~aiohttp.ClientResponse.upload_complete`
Bug fixes
- Fixed ``ZLibDecompressor`` silently dropping data past the first
member when decompressing concatenated gzip/deflate streams. Each subsequent
member is now handed to a fresh decompressor, matching the behaviour already
implemented for ZSTD multi-frame streams.
- Improved the parser error message shown when TLS handshake bytes are received on an HTTP port
- Fixed the C parser failing to reject a response with a body when none was expected
- Fixed http parser not rejecting HTTP/1.1 requests that do not have valid Host header.
- Fixed misleading TLS-in-TLS warning being emitted when sending HTTPS requests through an HTTP proxy. The warning now only fires when the proxy itself uses HTTPS, which is the only case where
TLS-in-TLS actually applies
- Fixed ``AssertionError`` when the transport is ``None`` during WebSocket
preparation or file response sending (e.g. when a client disconnects
immediately after connecting). A ``ConnectionResetError`` is now raised
instead
- Fixed ad-hoc cookies passed to individual requests not being sent when the session's cookie jar has ``unsafe=True`` and the target URL uses an IP address, by copying the ``unsafe`` setting from the
session's cookie jar to the temporary cookie jar
- Reset the WebSocket heartbeat timer on inbound data to avoid false ping/pong timeouts while receiving large frames
- Switched :py:meth:`~aiohttp.CookieJar.save` to use JSON format and
:py:meth:`~aiohttp.CookieJar.load` to try JSON first with a fallback to
a restricted pickle unpickler
- Fixed redirects with consumed non-rewindable request bodies to raise
:class:`aiohttp.ClientPayloadError` instead of silently sending an empty body.
- Fixed zstd decompression failing with ``ClientPayloadError`` when the server
sends a response as multiple zstd frames
- Fixed spurious ``Future exception was never retrieved`` warning on disconnect during back-pressure
- ``Cookiejar.save()`` now uses ``0x600`` permissions to better protect them from being read by other users
- Fixed a crash (:external+python:exc:`~http.cookies.CookieError`) in the cookie parser when receiving cookies
containing ASCII control characters on CPython builds with the :cve:`2026-3644`
patch. The parser now gracefully skips cookies whose value contains control
characters instead of letting the exception propagate
- Fixed digest authentication failing for requests whose path or query string contains percent-encoded reserved characters; the digest signature now uses the encoded request-target that is sent on
the wire instead of the decoded form
- Fixed :func:`aiohttp.web.run_app` losing inner traceback frames when an
exception is raised during application startup (e.g. inside
``cleanup_ctx`` or ``on_startup``). Regression since 3.10.6.
- Fixed per-request ``cookies`` not being dropped on cross-origin redirects
- Fixed invalid bytes being allowed in multipart/payload headers
- Fixed :py:meth:`~aiohttp.FormData.add_field` accepting invalid bytes in ``name`` and ``filename``
- Fixed websocket upgrade occurring when header contained a value like `notupgrade`
Deprecations (removal in next major release)
- Deprecated :class:`~aiohttp.BasicAuth` and the ``auth`` / ``proxy_auth``
parameters. They will be removed in aiohttp 4.0. Use the new
:func:`~aiohttp.encode_basic_auth` helper together with
``headers={"Authorization": ...}`` (or
``proxy_headers={"Proxy-Authorization": ...}`` for proxies) instead.
Note that ``encode_basic_auth()`` defaults to `utf-8`, not `latin1`
- Added deprecation warning to ``aiohttp.pytest_plugin``, please switch to ``pytest-aiohttp``
To generate a diff of this commit:
cvs rdiff -u -r1.105 -r1.106 pkgsrc/www/py-aiohttp/Makefile
cvs rdiff -u -r1.97 -r1.98 pkgsrc/www/py-aiohttp/distinfo
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: pkgsrc/www/py-aiohttp/Makefile
diff -u pkgsrc/www/py-aiohttp/Makefile:1.105 pkgsrc/www/py-aiohttp/Makefile:1.106
--- pkgsrc/www/py-aiohttp/Makefile:1.105 Wed Apr 1 05:57:17 2026
+++ pkgsrc/www/py-aiohttp/Makefile Tue Jun 2 05:11:04 2026
@@ -1,6 +1,6 @@
-# $NetBSD: Makefile,v 1.105 2026/04/01 05:57:17 adam Exp $
+# $NetBSD: Makefile,v 1.106 2026/06/02 05:11:04 adam Exp $
-DISTNAME= aiohttp-3.13.5
+DISTNAME= aiohttp-3.14.0
PKGNAME= ${PYPKGPREFIX}-${DISTNAME}
CATEGORIES= www python
MASTER_SITES= ${MASTER_SITE_PYPI:=a/aiohttp/}
@@ -10,9 +10,8 @@ HOMEPAGE= https://github.com/aio-libs/ai
COMMENT= Async http client/server framework
LICENSE= apache-2.0
-TOOL_DEPENDS+= ${PYPKGPREFIX}-cython-[0-9]*:../../devel/py-cython
+TOOL_DEPENDS+= ${PYPKGPREFIX}-pkgconfig>=0:../../devel/py-pkgconfig
TOOL_DEPENDS+= ${PYPKGPREFIX}-setuptools>=78:../../devel/py-setuptools
-DEPENDS+= ${PYPKGPREFIX}-aiodns>=3.2.0:../../net/py-aiodns
DEPENDS+= ${PYPKGPREFIX}-aiohappyeyeballs>=2.5.0:../../net/py-aiohappyeyeballs
DEPENDS+= ${PYPKGPREFIX}-aiosignal>=1.4.0:../../devel/py-aiosignal
DEPENDS+= ${PYPKGPREFIX}-attrs>=17.3.0:../../devel/py-attrs
@@ -20,11 +19,14 @@ DEPENDS+= ${PYPKGPREFIX}-frozenlist>=1.1
DEPENDS+= ${PYPKGPREFIX}-multidict>=4.5:../../databases/py-multidict
DEPENDS+= ${PYPKGPREFIX}-propcache>=0.2.0:../../devel/py-propcache
DEPENDS+= ${PYPKGPREFIX}-yarl>=1.17.0:../../www/py-yarl
+# speedups
+DEPENDS+= ${PYPKGPREFIX}-aiodns>=3.3.0:../../net/py-aiodns
TEST_DEPENDS+= ${PYPKGPREFIX}-brotli-[0-9]*:../../archivers/py-brotli
TEST_DEPENDS+= ${PYPKGPREFIX}-freezegun-[0-9]*:../../devel/py-freezegun
TEST_DEPENDS+= ${PYPKGPREFIX}-gunicorn-[0-9]*:../../www/py-gunicorn
TEST_DEPENDS+= ${PYPKGPREFIX}-re-assert-[0-9]*:../../devel/py-re-assert
TEST_DEPENDS+= ${PYPKGPREFIX}-test-cov-[0-9]*:../../devel/py-test-cov
+TEST_DEPENDS+= ${PYPKGPREFIX}-test-mock-[0-9]*:../../devel/py-test-mock
TEST_DEPENDS+= ${PYPKGPREFIX}-test-timeout-[0-9]*:../../devel/py-test-timeout
TEST_DEPENDS+= ${PYPKGPREFIX}-test-xdist-[0-9]*:../../devel/py-test-xdist
#TEST_DEPENDS+= ${PYPKGPREFIX}-isal-[0-9]*:../../wip/py-isal
Index: pkgsrc/www/py-aiohttp/distinfo
diff -u pkgsrc/www/py-aiohttp/distinfo:1.97 pkgsrc/www/py-aiohttp/distinfo:1.98
--- pkgsrc/www/py-aiohttp/distinfo:1.97 Wed Apr 1 05:57:17 2026
+++ pkgsrc/www/py-aiohttp/distinfo Tue Jun 2 05:11:04 2026
@@ -1,5 +1,5 @@
-$NetBSD: distinfo,v 1.97 2026/04/01 05:57:17 adam Exp $
+$NetBSD: distinfo,v 1.98 2026/06/02 05:11:04 adam Exp $
-BLAKE2s (aiohttp-3.13.5.tar.gz) = 4ef1446fd13e5016c1495ed777b2c4d89b8042819d589ee48fe0dea5cd6a5db2
-SHA512 (aiohttp-3.13.5.tar.gz) = 42aafde39a7e0d270a43733293be1450ca7d72be9658403218f4c338fba7f942bd362637676146cc77579a0946303a44b012b070a25027d3b87abfb6bc0f9fb9
-Size (aiohttp-3.13.5.tar.gz) = 7858271 bytes
+BLAKE2s (aiohttp-3.14.0.tar.gz) = a61b19d5275a8e0936d0ad1d918c66abb7e4ff2926d4a2397a62fe72ade3a725
+SHA512 (aiohttp-3.14.0.tar.gz) = 7888be5d7c285efb84e38cebd3b4dcd8dd199ba654df5faac87d254f9a423d7b5300d195e2d99b196c3d1d53fd8f0cadbcf368ce985e2269ec9c31400e40c036
+Size (aiohttp-3.14.0.tar.gz) = 7940674 bytes
Home |
Main Index |
Thread Index |
Old Index