Skip to content

Releases: microsoft/pylance-release

2021.2.0

04 Feb 00:16
cb1d613
Compare
Choose a tag to compare

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

27 Jan 22:25
8cac5b1
Compare
Choose a tag to compare

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

21 Jan 00:46
7b99fc9
Compare
Choose a tag to compare

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 and Final 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

13 Jan 23:49
baa2032
Compare
Choose a tag to compare

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 and method 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

06 Jan 23:46
e3ef24f
Compare
Choose a tag to compare

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, and ParamSpec with overloads.
  • Two diagnostics have been added, reportInvalidTypeVarUse and reportUnusedCoroutine.
  • Pylance's copy of typeshed has been updated.

For the full changelog, see CHANGELOG.md.

2020.12.2

11 Dec 20:37
0574f7b
Compare
Choose a tag to compare

Notable changes:

For the full changelog, see CHANGELOG.md.

2020.12.1

09 Dec 22:20
923f63e
Compare
Choose a tag to compare

Notable changes:

  • Context managers that may suppress exceptions (such as contextlib.suppress) will no longer mark code after the with 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

03 Dec 00:00
779c2bb
Compare
Choose a tag to compare

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 for logical_xor, even though it does not contain the substring lx.
    (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 when import numpy as np is present will now complete to np.array, rather than adding from 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.