- Add
typing_extensions.NamedTuple
, allowing for genericNamedTuple
s on Python <3.11 (backport from python/cpython#92027, by Serhiy Storchaka). Patch by Alex Waygood (@AlexWaygood). - Adjust
typing_extensions.TypedDict
to allow for genericTypedDict
s on Python <3.11 (backport from python/cpython#27663, by Samodya Abey). Patch by Alex Waygood (@AlexWaygood).
- Re-export
typing.Unpack
andtyping.TypeVarTuple
on Python 3.11. - Add
ParamSpecArgs
andParamSpecKwargs
to__all__
. - Improve "accepts only single type" error messages.
- Improve the distributed package. Patch by Marc Mueller (@cdce8p).
- Update
typing_extensions.dataclass_transform
to rename thefield_descriptors
parameter tofield_specifiers
and accept arbitrary keyword arguments. - Add
typing_extensions.get_overloads
andtyping_extensions.clear_overloads
, and add registry support totyping_extensions.overload
. Backport from python/cpython#89263. - Add
typing_extensions.assert_type
. Backport from bpo-46480. - Drop support for Python 3.6. Original patch by Adam Turner (@AA-Turner).
- Fix importing
typing_extensions
on Python 3.7.0 and 3.7.1. Original patch by Nikita Sobolev (@sobolevn).
- Runtime support for PEP 646, adding
typing_extensions.TypeVarTuple
andtyping_extensions.Unpack
. - Add interaction of
Required
andNotRequired
with__required_keys__
,__optional_keys__
andget_type_hints()
. Patch by David Cabot (@d-k-bo). - Runtime support for PEP 675 and
typing_extensions.LiteralString
. - Add
Never
andassert_never
. Backport from bpo-46475. ParamSpec
args and kwargs are now equal to themselves. Backport from bpo-46676. Patch by Gregory Beauregard (@GBeauregard).- Add
reveal_type
. Backport from bpo-46414. - Runtime support for PEP 681 and
typing_extensions.dataclass_transform
. Annotated
can now wrapClassVar
andFinal
. Backport from bpo-46491. Patch by Gregory Beauregard (@GBeauregard).- Add missed
Required
andNotRequired
to__all__
. Patch by Yuri Karabas (@uriyyo). - The
@final
decorator now sets the__final__
attribute on the decorated object to allow runtime introspection. Backport from bpo-46342. - Add
is_typeddict
. Patch by Chris Moradi (@chrismoradi) and James Hilton-Balfe (@Gobot1234).
- Fix broken sdist in release 4.0.0. Patch by Adam Turner (@AA-Turner).
- Fix equality comparison for
Required
andNotRequired
. Patch by Jelle Zijlstra (@jellezijlstra). - Fix usage of
Self
as a type argument. Patch by Chris Wesseling (@CharString) and James Hilton-Balfe (@Gobot1234).
- Starting with version 4.0.0, typing_extensions uses Semantic Versioning. See the README for more information.
- Dropped support for Python versions 3.5 and older, including Python 2.7.
- Simplified backports for Python 3.6.0 and newer. Patch by Adam Turner (@AA-Turner).
- Runtime support for PEP 673 and
typing_extensions.Self
. Patch by James Hilton-Balfe (@Gobot1234). - Runtime support for PEP 655 and
typing_extensions.Required
andNotRequired
. Patch by David Foster (@davidfstr).
The following non-exported but non-private names have been removed as they are unneeded for supporting Python 3.6 and newer.
- TypingMeta
- OLD_GENERICS
- SUBS_TREE
- HAVE_ANNOTATED
- HAVE_PROTOCOLS
- V_co
- VT_co
Prior to release 4.0.0 we did not provide a changelog. Please check the Git history for details.