Releases: microsoft/pylance-release
Releases · microsoft/pylance-release
2021.2.0
Notable changes:
- Docstring formatting has been greatly improved, and now better supports indented regions (such as parameter blocks in numpy/pandas docs), nested lists (such as those in argparse), and epydoc (used in OpenCV).
(pylance-release#41, pylance-release#48, pylance-release#83, pylance-release#601, pylance-release#696) - The creation and deletion of temporary files should no longer trigger reanalysis.
(pylance-release#905) - A regression that affected pkgutil-style namespace packages has been fixed.
(pylance-release#892) - Pylance now supports PEP 637 (indexing with keyword arguments) and PEP 646 (variadic generics). These PEPs are still in the draft phase (targeting Python 3.10) and may change before being finalized.
- Pylance's copy of typeshed has been updated, including support for its new directory layout.
For the full changelog, see CHANGELOG.md.
2021.1.3
Notable changes:
- Deleting an entire folder in the workspace will now correctly retrigger analysis.
- Analysis performance has been improved in the case of deeply nested expressions with calls to overloaded functions.
- Import resolution should now pick the correct module when both a namespace module and a traditional module have the same name in the search paths.
(pylance-release#859) - The variable override compatibility check will now correclty ignore private class members.
(pylance-release#863) - A number of crashes and analysis bugs have been fixed.
- The default setting for indexing in the insiders build has been temporarily changed to
false
to pin down potential performance regressions in the feature. It can still be manually enabled with"python.analysis.indexing": true
.
For the full changelog, see CHANGELOG.md.
2021.1.2
Notable changes:
- Completions for method overrides in classes without a parent class will no longer generate unnecessary
super()
calls. - Signature help tooltips will now work when the closing parenthesis is missing.
- Code in
context.surpress
blocks should no longer be unintentionally grayed out in some cases.
(pylance-release#494) - Methods prefixed with a single underscore are now correctly checked for incompatible overrides.
(pylance-release#843) - An internal error related to NewType when used with Protocols has been fixed.
(pylance-release#825) @final
andFinal
checks will now ignore private class members and no longer ignore members prefixed with a single underscore when checking for redeclarations.
(pylance-release#725)
For the full changelog, see CHANGELOG.md.
2021.1.1
Notable changes:
- The new "report issue" VS Code command can automatically fill out a new GitHub issue template for simpler bug reporting.
(pylance-release#762) - The PYTHONPATH environment variable is now supported. This requires a recent insiders build of the Python extension (or the yet-to-be-released January version).
(pylance-release#275) - Variables that are annotated but assigned a value of the wrong type will now use the annotated type rather than using the incorrect type (while in the "off" type checking mode, Pylance's default).
(pylance-release#822) - A number of crashes and performance issues have been fixed.
(pylance-release#825) TypedDict
keys are now suggested in index expression completions.
(pylance-release#827)- The semantic token types for class members and methods have been changed to
property
andmethod
respectively, for consistency with the LSP spec and other languages in VS Code. - Type stubs for SQLAlchemy are now bundled, improving completions, type checking, and other features.
- The bundled Django stubs have been updated to the latest version.
For the full changelog, see CHANGELOG.md.
2021.1.0
Notable changes:
- Python files which do not have a
.py
or.pyi
file extension are now supported.
(pylance-release#739, pylance-release#803, pylance-release#810) - Analysis performance has been improved in cases of deeply nested expressions.
(pylance-release#590, pylance-release#767) - Numerous type checking error messages have been improved, including for
TypedDict
, type variable scoping, yields, andParamSpec
with overloads. - Two diagnostics have been added,
reportInvalidTypeVarUse
andreportUnusedCoroutine
. - Pylance's copy of typeshed has been updated.
For the full changelog, see CHANGELOG.md.
2020.12.2
Notable changes:
- Extract method and variable refactorings are now enabled for all users.
- Binary files will no longer be mistakenly loaded as source code.
(pylance-release#706) - Various crashes and stack overflows have been fixed.
(pylance-release#709, pylance-release#717)
For the full changelog, see CHANGELOG.md.
2020.12.1
Notable changes:
- Context managers that may suppress exceptions (such as
contextlib.suppress
) will no longer mark code after thewith
block as unreachable.
(pylance-release#494) - Various stack overflows have been fixed.
(pylance-release#701) - Stack traces in error messages should now provide more detailed information, aiding in issue reporting for internal errors and crashes.
For the full changelog, see CHANGELOG.md.
2020.12.0
Notable changes:
- Extract method and extract variable code actions are available for preview in Pylance insiders (
"pylance.insidersChannel": "daily"
). - Completion suggestions are now matched more fuzzily. For example, typing
lx
will match a completion forlogical_xor
, even though it does not contain the substringlx
.
(pylance-release#608) - Auto-imports (both completions and quick fixes) will now make use of existing imports when possible. For example, an auto-import completion for
array
whenimport numpy as np
is present will now complete tonp.array
, rather than addingfrom numpy import array
. - Auto-imports will now correctly insert a new import rather than reusing an import statement from a submodule.
(pylance-release#646) - Method override completions will now generate a
super()
call.
(pylance-release#668) - Completions for overriden methods will now show the correct signature.
- VS Code's "word based suggestions" (
editor.wordBasedSuggestion
) are now disabled by default in Python files to mitigate poor completions when Pylance specifies no completions are available.
(pylance-release#604) - Pylance's copy of typeshed has been updated.
For the full changelog, see CHANGELOG.md.