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

doc, punycode: soft-deprecation of the punycode module #7941

Closed
wants to merge 1 commit into from

Conversation

jasnell
Copy link
Member

@jasnell jasnell commented Aug 1, 2016

Checklist
  • documentation is changed or added
  • commit message follows commit guidelines
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

@jasnell jasnell added doc Issues and PRs related to the documentations. semver-major PRs that contain breaking changes and should be released in the next major version. punycode Issues and PRs related to the punycode module bundled in Node.js. labels Aug 1, 2016
@jasnell jasnell added this to the 7.0.0 milestone Aug 1, 2016
@jasnell jasnell self-assigned this Aug 1, 2016
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.
@cjihrig
Copy link
Contributor

cjihrig commented Aug 1, 2016

If the CTC already decided on this, then LGTM

@jasnell
Copy link
Member Author

jasnell commented Aug 1, 2016

It was discussed on last weeks call.

@ChALkeR
Copy link
Member

ChALkeR commented Aug 1, 2016

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
Copy link
Contributor

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"?

Copy link
Contributor

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.

Copy link
Member Author

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. Users

Yeah, 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
.

Copy link
Contributor

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.

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?

Copy link
Member Author

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.

@jasnell
Copy link
Member Author

jasnell commented Aug 3, 2016

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

jasnell added a commit that referenced this pull request Aug 3, 2016
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>
@jasnell
Copy link
Member Author

jasnell commented Aug 3, 2016

Landed in 29e49fc

@jasnell jasnell closed this Aug 3, 2016
mathiasbynens added a commit to mathiasbynens/punycode.js that referenced this pull request Aug 9, 2016
abpbot pushed a commit to adblockplus/abp2blocklist that referenced this pull request Aug 23, 2016
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
@jasnell jasnell mentioned this pull request Oct 14, 2016
diracdeltas added a commit to brave/browser-laptop that referenced this pull request Oct 19, 2016
As of nodejs/node#7941, the node core punycode
module is deprecated.

Auditors: @bbondy

Test Plan: n/a
jasnell added a commit to jasnell/node that referenced this pull request Oct 24, 2016
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).
jasnell added a commit that referenced this pull request Oct 25, 2016
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
jasnell added a commit that referenced this pull request Oct 25, 2016
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
stash-sfdc added a commit to salesforce/tough-cookie that referenced this pull request Oct 25, 2016
stash-sfdc added a commit to salesforce/tough-cookie that referenced this pull request Oct 25, 2016
stash-sfdc added a commit to salesforce/tough-cookie that referenced this pull request Oct 25, 2016
imyller added a commit to imyller/meta-nodejs that referenced this pull request Oct 25, 2016
    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>
@gibfahn gibfahn mentioned this pull request Jun 15, 2017
3 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
doc Issues and PRs related to the documentations. punycode Issues and PRs related to the punycode module bundled in Node.js. semver-major PRs that contain breaking changes and should be released in the next major version.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

6 participants