Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Model spec out of date #1852

Closed
jasongrout opened this issue Dec 5, 2017 · 4 comments
Closed

Model spec out of date #1852

jasongrout opened this issue Dec 5, 2017 · 4 comments
Labels
resolved-locked Closed issues are locked after 30 days inactivity. Please open a new issue for related discussion.
Milestone

Comments

@jasongrout
Copy link
Member

jasongrout commented Dec 5, 2017

It looks like several PRs changed the model spec. We'll have to be more careful about this, perhaps with a test that generates the model spec and compares to the model spec document (which is also mostly auto-generated).

One released change:

Two unreleased changes:

In particular, I'm hesitant to release without resolving this issue for #1822 and #1834.

CC @SylvainCorlay

@jasongrout
Copy link
Member Author

jasongrout commented Dec 5, 2017

The only backwards-incompatible change is making nulls not possible in #1822.

The real problem is that we aren't quite equipped to deal with compatible versions of the model spec quite yet.

Some options:

  1. Bump the spec to a minor version (e.g., backwards compatible), and back out the change in Selection widgets fixes #1822 that is backwards-incompatible (e.g., change Selection widgets fixes #1822 to let ToggleButtons.button_style take a null).
  2. Branch and make a new 7.0.x release without Selection widgets fixes #1822 and 1719 support more styles to toggle buttons #1834. We still have the problem of Make ToggleButtons respect passed style kwarg #1714 being already released, though.

@jasongrout jasongrout added this to the 7.0.x milestone Dec 5, 2017
@jasongrout
Copy link
Member Author

Here's what I think I'll pursue:

  1. Bump the model spec version for jupyter-wigdets/controls a minor version bump to 1.1, and the controls npm package version to 1.1. This in turn should cause minor version bumps in html-manager, widgetsnbextension, and jupyterlab-manager, and ipywidgets.
  2. Specify that model specs are the exact version number of the actual data (e.g., 1.0.0), not a semver range, like ^1.0. We do this because the model spec is a format that can be archived - we just need to know what the actual format of the saved data is, not what the saved data thinks can read it.
  3. Implement logic in the reader (e.g., the frontend) which automatically adds ^ to the version when looking up a package to handle the format, i.e., if the model module version is 1.0, it will look in its registered modules for things that can handle version ^1.0. The assumption here can be overridden if there is an incompatibility.

@jasongrout
Copy link
Member Author

Oh, and also: write a test that generates the spec from the python code, and fails if the spec in the repo does not match what is generated from the python code. That should catch any further incompatibilities from slipping in.

@jasongrout
Copy link
Member Author

Fixed by #1854.

@jasongrout jasongrout modified the milestones: 7.0.x, 7.x Dec 5, 2017
@jasongrout jasongrout modified the milestones: 7.x, 7.1 Dec 18, 2017
@github-actions github-actions bot added the resolved-locked Closed issues are locked after 30 days inactivity. Please open a new issue for related discussion. label Feb 9, 2021
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Feb 9, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
resolved-locked Closed issues are locked after 30 days inactivity. Please open a new issue for related discussion.
Projects
None yet
Development

No branches or pull requests

1 participant