@@ -690,26 +690,6 @@ collections
690690 (Contributed by Raymond Hettinger in :gh: `138682 `.)
691691
692692
693- collections.abc
694- ---------------
695-
696- * :class: `collections.abc.ByteString ` has been removed from
697- ``collections.abc.__all__ ``. :class: `!collections.abc.ByteString ` has been
698- deprecated since Python 3.12, and is scheduled for removal in Python 3.17.
699-
700- * The following statements now cause ``DeprecationWarning ``\ s to be emitted at
701- runtime:
702-
703- * ``from collections.abc import ByteString ``
704- * ``import collections.abc; collections.abc.ByteString ``.
705-
706- ``DeprecationWarning ``\ s were already emitted if
707- :class: `collections.abc.ByteString ` was subclassed or used as the second
708- argument to :func: `isinstance ` or :func: `issubclass `, but warnings were not
709- previously emitted if it was merely imported or accessed from the
710- :mod: `!collections.abc ` module.
711-
712-
713693concurrent.futures
714694------------------
715695
@@ -836,13 +816,12 @@ mimetypes
836816
837817* Add ``application/dicom `` MIME type for ``.dcm `` extension.
838818 (Contributed by Benedikt Johannes in :gh: `144217 `.)
819+ * Add ``application/efi ``. (Contributed by Charlie Lin in :gh: `145720 `.)
839820* Add ``application/node `` MIME type for ``.cjs `` extension.
840821 (Contributed by John Franey in :gh: `140937 `.)
841822* Add ``application/toml ``. (Contributed by Gil Forcada in :gh: `139959 `.)
842823* Add ``application/sql `` and ``application/vnd.sqlite3 ``.
843824 (Contributed by Charlie Lin in :gh: `145698 `.)
844- * Add ``image/jxl ``. (Contributed by Foolbar in :gh: `144213 `.)
845- * Add ``application/efi ``. (Contributed by Charlie Lin in :gh: `145720 `.)
846825* Add the following MIME types:
847826
848827 - ``application/vnd.ms-cab-compressed `` for ``.cab `` extension
@@ -851,6 +830,7 @@ mimetypes
851830
852831 (Contributed by Charlie Lin in :gh: `145718 `.)
853832
833+ * Add ``image/jxl ``. (Contributed by Foolbar in :gh: `144213 `.)
854834* Rename ``application/x-texinfo `` to ``application/texinfo ``.
855835 (Contributed by Charlie Lin in :gh: `140165 `.)
856836* Changed the MIME type for ``.ai `` files to ``application/pdf ``.
960940---
961941
962942* Indicate through :data: `ssl.HAS_PSK_TLS13 ` whether the :mod: `ssl ` module
963- supports "External PSKs" in TLSv1.3, as described in RFC 9258.
943+ supports "External PSKs" in TLSv1.3, as described in :rfc: ` 9258 ` .
964944 (Contributed by Will Childs-Klein in :gh: `133624 `.)
965945
966946* Added new methods for managing groups used for SSL key agreement
@@ -1146,14 +1126,48 @@ tomllib
11461126
11471127
11481128types
1149- ------
1129+ -----
11501130
11511131* Expose the write-through :func: `locals ` proxy type
11521132 as :data: `types.FrameLocalsProxyType `.
11531133 This represents the type of the :attr: `frame.f_locals ` attribute,
11541134 as described in :pep: `667 `.
11551135
11561136
1137+ typing
1138+ ------
1139+
1140+ .. _whatsnew315-typeform :
1141+
1142+ * :pep: `747 `: Add :data: `~typing.TypeForm `, a new special form for annotating
1143+ values that are themselves type expressions.
1144+ ``TypeForm[T] `` means "a type form object describing ``T `` (or a type
1145+ assignable to ``T ``)". At runtime, ``TypeForm(x) `` simply returns ``x ``,
1146+ which allows explicit annotation of type-form values without changing
1147+ behavior.
1148+
1149+ This helps libraries that accept user-provided type expressions
1150+ (for example ``int ``, ``str | None ``, :class: `~typing.TypedDict `
1151+ classes, or ``list[int] ``) expose precise signatures:
1152+
1153+ .. code-block :: python
1154+
1155+ from typing import Any, TypeForm
1156+
1157+ def cast[T](typ: TypeForm[T], value: Any) -> T: ...
1158+
1159+ (Contributed by Jelle Zijlstra in :gh: `145033 `.)
1160+
1161+ * Code like ``class ExtraTypeVars(P1[S], Protocol[T, T2]): ... `` now raises
1162+ a :exc: `TypeError `, because ``S `` is not listed in ``Protocol `` parameters.
1163+ (Contributed by Nikita Sobolev in :gh: `137191 `.)
1164+
1165+ * Code like ``class B2(A[T2], Protocol[T1, T2]): ... `` now correctly handles
1166+ type parameters order: it is ``(T1, T2) ``, not ``(T2, T1) ``
1167+ as it was incorrectly inferred in runtime before.
1168+ (Contributed by Nikita Sobolev in :gh: `137191 `.)
1169+
1170+
11571171unicodedata
11581172-----------
11591173
@@ -1390,6 +1404,14 @@ Diego Russo in :gh:`140683` and :gh:`142305`.)
13901404Removed
13911405========
13921406
1407+ collections.abc
1408+ ---------------
1409+
1410+ * :class: `collections.abc.ByteString ` has been removed from
1411+ ``collections.abc.__all__ ``. :class: `!collections.abc.ByteString ` has been
1412+ deprecated since Python 3.12, and is scheduled for removal in Python 3.17.
1413+
1414+
13931415ctypes
13941416------
13951417
@@ -1466,26 +1488,9 @@ threading
14661488typing
14671489------
14681490
1469- .. _whatsnew315-typeform :
1470-
1471- * :pep: `747 `: Add :data: `~typing.TypeForm `, a new special form for annotating
1472- values that are themselves type expressions.
1473- ``TypeForm[T] `` means "a type form object describing ``T `` (or a type
1474- assignable to ``T ``)". At runtime, ``TypeForm(x) `` simply returns ``x ``,
1475- which allows explicit annotation of type-form values without changing
1476- behavior.
1477-
1478- This helps libraries that accept user-provided type expressions
1479- (for example ``int ``, ``str | None ``, :class: `~typing.TypedDict `
1480- classes, or ``list[int] ``) expose precise signatures:
1481-
1482- .. code-block :: python
1483-
1484- from typing import Any, TypeForm
1485-
1486- def cast[T](typ: TypeForm[T], value: Any) -> T: ...
1487-
1488- (Contributed by Jelle Zijlstra in :gh: `145033 `.)
1491+ * :class: `typing.ByteString ` has been removed from ``typing.__all__ ``.
1492+ :class: `!typing.ByteString ` has been deprecated since Python 3.9, and is
1493+ scheduled for removal in Python 3.17.
14891494
14901495* The undocumented keyword argument syntax for creating
14911496 :class: `~typing.NamedTuple ` classes (for example,
@@ -1499,33 +1504,6 @@ typing
14991504 or ``TD = TypedDict("TD", {}) `` instead.
15001505 (Contributed by Bénédikt Tran in :gh: `133823 `.)
15011506
1502- * Code like ``class ExtraTypeVars(P1[S], Protocol[T, T2]): ... `` now raises
1503- a :exc: `TypeError `, because ``S `` is not listed in ``Protocol `` parameters.
1504- (Contributed by Nikita Sobolev in :gh: `137191 `.)
1505-
1506- * Code like ``class B2(A[T2], Protocol[T1, T2]): ... `` now correctly handles
1507- type parameters order: it is ``(T1, T2) ``, not ``(T2, T1) ``
1508- as it was incorrectly inferred in runtime before.
1509- (Contributed by Nikita Sobolev in :gh: `137191 `.)
1510-
1511- * :class: `typing.ByteString ` has been removed from ``typing.__all__ ``.
1512- :class: `!typing.ByteString ` has been deprecated since Python 3.9, and is
1513- scheduled for removal in Python 3.17.
1514-
1515- * The following statements now cause ``DeprecationWarning ``\ s to be emitted at
1516- runtime:
1517-
1518- * ``from typing import ByteString ``
1519- * ``import typing; typing.ByteString ``.
1520-
1521- ``DeprecationWarning ``\ s were already emitted if :class: `typing.ByteString `
1522- was subclassed or used as the second argument to :func: `isinstance ` or
1523- :func: `issubclass `, but warnings were not previously emitted if it was merely
1524- imported or accessed from the :mod: `!typing ` module.
1525-
1526- * Deprecated :func: `!typing.no_type_check_decorator ` has been removed.
1527- (Contributed by Nikita Sobolev in :gh: `133601 `.)
1528-
15291507
15301508wave
15311509----
@@ -1584,6 +1562,21 @@ New deprecations
15841562
15851563 (Contributed by Nikita Sobolev in :gh: `136355 `.)
15861564
1565+ * :mod: `collections.abc `
1566+
1567+ * The following statements now cause ``DeprecationWarning ``\ s to be emitted
1568+ at runtime:
1569+
1570+ * ``from collections.abc import ByteString ``
1571+ * ``import collections.abc; collections.abc.ByteString ``.
1572+
1573+ ``DeprecationWarning ``\ s were already emitted if
1574+ :class: `collections.abc.ByteString ` was subclassed or used as the second
1575+ argument to :func: `isinstance ` or :func: `issubclass `, but warnings were not
1576+ previously emitted if it was merely imported or accessed from the
1577+ :mod: `!collections.abc ` module.
1578+
1579+
15871580* :mod: `hashlib `:
15881581
15891582 * In hash function constructors such as :func: `~hashlib.new ` or the
@@ -1607,6 +1600,22 @@ New deprecations
16071600
16081601 (Contributed by Sergey B Kirpichev and Serhiy Storchaka in :gh: `143715 `.)
16091602
1603+ * :mod: `typing `:
1604+
1605+ * The following statements now cause ``DeprecationWarning ``\ s to be emitted
1606+ at runtime:
1607+
1608+ * ``from typing import ByteString ``
1609+ * ``import typing; typing.ByteString ``.
1610+
1611+ ``DeprecationWarning ``\ s were already emitted if :class: `typing.ByteString `
1612+ was subclassed or used as the second argument to :func: `isinstance ` or
1613+ :func: `issubclass `, but warnings were not previously emitted if it was
1614+ merely imported or accessed from the :mod: `!typing ` module.
1615+
1616+ * Deprecated :func: `!typing.no_type_check_decorator ` has been removed.
1617+ (Contributed by Nikita Sobolev in :gh: `133601 `.)
1618+
16101619* ``__version__ ``
16111620
16121621 * The ``__version__ ``, ``version `` and ``VERSION `` attributes have been
0 commit comments