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

deps: upgrade npm beta to [email protected] #12936

Closed
wants to merge 2 commits into from

Conversation

zkat
Copy link
Contributor

@zkat zkat commented May 9, 2017

Checklist
  • make -j4 test (UNIX), or vcbuild test (Windows) passes
  • tests and/or benchmarks are included
  • documentation is changed or added
  • commit message follows commit guidelines
Affected core subsystem(s)
  • deps
Description of Changes

Ahahaha it's May 9th! Check it out!

This is the first PR for the long-awaited npm@5. This is beta software, but we intend to have it production-ready by May 30th. This release has all the really big changes going in.

The biggest thing to note about this release is that it involves a rewrite of significant subsystems. Most notably, the entire caching and package-fetching layer have been replaced with new code, right down to the http client being used.

Beyond that, this release includes a number of significant ux-related changes: --save happens by default, a new package-lock.json is generated by default. This file is similar to npm-shrinkwrap.json, and both of the files have been overhauled to play nicer with cross-platform setups and file dependencies.

The release cooked up for this PR is mirroring the current beta releases, but with the binary still named npm, instead of npm5. It also omits the beta notice that happens every time you run the "main" beta client. You can expect this particular release to have a number of issues (tracked in the beta tracking issue for npm@5. There's a number of tests we've excluded from the main test suite because they need to have a few updates before they pass with npm5.

Edit: I know this PR is a bit last minute, but we already talked about how tight a timeline this would be for us. We're working really hard on this release to get it stable and you should see bugfixes and perf improvements happen regularly. We can talk about how often you want us to submit new beta versions to the node repo -- npm i -g npm5 is still the preferred method of testing the beta out, for us.

Changelog

@nodejs-github-bot nodejs-github-bot added the npm Issues and PRs related to the npm client dependency or the npm registry. label May 9, 2017
@Fishrock123 Fishrock123 self-assigned this May 9, 2017
@Fishrock123 Fishrock123 self-requested a review May 9, 2017 22:08
@refack
Copy link
Contributor

refack commented May 9, 2017

@zkat I know it's not the place, but we need npm/npm#16484 in.

@addaleax
Copy link
Member

addaleax commented May 9, 2017

@jasnell Jaaaaaaaames… please tell me it’s not too late to have this in v8.x? :)

(Honestly, I think having this in there would be good because the perf improvements alone should reflect pretty well on Node v8.0.0 itself. :3)

@addaleax addaleax added the semver-major PRs that contain breaking changes and should be released in the next major version. label May 9, 2017
@zkat
Copy link
Contributor Author

zkat commented May 9, 2017

ahahaha sorry. That fell through the cracks in our dev branches even though I already landed it in the main release-next-5 branch. I'll roll up a new release later? I'm about to head out (or I might ping @iarna to do it)

@zkat
Copy link
Contributor Author

zkat commented May 9, 2017

There we go: I've patched in [email protected] with the exact patch that'll appear in the next release (just so I don't have to run a whole release just for this)

@jasnell
Copy link
Member

jasnell commented May 9, 2017

It's not too late but it won't make it into the RC.0 build I'll be doing later today. We should try to get this landed this week. It just needs to be clear that (a) we won't push out the May 30th release date any further and (b) if this does not go stable in time it'll get pulled before the release, so this really needs eyes on it.

@zkat
Copy link
Contributor Author

zkat commented May 9, 2017

That sgtm, James! Thanks for considering this PR. We'll be working hard to make sure we have a great release ready ASAP. ✌🏼

@Fishrock123
Copy link
Contributor

Getting some failures:

test/tap/git-prepare.js ............................... 3/6 3s
  install from git repo with prepare script
  not ok exited successfully
    +++ found
    --- wanted
    -0
    +1
    compare: ===
    at:
      line: 104
      column: 7
      file: test/tap/git-prepare.js
      type: global
    stack: |
      test/tap/git-prepare.js:104:7
      f (node_modules/once/once.js:25:25)
      ChildProcess.<anonymous> (test/common-tap.js:76:5)
    source: |
      t.equal(code, 0, 'exited successfully')

  install from git repo with prepare script
  not ok no actual output on stderr
    +++ found
    --- wanted
    +npm ERR! prepare-git-dep npm ERR! code ELIFECYCLE
    +npm ERR! prepare-git-dep npm ERR! errno 123
    +npm ERR! prepare-git-dep npm ERR! [email protected] prepublish: `exit 123`
    +npm ERR! prepare-git-dep npm ERR! Exit status 123
    +npm ERR! prepare-git-dep npm ERR!
    +npm ERR! prepare-git-dep npm ERR! Failed at the [email protected] prepublish script.
    +npm ERR! prepare-git-dep npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
    +npm ERR! prepare-git-dep
    +npm ERR! prepare-git-dep npm ERR! A complete log of this run can be found in:
    +npm ERR! prepare-git-dep npm ERR!     /Users/Jeremiah/Documents/node/test-npm/test/npm_cache/_logs/2017-05-09T23_14_30_875Z-debug.log
    +npm ERR! prepare-git-dep
    +npm ERR! code 123
    +npm ERR! null: npm exited with code 123 while attempting to build undefined. Clone the repository manually and run 'npm install' in it for more information.
    +
    +npm ERR! A complete log of this run can be found in:
    +npm ERR!     /Users/Jeremiah/Documents/node/test-npm/test/tap/git-prepare/cache/_logs/2017-05-09T23_14_30_920Z-debug.log
    compare: ===
    at:
      line: 105
      column: 7
      file: test/tap/git-prepare.js
      type: global
    stack: |
      test/tap/git-prepare.js:105:7
      f (node_modules/once/once.js:25:25)
      ChildProcess.<anonymous> (test/common-tap.js:76:5)
    source: |
      t.equal(stderr, '', 'no actual output on stderr')

  install from git repo with prepare script
  not ok ENOENT: no such file or directory, open '/Users/Jeremiah/Documents/node/test-npm/test/tap/git-prepare/deps/parent/node_modules/child/build-artifact'
    errno: -2
    code: ENOENT
    syscall: open
    path: >-
      /Users/Jeremiah/Documents/node/test-npm/test/tap/git-prepare/deps/parent/node_modules/child/build-artifact
    test: install from git repo with prepare script
test/tap/lifecycle-signal.js ......................... 8/10 3s
  lifecycle wait for async child process exit
  not ok expect truthy value
    at:
      line: 102
      column: 7
      file: test/tap/lifecycle-signal.js
      type: ChildProcess
    stack: |
      ChildProcess.<anonymous> (test/tap/lifecycle-signal.js:102:7)

  lifecycle force kill using multiple SIGINT signals
  not ok expect truthy value
    at:
      line: 126
      column: 7
      file: test/tap/lifecycle-signal.js
      type: ChildProcess
    stack: |
      ChildProcess.<anonymous> (test/tap/lifecycle-signal.js:126:7)

I'm also not certain if this means anything:

test/tap/spec-local-specifiers.js ................... 61/71 22s
  ~ test ambiguity for github repos
  ~ specifically test that output is valid
  ~ verify that env is as expected
  ~ to package.json and npm-shrinkwrap.json w/ drive abs
  ~ should remove the symlink
  ~ should not remove the transitive deps if it was not a `link:` type specifier.
  ~ should not remove transitive deps if it's outside the package and --preserver-symlinks isn't set
  ~ listing: should look right, not include version
  ~ outdated: show LOCAL for wanted / latest
  ~ update: if specifier exists, do nothing. otherwise as if `npm install`.

@addaleax
Copy link
Member

addaleax commented May 9, 2017

@Fishrock123 Can you check whether applying npm/npm#16474 helps for some of these?

@gibfahn
Copy link
Member

gibfahn commented May 9, 2017

@Fishrock123 I'm only seeing the three git-prepare failures (also testing on macOS Sierra):

test/tap/git-prepare.js ............................... 3/6 2s
test/tap/lifecycle-signal.js ........................ 10/10 11s

@Fishrock123
Copy link
Contributor

As a note, npm5 tests take only 540s to run, compared to 680s on npm4.

@zkat
Copy link
Contributor Author

zkat commented May 10, 2017

There's some disabled tests right now that most likely account for the difference. The biggest perf boosts in npm5, the cache/networking changes, aren't touched very much by the test suite itself (which largely uses local specifiers for tests). The biggest bottleneck in test suite performance is generally the child process spawn time, since a big chunk of it is integration tests that launch a full npm process.

Not to rain on any parades or anything 😂

@zkat zkat changed the title deps: upgrade npm beta to [email protected] deps: upgrade npm beta to [email protected] May 15, 2017
@zkat
Copy link
Contributor Author

zkat commented May 15, 2017

Hey all, I've pushed beta.51 into this branch. I don't know if it'll fix the specific issues y'all were having, but we're fixing as fast as we can ^_^

@Fishrock123
Copy link
Contributor

Less errors.

test/tap/00-verify-bundle-deps.js ................... 84/85
  all deps are bundled deps or dev deps
  not ok marked-man is in bundledDependencies
    at:
      line: 9
      column: 7
      file: test/tap/00-verify-bundle-deps.js
      type: global
    stack: |
      test/tap/00-verify-bundle-deps.js:9:7
      Array.forEach (native)
      Test.<anonymous> (test/tap/00-verify-bundle-deps.js:8:8)
      Object.<anonymous> (test/tap/00-verify-bundle-deps.js:7:1)
    source: |
      t.assert(

And the last two from last time (3 total) progress!

@zkat
Copy link
Contributor Author

zkat commented May 15, 2017

@Fishrock123 I'm not sure why this particular test would be failing. Have there been any significant changes in node8 as far as things like process.pid, exit signals, etc?

@zkat
Copy link
Contributor Author

zkat commented May 15, 2017

p.s. the verify-bundle-deps test should be fixed, and the git-prepare.js test from before should not be failing (since it's not there right now)

@zkat
Copy link
Contributor Author

zkat commented May 17, 2017

The beta has been updated to beta.56. The test suite passes on CI (https://travis-ci.org/npm/npm/builds/233098396) and this release includes some improvements to lockfile behavior and some fields from the spec that weren't there before.

We looked into the lifecycle-signal.js failure from before and it turns out it was only happening on node8, when run with coverage turned on. Considering we've made no changes to lifecycle signal handling with this release, the conclusion was that something fishy's going on in nyc with child processes. I've let Ben know about it and disabled the test itself in the meantime. You can run it manually with node test/need-npm5-update/lifecycle-signal.js to confirm the test passes without whatever it is nyc is doing.

@addaleax
Copy link
Member

We looked into the lifecycle-signal.js failure from before and it turns out it was only happening on node8, when run with coverage turned on.

@zkat It does fail outside of CI on Linux boxes, even with Node 7, see npm/npm#16474 again :)

@zkat
Copy link
Contributor Author

zkat commented May 17, 2017

あ!
Thanks, Anna. We basically haven't been looking at the issue tracker for a few months now and I missed this I guess 😁

@addaleax
Copy link
Member

@zkat No problem :) I currently get 11 failing tests when running npm test at the current release-beta-5 – I’ll try to see if I can do any about those, too.

@zkat
Copy link
Contributor Author

zkat commented May 17, 2017

@addaleax release-beta-5 isn't meant to pass tests -- it has a couple of patches intended for pushing the code up to https://npm.im/npm5 as part of the beta specifically. The beta printout itself will likely break a bunch of tests. The code I'm pushing with this release is off release-beta-5-node, which I just pushed.

@zkat
Copy link
Contributor Author

zkat commented May 23, 2017

I can push up an update to the latest beta, too. I think it's in pretty good condition right now. You can check the known issues thread and see if there's anything that scares you too much, but none of that stuff scares me enough to hold anything back. I've been keeping unstable patches out of the releases.

@gibfahn
Copy link
Member

gibfahn commented May 23, 2017

+1 on landing this before the next rc, that way people have a chance to test it out as early as possible.

@addaleax
Copy link
Member

Landed in 9946173, c0d858f 🎉

@addaleax addaleax closed this May 23, 2017
addaleax pushed a commit that referenced this pull request May 23, 2017
PR-URL: #12936
Reviewed-By: Anna Henningsen <[email protected]>
addaleax pushed a commit that referenced this pull request May 23, 2017
@zkat zkat deleted the npm-5.0.0-beta.46 branch May 23, 2017 17:43
jasnell pushed a commit that referenced this pull request May 23, 2017
PR-URL: #12936
Reviewed-By: Anna Henningsen <[email protected]>
jasnell pushed a commit that referenced this pull request May 23, 2017
@gibfahn
Copy link
Member

gibfahn commented May 26, 2017

Speaking of npm issues, I think this is one: npm/npm#16734 (seems to be a win-x64 issue, so if anyone can reproduce it that'd be useful, cc/ @nodejs/platform-windows ).

jasnell pushed a commit that referenced this pull request May 28, 2017
PR-URL: #12936
Reviewed-By: Anna Henningsen <[email protected]>
jasnell pushed a commit that referenced this pull request May 28, 2017
@jasnell jasnell mentioned this pull request May 28, 2017
@zkat zkat mentioned this pull request May 29, 2017
4 tasks
jasnell added a commit to jasnell/node that referenced this pull request May 29, 2017
* **Async Hooks**
  * The `async_hooks` module has landed in core
    [[`4a7233c178`](nodejs@4a7233c178)]
    [nodejs#12892](nodejs#12892).

* **Buffer**
  * Using the `--pending-deprecation` flag will cause Node.js to emit a
    deprecation warning when using `new Buffer(num)` or `Buffer(num)`.
    [[`d2d32ea5a2`](nodejs@d2d32ea5a2)]
    [nodejs#11968](nodejs#11968).
  * `new Buffer(num)` and `Buffer(num)` will zero-fill new `Buffer` instances
    [[`7eb1b4658e`](nodejs@7eb1b4658e)]
    [nodejs#12141](nodejs#12141).
  * Many `Buffer` methods now accept `Uint8Array` as input
    [[`beca3244e2`](nodejs@beca3244e2)]
    [nodejs#10236](nodejs#10236).

* **Child Process**
  * Argument and kill signal validations have been improved
    [[`97a77288ce`](nodejs@97a77288ce)]
    [nodejs#12348](nodejs#12348),
    [[`d75fdd96aa`](nodejs@d75fdd96aa)]
    [nodejs#10423](nodejs#10423).
  * Child Process methods accept `Uint8Array` as input
    [[`627ecee9ed`](nodejs@627ecee9ed)]
    [nodejs#10653](nodejs#10653).

* **Console**
  * Error events emitted when using `console` methods are now supressed.
    [[`f18e08d820`](nodejs@f18e08d820)]
    [nodejs#9744](nodejs#9744).

* **Dependencies**
  * The npm client has been updated to 5.0.0
    [[`3c3b36af0f`](nodejs@3c3b36af0f)]
    [nodejs#12936](nodejs#12936).
  * V8 has been updated to 5.8 with forward ABI stability to 6.0
    [[`60d1aac8d2`](nodejs@60d1aac8d2)]
    [nodejs#12784](nodejs#12784).

* **Domains**
  * Native `Promise` instances are now `Domain` aware
    [[`84dabe8373`](nodejs@84dabe8373)]
    [nodejs#12489](nodejs#12489).

* **Errors**
  * We have started assigning static error codes to errors generated by Node.js.
    This has been done through multiple commits and is still a work in
    progress.

* **File System**
  * The utility class `fs.SyncWriteStream` has been deprecated
    [[`7a55e34ef4`](nodejs@7a55e34ef4)]
    [nodejs#10467](nodejs#10467).
  * The deprecated `fs.read()` string interface has been removed
    [[`3c2a9361ff`](nodejs@3c2a9361ff)]
    [nodejs#9683](nodejs#9683).

* **HTTP**
  * Improved support for userland implemented Agents
    [[`90403dd1d0`](nodejs@90403dd1d0)]
    [nodejs#11567](nodejs#11567).
  * Outgoing Cookie headers are concatenated into a single string
    [[`d3480776c7`](nodejs@d3480776c7)]
    [nodejs#11259](nodejs#11259).
  * The `httpResponse.writeHeader()` method has been deprecated
    [[`fb71ba4921`](nodejs@fb71ba4921)]
    [nodejs#11355](nodejs#11355).
  * New methods for accessing HTTP headers have been added to `OutgoingMessage`
    [[`3e6f1032a4`](nodejs@3e6f1032a4)]
    [nodejs#10805](nodejs#10805).

* **Lib**
  * All deprecation messages have been assigned static identifiers
    [[`5de3cf099c`](nodejs@5de3cf099c)]
    [nodejs#10116](nodejs#10116).
  * The legacy `linkedlist` module has been removed
    [[`84a23391f6`](nodejs@84a23391f6)]
    [nodejs#12113](nodejs#12113).

* **N-API**
  * Experimental support for the new N-API API has been added
    [[`56e881d0b0`](nodejs@56e881d0b0)]
    [nodejs#11975](nodejs#11975).

* **Process**
  * Process warning output can be redirected to a file using the
    `--redirect-warnings` command-line argument
    [[`03e89b3ff2`](nodejs@03e89b3ff2)]
    [nodejs#10116](nodejs#10116).
  * Process warnings may now include additional detail
    [[`dd20e68b0f`](nodejs@dd20e68b0f)]
    [nodejs#12725](nodejs#12725).

* **REPL**
  * REPL magic mode has been deprecated
    [[`3f27f02da0`](nodejs@3f27f02da0)]
    [nodejs#11599](nodejs#11599).

* **Src**
  * `NODE_MODULE_VERSION` has been updated to 57
    (nodejs@ec7cbaf266)]
    [nodejs#12995](nodejs#12995).
  * Add `--pending-deprecation` command-line argument and
    `NODE_PENDING_DEPRECATION` environment variable
    [[`a16b570f8c`](nodejs@a16b570f8c)]
    [nodejs#11968](nodejs#11968).
  * The `--debug` command-line argument has been deprecated. Note that
    using `--debug` will enable the *new* Inspector-based debug protocol
    as the legacy Debugger protocol previously used by Node.js has been
    removed. [[`010f864426`](nodejs@010f864426)]
    [nodejs#12949](nodejs#12949).
  * Throw when the `-c` and `-e` command-line arguments are used at the same
    time [[`a5f91ab230`](nodejs@a5f91ab230)]
    [nodejs#11689](nodejs#11689).
  * Throw when the `--use-bundled-ca` and `--use-openssl-ca` command-line
    arguments are used at the same time.
    [[`8a7db9d4b5`](nodejs@8a7db9d4b5)]
    [nodejs#12087](nodejs#12087).

* **Stream**
  * `Stream` now supports `destroy()` and `_destroy()` APIs
    [[`b6e1d22fa6`](nodejs@b6e1d22fa6)]
    [nodejs#12925](nodejs#12925).
  * `Stream` now supports the `_final()` API
    [[`07c7f198db`](nodejs@07c7f198db)]
    [nodejs#12828](nodejs#12828).

* **TLS**
  * The `rejectUnauthorized` option now defaults to `true`
    [[`348cc80a3c`](nodejs@348cc80a3c)]
    [nodejs#5923](nodejs#5923).
  * The `tls.createSecurePair()` API now emits a runtime deprecation
    [[`a2ae08999b`](nodejs@a2ae08999b)]
    [nodejs#11349](nodejs#11349).
  * A runtime deprecation will now be emitted when `dhparam` is less than
    2048 bits [[`d523eb9c40`](nodejs@d523eb9c40)]
    [nodejs#11447](nodejs#11447).

* **URL**
  * The WHATWG URL implementation is now a fully-supported Node.js API
    [[`d080ead0f9`](nodejs@d080ead0f9)]
    [nodejs#12710](nodejs#12710).

* **Util**
  * `Symbol` keys are now displayed by default when using `util.inspect()`
    [[`5bfd13b81e`](nodejs@5bfd13b81e)]
    [nodejs#9726](nodejs#9726).
  * `toJSON` errors will be thrown when formatting `%j`
    [[`455e6f1dd8`](nodejs@455e6f1dd8)]
    [nodejs#11708](nodejs#11708).
  * Convert `inspect.styles` and `inspect.colors` to prototype-less objects
    [[`aab0d202f8`](nodejs@aab0d202f8)]
    [nodejs#11624](nodejs#11624).
  * The new `util.promisify()` API has been added
    [[`99da8e8e02`](nodejs@99da8e8e02)]
    [nodejs#12442](nodejs#12442).

* **Zlib**
  * Support `Uint8Array` in Zlib convenience methods
    [[`91383e47fd`](nodejs@91383e47fd)]
    [nodejs#12001](nodejs#12001).
  * Zlib errors now use `RangeError` and `TypeError` consistently
    [[`b514bd231e`](nodejs@b514bd231e)]
    [nodejs#11391](nodejs#11391).
jasnell added a commit that referenced this pull request May 30, 2017
* **Async Hooks**
  * The `async_hooks` module has landed in core
    [[`4a7233c178`](4a7233c178)]
    [#12892](#12892).

* **Buffer**
  * Using the `--pending-deprecation` flag will cause Node.js to emit a
    deprecation warning when using `new Buffer(num)` or `Buffer(num)`.
    [[`d2d32ea5a2`](d2d32ea5a2)]
    [#11968](#11968).
  * `new Buffer(num)` and `Buffer(num)` will zero-fill new `Buffer` instances
    [[`7eb1b4658e`](7eb1b4658e)]
    [#12141](#12141).
  * Many `Buffer` methods now accept `Uint8Array` as input
    [[`beca3244e2`](beca3244e2)]
    [#10236](#10236).

* **Child Process**
  * Argument and kill signal validations have been improved
    [[`97a77288ce`](97a77288ce)]
    [#12348](#12348),
    [[`d75fdd96aa`](d75fdd96aa)]
    [#10423](#10423).
  * Child Process methods accept `Uint8Array` as input
    [[`627ecee9ed`](627ecee9ed)]
    [#10653](#10653).

* **Console**
  * Error events emitted when using `console` methods are now supressed.
    [[`f18e08d820`](f18e08d820)]
    [#9744](#9744).

* **Dependencies**
  * The npm client has been updated to 5.0.0
    [[`3c3b36af0f`](3c3b36af0f)]
    [#12936](#12936).
  * V8 has been updated to 5.8 with forward ABI stability to 6.0
    [[`60d1aac8d2`](60d1aac8d2)]
    [#12784](#12784).

* **Domains**
  * Native `Promise` instances are now `Domain` aware
    [[`84dabe8373`](84dabe8373)]
    [#12489](#12489).

* **Errors**
  * We have started assigning static error codes to errors generated by Node.js.
    This has been done through multiple commits and is still a work in
    progress.

* **File System**
  * The utility class `fs.SyncWriteStream` has been deprecated
    [[`7a55e34ef4`](7a55e34ef4)]
    [#10467](#10467).
  * The deprecated `fs.read()` string interface has been removed
    [[`3c2a9361ff`](3c2a9361ff)]
    [#9683](#9683).

* **HTTP**
  * Improved support for userland implemented Agents
    [[`90403dd1d0`](90403dd1d0)]
    [#11567](#11567).
  * Outgoing Cookie headers are concatenated into a single string
    [[`d3480776c7`](d3480776c7)]
    [#11259](#11259).
  * The `httpResponse.writeHeader()` method has been deprecated
    [[`fb71ba4921`](fb71ba4921)]
    [#11355](#11355).
  * New methods for accessing HTTP headers have been added to `OutgoingMessage`
    [[`3e6f1032a4`](3e6f1032a4)]
    [#10805](#10805).

* **Lib**
  * All deprecation messages have been assigned static identifiers
    [[`5de3cf099c`](5de3cf099c)]
    [#10116](#10116).
  * The legacy `linkedlist` module has been removed
    [[`84a23391f6`](84a23391f6)]
    [#12113](#12113).

* **N-API**
  * Experimental support for the new N-API API has been added
    [[`56e881d0b0`](56e881d0b0)]
    [#11975](#11975).

* **Process**
  * Process warning output can be redirected to a file using the
    `--redirect-warnings` command-line argument
    [[`03e89b3ff2`](03e89b3ff2)]
    [#10116](#10116).
  * Process warnings may now include additional detail
    [[`dd20e68b0f`](dd20e68b0f)]
    [#12725](#12725).

* **REPL**
  * REPL magic mode has been deprecated
    [[`3f27f02da0`](3f27f02da0)]
    [#11599](#11599).

* **Src**
  * `NODE_MODULE_VERSION` has been updated to 57
    (ec7cbaf266)]
    [#12995](#12995).
  * Add `--pending-deprecation` command-line argument and
    `NODE_PENDING_DEPRECATION` environment variable
    [[`a16b570f8c`](a16b570f8c)]
    [#11968](#11968).
  * The `--debug` command-line argument has been deprecated. Note that
    using `--debug` will enable the *new* Inspector-based debug protocol
    as the legacy Debugger protocol previously used by Node.js has been
    removed. [[`010f864426`](010f864426)]
    [#12949](#12949).
  * Throw when the `-c` and `-e` command-line arguments are used at the same
    time [[`a5f91ab230`](a5f91ab230)]
    [#11689](#11689).
  * Throw when the `--use-bundled-ca` and `--use-openssl-ca` command-line
    arguments are used at the same time.
    [[`8a7db9d4b5`](8a7db9d4b5)]
    [#12087](#12087).

* **Stream**
  * `Stream` now supports `destroy()` and `_destroy()` APIs
    [[`b6e1d22fa6`](b6e1d22fa6)]
    [#12925](#12925).
  * `Stream` now supports the `_final()` API
    [[`07c7f198db`](07c7f198db)]
    [#12828](#12828).

* **TLS**
  * The `rejectUnauthorized` option now defaults to `true`
    [[`348cc80a3c`](348cc80a3c)]
    [#5923](#5923).
  * The `tls.createSecurePair()` API now emits a runtime deprecation
    [[`a2ae08999b`](a2ae08999b)]
    [#11349](#11349).
  * A runtime deprecation will now be emitted when `dhparam` is less than
    2048 bits [[`d523eb9c40`](d523eb9c40)]
    [#11447](#11447).

* **URL**
  * The WHATWG URL implementation is now a fully-supported Node.js API
    [[`d080ead0f9`](d080ead0f9)]
    [#12710](#12710).

* **Util**
  * `Symbol` keys are now displayed by default when using `util.inspect()`
    [[`5bfd13b81e`](5bfd13b81e)]
    [#9726](#9726).
  * `toJSON` errors will be thrown when formatting `%j`
    [[`455e6f1dd8`](455e6f1dd8)]
    [#11708](#11708).
  * Convert `inspect.styles` and `inspect.colors` to prototype-less objects
    [[`aab0d202f8`](aab0d202f8)]
    [#11624](#11624).
  * The new `util.promisify()` API has been added
    [[`99da8e8e02`](99da8e8e02)]
    [#12442](#12442).

* **Zlib**
  * Support `Uint8Array` in Zlib convenience methods
    [[`91383e47fd`](91383e47fd)]
    [#12001](#12001).
  * Zlib errors now use `RangeError` and `TypeError` consistently
    [[`b514bd231e`](b514bd231e)]
    [#11391](#11391).
jasnell added a commit that referenced this pull request May 30, 2017
* **Async Hooks**
  * The `async_hooks` module has landed in core
    [[`4a7233c178`](4a7233c178)]
    [#12892](#12892).

* **Buffer**
  * Using the `--pending-deprecation` flag will cause Node.js to emit a
    deprecation warning when using `new Buffer(num)` or `Buffer(num)`.
    [[`d2d32ea5a2`](d2d32ea5a2)]
    [#11968](#11968).
  * `new Buffer(num)` and `Buffer(num)` will zero-fill new `Buffer` instances
    [[`7eb1b4658e`](7eb1b4658e)]
    [#12141](#12141).
  * Many `Buffer` methods now accept `Uint8Array` as input
    [[`beca3244e2`](beca3244e2)]
    [#10236](#10236).

* **Child Process**
  * Argument and kill signal validations have been improved
    [[`97a77288ce`](97a77288ce)]
    [#12348](#12348),
    [[`d75fdd96aa`](d75fdd96aa)]
    [#10423](#10423).
  * Child Process methods accept `Uint8Array` as input
    [[`627ecee9ed`](627ecee9ed)]
    [#10653](#10653).

* **Console**
  * Error events emitted when using `console` methods are now supressed.
    [[`f18e08d820`](f18e08d820)]
    [#9744](#9744).

* **Dependencies**
  * The npm client has been updated to 5.0.0
    [[`3c3b36af0f`](3c3b36af0f)]
    [#12936](#12936).
  * V8 has been updated to 5.8 with forward ABI stability to 6.0
    [[`60d1aac8d2`](60d1aac8d2)]
    [#12784](#12784).

* **Domains**
  * Native `Promise` instances are now `Domain` aware
    [[`84dabe8373`](84dabe8373)]
    [#12489](#12489).

* **Errors**
  * We have started assigning static error codes to errors generated by Node.js.
    This has been done through multiple commits and is still a work in
    progress.

* **File System**
  * The utility class `fs.SyncWriteStream` has been deprecated
    [[`7a55e34ef4`](7a55e34ef4)]
    [#10467](#10467).
  * The deprecated `fs.read()` string interface has been removed
    [[`3c2a9361ff`](3c2a9361ff)]
    [#9683](#9683).

* **HTTP**
  * Improved support for userland implemented Agents
    [[`90403dd1d0`](90403dd1d0)]
    [#11567](#11567).
  * Outgoing Cookie headers are concatenated into a single string
    [[`d3480776c7`](d3480776c7)]
    [#11259](#11259).
  * The `httpResponse.writeHeader()` method has been deprecated
    [[`fb71ba4921`](fb71ba4921)]
    [#11355](#11355).
  * New methods for accessing HTTP headers have been added to `OutgoingMessage`
    [[`3e6f1032a4`](3e6f1032a4)]
    [#10805](#10805).

* **Lib**
  * All deprecation messages have been assigned static identifiers
    [[`5de3cf099c`](5de3cf099c)]
    [#10116](#10116).
  * The legacy `linkedlist` module has been removed
    [[`84a23391f6`](84a23391f6)]
    [#12113](#12113).

* **N-API**
  * Experimental support for the new N-API API has been added
    [[`56e881d0b0`](56e881d0b0)]
    [#11975](#11975).

* **Process**
  * Process warning output can be redirected to a file using the
    `--redirect-warnings` command-line argument
    [[`03e89b3ff2`](03e89b3ff2)]
    [#10116](#10116).
  * Process warnings may now include additional detail
    [[`dd20e68b0f`](dd20e68b0f)]
    [#12725](#12725).

* **REPL**
  * REPL magic mode has been deprecated
    [[`3f27f02da0`](3f27f02da0)]
    [#11599](#11599).

* **Src**
  * `NODE_MODULE_VERSION` has been updated to 57
    (ec7cbaf266)]
    [#12995](#12995).
  * Add `--pending-deprecation` command-line argument and
    `NODE_PENDING_DEPRECATION` environment variable
    [[`a16b570f8c`](a16b570f8c)]
    [#11968](#11968).
  * The `--debug` command-line argument has been deprecated. Note that
    using `--debug` will enable the *new* Inspector-based debug protocol
    as the legacy Debugger protocol previously used by Node.js has been
    removed. [[`010f864426`](010f864426)]
    [#12949](#12949).
  * Throw when the `-c` and `-e` command-line arguments are used at the same
    time [[`a5f91ab230`](a5f91ab230)]
    [#11689](#11689).
  * Throw when the `--use-bundled-ca` and `--use-openssl-ca` command-line
    arguments are used at the same time.
    [[`8a7db9d4b5`](8a7db9d4b5)]
    [#12087](#12087).

* **Stream**
  * `Stream` now supports `destroy()` and `_destroy()` APIs
    [[`b6e1d22fa6`](b6e1d22fa6)]
    [#12925](#12925).
  * `Stream` now supports the `_final()` API
    [[`07c7f198db`](07c7f198db)]
    [#12828](#12828).

* **TLS**
  * The `rejectUnauthorized` option now defaults to `true`
    [[`348cc80a3c`](348cc80a3c)]
    [#5923](#5923).
  * The `tls.createSecurePair()` API now emits a runtime deprecation
    [[`a2ae08999b`](a2ae08999b)]
    [#11349](#11349).
  * A runtime deprecation will now be emitted when `dhparam` is less than
    2048 bits [[`d523eb9c40`](d523eb9c40)]
    [#11447](#11447).

* **URL**
  * The WHATWG URL implementation is now a fully-supported Node.js API
    [[`d080ead0f9`](d080ead0f9)]
    [#12710](#12710).

* **Util**
  * `Symbol` keys are now displayed by default when using `util.inspect()`
    [[`5bfd13b81e`](5bfd13b81e)]
    [#9726](#9726).
  * `toJSON` errors will be thrown when formatting `%j`
    [[`455e6f1dd8`](455e6f1dd8)]
    [#11708](#11708).
  * Convert `inspect.styles` and `inspect.colors` to prototype-less objects
    [[`aab0d202f8`](aab0d202f8)]
    [#11624](#11624).
  * The new `util.promisify()` API has been added
    [[`99da8e8e02`](99da8e8e02)]
    [#12442](#12442).

* **Zlib**
  * Support `Uint8Array` in Zlib convenience methods
    [[`91383e47fd`](91383e47fd)]
    [#12001](#12001).
  * Zlib errors now use `RangeError` and `TypeError` consistently
    [[`b514bd231e`](b514bd231e)]
    [#11391](#11391).
gibfahn added a commit to gibfahn/node that referenced this pull request Jun 7, 2017
Makes the same changes as
nodejs@9946173
to update the test runner for npm5.

PR-URL: nodejs#13441
Refs: nodejs#12936
Reviewed-By: Jan Krems <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
Reviewed-By: Sakthipriyan Vairamani <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Refael Ackermann <[email protected]>
jasnell pushed a commit that referenced this pull request Jun 7, 2017
Makes the same changes as
9946173
to update the test runner for npm5.

PR-URL: #13441
Refs: #12936
Reviewed-By: Jan Krems <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
Reviewed-By: Sakthipriyan Vairamani <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Refael Ackermann <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
npm Issues and PRs related to the npm client dependency or the npm registry. 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

7 participants