bpo-39674: Suggest to test with DeprecationWarning (GH-18552)
Add a section in What's New In Python 3.9 to strongly advice to check for DeprecationWarning in your Python projects. Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
This commit is contained in:
parent
469325c30e
commit
116fd4af73
|
@ -66,6 +66,34 @@ Summary -- Release highlights
|
||||||
.. PEP-sized items next.
|
.. PEP-sized items next.
|
||||||
|
|
||||||
|
|
||||||
|
You should check for DeprecationWarning in your code
|
||||||
|
====================================================
|
||||||
|
|
||||||
|
When Python 2.7 was still supported, many functions were kept for backward
|
||||||
|
compatibility with Python 2.7. With the end of Python 2.7 support, these
|
||||||
|
backward compatibility layers have been removed, or will be removed soon.
|
||||||
|
Most of them emitted a :exc:`DeprecationWarning` warning for several years. For
|
||||||
|
example, using ``collections.Mapping`` instead of ``collections.abc.Mapping``
|
||||||
|
emits a :exc:`DeprecationWarning` since Python 3.3, released in 2012.
|
||||||
|
|
||||||
|
Test your application with the :option:`-W` ``default`` command-line option to see
|
||||||
|
:exc:`DeprecationWarning` and :exc:`PendingDeprecationWarning`, or even with
|
||||||
|
:option:`-W` ``error`` to treat them as errors. :ref:`Warnings Filter
|
||||||
|
<warning-filter>` can be used to ignore warnings from third-party code.
|
||||||
|
|
||||||
|
It has been decided to keep a few backward compatibility layers for one last
|
||||||
|
release, to give more time to Python projects maintainers to organize the
|
||||||
|
removal of the Python 2 support and add support for Python 3.9.
|
||||||
|
|
||||||
|
Aliases to ref:`Abstract Base Classes <collections-abstract-base-classes>` in
|
||||||
|
the :mod:`collections` module, like ``collections.Mapping`` alias to
|
||||||
|
:class:`collections.abc.Mapping`, are kept for one last release for backward
|
||||||
|
compatibility. They will be removed from Python 3.10.
|
||||||
|
|
||||||
|
More generally, try to run your tests in the :ref:`Python Development Mode
|
||||||
|
<devmode>` which helps to prepare your code to make it compatible with the
|
||||||
|
next Python version.
|
||||||
|
|
||||||
|
|
||||||
New Features
|
New Features
|
||||||
============
|
============
|
||||||
|
|
Loading…
Reference in New Issue