Skip to content

Document 3.13, 3.14, 4.0 and future removals #93986

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 8 commits into from
Closed
Changes from 5 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
44 changes: 35 additions & 9 deletions Doc/whatsnew/3.12.rst
Original file line number Diff line number Diff line change
Expand Up @@ -148,11 +148,10 @@ Deprecated
and tailor them to your needs.
(Contributed by Erlend E. Aasland in :gh:`90016`.)


Pending Removal in Python 3.13
------------------------------

The following modules and APIs have been deprecated in earlier Python releases,
The following have been deprecated in earlier Python releases,
and will be removed in Python 3.13.

Modules (see :pep:`594`):
Expand All @@ -177,21 +176,30 @@ Modules (see :pep:`594`):
* :mod:`uu`
* :mod:`xdrlib`

Other modules:

* :mod:`lib2to3`, and the ``2to3`` program (:gh:`84540`)

APIs:

* :class:`configparser.LegacyInterpolation` (:gh:`90765`)
* :func:`locale.getdefaultlocale` (:gh:`90817`)
* :meth:`turtle.RawTurtle.settiltangle` (:gh:`50096`)
* :func:`unittest.findTestCases` (:gh:`50096`)
* :func:`unittest.makeSuite` (:gh:`50096`)
* :func:`unittest.getTestCaseNames` (:gh:`50096`)
* :func:`unittest.makeSuite` (:gh:`50096`)
* :meth:`unittest.TestProgram.usageExit` (:gh:`67048`)
* :class:`webbrowser.MacOSX` (:gh:`86421`)

Pending Removal in Python 3.14
==============================
------------------------------

The following have been deprecated in earlier Python releases,
and will be removed in Python 3.14.

* Deprecated the following :mod:`importlib.abc` classes, scheduled for removal in
Python 3.14:
Classes:

* The following :mod:`importlib.abc` classes:

* :class:`importlib.abc.ResourceReader`
* :class:`importlib.abc.Traversable`
Expand All @@ -205,16 +213,21 @@ Pending Removal in Python 3.14

(Contributed by Jason R. Coombs and Hugo van Kemenade in :gh:`93963`.)

* Creating :c:data:`immutable types <Py_TPFLAGS_IMMUTABLETYPE>` with mutable
bases using the C API.
APIs:

* :meth:`asyncio.Future.cancel`'s *msg* parameter (:gh:`90985`)
* :meth:`asyncio.Task.cancel`'s *msg* parameter (:gh:`90985`)
* Creating :c:data:`immutable types <Py_TPFLAGS_IMMUTABLETYPE>` with mutable
bases using the C API (:gh:`95388`)

Pending Removal in Future Versions
----------------------------------

The following APIs were deprecated in earlier Python versions and will be removed,
The following were deprecated in earlier Python versions and will be removed,
although there is currently no date scheduled for their removal.

* :mod:`array`'s ``'u'`` format code (:gh:`57281`)

* :class:`typing.Text` (:gh:`92332`)

* Currently Python accepts numeric literals immediately followed by keywords,
Expand All @@ -226,6 +239,19 @@ although there is currently no date scheduled for their removal.
:keyword:`for`, :keyword:`if`, :keyword:`in`, :keyword:`is` and :keyword:`or`.
In a future release it will be changed to a syntax error. (:gh:`87999`)

* :func:`asyncio.get_event_loop` emits a :exc:`DeprecationWarning` if there is
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The deprecation plans for this function have changed. See #100970 for the updated deprecation notice.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the note! This PR has got pretty out of date...

no running event loop. In the future it will be an alias of
:func:`~asyncio.get_running_loop`.
:mod:`asyncio` functions which implicitly create :class:`~asyncio.Future`
or :class:`~asyncio.Task` objects now emit
a deprecation warning if there is no running event loop and no explicit
*loop* argument is passed: :func:`~asyncio.ensure_future`,
:func:`~asyncio.wrap_future`, :func:`~asyncio.gather`,
:func:`~asyncio.shield`, :func:`~asyncio.as_completed` and constructors of
:class:`~asyncio.Future`, :class:`~asyncio.Task`,
:class:`~asyncio.StreamReader`, :class:`~asyncio.StreamReaderProtocol`.
(:gh:`83710`)


Removed
=======
Expand Down