# typing_extensions changelog > typing_extensions release notes. - Vendor: typing_extensions - Category: Frameworks & Libraries - Official site: https://github.com/python/typing_extensions - Tracked by: What's New (https://whatsnew.fyi/product/typing-extensions) - Harvested from: GitHub (python/typing_extensions) - Entries below: 10 (newest first) What's New is an index, not a publisher: every entry below links to the vendor's own release notes, which are the authoritative source. Entries are labelled where they are hand-curated sample data, pre-releases, or drawn from a secondary source such as a developer blog. ## Releases ### 4.16.0 - Date: 2026-07-02 - Version: 4.16.0 - Original notes: https://github.com/python/typing_extensions/releases/tag/4.16.0 - Permalink: https://whatsnew.fyi/product/typing-extensions/releases/4.16.0 No changes since 4.16.0rc2. Changes since 4.15.0: - Make `typing_extensions.TypeAliasType`'s `__module__` attribute writable. Backport of CPython PR [#149172](https://github.com/python/cpython/pull/149172). - Fix setting of `__required_keys__` and `__optional_keys__` when inheriting keys with the same name. - Add support for `AsyncIterator`, `io.Reader`, `io.Writer` and `os.PathLike` protocols as bases for other protocols. - Fix incorrect behaviour on Python 3.9 and Python 3.10 that meant that calling `isinstance` with `typing_extensions.Concatenate[...]` or `typing_extensions.Unpack[...]` as the first argument could have a different result in some situations depending on whether or not a profiling function had been set using `sys.setprofile`. This affected both CPython and PyPy implementations. Patch by Brian Schubert. - Fix `__init_subclass__()` behavior in the presence of multiple inheritance involving an `@deprecated`-decorated base class. Backport of CPython PR [#138210](https://github.com/python/cpython/pull/138210) by Brian Schubert. - Raise `TypeError` when attempting to subclass `typing_extensions.ParamSpec` on Python 3.9. The `typing` implementation has always raised an error, and the `typing_extensions` implementation has raised an error on Python 3.10+ since `typing_extensions` v4.6.0. Patch by Brian Schubert. - Add the `bound`, `covariant`, `contravariant`, and `infer_variance` parameters to `TypeVarTuple`. - Officially support the `bound`, `covariant`, `contravariant` and `infer_variance` parameters to `ParamSpec`. Improve the validation of these parameters at runtime. - Rename `typing_extensions.Sentinel` to `typing_extensions.sentinel`, following the name that has been adopted for `builtins.sentinel` on Python 3.15. `typing_extensions.Sentinel` is retained as a soft-deprecated alias for backwards compatibility. - Add support for pickling sentinels. - Sentinels now preserve their identity when copied or deep-copied. - Deprecate passing `name` as a keyword argument or `repr` as a positional argument to the `sentinel` constructor. - The default repr of a sentinel `X = sentinel("X")` is now `X` rather than ``. - Deprecate arbitrary attribute assignments to sentinels. - Deprecate subclassing sentinels. - Add support for Python 3.15. - Avoid a `DeprecationWarning` when `deprecated` is applied to a coroutine function on Python 3.14.0. ### 4.16.0rc2 - Date: 2026-06-25 - Version: 4.16.0rc2 - Original notes: https://github.com/python/typing_extensions/releases/tag/4.16.0rc2 - Permalink: https://whatsnew.fyi/product/typing-extensions/releases/4.16.0rc2 - Labels: Pre-release Changes since 4.16.0rc1: - Avoid a `DeprecationWarning` when `deprecated` is applied to a coroutine function on Python 3.14.0. Changes since 4.15.0: - Make `typing_extensions.TypeAliasType`'s `__module__` attribute writable. Backport of CPython PR [#149172](https://github.com/python/cpython/pull/149172). - Fix setting of `__required_keys__` and `__optional_keys__` when inheriting keys with the same name. - Add support for `AsyncIterator`, `io.Reader`, `io.Writer` and `os.PathLike` protocols as bases for other protocols. - Fix incorrect behaviour on Python 3.9 and Python 3.10 that meant that calling `isinstance` with `typing_extensions.Concatenate[...]` or `typing_extensions.Unpack[...]` as the first argument could have a different result in some situations depending on whether or not a profiling function had been set using `sys.setprofile`. This affected both CPython and PyPy implementations. Patch by Brian Schubert. - Fix `__init_subclass__()` behavior in the presence of multiple inheritance involving an `@deprecated`-decorated base class. Backport of CPython PR [#138210](https://github.com/python/cpython/pull/138210) by Brian Schubert. - Raise `TypeError` when attempting to subclass `typing_extensions.ParamSpec` on Python 3.9. The `typing` implementation has always raised an error, and the `typing_extensions` implementation has raised an error on Python 3.10+ since `typing_extensions` v4.6.0. Patch by Brian Schubert. - Add the `bound`, `covariant`, `contravariant`, and `infer_variance` parameters to `TypeVarTuple`. - Officially support the `bound`, `covariant`, `contravariant` and `infer_variance` parameters to `ParamSpec`. Improve the validation of these parameters at runtime. - Rename `typing_extensions.Sentinel` to `typing_extensions.sentinel`, following the name that has been adopted for `builtins.sentinel` on Python 3.15. `typing_extensions.Sentinel` is retained as a soft-deprecated alias for backwards compatibility. - Add support for pickling sentinels. - Sentinels now preserve their identity when copied or deep-copied. - Deprecate passing `name` as a keyword argument or `repr` as a positional argument to the `sentinel` constructor. - The default repr of a sentinel `X = sentinel("X")` is now `X` rather than ``. - Deprecate arbitrary attribute assignments to sentinels. - Deprecate subclassing sentinels. - Add support for Python 3.15. ### 4.16.0rc1 - Date: 2026-06-24 - Version: 4.16.0rc1 - Original notes: https://github.com/python/typing_extensions/releases/tag/4.16.0rc1 - Permalink: https://whatsnew.fyi/product/typing-extensions/releases/4.16.0rc1 - Labels: Pre-release - Make `typing_extensions.TypeAliasType`'s `__module__` attribute writable. Backport of CPython PR [#149172](https://github.com/python/cpython/pull/149172). - Fix setting of `__required_keys__` and `__optional_keys__` when inheriting keys with the same name. - Add support for `AsyncIterator`, `io.Reader`, `io.Writer` and `os.PathLike` protocols as bases for other protocols. - Fix incorrect behaviour on Python 3.9 and Python 3.10 that meant that calling `isinstance` with `typing_extensions.Concatenate[...]` or `typing_extensions.Unpack[...]` as the first argument could have a different result in some situations depending on whether or not a profiling function had been set using `sys.setprofile`. This affected both CPython and PyPy implementations. Patch by Brian Schubert. - Fix `__init_subclass__()` behavior in the presence of multiple inheritance involving an `@deprecated`-decorated base class. Backport of CPython PR [#138210](https://github.com/python/cpython/pull/138210) by Brian Schubert. - Raise `TypeError` when attempting to subclass `typing_extensions.ParamSpec` on Python 3.9. The `typing` implementation has always raised an error, and the `typing_extensions` implementation has raised an error on Python 3.10+ since `typing_extensions` v4.6.0. Patch by Brian Schubert. - Add the `bound`, `covariant`, `contravariant`, and `infer_variance` parameters to `TypeVarTuple`. - Officially support the `bound`, `covariant`, `contravariant` and `infer_variance` parameters to `ParamSpec`. Improve the validation of these parameters at runtime. - Rename `typing_extensions.Sentinel` to `typing_extensions.sentinel`, following the name that has been adopted for `builtins.sentinel` on Python 3.15. `typing_extensions.Sentinel` is retained as a soft-deprecated alias for backwards compatibility. - Add support for pickling sentinels. - Sentinels now preserve their identity when copied or deep-copied. - Deprecate passing `name` as a keyword argument or `repr` as a positional argument to the `sentinel` constructor. - The default repr of a sentinel `X = sentinel("X")` is now `X` rather than ``. - Deprecate arbitrary attribute assignments to sentinels. - Deprecate subclassing sentinels. - Add support for Python 3.15. ### 4.15.0 - Date: 2025-08-25 - Version: 4.15.0 - Original notes: https://github.com/python/typing_extensions/releases/tag/4.15.0 - Permalink: https://whatsnew.fyi/product/typing-extensions/releases/4.15.0 No user-facing changes since 4.15.0rc1. New features since 4.14.1: - 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`](https://docs.python.org/3.14/library/annotationlib.html#annotationlib.type_repr), introduced in Python 3.14 (CPython PR [#124551](https://github.com/python/cpython/pull/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](https://github.com/python/cpython/pull/137227) by Jelle Zijlstra. ### 4.15.0rc1 - Date: 2025-08-18 - Version: 4.15.0rc1 - Original notes: https://github.com/python/typing_extensions/releases/tag/4.15.0rc1 - Permalink: https://whatsnew.fyi/product/typing-extensions/releases/4.15.0rc1 - Labels: Pre-release - 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`](https://docs.python.org/3.14/library/annotationlib.html#annotationlib.type_repr), introduced in Python 3.14 (CPython PR [#124551](https://github.com/python/cpython/pull/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](https://github.com/python/cpython/pull/137227) by Jelle Zijlstra. ### 4.14.1 - Date: 2025-07-04 - Version: 4.14.1 - Original notes: https://github.com/python/typing_extensions/releases/tag/4.14.1 - Permalink: https://whatsnew.fyi/product/typing-extensions/releases/4.14.1 #### Release 4.14.1 (July 4, 2025) - Fix usage of `typing_extensions.TypedDict` nested inside other types (e.g., `typing.Type[typing_extensions.TypedDict]`). This is not allowed by the type system but worked on older versions, so we maintain support. ### 4.14.0 - Date: 2025-06-02 - Version: 4.14.0 - Original notes: https://github.com/python/typing_extensions/releases/tag/4.14.0 - Permalink: https://whatsnew.fyi/product/typing-extensions/releases/4.14.0 This release adds several new features, including experimental support for inline typed dictionaries ([PEP 764](https://peps.python.org/pep-0764/)) and sentinels ([PEP 661](https://peps.python.org/pep-0661/)), 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 from `typing_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](https://github.com/Viicos). - Do not attempt to re-export names that have been removed from `typing`, anticipating the removal of `typing.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](https://peps.python.org/pep-0764/)). Patch by [Victorien Plot](https://github.com/Viicos). - Add `typing_extensions.Reader` and `typing_extensions.Writer`. Patch by Sebastian Rittau. - Add support for sentinels ([PEP 661](https://peps.python.org/pep-0661/)). Patch by [Victorien Plot](https://github.com/Viicos). ### 4.14.0rc1 - Date: 2025-05-24 - Version: 4.14.0rc1 - Original notes: https://github.com/python/typing_extensions/releases/tag/4.14.0rc1 - Permalink: https://whatsnew.fyi/product/typing-extensions/releases/4.14.0rc1 - Labels: Pre-release Major changes: - Drop support for Python 3.8 (including PyPy-3.8). Patch by [Victorien Plot](https://github.com/Viicos). - Do not attempt to re-export names that have been removed from `typing`, anticipating the removal of `typing.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](https://peps.python.org/pep-0764/)). Patch by [Victorien Plot](https://github.com/Viicos). - Add `typing_extensions.Reader` and `typing_extensions.Writer`. Patch by Sebastian Rittau. - Add support for sentinels ([PEP 661](https://peps.python.org/pep-0661/)). Patch by [Victorien Plot](https://github.com/Viicos). ### 4.13.2 - Date: 2025-04-10 - Version: 4.13.2 - Original notes: https://github.com/python/typing_extensions/releases/tag/4.13.2 - Permalink: https://whatsnew.fyi/product/typing-extensions/releases/4.13.2 - Fix `TypeError` when taking the union of `typing_extensions.TypeAliasType` and a `typing.TypeAliasType` on Python 3.12 and 3.13. Patch by [Joren Hammudoglu](https://github.com/jorenham). - Backport from CPython PR [#132160](https://github.com/python/cpython/pull/132160) to avoid having user arguments shadowed in generated `__new__` by `@typing_extensions.deprecated`. Patch by [Victorien Plot](https://github.com/Viicos). ### 4.13.1 - Date: 2025-04-03 - Version: 4.13.1 - Original notes: https://github.com/python/typing_extensions/releases/tag/4.13.1 - Permalink: https://whatsnew.fyi/product/typing-extensions/releases/4.13.1 This is a bugfix release fixing two edge cases that appear on old bugfix releases of CPython. Bugfixes: - Fix regression in 4.13.0 on Python 3.10.2 causing a `TypeError` when using `Concatenate`. Patch by [Daraan](https://github.com/Daraan). - Fix `TypeError` when using `evaluate_forward_ref` on Python 3.10.1-2 and 3.9.8-10. Patch by [Daraan](https://github.com/Daraan).