# JupyterLab 3.3.0 is released!

**URL:** <https://discourse.jupyter.org/t/jupyterlab-3-3-0-is-released/13231>\
**Category:** JupyterLab\
**Tags:** announcement\
**Created:** [March 2, 2022, 5:49pm UTC](https://discourse.jupyter.org/t/jupyterlab-3-3-0-is-released/13231 "2022-03-02T17:49:58Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![fcollonval](https://yyz1.discourse-cdn.com/flex031/user_avatar/discourse.jupyter.org/fcollonval/32/801_2.png) [@fcollonval](https://discourse.jupyter.org/u/fcollonval)\
**Post date:** [March 2, 2022, 5:49pm UTC](https://discourse.jupyter.org/t/jupyterlab-3-3-0-is-released/13231/1 "2022-03-02T17:49:58Z")

</div>

# JupyterLab 3.3.0 Release

Here are the new cool features available in JupyterLab 3.3.0.

- [Settings editor](#settings-editor-2)
- [Debugger](#debugger-3)
  - [Rich variable rendering](#rich-variable-rendering-4)
  - [Pause on exceptions](#pause-on-exceptions-5)
  - [Kernel sources](#kernel-sources-6)

- [Open URLs](#open-urls-7)
- [Progess indicators](#progress-indicators-8)
  - [Notebook](#notebook-9)
  - [Table of Content](#table-of-content-10)

- [Toolbar customization](#toolbar-customization-11)
- [Listing workspaces](#listing-workspaces-12)
- [Breaking changes](#breaking-changes-13)

## ⚙ Settings Editor

There is now an user friendly settings editor.

![Settings editor](https://i.imgur.com/hLkjSvD.png)

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

## 🐛 Debugger

Work continues to enhance the debugger.

### 👓 Rich variable rendering

You can now display the variables using rich rendering:

![Rich variable rendering](https://i.imgur.com/oZZPeKC.png)

> 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](https://pypi.org/project/ipywidgets/8.0.0b1/#history)).

### ⏸ Pause on exceptions

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

![Pause on exceptions](https://i.imgur.com/K6naLn6.gif)

### 📄 Kernel Sources

You can explore the sources used by the kernel.

![Display kernel sources](https://i.imgur.com/Kthw70S.png)

## 📖 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](https://i.imgur.com/4Yff2lt.gif)

## 🌡 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).

![](https://user-images.githubusercontent.com/4451292/129968123-9aed9d75-e7e9-41ed-8dcb-7ec24650bcbf.gif)

> 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

![](https://user-images.githubusercontent.com/8435071/140711288-20c3acbc-a6e2-4e3e-b7a3-215db8a1fc49.gif)

## 🧰 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.

![](https://i.imgur.com/1OsO9Hc.png)

Try it online with [that gist](https://gist.github.com/fcollonval/facfadcd926621a84556a040aac71a8f)

## Listing workspaces

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

```sh
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.

---

<div class="post-metadata">

**Author:** ![tburnett](https://yyz1.discourse-cdn.com/flex031/user_avatar/discourse.jupyter.org/tburnett/32/2031_2.png) [@tburnett](https://discourse.jupyter.org/u/tburnett)\
**Post date:** [March 3, 2022, 2:20pm UTC](https://discourse.jupyter.org/t/jupyterlab-3-3-0-is-released/13231/2 "2022-03-03T14:20:01Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![fcollonval](https://yyz1.discourse-cdn.com/flex031/user_avatar/discourse.jupyter.org/fcollonval/32/801_2.png) [@fcollonval](https://discourse.jupyter.org/u/fcollonval)\
**Post date:** [March 3, 2022, 3:11pm UTC](https://discourse.jupyter.org/t/jupyterlab-3-3-0-is-released/13231/3 "2022-03-03T15:11:12Z")

</div>

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](https://mathdatasimplified.com/2020/11/23/conda-rollback-to-the-last-revision/) to revert to an older state.

---

<div class="post-metadata">

**Author:** ![tburnett](https://yyz1.discourse-cdn.com/flex031/user_avatar/discourse.jupyter.org/tburnett/32/2031_2.png) [@tburnett](https://discourse.jupyter.org/u/tburnett)\
**Post date:** [March 3, 2022, 10:59pm UTC](https://discourse.jupyter.org/t/jupyterlab-3-3-0-is-released/13231/4 "2022-03-03T22:59:40Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![krassowski](https://yyz1.discourse-cdn.com/flex031/user_avatar/discourse.jupyter.org/krassowski/32/1685_2.png) [@krassowski](https://discourse.jupyter.org/u/krassowski)\
**Post date:** [March 6, 2022, 11:54am UTC](https://discourse.jupyter.org/t/jupyterlab-3-3-0-is-released/13231/5 "2022-03-06T11:54:09Z")

</div>

> 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](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).
