No breaking-change keywords detected in release notes.
9.1.0
2026-06-13
⚠ Potential breaking changes
Removals and backward incompatible breaking changes
Deprecations (removal in next major release)
[\#13946](https://github.com/pytest-dev/pytest/issues/13946): The private `config.inicfg` attribute is now deprecated.
This will be removed in pytest 10.
[\#14335](https://github.com/pytest-dev/pytest/issues/14335): The method of configuring hooks using markers, deprecated since pytest 7.2, is now scheduled to be removed in pytest 10.
[\#14434](https://github.com/pytest-dev/pytest/issues/14434): The `--pastebin` option is now deprecated.
See `pastebin-deprecated` for more details.
[\#14513](https://github.com/pytest-dev/pytest/issues/14513): The private `FixtureDef.has_location` attribute is now deprecated and will be removed in pytest 10.
See `fixturedef-has-location-deprecated` for details.
[\#1764](https://github.com/pytest-dev/pytest/issues/1764): `pytest.console_main` is now deprecated and will be removed in pytest 10.
9.0.3
2026-04-07
No breaking-change keywords detected in release notes.
9.0.2
2025-12-06
⚠ Potential breaking changes
Additionally, when the environment variable `TERM` is `dumb`, the escape codes are no longer emitted, even if the plugin is enabled.
[\#13946](https://github.com/pytest-dev/pytest/issues/13946): The private `config.inicfg` attribute was changed in a breaking manner in pytest 9.0.0.
It will be deprecated in pytest 9.1 and removed in pytest 10.
9.0.1
2025-11-12
No breaking-change keywords detected in release notes.
9.0.0
2025-11-08
⚠ Potential breaking changes
The previously-deprecated `--strict` command-line flag now enables strict mode.
allowing for more flexibility in configuration naming and supporting backward compatibility when renaming options.
[\#13574](https://github.com/pytest-dev/pytest/issues/13574): The single argument `--version` no longer loads the entire plugin infrastructure, making it faster and more reliable when displaying only the pytest version.
Removals and backward incompatible breaking changes
The fix entails a few breaking changes to how such overlapping arguments and duplicates are handled:
[\#13779](https://github.com/pytest-dev/pytest/issues/13779): **PytestRemovedIn9Warning deprecation warnings are now errors by default.
Following our plan to remove deprecated features with as little disruption as
possible, all warnings of type `PytestRemovedIn9Warning` now generate errors
The affected features will be effectively removed in pytest 9.1**, so please consult the
deprecations` section in the docs for directions on how to update existing code.
8.4.2
2025-09-04
⚠ Potential breaking changes
[#13549](https://github.com/pytest-dev/pytest/issues/13549): No longer evaluate type annotations in Python `3.14` when inspecting function signatures.
8.4.1
2025-06-18
⚠ Potential breaking changes
break correct code when using `-o log_cli=true`).
[#13477](https://github.com/pytest-dev/pytest/issues/13477): Reintroduced `pytest.PytestReturnNotNoneWarning`{.interpreted-text role="class"} which was removed by accident in pytest [8.4]{.title-ref}.