Release history

pytest-trio 0.8.0 (2022-11-01)


  • If a test raises an ExceptionGroup (or nested ExceptionGroups) with only a single ‘leaf’ exception from pytest.xfail() or pytest.skip(), we now unwrap it to have the desired effect on Pytest. ExceptionGroups with two or more leaf exceptions, even of the same type, are not changed and will be treated as ordinary test failures.

    See pytest-dev/pytest#9680 for design discussion. This feature is particularly useful if you’ve enabled the new strict_exception_groups=True option. (#104)


  • Fix an issue where if two fixtures are being set up concurrently, and one crashes and the other hangs, then the test as a whole would hang, rather than being cancelled and unwound after the crash. (#120)


  • Trio 0.22.0 deprecated MultiError in favor of the standard-library (or backported) ExceptionGroup type; pytest-trio now uses ExceptionGroup exclusively and therefore requires Trio 0.22.0 or later. (#128)

  • Dropped support for end-of-life Python 3.6, and the async_generator library necessary to support it, and started testing on Python 3.10 and 3.11. (#129)

pytest-trio 0.7.0 (2020-10-15)


Deprecations and Removals

  • Python 3.5 support removed. (#96)

pytest-trio 0.6.0 (2020-05-20)


  • Incompatible change: if you use yield inside a Trio fixture, and the yield gets cancelled (for example, due to a background task crashing), then the yield will now raise trio.Cancelled. See An important note about yield fixtures for details. Also, in this same case, pytest-trio will now reliably mark the test as failed, even if the fixture doesn’t go on to raise an exception. (#75)

  • Updated for compatibility with Trio v0.15.0.

pytest-trio 0.5.2 (2019-02-13)


  • pytest-trio now makes the Trio scheduler deterministic while running inside a Hypothesis test. Hopefully you won’t see any change, but if you had scheduler-dependent bugs Hypothesis will be more effective now. (#73)

  • Updated for compatibility with trio v0.11.0.

pytest-trio 0.5.1 (2018-09-28)


  • The pytest 3.8.1 release broke pytest-trio’s handling of trio tests defined as class methods. We fixed it again. (#64)

pytest-trio 0.5.0 (2018-08-26)

This is a major release, including a rewrite of large portions of the internals. We believe it should be backwards compatible with existing projects. Major new features include:

  • “trio mode”: no more writing @pytest.mark.trio everywhere!

  • it’s now safe to use nurseries inside fixtures (#55)

  • new @trio_fixture decorator to explicitly mark a fixture as a trio fixture

  • a number of easy-to-make mistakes are now caught and raise informative errors

  • the nursery fixture is now 87% more magical

For more details, see the manual. Oh right, speaking of which: we finally have a manual! You should read it.

pytest-trio 0.4.2 (2018-06-29)


  • pytest-trio now integrates with Hypothesis to support @given on async tests using Trio. (#42)

pytest-trio 0.4.1 (2018-04-14)

No significant changes.

pytest-trio 0.4.0 (2018-04-14)

  • Fix compatibility with trio 0.4.0 (#25)

pytest-trio 0.3.0 (2018-01-03)


  • Add nursery fixture and improve teardown handling for yield fixture (#25)

pytest-trio 0.2.0 (2017-12-15)

  • Heavy improvements, add async yield fixture, fix bugs, add tests etc. (#17)

Deprecations and Removals

  • Remove unused_tcp_port{,_factory} fixtures (#15)

pytest-trio 0.1.1 (2017-12-08)

Disable intersphinx for trio (cause crash in CI for the moment due to 404 in readthedoc).

pytest-trio 0.1.0 (2017-12-08)

Initial release.