Skip to content

Releases: jupyter-widgets/ipywidgets

7.7.1

27 Jul 10:28
Compare
Choose a tag to compare

7.7.1

To see the full list of pull requests, see the 7.7.1 milestone on GitHub.

Highlights include:

  • Fix broken link icon for FontAwesome 4 and 5 #3495
  • Fix message throttling bug #3494
  • Fix state message parsing to be more permissive #3486
  • Fix tests on Python 3.11 #3480
  • Add better front-page docs #3496

7.7

To see the full list of pull requests and issues, see the 7.7 milestone on GitHub.

Highlights include:

  • Fix installation on Python 3.10. #3368
  • Throw an error if we cannot render a widget, enabling the rendering system to fall back to rendering a different data type if available. #3290
  • Create a new widget control comm channel, enabling more efficient fetching of kernel widget state. #3201
  • Refactor logic for fetching kernel widget state to the manager base class. This logic first tries to use the new widget control comm channel, falling back to the existing method of requesting each widget's state individually. #3337
  • Enable HTMLManager output widgets to render state updates. #3372
  • Do not reset JupyterLab CSS variables if they are already defined. #3344
  • Fix variable inspector example. #3302
  • Introduce new widget manager has_model method for synchronously checking if a widget model is registered. #3377
  • Work around bug in Chrome rendering Combobox arrows. #3375
  • Optionally echo update messages from frontends to other frontends. This enables widget views in different frontends to maintain consistent state simultaneously, and also makes sure that simultaneous updates from the kernel and frontend resolve to a consistent state. This is off by default in ipywidgets 7.7, and it is anticipated this will be on by default in ipywidgets 8.0. To enable echo update messages across ipywidgets, set the environment variable JUPYTER_WIDGETS_ECHO to 1. To opt a specific attribute out of echo updates, tag the attribute with echo_update=False metadata (we do this in core for the FileUpload widget's data attribute). #3400, #3394

7.6.3

07 Feb 22:09
Compare
Choose a tag to compare

7.6.3

A minor release in 7.6.x series.

From changelog.md:

7.6

To see the full list of pull requests and issues, see the 7.6.0 milestone on GitHub.

The main change in this release is that installing ipywidgets 7.6.0 will now automatically enable ipywidgets support in JupyterLab 3.0—a user has no extra JupyterLab installation step and no rebuild of JupyterLab, nor do they need Node.js installed. Simply install the python ipywidgets package with pip (pip install ipywidgets==7.6.0) or conda/mamba (conda install -c conda-forge ipywidgets=7.6.0) and ipywidgets will automatically work in classic Jupyter Notebook and in JupyterLab 3.0.

This is accomplished with the new python package jupyterlab_widgets version 1.0, on which ipywidgets 7.6.0 now depends (similar to how ipywidgets already depends on the widgetsnbextension package to configure ipywidgets for the classic Jupyter Notebook). The jupyterlab_widgets Python package is a JupyterLab 3.0 prebuilt extension, meaning that it can be installed into JupyterLab 3.0 without rebuilding JupyterLab and without needing Node.js installed.

Updates for Widget Maintainers

Custom widget maintainers will need to make two changes to update for JupyterLab 3:

  1. Update the @jupyter-widgets/base dependency version to include ^4 to work in JupyterLab 3.0. For example, if you had a dependency on @jupyter-widgets/base version ^2 || ^3, update to ^2 || ^3 || ^4 for your widget to work in classic Jupyter Notebook, JupyterLab 1, JupyterLab 2, and JupyterLab 3. See #2472 for background.

  2. In the package.json, add the following sharedPackages configuration inside the jupyterlab key. See the JupyterLab extension documentation for more information.

      "jupyterlab": {
        "sharedPackages": {
          "@jupyter-widgets/base": {
            "bundled": false,
            "singleton": true
          }
        }
      }

Separate from these two steps to update for JupyterLab 3, we also recommend that you make your widget's JupyterLab extension a prebuilt extension for JupyterLab 3.0. Users will be able to install your JupyterLab 3.0 prebuilt extension without rebuilding JupyterLab or needing Node.js. See the JupyterLab 3 extension developer documentation or the new widget extension cookiecutter for more details.

ipywidgets 7.0.1, widgetsnbextension 3.0.3

16 Sep 05:04
Compare
Choose a tag to compare

ipywidgets 6.0, widgetsnbextension 2.0

02 Mar 05:26
Compare
Choose a tag to compare