No changes since 4.16.0rc2.
Changes since 4.15.0:
- Make typing_extensions.TypeAliasType's __module__ attribute writable. Backport of CPython PR #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 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 <X>.
- 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.