Provides backported and experimental type hints for Python, letting you use newer typing features (like typing.TypeGuard) on older Python versions and try new type system PEPs before they are added to typing. Static type checkers such as mypy and pyright treat items from typing_extensions as equivalent to the corresponding forms in typing.
Project status
- Actively maintained: The repo shows very recent activity (last upstream push on 2026-05-16), and there were multiple functional and compatibility-focused updates in 2025 (4.13.0 to 4.15.0).
- Apparent update cadence: In 2025, updates landed in March (4.13.0), April (4.13.1, 4.13.2), June (4.14.0), July (4.14.1), and August (4.15.0). This suggests a roughly monthly to bimonthly rhythm during that period, though there is less evidence of cadence after Aug 2025.
AI summary generated 2 weeks ago
Recent updates
4.15.0
9 months agoRelease 4.15.0 is published as the stable version following 4.15.0rc1, with release notes claiming only backports and a fix to evaluate_forward_ref behavior since 4.14.1. The provided code diff for rc1 -> 4.15.0 shows changes only to tests, CI, and coverage configuration, not to the typing_extensions runtime library API itself.
Features4.15.0rc1
9 months agoRelease 4.15.0rc1 adds new typing primitives to typing_extensions: the PEP 800 `disjoint_base` decorator and the PEP 314 (annotationlib backport) style `type_repr` function. It also updates `evaluate_forward_ref` behavior to better handle type parameters during ForwardRef evaluation.
Features4.14.1
11 months agoRelease 4.14.1 is a targeted fix for how typing_extensions.TypedDict is handled when it appears as a nested type argument (for example, typing.Type[typing_extensions.TypedDict]). The main change is an internal adjustment to the TypedDict special-form implementation so it is accepted by the standard typing machinery in more contexts.
4.14.0
6/2/2025typing_extensions 4.14.0 finalizes the Python 3.14 alignment work started in 4.14.0rc1. It also includes the documented removal of Sentinel PEP 604 operator methods on Python versions earlier than 3.10.
BreakingFeatures4.14.0rc1
5/24/2025Release 4.14.0rc1 updates typing_extensions to drop Python 3.8 support, adds PEP 661 sentinels and new PEP 764 inline typed dictionaries support, and introduces `typing_extensions.Reader` and `typing_extensions.Writer`. It also aligns `typing_extensions` internals with Python 3.14 changes (notably `Format`, `evaluate_forward_ref`, and TypedDict behavior).
BreakingFeatures4.13.2
4/10/2025Release 4.13.2 contains two targeted fixes for Python 3.12 and 3.13 behavior: unioning `TypeAliasType` instances from `typing_extensions` and `typing`, and a regression/edge case involving `@typing_extensions.deprecated` and generated `__new__` signatures. It also updates tests and CI to cover these scenarios and adds an extra downstream test job.
4.13.1
4/3/2025Release 4.13.1 is a targeted bugfix release addressing edge case regressions from 4.13.0, specifically around `Concatenate` on Python 3.10.2 and `evaluate_forward_ref`-related `TypeError`s on a range of older CPython 3.9 and 3.10 patch versions. The release notes are consistent with the small set of functional logic changes visible in the code diff, plus some documentation and CI adjustments.
4.13.0
3/26/2025Release 4.13.0 adds several new typing-related backports (TypeForm, get_annotations, and ForwardRef evaluation) plus a large set of bug fixes around advanced typing constructs like TypeAliasType, Callable Concatenate, Unpack, and TypedDict total handling. However, the code diff from 4.13.0rc1 to 4.13.0 shows no substantive library code changes, only documentation, test additions, and CI/changelog/config updates.
Features4.13.0rc1
3/18/2025Release 4.13.0rc1 adds PEP 747 TypeForm support, plus new annotation-evaluation APIs (get_annotations and evaluate_forward_ref) to support PEP 649 semantics on older Python versions. The release also includes a PEP 728 implementation refresh with multiple fixes around TypedDict and related typing constructs.
Features4.12.2
6/7/2024Release 4.12.2 patches a regression from 4.12.0 where specializing certain generics could raise errors when the generic (or its origin) had a buggy overridden __eq__. It also updates the test suite to pass on Python 3.13.0b2.