Enhancement: Extended logic that searches for `site-packages` directory within a venv to handle the case where multiple `/lib/python3.X/site-packages` are present. The new logic prefers the configured Python version rather than picking the first one returned by the file system.
Enhancement: Added support for bidirectional type inference for dictionary expressions with dictionary expansion entries.
Bug Fix: Fixed a bug that led to a false positive error when using the `|` operator with two dicts whose keys or values are defined as literals.
Bug Fix: Fixed a recent regression that resulted in an incorrect type evaluation when using a `__new__` method whose return type annotation is `Self`.
Enhancement: Implemented missing check for generic type alias specialization when too few type arguments are provided.
Bug Fix: Fixed a bug that resulted in a false negative when defining a generic class that derives from another generic class and the type parameter isn't compatible with the variance of the base class.
Bug Fix: Added logic to detect when a type alias is used in a generic class declaration's base class list and a type parameter used with the type alias is incompatible with the variance required for the type alias.
Bug Fix (contribution by Michael Davis): Declare workspaceFolders support in LSP server capabilities.
Performance: Performance optimization: reduced formatting of error messages in cases where it can be determined that they are not needed (e.g. in speculative evaluation code paths).
Bug Fix: Fixed a bug that caused the variance for type parameters to be incorrectly inferred when an auto-variance class derived from a non-auto-variance class.
Enhancement: Added support for type guard patterns `type(x) == T` and `type(x) != T`.
Enhancement: Improved error handling for dictionary expressions that use bidirectional type inference when the key type doesn't match the expected type.
Enhancement: Improved handling of `typing.TypeAlias` so it can be aliased and re-exported from other files.
Bug Fix: If no files are found and no errors are detected but the `--outputjson` command-line option is used, a json report should still be issued.
Bug Fix: Made JSON parsing stricter for the pyrightconfig.json file. Previously, a JSON syntax error was not detected or reported.
Enhancement: Removed the need for the binder to understand `typing.Required` and `typing.NotRequired` special forms. This allows these forms to be imported, re-exported, and aliased.
Bug Fix: Fixed a bug that resulted in an incorrect reporting of "unreachable code" after a call to a generator function that contains an unreachable yield statement.
Performance: Fixed performance issue that affected long if/elif chains.
Bug Fix: Fixed bug that resulted in incorrect type evaluation of arguments to `functools.partial` call along with false positive errors. The problem is that the special-case logic for `functools.partial` was not applying bidirectional type inference when evaluating the arg type.
Behavior Change: Changed import modeling behavior for import statements with multi-part module names. The statement `import a.b.c` now implies `import a; import a.b; import a.b.c`. This also affects import cycle detection because these implicit imports are now part of the import graph.
Bug Fix: Fixed a bug that led to a false positive error when using a subclass of `type` as a base class in a class declaration.
Behavior Change: Changed `reportSelfClsParameterName` check to accept `mcs` and `mcls` for first parameter in an instance method within a metaclass (i.e. a subclass of `type`).
Bug Fix: Fixed bug that resulted in the incorrect type evaluation for a function or method that returns `Union[*Ts]` where `Ts` is a TypeVarTuple bound to `*tuple[()]`.
Bug Fix: Fixed regression in `--verifytypes` where variables assigned from calls to `TypeVar`, `ParamSpec`, `TypeVarTuple`, `NewType`, `TypedDict`, and `NamedTuple` were marked as ambiguous.
Enhancement: Added an error message for `Concatenate` if a `TypeVarTuple` is used in the concatenated list of types.
Bug Fix: Fixed a bug whereby the signature help and hover text for an overloaded method would adopt its class docstring rather than the docstring for its own implementation.
Enhancement: Added check and corresponding error for use of an unpacked tuple in a `Concatenate`.
Bug Fix: Fixed several bugs relating to types of callables (functions, methods, lambdas). There were bugs in the type printer, call expression evaluator, and param spec specialization logic.
Enhancement: Added experimental support for inlined TypedDict definitions using the `dict[{'a': int}]` syntax.