- Fixed an issue which prevented fixture setup from being cached. #404
- BREAKING: The default
asyncio_mode
is now strict. #293 - Removes setup.py since all relevant configuration is present setup.cfg. Users requiring an editable installation of pytest-asyncio need to use pip v21.1 or newer. #283
- Declare support for Python 3.11.
- Adds pytest-trio to the test dependencies
- Fixes a bug that caused pytest-asyncio to try to set up async pytest_trio fixtures in strict mode. #298
- Fix asyncio auto mode not marking static methods. #295
- Fix a compatibility issue with Hypothesis 6.39.0. #302
- Fixes a regression that prevented async fixtures from working in synchronous tests. #286
- Raise a warning if @pytest.mark.asyncio is applied to non-async function. #275
- Support parametrized
event_loop
fixture. #278
- Require
typing-extensions
on Python<3.8 only. #269 - Fix a regression in tests collection introduced by 0.17.1, the plugin works fine with non-python tests again. #267
- Fixes a bug that prevents async Hypothesis tests from working without explicit
asyncio
marker when--asyncio-mode=auto
is set. #258 - Fixed a bug that closes the default event loop if the loop doesn't exist #257
- Added type annotations. #198
- Show asyncio mode in pytest report headers. #266
- Relax
asyncio_mode
type definition; it allows to support pytest 6.1+. #262
- pytest-asyncio no longer alters existing event loop policies. #168, #188
- Drop support for Python 3.6
- Fixed an issue when pytest-asyncio was used in combination with flaky or inherited asynchronous Hypothesis tests. #178 #231
- Added flaky to test dependencies
- Added
unused_udp_port
andunused_udp_port_factory
fixtures (similar tounused_tcp_port
andunused_tcp_port_factory
counterparts. #99 - Added the plugin modes: strict, auto, and legacy. See documentation for details. #125
- Correctly process
KeyboardInterrupt
during async fixture setup phase #219
- Add support for Python 3.10
- Add support for Python 3.9
- Abandon support for Python 3.5. If you still require support for Python 3.5, please use pytest-asyncio v0.14 or earlier.
- Set
unused_tcp_port_factory
fixture scope to 'session'. #163 - Properly close event loops when replacing them. #208
- Run the event loop fixture as soon as possible. This helps with fixtures that have an implicit dependency on the event loop. #156
- Test on 3.8, drop 3.3 and 3.4. Stick to 0.10 for these versions. #152
- Use the new Pytest 5.4.0 Function API. We therefore depend on pytest >= 5.4.0. #142
- Better
pytest.skip
support. #126
pytest-asyncio
integrates with Hypothesis to support@given
on async test functions usingasyncio
. #102- Pytest 4.1 support. #105
- Python 3.7 support.
- Remove
event_loop_process_pool
fixture andpytest.mark.asyncio_process_pool
marker (see https://bugs.python.org/issue34075 for deprecation and removal details)
- Improve integration with other packages (like aiohttp) with more careful event loop handling. #64
- Python versions pre-3.6 can use the async_generator library for async fixtures. #62 <pytest-dev#62>
- Support for Python versions pre-3.5 has been dropped.
pytestmark
now works on both module and class level.- The
forbid_global_loop
parameter has been removed. - Support for async and async gen fixtures has been added. #45
- The deprecation warning regarding
asyncio.async()
has been fixed. #51
- Introduced a changelog. #31
- The
event_loop
fixture is again responsible for closing itself. This makes the fixture slightly harder to correctly override, but enables other fixtures to depend on it correctly. #30 - Deal with the event loop policy by wrapping a special pytest hook,
pytest_fixture_setup
. This allows setting the policy before fixtures dependent on theevent_loop
fixture run, thus allowing them to take advantage of theforbid_global_loop
parameter. As a consequence of this, we now depend on pytest 3.0. #29
- Fix a bug preventing the propagation of exceptions from the plugin. #25
- Make
event_loop
fixtures simpler to override by closing them in the plugin, instead of directly in the fixture. #21 - Introduce the
forbid_global_loop
parameter. #21
- Support for Python 3.5
async
/await
syntax. #17
unused_tcp_port_factory
fixture. #10
Initial release.