pkgsrc-Changes archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
CVS commit: pkgsrc/devel/py-anyio
Module Name: pkgsrc
Committed By: adam
Date: Tue Nov 3 07:47:19 UTC 2026
Modified Files:
pkgsrc/devel/py-anyio: Makefile distinfo
Log Message:
py-anyio: updated to 4.16.0
4.16.0
*New features*
- Added ``BlockingPortal.call_async()`` for asynchronously calling into an event loop
with optional abandonment on cancellation
- Added SOCK_SEQPACKET support to ``connect_unix()`` and ``create_unix_listener()``
*Other changes*
- Changed UDP sockets on the asyncio backend to make ``send()`` wait until the
datagram has been passed to the operating system
*Bug fixes*
- Fixed documentation implying that ``use_uvloop=True`` falls back to the standard
event loop when uvloop (winloop on Windows) is not installed, and showed how to
skip the corresponding pytest backend variant when the dependency is missing
- Fixed ``get_current_task()`` on the asyncio backend raising an opaque
``TypeError: cannot create weak reference to 'NoneType' object`` instead of a clear
error when called from a callback scheduled via ``loop.call_soon_threadsafe()`` (e.g.
from within ``from_thread.run_sync()``), where ``asyncio.current_task()`` is
legitimately ``None``
- Fixed ``CancelScope`` on the asyncio backend swallowing a native ``Task.cancel()``
that was delivered in the same event loop iteration as the scope's own cancellation
(such as a ``move_on_after()`` deadline expiring), which left the host task with a
pending cancellation request that never raised ``CancelledError``
- Fixed UDP socket closing hanging if a datagram send was still in flight
- Fixed concurrent ``aclose_forcefully()`` calls on asyncio socket streams returning
before the underlying socket was closed
- Fixed ``aclose()`` on sockets not checkpointing, and thus failing to raise a
cancellation exception when called inside a cancelled scope (affected UNIX socket
streams and UNIX datagram sockets on asyncio, and all sockets on Trio)
- Fixed ``aclose()`` on asyncio TCP socket listeners not checkpointing, and leaking the
listening socket if cancelled while another task was waiting in ``accept()``
- Fixed ``accept()`` on asyncio UNIX socket listeners hanging forever, and leaving the
listening socket registered with the event loop, when the listener was closed by
another task
- Fixed ``send()`` on asyncio TCP and UDP sockets returning normally, despite the data
being discarded, when the socket was closed by another task (or, for TCP, the
connection was lost) while ``send()`` was waiting for the operating system to accept
the data
- Fixed ``SocketStream.send()`` on the asyncio backend handing its data to a paused
transport after a previous ``send()`` was cancelled
- Fixed ``sleep()`` treating a negative delay (including ``-inf``) inconsistently
across backends (asyncio returned immediately; Trio raised ``ValueError``) by
raising ``ValueError`` on all backends
- Fixed ``create_tcp_listener()`` occasionally failing with a message like
``Could not create 2 listeners with a consistent port`` when an ephemeral port is
requested and IPv6 is enabled and the dual-stack path is not available or a specific
local host name was given
- Fixed ``AsyncFile`` not shielding against cancellation while closing
- Fixed ``TemporaryDirectory.cleanup()`` reacting to cancellation prematurely when the host
task was already cancelled, causing the actual cleanup operation to be skipped
- Fixed a NaN deadline being accepted on asyncio while Trio raised ``ValueError``,
which silently disabled the timeout (``fail_after(math.nan)`` returned instead of
raising ``TimeoutError``); ``CancelScope`` now rejects it on both backends
- Fixed ``FileReadStream`` and ``FileWriteStream`` leaving files open when cancelled
during context manager exit, including unflushed writes
- Fixed ``Condition.notify()`` and ``Condition.notify_all()`` failing when the
underlying lock was acquired directly rather than through the condition
- Fixed importing AnyIO with loaders that do not provide ``__file__``, such as
PyOxidizer, raising ``TypeError`` instead of falling back to eager imports
- Fixed text receive streams silently discarding incomplete characters at end-of-file
instead of applying the configured decoding error handler
- Fixed ``Semaphore(fast_acquire=True)`` losing its fast-acquire behavior when
instantiated outside a running event loop
- Fixed ``BlockingPortalProvider`` permanently failing with an ``AttributeError`` on
every subsequent use if the first attempt to start its blocking portal failed
- Fixed ``create_udp_socket()`` silently ignoring the ``local_port`` argument when
``local_host`` was omitted, making the socket bind to a random ephemeral port
instead of the requested one
- Fixed worker threads on the asyncio backend never returning to the idle pool (and
thus never being reused or pruned) when a ``to_thread.run_sync()`` call was cancelled
after it had been queued for the worker but before the worker thread had picked it up
- Fixed pytest plugin running Hypothesis async tests only on the first parametrized
backend instead of each backend
- Fixed ``TypeError`` when subclassing an existing ``TypedAttributeSet``
subclass, and this subclass contains type annotations
- Fixed ``Lock.locked()`` (and ``Condition.locked()``) raising ``NoEventLoopError``
when the lock was created outside a running event loop
- Fixed ``connect_tcp()`` leaking a connected socket when an enclosing cancel scope
was cancelled before the connection attempt task group exited
- Fixed ``create_connected_udp_socket()`` silently ignoring ``local_port`` when
``local_host`` was not given: the local address was left unset, so the OS picked
an ephemeral port instead of the requested one
- Fixed ``BlockingPortalProvider`` not passing the exception raised in its ``with``
block on to the ``start_blocking_portal()`` context manager it wraps
- Fixed ``anyio.itertools.islice()`` not consuming the first ``start`` items when
``stop <= start``
- Fixed ``BufferedByteReceiveStream.receive_exactly()`` and ``receive_until()`` returning buffered data after explicit closure instead of raising ``ClosedResourceError``
- Fixed a TLS stream sending records the peer could no longer decrypt after a cancelled
``send()`` lost an already-encrypted record; the stream now raises
``BrokenResourceError`` on further use instead
- Fixed ``close()`` on memory object streams not waking up tasks blocked in ``send()``
or ``receive()`` on the same stream
- Fixed ``anyio.itertools.product()`` acquiring and consuming unused input iterables when
``repeat=0``
- Fixed ``SpooledTemporaryFile`` rolling over to disk on writes when ``max_size`` is zero (the default)
- Fixed Trio UDP sockets remaining open when initialization failed or was cancelled
- Fixed SpooledTemporaryFile.rollover() moving the current file position to the end of the file
- Fixed cancellation during temporary directory creation leaving the directory behind
while its context manager is retained
- Fixed cancellation during ``SpooledTemporaryFile.rollover()`` losing buffered contents
- Fixed ``TextSendStream.send()`` re-emitting the byte order mark on every item with
BOM-emitting encodings (``utf-16``, ``utf-32``, ``utf-8-sig``), which made the peer decode
a stray ``\ufeff`` in front of every message after the first
- Fixed buffered byte streams returning empty bytes when a wrapped object stream received
empty messages instead of waiting for data or raising ``EndOfStream``
- Fixed ``BlockingPortal`` crashing with ``InvalidStateError`` when a future it
returned was cancelled just as the callable was completing
- Fixed ``UNIXSocketStream.send_fds()`` silently truncating messages on short socket writes
- Fixed cancelled TCP receives on the asyncio backend leaving transport reads enabled,
allowing incoming data to accumulate while the application was not receiving.
- Fixed ``CapacityLimiter.acquire_on_behalf_of()`` on asyncio releasing the wrong
borrower when the acquiring task was cancelled during the cancel-shielded
checkpoint that runs after a non-blocking acquisition
To generate a diff of this commit:
cvs rdiff -u -r1.42 -r1.43 pkgsrc/devel/py-anyio/Makefile
cvs rdiff -u -r1.35 -r1.36 pkgsrc/devel/py-anyio/distinfo
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: pkgsrc/devel/py-anyio/Makefile
diff -u pkgsrc/devel/py-anyio/Makefile:1.42 pkgsrc/devel/py-anyio/Makefile:1.43
--- pkgsrc/devel/py-anyio/Makefile:1.42 Fri Oct 16 20:39:44 2026
+++ pkgsrc/devel/py-anyio/Makefile Tue Nov 3 07:47:18 2026
@@ -1,6 +1,6 @@
-# $NetBSD: Makefile,v 1.42 2026/10/16 20:39:44 wiz Exp $
+# $NetBSD: Makefile,v 1.43 2026/11/03 07:47:18 adam Exp $
-DISTNAME= anyio-4.15.1
+DISTNAME= anyio-4.16.0
PKGNAME= ${PYPKGPREFIX}-${DISTNAME}
CATEGORIES= devel python
MASTER_SITES= ${MASTER_SITE_PYPI:=a/anyio/}
Index: pkgsrc/devel/py-anyio/distinfo
diff -u pkgsrc/devel/py-anyio/distinfo:1.35 pkgsrc/devel/py-anyio/distinfo:1.36
--- pkgsrc/devel/py-anyio/distinfo:1.35 Sun Sep 6 17:10:20 2026
+++ pkgsrc/devel/py-anyio/distinfo Tue Nov 3 07:47:18 2026
@@ -1,5 +1,5 @@
-$NetBSD: distinfo,v 1.35 2026/09/06 17:10:20 adam Exp $
+$NetBSD: distinfo,v 1.36 2026/11/03 07:47:18 adam Exp $
-BLAKE2s (anyio-4.15.1.tar.gz) = 55ee925203c878919bd8d4e1cdd18d0741732a8f1eacdd3dfcd78aa71c4e50ef
-SHA512 (anyio-4.15.1.tar.gz) = 5eff3a04d2d79cf8e5264799565a6c8a3cdab41e3ecebdfaf7c08fa75e41879f4dccaebec0e8676ccbbe834d541740dbbc011f6773bc0e98e6fbecbbd61e7467
-Size (anyio-4.15.1.tar.gz) = 276966 bytes
+BLAKE2s (anyio-4.16.0.tar.gz) = 1c9ffcc5fb368d1fd8a60c33246fa11aa57751bfbfafa2df1663633ac221fbc1
+SHA512 (anyio-4.16.0.tar.gz) = dbbb991262feb3d22161623dd2647d71aa54c51a13b699d7af0e00a1d84160e8a067922469ceda9cbafdf4ee68d93af65300132878e0a9eb9fe41919fdbd4e85
+Size (anyio-4.16.0.tar.gz) = 310971 bytes
Home |
Main Index |
Thread Index |
Old Index