| 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.
- The type, choices, and metavar parameters of :class:`!argparse.BooleanOptionalAction` are removed. They were deprecated since 3.12.
- The isdst parameter has been removed from :func:`email.utils.localtime`. (Contributed by Hugo van Kemenade in :gh:`118798`.)
- 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.
- 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`.)
- :class:`!typing.ByteString` and :class:`!collections.abc.ByteString` are removed. They had previously raised a :exc:`DeprecationWarning` since Python 3.12.
- :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`.)
This section lists previously described changes and other bugfixes that may require changes to your code.