NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #646 most downloaded on PyPI
Multi-Language Server WebSocket proxy for Jupyter Notebook/Lab server
Last release 6 months ago
02 Apr 2026
Release timing varies
gaps range from 5 weeks to 1.3 years
Nearly every release is documented
notes for 30 of 30 stable releases
Nothing withdrawn
no release was ever pulled
7 years old
33 releases · first in 2019
updated config schema for pylsp to include latest upstream changes
This release adds auto-detection of two language servers for Python:
This release adds auto-detection of two language servers for Python:
pip install jupyterlab-lsp==5.2.0 jupyter-lsp==2.3.0 '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.3.0 'jupyterlab>=4.1.0'
jedi-language-server or python-lsp-server, please make sure to upgrade IPython to 7.20 or newer.jupyter-lsp 2.3.0One column per quarter.
fix for potential data loss on invalid JP_LSP_VIRTUAL_DIR
JP_LSP_VIRTUAL_DIR (#1140)This is a hotfix release for jupyter-lsp (server extension) only.
This is a hotfix release for jupyter-lsp (server extension) only.
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'
jedi-language-server or python-lsp-server, please make sure to upgrade IPython to 7.20 or newer.jupyter-lsp 2.2.5This is a hotfix release for jupyter-lsp (server extension) only.
This is a hotfix release for jupyter-lsp (server extension) only.
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'jedi-language-server or python-lsp-server, please make sure to upgrade IPython to 7.20 or newer.jupyter-lsp 2.2.4updates pyright config schema to v1.1.350
fix an authentication-related security vulnerability (see the advisory for details)
extension_points (#1035)lsp resource, jupyter-server v2+ only) - this allows server operators for fine grained access control, e.g. in case if specific users (such as guest or read-only users) should not be allowed to access LSP; this is in addition to authentication fixesuse APIHandler over JupyterHandler to get CORS OPTIONS #952 (thanks @zhanba!)
APIHandler over JupyterHandler to get CORS OPTIONS #952 (thanks @zhanba!)shutil.which to discover npm executable on Windows (thanks @jameshurst!)sys.executable in stdio tests #998await sleep() coroutine ([#939], thanks @jinzhen-lin)
This release improves jump to definition function (bringing "click to jump" and "jump back" functionality) along with multiple bug fixes and quality o
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 for details on the improvements in this version.
To upgrade to this release
Make sure your JupyterLab version is 2.2
Install/update LSP packages:
pip install jupyter-lsp==0.9.3
jupyter labextension install @krassowski/jupyterlab-lsp@2.1.0
If you are 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.
Many thanks to the code contributors: @fcollonval, @bollwyvl, with special highlight of first-time contributors: @martinRenou, @karlaspuldaro, and @mnowacki-b. Thank you!
.virtual_documents optional - added requires_documents_on_disk spec field (default True, will become False in next major version) ([#930])A minor release to fix the LaTeX server support.
A minor release to fix the LaTeX server support.
To upgrade to this release:
Update JupyterLab to 2.2 version
Install/update LSP packages:
pip install jupyter-lsp==0.9.2
jupyter labextension install @krassowski/jupyterlab-lsp@2.0.1
python. prefixes (#919)This release requires JupyterLab 2.2.
This release requires JupyterLab 2.2.
This release introduces many features and bugfixes, importantly:
Please see the CHANGELOG.md to see all the added features and bug fixes.
To upgrade to this release:
Update JupyterLab to 2.2 version
Install/update LSP packages:
pip install jupyter-lsp==0.9.2
jupyter labextension install @krassowski/jupyterlab-lsp@2.0.0
New completer icons
Documentation panel and continuous hinting (Hinterland mode)
New statusbar icon
Status popover icons restored & the document locator widget instead of document ids in the popover:
| Diagnostics | Completion |
|---|---|
| before | after |
|---|---|
importlib_metadata (or importlib.metadata on 3.10+) for entry_points (#882)entry_point discovery is deferred until server has started, improving
jupyter_server startup time (#852)serverSettings) in specs (#856)address deprecation warnings ([#713])
add support for new typescript-language-server replacing javascript-typescript-langserver; despite the name both packages provide support for all four
typescript-language-server replacing javascript-typescript-langserver;
despite the name both packages provide support for all four: JavaScript, 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).remove spurious ValidationError warnings for non-installed servers ([#645], thanks @karlaspuldaro)
ValidationError warnings for non-installed servers (#645, thanks @karlaspuldaro)troubleshoot property was added to the language server spec, allowing to describe auto-detection troubleshooting ([#634])
features:
changes:
ShellSpec.is_installed() signature changed; it now accepts the LanguageServerManagerAPI rather than the resolved
command location (of str type); the specs using only is_installed_args are not affected; as this method was only
used by internally by the __call__ implementation (which was adjusted accordingly) this change should not break
existing specs unless any of these methods were overridden in sub-classes.SpecBase was moved to types.py; it can still be imported from utils, but doing so is discouragedShellSpec.solve() was added to facilitate discovery of command locationadd auto-detection of pyright server ([#587], thanks @yuntan)
updates to API with respect to null/undefined values in course strict null checks activation ([#733])
null/undefined values in course strict null checks activation ([#733])ensures jupyter*_config.d paths are searched for language_servers as documented in _Configuring_ ([#535])
add config for the classic notebook server extension ([#504])
features:
This release supports JupyterLab 2.0 and 2.1 but not 2.2 and is the last release to support 2.1.x version of JupyterLab.
This release supports JupyterLab 2.0 and 2.1 but not 2.2 and is the last release to support 2.1.x version of JupyterLab.
This release introduces support for LaTeX (note: it requires more configuration than other servers, see the documentation) and a patch aimed at interoperability with Kale (#299).
Please see the CHANGELOG.md for the details.
To upgrade to this release:
Update JupyterLab to 2.1 version
Install/update LSP packages:
pip install jupyter-lsp==0.9.1
jupyter labextension install @krassowski/jupyterlab-lsp@1.1.2
Note: 1.1.1 was skipped to ensure that the correct version of all files is uploaded to npm.
bug fixes:
PythonModuleSpec no longer raises exception when the server module does not exist ([#485])
bug fixes:
PythonModuleSpec no longer raises exception when the server module does not exist (#485)This release supports JupyterLab 2.0 and 2.1 but not 2.2. This release brings support to modify the language servers' configuration in the Advanced Se
This release supports JupyterLab 2.0 and 2.1 but not 2.2. This release brings support to modify the language servers' configuration in the Advanced Settings Editor and many bug fixes.
Please see the CHANGELOG.md for the full list of changes.
To upgrade to this release:
Update JupyterLab to 2.0 version
Install/update LSP packages:
pip install jupyter-lsp==0.9.0
jupyter labextension install @krassowski/jupyterlab-lsp@1.1.0
features:
This release supports JupyterLab 2.x but not JupyterLab 1.x. Starting from this release we also have online documentation at jupyterlab-lsp.readthedoc
This release supports JupyterLab 2.x but not JupyterLab 1.x. Starting from this release we also have online documentation at jupyterlab-lsp.readthedocs.io.
Please see the CHANGELOG.md for the full list of changes.
To upgrade to this release:
Update JupyterLab to 2.0 version
Install/update LSP packages:
pip install jupyter-lsp -U
jupyter labextension install @krassowski/jupyterlab-lsp@1.0.0
Nothing published for this version
the virtual documents' folder can be configured with JP_LSP_VIRTUAL_DIR or LanguageServerManager.virtual_documents_dir, with a potential benefit for J
features
JP_LSP_VIRTUAL_DIR or
LanguageServerManager.virtual_documents_dir, with a potential benefit for
JupyterHub installations (the default value remains contents.root_dir / .virtual_documents)
(#416, thanks @fcollonval)autodetects the sql language server for .sql files ([#328][])
sql language server for .sql files (#328)
sqlint which requires Node 11+
to work well (in contrast to currently required Node 10+).autodetects the texlab language server for .tex files ([#288][])
texlab language server for .tex files (#288)
chktex on save, but don't yet appear,
but can be configured through the Advanced Settings Editor to appear on save or changelanguage servers can now be configured from the Advanced Settings Editor ([#245][])
features
bug fixes
This is the last version for JupyterLab 1.x. A new version for 2.x version will be released soon.
This is the last version for JupyterLab 1.x. A new version for 2.x version will be released soon.
Please see the CHANGELOG.md for the full list of changes.
To upgrade to this release use:
pip install jupyter-lsp -U
jupyter labextension install @krassowski/jupyterlab-lsp@0.8.0
features
bug fixes
renaming variables, functions, etc. in notebooks and files (see GIF below),
Provides major new features:
and many bugfixes and stability improvements, thanks to much higher browser test coverage.
Please see the CHANGELOG.md for the full list of changes.
To upgrade to this release use:
pip install --pre jupyter-lsp -U
jupyter labextension install @krassowski/jupyterlab-lsp@0.7.0
adds a language server status endpoint
starts language servers on demand
features
entry_pointsbugfixes
Your coding agent can read these notes before it upgrades. Set up the MCP server →