Path to this page:
./
www/py-aiohttp,
Async http client/server framework
Branch: CURRENT,
Version: 3.11.10,
Package name: py312-aiohttp-3.11.10,
Maintainer: pkgsrc-usersHTTP client/server for asyncio (PEP 3156).
Features:
* Supports both Client and HTTP Server.
* Supports both Server WebSockets and Client WebSockets out-of-the-box.
* Web-server has Middlewares, Signals and pluggable routing.
Required to run:[
devel/py-setuptools] [
converters/py-chardet] [
devel/py-cython] [
devel/py-attrs] [
databases/py-multidict] [
www/py-yarl] [
devel/py-async-timeout] [
lang/python37]
Required to build:[
pkgtools/cwrappers]
Master sites:
Filesize: 7489.094 KB
Version history: (Expand)
- (2024-12-06) Updated to version: py312-aiohttp-3.11.10
- (2024-12-04) Updated to version: py312-aiohttp-3.11.9
- (2024-11-24) Updated to version: py312-aiohttp-3.11.7
- (2024-11-16) Updated to version: py312-aiohttp-3.11.2
- (2024-11-14) Updated to version: py312-aiohttp-3.11.0
- (2024-11-13) Updated to version: py312-aiohttp-3.10.11
CVS history: (Expand)
2024-12-06 09:08:53 by Adam Ciarcinski | Files touched by this commit (2) | |
Log message:
py-aiohttp: updated to 3.11.10
3.11.10 (2024-12-05)
Bug fixes
- 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``
|
2024-12-04 10:26:23 by Adam Ciarcinski | Files touched by this commit (2) | |
Log message:
py-aiohttp: updated to 3.11.9
3.11.9 (2024-12-01)
Bug fixes
- Fixed invalid method logging unexpected being logged at exception level on \
subsequent connections
Miscellaneous internal changes
- Improved performance of parsing headers when using the C parser
3.11.8 (2024-11-27)
Miscellaneous internal changes
- Improved performance of creating :class:`aiohttp.ClientResponse` objects when \
there are no cookies
- Improved performance of creating :class:`aiohttp.ClientResponse` objects
- Improved performances of creating objects during the HTTP request lifecycle
- Improved performance of constructing :class:`aiohttp.web.Response` with headers
- Improved performance of making requests when there are no auto headers to skip
- Downgraded logging of invalid HTTP method exceptions on the first request to \
debug level
HTTP requests starting with an invalid method are relatively common, \
especially when connected to the public internet, because browsers or other \
clients may try to speak SSL to a plain-text server or vice-versa. These \
exceptions can quickly fill the log with noise when nothing is wrong.
|
2024-11-24 08:27:08 by Adam Ciarcinski | Files touched by this commit (2) | |
Log message:
py-aiohttp: updated to 3.11.7
3.11.7 (2024-11-21)
Bug fixes
- Fixed the HTTP client not considering the connector's ``force_close`` value \
when setting the ``Connection`` header
Miscellaneous internal changes
- Improved performance of serializing HTTP headers
3.11.6 (2024-11-19)
Bug fixes
- Restored the ``force_close`` method to the ``ResponseHandler``
3.11.5 (2024-11-19)
Bug fixes
- Fixed the ``ANY`` method not appearing in :meth:`~aiohttp.web.UrlDispatcher.routes`
3.11.4 (2024-11-18)
Bug fixes
- Fixed ``StaticResource`` not allowing the ``OPTIONS`` method after calling \
``set_options_route``
Miscellaneous internal changes
- Improved performance of creating web responses when there are no cookies
3.11.3 (2024-11-18)
Bug fixes
- Removed non-existing ``__author__`` from ``dir(aiohttp)``
- Restored the ``FlowControlDataQueue`` class
This class is no longer used internally, and will be permanently removed in \
the next major version.
Miscellaneous internal changes
- Improved performance of resolving resources when multiple methods are \
registered for the same route
|
2024-11-16 11:18:16 by Adam Ciarcinski | Files touched by this commit (2) | |
Log message:
py-aiohttp: updated to 3.11.2
3.11.2 (2024-11-14)
Bug fixes
- Fixed improperly closed WebSocket connections generating an unhandled exception
3.11.1 (2024-11-14)
Bug fixes
- Added a backward compatibility layer to :class:`aiohttp.RequestInfo` to allow \
creating these objects without a ``real_url``
|
2024-11-14 19:22:00 by Adam Ciarcinski | Files touched by this commit (3) | |
Log message:
py-aiohttp: updated to 3.11.0
3.11.0 (2024-11-13)
Bug fixes
- 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(...)`
- 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
- Made ``TestClient.app`` a ``Generic`` so type checkers will know the correct \
type (avoiding unneeded ``client.app is not None`` checks)
- Fixed the keep-alive connection pool to be FIFO instead of LIFO
Keep-alive connections are more likely to be reused before they disconnect.
Features
- 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`
- Added ``server_hostname`` parameter to ``ws_connect``.
- Exported :py:class:`~aiohttp.ClientWSTimeout` to top-level namespace
- Added ``secure``/``httponly``/``samesite`` parameters to ``.del_cookie()``
- 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
- Added ``proxy`` and ``proxy_auth`` parameters to :py:class:`~aiohttp.ClientSession`
- Added ``default_to_multipart`` parameter to ``FormData``.
- Added :py:meth:`~aiohttp.ClientWebSocketResponse.send_frame` and \
:py:meth:`~aiohttp.web.WebSocketResponse.send_frame` for WebSockets
- Updated :py:class:`~aiohttp.ClientSession` to support paths in ``base_url`` \
parameter.
- Improved performance of reading WebSocket messages with a Cython implementation
- 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
- Added an :attr:`~aiohttp.abc.AbstractAccessLogger.enabled` property to \
:class:`aiohttp.abc.AbstractAccessLogger` to dynamically check if logging is \
enabled
Deprecations (removal in next major release)
- 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`.
Removals and backward incompatible breaking changes
- Dropped support for Python 3.8
- Increased minimum yarl version to 1.17.0
- Removed the ``is_ipv6_address`` and ``is_ip4_address`` helpers are they are no \
longer used
- Changed ``ClientRequest.connection_key`` to be a `NamedTuple` to improve \
client performance
- ``FlowControlDataQueue`` has been replaced with the ``WebSocketDataQueue``
- Changed ``ClientRequest.request_info`` to be a `NamedTuple` to improve client \
performance
Packaging updates and notes for downstreams
- Switched to using the :mod:`propcache <propcache.api>` package for \
property caching
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.
- Separated ``aiohttp.http_websocket`` into multiple files to make it easier to \
maintain
Contributor-facing changes
- Changed diagram images generator from ``blockdiag`` to ``GraphViz``.
Generating documentation now requires the GraphViz executable to be included \
in $PATH or sphinx build configuration.
Miscellaneous internal changes
- Added flake8 settings to avoid some forms of implicit concatenation.
- Enabled keep-alive support on proxies (which was originally disabled several \
years ago)
- Changed web entry point to not listen on TCP when only a Unix path is passed
- Disabled automatic retries of failed requests in \
:class:`aiohttp.test_utils.TestClient`'s client session
(which could potentially hide errors in tests)
- Changed web ``keepalive_timeout`` default to around an hour in order to reduce \
race conditions on reverse proxies
- Reduced memory required for stream objects created during the client request \
lifecycle
- Improved performance of the internal ``DataQueue``
- Improved performance of calling ``receive`` for WebSockets for the most common \
message types
- Replace internal helper methods ``method_must_be_empty_body`` and \
``status_code_must_be_empty_body`` with simple `set` lookups
- Improved performance of :py:class:`aiohttp.BaseConnector` when there is no \
``limit_per_host``
- Improved performance of sending HTTP requests when there is no body
- Improved performance of the ``WebsocketWriter`` when the protocol is not paused
- Implemented zero copy writes for ``StreamWriter``
|
2024-11-13 18:35:37 by Adam Ciarcinski | Files touched by this commit (2) | |
Log message:
py-aiohttp: updated to 3.10.11
3.10.11 (2024-11-13)
Bug fixes
- Authentication provided by a redirect now takes precedence over provided \
``auth`` when making requests with the client
- Fixed :py:meth:`WebSocketResponse.close() \
<aiohttp.web.WebSocketResponse.close>` to discard non-close messages \
within its timeout window after sending close
- Fixed a deadlock that could occur while attempting to get a new connection \
slot after a timeout
The connector was not cancellation-safe.
- Fixed the WebSocket flow control calculation undercounting with multi-byte data
- Fixed incorrect parsing of chunk extensions with the pure Python parser
- Fixed system routes polluting the middleware cache
Removals and backward incompatible breaking changes
- Improved performance of the connector when a connection can be reused
If ``BaseConnector.connect`` has been subclassed and replaced with custom \
logic, the ``ceil_timeout`` must be added.
Miscellaneous internal changes
- Improved performance of the client request lifecycle when there are no cookies
- Improved performance of serializing HTTP headers
- 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
|
2024-11-11 08:29:31 by Thomas Klausner | Files touched by this commit (862) |
Log message:
py-*: remove unused tool dependency
py-setuptools includes the py-wheel functionality nowadays
|
2024-10-14 18:56:43 by Adam Ciarcinski | Files touched by this commit (3) | |
Log message:
py-aiohttp: updated to 3.10.10
3.10.10 (2024-10-10)
Bug fixes
- Fixed error messages from :py:class:`~aiohttp.resolver.AsyncResolver` being \
swallowed
Features
- Added :exc:`aiohttp.ClientConnectorDNSError` for differentiating DNS \
resolution errors from other connector errors
Miscellaneous internal changes
- Simplified DNS resolution throttling code to reduce chance of race conditions
|