Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package python-aiohttp for openSUSE:Factory checked in at 2021-12-25 20:16:25 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-aiohttp (Old) and /work/SRC/openSUSE:Factory/.python-aiohttp.new.2520 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-aiohttp" Sat Dec 25 20:16:25 2021 rev:26 rq:940345 version:3.8.1 Changes: -------- --- /work/SRC/openSUSE:Factory/python-aiohttp/python-aiohttp.changes 2021-11-21 23:52:02.150281226 +0100 +++ /work/SRC/openSUSE:Factory/.python-aiohttp.new.2520/python-aiohttp.changes 2021-12-25 20:16:29.045241716 +0100 @@ -1,0 +2,194 @@ +Sat Dec 11 19:18:47 UTC 2021 - Ben Greiner <c...@bnavigator.de> + +- 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 <scheme>_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 <steven.kowa...@suse.com> + +- Drop python39-failures.patch, no longer required. + +------------------------------------------------------------------- Old: ---- aiohttp-3.7.4.tar.gz backport_fix_for_setting_cookies.patch python39-failures.patch remove_deprecated_loop_argument.patch stdlib-typing_extensions.patch unbundle-http-parser.patch New: ---- aiohttp-3.8.1.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-aiohttp.spec ++++++ --- /var/tmp/diff_new_pack.NWFGGY/_old 2021-12-25 20:16:29.625242188 +0100 +++ /var/tmp/diff_new_pack.NWFGGY/_new 2021-12-25 20:16:29.629242191 +0100 @@ -18,69 +18,62 @@ %{?!python_module:%define python_module() python3-%{**}} %define skip_python2 1 +# requires some unavailable modules +%bcond_with docs Name: python-aiohttp -Version: 3.7.4 +Version: 3.8.1 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: unbundle-http-parser.patch -# PATCH-FIX-UPSTREAM stdlib-typing_extensions.patch gh#aio-libs/aiohttp#5374 mc...@suse.com -# Fix typing_extensions imports. -Patch1: stdlib-typing_extensions.patch -# PATCH-FIX-UPSTREAM python39-failures.patch gh#aio-libs/aiohttp#5991 mc...@suse.com -# Bridge over Python 3.9.6 v 3.9.7 incompatibilities -Patch2: python39-failures.patch -# PATCH-FIX-UPSTREAM remove_deprecated_loop_argument.patch gh#aio-libs/aiohttp#5991 mc...@suse.com -# remove deprecated loop argument -Patch3: remove_deprecated_loop_argument.patch -# PATCH-FIX-UPSTREAM backport_fix_for_setting_cookies.patch gh#aio-libs/aiohttp#5233 mc...@suse.com -# backport of fixes from 3.8 branch -Patch4: backport_fix_for_setting_cookies.patch BuildRequires: %{python_module Cython} -BuildRequires: %{python_module async_timeout >= 3.0} +BuildRequires: %{python_module aiosignal >= 1.1.2} +BuildRequires: %{python_module async_timeout >= 4.0} +BuildRequires: %{python_module asynctest = 0.13.0 if %python-base < 3.8} BuildRequires: %{python_module attrs >= 17.3.0} -BuildRequires: %{python_module chardet >= 2.0} -BuildRequires: %{python_module devel >= 3.5.3} -BuildRequires: %{python_module freezegun} -BuildRequires: %{python_module idna_ssl >= 1.0} +BuildRequires: %{python_module charset-normalizer >= 2.0} +BuildRequires: %{python_module devel >= 3.6} +BuildRequires: %{python_module frozenlist >= 1.1.1} +BuildRequires: %{python_module idna_ssl >= 1.0 if %python-base < 3.7} BuildRequires: %{python_module multidict >= 4.5} BuildRequires: %{python_module setuptools} -BuildRequires: %{python_module typing_extensions >= 3.6.5 if %python-base < 3.8} +BuildRequires: %{python_module typing_extensions >= 3.7.4 if %python-base < 3.8} BuildRequires: %{python_module yarl >= 1.0} BuildRequires: fdupes BuildRequires: http-parser-devel BuildRequires: python-rpm-macros Requires: python >= 3.6 -Requires: python-async_timeout >= 3.0 +Requires: python-aiosignal >= 1.1.2 +Requires: python-async_timeout >= 4.0 Requires: python-attrs >= 17.3.0 -Requires: python-chardet >= 2.0 -Requires: python-gunicorn +Requires: python-charset-normalizer >= 2.0 +Requires: python-frozenlist >= 1.1.1 Requires: python-multidict >= 4.5 Requires: python-yarl >= 1.0 -Requires: (python3-typing_extensions >= 3.6.5 if python3-base < 3.8) +Requires: (python-asynctest = 0.13.0 if python-base < 3.8) +Requires: (python-idna_ssl >= 1.0 if python-base < 3.7) +Requires: (python-typing_extensions >= 3.7.4 if python-base < 3.8) Recommends: python-aiodns Recommends: python-brotlipy Recommends: python-cChardet Suggests: %{name}-doc -%if 0%{?suse_version} < 1550 || "%{python_flavor}" == "python36" -Requires: python-idna_ssl >= 1.0 -%endif # SECTION test requirements BuildRequires: %{python_module aiodns} BuildRequires: %{python_module async_generator} BuildRequires: %{python_module brotlipy} +BuildRequires: %{python_module freezegun} BuildRequires: %{python_module gunicorn} BuildRequires: %{python_module pluggy} +BuildRequires: %{python_module proxy.py} BuildRequires: %{python_module pytest-mock} BuildRequires: %{python_module pytest-timeout} BuildRequires: %{python_module pytest} BuildRequires: %{python_module re-assert} BuildRequires: %{python_module trustme} - # /SECTION # SECTION docs +%if %{with docs} BuildRequires: %{python_module MarkupSafe} BuildRequires: python3-Pygments >= 2.1 BuildRequires: python3-Sphinx @@ -88,6 +81,8 @@ BuildRequires: python3-sphinxcontrib-asyncio BuildRequires: python3-sphinxcontrib-blockdiag BuildRequires: python3-sphinxcontrib-newsfeed +BuildRequires: python3-sphinxcontrib-towncrier +%endif # /SECTION %python_subpackages @@ -107,20 +102,18 @@ %prep %autosetup -p1 -n aiohttp-%{version} -# Prevent building with vendor version -rm vendor/http-parser/*.c - -# Allow use with chardet v4 -# https://github.com/aio-libs/aiohttp/pull/5333 -sed -i 's/chardet>=2.0,<4.0/chardet>=2.0/' setup.py +# don't check coverage +sed -i '/--cov/d' setup.cfg %build export CFLAGS="%{optflags}" %python_build +%if %{with docs} pushd docs %make_build html rm _build/html/.buildinfo popd +%endif %install %python_install @@ -130,16 +123,16 @@ } %check -# ignore setup.cfg -touch pytest.ini -%define skiptest_allflavors test_aiohttp_request_coroutine or test_mark_formdata_as_processed or test_aiohttp_plugin_async -# we need it to be defined for all flavors for expansion inside pytest_arch to work. %%{?...} would expand too early. -%{lua: for p in string.gmatch(rpm.expand("%pythons"), "%S+") do rpm.define("skiptest_" .. p .. "_only %{nil}") end} +donttest="test_aiohttp_request_coroutine or test_mark_formdata_as_processed or test_aiohttp_plugin_async" +python36_donttest=" or test_read_boundary_with_incomplete_chunk" +# no name resolution +donttest+=" or test_client_session_timeout_zero or test_requote_redirect_url_default" +# flaky +donttest+=" or test_https_proxy_unsupported_tls_in_tls" %if 0%{?python3_version_nodots} == 36 -%define skiptest_python3_only or test_read_boundary_with_incomplete_chunk +donttest+="$python36_donttest" %endif -%define skiptest_python36_only or test_read_boundary_with_incomplete_chunk -%pytest_arch --ignore ./aiohttp -rs -k 'not (%{skiptest_allflavors} %{skiptest_$python_only})' +%pytest_arch --ignore ./aiohttp -rsEf -k "not ($donttest ${$python_donttest})" %files %{python_files} %license LICENSE.txt @@ -147,7 +140,9 @@ %{python_sitearch}/aiohttp %{python_sitearch}/aiohttp-%{version}*-info +%if %{with docs} %files -n %{name}-doc %doc docs/_build/html +%endif %changelog ++++++ aiohttp-3.7.4.tar.gz -> aiohttp-3.8.1.tar.gz ++++++ /work/SRC/openSUSE:Factory/python-aiohttp/aiohttp-3.7.4.tar.gz /work/SRC/openSUSE:Factory/.python-aiohttp.new.2520/aiohttp-3.8.1.tar.gz differ: char 5, line 1