- update to 3.4.0:
* Added context propagation to/from worker threads in ``to_thread.run_sync()``,
``from_thread.run()`` and ``from_thread.run_sync()``
* Fixed race condition in ``Lock`` and ``Semaphore`` classes when a task waiting on ``acquire()``
is cancelled while another task is waiting to acquire the same primitive
* Fixed async context manager's ``__aexit__()`` method not being called in
``BlockingPortal.wrap_async_context_manager()`` if the host task is cancelled
* Fixed worker threads being marked as being event loop threads in sniffio
* Fixed task parent ID not getting set to the correct value on asyncio
* Enabled the test suite to run without IPv6 support, trio or pytest plugin autoloading
OBS-URL: https://build.opensuse.org/request/show/934534
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-anyio?expand=0&rev=7
* Added context propagation to/from worker threads in ``to_thread.run_sync()``,
``from_thread.run()`` and ``from_thread.run_sync()``
* Fixed race condition in ``Lock`` and ``Semaphore`` classes when a task waiting on ``acquire()``
is cancelled while another task is waiting to acquire the same primitive
* Fixed async context manager's ``__aexit__()`` method not being called in
``BlockingPortal.wrap_async_context_manager()`` if the host task is cancelled
* Fixed worker threads being marked as being event loop threads in sniffio
* Fixed task parent ID not getting set to the correct value on asyncio
* Enabled the test suite to run without IPv6 support, trio or pytest plugin autoloading
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-anyio?expand=0&rev=10
- update to 3.3.3:
* Fixed UNIX socket listener not setting accepted sockets to non-blocking
mode on asyncio
* Changed unconnected UDP sockets to be always bound to a local port (on
"any" interface) to avoid errors on asyncio + Windows
* Fixed cancellation problem on asyncio where level-triggered cancellation
for **all** parent cancel scopes would not resume after exiting a
shielded nested scope
OBS-URL: https://build.opensuse.org/request/show/925754
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-anyio?expand=0&rev=5
* Fixed UNIX socket listener not setting accepted sockets to non-blocking
mode on asyncio
* Changed unconnected UDP sockets to be always bound to a local port (on
"any" interface) to avoid errors on asyncio + Windows
* Fixed cancellation problem on asyncio where level-triggered cancellation
for **all** parent cancel scopes would not resume after exiting a
shielded nested scope
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-anyio?expand=0&rev=8
- Update to v3.3.1
* Added missing documentation for the ExceptionGroup.exceptions
attribute
* Changed the asyncio test runner not to use uvloop by default
(to match the behavior of anyio.run())
* Fixed RuntimeError on asyncio when a CancelledError is raised
from a task spawned through a BlockingPortal (#357)
* Fixed asyncio warning about a Future with an exception that
was never retrieved which happened when a socket was already
written to but the peer abruptly closed the connection
- Release 3.3.0
* Added asynchronous Path class
* Added the wrap_file() function for wrapping existing files as
asynchronous file objects
* Relaxed the type of the path initializer argument to
FileReadStream and FileWriteStream so they accept any
path-like object (including the new asynchronous Path class)
* Dropped unnecessary dependency on the async_generator library
* Changed the generics in AsyncFile so that the methods
correctly return either str or bytes based on the argument to
open_file()
* Fixed an asyncio bug where under certain circumstances, a
stopping worker thread would still accept new assignments,
leading to a hang
- Release 3.2.1
* Fixed idle thread pruning on asyncio sometimes causing an
expired worker thread to be assigned a task
- Release 3.2.0
* Added Python 3.10 compatibility
* Added the ability to close memory object streams synchronously
OBS-URL: https://build.opensuse.org/request/show/919874
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-anyio?expand=0&rev=7
- Update to 3.1.0:
* Added env and cwd keyword arguments to run_process() and
open_process.
* Added support for mutation of CancelScope.shield
(PR by John Belmonte)
* Added the sleep_forever() and sleep_until() functions
* Changed asyncio task groups so that if the host and child tasks
have only raised CancelledErrors, just one CancelledError will
now be raised instead of an ExceptionGroup, allowing asyncio to
ignore it when it propagates out of the task
* Changed task names to be converted to str early on asyncio
(PR by Thomas Grainger)
* Fixed sniffio._impl.AsyncLibraryNotFoundError: unknown async
library, or not in async context on asyncio and Python 3.6 when
to_thread.run_sync() is used from loop.run_until_complete()
* Fixed odd ExceptionGroup: 0 exceptions were raised in the task
group appearing under certain circumstances on asyncio
* Fixed wait_all_tasks_blocked() returning prematurely on asyncio
when a previously blocked task is cancelled
(PR by Thomas Grainger)
* Fixed declared return type of TaskGroup.start() (it was
declared as None, but anything can be returned from it)
* Fixed TextStream.extra_attributes raising AttributeError
(PR by Thomas Grainger)
* Fixed await maybe_async(current_task()) returning None
(PR by Thomas Grainger)
* Fixed: pickle.dumps(current_task()) now correctly raises
TypeError instead of pickling to None (PR by Thomas Grainger)
* Fixed return type annotation of Event.wait() (bool → None)
(PR by Thomas Grainger)
OBS-URL: https://build.opensuse.org/request/show/897158
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-anyio?expand=0&rev=5
- Update to 2.2.0:
* Added the ``maybe_async()`` and ``maybe_async_cm()`` functions to facilitate forward compatibility with AnyIO 3
* Fixed socket stream bug on asyncio where receiving a half-close from the peer would shut down the entire connection
* Fixed native task names not being set on asyncio on Python 3.8+
* Fixed ``TLSStream.send_eof()`` raising ``ValueError`` instead of the expected ``NotImplementedError``
* Fixed ``open_signal_receiver()`` on asyncio and curio hanging if the cancel scope was cancelled before the function could run
* Fixed Trio test runner causing unwarranted test errors on ``BaseException``s
* Fixed formatted output of ``ExceptionGroup`` containing too many newlines
* Added the ``spawn_task()`` and ``wrap_async_context_manager()`` methods to ``BlockingPortal``
* Added the ``handshake_timeout`` and ``error_handler`` parameters to ``TLSListener``
* Fixed ``Event`` objects on the trio backend not inheriting from ``anyio.abc.Event``
* Fixed ``run_sync_in_worker_thread()`` raising ``UnboundLocalError`` on asyncio when cancelled
* Fixed ``send()`` on socket streams not raising any exception on asyncio, and an unwrapped
* ``BrokenPipeError`` on trio and curio when the peer has disconnected
* Fixed ``MemoryObjectSendStream.send()`` raising ``BrokenResourceError`` when the last receiver is closed right after receiving the item
* Fixed ``ValueError: Invalid file descriptor: -1`` when closing a ``SocketListener`` on asyncio
OBS-URL: https://build.opensuse.org/request/show/879046
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-anyio?expand=0&rev=2
* Added the ``maybe_async()`` and ``maybe_async_cm()`` functions to facilitate forward compatibility with AnyIO 3
* Fixed socket stream bug on asyncio where receiving a half-close from the peer would shut down the entire connection
* Fixed native task names not being set on asyncio on Python 3.8+
* Fixed ``TLSStream.send_eof()`` raising ``ValueError`` instead of the expected ``NotImplementedError``
* Fixed ``open_signal_receiver()`` on asyncio and curio hanging if the cancel scope was cancelled before the function could run
* Fixed Trio test runner causing unwarranted test errors on ``BaseException``s
* Fixed formatted output of ``ExceptionGroup`` containing too many newlines
* Added the ``spawn_task()`` and ``wrap_async_context_manager()`` methods to ``BlockingPortal``
* Added the ``handshake_timeout`` and ``error_handler`` parameters to ``TLSListener``
* Fixed ``Event`` objects on the trio backend not inheriting from ``anyio.abc.Event``
* Fixed ``run_sync_in_worker_thread()`` raising ``UnboundLocalError`` on asyncio when cancelled
* Fixed ``send()`` on socket streams not raising any exception on asyncio, and an unwrapped
* ``BrokenPipeError`` on trio and curio when the peer has disconnected
* Fixed ``MemoryObjectSendStream.send()`` raising ``BrokenResourceError`` when the last receiver is closed right after receiving the item
* Fixed ``ValueError: Invalid file descriptor: -1`` when closing a ``SocketListener`` on asyncio
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-anyio?expand=0&rev=3