Published 1.1.54
Enhancement: Added json schema for mspythonconfig.json (in addition to pyrightconfig.json).
Enhancement: Updated config file watcher logic so it can detect when a new config file is added to a workspace.
Bug Fix: "Find all references" should not return references to a symbol within library code unless that library source file is currently open in the editor.
Bug Fix: Fixed bug in type checker that caused a crash when analyzing an abstract class with a constructor that contained two or more parameters, all of which are unannotated.
Bug Fix: Fixed pyrightconfig.json JSON schema to accept "information" as a valid diagnostic severity setting.
Enhancement: Updated log levels for messages logged by the Pyright service. Some log levels were "info" but should have been "warning" or "error".
Bug Fix: Fixed bug that caused incorrect type evaluation for *args or **kwargs parameters if no type annotation was present. This bug also affected completion suggestions for these parameters.
Bug Fix: Fixed a bug that resulted in Pyright attempting to parse and analyze binaries (native libraries) like ".pyd" and ".so" files.
Bug Fix: Fixed bug in argument/parameter matching when an unpack operator is used in the argument and the parameter is a *varg type.
Enhancement: Renamed setting "pyright.useLibraryCodeForTypes" to "python.analysis.useLibraryCodeForTypes" for compatibility with Pylance. The older setting name is still supported but will be removed in the future.
Enhancement: Added code to handle the case where a class is assigned to a type described by a callable protocol object. In this case, the class constructor's signature should be compared against the __call__
signature defined in the protocol.
Bug Fix: Fixed bug in import resolver that caused imports that referred to local namespace packages not to resolve.
Bug Fix: Fixed bug that caused enum names that were not uppercase to be handled incorrectly.
Bug Fix: Fixed bug that caused incorrect type analysis when a package __init__.py
imported and re-exported a symbol that matched the submodule it was being imported from, e.g. from .foo import foo
.
Bug Fix: Fixed bug in type analyzer where default value expressions for lambda parameters were not being evaluated. This meant that errors related to these expressions were not reported, and symbols referenced within them were marked as unreferenced.