jupyterlab-lsp

Coding assistance for JupyterLab (code navigation + hover suggestions + linters + autocompletion + rename) using Language Server Protocol

BSD-3-CLAUSE License

Downloads
16M
Stars
1.7K
Committers
49

Bot releases are visible (Hide)

jupyterlab-lsp - jupyter-lsp 2.2.5 Latest Release

Published by krassowski 6 months ago

This is a hotfix release for jupyter-lsp (server extension) only.

To upgrade to this release:

  1. Make sure your JupyterLab version is 4.1.0 or newer and Python version is 3.8 or newer.
  2. Update the extension:
    pip install jupyterlab-lsp==5.1.0 jupyter-lsp==2.2.5 'jupyterlab>=4.1.0'
    # or, for conda:
    # > Please note that conda packages may take a day or two since release before becoming available!
    # conda install -c conda-forge jupyterlab-lsp=5.1.0 jupyter-lsp=2.2.5 'jupyterlab>=4.1.0'
    
  3. If installing this extension for the first time:
    • please read the full installation instructions as language servers of your choice need to be installed too, and additional configuration can make your experience smoother,
    • if you wish to use jedi-language-server or python-lsp-server, please make sure to upgrade IPython to 7.20 or newer.

Changelog

jupyter-lsp 2.2.5
  • bug fixes:
    • fix for environment variables leaking into the parent environment (#1078)
jupyterlab-lsp - jupyter-lsp 2.2.4

Published by krassowski 8 months ago

This is a hotfix release for jupyter-lsp (server extension) only.

To upgrade to this release:

  1. Make sure your JupyterLab version is 4.1.0 or newer and Python version is 3.8 or newer.
  2. Update the extension:
    pip install jupyterlab-lsp==5.1.0 jupyter-lsp==2.2.4 'jupyterlab>=4.1.0'
    # or, for conda:
    # > Please note that conda packages may take a day or two since release before becoming available!
    # conda install -c conda-forge jupyterlab-lsp=5.1.0 jupyter-lsp=2.2.4 'jupyterlab>=4.1.0'
    
  3. If installing this extension for the first time:
    • please read the full installation instructions as language servers of your choice need to be installed too, and additional configuration can make your experience smoother,
    • if you wish to use jedi-language-server or python-lsp-server, please make sure to upgrade IPython to 7.20 or newer.

Changelog

jupyter-lsp 2.2.4
  • bug fixes:
    • fix websocket handler incorrectly inheriting from APIHandler rather than JupyterHandler (#1069)
    • remove unused notebook config entry point (#1069)
    • support latest version of typescript-language-server (#1064)
jupyterlab-lsp - v5.1.0

Published by krassowski 8 months ago

This release includes a new experimental document outline feature (for file editor) and a number of bug fixes. JupyterLab 4.1 or newer is required for this version.

To upgrade to this release:

  1. Make sure your JupyterLab version is 4.1.0 or newer and Python version is 3.8 or newer.
  2. Update the extension:
    pip install jupyterlab-lsp==5.1.0 jupyter-lsp==2.2.3 'jupyterlab>=4.1.0'
    # or, for conda:
    # > Please note that conda packages may take a day or two since release before becoming available!
    # conda install -c conda-forge jupyterlab-lsp=5.1.0 jupyter-lsp=2.2.3 'jupyterlab>=4.1.0'
    
  3. If installing this extension for the first time:
    • please read the full installation instructions as language servers of your choice need to be installed too, and additional configuration can make your experience smoother,
    • if you wish to use jedi-language-server or python-lsp-server, please make sure to upgrade IPython to 7.20 or newer.

Changelog

jupyterlab-lsp 5.1.0

Requires JupyterLab >=4.1.0,<5.0.0a0

  • new features:
    • populate table of contents with code symbols outline (experimental, file editor only)
  • bug fixes:
    • fix settings reconciliation for nested properties (#1051)
    • fix a regression introduced in v5.0.2 which meant that overrides for native kernel and context completion providers were never active (#1057)
    • reduces some warnings in places known to have false positives to debug statements (#1057)
    • highlights no longer get instantly removed when navigating to a beginning of cell from another cell (#1057)
    • with the use of the new extensionFactory API (#1057):
      • LSP features work more reliably as the correct virtual document and editor is known rather than found from heuristics
      • LSP CodeMirror extensions are not added to editors which do not have an LSP-enabled editor reducing spurious warnings and improving performance
      • LSP CodeMirror extensions are only added once the LSP server was connected
  • maintenance:
    • use new extensionFactory API allowing to remove workarounds that were needed to make the extension work in JupyterLab 4.0 (#1057)
    • remove no-longer needed patches for VirtualDocument as these were merged upstream and released in JupyterLab 4.1 (#1057)
    • update coverage, robot version and reporting approaches (#1052)
    • build against JupyterLab 4.1, fix tests (#1057)
    • bump ip from 2.0.0 to 2.0.1 (#1055)
jupyter-lsp 2.2.3
  • maintenance:
    • updates pyright config schema to v1.1.350
jupyterlab-lsp - v5.0.3

Published by krassowski 9 months ago

This is a small release with two bug fixes for completer and transclusions.

To upgrade to this release:

  1. Make sure your JupyterLab version is 4.0.11 or newer and Python version is 3.8 or newer.
  2. Update the extension:
    pip install jupyterlab-lsp==5.0.3 jupyter-lsp==2.2.2 'jupyterlab>=4.0.11'
    # or, for conda:
    # > Please note that conda packages may take a day or two since release before becoming available!
    # conda install -c conda-forge jupyterlab-lsp=5.0.3 jupyter-lsp=2.2.2 'jupyterlab>=4.0.11'
    
  3. If installing this extension for the first time:
    • please read the full installation instructions as language servers of your choice need to be installed too, and additional configuration can make your experience smoother,
    • if you wish to use jedi-language-server or python-lsp-server, please make sure to upgrade IPython to 7.20 or newer.

Changelog

@jupyter-lsp/jupyterlab-lsp 5.0.3
  • bug fixes:
    • fix nested transclusions in JupyterLab 4.0.7+ (#1045)
    • fix completions when type is not defined (#1044)

Full Changelog: https://github.com/jupyter-lsp/jupyterlab-lsp/compare/v5.0.2...v5.0.3

jupyterlab-lsp - v5.0.2

Published by krassowski 9 months ago

All users should upgrade jupyter-lsp to v2.2.2 which addresses a security vulnerability

To upgrade to this release:

  1. Make sure your JupyterLab version is 4.0.9 or newer and Python version is 3.8 or newer.
  2. Update the extension:
    pip install jupyterlab-lsp==5.0.2 jupyter-lsp==2.2.2 'jupyterlab>=4.0.9'
    # or, for conda:
    # > Please note that conda packages may take a day or two since release before becoming available!
    # conda install -c conda-forge jupyterlab-lsp=5.0.2 jupyter-lsp=2.2.2 'jupyterlab>=4.0.9'
    
  3. If installing this extension for the first time:
    • please read the full installation instructions as language servers of your choice need to be installed too, and additional configuration can make your experience smoother,
    • if you wish to use jedi-language-server or python-lsp-server, please make sure to upgrade IPython to 7.20 or newer.

Changelog

@jupyter-lsp/jupyterlab-lsp 5.0.2
  • bug fixes:
    • fix native JupyterLab completion not working when LSP completion plugin is disabled (#1036)
jupyter-lsp 2.2.2
  • bug fixes:
    • address warning about renamed extension_points (#1035)
    • fix compatibility with jupyter server 1.x
    • fix a vulnerability (advisory will be available here)

Full Changelog: https://github.com/jupyter-lsp/jupyterlab-lsp/compare/v5.0.1...v5.0.2

jupyterlab-lsp - v5.0.1

Published by krassowski 11 months ago

A first (and extensive) bug fix release for jupyterlab-lsp 5.0.x line supporting JupyterLab 4.0. For older JupyterLab versions please use jupyterlab-lsp 4.x line. Please report any regression on GitHub issue tracker and feel welcome to open a pull request if you would like to contribute an enhancement or a bug fix.

A special shout out to new contributors who contributed to this set of releases: @i-aki-y, @jameshurst, and @zhanba 🎉

To upgrade to this release:

  1. Make sure your JupyterLab version is 4.0.6 or newer and Python version is 3.8 or newer.
  2. Update the extension:
    pip install jupyterlab-lsp==5.0.1 jupyter-lsp==2.2.1 'jupyterlab>=4.0.9'
    # or, for conda:
    # > Please note that conda packages may take a day or two since release before becoming available!
    # conda install -c conda-forge jupyterlab-lsp=5.0.1 jupyter-lsp=2.2.1 'jupyterlab>=4.0.9'
    
  3. If installing this extension for the first time:
    • please read the full installation instructions as language servers of your choice need to be installed too, and additional configuration can make your experience smoother,
    • if you wish to use jedi-language-server or python-lsp-server, please make sure to upgrade IPython to 7.20 or newer.

Changelog

@jupyter-lsp/jupyterlab-lsp 5.0.1
  • bug fixes:
    • fix false “undefined name” in %%time and %%capture magics #1007 (thanks @i-aki-y!)
    • fix completion items for paths and other long items being cut off #1025
    • workaround issue with markdown lost on edit #1016
    • fix latex/Greek letters insertion and other completions which do not match prefix (do not pre-filter completions from kernel) #1022
    • fix completions in Console #1023
    • fix customising priority after pre-setting it with overrides.json #1027
    • fix jump to definitions in a file inside root in Pyright on Windows #1024
    • fix typos in setting title and help message #999 and #1010
  • maintenance:
    • fix bootstrap script #1021
    • bump axios from 1.2.1 to 1.6.2 #1019
    • bump @babel/traverse from 7.22.5 to 7.23.4 #1020
jupyter-lsp 2.2.1
  • bug fixes:
    • use APIHandler over JupyterHandler to get CORS OPTIONS #952 (thanks @zhanba!)
    • use shutil.which to discover npm executable on Windows #955 (thanks @jameshurst!)
  • maintenance:
    • resolve traitlets type warnings, lint, remove six #1015
    • use sys.executable in stdio tests #998

Full Changelog: https://github.com/jupyter-lsp/jupyterlab-lsp/compare/v5.0.0...v5.0.1

jupyterlab-lsp - v5.0.0

Published by krassowski about 1 year ago

This release brings support for JupyterLab 4.0. Known issues/limitations are listed in the changelog below. Please report any other regression on GitHub issue tracker and feel welcome to open a pull request if you would like to contribute an enhancement or a bug fix. For older JupyterLab versions please use jupyterlab-lsp 4.x line.

Extension authors: feature registration is now handled by upstream @jupyterlab/lsp package; migration overview notes are available in the documentation. Please note that better support for CodeMirror6 integration will be available in JupyterLab 4.1 release.

To upgrade to this release:

  1. Make sure your JupyterLab version is 4.0.6 or newer and Python version is 3.8 or newer.
  2. Update the extension:
    pip install jupyterlab-lsp==5.0.0 jupyter-lsp==2.2.0 'jupyterlab>=4.0.6'
    # or, for conda:
    # > Please note that conda packages may take a day or two since release before becoming available!
    # conda install -c conda-forge jupyterlab-lsp=5.0.0 jupyter-lsp=2.2.0 'jupyterlab>=4.0.6'
    
  3. If installing this extension for the first time:
    • please read the full installation instructions as language servers of your choice need to be installed too, and additional configuration can make your experience smoother,
    • if you wish to use jedi-language-server or python-lsp-server, please make sure to upgrade IPython to 7.20 or newer.

Changelog

  • enhancements:
    • uses toast notifications instead of messages on status bar
    • diagnostics panel will be re-opened on reload
  • maintenance:
    • support JupyterLab 4
    • use upstream @jupyterlab/lsp package
    • use camelCase convention in TypeScript/JavaScript code
    • use @codemirror/linter to show diagnostics
      • this comes with a different style of underlines and custom tooltips
  • known issues/limitations:
    • configuration of language servers via JSON Settings Editor may result in a spurious warning due to a transitive clash with settings from the UI editor when using nested pattern (e.g. {pylsp: {flake8: {enabled: true}}}); the dotted pattern (e.g. {"pylsp.flake8.enabled": true}) does not lead to such problem.
    • enabling auto-invoke of completer requires toggling checkbox in both native and LSP Code Completion settings
    • robot mode does not support JupyterLab 4.0, hence robot LSP will not work either
    • renaming in docker files may not work on certain variables due to upstream tokenizer issue

Full Changelog: https://github.com/jupyter-lsp/jupyterlab-lsp/compare/v4.3.0...v5.0.0

jupyterlab-lsp - v5.0.0rc1

Published by krassowski about 1 year ago

This is the second release candidate of v5.0.0, providing support for JupyterLab 4.0. There are no know major bugs at this point - if you see any issues, please report on https://github.com/jupyter-lsp/jupyterlab-lsp/issues. A final release is expected in the upcoming week.

To test this release:

  1. Make sure your JupyterLab version is 4.0.6 or newer and Python version is 3.8 or newer.

  2. Update the extension:

    pip install jupyterlab-lsp==5.0.0rc1 jupyter-lsp==2.2.0 jupyterlab==4.0.6
    

Changes compared to last 5.0.0rc0

  • restored re-use of standalone virtual documents for transculsions

Requires JupyterLab >=4.0.6,<5.0.0a0

jupyterlab-lsp - v4.3.0

Published by krassowski about 1 year ago

To upgrade to this release:

  1. Make sure your JupyterLab version is 3.6.x (for JupyterLab 4.0 please use jupyterlab-lsp 5.0) and Python version is 3.8 or newer

  2. Update the extension:

    pip install jupyterlab-lsp==4.3.0 jupyter-lsp==2.2.0
    # or, for conda:
    # > Please note that conda packages may take a day or two since release before becoming available!
    # conda install -c conda-forge jupyterlab-lsp=4.3.0 jupyter-lsp=2.2.0
    
  3. Note:

  • If installing this extension for the first time, please read the full installation instructions as language servers of your choice need to be installed too, and additional configuration can make your experience smoother.
  • If you wish to use jedi-language-server or python-lsp-server, please make sure to upgrade IPython to 7.20 or newer.
  • If you wish to migrate to python-lsp-server (which is encouraged), please start by uninstalling python-language-server and only then install python-lsp-server; you may also need to replace pyls occurrences with pylsp in settings if you modified any.

Changelog of jupyterlab-lsp (4.3.0)

  • features:
    • extractor for spark SQL magic was added (#980, thanks @skbitsp)
    • classes needed to register custom adapters are now exported (#980, thanks @skbitsp)
      • using these classes is not recommended for new code as registration mechanism was rewritten in JupyterLab 4.0 and moved to @jupyterlab/lsp

Full Changelog: https://github.com/jupyter-lsp/jupyterlab-lsp/compare/v4.2.0...v4.3.0

jupyterlab-lsp - v5.0.0rc0

Published by krassowski about 1 year ago

This is the first release candidate of v5.0.0, providing support for JupyterLab 4.0. There are no know major bugs at this point - if you see any issues, please report on https://github.com/jupyter-lsp/jupyterlab-lsp/issues.

To test this release:

  1. Make sure your JupyterLab version is 4.0.6 or newer and Python version is 3.8 or newer.

  2. Update the extension:

    pip install jupyterlab-lsp==5.0.0rc0 jupyter-lsp==2.2.0 jupyterlab==4.0.6
    

Changes compared to last 5.0.0b1

  • fixes diagnostics not showing up in text editor in certain circumstances
  • fixes signature hover box not being clickable
  • improves performance by not creating a temporary editor to setup linter underline style
  • JSON overrides work again
  • fixes issue with syntax highlighting breaking when pasting multiple cells
  • numerous fixes for completer
  • fixes for highlights when switching between notebooks/editors

Requires JupyterLab >=4.0.6,<5.0.0a0

jupyterlab-lsp - v5.0.0b1

Published by krassowski about 1 year ago

This is a second beta of v5.0.0 providing support for JupyterLab 4.0. There are known upstream bugs in completer, affecting functionality of this extension - you can disable the LSP completer in the settings.

Please report regressions on https://github.com/jupyter-lsp/jupyterlab-lsp/issues.

To test this release:

  1. Make sure your JupyterLab version is 4.0.5 or newer and Python version is 3.8 or newer.

  2. Update the extension:

    pip install jupyterlab-lsp==5.0.0b1 jupyter-lsp==2.2.0
    

Changes compared to alpha

  • fix highlights conflict with selection
  • fix scrolling to diagnostics and diagnostic rendering in windowed notebook
  • suppress kernel completer in transclusions
jupyterlab-lsp - v5.0.0b0

Published by krassowski about 1 year ago

This is a first beta of v5.0.0 providing support for JupyterLab 4.0. There are known upstream bugs in completer, affecting functionality of this extension - you can disable the LSP completer in the settings.

Please report regressions on https://github.com/jupyter-lsp/jupyterlab-lsp/issues.

To test this release:

  1. Make sure your JupyterLab version is 4.0.5 or newer and Python version is 3.8 or newer.

  2. Update the extension:

    pip install jupyterlab-lsp==5.0.0b0 jupyter-lsp==2.2.0
    

Changes compared to alpha

  • fixed regressions caught by tests (#966)
  • diagnostics panel now reopens on reload (#967)
  • toasts notifications are used for transient notifications (#965)
jupyterlab-lsp - v5.0.0a0

Published by krassowski about 1 year ago

This is a first release providing support for JupyterLab 4.0. There are known upstream bugs in completer which affect functionality of this extension - you can disable the LSP completer in the settings.

Please report regressions on https://github.com/jupyter-lsp/jupyterlab-lsp/issues.

To test this release:

  1. Make sure your JupyterLab version is 4.0.5 or newer and Python version is 3.8 or newer.

  2. Update the extension:

    pip install jupyterlab-lsp==5.0.0a0 jupyter-lsp==2.2.0
    
jupyterlab-lsp - v4.2.0

Published by krassowski over 1 year ago

This release brings a new configuration option to ignore diagnostics based on severity and compatibility with new versions of bash-language-sever (which relies entirely on shellcheck for linting).

New diagnostic severity filter New bash-language-sever options
image Screenshot from 2023-05-28 16-17-14

To upgrade to this release:

  1. Make sure your JupyterLab version is 3.6.x (JupyterLab 4.0 is not yet supported) and Python version is 3.8 or newer

  2. Update the extension:

    pip install jupyterlab-lsp==4.2.0 jupyter-lsp==2.2.0
    # or, for conda:
    # > Please note that conda packages may take a day or two since release before becoming available!
    # conda install -c conda-forge jupyterlab-lsp=4.2.0 jupyter-lsp=2.2.0
    
  3. Note:

  • If installing this extension for the first time, please read the full installation instructions as language servers of your choice need to be installed too, and additional configuration can make your experience smoother.
  • If you wish to use jedi-language-server or python-lsp-server, please make sure to upgrade IPython to 7.20 or newer.
  • If you wish to migrate to python-lsp-server (which is encouraged), please start by uninstalling python-language-server and only then install python-lsp-server; you may also need to replace pyls occurrences with pylsp in settings if you modified any.

Combined changelog of jupyterlab-lsp (4.2.0) and jupyter-lsp (2.2.0)

  • features:
    • diagnostics can be ignored by severity level with new ignoreSeverities setting (#940)
  • bug fixes:
    • await sleep() coroutine (#939, thanks @jinzhen-lin)
    • limit attempts to initialise shadow file system to three trials (#936)
  • maintenance:
    • support bash-language-sever 4.3.2+ (#938, thanks @ackalker)

Full Changelog: https://github.com/jupyter-lsp/jupyterlab-lsp/compare/v4.0.1...v4.1.0

jupyterlab-lsp - v4.1.0

Published by krassowski over 1 year ago

The headline change is this minor release is gradual phasing out of .virtual_documents; if you are maintaining a specification for a custom language server, switching requires_documents_on_disk to False is recommended as it will benefit users with less write operations on disk (with marginal performance gains) and to verify that the server does not need any fixes to support in-memory files.

Users of signature feature will benefit from a better contrast for the highlight of active parameter (if using a server which provides this information), especially in dark mode:

Light mode Dark mode
Screenshot from 2023-04-16 15-43-42 Screenshot from 2023-04-16 15-43-50

To upgrade to this release:

  1. Make sure your JupyterLab version is 3.6.0 or newer (3.3+ may work but there is no official support) and Python version is 3.8 or newer

  2. Update the extension:

    pip install jupyterlab-lsp==4.1.0 jupyter-lsp==2.1.0
    # or, for conda:
    # > Please note that conda packages may take a day or two since release before becoming available!
    # conda install -c conda-forge jupyterlab-lsp=4.1.0 jupyter-lsp=2.1.0
    
  3. Note:

  • If installing this extension for the first time, please read the full installation instructions as language servers of your choice need to be installed too, and additional configuration can make your experience smoother.
  • If you wish to use jedi-language-server or python-lsp-server, please make sure to upgrade IPython to 7.20 or newer.
  • If you wish to migrate to python-lsp-server (which is encouraged), please start by uninstalling python-language-server and only then install python-lsp-server; you may also need to replace pyls occurrences with pylsp in settings if you modified any.

Combined changelog of jupyterlab-lsp (4.1.0) and jupyter-lsp (2.1.0)

  • features:
    • make .virtual_documents optional, with pyright server being trialled as the first opting out (#930)
      • frontend side: logic for solving URIs will now check if the server does not require it
      • server side: added requires_documents_on_disk spec field (default True, will become False in next major version)
  • bug fixes:
    • fix contrast of mark highlights in dark mode (#928)
    • fix conflict with block/rectangular selections on Alt + 🖱️ click (#927)
  • maintenance:
    • update texlab expectation (#929)

Full Changelog: https://github.com/jupyter-lsp/jupyterlab-lsp/compare/v4.0.1...v4.1.0

jupyterlab-lsp - v4.0.1

Published by krassowski over 1 year ago

This is a minor bug-fix only release restoring support for settings defined in overrides.json file and fixing pyright schema.

To upgrade to this release:

  1. Make sure your JupyterLab version is 3.6.0 or newer (3.3+ may work but there is no official support) and Python version is 3.8 or newer

  2. Update the extension:

    pip install jupyterlab-lsp==4.0.1 jupyter-lsp==2.0.1
    # or, for conda:
    # > Please note that conda packages may take a day or two since release before becoming available!
    # conda install -c conda-forge jupyterlab-lsp=4.0.1 jupyter-lsp=2.0.1
    
  3. Note:

  • If installing this extension for the first time, please read the full installation instructions as language servers of your choice need to be installed too, and additional configuration can make your experience smoother.
  • If you wish to use jedi-language-server or python-lsp-server, please make sure to upgrade IPython to 7.20 or newer.
  • If you wish to migrate to python-lsp-server (which is encouraged), please start by uninstalling python-language-server and only then install python-lsp-server; you may also need to replace pyls occurrences with pylsp in settings if you modified any.

Combined changelog of jupyterlab-lsp (4.0.1) and jupyter-lsp (2.0.1)

  • bug fixes:
    • overrides from overrides.json are now picked up again (#919)
    • pyright schema now includes required python. prefixes (#919)

Full Changelog: https://github.com/jupyter-lsp/jupyterlab-lsp/compare/v4.0.0...v4.0.1

jupyterlab-lsp - v4.0.0

Published by krassowski over 1 year ago

This is a release with breaking changes (most notable migration to @jupyter-lsp organisation) and a number of improvements, notably:

Settings UI

demo

Eliding of long paths in completer

Screenshot from 2023-01-02 03-59-58

Jump-to selector

Jump-to received a selector to resolve jump target when multiple targets exist

jump-selector-references

To upgrade to this release:

  1. Make sure your JupyterLab version is 3.6.0 or newer (3.3+ may work but there is no official support) and Python version is 3.8 or newer

  2. Update the extension:

    pip install jupyterlab-lsp==4.0.0 jupyter-lsp==2.0.0
    # or, for conda:
    # > Please note that conda packages may take a day or two since release before becoming available!
    # conda install -c conda-forge jupyterlab-lsp=4.0.0 jupyter-lsp=2.0.0
    
  3. Note:

  • If installing this extension for the first time, please read the full installation instructions as language servers of your choice need to be installed too, and additional configuration can make your experience smoother.
  • If you wish to use jedi-language-server or python-lsp-server, please make sure to upgrade IPython to 7.20 or newer.
  • If you wish to migrate to python-lsp-server (which is encouraged), please start by uninstalling python-language-server and only then install python-lsp-server; you may also need to replace pyls occurrences with pylsp in settings if you modified any.

Combined changelog of jupyterlab-lsp (4.0.0) and jupyter-lsp (2.0.0)

  • features:
    • implement jump target selector and jump to references (#739)
    • implement settings UI using native JupyterLab 3.3 UI (#778)
    • add option to show hover tooltip automatically (#864, thanks @yamaton)
    • implement eliding for long paths/files in completer (#893)
    • allow to pass default workspace config (serverSettings) in specs (#856)
  • bug fixes:
    • use correct websocket URL if configured as different from base URL (#820, thanks @MikeSem)
    • clean up all completer styles when completer feature is disabled (#829).
    • fix undefined being inserted for path-like completion items with no insertText (#833)
    • reduce signature flickering when typing and hover flicker when moving mouse (#836)
    • fix sporadic misplacement of hover tooltips (#860, thanks @yamaton)
    • fix hover tooltip not updated after character deletions (#867, thanks @yamaton)
    • handle potential race condition in feature settings loading (#882)
  • refactoring:
    • changed NPM packages namespace from @krassowski to @jupyter-lsp (#862)
    • move client capabilities to features (#738)
  • downstreams:
    • use the host application's HTTP settings for requests to the REST and WebSocket routes (#881)
    • source maps are provided for improved debugging (#882)
    • the derived JSON Schema types are avilable as SCHEMA (#882)
    • includes sourcemaps for easier debugging (#882)
  • documentation:
    • add missing --channel to conda instruction for texlab (#789, thanks @justin-f-perez)
    • remove references to pylsp fork (#800 and #814, thanks @joelostblom and @nickfong)
    • add Robot Framework language server (#724, thanks @bollwyvl)
    • add a list of third-party and community language servers (#826, thanks @cccs-jc)
    • fix documentation of .lsp_symlink workaround ([#828])
  • maintenance:
    • bump minimum required JupyterLab version to 3.3 (>=3.3.0,<4.0.0a0)
    • bump minimum required Node.js version to 14.0 (12.0 reached EOL in April)
    • use newer @jupyterlab/builder which provides third-party license information (#882)
    • handle notification promises more explicitly (#882)
  • dependencies:
    • uses importlib_metadata (or importlib.metadata on 3.10+) for entry_points (#882)
    • supports Python versions are 3.8 or newer
  • performance:
    • entry_point discovery is deferred until server has started, improving
      jupyter_server startup time (#852)

Full Changelog: https://github.com/jupyter-lsp/jupyterlab-lsp/compare/v3.10.2...v4.0.0

jupyterlab-lsp - v3.10.2

Published by krassowski about 2 years ago

This is a bug-fix-only release with improvements to completer and websocket URL.

To upgrade to this release:

  1. Make sure your JupyterLab version is 3.2.x. or 3.3.x (3.1.x may work but there is no official support)

  2. Update the extension:

    pip install jupyterlab-lsp==3.10.2 jupyter-lsp==1.5.1
    # or, for conda:
    # > Please note that conda packages may take a day or two since release before becoming available!
    # conda install -c conda-forge jupyterlab-lsp=3.10.2 jupyter-lsp=1.5.1
    
  3. Note:

  • If installing this extension for the first time, please read the full installation instructions as language servers of your choice need to be installed too, and additional configuration can make your experience smoother.
  • If you wish to use jedi-language-server or python-lsp-server, please make sure to upgrade IPython to 7.20 or newer.
  • If you wish to migrate to python-lsp-server (which is encouraged), please start by uninstalling python-language-server and only then install python-lsp-server; you may also need to replace pyls occurrences with pylsp in settings if you modified any.

Changelog of jupyterlab-lsp (3.10.2)

  • bug fixes
    • use correct websocket URL if configured as different from base URL (#820, thanks @MikeSem)
    • clean up all completer styles when completer feature is disabled (#829)
    • fix undefined being inserted for path-like completion items with no insertText (#833)
  • maintenance:
    • fix tests to pass with latest JupyterLab 3.3 an 3.4 (#809 and #813)
    • bump minimum required Node.js version to 14.0 (12.0 reached EOL in April #810)

Full Changelog: https://github.com/jupyter-lsp/jupyterlab-lsp/compare/v3.10.1...v3.10.2

jupyterlab-lsp - v3.10.1

Published by krassowski over 2 years ago

This is a bug-fix-only release fixing navigation (jump to) for files with names including special characters which require encoding (like @) and a compatibility fix to make all settings render correctly in the new JupyterLab 3.3 Settings Editor UI; this does not yet include server settings which are work in progress.

To upgrade to this release:

  1. Make sure your JupyterLab version is 3.2.x. or 3.3.x (3.1.x may work but there is no official support)

  2. Update the extension:

    pip install jupyterlab-lsp==3.10.1 jupyter-lsp==1.5.1
    # or, for conda:
    # > Please note that conda packages may take a day or two since release before becoming available!
    # conda install -c conda-forge jupyterlab-lsp=3.10.1 jupyter-lsp=1.5.1
    
  3. Note:

  • If installing this extension for the first time, please read the full installation instructions as language servers of your choice need to be installed too, and additional configuration can make your experience smoother.
  • If you wish to use jedi-language-server or python-lsp-server, please make sure to upgrade IPython to 7.20 or newer.
  • If you wish to migrate to python-lsp-server (which is encouraged), please start by uninstalling python-language-server and only then install python-lsp-server; you may also need to replace pyls occurrences with pylsp in settings if you modified any.

Changelog of jupyterlab-lsp (3.10.1)

  • bug fixes:
    • fix navigation to files with names including characters which require encoding (#758)
    • fix omissions in the main settings schema for correct rendering in JupyterLab 3.3 Settings Editor UI (#779)
  • maintenance
    • make tests pass with new JupyterLab 3.3 (#777)
    • pin r-base version to fix Binder (#766)
    • pin node-gyp to fix CI on Windows (#772)
    • pin pytest-flake8 to fix CI
    • update development/testing environment dependencies: urijs, typedoc, url-parse

Full Changelog: https://github.com/jupyter-lsp/jupyterlab-lsp/compare/v3.10.0...v3.10.1

jupyterlab-lsp - v3.10.0

Published by krassowski almost 3 years ago

This release brings:

  • support for special formatting of diagnostics tagged as deprecated code (strike-through), or as unnecessary code (faded out):

    pylsp users: support for Deprecated tag is tracked in https://github.com/python-lsp/python-lsp-server/issues/144, and https://github.com/QuantStack/pyls-memestra/pull/53 for memestra
  • improvements to the signature feature: the text from the signature can be copied, and details can be expanded
  • and enables pre-filtering of completions on first invokation, especially useful for TypeScript server (this new behaviour can be disabled with preFilterMatches setting if it is not optimal for language servers you use).

Additionally a number of bug fixes and improvements to the codebase are included in this release.

This is the last release under the @krassowski namespace. The next release is planned to be version 4.0 under a new @jupyter-lsp namespace; no action should be needed for users of prebuilt (pip or conda/mamba-installable) version of the extension; other users and dependants will need to install the new package.

To upgrade to this release:

  1. Make sure your JupyterLab version is 3.1.x or 3.2.x.

  2. Update the extension:

    pip install jupyterlab-lsp==3.10.0 jupyter-lsp==1.5.1
    # or, for conda:
    # > Please note that conda packages may take a day or two since release before becoming available!
    # conda install -c conda-forge jupyterlab-lsp=3.10.0 jupyter-lsp=1.5.1
    
  3. Note:

  • If installing this extension for the first time, please read the full installation instructions as language servers of your choice need to be installed too, and additional configuration can make your experience smoother.
  • If you wish to use jedi-language-server or python-lsp-server, please make sure to upgrade IPython to 7.20 or newer.
  • If you wish to migrate to python-lsp-server (which is encouraged), please start by uninstalling python-language-server and only then install python-lsp-server; you may also need to replace pyls occurrences with pylsp in settings if you modified any.

Changelog of jupyterlab-lsp (3.10.0)

  • features:
    • enable pre-filtering of completion matches by default (#735)
    • add support for diagnostic tags: Deprecated, Unnecessary (#736, #737)
  • bug fixes:
    • squash warnings and errors in web console (#732)
    • fix signature blur and fix formatting when no arguments are present (#734)
    • fixed with enabling of strict null checks:
      • previously changing kernels always led to restarting of LSP connection, even if the kernel language did not change; now the connection will be retained if possible
      • markdownRenderer is no longer implicitly required
      • diagnostics sorting with missing values for source and severity was improved and missing values will be consistently shown at the end
      • diagnostics placeholder was split into Diagnostics are not available and No issues detected, great job! which will now show up properly
  • maintenance:
    • enable strict null checks and other strict settings (#733)
    • specify client capabilities in features instead of hard-coding them (#738)
    • bump minimum required JupyterLab version to 3.1 (>=3.1.0,<4.0.0a0)

Full Changelog: https://github.com/jupyter-lsp/jupyterlab-lsp/compare/v3.9.3...v3.10.0