Skip to content

v4.0.0

Compare
Choose a tag to compare
@krassowski krassowski released this 15 Mar 09:17
c2eba21

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