Skip to content

Commit b55ab2a

Browse files
committed
Prepare release version 8.3.5
1 parent e217726 commit b55ab2a

19 files changed

+102
-42
lines changed

changelog/11777.bugfix.rst

-1
This file was deleted.

changelog/12842.doc.rst

-3
This file was deleted.

changelog/12888.bugfix.rst

-1
This file was deleted.

changelog/13026.bugfix.rst

-1
This file was deleted.

changelog/13053.bugfix.rst

-1
This file was deleted.

changelog/13083.bugfix.rst

-1
This file was deleted.

changelog/13112.contrib.rst

-1
This file was deleted.

changelog/13256.contrib.rst

-2
This file was deleted.

doc/en/announce/index.rst

+1
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ Release announcements
66
:maxdepth: 2
77

88

9+
release-8.3.5
910
release-8.3.4
1011
release-8.3.3
1112
release-8.3.2

doc/en/announce/release-8.3.5.rst

+26
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
pytest-8.3.5
2+
=======================================
3+
4+
pytest 8.3.5 has just been released to PyPI.
5+
6+
This is a bug-fix release, being a drop-in replacement.
7+
8+
The full changelog is available at https://docs.pytest.org/en/stable/changelog.html.
9+
10+
Thanks to all of the contributors to this release:
11+
12+
* Bruno Oliveira
13+
* Florian Bruhin
14+
* John Litborn
15+
* Kenny Y
16+
* Ran Benita
17+
* Sadra Barikbin
18+
* Vincent (Wen Yu) Ge
19+
* delta87
20+
* dongfangtianyu
21+
* mwychung
22+
* 🇺🇦 Sviatoslav Sydorenko (Святослав Сидоренко)
23+
24+
25+
Happy testing,
26+
The pytest Development Team

doc/en/builtin.rst

+4-4
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ For information about fixtures, see :ref:`fixtures`. To see a complete list of a
3333
3434
Values can be any object handled by the json stdlib module.
3535
36-
capsysbinary -- .../_pytest/capture.py:1006
36+
capsysbinary -- .../_pytest/capture.py:1024
3737
Enable bytes capturing of writes to ``sys.stdout`` and ``sys.stderr``.
3838
3939
The captured output is made available via ``capsysbinary.readouterr()``
@@ -51,7 +51,7 @@ For information about fixtures, see :ref:`fixtures`. To see a complete list of a
5151
captured = capsysbinary.readouterr()
5252
assert captured.out == b"hello\n"
5353
54-
capfd -- .../_pytest/capture.py:1034
54+
capfd -- .../_pytest/capture.py:1052
5555
Enable text capturing of writes to file descriptors ``1`` and ``2``.
5656
5757
The captured output is made available via ``capfd.readouterr()`` method
@@ -69,7 +69,7 @@ For information about fixtures, see :ref:`fixtures`. To see a complete list of a
6969
captured = capfd.readouterr()
7070
assert captured.out == "hello\n"
7171
72-
capfdbinary -- .../_pytest/capture.py:1062
72+
capfdbinary -- .../_pytest/capture.py:1080
7373
Enable bytes capturing of writes to file descriptors ``1`` and ``2``.
7474
7575
The captured output is made available via ``capfd.readouterr()`` method
@@ -87,7 +87,7 @@ For information about fixtures, see :ref:`fixtures`. To see a complete list of a
8787
captured = capfdbinary.readouterr()
8888
assert captured.out == b"hello\n"
8989
90-
capsys -- .../_pytest/capture.py:978
90+
capsys -- .../_pytest/capture.py:996
9191
Enable text capturing of writes to ``sys.stdout`` and ``sys.stderr``.
9292
9393
The captured output is made available via ``capsys.readouterr()`` method

doc/en/changelog.rst

+41
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,47 @@ with advance notice in the **Deprecations** section of releases.
3131

3232
.. towncrier release notes start
3333
34+
pytest 8.3.5 (2025-03-02)
35+
=========================
36+
37+
Bug fixes
38+
---------
39+
40+
- `#11777 <https://github.com/pytest-dev/pytest/issues/11777>`_: Fixed issue where sequences were still being shortened even with ``-vv`` verbosity.
41+
42+
43+
- `#12888 <https://github.com/pytest-dev/pytest/issues/12888>`_: Fixed broken input when using Python 3.13+ and a ``libedit`` build of Python, such as on macOS or with uv-managed Python binaries from the ``python-build-standalone`` project. This could manifest e.g. by a broken prompt when using ``Pdb``, or seeing empty inputs with manual usage of ``input()`` and suspended capturing.
44+
45+
46+
- `#13026 <https://github.com/pytest-dev/pytest/issues/13026>`_: Fixed :class:`AttributeError` crash when using ``--import-mode=importlib`` when top-level directory same name as another module of the standard library.
47+
48+
49+
- `#13053 <https://github.com/pytest-dev/pytest/issues/13053>`_: Fixed a regression in pytest 8.3.4 where, when using ``--import-mode=importlib``, a directory containing py file with the same name would cause an ``ImportError``
50+
51+
52+
- `#13083 <https://github.com/pytest-dev/pytest/issues/13083>`_: Fixed issue where pytest could crash if one of the collected directories got removed during collection.
53+
54+
55+
56+
Improved documentation
57+
----------------------
58+
59+
- `#12842 <https://github.com/pytest-dev/pytest/issues/12842>`_: Added dedicated page about using types with pytest.
60+
61+
See :ref:`types` for detailed usage.
62+
63+
64+
65+
Contributor-facing changes
66+
--------------------------
67+
68+
- `#13112 <https://github.com/pytest-dev/pytest/issues/13112>`_: Fixed selftest failures in ``test_terminal.py`` with Pygments >= 2.19.0
69+
70+
71+
- `#13256 <https://github.com/pytest-dev/pytest/issues/13256>`_: Support for Towncier versions released in 2024 has been re-enabled
72+
when building Sphinx docs -- by :user:`webknjaz`.
73+
74+
3475
pytest 8.3.4 (2024-12-01)
3576
=========================
3677

doc/en/example/parametrize.rst

+8-7
Original file line numberDiff line numberDiff line change
@@ -162,7 +162,7 @@ objects, they are still using the default pytest representation:
162162
rootdir: /home/sweet/project
163163
collected 8 items
164164
165-
<Dir parametrize.rst-205>
165+
<Dir parametrize.rst-206>
166166
<Module test_time.py>
167167
<Function test_timedistance_v0[a0-b0-expected0]>
168168
<Function test_timedistance_v0[a1-b1-expected1]>
@@ -239,7 +239,7 @@ If you just collect tests you'll also nicely see 'advanced' and 'basic' as varia
239239
rootdir: /home/sweet/project
240240
collected 4 items
241241
242-
<Dir parametrize.rst-205>
242+
<Dir parametrize.rst-206>
243243
<Module test_scenarios.py>
244244
<Class TestSampleWithScenarios>
245245
<Function test_demo1[basic]>
@@ -318,7 +318,7 @@ Let's first see how it looks like at collection time:
318318
rootdir: /home/sweet/project
319319
collected 2 items
320320
321-
<Dir parametrize.rst-205>
321+
<Dir parametrize.rst-206>
322322
<Module test_backends.py>
323323
<Function test_db_initialized[d1]>
324324
<Function test_db_initialized[d2]>
@@ -503,11 +503,12 @@ Running it results in some skips if we don't have all the python interpreters in
503503
.. code-block:: pytest
504504
505505
. $ pytest -rs -q multipython.py
506-
ssssssssssss...ssssssssssss [100%]
506+
sssssssssssssssssssssssssss [100%]
507507
========================= short test summary info ==========================
508-
SKIPPED [12] multipython.py:67: 'python3.9' not found
509-
SKIPPED [12] multipython.py:67: 'python3.11' not found
510-
3 passed, 24 skipped in 0.12s
508+
SKIPPED [9] multipython.py:67: 'python3.9' not found
509+
SKIPPED [9] multipython.py:67: 'python3.10' not found
510+
SKIPPED [9] multipython.py:67: 'python3.11' not found
511+
27 skipped in 0.12s
511512
512513
Parametrization of optional implementations/imports
513514
---------------------------------------------------

doc/en/example/pythoncollection.rst

+2-2
Original file line numberDiff line numberDiff line change
@@ -152,7 +152,7 @@ The test collection would look like this:
152152
configfile: pytest.ini
153153
collected 2 items
154154
155-
<Dir pythoncollection.rst-206>
155+
<Dir pythoncollection.rst-207>
156156
<Module check_myapp.py>
157157
<Class CheckMyApp>
158158
<Function simple_check>
@@ -215,7 +215,7 @@ You can always peek at the collection tree without running tests like this:
215215
configfile: pytest.ini
216216
collected 3 items
217217
218-
<Dir pythoncollection.rst-206>
218+
<Dir pythoncollection.rst-207>
219219
<Dir CWD>
220220
<Module pythoncollection.py>
221221
<Function test_function>

doc/en/example/reportingdemo.rst

+9-9
Original file line numberDiff line numberDiff line change
@@ -568,12 +568,12 @@ Here is a nice run of several failures and how ``pytest`` presents things:
568568
E + where False = <built-in method startswith of str object at 0xdeadbeef0027>('456')
569569
E + where <built-in method startswith of str object at 0xdeadbeef0027> = '123'.startswith
570570
E + where '123' = <function TestMoreErrors.test_startswith_nested.<locals>.f at 0xdeadbeef0029>()
571-
E + and '456' = <function TestMoreErrors.test_startswith_nested.<locals>.g at 0xdeadbeef002a>()
571+
E + and '456' = <function TestMoreErrors.test_startswith_nested.<locals>.g at 0xdeadbeef0003>()
572572
573573
failure_demo.py:237: AssertionError
574574
_____________________ TestMoreErrors.test_global_func ______________________
575575
576-
self = <failure_demo.TestMoreErrors object at 0xdeadbeef002b>
576+
self = <failure_demo.TestMoreErrors object at 0xdeadbeef002a>
577577
578578
def test_global_func(self):
579579
> assert isinstance(globf(42), float)
@@ -584,18 +584,18 @@ Here is a nice run of several failures and how ``pytest`` presents things:
584584
failure_demo.py:240: AssertionError
585585
_______________________ TestMoreErrors.test_instance _______________________
586586
587-
self = <failure_demo.TestMoreErrors object at 0xdeadbeef002c>
587+
self = <failure_demo.TestMoreErrors object at 0xdeadbeef002b>
588588
589589
def test_instance(self):
590590
self.x = 6 * 7
591591
> assert self.x != 42
592592
E assert 42 != 42
593-
E + where 42 = <failure_demo.TestMoreErrors object at 0xdeadbeef002c>.x
593+
E + where 42 = <failure_demo.TestMoreErrors object at 0xdeadbeef002b>.x
594594
595595
failure_demo.py:244: AssertionError
596596
_______________________ TestMoreErrors.test_compare ________________________
597597
598-
self = <failure_demo.TestMoreErrors object at 0xdeadbeef002d>
598+
self = <failure_demo.TestMoreErrors object at 0xdeadbeef002c>
599599
600600
def test_compare(self):
601601
> assert globf(10) < 5
@@ -605,7 +605,7 @@ Here is a nice run of several failures and how ``pytest`` presents things:
605605
failure_demo.py:247: AssertionError
606606
_____________________ TestMoreErrors.test_try_finally ______________________
607607
608-
self = <failure_demo.TestMoreErrors object at 0xdeadbeef002e>
608+
self = <failure_demo.TestMoreErrors object at 0xdeadbeef002d>
609609
610610
def test_try_finally(self):
611611
x = 1
@@ -616,7 +616,7 @@ Here is a nice run of several failures and how ``pytest`` presents things:
616616
failure_demo.py:252: AssertionError
617617
___________________ TestCustomAssertMsg.test_single_line ___________________
618618
619-
self = <failure_demo.TestCustomAssertMsg object at 0xdeadbeef002f>
619+
self = <failure_demo.TestCustomAssertMsg object at 0xdeadbeef002e>
620620
621621
def test_single_line(self):
622622
class A:
@@ -631,7 +631,7 @@ Here is a nice run of several failures and how ``pytest`` presents things:
631631
failure_demo.py:263: AssertionError
632632
____________________ TestCustomAssertMsg.test_multiline ____________________
633633
634-
self = <failure_demo.TestCustomAssertMsg object at 0xdeadbeef0030>
634+
self = <failure_demo.TestCustomAssertMsg object at 0xdeadbeef002f>
635635
636636
def test_multiline(self):
637637
class A:
@@ -650,7 +650,7 @@ Here is a nice run of several failures and how ``pytest`` presents things:
650650
failure_demo.py:270: AssertionError
651651
___________________ TestCustomAssertMsg.test_custom_repr ___________________
652652
653-
self = <failure_demo.TestCustomAssertMsg object at 0xdeadbeef0031>
653+
self = <failure_demo.TestCustomAssertMsg object at 0xdeadbeef0030>
654654
655655
def test_custom_repr(self):
656656
class JSON:

doc/en/example/simple.rst

+1-1
Original file line numberDiff line numberDiff line change
@@ -164,7 +164,7 @@ Now we'll get feedback on a bad argument:
164164
165165
$ pytest -q --cmdopt=type3
166166
ERROR: usage: pytest [options] [file_or_dir] [file_or_dir] [...]
167-
pytest: error: argument --cmdopt: invalid choice: 'type3' (choose from 'type1', 'type2')
167+
pytest: error: argument --cmdopt: invalid choice: 'type3' (choose from type1, type2)
168168
169169
170170
If you need to provide more detailed error messages, you can use the

doc/en/getting-started.rst

+1-1
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ Install ``pytest``
2222
.. code-block:: bash
2323
2424
$ pytest --version
25-
pytest 8.3.4
25+
pytest 8.3.5
2626
2727
.. _`simpletest`:
2828

doc/en/how-to/fixtures.rst

+1-1
Original file line numberDiff line numberDiff line change
@@ -1418,7 +1418,7 @@ Running the above tests results in the following test IDs being used:
14181418
rootdir: /home/sweet/project
14191419
collected 12 items
14201420
1421-
<Dir fixtures.rst-225>
1421+
<Dir fixtures.rst-227>
14221422
<Module test_anothersmtp.py>
14231423
<Function test_showhelo[smtp.gmail.com]>
14241424
<Function test_showhelo[mail.python.org]>

doc/en/reference/reference.rst

+8-6
Original file line numberDiff line numberDiff line change
@@ -1988,7 +1988,7 @@ All the command-line flags can be obtained by running ``pytest --help``::
19881988
Show cache contents, don't perform collection or
19891989
tests. Optional argument: glob (default: '*').
19901990
--cache-clear Remove all cache contents at start of test run
1991-
--lfnf={all,none}, --last-failed-no-failures={all,none}
1991+
--lfnf, --last-failed-no-failures={all,none}
19921992
With ``--lf``, determines whether to execute tests
19931993
when there are no previously (known) failures or
19941994
when no cached ``lastfailed`` data was found.
@@ -2034,11 +2034,13 @@ All the command-line flags can be obtained by running ``pytest --help``::
20342034
Whether code should be highlighted (only if --color
20352035
is also enabled). Default: yes.
20362036
--pastebin=mode Send failed|all info to bpaste.net pastebin service
2037-
--junit-xml=path Create junit-xml style report file at given path
2038-
--junit-prefix=str Prepend prefix to classnames in junit-xml output
2037+
--junitxml, --junit-xml=path
2038+
Create junit-xml style report file at given path
2039+
--junitprefix, --junit-prefix=str
2040+
Prepend prefix to classnames in junit-xml output
20392041

20402042
pytest-warnings:
2041-
-W PYTHONWARNINGS, --pythonwarnings=PYTHONWARNINGS
2043+
-W, --pythonwarnings PYTHONWARNINGS
20422044
Set which warnings to report, see -W option of
20432045
Python itself
20442046
--maxfail=num Exit after first num failures or errors
@@ -2047,7 +2049,7 @@ All the command-line flags can be obtained by running ``pytest --help``::
20472049
--strict-markers Markers not registered in the `markers` section of
20482050
the configuration file raise errors
20492051
--strict (Deprecated) alias to --strict-markers
2050-
-c FILE, --config-file=FILE
2052+
-c, --config-file FILE
20512053
Load configuration from `FILE` instead of trying to
20522054
locate one of the implicit configuration files.
20532055
--continue-on-collection-errors
@@ -2101,7 +2103,7 @@ All the command-line flags can be obtained by running ``pytest --help``::
21012103
Store internal tracing debug information in this log
21022104
file. This file is opened with 'w' and truncated as
21032105
a result, care advised. Default: pytestdebug.log.
2104-
-o OVERRIDE_INI, --override-ini=OVERRIDE_INI
2106+
-o, --override-ini OVERRIDE_INI
21052107
Override ini option with "option=value" style, e.g.
21062108
`-o xfail_strict=True -o cache_dir=cache`.
21072109
--assert=MODE Control assertion debugging tools.

0 commit comments

Comments
 (0)