------------------------------------------------------------------- Mon Dec 16 09:49:29 UTC 2024 - Daniel Garcia - Add upstream patch CVE-2024-27306.patch, (bsc#1223098, CVE-2024-27306) * gh#aio-libs/aiohttp#8319 ------------------------------------------------------------------- Thu Dec 12 09:05:37 UTC 2024 - Daniel Garcia - Add upstream patch CVE-2024-30251.patch (bsc#1223726, CVE-2024-30251) Include three upstream commits: * gh#aio-libs/aiohttp@cebe526b9c34#diff-5954cadbd6b57b1921fc64d0e6a8f81717127873d9ccec33184d2f971fe6834f * gh#aio-libs/aiohttp@7eecdff163cc#diff-d582bf292efb8e19696d88c895b99e0937687cb909d9d00b5c2f1d948a5cbae5 * gh#aio-libs/aiohttp@f21c6f2ca512#diff-d582bf292efb8e19696d88c895b99e0937687cb909d9d00b5c2f1d948a5cbae5 ------------------------------------------------------------------- Tue Nov 19 09:54:47 UTC 2024 - Daniel Garcia - Add upstream patch CVE-2024-52304.patch, gh#aio-libs/aiohttp@259edc369075 (bsc#1233447, CVE-2024-52304) ------------------------------------------------------------------- Mon Sep 11 20:43:01 UTC 2023 - Dirk Müller - switch from unmaintained brotlipy to Brotli ------------------------------------------------------------------- Fri Aug 18 15:42:27 UTC 2023 - Martin Schreiner - Remove py3109-compat.patch, no longer required. The current spec builds successfully on Python 3.9, 3.10 and 3.11. - Update to 3.8.5: * Upgraded the vendored copy of llhttp to v8.1.1. More information here: https://github.com/aio-libs/aiohttp/security/advisories/GHSA-45c4-8wx5-qw6w * Added information to C parser exceptions to show which character caused the error. * Fixed a transport is None error. ------------------------------------------------------------------- Wed Apr 26 07:35:37 UTC 2023 - Daniel Garcia - 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) ------------------------------------------------------------------- Sun Apr 23 22:42:27 UTC 2023 - Matej Cepl - Move documentation into the main package for SLE15 ------------------------------------------------------------------- Fri Apr 21 12:21:39 UTC 2023 - Dirk Müller - add sle15_python_module_pythons (jsc#PED-68) ------------------------------------------------------------------- Thu Apr 13 22:39:50 UTC 2023 - Matej Cepl - Make calling of %{sle15modernpython} optional. ------------------------------------------------------------------- Thu Mar 16 07:32:13 UTC 2023 - Daniel Garcia - Disable DeprecationWarning to avoid error with the latest setuptools and pkg_resources deprecation ------------------------------------------------------------------- Mon Dec 26 21:35:01 UTC 2022 - Ben Greiner - Don't assume python3 to be present for d:l:p:backports/15.4_py39 - Requires pytest 6.2.0 when pytest.TempPathFactory was introduced. ------------------------------------------------------------------- Mon Dec 12 16:16:31 UTC 2022 - Daniel Garcia - Update py3109-compat.patch to work with python <= 3.10.8 too. ------------------------------------------------------------------- Mon Dec 12 11:26:26 UTC 2022 - Daniel Garcia - 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. ------------------------------------------------------------------- Mon Nov 7 17:49:50 UTC 2022 - Ben Greiner - Drop ignore-pytest-deprecationwarning.patch - Add aiohttp-pr7057-bump-charset-normalizer.patch * gh#aio-libs/aiohttp#7057 * Sync requirement with rpm specs ------------------------------------------------------------------- Tue Oct 4 20:31:56 UTC 2022 - Dirk Müller - skip more tests ------------------------------------------------------------------- Sat Sep 24 11:07:58 UTC 2022 - Dirk Müller - 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. ------------------------------------------------------------------- Wed May 4 11:35:43 UTC 2022 - John Paul Adrian Glaubitz - Update in SLE-15 (bsc#1197831) ------------------------------------------------------------------- Sun Mar 27 19:01:09 UTC 2022 - Ben Greiner - Add ignore-pytest-deprecationwarning.patch * gh#aio-libs/aiohttp#6663 ------------------------------------------------------------------- Sat Dec 11 19:18:47 UTC 2021 - Ben Greiner - Update to version 3.8.1 * Bugfixes * Fix the error in handling the return value of getaddrinfo. getaddrinfo will return an (int, bytes) tuple, if CPython could not handle the address family. It will cause a index out of range error in aiohttp. For example, if user compile CPython with --disable-ipv6 option but his system enable the ipv6. #5901 * Do not install "examples" as a top-level package. #6189 * Restored ability to connect IPv6-only host. #6195 * Remove Signal from __all__, replace aiohttp.Signal with aiosignal.Signal in docs #6201 * Made chunked encoding HTTP header check stricter. #6305 * Improved Documentation * update quick starter demo codes. #6240 * Added an explanation of how tiny timeouts affect performance to the client reference document. #6274 * Add flake8-docstrings to flake8 configuration, enable subset of checks. #6276 * Added information on running complex applications with additional tasks/processes -- :user:`Dreamsorcerer`. #6278 - Release 3.8.0 (2021-10-31) * Features * Added a GunicornWebWorker feature for extending the aiohttp server configuration by allowing the 'wsgi' coroutine to return web.AppRunner object. #2988 * Switch from http-parser to llhttp #3561 * Use Brotli instead of brotlipy #3803 * Disable implicit switch-back to pure python mode. The build fails loudly if aiohttp cannot be compiled with C Accelerators. Use AIOHTTP_NO_EXTENSIONS=1 to explicitly disable C Extensions complication and switch to Pure-Python mode. Note that Pure-Python mode is significantly slower than compiled one. #3828 * Make access log use local time with timezone #3853 * Implemented readuntil in StreamResponse #4054 * FileResponse now supports ETag. #4594 * Add a request handler type alias aiohttp.typedefs.Handler. #4686 * AioHTTPTestCase is more async friendly now. * For people who use unittest and are used to use :py:exc:`~unittest.TestCase` it will be easier to write new test cases like the sync version of the :py:exc:`~unittest.TestCase` class, without using the decorator @unittest_run_loop, just async def test_*. The only difference is that for the people using python3.7 and below a new dependency is needed, it is asynctestcase. #4700 * Add validation of HTTP header keys and values to prevent header injection. #4818 * Add predicate to AbstractCookieJar.clear. Add AbstractCookieJar.clear_domain to clean all domain and subdomains cookies only. #4942 * Add keepalive_timeout parameter to web.run_app. #5094 * Tracing for client sent headers #5105 * Make type hints for http parser stricter #5267 * Add final declarations for constants. #5275 * Switch to external frozenlist and aiosignal libraries. #5293 * Don't send secure cookies by insecure transports. * By default, the transport is secure if https or wss scheme is used. Use CookieJar(treat_as_secure_origin="http://127.0.0.1") to override the default security checker. #5571 * Always create a new event loop in aiohttp.web.run_app(). This adds better compatibility with asyncio.run() or if trying to run multiple apps in sequence. #5572 * Add aiohttp.pytest_plugin.AiohttpClient for static typing of pytest plugin. #5585 * Added a socket_factory argument to BaseTestServer. #5844 * Add compression strategy parameter to enable_compression method. #5909 * Added support for Python 3.10 to Github Actions CI/CD workflows and fix the related deprecation warnings -- :user:`Hanaasagi`. #5927 * Switched chardet to charset-normalizer for guessing the HTTP payload body encoding -- :user:`Ousret`. #5930 * Added optional auto_decompress argument for HttpRequestParser #5957 * Added support for HTTPS proxies to the extent CPython's :py:mod:`asyncio` supports it -- by :user:`bmbouter`, :user:`jborean93` and :user:`webknjaz`. #5992 * Added base_url parameter to the initializer of :class:`~aiohttp.ClientSession`. #6013 * Add Trove classifier and create binary wheels for 3.10. -- :user:`hugovk`. #6079 * Started shipping platform-specific wheels with the musl tag targeting typical Alpine Linux runtimes — :user:`asvetlov`. #6139 * Started shipping platform-specific arm64 wheels for Apple Silicon — :user:`asvetlov`. #6139 * Bugfixes * Modify _drain_helper() to handle concurrent await resp.write(...) or ws.send_json(...) calls without race-condition. #2934 * Started using MultiLoopChildWatcher when it's available under POSIX while setting up the test I/O loop. #3450 * Only encode content-disposition filename parameter using percent-encoding. Other parameters are encoded to quoted-string or RFC2231 extended parameter value. #4012 * Fixed HTTP client requests to honor no_proxy environment variables. #4431 * Fix supporting WebSockets proxies configured via environment variables. #4648 * Change return type on URLDispatcher to UrlMappingMatchInfo to improve type annotations. #4748 * Ensure a cleanup context is cleaned up even when an exception occurs during startup. #4799 * Added a new exception type for Unix socket client errors which provides a more useful error message. #4984 * Remove Transfer-Encoding and Content-Type headers for 204 in StreamResponse #5106 * Only depend on typing_extensions for Python <3.8 #5107 * Add ABNORMAL_CLOSURE and BAD_GATEWAY to WSCloseCode #5192 * Fix cookies disappearing from HTTPExceptions. #5233 * StaticResource prefixes no longer match URLs with a non-folder prefix. For example routes.static('/foo', '/foo') no longer matches the URL /foobar. Previously, this would attempt to load the file /foo/ar. #5250 * Acquire the connection before running traces to prevent race condition. #5259 * Add missing slots to `_RequestContextManager and _WSRequestContextManager #5329 * Ensure sending a zero byte file does not throw an exception (round 2) #5380 * Set "text/plain" when data is an empty string in client requests. #5392 * Stop automatically releasing the ClientResponse object on calls to the ok property for the failed requests. #5403 * Include query parameters from params keyword argument in tracing URL. #5432 * Fix annotations #5466 * Fixed the multipart POST requests processing to always release file descriptors for the tempfile.Temporaryfile-created _io.BufferedRandom instances of files sent within multipart request bodies via HTTP POST requests -- by :user:`webknjaz`. #5494 * Fix 0 being incorrectly treated as an immediate timeout. #5527 * Fixes failing tests when an environment variable _proxy is set. #5554 * Replace deprecated app handler design in tests/autobahn/server.py with call to web.run_app; replace deprecated aiohttp.ws_connect calls in tests/autobahn/client.py with aiohttp.ClienSession.ws_connect. #5606 * Fixed test for HTTPUnauthorized that access the text argument. This is not used in any part of the code, so it's removed now. #5657 * Remove incorrect default from docs #5727 * Remove external test dependency to http://httpbin.org #5840 * Don't cancel current task when entering a cancelled timer. #5853 * Added params keyword argument to ClientSession.ws_connect. -- :user:`hoh`. #5868 * Uses :py:class:`~asyncio.ThreadedChildWatcher` under POSIX to allow setting up test loop in non-main thread. #5877 * Fix the error in handling the return value of getaddrinfo. getaddrinfo will return an (int, bytes) tuple, if CPython could not handle the address family. It will cause a index out of range error in aiohttp. For example, if user compile CPython with --disable-ipv6 option but his system enable the ipv6. #5901 * Removed the deprecated loop argument from the asyncio.sleep/gather calls #5905 * Return None from request.if_modified_since, request.if_unmodified_since, request.if_range and response.last_modified when corresponding http date headers are invalid. #5925 * Fix resetting SIGCHLD signals in Gunicorn aiohttp Worker to fix subprocesses that capture output having an incorrect returncode. #6130 * Raise 400: Content-Length can't be present with Transfer-Encoding if both Content-Length and Transfer-Encoding are sent by peer by both C and Python implementations #6182 * Improved Documentation * Refactored OpenAPI/Swagger aiohttp addons, added aio-openapi #5326 * Fixed docs on request cookies type, so it matches what is actually used in the code (a read-only dictionary-like object). #5725 * Documented that the HTTP client Authorization header is removed on redirects to a different host or protocol. #5850 - Drop patches * backport_fix_for_setting_cookies.patch * remove_deprecated_loop_argument.patch * stdlib-typing_extensions.patch * unbundle-http-parser.patch -- replaced by llhttp, nothing else than the bundled llhttp available. - Disable building the docs (no sphinxcontrib-towncrier) ------------------------------------------------------------------- Wed Nov 24 00:38:26 UTC 2021 - Steve Kowalik - Drop python39-failures.patch, no longer required. ------------------------------------------------------------------- Wed Nov 17 09:52:49 UTC 2021 - Steve Kowalik - Update python39-failures.patch to only fire with Python 3.9.7. ------------------------------------------------------------------- Fri Sep 10 14:22:31 UTC 2021 - Matej Cepl - Restore python39-failures.patch, which is actually still needed. ------------------------------------------------------------------- Thu Sep 9 20:05:44 UTC 2021 - Matej Cepl - 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. ------------------------------------------------------------------- Wed Sep 8 21:10:23 UTC 2021 - Matej Cepl - Add python39-failures.patch to fix test problems with Python 3.9.7+ (gh#aio-libs/aiohttp#5991). ------------------------------------------------------------------- Tue Jun 8 19:15:11 UTC 2021 - Matej Cepl - Remove pytest-asyncio dependency which is actually harmful (gh#aio-libs/aiohttp#5787). ------------------------------------------------------------------- Thu May 13 21:58:35 UTC 2021 - Matej Cepl - Add stdlib-typing_extensions.patch to avoid necessity for BR python-typing_extensions (gh#aio-libs/aiohttp#5374). ------------------------------------------------------------------- Sun Feb 28 13:09:40 UTC 2021 - Michael Ströder - Update to 3.7.4 (bsc#1184745, CVE-2021-21330): * obsoletes CVE-2021-21330.patch in older dists * Fixes https://github.com/aio-libs/aiohttp/security/advisories/GHSA-v6wp-4m6f-gcjg ------------------------------------------------------------------- Mon Feb 8 10:55:58 UTC 2021 - John Paul Adrian Glaubitz - Include in SLE-15 (bsc#1176785, jsc#ECO-3105, jsc#PM-2352) ------------------------------------------------------------------- Sun Dec 20 08:22:59 UTC 2020 - John Vandenberg - Allow use with chardet v4 ------------------------------------------------------------------- Fri Dec 4 11:50:52 UTC 2020 - Benjamin Greiner - Update to v3.7.3 Features * Made exceptions pickleable. Also changed the repr of some exceptions. #4077 Bugfixes * Raise a ClientResponseError instead of an AssertionError for a blank HTTP Reason Phrase. #3532 * Fix web_middlewares.normalize_path_middleware behavior for patch without slash. #3669 * Fix overshadowing of overlapped sub-applications prefixes. #3701 * Make BaseConnector.close() a coroutine and wait until the client closes all connections. Drop deprecated "with Connector():" syntax. #3736 * Reset the sock_read timeout each time data is received for a aiohttp.client response. #3808 * Fixed type annotation for add_view method of UrlDispatcher to accept any subclass of View #3880 * Fixed querying the address families from DNS that the current host supports. #5156 * Change return type of MultipartReader.__aiter__() and BodyPartReader.__aiter__() to AsyncIterator. #5163 * Provide x86 Windows wheels. #5230 * Improved Documentation * Add documentation for aiohttp.web.FileResponse. #3958 * Removed deprecation warning in tracing example docs #3964 * Fixed wrong "Usage" docstring of aiohttp.client.request. #4603 * Add aiohttp-pydantic to third party libraries #5228 Misc * #4102 - Also clean header files in sitearch - Remove hidden .hash directory (remnant from build process) - Fix python 3.6 build * For Leap * For TW with python36 flavor gh#openSUSE/python-rpm-macros#66 * Always BuildRequire idna_ssl * Skip a failing test on python 3.6 * Next upstream release will drop python 3.6 ------------------------------------------------------------------- Wed Oct 28 15:33:18 UTC 2020 - John Vandenberg - Re-activate tests - Update to v3.7.2 * Fixed static files handling for loops without .sendfile() support - from v3.7.1 * Fixed a type error caused by the conditional import of Protocol * Server doesn't send Content-Length for 1xx or 204 * Fix run_app typing * Always require typing_extensions library * Fix a variable-shadowing bug causing ThreadedResolver.resolve to return the resolved IP as the ``hostname`` in each record, which prevented validation of HTTPS connections * Added annotations to all public attributes * Fix flaky test_when_timeout_smaller_second * Ensure sending a zero byte file does not throw an exception - from v3.7.0 * Response headers are now prepared prior to running ``on_response_prepare`` hooks, directly before headers are sent to the client * Add a ``quote_cookie`` option to ``CookieJar``, a way to skip quotation wrapping of cookies containing special characters * Call AccessLogger.log with the current exception available from sys.exc_info() * web.UrlDispatcher.add_routes and web.Application.add_routes return a list of registered AbstractRoute instances. `AbstractRouteDef.register` (and all subclasses) return a list of registered resources registered resource * Added properties of default ClientSession params to ClientSession class so it is available for introspection * Don't cancel web handler on peer disconnection, raise `OSError` on reading/writing instead. * Implement BaseRequest.get_extra_info() to access a protocol transports' extra info. * Added `ClientSession.timeout` property * Allow use of SameSite in cookies * Use loop.sendfile() instead of custom implementation if available * Apply SO_REUSEADDR to test server's socket * Use .raw_host instead of slower .host in client API * Allow configuring the buffer size of input stream by passing ``read_bufsize`` argument * Add method and url attributes to TraceRequestChunkSentParams and TraceResponseChunkReceivedParams. * Add ClientResponse.ok property for checking status code under 400 * Don't ceil timeouts that are smaller than 5 seconds. * TCPSite now listens by default on all interfaces instead of just IPv4 when `None` is passed in as the host * Bump ``http_parser`` to 2.9.4 * Fix keepalive connections not being closed in time * Fix failed websocket handshake leaving connection hanging. * Fix tasks cancellation order on exit. The run_app task needs to be cancelled first for cleanup hooks to run with all tasks intact. * Don't start heartbeat until _writer is set * Fix handling of multipart file uploads without a content type * Preserve view handler function attributes across middlewares * Fix the string representation of ServerDisconnectedError * Raising RuntimeError when trying to get encoding from not read body * Remove warning messages from noop. * Raise ClientPayloadError if FormData re-processed. * Fix a warning about unfinished task in web_protocol.py * Fixed 'deflate' compression. According to RFC 2616 now. * Fixed OverflowError on platforms with 32-bit time_t * Fixed request.body_exists returns wrong value for methods without body * Fix connecting to link-local IPv6 addresses. * Fix a problem with connection waiters that are never awaited * Always make sure transport is not closing before reuse a connection. Reuse a protocol based on keepalive in headers is unreliable. For example, uWSGI will not support keepalive even it serves a HTTP 1.1 request, except explicitly configure uWSGI with a ``--http-keepalive`` option. Servers designed like uWSGI could cause aiohttp intermittently raise a ConnectionResetException when the protocol poll runs out and some protocol is reused. * Handle the last CRLF correctly even if it is received via separate TCP segment. * Fix the register_resource function to validate route name before splitting it so that route name can include python keywords * Fix resolver task is not awaited when connector is cancelled * Fix Aiohttp doesn't return any error on invalid request methods * Fix HEAD requests for static content. * Fix incorrect size calculation for memoryview * Add HTTPMove to _all__. * Fixed the type annotations in the ``tracing`` module. * Fix typing for multipart ``__aiter__``. * Fix for race condition on connections in BaseConnector that leads to exceeding the connection limit. * Add forced UTF-8 encoding for ``application/rdap+json`` responses. * Fix inconsistency between Python and C http request parsers in parsing pct-encoded URL * Fix connection closing issue in HEAD request. * Fix type hint on BaseRunner.addresses (from ``List[str]`` to ``List[Any]``) - from v3.6.3 * Pin yarl to `<1.6.0` to avoid buggy behavior ------------------------------------------------------------------- Tue Mar 10 08:33:15 UTC 2020 - Tomáš Chvátal - Update to 3.6.2: * more compatibility fixes with python 3.8 - Disable tests as they explode in upstream git too and all other distributions also gave up on it ------------------------------------------------------------------- Tue Mar 10 08:15:55 UTC 2020 - Tomáš Chvátal - Do remove pytest configuration to not error out on deprecation warnings - Unbundle http parser headers: * unbundle-http-parser.patch ------------------------------------------------------------------- Tue Sep 24 10:20:20 UTC 2019 - Tomáš Chvátal - Update to 3.6.1: * Compatibility with Python 3.8. #4056 * correct some exception string format #4068 * Emit a warning when ssl.OP_NO_COMPRESSION is unavailable because the runtime is built against an outdated OpenSSL. #4052 * Update multidict requirement to >= 4.5 #4057 - Drop merged patch aiohttp-3.6.0-fix-typeerror.patch ------------------------------------------------------------------- Wed Sep 18 07:34:10 UTC 2019 - Matthias Fehring - Add patch to fix type error with old multidict: * aiohttp-3.6.0-fix-typeerror.patch - Require python-multidict 4.5 or newer ------------------------------------------------------------------- Fri Sep 13 12:05:43 UTC 2019 - Tomáš Chvátal - Update to 3.6.0: * Add support for Named Pipes * Removed Transfer-Encoding: chunked header * Accept non-GET request for starting websocket handshake on server side - Drop merged patch pytest5.patch ------------------------------------------------------------------- Thu Aug 22 09:27:05 UTC 2019 - Tomáš Chvátal - Add patch to work well with pytest 5: * pytest5.patch ------------------------------------------------------------------- Tue Jun 4 14:47:20 UTC 2019 - Ondřej Súkup - Fix Requires and BuildRequires ------------------------------------------------------------------- Wed Feb 27 14:25:09 UTC 2019 - Ondřej Súkup - update to 3.5.4 - drop invalid-escapes-in-tests.patch and rename-request-fixture.patch * big list of changes from 3.4.4 - https://github.com/aio-libs/aiohttp/blob/master/CHANGES.rst ------------------------------------------------------------------- Tue Jan 15 13:15:30 UTC 2019 - Alberto Planas Dominguez - Remove version dependency from Cython (boo#1121578). ------------------------------------------------------------------- Tue Nov 20 13:29:01 UTC 2018 - John Paul Adrian Glaubitz - Add patch to address name collision issue with pytest fixtures + rename-request-fixture.patch ------------------------------------------------------------------- Sat Oct 6 11:10:41 CEST 2018 - mcepl@suse.com - Upgrade to 3.4.4: - Multiple small bugfixes - Remove remove-failing-tests-due-to-pytest-timeout-issues.patch - Add invalid-escapes-in-tests.patch to fix invalid escapes in non-raw regexp strings. ------------------------------------------------------------------- Fri Aug 31 11:50:26 UTC 2018 - Tomáš Chvátal - Match up requirements to the setup.py ------------------------------------------------------------------- Fri Aug 31 09:22:37 UTC 2018 - Adrian Schröter - update to version 3.4.0: * please check the longer list in CHANGES.rst ------------------------------------------------------------------- Mon Jun 25 07:50:19 UTC 2018 - adrian@suse.de - update to version 3.3.2: * Raise ``ConnectionResetError`` instead of ``CancelledError`` on trying to write to a closed stream. (`#2499 `_) * Implement ``ClientTimeout`` class and support socket read timeout. (`#2768 `_) * Enable logging when ``aiohttp.web`` is used as a program (`#2956 `_) * Add canonical property to resources (`#2968 `_) * Forbid reading response BODY after release (`#2983 `_) * Implement base protocol class to avoid a dependency from internal ``asyncio.streams.FlowControlMixin`` (`#2986 `_) * Cythonize ``@helpers.reify``, 5% boost on macro benchmark (`#2995 `_) * Optimize HTTP parser (`#3015 `_) * Implement ``runner.addresses`` property. (`#3036 `_) * Use ``bytearray`` instead of a list of ``bytes`` in websocket reader. It improves websocket message reading a little. (`#3039 `_) * Remove heartbeat on closing connection on keepalive timeout. The used hack violates HTTP protocol. (`#3041 `_) * Limit websocket message size on reading to 4 MB by default. (`#3045 `_) ------------------------------------------------------------------- Sat Apr 14 17:22:15 UTC 2018 - arun@gmx.de - update to version 3.1.3: * Fix cancellation broadcast during DNS resolve (#2910) ------------------------------------------------------------------- Thu Apr 12 20:47:59 UTC 2018 - arun@gmx.de - update to version 3.1.2: * Make LineTooLong exception more detailed about actual data size (#2863) * Call on_chunk_sent when write_eof takes as a param the last chunk (#2909) - changes from version 3.1.1: * Support asynchronous iterators (and asynchronous generators as well) in both client and server API as request / response BODY payloads. (#2802) ------------------------------------------------------------------- Fri Mar 23 15:16:21 UTC 2018 - tbechtold@suse.com - update to 3.1.0: - Relax JSON content-type checking in the ``ClientResponse.json()`` to allow "application/xxx+json" instead of strict "application/json". (#2206) - Bump C HTTP parser to version 2.8 (#2730) - Accept a coroutine as an application factory in ``web.run_app`` and gunicorn worker. (#2739) - Implement application cleanup context (``app.cleanup_ctx`` property). (#2747) - Make ``writer.write_headers`` a coroutine. (#2762) - Add tracking signals for getting request/response bodies. (#2767) - Deprecate ClientResponseError.code in favor of .status to keep similarity with response classes. (#2781) - Implement ``app.add_routes()`` method. (#2787) - Implement ``web.static()`` and ``RouteTableDef.static()`` API. (#2795) - Install a test event loop as default by ``asyncio.set_event_loop()``. The change affects aiohttp test utils but backward compatibility is not broken for 99.99% of use cases. (#2804) - Refactor ``ClientResponse`` constructor: make logically required constructor arguments mandatory, drop ``_post_init()`` method. (#2820) - Use ``app.add_routes()`` in server docs everywhere (#2830) - Websockets refactoring, all websocket writer methods are converted into coroutines. (#2836) - Provide ``Content-Range`` header for ``Range`` requests (#2844) - Fix websocket client return EofStream. (#2784) - Fix websocket demo. (#2789) - Property ``BaseRequest.http_range`` now returns a python-like slice when requesting the tail of the range. It's now indicated by a negative value in ``range.start`` rather then in ``range.stop`` (#2805) - Close a connection if an unexpected exception occurs while sending a request - Fix firing DNS tracing events. (#2841) - Change ``ClientResponse.json()`` documentation to reflect that it now allows "application/xxx+json" content-types (#2206) - Document behavior when cchardet detects encodings that are unknown to Python. - Add diagrams for tracing request life style. (#2748) - Drop removed functionality for passing ``StreamReader`` as data at client side. (#2793) ------------------------------------------------------------------- Sat Feb 17 14:41:39 UTC 2018 - alarrosa@suse.com - update to version 3.0.1 * async/await everywhere. The minimal supported Python version is 3.5.3 now. * Application Runners. * Client Tracing. Now it is possible by registering special signal handlers on every request processing stage. * HTTPS support * Dropped obsolete API. The release dropped a lot of already deprecated features. * The full changelog can be read at https://aiohttp.readthedocs.io/en/stable/changes.html - Add python3-idna_ssl, python3-Pygments and python3-aiohttp-theme to BuildRequires. - Add Requires: python3-idna_ssl - Fix tests by removing a file and adding a patch to remove another failing test due to a DeprecationWarning being issued by pytest because of a problem in python-pytest-timeout. * remove-failing-tests-due-to-pytest-timeout-issues.patch ------------------------------------------------------------------- Sun Dec 31 09:00:05 UTC 2017 - adrian@suse.de - update to version 2.3.7 ------------------------------------------------------------------- Sun Dec 10 08:39:51 UTC 2017 - adrian@suse.de - add MarkupSafe as build depdency to fix documentaion generation ------------------------------------------------------------------- Wed Dec 6 03:01:31 UTC 2017 - arun@gmx.de - update to version 2.3.6: * Correct request.app context (for handlers not just middlewares). (#2577) ------------------------------------------------------------------- Sun Dec 3 19:10:33 UTC 2017 - arun@gmx.de - specfile: * require pluggy - update to version 2.3.5: * Fix compatibility with pytest 3.3+ (#2565) - changes from version 2.3.4: * Make request.app point to proper application instance when using nested applications (with middlewares). (#2550) * Change base class of ClientConnectorSSLError to ClientSSLError from ClientConnectorError. (#2563) * Return client connection back to free pool on error in connector.connect(). (#2567) ------------------------------------------------------------------- Sun Nov 19 05:10:08 UTC 2017 - arun@gmx.de - update to version 2.3.3: * Having a ; in Response content type does not assume it contains a charset anymore. (#2197) * Use getattr(asyncio, ‘async’) for keeping compatibility with Python 3.7. (#2476) * Ignore NotImplementedError raised by set_child_watcher from uvloop. (#2491) * Fix warning in ClientSession.__del__ by stopping to try to close it. (#2523) * Fixed typo’s in Third-party libraries page. And added async-v20 to the list (#2510) ------------------------------------------------------------------- Thu Nov 9 06:33:40 UTC 2017 - arun@gmx.de - specfile: * updated requirements according to requirement/ci-wheel.txt in tar-ball * removed 'changes' from %doc - update to version 2.3.2: * Fix passing client max size on cloning request obj. (#2385) * Fix ClientConnectorSSLError and ClientProxyConnectionError for proxy connector. (#2408) * Drop generated _http_parser shared object from tarball distribution. (#2414) * Fix connector convert OSError to ClientConnectorError. (#2423) * Fix connection attempts for multiple dns hosts. (#2424) * Fix ValueError for AF_INET6 sockets if a preexisting INET6 socket to the aiohttp.web.run_app function. (#2431) * _SessionRequestContextManager closes the session properly now. (#2441) * Rename from_env to trust_env in client reference. (#2451) - changes from version 2.3.1: * Relax attribute lookup in warning about old-styled middleware (#2340) - changes from version 2.3.0: * Features + Add SSL related params to ClientSession.request (#1128) + Make enable_compression work on HTTP/1.0 (#1828) + Deprecate registering synchronous web handlers (#1993) + Switch to multidict 3.0. All HTTP headers preserve casing now but compared in case-insensitive way. (#1994) + Improvement for normalize_path_middleware. Added possibility to handle URLs with query string. (#1995) + Use towncrier for CHANGES.txt build (#1997) + Implement trust_env=True param in ClientSession. (#1998) + Added variable to customize proxy headers (#2001) + Implement router.add_routes and router decorators. (#2004) + Deprecated BaseRequest.has_body in favor of BaseRequest.can_read_body Added BaseRequest.body_exists attribute that stays static for the lifetime of the request (#2005) + Provide BaseRequest.loop attribute (#2024) + Make _CoroGuard awaitable and fix ClientSession.close warning message (#2026) + Responses to redirects without Location header are returned instead of raising a RuntimeError (#2030) + Added get_client, get_server, setUpAsync and tearDownAsync methods to AioHTTPTestCase (#2032) + Add automatically a SafeChildWatcher to the test loop (#2058) + add ability to disable automatic response decompression (#2110) + Add support for throttling DNS request, avoiding the requests saturation when there is a miss in the DNS cache and many requests getting into the connector at the same time. (#2111) + Use request for getting access log information instead of message/transport pair. Add RequestBase.remote property for accessing to IP of client initiated HTTP request. (#2123) + json() raises a ContentTypeError exception if the content-type does not meet the requirements instead of raising a generic ClientResponseError. (#2136) + Make the HTTP client able to return HTTP chunks when chunked transfer encoding is used. (#2150) + add append_version arg into StaticResource.url and StaticResource.url_for methods for getting an url with hash (version) of the file. (#2157) + Fix parsing the Forwarded header. * commas and semicolons are allowed inside quoted-strings; * empty forwarded-pairs (as in for=_1;;by=_2) are allowed; * non-standard parameters are allowed (although this alone could be easily done in the previous parser). (#2173) + Don’t require ssl module to run. aiohttp does not require SSL to function. The code paths involved with SSL will only be hit upon SSL usage. Raise RuntimeError if HTTPS protocol is required but ssl module is not present. (#2221) + Accept coroutine fixtures in pytest plugin (#2223) + Call shutdown_asyncgens before event loop closing on Python 3.6. (#2227) + Speed up Signals when there are no receivers (#2229) + Raise InvalidURL instead of ValueError on fetches with invalid URL. (#2241) + Move DummyCookieJar into cookiejar.py (#2242) + run_app: Make print=None disable printing (#2260) + Support brotli encoding (generic-purpose lossless compression algorithm) (#2270) + Add server support for WebSockets Per-Message Deflate. Add client option to add deflate compress header in WebSockets request header. If calling ClientSession.ws_connect() with compress=15 the client will support deflate compress negotiation. (#2273) + Support verify_ssl, fingerprint, ssl_context and proxy_headers by client.ws_connect. (#2292) + Added aiohttp.ClientConnectorSSLError when connection fails due ssl.SSLError (#2294) + aiohttp.web.Application.make_handler support access_log_class (#2315) + Build HTTP parser extension in non-strict mode by default. (#2332) * Bugfixes + Clear auth information on redirecting to other domain (#1699) + Fix missing app.loop on startup hooks during tests (#2060) + Fix issue with synchronous session closing when using ClientSession as an asynchronous context manager. (#2063) + Fix issue with CookieJar incorrectly expiring cookies in some edge cases. (#2084) + Force use of IPv4 during test, this will make tests run in a Docker container (#2104) + Warnings about unawaited coroutines now correctly point to the user’s code. (#2106) + Fix issue with IndexError being raised by the StreamReader.iter_chunks() generator. (#2112) + Support HTTP 308 Permanent redirect in client class. (#2114) + Fix FileResponse sending empty chunked body on 304. (#2143) + Do not add Content-Length: 0 to GET/HEAD/TRACE/OPTIONS requests by default. (#2167) + Fix parsing the Forwarded header according to RFC 7239. (#2170) + Securely determining remote/scheme/host #2171 (#2171) + Fix header name parsing, if name is split into multiple lines (#2183) + Handle session close during connection, KeyError: (#2193) + Fixes uncaught TypeError in helpers.guess_filename if name is not a string (#2201) + Raise OSError on async DNS lookup if resolved domain is an alias for another one, which does not have an A or CNAME record. (#2231) + Fix incorrect warning in StreamReader. (#2251) + Properly clone state of web request (#2284) + Fix C HTTP parser for cases when status line is split into different TCP packets. (#2311) + Fix web.FileResponse overriding user supplied Content-Type (#2317) * Improved Documentation + Add a note about possible performance degradation in await resp.text() if charset was not provided by Content-Type HTTP header. Pass explicit encoding to solve it. (#1811) + Drop disqus widget from documentation pages. (#2018) + Add a graceful shutdown section to the client usage documentation. (#2039) + Document connector_owner parameter. (#2072) + Update the doc of web.Application (#2081) + Fix mistake about access log disabling. (#2085) + Add example usage of on_startup and on_shutdown signals by creating and disposing an aiopg connection engine. (#2131) + Document encoded=True for yarl.URL, it disables all yarl transformations. (#2198) + Document that all app’s middleware factories are run for every request. (#2225) + Reflect the fact that default resolver is threaded one starting from aiohttp 1.1 (#2228) * Deprecations and Removals + Drop deprecated Server.finish_connections (#2006) + Drop %O format from logging, use %b instead. Drop %e format from logging, environment variables are not supported anymore. (#2123) + Drop deprecated secure_proxy_ssl_header support (#2171) + Removed TimeService in favor of simple caching. TimeService also had a bug where it lost about 0.5 seconds per second. (#2176) + Drop unused response_factory from static files API (#2290) * Misc + #2013, #2014, #2048, #2094, #2149, #2187, #2214, #2225, #2243, #2248 ------------------------------------------------------------------- Wed Sep 20 15:49:32 UTC 2017 - aloisio@gmx.com - Fixed build on non Factory targets ------------------------------------------------------------------- Mon Sep 11 15:24:42 UTC 2017 - jengelh@inai.de - Repair package description grammar. ------------------------------------------------------------------- Thu Aug 24 07:57:17 UTC 2017 - sebix+novell.com@sebix.at - first singlespec package - fixes boo#1054580 boo#1054581