jupyter-lsp
Multi-Language Server WebSocket proxy for Jupyter Notebook/Lab server
Description
# jupyter-lsp Multi-[Language Server][language-server] WebSocket proxy for your Jupyter `notebook` or `lab` server. For Python 3.6+. > See the parent of this repository, > [jupyterlab-lsp](https://github.com/jupyter-lsp/jupyterlab-lsp) for the > reference client implementation for [JupyterLab][]. # Language Servers `jupyter-lsp` does not come with any Language Servers! Learn more about installing and configuring [language servers][language servers docs] [language-server]: https://microsoft.github.io/language-server-protocol/specification [langserver]: https://langserver.org [lsp-implementations]: https://microsoft.github.io/language-server-protocol/implementors/servers [jupyter-lsp]: https://github.com/jupyter-lsp/jupyterlab-lsp.git [jupyterlab]: https://github.com/jupyterlab/jupyterlab [language servers docs]: https://jupyterlab-lsp.readthedocs.io/en/latest/Language%20Servers.html
Release History
| Version | Changes | Urgency | Date |
|---|---|---|---|
| 2.3.1 | Imported from PyPI (2.3.1) | Low | 4/21/2026 |
| v5.3.0 | #### Changelog ##### `@jupyter-lsp/jupyterlab-lsp 5.3.0` - enhancements: - allow ignoring missing LSP servers in the status indicator; ignore markdown by default ([#1176](https://github.com/jupyter-lsp/jupyterlab-lsp/pull/1176)) - maintenance: - Use public API of CodeMirror's `EditorView` to find view from DOM ([#1163](https://github.com/jupyter-lsp/jupyterlab-lsp/pull/1163)) - Make integration tests faster ([#1174](https://github.com/jupyter-lsp/jupyterlab-lsp/pull/1174)) | Medium | 4/2/2026 |
| jupyter-lsp-2.3.0 | This release adds auto-detection of two language servers for Python: - [pyrefly](https://pyrefly.org/) - a fast typechecker from Meta - [repository](https://github.com/facebook/pyrefly) - [basedpyright](https://docs.basedpyright.com/latest/) - a featureful pyright replacement - [repository](https://github.com/DetachHead/basedpyright) #### To upgrade to this release: 1. Make sure your JupyterLab version is 4.1.0 or newer and Python version is 3.9 or newer. 2. Update the extension: ` | Low | 8/27/2025 |
| v5.2.0 | #### To upgrade to this release: 1. Make sure your JupyterLab version is 4.1.0 or newer and Python version is 3.9 or newer. 2. Update the extension: ```bash pip install jupyterlab-lsp==5.2.0 jupyter-lsp==2.2.6 '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.2.0 jupyter-lsp=2.2.6 'jupyterlab>=4.1.0' ``` 3. If installing this ext | Low | 7/18/2025 |
| v5.1.1 | #### To upgrade to this release: 1. Make sure your JupyterLab version is 4.1.0 or newer and Python version is 3.9 or newer. 2. Update the extension: ```bash pip install jupyterlab-lsp==5.1.1 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.1 jupyter-lsp=2.2.5 'jupyterlab>=4.1.0' ``` 3. If installing this ext | Low | 5/29/2025 |
| jupyter-lsp-2.2.5 | 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: ```bash 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 jupy | Low | 4/9/2024 |
| jupyter-lsp-2.2.4 | 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: ```bash 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 jupy | Low | 3/5/2024 |
| v5.1.0 | 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: ```bash 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 sin | Low | 2/26/2024 |
| v5.0.3 | 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: ```bash 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-ls | Low | 2/4/2024 |
| v5.0.2 | **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: ```bash 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 | Low | 1/17/2024 |
| v5.0.1 | 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](https://github.com/jupyter-lsp/jupyterlab-lsp/issues) 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 :tada: | Low | 11/26/2023 |
| v5.0.0 | 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](https://github.com/jupyter-lsp/jupyterlab-lsp/issues) 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 ove | Low | 10/8/2023 |
| v5.0.0rc1 | 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: ```bash pip install jupyterlab-lsp==5.0.0rc1 jupyter-lsp==2.2 | Low | 10/1/2023 |
| v4.3.0 | #### 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: ```bash 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 i | Low | 9/21/2023 |
| v5.0.0rc0 | 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: ```bash pip install jupyterlab-lsp==5.0.0rc0 jupyter-lsp==2.2.0 jupyterlab==4.0.6 ``` #### Changes compa | Low | 9/17/2023 |
| v5.0.0b1 | 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: ```bash pip install jupyterlab-lsp==5.0.0 | Low | 9/2/2023 |
| v5.0.0b0 | 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: ```bash pip install jupyterlab-lsp==5.0.0b | Low | 8/29/2023 |
| v5.0.0a0 | 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: ```bash pip install jupyterlab-lsp==5.0.0a0 jup | Low | 8/26/2023 |
| v4.2.0 | 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 | |--|--| |  |  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 parame | Low | 4/24/2023 |
| v4.0.1 | 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: ```bash 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 r | Low | 3/21/2023 |
| v4.0.0 | This is a release with breaking changes (most notable migration to `@jupyter-lsp` organisation) and a number of improvements, notably: ##### Settings UI  ##### Eliding of long paths in completer  ##### Jump-to selector Jump-to receiv | Low | 3/15/2023 |
| v3.10.2 | 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: ```bash 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 | Low | 8/26/2022 |
| v3.10.1 | 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](https://github.com/jupyter-lsp/jupyterlab-lsp/pull/778). #### 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 | Low | 3/21/2022 |
| v3.10.0 | This release brings: - support for special formatting of diagnostics tagged as deprecated code (strike-through), or as unnecessary code (faded out): <img src="https://user-images.githubusercontent.com/5832902/147842760-7cf9f459-61b8-4b47-8e34-64a3801817ca.png" width=40%> `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 signatur | Low | 1/1/2022 |
| v3.9.3 | 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: ```bash pip install jupyterlab-lsp==3.9.3 jupyter-lsp==1.5.1 # or, for conda: # > Please note that conda packages may | Low | 12/19/2021 |
| v3.9.2 | 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` | |--------|-------| |  |  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: ```bash pip install jupyterlab-lsp==3.9.1 jupyter-lsp==1. | Low | 10/25/2021 |
| v3.9.0 | 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 | |--------|-------| |  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 troubles | Low | 7/4/2021 |
| v3.7.0 | This release adds autodetection of [pyright](https://github.com/microsoft/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](https://github.com/jupyterlab/retrolab) (previously JupyterLab Classic, thanks @jtpio). #### To upgrade to this release: 1. Make sur | Low | 5/31/2021 |
| v3.6.0 | This release adds support for translations and the new community-maintained fork of pyls: [python-lsp-server](https://github.com/python-lsp/python-lsp-server) as well as multiple bug fixes. We also updated our [documentation](https://jupyterlab-lsp.readthedocs.io/en/latest/) fixing rendering, making it more readable and adding a section on kernel requirements when using custom LSP servers in notebook. Special shout-out to the new contributors: @JessicaBarh, @marimeireles, @stonebig and @maresb. | Low | 4/26/2021 |
| v3.5.0 | This release provides notable improvements and bug fixes to the completion feature and handling of IPython magics: - `%%bigquery` IPython cell magic is now supported - detail information about the completion is now shown instead of the type by default; if no detail is available, then type or source ("Kernel" for kernel completions) is shown instead  - new settings a | Low | 3/22/2021 |
| v2.1.4 | This is a bugfix-only release for the older version of JupyterLab 2.2.x. We recommend upgrading to JupyterLab 3.0.x and extension 3.x to benefit from the improvements made in the 3.x releases. #### To upgrade to this release: 1. Make sure your JupyterLab version is 2.2 (for JupyterLab 3.0 please use the never extension versioned 3.x) 2. Install/update LSP packages: ```bash jupyter labextension install @krassowski/jupyterlab-lsp@2.1.4 ``` #### Changelog: bug fixes: - backp | Low | 3/10/2021 |
| v3.4.1 | This release fixes an issue with installation from source (via JupyterLab Extension Manager or `jupyter labextension install`) failing to build when `jupyterlab-classic` was not installed. The installation using `pip` or `conda` is recommended over source installations. To learn more about precious changes introduced in version 3.4, or to see the recommended installation instructions please see: [v3.4.0](https://github.com/krassowski/jupyterlab-lsp/releases/tag/v3.4.0) #### Changelog: - | Low | 2/17/2021 |
| v3.4.0 | This release provides notable improvements and bug fixes to the completer (sorting, completion in strings, rendering of markdown documentation) and to the diagnostics panel (when foreign documents like `%%R`, or `%%sql` cells are used). The long paths in the status popover will not be collapsed to prevent it from spanning a large portion of the screen; you can get the full path by hovering over the collapsed path. The ambiguous `suppressInvokeIn` setting was replaced by `suppressContinuousHinti | Low | 2/14/2021 |
| v3.3.1 | This release improves the completer and signature behaviour on focus loss and brings other UX improvements to the completer behaviour (see the changelog notes below). With jupyter-lsp 1.1.3, the JupyterHub/Binder users should no longer be required to switch to to `jupyter_server` to get this extension working. #### To upgrade to this release: 1. Make sure your JupyterLab version is 3.0.x 2. Update the extension: ```bash pip install jupyterlab-lsp==3.3.1 jupyter-lsp==1.1.3 | Low | 2/7/2021 |
| v2.1.3 | This is a bugfix-only release for the older version of JupyterLab 2.2.x. We recommend upgrading to JupyterLab 3.0.x and extension 3.x to benefit from the improvements made in the 3.x releases. Many thanks to @jtpio for backporting the changes and driving this release. #### To upgrade to this release: 1. Make sure your JupyterLab version is 2.2 (for JupyterLab 3.0 please use the never extension versioned 3.x) 2. Install/update LSP packages: ```bash pip install jupyter-lsp==0.9.3 jup | Low | 2/1/2021 |
| v3.3.0 | This release improves overall speed and experience of the completer, including new configuration options and bug fixes, notably a major stability fix Windows. #### To upgrade to this release: 1. Make sure your JupyterLab version is 3.0.x and uses `jupyter_server` (if you use JupyterHub, please see [this comment](https://github.com/krassowski/jupyterlab-lsp/issues/375#issuecomment-761078622)) 2. Update the extension: ```bash pip install jupyterlab-lsp==3.3.0 jupyter-lsp==1.1. | Low | 1/31/2021 |
| v3.2.0 | This release brings support for documentation panel for more languages (including R and javscript/typescript) and multiple bug fixes. #### To upgrade to this release: 1. Make sure your JupyterLab version is 3.0.x and uses `jupyter_server` (if you use JupyterHub, please see [this comment](https://github.com/krassowski/jupyterlab-lsp/issues/375#issuecomment-761078622)) 2. Update the extension: ```bash pip install jupyterlab-lsp==3.2.0 jupyter-lsp==1.1.1 # or, for conda: | Low | 1/24/2021 |
| v3.1.0 | This release brings many bug fixes as well as new experimental features: - experimental support for `jupyterlab-classic`, - experimental support for Julia server, `LanguageServer.jl`, - experimental support for `jedi-language-server` (please use version 0.21 and uninstall pyls). #### To upgrade to this release: 0. JupyterHub users: please see https://github.com/krassowski/jupyterlab-lsp/issues/375#issuecomment-761078622 1. Make sure your JupyterLab version is 3.0.x and uses `jupyter_ | Low | 1/17/2021 |
| v3.0.0 | This release provides support for JupyterLab 3.0. Many thanks to everyone who helped to port the extension: @martinRenou, @jtpio, @bollwyvl, and @karlaspuldaro. To upgrade to this release: 0. JupyterHub users: please see https://github.com/krassowski/jupyterlab-lsp/issues/375#issuecomment-761078622 1. Make sure your JupyterLab version is 3.0 and uses `jupyter_server`: ```bash jupyter server extension list # note: a space between "server" and "extension" ``` | Low | 1/6/2021 |
| v2.1.2 | This release brings an ability to auto-clear the highlights when cell is not focused along with performance improvements and bug fixes to the highlights and completion features. Please see the [CHANGELOG.md](https://github.com/krassowski/jupyterlab-lsp/blob/master/CHANGELOG.md#krassowskijupyterlab-lsp-212-2021-01-02) for details on the improvements in this version. To upgrade to this release 1. Make sure your JupyterLab version is 2.2 (please note that JupyterLab 3.0 is **not** supported y | Low | 1/2/2021 |
| v2.1.1 | This is a hotfix release for Windows users with GBK codec who experienced crash due to one of the schema files containing UTF characters (and JupyterLab extension system not enforcing UTF). Please see the [CHANGELOG.md](https://github.com/krassowski/jupyterlab-lsp/blob/master/CHANGELOG.md#krassowskijupyterlab-lsp-211-2020-12-15) for the details. To upgrade to this release 1. Make sure your JupyterLab version is 2.2 2. Install/update LSP packages: ```bash pip install jupyter-lsp==0.9 | Low | 12/16/2020 |
| v2.1.0 | This release improves jump to definition function (bringing "click to jump" and "jump back" functionality) along with multiple bug fixes and quality of life improvements. Please see the [CHANGELOG.md](https://github.com/krassowski/jupyterlab-lsp/blob/master/CHANGELOG.md#krassowskijupyterlab-lsp-210-2020-12-13) for details on the improvements in this version. To upgrade to this release 1. Make sure your JupyterLab version is 2.2 2. Install/update LSP packages: ```bash pip install jup | Low | 12/13/2020 |
| v2.0.8 | This bugfix release improves syntax highlighting, completer in continuous hinting mode and documentation of hover modifier keys settings. To upgrade to this release 1. Make sure your JupyterLab version is 2.2 2. Install/update LSP packages: ```bash pip install jupyter-lsp==0.9.2 jupyter labextension install @krassowski/jupyterlab-lsp@2.0.8 ``` Please see the [CHANGELOG.md](https://github.com/krassowski/jupyterlab-lsp/blob/master/CHANGELOG.md#krassowskijupyterlab-lsp-208-2020-10 | Low | 10/25/2020 |
| v2.0.7 | This version improves the support for the hover function: - fix syntax highlighting in hover tooltips and reduce unnecessary padding and margin - greatly improve performance of hover action - improve support for expanded hovers tooltips using deprecated API - do not hide hover tooltips too eagerly (allowing selecting text/easy scrolling of longer tooltips) ### Final look and feel Dotted underlines are now working again, the performance was greatly improved by eliminating any delays; m | Low | 9/18/2020 |
| v2.0.6 | Bug fixes: - Fix performance issues related to syntax highlight in foreign virtual documents in code cells ([#361]) [#361]: https://github.com/krassowski/jupyterlab-lsp/issues/361 To upgrade to this release 1. Make sure your JupyterLab version is 2.2 2. Install/update LSP packages: ```bash pip install jupyter-lsp==0.9.2 jupyter labextension install @krassowski/jupyterlab-lsp@2.0.6 ``` | Low | 9/15/2020 |
| v2.0.5 | Bug fixes: - Fix too aggressive overrides of IPython's pinfo (`?`) and pinfo2 (`??`) ([#352]) [#352]: https://github.com/krassowski/jupyterlab-lsp/issues/352 To upgrade to this release 1. Make sure your JupyterLab version is 2.2 2. Install/update LSP packages: ```bash pip install jupyter-lsp==0.9.2 jupyter labextension install @krassowski/jupyterlab-lsp@2.0.5 ``` | Low | 9/11/2020 |
| v2.0.4 | Bug fixes: - improve code overrides for IPython line magics ([#346]) - implement missing code overrides for IPython's pinfo (`?`) and pinfo2 (`??`) syntactic sugar ([#346]) [#346]: https://github.com/krassowski/jupyterlab-lsp/issues/346 To upgrade to this release 1. Make sure your JupyterLab version is 2.2 2. Install/update LSP packages: ```bash pip install jupyter-lsp==0.9.2 jupyter labextension install @krassowski/jupyterlab-lsp@2.0.4 ``` | Low | 9/11/2020 |
