From 4c942a42d2060420da02cbbfde80db626b7d59e5 Mon Sep 17 00:00:00 2001 From: Ran Benita Date: Fri, 19 Jun 2026 13:59:11 +0300 Subject: [PATCH] Merge pull request #14627 from pytest-dev/release-9.1.1 Release 9.1.1 (cherry picked from commit 0ad120fa565bc897a1c32b6f2d03b13af779e7fe) --- changelog/14220.bugfix.rst | 1 - changelog/14591.bugfix.rst | 1 - changelog/14606.bugfix.rst | 1 - changelog/14608.bugfix.rst | 2 -- doc/en/announce/index.rst | 1 + doc/en/announce/release-9.1.1.rst | 17 +++++++++++++++++ doc/en/builtin.rst | 2 +- doc/en/changelog.rst | 19 +++++++++++++++++++ doc/en/example/parametrize.rst | 6 +++--- doc/en/example/pythoncollection.rst | 4 ++-- doc/en/example/simple.rst | 2 +- doc/en/getting-started.rst | 2 +- doc/en/how-to/fixtures.rst | 2 +- 13 files changed, 46 insertions(+), 14 deletions(-) delete mode 100644 changelog/14220.bugfix.rst delete mode 100644 changelog/14591.bugfix.rst delete mode 100644 changelog/14606.bugfix.rst delete mode 100644 changelog/14608.bugfix.rst create mode 100644 doc/en/announce/release-9.1.1.rst diff --git a/changelog/14220.bugfix.rst b/changelog/14220.bugfix.rst deleted file mode 100644 index 3545a0970fe..00000000000 --- a/changelog/14220.bugfix.rst +++ /dev/null @@ -1 +0,0 @@ -Fixed a logic bug in :class:`pytest.RaisesGroup` which would might cause it to display incorrect "It matches `FooError()` which was paired with `BarError`" messages. diff --git a/changelog/14591.bugfix.rst b/changelog/14591.bugfix.rst deleted file mode 100644 index 5e8a6243669..00000000000 --- a/changelog/14591.bugfix.rst +++ /dev/null @@ -1 +0,0 @@ -Fixed a regression in pytest 9.1.0 which caused overriding a parametrized fixture with an indirect `@pytest.mark.parametrize` to fail with "duplicate parametrization of ''". diff --git a/changelog/14606.bugfix.rst b/changelog/14606.bugfix.rst deleted file mode 100644 index 4c4e6f39de9..00000000000 --- a/changelog/14606.bugfix.rst +++ /dev/null @@ -1 +0,0 @@ -Fixed ``list-item`` typing errors from mypy in :ref:`@pytest.mark.parametrize ` ``argvalues`` parameter. diff --git a/changelog/14608.bugfix.rst b/changelog/14608.bugfix.rst deleted file mode 100644 index 178da2f662c..00000000000 --- a/changelog/14608.bugfix.rst +++ /dev/null @@ -1,2 +0,0 @@ -Fixed a regression in pytest 9.1.0 where ``conftest.py`` files located in ``/test*`` were no longer loaded as initial conftests when invoked without arguments. -This could cause certain hooks (like :hook:`pytest_addoption`) in these files to not fire. diff --git a/doc/en/announce/index.rst b/doc/en/announce/index.rst index d9b95a2c95f..fcfb88536c3 100644 --- a/doc/en/announce/index.rst +++ b/doc/en/announce/index.rst @@ -6,6 +6,7 @@ Release announcements :maxdepth: 2 + release-9.1.1 release-9.1.0 release-9.0.3 release-9.0.2 diff --git a/doc/en/announce/release-9.1.1.rst b/doc/en/announce/release-9.1.1.rst new file mode 100644 index 00000000000..c4becceefd0 --- /dev/null +++ b/doc/en/announce/release-9.1.1.rst @@ -0,0 +1,17 @@ +pytest-9.1.1 +======================================= + +pytest 9.1.1 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: + +* Bruno Oliveira +* Ran Benita + + +Happy testing, +The pytest Development Team diff --git a/doc/en/builtin.rst b/doc/en/builtin.rst index 3184c9a22e2..97ea7b426a9 100644 --- a/doc/en/builtin.rst +++ b/doc/en/builtin.rst @@ -142,7 +142,7 @@ For information about fixtures, see :ref:`fixtures`. To see a complete list of a For more details: :ref:`doctest_namespace`. - pytestconfig [session scope] -- .../_pytest/fixtures.py:1563 + pytestconfig [session scope] -- .../_pytest/fixtures.py:1564 Session-scoped fixture that returns the session's :class:`pytest.Config` object. diff --git a/doc/en/changelog.rst b/doc/en/changelog.rst index b15c7e48aba..c5601712b00 100644 --- a/doc/en/changelog.rst +++ b/doc/en/changelog.rst @@ -31,6 +31,25 @@ with advance notice in the **Deprecations** section of releases. .. towncrier release notes start +pytest 9.1.1 (2026-06-19) +========================= + +Bug fixes +--------- + +- `#14220 `_: Fixed a logic bug in :class:`pytest.RaisesGroup` which would might cause it to display incorrect "It matches `FooError()` which was paired with `BarError`" messages. + + +- `#14591 `_: Fixed a regression in pytest 9.1.0 which caused overriding a parametrized fixture with an indirect `@pytest.mark.parametrize` to fail with "duplicate parametrization of ''". + + +- `#14606 `_: Fixed ``list-item`` typing errors from mypy in :ref:`@pytest.mark.parametrize ` ``argvalues`` parameter. + + +- `#14608 `_: Fixed a regression in pytest 9.1.0 where ``conftest.py`` files located in ``/test*`` were no longer loaded as initial conftests when invoked without arguments. + This could cause certain hooks (like :hook:`pytest_addoption`) in these files to not fire. + + pytest 9.1.0 (2026-06-13) ========================= diff --git a/doc/en/example/parametrize.rst b/doc/en/example/parametrize.rst index 7e118d0b2ca..8e7e58f9829 100644 --- a/doc/en/example/parametrize.rst +++ b/doc/en/example/parametrize.rst @@ -162,7 +162,7 @@ objects, they are still using the default pytest representation: rootdir: /home/sweet/project collected 8 items - + @@ -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 - + @@ -318,7 +318,7 @@ Let's first see how it looks like at collection time: rootdir: /home/sweet/project collected 2 items - + diff --git a/doc/en/example/pythoncollection.rst b/doc/en/example/pythoncollection.rst index 4f11f0d4dba..3dd87a71cb7 100644 --- a/doc/en/example/pythoncollection.rst +++ b/doc/en/example/pythoncollection.rst @@ -142,7 +142,7 @@ The test collection would look like this: configfile: pytest.toml collected 2 items - + @@ -205,7 +205,7 @@ You can always peek at the collection tree without running tests like this: configfile: pytest.toml collected 3 items - + diff --git a/doc/en/example/simple.rst b/doc/en/example/simple.rst index a07927280ae..dff53488c88 100644 --- a/doc/en/example/simple.rst +++ b/doc/en/example/simple.rst @@ -165,7 +165,7 @@ Now we'll get feedback on a bad argument: $ pytest -q --cmdopt=type3 ERROR: usage: pytest [options] [file_or_dir] [file_or_dir] [...] - pytest: error: argument --cmdopt: invalid choice: 'type3' (choose from type1, type2) + pytest: error: argument --cmdopt: invalid choice: 'type3' (choose from 'type1', 'type2') inifile: None rootdir: /home/sweet/project diff --git a/doc/en/getting-started.rst b/doc/en/getting-started.rst index 1bef840b891..f8deae77e3e 100644 --- a/doc/en/getting-started.rst +++ b/doc/en/getting-started.rst @@ -20,7 +20,7 @@ Install ``pytest`` .. code-block:: bash $ pytest --version - pytest 9.1.0 + pytest 9.1.1 .. _`simpletest`: diff --git a/doc/en/how-to/fixtures.rst b/doc/en/how-to/fixtures.rst index 48c278c194f..0ffc0778f9f 100644 --- a/doc/en/how-to/fixtures.rst +++ b/doc/en/how-to/fixtures.rst @@ -1425,7 +1425,7 @@ Running the above tests results in the following test IDs being used: rootdir: /home/sweet/project collected 12 items - +