Path to this page:
Subject: CVS commit: pkgsrc/devel/py-trio
From: Adam Ciarcinski
Date: 2024-10-20 10:23:04
Message id: 20241020082305.0066AFC7E@cvs.NetBSD.org
Log Message:
py-trio: update to 0.27.0
Trio 0.27.0 (2024-10-17)
Breaking changes
- :func:`trio.move_on_after` and :func:`trio.fail_after` previously set the \
deadline relative to initialization time, instead of more intuitively upon \
entering the context manager. This might change timeouts if a program relied on \
this behavior. If you want to restore previous behavior you should instead use \
``trio.move_on_at(trio.current_time() + ...)``.
flake8-async has a new rule to catch this, in case you're supporting older \
trio versions. See :ref:`ASYNC122`.
Features
- :meth:`CancelScope.relative_deadline` and :meth:`CancelScope.is_relative` \
added, as well as a ``relative_deadline`` parameter to ``__init__``. This allows \
initializing scopes ahead of time, but where the specified relative deadline \
doesn't count down until the scope is entered.
- :class:`trio.Lock` and :class:`trio.StrictFIFOLock` will now raise \
:exc:`trio.BrokenResourceError` when :meth:`trio.Lock.acquire` would previously \
stall due to the owner of the lock exiting without releasing the lock.
- `trio.move_on_at`, `trio.move_on_after`, `trio.fail_at` and `trio.fail_after` \
now accept *shield* as a keyword argument. If specified, it provides an initial \
value for the `~trio.CancelScope.shield` attribute of the `trio.CancelScope` \
object created by the context manager.
- Added :func:`trio.lowlevel.add_parking_lot_breaker` and \
:func:`trio.lowlevel.remove_parking_lot_breaker` to allow creating custom \
lock/semaphore implementations that will break their underlying parking lot if a \
task exits unexpectedly. :meth:`trio.lowlevel.ParkingLot.break_lot` is also \
added, to allow breaking a parking lot intentionally.
Bugfixes
- Allow sockets to bind any ``os.PathLike`` object.
- Update ``trio.lowlevel.open_process``'s documentation to allow bytes.
- Update :func:`trio.sleep_forever` to be `NoReturn`.
Improved documentation
- Add docstrings for memory channels' ``statistics()`` and ``aclose`` methods.
Files: