Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 0 additions & 5 deletions changelog/13896.bugfix.rst

This file was deleted.

1 change: 0 additions & 1 deletion changelog/13904.bugfix.rst

This file was deleted.

3 changes: 0 additions & 3 deletions changelog/13946.bugfix.rst

This file was deleted.

1 change: 0 additions & 1 deletion changelog/13965.bugfix.rst

This file was deleted.

1 change: 0 additions & 1 deletion changelog/4492.doc.rst

This file was deleted.

1 change: 1 addition & 0 deletions doc/en/announce/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ Release announcements
:maxdepth: 2


release-9.0.2
release-9.0.1
release-9.0.0
release-8.4.2
Expand Down
22 changes: 22 additions & 0 deletions doc/en/announce/release-9.0.2.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
pytest-9.0.2
=======================================

pytest 9.0.2 has just been released to PyPI.

This is a bug-fix release, being a drop-in replacement.

The full changelog is available at https://docs.pytest.org/en/stable/changelog.html.

Thanks to all of the contributors to this release:

* Alex Waygood
* Bruno Oliveira
* Fazeel Usmani
* Florian Bruhin
* Ran Benita
* Tom Most
* 🇺🇦 Sviatoslav Sydorenko (Святослав Сидоренко)


Happy testing,
The pytest Development Team
8 changes: 4 additions & 4 deletions doc/en/builtin.rst
Original file line number Diff line number Diff line change
Expand Up @@ -53,15 +53,15 @@ For information about fixtures, see :ref:`fixtures`. To see a complete list of a

capteesys -- .../_pytest/capture.py:1028
Enable simultaneous text capturing and pass-through of writes
to ``sys.stdout`` and ``sys.stderr`` as defined by :option:`--capture`.
to ``sys.stdout`` and ``sys.stderr`` as defined by ``--capture=``.


The captured output is made available via ``capteesys.readouterr()`` method
calls, which return a ``(out, err)`` namedtuple.
``out`` and ``err`` will be ``text`` objects.

The output is also passed-through, allowing it to be "live-printed",
reported, or both as defined by :option:`--capture`.
reported, or both as defined by ``--capture=``.

Returns an instance of :class:`CaptureFixture[str] <pytest.CaptureFixture>`.

Expand Down Expand Up @@ -257,10 +257,10 @@ For information about fixtures, see :ref:`fixtures`. To see a complete list of a
subtests -- .../_pytest/subtests.py:129
Provides subtests functionality.

tmp_path_factory [session scope] -- .../_pytest/tmpdir.py:240
tmp_path_factory [session scope] -- .../_pytest/tmpdir.py:243
Return a :class:`pytest.TempPathFactory` instance for the test session.

tmp_path -- .../_pytest/tmpdir.py:255
tmp_path -- .../_pytest/tmpdir.py:258
Return a temporary directory (as :class:`pathlib.Path` object)
which is unique to each test function invocation.
The temporary directory is created as a subdirectory
Expand Down
31 changes: 31 additions & 0 deletions doc/en/changelog.rst
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,37 @@ with advance notice in the **Deprecations** section of releases.

.. towncrier release notes start

pytest 9.0.2 (2025-12-06)
=========================

Bug fixes
---------

- `#13896 <https://github.com/pytest-dev/pytest/issues/13896>`_: The terminal progress feature added in pytest 9.0.0 has been disabled by default, except on Windows, due to compatibility issues with some terminal emulators.

You may enable it again by passing ``-p terminalprogress``. We may enable it by default again once compatibility improves in the future.

Additionally, when the environment variable ``TERM`` is ``dumb``, the escape codes are no longer emitted, even if the plugin is enabled.


- `#13904 <https://github.com/pytest-dev/pytest/issues/13904>`_: Fixed the TOML type of the :confval:`tmp_path_retention_count` settings in the API reference from number to string.


- `#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.
Due to its usage in the ecosystem, it is now restored to working order using a compatibility shim.
It will be deprecated in pytest 9.1 and removed in pytest 10.


- `#13965 <https://github.com/pytest-dev/pytest/issues/13965>`_: Fixed quadratic-time behavior when handling ``unittest`` subtests in Python 3.10.



Improved documentation
----------------------

- `#4492 <https://github.com/pytest-dev/pytest/issues/4492>`_: The API Reference now contains cross-reference-able documentation of :ref:`pytest's command-line flags <command-line-flags>`.


pytest 9.0.1 (2025-11-12)
=========================

Expand Down
6 changes: 3 additions & 3 deletions doc/en/example/parametrize.rst
Original file line number Diff line number Diff line change
Expand Up @@ -162,7 +162,7 @@ objects, they are still using the default pytest representation:
rootdir: /home/sweet/project
collected 8 items
<Dir parametrize.rst-211>
<Dir parametrize.rst-212>
<Module test_time.py>
<Function test_timedistance_v0[a0-b0-expected0]>
<Function test_timedistance_v0[a1-b1-expected1]>
Expand Down Expand Up @@ -239,7 +239,7 @@ If you just collect tests you'll also nicely see 'advanced' and 'basic' as varia
rootdir: /home/sweet/project
collected 4 items
<Dir parametrize.rst-211>
<Dir parametrize.rst-212>
<Module test_scenarios.py>
<Class TestSampleWithScenarios>
<Function test_demo1[basic]>
Expand Down Expand Up @@ -318,7 +318,7 @@ Let's first see how it looks like at collection time:
rootdir: /home/sweet/project
collected 2 items
<Dir parametrize.rst-211>
<Dir parametrize.rst-212>
<Module test_backends.py>
<Function test_db_initialized[d1]>
<Function test_db_initialized[d2]>
Expand Down
4 changes: 2 additions & 2 deletions doc/en/example/pythoncollection.rst
Original file line number Diff line number Diff line change
Expand Up @@ -142,7 +142,7 @@ The test collection would look like this:
configfile: pytest.toml
collected 2 items
<Dir pythoncollection.rst-212>
<Dir pythoncollection.rst-213>
<Module check_myapp.py>
<Class CheckMyApp>
<Function simple_check>
Expand Down Expand Up @@ -205,7 +205,7 @@ You can always peek at the collection tree without running tests like this:
configfile: pytest.toml
collected 3 items
<Dir pythoncollection.rst-212>
<Dir pythoncollection.rst-213>
<Dir CWD>
<Module pythoncollection.py>
<Function test_function>
Expand Down
2 changes: 1 addition & 1 deletion doc/en/getting-started.rst
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ Install ``pytest``
.. code-block:: bash

$ pytest --version
pytest 9.0.1
pytest 9.0.2

.. _`simpletest`:

Expand Down
2 changes: 1 addition & 1 deletion doc/en/how-to/fixtures.rst
Original file line number Diff line number Diff line change
Expand Up @@ -1423,7 +1423,7 @@ Running the above tests results in the following test IDs being used:
rootdir: /home/sweet/project
collected 12 items
<Dir fixtures.rst-232>
<Dir fixtures.rst-233>
<Module test_anothersmtp.py>
<Function test_showhelo[smtp.gmail.com]>
<Function test_showhelo[mail.python.org]>
Expand Down
2 changes: 1 addition & 1 deletion doc/en/reference/reference.rst
Original file line number Diff line number Diff line change
Expand Up @@ -3296,7 +3296,7 @@ All the command-line flags can also be obtained by running ``pytest --help``::
tests. Optional argument: glob (default: '*').
--cache-clear Remove all cache contents at start of test run
--lfnf, --last-failed-no-failures={all,none}
With :option:`--lf`, determines whether to execute tests
With ``--lf``, determines whether to execute tests
when there are no previously (known) failures or
when no cached ``lastfailed`` data was found.
``all`` (the default) runs the full test suite
Expand Down