using JupyterLab by default (and the underlying BinderHub and repo2docker) now send users to JupyterLab UI by default. This mainly means:

  1. by default, if you visit a binder link that doesn’t specify what to open, it will open jupyterlab
  2. if you specify a file to open, it will open in jupyterlab’s single document mode
  3. you can still opt-in to the classic notebook interface by specifying a url to open. To preserve the previous default behavior, that would be the url /tree/.

Any repos with custom Dockerfiles that don’t install JupyterLab may start to see a 404 on the default or filepath URL. They will need to either install jupyterlab or use urlpath=/tree/ to select the old interface.

For extension compatibility reasons, we have not switched the default server from jupyter-notebook to jupyter lab. We only switched the default URLs. We will switch the default server at a later time, after further analysis of the consequences for server extensions.

As part of this deployment, we’ve reset the build cache key, which means all previously-built images will need to be rebuilt the next time they are launched. This will probably result in a significant increase in build load on, and some slower launches as the images folks are currently using get rebuilt. On our GKE federation member alone, we had cached 163,000 builds of 49,000 repos, totaling around 50TB.

Thanks to @SylvainCorlay for submitting the PRs to make the switch.