JupyterLab Changelog#

v4.1#

JupyterLab 4.1 includes a number of new features (described below), bug fixes, and enhancements for extension developers. This release is compatible with extensions supporting JupyterLab 4.0. Extension authors are recommended to consult the Extension Migration Guide which lists deprecations and changes to the public API.

Custom CSS#

JupyterLab now supports automatic loading of custom CSS. Themes are the recommended way for customizing the JupyterLab look and feel, while custom CSS is intended for minor personal adjustments.

To opt in, start JupyterLab with the --custom-css flag. The location of the custom.css file is documented in the section on customizing the user interface.

Note

custom.css is also available in Jupyter Notebook; while similar selectors can be used for components shared between JupyterLab 4.1 and Jupyter Notebook 7.0, there was a different set of selectors in Notebook 6 and older versions. Users with the custom CSS file using the selectors from legacy Notebook versions will need to update them and note that tutorials may refer to the selectors for the old Notebook versions.

Diagrams in Markdown#

Matching GitHub-Flavoured Markdown, JupyterLab 4.1 now supports Mermaid diagrams. To create a mermaid diagram use the mermaid language specifier for a code block in a markdown cell or document, for example:

```mermaid
flowchart LR

A[Hard] -->|Text| B(Round)
B --> C{Decision}
C -->|One| D[Result 1]
C -->|Two| E[Result 2]
```

which renders as:

Inline completer#

JupyterLab now supports completion presented as ghost text in the cell and file editors, allowing generative AI models to provide multi-line completions. The suggestions are provided by plugins implementing the IInlineCompletionProvider API; by default a single provider which uses kernel history is available.

The suggestions can be invoked as-you-type or manually using a configurable shortcut (by default Alt + \). The default keyboard shortcuts are displayed in the small widget shown when hovering over the ghost suggestion:

  • Alt + End - accept suggestion

  • Alt + [ - previous suggestion

  • Alt + ] - next suggestion

To enable the inline suggestions based on the kernel history, go to Settings → Inline Completer → History provider → check the “enabled” checkbox.

In addition to the built-in history suggestions, the jupyter-ai extension can provide suggestions from supported models. The jupyter-ai integration with inline completer is available starting with the v2.10.0 release.

The Inline Completer API is still considered experimental and may be subject to changes, please share feedback!

Keyboard navigation improvements#

Numerous improvements to keyboard navigation with focus on accessibility and usability are included in this release:

  • the notebook cells now retain focus

  • the focus can now be moved beyond the active notebook

  • the toolbars can now be navigated using arrow keys

For more details, see this post on the Jupyter Blog.

Execution history in notebook#

The code from previously executed cells can be used to populate empty cells, allowing to iterate on code from previous cells or even previous sessions (depending on how a specific kernel stores history).

To cycle between history items, press Alt + Arrow Up and Alt + Arrow Down.

To enable execution history, go to Settings → Notebook → check the “Kernel history access” checkbox.

This feature was already available in the console in previous releases; it only works with kernels supporting execution history requests. To clear the execution history, consult the documentation of the kernel you are using (e.g., IPython/ipykernel).

Opening files from tracebacks#

Paths to code files detected in tracebacks returned by kernels on execution error are now turned into links. These links will open the corresponding file for editing, if it is in the Jupyter root directory, or they will open a read-only preview if the file is outside of the root directory and the active kernel supports the debugger.

Error indicator in the table of contents#

When a cell fails during execution, an error indicator will be displayed by the corresponding heading, increasing awareness of the notebook state and enabling users to quickly navigate to the cell which requires attention.

Plugin Manager#

Individual plugins can now be disabled or enabled from a new Plugin Manager user interface. Each extension is composed of one or more plugins, and plugins form the basis of JupyterLab itself, thus the plugin manager enables more extensive customization of the JupyterLab experience.

This feature is intended for advanced users and is documented in depth in the documentation.

Administrators may want to lock specific plugins if they are required for any reason; this will prevent users from disabling the plugins via Plugin Manager and remote API calls. The Plugin Manager itself can be disabled using the CLI.

Virtual scrollbar for notebook in windowed mode#

The windowed notebook received an optional scrollbar delineating the active cell and selected cells. Users can jump to a specific cell.

To enable the virtual scrollbar, go to Settings → Notebook → Windowing mode, choose “full”, and click on the hamburger icon (≡) which appears in the notebook’s toolbar.

Virtual scrollbar is considered experimental, please share feedback!

Notifications#

JupyterLab 3.6 added a notification center which so far was only used for announcements and version update notifications (both opt-in). JupyterLab 4.1 adds two notifications to guide users in potentially confusing situations:

  • when a user attempts to save a read-only document, a transient notification suggesting using “save as” is displayed

  • when a user attempts to execute a cell before a slow-starting kernel has initialized, a notification is shown to indicate that the cell cannot be yet executed (this is opt-in and needs to be enabled in settings)

Full notebook windowing mode improvements#

Notebooks in the full windowing mode only render the visible cells, significantly improving the performance of the application. Numerous improvements for the full windowing mode behaviour (such as scrolling, search, rendering, and navigation) are included in this release (see the list of issues in #15258 for details).

Note

The windowing mode is still experimental and known issues remain to be solved (#15415, #15465, #15594). In addition, a sporadic regression in cell ordering (#15610) was observed in 4.1 beta, and remains to be fixed, pending reports from users willing to test the windowing mode in JupyterLab 4.1 to help create reproducible steps that would enable fixing this issue.

Users who already enabled this mode in previous versions are advised to evaluate the benefits of fixes included in 4.1 against regressions linked above before deciding to upgrade.

Search improvements#

  • The search box will now grow automatically to accommodate longer text

  • Search in selection can now be toggled using Alt + L and automatic search in selection can be configured in settings

  • Tooltips with shortcuts were added to the buttons in the search box to improve discoverability of the shortcuts

Miscellaneous#

  • The current theme (dark/light) can now be synced with the browser/system preference (Settings menu → Theme → Synchronise with System Settings)

  • A blue “read-only” status indicator is now displayed in the toolbar of documents which cannot be saved because their model is read-only.

  • Native support for viewing jsonl/ndjson files was added

  • Collapsing of breadcrumbs in the File Browser can be disabled in File Browser settings

  • Extension manager can now use a HTTP proxy for fetching extensions

Moved plugins#

Some internal JupyterLab plugins have been re-organized to allow for better flexibility for deployments and downstream applications like Notebook 7. This might affect users that disable specific plugins with the jupyter labextension disable command or the disabledExtensions config option.

  • The help:open command is not defined in the @jupyterlab/help-extension:resources plugin anymore, but has been moved to a new @jupyterlab/help-extension:open plugin instead.

v4.0#

4.0.0 - Highlights#

Below are the major highlights in JupyterLab 4.0.0.

New text editor#

CodeMirror, the text editor used for cells and file editors, has been updated to CodeMirror 6. This brings important accessibility and performance improvements as well as better customization capabilities. We have also improved the editor settings. Previously, users had to customize settings separately for each type of cell, the file editor, and the console editor. Now, you can change your settings in one place. It is now easier to use the default settings for all editors and to change some settings for specific cases. For example, you can now hide line numbers only for markdown cells.

Developers can now provide editor extensions, like themes and programming language parsers, through new application registries.

New extension manager#

Starting with JupyterLab 3, extensions can be installed via Python packages (or other providers of prebuilt extensions).

In JupyterLab 4, building on this feature, the Extension Manager now includes extensions from pypi.org. This removes the build step from installation of extension when using Extension Manager.

Developers can provide an alternative package repository to display their own set of extensions.

UI improvements#

Some new elements have been added or changed in the UI:

  • Rework the running kernels section

  • “Add a new cell” button at the bottom of a notebook

  • Dialog to display keyboard shortcuts as in the Classic Notebook (use Ctrl + Shift + H)

  • Display the first line of cell input and outputs when they are collapsed

Accessibility improvements#

JupyterLab is not yet fully accessible. Currently, we are focused on making Notebook 7 accessible. A big part of the code is shared, though, and the following accessibility improvements are in JupyterLab 4:

  • Improved focus and keyboard navigation in the file browser

  • More ARIA roles and labels were added to UI elements

  • Main menu collapses to a hamburger menu if there is not enough space to display all items.

Performance enhancements#

JupyterLab is now faster, thanks to the following improvements:

  • CSS rules optimization: CSS selectors have been optimized to improve web browser performance when many elements are present on a page.

  • Upgrade to CodeMirror 6: Especially for notebooks with many cells, the new CodeMirror version is far more efficient than the previous version. Large notebooks should load more quickly.

  • Upgrade to MathJax 3: The mathematical equations renderer library has been been upgraded from v2 to v3 allowing faster rendering.

  • Notebook windowing: By rendering only the parts of a notebook that fit in the web browser viewport, JupyterLab is much more efficient. See an important note below.

Notebook windowing might add side effects for example if some cell outputs are displaying iframes. Therefore it is not yet the default value. But we recommend user to switch to it and report bugs to help us polish it. To test it, you need to set the user setting Notebook > Windowing mode to full. If you have issues with notebook rendering, try changing back to defer or none. (none should be used as a last resort, because it disables all optimizations.)

Real Time Collaboration#

JupyterLab 3.6 already made significant improvements to the Real Time Collaboration (RTC) feature. The feature is now in a separate repository: jupyter_collaboration. The rationale is to limit the dependencies for users who don’t need RTC. Separating RTC also helps organizations using JupyterLab that do not meet the specific requirements regarding file content management.

To enable RTC, install the jupyter-collaboration package with either pip or conda.

  • with pip: pip install "jupyter-collaboration>=1.0.0a0"

  • with conda: not yet available

RTC highlights in the standalone jupyter-collboration package, version 1.0.0, include:

  • Support for displaying multiple cursors and selections

  • Support for registration of new shared model types

For developers#

Here are the main tool updates that will benefit extension authors and developers:

  • TypeScript v5

  • Yarn v3

  • React v18

  • Lumino v2

We recommend using Node.js v18 or newer, because older versions will reach end of life in 2023 or earlier (see Node release schedule).

To ease code migration to JupyterLab 4, developers should review the migration guide. A few existing extensions have already been migrated and can be used as examples:

4.1.6#

(Full Changelog)

Bugs fixed#

Maintenance and upkeep improvements#

Documentation improvements#

Contributors to this release#

(GitHub contributors page for this release)

@afshin | @brichet | @fcollonval | @gabalafou | @github-actions | @JasonWeill | @jtpio | @jupyterlab-probot | @krassowski | @lumberbot-app | @meeseeksmachine | @Mehak261124 | @RRosio | @trungleduc | @welcome

4.1.5#

(Full Changelog)

Bugs fixed#

Maintenance and upkeep improvements#

Contributors to this release#

(GitHub contributors page for this release)

@andrii-i | @brichet | @jtpio | @jupyterlab-probot | @krassowski | @linlol | @meeseeksmachine | @welcome

4.1.4#

(Full Changelog)

Bugs fixed#

Contributors to this release#

(GitHub contributors page for this release)

@ericsnekbytes | @github-actions | @jtpio | @jupyterlab-probot | @krassowski | @meeseeksmachine

4.1.3#

(Full Changelog)

Bugs fixed#

Maintenance and upkeep improvements#

Documentation improvements#

Contributors to this release#

(GitHub contributors page for this release)

@AllanChain | @brichet | @ericsnekbytes | @fcollonval | @FoSuCloud | @github-actions | @JasonWeill | @jtpio | @jupyterlab-probot | @krassowski | @linlol | @lumberbot-app | @meeseeksmachine | @welcome

4.1.2#

(Full Changelog)

Bugs fixed#

Maintenance and upkeep improvements#

Documentation improvements#

Contributors to this release#

(GitHub contributors page for this release)

@FoSuCloud | @github-actions | @JasonWeill | @jupyterlab-probot | @kiliansinger | @krassowski | @lumberbot-app | @nluetts | @trungleduc | @welcome

4.1.1#

(Full Changelog)

Bugs fixed#

Maintenance and upkeep improvements#

  • Update jupyter-collaboration for the Binder environment #15767 (@jtpio)

  • Fix failing “Notebook Toolbar › Paste cell” test #15720 (@krassowski)

Documentation improvements#

Contributors to this release#

(GitHub contributors page for this release)

@davidbrochart | @dhml | @fcollonval | @g547315 | @github-actions | @JasonWeill | @jtpio | @jupyterlab-probot | @krassowski | @lumberbot-app | @minrk | @pre-commit-ci | @welcome

4.1.0#

(Full Changelog)

New features added#

Enhancements made#

Bugs fixed#

Maintenance and upkeep improvements#

Documentation improvements#

API and Breaking Changes#

Deprecated features#

Contributors to this release#

(GitHub contributors page for this release)

@afshin | @akx | @alden-ilao | @AllanChain | @andrewfulton9 | @andrii-i | @ashna1jain | @bikash30851 | @blink1073 | @bollwyvl | @brichet | @brijsiyag | @coriegulik | @davidbrochart | @DcWire | @Deepali1211 | @DenisaCG | @dependabot | @dharmaquark | @divyansshhh | @dolevf | @DonJayamanne | @echarles | @eliaslma | @emmanuel-ferdman | @ericsnekbytes | @fcollonval | @firai | @FoSuCloud | @g547315 | @gabalafou | @GabrielaVives | @github-actions | @HaudinFlorence | @hbcarlos | @holzman | @isabela-pf | @j264415 | @jans-code | @JasonWeill | @jtpio | @jupyterlab-bot | @jupyterlab-probot | @KiranmaiKalla | @krassowski | @LJMP | @lumberbot-app | @m158261 | @mctoohey | @mdengler | @MFA-X-AI | @misterfads | @mlucool | @mmichilot | @nbowditch-einblick | @nishikantparmariam | @paolocarinci | @parmentelat | @pauky | @paulkim3151 | @phil-zxx | @pre-commit-ci | @Rmarieta | @RRosio | @Sarthug99 | @sinistersnare | @skyetim | @smacke | @SylvainCorlay | @t03857785 | @tibdex | @timkpaine | @tonyfast | @trungleduc | @welcome | @Wh1isper | @yuvipanda

4.1.0rc1#

(Full Changelog)

Bugs fixed#

Maintenance and upkeep improvements#

Documentation improvements#

Contributors to this release#

(GitHub contributors page for this release)

@FoSuCloud | @github-actions | @JasonWeill | @jtpio | @jupyterlab-probot | @krassowski | @lumberbot-app | @Sarthug99 | @welcome

4.1.0rc0#

(Full Changelog)

Bugs fixed#

Maintenance and upkeep improvements#

Documentation improvements#

  • Mention jupyter-ai pre-release in inline completer changelog section #15669 (@krassowski)

Contributors to this release#

(GitHub contributors page for this release)

@brichet | @dependabot | @fcollonval | @FoSuCloud | @github-actions | @j264415 | @JasonWeill | @jupyterlab-bot | @jupyterlab-probot | @KiranmaiKalla | @krassowski | @welcome | @Wh1isper

4.1.0b2#

(Full Changelog)

Security fixes#

Documentation improvements#

Contributors to this release#

(GitHub contributors page for this release)

@github-actions | @jupyterlab-probot | @krassowski

4.1.0b1#

(Full Changelog)

Enhancements made#

  • Show toast notification for running code cell while kernel initializing #15421 (@misterfads)

Bugs fixed#

Maintenance and upkeep improvements#

Documentation improvements#

  • Fix link to yarn docs in extension migration guide #15640 (@krassowski)

  • Fix kernel shortcuts, add migration, fix defaults population #15639 (@krassowski)

  • Note changes to statusbar items behaviour in extension migration guide #15556 (@j264415)

Contributors to this release#

(GitHub contributors page for this release)

@alden-ilao | @andrewfulton9 | @bollwyvl | @brichet | @dependabot | @fcollonval | @github-actions | @j264415 | @jtpio | @jupyterlab-probot | @krassowski | @MFA-X-AI | @misterfads | @pre-commit-ci | @welcome | @Wh1isper

4.1.0b0#

(Full Changelog)

New features added#

  • Add virtual scrollbar component to windowed lists. #15533 (@afshin)

Enhancements made#

  • Custom kernel message serializer #15254 (@DonJayamanne)

  • Clarify labels for user inputs and link dangling labels #15222 (@m158261)

  • Make status bar accessible at 400% zoom by hiding items with priority of zero (default) #14854 (@j264415)

  • Add global keyboard shortcuts for all tab bar widgets #14799 (@g547315)

  • Fix skiplink and add placeholder for additional skiplinks #14597 (@t03857785)

Bugs fixed#

Maintenance and upkeep improvements#

Documentation improvements#

Deprecated features#

Contributors to this release#

(GitHub contributors page for this release)

@afshin | @akx | @ashna1jain | @brichet | @DcWire | @dependabot | @DonJayamanne | @fcollonval | @g547315 | @gabalafou | @GabrielaVives | @github-actions | @j264415 | @jtpio | @jupyterlab-probot | @krassowski | @lumberbot-app | @m158261 | @mmichilot | @parmentelat | @pre-commit-ci | @t03857785 | @tonyfast | @welcome

4.1.0a4#

(Full Changelog)

Enhancements made#

Bugs fixed#

Maintenance and upkeep improvements#

Documentation improvements#

Contributors to this release#

(GitHub contributors page for this release)

@andrewfulton9 | @blink1073 | @brichet | @fcollonval | @gabalafou | @github-actions | @j264415 | @jtpio | @jupyterlab-probot | @krassowski | @lumberbot-app | @m158261 | @mdengler | @parmentelat | @RRosio | @tonyfast | @welcome

4.1.0a3#

(Full Changelog)

New features added#

Enhancements made#

Bugs fixed#

Maintenance and upkeep improvements#

Documentation improvements#

Contributors to this release#

(GitHub contributors page for this release)

@andrewfulton9 | @andrii-i | @blink1073 | @bollwyvl | @brichet | @DenisaCG | @dependabot | @dharmaquark | @divyansshhh | @dolevf | @eliaslma | @ericsnekbytes | @fcollonval | @firai | @github-actions | @j264415 | @jtpio | @jupyterlab-probot | @krassowski | @LJMP | @lumberbot-app | @m158261 | @mmichilot | @nbowditch-einblick | @nishikantparmariam | @parmentelat | @pauky | @paulkim3151 | @pre-commit-ci | @sinistersnare | @skyetim | @tibdex | @tonyfast | @trungleduc | @welcome

4.1.0a2#

(Full Changelog)

New features added#

Enhancements made#

Bugs fixed#

Maintenance and upkeep improvements#

Documentation improvements#

API and Breaking Changes#

Contributors to this release#

(GitHub contributors page for this release)

@afshin | @andrewfulton9 | @bikash30851 | @brichet | @Deepali1211 | @dependabot | @echarles | @fcollonval | @gabalafou | @github-actions | @HaudinFlorence | @hbcarlos | @isabela-pf | @jans-code | @jtpio | @jupyterlab-probot | @krassowski | @lumberbot-app | @m158261 | @parmentelat | @pre-commit-ci | @Rmarieta | @smacke | @trungleduc | @welcome

4.1.0a1#

(Full Changelog)

Enhancements made#

Bugs fixed#

Maintenance and upkeep improvements#

Documentation improvements#

Contributors to this release#

(GitHub contributors page for this release)

@AllanChain | @andrii-i | @bollwyvl | @brichet | @brijsiyag | @coriegulik | @davidbrochart | @DenisaCG | @dependabot | @echarles | @emmanuel-ferdman | @ericsnekbytes | @fcollonval | @FoSuCloud | @g547315 | @gabalafou | @GabrielaVives | @github-actions | @hbcarlos | @holzman | @isabela-pf | @j264415 | @JasonWeill | @jtpio | @jupyterlab-probot | @krassowski | @lumberbot-app | @mctoohey | @pauky | @pre-commit-ci | @skyetim | @SylvainCorlay | @timkpaine | @tonyfast | @trungleduc | @welcome | @yuvipanda

4.0.2#

(Full Changelog)

Bugs fixed#

Maintenance and upkeep improvements#

Documentation improvements#

Contributors to this release#

(GitHub contributors page for this release)

@dependabot | @ericsnekbytes | @fcollonval | @GabrielaVives | @github-actions | @jtpio | @jupyterlab-probot | @krassowski | @pre-commit-ci | @tonyfast

4.0.1#

(Full Changelog)

Enhancements made#

Bugs fixed#

Maintenance and upkeep improvements#

Documentation improvements#

Contributors to this release#

(GitHub contributors page for this release)

@brijsiyag | @c3Vu | @dependabot | @fcollonval | @github-actions | @j264415 | @JasonWeill | @JeanLescutMuller | @jtpio | @jupyterlab-probot | @krassowski | @nishikantparmariam | @t03857785 | @tpatel | @tuncbkose | @welcome

4.0.0#

(Full Changelog)

JupyterLab 4 is released! :tada:

Check out the new features, improvements and bug fixes: https://jupyterlab.readthedocs.io/en/stable/getting_started/changelog.html#v4-0

For extension authors, there is a migration guide available to help you migrate your extensions to JupyterLab 4: https://jupyterlab.readthedocs.io/en/stable/extension/extension_migration.html#jupyterlab-3-x-to-4-x


For reference, below are the changed since v4.0.0rc1:

Bugs fixed#

Maintenance and upkeep improvements#

Documentation improvements#

Contributors to this release#

(GitHub contributors page for this release)

@afshin | @andrii-i | @fcollonval | @github-actions | @HaudinFlorence | @jupyterlab-probot | @krassowski | @welcome

4.0.0rc1#

(Full Changelog)

Bugs fixed#

Maintenance and upkeep improvements#

Documentation improvements#

Contributors to this release#

(GitHub contributors page for this release)

@afshin | @andrewfulton9 | @andrii-i | @bikash30851 | @dependabot | @fcollonval | @gabalafou | @github-actions | @JaSpa | @jtpio | @jupyterlab-probot | @krassowski | @meeseeksdev | @pre-commit-ci | @welcome

4.0.0rc0#

(Full Changelog)

New features added#

Enhancements made#

Bugs fixed#

Maintenance and upkeep improvements#

Documentation improvements#

API and Breaking Changes#

Contributors to this release#

(GitHub contributors page for this release)

@3coins | @a3626a | @aditya211935 | @afshin | @agoose77 | @ajbozarth | @akhmerov | @alec-kr | @Alexboiboi | @andrii-i | @athornton | @blink1073 | @bollwyvl | @brichet | @c00kie123 | @cccs-nik | @chbrandt | @ChristopherDavisUCI | @damiend97 | @davidbrochart | @dependabot | @dlqqq | @dmonad | @kamalika0363 | @domoritz | @echarles | @ellisonbg | @ericsnekbytes | @fcollonval | @firai | @FoSuCloud | @fperez | @frenzymadness | @frivas-at-navteca | @gabalafou | @GabrielaVives | @github-actions | @HaudinFlorence | @hbcarlos | @hsuanxyz | @hugetim | @isabela-pf | @jasongrout | @JasonWeill | @jmk89 | @joaopalmeiro | @JohanMabille | @jtpio | @jupyterlab-probot | @kenyaachon | @kostyafarber | @krassowski | @kulsoomzahra | @liliyao2022 | @malemburg | @markgreene74 | @marthacryan | @martinRenou | @matthewturk | @mctoohey | @meeseeksdev | @meeseeksmachine | @mgcth | @minrk | @mlucool | @NikolayXHD | @oscar6echo | @peytondmurray | @pre-commit-ci | @psychemedia | @RobbyPratl | @RRosio | @rursprung | @siddartha-10 | @steff456 | @SylvainCorlay | @telamonian | @thetorpedodog | @thomasaarholt | @tonyfast | @trallard | @trungleduc | @vidartf | @vthinkxie | @welcome | @yangql176 | @yanmulin | @yczhangsjtu | @yumyumqing | @yuvipanda | @zrottman | @Zsailer

v3.6#

3.6.3#

(Full Changelog)

Maintenance and upkeep improvements#

Documentation improvements#

Contributors to this release#

(GitHub contributors page for this release)

@andrii-i | @bollwyvl | @brichet | @damiend97 | @fcollonval | @github-actions | @JasonWeill | @jtpio | @jupyterlab-probot | @krassowski | @welcome

3.6.2#

(Full Changelog)

Bugs fixed#

Maintenance and upkeep improvements#

Documentation improvements#

Contributors to this release#

(GitHub contributors page for this release)

@andrii-i | @blink1073 | @bollwyvl | @brichet | @bt- | @dlqqq | @domoritz | @echarles | @fcollonval | @fperez | @gabalafou | @GabrielaVives | @github-actions | @goanpeca | @HaudinFlorence | @hbcarlos | @ianhi | @jasongrout | @JasonWeill | @jtpio | @jupyterlab-dev-mode | @jupyterlab-probot | @krassowski | @meeseeksdev | @meeseeksmachine | @mlucool | @psychemedia | @telamonian | @tonyfast | @vidartf | @welcome

3.6.1#

(Full Changelog)

Bugs fixed#

Documentation improvements#

Contributors to this release#

(GitHub contributors page for this release)

@fcollonval | @jupyterlab-probot | @meeseeksmachine

3.6.0#

(Full Changelog)

New features added#

Enhancements made#

Bugs fixed#

Maintenance and upkeep improvements#

Documentation improvements#

API and Breaking Changes#

Contributors to this release#

(GitHub contributors page for this release)

@afshin | @andrii-i | @blink1073 | @bollwyvl | @brichet | @Carreau | @davidbrochart | @echarles | @ellisonbg | @ericsnekbytes | @fcollonval | @fperez | @github-actions | @HaudinFlorence | @hbcarlos | @jasongrout | @JasonWeill | @jtpio | @jupyterlab-dev-mode | @jupyterlab-probot | @krassowski | @martinRenou | @meeseeksdev | @meeseeksmachine | @psychemedia | @SylvainCorlay | @trungleduc | @uenot | @vidartf | @welcome

v3.5#

3.5.0#

(Full Changelog)

Enhancements made#

Bugs fixed#

Maintenance and upkeep improvements#

Documentation improvements#

Contributors to this release#

(GitHub contributors page for this release) @Carreau | @davidbrochart | @ellisonbg | @fcollonval | @hbcarlos | @jasongrout | @jtpio | @jupyterlab-probot | @krassowski | @meeseeksdev | @meeseeksmachine | @SylvainCorlay | @trungleduc | @welcome

v3.4#

3.4.7#

(Full Changelog)

Enhancements made#

Bugs fixed#

Contributors to this release#

(GitHub contributors page for this release)

@agoose77 | @blink1073 | @ellisonbg | @fcollonval | @gabalafou | @github-actions | @jtpio | @jupyterlab-probot | @krassowski | @meeseeksmachine | @welcome

3.4.6#

(Full Changelog)

Bugs fixed#

Maintenance and upkeep improvements#

Documentation improvements#

Contributors to this release#

(GitHub contributors page for this release)

@ajbozarth | @athornton | @blink1073 | @ellisonbg | @fcollonval | @goanpeca | @ian-r-rose | @isabela-pf | @jasongrout | @jtpio | @jupyterlab-dev-mode | @jupyterlab-probot | @JasonWeill | @krassowski | @KrishnaKumarHariprasannan | @malemburg | @manfromjupyter | @meeseeksdev | @meeseeksmachine | @mlucool | @saulshanabrook | @telamonian | @tgeorgeux | @trallard | @VersBersh | @vidartf | @welcome

3.4.5#

(Full Changelog)

Enhancements made#

Bugs fixed#

Maintenance and upkeep improvements#

Documentation improvements#

Contributors to this release#

(GitHub contributors page for this release)

@afshin | @agoose77 | @blink1073 | @davidbrochart | @fcollonval | @jasongrout | @jtpio | @jupyterlab-dev-mode | @jupyterlab-probot | @krassowski | @martinRenou | @meeseeksdev | @meeseeksmachine | @ryanlovett | @SylvainCorlay | @telamonian | @trungleduc | @welcome

3.4.4#

(Full Changelog)

Enhancements made#

Bugs fixed#

Maintenance and upkeep improvements#

Documentation improvements#

Contributors to this release#

(GitHub contributors page for this release)

@afshin | @aiqc | @davidbrochart | @dlqqq | @dmonad | @echarles | @ellisonbg | @fcollonval | @github-actions | @goanpeca | @hbcarlos | @jasongrout | @JohanMabille | @jtpio | @jupyterlab-dev-mode | @jupyterlab-probot | @JasonWeill | @krassowski | @martinRenou | @meeseeksdev | @meeseeksmachine | @siddartha-10 | @SylvainCorlay | @welcome | @williamstein

3.4.3#

(Full Changelog)

New features added#

Enhancements made#

Bugs fixed#

Maintenance and upkeep improvements#

Documentation improvements#

  • Add more explanation for internationalization (translation python package) #12635 (@a3626a)

  • Add “Open in Simple Mode” contextMenu option #12577 (@fcollonval)

Contributors to this release#

(GitHub contributors page for this release)

@afshin | @blink1073 | @bollwyvl | @davidbrochart | @dmonad | @echarles | @ellisonbg | @fcollonval | @github-actions | @hbcarlos | @jtpio | @jupyterlab-dev-mode | @jupyterlab-probot | @meeseeksdev | @meeseeksmachine | @welcome

3.4.2#

(Full Changelog)

Bugs fixed#

  • Building extensions fail if not using latest patch #12571 (@ajbozarth)

  • fixed shouldOverwrite is never called when rename target exists #12543 (@ephes)

Maintenance and upkeep improvements#

Contributors to this release#

(GitHub contributors page for this release)

@fcollonval | @jtpio | @jupyterlab-probot | @karlaspuldaro | @meeseeksmachine | @welcome

3.4.1#

(Full Changelog)

Enhancements made#

  • Setting to use the advanced setting editor for the settings #12466 (@echarles)

Bugs fixed#

Maintenance and upkeep improvements#

Contributors to this release#

(GitHub contributors page for this release)

@ajbozarth | @echarles | @fcollonval | @github-actions | @jtpio | @jupyterlab-probot | @meeseeksmachine | @welcome

3.4.0rc0#

(Full Changelog)

Enhancements made#

  • Display default value in setting editor for changed values #12468 (@echarles)

  • Uses dark theme for Vega when JupyterLab theme is dark #12411 (@JasonWeill)

  • Creates cell-toolbar, cell-toolbar-extension packages and populates toolbar #12028 (@JasonWeill)

  • Customize the file browser toolbar via the settings #12441 (@fcollonval)

  • Wait until file browser commands are ready before activating file browser widget #12435 (@fcollonval)

  • Add a “New Tab” button that opens the launcher #12195 (@ajbozarth)

  • Simplify galata import by proxying expect #12311 (@fcollonval)

  • Open terminal in cwd from launcher #12250 (@rccern)

  • Add support for filtering by field names in setting editor #12082 (@marthacryan)

  • Use transform to quickly switch between tabs. #11074 (@fcollonval)

  • Pop up select kernel dialog when run a cell without kernel #12379 (@a3626a)

  • Allow LauncherModel to be more extendable #12344 (@ajbozarth)

  • Add argument searchText and replaceText to search and replace commands #12310 (@fcollonval)

  • Add argument line and column to codemirror go to line command #12204 (@fcollonval)

  • Default is no virtual rendering + Relax virtual notebook rendering and ensure no structural change until rendering is completed #12258 (@echarles)

Bugs fixed#

Maintenance and upkeep improvements#

Documentation improvements#

  • Creates cell-toolbar, cell-toolbar-extension packages and populates toolbar #12028 (@JasonWeill)

  • Customize the file browser toolbar via the settings #12441 (@fcollonval)

Deprecated features#

Contributors to this release#

(GitHub contributors page for this release)

@bollwyvl | @davidbrochart | @echarles | @fcollonval | @gabalafou | @github-actions | @jtpio | @jupyterlab-probot | @JasonWeill | @krassowski | @meeseeksdev | @meeseeksmachine | @welcome

3.4.0#

(Full Changelog)

Enhancements made#

Bugs fixed#

Maintenance and upkeep improvements#

Documentation improvements#

  • Creates cell-toolbar, cell-toolbar-extension packages and populates toolbar #12028 (@JasonWeill)

  • Customize the file browser toolbar via the settings #12441 (@fcollonval)

Deprecated features#

Contributors to this release#

(GitHub contributors page for this release)

@afshin | @bollwyvl | @davidbrochart | @echarles | @fcollonval | @gabalafou | @github-actions | @jtpio | @jupyterlab-probot | @JasonWeill | @krassowski | @meeseeksdev | @meeseeksmachine | @welcome

v3.3#

3.3.4#

(Full Changelog)

Enhancements made#

Bugs fixed#

Maintenance and upkeep improvements#

Documentation improvements#

Contributors to this release#

(GitHub contributors page for this release)

@aiqc | @blink1073 | @echarles | @fcollonval | @github-actions | @jasongrout | @jtpio | @jupyterlab-probot | @JasonWeill | @krassowski | @meeseeksdev | @meeseeksmachine | @welcome

3.3.3#

(Full Changelog)

Enhancements made#

Bugs fixed#

Maintenance and upkeep improvements#

Documentation improvements#

Contributors to this release#

(GitHub contributors page for this release)

@afshin | @aiqc | @ajbozarth | @blink1073 | @bollwyvl | @damianavila | @davidbrochart | @echarles | @fcollonval | @github-actions | @hbcarlos | @isabela-pf | @jtpio | @jupyterlab-probot | @JasonWeill | @krassowski | @marthacryan | @martinRenou | @meeseeksdev | @meeseeksmachine | @mlucool | @rccern | @welcome

3.3.2#

(Full Changelog)

Bugs fixed#

Documentation improvements#

  • Add note about async, await and Promises in the extension tutorial #12199 (@jtpio)

Contributors to this release#

(GitHub contributors page for this release)

@fcollonval | @github-actions | @jtpio | @jupyterlab-probot | @meeseeksmachine

3.3.1#

(Full Changelog)

Enhancements made#

Bugs fixed#

Documentation improvements#

Contributors to this release#

(GitHub contributors page for this release)

@davidbrochart | @echarles | @ellisonbg | @fcollonval | @github-actions | @jasongrout | @jtpio | @jupyterlab-probot | @JasonWeill | @krassowski | @martinRenou | @meeseeksmachine | @welcome

3.3.0#

(Full Changelog)

Enhancements made#

Bugs fixed#

Maintenance and upkeep improvements#

Documentation improvements#

API and Breaking Changes#

Other merged PRs#

Contributors to this release#

(GitHub contributors page for this release)

@agoose77 | @andrewfulton9 | @baggiponte | @blink1073 | @bollwyvl | @Carreau | @davidbrochart | @dmonad | @echarles | @ellisonbg | @ErikBjare | @fcollonval | @github-actions | @hbcarlos | @isabela-pf | @jasongrout | @JohanMabille | @jtpio | @jupyterlab-dev-mode | @jupyterlab-probot | @JasonWeill | @krassowski | @marthacryan | @meeseeksdev | @meeseeksmachine | @mlucool | @schmidi314 | @SylvainCorlay | @Sync271 | @telamonian | @thesinepainter | @trungleduc | @welcome | @yuvipanda | @Zsailer

v3.2#

3.2.9#

(Full Changelog)

Bugs fixed#

Maintenance and upkeep improvements#

Documentation improvements#

Contributors to this release#

(GitHub contributors page for this release)

@andrewfulton9 | @blink1073 | @bollwyvl | @echarles | @fcollonval | @github-actions | @hbcarlos | @isabela-pf | @jasongrout | @JohanMabille | @jtpio | @jupyterlab-dev-mode | @jupyterlab-probot | @krassowski | @marthacryan | @meeseeksdev | @meeseeksmachine | @mlucool | @welcome | @yuvipanda | @Zsailer

3.2.8#

(Full Changelog)

Maintenance and upkeep improvements#

  • Use the root yarn.lock in staging when making a release. #11433 (@jasongrout)

  • Update reference snapshot for the completer UI test #11847 (@jtpio)

Contributors to this release#

(GitHub contributors page for this release)

@github-actions | @hbcarlos | @jtpio | @jupyterlab-probot | @meeseeksdev | @meeseeksmachine

3.2.7#

No merged PRs

3.2.6#

(Full Changelog)

Enhancements made#

Bugs fixed#

Maintenance and upkeep improvements#

Documentation improvements#

Other merged PRs#

Contributors to this release#

(GitHub contributors page for this release)

@andrewfulton9 | @bollwyvl | @davidbrochart | @echarles | @ellisonbg | @fcollonval | @github-actions | @hbcarlos | @jasongrout | @JohanMabille | @jtpio | @jupyterlab-dev-mode | @jupyterlab-probot | @krassowski | @meeseeksdev | @meeseeksmachine | @schmidi314 | @TheOtherRealm | @thesinepainter | @welcome

3.2.5#

(Full Changelog)

Enhancements made#

Bugs fixed#

Maintenance and upkeep improvements#

Documentation#

Contributors to this release#

(GitHub contributors page for this release)

@blink1073 | @bollwyvl | @dmonad | @echarles | @ellisonbg | @fcollonval | @github-actions | @hbcarlos | @jasongrout | @jess-x | @jtpio | @jupyterlab-dev-mode | @jupyterlab-probot | @JasonWeill | @krassowski | @meeseeksdev | @meeseeksmachine | @trungleduc | @welcome

3.2.4#

(Full Changelog)

Enhancements made#

Bugs fixed#

Maintenance and upkeep improvements#

Contributors to this release#

(GitHub contributors page for this release)

@blink1073 | @fcollonval | @github-actions | @isabela-pf | @jasongrout | @jtpio | @jupyterlab-probot | @krassowski | @meeseeksdev | @meeseeksmachine | @welcome | @williamstein

3.2.3#

(Full Changelog)

Enhancements made#

Bugs fixed#

  • Handle relative paths to themePath and schemaDir #11427 (@jtpio)

  • Backport PR #11398 on branch 3.2.x (fix #11377 & bump Yjs dependencies & fix modeldb overwriting yjs content) #11408 (@dmonad)

Maintenance and upkeep improvements#

  • Backport PR #11420 on branch 3.2.x (Makes ILabShell optional in toc extension) #11421 (@JasonWeill)

Contributors to this release#

(GitHub contributors page for this release)

@dmonad | @fcollonval | @github-actions | @jasongrout | @jtpio | @jupyterlab-probot | @JasonWeill | @krassowski | @meeseeksdev | @meeseeksmachine

3.2.2#

(Full Changelog)

Bugs fixed#

Maintenance and upkeep improvements#

Documentation improvements#

Contributors to this release#

(GitHub contributors page for this release)

@blink1073 | @davidbrochart | @ellisonbg | @fcollonval | @github-actions | @jasongrout | @jess-x | @jtpio | @jupyterlab-dev-mode | @jupyterlab-probot | @krassowski | @meeseeksmachine | @trungleduc | @welcome | @williamstein | @Zsailer

3.2.1#

(Full Changelog)

Bugs fixed#

Maintenance and upkeep improvements#

Documentation improvements#

Contributors to this release#

(GitHub contributors page for this release)

@3coins | @blink1073 | @ellisonbg | @fcollonval | @github-actions | @jasongrout | @jtpio | @jupyterlab-probot | @meeseeksmachine | @welcome

3.2.0#

(Full Changelog)

Enhancements made#

Bugs fixed#

Maintenance and upkeep improvements#

Documentation improvements#

Contributors to this release#

(GitHub contributors page for this release)

@3coins | @achimgaedke | @blink1073 | @echarles | @ellisonbg | @fcollonval | @github-actions | @goanpeca | @hbcarlos | @isabela-pf | @jasongrout | @jess-x | @joelostblom | @jtpio | @jupyterlab-dev-mode | @jupyterlab-probot | @krassowski | @loichuder | @meeseeksdev | @meeseeksmachine | @SylvainCorlay | @trungleduc | @welcome

v3.1#

3.1.19#

(Full Changelog)

Bugs fixed#

Maintenance and upkeep improvements#

Contributors to this release#

(GitHub contributors page for this release)

@agoose77 | @andrewfulton9 | @baggiponte | @blink1073 | @bollwyvl | @Carreau | @davidbrochart | @dmonad | @echarles | @ellisonbg | @fcollonval | @github-actions | @hbcarlos | @isabela-pf | @jasongrout | @jess-x | @JohanMabille | @jtpio | @jupyterlab-dev-mode | @jupyterlab-probot | @JasonWeill | @krassowski | @meeseeksdev | @meeseeksmachine | @schmidi314 | @SylvainCorlay | @telamonian | @thesinepainter | @trungleduc | @welcome | @williamstein | @yuvipanda | @Zsailer

3.1.18#

(Full Changelog)

Bugs fixed#

  • Backport PR #11249 on branch 3.1.x (Fix Webpack crypto handling) #11252 (@blink1073)

Contributors to this release#

(GitHub contributors page for this release)

@blink1073 | @github-actions | @jupyterlab-probot

3.1.17#

(Full Changelog)

Bugs fixed#

Contributors to this release#

(GitHub contributors page for this release)

@jupyterlab-probot | @meeseeksmachine

3.1.16#

(Full Changelog)

Bugs fixed#

Maintenance and upkeep improvements#

Contributors to this release#

(GitHub contributors page for this release)

@blink1073 | @echarles | @ellisonbg | @fcollonval | @github-actions | @goanpeca | @hbcarlos | @isabela-pf | @jasongrout | @jupyterlab-dev-mode | @jupyterlab-probot | @krassowski | @loichuder | @meeseeksdev | @meeseeksmachine | @SylvainCorlay | @welcome

3.1.15#

(Skipped due to errors in release process)

3.1.14#

(Full Changelog)

Bugs fixed#

Maintenance and upkeep improvements#

Documentation improvements#

Contributors to this release#

(GitHub contributors page for this release)

@blink1073 | @echarles | @github-actions | @goanpeca | @jess-x | @jupyterlab-probot | @krassowski | @meeseeksdev | @meeseeksmachine | @welcome

3.1.13#

(Full Changelog)

Enhancements made#

  • Fetch translations via the ServerConnection.ISettings #11091 (@jtpio)

Bugs fixed#

Maintenance and upkeep improvements#

Documentation improvements#

  • Add a note on the Jupyter Releaser in the extension tutorial #11085 (@jtpio)

Other merged PRs#

Contributors to this release#

(GitHub contributors page for this release)

@blink1073 | @fcollonval | @github-actions | @jtpio | @jupyterlab-dev-mode | @jupyterlab-probot | @krassowski | @meeseeksmachine | @Mithil467 | @trungleduc | @welcome

3.1.12#

(Full Changelog)

Bugs fixed#

Maintenance and upkeep improvements#

Documentation improvements#

Other merged PRs#

Contributors to this release#

(GitHub contributors page for this release)

@blink1073 | @github-actions | @jasongrout | @jtpio | @jupyterlab-dev-mode | @jupyterlab-probot | @krassowski | @meeseeksmachine | @Mithil467

3.1.11#

(Full Changelog)

Bugs fixed#

Maintenance and upkeep improvements#

Documentation improvements#

Contributors to this release#

(GitHub contributors page for this release)

@blink1073 | @echarles | @fcollonval | @jtpio | @jupyterlab-dev-mode | @meeseeksmachine

3.1.10#

(Full Changelog)

Bugs fixed#

Maintenance and upkeep improvements#

Documentation improvements#

  • Backport #10893 on branch 3.1.x (Add internationalization documentation) #10974 (@fcollonval)

  • Fix formatting of a link in the changelog #10945 (@jtpio)

Contributors to this release#

(GitHub contributors page for this release)

@agoose77 | @baggiponte | @blink1073 | @echarles | @ellisonbg | @fcollonval | @goanpeca | @jasongrout | @jtpio | @jupyterlab-dev-mode | @krassowski | @mbektas | @meeseeksdev | @meeseeksmachine | @SarunasAzna | @welcome

3.1.9#

(Full Changelog)

Bugs fixed#

Documentation improvements#

Contributors to this release#

(GitHub contributors page for this release)

@blink1073 | @jupyterlab-dev-mode | @meeseeksdev | @meeseeksmachine | @welcome

3.1.8#

(Full Changelog)

Bugs fixed#

Maintenance and upkeep improvements#

Contributors to this release#

(GitHub contributors page for this release)

@blink1073 | @fcollonval | @jupyterlab-dev-mode | @krassowski | @meeseeksdev | @meeseeksmachine

3.1.7#

(Full Changelog)

Bugs fixed#

Maintenance and upkeep improvements#

Documentation improvements#

Contributors to this release#

(GitHub contributors page for this release)

@3coins | @afshin | @blink1073 | @fcollonval | @goanpeca | @jasongrout | @jupyterlab-dev-mode | @krassowski | @meeseeksmachine | @welcome

3.1.6#

(Full Changelog)

Bugs fixed#

Maintenance and upkeep improvements#

Contributors to this release#

(GitHub contributors page for this release)

@blink1073 | @jupyterlab-dev-mode | @krassowski | @meeseeksmachine

3.1.5#

(Full Changelog)

Bugs fixed#

Contributors to this release#

(GitHub contributors page for this release)

@echarles | @jupyterlab-dev-mode | @meeseeksmachine | @welcome

3.1.2#

(Full Changelog)

Enhancements made#

Bugs fixed#

Maintenance and upkeep improvements#

Contributors to this release#

(GitHub contributors page for this release)

@AnudeepGunukula | @blink1073 | @ellisonbg | @fcollonval | @goanpeca | @jasongrout | @jupyterlab-dev-mode | @krassowski | @meeseeksmachine | @welcome

3.1.1#

(Full Changelog)

Bugs fixed#

  • Use appName in page title when restoring workspaces (vs 3.1.x) #10724 (@bollwyvl)

Maintenance and upkeep improvements#

Documentation improvements#

Contributors to this release#

(GitHub contributors page for this release)

@blink1073 | @bollwyvl | @goanpeca | @hbcarlos | @jtpio | @jupyterlab-dev-mode | @meeseeksmachine | @welcome

3.1.0#

(Full Changelog)

User-facing changes#

  • From JupyterLab 3.1, file documents and notebooks have collaborative editing using the Yjs shared editing framework. Editors are not collaborative by default; to activate it, start JupyterLab with the --collaborative flag. See full documentation on collaboration.

  • The undo/redo history in the notebook is now document-wide (tracking changes across all cells); the future verisions will enable restoring the previous behaviour of per-cell undo/redo.

  • Table of Contents recieved multiple new features and settings described in the user documentation.

  • The debugger recived many improvements, including basic support for evaluating code at a breakpoint, and for variable inspection.

  • The closing bracket is no longer automatically added by default; the old behaviour can be re-enabled from the menu bar (Settings -> Auto Close Brackets) or from the Advanced Settings Editor.

  • A new visual indicator was introduced to highlight cells in which the code changed in the editor since last execution: A GIF of the visual indicator showing up after editing a cell.

  • Many other new features were added as documented below.

New features added#

Enhancements made#

Bugs fixed#

Maintenance and upkeep improvements#

Documentation improvements#

Contributors to this release#

(GitHub contributors page for this release)

@0618 | @achandak123 | @afonit | @afshin | @AgoCan | @agoose77 | @ainzzorl | @aiqc | @ajbozarth | @akx | @andrewfulton9 | @Ashish-15s | @blink1073 | @bollwyvl | @bsyouness | @cameron-toy | @consideRatio | @darcsoel | @davidbrochart | @dge8 | @dharmaquark | @dhirschfeld | @DianeHu | @dmonad | @echarles | @ellisonbg | @fasiha | @fcollonval | @flying-sheep | @fperez | @gereleth | @goanpeca | @Guillaume-Garrigos | @hbcarlos | @ian-r-rose | @isabela-pf | @jahn96 | @janjagusch | @jasongrout | @jayqi | @jess-x | @jhamet93 | @jluttine | @jochym | @JohanMabille | @jtpio | @jupyterlab-dev-mode | @krassowska | @krassowski | @legendb317 | @loichuder | @maartenbreddels | @manavendrasen | @manfromjupyter | @mariobuikhuizen | @marthacryan | @martinRenou | @mbektas | @meeseeksdev | @meeseeksmachine | @mellesies | @mgeier | @mlucool | @mnowacki-b | @mwakaba2 | @NPetz | @ognjenjevremovic | @ohrely | @palewire | @paravatha | @partev | @plan-do-break-fix | @robertpyke | @RodyLipson | @sarahspak | @saulshanabrook | @shngt | @skyetim | @smacke | @stadlerb | @SylvainCorlay | @telamonian | @tonyfast | @trallard | @vidartf | @vkaidalov-rft | @welcome | @yasmin-bb | @yuvipanda

v3.0#

See the JupyterLab 3.0 milestone on GitHub for the full list of pull requests and issues closed.

v3.0.16#

(Full Changelog)

Maintenance and upkeep improvements#

v3.0.15#

(Full Changelog)

Enhancements made#

Maintenance and upkeep improvements#

  • [3.0.x] Remove Dependency on Jupyter Packaging #10218 (@jtpio)

Documentation improvements#

Other merged PRs#

v3.0.14#

  • Clean up browser check #10080

  • Loosen pin on jupyter-packaging #9998

v3.0.13#

  • Add cell id per notebook format 4.5 (#10018)

  • Fix label for “Create Console for Editor” (#9794)

  • Use blobs to set the svg source of an image in the image viewer (#10029)

  • [Fix] Copy shareable link command (#10021)

  • Clarify where the overrides.json file should be in the docs (#9996)

  • Do not make unnecessary npm registry requests (#9974)

  • Fix escaping of urls and paths (#9978)

v3.0.12#

  • Fix support for Safari by changing regular expression for Table of Contents (#9962)

  • Fix DocRegistry FileType pattern matching (#9958)

v3.0.11#

  • Fix: use process/browser module as real polyfill (#9636)

  • Fix Table of Contents extension markdown bug for HTML comments (#9938)

  • Make Table of Contents extension not rewrite all notebook headers (#9932)

v3.0.10#

  • Fix watch mode for external extensions (#9915)

  • Bug fix for extension watch mode behavior (#9889, #9861)

v3.0.9#

  • Remove the previous file_to_run logic. (#9848)

  • Enable Caching in Production Minimized Mode. (#9834)

  • Remove the auto-switch to “mobile” mode, and behavior switches associated with mobile mode. (#9832)

  • Fix the display of breakpoints on restore. (#9828)

  • Update CI script timeouts. (#9825)

  • Fix mimerender test example and test in CI. (#9820)

v3.0.8#

  • @jupyterlab/rendermime: upgraded marked dep past vulnerability. (#9809)

  • Fix Services Tests. (#9806)

  • Enable jupyter labextension build/watch to work for custom jupyterlab distributions. (#9697)

  • Add hash to webpack requests to enable caching. (#9776)

  • Update MANIFEST.in to include package_data files. (#9780)

  • Correct synchronization of tags between metadata and tags widget. (#9773)

  • Fix use of hyphen in module name. (#9655)

  • Add missing default_url fields to examples. (#9731, #9737)

v3.0.7#

  • Add link for prebuilt extensions too. (#9702)

  • Remove outdated note on ipywidgets. (#9707)

  • Fix debug flag handling in build command. (#9715)

  • Update notebook toolbar example docs. (#9705)

  • Use Path.resolve() to get canonical case-sensitive path names. (#9709)

v3.0.6#

  • Listen for 'restarting' instead of 'autorestarting' from server. (#9674)

  • Use jupyterhub make_singleuser_app mixin when available. (#9681)

  • Remove jest version constrain. (#9632)

  • Disable large uploads for notebook server < 5.1. (#9628)

  • Ignore timeout errors when preloading settings. (#9629)

  • Customize template branch when upgrading extension. (#9630)

  • Renamed variable that clashed with a module. (#9641)

  • Allow for lazily retrieved documentation (with a getter). (#9643)

  • Upgrade html-webpack-plugin to support webpack 5. (#9651)

  • Fix viewing of PDF files in Safari. (#9656)

  • Add ToC entries for all headers in markdown cells. (#9358)

  • Revert creating a new browser tab for a new launcher when in simple interface. (#9664)

  • Add xeus-robot to the debugger documentation. (#9661)

v3.0.5#

  • Enable large file uploads. (#9616)

  • Fix display of ?? help on Windows. (#9617)

  • Update app and federated examples. (#9586)

v3.0.4#

  • Do not use ?? in plain js, as it is too new. (#9606)

  • Fix handling of multiple notebooks for the debugger. (#9598)

  • Refactor labhub + CI. (#9604)

v3.0.3#

  • Move open_browser to the top level configs of classes. (#9580)

v3.0.2#

  • Manage kernel message queueing better to prevent out-of-order execution. (#9571)

  • Fix breadcrumb links. (#9572)

  • Fix integration with JupyterHub. (#9568)

  • Fix parsing of empty CSV files. (#9557)

  • Use tree/table buttons to display debugger variables view mode. (#9502)

  • Update tutorial for final jlab 3 release. (#9562)

  • Fix upgrade_extension.py. (#9551, #9550)

  • Update the Binder link in the README to point to a 3.0 Binder. (#9549)

v3.0.1#

  • Fixes error when applying jupyterlab.upgrade_extension on Windows. (#9546)

  • Improve upgrade script to add style settings. (#9515)

  • Fixed incorrect link to GitHub milestone. (#9516)

  • Split contribution guidelines into web-based and local instructions. (#9540)

  • Remove --checkout 3.0 in the extension tutorial. (#9545)

  • Docs updates for 3.0. (#9546)

  • Fix usage test. (#9547)

  • Remove visible 1px border for terminal. (#9548)

v3.0.0#

User-facing changes#

Extensions can be installed without building JupyterLab with NodeJS#

In JupyterLab 3.0, a new recommended way of distributing and installing extensions as Python pip or conda packages is available. Installing such extensions does not require rebuilding JupyterLab and does not require having NodeJS installed. The previous way of distributing extensions as npm packages requiring rebuilding JupyterLab is still available as well. See the documentation for more details.

The JupyterLab interface supports multiple languages#

JupyterLab now provides the ability to set the display language of the user interface. See the documentation for more details.

A new visual debugger#

JupyterLab now ships with a debugger front-end by default, available for kernels that support the new debugging protocol. See the documentation for more details.

Improvements to Simple Interface mode and Mobile#

The Simple Interface mode (previously Single Document Mode) is now more streamlined. JupyterLab now supports showing the current file in use in the browser URL bar, similar to the classic Jupyter Notebook.

Table of Contents is now in core#

The popular Table of Contents extension is now part of core JupyterLab. This core extension makes it easy to see an outline view of notebooks and other documents.

Visual filter in file browser#

The file browser now has a filter input which filters the list of files using the same fuzzy matching as the command palette.

Property inspector moved to right sidebar#

The default interface for JupyterLab now has system-wide sidebar panes on the left side and sidebar panels that interact with a specific document (such as the debugger or notebook property inspector) on the right side. As always, you can move panes between the left and right sidebars (right click on the sidebar icon, or change it in Advanced Settings).

Command Palette#

The command palette is now a floating window that appears on top of your JupyterLab workspace. This enables users to quickly invoke a command while keeping the sidebar closed or switching sidebar panels. The command palette can be put back into the sidebar by adjusting the default in Advanced Settings.

Jupyter Server#

JupyterLab 3.0 now depends on Jupyter Server, which is a new Jupyter project based on the server portion of the classic Notebook server. See the Migration Guide to migrate custom notebook configuration to Jupyter Server.

For Developers#

Prebuilt Extensions#

Users will typically consume prebuilt extensions, which are Python packages with static assets built using JupyterLab. See the updated APOD tutorial for the workflow of creating a prebuilt extension from scratch. For existing extensions, there is a new python -m jupyterlab.upgrade_extension script that can be used to upgrade extensions. The script will update the relevant dependencies and add the boilerplate to create the Python package. For extensions that already contained Python packages (typically server extensions), the files are not overwritten, and some manual copying of content is required. See the example, which used this script heavily. There are two highlighted commits that demonstrate upgrading a server extension. Prebuilt extensions are also known as federated extensions in the changes below, since they use the federated module capability in Webpack 5.

  • Better handling of extensions that provide both prebuilt and source extensions. (#9489, #9277)

  • Document new page config conventions (#9454, #9240)

  • Use stylemodule in prebuilt extensions (#9460, #9459)

  • Update style-loader and mini-css-extract-plugin (#9451)

  • Use a more explicit stylemodule key for js css imports (#9427, #9423)

  • Ignore source packages when building or loading jupyterlab if there is a prebuilt package (#9424, #9277)

  • Include federated extensions in extension manager from the api (#9390, #9367)

  • Handle hyphens and switch to importlib in the develop script (#9471)

  • Chunk the jupyterlab and lumino modules together when building the core application (#9359)

  • Link to the documentation in the extension manager federated dialog (#9327)

  • Federated extension script: change package name logic (#9326, #9320)

  • Do not error if requiredversion is not provided. (#9321)

  • Reinstate extension manager (#9317)

  • Built-in extensions using federated dependencies (#9310)

  • Update upgrade script to use labextension for outputdir (#9306)

  • Require ‘package’ instead of ‘package/’ so webpack activates sharing (#9300)

  • Enable using federated extensions in dev mode when a flag is set. (#9286, #9235)

  • Update webpack to 5.3.1 (#9245)

  • Adds package installation info to labextension list and uninstall output (#9244)

  • Restructure federated extensions to allow for package manager metadata (#9239)

  • List the dynamic extensions in the extension manager (#9236, #8804)

  • Refuse to uninstall federated extensions. (#9232, #9230)

  • Allow custom webpack config for federated extensions (