71dd584400- Update to 3.12.15 * Fixed :class:~aiohttp.DigestAuthMiddleware to preserve the algorithm case from the server's challenge in the authorization response. This improves compatibility with servers that perform case-sensitive algorithm matching (e.g., servers expecting `algorithm=MD5-sess instead of algorithm=MD5-SESS) * Remove outdated contents of aiohttp-devtools and aiohttp-swagger from Web_advanced docs. * Started including the llhttp :file:LICENSE file in wheels by adding vendor/llhttp/LICENSE to license-files in :file:setup.cfg * Updated a regex in test_aiohttp_request_coroutine` for Python 3.14.
devel
Matej Cepl2025-08-08 10:49:16 +00:00
16852995ad- update to 3.12.14: * Fixed file uploads failing with HTTP 422 errors when encountering 307/308 redirects, and 301/302 redirects for non-POST methods, by preserving the request body when appropriate per RFC 9110 -- by :user:bdraco. Related issues and pull requests on GitHub: :issue:11270. * Fixed :py:meth:ClientSession.close() <aiohttp.ClientSession.close> hanging indefinitely when using HTTPS requests through HTTP proxies -- by :user:bdraco. Related issues and pull requests on GitHub: :issue:11273. * Bumped minimum version of aiosignal to 1.4+ to resolve typing issues -- by :user:Dreamsorcerer. Related issues and pull requests on GitHub: :issue:11280. * Added initial trailer parsing logic to Python HTTP parser -- by :user:Dreamsorcerer. Related issues and pull requests on GitHub: :issue:11269. * Clarified exceptions raised by WebSocketResponse.send_frame et al. -- by :user:DoctorJohn. Related issues and pull requests on GitHub: :issue:11234.Dirk Mueller2025-07-14 15:17:54 +00:00
291339e809Accepting request 1289166 from devel:languages:pythonAna Guerrero2025-07-01 09:33:12 +00:00
f76bdb9865- Add remove-isal-test-dep.patch to remove python-isal test dependency, that's not part of Factory yet.Daniel Garcia2025-06-30 06:09:48 +00:00
45126d855a- Update to 3.12.13 * Optimized web server performance when access logging is disabled by reducing time syscalls * Improved performance of the WebSocket reader * Disabled TLS in TLS warning (when using HTTPS proxies) for uvloop and newer Python versions * Added a comprehensive HTTP Digest Authentication client middleware (DigestAuthMiddleware) that implements RFC 7616. * Fixed pytest plugin to not use deprecated asyncio policy APIs. * Allow user setting zlib compression backend * Added host parameter to aiohttp_server fixture * Added socket_factory to aiohttp.TCPConnector to allow specifying custom socket options * Upgraded to LLHTTP 9.3.0 * Optimized small HTTP requests/responses by coalescing headers and body into a single TCP packet * Removed non SPDX-license description from setup.cfg * Added support for building against system llhttp library * Fixed compatibility issue with Cython 3.1.1 * Added support for reusable request bodies to enable retries, redirects, and digest authentication * Improved performance of isinstance checks by using collections.abc types instead of typing module equivalents * Added ssl_shutdown_timeout parameter to aiohttp.ClientSession and aiohttp.TCPConnector to control the grace period for SSL shutdown handshake on TLS connections. * Downgraded the logging level for connector close errors from ERROR to DEBUG, as these are expected behavior with TLS 1.3 connections * Fixed cookie parsing to be more lenient when handling cookies with special characters in names or valuesDaniel Garcia2025-06-30 05:44:16 +00:00
3d4867e6ad- 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.RequestHandlerDirk Mueller2025-04-15 10:20:22 +00:00
32ff66a302Accepting request 1235442 from devel:languages:pythonAna Guerrero2025-01-07 19:50:48 +00:00
847b3f4f71- 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 StreamWriterMatej Cepl2025-01-06 20:20:19 +00:00
da1c87a797Accepting request 1228526 from devel:languages:pythonAna Guerrero2024-12-06 13:25:14 +00:00
66671b1fef- 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.Daniel Garcia2024-12-05 13:40:09 +00:00
1eaa070f53- 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 multipleDirk Mueller2024-11-22 11:59:06 +00:00
87a399d382- 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.Daniel Garcia2024-11-19 09:18:59 +00:00
7cfbfa3c25Accepting request 1217029 from devel:languages:pythonAna Guerrero2024-10-23 19:08:50 +00:00
c495aa5d15- 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.Dirk Mueller2024-10-22 13:14:12 +00:00
36c439922fAccepting request 1206528 from devel:languages:pythonAna Guerrero2024-10-11 15:01:08 +00:00
670e7d9c68- 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.pyNico Krapp2024-10-09 11:49:48 +00:00
21b1c1ed84Accepting request 1203566 from devel:languages:pythonAna Guerrero2024-10-01 15:11:07 +00:00
04019d8609- 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.Markéta Machová2024-09-06 09:45:01 +00:00
a52cc6d79cAccepting request 1194832 from devel:languages:pythonAna Guerrero2024-08-20 14:13:25 +00:00
aba700934be Update to 3.10.5: * Fixed aiohttp.ClientResponse.json() not setting status when aiohttp.ContentTypeError is raised * Improved performance of the WebSocket reader * Fixed decoding base64 chunk in BodyPartReader * Fixed a race closing the server-side WebSocket where the close code would not reach the client * Fixed unconsumed exceptions raised by the WebSocket heartbeat * Fixed an edge case in the Python parser when chunk separators happen to align with network chunks * Fixed multipart reading when stream buffer splits the boundary over several read() calls * Fixed aiohttp.TCPConnector doing blocking I/O in the event loop to create the SSLContext * Improved performance of aiohttp.ClientWebSocketResponse.receive and aiohttp.web.WebSocketResponse.receive when there is no timeout. * Improved performance of starting request handlers with Python 3.12+ * Improved performance of HTTP keep-alive checks * Fixed server checks for circular symbolic links to be compatible with Python 3.13 * Fixed request body not being read when ignoring an Upgrade request * Fixed an edge case where shutdown would wait for timeout when the handler was already completed * Fixed connecting to npipe://, tcp://, and unix:// urls * Fixed WebSocket ping tasks being prematurely garbage collected * Fixed incorrectly following symlinks for compressed file variants (bsc#1229226, CVE-2024-42367) * Fixed monkey patches for Path.stat() and Path.is_dir() for Python 3.13 compatibility * Fixed url dispatcher index not matching when a variable is preceded by aSteve Kowalik2024-08-20 06:48:58 +00:00
7ee00c5fdeAccepting request 1177644 from devel:languages:pythonAna Guerrero2024-06-04 10:50:29 +00:00
021cdceab9Accepting request 1177601 from home:mcalabkova:branches:devel:languages:pythonMatej Cepl2024-05-29 21:19:50 +00:00
b585502173Accepting request 1173942 from devel:languages:pythonAna Guerrero2024-05-15 19:26:21 +00:00
10ba334e71Accepting request 1173924 from home:glaubitz:branches:devel:languages:pythonDirk Mueller2024-05-14 10:02:10 +00:00
94b197b577Accepting request 1169371 from devel:languages:pythonAna Guerrero2024-04-23 16:54:54 +00:00
9f97ca25e5- update to 3.9.5: * Fixed "Unclosed client session" when initialization of :py:class:~aiohttp.ClientSession fails * Fixed regression (from :pr:8280) with adding Content- Disposition to the form-data part after appending to writer * Added default Content-Disposition in multipart/form-data responses to avoid broken form-data responses * The asynchronous internals now set the underlying causes when assigning exceptions to the future objects * Treated values of Accept-Encoding header as case-insensitive when checking for gzip files * Improved the DNS resolution performance on cache hit * Changed the type annotations to allow dict on :meth:aiohttp.MultipartWriter.append, :meth:aiohttp.MultipartWriter.append_json and :meth:aiohttp.MultipartWriter.append_form -- by :user:cakemanny Related issues and pull requests on GitHub: :issue:7741. * Ensure websocket transport is closed when client does not close it * Leave websocket transport open if receive times out or is cancelled * Fixed content not being read when an upgrade request was not supported with the pure Python implementation. * Fixed a race condition with incoming connections during server shutdown * Fixed multipart/form-data compliance with RFC 7578 * Fixed blocking I/O in the event loop while processing files in a POST request * Escaped filenames in static viewDirk Mueller2024-04-20 14:03:11 +00:00
d8b399318aAccepting request 1129056 from devel:languages:pythonAna Guerrero2023-11-27 21:42:42 +00:00
ffa4177ccc- update to 3.9.1: * Fixed importing aiohttp under PyPy on Windows. * Fixed async concurrency safety in websocket compressor. * Fixed `ClientResponse.close() releasing the connection instead of closing. * Fixed a regression where connection may get closed during upgrade. -- by :user:Dreamsorcerer * Fixed messages being reported as upgraded without an Upgrade header in Python parser. -- by :user:Dreamsorcerer`Dirk Mueller2023-11-27 15:25:40 +00:00
b7a5aebb17- update to 3.8.6 (bsc#1217181, CVE-2023-47627):Dirk Mueller2023-11-27 08:49:34 +00:00
80453ee8c0- update to 3.9.0: * Introduced `AppKey for static typing support of Application storage. * Added a graceful shutdown period which allows pending tasks to complete before the application's cleanup is called. * Added handler_cancellation_ parameter to cancel web handler on client disconnection. * This (optionally) reintroduces a feature removed in a previous release. * Recommended for those looking for an extra level of protection against denial-of-service attacks. * Added support for setting response header parameters max_line_size and max_field_size. * Added auto_decompress parameter to ClientSession.request to override ClientSession._auto_decompress. * Changed raise_for_status to allow a coroutine. * Added client brotli compression support (optional with runtime check). * Added client_max_size to BaseRequest.clone() to allow overriding the request body size. -- :user:anesabml. * Added a middleware type alias aiohttp.typedefs.Middleware. * Exported HTTPMove which can be used to catch any redirection request that has a location -- :user:dreamsorcerer. * Changed the path parameter in web.run_app() to accept a pathlib.Path object. * Performance: Skipped filtering CookieJar` when the jar is empty or all cookies have expired. * Performance: Only check origin if insecure scheme and thereDirk Mueller2023-11-26 01:07:55 +00:00
516a12f1a7Accepting request 1124959 from devel:languages:pythonAna Guerrero2023-11-13 21:16:13 +00:00
66f26a47f7- update to 3.8.6: * Security bugfixes * Upgraded the vendored copy of llhttp_ to v9.1.3 * https://github.com/aio-libs/aiohttp/security/advisories/GHSA- pjjw-qhg8-p2p9. * Updated Python parser to comply with RFCs 9110/9112 * https://github.com/aio-libs/aiohttp/security/advisories/GHSA- gfw2-4jvh-wgfg. * Added `fallback_charset_resolver parameter in ClientSession to allow a user-supplied character set detection function. Character set detection will no longer be included in 3.9 as a default. If this feature is needed, please use fallback_charset_resolver * Enabled lenient response parsing for more flexible parsing in the client * Fixed `PermissionError when .netrc is unreadable due to permissions. * Fixed output of parsing errors * Fixed GunicornWebWorker max_requests_jitter not working. * Fixed sorting in filter_cookies to use cookie with longest path. * Fixed display of BadStatusLine` messages from llhttp_.Dirk Mueller2023-11-10 12:43:06 +00:00
c289700ab7Accepting request 1117831 from devel:languages:pythonAna Guerrero2023-10-16 20:33:02 +00:00
4bc5709bac- Add remove-re-assert.patch, we really don’t need beautifuly presented exceptions for our testing; remove re-assert BR.Matej Cepl2023-10-14 17:33:08 +00:00
af8975f8dbAccepting request 1110373 from devel:languages:pythonAna Guerrero2023-09-12 19:02:20 +00:00
015984a408- switch from unmaintained brotlipy to Brotli - skip more tests - Drop python39-failures.patch, no longer required. - Update python39-failures.patch to only fire with Python 3.9.7. * Made exceptions pickleable. Also changed the repr of some exceptions. #4077 * Raise a ClientResponseError instead of an AssertionError for a * Fix web_middlewares.normalize_path_middleware behavior for * Fix overshadowing of overlapped sub-applications prefixes. * Make BaseConnector.close() a coroutine and wait until the client closes all connections. Drop deprecated "with * Reset the sock_read timeout each time data is received for a * Fixed type annotation for add_view method of UrlDispatcher to * Fixed querying the address families from DNS that the current * Change return type of MultipartReader.__aiter__() and - Fix python 3.6 build * Response headers are now prepared prior to runningDirk Mueller2023-09-11 20:43:13 +00:00
ef4a724969Accepting request 1109336 from devel:languages:pythonAna Guerrero2023-09-07 19:12:46 +00:00
13f03e696b- Include in SLE-15 (bsc#1176785, jsc#ECO-3105, jsc#PM-2352)Dirk Mueller2023-09-06 20:21:39 +00:00
792689dd2d- Add Update-update_query-calls-to-work-with-latest-yarl.patch to fix problems with latest python-yarl - Delete aiohttp-pr7057-bump-charset-normalizer.patch not needed anymore - Update to 3.8.4: * Fixed incorrectly overwriting cookies with the same name and domain, but different path. (#6638) * Fixed ConnectionResetError not being raised after client disconnection in SSL environments. (#7180)Daniel Garcia2023-04-26 07:39:50 +00:00
1eb5868174- Update py3109-compat.patch to work with python <= 3.10.8 too.Daniel Garcia2022-12-12 16:17:08 +00:00
9d8f30c9a1- Add py3109-compat.patch to make tests compatible with python 3.10.9. These tests are not present anymore in upstream master version so this patch could be removed in future releases.Daniel Garcia2022-12-12 11:34:39 +00:00
c28993dc44- update to 3.8.3: * Increased the upper boundary of the :doc:multidict:index dependency to allow for the version 6 -- by :user:hugovk. * Added support for registering :rfc:OPTIONS <9110#OPTIONS> HTTP method handlers via :py:class:~aiohttp.web.RouteTableDef. * Started supporting :rfc:authority-form <9112#authority-form> and :rfc:absolute-form <9112#absolute-form> URLs on the server-side. * Fixed Python 3.11 incompatibilities by using Cython 0.29.25. * Extended the `sock argument typing declaration of the :py:func:~aiohttp.web.run_app function as optionally accepting iterables. * Fixed a regression where :py:exc:~asyncio.CancelledError occurs on client disconnection. * Started exporting :py:class:~aiohttp.web.PrefixedSubAppResource under :py:mod:aiohttp.web -- by :user:Dreamsorcerer. * Dropped the :class:object type possibility from the :py:attr:aiohttp.ClientSession.timeout` property return type declaration.Dirk Mueller2022-09-24 11:09:08 +00:00
f541008472- Restore python39-failures.patch, which is actually still needed.Matej Cepl2021-09-10 14:23:03 +00:00
09aa0c6422- Remove python39-failures.patch and replace it with actual fix of the issue in remove_deprecated_loop_argument.patch. - Add backport_fix_for_setting_cookies.patch for backport of fixes from 3.8 branch.Matej Cepl2021-09-09 20:07:49 +00:00
9d5093db4b- Add python39-failures.patch to fix test problems with Python 3.9.7+ (gh#aio-libs/aiohttp#5991).Matej Cepl2021-09-08 22:24:41 +00:00