pylance-release

Documentation and issues for Pylance

CC-BY-4.0 License

Downloads
138
Stars
1.7K
Committers
23

Bot releases are hidden (Show)

pylance-release - 2021.3.3

Published by jakebailey over 3 years ago

Notable changes:

For the full changelog, see CHANGELOG.md.

pylance-release - 2021.3.2

Published by jakebailey over 3 years ago

Notable changes:

  • Completions for class property overrides are now supported.
    (pylance-release#1054)
  • Editable installs are now supported.
    (pylance-release#78)
  • Module members appearing in __all__ are now always suggested in auto-imports, regardless of their name.
    (pylance-release#703)
  • Completions offered within stub files will now correctly show symbols available in the current file, rather than only the stub's "externally visible" symbols.
    (pylance-release#685)
  • A bug in symlink support (introduced in the previous release) has been fixed. Some code paths were not correctly handling symlinked directories.
    (pylance-release#1031)
  • Imports of the form from . import X now work correctly in non-__init__.py files.
    (pylance-release#1050)
  • Analysis performance has been improved some code patterns with many inferred variables and deeply nested loops.
    (pylance-release#1049)
  • Python 3.10 match support has been updated to support unparenthesized pattern subject lists.
    (pylance-release#1044)
  • Type aliases can now be defined within the class scope.
    (pylance-release#1043)
  • The bundled Django, matplotlib, and pandas stubs have been updated to fix several bugs and missing members.
    (pylance-release#780, pylance-release#792, pylance-release#850, pylance-release#1037)
  • When indexing is enabled ("python.analysis.indexing": true), auto-import quick fixes will now include results from user code. This was disabled in the previous release; completions from indexed user code are still not offered.
    (pylance-release#1055)
  • Pylance no longer needs to copy files at startup for cross-platform support, which should improve startup time.
  • The hover tooltip now separates the type from the docstring with a horizontal line, matching the completion tooltip.
  • Stubs for scipy's compiled modules are now included, which should improve performance and completion quality.
  • Pylance's copy of typeshed has been updated.

For the full changelog, see CHANGELOG.md.

pylance-release - 2021.3.1

Published by jakebailey over 3 years ago

Notable changes:

  • Import resolution performance has been improved, which significantly reduces overall analysis times (30% in some projects).
  • Hover tooltips for overloaded functions will now place each overload on its own line. This matches the existing completion tooltip. Additionally, signatures which may appear too wide in a tooltip are now separated by extra newlines to visually distinguish them.
    (pylance-release#612)
  • if/elif chains without else clauses can now completely narrow variables. For example, it's possible to verify that an enum value has been exhaustively checked against all possible values without a "default" case. This feature is only active in annotated functions.
  • Symlinks are now generally supported.
    (pylance-release#131)
  • Angle brackets in docstring inline code blocks are no longer incorrectly escaped.
    (pylance-release#816)
  • PEP 464 support (variadic generics) has been updated to match the current state of the PEP. This PEP is not yet accepted, but is targeting Python 3.10.
  • TypedDict support has been updated to allow for narrowing dict members. For example, checking if "a" in d will now recognize d["a"] as a safe operation.
  • When indexing is enabled ("python.analysis.indexing": true), auto-import completions will no longer include indexer results from user code (as this negatively impacted performance); only auto-imports in code referenced from currently open files will be offered. We are looking for feedback about the indexing feature; please file an issue if you have enabled indexing and this affects your workflow.
  • Pylance's copy of typeshed has been updated.

For the full changelog, see CHANGELOG.md.

pylance-release - 2021.3.0

Published by jakebailey over 3 years ago

Notable changes:

For the full changelog, see CHANGELOG.md.

pylance-release - 2021.2.4

Published by jakebailey over 3 years ago

Notable changes:

  • The mapping of stub files to source files has been greatly improved. Go-to-definition and doc strings should now work for a much wider range of code.
    (pylance-release#809, pylance-release#949)
  • Index expression type narrowing is now supported. For example, a check like if some_tuple[1] is not None will cause future uses of some_tuple[1] to not be None, without needing to narrow a temporary variable.
  • Auto-import completion performance has been improved.
  • Pylance's copy of typeshed has been updated.

For the full changelog, see CHANGELOG.md.

pylance-release - 2021.2.3

Published by jakebailey over 3 years ago

Notable changes:

  • PEP 634 ("match") is now supported, including parser and type checking support. This feature will be available in Python 3.10.
  • Completion performance has been improved when the completion list contains a large number of items, which is common when indexing is enabled ("python.analysis.indexing": true) and many auto-imports are suggested.
  • Indexing has been re-enabled in the insiders build.
  • The bundled Django stubs have been updated to their latest version.

For the full changelog, see CHANGELOG.md.

pylance-release - 2021.2.2

Published by jakebailey over 3 years ago

This is a hotfix release, reverting a change in 2021.2.1 which was intended to fix file watching for non-workspace folders, but instead led to "too many files open" messages on macOS.
(pylance-release#936)

pylance-release - 2021.2.1

Published by jakebailey over 3 years ago

Notable changes:

  • Go-to-definition now brings you to source files (e.g. .py files), and a new "go-to-declaration" option brings you to stub files (.pyi). If either would otherwise return no result, Pylance will bring you to whichever files are available.
    (pylance-release#65)
  • Pylance now correctly handles file change events outside of the workspace, triggering reanalysis on actions such as pip install. Environments stored in the workspace were not affected by this bug.
    (pylance-release#923)
  • Some potentially nondeterministic behavior in NoReturn inference has been fixed, which could potentially lead to code being greyed out as unreachable.
    (pylance-release#248)
  • A bug that could lead to execution of json.py in the workspace root and invalid entries in sys.path has been fixed. Thanks to David Dworken for reporting this issue.
  • The bundled Django and SQLAlchemy stubs have been updated to their latest versions.

For the full changelog, see CHANGELOG.md.

pylance-release - 2021.2.0

Published by jakebailey over 3 years ago

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.

pylance-release - 2021.1.3

Published by jakebailey over 3 years ago

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.

pylance-release - 2021.1.2

Published by jakebailey over 3 years ago

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.

pylance-release - 2021.1.1

Published by jakebailey almost 4 years ago

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.

pylance-release - 2021.1.0

Published by jakebailey almost 4 years ago

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.

pylance-release - 2020.12.2

Published by jakebailey almost 4 years ago

Notable changes:

For the full changelog, see CHANGELOG.md.

pylance-release - 2020.12.1

Published by jakebailey almost 4 years ago

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.

pylance-release - 2020.12.0

Published by jakebailey almost 4 years ago

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.