Skip to content

Releases: jupyter-lsp/jupyterlab-lsp

v3.10.2

26 Aug 15:33
069ebdd

Choose a tag to compare

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: v3.10.1...v3.10.2

v3.10.1

21 Mar 19:31
1f0d791

Choose a tag to compare

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: v3.10.0...v3.10.1

v3.10.0

01 Jan 02:38
0de7b96

Choose a tag to compare

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 python-lsp/python-lsp-server#144, and QuantStack/pyls-memestra#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: v3.9.3...v3.10.0

v3.9.3

19 Dec 17:54
5f5054c

Choose a tag to compare

This release contains only a minor workaround for translation strings. The minimum supported Python version is now Python 3.7 as Python 3.6 reaches end of life this week.

To upgrade to this release:

  1. Make sure your JupyterLab version is 3.0.x, 3.1.x or 3.2.x (this is the last minor release with user support for 3.0).

  2. Update the extension:

    pip install jupyterlab-lsp==3.9.3 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.9.3 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.9.3)

  • bug fixes:
    • workaround upstream issue in merging translation (#726, thanks @fcollonval)

Full Changelog: v3.9.2...v3.9.3

v3.9.2

12 Dec 13:49
7158551

Choose a tag to compare

This release comes with new details-below layout allowing to change the completer arrangement, and many bug fixes improving jump to definition feature, diagnostic panel, removing deprecation warnings and improving support for translations.

side-by-side (current, default) details-below
side-by-side details-below

To upgrade to this release:

  1. Make sure your JupyterLab version is 3.0.x, 3.1.x or 3.2.x (this is the last minor release with user support for 3.0).

  2. Update the extension:

    pip install jupyterlab-lsp==3.9.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.9.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.

Combined changelog of jupyterlab-lsp (3.9.2), jupyter-lsp (1.5.1) and completion-theme (3.2.0)

  • features:
    • add details-below layout allowing to change the completer arrangement (#698)
  • bug fixes:
    • prevent very long completion details text from extending the completer indefinitely (#698)
    • correct status translations (#700, thanks @fcollonval)
    • fix translations in status pop-up (#703)
    • workaround issue causing file rename when opening external files by jumping to them (#712, thanks @jepcor97)
    • fix sorting by "Line:Ch" and "Cell" in Diagnostics Panel (#717)
    • fix header border missing when scrolling in Diagnostics Panel (#717)
  • documentation improvements:
    • clarify that JupyterLab restart is needed after installation (#714, thanks @3coins)
  • documentation improvements:
    • document troubleshooting steps for texlab server (#702)
  • maintenance and upkeep:
    • migrate test configuration to ServerApp as needed (#713)
    • address deprecation warnings (#713)
    • remove karma tests from lsp-ws-connection (#720)
    • bump ws from 5.2.2 to 5.2.3 (#721)
    • bump completion theme version, update release date (#722)

New Contributors

  • @jepcor97 made their first contribution in #712
  • @3coins made their first contribution in #714

Full Changelog: v3.9.1...v3.9.2

v3.9.1

25 Oct 07:36
f67c880

Choose a tag to compare

This release comes with support and auto-autodetection of a new language server for TypeScript and JavaScript, typescript-language-server (the previous is no longer maintained) and fixes developer-facing issues in extending this extension.

To upgrade to this release:

  1. Make sure your JupyterLab version is 3.0.x, 3.1.x or 3.2.x (this is the last minor release with user support for 3.0).

  2. Update the extension:

    pip install jupyterlab-lsp==3.9.1 jupyter-lsp==1.5.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=3.9.1 jupyter-lsp=1.5.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 (3.9.1) and jupyter-lsp (1.5.0)

  • bug fixes:
    • fix build issues making it difficult to reuse/extend the package (#696, thanks @cccs-jc)
  • features:
    • add support for new typescript-language-server replacing javascript-typescript-langserver;
      despite the name both packages provide support for all four: JavaScrip, JSX, TypeScript and TSX;
      the old javascript-typescript-langserver can still be used, but it is no longer maintained
      and we will not be supported, and specs may be removed in the next major release (#697).

New Contributors

Full Changelog: v3.9.0...v3.9.1

v3.9.0

17 Oct 22:21
d3d6b85

Choose a tag to compare

This release includes highly anticipated bug fixes and improvements:

  • fixes completions of paths in Python,
  • fixes kernel completions in R,
  • improves the signature feature, which will now:
    • highlight the active argument
    • be displayed above the active line to avoid conflicts with completer
  • enables you to disable specific features, which may improve performance by reducing LSP server workload
before after
before after

This is the last minor release using @krassowski npm organization. Subsequent major and minor releases will use new @jupyter-lsp organization. This is the last minor release targeting JupyterLab 3.0, subsequent releases will target 3.1 and 3.2 versions.

To upgrade to this release:

  1. Make sure your JupyterLab version is 3.0.x, 3.1.x or 3.2.x (this is the last minor release with user support for 3.0).

  2. Update the extension:

    pip install jupyterlab-lsp==3.9.0 jupyter-lsp==1.4.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.9.0 jupyter-lsp=1.4.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 and jupyter-lsp

  • features:
    • signature help box will now persist while typing the arguments of a function (#671)
    • the currently active argument will be highlighted in the signature help box
    • if the documentation exceeds a user-configurable number of lines the signature
      help box will only display the first line of the documentation and the following
      lines will be collapsed into an expandable details section.
    • the signature box is now displayed above the current line
    • the signature box takes up less space
    • you can now disable specific features in settings (#689)
  • bug fixes:
    • fix missing translation strings (#675)
    • fix kernel completions not showing up for R (#686)
    • fix tab completions not showing up in strings due to incomplete trigger kind invalidation (#686)
    • fix path completions reconciliation for pyls/pylsp with IPython (#686)
    • improve escaping rule for IPython magics overrides (#688)
    • fix documentation panel not showing up when typing fast (#692)

New Contributors

v3.8.1

02 Aug 09:34
0dda5ce

Choose a tag to compare

This release fixes too verbose output in the command line, and improves the behaviour and rendering of the hover feature:

before after
before after
before after
before-no-border soft-border

To upgrade to this release:

  1. Make sure your JupyterLab version is 3.0.x or 3.1.x (we are now testing against 3.1.x but will support 3.0 for a limited time too)

  2. Update the extension:

    pip install jupyterlab-lsp==3.8.1 jupyter-lsp==1.4.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.8.1 jupyter-lsp=1.4.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 and jupyter-lsp

  • bug fixes:
    • %Rdevice magic is now properly overridden and won't be extracted to R code (#646)
    • Fix hover rendering for MarkedStrings, fix hover disappearing when moving mouse towards it (#653)
    • remove spurious ValidationError warnings for non-installed servers (#645, thanks @karlaspuldaro)
    • reduce number and verbosity of logs on startup

Contributors to this release

@karlaspuldaro | @krassowski

v3.8.0

04 Jul 19:01
d8c1505

Choose a tag to compare

This release improves user experience when troubleshooting server extension installation (thanks @icankeep) and installation of specific language servers, improves performance of completer (note: this change will be only noticeable by users already using fast language servers), and fixes a few other bugs. It is accompanied with an update of jupyter-lsp which was extended to support listing all known language servers (even when not installed) and specifying language server installation troubleshooting information; external providers of language server specification who use ShellSpec may need to update is_installed() method signature (more details in the full changelog).

To upgrade to this release:

  1. Make sure your JupyterLab version is 3.0.x

  2. Update the extension:

    pip install jupyterlab-lsp==3.8.0 jupyter-lsp==1.4.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=3.8.0 jupyter-lsp=1.4.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.

jupyterlab-lsp changelog:

  • improvements:

    • add a note on manually enabling backend extension (#621, thanks @icankeep)
    • in-app troubleshooting/installation help is now offered for servers which are needed but could not be detected
      (if auto-detection specification for those is present) (#634)
  • bug fixes:

    • fix rename shortcut registration in file editor (#614)
    • improve performance of icon rendering in completer (#625)
    • fix cache misses and concurrency issues for hover (#630)

For jupyter-lsp changelog see here.

Contributors to this release

@krassowski | @icankeep | @yaegassy

v3.7.0

31 May 09:47
321916c

Choose a tag to compare

This release adds autodetection of pyright sever (thanks @yuntan), ability to choose which server is used if multiple are installed (using priority setting), support for log messages and message requests from LSP servers, ability to disable kernel or LSP completions (thanks @Carreau), and compatibility with RetroLab (previously JupyterLab Classic, thanks @jtpio).

To upgrade to this release:

  1. Make sure your JupyterLab version is 3.0.x

  2. Update the extension:

    pip install jupyterlab-lsp==3.7.0 jupyter-lsp==1.3.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=3.7.0 jupyter-lsp=1.3.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:

  • features:

    • add ability to deactivate Kernel completions or LSP completion through the settings (#586, thanks @Carreau)
    • allow to set a priority for LSP server, allowing to choose which server to use when multiple servers are installed (#588)
    • add auto-detection of pyright server (#587, thanks @yuntan)
    • update from JupyterLab Classic to RetroLab (#602)
    • log server messages in user-accessible console (#606)
  • bug fixes:

    • workaround url-parse issue causing problems when using JupyterLab 3.0.15 or newer (#599)
  • other changes:

    • drop Node 10 (EOL 2 weeks ago) testing on CI, add Node 15 (#587)
    • update lsp-ws-connection dependencies (#606)
    • old emit-based API of lsp-ws-connection is new deprecated and will be removed in the next major version; please use serverNotifications, clientNotifications, clientRequests and serverRequests instead (#606)