Releases: pytest-dev/pytest-asyncio
Releases · pytest-dev/pytest-asyncio
pytest-asyncio 1.0.0
1.0.0 - 2025-05-26
Removed
- The deprecated event_loop fixture.
(#1106)
Added
- Prelimiary support for Python 3.14
(#1025)
Changed
- Scoped event loops (e.g. module-scoped loops) are created once rather
than per scope (e.g. per module). This reduces the number of fixtures
and speeds up collection time, especially for large test suites.
(#1107) - The loop_scope argument to
pytest.mark.asyncio
no longer forces
that a pytest Collector exists at the level of the specified scope.
For example, a test function marked with
pytest.mark.asyncio(loop_scope="class")
no longer requires a class
surrounding the test. This is consistent with the behavior of the
scope argument topytest_asyncio.fixture
.
(#1112)
Fixed
- An error caused when using pytest's [--setup-plan]{.title-ref}
option.
(#630) - Unsuppressed import errors with pytest option
--doctest-ignore-import-errors
(#797) - A "fixture not found" error in connection with package-scoped loops
(#1052)
Notes for Downstream Packagers
- Removed a test that had an ordering dependency on other tests.
(#1114)
pytest-asyncio 1.0.0a1
1.0.0a1 - 2025-05-09
Removed
- The deprecated event_loop fixture.
(#1106)
Added
- Prelimiary support for Python 3.14
(#1025)
Changed
- Scoped event loops (e.g. module-scoped loops) are created once rather
than per scope (e.g. per module). This reduces the number of fixtures
and speeds up collection time, especially for large test suites.
(#1107) - The loop_scope argument to
pytest.mark.asyncio
no longer forces
that a pytest Collector exists at the level of the specified scope.
For example, a test function marked with
pytest.mark.asyncio(loop_scope="class")
no longer requires a class
surrounding the test. This is consistent with the behavior of the
scope argument topytest_asyncio.fixture
.
(#1112)
pytest-asyncio 0.26.0
pytest-asyncio 0.25.3
- Avoid errors in cleanup of async generators when event loop is already closed #1040
pytest-asyncio 0.25.2
- Call
loop.shutdown_asyncgens()
before closing the event loop to ensure async generators are closed in the same manner asasyncio.run
does #1034
pytest-asyncio 0.25.1
pytest-asyncio 0.25.0
0.25.0 (2024-12-13)
- Deprecated: Added warning when asyncio test requests async
@pytest.fixture
in strict mode. This will become an error in a future version of flake8-asyncio. #979 - Updates the error message about pytest.mark.asyncio's scope keyword argument to say loop_scope instead. #1004
- Verbose log displays correct parameter name: asyncio_default_fixture_loop_scope #990
- Propagates contextvars set in async fixtures to other fixtures and tests on Python 3.11 and above. #1008
pytest-asyncio 0.24.0
0.24.0 (2024-08-22)
- BREAKING: Updated minimum supported pytest version to v8.2.0
- Adds an optional loop_scope keyword argument to pytest.mark.asyncio. This argument controls which event loop is used to run the marked async test. #706, #871
- Deprecates the optional scope keyword argument to pytest.mark.asyncio for API consistency with
pytest_asyncio.fixture
. Users are encouraged to use the loop_scope keyword argument, which does exactly the same. - Raises an error when passing scope or loop_scope as a positional argument to
@pytest.mark.asyncio
. #812 - Fixes a bug that caused module-scoped async fixtures to fail when reused in other modules #862 #668
pytest-asyncio 0.24.0a1
0.24.0 (UNRELEASED)
- BREAKING: Updated minimum supported pytest version to v8.2.0
- Adds an optional loop_scope keyword argument to pytest.mark.asyncio. This argument controls which event loop is used to run the marked async test. #706, #871
- Deprecates the optional scope keyword argument to pytest.mark.asyncio for API consistency with
pytest_asyncio.fixture
. Users are encouraged to use the loop_scope keyword argument, which does exactly the same. - Raises an error when passing scope or loop_scope as a positional argument to
@pytest.mark.asyncio
. #812 - Fixes a bug that caused module-scoped async fixtures to fail when reused in other modules #862 #668
pytest-asyncio 0.24.0a0
0.24.0 (UNRELEASED)
- Adds an optional loop_scope keyword argument to pytest.mark.asyncio. This argument controls which event loop is used to run the marked async test. #706, #871
- Deprecates the optional scope keyword argument to pytest.mark.asyncio for API consistency with
pytest_asyncio.fixture
. Users are encouraged to use the loop_scope keyword argument, which does exactly the same. - Raises an error when passing scope or loop_scope as a positional argument to
@pytest.mark.asyncio
. #812