-
Notifications
You must be signed in to change notification settings - Fork 29.8k
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
doc: update stability index #943
Conversation
@@ -1,6 +1,6 @@ | |||
# Domain | |||
|
|||
Stability: 2 - Unstable | |||
Stability: 0 - Deprecated |
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.
Not yet?
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.
By deprecated we mean "DON'T USE THIS!" :)
Should |
STABLE ALL THE THINGS! +1 :) |
👍 Also #771 |
LGTM, pending the timers comment. |
@mikeal re: timers, IIRC the changes there will be perf improvements (which are allowed under the new "locked.") I think the changes were algorithm improvements for the timers + a better idle timeout system, but I am not 100% sure. If not, then we should back down from "locked" there. I'll leave this open until tomorrow evening to get comments. If no one objects, I'll merge it in. Thanks! |
👍 |
``` | ||
|
||
``` | ||
Stability: 3 - Stable | ||
The API has proven satisfactory, but cleanup in the underlying | ||
code may cause minor changes. Backwards-compatibility is guaranteed. |
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.
If "Backwards-compatibility is guaranteed." is removed, how can my npm modules declare which versions of the built-in modules like url
and path
they are compatible with?
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.
See the above:
Stability: 2 - Stable
The API has proven satisfactory. Compatibility with the npm ecosystem
is a high priority, and will not be broken unless absolutely necessary
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.
That's not even an answer to the only question in my comment.
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.
The whole idea is that backwards compatibility is guaranteed by semver, stability levels don't really matter
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.
How do I, as a module author, assert this semver in my package.json
? There is no engines.iojs
field I'm aware of.
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.
There is currently no mechanism for this outside of feature detection. A breaking change in a stable API must demonstrate enough value to justify the breakage – that bar is very high.
This simplifies the stability index to 4 levels: 0 - deprecated 1 - experimental / feature-flagged 2 - stable 3 - locked Domains has been downgraded to deprecated, assert has been downgraded to stable. Timers and Module remain locked. All other APIs are now stable. Fixes: #930
This simplifies the stability index to 4 levels: 0 - deprecated 1 - experimental / feature-flagged 2 - stable 3 - locked Domains has been downgraded to deprecated, assert has been downgraded to stable. Timers and Module remain locked. All other APIs are now stable. PR-URL: #943 Fixes: #930 Reviewed-By: Colin Ihrig <[email protected]> Reviewed-By: Jeremiah Senkpiel <[email protected]> Reviewed-By: Vladimir Kurchatkin <[email protected]>
Merged in cf0306c. |
This simplifies the stability index to 4 levels:
0 - deprecated
1 - experimental / feature-flagged
2 - stable
3 - locked
Domains has been downgraded to deprecated, assert has been
downgraded to stable. Timers and Module remain locked. All
other APIs are now stable.
Fixes: #930