JupyterLab 3.3.0 is released!

JupyterLab 3.3.0 Release

Here are the new cool features available in JupyterLab 3.3.0.

:gear: Settings Editor

There is now an user friendly settings editor.

Settings editor

The JSON settings editor is still available (see the toolbar button).

:bug: Debugger

Work continues to enhance the debugger.

:eyeglasses: Rich variable rendering

You can now display the variables using rich rendering:

Rich variable rendering

This feature requires a compatible kernel (for now ipykernel and xeus-python are known to work).
Jupyter widgets will be supported once ipywidget 8.0.0 is out (or try the beta).

:pause_button: Pause on exceptions

You can now enable pausing on exceptions for kernels supporting
that feature (like ipykernel).

Pause on exceptions

:page_facing_up: Kernel Sources

You can explore the sources used by the kernel.

Display kernel sources

:open_book: Open URLs

You can now download and open a file directly within JupyterLab; like a notebook found on GitHub or an CSV file.

Open URL

:thermometer: Progress indicators

Notebook

The kernel status icon now also serves as a progress indicator with a fraction of the circle filled indicating the fraction of cells still waiting for exection (out of the scheduled cells).

You can fallback to the previous behavior via settings.

Table Of Content

The busy kernel icon shows by the section where the kernel is running

:toolbox: Toolbar customization

In JupyterLab 3.2, we introduced main menu and context menu customization from the settings. With JupyterLab 3.3, you can now customize the toolbar items.

Try it online with that gist

Listing workspaces

JupyterLab is saving your layout in workspaces. You can now list the workspaces saved with the command line:

jupyter lab workspaces list

Breaking changes

  • Toggle side-by-side rendering for current notebook
    The setting sideBySideRendering: true or false was renamed renderingLayout: side-by-side or default.
  • Table of Content: TableOfContentsRegistry.IOptionsManager is now an empty interface and not an empty abstract class.
    You could hit this one if you are defining your own document table of content generator.
9 Likes

I eagerly did a conda update jupyterlab–but now I am stuck!

Traceback (most recent call last):
File “/home/burnett/miniconda3/bin/jupyter-lab”, line 10, in
sys.exit(main())
File “/home/burnett/miniconda3/lib/python3.9/site-packages/jupyter_server/extension/application.py”, line 567, in launch_instance
serverapp = cls.initialize_server(argv=args)
File “/home/burnett/miniconda3/lib/python3.9/site-packages/jupyter_server/extension/application.py”, line 537, in initialize_server
serverapp.initialize(
File “/home/burnett/miniconda3/lib/python3.9/site-packages/traitlets/config/application.py”, line 88, in inner
return method(app, *args, **kwargs)
File “/home/burnett/miniconda3/lib/python3.9/site-packages/jupyter_server/serverapp.py”, line 2341, in initialize
point = self.extension_manager.extension_points[starter_extension]
File “/home/burnett/miniconda3/lib/python3.9/site-packages/jupyter_server/extension/manager.py”, line 303, in extension_points
for value in self.extensions.values()
File “/home/burnett/miniconda3/lib/python3.9/site-packages/nbclassic/nbserver.py”, line 80, in extensions
nb = self._extensions.get(“nbclassic”)
AttributeError: ‘ExtensionManager’ object has no attribute ‘_extensions’

Also, many “FutureWarning: The alias _() will be deprecated. Use _i18n() instead.” messages.

Trying to back out, haven’t found out what to uninstall.

Thanks for testing @tburnett

Two comments:

  • Could you plese provide the output of the command conda list on that environment?
  • A nice feature of conda to revert to an older stage it the revisions. See that blog post to revert to an older state.
1 Like

Thanks for the reply. One lesson is to put new things into a test environment.
In fact, I reinstalled everything, starting with miniconda3, it is now ok.
In my flailing about, I tried undoing all the updates that seemed to be relevant, but still had the same result.
The result of conda list is of course lengthy.
idna 3.3 pyhd3eb1b0_0
importlib-metadata 4.8.2 py39h06a4308_0
importlib_metadata 4.8.2 hd3eb1b0_0
intel-openmp 2021.4.0 h06a4308_3561
ipykernel 6.4.1 py39h06a4308_1
ipython 8.0.1 pypi_0 pypi
ipython_genutils 0.2.0 pyhd3eb1b0_1
jedi 0.18.1 py39h06a4308_1
jinja2 3.0.2 pyhd3eb1b0_0
jpeg 9d h7f8727e_0
json5 0.9.6 pyhd3eb1b0_0
jsonschema 3.2.0 pyhd3eb1b0_2
jupyter_client 7.1.0 pyhd3eb1b0_0
jupyter_core 4.9.1 py39h06a4308_0
jupyter_server 1.13.5 pyhd3eb1b0_0
jupyterlab 3.1.7 pyhd3eb1b0_0
jupyterlab_pygments 0.1.2 py_0
jupyterlab_server 2.10.2 pyhd3eb1b0_1
kiwisolver 1.3.2 py39h295c915_0
krb5 1.19.2 hac12032_0
lcms2 2.12 h3be6417_0
ld_impl_linux-64 2.35.1 h7274673_9
libboost 1.73.0 h3ff78a5_11
libcurl 7.80.0 h0b77cf5_0
libedit 3.1.20210910 h7f8727e_0
libev 4.33 h7f8727e_1
libevent 2.1.12 h8f2d780_0
libffi 3.3 he6710b0_2
libgcc-ng 9.3.0 h5101ec6_17
libgfortran-ng 7.5.0 ha8ba4b0_17
libgfortran4 7.5.0 ha8ba4b0_17
libgomp 9.3.0 h5101ec6_17
libnghttp2 1.46.0 hce63b2e_0
libpng 1.6.37 hbc83047_0
libprotobuf 3.17.2 h4ff587b_1
libsodium 1.0.18 h7b6447c_0
libssh2 1.9.0 h1ba5d50_1
libstdcxx-ng 9.3.0 hd4cf53a_17
libthrift 0.14.2 hcc01f38_0
libtiff 4.2.0 h85742a9_0
libuuid 1.0.3 h7f8727e_2
libwebp 1.2.2 h55f646e_0
libwebp-base 1.2.2 h7f8727e_0
libxcb 1.14 h7b6447c_0
libxml2 2.9.12 h03d6c58_0
lz4-c 1.9.3 h295c915_1
markupsafe 2.0.1 py39h27cfd23_0
matplotlib 3.5.0 py39h06a4308_0
matplotlib-base 3.5.0 py39h3ed280b_0
matplotlib-inline 0.1.2 pyhd3eb1b0_2
mistune 0.8.4 py39h27cfd23_1000
mkl 2021.4.0 h06a4308_640
mkl-service 2.4.0 py39h7f8727e_0
mkl_fft 1.3.1 py39hd3c417c_0
mkl_random 1.2.2 py39h51133e4_0
munkres 1.1.4 py_0
mypy-extensions 0.4.3 pypi_0 pypi
nbclassic 0.2.6 pyhd3eb1b0_0
nbclient 0.5.3 pyhd3eb1b0_0
nbconvert 6.3.0 py39h06a4308_0
nbdev 0.2.40 pyh39e3cac_0 fastai
nbformat 5.1.3 pyhd3eb1b0_0
ncurses 6.3 h7f8727e_2

nbclassic 0.2.6 pyhd3eb1b0_0

@tburnett you have an outdated nbclassic version which does not work with current jupyter_server release. You need to update it to version 0.2.8 or newer, see https://github.com/jupyterlab/jupyterlab/issues/10228#issuecomment-868459759 (note: you want to specify -c conda-forge channel, depending on from which channel you installed jupyterlab).