Bug Fix: Fixed a bug in isinstance type narrowing logic where the type of the second argument to isinstance is type `Type[T]` and the first argument is a union of types that includes type `T`.
Enhancement: Expanded reportUnusedCallResult diagnostic check to also check for expressions of the form await <call expression>.
Bug Fix (from Pylance): Changed language server to set the working directory before attempting to execute script to retrieve sys.paths.
Behavior Change (from Pylance): Separated behavior of "go to definition" and "got to declaration". The former tries to take you to the source, whereas the latter takes you to the stub file.
Bug Fix: Changed binding logic to not assume that an assignment to a simple name can generate an exception. This fixes a reported false positive error in a type narrowing case.
Enhancement: Added proper error check for the use of an unpack operator (*) when used outside of a tuple.
Bug Fix: Avoid generating a diagnostic for reporUnknownMemberType if the member access expression is used as a call argument and is a generic class that is missing type arguments. This case was already special-cased for reportUnknownArgumentType to handle common cases like `isinstance(x, list)`, but it was resulting in errors for `isinstance(x, re.Pattern)`.
Bug Fix: Fixed a hole in the detection of unspecified type arguments for the Tuple and tuple classes.
Enhancement: Added support for generic classes that are parameterized by ParamSpecs, as allowed in PEP 612.