]> git.ipfire.org Git - people/ms/ipfire-2.x.git/commit
python3-trio: Update to version 0.23.1
authorAdolf Belka <adolf.belka@ipfire.org>
Mon, 29 Jan 2024 13:41:20 +0000 (14:41 +0100)
committerMichael Tremer <michael.tremer@ipfire.org>
Mon, 29 Jan 2024 16:03:31 +0000 (16:03 +0000)
commitc3863ea14df3d088b7a6394231f1f8e93dff029a
treed8da50b5df30da3d536345d60f3d37c8b158d1eb
parent74c8dc3548a93c51111030434ff4a1212c0db2f3
python3-trio: Update to version 0.23.1

- Update from version 0.22.0 to 0.23.1
- Update of rootfile
- Changelog
    0.23.0
Headline features
    Add type hints. (#543)
Features
    When exiting a nursery block, the parent task always waits for child tasks
     to exit. This wait cannot be cancelled. However, previously, if you tried
     to cancel it, it would inject a Cancelled exception, even though it wasn’t
     cancelled. Most users probably never noticed either way, but injecting a
     Cancelled here is not really useful, and in some rare cases caused
     confusion or problems, so Trio no longer does that. (#1457)
    If called from a thread spawned by trio.to_thread.run_sync,
     trio.from_thread.run and trio.from_thread.run_sync now reuse the task and
     cancellation status of the host task; this means that context variables and
     cancel scopes naturally propagate ‘through’ threads spawned by Trio. You
     can also use trio.from_thread.check_cancelled to efficiently check for
     cancellation without reentering the Trio thread. (#2392)
    trio.lowlevel.start_guest_run() now does a bit more setup of the guest run
     before it returns to its caller, so that the caller can immediately make
     calls to trio.current_time(), trio.lowlevel.spawn_system_task(),
     trio.lowlevel.current_trio_token(), etc. (#2696)
Bugfixes
    When a starting function raises before calling trio.TaskStatus.started(),
     trio.Nursery.start() will no longer wrap the exception in an undocumented
     ExceptionGroup. Previously, trio.Nursery.start() would incorrectly raise an
     ExceptionGroup containing it when using trio.run(...,
     strict_exception_groups=True). (#2611)
Deprecations and removals
    To better reflect the underlying thread handling semantics, the keyword
     argument for trio.to_thread.run_sync that was previously called cancellable
     is now named abandon_on_cancel. It still does the same thing – allow the
     thread to be abandoned if the call to trio.to_thread.run_sync is
     cancelled – but since we now have other ways to propagate a cancellation
     without abandoning the thread, “cancellable” has become somewhat of a
     misnomer. The old cancellable name is now deprecated. (#2841)
    Deprecated support for math.inf for the backlog argument in
     open_tcp_listeners, making its docstring correct in the fact that only
     TypeError is raised if invalid arguments are passed. (#2842)
Removals without deprecations
    Drop support for Python3.7 and PyPy3.7/3.8. (#2668)
    Removed special MultiError traceback handling for IPython. As of version
     8.15 ExceptionGroup is handled natively. (#2702)
Miscellaneous internal changes
    Trio now indicates its presence to sniffio using the sniffio.thread_local
     interface that is preferred since sniffio v1.3.0. This should be less
     likely than the previous approach to cause sniffio.current_async_library()
     to return incorrect results due to unintended inheritance of contextvars.
     (#2700)
    On windows, if SIO_BASE_HANDLE failed and SIO_BSP_HANDLE_POLL didn’t return
     a different socket, runtime error will now raise from the OSError that
     indicated the issue so that in the event it does happen it might help with
     debugging. (#2807)
    0.22.2
Bugfixes
    Fix PermissionError when importing trio due to trying to access pthread.
     (#2688)
    0.22.1
Breaking changes
    Timeout functions now raise ValueError if passed math.nan. This includes
     trio.sleep, trio.sleep_until, trio.move_on_at, trio.move_on_after,
     trio.fail_at and trio.fail_after. (#2493)
Features
    Added support for naming threads created with trio.to_thread.run_sync,
     requires pthreads so is only available on POSIX platforms with glibc
     installed. (#1148)
    trio.socket.socket now prints the address it tried to connect to upon
     failure. (#1810)
Bugfixes
    Fixed a crash that can occur when running Trio within an embedded Python
     interpreter, by handling the TypeError that is raised when trying to
     (re-)install a C signal handler. (#2333)
    Fix sniffio.current_async_library() when Trio tasks are spawned from a
     non-Trio context (such as when using trio-asyncio). Previously, a regular
     Trio task would inherit the non-Trio library name, and spawning a system
     task would cause the non-Trio caller to start thinking it was Trio. (#2462)
    Issued a new release as in the git tag for 0.22.0, trio.__version__ is
     incorrectly set to 0.21.0+dev. (#2485)
Improved documentation
    Documented that Nursery.start_soon does not guarantee task ordering. (#970)

Tested-by: Adolf Belka <adolf.belka@ipfire.org>
Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
config/rootfiles/packages/python3-trio
lfs/python3-trio