From d17607351153b6f7639e41e8b286ceadfc4fe66d Mon Sep 17 00:00:00 2001 From: cjihrig Date: Sat, 11 Nov 2017 22:58:26 -0500 Subject: [PATCH 001/116] tty: refactor exports This commit moves the tty module's exports to a single object, which is more aligned with other core modules. PR-URL: https://github.com/nodejs/node/pull/16959 Reviewed-By: Gireesh Punathil Reviewed-By: James M Snell Reviewed-By: Anna Henningsen --- lib/tty.js | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/lib/tty.js b/lib/tty.js index b9c829066d5f00..17b0acadc10441 100644 --- a/lib/tty.js +++ b/lib/tty.js @@ -8,10 +8,9 @@ const inherits = util.inherits; const errnoException = util._errnoException; const readline = require('readline'); - -exports.isatty = function(fd) { +function isatty(fd) { return Number.isInteger(fd) && fd >= 0 && isTTY(fd); -}; +} function ReadStream(fd, options) { @@ -32,8 +31,6 @@ function ReadStream(fd, options) { } inherits(ReadStream, net.Socket); -exports.ReadStream = ReadStream; - ReadStream.prototype.setRawMode = function(flag) { flag = !!flag; this._handle.setRawMode(flag); @@ -64,7 +61,6 @@ function WriteStream(fd) { } } inherits(WriteStream, net.Socket); -exports.WriteStream = WriteStream; WriteStream.prototype.isTTY = true; @@ -105,3 +101,6 @@ WriteStream.prototype.clearScreenDown = function() { WriteStream.prototype.getWindowSize = function() { return [this.columns, this.rows]; }; + + +module.exports = { isatty, ReadStream, WriteStream }; From c18a450e9d8570f112a3b07f78a65803eb6c0fe4 Mon Sep 17 00:00:00 2001 From: cjihrig Date: Sat, 11 Nov 2017 23:03:57 -0500 Subject: [PATCH 002/116] test: add coverage to tty module PR-URL: https://github.com/nodejs/node/pull/16959 Reviewed-By: Gireesh Punathil Reviewed-By: James M Snell Reviewed-By: Anna Henningsen --- .../test-tty-stream-constructors.js | 21 +++++ .../test-tty-stream-constructors.out | 0 test/pseudo-tty/test-tty-window-size.js | 85 +++++++++++++++++++ test/pseudo-tty/test-tty-window-size.out | 0 4 files changed, 106 insertions(+) create mode 100644 test/pseudo-tty/test-tty-stream-constructors.js create mode 100644 test/pseudo-tty/test-tty-stream-constructors.out create mode 100644 test/pseudo-tty/test-tty-window-size.js create mode 100644 test/pseudo-tty/test-tty-window-size.out diff --git a/test/pseudo-tty/test-tty-stream-constructors.js b/test/pseudo-tty/test-tty-stream-constructors.js new file mode 100644 index 00000000000000..27c33bad1868d6 --- /dev/null +++ b/test/pseudo-tty/test-tty-stream-constructors.js @@ -0,0 +1,21 @@ +'use strict'; +require('../common'); +const assert = require('assert'); +const { ReadStream, WriteStream } = require('tty'); + +{ + // Verify that tty.ReadStream can be constructed without new. + const stream = ReadStream(0); + + stream.unref(); + assert(stream instanceof ReadStream); + assert.strictEqual(stream.isTTY, true); +} + +{ + // Verify that tty.WriteStream can be constructed without new. + const stream = WriteStream(1); + + assert(stream instanceof WriteStream); + assert.strictEqual(stream.isTTY, true); +} diff --git a/test/pseudo-tty/test-tty-stream-constructors.out b/test/pseudo-tty/test-tty-stream-constructors.out new file mode 100644 index 00000000000000..e69de29bb2d1d6 diff --git a/test/pseudo-tty/test-tty-window-size.js b/test/pseudo-tty/test-tty-window-size.js new file mode 100644 index 00000000000000..782b66802e3ada --- /dev/null +++ b/test/pseudo-tty/test-tty-window-size.js @@ -0,0 +1,85 @@ +'use strict'; +const common = require('../common'); +const assert = require('assert'); +const { WriteStream } = require('tty'); +const { TTY } = process.binding('tty_wrap'); +const getWindowSize = TTY.prototype.getWindowSize; + +function monkeyPatchGetWindowSize(fn) { + TTY.prototype.getWindowSize = function() { + TTY.prototype.getWindowSize = getWindowSize; + return fn.apply(this, arguments); + }; +} + +{ + // tty.WriteStream constructor does not define columns and rows if an error + // occurs while retrieving the window size from the handle. + monkeyPatchGetWindowSize(function() { + return -1; + }); + + const stream = WriteStream(1); + + assert(stream instanceof WriteStream); + assert.strictEqual(stream.columns, undefined); + assert.strictEqual(stream.rows, undefined); +} + +{ + // _refreshSize() emits an error if an error occurs while retrieving the + // window size from the handle. + const stream = WriteStream(1); + + stream.on('error', common.mustCall((err) => { + assert.strictEqual(err.syscall, 'getWindowSize'); + })); + + monkeyPatchGetWindowSize(function() { + return -1; + }); + + stream._refreshSize(); +} + +{ + // _refreshSize() emits a 'resize' event when the window size changes. + monkeyPatchGetWindowSize(function(size) { + size[0] = 80; + size[1] = 24; + return 0; + }); + + const stream = WriteStream(1); + + stream.on('resize', common.mustCall(() => { + assert.strictEqual(stream.columns, 82); + assert.strictEqual(stream.rows, 26); + })); + + assert.strictEqual(stream.columns, 80); + assert.strictEqual(stream.rows, 24); + + monkeyPatchGetWindowSize(function(size) { + size[0] = 82; + size[1] = 26; + return 0; + }); + + stream._refreshSize(); +} + +{ + // WriteStream.prototype.getWindowSize() returns the current columns and rows. + monkeyPatchGetWindowSize(function(size) { + size[0] = 99; + size[1] = 32; + return 0; + }); + + const stream = WriteStream(1); + + assert.strictEqual(stream.columns, 99); + assert.strictEqual(stream.rows, 32); + assert.deepStrictEqual(stream.getWindowSize(), [99, 32]); +} diff --git a/test/pseudo-tty/test-tty-window-size.out b/test/pseudo-tty/test-tty-window-size.out new file mode 100644 index 00000000000000..e69de29bb2d1d6 From 92f41e553a81299783274955dd8ac873b8f118b1 Mon Sep 17 00:00:00 2001 From: Evan Lucas Date: Fri, 30 Jun 2017 19:08:32 -0500 Subject: [PATCH 003/116] build: allow enabling the --trace-maps flag in V8 This can be useful for tracing map creation. PR-URL: https://github.com/nodejs/node/pull/14018 Reviewed-By: Ben Noordhuis Reviewed-By: Colin Ihrig Reviewed-By: Anna Henningsen Reviewed-By: Refael Ackermann --- configure | 6 ++++++ node.gyp | 1 + 2 files changed, 7 insertions(+) diff --git a/configure b/configure index fac604a01ed251..38bed643ff1cb0 100755 --- a/configure +++ b/configure @@ -299,6 +299,11 @@ parser.add_option('--enable-d8', dest='enable_d8', help=optparse.SUPPRESS_HELP) # Unsupported, undocumented. +parser.add_option('--enable-trace-maps', + action='store_true', + dest='trace_maps', + help='Enable the --trace-maps flag in V8 (use at your own risk)') + parser.add_option('--v8-options', action='store', dest='v8_options', @@ -964,6 +969,7 @@ def configure_v8(o): o['variables']['v8_optimized_debug'] = 0 # Compile with -O0 in debug builds. o['variables']['v8_random_seed'] = 0 # Use a random seed for hash tables. o['variables']['v8_use_snapshot'] = 'false' if options.without_snapshot else 'true' + o['variables']['v8_trace_maps'] = 1 if options.trace_maps else 0 o['variables']['node_use_v8_platform'] = b(not options.without_v8_platform) o['variables']['node_use_bundled_v8'] = b(not options.without_bundled_v8) o['variables']['force_dynamic_crt'] = 1 if options.shared else 0 diff --git a/node.gyp b/node.gyp index 345188257998e0..1b17d991ae3244 100644 --- a/node.gyp +++ b/node.gyp @@ -1,6 +1,7 @@ { 'variables': { 'v8_use_snapshot%': 'false', + 'v8_trace_maps%': 0, 'node_use_dtrace%': 'false', 'node_use_lttng%': 'false', 'node_use_etw%': 'false', From 93ca2f78c61ecd49d8b36649e65fb49ca6459e54 Mon Sep 17 00:00:00 2001 From: James M Snell Date: Wed, 6 Sep 2017 15:47:58 -0700 Subject: [PATCH 004/116] meta: allow vague objections to be dismissed MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Explicitly allow vague objections to change requests to be dismissed if requests for clarification go unanswered PR-URL: https://github.com/nodejs/node/pull/15233 Reviewed-By: Gibson Fahnestock Reviewed-By: Colin Ihrig Reviewed-By: Jan Krems Reviewed-By: Ryan Graham Reviewed-By: Ali Ijaz Sheikh Reviewed-By: Anna Henningsen Reviewed-By: Refael Ackermann Reviewed-By: Timothy Gu Reviewed-By: Michaël Zasso Reviewed-By: Yuta Hiroto Reviewed-By: Matteo Collina Reviewed-By: Ron Korving Reviewed-By: Tobias Nießen Reviewed-By: Michael Dawson Reviewed-By: Sakthipriyan Vairamani --- COLLABORATOR_GUIDE.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/COLLABORATOR_GUIDE.md b/COLLABORATOR_GUIDE.md index 8f84f6f9f78baa..c61aad6e7d4f31 100644 --- a/COLLABORATOR_GUIDE.md +++ b/COLLABORATOR_GUIDE.md @@ -94,6 +94,12 @@ All pull requests that modify executable code should be subjected to continuous integration tests on the [project CI server](https://ci.nodejs.org/). +If any Collaborator objects to a change *without giving any additional +explanation or context*, and the objecting Collaborator fails to respond to +explicit requests for explanation or context within a reasonable period of +time, the objection may be dismissed. Note that this does not apply to +objections that are explained. + #### Useful CI Jobs * [`node-test-pull-request`](https://ci.nodejs.org/job/node-test-pull-request/) From 9804e7f3bbcebef251f2d31ea755cfd0281981dc Mon Sep 17 00:00:00 2001 From: Ali Ijaz Sheikh Date: Tue, 12 Dec 2017 13:21:30 -0800 Subject: [PATCH 005/116] deps: V8: cherry-pick 9622696 from upstream Original commit message: [profiler] sampled allocations should be marked as independent Sampling heap profiler keeps weak references. These should be marked independent so that the weak callback can be dispatched on new space collections. BUG= v8:4959 LOG=N R=ulan@chromium.org Review-Url: https://codereview.chromium.org/1945193002 Cr-Commit-Position: refs/heads/master@{#36012} Ref: https://bugs.chromium.org/p/v8/issues/detail?id=4959 Ref: https://github.com/v8/v8/commit/9622696b5e225ca642f9ea88c0473d59cde062c2 --- deps/v8/include/v8-version.h | 2 +- deps/v8/src/profiler/sampling-heap-profiler.cc | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/deps/v8/include/v8-version.h b/deps/v8/include/v8-version.h index f5e1bcbd30bd20..2c4fc5f7b09ad0 100644 --- a/deps/v8/include/v8-version.h +++ b/deps/v8/include/v8-version.h @@ -11,7 +11,7 @@ #define V8_MAJOR_VERSION 5 #define V8_MINOR_VERSION 1 #define V8_BUILD_NUMBER 281 -#define V8_PATCH_LEVEL 109 +#define V8_PATCH_LEVEL 110 // Use 1 for candidates and 0 otherwise. // (Boolean macro values are not supported by all preprocessors.) diff --git a/deps/v8/src/profiler/sampling-heap-profiler.cc b/deps/v8/src/profiler/sampling-heap-profiler.cc index a32cae3ef9c926..282482e47ff46f 100644 --- a/deps/v8/src/profiler/sampling-heap-profiler.cc +++ b/deps/v8/src/profiler/sampling-heap-profiler.cc @@ -109,6 +109,7 @@ void SamplingHeapProfiler::SampleObject(Address soon_object, size_t size) { Sample* sample = new Sample(size, node, loc, this); samples_.insert(sample); sample->global.SetWeak(sample, OnWeakCallback, WeakCallbackType::kParameter); + sample->global.MarkIndependent(); } void SamplingHeapProfiler::OnWeakCallback( From b287b9e64b7e51fff86e72d9faf7a13948f54746 Mon Sep 17 00:00:00 2001 From: Ali Ijaz Sheikh Date: Tue, 12 Dec 2017 13:24:42 -0800 Subject: [PATCH 006/116] deps: V8: cherry-pick e8e9c07 from upstream Original commit message: Make sure the heap is in consistent state when calling allocation observers. The observer might want to lookup something in the heap, e.g. code objects it has in the call stack. BUG=v8:4959 LOG=N Review-Url: https://codereview.chromium.org/1948893002 Cr-Commit-Position: refs/heads/master@{#36027} Ref: https://bugs.chromium.org/p/v8/issues/detail?id=4959 Ref: https://github.com/v8/v8/commit/e8e9c07e548ea5386f918e8a7f4f42d517725223 --- deps/v8/include/v8-version.h | 2 +- deps/v8/src/heap/spaces.cc | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/deps/v8/include/v8-version.h b/deps/v8/include/v8-version.h index 2c4fc5f7b09ad0..8dfca512ad4a27 100644 --- a/deps/v8/include/v8-version.h +++ b/deps/v8/include/v8-version.h @@ -11,7 +11,7 @@ #define V8_MAJOR_VERSION 5 #define V8_MINOR_VERSION 1 #define V8_BUILD_NUMBER 281 -#define V8_PATCH_LEVEL 110 +#define V8_PATCH_LEVEL 111 // Use 1 for candidates and 0 otherwise. // (Boolean macro values are not supported by all preprocessors.) diff --git a/deps/v8/src/heap/spaces.cc b/deps/v8/src/heap/spaces.cc index 8a7fd1a14fa608..e51c27b56ff447 100644 --- a/deps/v8/src/heap/spaces.cc +++ b/deps/v8/src/heap/spaces.cc @@ -2382,7 +2382,6 @@ HeapObject* FreeList::Allocate(int size_in_bytes) { int new_node_size = 0; FreeSpace* new_node = FindNodeFor(size_in_bytes, &new_node_size); if (new_node == nullptr) return nullptr; - owner_->AllocationStep(new_node->address(), size_in_bytes); int bytes_left = new_node_size - size_in_bytes; DCHECK(bytes_left >= 0); @@ -2428,6 +2427,8 @@ HeapObject* FreeList::Allocate(int size_in_bytes) { new_node->address() + new_node_size); } + owner_->AllocationStep(new_node->address(), size_in_bytes); + return new_node; } From 0f94bb9aebab684d03e3d86564b811cf8cf5aef9 Mon Sep 17 00:00:00 2001 From: Yang Guo Date: Tue, 7 Nov 2017 15:10:55 +0100 Subject: [PATCH 007/116] doc: add hashseed to collaborators MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit PR-URL: https://github.com/nodejs/node/pull/16863/ Reviewed-By: Rich Trott Reviewed-By: Colin Ihrig Reviewed-By: Michaël Zasso Reviewed-By: Anna Henningsen --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 12f9ed93875240..909e0cbe57c122 100644 --- a/README.md +++ b/README.md @@ -363,6 +363,8 @@ For more information about the governance of the Node.js project, see **Gibson Fahnestock** <gibfahn@gmail.com> (he/him) * [gireeshpunathil](https://github.com/gireeshpunathil) - **Gireesh Punathil** <gpunathi@in.ibm.com> (he/him) +* [hashseed](https://github.com/hashseed) - +**Yang Guo** <yangguo@chromium.org> (he/him) * [iarna](https://github.com/iarna) - **Rebecca Turner** <me@re-becca.org> * [imran-iq](https://github.com/imran-iq) - From a12e16818fc91866845ff6078d6416d0bb8ae293 Mon Sep 17 00:00:00 2001 From: Rich Trott Date: Tue, 14 Nov 2017 06:47:44 -0800 Subject: [PATCH 008/116] path: remove obsolete comment Remove commented-out code that is leftover from a refactoring. PR-URL: https://github.com/nodejs/node/pull/17023 Reviewed-By: Refael Ackermann Reviewed-By: Gireesh Punathil Reviewed-By: Colin Ihrig Reviewed-By: James M Snell Reviewed-By: Anatoli Papirovski Reviewed-By: Luigi Pinca Reviewed-By: Lance Ball --- lib/path.js | 1 - 1 file changed, 1 deletion(-) diff --git a/lib/path.js b/lib/path.js index bbe5f0b5be0716..2af0ae0e145405 100644 --- a/lib/path.js +++ b/lib/path.js @@ -504,7 +504,6 @@ const win32 = { // This means that the user can use join to construct UNC paths from // a server name and a share name; for example: // path.join('//server', 'share') -> '\\\\server\\share\\') - //var firstPart = paths[0]; var needsReplace = true; var slashCount = 0; var code = firstPart.charCodeAt(0); From 92daa2d2d3ea358c26e0c730c5054f61574afb7d Mon Sep 17 00:00:00 2001 From: Anna Henningsen Date: Thu, 16 Nov 2017 21:18:30 +0100 Subject: [PATCH 009/116] test: make REPL test pass in coverage mode MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Make a REPL tab completion test pass in coverage mode by using `Uin` as the common prefix of all `Uint*Array` globals instead of `co` which could be a prefix for `console` and `coverage`, so it doesn't expand the way it's expected to in coverage mode. PR-URL: https://github.com/nodejs/node/pull/17082 Reviewed-By: Michaël Zasso Reviewed-By: Colin Ihrig --- test/parallel/test-repl-tab-complete.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/parallel/test-repl-tab-complete.js b/test/parallel/test-repl-tab-complete.js index df7300e526e8c1..1179259c79d026 100644 --- a/test/parallel/test-repl-tab-complete.js +++ b/test/parallel/test-repl-tab-complete.js @@ -373,8 +373,8 @@ const editor = repl.start({ editorStream.run(['.clear']); editorStream.run(['.editor']); -editor.completer('co', common.mustCall((error, data) => { - assert.deepStrictEqual(data, [['con'], 'co']); +editor.completer('Uin', common.mustCall((error, data) => { + assert.deepStrictEqual(data, [['Uint'], 'Uin']); })); editorStream.run(['.clear']); From 5cd89c7817177c36e20dc83808c7357aa3542f47 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Reis?= Date: Tue, 14 Nov 2017 02:44:25 +0000 Subject: [PATCH 010/116] doc,win: clarify WSL support Fixes: https://github.com/nodejs/node/issues/13471 PR-URL: https://github.com/nodejs/node/pull/17008 Reviewed-By: Gireesh Punathil Reviewed-By: Joyee Cheung Reviewed-By: Timothy Gu Reviewed-By: Richard Lau Reviewed-By: Gibson Fahnestock Reviewed-By: James M Snell Reviewed-By: Hitesh Kanwathirtha Reviewed-By: Colin Ihrig --- BUILDING.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/BUILDING.md b/BUILDING.md index 5095a036c05f73..a75c77f44ddb8b 100644 --- a/BUILDING.md +++ b/BUILDING.md @@ -66,6 +66,14 @@ note1 - The gcc4.8-libs package needs to be installed, because node In "Git bash" if you call the node shell alias (`node` without the `.exe` extension), `winpty` is used automatically. +The Windows Subsystem for Linux (WSL) is not directly supported, but the +GNU/Linux build process and binaries should work. The community will only +address issues that reproduce on native GNU/Linux systems. Issues that only +reproduce on WSL should be reported in the +[WSL issue tracker](https://github.com/Microsoft/WSL/issues). Running the +Windows binary (`node.exe`) in WSL is not recommended, and will not work +without adjustment (such as stdio redirection). + ### Supported toolchains Depending on host platform, the selection of toolchains may vary. From e03645dd6f27b864d2e161041dae66e1df851b25 Mon Sep 17 00:00:00 2001 From: Rich Trott Date: Thu, 26 Oct 2017 16:14:35 -0700 Subject: [PATCH 011/116] doc: add Support section in README Add a Support section, borrowing heavily from wp-cli project. Move stuff about contributing to Node.js to the bottom as vastly more users are interested in using Node.js and getting help with Node.js than contributing to Node.js. Information still belongs, just not at the top. (Many people will know to look in CONTRIBUTING.md anyway.) PR-URL: https://github.com/nodejs/node/pull/16533 Reviewed-By: Vse Mozhet Byt Reviewed-By: Refael Ackermann Reviewed-By: Gireesh Punathil Reviewed-By: Jeremiah Senkpiel Reviewed-By: Joyee Cheung Reviewed-By: James M Snell Reviewed-By: Michael Dawson --- README.md | 47 +++++++++++++++++++++++++++-------------------- 1 file changed, 27 insertions(+), 20 deletions(-) diff --git a/README.md b/README.md index 909e0cbe57c122..461ed85772e645 100644 --- a/README.md +++ b/README.md @@ -19,13 +19,10 @@ policies, and releases are managed under an **This project is bound by a [Code of Conduct][].** -If you need help using or installing Node.js, please use the -[nodejs/help](https://github.com/nodejs/help) issue tracker. - # Table of Contents -* [Resources for Newcomers](#resources-for-newcomers) +* [Support](#support) * [Release Types](#release-types) * [Download](#download) * [Current and LTS Releases](#current-and-lts-releases) @@ -39,25 +36,29 @@ If you need help using or installing Node.js, please use the * [Collaborators](#collaborators) * [Release Team](#release-team) -## Resources for Newcomers +## Support + +Node.js contributors have limited availability to address general support +questions. Please make sure you are using a [currently-supported version of +Node.js](https://github.com/nodejs/Release#release-schedule). -### Official Resources +When looking for support, please first search for your question in these venues: -* [Website][] +* [Node.js Website][] * [Node.js Help][] -* [Contributing to the project][] -* IRC (node core development): [#node-dev on chat.freenode.net][] +* [Open or closed issues in the Node.js GitHub organization](https://github.com/issues?utf8=%E2%9C%93&q=sort%3Aupdated-desc+org%3Anodejs+is%3Aissue) +* [Questions tagged 'node.js' on StackOverflow][] + +If you didn't find an answer in one of the venues above, you can: -### Unofficial Resources +* Join the **unofficial** [#node.js channel on chat.freenode.net][]. See + for more information. -* IRC (general questions): [#node.js on chat.freenode.net][]. Please see - for more information regarding the `#node.js` IRC -channel. +GitHub issues are meant for tracking enhancements and bugs, not general support. -_Please note that unofficial resources are neither managed by (nor necessarily -endorsed by) the Node.js TSC. Specifically, such resources are not -currently covered by the [Node.js Moderation Policy][] and the selection and -actions of resource operators/moderators are not subject to TSC oversight._ +Remember, libre != gratis; the open source license grants you the freedom to use +and modify, but not commitments of other people's time. Please be respectful, +and set your expectations accordingly. ## Release Types @@ -583,11 +584,17 @@ Previous releases may also have been signed with one of the following GPG keys: Information on the current Node.js Working Groups can be found in the [TSC repository](https://github.com/nodejs/TSC/blob/master/WORKING_GROUPS.md). +### Contributing to Node.js + +* [Contributing to the project][] +* IRC (node core development): [#node-dev on chat.freenode.net][] + [npm]: https://www.npmjs.com -[Website]: https://nodejs.org/en/ +[Code of Conduct]: https://github.com/nodejs/TSC/blob/master/CODE_OF_CONDUCT.md [Contributing to the project]: CONTRIBUTING.md [Node.js Help]: https://github.com/nodejs/help [Node.js Moderation Policy]: https://github.com/nodejs/TSC/blob/master/Moderation-Policy.md -[#node.js on chat.freenode.net]: https://webchat.freenode.net?channels=node.js&uio=d4 +[Node.js Website]: https://nodejs.org/en/ +[Questions tagged 'node.js' on StackOverflow]: https://stackoverflow.com/questions/tagged/node.js +[#node.js channel on chat.freenode.net]: https://webchat.freenode.net?channels=node.js&uio=d4 [#node-dev on chat.freenode.net]: https://webchat.freenode.net?channels=node-dev&uio=d4 -[Code of Conduct]: https://github.com/nodejs/TSC/blob/master/CODE_OF_CONDUCT.md From d44adf12a9a1a79ceffd2f207c9f4d5ff8985915 Mon Sep 17 00:00:00 2001 From: Vse Mozhet Byt Date: Sat, 18 Nov 2017 00:40:26 +0200 Subject: [PATCH 012/116] doc: delete unused definition in README.md PR-URL: https://github.com/nodejs/node/pull/17108 Reviewed-By: Refael Ackermann Reviewed-By: Anna Henningsen --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 461ed85772e645..24511793ed1441 100644 --- a/README.md +++ b/README.md @@ -593,7 +593,6 @@ Information on the current Node.js Working Groups can be found in the [Code of Conduct]: https://github.com/nodejs/TSC/blob/master/CODE_OF_CONDUCT.md [Contributing to the project]: CONTRIBUTING.md [Node.js Help]: https://github.com/nodejs/help -[Node.js Moderation Policy]: https://github.com/nodejs/TSC/blob/master/Moderation-Policy.md [Node.js Website]: https://nodejs.org/en/ [Questions tagged 'node.js' on StackOverflow]: https://stackoverflow.com/questions/tagged/node.js [#node.js channel on chat.freenode.net]: https://webchat.freenode.net?channels=node.js&uio=d4 From dcf7646725eb8845d85e6c7bba9d99d93b20e3bf Mon Sep 17 00:00:00 2001 From: Rich Trott Date: Thu, 2 Nov 2017 22:12:06 -0700 Subject: [PATCH 013/116] tools: fail tests if malformed status file PR-URL: https://github.com/nodejs/node/pull/16703 Reviewed-By: Ben Noordhuis Reviewed-By: Colin Ihrig Reviewed-By: Anatoli Papirovski Reviewed-By: James M Snell Reviewed-By: Gireesh Punathil Reviewed-By: Refael Ackermann Reviewed-By: Luigi Pinca --- tools/test.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/tools/test.py b/tools/test.py index e7c01c8658b23d..561473f246629b 100755 --- a/tools/test.py +++ b/tools/test.py @@ -1287,9 +1287,7 @@ def ReadConfigurationInto(path, sections, defs): if prefix_match: prefix = SplitPath(prefix_match.group(1).strip()) continue - print "Malformed line: '%s'." % line - return False - return True + raise Exception("Malformed line: '%s'." % line) # --------------- From ccdf4b245a6cec2a71db264554819310b35b675d Mon Sep 17 00:00:00 2001 From: Joyee Cheung Date: Thu, 16 Nov 2017 03:10:18 +0800 Subject: [PATCH 014/116] doc: reorganize collaborator guide MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Add sections about first time contributions, code reviews and seeking consensus, waiting for approvals, testing and CI * Move paragraphs to more suitable sections * Update table of contents * Document the fast-tracking process PR-URL: https://github.com/nodejs/node/pull/17056 Reviewed-By: James M Snell Reviewed-By: Tobias Nießen Reviewed-By: Michael Dawson Reviewed-By: Gireesh Punathil --- COLLABORATOR_GUIDE.md | 190 +++++++++++++++++++++++++++--------------- 1 file changed, 122 insertions(+), 68 deletions(-) diff --git a/COLLABORATOR_GUIDE.md b/COLLABORATOR_GUIDE.md index c61aad6e7d4f31..d8d0651ff53ca4 100644 --- a/COLLABORATOR_GUIDE.md +++ b/COLLABORATOR_GUIDE.md @@ -3,16 +3,34 @@ **Contents** * [Issues and Pull Requests](#issues-and-pull-requests) + - [Managing Issues and Pull Requests](#managing-issues-and-pull-requests) + - [Welcoming First-Time Contributiors](#welcoming-first-time-contributiors) + - [Closing Issues and Pull Requests](#closing-issues-and-pull-requests) * [Accepting Modifications](#accepting-modifications) - - [Useful CI Jobs](#useful-ci-jobs) - - [Internal vs. Public API](#internal-vs-public-api) - - [Breaking Changes](#breaking-changes) - - [Deprecations](#deprecations) - - [Involving the TSC](#involving-the-tsc) + - [Code Reviews and Consensus Seeking](#code-reviews-and-consensus-seeking) + - [Waiting for Approvals](#waiting-for-approvals) + - [Testing and CI](#testing-and-ci) + - [Useful CI Jobs](#useful-ci-jobs) + - [Internal vs. Public API](#internal-vs-public-api) + - [Breaking Changes](#breaking-changes) + - [Breaking Changes and Deprecations](#breaking-changes-and-deprecations) + - [Breaking Changes to Internal Elements](#breaking-changes-to-internal-elements) + - [When Breaking Changes Actually Break Things](#when-breaking-changes-actually-break-things) + - [Reverting commits](#reverting-commits) + - [Introducing New Modules](#introducing-new-modules) + - [Deprecations](#deprecations) + - [Involving the TSC](#involving-the-tsc) * [Landing Pull Requests](#landing-pull-requests) - - [Technical HOWTO](#technical-howto) - - [I Just Made a Mistake](#i-just-made-a-mistake) - - [Long Term Support](#long-term-support) + - [Technical HOWTO](#technical-howto) + - [Troubleshooting](#troubleshooting) + - [I Just Made a Mistake](#i-just-made-a-mistake) + - [Long Term Support](#long-term-support) + - [What is LTS?](#what-is-lts) + - [How does LTS work?](#how-does-lts-work) + - [Landing semver-minor commits in LTS](#landing-semver-minor-commits-in-lts) + - [How are LTS Branches Managed?](#how-are-lts-branches-managed) + - [How can I help?](#how-can-i-help) + - [How is an LTS release cut?](#how-is-an-lts-release-cut) This document contains information for Collaborators of the Node.js project regarding maintaining the code, documentation and issues. @@ -24,16 +42,31 @@ understand the project governance model as outlined in ## Issues and Pull Requests -Courtesy should **always** be shown to individuals submitting issues and pull -requests to the Node.js project. Be welcoming to first time contributors, -identified by the GitHub ![badge](./doc/first_timer_badge.png) badge. +### Managing Issues and Pull Requests Collaborators should feel free to take full responsibility for managing issues and pull requests they feel qualified to handle, as long as this is done while being mindful of these guidelines, the -opinions of other Collaborators and guidance of the TSC. +opinions of other Collaborators and guidance of the [TSC][]. They +may also notify other qualified parties for more input on an issue +or a pull request. +[See "Who to CC in issues"](./doc/onboarding-extras.md#who-to-cc-in-issues) + +### Welcoming First-Time Contributiors -Collaborators may **close** any issue or pull request they believe is +Courtesy should always be shown to individuals submitting issues and pull +requests to the Node.js project. Be welcoming to first-time contributors, +identified by the GitHub ![badge](./doc/first_timer_badge.png) badge. + +For first-time contributors, check if the commit author is the same as the +pull request author, and ask if they have configured their git +username and email to their liking as per [this guide][git-username]. +This is to make sure they would be promoted to "contributor" once +their pull request gets landed. + +### Closing Issues and Pull Requests + +Collaborators may close any issue or pull request they believe is not relevant for the future of the Node.js project. Where this is unclear, the issue should be left open for several days to allow for additional discussion. Where this does not yield input from Node.js @@ -41,13 +74,14 @@ Collaborators or additional evidence that the issue has relevance, the issue may be closed. Remember that issues can always be re-opened if necessary. -[**See "Who to CC in issues"**](./doc/onboarding-extras.md#who-to-cc-in-issues) - ## Accepting Modifications All modifications to the Node.js code and documentation should be performed via GitHub pull requests, including modifications by -Collaborators and TSC members. +Collaborators and TSC members. A pull request must be reviewed, and usually +must also be tested with CI, before being landed into the codebase. + +### Code Reviews and Consensus Seeking All pull requests must be reviewed and accepted by a Collaborator with sufficient expertise who is able to take full responsibility for the @@ -55,22 +89,17 @@ change. In the case of pull requests proposed by an existing Collaborator, an additional Collaborator is required for sign-off. In some cases, it may be necessary to summon a qualified Collaborator -to a pull request for review by @-mention. +or a Github team to a pull request for review by @-mention. +[See "Who to CC in issues"](./doc/onboarding-extras.md#who-to-cc-in-issues) If you are unsure about the modification and are not prepared to take full responsibility for the change, defer to another Collaborator. -Before landing pull requests, sufficient time should be left for input -from other Collaborators. Leave at least 48 hours during the week and -72 hours over weekends to account for international time differences -and work schedules. Trivial changes (e.g. those which fix minor bugs -or improve performance without affecting API or causing other -wide-reaching impact), and focused changes that affect only documentation -and/or the test suite, may be landed after a shorter delay if they have -multiple approvals. - -For first time contributors, ask the author if they have configured their git -username and email to their liking as per [this guide][git-username]. +If any Collaborator objects to a change *without giving any additional +explanation or context*, and the objecting Collaborator fails to respond to +explicit requests for explanation or context within a reasonable period of +time, the objection may be dismissed. Note that this does not apply to +objections that are explained. For non-breaking changes, if there is no disagreement amongst Collaborators, a pull request may be landed given appropriate review. @@ -80,12 +109,32 @@ elevate discussion to the TSC for resolution (see below). Breaking changes (that is, pull requests that require an increase in the major version number, known as `semver-major` changes) must be -elevated for review by the TSC. This does not necessarily mean that the -PR must be put onto the TSC meeting agenda. If multiple TSC members -approve (`LGTM`) the PR and no Collaborators oppose the PR, it can be -landed. Where there is disagreement among TSC members or objections -from one or more Collaborators, `semver-major` pull requests should be -put on the TSC meeting agenda. +[elevated for review by the TSC](#involving-the-tsc). +This does not necessarily mean that the PR must be put onto the TSC meeting +agenda. If multiple TSC members approve (`LGTM`) the PR and no Collaborators +oppose the PR, it can be landed. Where there is disagreement among TSC members +or objections from one or more Collaborators, `semver-major` pull requests +should be put on the TSC meeting agenda. + +### Waiting for Approvals + +Before landing pull requests, sufficient time should be left for input +from other Collaborators. In general, leave at least 48 hours during the +week and 72 hours over weekends to account for international time +differences and work schedules. However, certain types of pull requests +can be fast-tracked and may be landed after a shorter delay: + +* Focused changes that affect only documentation and/or the test suite. + `code-and-learn` and `good-first-issue` pull requests typically fall + into this category. +* Changes that revert commit(s) and/or fix regressions. + +When a pull request is deemed suitable to be fast-tracked, label it with +`fast-track`. The pull request can be landed once 2 or more collaborators +approve both the pull request and the fast-tracking request, and the necessary +CI testing is done. + +### Testing and CI All bugfixes require a test case which demonstrates the defect. The test should *fail* before the change, and *pass* after the change. @@ -94,12 +143,6 @@ All pull requests that modify executable code should be subjected to continuous integration tests on the [project CI server](https://ci.nodejs.org/). -If any Collaborator objects to a change *without giving any additional -explanation or context*, and the objecting Collaborator fails to respond to -explicit requests for explanation or context within a reasonable period of -time, the objection may be dismissed. Note that this does not apply to -objections that are explained. - #### Useful CI Jobs * [`node-test-pull-request`](https://ci.nodejs.org/job/node-test-pull-request/) @@ -172,20 +215,8 @@ using an API in a manner currently undocumented achieves a particular useful result, a decision will need to be made whether or not that falls within the supported scope of that API; and if it does, it should be documented. -Breaking changes to internal elements are permitted in semver-patch or -semver-minor commits but Collaborators should take significant care when -making and reviewing such changes. Before landing such commits, an effort -must be made to determine the potential impact of the change in the ecosystem -by analyzing current use and by validating such changes through ecosystem -testing using the [Canary in the Goldmine](https://github.com/nodejs/citgm) -tool. If a change cannot be made without ecosystem breakage, then TSC review is -required before landing the change as anything less than semver-major. - -If a determination is made that a particular internal API (for instance, an -underscore `_` prefixed property) is sufficiently relied upon by the ecosystem -such that any changes may break user code, then serious consideration should be -given to providing an alternative Public API for that functionality before any -breaking changes are made. +See [Breaking Changes to Internal Elements](#breaking-changes-to-internal-elements) +on how to handle those types of changes. ### Breaking Changes @@ -200,6 +231,13 @@ changing error messages in any way, altering expected timing of an event (e.g. moving from sync to async responses or vice versa), and changing the non-internal side effects of using a particular API. +Purely additive changes (e.g. adding new events to `EventEmitter` +implementations, adding new arguments to a method in a way that allows +existing code to continue working without modification, or adding new +properties to an options argument) are semver-minor changes. + +#### Breaking Changes and Deprecations + With a few notable exceptions outlined below, when backwards incompatible changes to a *Public* API are necessary, the existing API *must* be deprecated *first* and the new API either introduced in parallel or added after the next @@ -216,14 +254,6 @@ Exception to this rule is given in the following cases: Such changes *must* be handled as semver-major changes but MAY be landed without a [Deprecation cycle](#deprecation-cycle). -From time-to-time, in particularly exceptional cases, the TSC may be asked to -consider and approve additional exceptions to this rule. - -Purely additive changes (e.g. adding new events to EventEmitter -implementations, adding new arguments to a method in a way that allows -existing code to continue working without modification, or adding new -properties to an options argument) are handled as semver-minor changes. - Note that errors thrown, along with behaviors and APIs implemented by dependencies of Node.js (e.g. those originating from V8) are generally not under the control of Node.js and therefore *are not directly subject to this @@ -231,7 +261,29 @@ policy*. However, care should still be taken when landing updates to dependencies when it is known or expected that breaking changes to error handling may have been made. Additional CI testing may be required. -#### When breaking changes actually break things +From time-to-time, in particularly exceptional cases, the TSC may be asked to +consider and approve additional exceptions to this rule. + +For more information, see [Deprecations](#deprecations). + +#### Breaking Changes to Internal Elements + +Breaking changes to internal elements are permitted in semver-patch or +semver-minor commits but Collaborators should take significant care when +making and reviewing such changes. Before landing such commits, an effort +must be made to determine the potential impact of the change in the ecosystem +by analyzing current use and by validating such changes through ecosystem +testing using the [Canary in the Goldmine](https://github.com/nodejs/citgm) +tool. If a change cannot be made without ecosystem breakage, then TSC review is +required before landing the change as anything less than semver-major. + +If a determination is made that a particular internal API (for instance, an +underscore `_` prefixed property) is sufficiently relied upon by the ecosystem +such that any changes may break user code, then serious consideration should be +given to providing an alternative Public API for that functionality before any +breaking changes are made. + +#### When Breaking Changes Actually Break Things Because breaking (semver-major) changes are permitted to land on the master branch at any time, at least some subset of the user ecosystem may be adversely @@ -349,12 +401,13 @@ Changes" section of the release notes. ### Involving the TSC -Collaborators may opt to elevate pull requests or issues to the TSC for -discussion by assigning the `tsc-review` label. This should be done -where a pull request: +Collaborators may opt to elevate pull requests or issues to the [TSC][] for +discussion by assigning the `tsc-review` label or @-mentioning the +`@nodejs/tsc` Github team. This should be done where a pull request: -- has a significant impact on the codebase, -- is inherently controversial; or +- is labeled `semver-major`, or +- has a significant impact on the codebase, or +- is inherently controversial, or - has failed to reach consensus amongst the Collaborators who are actively participating in the discussion. @@ -681,3 +734,4 @@ LTS working group and the Release team. [Enhancement Proposal]: https://github.com/nodejs/node-eps [git-username]: https://help.github.com/articles/setting-your-username-in-git/ [`node-core-utils`]: https://github.com/nodejs/node-core-utils +[TSC]: https://github.com/nodejs/TSC From fe2188620d816d973378f7f9679446a22307ab41 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tobias=20Nie=C3=9Fen?= Date: Thu, 16 Nov 2017 13:33:53 +0100 Subject: [PATCH 015/116] test: use arrow functions instead of bind MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit PR-URL: https://github.com/nodejs/node/pull/17070 Reviewed-By: Michaël Zasso Reviewed-By: Colin Ihrig Reviewed-By: James M Snell Reviewed-By: Lance Ball Reviewed-By: Gireesh Punathil Reviewed-By: Khaidi Chu --- test/parallel/test-stream-push-strings.js | 8 ++++---- test/parallel/test-stream2-transform.js | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/test/parallel/test-stream-push-strings.js b/test/parallel/test-stream-push-strings.js index c8fe92a0bdbf02..1ba3af9f7d68bd 100644 --- a/test/parallel/test-stream-push-strings.js +++ b/test/parallel/test-stream-push-strings.js @@ -15,15 +15,15 @@ class MyStream extends Readable { case 0: return this.push(null); case 1: - return setTimeout(function() { + return setTimeout(() => { this.push('last chunk'); - }.bind(this), 100); + }, 100); case 2: return this.push('second to last chunk'); case 3: - return process.nextTick(function() { + return process.nextTick(() => { this.push('first chunk'); - }.bind(this)); + }); default: throw new Error('?'); } diff --git a/test/parallel/test-stream2-transform.js b/test/parallel/test-stream2-transform.js index e28e615852bec5..aa5e63920904bf 100644 --- a/test/parallel/test-stream2-transform.js +++ b/test/parallel/test-stream2-transform.js @@ -190,14 +190,14 @@ const Transform = require('_stream_transform'); if (!chunk) chunk = ''; const s = chunk.toString(); - setTimeout(function() { + setTimeout(() => { this.state += s.charAt(0); if (this.state.length === 3) { pt.push(Buffer.from(this.state)); this.state = ''; } cb(); - }.bind(this), 10); + }, 10); }; pt._flush = function(cb) { From b16e6d29f180e66ad37556bd855a74106aa7ec78 Mon Sep 17 00:00:00 2001 From: Sebastian Silbermann Date: Wed, 15 Nov 2017 16:59:22 +0100 Subject: [PATCH 016/116] doc: explicitly document highWaterMark option PR-URL: https://github.com/nodejs/node/pull/17049 Reviewed-By: Luigi Pinca Reviewed-By: Anna Henningsen --- doc/api/fs.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/doc/api/fs.md b/doc/api/fs.md index 689f38af3c4758..8eef096794416e 100644 --- a/doc/api/fs.md +++ b/doc/api/fs.md @@ -589,6 +589,7 @@ added: v0.1.31 * `autoClose` {boolean} * `start` {integer} * `end` {integer} + * `highWaterMark` {integer} Returns a new [`ReadStream`][] object. (See [Readable Stream][]). @@ -604,7 +605,8 @@ const defaults = { encoding: null, fd: null, mode: 0o666, - autoClose: true + autoClose: true, + highWaterMark: 64 * 1024 }; ``` From 8cae573af1ca2b73d9cdb1f365f23fd2f90279e3 Mon Sep 17 00:00:00 2001 From: pimlie Date: Wed, 15 Nov 2017 14:53:57 +0100 Subject: [PATCH 017/116] doc: add note about using cluster without networking Although the primary use-case for the cluster module is networking, the module provides a generic master/worker interface that could also be used if you dont use networking at all. Currently the docs are a bit ambiguous about this as only the primary use-case is ever mentioned, this remark should clarify that the cluster module can also be used without disadvantages if you dont use networking. PR-URL: https://github.com/nodejs/node/pull/17031 Refs: https://github.com/nodejs/help/issues/970 Reviewed-By: Gireesh Punathil Reviewed-By: Anna Henningsen --- doc/api/cluster.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/doc/api/cluster.md b/doc/api/cluster.md index 5ac4d6730c82b5..648c753931d936 100644 --- a/doc/api/cluster.md +++ b/doc/api/cluster.md @@ -112,7 +112,8 @@ will be dropped and new connections will be refused. Node.js does not automatically manage the number of workers for you, however. It is your responsibility to manage the worker pool for your application's needs. - +Although a primary use case for the `cluster` module is networking, it can +also be used for other use cases requiring worker processes. ## Class: Worker -* `string` {string|Buffer|TypedArray|DataView|ArrayBuffer} A value to - calculate the length of. +* `string` {string|Buffer|TypedArray|DataView|ArrayBuffer|SharedArrayBuffer} A + value to calculate the length of. * `encoding` {string} If `string` is a string, this is its encoding. **Default:** `'utf8'` * Returns: {integer} The number of bytes contained within `string`. @@ -635,8 +635,8 @@ console.log(`${str}: ${str.length} characters, ` + `${Buffer.byteLength(str, 'utf8')} bytes`); ``` -When `string` is a `Buffer`/[`DataView`]/[`TypedArray`]/[`ArrayBuffer`], the -actual byte length is returned. +When `string` is a `Buffer`/[`DataView`]/[`TypedArray`]/[`ArrayBuffer`]/ +[`SharedArrayBuffer`], the actual byte length is returned. Otherwise, converts to `String` and returns the byte length of string. @@ -733,8 +733,8 @@ A `TypeError` will be thrown if `array` is not an `Array`. added: v5.10.0 --> -* `arrayBuffer` {ArrayBuffer} An [`ArrayBuffer`] or the `.buffer` property of a - [`TypedArray`]. +* `arrayBuffer` {ArrayBuffer|SharedArrayBuffer} An [`ArrayBuffer`], + [`SharedArrayBuffer`], or the `.buffer` property of a [`TypedArray`]. * `byteOffset` {integer} Index of first byte to expose. **Default:** `0` * `length` {integer} Number of bytes to expose. **Default:** `arrayBuffer.length - byteOffset` @@ -778,7 +778,8 @@ const buf = Buffer.from(ab, 0, 2); console.log(buf.length); ``` -A `TypeError` will be thrown if `arrayBuffer` is not an [`ArrayBuffer`]. +A `TypeError` will be thrown if `arrayBuffer` is not an [`ArrayBuffer`] or a +[`SharedArrayBuffer`]. ### Class Method: Buffer.from(buffer) -Node.js has a simple module loading system. In Node.js, files and modules -are in one-to-one correspondence (each file is treated as a separate module). - -As an example, consider a file named `foo.js`: +In the Node.js module system, each file is treated as a separate module. For +example, consider a file named `foo.js`: ```js const circle = require('./circle.js'); From 017492eca20e02293885c0a84b16bf70e345911f Mon Sep 17 00:00:00 2001 From: Rich Trott Date: Mon, 4 Dec 2017 19:57:00 -0800 Subject: [PATCH 090/116] build: add serial commas to messages in configure script MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit PR-URL: https://github.com/nodejs/node/pull/17464 Reviewed-By: Gireesh Punathil Reviewed-By: Tobias Nießen Reviewed-By: Anna Henningsen Reviewed-By: Colin Ihrig Reviewed-By: Daniel Bevenius Reviewed-By: Luigi Pinca Reviewed-By: Jon Moss Reviewed-By: James M Snell Reviewed-By: Ruben Bridgewater --- configure | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/configure b/configure index 08bfa75b908949..90f0c568649eb9 100755 --- a/configure +++ b/configure @@ -144,7 +144,7 @@ parser.add_option("--enable-vtune-profiling", dest="enable_vtune_profiling", help="Enable profiling support for Intel VTune profiler to profile " "JavaScript code executed in nodejs. This feature is only available " - "for x32, x86 and x64 architectures.") + "for x32, x86, and x64 architectures.") parser.add_option("--link-module", @@ -841,7 +841,7 @@ def configure_node(o): o['variables']['node_enable_v8_vtunejit'] = b(options.enable_vtune_profiling) elif options.enable_vtune_profiling: raise Exception( - 'The VTune profiler for JavaScript is only supported on x32, x86 and x64 ' + 'The VTune profiler for JavaScript is only supported on x32, x86, and x64 ' 'architectures.') else: o['variables']['node_enable_v8_vtunejit'] = 'false' From 92d2c9aecbf0ca20d289a082380c366715afb219 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C3=ABl=20Zasso?= Date: Mon, 4 Dec 2017 11:24:52 +0100 Subject: [PATCH 091/116] doc: update AUTHORS list PR-URL: https://github.com/nodejs/node/pull/17452 Reviewed-By: Colin Ihrig Reviewed-By: Daniel Bevenius Reviewed-By: Evan Lucas Reviewed-By: Jon Moss Reviewed-By: Luigi Pinca Reviewed-By: James M Snell Reviewed-By: Ruben Bridgewater Reviewed-By: Timothy Gu --- .mailmap | 2 ++ AUTHORS | 67 +++++++++++++++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 68 insertions(+), 1 deletion(-) diff --git a/.mailmap b/.mailmap index e5790b736e88de..fd6816a5dce7d3 100644 --- a/.mailmap +++ b/.mailmap @@ -198,6 +198,7 @@ Lydia Kats Lydia Katsamberis Maciej Małecki Malte-Thorben Bruns Malte-Thorben Bruns skenqbx +Mandeep Singh Manil Chowdhurian Chowdhurian Marcelo Gobelli decareano Marcin Cieślak @@ -206,6 +207,7 @@ Marcin Zielinski marzelin Marti Martz Martial James Jefferson Martijn Schrage Oblosys +Matheus Marchini Matt Lang matt-in-a-hat Matt Reed matthewreed26 Matthias Bastian piepmatz diff --git a/AUTHORS b/AUTHORS index 7e48fe0aba2fa3..8d8e74493aff0a 100644 --- a/AUTHORS +++ b/AUTHORS @@ -1616,7 +1616,7 @@ Guy Margalit Azard nishijayaraj Nick Stanish -Mandeep Singh +Mandeep Singh Prakash Palaniappan Keita Akutsu Michael Albert @@ -1971,5 +1971,70 @@ Steve Kinney Sebastian Mayr Vijayalakshmi Kannan Benjamin Zaslavsky +Sebastian Silbermann +pimlie +buji +Witthawat Piwawatthanapanit +sgreylyn +Xavier Balloy +François Descamps +Guillaume Flandre +Pierre-Loic Doulcet +Fran Herrero +Francois KY +suman-mitra +Matheus Marchini +neta +Whien +Chiahao Lin +esbb48 +Roth Peng +jimliu7434 +YuLun Shih +Kyle Yu +Ivan Wei +john +Jamie Davis +Scya597 +Zack Yang +aryung chen +Larry Lu +Robert Rossmann +薛定谔的猫 +danielLin +jackyen +Kurt Hsu +sorarize@gmail.com +Jason Chung +Thomas den Hollander +Ronald Eddy Jr +Richard Littauer +pkovacs +zhengyuanjie +Andy Chen +Kcin1993 +yozian +jimmy +Leko +Aqui Tsuchida +koooge +kou-hin +Hiroaki KARASAWA +narirou +Antonio V +spring_raining +Hiromu Yoshiwara +yuza yuko +smatsu-hl +Bamieh +WhoMeNope +Junichi Kajiwara +Matthew Leon +Hativ +Tom Hallam +Hannes Magnusson +ChungNgoops +Jose M. Palacios Diaz +hmammedzadeh # Generated by tools/update-authors.sh From 3cf8f98c3e4772b0cc87a5c91d0b388c67c997e5 Mon Sep 17 00:00:00 2001 From: IHsuan Date: Wed, 22 Nov 2017 16:39:05 +0800 Subject: [PATCH 092/116] test: add common.crashOnUnhandledRejection() PR-URL: https://github.com/nodejs/node/pull/17247 Reviewed-By: James M Snell Reviewed-By: Jon Moss Reviewed-By: Anna Henningsen --- test/addons/make-callback-recurse/test.js | 1 + 1 file changed, 1 insertion(+) diff --git a/test/addons/make-callback-recurse/test.js b/test/addons/make-callback-recurse/test.js index 895769bc33029a..cdddc3cae7e957 100644 --- a/test/addons/make-callback-recurse/test.js +++ b/test/addons/make-callback-recurse/test.js @@ -9,6 +9,7 @@ const makeCallback = binding.makeCallback; // Make sure this is run in the future. const mustCallCheckDomains = common.mustCall(checkDomains); +common.crashOnUnhandledRejection(); // Make sure that using MakeCallback allows the error to propagate. assert.throws(function() { From b563908ff92203a0123a45dee29e9d078f2e9c5d Mon Sep 17 00:00:00 2001 From: Daniel Bevenius Date: Wed, 6 Dec 2017 14:26:08 +0100 Subject: [PATCH 093/116] crypto: use SetNull instead of Set MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This commit updates the only usage of Set(Null(env->isolate()) to use SetNull() instead which is used in other places in node_crypto.cc. PR-URL: https://github.com/nodejs/node/pull/17521 Reviewed-By: Anna Henningsen Reviewed-By: Anatoli Papirovski Reviewed-By: Colin Ihrig Reviewed-By: Tobias Nießen --- src/node_crypto.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/node_crypto.cc b/src/node_crypto.cc index ba693377a77bc9..af892d4367c5da 100644 --- a/src/node_crypto.cc +++ b/src/node_crypto.cc @@ -1290,7 +1290,7 @@ void SecureContext::GetCertificate(const FunctionCallbackInfo& args) { else cert = wrap->issuer_; if (cert == nullptr) - return args.GetReturnValue().Set(Null(env->isolate())); + return args.GetReturnValue().SetNull(); int size = i2d_X509(cert, nullptr); Local buff = Buffer::New(env, size).ToLocalChecked(); From a15da3bf45e9a86d72342efdb21a280bbf94471b Mon Sep 17 00:00:00 2001 From: Rich Trott Date: Wed, 6 Dec 2017 10:15:58 -0800 Subject: [PATCH 094/116] doc: fix common typo involving one-time listeners Our docs use both "one time listener" and "one-time listener". The second is more correct. Standardize on that. PR-URL: https://github.com/nodejs/node/pull/17502 Reviewed-By: Colin Ihrig Reviewed-By: Richard Lau Reviewed-By: Anatoli Papirovski Reviewed-By: Jon Moss Reviewed-By: Minwoo Jung Reviewed-By: Luigi Pinca --- doc/api/events.md | 4 ++-- doc/api/http.md | 2 +- doc/api/net.md | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/doc/api/events.md b/doc/api/events.md index 9e6cd371bba506..07a4774c04d3c8 100644 --- a/doc/api/events.md +++ b/doc/api/events.md @@ -404,7 +404,7 @@ added: v0.3.0 * `eventName` {string|symbol} The name of the event. * `listener` {Function} The callback function -Adds a **one time** `listener` function for the event named `eventName`. The +Adds a **one-time** `listener` function for the event named `eventName`. The next time `eventName` is triggered, this listener is removed and then invoked. ```js @@ -459,7 +459,7 @@ added: v6.0.0 * `eventName` {string|symbol} The name of the event. * `listener` {Function} The callback function -Adds a **one time** `listener` function for the event named `eventName` to the +Adds a **one-time** `listener` function for the event named `eventName` to the *beginning* of the listeners array. The next time `eventName` is triggered, this listener is removed, and then invoked. diff --git a/doc/api/http.md b/doc/api/http.md index be26d882669a84..fac7798071eee1 100644 --- a/doc/api/http.md +++ b/doc/api/http.md @@ -1570,7 +1570,7 @@ This function allows one to transparently issue requests. `options` can be an object or a string. If `options` is a string, it is automatically parsed with [`url.parse()`][]. -The optional `callback` parameter will be added as a one time listener for +The optional `callback` parameter will be added as a one-time listener for the [`'response'`][] event. `http.request()` returns an instance of the [`http.ClientRequest`][] diff --git a/doc/api/net.md b/doc/api/net.md index 3308fc27f0edef..5c9c3dea6051b4 100644 --- a/doc/api/net.md +++ b/doc/api/net.md @@ -694,7 +694,7 @@ or [`destroy()`][] the socket. If `timeout` is 0, then the existing idle timeout is disabled. -The optional `callback` parameter will be added as a one time listener for the +The optional `callback` parameter will be added as a one-time listener for the [`'timeout'`][] event. ### socket.unref() From a44f0855b4e1a43fc127f5c98fcc59d834ba7b1e Mon Sep 17 00:00:00 2001 From: Rich Trott Date: Wed, 6 Dec 2017 10:18:05 -0800 Subject: [PATCH 095/116] doc: fix typo in repl.md PR-URL: https://github.com/nodejs/node/pull/17502 Reviewed-By: Colin Ihrig Reviewed-By: Richard Lau Reviewed-By: Anatoli Papirovski Reviewed-By: Jon Moss Reviewed-By: Minwoo Jung Reviewed-By: Luigi Pinca --- doc/api/repl.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/api/repl.md b/doc/api/repl.md index 3cac76497a0a47..69f709a1be874b 100644 --- a/doc/api/repl.md +++ b/doc/api/repl.md @@ -386,7 +386,7 @@ added: v0.1.91 * `output` {Writable} The Writable stream to which REPL output will be written. Defaults to `process.stdout`. * `terminal` {boolean} If `true`, specifies that the `output` should be - treated as a a TTY terminal, and have ANSI/VT100 escape codes written to it. + treated as a TTY terminal, and have ANSI/VT100 escape codes written to it. Defaults to checking the value of the `isTTY` property on the `output` stream upon instantiation. * `eval` {Function} The function to be used when evaluating each given line From 6e7ace2dcf55b3a2a7c27b548d95a392be8d1bca Mon Sep 17 00:00:00 2001 From: Leko Date: Mon, 4 Dec 2017 16:21:18 +0900 Subject: [PATCH 096/116] test: replace fs.accessSync with fs.existsSync PR-URL: https://github.com/nodejs/node/pull/17446 Reviewed-By: Luigi Pinca Reviewed-By: Anatoli Papirovski Reviewed-By: James M Snell Reviewed-By: Ruben Bridgewater Reviewed-By: Colin Ihrig --- test/parallel/test-npm-install.js | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/test/parallel/test-npm-install.js b/test/parallel/test-npm-install.js index 4e718a78ddcbdd..d4f8149a844a27 100644 --- a/test/parallel/test-npm-install.js +++ b/test/parallel/test-npm-install.js @@ -55,7 +55,5 @@ function handleExit(error, stdout, stderr) { assert.strictEqual(code, 0, `npm install got error code ${code}`); assert.strictEqual(signalCode, null, `unexpected signal: ${signalCode}`); - assert.doesNotThrow(function() { - fs.accessSync(`${installDir}/node_modules/package-name`); - }); + assert(fs.existsSync(`${installDir}/node_modules/package-name`)); } From ee52ce954a9321095466046fb4906d158ff23f0a Mon Sep 17 00:00:00 2001 From: Jon Moss Date: Wed, 6 Dec 2017 19:26:40 -0500 Subject: [PATCH 097/116] doc: mention node-test-pull-request-lite job PR-URL: https://github.com/nodejs/node/pull/17513 Reviewed-By: Anatoli Papirovski Reviewed-By: Rich Trott Reviewed-By: Colin Ihrig Reviewed-By: Luigi Pinca --- COLLABORATOR_GUIDE.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/COLLABORATOR_GUIDE.md b/COLLABORATOR_GUIDE.md index c65317dd570dcf..55c1d8a571e820 100644 --- a/COLLABORATOR_GUIDE.md +++ b/COLLABORATOR_GUIDE.md @@ -153,6 +153,10 @@ which runs the `build-ci` and `test-ci` targets on all supported platforms. only runs the linter targets, which is useful for changes that only affect comments or documentation. +* [`node-test-pull-request-lite`](https://ci.nodejs.org/job/node-test-pull-request-lite/) +only runs the linter job, as well as the tests on LinuxONE. Should only be used for +trivial changes that do not require being tested on all platforms. + * [`citgm-smoker`](https://ci.nodejs.org/job/citgm-smoker/) uses [`CitGM`](https://github.com/nodejs/citgm) to allow you to run `npm install && npm test` on a large selection of common modules. This is useful to check whether a From d4d3f50f9df3b2266d5494eeb54e6ce2445153cf Mon Sep 17 00:00:00 2001 From: sreepurnajasti Date: Wed, 6 Dec 2017 17:02:41 +0530 Subject: [PATCH 098/116] test: Use common.mustCall in http test PR-URL: https://github.com/nodejs/node/pull/17487 Refs: https://github.com/nodejs/node/issues/17169 Reviewed-By: Jon Moss Reviewed-By: Anatoli Papirovski --- test/parallel/test-http-pipeline-regr-2639.js | 17 ++++------------- 1 file changed, 4 insertions(+), 13 deletions(-) diff --git a/test/parallel/test-http-pipeline-regr-2639.js b/test/parallel/test-http-pipeline-regr-2639.js index 133e4126683d9b..8eaf5588aaf2bd 100644 --- a/test/parallel/test-http-pipeline-regr-2639.js +++ b/test/parallel/test-http-pipeline-regr-2639.js @@ -1,25 +1,20 @@ 'use strict'; -require('../common'); -const assert = require('assert'); +const common = require('../common'); const http = require('http'); const net = require('net'); const COUNT = 10; -let received = 0; - -const server = http.createServer(function(req, res) { +const server = http.createServer(common.mustCall((req, res) => { // Close the server, we have only one TCP connection anyway - if (received++ === 0) - server.close(); - + server.close(); res.writeHead(200); res.write('data'); setTimeout(function() { res.end(); }, (Math.random() * 100) | 0); -}).listen(0, function() { +}, COUNT)).listen(0, function() { const s = net.connect(this.address().port); const big = 'GET / HTTP/1.0\r\n\r\n'.repeat(COUNT); @@ -27,7 +22,3 @@ const server = http.createServer(function(req, res) { s.write(big); s.resume(); }); - -process.on('exit', function() { - assert.strictEqual(received, COUNT); -}); From 68dabce07a9e02b27351091cd03bdb0241f508d5 Mon Sep 17 00:00:00 2001 From: Shilo Mangam Date: Wed, 6 Dec 2017 20:36:28 +0200 Subject: [PATCH 099/116] test: use Countdown in test-http-set-cookies PR-URL: https://github.com/nodejs/node/pull/17504 Reviewed-By: Anatoli Papirovski Reviewed-By: Luigi Pinca Reviewed-By: Jon Moss --- test/parallel/test-http-set-cookies.js | 16 ++++------------ 1 file changed, 4 insertions(+), 12 deletions(-) diff --git a/test/parallel/test-http-set-cookies.js b/test/parallel/test-http-set-cookies.js index 7be28b04034fb0..a0f2be63b946b8 100644 --- a/test/parallel/test-http-set-cookies.js +++ b/test/parallel/test-http-set-cookies.js @@ -2,9 +2,9 @@ require('../common'); const assert = require('assert'); const http = require('http'); +const Countdown = require('../common/countdown'); -let nresponses = 0; - +const countdown = new Countdown(2, () => server.close()); const server = http.createServer(function(req, res) { if (req.url === '/one') { res.writeHead(200, [['set-cookie', 'A'], @@ -34,9 +34,7 @@ server.on('listening', function() { }); res.on('end', function() { - if (++nresponses === 2) { - server.close(); - } + countdown.dec(); }); }); @@ -51,14 +49,8 @@ server.on('listening', function() { }); res.on('end', function() { - if (++nresponses === 2) { - server.close(); - } + countdown.dec(); }); }); }); - -process.on('exit', function() { - assert.strictEqual(2, nresponses); -}); From e9cacee677b2f4e7495c2503ac05a738c9e17312 Mon Sep 17 00:00:00 2001 From: Mandeep Singh Date: Sun, 26 Nov 2017 23:26:41 +0530 Subject: [PATCH 100/116] test: use Countdown in http-response-statuscode PR-URL: https://github.com/nodejs/node/pull/17327 Refs: https://github.com/nodejs/node/issues/17169 Reviewed-By: Jon Moss Reviewed-By: Anatoli Papirovski --- test/parallel/test-http-response-statuscode.js | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/test/parallel/test-http-response-statuscode.js b/test/parallel/test-http-response-statuscode.js index ed3676b03e1f0c..ad50c79022ba3d 100644 --- a/test/parallel/test-http-response-statuscode.js +++ b/test/parallel/test-http-response-statuscode.js @@ -2,6 +2,7 @@ const common = require('../common'); const assert = require('assert'); const http = require('http'); +const Countdown = require('../common/countdown'); const MAX_REQUESTS = 13; let reqNum = 0; @@ -86,13 +87,17 @@ const server = http.Server(common.mustCall(function(req, res) { }, MAX_REQUESTS)); server.listen(); +const countdown = new Countdown(MAX_REQUESTS, () => server.close()); + server.on('listening', function makeRequest() { http.get({ port: this.address().port }, (res) => { assert.strictEqual(res.statusCode, 200); res.on('end', () => { - if (++reqNum < MAX_REQUESTS) + countdown.dec(); + reqNum = MAX_REQUESTS - countdown.remaining; + if (countdown.remaining > 0) makeRequest.call(this); }); res.resume(); From 013ef22ef8a07b077f82c726c648b125feac0978 Mon Sep 17 00:00:00 2001 From: Rich Trott Date: Wed, 6 Dec 2017 21:07:09 -0800 Subject: [PATCH 101/116] doc: improve readability of COLLABORATOR_GUIDE.md * convert run-on sentence to a bulleted list * standardize capitalization in "Collaborators" PR-URL: https://github.com/nodejs/node/pull/17519 Reviewed-By: Jon Moss Reviewed-By: Anatoli Papirovski Reviewed-By: Richard Lau Reviewed-By: Luigi Pinca --- COLLABORATOR_GUIDE.md | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/COLLABORATOR_GUIDE.md b/COLLABORATOR_GUIDE.md index 55c1d8a571e820..ce43bc208f7d05 100644 --- a/COLLABORATOR_GUIDE.md +++ b/COLLABORATOR_GUIDE.md @@ -130,7 +130,7 @@ can be fast-tracked and may be landed after a shorter delay: * Changes that fix regressions. When a pull request is deemed suitable to be fast-tracked, label it with -`fast-track`. The pull request can be landed once 2 or more collaborators +`fast-track`. The pull request can be landed once 2 or more Collaborators approve both the pull request and the fast-tracking request, and the necessary CI testing is done. @@ -225,15 +225,16 @@ on how to handle those types of changes. ### Breaking Changes Backwards-incompatible changes may land on the master branch at any time after -sufficient review by collaborators and approval of at least two TSC members. - -Examples of breaking changes include, but are not necessarily limited to, -removal or redefinition of existing API arguments, changing return values -(except when return values do not currently exist), removing or modifying -existing properties on an options argument, adding or removing errors, -changing error messages in any way, altering expected timing of an event (e.g. -moving from sync to async responses or vice versa), and changing the -non-internal side effects of using a particular API. +sufficient review by Collaborators and approval of at least two TSC members. + +Examples of breaking changes include: + +* removal or redefinition of existing API arguments +* changing return values +* removing or modifying existing properties on an options argument +* adding or removing errors +* altering expected timing of an event +* changing the side effects of using a particular API Purely additive changes (e.g. adding new events to `EventEmitter` implementations, adding new arguments to a method in a way that allows From 67c526fbb855fb94b65f9e3be46aa68525021737 Mon Sep 17 00:00:00 2001 From: Rich Trott Date: Wed, 6 Dec 2017 21:15:39 -0800 Subject: [PATCH 102/116] doc: improve text for Console constructor Make text for Console constructor more precise. PR-URL: https://github.com/nodejs/node/pull/17519 Reviewed-By: Jon Moss Reviewed-By: Anatoli Papirovski Reviewed-By: Richard Lau Reviewed-By: Luigi Pinca --- doc/api/console.md | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/doc/api/console.md b/doc/api/console.md index 93ac3bd81ea4de..cc7e8b0022c25b 100644 --- a/doc/api/console.md +++ b/doc/api/console.md @@ -72,10 +72,9 @@ const Console = console.Console; ### new Console(stdout[, stderr]) -Creates a new `Console` by passing one or two writable stream instances. -`stdout` is a writable stream to print log or info output. `stderr` -is used for warning or error output. If `stderr` is not passed, warning and error -output will be sent to `stdout`. +Creates a new `Console` with one or two writable stream instances. `stdout` is a +writable stream to print log or info output. `stderr` is used for warning or +error output. If `stderr` is not provided, `stdout` is used for `stderr`. ```js const output = fs.createWriteStream('./stdout.log'); From 23edd08b0018dd02506f50f9bc0735bdcfef6eda Mon Sep 17 00:00:00 2001 From: idandagan1 Date: Wed, 6 Dec 2017 21:57:13 +0200 Subject: [PATCH 103/116] test: use Countdown in http test PR-URL: https://github.com/nodejs/node/pull/17506 Reviewed-By: Anatoli Papirovski Reviewed-By: Jon Moss Reviewed-By: Luigi Pinca --- .../test-http-incoming-pipelined-socket-destroy.js | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/test/parallel/test-http-incoming-pipelined-socket-destroy.js b/test/parallel/test-http-incoming-pipelined-socket-destroy.js index aef43eaba1f622..61e7729acc5324 100644 --- a/test/parallel/test-http-incoming-pipelined-socket-destroy.js +++ b/test/parallel/test-http-incoming-pipelined-socket-destroy.js @@ -1,10 +1,12 @@ 'use strict'; const common = require('../common'); +const Countdown = require('../common/countdown'); const http = require('http'); const net = require('net'); const seeds = [ 3, 1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4 ]; +const countdown = new Countdown(seeds.length, () => server.close()); // Set up some timing issues where sockets can be destroyed // via either the req or res. @@ -51,11 +53,8 @@ function generator(seeds) { server.listen(0, common.mustCall(function() { const client = net.connect({ port: this.address().port }); - let done = 0; server.on('requestDone', function() { - if (++done === seeds.length) { - server.close(); - } + countdown.dec(); }); // immediately write the pipelined requests. From f53b4df00ef0983e24bc65276cbd16266daf62aa Mon Sep 17 00:00:00 2001 From: Cameron Moorehead Date: Mon, 27 Nov 2017 18:01:56 -0800 Subject: [PATCH 104/116] doc: 'constructor' implies use of new keyword The square module is described as exporting a constructor, which would mean it would need to be invoked with the new keyword in bar.js after requiring it. Otherwise it's technically a factory function, not a constructor. PR-URL: https://github.com/nodejs/node/pull/17364 Reviewed-By: Anna Henningsen Reviewed-By: Jon Moss Reviewed-By: Colin Ihrig Reviewed-By: Timothy Gu --- doc/api/modules.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/doc/api/modules.md b/doc/api/modules.md index e73264831f2c58..5ceda7c1ff3fd6 100644 --- a/doc/api/modules.md +++ b/doc/api/modules.md @@ -43,9 +43,9 @@ instead of `exports`. Below, `bar.js` makes use of the `square` module, which exports a constructor: ```js -const square = require('./square.js'); -const mySquare = square(2); -console.log(`The area of my square is ${mySquare.area()}`); +const Square = require('./square.js'); +const mySquare = new Square(2); +console.log(`The area of mySquare is ${mySquare.area()}`); ``` The `square` module is defined in `square.js`: From bd4b97fe3df4f1e95000491016e621c6448f2651 Mon Sep 17 00:00:00 2001 From: TomerOmri Date: Wed, 6 Dec 2017 21:13:37 +0200 Subject: [PATCH 105/116] test: update test-http-should-keep-alive to use countdown PR-URL: https://github.com/nodejs/node/pull/17505 Reviewed-By: Anatoli Papirovski Reviewed-By: Jon Moss --- test/parallel/test-http-should-keep-alive.js | 28 ++++++++------------ 1 file changed, 11 insertions(+), 17 deletions(-) diff --git a/test/parallel/test-http-should-keep-alive.js b/test/parallel/test-http-should-keep-alive.js index 4a9ff8e2a538e3..8b4619afbc0e75 100644 --- a/test/parallel/test-http-should-keep-alive.js +++ b/test/parallel/test-http-should-keep-alive.js @@ -3,6 +3,7 @@ require('../common'); const assert = require('assert'); const http = require('http'); const net = require('net'); +const Countdown = require('../common/countdown'); const SERVER_RESPONSES = [ 'HTTP/1.0 200 ok\r\nContent-Length: 0\r\n\r\n', @@ -20,34 +21,27 @@ const SHOULD_KEEP_ALIVE = [ true, // HTTP/1.1, Connection: keep-alive false // HTTP/1.1, Connection: close ]; -let requests = 0; -let responses = 0; http.globalAgent.maxSockets = 5; +const countdown = new Countdown(SHOULD_KEEP_ALIVE.length, () => server.close()); + +const getCountdownIndex = () => SERVER_RESPONSES.length - countdown.remaining; + const server = net.createServer(function(socket) { - socket.write(SERVER_RESPONSES[requests]); - ++requests; + socket.write(SERVER_RESPONSES[getCountdownIndex()]); }).listen(0, function() { function makeRequest() { const req = http.get({port: server.address().port}, function(res) { assert.strictEqual( - req.shouldKeepAlive, SHOULD_KEEP_ALIVE[responses], - `${SERVER_RESPONSES[responses]} should ${ - SHOULD_KEEP_ALIVE[responses] ? '' : 'not '}Keep-Alive`); - ++responses; - if (responses < SHOULD_KEEP_ALIVE.length) { + req.shouldKeepAlive, SHOULD_KEEP_ALIVE[getCountdownIndex()], + `${SERVER_RESPONSES[getCountdownIndex()]} should ${ + SHOULD_KEEP_ALIVE[getCountdownIndex()] ? '' : 'not '}Keep-Alive`); + countdown.dec(); + if (countdown.remaining) { makeRequest(); - } else { - server.close(); } res.resume(); }); } - makeRequest(); }); - -process.on('exit', function() { - assert.strictEqual(requests, SERVER_RESPONSES.length); - assert.strictEqual(responses, SHOULD_KEEP_ALIVE.length); -}); From a50366fbf73fdb6316cf5be6af899839e037b725 Mon Sep 17 00:00:00 2001 From: Adri Van Houdt Date: Mon, 6 Nov 2017 16:49:07 +0000 Subject: [PATCH 106/116] test: improve assert messages in repl-reset-event PR-URL: https://github.com/nodejs/node/pull/16836 Reviewed-By: Gireesh Punathil Reviewed-By: James M Snell --- test/parallel/test-repl-reset-event.js | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/test/parallel/test-repl-reset-event.js b/test/parallel/test-repl-reset-event.js index 190aa2227de9a3..22f81604886f49 100644 --- a/test/parallel/test-repl-reset-event.js +++ b/test/parallel/test-repl-reset-event.js @@ -4,6 +4,7 @@ common.globalCheck = false; const assert = require('assert'); const repl = require('repl'); +const util = require('util'); // Create a dummy stream that does nothing const dummy = new common.ArrayStream(); @@ -17,11 +18,13 @@ function testReset(cb) { r.context.foo = 42; r.on('reset', common.mustCall(function(context) { assert(!!context, 'REPL did not emit a context with reset event'); - assert.strictEqual(context, r.context, 'REPL emitted incorrect context'); + assert.strictEqual(context, r.context, 'REPL emitted incorrect context. ' + + `context is ${util.inspect(context)}, expected ${util.inspect(r.context)}`); assert.strictEqual( context.foo, undefined, - 'REPL emitted the previous context, and is not using global as context' + 'REPL emitted the previous context and is not using global as context. ' + + `context.foo is ${context.foo}, expected undefined.` ); context.foo = 42; cb(); @@ -40,7 +43,8 @@ function testResetGlobal() { assert.strictEqual( context.foo, 42, - '"foo" property is missing from REPL using global as context' + '"foo" property is different from REPL using global as context. ' + + `context.foo is ${context.foo}, expected 42.` ); })); r.resetContext(); From ac6f345f70a226a24864e2ed006205896cbb1413 Mon Sep 17 00:00:00 2001 From: Gibson Fahnestock Date: Sun, 26 Nov 2017 13:30:08 +0000 Subject: [PATCH 107/116] build: allow running configure from any directory PR-URL: https://github.com/nodejs/node/pull/17321 Reviewed-By: Richard Lau Reviewed-By: Jon Moss Reviewed-By: Ben Noordhuis Reviewed-By: James M Snell Reviewed-By: Colin Ihrig Reviewed-By: Anna Henningsen Reviewed-By: Refael Ackermann Reviewed-By: Ruben Bridgewater --- configure | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/configure b/configure index 90f0c568649eb9..10d46159a83923 100755 --- a/configure +++ b/configure @@ -35,21 +35,23 @@ import subprocess import shutil import string +# If not run from node/, cd to node/. +os.chdir(os.path.dirname(__file__) or '.') + # gcc and g++ as defaults matches what GYP's Makefile generator does, # except on OS X. CC = os.environ.get('CC', 'cc' if sys.platform == 'darwin' else 'gcc') CXX = os.environ.get('CXX', 'c++' if sys.platform == 'darwin' else 'g++') -root_dir = os.path.dirname(__file__) -sys.path.insert(0, os.path.join(root_dir, 'tools', 'gyp', 'pylib')) +sys.path.insert(0, os.path.join('tools', 'gyp', 'pylib')) from gyp.common import GetFlavor # imports in tools/configure.d -sys.path.insert(0, os.path.join(root_dir, 'tools', 'configure.d')) +sys.path.insert(0, os.path.join('tools', 'configure.d')) import nodedownload # imports in tools/ -sys.path.insert(0, os.path.join(root_dir, 'tools')) +sys.path.insert(0, 'tools') import getmoduleversion from gyp_node import run_gyp @@ -403,7 +405,7 @@ intl_optgroup.add_option('--download', intl_optgroup.add_option('--download-path', action='store', dest='download_path', - default=os.path.join(root_dir, 'deps'), + default='deps', help='Download directory [default: %default]') parser.add_option_group(intl_optgroup) @@ -991,7 +993,7 @@ def configure_openssl(o): o['defines'] += ['NODE_WITHOUT_NODE_OPTIONS'] if options.openssl_fips: o['variables']['openssl_fips'] = options.openssl_fips - fips_dir = os.path.join(root_dir, 'deps', 'openssl', 'fips') + fips_dir = os.path.join('deps', 'openssl', 'fips') fips_ld = os.path.abspath(os.path.join(fips_dir, 'fipsld')) # LINK is for Makefiles, LD/LDXX is for ninja o['make_fips_settings'] = [ @@ -1036,7 +1038,7 @@ def configure_static(o): def write(filename, data): - filename = os.path.join(root_dir, filename) + filename = filename print('creating %s' % filename) f = open(filename, 'w+') f.write(data) @@ -1158,7 +1160,7 @@ def configure_intl(o): return # this is just the 'deps' dir. Used for unpacking. - icu_parent_path = os.path.join(root_dir, 'deps') + icu_parent_path = 'deps' # The full path to the ICU source directory. Should not include './'. icu_full_path = 'deps/icu' From dcee5edef795126d72d21e70b8d0924ef0cb9399 Mon Sep 17 00:00:00 2001 From: Rich Trott Date: Thu, 7 Dec 2017 14:49:57 -0800 Subject: [PATCH 108/116] doc: simplify and clarify FIPS text in BUILDING.md PR-URL: https://github.com/nodejs/node/pull/17538 Fixes: https://github.com/nodejs/node/issues/17536 Reviewed-By: Luigi Pinca Reviewed-By: Michael Dawson Reviewed-By: Jon Moss --- BUILDING.md | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/BUILDING.md b/BUILDING.md index 255a27d2dbfaf8..95d62c481cce80 100644 --- a/BUILDING.md +++ b/BUILDING.md @@ -347,17 +347,13 @@ as `deps/icu` (You'll have: `deps/icu/source/...`) ## Building Node.js with FIPS-compliant OpenSSL -NOTE: Windows is not yet supported +It is possible to build Node.js with the +[OpenSSL FIPS module](https://www.openssl.org/docs/fipsnotes.html) on POSIX +systems. Windows is not supported. -It is possible to build Node.js with -[OpenSSL FIPS module](https://www.openssl.org/docs/fipsnotes.html). - -**Note**: building in this way does **not** allow you to claim that the -runtime is FIPS 140-2 validated. Instead you can indicate that the runtime -uses a validated module. See the -[security policy](http://csrc.nist.gov/groups/STM/cmvp/documents/140-1/140sp/140sp1747.pdf) -page 60 for more details. In addition, the validation for the underlying module -is only valid if it is deployed in accordance with its +Building in this way does not mean the runtime is FIPS 140-2 validated, but +rather that the runtime uses a validated module. In addition, the validation for +the underlying module is only valid if it is deployed in accordance with its [security policy](http://csrc.nist.gov/groups/STM/cmvp/documents/140-1/140sp/140sp1747.pdf). If you need FIPS validated cryptography it is recommended that you read both the [security policy](http://csrc.nist.gov/groups/STM/cmvp/documents/140-1/140sp/140sp1747.pdf) From 2d74af0184c4e93886f9ecab085938baf2016629 Mon Sep 17 00:00:00 2001 From: Daniel Bevenius Date: Fri, 8 Dec 2017 15:17:53 +0100 Subject: [PATCH 109/116] src: remove unused include node_crypto_clienthello This commit removes the include of node.h which does not seem to be used. PR-URL: https://github.com/nodejs/node/pull/17546 Reviewed-By: Ben Noordhuis Reviewed-By: Colin Ihrig --- src/node_crypto_clienthello.h | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/node_crypto_clienthello.h b/src/node_crypto_clienthello.h index 0b0c8b1712c3ee..ee9cce1848a363 100644 --- a/src/node_crypto_clienthello.h +++ b/src/node_crypto_clienthello.h @@ -3,9 +3,8 @@ #if defined(NODE_WANT_INTERNALS) && NODE_WANT_INTERNALS -#include "node.h" - #include // size_t +#include #include // nullptr namespace node { From 3e70ee84fbc0b049e802318bca23c88b897a8e41 Mon Sep 17 00:00:00 2001 From: cjihrig Date: Sat, 9 Dec 2017 09:38:14 -0500 Subject: [PATCH 110/116] tools: simplify prefer-common-mustnotcall rule PR-URL: https://github.com/nodejs/node/pull/17572 Reviewed-By: Anatoli Papirovski --- .../eslint-rules/prefer-common-mustnotcall.js | 35 +++++++------------ 1 file changed, 13 insertions(+), 22 deletions(-) diff --git a/tools/eslint-rules/prefer-common-mustnotcall.js b/tools/eslint-rules/prefer-common-mustnotcall.js index 6bc428ed59a8b8..ef3c5fb729f31f 100644 --- a/tools/eslint-rules/prefer-common-mustnotcall.js +++ b/tools/eslint-rules/prefer-common-mustnotcall.js @@ -10,30 +10,21 @@ const msg = 'Please use common.mustNotCall(msg) instead of ' + 'common.mustCall(fn, 0) or common.mustCall(0).'; - -function isCommonMustCall(node) { - return node && - node.callee && - node.callee.object && - node.callee.object.name === 'common' && - node.callee.property && - node.callee.property.name === 'mustCall'; -} - -function isArgZero(argument) { - return argument && - typeof argument.value === 'number' && - argument.value === 0; -} +const mustCallSelector = 'CallExpression[callee.object.name="common"]' + + '[callee.property.name="mustCall"]'; +const arg0Selector = `${mustCallSelector}[arguments.0.value=0]`; +const arg1Selector = `${mustCallSelector}[arguments.1.value=0]`; module.exports = function(context) { + function report(node) { + context.report(node, msg); + } + return { - CallExpression(node) { - if (isCommonMustCall(node) && - (isArgZero(node.arguments[0]) || // catch common.mustCall(0) - isArgZero(node.arguments[1]))) { // catch common.mustCall(fn, 0) - context.report(node, msg); - } - } + // Catch common.mustCall(0) + [arg0Selector]: report, + + // Catch common.mustCall(fn, 0) + [arg1Selector]: report }; }; From 53834226723821b67736ec6b4805d75732d05af5 Mon Sep 17 00:00:00 2001 From: cjihrig Date: Sat, 9 Dec 2017 09:54:33 -0500 Subject: [PATCH 111/116] tools: simplify prefer-assert-methods rule PR-URL: https://github.com/nodejs/node/pull/17572 Reviewed-By: Anatoli Papirovski --- tools/eslint-rules/prefer-assert-methods.js | 27 ++++++--------------- 1 file changed, 8 insertions(+), 19 deletions(-) diff --git a/tools/eslint-rules/prefer-assert-methods.js b/tools/eslint-rules/prefer-assert-methods.js index fa345eb7c3fc33..0604fd3ed99046 100644 --- a/tools/eslint-rules/prefer-assert-methods.js +++ b/tools/eslint-rules/prefer-assert-methods.js @@ -1,15 +1,8 @@ 'use strict'; -function isAssert(node) { - return node.expression && - node.expression.type === 'CallExpression' && - node.expression.callee && - node.expression.callee.name === 'assert'; -} - -function getFirstArg(expression) { - return expression.arguments && expression.arguments[0]; -} +const astSelector = 'ExpressionStatement[expression.type="CallExpression"]' + + '[expression.callee.name="assert"]' + + '[expression.arguments.0.type="BinaryExpression"]'; function parseError(method, op) { return `'assert.${method}' should be used instead of '${op}'`; @@ -24,15 +17,11 @@ const preferedAssertMethod = { module.exports = function(context) { return { - ExpressionStatement(node) { - if (isAssert(node)) { - const arg = getFirstArg(node.expression); - if (arg && arg.type === 'BinaryExpression') { - const assertMethod = preferedAssertMethod[arg.operator]; - if (assertMethod) { - context.report(node, parseError(assertMethod, arg.operator)); - } - } + [astSelector]: function(node) { + const arg = node.expression.arguments[0]; + const assertMethod = preferedAssertMethod[arg.operator]; + if (assertMethod) { + context.report(node, parseError(assertMethod, arg.operator)); } } }; From ad0d878772f8533dbd4ed87b67b25a2ef3be346c Mon Sep 17 00:00:00 2001 From: cjihrig Date: Sat, 9 Dec 2017 10:06:57 -0500 Subject: [PATCH 112/116] tools: simplify buffer-constructor rule PR-URL: https://github.com/nodejs/node/pull/17572 Reviewed-By: Anatoli Papirovski --- tools/eslint-rules/buffer-constructor.js | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/tools/eslint-rules/buffer-constructor.js b/tools/eslint-rules/buffer-constructor.js index 938598e8dbf618..412fdaa934664b 100644 --- a/tools/eslint-rules/buffer-constructor.js +++ b/tools/eslint-rules/buffer-constructor.js @@ -10,16 +10,11 @@ const msg = 'Use of the Buffer() constructor has been deprecated. ' + 'Please use either Buffer.alloc(), Buffer.allocUnsafe(), ' + 'or Buffer.from()'; - -function test(context, node) { - if (node.callee.name === 'Buffer') { - context.report(node, msg); - } -} +const astSelector = 'NewExpression[callee.name="Buffer"],' + + 'CallExpression[callee.name="Buffer"]'; module.exports = function(context) { return { - 'NewExpression': (node) => test(context, node), - 'CallExpression': (node) => test(context, node) + [astSelector]: (node) => context.report(node, msg) }; }; From dbf5ddbc9748c27fd2b4efb6298dbe4875f1d40d Mon Sep 17 00:00:00 2001 From: Rich Trott Date: Sun, 10 Dec 2017 15:55:00 -0800 Subject: [PATCH 113/116] test: refactor test-child-process-pass-fd Add a comment explaining the test (especailly why it forks 80 processes. Use destructuring and an arrow function callback. PR-URL: https://github.com/nodejs/node/pull/17596 Reviewed-By: Khaidi Chu Reviewed-By: Ruben Bridgewater Reviewed-By: Colin Ihrig Reviewed-By: Minwoo Jung --- test/sequential/test-child-process-pass-fd.js | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/test/sequential/test-child-process-pass-fd.js b/test/sequential/test-child-process-pass-fd.js index 8cc11f6c11f5b4..73e469cdede2be 100644 --- a/test/sequential/test-child-process-pass-fd.js +++ b/test/sequential/test-child-process-pass-fd.js @@ -1,11 +1,20 @@ 'use strict'; const common = require('../common'); + +// On some OS X versions, when passing fd's between processes: +// When the handle associated to a specific file descriptor is closed by the +// sender process before it's received in the destination, the handle is indeed +// closed while it should remain opened. In order to fix this behavior, don't +// close the handle until the `NODE_HANDLE_ACK` is received by the sender. +// This test is basically `test-cluster-net-send` but creating lots of workers +// so the issue reproduces on OS X consistently. + if ((process.config.variables.arm_version === '6') || (process.config.variables.arm_version === '7')) common.skip('Too slow for armv6 and armv7 bots'); const assert = require('assert'); -const fork = require('child_process').fork; +const { fork } = require('child_process'); const net = require('net'); const N = 80; @@ -46,14 +55,14 @@ if (process.argv[2] !== 'child') { process.on('message', common.mustCall()); const server = net.createServer((c) => { - process.once('message', function(msg) { + process.once('message', (msg) => { assert.strictEqual(msg, 'got'); c.end('hello'); }); socketConnected(); }).unref(); server.listen(0, common.localhostIPv4, () => { - const port = server.address().port; + const { port } = server.address(); socket = net.connect(port, common.localhostIPv4, socketConnected).unref(); }); } From b1b975370f812dbe573707b4acd23de958b69900 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=96=9B=E5=AE=9A=E8=B0=94=E7=9A=84=E7=8C=AB?= Date: Fri, 6 Oct 2017 05:17:48 +0800 Subject: [PATCH 114/116] benchmark,path: remove unused variables PR-URL: https://github.com/nodejs/node/pull/15789 Reviewed-By: Luigi Pinca Reviewed-By: James M Snell Reviewed-By: Ruben Bridgewater --- benchmark/fs/read-stream-throughput.js | 2 +- lib/path.js | 4 ---- 2 files changed, 1 insertion(+), 5 deletions(-) diff --git a/benchmark/fs/read-stream-throughput.js b/benchmark/fs/read-stream-throughput.js index bc55e44c1a18d7..b4fc5bc1deb3cc 100644 --- a/benchmark/fs/read-stream-throughput.js +++ b/benchmark/fs/read-stream-throughput.js @@ -33,7 +33,7 @@ function main(conf) { throw new Error('invalid type'); } - makeFile(runTest); + makeFile(); } function runTest() { diff --git a/lib/path.js b/lib/path.js index 2af0ae0e145405..a121f5bf7e0160 100644 --- a/lib/path.js +++ b/lib/path.js @@ -269,7 +269,6 @@ const win32 = { (code >= 97/*a*/ && code <= 122/*z*/)) { // Possible device root - code = path.charCodeAt(1); if (path.charCodeAt(1) === 58/*:*/) { device = path.slice(0, 2); rootEnd = 2; @@ -391,7 +390,6 @@ const win32 = { (code >= 97/*a*/ && code <= 122/*z*/)) { // Possible device root - code = path.charCodeAt(1); if (path.charCodeAt(1) === 58/*:*/) { device = path.slice(0, 2); rootEnd = 2; @@ -769,7 +767,6 @@ const win32 = { (code >= 97/*a*/ && code <= 122/*z*/)) { // Possible device root - code = path.charCodeAt(1); if (path.charCodeAt(1) === 58/*:*/) { rootEnd = offset = 2; if (len > 2) { @@ -1037,7 +1034,6 @@ const win32 = { (code >= 97/*a*/ && code <= 122/*z*/)) { // Possible device root - code = path.charCodeAt(1); if (path.charCodeAt(1) === 58/*:*/) { rootEnd = 2; if (len > 2) { From a528d573ce4e948e4e2274f3be9ddf41ece40f72 Mon Sep 17 00:00:00 2001 From: Rich Trott Date: Tue, 5 Dec 2017 00:31:20 -0800 Subject: [PATCH 115/116] test: remove hidden use of common.PORT in parallel tests common.hasMultiLocalhost() uses common.PORT under the hood. This is problematic in parallel tests because another test using port 0 to get an arbitrary open port may end up getting common.PORT before the test using common.PORT gets it. Therefore, change common.PORT to port 0 in common.hasMultiLocalhost(). Backport-PR-URL: https://github.com/nodejs/node/pull/17771 PR-URL: https://github.com/nodejs/node/pull/17466 Reviewed-By: Luigi Pinca Reviewed-By: Colin Ihrig Reviewed-By: Jon Moss Reviewed-By: James M Snell Reviewed-By: Michael Dawson Reviewed-By: Ruben Bridgewater --- test/common/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/common/index.js b/test/common/index.js index 148dad20001b04..6ea3d89f0b9a37 100644 --- a/test/common/index.js +++ b/test/common/index.js @@ -466,7 +466,7 @@ function _mustCallInner(fn, criteria, field) { exports.hasMultiLocalhost = function hasMultiLocalhost() { const TCP = process.binding('tcp_wrap').TCP; const t = new TCP(); - const ret = t.bind('127.0.0.2', exports.PORT); + const ret = t.bind('127.0.0.2', 0); t.close(); return ret === 0; }; From d5fbd254efc860c873fe54166befd5453a4afd4d Mon Sep 17 00:00:00 2001 From: Myles Borins Date: Tue, 19 Dec 2017 21:43:08 -0500 Subject: [PATCH 116/116] 2018-01-02, Version 6.12.3 'Boron' (LTS) Notable Changes: * build: - configure can now be run from any directory (Gibson Fahnestock) https://github.com/nodejs/node/pull/17321 PR-URL: https://github.com/nodejs/node/pull/17776 --- CHANGELOG.md | 3 +- doc/changelogs/CHANGELOG_V6.md | 130 +++++++++++++++++++++++++++++++++ src/node_version.h | 2 +- 3 files changed, 133 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 60054c07787308..61a9e6675a555a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -26,7 +26,8 @@ release. -6.12.2
+6.12.3
+6.12.2
6.12.1
6.12.0
6.11.5
diff --git a/doc/changelogs/CHANGELOG_V6.md b/doc/changelogs/CHANGELOG_V6.md index dffe344620feee..5945bcf6d3e4db 100644 --- a/doc/changelogs/CHANGELOG_V6.md +++ b/doc/changelogs/CHANGELOG_V6.md @@ -7,6 +7,7 @@ +6.12.3
6.12.2
6.12.1
6.12.0
@@ -57,6 +58,135 @@ [Node.js Long Term Support Plan](https://github.com/nodejs/LTS) and will be supported actively until April 2018 and maintained until April 2019. + +## 2018-01-02, Version 6.12.3 'Boron' (LTS), @MylesBorins + +This LTS release comes with 115 commits. This includes 52 which are test related, +40 which are doc related, 12 which are build / tool related and 2 commits which updating a dependency. + +### Notable Changes + +* **build**: + - configure can now be run from any directory (Gibson Fahnestock) [#17321](https://github.com/nodejs/node/pull/17321) + +### Commits + +* [[`b1b975370f`](https://github.com/nodejs/node/commit/b1b975370f)] - **benchmark,path**: remove unused variables (薛定谔的猫) [#15789](https://github.com/nodejs/node/pull/15789) +* [[`ac6f345f70`](https://github.com/nodejs/node/commit/ac6f345f70)] - **build**: allow running configure from any directory (Gibson Fahnestock) [#17321](https://github.com/nodejs/node/pull/17321) +* [[`017492eca2`](https://github.com/nodejs/node/commit/017492eca2)] - **build**: add serial commas to messages in configure script (Rich Trott) [#17464](https://github.com/nodejs/node/pull/17464) +* [[`ad9a8578ee`](https://github.com/nodejs/node/commit/ad9a8578ee)] - **build**: fix test-v8 target (Michaël Zasso) [#17269](https://github.com/nodejs/node/pull/17269) +* [[`9ba35e859f`](https://github.com/nodejs/node/commit/9ba35e859f)] - **build**: remove empty VCLibrarianTool entry (Daniel Bevenius) [#17191](https://github.com/nodejs/node/pull/17191) +* [[`3d22e81d70`](https://github.com/nodejs/node/commit/3d22e81d70)] - **build**: minor corrections to configure descriptions (Daniel Bevenius) [#17094](https://github.com/nodejs/node/pull/17094) +* [[`92f41e553a`](https://github.com/nodejs/node/commit/92f41e553a)] - **build**: allow enabling the --trace-maps flag in V8 (Evan Lucas) [#14018](https://github.com/nodejs/node/pull/14018) +* [[`b563908ff9`](https://github.com/nodejs/node/commit/b563908ff9)] - **crypto**: use SetNull instead of Set (Daniel Bevenius) [#17521](https://github.com/nodejs/node/pull/17521) +* [[`b287b9e64b`](https://github.com/nodejs/node/commit/b287b9e64b)] - **deps**: V8: cherry-pick e8e9c07 from upstream (Ali Ijaz Sheikh) +* [[`9804e7f3bb`](https://github.com/nodejs/node/commit/9804e7f3bb)] - **deps**: V8: cherry-pick 9622696 from upstream (Ali Ijaz Sheikh) +* [[`dcee5edef7`](https://github.com/nodejs/node/commit/dcee5edef7)] - **doc**: simplify and clarify FIPS text in BUILDING.md (Rich Trott) [#17538](https://github.com/nodejs/node/pull/17538) +* [[`f53b4df00e`](https://github.com/nodejs/node/commit/f53b4df00e)] - **doc**: 'constructor' implies use of new keyword (Cameron Moorehead) [#17364](https://github.com/nodejs/node/pull/17364) +* [[`67c526fbb8`](https://github.com/nodejs/node/commit/67c526fbb8)] - **doc**: improve text for Console constructor (Rich Trott) [#17519](https://github.com/nodejs/node/pull/17519) +* [[`013ef22ef8`](https://github.com/nodejs/node/commit/013ef22ef8)] - **doc**: improve readability of COLLABORATOR_GUIDE.md (Rich Trott) [#17519](https://github.com/nodejs/node/pull/17519) +* [[`ee52ce954a`](https://github.com/nodejs/node/commit/ee52ce954a)] - **doc**: mention node-test-pull-request-lite job (Jon Moss) [#17513](https://github.com/nodejs/node/pull/17513) +* [[`a44f0855b4`](https://github.com/nodejs/node/commit/a44f0855b4)] - **doc**: fix typo in repl.md (Rich Trott) [#17502](https://github.com/nodejs/node/pull/17502) +* [[`a15da3bf45`](https://github.com/nodejs/node/commit/a15da3bf45)] - **doc**: fix common typo involving one-time listeners (Rich Trott) [#17502](https://github.com/nodejs/node/pull/17502) +* [[`92d2c9aecb`](https://github.com/nodejs/node/commit/92d2c9aecb)] - **doc**: update AUTHORS list (Michaël Zasso) [#17452](https://github.com/nodejs/node/pull/17452) +* [[`c24fafa881`](https://github.com/nodejs/node/commit/c24fafa881)] - **doc**: edit module introduction (Rich Trott) [#17463](https://github.com/nodejs/node/pull/17463) +* [[`8ca12e2b6e`](https://github.com/nodejs/node/commit/8ca12e2b6e)] - **doc**: standardize preposition usage in fs.md (Rich Trott) [#17463](https://github.com/nodejs/node/pull/17463) +* [[`e8368a12d2`](https://github.com/nodejs/node/commit/e8368a12d2)] - **doc**: improve punctuation in fs.open() text (Rich Trott) [#17463](https://github.com/nodejs/node/pull/17463) +* [[`4d4337d3d3`](https://github.com/nodejs/node/commit/4d4337d3d3)] - **doc**: use colon consistently in assert.md (Rich Trott) [#17463](https://github.com/nodejs/node/pull/17463) +* [[`0fa2f39457`](https://github.com/nodejs/node/commit/0fa2f39457)] - **doc**: improve checkServerIdentity docs (Hannes Magnusson) [#17203](https://github.com/nodejs/node/pull/17203) +* [[`35316dcd10`](https://github.com/nodejs/node/commit/35316dcd10)] - **doc**: add guide to maintaining npm (Myles Borins) [#16541](https://github.com/nodejs/node/pull/16541) +* [[`90ee2ee943`](https://github.com/nodejs/node/commit/90ee2ee943)] - **doc**: clarify fast-track of reversions (Refael Ackermann) [#17332](https://github.com/nodejs/node/pull/17332) +* [[`3eab248a1f`](https://github.com/nodejs/node/commit/3eab248a1f)] - **doc**: Add link for ECMAScript 2015 (smatsu-hl) [#17317](https://github.com/nodejs/node/pull/17317) +* [[`c519287d3d`](https://github.com/nodejs/node/commit/c519287d3d)] - **doc**: replace string with template string (Leko) [#17316](https://github.com/nodejs/node/pull/17316) +* [[`b2236a3804`](https://github.com/nodejs/node/commit/b2236a3804)] - **doc**: replace function with arrow function in vm.md (narirou) [#17307](https://github.com/nodejs/node/pull/17307) +* [[`46dc2416b9`](https://github.com/nodejs/node/commit/46dc2416b9)] - **doc**: fix typo in api doc of url.format(urlObject) (pkovacs) [#17295](https://github.com/nodejs/node/pull/17295) +* [[`b13dab8b4d`](https://github.com/nodejs/node/commit/b13dab8b4d)] - **doc**: add maclover7 to collaborators (Jon Moss) [#17289](https://github.com/nodejs/node/pull/17289) +* [[`ab91fe1686`](https://github.com/nodejs/node/commit/ab91fe1686)] - **doc**: update http URLs to https in README.md (Ronald Eddy Jr) [#17264](https://github.com/nodejs/node/pull/17264) +* [[`23f21a63d8`](https://github.com/nodejs/node/commit/23f21a63d8)] - **doc**: update http URLs to https in GOVERNANCE.md (Ronald Eddy Jr) [#17262](https://github.com/nodejs/node/pull/17262) +* [[`d692f4546c`](https://github.com/nodejs/node/commit/d692f4546c)] - **doc**: update http URLs to https in CONTRIBUTING.md (Ronald Eddy Jr) [#17261](https://github.com/nodejs/node/pull/17261) +* [[`a0bd1c0b81`](https://github.com/nodejs/node/commit/a0bd1c0b81)] - **doc**: add SharedArrayBuffer to Buffer documentation (Thomas den Hollander) [#15489](https://github.com/nodejs/node/pull/15489) +* [[`5f522a18d9`](https://github.com/nodejs/node/commit/5f522a18d9)] - **doc**: use better terminology for build machines (Anna Henningsen) [#17142](https://github.com/nodejs/node/pull/17142) +* [[`3f39e47f6c`](https://github.com/nodejs/node/commit/3f39e47f6c)] - **doc**: update mgol in AUTHORS.txt, add to .mailmap (Michał Gołębiowski-Owczarek) [#17239](https://github.com/nodejs/node/pull/17239) +* [[`80c6384985`](https://github.com/nodejs/node/commit/80c6384985)] - **doc**: update release table in V8 guide (Ali Ijaz Sheikh) [#17136](https://github.com/nodejs/node/pull/17136) +* [[`d4e9a2555d`](https://github.com/nodejs/node/commit/d4e9a2555d)] - **doc**: add guybedford to collaborators (Guy Bedford) [#17197](https://github.com/nodejs/node/pull/17197) +* [[`e232e210f6`](https://github.com/nodejs/node/commit/e232e210f6)] - **doc**: update AUTHORS list (Michaël Zasso) [#16571](https://github.com/nodejs/node/pull/16571) +* [[`ca76c336d1`](https://github.com/nodejs/node/commit/ca76c336d1)] - **doc**: normalize ToC indentation with heading levels in README (Rich Trott) [#17106](https://github.com/nodejs/node/pull/17106) +* [[`1815ca5066`](https://github.com/nodejs/node/commit/1815ca5066)] - **doc**: add Contributing to Node.js to the README ToC (Rich Trott) [#17106](https://github.com/nodejs/node/pull/17106) +* [[`d8f66676e5`](https://github.com/nodejs/node/commit/d8f66676e5)] - **doc**: merge Working Groups with Contributing to Node.js in README (Rich Trott) [#17106](https://github.com/nodejs/node/pull/17106) +* [[`b064c731ff`](https://github.com/nodejs/node/commit/b064c731ff)] - **doc**: remove IRC node-dev link from README (Rich Trott) [#17106](https://github.com/nodejs/node/pull/17106) +* [[`8cae573af1`](https://github.com/nodejs/node/commit/8cae573af1)] - **doc**: add note about using cluster without networking (pimlie) [#17031](https://github.com/nodejs/node/pull/17031) +* [[`b16e6d29f1`](https://github.com/nodejs/node/commit/b16e6d29f1)] - **doc**: explicitly document highWaterMark option (Sebastian Silbermann) [#17049](https://github.com/nodejs/node/pull/17049) +* [[`ccdf4b245a`](https://github.com/nodejs/node/commit/ccdf4b245a)] - **doc**: reorganize collaborator guide (Joyee Cheung) [#17056](https://github.com/nodejs/node/pull/17056) +* [[`d44adf12a9`](https://github.com/nodejs/node/commit/d44adf12a9)] - **doc**: delete unused definition in README.md (Vse Mozhet Byt) [#17108](https://github.com/nodejs/node/pull/17108) +* [[`e03645dd6f`](https://github.com/nodejs/node/commit/e03645dd6f)] - **doc**: add Support section in README (Rich Trott) [#16533](https://github.com/nodejs/node/pull/16533) +* [[`0f94bb9aeb`](https://github.com/nodejs/node/commit/0f94bb9aeb)] - **doc**: add hashseed to collaborators (Yang Guo) +* [[`5cd89c7817`](https://github.com/nodejs/node/commit/5cd89c7817)] - **doc,win**: clarify WSL support (João Reis) [#17008](https://github.com/nodejs/node/pull/17008) +* [[`93ca2f78c6`](https://github.com/nodejs/node/commit/93ca2f78c6)] - **meta**: allow vague objections to be dismissed (James M Snell) [#15233](https://github.com/nodejs/node/pull/15233) +* [[`a12e16818f`](https://github.com/nodejs/node/commit/a12e16818f)] - **path**: remove obsolete comment (Rich Trott) [#17023](https://github.com/nodejs/node/pull/17023) +* [[`2d74af0184`](https://github.com/nodejs/node/commit/2d74af0184)] - **src**: remove unused include node_crypto_clienthello (Daniel Bevenius) [#17546](https://github.com/nodejs/node/pull/17546) +* [[`6792998f6a`](https://github.com/nodejs/node/commit/6792998f6a)] - **src**: make base64.h self-contained (Daniel Bevenius) [#17177](https://github.com/nodejs/node/pull/17177) +* [[`84a8861b62`](https://github.com/nodejs/node/commit/84a8861b62)] - **src**: remove unprofessional slang in assertions (Alexey Orlenko) [#17166](https://github.com/nodejs/node/pull/17166) +* [[`f11acca80c`](https://github.com/nodejs/node/commit/f11acca80c)] - **src**: fix size of CounterSet (Witthawat Piwawatthanapanit) [#16984](https://github.com/nodejs/node/pull/16984) +* [[`a528d573ce`](https://github.com/nodejs/node/commit/a528d573ce)] - **test**: remove hidden use of common.PORT in parallel tests (Rich Trott) [#17466](https://github.com/nodejs/node/pull/17466) +* [[`dbf5ddbc97`](https://github.com/nodejs/node/commit/dbf5ddbc97)] - **test**: refactor test-child-process-pass-fd (Rich Trott) [#17596](https://github.com/nodejs/node/pull/17596) +* [[`a50366fbf7`](https://github.com/nodejs/node/commit/a50366fbf7)] - **test**: improve assert messages in repl-reset-event (Adri Van Houdt) [#16836](https://github.com/nodejs/node/pull/16836) +* [[`bd4b97fe3d`](https://github.com/nodejs/node/commit/bd4b97fe3d)] - **test**: update test-http-should-keep-alive to use countdown (TomerOmri) [#17505](https://github.com/nodejs/node/pull/17505) +* [[`23edd08b00`](https://github.com/nodejs/node/commit/23edd08b00)] - **test**: use Countdown in http test (idandagan1) [#17506](https://github.com/nodejs/node/pull/17506) +* [[`e9cacee677`](https://github.com/nodejs/node/commit/e9cacee677)] - **test**: use Countdown in http-response-statuscode (Mandeep Singh) [#17327](https://github.com/nodejs/node/pull/17327) +* [[`68dabce07a`](https://github.com/nodejs/node/commit/68dabce07a)] - **test**: use Countdown in test-http-set-cookies (Shilo Mangam) [#17504](https://github.com/nodejs/node/pull/17504) +* [[`d4d3f50f9d`](https://github.com/nodejs/node/commit/d4d3f50f9d)] - **test**: Use common.mustCall in http test (sreepurnajasti) [#17487](https://github.com/nodejs/node/pull/17487) +* [[`6e7ace2dcf`](https://github.com/nodejs/node/commit/6e7ace2dcf)] - **test**: replace fs.accessSync with fs.existsSync (Leko) [#17446](https://github.com/nodejs/node/pull/17446) +* [[`3cf8f98c3e`](https://github.com/nodejs/node/commit/3cf8f98c3e)] - **test**: add common.crashOnUnhandledRejection() (IHsuan) [#17247](https://github.com/nodejs/node/pull/17247) +* [[`d1d547d2ab`](https://github.com/nodejs/node/commit/d1d547d2ab)] - **test**: update test-http-request-dont-override-options to use common.mustCall (Mithun Sasidharan) [#17438](https://github.com/nodejs/node/pull/17438) +* [[`f9adf51744`](https://github.com/nodejs/node/commit/f9adf51744)] - **test**: use common.mustCall in test-http-malformed-request (Mithun Sasidharan) [#17439](https://github.com/nodejs/node/pull/17439) +* [[`8fc196905d`](https://github.com/nodejs/node/commit/8fc196905d)] - **test**: use Countdown in http test (Mithun Sasidharan) [#17436](https://github.com/nodejs/node/pull/17436) +* [[`47e5fd940e`](https://github.com/nodejs/node/commit/47e5fd940e)] - **test**: update test-http-response-multiheaders to use countdown (hmammedzadeh) [#17419](https://github.com/nodejs/node/pull/17419) +* [[`660e6dea89`](https://github.com/nodejs/node/commit/660e6dea89)] - **test**: update test-http-upgrade-client to use countdown (Mithun Sasidharan) [#17339](https://github.com/nodejs/node/pull/17339) +* [[`8f997c0117`](https://github.com/nodejs/node/commit/8f997c0117)] - **test**: update test-http-status-reason-invalid-chars to use countdown (Mithun Sasidharan) [#17342](https://github.com/nodejs/node/pull/17342) +* [[`42454a5c34`](https://github.com/nodejs/node/commit/42454a5c34)] - **test**: refactored test-http-allow-req-after-204-res to countdown (Mithun Sasidharan) [#17211](https://github.com/nodejs/node/pull/17211) +* [[`3ee4c1e149`](https://github.com/nodejs/node/commit/3ee4c1e149)] - **test**: update test/parallel/test-http-pipe-fs.js to use countdown (ChungNgoops) [#17346](https://github.com/nodejs/node/pull/17346) +* [[`8908cd6cc1`](https://github.com/nodejs/node/commit/8908cd6cc1)] - **test**: refactored test-http-response-splitting to use countdown (Mithun Sasidharan) [#17348](https://github.com/nodejs/node/pull/17348) +* [[`4f3a165827`](https://github.com/nodejs/node/commit/4f3a165827)] - **test**: replace function with ES6 arrow function (Junichi Kajiwara) [#17306](https://github.com/nodejs/node/pull/17306) +* [[`3a0cb8fcae`](https://github.com/nodejs/node/commit/3a0cb8fcae)] - **test**: refactored http test to use countdown (Mithun Sasidharan) [#17241](https://github.com/nodejs/node/pull/17241) +* [[`f3c1158f57`](https://github.com/nodejs/node/commit/f3c1158f57)] - **test**: Update test-http-parser-free to use countdown timer (Mandeep Singh) [#17322](https://github.com/nodejs/node/pull/17322) +* [[`956198f30d`](https://github.com/nodejs/node/commit/956198f30d)] - **test**: Update test-http-client-agent to use countdown timer (Mandeep Singh) [#17325](https://github.com/nodejs/node/pull/17325) +* [[`35cc1b3fcc`](https://github.com/nodejs/node/commit/35cc1b3fcc)] - **test**: fix isNAN-\>Number.isNAN (yuza yuko) [#17309](https://github.com/nodejs/node/pull/17309) +* [[`32ebcf7fd0`](https://github.com/nodejs/node/commit/32ebcf7fd0)] - **test**: make use of Number.isNaN to test-readfloat.js (Hiromu Yoshiwara) [#17310](https://github.com/nodejs/node/pull/17310) +* [[`1cd4076a4e`](https://github.com/nodejs/node/commit/1cd4076a4e)] - **test**: replace function with arrow function (spring_raining) [#17312](https://github.com/nodejs/node/pull/17312) +* [[`0ef4f78ae0`](https://github.com/nodejs/node/commit/0ef4f78ae0)] - **test**: replace function with arrow function (Hiroaki KARASAWA) [#17308](https://github.com/nodejs/node/pull/17308) +* [[`c0c366634d`](https://github.com/nodejs/node/commit/c0c366634d)] - **test**: use arrow function (koooge) [#17318](https://github.com/nodejs/node/pull/17318) +* [[`8098a6ed0e`](https://github.com/nodejs/node/commit/8098a6ed0e)] - **test**: use Number.isNaN() (MURAKAMI Masahiko) [#17319](https://github.com/nodejs/node/pull/17319) +* [[`bdbcdebb65`](https://github.com/nodejs/node/commit/bdbcdebb65)] - **test**: add test of stream Transform (Yoshiya Hinosawa) [#17303](https://github.com/nodejs/node/pull/17303) +* [[`75ad37c854`](https://github.com/nodejs/node/commit/75ad37c854)] - **test**: use common.crashOnUnhandledRejection (Kcin1993) [#17235](https://github.com/nodejs/node/pull/17235) +* [[`b63f51aa7f`](https://github.com/nodejs/node/commit/b63f51aa7f)] - **test**: use common.crashOnUnhandledRejection (zhengyuanjie) [#17215](https://github.com/nodejs/node/pull/17215) +* [[`797e33b602`](https://github.com/nodejs/node/commit/797e33b602)] - **test**: use common.crashOnUnhandledRejection (Jason Chung) [#17233](https://github.com/nodejs/node/pull/17233) +* [[`699659e5df`](https://github.com/nodejs/node/commit/699659e5df)] - **test**: use common.crashOnUnhandledRejection() (sorarize@gmail.com) [#17232](https://github.com/nodejs/node/pull/17232) +* [[`89f1b6c041`](https://github.com/nodejs/node/commit/89f1b6c041)] - **test**: add common.crashOnHandleRejection (jackyen) [#17225](https://github.com/nodejs/node/pull/17225) +* [[`7cbdeefc7e`](https://github.com/nodejs/node/commit/7cbdeefc7e)] - **test**: remove unlink function which is needless (buji) [#17119](https://github.com/nodejs/node/pull/17119) +* [[`7c57ab76ec`](https://github.com/nodejs/node/commit/7c57ab76ec)] - **test**: dont need to remove nonexistent directory (buji) [#17119](https://github.com/nodejs/node/pull/17119) +* [[`71671df00e`](https://github.com/nodejs/node/commit/71671df00e)] - **test**: fix linting error (James M Snell) [#17251](https://github.com/nodejs/node/pull/17251) +* [[`6620e761d7`](https://github.com/nodejs/node/commit/6620e761d7)] - **test**: use crashOnUnhandledRejection (Roth Peng) [#17226](https://github.com/nodejs/node/pull/17226) +* [[`d4a5499360`](https://github.com/nodejs/node/commit/d4a5499360)] - **test**: use common.crashOnUnhandledRejection (esbb48) [#17218](https://github.com/nodejs/node/pull/17218) +* [[`353e66f823`](https://github.com/nodejs/node/commit/353e66f823)] - **test**: use arrow function instead of bind (Lance Ball) [#17202](https://github.com/nodejs/node/pull/17202) +* [[`289ebb19b5`](https://github.com/nodejs/node/commit/289ebb19b5)] - **test**: use crashOnUnhandledRejection (Chiahao Lin) [#17219](https://github.com/nodejs/node/pull/17219) +* [[`e7ca894114`](https://github.com/nodejs/node/commit/e7ca894114)] - **test**: use common.crashOnUnhandledRejection (Whien) [#17214](https://github.com/nodejs/node/pull/17214) +* [[`0963c75c8e`](https://github.com/nodejs/node/commit/0963c75c8e)] - **test**: clean up inappropriate language (Gus Caplan) [#17170](https://github.com/nodejs/node/pull/17170) +* [[`5d488ee13f`](https://github.com/nodejs/node/commit/5d488ee13f)] - **test**: wrap callback in common.mustCall (suman-mitra) [#17173](https://github.com/nodejs/node/pull/17173) +* [[`fd36b27949`](https://github.com/nodejs/node/commit/fd36b27949)] - **test**: remove unused parameter in test-next-tick-error-spin.js (Francois KY) [#17185](https://github.com/nodejs/node/pull/17185) +* [[`43e4669467`](https://github.com/nodejs/node/commit/43e4669467)] - **test**: remove unused parameter (Fran Herrero) [#17193](https://github.com/nodejs/node/pull/17193) +* [[`4eb1b58481`](https://github.com/nodejs/node/commit/4eb1b58481)] - **test**: remove unused variable (Guillaume Flandre) [#17187](https://github.com/nodejs/node/pull/17187) +* [[`39cd0a8abc`](https://github.com/nodejs/node/commit/39cd0a8abc)] - **test**: utilize common.mustCall() on child exit (sreepurnajasti) [#16996](https://github.com/nodejs/node/pull/16996) +* [[`fe2188620d`](https://github.com/nodejs/node/commit/fe2188620d)] - **test**: use arrow functions instead of bind (Tobias Nießen) [#17070](https://github.com/nodejs/node/pull/17070) +* [[`92daa2d2d3`](https://github.com/nodejs/node/commit/92daa2d2d3)] - **test**: make REPL test pass in coverage mode (Anna Henningsen) [#17082](https://github.com/nodejs/node/pull/17082) +* [[`c18a450e9d`](https://github.com/nodejs/node/commit/c18a450e9d)] - **test**: add coverage to tty module (cjihrig) [#16959](https://github.com/nodejs/node/pull/16959) +* [[`ad0d878772`](https://github.com/nodejs/node/commit/ad0d878772)] - **tools**: simplify buffer-constructor rule (cjihrig) [#17572](https://github.com/nodejs/node/pull/17572) +* [[`5383422672`](https://github.com/nodejs/node/commit/5383422672)] - **tools**: simplify prefer-assert-methods rule (cjihrig) [#17572](https://github.com/nodejs/node/pull/17572) +* [[`3e70ee84fb`](https://github.com/nodejs/node/commit/3e70ee84fb)] - **tools**: simplify prefer-common-mustnotcall rule (cjihrig) [#17572](https://github.com/nodejs/node/pull/17572) +* [[`afd4d9e348`](https://github.com/nodejs/node/commit/afd4d9e348)] - **tools**: add Boxstarter script (Bartosz Sosnowski) [#17046](https://github.com/nodejs/node/pull/17046) +* [[`466e94a6c1`](https://github.com/nodejs/node/commit/466e94a6c1)] - **tools**: avoid using process.cwd in tools/lint-js (Tobias Nießen) [#17121](https://github.com/nodejs/node/pull/17121) +* [[`dcf7646725`](https://github.com/nodejs/node/commit/dcf7646725)] - **tools**: fail tests if malformed status file (Rich Trott) [#16703](https://github.com/nodejs/node/pull/16703) +* [[`d176073511`](https://github.com/nodejs/node/commit/d176073511)] - **tty**: refactor exports (cjihrig) [#16959](https://github.com/nodejs/node/pull/16959) + ## 2017-12-08, Version 6.12.2 'Boron' (LTS), @MylesBorins diff --git a/src/node_version.h b/src/node_version.h index da16d06d2fd8b9..86bef618a1bd41 100644 --- a/src/node_version.h +++ b/src/node_version.h @@ -8,7 +8,7 @@ #define NODE_VERSION_IS_LTS 1 #define NODE_VERSION_LTS_CODENAME "Boron" -#define NODE_VERSION_IS_RELEASE 0 +#define NODE_VERSION_IS_RELEASE 1 #ifndef NODE_STRINGIFY #define NODE_STRINGIFY(n) NODE_STRINGIFY_HELPER(n)