-
Notifications
You must be signed in to change notification settings - Fork 29.7k
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, punycode: soft-deprecation of the punycode module #7941
Conversation
As discussed and agreed upon by the CTC, the punycode module bundled in core is soft-deprecated (docs only) for v7 with an eye towards hard-deprecation in v8 or later.
a8a4512
to
a1ee6da
Compare
If the CTC already decided on this, then LGTM |
It was discussed on last weeks call. |
LGTM |
Stability: 0 - Deprecated | ||
|
||
**The version of the punycode module bundled in Node.js is being deprecated**. | ||
In a future major version of Node.js this module will be removed. Users |
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.
Should we use more specific version number instead of the word "future"?
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.
Yeah, let’s be specific. I’ll then update the Punycode.js README accordingly.
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'm not sure how specific we can be... Generally we've tried not to commit
to specific versions. It would be at least v8 before we could do the hard
deprecation.
On Monday, August 1, 2016, Mathias Bynens notifications@github.com wrote:
In doc/api/punycode.md
#7941 (comment):@@ -1,6 +1,11 @@
punycode
- Stability: 2 - Stable
- Stability: 0 - Deprecated
+The version of the punycode module bundled in Node.js is being deprecated.
+In a future major version of Node.js this module will be removed. UsersYeah, let’s be specific. I’ll then update the Punycode.js README
accordingly.—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub
https://github.com/nodejs/node/pull/7941/files/a1ee6dac91984047af0f6167031e6716bf6c8648#r73102561,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAa2ecTY2uR6HajrntHHGZHazWU51Yn7ks5qbunWgaJpZM4JZ4pZ
.
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.
@jsnell as we have added this pull-request to the 7.0.0 milestone, so could we just simply make it be deprecated entirely at v8 as we will notify user at v7.
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.
Hard deprecations are a bit touchy, since it means potentially breaking users' code. It is possible that some new data comes up between v7.x and v8.x versions that would make the CTC consider a hard deprecation later than v8.x releases.
If mentioning a specific version is considered to be a good incentive for users to move to using the npm module, then I agree we should do that. Otherwise, it seems like it would not be that useful for users, and it would actually limit our options.
So my question is: what are we trying to achieve by mentioning a specific version?
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.
@mathiasbynens ... the best bet for your users would be to begin recommending transitioning off the bundled version to the installable version starting in v7, even tho it's just a "soft deprecation". Ideally those users would be migrated already long before we do the hard deprecation (where warnings and errors start being reported). In fact, the faster users transition off the bundled version, the faster we'll be able to do that hard deprecation.
Given the LGTM's and last weeks discussion, I'm going to go ahead and land this. If necessary, we can fine tune the deprecation message in docs further in a separate PR |
As discussed and agreed upon by the CTC, the punycode module bundled in core is soft-deprecated (docs only) for v7 with an eye towards hard-deprecation in v8 or later. Also see discussion in #7552 PR-URL: #7941 Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Сковорода Никита Андреевич <chalkerx@gmail.com>
Landed in 29e49fc |
Since the built-in punycode will be depreciated[1] as of Node.js v7 we need to start declaring this dependency explicitly. [1] - nodejs/node#7941
As of nodejs/node#7941, the node core punycode module is deprecated. Auditors: @bbondy Test Plan: n/a
Notable Changes: * Buffer * Passing invalid input to Buffer.byteLength will now throw an error [nodejs#8946](nodejs#8946). * Calling Buffer without new is now deprecated and will emit a process warning [nodejs#8169](nodejs#8169). * Passing a negative number to allocUnsafe will now throw an error [nodejs#7079](nodejs#7079). * Child Process * The fork and execFile methods now have stronger argument validation [nodejs#7399](nodejs#7399). * Cluster * The worker.suicide method is deprecated and will emit a process warning [nodejs#3747](nodejs#3747). * Deps * V8 has been updated to 5.4.500.36 [nodejs#8317](nodejs#8317), [nodejs#8852](nodejs#8852), [nodejs#9253](nodejs#9253). * NODE_MODULE_VERSION has been updated to 51 [nodejs#8808](nodejs#8808). * File System * A process warning is emitted if a callback is not passed to async file system methods [nodejs#7897](nodejs#7897). * Intl * Intl.v8BreakIterator constructor has been deprecated and will emit a process warning [nodejs#8908](nodejs#8908). * Promises * Unhandled Promise rejections have been deprecated and will emit a process warning [nodejs#8217](nodejs#8217). * Punycode * The `punycode` module has been deprecated [nodejs#7941](nodejs#7941). * URL * An Experimental WHATWG URL Parser has been introduced [nodejs#7448](nodejs#7448).
Notable Changes: * Buffer * Passing invalid input to Buffer.byteLength will now throw an error [#8946](#8946). * Calling Buffer without new is now deprecated and will emit a process warning [#8169](#8169). * Passing a negative number to allocUnsafe will now throw an error [#7079](#7079). * Child Process * The fork and execFile methods now have stronger argument validation [#7399](#7399). * Cluster * The worker.suicide method is deprecated and will emit a process warning [#3747](#3747). * Deps * V8 has been updated to 5.4.500.36 [#8317](#8317), [#8852](#8852), [#9253](#9253). * NODE_MODULE_VERSION has been updated to 51 [#8808](#8808). * File System * A process warning is emitted if a callback is not passed to async file system methods [#7897](#7897). * Intl * Intl.v8BreakIterator constructor has been deprecated and will emit a process warning [#8908](#8908). * Promises * Unhandled Promise rejections have been deprecated and will emit a process warning [#8217](#8217). * Punycode * The `punycode` module has been deprecated [#7941](#7941). * URL * An Experimental WHATWG URL Parser has been introduced [#7448](#7448). PR-URL: #9099
Notable Changes: * Buffer * Passing invalid input to Buffer.byteLength will now throw an error [#8946](#8946). * Calling Buffer without new is now deprecated and will emit a process warning [#8169](#8169). * Passing a negative number to allocUnsafe will now throw an error [#7079](#7079). * Child Process * The fork and execFile methods now have stronger argument validation [#7399](#7399). * Cluster * The worker.suicide method is deprecated and will emit a process warning [#3747](#3747). * Deps * V8 has been updated to 5.4.500.36 [#8317](#8317), [#8852](#8852), [#9253](#9253). * NODE_MODULE_VERSION has been updated to 51 [#8808](#8808). * File System * A process warning is emitted if a callback is not passed to async file system methods [#7897](#7897). * Intl * Intl.v8BreakIterator constructor has been deprecated and will emit a process warning [#8908](#8908). * Promises * Unhandled Promise rejections have been deprecated and will emit a process warning [#8217](#8217). * Punycode * The `punycode` module has been deprecated [#7941](#7941). * URL * An Experimental WHATWG URL Parser has been introduced [#7448](#7448). PR-URL: #9099
Node v7 soft-deprecates the punycode module. See https://nodejs.org/en/blog/release/v7.0.0/ and nodejs/node#7941
Node v7 soft-deprecates the punycode module. See https://nodejs.org/en/blog/release/v7.0.0/ and nodejs/node#7941
Explicit punycode dependency. See https://nodejs.org/en/blog/release/v7.0.0/ and nodejs/node#7941
Notable Changes: * Buffer * Passing invalid input to Buffer.byteLength will now throw an error [#8946](nodejs/node#8946). * Calling Buffer without new is now deprecated and will emit a process warning [#8169](nodejs/node#8169). * Passing a negative number to allocUnsafe will now throw an error [#7079](nodejs/node#7079). * Child Process * The fork and execFile methods now have stronger argument validation [#7399](nodejs/node#7399). * Cluster * The worker.suicide method is deprecated and will emit a process warning [#3747](nodejs/node#3747). * Deps * V8 has been updated to 5.4.500.36 [#8317](nodejs/node#8317), [#8852](nodejs/node#8852), [#9253](nodejs/node#9253). * NODE_MODULE_VERSION has been updated to 51 [#8808](nodejs/node#8808). * File System * A process warning is emitted if a callback is not passed to async file system methods [#7897](nodejs/node#7897). * Intl * Intl.v8BreakIterator constructor has been deprecated and will emit a process warning [#8908](nodejs/node#8908). * Promises * Unhandled Promise rejections have been deprecated and will emit a process warning [#8217](nodejs/node#8217). * Punycode * The `punycode` module has been deprecated [#7941](nodejs/node#7941). * URL * An Experimental WHATWG URL Parser has been introduced [#7448](nodejs/node#7448). Signed-off-by: Ilkka Myller <ilkka.myller@nodefield.com>
Checklist
Affected core subsystem(s)
punycode,docs
Description of change
As discussed and agreed upon by the CTC, the punycode module bundled in core is soft-deprecated (docs only) for v7 with an eye towards hard-deprecation in v8 or later.
Refs: #7552
/cc @nodejs/ctc