Enhancement: Updated typeshed to the latest.
Enhancement: Added support for typeshed VERSION file, which indicates which stdlib modules are available in each version of Python.
Bug Fix: Fixed bug that resulted in symbols being inappropriately marked "unaccessed" when they were accessed within a keyword argument used within a class declaration.
Bug Fix: Fixed false positive error when a dataclass declares an instance variable but a subclass redeclares a class variable of the same name.
Bug Fix: Fixed type narrowing bug with 'isinstance' checks that involve protocol classes. The bug resulted in false positive errors with the reportUnnecessaryIsInstance check.
Enhancement: Added support for callback protocols that use overloaded __call__
methods.
Enhancement (from pylance): Improved performance of tokenizer's handling of string literals.
Bug Fix (from pylance): Ignore updates to ".git" file so they don't trigger reanalysis.
Bug Fix: Fixed false positive error in check for overload implementation consistency when one of the overloaded methods in a generic class provides an explicit type annotation for "self" or "cls" but the implementation does not.
Enhancement: Improved "is None" and "is not None" type narrowing logic to handle constrained TypeVar that includes None as one of the constraints.
Bug Fix: Fixed false positive error when a __getattr__
method is present. The previous logic was assuming that __getattr__
could provide a magic method value (e.g. for __add__
).
Bug Fix: Prefer py.typed libraries over typeshed for consistency with PEP 561.
Bug Fix: Improved validation for function calls where the function signature includes keyword arguments without default values that are not directly matched by keyword arguments but are matched by a **kwargs argument. In this situation, the type of the **kwargs values should be verified to be compatible with the type of the keyword parameters.
Bug Fix: Fixed bug in lambda type evaluation for lambdas that use an *args parameter. The parameter type was not being transformed into a tuple, as it should have been.
Enhancement: Improved diagnostic message for constant redefinition to make it clear that the symbol is assumed to be constant because its name is uppercase.