Path to this page:
Subject: CVS commit: pkgsrc/devel/py-typeguard
From: Adam Ciarcinski
Date: 2023-05-16 12:37:27
Message id: 20230516103727.C86E0FA87@cvs.NetBSD.org
Log Message:
py-typeguard: updated to 4.0.0
**4.0.0** (2023-05-12)
- No changes
**4.0.0rc6** (2023-05-07)
- Fixed ``@typechecked`` optimization causing compilation of instrumented code \
to fail
when an ``if`` block was left empty by the AST transformer
- Fixed the AST transformer trying to parse the second argument of \
``typing.Annotated``
as a forward reference
**4.0.0rc5** (2023-05-01)
- Added ``InstrumentationWarning`` to the public API
- Changed ``@typechecked`` to skip instrumentation in optimized mode, as in typeguard
2.x
- Avoid type checks where the types in question are shadowed by local variables
- Fixed instrumentation using ``typing.Optional`` without a subscript when the \
subscript
value was erased due to being an ignored import
- Fixed ``TypeError: isinstance() arg 2 must be a type or tuple of types`` when
instrumented code tries to check a value against a naked (``str``, not \
``ForwardRef``)
forward reference
- Fixed instrumentation using the wrong "self" type in the \
``__new__()`` method
**4.0.0rc4** (2023-04-15)
- Fixed imports guarded by ``if TYPE_CHECKING:`` when used with subscripts
(``SomeType[...]``) being replaced with ``Any[...]`` instead of just ``Any``
- Fixed instrumentation inadvertently mutating a function's annotations on Python 3.7
and 3.8
- Fixed ``Concatenate[...]`` in ``Callable`` parameters causing ``TypeError`` to be
raised
- Fixed type checks for ``*args`` or ``**kwargs`` not being suppressed when \
their types
are unusable (guarded by ``if TYPE_CHECKING:`` or otherwise)
- Fixed ``TypeError`` when checking against a generic ``NewType``
- Don't try to check types shadowed by argument names (e.g.
``def foo(x: type, type: str): ...``)
- Don't check against unions where one of the elements is ``Any``
**4.0.0rc3** (2023-04-10)
- Fixed ``typing.Literal`` subscript contents being evaluated as forward references
- Fixed resolution of forward references in type aliases
**4.0.0rc2** (2023-04-08)
- The ``.pyc`` files now use a version-based optimization suffix in the file \
names so as
not to cause the interpreter to load potentially faulty/incompatible cached \
bytecode
generated by older versions
- Fixed typed variable positional and keyword arguments causing compilation errors on
Python 3.7 and 3.8
- Fixed compilation error when a type annotation contains a type guarded by
``if TYPE_CHECKING:``
**4.0.0rc1** (2023-04-02)
- **BACKWARD INCOMPATIBLE** ``check_type()`` no longer uses the global configuration.
It now uses the default configuration values, unless overridden with an explicit
``config`` argument.
- **BACKWARD INCOMPATIBLE** Removed ``CallMemo`` from the API
- **BACKWARD INCOMPATIBLE** Required checkers to use the configuration from
``memo.config``, rather than the global configuration
- Added keyword arguments to ``@typechecked``, allowing users to override \
settings on a
per-function basis
- Added support for using ``suppress_type_checks()`` as a decorator
- Added support for type checking against nonlocal classes defined within the same
parent function as the instrumented function
- Changed instrumentation to statically copy the function annotations to avoid \
having to
look up the function object at run time
- Improved support for avoiding type checks against imports declared in
``if TYPE_CHECKING:`` blocks
- Fixed ``check_type`` not returning the passed value when checking against \
``Any``, or
when type checking is being suppressed
- Fixed ``suppress_type_checks()`` not ending the suppression if the context block
raises an exception
- Fixed checking non-dictionary objects against a ``TypedDict`` annotation
Files: