diff --git a/python-trio.changes b/python-trio.changes index 3c2a7d8..14ea392 100644 --- a/python-trio.changes +++ b/python-trio.changes @@ -1,3 +1,41 @@ +------------------------------------------------------------------- +Tue Mar 29 09:40:18 UTC 2022 - Ben Greiner + +- Update to version 0.20.0 + * You can now conveniently spawn a child process in a background + task and interact it with on the fly using process = await + nursery.start(run_process, ...). See run_process for more + details. We recommend most users switch to this new API. Also + note that: + - trio.open_process has been deprecated in favor of + trio.lowlevel.open_process, + - The aclose method on Process has been deprecated along with + async with process_obj. (#1104) + * Now context variables set with contextvars are preserved when + running functions in a worker thread with + trio.to_thread.run_sync, or when running functions from the + worker thread in the parent Trio thread with + trio.from_thread.run, and trio.from_thread.run_sync. This is + done by automatically copying the contextvars context. + trio.lowlevel.spawn_system_task now also receives an optional + context argument. (#2160) + * Trio now avoids creating cyclic garbage when a MultiError is + generated and filtered, including invisibly within the + cancellation system. This means errors raised through nurseries + and cancel scopes should result in less GC latency. (#2063) + * Trio now deterministically cleans up file descriptors that were + opened before subprocess creation fails. Previously, they would + remain open until the next run of the garbage collector. + (#2193) + * Add compatibility with OpenSSL 3.0 on newer Python and PyPy + versions by working around SSLEOFError not being raised + properly. (#2203) + * Fix a bug that could cause Process.wait to hang on Linux + systems using pidfds, if another task were to access + Process.returncode after the process exited but before wait + woke up (#2209) +- Drop trio-pr2043-py310ssl-deprecationwarnings.patch + ------------------------------------------------------------------- Sun Dec 12 18:53:24 UTC 2021 - Ben Greiner diff --git a/python-trio.spec b/python-trio.spec index 9ec0574..b73a7cf 100644 --- a/python-trio.spec +++ b/python-trio.spec @@ -1,7 +1,7 @@ # # spec file for package python-trio # -# Copyright (c) 2021 SUSE LLC +# Copyright (c) 2022 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -19,18 +19,16 @@ %{?!python_module:%define python_module() python3-%{**}} %define skip_python2 1 Name: python-trio -Version: 0.19.0 +Version: 0.20.0 Release: 0 Summary: Python async/await-native I/O library License: Apache-2.0 OR MIT URL: https://github.com/python-trio/trio Source: https://github.com/python-trio/trio/archive/v%{version}.tar.gz#/trio-%{version}.tar.gz -#PATCH-FIX-UPSTREAM trio-pr2043-py310ssl-deprecationwarnings.patch -- gh#python-trio/trio#2043 -Patch0: https://github.com/python-trio/trio/pull/2043.patch#/trio-pr2043-py310ssl-deprecationwarnings.patch BuildRequires: %{python_module astor >= 0.8} BuildRequires: %{python_module async_generator >= 1.9} BuildRequires: %{python_module attrs >= 19.2.0} -BuildRequires: %{python_module base >= 3.6} +BuildRequires: %{python_module base >= 3.7} BuildRequires: %{python_module idna} BuildRequires: %{python_module outcome} BuildRequires: %{python_module pyOpenSSL} @@ -38,7 +36,6 @@ BuildRequires: %{python_module pytest >= 5.0} BuildRequires: %{python_module setuptools} # for protocol specifications BuildRequires: %{python_module sniffio} -BuildRequires: %{python_module contextvars >= 2.1 if %python-base < 3.7} BuildRequires: %{python_module sortedcontainers} BuildRequires: %{python_module trustme} BuildRequires: %{python_module yapf >= 0.27.0} @@ -51,9 +48,6 @@ Requires: python-idna Requires: python-outcome Requires: python-sniffio Requires: python-sortedcontainers -%if 0%{?python_version_nodots} < 37 -Requires: python-contextvars >= 2.1 -%endif BuildArch: noarch %python_subpackages diff --git a/trio-0.19.0.tar.gz b/trio-0.19.0.tar.gz deleted file mode 100644 index 23e71aa..0000000 --- a/trio-0.19.0.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:453afdf9a9b128f271d7d89626c060af475cd8297b4c7d7730f0e377c359244e -size 486036 diff --git a/trio-0.20.0.tar.gz b/trio-0.20.0.tar.gz new file mode 100644 index 0000000..43cafad --- /dev/null +++ b/trio-0.20.0.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:353ab8b9ad925e74665ae869af6fe0b39d7eee0fa86edd4e2dd1f52b96996fd5 +size 491254 diff --git a/trio-pr2043-py310ssl-deprecationwarnings.patch b/trio-pr2043-py310ssl-deprecationwarnings.patch deleted file mode 100644 index 68139dd..0000000 --- a/trio-pr2043-py310ssl-deprecationwarnings.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 0639f87e58bae400070c5642f6fb339c7bb6e704 Mon Sep 17 00:00:00 2001 -From: Kyle Altendorf -Date: Tue, 22 Jun 2021 11:33:12 -0400 -Subject: [PATCH] update tests for SSL related deprecations in 3.10 - ---- - trio/tests/test_ssl.py | 8 ++++++-- - 1 file changed, 6 insertions(+), 2 deletions(-) - -diff --git a/trio/tests/test_ssl.py b/trio/tests/test_ssl.py -index 75f99df13..933e0be47 100644 ---- a/trio/tests/test_ssl.py -+++ b/trio/tests/test_ssl.py -@@ -80,7 +80,10 @@ def client_ctx(request): - if request.param in ["default", "tls13"]: - return ctx - elif request.param == "tls12": -- ctx.options |= ssl.OP_NO_TLSv1_3 -+ if sys.version_info >= (3, 7): -+ ctx.maximum_version = ssl.TLSVersion.TLSv1_2 -+ else: -+ ctx.options |= ssl.OP_NO_TLSv1_3 - return ctx - else: # pragma: no cover - assert False -@@ -1200,7 +1203,8 @@ async def test_selected_npn_protocol_before_handshake(client_ctx): - - - @pytest.mark.filterwarnings( -- r"ignore: ssl module. NPN is deprecated, use ALPN instead:UserWarning" -+ r"ignore: ssl module. NPN is deprecated, use ALPN instead:UserWarning", -+ r"ignore:ssl NPN is deprecated, use ALPN instead:DeprecationWarning", - ) - async def test_selected_npn_protocol_when_not_set(client_ctx): - # NPN protocol still returns None when it's not set,