Skip to content

Commit 77bd0aa

Browse files
authored
Merge pull request #2931 from nicoddemus/deprecation-roadmap-docs
Add Deprecation Roadmap to backward compatibility document
2 parents 74aaf91 + b0f558d commit 77bd0aa

File tree

1 file changed

+86
-0
lines changed

1 file changed

+86
-0
lines changed

doc/en/backwards-compatibility.rst

Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,3 +10,89 @@ With the pytest 3.0 release we introduced a clear communication scheme for when
1010
To communicate changes we are already issuing deprecation warnings, but they are not displayed by default. In pytest 3.0 we changed the default setting so that pytest deprecation warnings are displayed if not explicitly silenced (with ``--disable-pytest-warnings``).
1111

1212
We will only remove deprecated functionality in major releases (e.g. if we deprecate something in 3.0 we will remove it in 4.0), and keep it around for at least two minor releases (e.g. if we deprecate something in 3.9 and 4.0 is the next release, we will not remove it in 4.0 but in 5.0).
13+
14+
15+
Deprecation Roadmap
16+
-------------------
17+
18+
This page lists deprecated features and when we plan to remove them. It is important to list the feature, the version where it got deprecated and the version we plan to remove it.
19+
20+
Following our deprecation policy, we should aim to keep features for *at least* two minor versions after it was considered deprecated.
21+
22+
23+
Future Releases
24+
~~~~~~~~~~~~~~~
25+
26+
3.4
27+
^^^
28+
29+
**Old style classes**
30+
31+
Issue: `#2147 <https://github.com/pytest-dev/pytest/issues/2147>`_.
32+
33+
Deprecated in ``3.2``.
34+
35+
4.0
36+
^^^
37+
38+
**Yield tests**
39+
40+
Deprecated in ``3.0``.
41+
42+
**pytest-namespace hook**
43+
44+
deprecated in ``3.2``.
45+
46+
**Marks in parameter sets**
47+
48+
Deprecated in ``3.2``.
49+
50+
**--result-log**
51+
52+
Deprecated in ``3.0``.
53+
54+
See `#830 <https://github.com/pytest-dev/pytest/issues/830>`_ for more information. Suggested alternative: `pytest-tap <https://pypi.python.org/pypi/pytest-tap>`_.
55+
56+
**metafunc.addcall**
57+
58+
Issue: `#2876 <https://github.com/pytest-dev/pytest/issues/2876>`_.
59+
60+
Deprecated in ``3.3``.
61+
62+
**pytest_plugins in non-toplevel conftests**
63+
64+
There is a deep conceptual confusion as ``conftest.py`` files themselves are activated/deactivated based on path, but the plugins they depend on aren't.
65+
66+
Issue: `#2639 <https://github.com/pytest-dev/pytest/issues/2639>`_.
67+
68+
Not yet officially deprecated.
69+
70+
**passing a single string to pytest.main()**
71+
72+
Pass a list of strings to ``pytest.main()`` instead.
73+
74+
Deprecated in ``3.1``.
75+
76+
**[pytest] section in setup.cfg**
77+
78+
Use ``[tool:pytest]`` instead for compatibility with other tools.
79+
80+
Deprecated in ``3.0``.
81+
82+
Past Releases
83+
~~~~~~~~~~~~~
84+
85+
3.0
86+
^^^
87+
88+
* The following deprecated commandline options were removed:
89+
90+
* ``--genscript``: no longer supported;
91+
* ``--no-assert``: use ``--assert=plain`` instead;
92+
* ``--nomagic``: use ``--assert=plain`` instead;
93+
* ``--report``: use ``-r`` instead;
94+
95+
* Removed all ``py.test-X*`` entry points. The versioned, suffixed entry points
96+
were never documented and a leftover from a pre-virtualenv era. These entry
97+
points also created broken entry points in wheels, so removing them also
98+
removes a source of confusion for users.

0 commit comments

Comments
 (0)