Skip to content

Releases: jupyter-lsp/jupyterlab-lsp

v5.0.0b1

02 Sep 20:13
86df891
Compare
Choose a tag to compare
v5.0.0b1 Pre-release
Pre-release

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

v5.0.0b0

29 Aug 04:34
98a8794
Compare
Choose a tag to compare
v5.0.0b0 Pre-release
Pre-release

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)

v5.0.0a0

26 Aug 20:11
6d0c90f
Compare
Choose a tag to compare
v5.0.0a0 Pre-release
Pre-release

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

v4.2.0

28 May 15:29
ff8b6c4
Compare
Choose a tag to compare

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:

Full Changelog: v4.0.1...v4.1.0

v4.1.0

24 Apr 19:04
b576383
Compare
Choose a tag to compare

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: v4.0.1...v4.1.0

v4.0.1

21 Mar 17:26
b7690aa
Compare
Choose a tag to compare

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: v4.0.0...v4.0.1

v4.0.0

15 Mar 09:17
c2eba21
Compare
Choose a tag to compare

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:
  • 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: v3.10.2...v4.0.0

v3.10.2

26 Aug 15:33
069ebdd
Compare
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
Compare
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
Compare
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