Skip to content

v0.5.0

Compare
Choose a tag to compare
@voila-bot voila-bot released this 17 Aug 09:01
· 40 commits to main since this release

0.5.0

(Full Changelog)

Below are the major highlights in Voila 0.5.0

New JupyterLab-based frontend

In 0.5.0, the frontend of Voila is rebuilt from scratch with JupyterLab 4.0 components. The current requirejs + nbextensions approach is replaced by a JupyterLab plugin-based application.
This allows Voila to profit from all the upstream features and improvements.

New extension loading system.

This is a direct benefit of the new frontend, now Voila will use the same prebuilt extension system as in JupyterLab.
The extension assets are loaded from the local path instead of the CDN. This greatly improves the extension compatibility of Voila and avoid making requests to external services.
And moreover, we can start creating extensions for Voila in the same fashion as JupyterLab extensions.

Make use of JupyterLab mimetype renderers.

In 0.5.0, the logic for rendering cell outputs is switched from relying on nbconvert for handling different mimetypes to relying on JupyterLab mimetype renderers.
This adds support for many custom JupyterLab renderers like jupyterlab-fasta, vega, jupyterlab-geojson...

New tree page.

The default tree page of Voila is now a JupyterLab-based application using the file browser widget.

The jinja-based tree page is still supported, but users need to activate it with the --classic-tree CLI option, the VoilaConfiguration.classic_tree config, or ?classic-tree=True in the query string.

JupyterLab custom themes are supported with the new tree page, for the classic tree page, only the light and dark themes are supported.

New token-based authentication system.

By using jupyter-server 2, Voila now supports token authentication, but it is disabled by default.

  • To start Voila with auto-generated token:
voila --token notebook.ipynb
  • To start Voila with a personalized token:
voila --token=my-secret-token notebook.ipynb

Backwards-incompatible changes.

  • The new tree page no longer supports templates, users need to activate the classic tree to use existing tree templates.
  • Theme argument now is the theme name displayed in JupyterLab and not the name of the theme python package.
  • Python 3.7 is no longer supported.
  • jupyter_client < 7.4.4 is no longer supported.

Documentation improvements

Contributors to this release

(GitHub contributors page for this release)

@github-actions | @trungleduc