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

v4.8.0 proposal #10973

Merged
merged 124 commits into from
Feb 22, 2017
Merged

v4.8.0 proposal #10973

merged 124 commits into from
Feb 22, 2017

Conversation

MylesBorins
Copy link
Contributor

@MylesBorins MylesBorins commented Jan 24, 2017

2017-02-21, Version 4.8.0 'Argon' (LTS), @MylesBorins

Notable Changes

Coming Soon

Commits

  • [78010aa0cd] - build: add /opt/freeware/... to AIX library path (Stewart X Addison) #10128
  • [0bb77f24fa] - build: add (not) cross-compiled configure flags (Jesús Leganés-Combarro 'piranna) #10287
  • [58245225ef] - (SEMVER-MINOR) child_process: add shell option to spawn() (cjihrig) #4598
  • [1595328b44] - (SEMVER-MINOR) crypto: allow adding extra certs to well-known CAs (Sam Roberts) #9139
  • [bf882fba35] - crypto: Use reference count to manage cert_store (Adam Majer) #9409
  • [4cf7dcff99] - crypto: remove unnecessary variables of alpn/npn (Shigeki Ohtsu) #10831
  • [d8b902f787] - debugger: call this.resume() after this.run() (Lance Ball) #10099
  • [4e07bd45d6] - deps: update patch level in V8 (Myles Borins) #10668
  • [a234d445c4] - deps: backport a715957 from V8 upstream (Myles Borins) #10668
  • [ce66c8e424] - deps: backport 7a88ff3 from V8 upstream (Myles Borins) #10668
  • [8bd3d83e01] - deps: backport d800a65 from V8 upstream (Myles Borins) #10668
  • [81e9a3bfcb] - deps: V8: fix debug backtrace for symbols (Ali Ijaz Sheikh) #10732
  • [8eeccd82d2] - doc: killSignal option accepts integer values (Sakthipriyan Vairamani (thefourtheye)) #10424
  • [7db7e47d7b] - doc: change logical to bitwise OR in dns lookup (Sakthipriyan Vairamani (thefourtheye)) #11037
  • [28b707ba42] - doc: replace newlines in deprecation with space (Sakthipriyan Vairamani (thefourtheye)) #11074
  • [79d49866f2] - doc: update CONTRIBUTING.MD with link to V8 guide (sarahmeyer) #10070
  • [acbe4d3516] - doc: add joyeecheung to collaborators (Joyee Cheung) #10603
  • [c7378c4d5f] - doc: warn about unvalidated input in child_process (Matthew Garrett) #10466
  • [08e924e45c] - doc: require two-factor authentication (Rich Trott) #10529
  • [d260fb2e7e] - doc: use "Node.js" in V8 guide (Rich Trott) #10438
  • [4f168a4a31] - doc: require() tries first core not native modules (Vicente Jimenez Aguilar) #10324
  • [5777c79c52] - doc: clarify the review and landing process (Joyee Cheung) #10202
  • [d3a7fb8a9e] - doc: redirect 'Start a Working Group' to TSC repo (William Kapke) #9655
  • [0e51cbb827] - doc: add Working Group dissolution text (William Kapke) #9656
  • [919e0cb8f2] - doc: more efficient example in the console.md (Vse Mozhet Byt) #10451
  • [70ea38f2ee] - doc: var -> const / let in the console.md (Vse Mozhet Byt) #10451
  • [dda777bf9e] - doc: consistent 'Returns:' part two (Myles Borins) #10391
  • [3b252a69a0] - doc: clarify macosx-firewall suggestion BUILDING (Chase Starr) #10311
  • [c4df02c815] - doc: add Michaël Zasso to the CTC (Michaël Zasso)
  • [2269d7db0f] - (SEMVER-MINOR) fs: add the fs.mkdtemp() function. (Florian MARGAINE) #5333
  • [2eda3c7c75] - lib,test: use consistent operator linebreak style (Michaël Zasso) #10178
  • [7505b86d2f] - os: fix os.release() for aix and add test (jBarz) #10245
  • [7a9c8d8f10] - process: add process.cpuUsage() - implementation, doc, tests (Patrick Mueller) #10796
  • [23a573f7cb] - (SEMVER-MINOR) process: add process.memoryUsage.external (Fedor Indutny) #9587
  • [be6203715a] - src: describe what NODE_MODULE_VERSION is for (Sam Roberts) #10414
  • [3f29cbb5bc] - src: fix string format mistake for 32 bit node (Alex Newman) #10082
  • [271f5783fe] - stream, test: test _readableState.emittedReadable (Joyee Cheung) #10249
  • [735119c6fb] - test: cleanup stream tests (Italo A. Casas) #8668
  • [f9f8e4ee3e] - test: refactor test-preload (Rich Trott) #9803
  • [e7c4dfb83b] - test: invalid package.json causes error when require()ing in directory (Sam Shull) #10044
  • [22226fa900] - test: refactoring test-pipe-head (Travis Bretton) #10036
  • [11115c0d85] - test: add second argument to assert.throws() (Ken Russo) #9987
  • [96ca40bdd8] - test: refactor test-tls-0-dns-altname (Richard Karmazin) #9948
  • [98496b6d3e] - test: test: refactor test-sync-fileread (Jason Wohlgemuth) #9941
  • [324c82b1c9] - test: use common.fixturesDir almost everywhere (Bryan English) #6997
  • [ce91bb21ba] - test: refactor test-repl-mode.js (Cesar Hernandez) #10061
  • [61cbc202a1] - test: refactor test-net-dns-custom-lookup (Kent.Fan) #10071
  • [812c6361ff] - test: refactor test-tls-server-verify (Hutson Betts) #10076
  • [19907c27a6] - test: use mustCall() for simple flow tracking (cjihrig) #7753
  • [42da81e6cc] - test: set stdin too for pseudo-tty tests (Anna Henningsen) #10149
  • [53404dbc1f] - test: add stdin-setrawmode.out file (Jonathan Darling) #10149
  • [1fac431307] - test: add tests for clearBuffer state machine (Safia Abdalla) #9922
  • [37a362275e] - test: update test-cluster-shared-handle-bind-error (cjihrig) #10547
  • [f5e54f5d5f] - test: avoid assigning this to variables (cjihrig) #10548
  • [28a5ce10af] - test: improve test-http-allow-req-after-204-res (Adrian Estrada) #10503
  • [52edebc8f3] - test: improve test-fs-empty-readStream.js (Adrian Estrada) #10479
  • [b74bc517a6] - test: use strictEqual in test-http-server (Fabrice Tatieze) #10478
  • [a9cd1d1267] - test: refactor test-stream2-unpipe-drain (Chris Story) #10033
  • [7020e9fd8b] - test: add test for SIGWINCH handling by stdio.js (Sarah Meyer) #10063
  • [56b193a9c2] - test: improve code in test-vm-preserves-property (Adrian Estrada) #10428
  • [8a26ba142f] - test: fix flaky test-https-timeout (Rich Trott) #10404
  • [eeb2d7885a] - test: improve test-cluster-worker-constructor.js (Adrian Estrada) #10396
  • [fd195b47d6] - test: stream readable resumeScheduled state (Italo A. Casas) #10299
  • [135a7c9e19] - test: stream readable needReadable state (Joyee Cheung) #10241
  • [f412b1fcfd] - test: clean up domain-no-error-handler test (weyj4) #10291
  • [14c28ebcf1] - test: update test-domain-uncaught-exception.js (Andy Chen) #10193
  • [928291c652] - test: refactor test-domain.js (Siddhartha Sahai) #10207
  • [13c6cec433] - test: fail for missing output files (Anna Henningsen) #10150
  • [544920f77b] - test: stream readableState readingMore state (Gregory) #9868
  • [2f8bc9a7bc] - test: s/ASSERT/assert/ (cjihrig) #10544
  • [380a5d5e12] - test: fix flaky test-http-client-timeout-with-data (Rich Trott) #10431
  • [14e07c96e1] - test: refactor test-stdin-from-file (Rob Adelmann) #10331
  • [424c86139d] - test: refactor the code in test-fs-chmod (Adrian Estrada) #10440
  • [31aa877003] - test: improve the code in test-pipe.js (Adrian Estrada) #10452
  • [4bbd50ee07] - test: improve code in test-fs-readfile-error (Adrian Estrada) #10367
  • [9840f505f0] - test: improve code in test-vm-symbols (Adrian Estrada) #10429
  • [4efdbafeb3] - test: refactor test-child-process-ipc (malen) #9990
  • [dbfec29663] - test: fix and improve debug-break-on-uncaught (Sakthipriyan Vairamani (thefourtheye)) #10370
  • [80f4a37023] - test: refactor test-pipe-file-to-http (Josh Mays) #10054
  • [a983400ac2] - test: refactor test-tls-interleave (Brian Chirgwin) #10017
  • [6db76da2c8] - test: refactor test-cluster-send-handle-twice.js (Amar Zavery) #10049
  • [19b314e40a] - test: update test-tls-check-server-identity.js (Kevin Cox) #9986
  • [ab3e4c6a9b] - test: improve test-cluster-net-listen.js (Rico Cai) #9953
  • [fb9a0ad6c0] - test: refactor test-child-process-stdin (Segu Riluvan) #10420
  • [122917df5a] - test: change var declarations, add mustCall check (Daniel Sims) #9962
  • [d5e911c51e] - test: refactoring test-cluster-worker-constructor (Christopher Rokita) #9956
  • [7d61bbf647] - test: refactor test-stdin-script-child (Emanuel Buholzer) #10321
  • [76bb3cbff9] - test: refactor test-stream2-writable (Rich Trott) #10353
  • [b87ee26b96] - test: change assert.strict to assert.strictEqual() (Ashita Nagesh) #9988
  • [4514fd78f4] - test: refactor the code in test-http-keep-alive (Adrian Estrada) #10350
  • [f301df405a] - test: use strictEqual in test-cwd-enoent-repl.js (Neeraj Sharma) #9952
  • [3b67001c99] - test: refactor test-net-reconnect-error (Duy Le) #9903
  • [34861efff6] - test: add test-require-invalid-package (Duy Le) #9903
  • [90a79b3967] - test: refactor test-timers-this (Rich Trott) #10315
  • [5335b0a0d1] - test: refactor test-tls-ecdh-disable (Aaron Williams) #9989
  • [0f8a323546] - test: cleanup test-stdout-close-catch.js (Travis Bretton) #10006
  • [fc67a955e2] - test: use const/let and common.mustCall (Outsider) #9959
  • [2f44d7f367] - test: refactor test-crypto-random (Rich Trott) #10232
  • [730c3b29e8] - test: refactor test-fs-fsync (Rob Adelmann) #10176
  • [9c9d422433] - test: refactor test-http-after-connect.js (larissayvette) #10229
  • [827bbe7985] - test: refactor assert.equal, update syntax to ES6 (Prieto, Marcos)
  • [121b68a283] - test: refactor http pipelined socket test (Rich Trott) #10189
  • [7ca31e38fb] - test: fix alpn tests for openssl1.0.2h (Shigeki Ohtsu) #6550
  • [278d718a93] - test: refactor test-handle-wrap-close-abort (Rich Trott) #10188
  • [f12bab65b8] - test: stream readableListening internal state (Italo A. Casas) #9864
  • [210290dfba] - test: check for error on invalid signal (Matt Phillips) #10026
  • [4f5f0e4975] - test: refactor test-net-keepalive.js (Kyle Corsi) #9995
  • [cfa2b87b5d] - test,lib,benchmark: match function names (Rich Trott) #9113
  • [a67ada7d32] - tls: copy the Buffer object before using (Sakthipriyan Vairamani) #8055
  • [e750f142ce] - (SEMVER-MINOR) tls, crypto: add ALPN Support (Shigeki Ohtsu) #2564
  • [ef547f3325] - (SEMVER-MINOR) tls,crypto: move NPN protcol data to hidden value (Shigeki Ohtsu) #2564
  • [31434a1202] - tools: enforce consistent operator linebreak style (Michaël Zasso) #10178
  • [9f13b5f7d5] - tools: forbid template literals in assert.throws (Michaël Zasso) #10301
  • [c801de9814] - tools: add ESLint rule for assert.throws arguments (Michaël Zasso) #10089
  • [b5e18f207f] - tools: add macosx-firwall script to avoid popups (Daniel Bevenius) #10114
  • [30d60cf81c] - (SEMVER-MINOR) v8,src: expose statistics about heap spaces (Ben Ripkens) #4463
  • [9556ef3241] - vm: add error message if we abort (Franziska Hinkelmann) #8634
  • [fa11f4b1fc] - win,msi: add required UIRef for localized strings (Bill Ticehurst) #8884

@nodejs-github-bot nodejs-github-bot added build Issues and PRs related to build files or the CI. doc Issues and PRs related to the documentations. lib / src Issues and PRs related to general changes in the lib or src directory. meta Issues and PRs related to the general management of the project. v4.x labels Jan 24, 2017
@MylesBorins
Copy link
Contributor Author

MylesBorins commented Jan 24, 2017

Noting that there is an intent to ship this release with #9771 but the current patch is failing. Once it passes another RC will be released

ci: https://ci.nodejs.org/job/node-test-pull-request/6021/
citgm: https://ci.nodejs.org/view/Node.js-citgm/job/citgm-smoker/539/
rc.1: https://nodejs.org/download/rc/v4.8.0-rc.1

edit:

citgm on v4.7.2 for comparison: https://ci.nodejs.org/view/Node.js-citgm/job/citgm-smoker/543/

@mscdex mscdex removed build Issues and PRs related to build files or the CI. doc Issues and PRs related to the documentations. lib / src Issues and PRs related to general changes in the lib or src directory. labels Jan 24, 2017
@shigeki
Copy link
Contributor

shigeki commented Jan 25, 2017

Tomorrow, openssl will be updated.
https://mta.openssl.org/pipermail/openssl-announce/2017-January/000091.html
Fortunately, it has only moderate severity so it is expected to have no urgent release of Node.
A minor severity of #9594 is also fixed.
Do we include this upgrade in 4.8.0 or wait for after that?

@sam-github
Copy link
Contributor

@shigeki I don't have a comment on whether to include in 4.8.0, or wait, but I would like to offer my help in backporting openssl to the LTS lines after it lands on master (or even to help land it on master).

@shigeki
Copy link
Contributor

shigeki commented Jan 26, 2017

@sam-github Okay, I will notice you after my work. Thankfully, 0.12 and 0.10 and associated openssl-1.0.1 have already EOLS so we can only take caring of one version of 1.0.2.

Trott and others added 18 commits January 31, 2017 20:04
In most cases, named functions match the variable or property to which
they are being assigned. That also seems to be the practice in a series
of PRs currently being evaluated that name currently-anonymous
functions.

This change applies that rule to instances in the code base that don't
comply with that practice.

This will be enforceable with a lint rule once we upgrade to ESLint
3.8.0.

PR-URL: #9113
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Franziska Hinkelmann <[email protected]>
The cherry-pick of #7612 to v4.x (4369055) added in #9298 wasn't quite
correct as it depends on a runtime function %SymbolDescriptiveString
that doesn't exist on v4.x. We can use %SymbolDescription instead.

Ref: #7612
Ref: #9298

PR-URL: #10732
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Fedor Indutny <[email protected]>
Reviewed-By: Myles Borins <[email protected]>
Reviewed-By: Michaël Zasso <[email protected]>
Reviewed-By: Ben Noordhuis <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
This backport does not include the original changes to SLOW_DCHECK
as it does not exist in the V8 in node v4.x

Original commit message:
  Filter out stale left-trimmed handles

  BUG=chromium:620553
  LOG=N
  [email protected]

  Review-Url: https://codereview.chromium.org/2078403002
  Cr-Commit-Position: refs/heads/master@{#37108}

PR-URL: #10668
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Fedor Indutny <[email protected]>
Reviewed-By: Ali Ijaz Sheikh <[email protected]>
This backport does not include the changes to `src/heap/scavenger.cc`
as it does not exist in the V8 included in the v4.x stream.

Original commit message:
  Filter out stale left-trimmed handles for scavenges

  The missing part from
    https://codereview.chromium.org/2078403002/

  [email protected]
  BUG=chromium:621869
  LOG=N

  Review-Url: https://codereview.chromium.org/2077353004
  Cr-Commit-Position: refs/heads/master@{#37184}

PR-URL: #10668
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Fedor Indutny <[email protected]>
Reviewed-By: Ali Ijaz Sheikh <[email protected]>
This commit does not include the changes to `src/heap/scavenger.cc`.

These changes would revert the changes that should have come in
086bd5aede, meaning that there is no issue with that change missing
in the previous commit.

Original commit message:
  Iterate handles with special left-trim visitor

  BUG=chromium:620553
  LOG=N
  [email protected]

  Review-Url: https://codereview.chromium.org/2102243002
  Cr-Commit-Position: refs/heads/master@{#37366}

PR-URL: #10668
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Fedor Indutny <[email protected]>
Reviewed-By: Ali Ijaz Sheikh <[email protected]>
PR-URL: #10668
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Fedor Indutny <[email protected]>
Reviewed-By: Ali Ijaz Sheikh <[email protected]>
Provide means to inspect information about the separate heap spaces
via a callable API. This is helpful to analyze memory issues.

Fixes: #2079
PR-URL: #4463
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Trevor Norris <[email protected]>
Reviewed-By: Ben Noordhuis <[email protected]>
Reviewed-By: James M Snell <[email protected]>
This commit adds a shell option, to spawn() and spawnSync(). This
option allows child processes to be spawned with or without a
shell. The option also allows a custom shell to be defined, for
compatibility with exec()'s shell option.

Fixes: #1009
PR-URL: #4598
Reviewed-By: Ben Noordhuis <[email protected]>
Reviewed-By: James M Snell <[email protected]>
This uses libuv's mkdtemp function to provide a way to create a
temporary folder, using a prefix as the path. The prefix is appended
six random characters. The callback function will receive the name
of the folder that was created.

Usage example:

fs.mkdtemp('/tmp/foo-', function(err, folder) {
    console.log(folder);
        // Prints: /tmp/foo-Tedi42
});

The fs.mkdtempSync version is also provided. Usage example:

console.log(fs.mkdtemp('/tmp/foo-'));
    // Prints: tmp/foo-Tedi42

This pull request also includes the relevant documentation changes
and tests.

PR-URL: #5333
Reviewed-By: Sakthipriyan Vairamani <[email protected]>
Reviewed-By: Trevor Norris <[email protected]>
PR-URL: #9587
Reviewed-By: Ben Noordhuis <[email protected]>
Reviewed-By: Matteo Collina <[email protected]>
Reviewed-By: Michaël Zasso <[email protected]>
Reviewed-By: Johan Bergström <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Roman Reiss <[email protected]>
Reviewed-By: Anna Henningsen <[email protected]>
- Replace require() vars with const.
- Replace assert.equal() with assert.strictEqual().
- Add common.mustCall() to the setTimeout() callback.

PR-URL: #9995
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Anna Henningsen <[email protected]>
Asserts that an error should be thrown when
an invalid signal is passed to process.kill().

PR-URL: #10026
Reviewed-By: Ben Noordhuis <[email protected]>
Reviewed-By: Jeremiah Senkpiel <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
Currently, there are a number of popups that get displayed when running
the tests asking to accept incoming network connections. Rules can be
added manually to the socket firewall on Mac OS X but getting this right
might not be obvious and quite a lot of time can be wasted trying to get
the rules right. This script hopes to simplify things a little so that
it can be re-run when needed.

The script should be runnable from both the projects root directory and
from the tools directory, for example:
$ sudo ./tools/macosx-firewall.sh

Fixes: #8911
PR-URL: #10114
Reviewed-By: Ben Noordhuis <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Gibson Fahnestock <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
PR-URL: #9864
Refs: #8683
Reviewed-By: Matteo Collina <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
* use common.mustCall() to confirm number of uncaught exceptions
* var -> const
* specify duration of 1ms for setTimeout() and setInterval()

PR-URL: #10188
Reviewed-By: Santiago Gimeno <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Sakthipriyan Vairamani <[email protected]>
Backport to v4.x

Original commit message:
  Add process.cpuUsage() method that returns the user and system
  CPU time usage of the current process

  PR-URL: #6157
  Reviewed-By: Robert Lindstaedt <[email protected]>
  Reviewed-By: James M Snell <[email protected]>
  Reviewed-By: Trevor Norris <[email protected]>
  Reviewed-By: Santiago Gimeno <[email protected]>

PR-URL: #10796
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Anna Henningsen <[email protected]>
Reviewed-By: Ali Ijaz Sheikh <[email protected]>
Reviewed-By: Brian White <[email protected]>
Reviewed-By: Sakthipriyan Vairamani <[email protected]>
cherry-pick 802a2e7 from v6-staging.

ALPN is added to tls according to RFC7301, which supersedes NPN.
When the server receives both NPN and ALPN extensions from the client,
ALPN takes precedence over NPN and the server does not send NPN
extension to the client. alpnProtocol in TLSSocket always returns
false when no selected protocol exists by ALPN.
In https server, http/1.1 token is always set when no
options.ALPNProtocols exists.

PR-URL: #2564
Reviewed-By: Fedor Indutny <[email protected]>
Reviewed-By: Ben Noordhuis <[email protected]>
cherry-pick 7eee372 from v6-staging.

This fix is to be consistent implementation with ALPN. Tow NPN
protocol data in the persistent memebers move to hidden variables in
the wrap object.

PR-URL: #2564
Reviewed-By: Ben Noordhuis <[email protected]>
russokj and others added 7 commits January 31, 2017 20:04
The assert.throws() calls in test-event-emitter-max-listeners.js
should include a constructor or RegExp as a second argument.

PR-URL: #9987
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: James M Snell <[email protected]>
- Updated assert.equal to assert.strictEqual
- Updated 'var' to 'const'
- Using template literals

PR-URL: #10036
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Rich Trott <[email protected]>
Reviewed-By: Italo A. Casas <[email protected]>
Requiring a file from a directory that contains an invalid package.json
file should throw an error.

PR-URL: #10044
Reviewed-By: Rich Trott <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: James M Snell <[email protected]>
* assert.equal() -> assert.strictEqual()
* replace template string with a string; no variable substitution or
  concatenation or anything like that

PR-URL: #9803
Reviewed-By: Prince John Wesley <[email protected]>
Reviewed-By: Michaël Zasso <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
We have a tacit rule that for multiline statements, the operator should
be placed before the linebreak. This commit commit fixes the few
violations of this rule in the code base.
This allows us to enable the corresponding ESLint rule.

PR-URL: #10178
Reviewed-By: Ben Noordhuis <[email protected]>
Reviewed-By: Roman Reiss <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Jeremiah Senkpiel <[email protected]>
Reviewed-By: Michael Dawson <[email protected]>
Reviewed-By: Rich Trott <[email protected]>
Reviewed-By: Teddy Katz <[email protected]>
Reviewed-By: Sakthipriyan Vairamani <[email protected]>
Adds the `operator-linebreak` rule to our ESLint config.

PR-URL: #10178
Reviewed-By: Ben Noordhuis <[email protected]>
Reviewed-By: Roman Reiss <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Jeremiah Senkpiel <[email protected]>
Reviewed-By: Michael Dawson <[email protected]>
Reviewed-By: Rich Trott <[email protected]>
Reviewed-By: Teddy Katz <[email protected]>
Reviewed-By: Sakthipriyan Vairamani <[email protected]>
const and let instead var
assert.strictEqual instead assert.equal

PR-URL: #8668
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Michaël Zasso <[email protected]>
Reviewed-By: Ilkka Myller <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
sam-github and others added 4 commits February 6, 2017 14:16
In closed environments, self-signed or privately signed certificates are
commonly used, and rejected by Node.js since their root CAs are not
well-known. Allow extending the set of well-known compiled-in CAs via
environment, so they can be set as a matter of policy.

PR-URL: #9139
Reviewed-By: Ben Noordhuis <[email protected]>
Reviewed-By: Fedor Indutny <[email protected]>
As it is, each line in the deprecation heading which are wrapped at 80
characters in the *.md files, are shown in different lines. For example

    > Stability: 0 - Deprecated: Use
    > `Buffer.from(arrayBuffer[, byteOffset [, length]])`
    > instead.

is shown in three different lines. This patch replaces the newlines
with space characters, so that the output will be in single line.

PR-URL: #11074

Reviewed-By: Anna Henningsen <[email protected]>
Reviewed-By: Jeremiah Senkpiel <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Timothy Gu <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
Reviewed-By: Michaël Zasso <[email protected]>
The `hints` value will be a number. To specify more than one hints,
their corresponding bits have to be set. So bitwise OR should be used
instead of logical OR.

PR-URL: #11037

Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Timothy Gu <[email protected]>
Reviewed-By: Sam Roberts <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
Reviewed-By: James M Snell <[email protected]>
`killSignal` option accepts the signal name or signal number as well.

PR-URL: #10424
Reviewed-By: Julian Duque <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Sam Roberts <[email protected]>
@MylesBorins
Copy link
Contributor Author

New rc that includes the extra certs changes

https://nodejs.org/download/rc/v4.8.0-rc.3/

@ghost
Copy link

ghost commented Feb 6, 2017

Following on my comment on the 6.10 RC Pull Request, I've had the opportunity to re-run my tests using v4.8.0-rc.3.

My tests include:

  • No environment variable set (Fails as expected with the self signed certificate in certificate chain error).
  • Environment variable set on the command line in Git Bash NODE_EXTRA_CA_CERTS=path node test.js. (Works as expected)
  • Environment variable set at User-level in Environment Variables under System Properties. (Works as expected).

My operating environment requires that SSL traffic get re-encrypted. Using the certificate extension feature from #9139, setting the NODE_EXTRA_CA_CERTS environment variable as listed above, I was able to interact with HTTPS URLs successfully.

On a related note, the certificate I passed originally contained both the self-signed certificate and a copy of Mozilla's certificates (as already contained in Node). Because there were certificate duplicates I received the following warning:

Warning: Ignoring extra certs from `path/to/cert`, load failed: error:0B07C065:x509 certificate routines:X509_STORE_add_cert:cert already in hash table

My test still passed since the message was only a warning, indicating that some certificates could not be added. Based on my understanding of the code in #9139, this is expected behavior.

All around great work. Thank you!

sam-github and others added 5 commits February 21, 2017 16:32
__dirname is path.dirname(__filename), but its docs, specifically the
attempt to describe javascript scope in terms of "running" and
"executing" had drifted apart. Rework to describe one as a variation of
the other, move the example, and just describe the names in terms of the
module, and it's local variables rather than the ill defined execution
concepts.

Fix: #5525
PR-URL: #10527
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Gibson Fahnestock <[email protected]>
Added note about vcbuild being included as batch to clarify
that it's not needed from msbuild tools or visual studio.

PR-URL: #8704
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Franziska Hinkelmann <[email protected]>
Reviewed-By: Rich Trott <[email protected]>
Reviewed-By: Ilkka Myller <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
Corrected parameter for running tests on Windows. Without the corrected
parameters, Windows users encounter an error about failing to sign the
build, "Failed to sign exe", which can be discouraging to new Windows
community members.

PR-URL: #10686
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Bartosz Sosnowski <[email protected]>
Currently, when a process times out, it is terminated by sending it the
SIGTERM signal. Sending SIGBART instead allows the operating system to
generate a core file that can be investigated later using post-mortem
debuggers such as llnode or mdb_v8.

This can be very useful when investigating flaky tests that time out,
since in that case the failure is difficult to reproduce, and being able
to look at a core file makes a big difference.

With these changes, passing the --abort-on-timeout command line option
to tools/test.py now sends SIGABRT to processes timing out on all
platforms but Windows.

PR-URL: #11086
Ref: #11026
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Gibson Fahnestock <[email protected]>
Reviewed-By: Sakthipriyan Vairamani <[email protected]>
Reviewed-By: Santiago Gimeno <[email protected]>
Reviewed-By: Ben Noordhuis <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Michael Dawson <[email protected]>
Reviewed-By: Anna Henningsen <[email protected]>
#11086 had introduced a regression
that broke command line options processing for tools/test.py.

Basically, it made tools/test.py discard the command line argument that
would be passed after `--abort-on-timeout`. For instance, when running:

```
$ python tools/test.py --abort-on-timeout path/to/some-test
```

all tests would be run because the last command line argument
(`/path/to/some-test`) would be discarded.

This change fixes this regression.

Refs: #11086
PR-URL: #11153
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Anna Henningsen <[email protected]>
Notable Changes:

* child_process: add shell option to spawn() (cjihrig)
  #4598
* crypto:
  * add ALPN Support (Shigeki Ohtsu)
    #2564
  * allow adding extra certs to well-known CAs (Sam Roberts)
    #9139
* deps:
  * v8: expose statistics about heap spaces (Ben Ripkens)
    #4463
* fs: add the fs.mkdtemp() function. (Florian MARGAINE)
  #5333
* process:
  * add `externalMemory` to `process` (Fedor Indutny)
    #9587
  * add process.cpuUsage() (Patrick Mueller)
    #10796
@MylesBorins
Copy link
Contributor Author

MylesBorins commented Feb 21, 2017

@MylesBorins MylesBorins merged commit 58ab54f into v4.x Feb 22, 2017
MylesBorins added a commit that referenced this pull request Feb 22, 2017
MylesBorins added a commit that referenced this pull request Feb 22, 2017
Notable Changes:

* child_process: add shell option to spawn() (cjihrig)
  #4598
* crypto:
  * add ALPN Support (Shigeki Ohtsu)
    #2564
  * allow adding extra certs to well-known CAs (Sam Roberts)
    #9139
* deps:
  * v8: expose statistics about heap spaces (Ben Ripkens)
    #4463
* fs: add the fs.mkdtemp() function. (Florian MARGAINE)
  #5333
* process:
  * add `externalMemory` to `process` (Fedor Indutny)
    #9587
  * add process.cpuUsage() (Patrick Mueller)
    #10796

PR-URL: #10973
MylesBorins added a commit to nodejs/nodejs.org that referenced this pull request Feb 22, 2017
@TimothyGu TimothyGu deleted the v4.8.0-proposal branch February 22, 2017 01:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
meta Issues and PRs related to the general management of the project.
Projects
None yet
Development

Successfully merging this pull request may close these issues.