Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

v11.7.0 proposal #25537

Merged
merged 246 commits into from Jan 18, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
246 commits
Select commit Hold shift + click to select a range
b7b1d7e
test: fix test-repl-envvars
addaleax Dec 26, 2018
2c50bcd
doc: fix NAPI typo
DaAitch Dec 25, 2018
91d1aea
test: refactor test-esm-namespace.mjs
Trott Dec 19, 2018
9ac8d41
net: check for close on stream, not parent
davedoesdev Dec 13, 2018
c13e5be
net: use decodeStrings public API for writable stream
Trott Dec 24, 2018
5b4fab1
dns: fix TTL value for AAAA replies to `resolveAny()`
addaleax Dec 22, 2018
7365b00
src: do not leak NodeTraceStateObserver
addaleax Dec 22, 2018
73ccfc8
src: fix compiler warnings in node_crypto.cc
cjihrig Dec 24, 2018
39b3fd1
doc: revise "Breaking Changes to Internal Elements"
Trott Dec 23, 2018
e2a01ca
src: use DCHECK_* macros where possible
cjihrig Dec 24, 2018
99a5af6
src: introduce DCHECK macro
cjihrig Dec 24, 2018
58af085
test: refactor stdio handling in test-esm-cjs-main
richardlau Dec 21, 2018
73f3a1c
util: make inspect aware of RegExp subclasses and null prototype
BridgeAR Dec 23, 2018
e182ca9
test: add more inspect subclassing tests
BridgeAR Dec 23, 2018
561c268
console: use spread notation instead of Object.assign
BridgeAR Dec 20, 2018
88e7386
util: simplify code
kkty Dec 21, 2018
3af173d
doc: link and expand --tls-cipher-list docs
sam-github Dec 21, 2018
e6da77b
doc: describe TLS session resumption
sam-github Dec 21, 2018
7e2ae75
test: mark two tests as flaky in AIX
gireeshpunathil Dec 19, 2018
56e7e4f
child_process: simplify argument handling
cjihrig Dec 23, 2018
acf7802
tls: remove unused ocsp extension parsing
sam-github Dec 19, 2018
d5ba121
tls: fix initRead socket argument name
sam-github Dec 19, 2018
f6b2ea8
tls: do not confuse session and session ID
sam-github Dec 19, 2018
bc66356
src: use consistent names for JSStream
sam-github Dec 19, 2018
a8f5191
test: split test-whatwg-encoding-textdecoder.js
joyeecheung Dec 20, 2018
deceb26
test: split test-whatwg-encoding-textdecoder-fatal.js
joyeecheung Dec 20, 2018
be42182
test: split encoding tests where some cases can be run without ICU
joyeecheung Dec 20, 2018
b45be67
test: rename custom encoding tests that cannot be replaced by WPT
joyeecheung Dec 20, 2018
c7d2dbd
test: add TODO to encoding tests that can be replaced with WPT
joyeecheung Dec 20, 2018
dd6667d
src: lazily load internalBinding('uv') and build the errmap lazily
joyeecheung Dec 19, 2018
f944a75
tools: update ESLint to 5.11.1
cjihrig Dec 27, 2018
e6b5232
tools: enable no-useless-catch lint rule
cjihrig Dec 27, 2018
217bb0e
lib: simplify several debug() calls
cjihrig Dec 27, 2018
516f75f
benchmark: fix net-wrap-js-stream-passthrough
Trott Dec 29, 2018
b0b1414
test: regression test for uv threadpool congestion
gireeshpunathil Sep 26, 2018
f3ebc39
crypto: fix zero byte allocation assertion failure
tniessen Dec 28, 2018
c9d49d6
src: fulfill Maybe contract in InlineDecoder
addaleax Dec 19, 2018
ae86192
src: ignore termination exceptions in fatal TryCatch
addaleax Dec 19, 2018
e00b326
src: pass along MaybeLocal<> state from `URL::ToObject()`
addaleax Dec 19, 2018
7dc4c3b
buffer: fix crash for invalid index types
addaleax Oct 21, 2018
ee43540
tools: enable no-buffer-constructor lint rule
cjihrig Dec 28, 2018
fee8a11
tools: remove custom buffer-constructor lint rule
cjihrig Dec 28, 2018
3797625
util: fix util.inspect with proxied function
starkwang Dec 28, 2018
05d1a53
test: remove try/catch in common.isMainThread
Trott Dec 28, 2018
11c9a82
test: slightly refactor test-child-process-execsync
lundibundi Dec 26, 2018
2df0d14
win, build: fix building addons on Windows
bzoz Dec 18, 2018
1be566b
tools: replace NULL with nullptr
juanarbol Dec 22, 2018
4ca4b54
test: remove `util.inherits()` usage
ZYSzys Dec 28, 2018
8a701c3
doc: include license for src/large_pages in LICENSE
ryzokuken Dec 28, 2018
2f5c8b5
src: remove unused variable from string_search.h
addaleax Dec 19, 2018
bc6f4bc
crypto: add crypto/keys to cannotUseCache
danbev Dec 27, 2018
be45469
doc: edit and simplify util.inspect() docs
cjihrig Dec 23, 2018
f62e35f
src: fix warning in cares_wrap.cc
cjihrig Dec 26, 2018
201cf97
deps: V8: backport bf84766
BridgeAR Dec 20, 2018
f2abe7b
deps: V8: backport 3e010af
BridgeAR Dec 20, 2018
95353c7
test,doc: add tests and docs for addon unloading
addaleax Dec 6, 2018
d718625
src: unload addons when environment quits
Dec 6, 2018
e534dcd
zlib: split JS code as prep for non-zlib-backed streams
addaleax Dec 6, 2018
11c01a6
deps: add brotli
Hackzzila May 1, 2018
ec87b6c
deps,tools: update license-builder.sh and LICENSE
Hackzzila May 2, 2018
7edf8c7
zlib: add brotli support
addaleax Nov 27, 2018
9a627a4
benchmark,test: add brotli
addaleax Dec 10, 2018
1c5a997
doc: add documentation for brotli support
addaleax Dec 9, 2018
ee8a4a2
test: remove unnecessary test flags
cjihrig Dec 29, 2018
f5008fd
doc: simplify DEP0119 wording
cjihrig Dec 29, 2018
61fc3bf
test: mark test-util-callbackify flaky on AIX
Trott Dec 30, 2018
5a5bc58
test: remove unused --expose-native-as V8 flag
peterwmwong Dec 29, 2018
1ccaf9a
repl: indicate if errors are thrown or not
BridgeAR Dec 28, 2018
c10b131
test: make sure tmpdir is created before using it
joyeecheung Dec 26, 2018
973b32d
test: set umask explicitly
i8-pi Dec 25, 2018
a2cc4ba
build: fix Windows shared lib build
richardlau Dec 21, 2018
9101591
deps: upgrade npm to v6.5.0
ljharb Dec 26, 2018
e14f864
lib,test: remove lib/internal/test/unicode.js
Trott Jan 1, 2019
2014eba
worker: use engine-provided deleter for `SharedArrayBuffer`s
addaleax Jan 1, 2019
379260e
test: replace internals with public API
Trott Jan 2, 2019
465d02b
src: add NAPI_VERSION_EXPERIMENTAL
mhdawson Jan 2, 2019
b9b2ba2
doc: document key encryption options
tniessen Oct 12, 2018
f6e341a
src: improve ToV8Value() functions
addaleax Dec 30, 2018
7f78137
v8: enable inline WASM in serialization API
addaleax Jan 2, 2019
dd8795f
worker: enable transferring WASM modules
addaleax Jan 2, 2019
1d49408
buffer: refactor checks for SlowBuffer creation
Mnwa Dec 29, 2018
f8dcbba
doc: fs.mkdir('/') throws EPERM on Windows
coreyfarrell Jan 4, 2019
523872b
test: fix test-benchmark-zlib
Trott Jan 6, 2019
456f76a
test: remove flag for test-addon-uv-handle-leak
Trott Jan 3, 2019
32e45b2
crypto: fix key object wrapping in sync keygen
tniessen Jan 3, 2019
1e60e0a
src: remove unused method declaration
bnoordhuis Jan 3, 2019
239d5ec
test: http2 origin length ERR_HTTP2_ORIGIN_LENGTH
fshaikh Dec 31, 2018
ee4c46c
tools: update ESLint to 5.12.0
cjihrig Jan 4, 2019
7ac1db2
test: fix test-tls-securepair-client
Trott Dec 26, 2018
ce7bbd2
test: move test-tls-securepair-client out of pummel
Trott Dec 26, 2018
8d0c638
lib: support overriding http\s.globalAgent
illBeRoy Dec 21, 2018
1e20c5e
doc: make modules.md more accurate
vsemozhetbyt Jan 5, 2019
eaaaa0d
crypto: always accept private keys as public keys
tniessen Dec 25, 2018
354fba1
doc: fix process.stdin example
addaleax Jan 4, 2019
807e732
src: trace_events: fix race with metadata events
ofrobots Dec 27, 2018
f80fbd2
test: remove redundant fchmod test
ZYSzys Dec 30, 2018
7d1d261
doc: fix heading in cpp style guide
kkty Jan 1, 2019
5b93356
src: check curve ID existence instead of asn flags
sam-github Jan 4, 2019
c1aa5f0
test: tune test-uv-threadpool-schedule
Trott Jan 6, 2019
c826af7
test: clean up wasm fixtures
devsnek Jan 6, 2019
071f84e
doc: use lowercase for zlib
Trott Jan 6, 2019
d1ff107
src: initialize `Environment` members in class definition
addaleax Jan 6, 2019
fc22df9
test: more tests for internal/util/types
ZYSzys Dec 26, 2018
ca7adca
fs: extract start and end check into checkPosition
ZYSzys Dec 29, 2018
4ca0968
util: update comment in util.promisify
kkty Jan 3, 2019
7d46437
doc: update benchmark doc
kkty Jan 6, 2019
e1d4f43
deps: cherry-pick d9fbfeb from upstream V8
alexkozy Sep 14, 2018
453bd18
tls: do not confuse TLSSocket and Socket
sam-github Dec 19, 2018
73c3a3d
lib: make the global console [[Prototype]] an empty object
joyeecheung Oct 12, 2018
b2b0645
console: create the global console from Console constructor
joyeecheung Jan 9, 2019
7f5bb9d
console: bind methods from the prototype chain in Console
joyeecheung Nov 2, 2018
4052aec
console: lazy load process.stderr and process.stdout
joyeecheung Nov 20, 2018
7bb7b9a
worker: set `--experimental-worker` always
addaleax Jan 9, 2019
65c136f
worker: partially remove `--experimental-worker` flag
addaleax Jan 6, 2019
55d185f
os: move process.binding('os') to internalBinding
briete Dec 17, 2018
4794cf6
inspector: move process.binding to internalBinding
BeniCheni Dec 10, 2018
901d3d0
util: inspect ArrayBuffers contents as well
BridgeAR Dec 13, 2018
3350230
lib: remove internal `util._extends()` usage
BridgeAR Dec 18, 2018
68014fb
buffer: inspect extra properties
BridgeAR Dec 20, 2018
b48865f
lib: move lib/console.js to lib/internal/console/constructor.js
joyeecheung Nov 28, 2018
b549058
console: split console into global.js and constructor.js
joyeecheung Nov 28, 2018
57323e8
console: move the inspector console wrapping in a separate file
joyeecheung Nov 28, 2018
65d485b
console: add `inspectOptions` option
BridgeAR Dec 12, 2018
272ddb1
console: improve inspectOptions validation
cjihrig Dec 17, 2018
1805236
process: provide dummy stdio for non-console Windows apps
addaleax May 9, 2018
8cc9757
Revert "inspector: move process.binding to internalBinding"
joyeecheung Jan 11, 2019
f64e5ec
Revert "os: move process.binding('os') to internalBinding"
joyeecheung Jan 11, 2019
42a7eaf
Revert "lib: remove unused NativeModule/NativeModule wraps"
joyeecheung Jan 11, 2019
577da83
Revert "src,lib: make process.binding('config') internal"
joyeecheung Jan 11, 2019
d7d772b
Revert "lib: remove duplicated noop function"
joyeecheung Jan 11, 2019
dd0381f
fs: make process.binding('fs') internal
Aug 23, 2018
d245c4c
src: use NativeModuleLoader to compile all the bootstrappers
joyeecheung Nov 26, 2018
87a58be
lib: remove duplicated noop function
ZYSzys Dec 1, 2018
7480864
src,lib: make process.binding('config') internal
Oct 8, 2018
d8ba520
lib: remove unused NativeModule/NativeModule wraps
joyeecheung Dec 8, 2018
445ba9f
inspector: move process.binding to internalBinding
BeniCheni Dec 10, 2018
d197105
os: move process.binding('os') to internalBinding
briete Dec 17, 2018
207612c
lib: remove internalBinding('config').pendingDeprecation
joyeecheung Dec 11, 2018
6528ce6
lib: expose all type checks from the internal types module
BridgeAR Dec 20, 2018
0e2fbe4
process: specialize building and storage of process.config
joyeecheung Dec 2, 2018
fd913fe
src: remove code cache integrity check
joyeecheung Dec 3, 2018
ee461fe
src: always compile and store code cache for native modules
joyeecheung Dec 3, 2018
b1500d9
src: pass isMainThread into bootstrap/node.js directly
joyeecheung Dec 13, 2018
37ba201
src,lib: prefer internal/options over process._foo
addaleax Dec 15, 2018
e93dd4d
process: move POSIX credential accessors into node_credentials.cc
joyeecheung Dec 15, 2018
64c713a
src: move GetOpenSSLVersion into node_metadata.cc
joyeecheung Dec 18, 2018
e5b4af4
src: move the declaration of http parser versions into node_metadata.h
joyeecheung Dec 18, 2018
de6f1f5
src: initialize ICU version in per_process::metadata.versions
joyeecheung Dec 18, 2018
19f1a50
trace_events: move SetupTraceCategoryState into node_trace_events.cc
joyeecheung Dec 19, 2018
6b5c962
process: move child process IPC setup condition into node.js
joyeecheung Dec 19, 2018
43535f5
src: simplify JS Array creation
addaleax Dec 31, 2018
e9b4d24
src: move arch, platform and release into node_metadata.cc
joyeecheung Dec 31, 2018
f3d8639
doc: clarify timing of socket.connecting
sam-github Jan 4, 2019
8bc1651
doc: add clarification for exception behaviour
mhdawson Jan 4, 2019
8380bd4
doc: add history to http.request.setTimeout()
jbunton-atlassian Dec 19, 2018
f58b530
doc: wrap and punctuate YAML description text
sam-github Jan 9, 2019
f0202a7
test: fix test/pummel/test-fs-largefile.js
Trott Jan 7, 2019
201a8d9
test: refactor `common.expectWarning()`
BridgeAR Dec 28, 2018
2e6e4cf
util: add null prototype support for date
antsmartian Jan 9, 2019
e09dd0c
assert: make `actual` and `expected` getters
BridgeAR Dec 28, 2018
3bebcf0
test: fix failing assertion
BridgeAR Dec 28, 2018
be16cc9
test: set umask for tests
Trott Dec 26, 2018
bdcf8f4
test: fix test/pummel/test-fs-watch-file.js
Trott Jan 8, 2019
65dfeeb
test: fix test/pummel/test-fs-watch-non-recursive.js
Trott Jan 8, 2019
837ca76
test: refactor test-fs-watch-non-recursive
Trott Jan 8, 2019
6778261
doc: make sure that calls to .read() are looped
mcollina Jan 7, 2019
d9adcee
test: pull enconding WPT test fixtures
joyeecheung Dec 4, 2018
8d8c305
test: support more icu requirements in the WPT status file
joyeecheung Jan 2, 2019
da34c6c
test: use WPT runner to run encoding tests
joyeecheung Dec 4, 2018
58de81f
test: remove duplicate encoding tests in favor of WPT
joyeecheung Jan 2, 2019
0f290e8
test: remove test/pummel/test-http-client-reconnect-bug.js
Trott Jan 8, 2019
b545b4c
test: fix test-net-connect-econnrefused
Trott Jan 8, 2019
dcbf1d9
tools: add openssl-cli to macos-firewall.sh
danbev Jan 8, 2019
fe9b6ee
test: move require('https') to after crypto check
danbev Jan 8, 2019
07ffa3f
build: add check for empty openssl-fips flag
danbev Jan 8, 2019
6e716ed
url: return backslashes from fileURLToPath on win
Dec 29, 2018
7696d1f
util: switch recurseTimes counter
BridgeAR Dec 28, 2018
a333272
util: code cleanup
BridgeAR Dec 28, 2018
45a8eb6
util: simpler module namespace code
BridgeAR Dec 28, 2018
7ff4410
util: remove outdated comment
BridgeAR Dec 28, 2018
46ec26f
util: remove eslint comments and rename variables
BridgeAR Dec 28, 2018
2a85cc7
tools: update crypo check rule
cjihrig Jan 8, 2019
3f66109
test: improve test coverage of native crypto code
tniessen Jan 7, 2019
82fc9a8
test: fix module loading error for AIX 7.1
richardlau Jan 9, 2019
a6df727
test,worker: refactor test-worker-cleanup-handles
Trott Jan 8, 2019
1697604
doc,worker: revise worker_threads.md
Trott Jan 8, 2019
177635b
doc: update `os.networkInterfaces()` example
jvelezpo Jan 9, 2019
ebd2027
doc: fix the path to postMessage()
mitar Jan 3, 2019
3db7a9f
doc: fix, unify, formalize, and amplify vm.md
vsemozhetbyt Jan 9, 2019
f0409be
tools: lint for use of internalBinding()
cjihrig Jan 8, 2019
a29adef
test,worker: simplify common.isMainThread
Trott Jan 9, 2019
d86a3e8
test: remove unnecessary skipIfWorker()
Trott Jan 10, 2019
b67c4b4
doc: document that stream.on('close') was changed in Node 10
mcollina Jan 9, 2019
5fe7741
src: dispose of V8 platform in `process.exit()`
addaleax Dec 4, 2018
23d41fb
test: fix test-net-connect-econnrefused (again)
Trott Jan 10, 2019
f8bb544
doc: fix `napi_open_callback_scope` description
DaAitch Jan 6, 2019
2b0c853
doc: fix sorting in buffer.md
vsemozhetbyt Jan 13, 2019
26f2eb8
http2: add test case for goaway
antsmartian Nov 3, 2018
29b89ba
test: check for tls renegotiation errors
sam-github Jan 10, 2019
840ec23
os: improve networkInterfaces() performance
mscdex Jan 9, 2019
f6c14bd
test: rework ephemeralkeyinfo to run in parallel
sam-github Jan 9, 2019
9a61a7a
doc: fix section order in vm.md
vsemozhetbyt Jan 7, 2019
a4f50a6
build: set `-blibpath:` for AIX
richardlau Jan 11, 2019
dde7152
src: move more process methods initialization in bootstrap/node.js
joyeecheung Dec 19, 2018
f8ba488
src: fix compiler warnings
cjihrig Dec 21, 2018
daca318
coverage: use process._rawDebug() during setup
cjihrig Dec 31, 2018
63fbd00
coverage: pass cwd to path.resolve() in setup
cjihrig Dec 31, 2018
067d38f
test: make test-v8-coverage.js more strict
cjihrig Dec 31, 2018
71432c3
util: fixes type in argument type validation error
aoberoi Dec 18, 2018
57a0cd4
src: move node::errno_string into node_errors.h/cc
joyeecheung Jan 8, 2019
3afb481
test: add test for fs.lchmod
ZYSzys Jan 11, 2019
7123167
doc: improve Sign/Verify examples and docs
sam-github Jan 11, 2019
2172dbf
doc: add TLSSocket.isSessionReused() docs
sam-github Jan 9, 2019
edab2d6
doc: revert incorrect change on readable._read
mcollina Jan 11, 2019
d7bc03e
test: improve known_issues/test-vm-timeout-escape-queuemicrotask
Trott Jan 14, 2019
fa74cd3
src: move symbols binding into node_symbols.cc
joyeecheung Dec 19, 2018
2e33ad1
src: move process.nextTick and promise setup into node_task_queue.cc
joyeecheung Dec 19, 2018
f32e6a8
process: make internal/queue_microtask.js more self-contained
joyeecheung Dec 23, 2018
456b1b5
process: move eval and exception bootstrap ito process/execution.js
joyeecheung Dec 23, 2018
9480e1b
process: split worker IO into internal/worker/io.js
joyeecheung Dec 23, 2018
655c1c9
process: move worker bootstrap code into worker_thread_only.js
joyeecheung Dec 23, 2018
c5ab340
src: refactor tickInfo access
joyeecheung Dec 22, 2018
c07b12d
process: make tick callback and promise rejection callback more robust
joyeecheung Dec 23, 2018
743056e
process: move process.features initialization into node.js
joyeecheung Dec 26, 2018
5eada9d
process: move --help and --bash-completeion handling to startExecution
joyeecheung Dec 29, 2018
69d8e60
src: use `internalBinding('config').hasInspector` in JS land
joyeecheung Dec 26, 2018
c6adf4b
src: move per-process global variables into node::per_process
joyeecheung Jan 1, 2019
e8a6cc8
worker: improve JS-side debugging
addaleax Jan 2, 2019
6cdaf03
src: split `LoadEnvironment()` at `startExecution()`
addaleax Jan 2, 2019
243f902
worker: remove `--experimental-worker` flag
addaleax Jan 6, 2019
8e6175e
src: use generic helper for splitting strings
addaleax Jan 6, 2019
81924ff
src: remove unused isolate variable
danbev Jan 6, 2019
dca6741
src: move InternalMakeCallback and MakeCallback
joyeecheung Dec 31, 2018
299aefd
src: clean up `node::Init()` wrt embedder scenarios
addaleax Jan 6, 2019
49ac968
src: move process object creation into node_process_object.cc
joyeecheung Jan 8, 2019
2ed3fa1
src: declare process-related C++ methods in node_process.h
joyeecheung Dec 31, 2018
28baf26
process: move C++ process events into node_process_events.cc
joyeecheung Dec 31, 2018
8390014
process: allow StartExecution() to take a main script ID
joyeecheung Jan 13, 2019
3bd8e4b
os: add fallback for undefined CPUs
JungMinu Jan 14, 2019
b524a7b
process: refactor coverage setup during bootstrap
joyeecheung Dec 29, 2018
cb73fed
inspector, test: verify reported console message
eugeneo Jan 11, 2019
c718592
process: register the inspector async hooks in bootstrap/node.js
joyeecheung Jan 10, 2019
042d20a
buffer: move initialization of buffer prototype into node.js
joyeecheung Dec 31, 2018
8e84ccb
buffer: move Buffer prototype wiring into internal/buffer.js
joyeecheung Dec 31, 2018
6b7b827
2019-01-17, Version 11.7.0 (Current), @BridgeAR
BridgeAR Jan 16, 2019
5ee2bec
Working on v11.7.1
BridgeAR Jan 17, 2019
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
1 change: 1 addition & 0 deletions .eslintrc.js
Expand Up @@ -234,6 +234,7 @@ module.exports = {
variables: false,
}],
'no-useless-call': 'error',
'no-useless-catch': 'error',
'no-useless-concat': 'error',
'no-useless-constructor': 'error',
'no-useless-escape': 'error',
Expand Down
3 changes: 2 additions & 1 deletion CHANGELOG.md
Expand Up @@ -28,7 +28,8 @@ release.
</tr>
<tr>
<td valign="top">
<b><a href="doc/changelogs/CHANGELOG_V11.md#11.6.0">11.6.0</a></b><br/>
<b><a href="doc/changelogs/CHANGELOG_V11.md#11.7.0">11.7.0</a></b><br/>
<a href="doc/changelogs/CHANGELOG_V11.md#11.6.0">11.6.0</a><br/>
<a href="doc/changelogs/CHANGELOG_V11.md#11.5.0">11.5.0</a><br/>
<a href="doc/changelogs/CHANGELOG_V11.md#11.4.0">11.4.0</a><br/>
<a href="doc/changelogs/CHANGELOG_V11.md#11.3.0">11.3.0</a><br/>
Expand Down
21 changes: 7 additions & 14 deletions COLLABORATOR_GUIDE.md
Expand Up @@ -269,20 +269,13 @@ 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.
Breaking changes to internal elements may occur in semver-patch or semver-minor
commits. Collaborators should take significant care when making and reviewing
such changes. An effort must be made to determine the potential impact of the
change in the ecosystem. Use
[Canary in the Goldmine](https://github.com/nodejs/citgm) to test such changes.
If a change will cause ecosystem breakage, then it is semver-major. Consider
providing a Public API in such cases.

#### When Breaking Changes Actually Break Things

Expand Down
4 changes: 2 additions & 2 deletions CPP_STYLE_GUIDE.md
Expand Up @@ -13,7 +13,7 @@
* [CamelCase for methods, functions, and classes](#camelcase-for-methods-functions-and-classes)
* [snake\_case for local variables and parameters](#snake_case-for-local-variables-and-parameters)
* [snake\_case\_ for private class fields](#snake_case_-for-private-class-fields)
* [snake\_case\_ for C-like structs](#snake_case_-for-c-like-structs)
* [snake\_case for C-like structs](#snake_case-for-c-like-structs)
* [Space after `template`](#space-after-template)
* [Memory Management](#memory-management)
* [Memory allocation](#memory-allocation)
Expand Down Expand Up @@ -169,7 +169,7 @@ class Foo {
};
```

### snake\_case\_ for C-like structs
### snake\_case for C-like structs
For plain C-like structs snake_case can be used.

```c++
Expand Down
46 changes: 46 additions & 0 deletions LICENSE
Expand Up @@ -1325,3 +1325,49 @@ The externally maintained libraries used by Node.js are:
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
IN THE SOFTWARE.
"""

- large_pages, located at src/large_pages, is licensed as follows:
"""
Copyright (C) 2018 Intel Corporation

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"),
to deal in the Software without restriction, including without limitation
the rights to use, copy, modify, merge, publish, distribute, sublicense,
and/or sell copies of the Software, and to permit persons to whom
the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included
in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES
OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE
OR OTHER DEALINGS IN THE SOFTWARE.
"""

- brotli, located at deps/brotli, is licensed as follows:
"""
Copyright (c) 2009, 2010, 2013-2016 by the Brotli Authors.

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
"""
7 changes: 0 additions & 7 deletions benchmark/README.md
Expand Up @@ -22,13 +22,6 @@ directory, see [the guide on benchmarks](../doc/guides/writing-and-running-bench
</tr>
</thead>
<tbody>
<tr>
<td>arrays</td>
<td>
Benchmarks for various operations on array-like objects,
including <code>Array</code>, <code>Buffer</code>, and typed arrays.
</td>
</tr>
<tr>
<td>assert</td>
<td>
Expand Down
2 changes: 1 addition & 1 deletion benchmark/misc/startup.js
Expand Up @@ -10,7 +10,7 @@ const bench = common.createBenchmark(main, {
script: ['benchmark/fixtures/require-cachable', 'test/fixtures/semicolon'],
mode: ['process', 'worker']
}, {
flags: ['--expose-internals', '--experimental-worker'] // for workers
flags: ['--expose-internals']
});

function spawnProcess(script) {
Expand Down
2 changes: 1 addition & 1 deletion benchmark/net/net-wrap-js-stream-passthrough.js
Expand Up @@ -17,7 +17,7 @@ var encoding;

function main({ dur, len, type }) {
// Can only require internals inside main().
const JSStreamWrap = require('internal/wrap_js_stream');
const JSStreamWrap = require('internal/js_stream_socket');

switch (type) {
case 'buf':
Expand Down
15 changes: 15 additions & 0 deletions benchmark/os/networkInterfaces.js
@@ -0,0 +1,15 @@
'use strict';

const common = require('../common.js');
const networkInterfaces = require('os').networkInterfaces;

const bench = common.createBenchmark(main, {
n: [1e4]
});

function main({ n }) {
bench.start();
for (var i = 0; i < n; ++i)
networkInterfaces();
bench.end(n);
}
2 changes: 1 addition & 1 deletion benchmark/worker/echo.js
Expand Up @@ -7,7 +7,7 @@ const bench = common.createBenchmark(main, {
payload: ['string', 'object'],
sendsPerBroadcast: [1, 10],
n: [1e5]
}, { flags: ['--experimental-worker'] });
});

const workerPath = path.resolve(__dirname, '..', 'fixtures', 'echo.worker.js');

Expand Down
3 changes: 2 additions & 1 deletion benchmark/zlib/creation.js
Expand Up @@ -4,7 +4,8 @@ const zlib = require('zlib');

const bench = common.createBenchmark(main, {
type: [
'Deflate', 'DeflateRaw', 'Inflate', 'InflateRaw', 'Gzip', 'Gunzip', 'Unzip'
'Deflate', 'DeflateRaw', 'Inflate', 'InflateRaw', 'Gzip', 'Gunzip', 'Unzip',
'BrotliCompress', 'BrotliDecompress'
],
options: ['true', 'false'],
n: [5e5]
Expand Down
11 changes: 7 additions & 4 deletions benchmark/zlib/pipe.js
Expand Up @@ -6,15 +6,18 @@ const zlib = require('zlib');
const bench = common.createBenchmark(main, {
inputLen: [1024],
duration: [5],
type: ['string', 'buffer']
type: ['string', 'buffer'],
algorithm: ['gzip', 'brotli']
});

function main({ inputLen, duration, type }) {
function main({ inputLen, duration, type, algorithm }) {
const buffer = Buffer.alloc(inputLen, fs.readFileSync(__filename));
const chunk = type === 'buffer' ? buffer : buffer.toString('utf8');

const input = zlib.createGzip();
const output = zlib.createGunzip();
const input = algorithm === 'gzip' ?
zlib.createGzip() : zlib.createBrotliCompress();
const output = algorithm === 'gzip' ?
zlib.createGunzip() : zlib.createBrotliDecompress();

let readFromOutput = 0;
input.pipe(output);
Expand Down
24 changes: 21 additions & 3 deletions common.gypi
Expand Up @@ -30,7 +30,7 @@

# Reset this number to 0 on major V8 upgrades.
# Increment by one for each non-official patch applied to deps/v8.
'v8_embedder_string': '-node.13',
'v8_embedder_string': '-node.16',

# Enable disassembler for `--print-code` v8 options
'v8_enable_disassembler': 1,
Expand Down Expand Up @@ -120,6 +120,17 @@
'cflags': [ '-gxcoff' ],
'ldflags': [ '-Wl,-bbigtoc' ],
'conditions': [
['target_arch=="ppc64"', {
'ldflags': [
'-Wl,-blibpath:/usr/lib:/lib:'
'/opt/freeware/lib/pthread/ppc64'
],
}],
['target_arch=="ppc"', {
'ldflags': [
'-Wl,-blibpath:/usr/lib:/lib:/opt/freeware/lib/pthread'
],
}],
['"<(real_os_name)"=="OS400"', {
'ldflags': [
'-Wl,-blibpath:/QOpenSys/pkgs/lib:/QOpenSys/usr/lib',
Expand Down Expand Up @@ -424,11 +435,18 @@
'variables': {'real_os_name': '<!(uname -s)',},
'conditions': [
[ 'target_arch=="ppc"', {
'ldflags': [ '-Wl,-bmaxdata:0x60000000/dsa' ],
'ldflags': [
'-Wl,-bmaxdata:0x60000000/dsa',
'-Wl,-blibpath:/usr/lib:/lib:/opt/freeware/lib/pthread',
],
}],
[ 'target_arch=="ppc64"', {
'cflags': [ '-maix64' ],
'ldflags': [ '-maix64' ],
'ldflags': [
'-maix64',
'-Wl,-blibpath:/usr/lib:/lib:'
'/opt/freeware/lib/pthread/ppc64',
],
}],
['"<(real_os_name)"=="OS400"', {
'ldflags': [
Expand Down
2 changes: 1 addition & 1 deletion configure.py
Expand Up @@ -1238,7 +1238,7 @@ def without_ssl_error(option):
if options.openssl_no_asm and options.shared_openssl:
error('--openssl-no-asm is incompatible with --shared-openssl')

if options.openssl_fips:
if options.openssl_fips or options.openssl_fips == '':
error('FIPS is not supported in this version of Node.js')

configure_library('openssl', o)
Expand Down
@@ -1,6 +1,4 @@
The MIT License (MIT)

Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com)
Copyright (c) 2009, 2010, 2013-2016 by the Brotli Authors.

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand All @@ -14,7 +12,7 @@ all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
Expand Down
63 changes: 63 additions & 0 deletions deps/brotli/brotli.gyp
@@ -0,0 +1,63 @@
{
'targets': [
{
'target_name': 'brotli',
'type': 'static_library',
'include_dirs': ['c/include'],
'conditions': [
['OS=="linux"', {
'defines': [
'OS_LINUX'
]
}],
['OS=="freebsd"', {
'defines': [
'OS_FREEBSD'
]
}],
['OS=="mac"', {
'defines': [
'OS_MACOSX'
]
}],
],
'direct_dependent_settings': {
'include_dirs': [ 'c/include' ]
},
'libraries': [
'-lm',
],
'sources': [
# Common
'c/common/dictionary.c',
'c/common/transform.c',

# Decoder
'c/dec/bit_reader.c',
'c/dec/decode.c',
'c/dec/huffman.c',
'c/dec/state.c',

# Encoder
'c/enc/backward_references.c',
'c/enc/backward_references_hq.c',
'c/enc/bit_cost.c',
'c/enc/block_splitter.c',
'c/enc/brotli_bit_stream.c',
'c/enc/cluster.c',
'c/enc/compress_fragment.c',
'c/enc/compress_fragment_two_pass.c',
'c/enc/dictionary_hash.c',
'c/enc/encode.c',
'c/enc/encoder_dict.c',
'c/enc/entropy_encode.c',
'c/enc/histogram.c',
'c/enc/literal_cost.c',
'c/enc/memory.c',
'c/enc/metablock.c',
'c/enc/static_dict.c',
'c/enc/utf8_util.c'
]
}
]
}