Overview

Request 940110 accepted

- Update to version 0.19.0
* Trio now supports Python 3.10. (#1921)
* Use slots for `~.lowlevel.Task` which should make them slightly
smaller and faster. (#1927)
* Make `~.Event` more lightweight by using less objects (about 2
rather than 5, including a nested ParkingLot and attribute
dicts) and simpler structures (set rather than OrderedDict).
This may benefit applications that create a large number of
event instances, such as with the "replace event object on
every set()" idiom. (#1948)
* The event loop now holds on to references of coroutine frames
for only the minimum necessary period of time. (#1864)
* The `~.lowlevel.TrioToken` class can now be used as a target of
a weak reference. (#1924)
- Release 0.18.0
* Add synchronous .close() methods and context manager (with x)
support for .MemorySendChannel and .MemoryReceiveChannel.
(#1797)
* Previously, on Windows, Trio programs using thousands of
sockets at the same time could trigger extreme slowdowns in the
Windows kernel. Now, Trio works around this issue, so you
should be able to use as many sockets as you want. (#1280)
* `trio.from_thread.run` no longer crashes the Trio run if it is
executed after the system nursery has been closed but before
the run has finished. Calls made at this time will now raise
trio.RunFinishedError. This fixes a regression introduced in
Trio 0.17.0. The window in question is only one scheduler tick
long in most cases, but may be longer if async generators need
to be cleaned up. (#1738)
* Fix a crash in pypy-3.7 (#1765)

Loading...
Request History
Benjamin Greiner's avatar

bnavigator created request

- Update to version 0.19.0
* Trio now supports Python 3.10. (#1921)
* Use slots for `~.lowlevel.Task` which should make them slightly
smaller and faster. (#1927)
* Make `~.Event` more lightweight by using less objects (about 2
rather than 5, including a nested ParkingLot and attribute
dicts) and simpler structures (set rather than OrderedDict).
This may benefit applications that create a large number of
event instances, such as with the "replace event object on
every set()" idiom. (#1948)
* The event loop now holds on to references of coroutine frames
for only the minimum necessary period of time. (#1864)
* The `~.lowlevel.TrioToken` class can now be used as a target of
a weak reference. (#1924)
- Release 0.18.0
* Add synchronous .close() methods and context manager (with x)
support for .MemorySendChannel and .MemoryReceiveChannel.
(#1797)
* Previously, on Windows, Trio programs using thousands of
sockets at the same time could trigger extreme slowdowns in the
Windows kernel. Now, Trio works around this issue, so you
should be able to use as many sockets as you want. (#1280)
* `trio.from_thread.run` no longer crashes the Trio run if it is
executed after the system nursery has been closed but before
the run has finished. Calls made at this time will now raise
trio.RunFinishedError. This fixes a regression introduced in
Trio 0.17.0. The window in question is only one scheduler tick
long in most cases, but may be longer if async generators need
to be cleaned up. (#1738)
* Fix a crash in pypy-3.7 (#1765)


Matej Cepl's avatar

mcepl accepted request

openSUSE Build Service is sponsored by