Sourced from typing-extensions's changelog.
Release 4.6.3 (June 1, 2023)
- Fix a regression introduced in v4.6.0 in the implementation of runtime-checkable protocols. The regression meant that doing
class Foo(X, typing_extensions.Protocol)
, whereX
was a class that hadabc.ABCMeta
as its metaclass, would then cause subsequentisinstance(1, X)
calls to erroneously raiseTypeError
. Patch by Alex Waygood (backporting the CPython PR python/cpython#105152).- Sync the repository's LICENSE file with that of CPython.
typing_extensions
is distributed under the same license as CPython itself.- Skip a problematic test on Python 3.12.0b1. The test fails on 3.12.0b1 due to a bug in CPython, which will be fixed in 3.12.0b2. The
typing_extensions
test suite now passes on 3.12.0b1.Release 4.6.2 (May 25, 2023)
- Fix use of
@deprecated
on classes with__new__
but no__init__
. Patch by Jelle Zijlstra.- Fix regression in version 4.6.1 where comparing a generic class against a runtime-checkable protocol using
isinstance()
would causeAttributeError
to be raised if using Python 3.7.Release 4.6.1 (May 23, 2023)
- Change deprecated
@runtime
to formal API@runtime_checkable
in the error message. Patch by Xuehai Pan.- Fix regression in 4.6.0 where attempting to define a
Protocol
that was generic over aParamSpec
or aTypeVarTuple
would causeTypeError
to be raised. Patch by Alex Waygood.Release 4.6.0 (May 22, 2023)
typing_extensions
is now documented at https://typing-extensions.readthedocs.io/en/latest/. Patch by Jelle Zijlstra.Add
typing_extensions.Buffer
, a marker class for buffer types, as proposed by PEP 688. Equivalent tocollections.abc.Buffer
in Python 3.12. Patch by Jelle Zijlstra.Backport two CPython PRs fixing various issues with
typing.Literal
: python/cpython#23294 and python/cpython#23383. Both CPython PRs were originally by Yurii Karabas, and both were backported to Python >=3.9.1, but no earlier. Patch by Alex Waygood.A side effect of one of the changes is that equality comparisons of
Literal
objects will now raise aTypeError
if one of theLiteral
objects being compared has a mutable parameter. (Using mutable parameters withLiteral
is not supported by PEP 586 or by any major static type checkers.)
Literal
is now reimplemented on all Python versions <= 3.10.0. The
... (truncated)
c57333b
Update version to 4.6.322c0e70
Backport CPython PR 105152 (#208)b8a2ece
Third-party tests: cattrs has switched to pdm (#209)b0be88c
Add a cron job for testing third-party users of typing_extensions (#206)32887d3
Sync LICENSE with CPython (#205)252a4a4
Add more detailed versioning policy (#197)3c630b9
Backport some new protocol tests from CPython (#202)06f7360
Minor improvements to CI workflows (#201)5d51455
Skip a problematic test on CPython 3.12.0b1 (#200)e84f909
Prepare release 4.6.2 (#195)