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
1 change: 0 additions & 1 deletion changelog/12444.bugfix.rst

This file was deleted.

5 changes: 0 additions & 5 deletions changelog/12689.contrib.rst

This file was deleted.

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

This file was deleted.

5 changes: 0 additions & 5 deletions changelog/13634.bugfix.rst

This file was deleted.

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

This file was deleted.

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

This file was deleted.

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

This file was deleted.

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

This file was deleted.

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

This file was deleted.

1 change: 0 additions & 1 deletion changelog/14343.bugfix.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.3
release-9.0.2
release-9.0.1
release-9.0.0
Expand Down
38 changes: 38 additions & 0 deletions doc/en/announce/release-9.0.3.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
pytest-9.0.3
=======================================

pytest 9.0.3 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:

* Aditya Giri
* Alejandro Villate
* Bruno Oliveira
* Bubble-Interface
* Charles-Meldhine Madi Mnemoi
* DavidAG
* Denis Cherednichenko
* Dr Alex Mitre
* Freya
* Freya Bruhin
* Hugo van Kemenade
* John Litborn
* Liam DeVoe
* Lily Wu
* Maxime Grenu
* Ran Benita
* Randy Döring
* Ronald Eddy Jr
* Samuel Newbold
* Tejas Verma
* Vladimir
* jxramos
* 🇺🇦 Sviatoslav Sydorenko (Святослав Сидоренко)


Happy testing,
The pytest Development Team
4 changes: 2 additions & 2 deletions doc/en/builtin.rst
Original file line number Diff line number Diff line change
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:243
tmp_path_factory [session scope] -- .../_pytest/tmpdir.py:265
Return a :class:`pytest.TempPathFactory` instance for the test session.

tmp_path -- .../_pytest/tmpdir.py:258
tmp_path -- .../_pytest/tmpdir.py:280
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
52 changes: 52 additions & 0 deletions doc/en/changelog.rst
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,58 @@ with advance notice in the **Deprecations** section of releases.

.. towncrier release notes start

pytest 9.0.3 (2026-04-07)
=========================

Bug fixes
---------

- `#12444 <https://github.com/pytest-dev/pytest/issues/12444>`_: Fixed :func:`pytest.approx` which now correctly takes into account :class:`~collections.abc.Mapping` keys order to compare them.


- `#13634 <https://github.com/pytest-dev/pytest/issues/13634>`_: Blocking a ``conftest.py`` file using the ``-p no:`` option is now explicitly disallowed.

Previously this resulted in an internal assertion failure during plugin loading.

Pytest now raises a clear ``UsageError`` explaining that conftest files are not plugins and cannot be disabled via ``-p``.


- `#13734 <https://github.com/pytest-dev/pytest/issues/13734>`_: Fixed crash when a test raises an exceptiongroup with ``__tracebackhide__ = True``.


- `#14195 <https://github.com/pytest-dev/pytest/issues/14195>`_: Fixed an issue where non-string messages passed to `unittest.TestCase.subTest()` were not printed.


- `#14343 <https://github.com/pytest-dev/pytest/issues/14343>`_: Fixed use of insecure temporary directory (CVE-2025-71176).



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

- `#13388 <https://github.com/pytest-dev/pytest/issues/13388>`_: Clarified documentation for ``-p`` vs ``PYTEST_PLUGINS`` plugin loading and fixed an incorrect ``-p`` example.


- `#13731 <https://github.com/pytest-dev/pytest/issues/13731>`_: Clarified that capture fixtures (e.g. ``capsys`` and ``capfd``) take precedence over the ``-s`` / ``--capture=no`` command-line options in :ref:`Accessing captured output from a test function <accessing-captured-output>`.


- `#14088 <https://github.com/pytest-dev/pytest/issues/14088>`_: Clarified that the default :hook:`pytest_collection` hook sets ``session.items`` before it calls :hook:`pytest_collection_finish`, not after.


- `#14255 <https://github.com/pytest-dev/pytest/issues/14255>`_: TOML integer log levels must be quoted: Updating reference documentation.



Contributor-facing changes
--------------------------

- `#12689 <https://github.com/pytest-dev/pytest/issues/12689>`_: The test reports are now published to Codecov from GitHub Actions.
The test statistics is visible `on the web interface
<https://app.codecov.io/gh/pytest-dev/pytest/tests>`__.

-- by :user:`aleguy02`


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

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-212>
<Dir parametrize.rst-213>
<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-212>
<Dir parametrize.rst-213>
<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-212>
<Dir parametrize.rst-213>
<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-213>
<Dir pythoncollection.rst-214>
<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-213>
<Dir pythoncollection.rst-214>
<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.2
pytest 9.0.3

.. _`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-233>
<Dir fixtures.rst-234>
<Module test_anothersmtp.py>
<Function test_showhelo[smtp.gmail.com]>
<Function test_showhelo[mail.python.org]>
Expand Down
Loading