This feature release adds support for PEP 728 (TypedDict with extra
items) and PEP 742 (TypeIs).
There are no changes since 4.10.0rc1.
Release 4.10.0rc1 (February 17, 2024)
Add support for PEP 728, supporting the closed keyword argument and the
special __extra_items__ key for TypedDict. Patch by Zixuan James Li.
Add support for PEP 742, adding typing_extensions.TypeIs. Patch
by Jelle Zijlstra.
Drop runtime error when a read-only TypedDict item overrides a mutable
one. Type checkers should still flag this as an error. Patch by Jelle
Zijlstra.
Speedup issubclass() checks against simple runtime-checkable protocols by
around 6% (backporting python/cpython#112717, by Alex
Waygood).
Fix a regression in the implementation of protocols where typing.Protocol
classes that were not marked as @runtime_checkable would be unnecessarily
introspected, potentially causing exceptions to be raised if the protocol had
problematic members. Patch by Alex Waygood, backporting
python/cpython#113401.
Release 4.9.0 (December 9, 2023)
This feature release adds typing_extensions.ReadOnly, as specified
by PEP 705, and makes various other improvements, especially to
@typing_extensions.deprecated().
There are no changes since 4.9.0rc1.
Release 4.9.0rc1 (November 29, 2023)
Add support for PEP 705, adding typing_extensions.ReadOnly. Patch
by Jelle Zijlstra.
All parameters on NewType.__call__ are now positional-only. This means that
the signature of typing_extensions.NewType.__call__ now exactly matches the
signature of typing.NewType.__call__. Patch by Alex Waygood.
Fix bug with using @deprecated on a mixin class. Inheriting from a
deprecated class now raises a DeprecationWarning. Patch by Jelle Zijlstra.
@deprecated now gives a better error message if you pass a non-str
argument to the msg parameter. Patch by Alex Waygood.
@deprecated is now implemented as a class for better introspectability.
Patch by Jelle Zijlstra.
Exclude __match_args__ from Protocol members.
Backport of python/cpython#110683 by Nikita Sobolev.
When creating a typing_extensions.NamedTuple class, ensure __set_name__
is called on all objects that define __set_name__ and exist in the values
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Updates the requirements on typing-extensions to permit the latest version.
Changelog
Sourced from typing-extensions's changelog.
... (truncated)
Commits
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show