# What changed in pytest-asyncio

> 8 changes in pytest-asyncio 1 from its official release notes, upgrade guides and advisories: 2 breaking, 1 deprecations, 2 new APIs and options. Each one cited. Sources checked 2026-10-18. HTML: https://unstale.sh/pypi/pytest-asyncio/

To see which of these apply to a repository, run `npx @unstale/cli init` in it.

## pytest-asyncio 1

### Breaking changes

- The minimum supported pytest version is now 8.4.0. (1.4.0) — [release notes](https://github.com/pytest-dev/pytest-asyncio/releases/tag/v1.4.0)
- Support for Python 3.9 was removed. (1.3.0) — [release notes](https://github.com/pytest-dev/pytest-asyncio/releases/tag/v1.3.0)

### Deprecations

- Overriding the fixture is deprecated; use the `pytest_asyncio_loop_factories` hook instead. (1.4.0) — [release notes](https://github.com/pytest-dev/pytest-asyncio/releases/tag/v1.4.0)

### New APIs and options

- A hook returns a mapping of factory names to event loop factories, allowing asyncio tests to be parametrized with custom factories. (1.4.0) — [release notes](https://github.com/pytest-dev/pytest-asyncio/releases/tag/v1.4.0)
- Select a subset of configured loop factories for a test; when a single factory is configured, test names are unchanged. (1.4.0) — [release notes](https://github.com/pytest-dev/pytest-asyncio/releases/tag/v1.4.0)

### Tooling

- pytest-asyncio now supports pytest 9. (1.3.0) — [release notes](https://github.com/pytest-dev/pytest-asyncio/releases/tag/v1.3.0)

### Fixes and other changes

- Synchronous fixture functions now see the correct event loop with custom loop factories, even if test code disrupts the current loop. (1.4.0) — [release notes](https://github.com/pytest-dev/pytest-asyncio/releases/tag/v1.4.0)
- Fixes a ResourceWarning that could occur when a synchronous test called `asyncio.run()` or otherwise unset the current event loop after an async test or fixture. (1.4.0) — [release notes](https://github.com/pytest-dev/pytest-asyncio/releases/tag/v1.4.0)
