Skip to content

Bump typing-extensions from 4.5.0 to 4.7.1

WKDV Bot requested to merge dependabot/pip/typing-extensions-4.7.1 into develop

Bumps typing-extensions from 4.5.0 to 4.7.1.

Release notes

Sourced from typing-extensions's releases.

4.7.1

  • Fix support for TypedDict, NamedTuple and is_protocol on PyPy-3.7 and PyPy-3.8. Patch by Alex Waygood. Note that PyPy-3.7 and PyPy-3.8 are unsupported by the PyPy project. The next feature release of typing-extensions will drop support for PyPy-3.7 and may also drop support for PyPy-3.8.

4.7.0

This is a feature release. Major changes include:

  • All non-deprecated names from typing are now re-exported by typing_extensions for convenience
  • Add typing_extensions.get_protocol_members and typing_extensions.is_protocol
  • Declare support for Python 3.12
  • This will be the last feature release to support Python 3.7, which recently reached its end-of-life

Full changelog of versions 4.7.0 and 4.7.0rc1:

Release 4.7.0 (June 28, 2023)

  • This is expected to be the last feature release supporting Python 3.7, which reaches its end of life on June 27, 2023. Version 4.8.0 will support only Python 3.8.0 and up.
  • Fix bug where a typing_extensions.Protocol class that had one or more non-callable members would raise TypeError when issubclass() was called against it, even if it defined a custom __subclasshook__ method. The correct behaviour -- which has now been restored -- is not to raise TypeError in these situations if a custom __subclasshook__ method is defined. Patch by Alex Waygood (backporting python/cpython#105976).

Release 4.7.0rc1 (June 21, 2023)

  • Add typing_extensions.get_protocol_members and typing_extensions.is_protocol (backport of CPython PR #104878). Patch by Jelle Zijlstra.
  • typing_extensions now re-exports all names in the standard library's typing module, except the deprecated ByteString. Patch by Jelle Zijlstra.
  • Due to changes in the implementation of typing_extensions.Protocol, typing.runtime_checkable can now be used on typing_extensions.Protocol (previously, users had to use typing_extensions.runtime_checkable if they were using typing_extensions.Protocol).
  • Align the implementation of TypedDict with the implementation in the standard library on Python 3.9 and higher. typing_extensions.TypedDict is now a function instead of a class. The private functions _check_fails, _dict_new, and _typeddict_new have been removed. is_typeddict now returns False when called with TypedDict itself as the argument. Patch by Jelle Zijlstra.
  • Declare support for Python 3.12. Patch by Jelle Zijlstra.
  • Fix tests on Python 3.13, which removes support for creating TypedDict classes through the keyword-argument syntax. Patch by

... (truncated)

Changelog

Sourced from typing-extensions's changelog.

Release 4.7.1 (July 2, 2023)

  • Fix support for TypedDict, NamedTuple and is_protocol on PyPy-3.7 and PyPy-3.8. Patch by Alex Waygood. Note that PyPy-3.7 and PyPy-3.8 are unsupported by the PyPy project. The next feature release of typing-extensions will drop support for PyPy-3.7 and may also drop support for PyPy-3.8.

Release 4.7.0 (June 28, 2023)

  • This is expected to be the last feature release supporting Python 3.7, which reaches its end of life on June 27, 2023. Version 4.8.0 will support only Python 3.8.0 and up.
  • Fix bug where a typing_extensions.Protocol class that had one or more non-callable members would raise TypeError when issubclass() was called against it, even if it defined a custom __subclasshook__ method. The correct behaviour -- which has now been restored -- is not to raise TypeError in these situations if a custom __subclasshook__ method is defined. Patch by Alex Waygood (backporting python/cpython#105976).

Release 4.7.0rc1 (June 21, 2023)

  • Add typing_extensions.get_protocol_members and typing_extensions.is_protocol (backport of CPython PR #104878). Patch by Jelle Zijlstra.
  • typing_extensions now re-exports all names in the standard library's typing module, except the deprecated ByteString. Patch by Jelle Zijlstra.
  • Due to changes in the implementation of typing_extensions.Protocol, typing.runtime_checkable can now be used on typing_extensions.Protocol (previously, users had to use typing_extensions.runtime_checkable if they were using typing_extensions.Protocol).
  • Align the implementation of TypedDict with the implementation in the standard library on Python 3.9 and higher. typing_extensions.TypedDict is now a function instead of a class. The private functions _check_fails, _dict_new, and _typeddict_new have been removed. is_typeddict now returns False when called with TypedDict itself as the argument. Patch by Jelle Zijlstra.
  • Declare support for Python 3.12. Patch by Jelle Zijlstra.
  • Fix tests on Python 3.13, which removes support for creating TypedDict classes through the keyword-argument syntax. Patch by Jelle Zijlstra.
  • Fix a regression introduced in v4.6.3 that meant that issubclass(object, typing_extensions.Protocol) would erroneously raise TypeError. Patch by Alex Waygood (backporting the CPython PR python/cpython#105239).
  • Allow Protocol classes to inherit from typing_extensions.Buffer or collections.abc.Buffer. Patch by Alex Waygood (backporting python/cpython#104827, by Jelle Zijlstra).
  • Allow classes to inherit from both typing.Protocol and typing_extensions.Protocol

... (truncated)

Commits

Merge request reports