Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python-anyio for openSUSE:Factory 
checked in at 2026-10-13 17:43:37
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-anyio (Old)
 and      /work/SRC/openSUSE:Factory/.python-anyio.new.3698736 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-anyio"

Tue Oct 13 17:43:37 2026 rev:34 rq:1384598 version:4.15.1

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-anyio/python-anyio.changes        
2026-08-06 16:19:10.230099661 +0200
+++ /work/SRC/openSUSE:Factory/.python-anyio.new.3698736/python-anyio.changes   
2026-10-13 17:44:18.172694094 +0200
@@ -1,0 +2,55 @@
+Tue Oct 13 11:45:10 UTC 2026 - Markéta Machová <[email protected]>
+
+- Add patch tls.patch to fix test failure with recent pythons
+
+-------------------------------------------------------------------
+Fri Oct  9 01:56:13 UTC 2026 - Steve Kowalik <[email protected]>
+
+- Update to 4.15.1:
+  * Implemented a compatibility fix for supporting direct access of anyio.*
+    submodules from the main package even when those submodules were not
+    directly imported first
+  * Added support for the newer keyword-only arguments on anyio.Path methods
+    to match the standard library pathlib.Path
+  * Added amap, gather, and as_completed utility functions to simplify common
+    patterns
+  * Added --anyio-mode command-line option as an alternative to the
+    anyio_mode ini setting, and fix the pytest plugin's auto mode detection
+    to recognize the mode when set via either mechanism(e.g: pytest_asyncio).
+  * Added the anyio.Future synchronization primitive which behaves similar to
+    asyncio.Future, allowing tasks to wait for a value (or exception) from
+    another task
+  * Added guidance for managing multiple memory object stream producers and
+    consumers with cloned streams
+  * Added StapledObjectStream.send_nowait() that delegates to the underlying
+    ObjectSendStream, if it implements it
+  * Changed the default name for a task spawned with
+    TaskGroup.create_task(func()) to match the default task name for the
+    analogous task spawned with TaskGroup.start_soon(func) or
+    TaskGroup.start(func) in more situations.
+  * Changed the anyio and anyio.abc modules to lazily import the necessary
+    submodules.
+  * Fixed SpooledTemporaryFile.readinto() and readinto1() reading twice
+    before rollover, so the destination buffer was overwritten by the second
+    read and the file position advanced twice, silently losing data
+  * Fixed anyio.run leaking, or at least, delaying collection of loop and
+    root_task due to the root task being cached in a RunVar.
+  * Fixed UNIXSocketStream.aclose() raising asyncio.InvalidStateError when a
+    concurrent receive or send operation had just been cancelled on the
+    asyncio backend
+  * Fixed the pytest plugin importing the deprecated _pytest.python.CallSpec2
+    alias
+  * Fixed an asyncio worker thread race that could raise RuntimeError when
+    the event loop closed between checking its state and scheduling the
+    worker result
+  * Fixed inconsistencies between Trio and asyncio when target TaskGroup is
+    cancelled before a task created with .start() calls TaskStatus.started()
+  * Fixed TemporaryDirectory not cleaning up when the host task was cancelled
+    while exiting the context manager, as the cleanup now runs in a shielded
+    cancel scope
+- Drop patches:
+  * robust_test_shielded_cancel_sleep_time.patch
+  * fix-uvloop-closed-loop-race.patch
+- Refresh patch extend_timeouts.patch
+
+-------------------------------------------------------------------

Old:
----
  anyio-4.14.2.tar.gz
  fix-uvloop-closed-loop-race.patch
  robust_test_shielded_cancel_sleep_time.patch

New:
----
  anyio-4.15.1.tar.gz
  tls.patch

----------(Old B)----------
  Old:  * robust_test_shielded_cancel_sleep_time.patch
  * fix-uvloop-closed-loop-race.patch
- Refresh patch extend_timeouts.patch
  Old:- Drop patches:
  * robust_test_shielded_cancel_sleep_time.patch
  * fix-uvloop-closed-loop-race.patch
----------(Old E)----------

----------(New B)----------
  New:
- Add patch tls.patch to fix test failure with recent pythons
----------(New E)----------

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-anyio.spec ++++++
--- /var/tmp/diff_new_pack.oy4bXF/_old  2026-10-13 17:44:19.898766431 +0200
+++ /var/tmp/diff_new_pack.oy4bXF/_new  2026-10-13 17:44:19.902766598 +0200
@@ -26,21 +26,17 @@
 %endif
 %{?sle15_python_module_pythons}
 Name:           python-anyio%{psuffix}
-Version:        4.14.2
+Version:        4.15.1
 Release:        0
 Summary:        High level compatibility layer for asynchronous event loop 
implementations
 License:        MIT
 URL:            https://github.com/agronholm/anyio
 Source:         
https://files.pythonhosted.org/packages/source/a/anyio/anyio-%{version}.tar.gz
-# PATCH-FIX-UPSTREAM robust_test_shielded_cancel_sleep_time.patch 
gh#agronholm/anyio!1264 [email protected]
-# improve robustness of test_shielded_cancel_sleep_time
-Patch0:         robust_test_shielded_cancel_sleep_time.patch
-# PATCH-FIX-UPSTREAM fix-uvloop-closed-loop-race.patch gh#agronholm/anyio!1266 
[email protected]
-# protect against a race condition in the test_cancel_worker_thread test
-Patch1:         fix-uvloop-closed-loop-race.patch
 # PATCH-FIX-OPENSUSE extend_timeouts.patch [email protected]
 # increase timeout in test_pytest_plugin module
-Patch2:         extend_timeouts.patch
+Patch0:         extend_timeouts.patch
+# PATCH-FIX-UPSTREAM 
https://github.com/agronholm/anyio/commit/818e4ac441fa27e9fac893496fc5a4fbe0a58689
 Don't pass hostname to TLSStream.wrap() for the server stream
+Patch1:         tls.patch
 BuildRequires:  %{python_module base >= 3.10}
 BuildRequires:  %{python_module pip}
 BuildRequires:  %{python_module setuptools >= 77}
@@ -51,7 +47,6 @@
 %if %{with test}
 BuildRequires:  %{python_module anyio = %{version}}
 BuildRequires:  %{python_module blockbuster >= 1.5.23}
-BuildRequires:  %{python_module exceptiongroup >= 1.0.2}
 BuildRequires:  %{python_module hypothesis >= 4.18.2}
 BuildRequires:  %{python_module psutil >= 5.9}
 BuildRequires:  %{python_module pytest >= 8.4}
@@ -65,8 +60,9 @@
 # /SECTION
 BuildRequires:  fdupes
 Requires:       python-idna >= 2.8
-Requires:       (python-exceptiongroup >= 1.0.2 if python-base < 3.11)
-Requires:       (python-typing_extensions >= 4.5 if python-base < 3.13)
+%if 0%{?python_version_nodots} < 315
+Requires:       python-typing_extensions >= 4.16.0
+%endif
 Suggests:       python-trio >= 0.32.0
 BuildArch:      noarch
 %python_subpackages
@@ -113,8 +109,8 @@
 donttest+=" or (test_properties and asyncio)"
 # Flaky test in i586
 donttest+=" or test_keyboardinterrupt_during_test"
-# Fails with pytest 9
-donttest+=" or test_anyio_fixture_adoption_does_not_persist"
+# Builds a virtualenv from first principles
+donttest+=" or test_sourceless_install"
 
 %pytest -m "not network" -k "not (${donttest:4})" -ra
 %endif

++++++ anyio-4.14.2.tar.gz -> anyio-4.15.1.tar.gz ++++++
++++ 6382 lines of diff (skipped)

++++++ extend_timeouts.patch ++++++
--- /var/tmp/diff_new_pack.oy4bXF/_old  2026-10-13 17:44:20.363785919 +0200
+++ /var/tmp/diff_new_pack.oy4bXF/_new  2026-10-13 17:44:20.369786171 +0200
@@ -4,11 +4,11 @@
  tests/test_to_thread.py     |    4 ++--
  3 files changed, 7 insertions(+), 7 deletions(-)
 
-Index: anyio-4.14.2/tests/test_pytest_plugin.py
+Index: anyio-4.15.1/tests/test_pytest_plugin.py
 ===================================================================
---- anyio-4.14.2.orig/tests/test_pytest_plugin.py      2026-07-12 
22:28:36.000000000 +0200
-+++ anyio-4.14.2/tests/test_pytest_plugin.py   2026-08-05 10:37:35.996003636 
+0200
-@@ -474,7 +474,7 @@
+--- anyio-4.15.1.orig/tests/test_pytest_plugin.py
++++ anyio-4.15.1/tests/test_pytest_plugin.py
+@@ -477,7 +477,7 @@ def test_keyboardinterrupt_during_test(
          """
      )
  
@@ -17,16 +17,7 @@
  
  
  def test_keyboard_interrupt_does_not_resume_test(testdir: Pytester) -> None:
-@@ -504,7 +504,7 @@
-         """
-     )
- 
--    result = testdir.runpytest_subprocess(*pytest_args, timeout=5)
-+    result = testdir.runpytest_subprocess(*pytest_args, timeout=20)
-     assert result.ret == 2
-     result.stdout.no_fnmatch_line("*RESUMED_AFTER_INTERRUPT*")
-     result.stdout.fnmatch_lines(["*KeyboardInterrupt*"])
-@@ -635,7 +635,7 @@
+@@ -637,7 +637,7 @@ def test_dynamic_async_fixture_access_do
          """
      )
  
@@ -35,11 +26,11 @@
      result.stdout.fnmatch_lines(
          [
              "*RuntimeError: Cannot schedule a coroutine in the test runner 
while another is already running;*"
-Index: anyio-4.14.2/tests/test_taskgroups.py
+Index: anyio-4.15.1/tests/test_taskgroups.py
 ===================================================================
---- anyio-4.14.2.orig/tests/test_taskgroups.py 2026-08-05 10:37:25.510309863 
+0200
-+++ anyio-4.14.2/tests/test_taskgroups.py      2026-08-05 10:37:35.996663971 
+0200
-@@ -1085,8 +1085,8 @@
+--- anyio-4.15.1.orig/tests/test_taskgroups.py
++++ anyio-4.15.1/tests/test_taskgroups.py
+@@ -1208,8 +1208,8 @@ async def test_deadline_reached_on_start
  
  
  async def test_deadline_moved() -> None:
@@ -48,28 +39,4 @@
 +    with fail_after(0.2) as scope:
 +        scope.deadline += 0.6
          await sleep(0.2)
- 
- 
-Index: anyio-4.14.2/tests/test_to_thread.py
-===================================================================
---- anyio-4.14.2.orig/tests/test_to_thread.py  2026-07-12 22:28:36.000000000 
+0200
-+++ anyio-4.14.2/tests/test_to_thread.py       2026-08-05 10:37:35.996357343 
+0200
-@@ -78,7 +78,7 @@
-         for _ in range(4):
-             tg.start_soon(task_worker)
- 
--        await sleep(0.1)
-+        await sleep(0.5)
-         assert len(active_threads) == 3
-         assert limiter.borrowed_tokens == 3
-         event.set()
-@@ -167,7 +167,7 @@
-     async def run_in_thread() -> None:
-         nonlocal task
-         task = asyncio.current_task()
--        await to_thread.run_sync(time.sleep, 0.2, abandon_on_cancel=True)
-+        await to_thread.run_sync(time.sleep, 0.05, abandon_on_cancel=True)
- 
-     async with create_task_group() as tg:
-         tg.start_soon(run_in_thread)
 

++++++ tls.patch ++++++
>From 818e4ac441fa27e9fac893496fc5a4fbe0a58689 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Alex=20Gr=C3=B6nholm?= <[email protected]>
Date: Sat, 3 Oct 2026 00:20:27 +0300
Subject: [PATCH] Don't pass `hostname` to TLSStream.wrap() for the server
 stream

This breaks on newer Pythons (3.12.15+)
---
 tests/streams/test_tls.py | 2 --
 1 file changed, 2 deletions(-)

diff --git a/tests/streams/test_tls.py b/tests/streams/test_tls.py
index 07334c392..0f5c2d375 100644
--- a/tests/streams/test_tls.py
+++ b/tests/streams/test_tls.py
@@ -117,7 +117,6 @@ async def server() -> None:
             async with await TLSStream.wrap(
                 server_stream,
                 server_side=True,
-                hostname="localhost",
                 ssl_context=server_context,
             ):
                 pass
@@ -604,7 +603,6 @@ async def server() -> None:
         async with await TLSStream.wrap(
             server_stream,
             server_side=True,
-            hostname="localhost",
             ssl_context=server_context,
         ) as server_tls_stream:
             message = await server_tls_stream.receive()

Reply via email to