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

[v10.x] Update libuv to 1.27.0 #27728

Closed
wants to merge 221 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
221 commits
Select commit Hold shift + click to select a range
6a5d42e
test: add fs.watchFile() + worker.terminate() test
addaleax Jun 6, 2018
bc7449c
doc: add Note of options.stdio into child_process
koh110 Mar 12, 2019
f7b03bd
http2: delete unused enum in node_http2.h
gengjiawen Mar 16, 2019
0f4f22c
doc: condense LTS material in Collaborator Guide
Trott Mar 17, 2019
4ba8ce4
doc: remove How Does LTS Work section from Collaborator Guide
Trott Mar 17, 2019
64c3e7d
test: optimize test-http2-large-file
Trott Mar 18, 2019
d7cdf8c
doc: remove discord community
aymen94 Mar 20, 2019
8916dd5
benchmark: replace deprecated and eliminate var in buffer-from.js
gengjiawen Mar 11, 2019
b9ac6d7
doc: fix comma of the list in worker_threads.md
nodejh Mar 21, 2019
3a60dfa
build: use Xenial and gcc 6 on Travis
richardlau Mar 17, 2019
e4cb24e
build: temporarily don't run tests on Travis
richardlau Mar 22, 2019
2f82636
build: restore running tests on Travis
richardlau Mar 22, 2019
fa22a1c
test: fix test-console-stdio-setters to test setters
Trott Mar 20, 2019
5790e49
test: complete console.assert() coverage
Trott Mar 20, 2019
9541302
doc: change error message to 'not defined'
MohammedEssehemy Mar 22, 2019
46742f4
doc: edit LTS material in Collaborator Guide
Trott Mar 21, 2019
4a4e1f4
trace_events: remove usage of require('util')
dnlup Mar 20, 2019
2b9c492
tools, icu: actually failover if there are multiple URLs
srl295 Oct 17, 2018
cd1939f
deps: icu 63.1 bump (CLDR 34)
srl295 Oct 17, 2018
9e99e3e
fs,net: standardize `pending` stream property
addaleax Nov 3, 2018
3f3f833
deps: upgrade to libuv 1.24.0
cjihrig Nov 13, 2018
a0a3095
readline: add support for async iteration
TimothyGu Oct 27, 2018
4cf5708
test: test TLS client authentication
sam-github Oct 12, 2017
8e56a12
querystring: remove eslint-disable
cjihrig Dec 12, 2018
e5b7eb7
build: add a space to clarify skipping crypto msg
danbev Dec 13, 2018
f145187
src: schedule destroy hooks in BeforeExit early during bootstrap
joyeecheung Dec 13, 2018
2a225a2
test: add signal check to test-esm-cjs-main
Trott Dec 16, 2018
da25605
deps: upgrade to libuv 1.24.1
cjihrig Dec 16, 2018
da5ed84
test: verify input flags
BridgeAR Dec 6, 2018
a8cbe4d
events: simplify stack compare function
BridgeAR Nov 18, 2018
6993236
src: port GetLoadedLibraries for freebsd
gireeshpunathil Dec 18, 2018
cf06b85
os: use uv_os_gethostname() in hostname()
cjihrig Dec 18, 2018
3421f6a
build: correct fi indentation in Makefile
danbev Dec 18, 2018
330fce4
tools: update certdata.txt
sam-github Dec 18, 2018
7292ed3
crypto: update root certificates
sam-github Dec 18, 2018
451d811
doc: describe root cert update process
sam-github Dec 18, 2018
f37cef3
doc: revise "Breaking Changes and Deprecations"
Trott Dec 18, 2018
150e02f
test: add hasCrypto check to common flags check
danbev Dec 20, 2018
918e8b1
test: remove Files: comment processing from Python test runner
Trott Dec 22, 2018
f6b8469
test: mark test-trace-events-api-worker-disabled flaky
Trott Dec 23, 2018
a96e6bd
tools: update ESLint to 5.11.0
cjihrig Dec 23, 2018
51f440f
test: fix test-tls-session-timeout
Trott Dec 23, 2018
0933bcf
deps: upgrade npm to 6.5.0
Nov 29, 2018
68b51b3
doc: fix NAPI typo
DaAitch Dec 25, 2018
16e2f7e
test: refactor test-esm-namespace.mjs
Trott Dec 19, 2018
958b97f
net: check for close on stream, not parent
davedoesdev Dec 13, 2018
48bdb19
dns: fix TTL value for AAAA replies to `resolveAny()`
addaleax Dec 22, 2018
1fe0cc4
src: do not leak NodeTraceStateObserver
addaleax Dec 22, 2018
9fb8682
doc: revise "Breaking Changes to Internal Elements"
Trott Dec 23, 2018
2b24fc4
test: refactor stdio handling in test-esm-cjs-main
richardlau Dec 21, 2018
3f155bf
util: simplify code
kkty Dec 21, 2018
7a7c913
doc: link and expand --tls-cipher-list docs
sam-github Dec 21, 2018
63b978a
doc: describe TLS session resumption
sam-github Dec 21, 2018
e33cf1d
test: mark two tests as flaky in AIX
gireeshpunathil Dec 19, 2018
8635724
child_process: simplify argument handling
cjihrig Dec 23, 2018
2d1aaf0
tools: update ESLint to 5.11.1
cjihrig Dec 27, 2018
4427e5a
tools: enable no-useless-catch lint rule
cjihrig Dec 27, 2018
721e9cf
lib: simplify several debug() calls
cjihrig Dec 27, 2018
01723ad
benchmark: fix net-wrap-js-stream-passthrough
Trott Dec 29, 2018
b49935a
test: regression test for uv threadpool congestion
gireeshpunathil Sep 26, 2018
a9b6aea
util: fix util.inspect with proxied function
starkwang Dec 28, 2018
522d8eb
test: remove try/catch in common.isMainThread
Trott Dec 28, 2018
0c5972f
test: slightly refactor test-child-process-execsync
lundibundi Dec 26, 2018
979a397
win, build: fix building addons on Windows
bzoz Dec 18, 2018
7fa2a1a
tools: replace NULL with nullptr
juanarbol Dec 22, 2018
eb18124
doc: include license for src/large_pages in LICENSE
ryzokuken Dec 28, 2018
baa1ceb
src: remove unused variable from string_search.h
addaleax Dec 19, 2018
3ded5a0
crypto: add crypto/keys to cannotUseCache
danbev Dec 27, 2018
2987c96
test: mark test-util-callbackify flaky on AIX
Trott Dec 30, 2018
a8f934c
test: remove unused --expose-native-as V8 flag
peterwmwong Dec 29, 2018
4b21790
repl: indicate if errors are thrown or not
BridgeAR Dec 28, 2018
589f9e8
test: make sure tmpdir is created before using it
joyeecheung Dec 26, 2018
f2d2ba9
test: set umask explicitly
i8-pi Dec 25, 2018
3d0421a
build: fix Windows shared lib build
richardlau Dec 21, 2018
2d9e52d
lib,test: remove lib/internal/test/unicode.js
Trott Jan 1, 2019
757cf4d
doc: fs.mkdir('/') throws EPERM on Windows
coreyfarrell Jan 4, 2019
413651d
test: fix test-benchmark-zlib
Trott Jan 6, 2019
ff0defb
src: remove unused method declaration
bnoordhuis Jan 3, 2019
f8d6e3f
test: http2 origin length ERR_HTTP2_ORIGIN_LENGTH
fshaikh Dec 31, 2018
8b872e5
tools: update ESLint to 5.12.0
cjihrig Jan 4, 2019
4301e5e
test: fix test-tls-securepair-client
Trott Dec 26, 2018
166a61a
test: move test-tls-securepair-client out of pummel
Trott Dec 26, 2018
5bd6fe7
lib: support overriding http\s.globalAgent
illBeRoy Dec 21, 2018
c6935e7
doc: fix process.stdin example
addaleax Jan 4, 2019
6381452
src: trace_events: fix race with metadata events
ofrobots Dec 27, 2018
294e567
test: remove redundant fchmod test
ZYSzys Dec 30, 2018
39a266b
doc: fix heading in cpp style guide
kkty Jan 1, 2019
f6f7dbc
test: tune test-uv-threadpool-schedule
Trott Jan 6, 2019
32c7038
doc: use lowercase for zlib
Trott Jan 6, 2019
69568a0
test: more tests for internal/util/types
ZYSzys Dec 26, 2018
ec10eaf
doc: update benchmark doc
kkty Jan 6, 2019
678962e
tls: do not confuse TLSSocket and Socket
sam-github Dec 19, 2018
769736c
doc: clarify timing of socket.connecting
sam-github Jan 4, 2019
8ae414e
doc: add clarification for exception behaviour
mhdawson Jan 4, 2019
7964746
doc: add history to http.request.setTimeout()
jbunton-atlassian Dec 19, 2018
0336985
test: fix test/pummel/test-fs-largefile.js
Trott Jan 7, 2019
5ecd765
test: fix test/pummel/test-fs-watch-file.js
Trott Jan 8, 2019
a3e8b55
test: fix test/pummel/test-fs-watch-non-recursive.js
Trott Jan 8, 2019
5ab0410
test: refactor test-fs-watch-non-recursive
Trott Jan 8, 2019
bce3960
doc: make sure that calls to .read() are looped
mcollina Jan 7, 2019
2a5d85c
test: remove test/pummel/test-http-client-reconnect-bug.js
Trott Jan 8, 2019
73c1a05
test: fix test-net-connect-econnrefused
Trott Jan 8, 2019
65a6ea5
tools: add openssl-cli to macos-firewall.sh
danbev Jan 8, 2019
38b8c19
test: move require('https') to after crypto check
danbev Jan 8, 2019
f19c622
build: add check for empty openssl-fips flag
danbev Jan 8, 2019
c0accb8
url: return backslashes from fileURLToPath on win
Dec 29, 2018
e7e0a1f
tools: update crypo check rule
cjihrig Jan 8, 2019
070dae1
test: improve test coverage of native crypto code
tniessen Jan 7, 2019
46711c7
doc: update `os.networkInterfaces()` example
jvelezpo Jan 9, 2019
c1a47fd
doc: fix the path to postMessage()
mitar Jan 3, 2019
d159b82
tools: lint for use of internalBinding()
cjihrig Jan 8, 2019
55899ef
test: remove unnecessary skipIfWorker()
Trott Jan 10, 2019
67db596
doc: document that stream.on('close') was changed in Node 10
mcollina Jan 9, 2019
ac09717
test: fix test-net-connect-econnrefused (again)
Trott Jan 10, 2019
78e2652
doc: fix `napi_open_callback_scope` description
DaAitch Jan 6, 2019
7090437
doc: fix sorting in buffer.md
vsemozhetbyt Jan 13, 2019
6fde094
http2: add test case for goaway
antsmartian Nov 3, 2018
1e8fe28
test: check for tls renegotiation errors
sam-github Jan 10, 2019
4c0a5c6
test: rework ephemeralkeyinfo to run in parallel
sam-github Jan 9, 2019
8d53c24
util: fixes type in argument type validation error
aoberoi Dec 18, 2018
6d1ca0b
test: add test for fs.lchmod
ZYSzys Jan 11, 2019
a78be87
doc: add TLSSocket.isSessionReused() docs
sam-github Jan 9, 2019
b9c4b79
inspector, test: verify reported console message
eugeneo Jan 11, 2019
b82f65f
test: refactor pummel/test-keep-alive
Trott Jan 14, 2019
3d13787
test: refactor pummel/test-net-connect-econnrefused
Trott Jan 14, 2019
d5d085c
test: refactor pummel/test-net-many-clients
Trott Jan 14, 2019
cd51ddd
test: refactor pummel/test-net-pingpong
Trott Jan 14, 2019
a61e260
doc: add metadata about ecdh curve options
sam-github Jan 14, 2019
2e9612f
test: fix test-repl timeout and tmpdir refresh
mscdex Jan 9, 2019
c4d09db
doc: add Rich back to TSC list
mhdawson Jan 16, 2019
6d73790
test: add check for wrk to test-keep-alive
Trott Jan 15, 2019
4e9501b
test: refactor min() in test-hash-seed
Trott Jan 15, 2019
8ea6b89
test: prepare test-hash-seed for CI
Trott Jan 15, 2019
f3e4069
doc: fix typo in Buffer API
H1Gdev Jan 17, 2019
98669a2
test: do not use uninitialized memory in common flags check
addaleax Jan 13, 2019
84fe054
test: use fipsMode instead of common.hasFipsCrypto
danbev Jan 15, 2019
f5d1859
test: improve code coverage for i18n
mhdawson Jan 10, 2019
bd3ca97
doc: add a note to `buf.fill()` description
vsemozhetbyt Jan 17, 2019
f5ee585
test: relax chunk count expectations
gireeshpunathil Jan 9, 2019
df04d3b
tls: make tls.connect() accept a timeout option
lpinca Jan 15, 2019
eb3b516
doc: correct my wrong note about buf.fill()
vsemozhetbyt Jan 19, 2019
58ecc3d
http: reuse noop function in socketOnError()
cjihrig Jan 18, 2019
c61da20
doc: reword stream docs to clarify that decodeStrings encodes strings
dgholz Jan 12, 2019
cfd501e
tools: update ESLint to 5.12.1
cjihrig Jan 18, 2019
d795b1a
test: use stronger curves for keygen
danbev Jan 16, 2019
463b6e5
test: changed function to arrow function
Jan 11, 2019
fade220
tools: improve valgrind support
addaleax Dec 30, 2018
d30ea03
http: make ClientRequest#setTimeout() noop at end
timdp Jan 16, 2019
9e3ef92
build: do not lint python scripts under test/fixtures
joyeecheung Jan 22, 2019
ba1660d
build: remove erroneous duplicate declaration from node_inspector.gypi
refack Jan 19, 2019
459f6a1
test: replace common.PORT with `0` in https renegotiation test
Trott Jan 21, 2019
0f45dd5
test: remove potential race condition in https renegotiation test
Trott Jan 21, 2019
29ed864
test: revoke flaky designation for tests
gireeshpunathil Jan 21, 2019
6e5c208
http2: allow fully synchronous `_final()`
addaleax Jan 21, 2019
ef14709
events: show inspected error in uncaught 'error' message
addaleax Jan 21, 2019
f71c55b
src: remove outdated `Neuter()` call in `node_buffer.cc`
addaleax Jan 13, 2019
a4da17a
build: remove AIX/ppc (32bit) dead code
refack Jan 15, 2019
02eb75d
test: add stdio checks to cp-exec-maxBuffer
Fishrock123 Dec 11, 2018
b075fda
child_process: truncate output when maxBuffer is exceeded
Fishrock123 Dec 11, 2018
db64dae
crypto: add crypto modules to cannotUseCache
danbev Jan 21, 2019
043b9be
test: fix pummel/test-exec
Trott Jan 24, 2019
f609f16
doc: add note regarding pushing release tags
MylesBorins Jan 18, 2019
cf4897d
test: remove known_issues/test-cluster-bind-privileged-port
Trott Jan 22, 2019
0a48ddd
doc: simplify process.binding() deprecation message
Trott Jan 23, 2019
13ee984
test: remove common.isOSXMojave
Trott Jan 23, 2019
20355c3
doc: clarify what dns.setResolvers() affects
sam-github Jan 18, 2019
4c06433
repl: improve doc for disabling REPL history on Windows
ralish Jan 23, 2019
3f0bc59
test: fix sequential/test-performance delay
apapirovski Jan 25, 2019
c7e7089
doc: remove outdated s_client information in tls.md
Trott Jan 24, 2019
1d75e69
doc: fix file extension on ESM file example
ewhitebloom Jan 25, 2019
802661a
test: remove unused uncaughtException handler
addaleax Jan 22, 2019
b04c219
perf_hooks: clean up GC listeners
addaleax Jan 22, 2019
34f6b96
src: fix macro duplicate declaration in env.h
gengjiawen Jan 25, 2019
682cedd
build: make configure.py compatible with python 3
thefourtheye Jan 19, 2019
faf45a7
build: make compress_json python3 compatible
thefourtheye Jan 19, 2019
58b23f9
tools: make mkssldef.py Python 3 compatible
thefourtheye Jan 19, 2019
1a0bb27
doc: fix http.Agent timeout option description
lpinca Jan 14, 2019
b5a641f
test: rewrite fs {f}utimes test file
Fishrock123 Jan 23, 2019
1350d3c
tools: make test.py Queue part Python 3 compatible
gengjiawen Jan 25, 2019
854fc5d
src: remove unnecessary call to SSL_get_mode
sam-github Jan 25, 2019
5ebdb9d
doc: revise breaking changes material in COLLABORATOR_GUIDE
Trott Jan 27, 2019
341abab
src: remove unused field in node_http2.h
gengjiawen Jan 26, 2019
1a15fdc
module: use compileFunction over Module.wrap
ryzokuken Jun 28, 2018
dcf9519
module: revert module._compile to original state if module is patched
ryzokuken Nov 7, 2018
ea6a0ad
deps: update ICU to 64.2
ryzokuken Apr 23, 2019
3c8787b
tools: update LICENSE and tools/icu/current_ver.dep
ryzokuken Apr 23, 2019
8d4c15f
deps: backport ICU-20558 to fix Intl crasher
srl295 Apr 25, 2019
cdde908
deps: backport ICU-20575 to fix err/crasher
srl295 Apr 25, 2019
d8b5e62
deps: upgrade npm to v6.5.0
ljharb Dec 26, 2018
a385f2b
deps: upgrade npm to 6.7.0
zkat Jan 29, 2019
29c6530
deps: upgrade npm to 6.9.0
zkat Apr 5, 2019
ebe51a4
zlib: split JS code as prep for non-zlib-backed streams
addaleax Dec 6, 2018
c5c4a21
deps: add brotli
Hackzzila May 1, 2018
499ed9f
deps,tools: update license-builder.sh and LICENSE
Hackzzila May 2, 2018
aab0da6
zlib: add brotli support
addaleax Nov 27, 2018
15b43e3
benchmark,test: add brotli
addaleax Dec 10, 2018
4048e0d
doc: add documentation for brotli support
addaleax Dec 9, 2018
16478de
test: fix zlib-brotli output assumptions
AdamMajer Jan 25, 2019
a8ad994
deps: update OpenSSL upgrade process
sam-github Mar 1, 2019
c0e4d6e
deps: upgrade openssl sources to 1.1.1b
sam-github Apr 25, 2019
f4c6b25
deps: openssl-1.1.1b no longer packages .gitignore
sam-github Feb 26, 2019
af5d889
deps: add ARM64 Windows support in openssl
shigeki Feb 23, 2019
e9684b1
deps: add s390 asm rules for OpenSSL-1.1.1
shigeki Mar 7, 2018
0620314
deps: update archs files for OpenSSL-1.1.1b
sam-github Apr 25, 2019
5e82b79
tools: add `12.x` to alternative docs versions
richardlau May 12, 2019
a1aedd6
doc,tools: updates for 6.x End-of-Life
richardlau May 14, 2019
915ea2a
test: mark some known flakes
refack Apr 14, 2019
f5c0b84
test: move tick.js from test/async-hooks to test/common
arur Oct 12, 2018
bc4d717
doc: add "tick" function name and argument description
arur Oct 13, 2018
7f5120a
deps: patch to fix *.onion MX query on c-ares
XadillaX Jan 31, 2019
5cd9299
fs: fix infinite loop with async recursive mkdir on Windows
richardlau Apr 13, 2019
5716f23
test: use assert.rejects() and assert.throws()
richardlau Apr 16, 2019
eb59d4e
src: fix race condition in `~NodeTraceBuffer`
addaleax Feb 2, 2019
89dd890
src: extract common sockaddr creation code
danbev Feb 13, 2019
3ac2e3e
test: add test about unencrypted PKCS#8 private key for RSA
sasurau4 Mar 25, 2019
865bcef
test: add known_issues test for fs.copyFile()
Trott Mar 27, 2019
45a47b0
deps: upgrade to libuv 1.25.0
cjihrig Jan 18, 2019
4029192
deps: upgrade to libuv 1.26.0
cjihrig Feb 10, 2019
55938e2
test: update test for libuv update
cjihrig Mar 16, 2019
241ff5e
deps: upgrade to libuv 1.27.0
cjihrig Mar 16, 2019
32f479c
os: implement os.release() using uv_os_uname()
cjihrig Jan 21, 2019
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
1 change: 1 addition & 0 deletions .eslintrc.js
Original file line number Diff line number Diff line change
Expand Up @@ -222,6 +222,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
5 changes: 3 additions & 2 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
language: cpp
cache: ccache
os: linux
dist: xenial
matrix:
include:
- name: "First commit message adheres to guidelines at <a href=\"https://goo.gl/p2fr5Q\">https://goo.gl/p2fr5Q</a>"
Expand All @@ -24,9 +25,9 @@ matrix:
sources:
- ubuntu-toolchain-r-test
packages:
- g++-4.9
- g++-6
install:
- export CC='ccache gcc-4.9' CXX='ccache g++-4.9' JOBS=2
- export CC='ccache gcc-6' CXX='ccache g++-6' JOBS=2
- ./configure
- make -j2 V=
script:
Expand Down
60 changes: 19 additions & 41 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@

Select a Node.js version below to view the changelog history:

* [Node.js 12](doc/changelogs/CHANGELOG_V12.md) - **Current**
* [Node.js 11](doc/changelogs/CHANGELOG_V11.md) - Current
* [Node.js 10](doc/changelogs/CHANGELOG_V10.md) — **Long Term Support**
* [Node.js 9](doc/changelogs/CHANGELOG_V9.md) — End-of-Life
* [Node.js 8](doc/changelogs/CHANGELOG_V8.md) — Long Term Support
Expand All @@ -20,12 +22,17 @@ release.
<!--lint disable maximum-line-length-->
<table>
<tr>
<th title="Current"><a href="doc/changelogs/CHANGELOG_V10.md">10</a><sup>Current</sup></th>
<th title="Current"><a href="doc/changelogs/CHANGELOG_V12.md">12</a><sup>Current</sup></th>
<th title="LTS Until 2021-04"><a href="doc/changelogs/CHANGELOG_V10.md">10</a><sup>LTS</sup></th>
<th title="LTS Until 2019-12"><a href="doc/changelogs/CHANGELOG_V8.md">8</a><sup>LTS</sup></th>
<th title="LTS Until 2019-04"><a href="doc/changelogs/CHANGELOG_V6.md">6</a><sup>LTS</sup></th>
</tr>
<tr>
<td valign="top">
<b><a href="doc/changelogs/CHANGELOG_V12.md#12.1.0">12.1.0</a></b><br/>
<a href="doc/changelogs/CHANGELOG_V12.md#12.0.0">12.0.0</a><br/>
</td>
<td valign="top">
<b><a href="doc/changelogs/CHANGELOG_V10.md#10.15.3">10.15.3</a></b><br/>
<a href="doc/changelogs/CHANGELOG_V10.md#10.15.2">10.15.2</a><br/>
<a href="doc/changelogs/CHANGELOG_V10.md#10.15.1">10.15.1</a><br/>
Expand All @@ -51,7 +58,17 @@ release.
<a href="doc/changelogs/CHANGELOG_V10.md#10.0.0">10.0.0</a><br/>
</td>
<td valign="top">
<b><a href="doc/changelogs/CHANGELOG_V8.md#8.11.1">8.11.1</a></b><br/>
<b><a href="doc/changelogs/CHANGELOG_V8.md#8.16.0">8.16.0</a></b><br/>
<a href="doc/changelogs/CHANGELOG_V8.md#8.15.1">8.15.1</a><br/>
<a href="doc/changelogs/CHANGELOG_V8.md#8.15.0">8.15.0</a><br/>
<a href="doc/changelogs/CHANGELOG_V8.md#8.14.1">8.14.1</a><br/>
<a href="doc/changelogs/CHANGELOG_V8.md#8.14.0">8.14.0</a><br/>
<a href="doc/changelogs/CHANGELOG_V8.md#8.13.0">8.13.0</a><br/>
<a href="doc/changelogs/CHANGELOG_V8.md#8.12.0">8.12.0</a><br/>
<a href="doc/changelogs/CHANGELOG_V8.md#8.11.4">8.11.4</a><br/>
<a href="doc/changelogs/CHANGELOG_V8.md#8.11.3">8.11.3</a><br/>
<a href="doc/changelogs/CHANGELOG_V8.md#8.11.2">8.11.2</a><br/>
<a href="doc/changelogs/CHANGELOG_V8.md#8.11.1">8.11.1</a><br/>
<a href="doc/changelogs/CHANGELOG_V8.md#8.11.0">8.11.0</a><br/>
<a href="doc/changelogs/CHANGELOG_V8.md#8.10.0">8.10.0</a><br/>
<a href="doc/changelogs/CHANGELOG_V8.md#8.9.4">8.9.4</a><br/>
Expand All @@ -75,45 +92,6 @@ release.
<a href="doc/changelogs/CHANGELOG_V8.md#8.1.0">8.1.0</a><br/>
<a href="doc/changelogs/CHANGELOG_V8.md#8.0.0">8.0.0</a><br/>
</td>
<td valign="top">
<b><a href="doc/changelogs/CHANGELOG_V6.md#6.14.1">6.14.1</a></b><br/>
<a href="doc/changelogs/CHANGELOG_V6.md#6.14.0">6.14.0</a><br/>
<a href="doc/changelogs/CHANGELOG_V6.md#6.13.1">6.13.1</a><br/>
<a href="doc/changelogs/CHANGELOG_V6.md#6.13.0">6.13.0</a><br/>
<a href="doc/changelogs/CHANGELOG_V6.md#6.12.3">6.12.3</a><br/>
<a href="doc/changelogs/CHANGELOG_V6.md#6.12.2">6.12.2</a><br/>
<a href="doc/changelogs/CHANGELOG_V6.md#6.12.1">6.12.1</a><br/>
<a href="doc/changelogs/CHANGELOG_V6.md#6.12.0">6.12.0</a><br/>
<a href="doc/changelogs/CHANGELOG_V6.md#6.11.5">6.11.5</a><br/>
<a href="doc/changelogs/CHANGELOG_V6.md#6.11.4">6.11.4</a><br/>
<a href="doc/changelogs/CHANGELOG_V6.md#6.11.3">6.11.3</a><br/>
<a href="doc/changelogs/CHANGELOG_V6.md#6.11.2">6.11.2</a><br/>
<a href="doc/changelogs/CHANGELOG_V6.md#6.11.1">6.11.1</a><br/>
<a href="doc/changelogs/CHANGELOG_V6.md#6.11.0">6.11.0</a><br/>
<a href="doc/changelogs/CHANGELOG_V6.md#6.10.3">6.10.3</a><br/>
<a href="doc/changelogs/CHANGELOG_V6.md#6.10.2">6.10.2</a><br/>
<a href="doc/changelogs/CHANGELOG_V6.md#6.10.1">6.10.1</a><br/>
<a href="doc/changelogs/CHANGELOG_V6.md#6.10.0">6.10.0</a><br/>
<a href="doc/changelogs/CHANGELOG_V6.md#6.9.5">6.9.5</a><br/>
<a href="doc/changelogs/CHANGELOG_V6.md#6.9.4">6.9.4</a><br/>
<a href="doc/changelogs/CHANGELOG_V6.md#6.9.3">6.9.3</a><br/>
<a href="doc/changelogs/CHANGELOG_V6.md#6.9.2">6.9.2</a><br/>
<a href="doc/changelogs/CHANGELOG_V6.md#6.9.1">6.9.1</a><br/>
<a href="doc/changelogs/CHANGELOG_V6.md#6.9.0">6.9.0</a><br/>
<a href="doc/changelogs/CHANGELOG_V6.md#6.8.1">6.8.1</a><br/>
<a href="doc/changelogs/CHANGELOG_V6.md#6.8.0">6.8.0</a><br/>
<a href="doc/changelogs/CHANGELOG_V6.md#6.7.0">6.7.0</a><br/>
<a href="doc/changelogs/CHANGELOG_V6.md#6.6.0">6.6.0</a><br/>
<a href="doc/changelogs/CHANGELOG_V6.md#6.5.0">6.5.0</a><br/>
<a href="doc/changelogs/CHANGELOG_V6.md#6.4.0">6.4.0</a><br/>
<a href="doc/changelogs/CHANGELOG_V6.md#6.3.1">6.3.1</a><br/>
<a href="doc/changelogs/CHANGELOG_V6.md#6.3.0">6.3.0</a><br/>
<a href="doc/changelogs/CHANGELOG_V6.md#6.2.2">6.2.2</a><br/>
<a href="doc/changelogs/CHANGELOG_V6.md#6.2.1">6.2.1</a><br/>
<a href="doc/changelogs/CHANGELOG_V6.md#6.2.0">6.2.0</a><br/>
<a href="doc/changelogs/CHANGELOG_V6.md#6.1.0">6.1.0</a><br/>
<a href="doc/changelogs/CHANGELOG_V6.md#6.0.0">6.0.0</a><br/>
</td>
</tr>
</table>

Expand Down
119 changes: 28 additions & 91 deletions COLLABORATOR_GUIDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -256,62 +256,28 @@ Examples of breaking changes include:

#### Breaking Changes and Deprecations

With a few exceptions outlined below, when backward-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 major Node.js
version following the deprecation as a replacement for the deprecated API. In
other words, as a general rule, existing *Public* APIs *must not* change (in a
backward-incompatible way) without a deprecation.
Existing stable public APIs that change in a backward-incompatible way must
undergo deprecation. The exceptions to this rule are:

Exceptions to this rule may be made in the following cases:

* Adding or removing errors thrown or reported by a Public API;
* Adding or removing errors thrown or reported by a public API;
* Changing error messages for errors without error code;
* Altering the timing and non-internal side effects of the Public API.

Such changes *must* be handled as semver-major changes but MAY be landed
without a [Deprecation cycle](#deprecation-cycle).

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

From time-to-time, in particularly exceptional cases, the TSC may be asked to
consider and approve additional exceptions to this rule.
* Altering the timing and non-internal side effects of the public API;
* Changes to errors thrown by dependencies of Node.js, such as V8;
* One-time exceptions granted by the TSC.

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. Take significant care when making and reviewing such changes. Make
an effort 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

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
affected in the short term when attempting to build and use Node.js directly
from the master branch. This potential instability is why Node.js offers
distinct Current and LTS release streams that offer explicit stability
guarantees.

Specifically:

* Breaking changes should *never* land in Current or LTS except when:
* Resolving critical security issues.
* Fixing a critical bug (e.g. fixing a memory leak) requires a breaking
Expand Down Expand Up @@ -687,62 +653,33 @@ git push upstream master
messages. You are only allowed to force push to any Node.js branch within 10
minutes from your original push. If someone else pushes to the branch or the
10-minute period passes, consider the commit final.
* Use `--force-with-lease` to minimize the chance of overwriting
someone else's change.
* Use `--force-with-lease` to reduce the chance of overwriting someone else's
change.
* Post to `#node-dev` (IRC) if you force push.

### Long Term Support

#### What is LTS?

Long Term Support (often referred to as *LTS*) guarantees application developers
a 30-month support cycle with specific versions of Node.js.

You can find more information
[in the full release plan](https://github.com/nodejs/Release#release-plan).

#### How does LTS work?

Once a Current branch enters LTS, changes in that branch are limited to bug
fixes, security updates, possible npm updates, documentation updates, and
certain performance improvements that can be demonstrated to not break existing
applications. Semver-minor changes are only permitted if required for bug fixes
and then only on a case-by-case basis with LTS WG and possibly Technical
Steering Committee (TSC) review. Semver-major changes are permitted only if
required for security-related fixes.

Once a Current branch moves into Maintenance mode, only **critical** bugs,
**critical** security fixes, and documentation updates will be permitted.

#### Landing semver-minor commits in LTS

The default policy is to not land semver-minor or higher commits in any LTS
branch. However, the LTS WG or TSC can evaluate any individual semver-minor
commit and decide whether a special exception ought to be made. It is
expected that such exceptions would be evaluated, in part, on the scope
and impact of the changes on the code, the risk to ecosystem stability
incurred by accepting the change, and the expected benefit that landing the
commit will have for the ecosystem.

Any Collaborator who feels a semver-minor commit should be landed in an LTS
branch should attach the `lts-agenda` label to the pull request. The LTS WG
will discuss the issue and, if necessary, will escalate the issue up to the
TSC for further discussion.
Long Term Support (LTS) guarantees 30-month support cycles for specific Node.js
versions. You can find more information
[in the full release plan](https://github.com/nodejs/Release#release-plan). Once
a branch enters LTS, the release plan limits the types of changes permitted in
the branch.

#### How are LTS Branches Managed?

There are multiple LTS branches, e.g. `v10.x` and `v8.x`. Each of these is
paired with a staging branch: `v10.x-staging` and `v8.x-staging`.
Each LTS release has a corresponding branch (v10.x, v8.x, etc.). Each also has a
corresponding staging branch (v10.x-staging, v8.x-staging, etc.).

As commits land on the master branch, they are cherry-picked back to each
staging branch as appropriate. If the commit applies only to the LTS branch, the
PR must be opened against the *staging* branch. Commits are selectively
pulled from the staging branch into the LTS branch only when a release is
being prepared and may be pulled into the LTS branch in a different order
than they were landed in staging.
Commits that land on master are cherry-picked to each staging branch as
appropriate. If a change applies only to the LTS branch, open the PR against the
*staging* branch. Commits from the staging branch land on the LTS branch only
when a release is being prepared. They may land on the LTS branch in a different
order than they were in staging.

Only the members of the @nodejs/backporters team should land commits onto
LTS staging branches.
Only members of @nodejs/backporters should land commits onto LTS staging
branches.

#### How can I help?

Expand Down
4 changes: 2 additions & 2 deletions CPP_STYLE_GUIDE.md
Original file line number Diff line number Diff line change
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
56 changes: 51 additions & 5 deletions LICENSE
Original file line number Diff line number Diff line change
Expand Up @@ -118,8 +118,8 @@ The externally maintained libraries used by Node.js are:
"""
COPYRIGHT AND PERMISSION NOTICE (ICU 58 and later)

Copyright © 1991-2018 Unicode, Inc. All rights reserved.
Distributed under the Terms of Use in http://www.unicode.org/copyright.html.
Copyright © 1991-2019 Unicode, Inc. All rights reserved.
Distributed under the Terms of Use in https://www.unicode.org/copyright.html.

Permission is hereby granted, free of charge, to any person obtaining
a copy of the Unicode data files and any associated documentation
Expand Down Expand Up @@ -1077,7 +1077,7 @@ The externally maintained libraries used by Node.js are:
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
"""

- jinja2, located at tools/jinja2, is licensed as follows:
- jinja2, located at tools/inspector_protocol/jinja2, is licensed as follows:
"""
Copyright (c) 2009 by the Jinja Team, see AUTHORS for more details.

Expand Down Expand Up @@ -1112,7 +1112,7 @@ The externally maintained libraries used by Node.js are:
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
"""

- markupsafe, located at tools/markupsafe, is licensed as follows:
- markupsafe, located at tools/inspector_protocol/markupsafe, is licensed as follows:
"""
Copyright (c) 2010 by Armin Ronacher and contributors. See AUTHORS
for more details.
Expand Down Expand Up @@ -1229,7 +1229,7 @@ The externally maintained libraries used by Node.js are:
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
"""

- gtest, located at deps/gtest, is licensed as follows:
- gtest, located at test/cctest/gtest, is licensed as follows:
"""
Copyright 2008, Google Inc.
All rights reserved.
Expand Down Expand Up @@ -1310,3 +1310,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.
"""
Loading