250 lines
12 KiB
Plaintext
250 lines
12 KiB
Plaintext
-------------------------------------------------------------------
|
|
Sat Jun 8 13:05:55 UTC 2024 - Dirk Müller <dmueller@suse.com>
|
|
|
|
- update to 4.3.0:
|
|
* Added support for checking against static protocols
|
|
* Fixed some compatibility problems when running on Python 3.13
|
|
* Fixed test suite incompatibility with pytest 8.2
|
|
* Fixed pytest plugin crashing on pytest version older than
|
|
v7.0.0 (even if it's just present)
|
|
* Fixed missing typing_extensions dependency for Python 3.12
|
|
* Fixed deprecation warning in the test suite on Python 3.13
|
|
* Added support for specifying options for the pytest plugin
|
|
via pytest config files
|
|
* Avoid creating reference cycles when type checking unions (PR
|
|
by Shantanu)
|
|
* Fixed Optional[...] being removed from the AST if it was
|
|
located within a subscript
|
|
* Fixed TypedDict from typing_extensions not being recognized
|
|
as one
|
|
* Fixed typing types (dict[str, int], List[str], etc.) not
|
|
passing checks against type or Type
|
|
* Fixed detection of optional fields (NotRequired[...]) in
|
|
TypedDict when using forward references
|
|
* Fixed mapping checks against Django's MultiValueDict
|
|
|
|
-------------------------------------------------------------------
|
|
Mon Dec 4 11:32:09 UTC 2023 - Dirk Müller <dmueller@suse.com>
|
|
|
|
- update to 4.1.5:
|
|
* Fixed ``Callable`` erroneously rejecting a callable that has
|
|
the requested amount of positional arguments but they have
|
|
defaults
|
|
* Fixed a regression introduced in v4.1.4 where the elements of
|
|
``Literal`` got quotes removed from them by the AST transformer
|
|
* Fixed ``AttributeError`` where the transformer removed
|
|
elements from a PEP 604 union
|
|
* Fixed ``AttributeError: 'Subscript' object has no attribute
|
|
'slice'`` when encountering an annotation with a subscript
|
|
containing an ignored type
|
|
* Fixed type checking not being skipped when the target is a
|
|
union (PEP 604 or ``typing.Union``) where one of the elements
|
|
is an ignored type (shadowed by an argument, variable
|
|
assignment or an ``if TYPE_CHECKING`` import)
|
|
* Dropped Python 3.7 support
|
|
* Fixed ``@typechecked`` optimization causing compilation of
|
|
instrumented code to fail when any block was left empty by the
|
|
AST transformer (eg ``if`` or ``try`` / ``except`` blocks)
|
|
* Fixed placement of injected typeguard imports with respect to
|
|
``__future__`` imports and module docstrings
|
|
* Fixed ``Any`` being removed from a subscript that still
|
|
contains other elements
|
|
* Fixed ``suppress_type_checks()`` causing annotated variable
|
|
assignments to always assign ``None``
|
|
* Added support for passing a tuple as ``expected_type`` to
|
|
``check_type()``, making it more of a drop-in replacement for
|
|
``isinstance()``
|
|
* Fixed regression where ``Literal`` inside a ``Union`` had
|
|
quotes stripped from its contents, thus typically causing
|
|
``NameError`` to be raised when run
|
|
* Fixed handling of ``typing_extensions.Literal`` on Python 3.8
|
|
and 3.9 when ``typing_extensions>=4.6.0`` is installed
|
|
* Fixed ``NameError`` when generated type checking code
|
|
references an imported name from a method
|
|
* Fixed docstrings disappearing from instrumented functions
|
|
* Fixed ``@typechecked`` failing to instrument functions when
|
|
there are more than one function within the same scope
|
|
* Fixed ``frozenset`` not being checked
|
|
|
|
-------------------------------------------------------------------
|
|
Sun May 14 16:35:53 UTC 2023 - Dirk Müller <dmueller@suse.com>
|
|
|
|
- update to 4.0.0:
|
|
* 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
|
|
* 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
|
|
* 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
|
|
* Fixed ``typing.Literal`` subscript contents being evaluated
|
|
as forward references
|
|
* Fixed resolution of forward references in type aliases
|
|
* 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:``
|
|
* **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
|
|
|
|
-------------------------------------------------------------------
|
|
Fri May 5 09:24:37 UTC 2023 - Dirk Müller <dmueller@suse.com>
|
|
|
|
- update to 3.0.2:
|
|
* Improved warnings by ensuring that they target user code and
|
|
not Typeguard internal code
|
|
* Fixed ``warn_on_error()`` not showing where the type
|
|
violation actually occurred
|
|
* Fixed local assignment to ``*args`` or ``**kwargs`` being
|
|
type checked incorrectly
|
|
* Fixed ``TypeError`` on ``check_type(..., None)``
|
|
* Fixed unpacking assignment not working with a starred
|
|
variable (``x, *y = ...``) in
|
|
* the target tuple
|
|
* Fixed variable multi-assignment (``a = b = c = ...``) being
|
|
type checked incorrectly
|
|
* Improved the documentation
|
|
* Fixed assignment unpacking (``a, b = ...``) being checked
|
|
incorrectly
|
|
* Fixed ``@typechecked`` attempting to instrument wrapper
|
|
decorators such as
|
|
* ``@contextmanager`` when applied to a class
|
|
* Fixed ``py.typed`` missing from the wheel when not building
|
|
from a git checkout
|
|
* Dropped the ``argname``, ``memo``, ``globals`` and
|
|
``locals`` arguments from ``check_type()``
|
|
* Removed the ``check_argument_types()`` and ``check_return_type()``
|
|
functions (use ``@typechecked`` instead)
|
|
* Moved ``install_import_hook`` to be directly importable from
|
|
the ``typeguard`` module
|
|
* Changed the checking of collections
|
|
(list, set, dict, sequence, mapping) to only check the
|
|
first item by default. To get the old behavior,
|
|
set ``typeguard.config.collection_check_strategy`` to
|
|
``CollectionCheckStrategy.ALL_ITEMS``
|
|
* Type checking failures now raise
|
|
typeguard.TypeCheckError instead of TypeError
|
|
* Dropped Python 3.5 and 3.6 support
|
|
* Dropped the deprecated profiler hook (``TypeChecker``)
|
|
* Added a configuration system
|
|
* Added support for custom type checking functions
|
|
* Added support for PEP 604 union types (``X | Y``) on all
|
|
Python versions
|
|
* Added support for generic built-in collection types
|
|
(``list[int]`` et al) on all
|
|
* Python versions
|
|
* Added support for checking arbitrary Mapping types
|
|
* Added support for the Self type
|
|
* Added support for ``typing.Never`` (and
|
|
``typing_extensions.Never``)
|
|
* Added support for ``Never`` and ``NoReturn`` in argument
|
|
annotations
|
|
* Added support for ``LiteralString``
|
|
* Added support for ``TypeGuard``
|
|
* Added support for the subclassable ``Any`` on Python 3.11 and
|
|
``typing_extensions``
|
|
* Added the possibility to have the import hook instrument all
|
|
packages
|
|
* Added the ``suppress_type_checks()`` context manager function
|
|
for temporarily disabling type checks
|
|
* Changed ``check_type()`` to return the passed value, so it
|
|
can be used (to an extent) in place of ``typing.cast()``,
|
|
but with run-time type checking
|
|
* Replaced custom implementation of ``is_typeddict()`` with the
|
|
implementation from ``typing_extensions`` v4.1.0
|
|
* Emit ``InstrumentationWarning`` instead of raising
|
|
``RuntimeError`` from the pytest plugin if modules in the
|
|
target package have already been imported
|
|
* Fixed ``TypeError`` when checking against ``TypedDict`` when
|
|
the value has mixed types among the extra keys (PR by biolds)
|
|
* Fixed incompatibility with ``typing_extensions`` v4.1+ on
|
|
Python 3.10 (PR by David C.)
|
|
* Fixed checking of ``Tuple[()]`` on Python 3.11 and
|
|
``tuple[()]`` on Python 3.9+
|
|
* Fixed integers 0 and 1 passing for ``Literal[False]`` and
|
|
``Literal[True]``, respectively
|
|
* Fixed type checking of annotated variable positional and
|
|
keyword arguments (``*args`` and ``**kwargs``)
|
|
* Fixed checks against ``unittest.Mock`` and derivatives being
|
|
done in the wrong place
|
|
|
|
-------------------------------------------------------------------
|
|
Fri Apr 21 12:38:04 UTC 2023 - Dirk Müller <dmueller@suse.com>
|
|
|
|
- add sle15_python_module_pythons (jsc#PED-68)
|
|
|
|
-------------------------------------------------------------------
|
|
Thu Apr 13 22:45:38 UTC 2023 - Matej Cepl <mcepl@suse.com>
|
|
|
|
- Make calling of %{sle15modernpython} optional.
|
|
|
|
-------------------------------------------------------------------
|
|
Tue Oct 11 16:36:44 UTC 2022 - Yogalakshmi Arunachalam <yarunachalam@suse.com>
|
|
|
|
- Update to version 2.13.3
|
|
* Fixed TypeError when using typeguard within exec() (where __module__ is None) (PR by Andy Jones)
|
|
* Fixed TypedDict causing TypeError: TypedDict does not support instance and class checks on Python 3.8 with standard library (not typing_extensions) typed dicts
|
|
|
|
-------------------------------------------------------------------
|
|
Tue Jun 29 06:29:13 UTC 2020 - Steve Kowalik <steven.kowalik@suse.com>
|
|
|
|
- Initial version
|
|
|