-
-
Notifications
You must be signed in to change notification settings - Fork 30
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
[RFC] Adopt formal process for provisional features in JupyterLab core #57
base: main
Are you sure you want to change the base?
Conversation
7072285
to
a21b474
Compare
2a3ee21
to
9e25d4f
Compare
25a0147
to
2d353e9
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I like the overall sentiment. Any comments I have would be about formatting consistency of the document, which you would pick up in an edit pass anyway. Thanks for laying this out!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I love this! Thank you max.
+1 on the concept, some comments below: Note: There are also some more or less formalized docstring directives that can be used (e.g. I think it would also be a good addition to spell out in which cases the
|
I was curious about this one... Seems like it could go either way, and thinking about adding the new datastore work, maybe to a new extension that is "provisional" at first might be useful? |
To clarify: Previously we've had issues adding a new extension in a minor release. I forget the details, but was under the impression that it could break older minor versions of lab on the same major. On the other hand, if we are adding a new extension (either on a major version, or if we figure out we can do it safely in a minor release), then I would say we can of course add fields in that extension that are provisional, but that I think we cannot safely mark the entire extension as provisional (with the current build setup at least). |
IIRC, if any old extension depends on the new extension, you get into trouble. If it's completely self-contained (like the log console extension we added in 1.2), I think it doesn't break older minor versions. |
react uses |
ooo, it looks like React only just recently added the |
@telamonian they are channelling your proposal! |
For what it's worth, React has used What changed recently is that APIs that are only in experimental prerelease builds (ie. not the regular React builds that most people download and use) are now also prefixed with |
@Daniel15 Oh good to know. Do you know if they had a discussion on what to name it somewhere we could reference? My comment was kinda a joke, which is always risky on Github issues... Sarcasm doesn't travel well without context! |
Not sure, sorry. The Relay team also sometimes use an Internally at Facebook we sometimes semi-jokingly use |
Make development of complex features easier and better by allowing for breaking changes in explicitly marked API (eg
foo_PROVISIONAL
). See #56.A complete proposal for provisional features is included in this PR.