Pending Removal in Python 3.14
------------------------------
-* The import system:
-
- * Setting :attr:`~module.__loader__` on a module while
- failing to set :attr:`__spec__.loader <importlib.machinery.ModuleSpec.loader>`
- is deprecated. In Python 3.14, :attr:`!__loader__` will cease to be set or
- taken into consideration by the import system or the standard library.
-
* :mod:`argparse`: The *type*, *choices*, and *metavar* parameters
of :class:`!argparse.BooleanOptionalAction` are deprecated
and will be removed in 3.14.
-Pending Removal in Python 3.16
+Pending removal in Python 3.16
------------------------------
-* :mod:`builtins`:
+* The import system:
- * Bitwise inversion on boolean types, ``~True`` or ``~False``
- has been deprecated since Python 3.12,
- as it produces surprising and unintuitive results (``-2`` and ``-1``).
- Use ``not x`` instead for the logical negation of a Boolean.
- In the rare case that you need the bitwise inversion of
- the underlying integer, convert to ``int`` explicitly (``~int(x)``).
+ * Setting :attr:`~module.__loader__` on a module while
+ failing to set :attr:`__spec__.loader <importlib.machinery.ModuleSpec.loader>`
+ is deprecated. In Python 3.16, :attr:`!__loader__` will cease to be set or
+ taken into consideration by the import system or the standard library.
* :mod:`array`:
Use the ``'w'`` format code (:c:type:`Py_UCS4`)
for Unicode characters instead.
+* :mod:`asyncio`:
+
+ * :func:`!asyncio.iscoroutinefunction` is deprecated
+ and will be removed in Python 3.16,
+ use :func:`inspect.iscoroutinefunction` instead.
+ (Contributed by Jiahao Li and Kumar Aditya in :gh:`122875`.)
+
+* :mod:`builtins`:
+
+ * Bitwise inversion on boolean types, ``~True`` or ``~False``
+ has been deprecated since Python 3.12,
+ as it produces surprising and unintuitive results (``-2`` and ``-1``).
+ Use ``not x`` instead for the logical negation of a Boolean.
+ In the rare case that you need the bitwise inversion of
+ the underlying integer, convert to ``int`` explicitly (``~int(x)``).
+
* :mod:`shutil`:
* The :class:`!ExecError` exception
using the :class:`types.ModuleType` constructor.
Previously the attribute was optional.
- .. deprecated-removed:: 3.12 3.14
+ .. deprecated-removed:: 3.12 3.16
Setting :attr:`!__loader__` on a module while failing to set
- :attr:`!__spec__.loader` is deprecated. In Python 3.14,
+ :attr:`!__spec__.loader` is deprecated. In Python 3.16,
:attr:`!__loader__` will cease to be set or taken into consideration by
the import system or the standard library.