# JupyterLab 3.0 release candidate available

**URL:** <https://discourse.jupyter.org/t/jupyterlab-3-0-release-candidate-available/6248>\
**Category:** JupyterLab\
**Tags:** release\
**Created:** [October 5, 2020, 8:38am UTC](https://discourse.jupyter.org/t/jupyterlab-3-0-release-candidate-available/6248 "2020-10-05T08:38:16Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![jtp](https://yyz1.discourse-cdn.com/flex031/user_avatar/discourse.jupyter.org/jtp/32/19100_2.png) [@jtp](https://discourse.jupyter.org/u/jtp)\
**Post date:** [October 5, 2020, 8:38am UTC](https://discourse.jupyter.org/t/jupyterlab-3-0-release-candidate-available/6248/1 "2020-10-05T08:38:16Z")

</div>

Release candidates are now available for JupyterLab 3.0, and can be installed with `pip` and `conda`!

**pip**

`python -m pip install jupyterlab --pre`

**conda / mamba**

`conda install -c conda-forge/label/jupyterlab_rc -c conda-forge/label/jupyterlab_server_rc -c conda-forge jupyterlab=3`

Alternatively there is also this [gist](https://gist.github.com/jtpio/8d392846c2f3ee6fab38cdfab5a364ec) to test on Binder directly:

[![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gist/jtpio/8d392846c2f3ee6fab38cdfab5a364ec/master?urlpath=/lab)

The gist will be updated to target the latest release candidate.

Changelog: [https://jupyterlab.readthedocs.io/en/latest/getting\_started/changelog.html](https://jupyterlab.readthedocs.io/en/latest/getting_started/changelog.html)

Happy testing!

---

<div class="post-metadata">

**Author:** ![jtp](https://yyz1.discourse-cdn.com/flex031/user_avatar/discourse.jupyter.org/jtp/32/19100_2.png) [@jtp](https://discourse.jupyter.org/u/jtp)\
**Post date:** [October 5, 2020, 10:34am UTC](https://discourse.jupyter.org/t/jupyterlab-3-0-release-candidate-available/6248/2 "2020-10-05T10:34:50Z")

</div>

One of the main changes for the 3.0 release is the Single Document Mode that has been improved.

 ![image](https://canada1.discourse-cdn.com/flex031/uploads/jupyter/original/2X/b/b9a0e6b9e88f5f192869d655bc8b74e9706829f9.png)

This topic of having a “lighter” and simpler UI for JupyterLab has been discussed here on Discourse several times:

- [Any recent usage polling on Jupyter Lab vs. Notebook usage?](https://discourse.jupyter.org/t/any-recent-usage-polling-on-jupyter-lab-vs-notebook-usage/4344)
- [Benefits of the classic UI and use cases for classic over JupyterLab (Was: Why is Tim not moving to lab?)](https://discourse.jupyter.org/t/benefits-of-the-classic-ui-and-use-cases-for-classic-over-jupyterlab-was-why-is-tim-not-moving-to-lab/2419)
- [Deploying JupyterHub at your institution](https://discourse.jupyter.org/t/deploying-jupyterhub-at-your-institution/723/15)

So an issue has been opened to collect feedback: [https://github.com/jupyterlab/jupyterlab/issues/9117](https://github.com/jupyterlab/jupyterlab/issues/9117)

---

<div class="post-metadata">

**Author:** ![choldgraf](https://yyz1.discourse-cdn.com/flex031/user_avatar/discourse.jupyter.org/choldgraf/32/1264_2.png) [@choldgraf](https://discourse.jupyter.org/u/choldgraf)\
**Post date:** [October 5, 2020, 3:12pm UTC](https://discourse.jupyter.org/t/jupyterlab-3-0-release-candidate-available/6248/3 "2020-10-05T15:12:52Z")

</div>

beautiful! thanks very much for sharing.

---

<div class="post-metadata">

**Author:** ![manics](https://yyz1.discourse-cdn.com/flex031/user_avatar/discourse.jupyter.org/manics/32/85_2.png) [@manics](https://discourse.jupyter.org/u/manics)\
**Post date:** [October 5, 2020, 3:30pm UTC](https://discourse.jupyter.org/t/jupyterlab-3-0-release-candidate-available/6248/4 "2020-10-05T15:30:46Z")

</div>

This is great! I noticed in your gist you’ve got

```auto
- jupyterlab-python-file # JupyterLab extension installed with conda (no end user build)

```

Do you have a guide on how to convert a JupyterLab 2 extension to a pip-installable JupyterLab 3 one that doesn’t require a build step? This is something that came up in repo2docker: [https://github.com/jupyterhub/repo2docker/issues/964](https://github.com/jupyterhub/repo2docker/issues/964)

---

<div class="post-metadata">

**Author:** ![jtp](https://yyz1.discourse-cdn.com/flex031/user_avatar/discourse.jupyter.org/jtp/32/19100_2.png) [@jtp](https://discourse.jupyter.org/u/jtp)\
**Post date:** [October 5, 2020, 3:34pm UTC](https://discourse.jupyter.org/t/jupyterlab-3-0-release-candidate-available/6248/5 "2020-10-05T15:34:42Z")

</div>

Yes, the goal of the gist is also to showcase how to ship lab extensions with conda.

There will be a guide available soon, currently tracked in [https://github.com/jupyterlab/jupyterlab/issues/9118](https://github.com/jupyterlab/jupyterlab/issues/9118)

In the meantime you might want to have a look at the `3.0` branch of the extension examples repo: [https://github.com/jupyterlab/extension-examples/tree/3.0](https://github.com/jupyterlab/extension-examples/tree/3.0)

Which have been updated to target the latest RCs.

Or even at the source for the python file extension, which is a rather simple extension: [https://github.com/jtpio/jupyterlab-python-file](https://github.com/jtpio/jupyterlab-python-file)

Normally upgrading should almost of running the upgrade script (thanks Steve for this!).

---

<div class="post-metadata">

**Author:** ![betatim](https://yyz1.discourse-cdn.com/flex031/user_avatar/discourse.jupyter.org/betatim/32/10_2.png) [@betatim](https://discourse.jupyter.org/u/betatim)\
**Post date:** [October 6, 2020, 6:35am UTC](https://discourse.jupyter.org/t/jupyterlab-3-0-release-candidate-available/6248/6 "2020-10-06T06:35:24Z")

</div>

The single document mode is amazing!! And thanks for putting together the demo because that meant I tried it right away instead of putting “try jupyterlab v3” on my list of things to do when I have “a spare moment” 😃

---

<div class="post-metadata">

**Author:** ![jtp](https://yyz1.discourse-cdn.com/flex031/user_avatar/discourse.jupyter.org/jtp/32/19100_2.png) [@jtp](https://discourse.jupyter.org/u/jtp)\
**Post date:** [November 5, 2020, 8:23pm UTC](https://discourse.jupyter.org/t/jupyterlab-3-0-release-candidate-available/6248/7 "2020-11-05T20:23:18Z")

</div>

Some updates:

- A couple of other release candidates have been released, with the latest one RC 7 today. It can be tested using the [same instructions](https://discourse.jupyter.org/t/jupyterlab-3-0-release-candidate-available/6248), or the Binder link above (or right below), and contains improvements to the single document mode:

[![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gist/jtpio/8d392846c2f3ee6fab38cdfab5a364ec/master?urlpath=/lab)

- For extension authors, there is now a migration guide from 2.x to 3.x: [https://jupyterlab.readthedocs.io/en/latest/developer/extension\_migration\_2\_3.html](https://jupyterlab.readthedocs.io/en/latest/developer/extension_migration_2_3.html)
- The extension developer guide has also been updated, and there is an open PR to iterate on the content even more: [https://jupyterlab.readthedocs.io/en/latest/developer/extension\_dev.html](https://jupyterlab.readthedocs.io/en/latest/developer/extension_dev.html)

---

<div class="post-metadata">

**Author:** ![g-vidal](https://yyz1.discourse-cdn.com/flex031/user_avatar/discourse.jupyter.org/g-vidal/32/2959_2.png) [@g-vidal](https://discourse.jupyter.org/u/g-vidal)\
**Post date:** [November 27, 2020, 2:05pm UTC](https://discourse.jupyter.org/t/jupyterlab-3-0-release-candidate-available/6248/8 "2020-11-27T14:05:16Z")

</div>

Hi,  
I have installed the RC on raspberryPi it works perfectly on standalone screen but I cannot use it through jupyterhub. it seems not to be a big problem (see workaround a bit further) I report here in case it may help (moon is my jupyter guest user 😉) .

```auto
[I 2020-11-25 21:48:25.061 ServerApp] 302 GET /user/moon/ (127.0.0.1) 4.12ms
[W 2020-11-25 21:48:25.064 JupyterHub _version:41] Single-user server has no version header, which means it is likely < 0.8. Expected 1.2.1

```

The error message on the web browser is a 404

```auto
404 : Not Found
You are requesting a page that does not exist!
## here is the padge adress
https://192.168.10.28:8000/user/moon?

```

**Workaround** : start jupyterhub with notebook and change the web address to :  
`https://192.168.10.28:8000/user/moon/lab?`  
instead of  
`https://192.168.10.28:8000/user/moon/tree?`  
you get the jlab3 interface 🤪 .  
Thanks for the work

---

<div class="post-metadata">

**Author:** ![jtp](https://yyz1.discourse-cdn.com/flex031/user_avatar/discourse.jupyter.org/jtp/32/19100_2.png) [@jtp](https://discourse.jupyter.org/u/jtp)\
**Post date:** [December 18, 2020, 8:35pm UTC](https://discourse.jupyter.org/t/jupyterlab-3-0-release-candidate-available/6248/9 "2020-12-18T20:35:16Z")

</div>

Quick update: there has been a couple more release candidates in the meantime, the latest being **JupyterLab 3.0.0rc14** as of today.

If you feel like testing it, check out the instructions from the first post above to learn how to install it locally: [JupyterLab 3.0 release candidate available](https://discourse.jupyter.org/t/jupyterlab-3-0-release-candidate-available/6248)

Or try it on Binder!

[![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gist/jtpio/8d392846c2f3ee6fab38cdfab5a364ec/master?urlpath=/lab)
