NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #612 most downloaded on PyPI
A set of server components for JupyterLab and JupyterLab like applications.
Last release 19 days ago
15 Sep 2026
Ships unpredictably
gaps range from 9 days to 1.3 years
Nearly every release is documented
notes for 60 of the last 60 stable releases
1 version withdrawn
withdrawn after publishing
8 years old
117 releases · first in 2018
Maintenance and upkeep improvements
The following people contributed discussions, new ideas, code and documentation contributions, and review.
See our definition of contributors.
(GitHub contributors page for this release)
@andrii-i (activity) | @krassowski (activity)
One column per quarter.
Add untracked_message_types to Page Config #471 ( @Darshan808 )
untracked_message_types to Page Config #471 (@Darshan808)template_dir → templates_dir) #463 (@krassowski)@web.authenticated for ListingsHandler's GET method #457 (@krassowski)Fix handling language packs for pseudo language #456 ( @fcollonval )
Load overrides once, rather than in each settings handler #452 ( @krassowski )
Move ENV_CONFIG_PATH import back into _get_config_manager #450 ( @divyansshhh )
Add util to get consolidated page_config from higher levels #448 ( @divyansshhh )
For v2 extensions parse entrypoint data #445 ( @AshokChoudhary11 )
Maintenance and upkeep improvements
URL Incorrect path Issue #436 ( @itsmevichu )
(GitHub contributors page for this release)
@blink1073 | @dependabot | @fcollonval | @itsmevichu | @JasonWeill | @pre-commit-ci | @welcome
Maintenance and upkeep improvements
Add repository info when getting federated extensions #417 ( @nbowditch-einblick )
(GitHub contributors page for this release)
@blink1073 | @dependabot | @fcollonval | @nbowditch-einblick | @pre-commit-ci | @welcome
Bump openapi deps and support Python 3.8-3.12 #410 (@blink1073)
add lab config for copy absolute path #405 (@pauky)
(GitHub contributors page for this release)
@blink1073 | @dependabot | @pauky | @pre-commit-ci | @welcome
Set Cache-control immutable for static files #394 (@brichet)
Fix coverage handling (#392 #392 (@blink1073)
Optional argument to get only the schema names #385 (@brichet)
Add json5 support for page_config.json #388 (@peytondmurray)
(GitHub contributors page for this release)
@blink1073 | @brichet | @codecov-commenter | @dependabot | @peytondmurray | @pre-commit-ci | @welcome
Change periodic callback time from tuple to int (#376 #376 (@rmoe)
(GitHub contributors page for this release)
@blink1073 | @codecov-commenter | @fcollonval | @pre-commit-ci | @rmoe | @welcome
Don't change language environment variable #366 (@fcollonval)
Prepare for jupyter_server preferred_dir fix #324 (@vidartf)
python3 #362 (@blink1073)(GitHub contributors page for this release)
@blink1073 | @codecov-commenter | @fcollonval | @pre-commit-ci | @vidartf
Do not repeat requirements #361 (@blink1073)
Restore print outputs in process #357 (@blink1073)
Use pytest-jupyter #351 (@blink1073)
Add py.typed marker file #349 (@blink1073)
(GitHub contributors page for this release)
@blink1073 | @codecov-commenter | @dependabot | @pre-commit-ci
Fix handling of jupyter core warning #335 (@blink1073)
(GitHub contributors page for this release)
@blink1073 | @codecov-commenter | @dependabot | @fcollonval | @pre-commit-ci
Terminals availability is not the responsibility of JupyterLab #330 (@fcollonval)
(GitHub contributors page for this release)
@codecov-commenter | @dependabot | @fcollonval | @pre-commit-ci
Prep for using releaser #327 (@blink1073)
(GitHub contributors page for this release)
@blink1073 | @codecov-commenter | @dependabot | @fcollonval | @pre-commit-ci
raise jupyter_server pin to include 2.x #302 (@Zsailer)
(GitHub contributors page for this release)
@blink1073 | @codecov-commenter | @fcollonval | @pre-commit-ci | @Zsailer
raise jupyter_server pin to include 2.x #302 (@Zsailer)
Pin openapi_core dependency #308 (@blink1073)
Ignore deprecationwarning from jsonschema #295 (@blink1073)
(GitHub contributors page for this release)
@afshin | @blink1073 | @codecov-commenter | @fcollonval | @pre-commit-ci
[pre-commit.ci] pre-commit autoupdate #287 (@pre-commit-ci)
proper setup for the fallback logger #269 (@rvalieris)
(GitHub contributors page for this release)
@blink1073 | @codecov-commenter | @kloczek | @pre-commit-ci | @rvalieris | @welcome
Audit uses of print #261 (@blink1073)
(GitHub contributors page for this release)
@blink1073 | @bollwyvl | @codecov-commenter | @fcollonval | @pre-commit-ci
Make openapi optional and lazy #253 (@blink1073)
Resolve paths in tests #245 (@blink1073)
Restore pytest_plugin #243 (@blink1073)
Also look in static for license files #238 (@bollwyvl)
Fix workspace export without arguments #236 (@fcollonval)
Revert "Delay list -> dict conversation to end (#192)" #234 (@blink1073)
Restore back older export for workspaces #229 (@fcollonval)
Move workspace management in jupyterlab_server #227 (@fcollonval)
Add overrides.d for settings defaults #224 (@bollwyvl)
pyproject.toml: clarify build system version #222 (@adamjstewart)(GitHub contributors page for this release)
@adamjstewart | @blink1073 | @bollwyvl | @codecov-commenter | @minrk | @Mithil467 | @welcome
Fallback to context-less translation on Python 3.7 #213 (@krassowski)
Fall back to DEFAULT_LOCALE when translation settings schema is invalid in get_current_locale #207 (@telamonian)
DEFAULT_LOCALE when translation settings schema is invalid in get_current_locale #207 (@telamonian)Translate settings schema #205 (@fcollonval)
Do not overwrite capitalization of region names #202 (@krassowski)
pytest --pyargs jupyterlab_server #203 (@krassowski)Fix reset user settings if validation failed #199 (@fcollonval)
Switch to entrypoints package #187 (@fcollonval)
PR: Add preferred dir option to config #190 (@goanpeca)
Merge overrides settings if values are dicts #188 (@goanpeca)
LicensesManager and API/CLI #161 (@bollwyvl)
Use Jupyter Releaser #183 (@afshin)
Remove Packaging Dependency #181 (@jtpio)
Support for overrides.json5 #179 (@mlucool)
(GitHub contributors page for this release)
@afshin | @blink1073 | @jtpio | @mlucool | @welcome
Cleanup unused imports #165 (@jtpio)
Set file_url_prefix trait for opening notebooks directly #162 (@afshin)
Alleviate invalid locale issue by only setting it if language pack exists #159 (@krassowski)
Add URL and description for federated extension data #154 (@krassowski)
Fix/cp949 encoding error #158 (@k-takanori)
Your coding agent can read these notes before it upgrades. Set up the MCP server →