Ipywidgets: 7.2 Release plans

Created on 19 Mar 2018  Â·  20Comments  Â·  Source: jupyter-widgets/ipywidgets

I just created a 7.2 milestone with all of our completed patch and minor milestone issues/PRs. I added a few more I'll look at today or tomorrow: https://github.com/jupyter-widgets/ipywidgets/milestone/25

  • [X] Release notes (lots of new people and new features, we should have release notes) #2008
  • [X] Bump the controls protocol version to account for the changes added since the 7.1 series. Also change the generation script to say ipywidgets 7.2, etc. #2038, #2017
  • [x] Generate new spec documents for the new protocol version #2038
  • [x] Make sure the examples work. Re-save the widget data in examples where needed. #2040
  • [x] Make sure the documentation notebooks work and the proper state is saved
  • [x] Publish js packages
  • [x] Publish pypi packages
  • [x] Publish conda-forge packages
  • [X] Update contributor names #2032
  • [ ] Draw up release notes and publish to Jupyter mailing list.
resolved-locked

Most helpful comment

@jupyter-widgets/jupyter-widgets - As mentioned on gitter, my plan is to finish checking the examples and the documentation today, then release 7.2.0. Any objections?

All 20 comments

CC @jupyter-widgets/jupyter-widgets

Just took a quick look over the milestoned issues/PRs and looks good. Let me know if you want me to review anything.

will it be compatible with jupyterlab-beta2 ? it's said beta2 breaks compatibility with beta1

The python ipywidgets 7.2 library will be compatible (it is versioned independently of jupyterlab). The Javascript jupyterlab manager will be updated when JLab beta 2 is released to be compatible.

ok, thanks for the information.

Sample release notes:

It has been 91 days since the last release, 7.1.0. In this release, we closed 20 issues and 44 pull requests with 187 commits touching 77 files, including 135 non-merge commits.

We'd like to thank the following contributors to the ipywidgets codebase in this repository. We had 18 contributors, of which 13 are new contributors (denoted with a *).

*Anand Chitipothu
*Antonino Ingargiola
*DougRzz
*Dustin Michels
*Fabien Vinas
Jason Grout
*Jeremy Tuloup
Maarten Breddels
*Madhu94
*Madhumitha Natarajan
Pascal Bugnion
*Paul Ganssle
*Romain Primet
*Ryan Morshead
*Sebastian Gutsche
*Stephanie Stattel
Sylvain Corlay
Vidar Tonaas Fauske

Also of particular note, 39 "reference" issues were closed in this time period. These issues archive answered questions and other discussions with community members, and represent a tremendous amount of effort to engage with the community.

@jupyter-widgets/jupyter-widgets - As mentioned on gitter, my plan is to finish checking the examples and the documentation today, then release 7.2.0. Any objections?

I uploaded the js packages to npm and ipywidgets 7.2.0, and widgetsnbextension 3.2.0 to pypi. Please test @jupyter-widgets/jupyter-widgets.

@mwcraig (or someone in Europe, as they are likely up now :) - would you mind doing the conda-forge update? The hashes are in the release commit message: https://github.com/jupyter-widgets/ipywidgets/commit/41064fcdd574a9df640147a779112bd441c5cadf

I'll let people test this for a bit, then we can publish the release notes and make an announcement.

I did verify that a simple pip install makes the widget list notebook work in the classic notebook and jupyterlab. And we don't have any more enable step with pip! Hooray!

Thanks for doing the release!

I've started the conda-forge PRs:

At the moment, we still have the widgetsnbextension enable step in conda-forge. Presumably, we want to keep this until we can mandate notebook v5.3.0?

Yes we should keep it I think, but we should reconsider widgetsnbextension disable, since that leaves the extension disabled (instead of removing the entry from the notebook.json). I think we should simply not disable it, or do a python -c "..." oneliner to remove the entry from notebook.json

And great work again Jason!

Would the one-liner just read in notebook.json, change the JSON and save it again (e.g. using the json module), or are there higher-level libraries we could use?

I'll remove the widgetsnbextension disable for now, and we can revisit to do more complex logic in a separate release.

That is what I had in mind, maybe use some functions used here?:
https://github.com/jupyter/notebook/blob/master/notebook/nbextensions.py#L319
(from mobile phone)

On Fri, 30 Mar 2018, 09:51 Pascal Bugnion, notifications@github.com wrote:

Would the one-liner just read in notebook.json, change the JSON and save
it again (e.g. using the json module), or are there higher-level
libraries we could use?

I'll remove the widgetsnbextension disable for now, and we can revisit to
do more complex logic in a separate release.

—
You are receiving this because you are on a team that was mentioned.
Reply to this email directly, view it on GitHub
https://github.com/jupyter-widgets/ipywidgets/issues/2000#issuecomment-377470075,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABryPRVr08zr2x5JIcc-AaDWcRSDYKu9ks5tjePrgaJpZM4Sw-kx
.

I actually don't have permissions to merge the nbextension PR for conda. It looks ready for merging, though. Once that's merged, I can submit the ipywidgets-feedstock PR (or someone else if they get there first).

widgetsnbextension-feedstock PR here.

Relying on notebook module as much as possible, and that the new argument read_directory=False is happily ignored for notebook version < 5.3, this should do the job:

python -c "import os; import notebook.nbextensions as nbe; import notebook.config_manager as cm; config = cm.BaseJSONConfigManager(config_dir=os.path.join(nbe._get_config_dir(sys_prefix=True), 'nbconfig'), read_directory=False); state = config.get('notebook'); state['load_extensions'].pop('jupyter-js-widgets/extension', None); config.set('notebook', state)"

In case load_extensions is not present, this is saver:
python -c "import os; import notebook.nbextensions as nbe; import notebook.config_manager as cm; config = cm.BaseJSONConfigManager(config_dir=os.path.join(nbe._get_config_dir(sys_prefix=True), 'nbconfig'), read_directory=False); state = config.get('notebook'); state.get('load_extensions', {}).pop('jupyter-js-widgets/extension', None); config.set('notebook', state)"

Both ipywidgets and widgetsnbextension feedstocks are now merged, thanks!

For reference, the widgetsnbextension recipe has been changed so that, on uninstalling, the entry is completely removed from the notebook.json config file. Thus, running:

conda install ipywidgets -c conda-forge
conda uninstall ipywidgets widgetsnbextension

leaves your sys-prefix notebook.json config unchanged. See this PR for the discussion details.

Looks like all we have left is publishing a note to the mailing list, though at this point, perhaps it's a bit dated?

Was this page helpful?
0 / 5 - 0 ratings