JupyterLab 4 is here!

The Jupyter contributor community is proud to announce JupyterLab 4.0, the next major release of our full-featured development environment. The package is now available on PyPI and conda-forge. You can upgrade by running pip install --upgrade jupyterlab or conda install -c conda-forge jupyterlab. We have updated our JupyterLab Documentation for this new version.

You can read our full announcement here:

5 Likes

Great release!
Over the last months I learned so much through jupyterlab.

Thanks for not breaking any of my kernels, therefore i can forgive breaking most of my extensions :smiley:

2 Likes

It seems conda update --all won’t upgrade to JupyterLab 4.0. Is this expected (like maybe I have to wait until it is fed into the “stable channels” or something?)

1 Like

Joining this question. I don’t understand how to upgrade to JupyterLab 4.0.

I’m not sure which conda channel you’re using, but using conda-forge, you should be able to install version 4: conda install -c conda-forge jupyterlab=4

1 Like

That works well! Thank you!

Guys please post a compatibility matrix somewhere prominent.

I have developed an extension with the cookiecutter template, JL 3.x, and now to migrate to JL 4.x leaving backward compatibility (even only partial) with the workflows I had in 3.x is a painful task, even using the recommended migration tool here.

Anyway I have tried 4.x and it seems full of improvements, thanks for your great work guys, but in my personal opinion it is still frustrating to be able to develop anything from this framework.
A great improvement, really appreciated, was the one related to the release cycle, now that a “pip install” of the extension is enough. I hope it will keep improving like this.

2 Likes

@gianfa there are plans to address these points by a new working group being bootstrapped, feel welcome to join with constructive feedback: Plugin and extension system working group · Issue #209 · jupyterlab/team-compass · GitHub

2 Likes

I just upgraded to version 4.0.9, and I cannot run jupyter lab anymore. I removed the problematic extension I had, but it still does not work.

Is it related to notebook 7? I went to the link and I did not understand what I should do.

This is the error I see

 % jupyter lab
[W 2023-12-09 13:26:05.059 ServerApp] A `_jupyter_server_extension_points` function was not found in jupyter_lsp. Instead, a `_jupyter_server_extension_paths` function was found and will be used for now. This function name will be deprecated in future releases of Jupyter Server.
[W 2023-12-09 13:26:05.111 ServerApp] A `_jupyter_server_extension_points` function was not found in nbclassic. Instead, a `_jupyter_server_extension_paths` function was found and will be used for now. This function name will be deprecated in future releases of Jupyter Server.
[W 2023-12-09 13:26:05.112 ServerApp] A `_jupyter_server_extension_points` function was not found in notebook_shim. Instead, a `_jupyter_server_extension_paths` function was found and will be used for now. This function name will be deprecated in future releases of Jupyter Server.
[I 2023-12-09 13:26:05.113 ServerApp] jupyter_lsp | extension was successfully linked.
[I 2023-12-09 13:26:05.116 ServerApp] jupyter_server_fileid | extension was successfully linked.
[I 2023-12-09 13:26:05.120 ServerApp] jupyter_server_terminals | extension was successfully linked.
[I 2023-12-09 13:26:05.123 ServerApp] jupyter_server_ydoc | extension was successfully linked.
[I 2023-12-09 13:26:05.127 ServerApp] jupyterlab | extension was successfully linked.
[I 2023-12-09 13:26:05.130 ServerApp] nbclassic | extension was successfully linked.
[I 2023-12-09 13:26:05.624 ServerApp] notebook_shim | extension was successfully linked.
[I 2023-12-09 13:26:05.823 ServerApp] notebook_shim | extension was successfully loaded.
[I 2023-12-09 13:26:05.825 ServerApp] jupyter_lsp | extension was successfully loaded.
[I 2023-12-09 13:26:05.825 FileIdExtension] Configured File ID manager: ArbitraryFileIdManager
[I 2023-12-09 13:26:05.825 FileIdExtension] ArbitraryFileIdManager : Configured root dir: /Users/roiholtzman/Dropbox (Weizmann Institute)
[I 2023-12-09 13:26:05.825 FileIdExtension] ArbitraryFileIdManager : Configured database path: /Users/roiholtzman/Library/Jupyter/file_id_manager.db
[I 2023-12-09 13:26:05.826 FileIdExtension] ArbitraryFileIdManager : Successfully connected to database file.
[I 2023-12-09 13:26:05.826 FileIdExtension] ArbitraryFileIdManager : Creating File ID tables and indices with journal_mode = DELETE
[I 2023-12-09 13:26:05.827 FileIdExtension] Attached event listeners.
[I 2023-12-09 13:26:05.827 ServerApp] jupyter_server_fileid | extension was successfully loaded.
[I 2023-12-09 13:26:05.828 ServerApp] jupyter_server_terminals | extension was successfully loaded.
[I 2023-12-09 13:26:05.829 ServerApp] jupyter_server_ydoc | extension was successfully loaded.
[I 2023-12-09 13:26:05.830 LabApp] JupyterLab extension loaded from /Users/roiholtzman/miniconda3/lib/python3.11/site-packages/jupyterlab
[I 2023-12-09 13:26:05.831 LabApp] JupyterLab application directory is /Users/roiholtzman/miniconda3/share/jupyter/lab
[E 2023-12-09 13:26:05.832 LabApp] Extension Manager: No manager defined for provider 'pypi'.
[W 2023-12-09 13:26:05.832 ServerApp] jupyterlab | extension failed loading with message: NotImplementedError()
    Traceback (most recent call last):
      File "/Users/roiholtzman/miniconda3/lib/python3.11/site-packages/jupyter_server/extension/manager.py", line 359, in load_extension
        extension.load_all_points(self.serverapp)
      File "/Users/roiholtzman/miniconda3/lib/python3.11/site-packages/jupyter_server/extension/manager.py", line 231, in load_all_points
        return [self.load_point(point_name, serverapp) for point_name in self.extension_points]
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      File "/Users/roiholtzman/miniconda3/lib/python3.11/site-packages/jupyter_server/extension/manager.py", line 231, in <listcomp>
        return [self.load_point(point_name, serverapp) for point_name in self.extension_points]
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      File "/Users/roiholtzman/miniconda3/lib/python3.11/site-packages/jupyter_server/extension/manager.py", line 222, in load_point
        return point.load(serverapp)
               ^^^^^^^^^^^^^^^^^^^^^
      File "/Users/roiholtzman/miniconda3/lib/python3.11/site-packages/jupyter_server/extension/manager.py", line 150, in load
        return loader(serverapp)
               ^^^^^^^^^^^^^^^^^
      File "/Users/roiholtzman/miniconda3/lib/python3.11/site-packages/jupyter_server/extension/application.py", line 474, in _load_jupyter_server_extension
        extension.initialize()
      File "/Users/roiholtzman/miniconda3/lib/python3.11/site-packages/jupyterlab/labapp.py", line 866, in initialize
        super().initialize()
      File "/Users/roiholtzman/miniconda3/lib/python3.11/site-packages/jupyter_server/extension/application.py", line 436, in initialize
        self._prepare_handlers()
      File "/Users/roiholtzman/miniconda3/lib/python3.11/site-packages/jupyter_server/extension/application.py", line 326, in _prepare_handlers
        self.initialize_handlers()
      File "/Users/roiholtzman/miniconda3/lib/python3.11/site-packages/jupyterlab/labapp.py", line 768, in initialize_handlers
        raise NotImplementedError()
    NotImplementedError

  _   _          _      _
 | | | |_ __  __| |__ _| |_ ___
 | |_| | '_ \/ _` / _` |  _/ -_)
  \___/| .__/\__,_\__,_|\__\___|
       |_|

Read the migration plan to Notebook 7 to learn about the new features and the actions to take if you are using extensions.

https://jupyter-notebook.readthedocs.io/en/latest/migrate_to_notebook7.html

Please note that updating to Notebook 7 might break some of your extensions.

[I 2023-12-09 13:26:05.839 ServerApp] nbclassic | extension was successfully loaded.
[I 2023-12-09 13:26:05.841 ServerApp] Serving notebooks from local directory: /Users/roiholtzman/Dropbox (Weizmann Institute)
[I 2023-12-09 13:26:05.841 ServerApp] Jupyter Server 2.12.1 is running at:
[I 2023-12-09 13:26:05.841 ServerApp] http://localhost:8888/lab?token=e99aac464c9e22569dfa62ce4503055f8bc7c46fc475eaf2
[I 2023-12-09 13:26:05.841 ServerApp]     http://127.0.0.1:8888/lab?token=e99aac464c9e22569dfa62ce4503055f8bc7c46fc475eaf2
[I 2023-12-09 13:26:05.841 ServerApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
[C 2023-12-09 13:26:05.847 ServerApp]

    To access the server, open this file in a browser:
        file:///Users/roiholtzman/Library/Jupyter/runtime/jpserver-4012-open.html
    Or copy and paste one of these URLs:
        http://localhost:8888/lab?token=e99aac464c9e22569dfa62ce4503055f8bc7c46fc475eaf2
        http://127.0.0.1:8888/lab?token=e99aac464c9e22569dfa62ce4503055f8bc7c46fc475eaf2
[I 2023-12-09 13:26:07.000 ServerApp] Skipped non-installed server(s): bash-language-server, dockerfile-language-server-nodejs, javascript-typescript-langserver, jedi-language-server, pyright, python-language-server, python-lsp-server, r-languageserver, sql-language-server, texlab, typescript-language-server, unified-language-server, vscode-css-languageserver-bin, vscode-html-languageserver-bin, vscode-json-languageserver-bin, yaml-language-server
[W 2023-12-09 13:26:07.337 ServerApp] 404 GET /lab?token=[secret] (9449a46f9c1d4d349a64a17d472e6ef9@127.0.0.1) 19.23ms referer=None

@roiho would you mind opening a bug report on Sign in to GitHub · GitHub please? This looks like a severe issue but since thusands of users never encountered this I suspect it is something very specific to your installation, or a very new issue that however is going to solve will need much more context on.

Actually, looking at Jupyter lab cannot start - conflicting versions? - #2 by krassowski it seems your problem is in mixing conda and pip which leads to conficling versions being installed. Maybe Anaconda support would be more appropriate place to inquire about proper use of conda?

1 Like

you are completely right. the solution was to uninstall jupyter lab using pip. see this post.

2 Likes