| Editor: | TBD |
|---|
This article explains the new features in Python 3.14, compared to 3.13.
For full details, see the :ref:`changelog <changelog>`.
Note
Prerelease users should be aware that this document is currently in draft form. It will be updated substantially as Python 3.14 moves towards release, so it's worth checking back even after reading earlier versions.
- None yet.
- Remove the type, choices, and metavar parameters of :class:`!argparse.BooleanOptionalAction`. They were deprecated since 3.12.
- Remove :class:`!collections.abc.ByteString`. It had previously raised a :exc:`DeprecationWarning` since Python 3.12.
- Remove the isdst parameter from :func:`email.utils.localtime`. (Contributed by Hugo van Kemenade in :gh:`118798`.)
- Remove :mod:`itertools` support for copy, deepcopy, and pickle operations. These had previously raised a :exc:`DeprecationWarning` since Python 3.12. (Contributed by Raymond Hettinger in :gh:`101588`.)
- Remove support for passing additional keyword arguments to :class:`pathlib.Path`. In previous versions, any such arguments are ignored.
- Remove support for passing additional positional arguments to :meth:`pathlib.PurePath.relative_to` and :meth:`~pathlib.PurePath.is_relative_to`. In previous versions, any such arguments are joined onto other.
- Remove :data:`!version` and :data:`!version_info` from :mod:`sqlite3`. (Contributed by Hugo van Kemenade in :gh:`118924`.)
- Disallow using a sequence of parameters with named placeholders. This had previously raised a :exc:`DeprecationWarning` since Python 3.12; it will now raise a :exc:`sqlite3.ProgrammingError`. (Contributed by Erlend E. Aasland in :gh:`118928` and :gh:`101693`.)
- Remove :class:`!typing.ByteString`. It had previously raised a :exc:`DeprecationWarning` since Python 3.12.
- Using :data:`NotImplemented` in a boolean context will now raise a :exc:`TypeError`. It had previously raised a :exc:`DeprecationWarning` since Python 3.9. (Contributed by Jelle Zijlstra in :gh:`118767`.)
This section lists previously described changes and other bugfixes that may require changes to your code.