JupyterLab 4.3 beta - call for testing

JupyterLab 4.3 beta featuring a number of new features is available for testing!

pip install -U 'jupyterlab>=4.3.0b1'

JupyterLab 4.3 includes a number of new features (described below), bug fixes, and enhancements. 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.

Minimap

The virtual scrollbar now acts as a minimap and exposes information on whether a cell:

  • is running/scheduled ([*]), idle ([ ]) or was already run (e.g. [1])
  • was modified since it was last executed (“dirty”) - orange background
  • has an output that contains an error - red background
  • is markdown/code ([ ]/[*]/[1] for code, nothing for markdown)
  • how much text/code it contains

The minimap view

To enable the minimap, click on the hamburger icon (≡) which appears in the notebook’s toolbar. If you do not see the hamburger icon, go to Settings → Notebook → Windowing mode and choose “full”.

Fullscreen mode

JupyterLab now offers two ways to toggle the full screen mode from within the application:

  • using the View → Appearance → Fullscreen Mode menu entry
  • using a customizable shortcut, by default F11 (custom shortcuts are supported in Chrome, Safari and Edge)

File browser enhancements

The file browser now:

  • supports resizing the columns and remembers the column sizes after reloading JupyterLab
  • supports uploading folders by drag-and-drop
  • supports navigation with a single click (opt-in)
  • has the file filter collapsed by default (funnel icon), increasing the space available

The file browser with resize handle and filter funnel icon

Server-side execution and collaboration

JupyterLab 4.2 added the option for extensions to implement server-side execution, which preserves outputs created when the browser window is closed or disconnected. The server-side execution builds on the same shared models API as the real-time collaboration (RTC).

This release includes additional work, improving both the server-side execution and real-time collaboration (RTC) use cases:

  • the intermediary state of streaming outputs is now optimized away preventing a memory leak when using shared models with long-running computations,
  • the cell execution indicator ([*]) is now synchronized in the model, allowing collaborators to see that a cell is executed, and allowing server-side execution extensions to populate the state accordingly,
  • the issue of spurious “File Change” dialog on save was addressed by enabling the collaborative models extension to update the document hash.

You can try these features by installing extensions:

* while jupyter-server-nbmodel is developed by maintainers of JupyterLab, as of the JupyterLab 4.3.0 release date it is not an official Project Jupyter extension.

Improved kernel and server interactions

The previous release enabled connecting to external kernels, such as those spawned by a third-party application like Blender. In this release the kernel selector dialog was improved to also show the external kernels.

The previous release improved the awareness of the kernel/kernel specification distinction by providing both tree and list view in the kernels sidebar panel, but only the tree view featured the kernel identifiers. In this release both the list and tree view show the kernel identifier stub.

A new toolbar button was added in the kernel allowing to shut down unused kernels (kernels with no widget attached).

List view of the kernels in the sidebar, with the clear Shut Down Unused kernels button focused

The following dialog windows can now be dismissed or silenced:

  • the “Server Connection Error” dialog now has an option to dismiss it for the duration of the session,
  • the “Restart Kernel?” dialog now has an option to not ask again. This preference is persisted in settings ( skipKernelRestartDialog),

The new options added in the server/session dialog windows

7 Likes