Skip to content

Comments

Update ipywidgets to 8.1.2#976

Closed
pyup-bot wants to merge 1 commit intomasterfrom
pyup-update-ipywidgets-6.0.0-to-8.1.2
Closed

Update ipywidgets to 8.1.2#976
pyup-bot wants to merge 1 commit intomasterfrom
pyup-update-ipywidgets-6.0.0-to-8.1.2

Conversation

@pyup-bot
Copy link
Collaborator

@pyup-bot pyup-bot commented Feb 8, 2024

This PR updates ipywidgets from 6.0.0 to 8.1.2.

Changelog

8.1.1

What's Changed

Bug fixed

* Raise error when __copy__ method is used on base widget class by mmc1718 in https://github.com/jupyter-widgets/ipywidgets/pull/3780
* Reverts 3689 and 3738 back to the original working codebase by martinRenou in https://github.com/jupyter-widgets/ipywidgets/pull/3830

Docs

* Update to JupyterLite 0.1.0 by jtpio in https://github.com/jupyter-widgets/ipywidgets/pull/3820

New Contributors
* mmc1718 made their first contribution in https://github.com/jupyter-widgets/ipywidgets/pull/3780

**Full Changelog**: https://github.com/jupyter-widgets/ipywidgets/compare/8.1.0...8.1.1

8.1.0

Improvements

* Allow CSS variables to be used as values in the Color trait by nurbo in https://github.com/jupyter-widgets/ipywidgets/pull/3796
* Replace ipykernel dependency by the comm dependency by martinRenou in https://github.com/jupyter-widgets/ipywidgets/pull/3811

Documentation

* Fix link to "Output widget examples" by warrickball in https://github.com/jupyter-widgets/ipywidgets/pull/3801
* docs: remove developer docs resources by emmanuel-ferdman in https://github.com/jupyter-widgets/ipywidgets/pull/3800
* Add missing close bracket in index.md by warrickball in https://github.com/jupyter-widgets/ipywidgets/pull/3799
* Docs: Remove the note about mappings not working with selection widgets. by ferdnyc in https://github.com/jupyter-widgets/ipywidgets/pull/3793

Maintenance 

* Binder and yarn tweaks by ferdnyc in https://github.com/jupyter-widgets/ipywidgets/pull/3795
* Remove shebang lines from test_* files by frenzymadness in https://github.com/jupyter-widgets/ipywidgets/pull/3807

New Contributors
* warrickball made their first contribution in https://github.com/jupyter-widgets/ipywidgets/pull/3801
* emmanuel-ferdman made their first contribution in https://github.com/jupyter-widgets/ipywidgets/pull/3800
* nurbo made their first contribution in https://github.com/jupyter-widgets/ipywidgets/pull/3796

**Full Changelog**: https://github.com/jupyter-widgets/ipywidgets/compare/8.0.7...8.1.0

8.0.7

What's Changed
* fixed typo in docs by djp52 in https://github.com/jupyter-widgets/ipywidgets/pull/3714
* DOC: added instruction to "Installing with pip" section by StefanieSenger in https://github.com/jupyter-widgets/ipywidgets/pull/3779
* Lint by jasongrout in https://github.com/jupyter-widgets/ipywidgets/pull/3782
* Fix tab widget with JupyterLab 4 by martinRenou in https://github.com/jupyter-widgets/ipywidgets/pull/3787
* Explain that ipywidgets is part of jupyter-widgets software subproject by paddymul in https://github.com/jupyter-widgets/ipywidgets/pull/3776
* Add support for building against JupyterLab 4 and Lumino 2 by martinRenou in https://github.com/jupyter-widgets/ipywidgets/pull/3752
* docs/environment: Use jupyterlab-myst from pypi by ferdnyc in https://github.com/jupyter-widgets/ipywidgets/pull/3794

New Contributors
* djp52 made their first contribution in https://github.com/jupyter-widgets/ipywidgets/pull/3714
* StefanieSenger made their first contribution in https://github.com/jupyter-widgets/ipywidgets/pull/3779
* paddymul made their first contribution in https://github.com/jupyter-widgets/ipywidgets/pull/3776
* ferdnyc made their first contribution in https://github.com/jupyter-widgets/ipywidgets/pull/3794

**Full Changelog**: https://github.com/jupyter-widgets/ipywidgets/compare/8.0.6...8.0.7

8.0.6

What's Changed
* BUG: comm.kernel should be None when it has no kernel by pllim in https://github.com/jupyter-widgets/ipywidgets/pull/3732
* Run prettier by martinRenou in https://github.com/jupyter-widgets/ipywidgets/pull/3734
* add comm_manager check by TTianshun in https://github.com/jupyter-widgets/ipywidgets/pull/3740
* Fix kernel attribute check by martinRenou in https://github.com/jupyter-widgets/ipywidgets/pull/3737
* Add default `pack_models` by bollwyvl in https://github.com/jupyter-widgets/ipywidgets/pull/3738
* fix: revert ipykernel dependency removal by maartenbreddels in https://github.com/jupyter-widgets/ipywidgets/pull/3749

New Contributors
* pllim made their first contribution in https://github.com/jupyter-widgets/ipywidgets/pull/3732
* TTianshun made their first contribution in https://github.com/jupyter-widgets/ipywidgets/pull/3740

**Full Changelog**: https://github.com/jupyter-widgets/ipywidgets/compare/8.0.5...8.0.6

8.0.5

What's Changed
* Fix deprecation warning by jasongrout in https://github.com/jupyter-widgets/ipywidgets/pull/3670
* Overhaul docs toolchain by bollwyvl in https://github.com/jupyter-widgets/ipywidgets/pull/3673
* More docs updates by bollwyvl in https://github.com/jupyter-widgets/ipywidgets/pull/3674
* guard assignment of `Element.prototype` by stevejpurves in https://github.com/jupyter-widgets/ipywidgets/pull/3644
* Add html colors "grey" in addition to "gray" by Aztah in https://github.com/jupyter-widgets/ipywidgets/pull/3671
* Pass change options into update calls by jasongrout in https://github.com/jupyter-widgets/ipywidgets/pull/3618
* Replace datalist children instead of appending by jasongrout in https://github.com/jupyter-widgets/ipywidgets/pull/3682
* fix: deepcopy with `structuredClone` over JSON.parse/stringify by manzt in https://github.com/jupyter-widgets/ipywidgets/pull/3689
* Fix notifications changing our visual tests by jasongrout in https://github.com/jupyter-widgets/ipywidgets/pull/3694
* Fix CI by martinRenou in https://github.com/jupyter-widgets/ipywidgets/pull/3720
* Using the new Comm Python package by martinRenou in https://github.com/jupyter-widgets/ipywidgets/pull/3533
* chore: refine `IClassicCom` types by manzt in https://github.com/jupyter-widgets/ipywidgets/pull/3722

New Contributors
* Aztah made their first contribution in https://github.com/jupyter-widgets/ipywidgets/pull/3671
* manzt made their first contribution in https://github.com/jupyter-widgets/ipywidgets/pull/3689

**Full Changelog**: https://github.com/jupyter-widgets/ipywidgets/compare/8.0.4...8.0.5

8.0.4

What's Changed
* Fix slider change event issue with tapping by ibdafna in https://github.com/jupyter-widgets/ipywidgets/pull/3617
* Fix unintentional deprecation warnings by jasongrout in https://github.com/jupyter-widgets/ipywidgets/pull/3650
* define `process.env` for jlab dependencies by stevejpurves in https://github.com/jupyter-widgets/ipywidgets/pull/3643
* Fix registry state lookup by bollwyvl in https://github.com/jupyter-widgets/ipywidgets/pull/3653


**Full Changelog**: https://github.com/jupyter-widgets/ipywidgets/compare/8.0.3...8.0.4

8.0.3

What's Changed
* fix: make .widget and .widget_types deprecated by maartenbreddels in https://github.com/jupyter-widgets/ipywidgets/pull/3567
* Button tooltip fix - default to description by jmk89 in https://github.com/jupyter-widgets/ipywidgets/pull/3589
* Backport PR 3590: using _comm_default shadows possible bugs by maartenbreddels in https://github.com/jupyter-widgets/ipywidgets/pull/3591
* Add dev meeting info to readme by jasongrout in https://github.com/jupyter-widgets/ipywidgets/pull/3594
* Stricter typescript + some cleanups by vidartf in https://github.com/jupyter-widgets/ipywidgets/pull/3570
* Calculate correct stack level for deprecation warnings to show them to the user by jasongrout in https://github.com/jupyter-widgets/ipywidgets/pull/3569
* Bump d3-color from 3.0.1 to 3.1.0 by dependabot in https://github.com/jupyter-widgets/ipywidgets/pull/3603
* WidgetRenderer: Soften manager type requirement by martinRenou in https://github.com/jupyter-widgets/ipywidgets/pull/3625
* Update to `jupyterlite==0.1.0b14` by jtpio in https://github.com/jupyter-widgets/ipywidgets/pull/3624
* Re-add the custom widget tutorial by jtpio in https://github.com/jupyter-widgets/ipywidgets/pull/3611
* Handle `KernelWidgetManager` in the JupyterLab `OutputModel` by jtpio in https://github.com/jupyter-widgets/ipywidgets/pull/3561
* fix: do not hold sync during set_state by maartenbreddels in https://github.com/jupyter-widgets/ipywidgets/pull/3642

New Contributors
* jmk89 made their first contribution in https://github.com/jupyter-widgets/ipywidgets/pull/3589

**Full Changelog**: https://github.com/jupyter-widgets/ipywidgets/compare/8.0.2...8.0.3

8.0.2

What's Changed
* Update to lerna 5.4.3 by jtpio in https://github.com/jupyter-widgets/ipywidgets/pull/3548
* Deserialize state before setting it, as is done elsewhere set_state is used by jasongrout in https://github.com/jupyter-widgets/ipywidgets/pull/3549
* Make the selection widgets mapping options error more helpful. by jasongrout in https://github.com/jupyter-widgets/ipywidgets/pull/3556
* Allow the 'class' attribute to pass the sanitizer by jasongrout in https://github.com/jupyter-widgets/ipywidgets/pull/3565
* Tweak some typings by vidartf in https://github.com/jupyter-widgets/ipywidgets/pull/3554
* Fix slider update on readout text change by jtpio in https://github.com/jupyter-widgets/ipywidgets/pull/3568
* Allow Mappings to be given as the options in a selection widget again. by jasongrout in https://github.com/jupyter-widgets/ipywidgets/pull/3557
* Make the widget renderer higher priority in JupyterLab by jasongrout in https://github.com/jupyter-widgets/ipywidgets/pull/3579
* Datetime widget fixes by vidartf in https://github.com/jupyter-widgets/ipywidgets/pull/3581
* Narrow deserialize and improve strictness by vidartf in https://github.com/jupyter-widgets/ipywidgets/pull/3571
* Add a note about defining widget model defaults with es6 inheritance. by jasongrout in https://github.com/jupyter-widgets/ipywidgets/pull/3582
* Remove migration note about selection widgets and dictionaries by jasongrout in https://github.com/jupyter-widgets/ipywidgets/pull/3583


**Full Changelog**: https://github.com/jupyter-widgets/ipywidgets/compare/8.0.1...8.0.2

8.0.1

**Full Changelog**: https://github.com/jupyter-widgets/ipywidgets/compare/8.0.0...8.0.1

8.0.0

What's Changed

See the [8.0.0 changelog](https://ipywidgets.readthedocs.io/en/8.0.0/changelog.html) for a more comprehensive summary of changes. To see the full list of pull requests and issues, see the [8.0 milestone](https://github.com/jupyter-widgets/ipywidgets/milestone/30?closed=1) on GitHub, or the [full list of changes since 7.x](https://github.com/jupyter-widgets/ipywidgets/compare/7.x...8.0.0). 

Users

Here are some highlights of user-visible changes in ipywidgets 8.0.

Date and time pickers

In addition to the existing DatePicker widget, we now have new DatetimePicker and TimePicker widgets. ([2715](https://github.com/jupyter-widgets/ipywidgets/pull/2715))

python
from ipywidgets import VBox, TimePicker, DatetimePicker
VBox([
TimePicker(description='Time'),
DatetimePicker(description='Date/Time')
])


Tags input widget

The new TagsInput widget provides an easy way to collect and manage tags in a widget. You can drag and drop tags to reorder them, limit them to a set of allowed values, or even prevent making duplicate tags. ([2591](https://github.com/jupyter-widgets/ipywidgets/pull/2591), [#3272](https://github.com/jupyter-widgets/ipywidgets/pull/3272))

python
from ipywidgets import TagsInput
TagsInput(
 value=['pizza', 'fries'],
 allowed_tags=['pizza', 'fries', 'tomatoes', 'steak'],
 allow_duplicates=False
)


Similarly, the new ColorsInput widget provides a way to select colors as tags

python
from ipywidgets import ColorsInput
ColorsInput(
 value=['red', '2f6d30'],
  allowed_tags=['red', 'blue', 'green'],
  allow_duplicates=False
)


Stack widget

The new Stack container widget shows only the selected child widget, while other child widgets remain hidden. This can be useful if you want to have a area that displays different widgets depending on some other interaction.

python
from ipywidgets import Stack, Button, IntSlider, Dropdown, VBox, link
s = Stack([Button(description='Click here'), IntSlider()], selected_index=0)
d = Dropdown(options=['button', 'slider'])
link((dropdown, 'index'), (stacked, 'selected_index'))
VBox([d, s])


File upload widget

The file upload widget has been overhauled to handle multiple files in a more useful format:

- The `.value` attribute is now a list of dictionaries, rather than a dictionary mapping the uploaded name to the content.
- The contents of each uploaded file is a [memory view](https://docs.python.org/3/library/stdtypes.html#memory-views) in the `.content` key, e.g., `uploader.value[0].content`.
- The `.data` attribute has been removed.
- The `.metadata` attribute has been removed.

See the [user migration guide](./user_migration_guides.mdFileUpload) for details on how to migrate your code.

([2767](https://github.com/jupyter-widgets/ipywidgets/pull/2767), [#2724](https://github.com/jupyter-widgets/ipywidgets/pull/2724), [#2666](https://github.com/jupyter-widgets/ipywidgets/pull/2666), [#2480](https://github.com/jupyter-widgets/ipywidgets/issues/2480))



More styling options

Many style and layout options have been added to core widgets:

- Tooltips are now supported for many core widgets, rather than just a few description tooltips ([2680](https://github.com/jupyter-widgets/ipywidgets/pull/2680))
python
from ipywidgets import Button
Button(description="Click me", tooltip='An action')

- Borders can be styled independently with the layout's `border_top`, `border_right`, `border_bottom`, `border_left` attributes ([2757](https://github.com/jupyter-widgets/ipywidgets/pull/2757), [#3269](https://github.com/jupyter-widgets/ipywidgets/pull/3269))
python
from ipywidgets import Button
Button(description="Click me", layout={'border_bottom': '3px solid blue'})

- Descriptions are now plain text by default for security, but you can set them to allow HTML with the `description_allow_html` attribute (HTML content is still sanitized for security). ([2785](https://github.com/jupyter-widgets/ipywidgets/pull/2785))
python
from ipywidgets import Text
Text(description="<b>Name</b>", description_allow_html=True)

- Many other styling attributes can be set on core widgets, such as font family, size, style, weight, text color, and text decoration. See the table in the documentation for a reference. ([2728](https://github.com/jupyter-widgets/ipywidgets/pull/2728))
- The SelectionSlider now has a `handle_color` style attribute ([3142](https://github.com/jupyter-widgets/ipywidgets/pull/3142))
- To control keyboard navigation, widgets can be set to be tabbable or not (i.e., that the tab key will traverse to the widget) ([2640](https://github.com/jupyter-widgets/ipywidgets/pull/2640))

Selection container titles

The Accordion, Tab, and Stack widgets now have a `.titles` attribute that you can use to get and set titles from the constructor or as an attribute.  ([2746](https://github.com/jupyter-widgets/ipywidgets/pull/2746), [#3296](https://github.com/jupyter-widgets/ipywidgets/pull/3296), [#3477](https://github.com/jupyter-widgets/ipywidgets/pull/3477))

python
from ipywidgets import Tab, IntSlider, Text
Tab([IntSlider(), Text()], titles=('Slider', 'Text'))


Slider implementation

The slider implementation in the core widgets now uses [nouislider](https://refreshless.com/nouislider/). This enables us to fix long-standing bugs and introduce new features, like dragging the range in a RangeSlider. ([#2712](https://github.com/jupyter-widgets/ipywidgets/pull/2712), [#630](https://github.com/jupyter-widgets/ipywidgets/issues/630), [#3216](https://github.com/jupyter-widgets/ipywidgets/pull/3216), [#2834](https://github.com/jupyter-widgets/ipywidgets/pull/2834))

Collaboration

By default, ipywidgets 8 enables a collaboration mode, where widget updates from one frontend are reflected back to other frontends, enabling a consistent state between multiple users and fixing synchronization between the kernel and frontend. You may want to disable these update echo messages if they are using too much bandwidth or causing slower interactivity. To disable echo update messages across ipywidgets, set the environment variable `JUPYTER_WIDGETS_ECHO` to `0`. For widget authors, to opt a specific attribute of custom widget out of echo updates (for example, if the attribute contains a lot of data that does not need to be synchronized), tag the attribute with `echo_update=False` metadata (we do this in core for the FileUpload widget's `data` attribute). ([3195](https://github.com/jupyter-widgets/ipywidgets/pull/3195), [#3343](https://github.com/jupyter-widgets/ipywidgets/pull/3343), [#3394](https://github.com/jupyter-widgets/ipywidgets/pull/3394), [#3407](https://github.com/jupyter-widgets/ipywidgets/pull/3407))


CDN for html manager

We have made it easier to load widgets from content delivery networks.

- The default CDN is changed from unpkg to jsDelivr ([3121](https://github.com/jupyter-widgets/ipywidgets/pull/3121), [#1627](https://github.com/jupyter-widgets/ipywidgets/issues/1627))
- You can use the `data-jupyter-widgets-cdn-only` attribute to load modules only from CDN ([2792](https://github.com/jupyter-widgets/ipywidgets/pull/2792), [#2786](https://github.com/jupyter-widgets/ipywidgets/issues/2786))
- We have updated the webpack public path settings so the HTMLManager and the Jupyter Notebook extensions pull assets from wherever they are loaded, rather than only from CDN. If you author a custom widget, we highly encourage you to apply similar changes to your widget by adapting the changes at https://github.com/jupyter-widgets/widget-cookiecutter/pull/103/files. [#3464](https://github.com/jupyter-widgets/ipywidgets/pull/3464), [#3508](https://github.com/jupyter-widgets/ipywidgets/pull/3508)


Other changes

Here is a short list of some of the other changes in ipywidgets 8.0.

- Add a cookiecutter-based tutorial to build a custom widget ([2919](https://github.com/jupyter-widgets/ipywidgets/pull/2919))
- Change media widgets to use memory views. ([2723](https://github.com/jupyter-widgets/ipywidgets/pull/2723))
- Upgrade to FontAwesome 5 in html-manager ([2713](https://github.com/jupyter-widgets/ipywidgets/pull/2713))
- Play widget now toggles between play and pause button as needed ([2703](https://github.com/jupyter-widgets/ipywidgets/pull/2703), [#2671](https://github.com/jupyter-widgets/ipywidgets/issues/2671))
- Drop support for mapping types as selection options ([2679](https://github.com/jupyter-widgets/ipywidgets/pull/2679), [#1958](https://github.com/jupyter-widgets/ipywidgets/issues/1958))
- Focus or blur a widget. ([2664](https://github.com/jupyter-widgets/ipywidgets/pull/2664), [#2692](https://github.com/jupyter-widgets/ipywidgets/pull/2692), [#2691](https://github.com/jupyter-widgets/ipywidgets/pull/2691), [#2690](https://github.com/jupyter-widgets/ipywidgets/pull/2690))
- Drop notebook dependency from widgetsnbextension ([2590](https://github.com/jupyter-widgets/ipywidgets/pull/2590))
- Cast 'value' in range sliders to a tuple ([2441](https://github.com/jupyter-widgets/ipywidgets/pull/2441))
- Play widget: expose playing and repeat ([2283](https://github.com/jupyter-widgets/ipywidgets/pull/2283), [#1897](https://github.com/jupyter-widgets/ipywidgets/issues/1897))
- Fix debouncing and throttling code ([3060](https://github.com/jupyter-widgets/ipywidgets/pull/3060))
- Fix regression on spinning icons ([2685](https://github.com/jupyter-widgets/ipywidgets/pull/2685), [#2477](https://github.com/jupyter-widgets/ipywidgets/issues/2477))
- Fix selection container default index ([1823](https://github.com/jupyter-widgets/ipywidgets/pull/1823))
- Remove deprecated overflow properties ([2688](https://github.com/jupyter-widgets/ipywidgets/pull/2688))
- Select: Do not force a selection if there is currently no selection and the options list changes ([3284](https://github.com/jupyter-widgets/ipywidgets/pull/3284))
- Add support for localization to the lab extension ([3286](https://github.com/jupyter-widgets/ipywidgets/pull/3286))
- Drop support for Python 2.7, 3.4, and 3.5 ([2558](https://github.com/jupyter-widgets/ipywidgets/pull/2558), [#2655](https://github.com/jupyter-widgets/ipywidgets/pull/2655), [#3131](https://github.com/jupyter-widgets/ipywidgets/pull/3131), [#3120](https://github.com/jupyter-widgets/ipywidgets/pull/3120))
- Fix character escapes in combobox options ([2972](https://github.com/jupyter-widgets/ipywidgets/pull/2972))
- Modify outputs to use a comm if IPython is not available ([2954](https://github.com/jupyter-widgets/ipywidgets/pull/2954))
- Bugfix/parameters in the from_file method to be passed along in the media class ([3074](https://github.com/jupyter-widgets/ipywidgets/pull/3074))
- Widgetsnbextension: throw error on failure to render ([3280](https://github.com/jupyter-widgets/ipywidgets/pull/3280))
- Fix memory leak from Image widget not releasing object urls ([3171](https://github.com/jupyter-widgets/ipywidgets/pull/3171), [#3170](https://github.com/jupyter-widgets/ipywidgets/pull/3170))
- ErrorWidget as fallback when widgets models or views fail - Following up ([3304](https://github.com/jupyter-widgets/ipywidgets/pull/3304))
- Fix matplotlib plots in interact ([3277](https://github.com/jupyter-widgets/ipywidgets/pull/3277))
- Fix selection equality checking ([2897](https://github.com/jupyter-widgets/ipywidgets/pull/2897))
- Remove the `on_displayed` Python callback mechanism ([2021](https://github.com/jupyter-widgets/ipywidgets/pull/2021))

Developers

To see an overview of the changes to the core widget model specification, see [3455](https://github.com/jupyter-widgets/ipywidgets/issues/3455).

Python

- `Widget.widgets` and `Widget.widget_types` are now private variables ([3122](https://github.com/jupyter-widgets/ipywidgets/pull/3122), [#3173](https://github.com/jupyter-widgets/ipywidgets/pull/3173))
- Generate the widget data spec as JSON ([2193](https://github.com/jupyter-widgets/ipywidgets/pull/2193))
- Use `_repr_mimebundle_` and require ipython 6.1 or later. ([2021](https://github.com/jupyter-widgets/ipywidgets/pull/2021), [#1811](https://github.com/jupyter-widgets/ipywidgets/issues/1811))
- Hold sync during `set_state` + fix selection widgets flakiness ([3271](https://github.com/jupyter-widgets/ipywidgets/pull/3271))
- Remove deprecated `handle_kernel` alias ([2694](https://github.com/jupyter-widgets/ipywidgets/pull/2694))
- Removed deprecated signature of the `register` decorator ([2695](https://github.com/jupyter-widgets/ipywidgets/pull/2695))

Javascript

- Fix CSS variable names to match JupyterLab names ([2801](https://github.com/jupyter-widgets/ipywidgets/pull/2801), [#2062](https://github.com/jupyter-widgets/ipywidgets/issues/2062))
- Delete `display_model` and `display_view` ([2752](https://github.com/jupyter-widgets/ipywidgets/pull/2752), [#2751](https://github.com/jupyter-widgets/ipywidgets/issues/2751))
- Drop underscore usage ([2742](https://github.com/jupyter-widgets/ipywidgets/pull/2742))
- Upgrade to es2017 javascript ([2725](https://github.com/jupyter-widgets/ipywidgets/pull/2725))
- Split base manager into separate packages ([2710](https://github.com/jupyter-widgets/ipywidgets/pull/2710), [#2561](https://github.com/jupyter-widgets/ipywidgets/issues/2561))
- Change Phosphor to Lumino ([2681](https://github.com/jupyter-widgets/ipywidgets/pull/2681), [#3267](https://github.com/jupyter-widgets/ipywidgets/pull/3267))
- Widgetmanagerbase: improve create_view return type ([2662](https://github.com/jupyter-widgets/ipywidgets/pull/2662))
- Refactor the JupyterLab widget manager so it can be reused ([2532](https://github.com/jupyter-widgets/ipywidgets/pull/2532))
- Make more of lab manager dependencies optional ([2528](https://github.com/jupyter-widgets/ipywidgets/pull/2528))
- Remove class `jupyter-widgets` from `jp-outputarea-output` node ([2500](https://github.com/jupyter-widgets/ipywidgets/pull/2500))
- Rename `pWidget` to `luminoWidget` and deprecate `pWidget` ([3118](https://github.com/jupyter-widgets/ipywidgets/pull/3118), [#3141](https://github.com/jupyter-widgets/ipywidgets/pull/3141), [#3358](https://github.com/jupyter-widgets/ipywidgets/pull/3358),)
- Add `layout`, `style`, and `shown` events ([3300](https://github.com/jupyter-widgets/ipywidgets/pull/3300))
- Implement `jupyter.widget.control` comm channel ([3313](https://github.com/jupyter-widgets/ipywidgets/pull/3313))
- Update to TypeScript 4.3 ([3162](https://github.com/jupyter-widgets/ipywidgets/pull/3162))
- Add event listener for resize events ([3124](https://github.com/jupyter-widgets/ipywidgets/pull/3124))
- Remove `process.cwd` polyfill ([3315](https://github.com/jupyter-widgets/ipywidgets/pull/3315))
- Make sure buffer is a DataView ([3127](https://github.com/jupyter-widgets/ipywidgets/pull/3127))
- Deprecate the overly broad CSS class `widget` and introduce a similar `jupyter-widget` CSS class ([3146](https://github.com/jupyter-widgets/ipywidgets/pull/3146))
- Fetch the full widget state via a control Comm ([3021](https://github.com/jupyter-widgets/ipywidgets/pull/3021))
- Export LabWidgetManager and KernelWidgetManager ([3166](https://github.com/jupyter-widgets/ipywidgets/pull/3166))
- More helpful semver range message ([3185](https://github.com/jupyter-widgets/ipywidgets/pull/3185))
- Make the base widget manager `.get_model()` method always return a Promise, which is rejected if the requested model is not registered. To test if a model is registered, use the new `.has_model()` method ([3389](https://github.com/jupyter-widgets/ipywidgets/pull/3389))


New Contributors
* hugovk made their first contribution in https://github.com/jupyter-widgets/ipywidgets/pull/2558
* rramphal made their first contribution in https://github.com/jupyter-widgets/ipywidgets/pull/2616
* davidbrochart made their first contribution in https://github.com/jupyter-widgets/ipywidgets/pull/2566
* astrofrog made their first contribution in https://github.com/jupyter-widgets/ipywidgets/pull/2376
* jhonsen made their first contribution in https://github.com/jupyter-widgets/ipywidgets/pull/2267
* bermani made their first contribution in https://github.com/jupyter-widgets/ipywidgets/pull/2544
* reggied made their first contribution in https://github.com/jupyter-widgets/ipywidgets/pull/2193
* adam-ah made their first contribution in https://github.com/jupyter-widgets/ipywidgets/pull/2735
* qzchenwl made their first contribution in https://github.com/jupyter-widgets/ipywidgets/pull/2500
* alex4200 made their first contribution in https://github.com/jupyter-widgets/ipywidgets/pull/2780
* ibdafna made their first contribution in https://github.com/jupyter-widgets/ipywidgets/pull/2712
* Bobgy made their first contribution in https://github.com/jupyter-widgets/ipywidgets/pull/2792
* umerhasan17 made their first contribution in https://github.com/jupyter-widgets/ipywidgets/pull/2824
* hickmanw made their first contribution in https://github.com/jupyter-widgets/ipywidgets/pull/2775
* dependabot made their first contribution in https://github.com/jupyter-widgets/ipywidgets/pull/2857
* wangsijie made their first contribution in https://github.com/jupyter-widgets/ipywidgets/pull/2851
* carlobeltrame made their first contribution in https://github.com/jupyter-widgets/ipywidgets/pull/3040
* MicaelJarniac made their first contribution in https://github.com/jupyter-widgets/ipywidgets/pull/3062
* marimeireles made their first contribution in https://github.com/jupyter-widgets/ipywidgets/pull/3117
* casperdcl made their first contribution in https://github.com/jupyter-widgets/ipywidgets/pull/3130
* kedarisetti made their first contribution in https://github.com/jupyter-widgets/ipywidgets/pull/3074
* joseph2rs made their first contribution in https://github.com/jupyter-widgets/ipywidgets/pull/3171
* bsyouness made their first contribution in https://github.com/jupyter-widgets/ipywidgets/pull/3185
* StefanBrand made their first contribution in https://github.com/jupyter-widgets/ipywidgets/pull/3225
* smeng9 made their first contribution in https://github.com/jupyter-widgets/ipywidgets/pull/3223
* joequant made their first contribution in https://github.com/jupyter-widgets/ipywidgets/pull/2954
* rsheftel made their first contribution in https://github.com/jupyter-widgets/ipywidgets/pull/2927
* partev made their first contribution in https://github.com/jupyter-widgets/ipywidgets/pull/3242
* kefirbandi made their first contribution in https://github.com/jupyter-widgets/ipywidgets/pull/2897
* giswqs made their first contribution in https://github.com/jupyter-widgets/ipywidgets/pull/3246
* jpn-- made their first contribution in https://github.com/jupyter-widgets/ipywidgets/pull/3142
* shaperilio made their first contribution in https://github.com/jupyter-widgets/ipywidgets/pull/3277
* alex-rind made their first contribution in https://github.com/jupyter-widgets/ipywidgets/pull/3317
* trungleduc made their first contribution in https://github.com/jupyter-widgets/ipywidgets/pull/3304
* real-slim-chadi made their first contribution in https://github.com/jupyter-widgets/ipywidgets/pull/3326
* mariobuikhuizen made their first contribution in https://github.com/jupyter-widgets/ipywidgets/pull/3358
* MrBago made their first contribution in https://github.com/jupyter-widgets/ipywidgets/pull/3370
* agnat made their first contribution in https://github.com/jupyter-widgets/ipywidgets/pull/3338
* xiaochen-db made their first contribution in https://github.com/jupyter-widgets/ipywidgets/pull/3367
* agoose77 made their first contribution in https://github.com/jupyter-widgets/ipywidgets/pull/2975
* tkrabel made their first contribution in https://github.com/jupyter-widgets/ipywidgets/pull/3393
* anthonyaag made their first contribution in https://github.com/jupyter-widgets/ipywidgets/pull/3450
* williamstein made their first contribution in https://github.com/jupyter-widgets/ipywidgets/pull/3462
* VedangNadkarni made their first contribution in https://github.com/jupyter-widgets/ipywidgets/pull/3456
* kellietay made their first contribution in https://github.com/jupyter-widgets/ipywidgets/pull/3475
* jasongrout-db made their first contribution in https://github.com/jupyter-widgets/ipywidgets/pull/3442

**Full Changelog**: https://github.com/jupyter-widgets/ipywidgets/compare/7.x...8.0.0

7.7.1

-----

To see the full list of pull requests, see the [7.7.1 milestone](https://github.com/jupyter-widgets/ipywidgets/milestone/36?closed=1) on GitHub.

Highlights include:

- Fix broken link icon for FontAwesome 4 and 5 [3495](https://github.com/jupyter-widgets/ipywidgets/pull/3495)
- Fix message throttling bug [3494](https://github.com/jupyter-widgets/ipywidgets/pull/3494)
- Fix state message parsing to be more permissive [3486](https://github.com/jupyter-widgets/ipywidgets/pull/3486)
- Fix tests on Python 3.11 [3480](https://github.com/jupyter-widgets/ipywidgets/pull/3480)
- Add better front-page docs [3496](https://github.com/jupyter-widgets/ipywidgets/pull/3496)

7.7

---

To see the full list of pull requests and issues, see the [7.7 milestone](https://github.com/jupyter-widgets/ipywidgets/milestone/35?closed=1) on GitHub.

Highlights include:

- Fix installation on Python 3.10. [3368](https://github.com/jupyter-widgets/ipywidgets/pull/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](https://github.com/jupyter-widgets/ipywidgets/pull/3290)
- Create a new widget control comm channel, enabling more efficient fetching of kernel widget state. [3201](https://github.com/jupyter-widgets/ipywidgets/pull/3021)
- 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](https://github.com/jupyter-widgets/ipywidgets/pull/3337)
- Enable HTMLManager output widgets to render state updates. [3372](https://github.com/jupyter-widgets/ipywidgets/pull/3372)
- Do not reset JupyterLab CSS variables if they are already defined. [3344](https://github.com/jupyter-widgets/ipywidgets/pull/3344)
- Fix variable inspector example. [3302](https://github.com/jupyter-widgets/ipywidgets/pull/3302)
- Introduce new widget manager `has_model` method for synchronously checking if a widget model is registered. [3377](https://github.com/jupyter-widgets/ipywidgets/pull/3377)
- Work around bug in Chrome rendering Combobox arrows. [3375](https://github.com/jupyter-widgets/ipywidgets/pull/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](https://github.com/jupyter-widgets/ipywidgets/pull/3400), [#3394](https://github.com/jupyter-widgets/ipywidgets/pull/3394)

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](https://github.com/jupyter-widgets/ipywidgets/milestone/31?closed=1) 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](https://github.com/jupyter-widgets/ipywidgets/pull/2472) for background.
2. In the `package.json`, add the following `sharedPackages` configuration inside the `jupyterlab` key. See the [JupyterLab extension documentation](https://jupyterlab.readthedocs.io/en/stable/extension/extension_dev.html#requiring-a-service) for more information.

json
  "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](https://jupyterlab.readthedocs.io/en/stable/extension/extension_dev.html) or the new [widget extension cookiecutter](https://github.com/jupyter-widgets/widget-ts-cookiecutter/tree/jlab3) for more details.

7.0.1

See https://github.com/jupyter-widgets/ipywidgets/milestone/16?closed=1
Links

@pyup-bot
Copy link
Collaborator Author

Closing this in favor of #1014

@pyup-bot pyup-bot closed this May 28, 2024
@slongwell slongwell deleted the pyup-update-ipywidgets-6.0.0-to-8.1.2 branch May 28, 2024 09:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant