Releases: python/typing_extensions
Releases · python/typing_extensions
4.15.0rc1
- Add the
@typing_extensions.disjoint_base
decorator, as specified
in PEP 800. Patch by Jelle Zijlstra. - Add
typing_extensions.type_repr
, a backport of
annotationlib.type_repr
,
introduced in Python 3.14 (CPython PR #124551,
originally by Jelle Zijlstra). Patch by Semyon Moroz. - Fix behavior of type params in
typing_extensions.evaluate_forward_ref
. Backport of
CPython PR #137227 by Jelle Zijlstra.
4.14.1
4.14.0
This release adds several new features, including experimental support for inline typed dictionaries (PEP 764) and sentinels (PEP 661), and support for changes in Python 3.14. In addition, Python 3.8 is no longer supported.
Changes since 4.14.0rc1:
- Remove
__or__
and__ror__
methods fromtyping_extensions.Sentinel
on Python versions <3.10. PEP 604 was introduced in Python 3.10, and
typing_extensions
does not generally attempt to backport PEP-604 methods
to prior versions. - Further update
typing_extensions.evaluate_forward_ref
with changes in Python 3.14.
Changes included in 4.14.0rc1:
- Drop support for Python 3.8 (including PyPy-3.8). Patch by Victorien Plot.
- Do not attempt to re-export names that have been removed from
typing
,
anticipating the removal oftyping.no_type_check_decorator
in Python 3.15.
Patch by Jelle Zijlstra. - Update
typing_extensions.Format
,typing_extensions.evaluate_forward_ref
, and
typing_extensions.TypedDict
to align
with changes in Python 3.14. Patches by Jelle Zijlstra. - Fix tests for Python 3.14 and 3.15. Patches by Jelle Zijlstra.
New features:
- Add support for inline typed dictionaries (PEP 764).
Patch by Victorien Plot. - Add
typing_extensions.Reader
andtyping_extensions.Writer
. Patch by
Sebastian Rittau. - Add support for sentinels (PEP 661). Patch by
Victorien Plot.
4.14.0rc1
Major changes:
- Drop support for Python 3.8 (including PyPy-3.8). Patch by Victorien Plot.
- Do not attempt to re-export names that have been removed from
typing
,
anticipating the removal oftyping.no_type_check_decorator
in Python 3.15.
Patch by Jelle Zijlstra. - Update
typing_extensions.Format
,typing_extensions.evaluate_forward_ref
, and
typing_extensions.TypedDict
to align
with changes in Python 3.14. Patches by Jelle Zijlstra. - Fix tests for Python 3.14 and 3.15. Patches by Jelle Zijlstra.
New features:
- Add support for inline typed dictionaries (PEP 764).
Patch by Victorien Plot. - Add
typing_extensions.Reader
andtyping_extensions.Writer
. Patch by
Sebastian Rittau. - Add support for sentinels (PEP 661). Patch by
Victorien Plot.
4.13.2
- Fix
TypeError
when taking the union oftyping_extensions.TypeAliasType
and a
typing.TypeAliasType
on Python 3.12 and 3.13.
Patch by Joren Hammudoglu. - Backport from CPython PR #132160
to avoid having user arguments shadowed in generated__new__
by
@typing_extensions.deprecated
.
Patch by Victorien Plot.
4.13.1
This is a bugfix release fixing two edge cases that appear on old bugfix releases of CPython.
Bugfixes:
4.13.0
New features:
- Add
typing_extensions.TypeForm
from PEP 747. Patch by
Jelle Zijlstra. - Add
typing_extensions.get_annotations
, a backport of
inspect.get_annotations
that adds features specified
by PEP 649. Patches by Jelle Zijlstra and Alex Waygood. - Backport
evaluate_forward_ref
from CPython PR
#119891 to evaluateForwardRef
s.
Patch by Daraan, backporting a CPython PR by Jelle Zijlstra.
Bugfixes and changed features:
- Update PEP 728 implementation to a newer version of the PEP. Patch by Jelle Zijlstra.
- Copy the coroutine status of functions and methods wrapped
with@typing_extensions.deprecated
. Patch by Sebastian Rittau. - Fix bug where
TypeAliasType
instances could be subscripted even
where they were not generic. Patch by Daraan. - Fix bug where a subscripted
TypeAliasType
instance did not have all
attributes of the originalTypeAliasType
instance on older Python versions.
Patch by Daraan and Alex Waygood. - Fix bug where subscripted
TypeAliasType
instances (and some other
subscripted objects) had wrong parameters if they were directly
subscripted with anUnpack
object.
Patch by Daraan. - Backport to Python 3.10 the ability to substitute
...
in genericCallable
aliases that have aConcatenate
special form as their argument.
Patch by Daraan. - Extended the
Concatenate
backport for Python 3.8-3.10 to now accept
Ellipsis
as an argument. Patch by Daraan. - Fix backport of
get_type_hints
to reflect Python 3.11+ behavior which does not add
Union[..., NoneType]
to annotations that have aNone
default value anymore.
This fixes wrapping ofAnnotated
in an unwantedOptional
in such cases.
Patch by Daraan. - Fix error in subscription of
Unpack
aliases causing nested Unpacks
to not be resolved correctly. Patch by Daraan. - Backport CPython PR #124795:
fixTypeAliasType
not raising an error on non-tuple inputs fortype_params
.
Patch by Daraan. - Fix that lists and
...
could not be used for parameter expressions forTypeAliasType
instances before Python 3.11.
Patch by Daraan. - Fix error on Python 3.10 when using
typing.Concatenate
and
typing_extensions.Concatenate
together. Patch by Daraan. - Backport of CPython PR #109544
to reflect Python 3.13+ behavior: A value assigned to__total__
in the class body of a
TypedDict
will be overwritten by thetotal
argument of theTypedDict
constructor.
Patch by Daraan, backporting a CPython PR by Jelle Zijlstra. isinstance(typing_extensions.Unpack[...], TypeVar)
now evaluates toFalse
on Python 3.11
and newer, but remainsTrue
on versions before 3.11.
Patch by Daraan.
4.13.0rc1
New features:
- Add
typing_extensions.TypeForm
from PEP 747. Patch by
Jelle Zijlstra. - Add
typing_extensions.get_annotations
, a backport of
inspect.get_annotations
that adds features specified
by PEP 649. Patches by Jelle Zijlstra and Alex Waygood. - Backport
evaluate_forward_ref
from CPython PR
#119891 to evaluateForwardRef
s.
Patch by Daraan, backporting a CPython PR by Jelle Zijlstra.
Bugfixes and changed features:
- Update PEP 728 implementation to a newer version of the PEP. Patch by Jelle Zijlstra.
- Copy the coroutine status of functions and methods wrapped
with@typing_extensions.deprecated
. Patch by Sebastian Rittau. - Fix bug where
TypeAliasType
instances could be subscripted even
where they were not generic. Patch by Daraan. - Fix bug where a subscripted
TypeAliasType
instance did not have all
attributes of the originalTypeAliasType
instance on older Python versions.
Patch by Daraan and Alex Waygood. - Fix bug where subscripted
TypeAliasType
instances (and some other
subscripted objects) had wrong parameters if they were directly
subscripted with anUnpack
object.
Patch by Daraan. - Backport to Python 3.10 the ability to substitute
...
in genericCallable
aliases that have aConcatenate
special form as their argument.
Patch by Daraan. - Extended the
Concatenate
backport for Python 3.8-3.10 to now accept
Ellipsis
as an argument. Patch by Daraan. - Fix backport of
get_type_hints
to reflect Python 3.11+ behavior which does not add
Union[..., NoneType]
to annotations that have aNone
default value anymore.
This fixes wrapping ofAnnotated
in an unwantedOptional
in such cases.
Patch by Daraan. - Fix error in subscription of
Unpack
aliases causing nested Unpacks
to not be resolved correctly. Patch by Daraan. - Backport CPython PR #124795:
fixTypeAliasType
not raising an error on non-tuple inputs fortype_params
.
Patch by Daraan. - Fix that lists and ... could not be used for parameter expressions for
TypeAliasType
instances before Python 3.11.
Patch by Daraan. - Fix error on Python 3.10 when using
typing.Concatenate
and
typing_extensions.Concatenate
together. Patch by Daraan. - Backport of CPython PR #109544
to reflect Python 3.13+ behavior: A value assigned to__total__
in the class body of a
TypedDict
will be overwritten by thetotal
argument of theTypedDict
constructor.
Patch by Daraan, backporting a CPython PR by Jelle Zijlstra. - Fix for Python 3.11 that now
isinstance(typing_extensions.Unpack[...], TypeVar)
evaluates toFalse
, however stillTrue
for <3.11.
Patch by Daraan
4.12.2
- Fix regression in v4.12.0 where specialization of certain generics with an overridden
__eq__
method would raise errors. Patch by Jelle Zijlstra. - Fix tests so they pass on 3.13.0b2
4.12.1
- Preliminary changes for compatibility with the draft implementation
of PEP 649 in Python 3.14. Patch by Jelle Zijlstra. - Fix regression in v4.12.0 where nested
Annotated
types would cause
TypeError
to be raised if the nestedAnnotated
type had unhashable
metadata. Patch by Alex Waygood.