Skip to content

v0.29.0

Latest
Compare
Choose a tag to compare
@A5rocks A5rocks released this 14 Feb 07:19
· 10 commits to main since this release

Full Changelog: v0.28.0...v0.29.0

Features

  • Add trio.lowlevel.in_trio_run and trio.lowlevel.in_trio_task and document the semantics (and differences) thereof. (#2757)
  • If trio.testing.RaisesGroup does not get the expected exceptions it now raises an AssertionError with a helpful message, instead of letting the raised exception/group fall through. The raised exception is available in the __context__ of the AssertionError and can be seen in the traceback. (#3145)

Bugfixes

  • Clear Trio's cache of worker threads upon os.fork. (#2764)

Miscellaneous internal changes

  • Stop using ctypes to mutate tracebacks for strict_exception_groups=False's exception collapsing. (#405)

  • Fixed spelling error in Windows error code enum for ERROR_INVALID_PARAMETER. (#3166)

  • Publicly re-export __version__ for type checking purposes. (#3186)

  • The typing of trio.abc.HostnameResolver.getaddrinfo has been corrected to match that of the stdlib socket.getaddrinfo, which was updated in mypy 1.15 (via a typeshed update) to include the possibility of tuple[int, bytes] for the sockaddr field of the result. This happens in situations where Python was compiled with --disable-ipv6.

    Additionally, the static typing of trio.to_thread.run_sync, trio.from_thread.run and trio.from_thread.run_sync has been improved and should reflect the underlying function being run. (#3201)