Node.js Changelog

What's new in Node.js 22.0.0 Current

Apr 25, 2024
  • We're excited to announce the release of Node.js 22! Highlights include require()ing ESM graphs, WebSocket client, updates of the V8 JavaScript engine, and more! As a reminder, Node.js 22 will enter long-term support (LTS) in October, but until then, it will be the "Current" release for the next six months. We encourage you to explore the new features and benefits offered by this latest release and evaluate their potential impact on your applications.
  • Other Notable Changes:
  • [25c79f3331] - esm: drop support for import assertions (Nicolò Ribaudo) #52104
  • [818c10e86d] - lib: improve perf of AbortSignal creation (Raz Luvaton) #52408
  • [4f68c7c1c9] - watch: mark as stable (Moshe Atlow) #52074
  • [02b0bc01fe] - (SEMVER-MAJOR) deps: update V8 to 12.4.254.14 (Michaël Zasso) #52465
  • [c975384264] - (SEMVER-MAJOR) lib: enable WebSocket by default (Aras Abbasi) #51594
  • [1abff07392] - (SEMVER-MAJOR) stream: bump default highWaterMark (Robert Nagy) #52037
  • [1a5acd0638] - (SEMVER-MAJOR) v8: enable maglev on supported architectures (Keyhan Vakil) #51360
  • [128c60d906] - (SEMVER-MINOR) cli: implement node --run (Yagiz Nizipli) #52190
  • [151d365ad1] - (SEMVER-MINOR) fs: expose glob and globSync (Moshe Atlow) #51912
  • [5f7fad2605] - (SEMVER-MINOR) module: support require()ing synchronous ESM graphs (Joyee Cheung) #51977
  • Semver-Major Commits:
  • [2b1e7c2fcb] - (SEMVER-MAJOR) build: compile with C++20 support on Windows (StefanStojanovic) #52465
  • [12d00f1479] - (SEMVER-MAJOR) build: reset embedder string to "-node.0" (Michaël Zasso) #52465
  • [5f08e11a3c] - (SEMVER-MAJOR) build: reset embedder string to "-node.0" (Michaël Zasso) #52293
  • [94f0369d1d] - (SEMVER-MAJOR) build: reset embedder string to "-node.0" (Michaël Zasso) #51362
  • [58674cd1d8] - (SEMVER-MAJOR) build: reset embedder string to "-node.0" (Michaël Zasso) #50115
  • [60e836427e] - (SEMVER-MAJOR) console: treat non-strings as separate argument in console.assert() (Jacob Hummer) #49722
  • [d62ab3a1ef] - (SEMVER-MAJOR) crypto: runtime deprecate hmac constructor (Marco Ippolito) #52071
  • [de0602d190] - (SEMVER-MAJOR) crypto: runtime deprecate Hash constructor (Marco Ippolito) #51880
  • [215f4d04b7] - (SEMVER-MAJOR) crypto: move createCipher and createDecipher to eol (Marco Ippolito) #50973
  • [30801b8aaf] - (SEMVER-MAJOR) deps: V8: cherry-pick cd10ad7cdbe5 (Joyee Cheung) #52465
  • [521b629ab1] - (SEMVER-MAJOR) deps: V8: revert CL 5331688 (Michaël Zasso) #52465
  • [3795e97e6c] - (SEMVER-MAJOR) deps: patch V8 to support compilation with MSVC (StefanStojanovic) #52465
  • [5bde9e677d] - (SEMVER-MAJOR) deps: silence internal V8 deprecation warning (Michaël Zasso) #52465
  • [46e628c6f2] - (SEMVER-MAJOR) deps: patch V8 to avoid duplicated zlib symbol (Michaël Zasso) #52465
  • [f824e40a82] - (SEMVER-MAJOR) deps: remove usage of a C++20 feature from V8 (Michaël Zasso) #52465
  • [d2c84c9a13] - (SEMVER-MAJOR) deps: avoid compilation error with ASan (Michaël Zasso) #52465
  • [95d6045bdb] - (SEMVER-MAJOR) deps: disable V8 concurrent sparkplug compilation (Michaël Zasso) #52465
  • [00f55f5743] - (SEMVER-MAJOR) deps: silence irrelevant V8 warning (Michaël Zasso) #52465
  • [764085aa66] - (SEMVER-MAJOR) deps: always define V8_EXPORT_PRIVATE as no-op (Michaël Zasso) #52465
  • [02b0bc01fe] - (SEMVER-MAJOR) deps: update V8 to 12.4.254.14 (Michaël Zasso) #52465
  • [0ec50a19dd] - (SEMVER-MAJOR) deps: V8: cherry-pick cd10ad7cdbe5 (Joyee Cheung) #52293
  • [021b0b7dee] - (SEMVER-MAJOR) deps: V8: backport c4be0a97f981 (Richard Lau) #52293
  • [681aaf85c7] - (SEMVER-MAJOR) deps: silence internal V8 deprecation warning (Michaël Zasso) #52293
  • [c563a1c4e4] - (SEMVER-MAJOR) deps: patch V8 to support compilation with MSVC (Stefan Stojanovic) #52293
  • [11e94b9987] - (SEMVER-MAJOR) deps: patch V8 to avoid duplicated zlib symbol (Michaël Zasso) #52293
  • [856163e23c] - (SEMVER-MAJOR) deps: remove usage of a C++20 feature from V8 (Michaël Zasso) #52293
  • [b530214127] - (SEMVER-MAJOR) deps: avoid compilation error with ASan (Michaël Zasso) #52293
  • [8054f69dd9] - (SEMVER-MAJOR) deps: disable V8 concurrent sparkplug compilation (Michaël Zasso) #52293
  • [dee908be42] - (SEMVER-MAJOR) deps: silence irrelevant V8 warning (Michaël Zasso) #52293
  • [cf069414ee] - (SEMVER-MAJOR) deps: always define V8_EXPORT_PRIVATE as no-op (Michaël Zasso) #52293
  • [cc5792dd85] - (SEMVER-MAJOR) deps: update V8 to 12.3.219.16 (Michaël Zasso) #52293
  • [61a0d3b4c4] - (SEMVER-MAJOR) deps: V8: backport c4be0a97f981 (Richard Lau) #51362
  • [f55380a725] - (SEMVER-MAJOR) deps: V8: cherry-pick f8d5e576b814 (Richard Lau) #51362
  • [b9d806a2dd] - (SEMVER-MAJOR) deps: patch V8 to support compilation with MSVC (StefanStojanovic) #51362
  • [63b58bc17b] - (SEMVER-MAJOR) deps: patch V8 to avoid duplicated zlib symbol (Michaël Zasso) #51362
  • [86056353c4] - (SEMVER-MAJOR) deps: remove usage of a C++20 feature from V8 (Michaël Zasso) #51362
  • [2e0efc1c8d] - (SEMVER-MAJOR) deps: avoid compilation error with ASan (Michaël Zasso) #51362
  • [59e6f62e34] - (SEMVER-MAJOR) deps: disable V8 concurrent sparkplug compilation (Michaël Zasso) #51362
  • [0423f7e27e] - (SEMVER-MAJOR) deps: silence irrelevant V8 warning (Michaël Zasso) #51362
  • [f36620806d] - (SEMVER-MAJOR) deps: always define V8_EXPORT_PRIVATE as no-op (Michaël Zasso) #51362
  • [09a8440b45] - (SEMVER-MAJOR) deps: update V8 to 12.2.281.27 (Michaël Zasso) #51362
  • [0da3beebfc] - (SEMVER-MAJOR) deps: V8: cherry-pick de611e69ad51 (Keyhan Vakil) #50115
  • [b982335637] - (SEMVER-MAJOR) deps: V8: cherry-pick 0fd478bcdabd (Joyee Cheung) #50115
  • [481a90116c] - (SEMVER-MAJOR) deps: V8: cherry-pick 0f9ebbc672c7 (Chengzhong Wu) #50115
  • [782addbdc3] - (SEMVER-MAJOR) deps: V8: cherry-pick 8f0b94671ddb (Lu Yahan) #50115
  • [b682e7f540] - (SEMVER-MAJOR) deps: V8: cherry-pick f7d000a7ae7b (Luke Albao) #50115
  • [a60090c52f] - (SEMVER-MAJOR) deps: V8: cherry-pick 25902244ad1a (Joyee Cheung) #50115
  • [8441d1fc18] - (SEMVER-MAJOR) deps: patch V8 to avoid duplicated zlib symbol (Michaël Zasso) #50115
  • [e8e9bbd7a9] - (SEMVER-MAJOR) deps: remove usage of a C++20 feature from V8 (Michaël Zasso) #50115
  • [785d5cd006] - (SEMVER-MAJOR) deps: avoid compilation error with ASan (Michaël Zasso) #50115
  • [7071c1dafd] - (SEMVER-MAJOR) deps: disable V8 concurrent sparkplug compilation (Michaël Zasso) #50115
  • [d1d60b297d] - (SEMVER-MAJOR) deps: silence irrelevant V8 warning (Michaël Zasso) #50115
  • [5b240c62f9] - (SEMVER-MAJOR) deps: always define V8_EXPORT_PRIVATE as no-op (Michaël Zasso) #50115
  • [d8c97e4857] - (SEMVER-MAJOR) deps: update V8 to 11.9.169.7 (Michaël Zasso) #50115
  • [b9df88a8c2] - (SEMVER-MAJOR) doc: runtime deprecate flag --trace-atomics-wait (marco-ippolito) #51179
  • [9ba5df30b4] - (SEMVER-MAJOR) doc: bump FreeBSD experimental support to 13.2 (Michaël Zasso) #51231
  • [900d79caf2] - (SEMVER-MAJOR) doc: add migration paths for deprecated utils (Marco Ippolito) #50488
  • [8206f6bb7f] - (SEMVER-MAJOR) fs: runtime deprecate fs.Stats constructor (Marco Ippolito) #52067
  • [c14133503a] - (SEMVER-MAJOR) fs: use private fields instead of symbols for Dir (Jungku Lee) #51037
  • [abbdc3efaa] - (SEMVER-MAJOR) fs: make stats date fields lazy (Yagiz Nizipli) #50908
  • [4b76ccea95] - (SEMVER-MAJOR) http: preserve raw header duplicates in writeHead after setHeader calls (Tim Perry) #50394
  • [c975384264] - (SEMVER-MAJOR) lib: enable WebSocket by default (Aras Abbasi) #51594
  • [351495e938] - (SEMVER-MAJOR) lib,test: handle new Iterator global (Michaël Zasso) #51362
  • [a8b21fdc90] - (SEMVER-MAJOR) process: wait for 'exit' before printing result (Antoine du Hamel) #52172
  • [582ff5037c] - (SEMVER-MAJOR) src: update NODE_MODULE_VERSION to 127 (Michaël Zasso) #52465
  • [c5c4b50260] - (SEMVER-MAJOR) src: update NODE_MODULE_VERSION to 126 (Michaël Zasso) #52293
  • [d248639285] - (SEMVER-MAJOR) src: use supported API to get stalled TLA messages (Michaël Zasso) #51362
  • [d34b02db4c] - (SEMVER-MAJOR) src: update default V8 platform to override functions with location (Etienne Pierre-Doray) #51362
  • [d9c47e9b5f] - (SEMVER-MAJOR) src: add missing TryCatch (Michaël Zasso) #51362
  • [5cddd3b2d8] - (SEMVER-MAJOR) src: update NODE_MODULE_VERSION to 124 (Michaël Zasso) #51362
  • [1528846ada] - (SEMVER-MAJOR) src: use non-deprecated v8::Uint8Array::kMaxLength (Michaël Zasso) #50115
  • [7166986626] - (SEMVER-MAJOR) src: adapt to v8::Exception API change (Michaël Zasso) #50115
  • [4782818020] - (SEMVER-MAJOR) src: use non-deprecated version of CreateSyntheticModule (Michaël Zasso) #50115
  • [2cff0ce411] - (SEMVER-MAJOR) src: update NODE_MODULE_VERSION to 122 (Michaël Zasso) #50115
  • [1abff07392] - (SEMVER-MAJOR) stream: bump default highWaterMark (Robert Nagy) #52037
  • [9efc84a2cb] - (SEMVER-MAJOR) test: mark test-worker-arraybuffer-zerofill as flaky (Michaël Zasso) #51362
  • [84c2e712eb] - (SEMVER-MAJOR) test: mark some GC-related tests as flaky (Michaël Zasso) #51362
  • [cdc4437b87] - (SEMVER-MAJOR) test: allow slightly more diff in memory leak test (Michaël Zasso) #51362
  • [515b007fae] - (SEMVER-MAJOR) test: replace always-opt flag with alway-turbofan (Michaël Zasso) #50115
  • [2341805eb2] - (SEMVER-MAJOR) test: remove tests that create very large buffers (Michaël Zasso) #50115
  • [941cef5636] - (SEMVER-MAJOR) test: adapt to new V8 trusted memory spaces (Michaël Zasso) #50115
  • [29de7f82cd] - (SEMVER-MAJOR) test_runner: omit filtered test from output (Colin Ihrig) #52221
  • [00dc6d9d97] - (SEMVER-MAJOR) test_runner: improve --test-name-pattern to allow matching single test (Michał Drobniak) #51577
  • [5def8019d5] - (SEMVER-MAJOR) tools: update V8 gypfiles for 12.4 (Michaël Zasso) #52465
  • [c22793d050] - (SEMVER-MAJOR) tools: roughly port v8_abseil to gyp (Michaël Zasso) #51362
  • [ffb0302f0c] - (SEMVER-MAJOR) tools: update V8 gypfiles for 12.2 (Michaël Zasso) #51362
  • [aadea12440] - (SEMVER-MAJOR) tools: update V8 gypfiles for 12.1 (Michaël Zasso) #51362
  • [7784773967] - (SEMVER-MAJOR) tools: update V8 gypfiles for 12.0 (Michaël Zasso) #51362
  • [9fe0424baa] - (SEMVER-MAJOR) trace_events: use private fields instead of symbols for Tracing (Jungku Lee) #51180
  • [e96cd25007] - (SEMVER-MAJOR) util: runtime deprecate util.log (Marco Ippolito) #50488
  • [6cf20d5e43] - (SEMVER-MAJOR) util: runtime deprecate util.isUndefined (Marco Ippolito) #50488
  • [09e424921f] - (SEMVER-MAJOR) util: runtime deprecate util.isSymbol (Marco Ippolito) #50488
  • [80b6bfd4e9] - (SEMVER-MAJOR) util: runtime deprecate util.isString (Marco Ippolito) #50488
  • [d419edded9] - (SEMVER-MAJOR) util: runtime deprecate util.isRegExp (Marco Ippolito) #50488
  • [e0b8de78ed] - (SEMVER-MAJOR) util: runtime deprecate util.isPrimitive (Marco Ippolito) #50488
  • [5478e1129a] - (SEMVER-MAJOR) util: runtime deprecate util.isObject (Marco Ippolito) #50488
  • [b05b1dd541] - (SEMVER-MAJOR) util: runtime deprecate util.isNumber (Marco Ippolito) #50488
  • [5af9bf5f6a] - (SEMVER-MAJOR) util: runtime deprecate util.isNullOrUndefined (Marco Ippolito) #50488
  • [860a10e10e] - (SEMVER-MAJOR) util: runtime deprecate util.isNull (Marco Ippolito) #50488
  • [70330f5c2b] - (SEMVER-MAJOR) util: runtime deprecate util.isFunction (Marco Ippolito) #50488
  • [7c69c33acc] - (SEMVER-MAJOR) util: runtime deprecate util.isError (Marco Ippolito) #50488
  • [a0c5b871a9] - (SEMVER-MAJOR) util: runtime deprecate util.isDate (Marco Ippolito) #50488
  • [3c670cb15d] - (SEMVER-MAJOR) util: runtime deprecation util.isBuffer (Marco Ippolito) #50488
  • [c17a448ca9] - (SEMVER-MAJOR) util: runtime deprecation util.isBoolean (Marco Ippolito) #50488
  • [fbb2f891aa] - (SEMVER-MAJOR) util: runtime deprecate util.isArray (Marco Ippolito) #50488
  • [22d8062e42] - (SEMVER-MAJOR) util: runtime deprecation util._extend (Marco Ippolito) #50488
  • [1a5acd0638] - (SEMVER-MAJOR) v8: enable maglev on supported architectures (Keyhan Vakil) #51360
  • Semver-Minor Commits:
  • [128c60d906] - (SEMVER-MINOR) cli: implement node --run (Yagiz Nizipli) #52190
  • [f69946b905] - (SEMVER-MINOR) deps: update simdutf to 5.0.0 (Daniel Lemire) #52138
  • [828ad42eee] - (SEMVER-MINOR) deps: update undici to 6.3.0 (Node.js GitHub Bot) #51462
  • [05f8172188] - (SEMVER-MINOR) deps: update undici to 6.2.1 (Node.js GitHub Bot) #51278
  • [a0c466810a] - (SEMVER-MINOR) doc: deprecate fs.Stats public constructor (Marco Ippolito) #51879
  • [151d365ad1] - (SEMVER-MINOR) fs: expose glob and globSync (Moshe Atlow) #51912
  • [5f7fad2605] - (SEMVER-MINOR) module: support require()ing synchronous ESM graphs (Joyee Cheung) #51977
  • [009665fb56] - (SEMVER-MINOR) report: add --report-exclude-network option (Ethan Arrowood) #51645
  • [80f86e5d02] - (SEMVER-MINOR) src: add C++ ProcessEmitWarningSync() (Joyee Cheung) #51977
  • [78be0d0f1c] - (SEMVER-MINOR) src: add uv_get_available_memory to report and process (theanarkh) #52023
  • [b34512e38e] - (SEMVER-MINOR) src: preload function for Environment (Cheng Zhao) #51539
  • [7d258db1d7] - (SEMVER-MINOR) stream: support typed arrays (IlyasShabi) #51866
  • [5276c0d5d4] - (SEMVER-MINOR) test_runner: add suite() (Colin Ihrig) #52127
  • [84de97a61e] - (SEMVER-MINOR) test_runner: support forced exit (Colin Ihrig) #52038
  • [aac5ad901d] - (SEMVER-MINOR) test_runner: add test:complete event to reflect execution order (Moshe Atlow) #51909
  • [9a1e01c4ce] - (SEMVER-MINOR) util: support array of formats in util.styleText (Marco Ippolito) #52040
  • [7f2d61f82a] - (SEMVER-MINOR) v8: implement v8.queryObjects() for memory leak regression testing (Joyee Cheung) #51927
  • [d1d5da22e4] - (SEMVER-MINOR) vm: harden module type checks (Chengzhong Wu) #52162
  • Semver-Patch Commits:
  • [a760dadec3] - benchmark: add AbortSignal.abort benchmarks (Raz Luvaton) #52408
  • [47c934e464] - benchmark: conditionally use spawn with taskset for cpu pinning (Ali Hassan) #52253
  • [dde0cffb2e] - benchmark: add toNamespacedPath bench (Rafael Gonzaga) #52236
  • [bda66ad711] - benchmark: add style-text benchmark (Rafael Gonzaga) #52004
  • [21211a3fa9] - buffer: improve btoa performance (Yagiz Nizipli) #52427
  • [6f504b71ac] - buffer: use simdutf for atob implementation (Yagiz Nizipli) #52381
  • [0ce7365856] - build: temporary disable ubsan (Rafael Gonzaga) #52560
  • [4e278f0253] - build: speed up compilation of some V8 files (Michaël Zasso) #52083
  • [ba06c5c509] - build,tools: add test-ubsan ci (Rafael Gonzaga) #46297
  • [562369f348] - child_process: use internal addAbortListener (Chemi Atlow) #52081
  • [8f61b658de] - crypto: deprecate implicitly shortened GCM tags (Tobias Nießen) #52345
  • [08609b5222] - crypto: make timingSafeEqual faster for Uint8Array (Tobias Nießen) #52341
  • [9f939f5af7] - crypto: reject Ed25519/Ed448 in Sign/Verify prototypes (Filip Skokan) #52340
  • [2241e8c5b3] - crypto: validate RSA-PSS saltLength in subtle.sign and subtle.verify (Filip Skokan) #52262
  • [6dd1c75f4a] - crypto: fix input validation in crypto.hash (Antoine du Hamel) #52070
  • [a1d48f4a26] - deps: update simdutf to 5.2.4 (Node.js GitHub Bot) #52473
  • [08ff4a0c9d] - deps: update nghttp2 to 1.61.0 (Node.js GitHub Bot) #52395
  • [cf629366b9] - deps: update simdutf to 5.2.3 (Yagiz Nizipli) #52381
  • [ad86a12964] - deps: upgrade npm to 10.5.1 (npm team) #52351
  • [45cc32c9c6] - deps: update c-ares to 1.28.1 (Node.js GitHub Bot) #52285
  • [38161c38d9] - deps: update zlib to 1.3.0.1-motley-24c07df (Node.js GitHub Bot) #52199
  • [1264414700] - deps: update simdjson to 3.8.0 (Node.js GitHub Bot) #52124
  • [f6996ee150] - deps: V8: backport c4be0a97f981 (Richard Lau) #52183
  • [0d4bc4c40e] - deps: V8: cherry-pick f8d5e576b814 (Richard Lau) #52183
  • [70a05103c8] - deps: update zlib to 1.3.0.1-motley-24342f6 (Node.js GitHub Bot) #52123
  • [4c3e9659ed] - deps: update corepack to 0.26.0 (Node.js GitHub Bot) #52027
  • [0b4cdb4b42] - deps: update ada to 2.7.7 (Node.js GitHub Bot) #52028
  • [b241a1d0ae] - deps: update simdutf to 4.0.9 (Node.js GitHub Bot) #51655
  • [36dcd399c0] - deps: upgrade libuv to 1.48.0 (Santiago Gimeno) #51697
  • [8cf313cd72] - deps: update undici to 6.6.0 (Node.js GitHub Bot) #51630
  • [dd4767f99f] - deps: update undici to 6.4.0 (Node.js GitHub Bot) #51527
  • [8362caa7d8] - dgram: use internal addAbortListener (Chemi Atlow) #52081
  • [4f3cf4e89a] - diagnostics_channel: early-exit tracing channel trace methods (Stephen Belanger) #51915
  • [204018bba6] - doc: deprecate --experimental-policy (RafaelGSS) #52602
  • [d32a914ac7] - doc: add lint-js-fix into BUILDING.md (jakecastelli) #52290
  • [411503bacd] - doc: remove Internet Explorer mention in BUILDING.md (Rich Trott) #52455
  • [e9ccf5aba2] - doc: accommodate upcoming stricter .md linting (Rich Trott) #52454
  • [b4186ec2c1] - doc: add Rafael to steward list (Rafael Gonzaga) #52452
  • [7b01bfb2be] - doc: correct naming convention in C++ style guide (Mohammed Keyvanzadeh) #52424
  • [c82f3c9e80] - doc: update process.execArg example to be more useful (Jacob Smith) #52412
  • [655b327a4d] - doc: call out http(s).globalAgent default (mathis-west-1) #52392
  • [2c77be5488] - doc: update the location of build_with_cmake (Emmanuel Ferdman) #52356
  • [7dd514f2db] - doc: reserve 125 for Electron 31 (Shelley Vohr) #52379
  • [756acd0877] - doc: use consistent plural form of "index" (Rich Trott) #52373
  • [ba07e4e5e6] - doc: fix typo in cli.md (Daeyeon Jeong) #52388
  • [461d9d665d] - doc: add Rafael to sec release stewards (Rafael Gonzaga) #52354
  • [d0c364a844] - doc: document missing options of events.on (Chemi Atlow) #52080
  • [a63261cf2c] - doc: add missing space (Augustin Mauroy) #52360
  • [dd711d221a] - doc: add tips about vcpkg cause build faild on windows (Cong Zhang) #52181
  • [4df34cf6dd] - doc: replace "below" with "following" (Rich Trott) #52315
  • [d9aa33fdbf] - doc: fix email pattern to be wrapped with

New in Node.js 21.7.3 Current (Apr 11, 2024)

  • Notable Changes:
  • CVE-2024-27980 - Command injection via args parameter of child_process.spawn without shell option enabled on Windows
  • Commits:
  • [9095c914ed] - src: disallow direct .bat and .cmd file spawning (Ben Noordhuis) nodejs-private/node-private#562

New in Node.js 20.12.2 LTS (Apr 11, 2024)

  • Notable Changes:
  • CVE-2024-27980 - Command injection via args parameter of child_process.spawn without shell option enabled on Windows
  • Commits:
  • [69ffc6d50d] - src: disallow direct .bat and .cmd file spawning (Ben Noordhuis) nodejs-private/node-private#563

New in Node.js 21.7.2 Current (Apr 8, 2024)

  • Notable changes:
  • CVE-2024-27983 - Assertion failed in node::http2::Http2Session::~Http2Session() leads to HTTP/2 server crash- (High)
  • CVE-2024-27982 - HTTP Request Smuggling via Content Length Obfuscation- (Medium)
  • llhttp version 9.2.1
  • undici version 6.11.1
  • Commits:
  • [3dfc10c851] - deps: update undici to 6.11.1 (Node.js GitHub Bot) #52328
  • [aceea1c5e7] - deps: update undici to 6.10.2 (Node.js GitHub Bot) #52227
  • [5f0f96b275] - deps: update llhttp to 9.2.0 (Node.js GitHub Bot) #51719
  • [1a65e98e22] - http: do not allow OBS fold in headers by default (Paolo Insogna) nodejs-private/node-private#556
  • [3bd39fb474] - src: ensure to close stream when destroying session (RafaelGSS) nodejs-private/node-private#561

New in Node.js 20.12.1 LTS (Apr 8, 2024)

  • Notable Changes:
  • CVE-2024-27983 - Assertion failed in node::http2::Http2Session::~Http2Session() leads to HTTP/2 server crash- (High)
  • CVE-2024-27982 - HTTP Request Smuggling via Content Length Obfuscation - (Medium)
  • llhttp version 9.2.1
  • undici version 5.28.4
  • Commits:
  • [bd8f10a257] - deps: update undici to v5.28.4 (Matteo Collina) nodejs-private/node-private#576
  • [5e34540a96] - http: do not allow OBS fold in headers by default (Paolo Insogna) nodejs-private/node-private#557
  • [ba1ae6d188] - src: ensure to close stream when destroying session (Anna Henningsen) nodejs-private/node-private#561

New in Node.js 21.7.1 Current (Mar 10, 2024)

  • Notable Changes:
  • This release reverts #51389, which landed in Node.js 21.7.0. It is a documented feature that t.after() hooks are run even if a test has no subtests. The hook can be used to clean up the test itself.
  • Commits:
  • [0dfe810ac7] - benchmark: update iterations of benchmark/async_hooks/async-local- (Lei Shi) #51420
  • [625c9e0ac9] - benchmark: update iterations of benchmark/domain/domain-fn-args.js (Lei Shi) #51408
  • [7ff3551bad] - build: fix arm64 host cross-compilation in GN (Cheng Zhao) #51903
  • [fd86ea8b71] - Revert "build: workaround for node-core-utils" (Richard Lau) #51975
  • [23c32ab3a7] - build: respect the NODE env variable in Makefile (Antoine du Hamel) #51743
  • [9617adc064] - Revert "build: fix warning in cares under GN build" (Luigi Pinca) #51865
  • [5864534095] - deps: update nghttp2 to 1.60.0 (Node.js GitHub Bot) #51948
  • [fcf235d623] - doc: add policy for distribution (Geoffrey Booth) #51918
  • [87d2acc8b1] - doc: fix actual result of example is different in events (Deokjin Kim) #51925
  • [5908c121c6] - doc: clarify Corepack threat model (Antoine du Hamel) #51917
  • [20e0ba3b94] - doc,module: clarify hook chain execution sequence (Jacob Smith) #51884
  • [4d997971ac] - lib: make sure close net server (theanarkh) #51929
  • [fcc6d54aa3] - lib: return directly if udp socket close before lookup (theanarkh) #51914
  • [10aaabd158] - meta: bump github/codeql-action from 3.23.2 to 3.24.6 (dependabot[bot]) #51942
  • [78f38a0143] - meta: bump actions/upload-artifact from 4.3.0 to 4.3.1 (dependabot[bot]) #51941
  • [42ca5452c4] - meta: bump codecov/codecov-action from 4.0.1 to 4.1.0 (dependabot[bot]) #51940
  • [015a157375] - meta: bump actions/cache from 4.0.0 to 4.0.1 (dependabot[bot]) #51939
  • [e476cb4a32] - meta: bump actions/download-artifact from 4.1.1 to 4.1.3 (dependabot[bot]) #51938
  • [67e8001790] - meta: bump actions/setup-node from 4.0.1 to 4.0.2 (dependabot[bot]) #51937
  • [50343636e8] - src: fix --disable-single-executable-application (Joyee Cheung) #51808
  • [a48c9ca0db] - stream: do not defer construction by one microtick (Matteo Collina) #52005
  • [bee3b364f9] - test: add regression test for test_runner after hook (Colin Ihrig) #51998
  • [fff7f48f50] - test: reduce flakiness of test-runner-output (Antoine du Hamel) #51952
  • [57ba8f5acb] - test: fix flaky http-chunk-extensions-limit test (Ethan Arrowood) #51943
  • [9d2c03990a] - test: remove flaky designation (Luigi Pinca) #51736
  • [e992af81d3] - test: skip SEA tests when SEA generation fails (Joyee Cheung) #51887
  • [85aa6ca850] - Revert "test_runner: do not invoke after hook when test is empty" (Colin Ihrig) #51998

New in Node.js 21.7.0 Current (Mar 7, 2024)

  • Text Styling:
  • util.styleText(format, text): This function returns a formatted text considering the format passed.
  • A new API has been created to format text based on util.inspect.colors, enabling you to style text in different colors (such as red, blue, ...) and emphasis (italic, bold, ...).
  • Loading and parsing environment variables:
  • process.loadEnvFile(path):
  • Use this function to load the .env file. If no path is specified, it automatically loads the .env file in the current directory. Example: process.loadEnvFile().
  • Load a specific .env file by specifying its path. Example: process.loadEnvFile('./development.env').
  • util.parseEnv(content):
  • Use this function to parse an existing string containing environment variable assignments.
  • Example usage: require('node:util').parseEnv('HELLO=world').
  • Support for multi-line values for .env file:
  • Node.js 21.7.0 will now support multi-line values in the .env file.
  • sea: support embedding assets:
  • Users can now include assets by adding a key-path dictionary to the configuration as the assets field. At build time, Node.js would read the assets from the specified paths and bundle them into the preparation blob. In the generated executable, users can retrieve the assets using the sea.getAsset() and sea.getAssetAsBlob() API.
  • vm: support using the default loader to handle dynamic import():
  • This patch adds support for using vm.constants.USE_MAIN_CONTEXT_DEFAULT_LOADER as the importModuleDynamically option in all vm APIs that take this option except vm.SourceTextModule. This allows users to have a shortcut to support dynamic import() in the compiled code without missing the compilation cache if they don't need customization of the loading process. We emit an experimental warning when the import() is actually handled by the default loader through this option instead of requiring --experimental-vm-modules.
  • crypto: implement crypto.hash():
  • This patch introduces a helper crypto.hash() that computes a digest from the input at one shot. This can be 1.2-2x faster than the object-based createHash() for smaller inputs (

New in Node.js 21.6.2 Current (Feb 15, 2024)

  • Notable changes:
  • CVE-2024-21892 - Code injection and privilege escalation through Linux capabilities- (High)
  • CVE-2024-22019 - http: Reading unprocessed HTTP request with unbounded chunk extension allows DoS attacks- (High)
  • CVE-2024-21896 - Path traversal by monkey-patching Buffer internals- (High)
  • CVE-2024-22017 - setuid() does not drop all privileges due to io_uring - (High)
  • CVE-2023-46809 - Node.js is vulnerable to the Marvin Attack (timing variant of the Bleichenbacher attack against PKCS#1 v1.5 padding) - (Medium)
  • CVE-2024-21891 - Multiple permission model bypasses due to improper path traversal sequence sanitization - (Medium)
  • CVE-2024-21890 - Improper handling of wildcards in --allow-fs-read and --allow-fs-write (Medium)
  • CVE-2024-22025 - Denial of Service by resource exhaustion in fetch() brotli decoding - (Medium)
  • undici version 5.28.3
  • libuv version 1.48.0
  • OpenSSL version 3.0.13+quic1
  • Commits:
  • [8344719369] - crypto: disable PKCS#1 padding for privateDecrypt (Michael Dawson) nodejs-private/node-private#525
  • [d093600ac4] - deps: update archs files for openssl-3.0.13+quic1 (Node.js GitHub Bot) #51614
  • [6cd930e5e8] - deps: upgrade openssl sources to quictls/openssl-3.0.13+quic1 (Node.js GitHub Bot) #51614
  • [9590c15d3d] - deps: upgrade libuv to 1.48.0 (Santiago Gimeno) #51698
  • [666096298c] - deps: disable io_uring support in libuv by default (Tobias Nießen) nodejs-private/node-private#528
  • [a4edd22e30] - fs: protect against modified Buffer internals in possiblyTransformPath (Tobias Nießen) nodejs-private/node-private#497
  • [6155a1ffaf] - http: add maximum chunk extension size (Paolo Insogna) nodejs-private/node-private#518
  • [777509495e] - lib: use cache fs internals against path traversal (RafaelGSS) nodejs-private/node-private#516
  • [9d2ac2b3fc] - lib: update undici to v5.28.3 (Matteo Collina) nodejs-private/node-private#538
  • [208b3940c7] - src: fix HasOnly(capability) in node::credentials (Tobias Nießen) nodejs-private/node-private#505
  • [fc2454f29c] - src,deps: disable setuid() etc if io_uring enabled (Tobias Nießen) nodejs-private/node-private#528
  • [ef3eea20be] - test,doc: clarify wildcard usage (RafaelGSS) nodejs-private/node-private#517
  • [8547196964] - zlib: pause stream if outgoing buffer is full (Matteo Collina) nodejs-private/node-private#540

New in Node.js 20.11.1 LTS (Feb 15, 2024)

  • Notable changes:
  • CVE-2024-21892 - Code injection and privilege escalation through Linux capabilities- (High)
  • CVE-2024-22019 - http: Reading unprocessed HTTP request with unbounded chunk extension allows DoS attacks- (High)
  • CVE-2024-21896 - Path traversal by monkey-patching Buffer internals- (High)
  • CVE-2024-22017 - setuid() does not drop all privileges due to io_uring - (High)
  • CVE-2023-46809 - Node.js is vulnerable to the Marvin Attack (timing variant of the Bleichenbacher attack against PKCS#1 v1.5 padding) - (Medium)
  • CVE-2024-21891 - Multiple permission model bypasses due to improper path traversal sequence sanitization - (Medium)
  • CVE-2024-21890 - Improper handling of wildcards in --allow-fs-read and --allow-fs-write (Medium)
  • CVE-2024-22025 - Denial of Service by resource exhaustion in fetch() brotli decoding - (Medium)
  • undici version 5.28.3
  • libuv version 1.48.0
  • OpenSSL version 3.0.13+quic1
  • Commits:
  • [7079c062bb] - crypto: disable PKCS#1 padding for privateDecrypt (Michael Dawson) nodejs-private/node-private#525
  • [186a6e1ffb] - deps: fix GHSA-f74f-cvh7-c6q6/CVE-2024-24806 (Santiago Gimeno) #51737
  • [686da19abb] - deps: disable io_uring support in libuv by default (Tobias Nießen) nodejs-private/node-private#529
  • [f7b44bfbce] - deps: update archs files for openssl-3.0.13+quic1 (Node.js GitHub Bot) #51614
  • [7a30fecea2] - deps: upgrade openssl sources to quictls/openssl-3.0.13+quic1 (Node.js GitHub Bot) #51614
  • [480fc169a8] - fs: protect against modified Buffer internals in possiblyTransformPath (Tobias Nießen) nodejs-private/node-private#497
  • [77ac7c3153] - http: add maximum chunk extension size (Paolo Insogna) nodejs-private/node-private#519
  • [ed7d149675] - lib: use cache fs internals against path traversal (RafaelGSS) nodejs-private/node-private#516
  • [89bd5fc38f] - lib: update undici to v5.28.3 (Matteo Collina) nodejs-private/node-private#539
  • [d01dd4291d] - permission: fix wildcard when children > 1 (Rafael Gonzaga) #51209
  • [40ff37dfcc] - src: fix HasOnly(capability) in node::credentials (Tobias Nießen) nodejs-private/node-private#505
  • [3f6addd590] - src,deps: disable setuid() etc if io_uring enabled (Tobias Nießen) nodejs-private/node-private#529
  • [d6da413aa4] - test,doc: clarify wildcard usage (RafaelGSS) nodejs-private/node-private#517
  • [c213910aea] - zlib: pause stream if outgoing buffer is full (Matteo Collina) nodejs-private/node-private#541

New in Node.js 21.6.1 Current (Jan 23, 2024)

  • Notable Changes:
  • This release fixes a bug in undici using WebStreams
  • Commits:
  • [662ac95729] - Revert "stream: fix cloned webstreams not being unref'd" (Matteo Collina) #51491
  • [1b8bba8aee] - test: add regression test for 51586 (Matteo Collina) #51491

New in Node.js 21.6.0 Current (Jan 16, 2024)

  • New connection attempt events:
  • Three new events were added in the net.createConnection flow:
  • connectionAttempt: Emitted when a new connection attempt is established. In case of Happy Eyeballs, this might emitted multiple times.
  • connectionAttemptFailed: Emitted when a connection attempt failed. In case of Happy Eyeballs, this might emitted multiple times.
  • connectionAttemptTimeout: Emitted when a connection attempt timed out. In case of Happy Eyeballs, this will not be emitted for the last attempt. This is not emitted at all if Happy Eyeballs is not used.
  • Additionally, a previous bug has been fixed where a new connection attempt could have been started after a previous one failed and after the connection was destroyed by the user. This led to a failed assertion.
  • Changes to the Permission Model:
  • Node.js 21.6.0 comes with several fixes for the experimental permission model and two new semver-minor commits. We're adding a new flag --allow-addons to enable addon usage when using the Permission Model.
  • $ node --experimental-permission --allow-addons
  • And relative paths are now supported through the --allow-fs-* flags. Therefore, with this release one can use:
  • $ node --experimental-permission --allow-fs-read=./index.js
  • To give only read access to the entrypoint of the application.
  • Support configurable snapshot through --build-snapshot-config flag:
  • We are adding a new flag --build-snapshot-config to configure snapshots through a custom JSON configuration file.
  • $ node --build-snapshot-config=/path/to/myconfig.json
  • When using this flag, additional script files provided on the command line will not be executed and instead be interpreted as regular command line arguments.
  • Other Notable Changes:
  • [c31ed51373] - (SEMVER-MINOR) timers: export timers.promises (Marco Ippolito) #51246
  • Commits:
  • [13a1241b83] - assert,crypto: make KeyObject and CryptoKey testable for equality (Filip Skokan) #50897
  • [4dcc5114aa] - benchmark: remove dependency on unshipped tools (Adam Majer) #51146
  • [2eb41f86b3] - build: fix for VScode "Reopen in Container" (Serg Kryvonos) #51271
  • [e03ac83c19] - build: fix arm64 cross-compilation (Michaël Zasso) #51256
  • [cd61fce34e] - build: add -flax-vector-conversions to V8 build (Michaël Zasso) #51257
  • [e5017a522e] - crypto: update CryptoKey symbol properties (Filip Skokan) #50897
  • [c0d2e8be11] - deps: update corepack to 0.24.0 (Node.js GitHub Bot) #51318
  • [24a9a72492] - deps: update acorn to 8.11.3 (Node.js GitHub Bot) #51317
  • [e53cbb22c2] - deps: update ngtcp2 and nghttp3 (James M Snell) #51291
  • [f00f1204f1] - deps: update brotli to 1.1.0 (Node.js GitHub Bot) #50804
  • [a41dca0c51] - deps: update zlib to 1.3.0.1-motley-40e35a7 (Node.js GitHub Bot) #51274
  • [efa12a89c6] - deps: update simdutf to 4.0.8 (Node.js GitHub Bot) #51000
  • [25eba3d20b] - deps: V8: cherry-pick de611e69ad51 (Keyhan Vakil) #51200
  • [a07d6e23e4] - deps: update simdjson to 3.6.3 (Node.js GitHub Bot) #51104
  • [6d1bfcb2dd] - deps: update googletest to 530d5c8 (Node.js GitHub Bot) #51191
  • [75e5615c43] - deps: update acorn-walk to 8.3.1 (Node.js GitHub Bot) #50457
  • [3ecc7dcc00] - deps: update acorn-walk to 8.3.0 (Node.js GitHub Bot) #50457
  • [e2f8d741c8] - deps: update zlib to 1.3.0.1-motley-dd5fc13 (Node.js GitHub Bot) #51105
  • [4a5d3bda72] - doc: the GN files should use Node's license (Cheng Zhao) #50694
  • [84127514ba] - doc: improve localWindowSize event descriptions (Davy Landman) #51071
  • [8ee882a49c] - doc: mark --jitless as experimental (Antoine du Hamel) #51247
  • [876743ece1] - doc: run license-builder (github-actions[bot]) #51199
  • [ec6fcff009] - doc: fix limitations and known issues in pm (Rafael Gonzaga) #51184
  • [c13a5c0373] - doc: mention node:wasi in the Threat Model (Rafael Gonzaga) #51211
  • [4b19e62444] - doc: remove ambiguous 'considered' (Rich Trott) #51207
  • [5453abd6ad] - doc: set exit code in custom test runner example (Matteo Collina) #51056
  • [f9d4e07faf] - doc: remove version from maintaining-dependencies.md (Antoine du Hamel) #51195
  • [df8927a073] - doc: mention native addons are restricted in pm (Rafael Gonzaga) #51185
  • [e636d83914] - doc: correct note on behavior of stats.isDirectory (Nick Reilingh) #50946
  • [1c71435c2a] - doc: fix TestsStream parent class (Jungku Lee) #51181
  • [2c227b0d64] - doc: fix simdjson wrong link (Marco Ippolito) #51177
  • [efa13e1943] - (SEMVER-MINOR) doc: add documentation for --build-snapshot-config (Anna Henningsen) #50453
  • [941aedc6fc] - errors: fix stacktrace of SystemError (uzlopak) #49956
  • [47548d9e61] - esm: fix hint on invalid module specifier (Antoine du Hamel) #51223
  • [091098f40a] - fs: fix fs.promises.realpath for long paths on Windows (翠 / green) #51032
  • [e5a8fa01aa] - fs: make offset, position & length args in fh.read() optional (Pulkit Gupta) #51087
  • [c87e5d51cc] - fs: add missing jsdoc parameters to readSync (Yagiz Nizipli) #51225
  • [e24249cf37] - fs: remove internalModuleReadJSON binding (Yagiz Nizipli) #51224
  • [7421467812] - fs: improve mkdtemp performance for buffer prefix (Yagiz Nizipli) #51078
  • [5b229d775f] - fs: validate fd synchronously on c++ (Yagiz Nizipli) #51027
  • [c7a135962d] - http: remove misleading warning (Luigi Pinca) #51204
  • [a325746ff4] - http: do not override user-provided options object (KuthorX) #33633
  • [89eee7763f] - http2: addtl http/2 settings (Marten Richter) #49025
  • [624142947f] - lib: fix use of --frozen-intrinsics with --jitless (Antoine du Hamel) #51248
  • [8f845eb001] - lib: move function declaration outside of loop (Sanjaiyan Parthipan) #51242
  • [ed7305e49b] - lib: reduce overhead of SafePromiseAllSettledReturnVoid calls (Antoine du Hamel) #51243
  • [291265ce27] - lib: expose default prepareStackTrace (Chengzhong Wu) #50827
  • [8ff6bc45ca] - lib,permission: handle buffer on fs.symlink (Rafael Gonzaga) #51212
  • [416b4f8063] - (SEMVER-MINOR) lib,src,permission: port path.resolve to C++ (Rafael Gonzaga) #50758
  • [6648a5c576] - meta: notify tsc on changes in SECURITY.md (Rafael Gonzaga) #51259
  • [83a99ccedd] - meta: update artifact actions to v4 (Michaël Zasso) #51219
  • [b621ada69a] - module: move the CJS exports cache to internal/modules/cjs/loader (Joyee Cheung) #51157
  • [e4be5b60f0] - (SEMVER-MINOR) net: add connection attempt events (Paolo Insogna) #51045
  • [3a492056e2] - node-api: type tag external values without v8::Private (Chengzhong Wu) #51149
  • [b2135ae7dc] - node-api: segregate nogc APIs from rest via type system (Gabriel Schulhof) #50060
  • [8f4325dcd5] - permission: fix wildcard when children > 1 (Rafael Gonzaga) #51209
  • [7ecf99404e] - quic: update quic impl to use latest ngtcp2/nghttp3 (James M Snell) #51291
  • [5b32e21f3b] - quic: add quic internalBinding, refine Endpoint, add types (James M Snell) #51112
  • [3310095bea] - repl: fix prepareStackTrace frames array order (Chengzhong Wu) #50827
  • [a0ff00b526] - src: avoid draining platform tasks at FreeEnvironment (Chengzhong Wu) #51290
  • [115e0585cd] - src: add fast api for Histogram (James M Snell) #51296
  • [29b81576c6] - src: refactor GetCreationContext calls (Yagiz Nizipli) #51287
  • [54dd978400] - src: enter isolate before destructing IsolateData (Ben Noordhuis) #51138
  • [864ecb0dfa] - src: do not treat all paths ending with node_modules as such (Michaël Zasso) #51269
  • [df31c8114c] - src: eliminate duplicate code in histogram.cc (James M Snell) #51263
  • [17c73e6d0c] - src: fix unix abstract socket path for trace event (theanarkh) #50858
  • [96d64edc94] - src: use BignumPointer and use BN_clear_free (James M Snell) #50454
  • [8a2dd93a14] - src: implement FastByteLengthUtf8 with simdutf::utf8_length_from_latin1 (Daniel Lemire) #50840
  • [e54ddf898f] - (SEMVER-MINOR) src: support configurable snapshot (Joyee Cheung) #50453
  • [a69c7d7bc3] - (SEMVER-MINOR) src,permission: add --allow-addon flag (Rafael Gonzaga) #51183
  • [e7925e66fc] - src,stream: improve WriteString (ywave620) #51155
  • [82de6603af] - stream: fix code style (Mattias Buelens) #51168
  • [e443953656] - stream: fix cloned webstreams not being unref'd (James M Snell) #51255
  • [757a84c9ea] - test: fix flaky conditions for ppc64 SEA tests (Richard Lau) #51422
  • [85ee2f7255] - test: replace forEach() with for...of (Alexander Jones) #50608
  • [549e4b4142] - test: replace forEach with for...of (Ospite Privilegiato) #50787
  • [ef44f9bef2] - test: replace foreach with for of (lucacapocci94-dev) #50790
  • [652af45485] - test: replace forEach() with for...of (Jia) #50610
  • [684dd9db2f] - test: fix inconsistency write size in test-fs-readfile-tostring-fail (Jungku Lee) #51141
  • [aaf710f535] - test: replace forEach test-http-server-multiheaders2 (Marco Mac) #50794
  • [57c64550cc] - test: replace forEach with for-of in test-webcrypto-export-import-ec (Chiara Ricciardi) #51249
  • [88e865181b] - test: move to for of loop in test-http-hostname-typechecking.js (Luca Del Puppo) #50782
  • [3db376f67a] - test: skip test-watch-mode-inspect on arm (Michael Dawson) #51210
  • [38232d1c52] - test: replace forEach with for of in file test-trace-events-net.js (Ianna83) #50789
  • [f1cb58355a] - test: replace forEach() with for...of in test/parallel/test-util-log.js (Edoardo Dusi) #50783
  • [9bfd84c117] - test: replace forEach with for of in test-trace-events-api.js (Andrea Pavone) #50784
  • [7e9834915a] - test: replace forEach with for-of in test-v8-serders.js (Mattia Iannone) #50791
  • [b6f232e841] - test: add URL tests to fs-read in pm (Rafael Gonzaga) #51213
  • [8a2178c5f5] - test: use tmpdir.refresh() in test-esm-loader-resolve-type.mjs (Luigi Pinca) #51206
  • [7e9a0b192a] - test: use tmpdir.refresh() in test-esm-json.mjs (Luigi Pinca) #51205
  • [d7c2572fe0] - test: fix flakiness in worker*.test-free-called (Jithil P Ponnan) #51013
  • [979cebc955] - test_runner: fixed test object is incorrectly passed to setup() (Pulkit Gupta) #50982
  • [63db82abe6] - test_runner: fixed to run after hook if before throws an error (Pulkit Gupta) #51062
  • [c31ed51373] - (SEMVER-MINOR) timers: export timers.promises (Marco Ippolito) #51246
  • [fc10f889eb] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #51320
  • [d5a5f12d15] - tools: fix dep_updaters dir updates (Michaël Zasso) #51294
  • [bdcb5ed510] - tools: update inspector_protocol to c488ba2 (cola119) #51293
  • [69a46add77] - tools: update inspector_protocol to 9b4a4aa (cola119) #51293
  • [e325f49d19] - tools: update inspector_protocol to 2f51e05 (cola119) #51293
  • [60d804851b] - tools: update inspector_protocol to d7b099b (cola119) #51293
  • [d18168489f] - tools: update inspector_protocol to 912eb68 (cola119) #51293
  • [ef4f46fc39] - tools: update inspector_protocol to 547c5b8 (cola119) #51293
  • [c3126fc016] - tools: update inspector_protocol to ca525fc (cola119) #51293
  • [917d887dde] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #51276
  • [37594918e0] - tools: check timezone current version (Marco Ippolito) #51178
  • [d0d2faf899] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #51193
  • [c96ef6533c] - tools: update eslint to 8.56.0 (Node.js GitHub Bot) #51194
  • [f4f781d493] - util: pass invalidSubtypeIndex instead of trimmedSubtype to error (Gaurish Sethia) #51264
  • [867b484429] - watch: clarify that the fileName parameter can be null (Luigi Pinca) #51305
  • [56e8969b65] - watch: fix null fileName on windows systems (vnc5) #49891
  • [3f4fd6efbb] - watch: fix infinite loop when passing --watch=true flag (Pulkit Gupta) #51160

New in Node.js 20.11.0 LTS (Jan 16, 2024)

  • Notable Changes:
  • [833190fe7c] - crypto: update root certificates to NSS 3.95 (Node.js GitHub Bot) #50805
  • [a541b78bdb] - doc: add MrJithil to collaborators (Jithil P Ponnan) #50666
  • [d4be8fad83] - doc: add Ethan-Arrowood as a collaborator (Ethan Arrowood) #50393
  • [c1a196c897] - (SEMVER-MINOR) esm: add import.meta.dirname and import.meta.filename (James Sumners) #48740
  • [aa3209b880] - fs: add c++ fast path for writeFileSync utf8 (CanadaHonk) #49884
  • [8e886a2fff] - (SEMVER-MINOR) module: remove useCustomLoadersIfPresent flag (Chengzhong Wu) #48655
  • [21ab3c0f0b] - (SEMVER-MINOR) module: bootstrap module loaders in shadow realm (Chengzhong Wu) #48655
  • [29d91b13e3] - (SEMVER-MINOR) src: add --disable-warning option (Ethan Arrowood) #50661
  • [11b3e470db] - (SEMVER-MINOR) src: create per isolate proxy env template (Chengzhong Wu) #48655
  • [621c4d66c2] - (SEMVER-MINOR) src: make process binding data weak (Chengzhong Wu) #48655
  • [139d6c8d3b] - stream: use Array for Readable buffer (Robert Nagy) #50341
  • [6206957e8d] - stream: optimize creation (Robert Nagy) #50337
  • [e64378643d] - (SEMVER-MINOR) test_runner: adds built in lcov reporter (Phil Nash) #50018
  • [4a830c2d9d] - (SEMVER-MINOR) test_runner: add Date to the supported mock APIs (Lucas Santos) #48638
  • [842dc01def] - (SEMVER-MINOR) test_runner, cli: add --test-timeout flag (Shubham Pandey) #50443
  • Commits:
  • [e40a559ab1] - benchmark: update iterations in benchmark/util/splice-one.js (Liu Jia) #50698
  • [00f7a5d26f] - benchmark: increase the iteration number to an appropriate value (Lei Shi) #50766
  • [be6ad3f375] - benchmark: rewrite import.meta benchmark (Joyee Cheung) #50683
  • [9857364129] - benchmark: add misc/startup-cli-version benchmark (Joyee Cheung) #50684
  • [22d729e7f5] - benchmark: remove punycode from require-builtins fixture (Joyee Cheung) #50689
  • [4cf10a149a] - benchmark: change iterations in benchmark/es/string-concatenations.js (Liu Jia) #50585
  • [15c2ed93a8] - benchmark: add benchmarks for encodings (Aras Abbasi) #50348
  • [8a896428ca] - benchmark: add more cases to Readable.from (Raz Luvaton) #50351
  • [dbe6c5f354] - benchmark: skip test-benchmark-os on IBMi (Michael Dawson) #50286
  • [179b4b6e62] - benchmark: move permission-fs-read to permission-processhas-fs-read (Aki Hasegawa-Johnson) #49770
  • [32d65c001d] - buffer: improve Buffer.equals performance (kylo5aby) #50621
  • [80ea83757e] - build: add GN configurations for simdjson (Cheng Zhao) #50831
  • [904e645bcd] - build: add configuration flag to enable Maglev (Keyhan Vakil) #50692
  • [019efa8a5a] - build: fix GN configuration for deps/base64 (Cheng Zhao) #50696
  • [a645d5ac54] - build: disable flag v8_scriptormodule_legacy_lifetime (Chengzhong Wu) #50616
  • [8705058b09] - build: add GN build files (Cheng Zhao) #47637
  • [0a5e9c12cf] - build: fix build with Python 3.12 (Luigi Pinca) #50582
  • [ff5713dd43] - build: support Python 3.12 (Shi Pujin) #50209
  • [cfd50f229a] - build: fix building when there is only python3 (Cheng Zhao) #48462
  • [833190fe7c] - crypto: update root certificates to NSS 3.95 (Node.js GitHub Bot) #50805
  • [54c46dae9e] - deps: update zlib to 1.2.13.1-motley-5daffc7 (Node.js GitHub Bot) #50803
  • [0be84e5a28] - deps: update undici to 5.27.2 (Node.js GitHub Bot) #50813
  • [ec67890824] - deps: V8: cherry-pick 0f9ebbc672c7 (Chengzhong Wu) #50867
  • [bc2ebb972b] - deps: V8: cherry-pick 13192d6e10fa (Levi Zim) #50552
  • [656135d70a] - deps: update zlib to 1.2.13.1-motley-dfc48fc (Node.js GitHub Bot) #50456
  • [41ee4bcc5d] - deps: update ada to 2.7.4 (Node.js GitHub Bot) #50815
  • [a40948b5c5] - deps: update minimatch to 9.0.3 (Node.js GitHub Bot) #50806
  • [7be1222c4a] - deps: update simdutf to 4.0.4 (Node.js GitHub Bot) #50772
  • [68e7d49db6] - deps: upgrade npm to 10.2.4 (npm team) #50751
  • [3d82d38336] - deps: escape Python strings correctly (Michaël Zasso) #50695
  • [d3870ac957] - deps: update base64 to 0.5.1 (Node.js GitHub Bot) #50629
  • [4b219b6ece] - deps: update corepack to 0.23.0 (Node.js GitHub Bot) #50563
  • [6c41b50922] - deps: update nghttp2 to 1.58.0 (Node.js GitHub Bot) #50441
  • [3beee0ae8f] - deps: update acorn to 8.11.2 (Node.js GitHub Bot) #50460
  • [220916fa93] - deps: update undici to 5.27.0 (Node.js GitHub Bot) #50463
  • [f9960b3545] - deps: update googletest to 116b7e5 (Node.js GitHub Bot) #50324
  • [d5c16f897a] - dns: call handle.setServers() with a valid array (Luigi Pinca) #50811
  • [1bd6537c97] - doc: recommend supported Python versions (Luigi Pinca) #50407
  • [402e257520] - doc: update notable changes in v21.1.0 (Joyee Cheung) #50388
  • [032535e270] - doc: make theme consistent across api and other docs (Dima Demakov) #50877
  • [d53842683f] - doc: add a section regarding instanceof in primordials.md (Antoine du Hamel) #50874
  • [fe315055a7] - doc: update email to reflect affiliation (Yagiz Nizipli) #50856
  • [e14f661950] - doc: shard not supported with watch mode (Pulkit Gupta) #50640
  • [b3d015de71] - doc: get rid of unnecessary eslint-skip comments (Antoine du Hamel) #50829
  • [168cbf9cb9] - doc: create deprecation code for isWebAssemblyCompiledModule (Marco Ippolito) #50486
  • [30baacba41] - doc: add CanadaHonk to triagers (CanadaHonk) #50848
  • [e6e7cbceac] - doc: fix typos in --allow-fs-* (Tobias Nießen) #50845
  • [e22ce9586f] - doc: update Crypto API doc for x509.keyUsage (Daniel Meechan) #50603
  • [549d4422b7] - doc: fix fs.writeFileSync return value documentation (Ryan Zimmerman) #50760
  • [3c79e3cdba] - doc: update print results(detail) in PerformanceEntry (Jungku Lee) #50723
  • [aeaf96d06e] - doc: fix Buffer.allocUnsafe documentation (Mert Can Altın) #50686
  • [347e1dd06a] - doc: run license-builder (github-actions[bot]) #50691
  • [a541b78bdb] - doc: add MrJithil to collaborators (Jithil P Ponnan) #50666
  • [90f415dd61] - doc: fix typo in fs.md (fwio) #50570
  • [e2388151ba] - doc: add missing description of argument in subtle.encrypt (Deokjin Kim) #50578
  • [39cc013465] - doc: update pm documentation to include resource (Ranieri Innocenti Spada) #50601
  • [ba6d427c23] - doc: correct attribution in v20.6.0 changelog (Jacob Smith) #50564
  • [1b2dab8254] - doc: update to align console.table row to the left (Jungku Lee) #50553
  • [5d48ef7778] - doc: underline links (Rich Trott) #50481
  • [5e6057c9d2] - doc: remove duplicate word (Gerhard Stöbich) #50475
  • [64bf2fd4ee] - doc: fix typo in webstreams.md (André Santos) #50426
  • [cca55b8414] - doc: add information about Node-API versions >=9 (Michael Dawson) #50168
  • [d4be8fad83] - doc: add Ethan-Arrowood as a collaborator (Ethan Arrowood) #50393
  • [0b311838f6] - doc: fix TOC in releases.md (Bryce Seefieldt) #50372
  • [843d5f84ca] - esm: fallback to getSource when load returns nullish source (Antoine du Hamel) #50825
  • [8d5469c84b] - esm: do not call getSource when format is commonjs (Francesco Trotta) #50465
  • [b48cf314d3] - esm: bypass CJS loader in default load under --default-type=module (Antoine du Hamel) #50004
  • [c1a196c897] - (SEMVER-MINOR) esm: add import.meta.dirname and import.meta.filename (James Sumners) #48740
  • [435f9c9276] - fs: use default w flag for writeFileSync with utf8 encoding (Murilo Kakazu) #50990
  • [aa3209b880] - fs: add c++ fast path for writeFileSync utf8 (CanadaHonk) #49884
  • [05e25e0230] - fs: improve error perf of sync lstat+fstat (CanadaHonk) #49868
  • [f94a24cb4b] - fs: improve error performance for rmdirSync (CanadaHonk) #49846
  • [cada22e2a4] - fs: fix to not return for void function (Jungku Lee) #50769
  • [ba40b2e33e] - fs: replace deprecated path._makeLong in copyFile (CanadaHonk) #50844
  • [d1b6bd660a] - fs: update param in jsdoc for readdir (Jungku Lee) #50448
  • [11412e863a] - fs: do not throw error on cpSync internals (Yagiz Nizipli) #50185
  • [868a464c15] - fs,url: move FromNamespacedPath to node_url (Yagiz Nizipli) #50090
  • [de7fe08c7b] - fs,url: refactor FileURLToPath method (Yagiz Nizipli) #50090
  • [186e6e0395] - fs,url: move FileURLToPath to node_url (Yagiz Nizipli) #50090
  • [aea7fe54af] - inspector: use private fields instead of symbols (Yagiz Nizipli) #50776
  • [48dbde71d8] - lib: use primordials for navigator.userAgent (Aras Abbasi) #50467
  • [fa220cac87] - lib: remove deprecated string methods (Jithil P Ponnan) #50592
  • [f1cf1c385f] - lib: fix assert shows diff messages in ESM and CJS (Jithil P Ponnan) #50634
  • [3844af288f] - lib: make event static properties non writable and configurable (Muthukumar) #50425
  • [0a0b416d6c] - lib: avoid memory allocation on nodeprecation flag (Vinicius Lourenço) #50231
  • [e7551d5770] - lib: align console.table row to the left (Jithil P Ponnan) #50135
  • [0c85cebdf2] - meta: clarify nomination process according to Node.js charter (Matteo Collina) #50834
  • [f4070dd8d4] - meta: clarify recommendation for bug reproductions (Antoine du Hamel) #50882
  • [2ddeead436] - meta: move cjihrig to TSC regular member (Colin Ihrig) #50816
  • [34a789d9be] - meta: add web-standards as WPTs owner (Filip Skokan) #50636
  • [40bbffa266] - meta: bump github/codeql-action from 2.21.9 to 2.22.5 (dependabot[bot]) #50513
  • [c49553631d] - meta: bump step-security/harden-runner from 2.5.1 to 2.6.0 (dependabot[bot]) #50512
  • [99df0138b0] - meta: bump ossf/scorecard-action from 2.2.0 to 2.3.1 (dependabot[bot]) #50509
  • [9db6227ac6] - meta: fix spacing in collaborator list (Antoine du Hamel) #50641
  • [2589a5a566] - meta: bump actions/setup-python from 4.7.0 to 4.7.1 (dependabot[bot]) #50510
  • [5a86661a95] - meta: add crypto as crypto and webcrypto docs owner (Filip Skokan) #50579
  • [ac8d2b9cc2] - meta: bump actions/setup-node from 3.8.1 to 4.0.0 (dependabot[bot]) #50514
  • [bee2c0cf11] - meta: bump actions/checkout from 4.1.0 to 4.1.1 (dependabot[bot]) #50511
  • [91a0944e5f] - meta: add [email protected] to mailmap (Ethan Arrowood) #50491
  • [8d3cf8c4ee] - meta: add web-standards as web api visibility owner (Chengzhong Wu) #50418
  • [807c12de36] - meta: mention other notable changes section (Rafael Gonzaga) #50309
  • [21ab3c0f0b] - (SEMVER-MINOR) module: bootstrap module loaders in shadow realm (Chengzhong Wu) #48655
  • [8e886a2fff] - (SEMVER-MINOR) module: remove useCustomLoadersIfPresent flag (Chengzhong Wu) #48655
  • [77e8361213] - module: execute --import sequentially (Antoine du Hamel) #50474
  • [fffc4951ac] - module: add application/json in accept header when fetching json module (Marco Ippolito) #50119
  • [f808e7a650] - net: check pipe mode and path (theanarkh) #50770
  • [cf3a4c5b84] - node-api: factor out common code into macros (Gabriel Schulhof) #50664
  • [a7d8f6b529] - perf_hooks: implement performance.now() with fast API calls (Joyee Cheung) #50492
  • [076dc7540b] - permission: do not create symlinks if target is relative (Tobias Nießen) #49156
  • [43160dcd2d] - permission: mark const functions as such (Tobias Nießen) #50705
  • [7a661d7ad9] - permission: address coverity warning (Michael Dawson) #50215
  • [b2b4132c3e] - src: iterate on import attributes array correctly (Michaël Zasso) #50703
  • [11b3e470db] - (SEMVER-MINOR) src: create per isolate proxy env template (Chengzhong Wu) #48655
  • [d00412a083] - (SEMVER-MINOR) src: create fs_dir per isolate properties (Chengzhong Wu) #48655
  • [14cc3b9b90] - (SEMVER-MINOR) src: create worker per isolate properties (Chengzhong Wu) #48655
  • [621c4d66c2] - (SEMVER-MINOR) src: make process binding data weak (Chengzhong Wu) #48655
  • [07a4e94e84] - src: assert return value of BN_bn2binpad (Tobias Nießen) #50860
  • [158db2d61e] - src: fix coverity warning (Michael Dawson) #50846
  • [94363bb3fd] - src: fix compatility with upcoming V8 12.1 APIs (Cheng Zhao) #50709
  • [29d91b13e3] - (SEMVER-MINOR) src: add --disable-warning option (Ethan Arrowood) #50661
  • [f054c337f8] - src: add IsolateScopes before using isolates (Keyhan Vakil) #50680
  • [d08eb382cd] - src: avoid copying strings in FSPermission::Apply (Tobias Nießen) #50662
  • [6620df1c05] - src: remove erroneous default argument in RadixTree (Tobias Nießen) #50736
  • [436c3aef15] - src: fix JSONParser leaking internal V8 scopes (Keyhan Vakil) #50688
  • [6f46d31018] - src: return error --env-file if file is not found (Ardi Nugraha) #50588
  • [3d43fd359c] - src: avoid silent coercion to signed/unsigned int (Tobias Nießen) #50663
  • [c253e39b56] - src: handle errors from uv_pipe_connect2() (Deokjin Kim) #50657
  • [3a9713bb5a] - src: use v8::Isolate::TryGetCurrent() in DumpJavaScriptBacktrace() (Joyee Cheung) #50518
  • [94f8a925a8] - src: print more information in C++ assertions (Joyee Cheung) #50242
  • [23f830616b] - src: hide node::credentials::HasOnly outside unit (Tobias Nießen) #50450
  • [b7ecb0a390] - src: readiterable entries may be empty (Matthew Aitken) #50398
  • [4ef1d68715] - src: implement structuredClone in native (Joyee Cheung) #50330
  • [9346f15138] - src: use find instead of char-by-char in FromFilePath() (Daniel Lemire) #50288
  • [8414fb4d2a] - src: add commit hash shorthand in zlib version (Jithil P Ponnan) #50158
  • [a878e3abb0] - stream: fix enumerability of ReadableStream.from (Mattias Buelens) #50779
  • [95ed4ffc1e] - stream: fix enumerability of ReadableStream.prototype.values (Mattias Buelens) #50779
  • [4cf155ca0c] - stream: add Symbol.toStringTag to Compression Streams (Filip Skokan) #50712
  • [6012e3e781] - stream: fix Writable.destroy performance regression (Robert Nagy) #50478
  • [dd5206820c] - stream: pre-allocate _events (Robert Nagy) #50428
  • [829b82ed0f] - stream: remove no longer relevant comment (Robert Nagy) #50446
  • [98ae1b4132] - stream: use bit fields for construct/destroy (Robert Nagy) #50408
  • [08a0c6c56c] - stream: improve from perf (Raz Luvaton) #50359
  • [59f7316b8f] - stream: avoid calls to listenerCount (Robert Nagy) #50357
  • [9d52430eb9] - stream: readable use bitmap accessors (Robert Nagy) #50350
  • [139d6c8d3b] - stream: use Array for Readable buffer (Robert Nagy) #50341
  • [6206957e8d] - stream: optimize creation (Robert Nagy) #50337
  • [f87921de3b] - stream: refactor writable _write (Robert Nagy) #50198
  • [b338f3d3c2] - stream: avoid getter for defaultEncoding (Robert Nagy) #50203
  • [1862235a26] - test: fix message v8 not normalising alphanumeric paths (Jithil P Ponnan) #50730
  • [7c28a4ca8f] - test: fix dns test case failures after c-ares update to 1.21.0+ (Brad House) #50743
  • [4544593d31] - test: replace forEach with for of (Conor Watson) #50594
  • [96143a3293] - test: replace forEach to for at test-webcrypto-sign-verify-ecdsa.js (Alessandro Di Nisio) #50795
  • [107b5e63c5] - test: replace foreach with for in test-https-simple.js (Shikha Mehta) #49793
  • [9b2e5e9db4] - test: add note about unresolved spec issue (Mattias Buelens) #50779
  • [edce637c1a] - test: add note about readable streams with type owning (Mattias Buelens) #50779
  • [641044670b] - test: replace forEach with for-of in test-url-relative (vitosorriso) #50788
  • [75ee78438c] - test: replace forEach() with for ... of in test-tls-getprotocol.js (Steve Goode) #50600
  • [24f9d3fbeb] - test: enable idlharness tests for encoding (Mattias Buelens) #50778
  • [a9d290956e] - test: replace forEach in whatwg-encoding-custom-interop (Honza Machala) #50607
  • [6584dd80f7] - test: replace forEach() with for-loop (Jan) #50596
  • [be54a22869] - test: improve test-bootstrap-modules.js (Joyee Cheung) #50708
  • [660e70e73b] - test: skip parallel/test-macos-app-sandbox if disk space < 120MB (Joyee Cheung) #50764
  • [5712c41122] - test: replace foreach with for (Markus Muschol) #50599
  • [49e5f47b1c] - test: test streambase has already has a consumer (Jithil P Ponnan) #48059
  • [bb7d764c8e] - test: change forEach to for...of in path extname (Kyriakos Markakis) #50667
  • [4d28ced079] - test: replace forEach with for...of (Ryan Williams) #50611
  • [92a153ecde] - test: migrate message v8 tests from Python to JS (Joshua LeMay) #50421
  • [a376284d8a] - test: use destructuring for accessing setting values (Honza Jedlička) #50609
  • [7b9b1fba27] - test: replace forEach() with for .. of (Evgenia Blajer) #50605
  • [9397b2da7e] - test: replace forEach() with for ... of in test-readline-keys.js (William Liang) #50604
  • [9043ba4cfb] - test: replace forEach() with for ... of in test-http2-single-headers.js (spiritualized) #50606
  • [9f911d31f6] - test: replace forEach with for of (john-mcinall) #50602
  • [8a5f36fe74] - test: remove unused file (James Sumners) #50528
  • [9950203340] - test: replace forEach with for of (Kevin Kühnemund) #50597
  • [03ba28f102] - test: replace forEach with for of (CorrWu) #49785
  • [ea61261b54] - test: replace forEach with for [...] of (Gabriel Bota) #50615
  • [4349790913] - test: add WPT report test duration (Filip Skokan) #50574
  • [7cacddfcc1] - test: replace forEach() with for ... of loop in test-global.js (Kajol) #49772
  • [889f58d07f] - test: skip test-diagnostics-channel-memory-leak.js (Joyee Cheung) #50327
  • [41644ee071] - test: improve UV_THREADPOOL_SIZE tests on .env (Yagiz Nizipli) #49213
  • [1db44b9a53] - test: recognize wpt completion error (Chengzhong Wu) #50429
  • [ecfc951ddc] - test: report error wpt test results (Chengzhong Wu) #50429
  • [deb0351d95] - test: replace forEach() with for...of (Ram) #49794
  • [f885dfe5e3] - test: replace forEach() with for...of in test-trace-events-http (Chand) #49795
  • [9dc63c56db] - test: replace forEach with for...of in test-fs-realpath-buffer-encoding (Niya Shiyas) #49804
  • [600d1260da] - test: fix timeout of test-cpu-prof-dir-worker.js in LoongArch devices (Shi Pujin) #50363
  • [099f5cfa0a] - test: fix vm assertion actual and expected order (Chengzhong Wu) #50371
  • [a31f9bfe01] - test: v8: Add test-linux-perf-logger test suite (Luke Albao) #50352
  • [6c59114947] - test: ensure never settling promises are detected (Antoine du Hamel) #50318
  • [9830ae4bf7] - test_runner: add tests for various mock timer issues (Mika Fischer) #50384
  • [2c72ed85fb] - test_runner: pass abortSignal to test files (Moshe Atlow) #50630
  • [c33a84af11] - test_runner: replace forEach with for of (Tom Haddad) #50595
  • [29c68a22bb] - test_runner: output errors of suites (Moshe Atlow) #50361
  • [e64378643d] - (SEMVER-MINOR) test_runner: adds built in lcov reporter (Phil Nash) #50018
  • [4aaaff413b] - test_runner: test return value of mocked promisified timers (Mika Fischer) #50331
  • [4a830c2d9d] - (SEMVER-MINOR) test_runner: add Date to the supported mock APIs (Lucas Santos) #48638
  • [842dc01def] - (SEMVER-MINOR) test_runner, cli: add --test-timeout flag (Shubham Pandey) #50443
  • [613a9072b7] - tls: fix order of setting cipher before setting cert and key (Kumar Rishav) #50186
  • [d905c61e16] - tls: use validateFunction for options.SNICallback (Deokjin Kim) #50530
  • [c8d6dd58e7] - tools: add macOS notarization verification step (Ulises Gascón) #50833
  • [c9bd0b0c0f] - tools: use macOS keychain to notarize the releases (Ulises Gascón) #50715
  • [932a5d7b2c] - tools: update eslint to 8.54.0 (Node.js GitHub Bot) #50809
  • [d7114d97be] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #50807
  • [93085cf844] - tools: add workflow to update release links (Michaël Zasso) #50710
  • [66764c5d04] - tools: recognize GN files in dep_updaters (Cheng Zhao) #50693
  • [2a451e176a] - tools: remove unused file (Ulises Gascon) #50622
  • [8ce6403230] - tools: change minimatch install strategy (Marco Ippolito) #50476
  • [97778e2e77] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #50675
  • [797f6a9ba8] - tools: add macOS notarization stapler (Ulises Gascón) #50625
  • [8fa1319352] - tools: update eslint to 8.53.0 (Node.js GitHub Bot) #50559
  • [592f57970f] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #50556
  • [2fd78fc39e] - tools: compare ICU checksums before file changes (Michaël Zasso) #50522
  • [631d710fc4] - tools: improve update acorn-walk script (Marco Ippolito) #50473
  • [33fd2af2ab] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #50496
  • [22b7a74838] - tools: update gyp-next to v0.16.1 (Michaël Zasso) #50380
  • [f5ccab5005] - tools: skip ruff on tools/gyp (Michaël Zasso) #50380
  • [408fd90508] - tools: update lint-md-dependencies to [email protected] [email protected] (Node.js GitHub Bot) #50461
  • [685f936ccd] - tools: avoid npm install in deps installation (Marco Ippolito) #50413
  • [7d43c5a094] - Revert "tools: update doc dependencies" (Richard Lau) #50414
  • [8fd67c2e3e] - tools: update doc dependencies (Node.js GitHub Bot) #49988
  • [586becb507] - tools: run coverage CI only on relevant files (Antoine du Hamel) #50349
  • [2d06eea6c5] - tools: update eslint to 8.52.0 (Node.js GitHub Bot) #50326
  • [6a897baf16] - tools: update lint-md-dependencies (Node.js GitHub Bot) #50190
  • [e6e7f39b9e] - util: improve performance of normalizeEncoding (kylo5aby) #50721
  • [3b6b1afa47] - v8,tools: expose necessary V8 defines (Cheng Zhao) #50820
  • [2664012617] - vm: allow dynamic import with a referrer realm (Chengzhong Wu) #50360
  • [c6c0a74b54] - wasi: document security sandboxing status (Guy Bedford) #50396
  • [989814093e] - win,tools: upgrade Windows signing to smctl (Stefan Stojanovic) #50956

New in Node.js 21.5.0 Current (Dec 20, 2023)

  • Notable Changes:
  • [0dd53da722] - (SEMVER-MINOR) deps: add simdjson (Yagiz Nizipli) #50322
  • [9f54987fbc] - module: merge config with package_json_reader (Yagiz Nizipli) #50322
  • [45e4f82912] - src: move package resolver to c++ (Yagiz Nizipli) #50322
  • Deprecations:
  • [26ed4ad01f] - doc: deprecate hash constructor (Marco Ippolito) #51077
  • [58ca66a1a7] - doc: deprecate dirent.path (Antoine du Hamel) #51020
  • Commits:
  • [1bbdbdfbeb] - benchmark: update iterations in benchmark/perf_hooks (Lei Shi) #50869
  • [087fb0908e] - benchmark: update iterations in benchmark/crypto/aes-gcm-throughput.js (Lei Shi) #50929
  • [53b16c71fb] - benchmark: update iteration and size in benchmark/crypto/randomBytes.js (Lei Shi) #50868
  • [38fd0ca753] - benchmark: add undici websocket benchmark (Chenyu Yang) #50586
  • [b148c43244] - benchmark: add create-hash benchmark (Joyee Cheung) #51026
  • [fdd8c18f96] - benchmark: update interations and len in benchmark/util/text-decoder.js (Lei Shi) #50938
  • [a9972057ac] - benchmark: update iterations of benchmark/util/type-check.js (Lei Shi) #50937
  • [b80bb1329b] - benchmark: update iterations in benchmark/util/normalize-encoding.js (Lei Shi) #50934
  • [dbee03d646] - benchmark: update iterations in benchmark/util/inspect-array.js (Lei Shi) #50933
  • [f2d83a3a84] - benchmark: update iterations in benchmark/util/format.js (Lei Shi) #50932
  • [2581fce553] - bootstrap: improve snapshot unsupported builtin warnings (Joyee Cheung) #50944
  • [735bad3694] - build: fix warnings from uv for gn build (Cheng Zhao) #51069
  • [8da9d969f9] - deps: V8: cherry-pick 0fd478bcdabd (Joyee Cheung) #50572
  • [429fbb37c1] - deps: update simdjson to v3.6.2 (Yagiz Nizipli) #50986
  • [9950103253] - deps: update zlib to 1.3-22124f5 (Node.js GitHub Bot) #50910
  • [0b61823e8b] - deps: update undici to 5.28.2 (Node.js GitHub Bot) #51024
  • [95d8a273cc] - deps: cherry-pick bfbe4e38d7 from libuv upstream (Abdirahim Musse) #50650
  • [06038a489e] - deps: update libuv to 1.47.0 (Node.js GitHub Bot) #50650
  • [0dd53da722] - (SEMVER-MINOR) deps: add simdjson (Yagiz Nizipli) #50322
  • [04eaa5cdd7] - doc: run license-builder (github-actions[bot]) #51111
  • [26ed4ad01f] - doc: deprecate hash constructor (Marco Ippolito) #51077
  • [637ffce4c4] - doc: add note regarding --experimental-detect-module (Shubherthi Mitra) #51089
  • [838179b096] - doc: correct tracingChannel.traceCallback() (Gerhard Stöbich) #51068
  • [539bee4f0a] - doc: use length argument in pbkdf2Key (Tobias Nießen) #51066
  • [c45a9a3187] - doc: add deprecation notice to dirent.path (Antoine du Hamel) #51059
  • [58ca66a1a7] - doc: deprecate dirent.path (Antoine du Hamel) #51020
  • [c2b6edf9ab] - esm: fix hook name in error message (Bruce MacNaughton) #50466
  • [35e8f26f07] - fs: throw fchownSync error from c++ (Yagiz Nizipli) #51075
  • [c3c8237089] - fs: update params in jsdoc for createReadStream and createWriteStream (Jungku Lee) #51063
  • [3f7f3ce8c9] - fs: improve error performance of readvSync (IlyasShabi) #50100
  • [7f95926f17] - http: handle multi-value content-disposition header (Arsalan Ahmad) #50977
  • [7a8a2d5632] - lib: don't parse windows drive letters as schemes (华) #50580
  • [aa2be4bb76] - module: load source maps in commonjs translator (Hiroki Osame) #51033
  • [c0e5e74876] - module: document parentURL in register options (Hiroki Osame) #51039
  • [4eedf5e694] - module: fix recently introduced coverity warning (Michael Dawson) #50843
  • [9f54987fbc] - module: merge config with package_json_reader (Yagiz Nizipli) #50322
  • [5f95dca638] - node-api: introduce experimental feature flags (Gabriel Schulhof) #50991
  • [3fb7fc909e] - quic: further implementation details (James M Snell) #48244
  • [fa25e069fc] - src: implement countObjectsWithPrototype (Joyee Cheung) #50572
  • [abe90527e4] - src: register udp_wrap external references (Joyee Cheung) #50943
  • [84e2f51d14] - src: register spawn_sync external references (Joyee Cheung) #50943
  • [2cfee53d7b] - src: register process_wrap external references (Joyee Cheung) #50943
  • [9b7f79a8bd] - src: fix double free reported by coverity (Michael Dawson) #51046
  • [fc5503246e] - src: remove unused headers in node_file.cc (Jungku Lee) #50927
  • [c3abdc58af] - src: implement --trace-promises (Joyee Cheung) #50899
  • [f90fc83e97] - src: fix dynamically linked zlib version (Richard Lau) #51007
  • [9bf144379f] - src: omit bool values of package.json main field (Yagiz Nizipli) #50965
  • [45e4f82912] - src: move package resolver to c++ (Yagiz Nizipli) #50322
  • [71acd36778] - stream: implement TransformStream cleanup using "transformer.cancel" (Debadree Chatterjee) #50126
  • [5112306064] - stream: fix fd is null when calling clearBuffer (kylo5aby) #50994
  • [ed070755ec] - test: deflake test-diagnostics-channel-memory-leak (Joyee Cheung) #50572
  • [aee01ff1b4] - test: test syncrhnous methods of child_process in snapshot (Joyee Cheung) #50943
  • [cc949869a3] - test: handle relative https redirect (Richard Lau) #51121
  • [048349ed4c] - test: fix test runner colored output test (Moshe Atlow) #51064
  • [7f5291d783] - test: resolve path of embedtest binary correctly (Cheng Zhao) #50276
  • [4ddd0daf5f] - test: escape cwd in regexp (Jérémy Lal) #50980
  • [3ccd5faabb] - test_runner: format coverage report for tap reporter (Pulkit Gupta) #51119
  • [d5c9adf3df] - test_runner: fix infinite loop when files are undefined in test runner (Pulkit Gupta) #51047
  • [328a41701c] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #51106
  • [297cb6f5c2] - tools: update doc to [email protected] [email protected] (Node.js GitHub Bot) #50459
  • [4705023343] - tools: fix simdjson updater (Yagiz Nizipli) #50986
  • [c9841583db] - tools: update eslint to 8.55.0 (Node.js GitHub Bot) #51025
  • [2b4671125e] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #51022
  • [cd891b37f6] - util: improve performance of function areSimilarFloatArrays (Liu Jia) #51040
  • [e178a43509] - vm: use v8::DeserializeInternalFieldsCallback explicitly (Joyee Cheung) #50984
  • [fd028e146f] - win,tools: upgrade Windows signing to smctl (Stefan Stojanovic) #50956

New in Node.js 21.4.0 Current (Dec 6, 2023)

  • Notable Changes:
  • This release fixes a regression introduced in v21.3.0 that caused the fs.writeFileSync method to throw when called with 'utf8' encoding, no flag option, and if the target file didn't exist yet.
  • [32acafeeb6] - (SEMVER-MINOR) fs: introduce dirent.parentPath (Antoine du Hamel) #50976
  • [724548674d] - fs: use default w flag for writeFileSync with utf8 encoding (Murilo Kakazu) #50990
  • Commits:
  • [b24ee15fb2] - benchmark: update iterations in benchmark/crypto/hkdf.js (Lei Shi) #50866
  • [f79b54e60e] - benchmark: update iterations in benchmark/crypto/get-ciphers.js (Lei Shi) #50863
  • [dc049acbbb] - benchmark: update number of iterations for util.inspect (kylo5aby) #50651
  • [d7c562ae38] - deps: update googletest to 76bb2af (Node.js GitHub Bot) #50555
  • [59a45ddbef] - deps: update googletest to b10fad3 (Node.js GitHub Bot) #50555
  • [099ebdb781] - deps: update undici to 5.28.1 (Node.js GitHub Bot) #50975
  • [4b1bed04f7] - deps: update undici to 5.28.0 (Node.js GitHub Bot) #50915
  • [b281e98b1e] - doc: add additional details about --input-type (Shubham Pandey) #50796
  • [b7036f2028] - doc: add procedure when CVEs don't get published (Rafael Gonzaga) #50945
  • [7adf239af0] - doc: fix some errors in esm resolution algorithms (Christopher Jeffrey (JJ)) #50898
  • [759ebcaead] - doc: reserve 121 for Electron 29 (Shelley Vohr) #50957
  • [cedc3427fa] - doc: run license-builder (github-actions[bot]) #50926
  • [30a6f19769] - doc: document non-node_modules-only runtime deprecation (Joyee Cheung) #50748
  • [eecab883f0] - doc: add doc for Unix abstract socket (theanarkh) #50904
  • [ec74b93b38] - doc: remove flicker on page load on dark theme (Dima Demakov) #50942
  • [724548674d] - fs: use default w flag for writeFileSync with utf8 encoding (Murilo Kakazu) #50990
  • [32acafeeb6] - (SEMVER-MINOR) fs: introduce dirent.parentPath (Antoine du Hamel) #50976
  • [c1ee506454] - fs: remove workaround for esm package (Yagiz Nizipli) #50907
  • [1cf087dfb3] - lib: refactor to use validateFunction in diagnostics_channel (Deokjin Kim) #50955
  • [c37d18d5e1] - lib: streamline process.binding() handling (Joyee Cheung) #50773
  • [246cf73631] - lib,src: replace toUSVString with toWellFormed() (Yagiz Nizipli) #47342
  • [9bc79173a0] - loader: speed up line length calc used by moduleProvider (Mudit) #50969
  • [812ab9e4f8] - meta: bump step-security/harden-runner from 2.6.0 to 2.6.1 (dependabot[bot]) #50999
  • [1dbe1af19a] - meta: bump github/codeql-action from 2.22.5 to 2.22.8 (dependabot[bot]) #50998
  • [bed1b93f8a] - meta: move one or more collaborators to emeritus (Node.js GitHub Bot) #50931
  • [1e7d101428] - src: make ModifyCodeGenerationFromStrings more robust (Joyee Cheung) #50763
  • [709ac479eb] - src: disable uncaught exception abortion for ESM syntax detection (Yagiz Nizipli) #50987
  • [f6ff11c9f9] - src: fix backtrace with tail [[noreturn]] abort (Chengzhong Wu) #50849
  • [74f5a1cbc9] - src: print MKSNAPSHOT debug logs to stderr (Joyee Cheung) #50759
  • [3a1c664a97] - test: replace forEach to for.. test-webcrypto-export-import-cfrg.js (Angelo Parziale) #50785
  • [ac3a6eefe3] - test: log more information in SEA tests (Joyee Cheung) #50759
  • [94462d42f5] - test: consolidate utf8 text fixtures in tests (Joyee Cheung) #50732
  • [8e1a70a347] - tools: add triggers to update release links workflow (Moshe Atlow) #50974
  • [ca10cbb774] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #50913
  • [1e40c4a366] - tools: fix current version check (Marco Ippolito) #50951
  • [3faed331e1] - typings: fix JSDoc in internal/modules/esm/hooks (Alex Yang) #50887
  • [6a087ceffa] - url: throw error if argument length of revokeObjectURL is 0 (DylanTet) #50433

New in Node.js 21.3.0 Current (Dec 3, 2023)

  • Notable Changes:
  • New --disable-warning flag
  • This version adds a new --disable-warning option that allows users to disable specific warnings either by code (i.e. DEP0025) or type (i.e. DeprecationWarning, ExperimentalWarning).
  • This option works alongside existing --warnings and --no-warnings.
  • For example, the following script will not emit DEP0025 require('node:sys') when executed with node --disable-warning=DEP0025:
  • import sys from 'node:sys';
  • Update Root Certificates to NSS 3.95:
  • This is the certdata.txt from NSS 3.95, released on 2023-11-16.
  • This is the version of NSS that will ship in Firefox 121 on 2023-12-19.
  • Certificates added:
  • TrustAsia Global Root CA G3
  • TrustAsia Global Root CA G4
  • CommScope Public Trust ECC Root-01
  • CommScope Public Trust ECC Root-02
  • CommScope Public Trust RSA Root-01
  • CommScope Public Trust RSA Root-02
  • Certificates removed:
  • Autoridad de Certificacion Firmaprofesional CIF A62634068
  • Fast fs.writeFileSync with UTF-8 Strings:
  • Enhanced writeFileSync functionality by implementing a highly efficient fast path primarily in C++ for UTF8-encoded string data. Additionally, optimized the appendFileSync method by leveraging the improved writeFileSync functionality. For simplicity and performance considerations, the current implementation supports only string data, as benchmark results raise concerns about the efficacy of using Buffer for this purpose. Future optimizations and expansions may be explored, but for now, the focus is on maximizing efficiency for string data operations.
  • Other Notable Changes:
  • [c7a7493ca2] - (SEMVER-MINOR) module: bootstrap module loaders in shadow realm (Chengzhong Wu) #48655
  • [bc3f7b5401] - (SEMVER-MINOR) module: remove useCustomLoadersIfPresent flag (Chengzhong Wu) #48655
  • [aadff07e59] - (SEMVER-MINOR) src: create per isolate proxy env template (Chengzhong Wu) #48655
  • [91aa9dd23a] - (SEMVER-MINOR) src: create fs_dir per isolate properties (Chengzhong Wu) #48655
  • [5c5834190a] - (SEMVER-MINOR) src: create worker per isolate properties (Chengzhong Wu) #48655
  • [4a1ce45181] - (SEMVER-MINOR) src: make process binding data weak (Chengzhong Wu) #48655
  • Commits:
  • [4a20912279] - benchmark: update iterations in benchmark/util/splice-one.js (Liu Jia) #50698
  • [36380eb53d] - benchmark: increase the iteration number to an appropriate value (Lei Shi) #50766
  • [23f56d8bb3] - benchmark: rewrite import.meta benchmark (Joyee Cheung) #50683
  • [f7245d73d9] - benchmark: add misc/startup-cli-version benchmark (Joyee Cheung) #50684
  • [c81d2acfe0] - benchmark: remove punycode from require-builtins fixture (Joyee Cheung) #50689
  • [5849f09874] - build: add GN configurations for simdjson (Cheng Zhao) #50831
  • [12605e8f7d] - build: add configuration flag to enable Maglev (Keyhan Vakil) #50692
  • [43da9ea9e5] - build: fix GN configuration for deps/base64 (Cheng Zhao) #50696
  • [465f75b58a] - build: disable flag v8_scriptormodule_legacy_lifetime (Chengzhong Wu) #50616
  • [d2c0dfb1b7] - crypto: update root certificates to NSS 3.95 (Node.js GitHub Bot) #50805
  • [8d3a1d8911] - deps: update zlib to 1.2.13.1-motley-5daffc7 (Node.js GitHub Bot) #50803
  • [e02f304de7] - deps: V8: cherry-pick 0f9ebbc672c7 (Chengzhong Wu) #50867
  • [c31ad5ceaa] - deps: update icu to 74.1 (Node.js GitHub Bot) #50515
  • [3ff2bda34e] - deps: update ada to 2.7.4 (Node.js GitHub Bot) #50815
  • [221f02df6d] - deps: update undici to 5.27.2 (Node.js GitHub Bot) #50813
  • [ee69c613a2] - deps: update minimatch to 9.0.3 (Node.js GitHub Bot) #50806
  • [00dab30fd2] - deps: V8: cherry-pick 475c8cdf9a95 (Keyhan Vakil) #50680
  • [a0c01b23b4] - deps: update simdutf to 4.0.4 (Node.js GitHub Bot) #50772
  • [071e46ae56] - deps: upgrade npm to 10.2.4 (npm team) #50751
  • [5d28f8d18f] - deps: escape Python strings correctly (Michaël Zasso) #50695
  • [3731f836ed] - deps: V8: cherry-pick 8f0b94671ddb (Lu Yahan) #50654
  • [6dfe1023c3] - dns: call handle.setServers() with a valid array (Luigi Pinca) #50811
  • [2f13db475e] - doc: make theme consistent across api and other docs (Dima Demakov) #50877
  • [8c4976b732] - doc: add a section regarding instanceof in primordials.md (Antoine du Hamel) #50874
  • [6485687642] - doc: update email to reflect affiliation (Yagiz Nizipli) #50856
  • [bc31375a09] - doc: shard not supported with watch mode (Pulkit Gupta) #50640
  • [08c3b0ab20] - doc: get rid of unnecessary eslint-skip comments (Antoine du Hamel) #50829
  • [98fb1faff1] - doc: create deprecation code for isWebAssemblyCompiledModule (Marco Ippolito) #50486
  • [e116fcdb01] - doc: add CanadaHonk to triagers (CanadaHonk) #50848
  • [a37d9ee1e3] - doc: fix typos in --allow-fs-* (Tobias Nießen) #50845
  • [8468daf1a9] - doc: update Crypto API doc for x509.keyUsage (Daniel Meechan) #50603
  • [b4935dde60] - doc: fix fs.writeFileSync return value documentation (Ryan Zimmerman) #50760
  • [ead9879a04] - doc: update print results(detail) in PerformanceEntry (Jungku Lee) #50723
  • [6b7403c5df] - doc: fix Buffer.allocUnsafe documentation (Mert Can Altın) #50686
  • [713fdf1fc3] - doc: run license-builder (github-actions[bot]) #50691
  • [50f336c06f] - esm: fallback to getSource when load returns nullish source (Antoine du Hamel) #50825
  • [bd58870556] - esm: do not call getSource when format is commonjs (Francesco Trotta) #50465
  • [e59268a076] - fs: add c++ fast path for writeFileSync utf8 (CanadaHonk) #49884
  • [483200f68f] - fs: improve error performance for rmdirSync (CanadaHonk) #49846
  • [e4e0add0de] - fs: fix glob returning duplicates (Moshe Atlow) #50881
  • [45b2bb09f2] - fs: fix to not return for void function (Jungku Lee) #50769
  • [492e3e30b7] - fs: replace deprecated path._makeLong in copyFile (CanadaHonk) #50844
  • [9dc4cde75b] - fs: improve error perf of sync lstat+fstat (CanadaHonk) #49868
  • [c3eee590be] - inspector: use private fields instead of symbols (Yagiz Nizipli) #50776
  • [1a0069b13d] - meta: clarify nomination process according to Node.js charter (Matteo Collina) #50834
  • [65a811a86d] - meta: clarify recommendation for bug reproductions (Antoine du Hamel) #50882
  • [5811a59016] - meta: move cjihrig to TSC regular member (Colin Ihrig) #50816
  • [c7a7493ca2] - (SEMVER-MINOR) module: bootstrap module loaders in shadow realm (Chengzhong Wu) #48655
  • [bc3f7b5401] - (SEMVER-MINOR) module: remove useCustomLoadersIfPresent flag (Chengzhong Wu) #48655
  • [9197b0f2fc] - net: check pipe mode and path (theanarkh) #50770
  • [673de300b4] - node-api: factor out common code into macros (Gabriel Schulhof) #50664
  • [aebe2fc702] - perf_hooks: implement performance.now() with fast API calls (Joyee Cheung) #50492
  • [3fdecc4a8b] - permission: do not create symlinks if target is relative (Tobias Nießen) #49156
  • [27a4f58640] - permission: mark const functions as such (Tobias Nießen) #50705
  • [feb8ff9427] - src: assert return value of BN_bn2binpad (Tobias Nießen) #50860
  • [fd9195d750] - src: fix coverity warning (Michael Dawson) #50846
  • [adcab85c0c] - src: fix compatility with upcoming V8 12.1 APIs (Cheng Zhao) #50709
  • [79ef39b8c8] - (SEMVER-MINOR) src: add --disable-warning option (Ethan Arrowood) #50661
  • [faf6a04ba6] - src: add IsolateScopes before using isolates (Keyhan Vakil) #50680
  • [eacf4ba485] - src: iterate on import attributes array correctly (Michaël Zasso) #50703
  • [0fb35b6a67] - src: avoid copying strings in FSPermission::Apply (Tobias Nießen) #50662
  • [83ad272fa6] - src: remove erroneous default argument in RadixTree (Tobias Nießen) #50736
  • [2e8e237ce2] - src: fix JSONParser leaking internal V8 scopes (Keyhan Vakil) #50688
  • [0d3aa725cf] - src: return error --env-file if file is not found (Ardi Nugraha) #50588
  • [aadff07e59] - (SEMVER-MINOR) src: create per isolate proxy env template (Chengzhong Wu) #48655
  • [91aa9dd23a] - (SEMVER-MINOR) src: create fs_dir per isolate properties (Chengzhong Wu) #48655
  • [5c5834190a] - (SEMVER-MINOR) src: create worker per isolate properties (Chengzhong Wu) #48655
  • [4a1ce45181] - (SEMVER-MINOR) src: make process binding data weak (Chengzhong Wu) #48655
  • [8746073664] - src: avoid silent coercion to signed/unsigned int (Tobias Nießen) #50663
  • [57587de1fa] - src: handle errors from uv_pipe_connect2() (Deokjin Kim) #50657
  • [e5cce004e8] - stream: fix enumerability of ReadableStream.from (Mattias Buelens) #50779
  • [4522e229c0] - stream: fix enumerability of ReadableStream.prototype.values (Mattias Buelens) #50779
  • [2e0abed973] - stream: yield expected Error class on zlib errors (Filip Skokan) #50712
  • [a275155e81] - stream: add Symbol.toStringTag to Compression Streams (Filip Skokan) #50712
  • [146ad9cab0] - stream: treat compression web stream format per its WebIDL definition (Filip Skokan) #50631
  • [087cffc7c2] - test: fix message v8 not normalising alphanumeric paths (Jithil P Ponnan) #50730
  • [7de900a442] - test: fix dns test case failures after c-ares update to 1.21.0+ (Brad House) #50743
  • [b1b6c44712] - test: replace forEach with for of (Conor Watson) #50594
  • [7f44164ad4] - test: replace forEach to for at test-webcrypto-sign-verify-ecdsa.js (Alessandro Di Nisio) #50795
  • [9d76de1993] - test: replace foreach with for in test-https-simple.js (Shikha Mehta) #49793
  • [ce8fc56ee4] - test: add note about unresolved spec issue (Mattias Buelens) #50779
  • [628a12ac18] - test: add note about readable streams with type owning (Mattias Buelens) #50779
  • [82f0882ce0] - test: replace forEach with for-of in test-url-relative (vitosorriso) #50788
  • [3b7998305d] - test: replace forEach() with for ... of in test-tls-getprotocol.js (Steve Goode) #50600
  • [0e4d25eb5c] - test: use requires instead of flaky in console WPT status (Filip Skokan) #50812
  • [221952a88e] - test: use ppc and ppc64 to skip SEA tests on PowerPC (Joyee Cheung) #50828
  • [0e3b714069] - test: enable idlharness tests for encoding (Mattias Buelens) #50778
  • [c8d4cd68b4] - test: replace forEach in whatwg-encoding-custom-interop (Honza Machala) #50607
  • [f25637b5c9] - test: update WPT files for WebIDL tests (Filip Skokan) #50712
  • [f2e0fce389] - test: replace forEach() with for-loop (Jan) #50596
  • [4b26f14a53] - test: improve test-bootstrap-modules.js (Joyee Cheung) #50708
  • [28d78de0dd] - test: skip parallel/test-macos-app-sandbox if disk space < 120MB (Joyee Cheung) #50764
  • [4088b750e7] - test: mark SEA tests as flaky on PowerPC (Joyee Cheung) #50750
  • [6475cee6a4] - test: give more time to GC in test-shadow-realm-gc-* (Joyee Cheung) #50735
  • [0e8275b610] - test: replace foreach with for (Markus Muschol) #50599
  • [377deded59] - test: test streambase has already has a consumer (Jithil P Ponnan) #48059
  • [342a83e728] - test: change forEach to for...of in path extname (Kyriakos Markakis) #50667
  • [75265e491d] - test: replace forEach with for...of (Ryan Williams) #50611
  • [982b57651b] - test: migrate message v8 tests from Python to JS (Joshua LeMay) #50421
  • [7ebc8c2aed] - test,stream: enable compression WPTs (Filip Skokan) #50631
  • [0bd694ab64] - test_runner: add tests for various mock timer issues (Mika Fischer) #50384
  • [dee8039c9b] - tls: fix order of setting cipher before setting cert and key (Kumar Rishav) #50186
  • [5de30531b8] - tools: add macOS notarization verification step (Ulises Gascón) #50833
  • [a12d9e03f2] - tools: use macOS keychain to notarize the releases (Ulises Gascón) #50715
  • [f21637717f] - tools: update eslint to 8.54.0 (Node.js GitHub Bot) #50809
  • [daa933d93a] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #50807
  • [52830b71cc] - tools: add workflow to update release links (Michaël Zasso) #50710
  • [db8ce5bbdd] - tools: recognize GN files in dep_updaters (Cheng Zhao) #50693
  • [5ef6729b66] - tools: remove unused file (Ulises Gascon) #50622
  • [c49483820a] - tools: change minimatch install strategy (Marco Ippolito) #50476
  • [0d556d9a59] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #50675
  • [eaa4c14e6b] - util: improve performance of normalizeEncoding (kylo5aby) #50721
  • [a5d959b765] - v8,tools: expose necessary V8 defines (Cheng Zhao) #50820

New in Node.js 20.10.0 LTS (Dec 3, 2023)

  • Notable Changes:
  • --experimental-default-type flag to flip module defaults
  • The new flag --experimental-default-type can be used to flip the default module system used by Node.js. Input that is already explicitly defined as ES modules or CommonJS, such as by a package.json "type" field or .mjs/.cjs file extension or the --input-type flag, is unaffected. What is currently implicitly CommonJS would instead be interpreted as ES modules under --experimental-default-type=module:
  • String input provided via --eval or STDIN, if --input-type is unspecified.
  • Files ending in .js or with no extension, if there is no package.json file present in the same folder or any parent folder.
  • Files ending in .js or with no extension, if the nearest parent package.json field lacks a type field; unless the folder is inside a node_modules folder.
  • In addition, extensionless files are interpreted as Wasm if --experimental-wasm-modules is passed and the file contains the "magic bytes" Wasm header.
  • Detect ESM syntax in ambiguous JavaScript:
  • The new flag --experimental-detect-module can be used to automatically run ES modules when their syntax can be detected. For “ambiguous” files, which are .js or extensionless files with no package.json with a type field, Node.js will parse the file to detect ES module syntax; if found, it will run the file as an ES module, otherwise it will run the file as a CommonJS module. The same applies to string input via --eval or STDIN.
  • We hope to make detection enabled by default in a future version of Node.js. Detection increases startup time, so we encourage everyone—especially package authors—to add a type field to package.json, even for the default "type": "commonjs". The presence of a type field, or explicit extensions such as .mjs or .cjs, will opt out of detection.
  • New flush option in file system functions:
  • When writing to files, it is possible that data is not immediately flushed to permanent storage. This allows subsequent read operations to see stale data. This PR adds a 'flush' option to the fs.writeFile family of functions which forces the data to be flushed at the end of a successful write operation.
  • Experimental WebSocket client:
  • Adds a --experimental-websocket flag that adds a WebSocket global, as standardized by WHATWG.
  • vm: fix V8 compilation cache support for vm.Script:
  • Previously repeated compilation of the same source code using vm.Script stopped hitting the V8 compilation cache after v16.x when support for importModuleDynamically was added to vm.Script, resulting in a performance regression that blocked users (in particular Jest users) from upgrading from v16.x.
  • The recent fixes allow the compilation cache to be hit again for vm.Script when --experimental-vm-modules is not used even in the presence of the importModuleDynamically option, so that users affected by the performance regression can now upgrade. Ongoing work is also being done to enable compilation cache support for vm.CompileFunction.
  • Other notable changes:
  • [21453ae555] - (SEMVER-MINOR) deps: update uvwasi to 0.0.19 (Node.js GitHub Bot) #49908
  • [ee65e44c31] - esm: use import attributes instead of import assertions (Antoine du Hamel) #50140
  • [ffdc357167] - (SEMVER-MINOR) stream: allow passing stream class to stream.compose (Alex Yang) #50187
  • [4861ad6431] - stream: improve performance of readable stream reads (Raz Luvaton) #50173
  • [4b27087b30] - stream: optimize Writable (Robert Nagy) #50012
  • [709c6c0cab] - (SEMVER-MINOR) test_runner, cli: add --test-concurrency flag (Colin Ihrig) #49996
  • [57efd5292c] - (SEMVER-MINOR) vm: use import attributes instead of import assertions (Antoine du Hamel) #50141
  • Commits:
  • [73757a5f42] - benchmark: fix race condition on fs benchs (Vinicius Lourenço) #50035
  • [23269717bb] - benchmark: add warmup to accessSync bench (Rafael Gonzaga) #50073
  • [88611d199a] - benchmark: improved config for blob,file benchmark (Vinícius Lourenço) #49730
  • [b70757476c] - benchmark: added new benchmarks for blob (Vinícius Lourenço) #49730
  • [458d9a82e3] - buffer: remove unnecessary assignment in fromString (Tobias Nießen) #50199
  • [878c0b332e] - build: fix IBM i build with Python 3.9 (Richard Lau) #48056
  • [773320e1de] - crypto: ensure valid point on elliptic curve in SubtleCrypto.importKey (Filip Skokan) #50234
  • [edb0ffd7d4] - crypto: use X509_ALGOR accessors instead of reaching into X509_ALGOR (David Benjamin) #50057
  • [3f98c06dbb] - crypto: account for disabled SharedArrayBuffer (Shelley Vohr) #50034
  • [55485ff1cc] - crypto: return clear errors when loading invalid PFX data (Tim Perry) #49566
  • [68ec1e5eeb] - deps: upgrade npm to 10.2.3 (npm team) #50531
  • [b00c11ad7c] - deps: V8: cherry-pick d90d4533b053 (Michaël Zasso) #50077
  • [e63aef91b4] - deps: V8: cherry-pick f7d000a7ae7b (Luke Albao) #50077
  • [4b243b553a] - deps: V8: cherry-pick 9721082687c9 (Shi Pujin) #50077
  • [9d3cdcbebf] - deps: V8: cherry-pick 840650f2ff4e (Michaël Zasso) #50077
  • [0c40b513fd] - deps: V8: cherry-pick a1efa5343880 (Michaël Zasso) #50077
  • [68cddd79f7] - deps: update archs files for openssl-3.0.12+quic1 (Node.js GitHub Bot) #50411
  • [3308189180] - deps: upgrade openssl sources to quictls/openssl-3.0.12+quic1 (Node.js GitHub Bot) #50411
  • [b61707e535] - deps: update ada to 2.7.2 (Node.js GitHub Bot) #50338
  • [1aecf0c17b] - deps: update corepack to 0.22.0 (Node.js GitHub Bot) #50325
  • [f5924f174c] - deps: update c-ares to 1.20.1 (Node.js GitHub Bot) #50082
  • [b705e19a95] - deps: update c-ares to 1.20.0 (Node.js GitHub Bot) #50082
  • [f72cbb7e02] - deps: V8: cherry-pick 25902244ad1a (Joyee Cheung) #50156
  • [6547bd2493] - deps: V8: cherry-pick ea996ad04a68 (Antoine du Hamel) #50183
  • [16fd730e95] - deps: V8: cherry-pick a0fd3209dda8 (Antoine du Hamel) #50183
  • [614c3620c3] - deps: update corepack to 0.21.0 (Node.js GitHub Bot) #50088
  • [545aa74ae2] - deps: update simdutf to 3.2.18 (Node.js GitHub Bot) #50091
  • [9302806c0a] - deps: update zlib to 1.2.13.1-motley-fef5869 (Node.js GitHub Bot) #50085
  • [03bf5c5d9a] - deps: update googletest to 2dd1c13 (Node.js GitHub Bot) #50081
  • [cd8e90690b] - deps: update googletest to e47544a (Node.js GitHub Bot) #49982
  • [40672cfe53] - deps: update ada to 2.6.10 (Node.js GitHub Bot) #49984
  • [34c7eb0eb2] - deps: fix call to undeclared functions 'ntohl' and 'htons' (MatteoBax) #49979
  • [03654b44b6] - deps: update ada to 2.6.9 (Node.js GitHub Bot) #49340
  • [4c740b1dd8] - deps: update ada to 2.6.8 (Node.js GitHub Bot) #49340
  • [759cf5a760] - deps: update ada to 2.6.7 (Node.js GitHub Bot) #49340
  • [31a4e9781a] - deps: update ada to 2.6.5 (Node.js GitHub Bot) #49340
  • [2ca867f2ab] - deps: update ada to 2.6.3 (Node.js GitHub Bot) #49340
  • [21453ae555] - (SEMVER-MINOR) deps: update uvwasi to 0.0.19 (Node.js GitHub Bot) #49908
  • [7ca1228be8] - deps: V8: cherry-pick 8ec2651fbdd8 (Abdirahim Musse) #49862
  • [3cc41d253c] - deps: upgrade npm to 10.2.0 (npm team) #50027
  • [61b4afb7dd] - deps: update undici to 5.26.4 (Node.js GitHub Bot) #50274
  • [ea28738336] - doc: add loong64 info into platform list (Shi Pujin) #50086
  • [00c12b7a20] - doc: update release process LTS step (Richard Lau) #50299
  • [a9ba29ba10] - doc: fix release process table of contents (Richard Lau) #50216
  • [4b5033519e] - doc: update api stream.compose (Alex Yang) #50206
  • [d4659e2080] - doc: add ReflectConstruct to known perf issues (Vinicius Lourenço) #50111
  • [ffa94612fd] - doc: fix typo in dgram docs (Peter Johnson) #50211
  • [f37b577b14] - doc: fix H4ad collaborator sort (Vinicius Lourenço) #50218
  • [c75264b1f9] - doc: add H4ad to collaborators (Vinícius Lourenço) #50217
  • [5025e24ac7] - doc: update release-stewards with last sec-release (Rafael Gonzaga) #50179
  • [63379313d5] - doc: add command to keep major branch sync (Rafael Gonzaga) #50102
  • [85de4b8254] - doc: add loong64 to list of architectures (Shi Pujin) #50172
  • [ff8e1b860e] - doc: update security release process (Michael Dawson) #50166
  • [33470d965c] - doc: improve ccache explanation (Chengzhong Wu) #50133
  • [7b97c44e2a] - doc: move danielleadams to TSC non-voting member (Danielle Adams) #50142
  • [3d03ca9f31] - doc: fix description of fs.readdir recursive option (RamdohokarAngha) #48902
  • [aab045ec4b] - doc: mention files read before env setup (Rafael Gonzaga) #50072
  • [26a7608a24] - doc: move permission model to Active Development (Rafael Gonzaga) #50068
  • [d7bbf7f2c4] - doc: add command to get patch minors and majors (Rafael Gonzaga) #50067
  • [9830165e34] - doc: use precise promise terminology in fs (Benjamin Gruenbaum) #50029
  • [585cbb211d] - doc: use precise terminology in test runner (Benjamin Gruenbaum) #50028
  • [2862f07124] - doc: clarify explaination text on how to run the example (Anshul Sinha) #39020
  • [fe47c8ad91] - doc: reserve 119 for Electron 28 (David Sanders) #50020
  • [36ecd2c588] - doc: update Collaborator pronouns (Tierney Cyren) #50005
  • [315d82a73e] - doc: update link to Abstract Modules Records spec (Rich Trott) #49961
  • [f63a92bb6c] - doc: updated building docs for windows (Claudio W) #49767
  • [ad17126501] - doc: update CHANGELOG_V20 about vm fixes (Joyee Cheung) #49951
  • [24458e2ac3] - doc: document dangerous symlink behavior (Tobias Nießen) #49154
  • [337a676d1f] - doc: add main ARIA landmark to API docs (Rich Trott) #49882
  • [959ef7ac6b] - doc: add navigation ARIA landmark to doc ToC (Rich Trott) #49882
  • [a60fbf2ab3] - doc: mark Node.js 19 as End-of-Life (Richard Lau) #48283
  • [c255575699] - errors: improve performance of determine-specific-type (Aras Abbasi) #49696
  • [e66991e6b2] - errors: improve formatList in errors.js (Aras Abbasi) #49642
  • [c71e548b65] - errors: improve performance of instantiation (Aras Abbasi) #49654
  • [3b867e4256] - esm: do not give wrong hints when detecting file format (Antoine du Hamel) #50314
  • [a589a1a905] - (SEMVER-MINOR) esm: detect ESM syntax in ambiguous JavaScript (Geoffrey Booth) #50096
  • [c64490e9aa] - esm: improve check for ESM syntax (Geoffrey Booth) #50127
  • [ee65e44c31] - esm: use import attributes instead of import assertions (Antoine du Hamel) #50140
  • [4de838fdeb] - esm: bypass CommonJS loader under --default-type (Geoffrey Booth) #49986
  • [27e02b633d] - esm: unflag extensionless javascript and wasm in module scope (Geoffrey Booth) #49974
  • [1e762ddf63] - esm: improve getFormatOfExtensionlessFile speed (Yagiz Nizipli) #49965
  • [112cc7f9f2] - esm: improve JSDoc annotation of internal functions (Antoine du Hamel) #49959
  • [c48cd84188] - esm: fix cache collision on JSON files using file: URL (Antoine du Hamel) #49887
  • [dc80ccef25] - esm: --experimental-default-type flag to flip module defaults (Geoffrey Booth) #49869
  • [01039795a2] - esm: require braces for modules code (Geoffrey Booth) #49657
  • [e49ebf8f9a] - fs: improve error performance for readSync (Jungku Lee) #50033
  • [eb33f70260] - fs: improve error performance for fsyncSync (Jungku Lee) #49880
  • [8d0edc6399] - fs: improve error performance for mkdirSync (CanadaHonk) #49847
  • [36df27509e] - fs: improve error performance of realpathSync (Yagiz Nizipli) #49962
  • [4242cb7d7f] - fs: improve error performance of lchownSync (Yagiz Nizipli) #49962
  • [89e7878e44] - fs: improve error performance of symlinkSync (Yagiz Nizipli) #49962
  • [af6a0611fe] - fs: improve error performance of readlinkSync (Yagiz Nizipli) #49962
  • [12cda31c52] - fs: improve error performance of mkdtempSync (Yagiz Nizipli) #49962
  • [9dba771acb] - fs: improve error performance of linkSync (Yagiz Nizipli) #49962
  • [ea7902de13] - fs: improve error performance of chownSync (Yagiz Nizipli) #49962
  • [39f31a38cf] - fs: improve error performance of renameSync (Yagiz Nizipli) #49962
  • [35164fa466] - (SEMVER-MINOR) fs: add flush option to appendFile() functions (Colin Ihrig) #50095
  • [06aa4b9fe9] - fs: improve error performance of readdirSync (Yagiz Nizipli) #50131
  • [b5aecebcd6] - fs: fix unlinkSync typings (Yagiz Nizipli) #49859
  • [6ddea07225] - fs: improve error perf of sync chmod+fchmod (CanadaHonk) #49859
  • [841367078e] - fs: improve error perf of sync *times (CanadaHonk) #49864
  • [eb52f73e3e] - fs: improve error performance of writevSync (IlyasShabi) #50038
  • [d1aa62f1f5] - fs: add flush option to createWriteStream() (Colin Ihrig) #50093
  • [57eb06edff] - fs: improve error performance for ftruncateSync (André Alves) #50032
  • [22e3eb659a] - fs: add flush option to writeFile() functions (Colin Ihrig) #50009
  • [d7132d9214] - fs: improve error performance for fdatasyncSync (Jungku Lee) #49898
  • [bc2c0410d3] - fs: throw errors from sync branches instead of separate implementations (Joyee Cheung) #49913
  • [f46bcf1749] - http: refactor to make servername option normalization testable (Rongjian Zhang) #38733
  • [1bfcf817af] - http2: allow streams to complete gracefully after goaway (Michael Lumish) #50202
  • [5c66ec9e66] - inspector: simplify dispatchProtocolMessage (Daniel Lemire) #49780
  • [251ae1dd72] - lib: improve performance of validateStringArray and validateBooleanArray (Aras Abbasi) #49756
  • [d9c791a508] - lib: fix compileFunction throws range error for negative numbers (Jithil P Ponnan) #49855
  • [24cbc550c2] - lib: reduce overhead of validateObject (Vinicius Lourenço) #49928
  • [b80e9497f3] - lib: make fetch sync and return a Promise (Matthew Aitken) #49936
  • [d9eda6761b] - lib: fix primordials typings (Sam Verschueren) #49895
  • [3e0d47c1f4] - lib: update params in jsdoc for HTTPRequestOptions (Jungku Lee) #49872
  • [a01050dec4] - (SEMVER-MINOR) lib: add WebSocket client (Matthew Aitken) #49830
  • [5bca8feed2] - lib,test: do not hardcode Buffer.kMaxLength (Michaël Zasso) #49876
  • [e8ebed7a24] - meta: move Trott to TSC regular member (Rich Trott) #50297
  • [27e957cea8] - meta: ping TSC for offboarding (Tobias Nießen) #50147
  • [fab39062d5] - meta: bump actions/upload-artifact from 3.1.2 to 3.1.3 (dependabot[bot]) #50000
  • [46ec82496c] - meta: bump actions/cache from 3.3.1 to 3.3.2 (dependabot[bot]) #50003
  • [a634fb431e] - meta: bump github/codeql-action from 2.21.5 to 2.21.9 (dependabot[bot]) #50002
  • [c221f72911] - meta: bump actions/checkout from 3.6.0 to 4.1.0 (dependabot[bot]) #50001
  • [d356e5e395] - meta: update website team with new name (Rich Trott) #49883
  • [2ff4e71452] - module: move helpers out of cjs loader (Geoffrey Booth) #49912
  • [142ac3f82d] - module, esm: jsdoc for modules files (Geoffrey Booth) #49523
  • [e2f0ef2a60] - node-api: update headers for better wasm support (Toyo Li) #49037
  • [db2a07fcd6] - node-api: run finalizers directly from GC (Vladimir Morozov) #42651
  • [c25716be8b] - os: cache homedir, remove getCheckedFunction (Aras Abbasi) #50037
  • [e8f024b4db] - perf_hooks: reduce overhead of new user timings (Vinicius Lourenço) #49914
  • [a517be0a5a] - perf_hooks: reducing overhead of performance observer entry list (Vinicius Lourenço) #50008
  • [42e49ec381] - perf_hooks: reduce overhead of new resource timings (Vinicius Lourenço) #49837
  • [c99e51ed1b] - src: generate default snapshot with --predictable (Joyee Cheung) #48749
  • [47164e238f] - src: fix TLSWrap lifetime bug in ALPN callback (Ben Noordhuis) #49635
  • [e1df69e73e] - src: set port in node_options to uint16_t (Yagiz Nizipli) #49151
  • [1eb2af29b4] - src: name scoped lock (Mohammed Keyvanzadeh) #50010
  • [5131fde655] - src: use exact return value for uv_os_getenv (Yagiz Nizipli) #49149
  • [ba169be5ca] - src: move const variable in node_file.h to node_file.cc (Jungku Lee) #49688
  • [5a2351d3ab] - src: remove unused variable (Michaël Zasso) #49665
  • [f2f993a32f] - stream: simplify prefinish (Robert Nagy) #50204
  • [6d7274e3ca] - stream: reduce scope of readable bitmap details (Robert Nagy) #49963
  • [ffdc357167] - (SEMVER-MINOR) stream: allow pass stream class to stream.compose (Alex Yang) #50187
  • [4861ad6431] - stream: call helper function from push and unshift (Raz Luvaton) #50173
  • [e60b3ab31b] - stream: use private symbol for bitmap state (Robert Nagy) #49993
  • [ecbfb23f6b] - stream: lazy allocate back pressure buffer (Robert Nagy) #50013
  • [88c739bef4] - stream: avoid unnecessary drain for sync stream (Robert Nagy) #50014
  • [4b27087b30] - stream: optimize Writable (Robert Nagy) #50012
  • [def55f80a1] - stream: avoid tick in writable hot path (Robert Nagy) #49966
  • [35ec93115d] - stream: writable state bitmap (Robert Nagy) #49899
  • [6e0f0fafe4] - test: use ppc and ppc64 to skip SEA tests on PowerPC (Joyee Cheung) #50828
  • [a528bbceca] - test: mark SEA tests as flaky on PowerPC (Joyee Cheung) #50750
  • [4e34f9a26e] - test: relax version check with shared OpenSSL (Luigi Pinca) #50505
  • [41ca1132eb] - test: fix crypto-dh error message for OpenSSL 3.x (Kerem Kat) #50395
  • [a6a05e8a88] - test: fix testsuite against zlib version 1.3 (Dominique Leuenberger) #50364
  • [8dd895e574] - test: replace forEach with for..of in test-process-env (Niya Shiyas) #49825
  • [81886c66d1] - test: replace forEach with for..of in test-http-url (Niya Shiyas) #49840
  • [7d8a18b257] - test: improve watch mode test (Moshe Atlow) #50319
  • [baa04b79ca] - test: set test-watch-mode-inspect as flaky (Yagiz Nizipli) #50259
  • [3d9130bc2e] - Revert "test: set test-esm-loader-resolve-type as flaky" (Antoine du Hamel) #50315
  • [72626f9a35] - test: replace forEach with for..of in test-http-perf_hooks.js (Niya Shiyas) #49818
  • [379a7255e8] - test: replace forEach with for..of in test-net-isipv4.js (Niya Shiyas) #49822
  • [b55fcd75da] - test: deflake test-esm-loader-resolve-type (Antoine du Hamel) #50273
  • [0134af3eeb] - test: replace forEach with for..of in test-http2-server (Niya Shiyas) #49819
  • [8c15281d06] - test: replace forEach with for..of in test-http2-client-destroy.js (Niya Shiyas) #49820
  • [c37a75a898] - test: update url web platform tests (Yagiz Nizipli) #50264
  • [ab5985d0e9] - test: set test-emit-after-on-destroyed as flaky (Yagiz Nizipli) #50246
  • [50181a19b8] - test: set inspector async stack test as flaky (Yagiz Nizipli) #50244
  • [b9e0fed995] - test: set test-worker-nearheaplimit-deadlock flaky (StefanStojanovic) #50277
  • [2cfc4007d1] - test: set test-cli-node-options as flaky (Yagiz Nizipli) #50296
  • [788714b28f] - test: reduce the number of requests and parsers (Luigi Pinca) #50240
  • [0dce19c8f6] - test: set crypto-timing test as flaky (Yagiz Nizipli) #50232
  • [5d4b5ff1b8] - test: set test-structuredclone-* as flaky (Yagiz Nizipli) #50261
  • [5c56081d67] - test: deflake test-loaders-workers-spawned (Antoine du Hamel) #50251
  • [3441e1982d] - test: improve code coverage of diagnostics_channel (Jithil P Ponnan) #50053
  • [696ba93329] - test: set test-esm-loader-resolve-type as flaky (Yagiz Nizipli) #50226
  • [8b260c5d6b] - test: set inspector async hook test as flaky (Yagiz Nizipli) #50252
  • [f3296d25e8] - test: skip test-benchmark-os.js on IBM i (Abdirahim Musse) #50208
  • [fefe17b02e] - test: set parallel http server test as flaky (Yagiz Nizipli) #50227
  • [228c87f329] - test: set test-worker-nearheaplimit-deadlock flaky (Stefan Stojanovic) #50238
  • [c2c2506eab] - test: set test-runner-watch-mode as flaky (Yagiz Nizipli) #50221
  • [16a07983d4] - test: set sea snapshot tests as flaky (Yagiz Nizipli) #50223
  • [7cd406a0b8] - test: fix defect path traversal tests (Tobias Nießen) #50124
  • [1cf3f8da32] - test: replace forEach with for..of in test-net-isipv6.js (Niya Shiyas) #49823
  • [214997a99e] - test: reduce number of repetition in test-heapdump-shadowrealm.js (Chengzhong Wu) #50104
  • [9d836516e6] - test: replace forEach with for..of in test-parse-args.mjs (Niya Shiyas) #49824
  • [fee8b24603] - test: replace forEach() in test-net-perf_hooks with for of (Narcisa Codreanu) #49831
  • [4c58b92ba8] - test: change forEach to for...of (Tiffany Lastimosa) #49799
  • [01b01527d7] - test: update skip for moved test-wasm-web-api (Richard Lau) #49958
  • [179e293103] - Revert "test: mark test-runner-output as flaky" (Luigi Pinca) #49905
  • [829eb99afd] - test: disambiguate AIX and IBM i (Richard Lau) #48056
  • [126407d438] - test: deflake test-perf-hooks.js (Joyee Cheung) #49892
  • [393fd5b7c9] - test: migrate message error tests from Python to JS (Yiyun Lei) #49721
  • [5dfe4236f8] - test: fix edge snapshot stack traces (Geoffrey Booth) #49659
  • [d164e537bf] - test,crypto: update WebCryptoAPI WPT (Filip Skokan) #50039
  • [55a03fedae] - test_runner: add test location for FileTests (Colin Ihrig) #49999
  • [10b35cfb6e] - test_runner: replace spurious if with else (Colin Ihrig) #49943
  • [27558c4314] - test_runner: catch reporter errors (Moshe Atlow) #49646
  • [709c6c0cab] - (SEMVER-MINOR) test_runner, cli: add --test-concurrency flag (Colin Ihrig) #49996
  • [64ef108dd9] - test_runner,test: fix flaky test-runner-cli-concurrency.js (Colin Ihrig) #50108
  • [d2def152d9] - tls: reduce TLS 'close' event listener warnings (Tim Perry) #50136
  • [294b650f5c] - tls: handle cases where the raw socket is destroyed (Luigi Pinca) #49980
  • [52b5693949] - tls: ciphers allow bang syntax (Chemi Atlow) #49712
  • [05ee35028b] - tools: update comment in update-uncidi.sh and acorn_version.h (Jungku Lee) #50175
  • [35b160e6a3] - tools: refactor checkimports.py (Mohammed Keyvanzadeh) #50011
  • [b959d36b77] - tools: fix comments referencing dep_updaters scripts (Keksonoid) #50165
  • [bd5d5331b0] - tools: remove no-return-await lint rule (翠 / green) #50118
  • [b9adf3d66e] - tools: update lint-md-dependencies (Node.js GitHub Bot) #50083
  • [4978bdc4ec] - tools: update eslint to 8.51.0 (Node.js GitHub Bot) #50084
  • [e323a367fd] - tools: remove genv8constants.py (Ben Noordhuis) #50023
  • [1cc6cbff26] - tools: update eslint to 8.50.0 (Node.js GitHub Bot) #49989
  • [924231be2a] - tools: update lint-md-dependencies (Node.js GitHub Bot) #49983
  • [732b5661ea] - tools: add navigation ARIA landmark to generated API ToC (Rich Trott) #49882
  • [353a14278e] - tools: update github_reporter to 1.5.3 (Node.js GitHub Bot) #49877
  • [0aaab45d7c] - tools: improve macOS notarization process output readability (Ulises Gascón) #50389
  • [ad326033e2] - tools: remove unused version function (Ulises Gascón) #50390
  • [2f32472544] - tools: drop support for osx notarization with gon (Ulises Gascón) #50291
  • [3b1c15aeb0] - tools: use osx notarytool for future releases (Ulises Gascon) #48701
  • [0ddb87ede3] - typings: use Symbol.dispose and Symbol.asyncDispose in types (Niklas Mollenhauer) #50123
  • [bf5b2115a0] - util: remove internal mime fns from benchmarks (Aras Abbasi) #50201
  • [ac02cdb0ad] - util: lazy parse mime parameters (Aras Abbasi) #49889
  • [9853fd96df] - vm: reject in importModuleDynamically without --experimental-vm-modules (Joyee Cheung) #50137
  • [3697c19c80] - vm: use internal versions of compileFunction and Script (Joyee Cheung) #50137
  • [56bbc30a44] - vm: unify host-defined option generation in vm.compileFunction (Joyee Cheung) #50137
  • [57efd5292c] - (SEMVER-MINOR) vm: use import attributes instead of import assertions (Antoine du Hamel) #50141
  • [17581c2716] - vm: use default HDO when importModuleDynamically is not set (Joyee Cheung) #49950
  • [65e18aa8e7] - wasi: address coverity warning (Michael Dawson) #49866
  • [5b695d6a8d] - wasi: fix up wasi tests for ibmi (Michael Dawson) #49953
  • [b86e1f5cbd] - (SEMVER-MINOR) wasi: updates required for latest uvwasi version (Michael Dawson) #49908
  • [b4d149b4d6] - worker: handle detached MessagePort from a different context (Juan José) #49150
  • [f564ed4e05] - zlib: fix discovery of cpu-features.h for android (MatteoBax) #49828

New in Node.js 21.2.0 Current (Nov 15, 2023)

  • Notable Changes:
  • [e25c65ee2f] - doc: add MrJithil to collaborators (Jithil P Ponnan) #50666
  • [f2366573f9] - doc: add Ethan-Arrowood as a collaborator (Ethan Arrowood) #50393
  • [eac9cc5fcb] - (SEMVER-MINOR) esm: add import.meta.dirname and import.meta.filename (James Sumners) #48740
  • [7e151114b1] - fs: add stacktrace to fs/promises (翠 / green) #49849
  • [6dbb280733] - (SEMVER-MINOR) lib: add --no-experimental-global-navigator CLI flag (Antoine du Hamel) #50562
  • [03c730b931] - (SEMVER-MINOR) lib: add navigator.language & navigator.languages (Aras Abbasi) #50303
  • [f932f4c518] - (SEMVER-MINOR) lib: add navigator.platform (Aras Abbasi) #50385
  • [91f37d1dc3] - (SEMVER-MINOR) stream: add support for deflate-raw format to webstreams compression (Damian Krzeminski) #50097
  • [65850a67c7] - stream: use Array for Readable buffer (Robert Nagy) #50341
  • [e433fa54b7] - stream: optimize creation (Robert Nagy) #50337
  • [c9b92bba58] - (SEMVER-MINOR) test_runner: adds built in lcov reporter (Phil Nash) #50018
  • [f6c496563e] - (SEMVER-MINOR) test_runner: add Date to the supported mock APIs (Lucas Santos) #48638
  • [05e8b6ef20] - (SEMVER-MINOR) test_runner, cli: add --test-timeout flag (Shubham Pandey) #50443
  • Commits:
  • [065d8844c5] - benchmark: change iterations in benchmark/es/string-concatenations.js (Liu Jia) #50585
  • [3f37ed9f0f] - benchmark: add benchmarks for encodings (Aras Abbasi) #50348
  • [c4b6e1e9e4] - benchmark: add more cases to Readable.from (Raz Luvaton) #50351
  • [2006b57a9a] - benchmark: skip test-benchmark-os on IBMi (Michael Dawson) #50286
  • [800206b04a] - benchmark: move permission-fs-read to permission-processhas-fs-read (Aki Hasegawa-Johnson) #49770
  • [3bedaf9405] - buffer: improve Buffer.equals performance (kylo5aby) #50621
  • [b9f3613908] - build: add GN build files (Cheng Zhao) #47637
  • [22eb0257d8] - build: fix build with Python 3.12 (Luigi Pinca) #50582
  • [642c057299] - build: support Python 3.12 (Shi Pujin) #50209
  • [54ebfc10cb] - build: fix building when there is only python3 (Cheng Zhao) #48462
  • [5073a3e16d] - deps: update base64 to 0.5.1 (Node.js GitHub Bot) #50629
  • [f70a59f4fa] - deps: update corepack to 0.23.0 (Node.js GitHub Bot) #50563
  • [78b3432be5] - deps: V8: cherry-pick 13192d6e10fa (Levi Zim) #50552
  • [93e3cc3907] - deps: upgrade npm to 10.2.3 (npm team) #50531
  • [189e5e5326] - deps: update nghttp2 to 1.58.0 (Node.js GitHub Bot) #50441
  • [57bfe53095] - deps: update zlib to 1.2.13.1-motley-dfc48fc (Node.js GitHub Bot) #50456
  • [1e6922e67a] - deps: patch V8 to 11.8.172.17 (Michaël Zasso) #50292
  • [28453ff966] - deps: update acorn to 8.11.2 (Node.js GitHub Bot) #50460
  • [0a793a2566] - deps: update undici to 5.27.0 (Node.js GitHub Bot) #50463
  • [a90c6d669c] - deps: update archs files for openssl-3.0.12+quic1 (Node.js GitHub Bot) #50411
  • [a64217c116] - deps: upgrade openssl sources to quictls/openssl-3.0.12+quic1 (Node.js GitHub Bot) #50411
  • [62515e118c] - deps: update llhttp to 9.1.3 (Node.js GitHub Bot) #50080
  • [d6f49c7bdc] - deps: update googletest to 116b7e5 (Node.js GitHub Bot) #50324
  • [e25c65ee2f] - doc: add MrJithil to collaborators (Jithil P Ponnan) #50666
  • [8be0efd68f] - doc: fix typo in fs.md (fwio) #50570
  • [a656bf2dee] - doc: add missing description of argument in subtle.encrypt (Deokjin Kim) #50578
  • [4cbe44ed6f] - doc: update pm documentation to include resource (Ranieri Innocenti Spada) #50601
  • [479c1ea9fe] - doc: correct attribution in v20.6.0 changelog (Jacob Smith) #50564
  • [1668798902] - doc: update to align console.table row to the left (Jungku Lee) #50553
  • [886fc48f87] - doc: underline links (Rich Trott) #50481
  • [98cfa3a72b] - doc: recommend supported Python versions (Luigi Pinca) #50407
  • [921e36ece9] - doc: remove duplicate word (Gerhard Stöbich) #50475
  • [43074ee21c] - doc: fix typo in webstreams.md (André Santos) #50426
  • [0b11bf16e8] - doc: update notable changes in v21.1.0 (Joyee Cheung) #50388
  • [d62e81229c] - doc: add information about Node-API versions >=9 (Michael Dawson) #50168
  • [f2366573f9] - doc: add Ethan-Arrowood as a collaborator (Ethan Arrowood) #50393
  • [d9f92bc042] - doc: fix TOC in releases.md (Bryce Seefieldt) #50372
  • [14e3675b13] - errors: improve hideStackFrames (Aras Abbasi) #49990
  • [09c02ed26b] - esm: bypass CJS loader in default load under --default-type=module (Antoine du Hamel) #50004
  • [eac9cc5fcb] - (SEMVER-MINOR) esm: add import.meta.dirname and import.meta.filename (James Sumners) #48740
  • [44f19ce394] - fs: update param in jsdoc for readdir (Jungku Lee) #50448
  • [7e151114b1] - fs: add stacktrace to fs/promises (翠 / green) #49849
  • [3e7226a12f] - fs: do not throw error on cpSync internals (Yagiz Nizipli) #50185
  • [67cbe1b80f] - fs,url: move FromNamespacedPath to node_url (Yagiz Nizipli) #50090
  • [b4db32e9cb] - fs,url: refactor FileURLToPath method (Yagiz Nizipli) #50090
  • [4345ee2ede] - fs,url: move FileURLToPath to node_url (Yagiz Nizipli) #50090
  • [ed293fc520] - lib: remove deprecated string methods (Jithil P Ponnan) #50592
  • [363bc46b92] - lib: fix assert shows diff messages in ESM and CJS (Jithil P Ponnan) #50634
  • [5fa40bea9e] - lib: make event static properties non writable and configurable (Muthukumar) #50425
  • [6dbb280733] - (SEMVER-MINOR) lib: add --no-experimental-global-navigator CLI flag (Antoine du Hamel) #50562
  • [03c730b931] - (SEMVER-MINOR) lib: add navigator.language & navigator.languages (Aras Abbasi) #50303
  • [f932f4c518] - (SEMVER-MINOR) lib: add navigator.platform (Aras Abbasi) #50385
  • [c9bd0c5000] - lib: use primordials for navigator.userAgent (Aras Abbasi) #50467
  • [6dabe7cf60] - lib: avoid memory allocation on nodeprecation flag (Vinicius Lourenço) #50231
  • [3615a61ac8] - lib: align console.table row to the left (Jithil P Ponnan) #50135
  • [9e7131ffda] - meta: add web-standards as WPTs owner (Filip Skokan) #50636
  • [dedfb5ab26] - meta: bump github/codeql-action from 2.21.9 to 2.22.5 (dependabot[bot]) #50513
  • [4e83036d89] - meta: bump step-security/harden-runner from 2.5.1 to 2.6.0 (dependabot[bot]) #50512
  • [4bf9cffa95] - meta: bump ossf/scorecard-action from 2.2.0 to 2.3.1 (dependabot[bot]) #50509
  • [49cce7634b] - meta: fix spacing in collaborator list (Antoine du Hamel) #50641
  • [12e54e360c] - meta: bump actions/setup-python from 4.7.0 to 4.7.1 (dependabot[bot]) #50510
  • [85a527e6e0] - meta: add crypto as crypto and webcrypto docs owner (Filip Skokan) #50579
  • [ff9b3bdf34] - meta: bump actions/setup-node from 3.8.1 to 4.0.0 (dependabot[bot]) #50514
  • [840303078f] - meta: bump actions/checkout from 4.1.0 to 4.1.1 (dependabot[bot]) #50511
  • [c9e6e4e739] - meta: add [email protected] to mailmap (Ethan Arrowood) #50491
  • [d94010b745] - meta: add web-standards as web api visibility owner (Chengzhong Wu) #50418
  • [e008336b17] - meta: mention other notable changes section (Rafael Gonzaga) #50309
  • [3606a0a848] - module: execute --import sequentially (Antoine du Hamel) #50474
  • [667d245e75] - module: add application/json in accept header when fetching json module (Marco Ippolito) #50119
  • [905ca00cbc] - perf_hooks: reduce overhead of createHistogram (Vinícius Lourenço) #50074
  • [7c35055c8e] - permission: address coverity warning (Michael Dawson) #50215
  • [b740324f7c] - src: use v8::Isolate::TryGetCurrent() in DumpJavaScriptBacktrace() (Joyee Cheung) #50518
  • [6e20e083dd] - src: print more information in C++ assertions (Joyee Cheung) #50242
  • [9f55dfc266] - src: hide node::credentials::HasOnly outside unit (Tobias Nießen) #50450
  • [4eb74a2c24] - src: readiterable entries may be empty (Matthew Aitken) #50398
  • [5b453d45d6] - src: implement structuredClone in native (Joyee Cheung) #50330
  • [f1d79b3cbb] - src: use find instead of char-by-char in FromFilePath() (Daniel Lemire) #50288
  • [541bdf1e92] - src: add commit hash shorthand in zlib version (Jithil P Ponnan) #50158
  • [91f37d1dc3] - (SEMVER-MINOR) stream: add support for deflate-raw format to webstreams compression (Damian Krzeminski) #50097
  • [360f5d9088] - stream: fix Writable.destroy performance regression (Robert Nagy) #50478
  • [0116ae7601] - stream: pre-allocate _events (Robert Nagy) #50428
  • [2c0d88e83e] - stream: remove no longer relevant comment (Robert Nagy) #50446
  • [03c4ff760d] - stream: use bit fields for construct/destroy (Robert Nagy) #50408
  • [e20b272d46] - stream: improve from perf (Raz Luvaton) #50359
  • [893024cb7c] - stream: avoid calls to listenerCount (Robert Nagy) #50357
  • [586ec48e5f] - stream: readable use bitmap accessors (Robert Nagy) #50350
  • [65850a67c7] - stream: use Array for Readable buffer (Robert Nagy) #50341
  • [e433fa54b7] - stream: optimize creation (Robert Nagy) #50337
  • [f56ae67c7b] - stream: refactor writable _write (Robert Nagy) #50198
  • [766bd9c8cc] - stream: avoid getter for defaultEncoding (Robert Nagy) #50203
  • [8be718a0bd] - test: use destructuring for accessing setting values (Honza Jedlička) #50609
  • [b701567a46] - test: replace forEach() with for .. of (Evgenia Blajer) #50605
  • [e978fd4375] - test: replace forEach() with for ... of in test-readline-keys.js (William Liang) #50604
  • [bc92be4ca9] - test: replace forEach() with for ... of in test-http2-single-headers.js (spiritualized) #50606
  • [864cd32003] - test: replace forEach with for of (john-mcinall) #50602
  • [2fdcf5c3da] - test: remove unused file (James Sumners) #50528
  • [2eeda3f09b] - test: replace forEach with for of (Kevin Kühnemund) #50597
  • [1d52a57cba] - test: replace forEach with for of (CorrWu) #49785
  • [52b517f4ec] - test: replace forEach with for [...] of (Gabriel Bota) #50615
  • [931e1e756a] - test: relax version check with shared OpenSSL (Luigi Pinca) #50505
  • [6ed8fbf612] - test: add WPT report test duration (Filip Skokan) #50574
  • [7c7be517b4] - test: replace forEach() with for ... of loop in test-global.js (Kajol) #49772
  • [de46a346ab] - test: skip test-diagnostics-channel-memory-leak.js (Joyee Cheung) #50327
  • [8487cac24c] - test: improve UV_THREADPOOL_SIZE tests on .env (Yagiz Nizipli) #49213
  • [ee751102a4] - test: recognize wpt completion error (Chengzhong Wu) #50429
  • [7e3eb02252] - test: report error wpt test results (Chengzhong Wu) #50429
  • [90833a89a9] - test: replace forEach() with for...of (Ram) #49794
  • [f40435d143] - test: replace forEach() with for...of in test-trace-events-http (Chand) #49795
  • [f70a2dd70d] - test: fix testsuite against zlib version 1.3 (Dominique Leuenberger) #50364
  • [d24de129a7] - test: replace forEach with for...of in test-fs-realpath-buffer-encoding (Niya Shiyas) #49804
  • [2b6d283265] - test: fix timeout of test-cpu-prof-dir-worker.js in LoongArch devices (Shi Pujin) #50363
  • [bd5b61fa6c] - test: fix crypto-dh error message for OpenSSL 3.x (Kerem Kat) #50395
  • [aa86c78a9c] - test: fix vm assertion actual and expected order (Chengzhong Wu) #50371
  • [ab9cad8107] - test: v8: Add test-linux-perf-logger test suite (Luke Albao) #50352
  • [31cd05c39f] - test: ensure never settling promises are detected (Antoine du Hamel) #50318
  • [ad316419dd] - test: avoid v8 deadcode on performance function (Vinícius Lourenço) #50074
  • [01bed64cbb] - test_runner: pass abortSignal to test files (Moshe Atlow) #50630
  • [ae4a7ba991] - test_runner: replace forEach with for of (Tom Haddad) #50595
  • [913e4b9173] - test_runner: output errors of suites (Moshe Atlow) #50361
  • [c9b92bba58] - (SEMVER-MINOR) test_runner: adds built in lcov reporter (Phil Nash) #50018
  • [e2c3b015cd] - test_runner: test return value of mocked promisified timers (Mika Fischer) #50331
  • [f6c496563e] - (SEMVER-MINOR) test_runner: add Date to the supported mock APIs (Lucas Santos) #48638
  • [05e8b6ef20] - (SEMVER-MINOR) test_runner, cli: add --test-timeout flag (Shubham Pandey) #50443
  • [b71c8c447e] - tls: use validateFunction for options.SNICallback (Deokjin Kim) #50530
  • [5fcd67a8ea] - tools: add macOS notarization stapler (Ulises Gascón) #50625
  • [253e206fe9] - tools: update eslint to 8.53.0 (Node.js GitHub Bot) #50559
  • [f5e1c95447] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #50556
  • [257e22073e] - tools: compare ICU checksums before file changes (Michaël Zasso) #50522
  • [aa8feea5f1] - tools: improve update acorn-walk script (Marco Ippolito) #50473
  • [c0206bf44c] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #50496
  • [02dec645f3] - tools: improve macOS notarization process output readability (Ulises Gascón) #50389
  • [52e7b6d29a] - tools: update gyp-next to v0.16.1 (Michaël Zasso) #50380
  • [9fc29c909b] - tools: skip ruff on tools/gyp (Michaël Zasso) #50380
  • [ec7005abff] - tools: update lint-md-dependencies to [email protected] [email protected] (Node.js GitHub Bot) #50461
  • [aed590035f] - tools: remove unused version function (Ulises Gascón) #50390
  • [f7590481f2] - tools: avoid npm install in deps installation (Marco Ippolito) #50413
  • [92d64035c6] - Revert "tools: update doc dependencies" (Richard Lau) #50414
  • [90c9dd3e0e] - tools: update doc dependencies (Node.js GitHub Bot) #49988
  • [f210915681] - tools: run coverage CI only on relevant files (Antoine du Hamel) #50349
  • [5ccdda4004] - tools: update eslint to 8.52.0 (Node.js GitHub Bot) #50326
  • [bd4634874c] - tools: update lint-md-dependencies (Node.js GitHub Bot) #50190
  • [773cfa59bb] - vm: allow dynamic import with a referrer realm (Chengzhong Wu) #50360
  • [2f86d50e70] - wasi: document security sandboxing status (Guy Bedford) #50396

New in Node.js 21.1.0 Current (Oct 24, 2023)

  • Notable Changes:
  • Automatically detect and run ESM syntax:
  • The new flag --experimental-detect-module can be used to automatically run ES modules when their syntax can be detected. For “ambiguous” files, which are .js or extensionless files with no package.json with a type field, Node.js will parse the file to detect ES module syntax; if found, it will run the file as an ES module, otherwise it will run the file as a CommonJS module. The same applies to string input via --eval or STDIN.
  • We hope to make detection enabled by default in a future version of Node.js. Detection increases startup time, so we encourage everyone — especially package authors — to add a type field to package.json, even for the default "type": "commonjs". The presence of a type field, or explicit extensions such as .mjs or .cjs, will opt out of detection.
  • Other Notable Changes:
  • [3729e33358] - doc: add H4ad to collaborators (Vinícius Lourenço) #50217
  • [18862e4d5d] - (SEMVER-MINOR) fs: add flush option to appendFile() functions (Colin Ihrig) #50095
  • [5a52c518ef] - (SEMVER-MINOR) lib: add navigator.userAgent (Yagiz Nizipli) #50200
  • [789372a072] - (SEMVER-MINOR) stream: allow pass stream class to stream.compose (Alex Yang) #50187
  • [f3a9ea0bc4] - stream: improve performance of readable stream reads (Raz Luvaton) #50173
  • [dda33c2bf1] - vm: reject in importModuleDynamically without --experimental-vm-modules (Joyee Cheung) #50137
  • [3999362c59] - vm: use internal versions of compileFunction and Script (Joyee Cheung) #50137
  • [a54179f0e0] - vm: unify host-defined option generation in vm.compileFunction (Joyee Cheung) #50137
  • Commits:
  • [9cd68b9083] - buffer: remove unnecessary assignment in fromString (Tobias Nießen) #50199
  • [a362c276ec] - crypto: ensure valid point on elliptic curve in SubtleCrypto.importKey (Filip Skokan) #50234
  • [f4da308f8d] - deps: V8: cherry-pick f7d000a7ae7b (Luke Albao) #50302
  • [269e268c38] - deps: update ada to 2.7.2 (Node.js GitHub Bot) #50338
  • [03a31ce41e] - deps: update corepack to 0.22.0 (Node.js GitHub Bot) #50325
  • [000531781b] - deps: update undici to 5.26.4 (Node.js GitHub Bot) #50274
  • [f050668c14] - deps: update c-ares to 1.20.1 (Node.js GitHub Bot) #50082
  • [ba258b682b] - deps: update c-ares to 1.20.0 (Node.js GitHub Bot) #50082
  • [571f7ef1fa] - deps: patch V8 to 11.8.172.15 (Michaël Zasso) #50114
  • [943047e800] - deps: V8: cherry-pick 25902244ad1a (Joyee Cheung) #50156
  • [db2a1cf1cb] - doc: fix navigator.hardwareConcurrency example (Tobias Nießen) #50278
  • [6e537aeb44] - doc: explain how to disable navigator (Geoffrey Booth) #50310
  • [c40de82d62] - doc: add loong64 info into platform list (Shi Pujin) #50086
  • [1c21a1880b] - doc: update release process LTS step (Richard Lau) #50299
  • [2473aa3672] - doc: fix release process table of contents (Richard Lau) #50216
  • [ce9d84eae3] - doc: update api stream.compose (Alex Yang) #50206
  • [dacee4d9b5] - doc: add ReflectConstruct to known perf issues (Vinicius Lourenço) #50111
  • [82363be2ac] - doc: fix typo in dgram docs (Peter Johnson) #50211
  • [8c1a46c751] - doc: fix H4ad collaborator sort (Vinicius Lourenço) #50218
  • [3729e33358] - doc: add H4ad to collaborators (Vinícius Lourenço) #50217
  • [bac872cbd0] - doc: update release-stewards with last sec-release (Rafael Gonzaga) #50179
  • [06b7724f14] - doc: add command to keep major branch sync (Rafael Gonzaga) #50102
  • [47633ab086] - doc: add loong64 to list of architectures (Shi Pujin) #50172
  • [1f40ca1b91] - doc: update security release process (Michael Dawson) #50166
  • [998feda118] - esm: do not give wrong hints when detecting file format (Antoine du Hamel) #50314
  • [e375063e01] - (SEMVER-MINOR) esm: detect ESM syntax in ambiguous JavaScript (Geoffrey Booth) #50096
  • [c76eb27971] - esm: improve check for ESM syntax (Geoffrey Booth) #50127
  • [7740bf820c] - esm: rename error code related to import attributes (Antoine du Hamel) #50181
  • [0cc176ef25] - fs: improve error performance for readSync (Jungku Lee) #50033
  • [5942edb774] - fs: improve error performance for fsyncSync (Jungku Lee) #49880
  • [6ec5abadc0] - fs: improve error performance for mkdirSync (CanadaHonk) #49847
  • [c5ff000cb1] - fs: improve error performance of realpathSync (Yagiz Nizipli) #49962
  • [6eeaa02f5c] - fs: improve error performance of lchownSync (Yagiz Nizipli) #49962
  • [dc9ac8d41c] - fs: improve error performance of symlinkSync (Yagiz Nizipli) #49962
  • [bc6f279261] - fs: improve error performance of readlinkSync (Yagiz Nizipli) #49962
  • [275987841e] - fs: improve error performance of mkdtempSync (Yagiz Nizipli) #49962
  • [81f15274e2] - fs: improve error performance of linkSync (Yagiz Nizipli) #49962
  • [f766c04856] - fs: improve error performance of chownSync (Yagiz Nizipli) #49962
  • [610036c67d] - fs: improve error performance of renameSync (Yagiz Nizipli) #49962
  • [18862e4d5d] - (SEMVER-MINOR) fs: add flush option to appendFile() functions (Colin Ihrig) #50095
  • [3f8cbb15cb] - http2: allow streams to complete gracefully after goaway (Michael Lumish) #50202
  • [1464eba1a0] - lib: improve performance of validateStringArray and validateBooleanArray (Aras Abbasi) #49756
  • [5a52c518ef] - (SEMVER-MINOR) lib: add navigator.userAgent (Yagiz Nizipli) #50200
  • [b6021ab8f6] - lib: reduce overhead of blob clone (Vinicius Lourenço) #50110
  • [be19d9baa1] - meta: move Trott to TSC regular member (Rich Trott) #50297
  • [91e373f8e9] - node-api: return napi_exception_pending on proxy handlers (Chengzhong Wu) #48607
  • [531a3ae4b5] - stream: simplify prefinish (Robert Nagy) #50204
  • [514ac86579] - stream: reduce scope of readable bitmap details (Robert Nagy) #49963
  • [789372a072] - (SEMVER-MINOR) stream: allow pass stream class to stream.compose (Alex Yang) #50187
  • [f3a9ea0bc4] - stream: call helper function from push and unshift (Raz Luvaton) #50173
  • [a9ca7b32e7] - test: improve watch mode test (Moshe Atlow) #50319
  • [63b7059efd] - test: set test-watch-mode-inspect as flaky (Yagiz Nizipli) #50259
  • [7f87084b05] - Revert "test: set test-esm-loader-resolve-type as flaky" (Antoine du Hamel) #50315
  • [4d390e2de4] - test: replace forEach with for..of in test-http-perf_hooks.js (Niya Shiyas) #49818
  • [67c599ec39] - test: replace forEach with for..of in test-net-isipv4.js (Niya Shiyas) #49822
  • [19d3ce2494] - test: deflake test-esm-loader-resolve-type (Antoine du Hamel) #50273
  • [2d8d6c5701] - test: replace forEach with for..of in test-http2-server (Niya Shiyas) #49819
  • [af31d51e5a] - test: replace forEach with for..of in test-http2-client-destroy.js (Niya Shiyas) #49820
  • [465ad2a5ce] - test: update url web platform tests (Yagiz Nizipli) #50264
  • [3b80a6894c] - test: set test-emit-after-on-destroyed as flaky (Yagiz Nizipli) #50246
  • [57adbdd156] - test: set inspector async stack test as flaky (Yagiz Nizipli) #50244
  • [6507f66404] - test: set test-worker-nearheaplimit-deadlock flaky (StefanStojanovic) #50277
  • [21a6ba548d] - test: set test-cli-node-options as flaky (Yagiz Nizipli) #50296
  • [c55f8f30cb] - test: reduce the number of requests and parsers (Luigi Pinca) #50240
  • [5129bedfa2] - test: set crypto-timing test as flaky (Yagiz Nizipli) #50232
  • [9bc5ab5e07] - test: set test-structuredclone-* as flaky (Yagiz Nizipli) #50261
  • [317e447ddc] - test: deflake test-loaders-workers-spawned (Antoine du Hamel) #50251
  • [0c710daae2] - test: improve code coverage of diagnostics_channel (Jithil P Ponnan) #50053
  • [7c6e4d7ec3] - test: set test-esm-loader-resolve-type as flaky (Yagiz Nizipli) #50226
  • [c8744909b0] - test: set inspector async hook test as flaky (Yagiz Nizipli) #50252
  • [3e38001739] - test: skip test-benchmark-os.js on IBM i (Abdirahim Musse) #50208
  • [dd66fdfb7b] - test: set parallel http server test as flaky (Yagiz Nizipli) #50227
  • [a38d1311bf] - test: set test-worker-nearheaplimit-deadlock flaky (Stefan Stojanovic) #50238
  • [8efb75fd80] - test: set test-runner-watch-mode as flaky (Yagiz Nizipli) #50221
  • [143ddded74] - test: set sea snapshot tests as flaky (Yagiz Nizipli) #50223
  • [ae905a8f35] - test: fix defect path traversal tests (Tobias Nießen) #50124
  • [ce27ee701b] - tls: reduce TLS 'close' event listener warnings (Tim Perry) #50136
  • [ab4bae8e1f] - tools: drop support for osx notarization with gon (Ulises Gascón) #50291
  • [5df3d5abcc] - tools: update comment in update-uncidi.sh and acorn_version.h (Jungku Lee) #50175
  • [bf7b94f0b3] - tools: refactor checkimports.py (Mohammed Keyvanzadeh) #50011
  • [5dc454a837] - util: remove internal mime fns from benchmarks (Aras Abbasi) #50201
  • [8f7eb15603] - vm: use import attributes instead of import assertions (Antoine du Hamel) #50141
  • [dda33c2bf1] - vm: reject in importModuleDynamically without --experimental-vm-modules (Joyee Cheung) #50137
  • [3999362c59] - vm: use internal versions of compileFunction and Script (Joyee Cheung) #50137
  • [a54179f0e0] - vm: unify host-defined option generation in vm.compileFunction (Joyee Cheung) #50137
  • [87be790fa9] - worker: handle detached MessagePort from a different context (Juan José) #49150

New in Node.js 21.0.0 Current (Oct 17, 2023)

  • We're excited to announce the release of Node.js 21! Highlights include updates of the V8 JavaScript engine to 11.8, stable fetch and WebStreams, a new experimental flag to change the interpretation of ambiguous code from CommonJS to ES modules (--experimental-default-type), many updates to our test runner, and more!
  • Node.js 21 will replace Node.js 20 as our ‘Current’ release line when Node.js 20 enters long-term support (LTS) later this month. As per the release schedule, Node.js 21 will be ‘Current' release for the next 6 months, until April 2024.
  • Other Notable Changes:
  • [740ca5423a] - doc: promote fetch/webstreams from experimental to stable (Steven) #45684
  • [85301803e1] - esm: --experimental-default-type flag to flip module defaults (Geoffrey Booth) #49869
  • [705e623ac4] - esm: remove globalPreload hook (superseded by initialize) (Jacob Smith) #49144
  • [e01c1d700d] - fs: add flush option to writeFile() functions (Colin Ihrig) #50009
  • [1948dce707] - (SEMVER-MAJOR) fs: add globSync implementation (Moshe Atlow) #47653
  • [e28dbe1c2b] - (SEMVER-MINOR) lib: add WebSocket client (Matthew Aitken) #49830
  • [95b8f5dcab] - stream: optimize Writable (Robert Nagy) #50012
  • [7cd4e70948] - (SEMVER-MAJOR) test_runner: support passing globs (Moshe Atlow) #47653
  • [1d220b55ac] - vm: use default HDO when importModuleDynamically is not set (Joyee Cheung) #49950
  • Semver-Major Commits:
  • [ac2a68c76b] - (SEMVER-MAJOR) build: drop support for Visual Studio 2019 (Michaël Zasso) #49051
  • [4e3983031a] - (SEMVER-MAJOR) build: bump supported macOS and Xcode versions (Michaël Zasso) #49164
  • [5a0777776d] - (SEMVER-MAJOR) crypto: do not overwrite _writableState.defaultEncoding (Tobias Nießen) #49140
  • [162a0652ab] - (SEMVER-MAJOR) deps: bump minimum ICU version to 73 (Michaël Zasso) #49639
  • [17a74ddd3d] - (SEMVER-MAJOR) deps: update V8 to 11.8.172.13 (Michaël Zasso) #49639
  • [e9ff81016d] - (SEMVER-MAJOR) deps: update llhttp to 9.1.2 (Paolo Insogna) #48981
  • [7ace5aba75] - (SEMVER-MAJOR) events: validate options of on and once (Deokjin Kim) #46018
  • [b3ec13d449] - (SEMVER-MAJOR) fs: adjust position validation in reading methods (Livia Medeiros) #42835
  • [1948dce707] - (SEMVER-MAJOR) fs: add globSync implementation (Moshe Atlow) #47653
  • [d68d0eacaa] - (SEMVER-MAJOR) http: reduce parts in chunked response when corking (Robert Nagy) #50167
  • [c5b0b894ed] - (SEMVER-MAJOR) lib: mark URL/URLSearchParams as uncloneable and untransferable (Chengzhong Wu) #47497
  • [3205b1936a] - (SEMVER-MAJOR) lib: remove aix directory case for package reader (Yagiz Nizipli) #48605
  • [b40f0c3074] - (SEMVER-MAJOR) lib: add navigator.hardwareConcurrency (Yagiz Nizipli) #47769
  • [4b08c4c047] - (SEMVER-MAJOR) lib: runtime deprecate punycode (Yagiz Nizipli) #47202
  • [3ce51ae9c0] - (SEMVER-MAJOR) module: harmonize error code between ESM and CJS (Antoine du Hamel) #48606
  • [7202859402] - (SEMVER-MAJOR) net: do not treat server.maxConnections=0 as Infinity (ignoramous) #48276
  • [c15bafdaf4] - (SEMVER-MAJOR) net: only defer _final call when connecting (Jason Zhang) #47385
  • [6ffacbf0f9] - (SEMVER-MAJOR) node-api: rename internal NAPI_VERSION definition (Chengzhong Wu) #48501
  • [11af089b14] - (SEMVER-MAJOR) src: update NODE_MODULE_VERSION to 120 (Michaël Zasso) #49639
  • [d920b7c94b] - (SEMVER-MAJOR) src: throw DOMException on cloning non-serializable objects (Chengzhong Wu) #47839
  • [64549731b6] - (SEMVER-MAJOR) src: throw DataCloneError on transfering untransferable objects (Chengzhong Wu) #47604
  • [dac8de689b] - (SEMVER-MAJOR) stream: use private properties for strategies (Yagiz Nizipli) #47218
  • [1fa084ecdf] - (SEMVER-MAJOR) stream: use private properties for encoding (Yagiz Nizipli) #47218
  • [4e93247079] - (SEMVER-MAJOR) stream: use private properties for compression (Yagiz Nizipli) #47218
  • [527589b755] - (SEMVER-MAJOR) test_runner: disallow array in run options (Raz Luvaton) #49935
  • [7cd4e70948] - (SEMVER-MAJOR) test_runner: support passing globs (Moshe Atlow) #47653
  • [2ef170254b] - (SEMVER-MAJOR) tls: use validateNumber for options.minDHSize (Deokjin Kim) #49973
  • [092fb9f541] - (SEMVER-MAJOR) tls: use validateFunction for options.checkServerIdentity (Deokjin Kim) #49896
  • [ccca547e28] - (SEMVER-MAJOR) util: runtime deprecate promisify-ing a function returning a Promise (Antoine du Hamel) #49609
  • [4038cf0513] - (SEMVER-MAJOR) vm: freeze dependencySpecifiers array (Antoine du Hamel) #49720
  • Semver-Minor Commits:
  • [3227d7327c] - (SEMVER-MINOR) deps: update uvwasi to 0.0.19 (Node.js GitHub Bot) #49908
  • [e28dbe1c2b] - (SEMVER-MINOR) lib: add WebSocket client (Matthew Aitken) #49830
  • [9f9c58212e] - (SEMVER-MINOR) test_runner, cli: add --test-concurrency flag (Colin Ihrig) #49996
  • [d37b0d267f] - (SEMVER-MINOR) wasi: updates required for latest uvwasi version (Michael Dawson) #49908
  • Semver-Patch Commits:
  • [33c87ec096] - benchmark: fix race condition on fs benchs (Vinicius Lourenço) #50035
  • [3c0ec61c4b] - benchmark: add warmup to accessSync bench (Rafael Gonzaga) #50073
  • [1a839f388e] - benchmark: improved config for blob,file benchmark (Vinícius Lourenço) #49730
  • [86fe5a80f3] - benchmark: added new benchmarks for blob (Vinícius Lourenço) #49730
  • [6322d4f587] - build: fix IBM i build with Python 3.9 (Richard Lau) #48056
  • [17c55d176b] - build: reset embedder string to "-node.0" (Michaël Zasso) #49639
  • [f10928f926] - crypto: use X509_ALGOR accessors instead of reaching into X509_ALGOR (David Benjamin) #50057
  • [136a96722a] - crypto: account for disabled SharedArrayBuffer (Shelley Vohr) #50034
  • [17b9925393] - crypto: return clear errors when loading invalid PFX data (Tim Perry) #49566
  • [ca25d564c6] - deps: upgrade npm to 10.2.0 (npm team) #50027
  • [f23a9353ae] - deps: update corepack to 0.21.0 (Node.js GitHub Bot) #50088
  • [ceedb3a509] - deps: update simdutf to 3.2.18 (Node.js GitHub Bot) #50091
  • [0522ac086c] - deps: update zlib to 1.2.13.1-motley-fef5869 (Node.js GitHub Bot) #50085
  • [4f8c5829da] - deps: update googletest to 2dd1c13 (Node.js GitHub Bot) #50081
  • [588784ea30] - deps: update undici to 5.25.4 (Node.js GitHub Bot) #50025
  • [c9eef0c3c4] - deps: update googletest to e47544a (Node.js GitHub Bot) #49982
  • [23cb478398] - deps: update ada to 2.6.10 (Node.js GitHub Bot) #49984
  • [61411bb323] - deps: fix call to undeclared functions 'ntohl' and 'htons' (MatteoBax) #49979
  • [49cf182e30] - deps: update ada to 2.6.9 (Node.js GitHub Bot) #49340
  • [ceb6df0f22] - deps: update ada to 2.6.8 (Node.js GitHub Bot) #49340
  • [b73e18b5dc] - deps: update ada to 2.6.7 (Node.js GitHub Bot) #49340
  • [baf2256617] - deps: update ada to 2.6.5 (Node.js GitHub Bot) #49340
  • [a20a328a9b] - deps: update ada to 2.6.3 (Node.js GitHub Bot) #49340
  • [3838b579e4] - deps: V8: cherry-pick 8ec2651fbdd8 (Abdirahim Musse) #49862
  • [668437ccad] - deps: V8: cherry-pick b60a03df4ceb (Joyee Cheung) #49491
  • [f970087147] - deps: V8: backport 93b1a74cbc9b (Joyee Cheung) #49419
  • [4531c154e5] - deps: V8: cherry-pick 8ec2651fbdd8 (Michaël Zasso) #49639
  • [9ad0e2cacc] - deps: V8: cherry-pick 89b3702c92b0 (Michaël Zasso) #49639
  • [dfc9c86868] - deps: V8: cherry-pick de9a5de2274f (Michaël Zasso) #49639
  • [186b36efba] - deps: V8: cherry-pick b5b5d6c31bb0 (Michaël Zasso) #49639
  • [867586ce95] - deps: V8: cherry-pick 93b1a74cbc9b (Michaël Zasso) #49639
  • [4ad3479ba7] - deps: V8: cherry-pick 1a3ecc2483b2 (Michaël Zasso) #49639
  • [660f902f16] - deps: patch V8 to avoid duplicated zlib symbol (Michaël Zasso) #49639
  • [f7c1d410ad] - deps: remove usage of a C++20 feature from V8 (Michaël Zasso) #49639
  • [9c4030bfb9] - deps: avoid compilation error with ASan (Michaël Zasso) #49639
  • [5f05cc15e6] - deps: disable V8 concurrent sparkplug compilation (Michaël Zasso) #49639
  • [42cd952dbd] - deps: silence irrelevant V8 warning (Michaël Zasso) #49639
  • [88cf90f9c4] - deps: always define V8_EXPORT_PRIVATE as no-op (Michaël Zasso) #49639
  • [8609915951] - doc: improve ccache explanation (Chengzhong Wu) #50133
  • [91d21324a9] - doc: move danielleadams to TSC non-voting member (Danielle Adams) #50142
  • [34fa7043a2] - doc: fix description of fs.readdir recursive option (RamdohokarAngha) #48902
  • [81e4d2ec2f] - doc: mention files read before env setup (Rafael Gonzaga) #50072
  • [0ce37ed8e9] - doc: move permission model to Active Development (Rafael Gonzaga) #50068
  • [3c430212c3] - doc: add command to get patch minors and majors (Rafael Gonzaga) #50067
  • [e43bf4c31d] - doc: use precise promise terminology in fs (Benjamin Gruenbaum) #50029
  • [d3a5f1fb5f] - doc: use precise terminology in test runner (Benjamin Gruenbaum) #50028
  • [24dea2348d] - doc: clarify explaination text on how to run the example (Anshul Sinha) #39020
  • [f3ed57bd8b] - doc: reserve 119 for Electron 28 (David Sanders) #50020
  • [85c09f178c] - doc: update Collaborator pronouns (Tierney Cyren) #50005
  • [099e2f7bce] - doc: update link to Abstract Modules Records spec (Rich Trott) #49961
  • [47b2883673] - doc: updated building docs for windows (Claudio W) #49767
  • [7b624c30b2] - doc: update CHANGELOG_V20 about vm fixes (Joyee Cheung) #49951
  • [1dc0667aa6] - doc: document dangerous symlink behavior (Tobias Nießen) #49154
  • [bc056c2426] - doc: add main ARIA landmark to API docs (Rich Trott) #49882
  • [f416a0f555] - doc: add navigation ARIA landmark to doc ToC (Rich Trott) #49882
  • [740ca5423a] - doc: promote fetch/webstreams from experimental to stable (Steven) #45684
  • [f802aa0645] - doc: fix 'partial' typo (Colin Ihrig) #48657
  • [6fda81d4f5] - doc: mention Navigator is a partial implementation (Moshe Atlow) #48656
  • [6aa2aeedcb] - doc: mark Node.js 19 as End-of-Life (Richard Lau) #48283
  • [0ee9c83ffc] - errors: improve performance of determine-specific-type (Aras Abbasi) #49696
  • [4f84a3d200] - errors: improve formatList in errors.js (Aras Abbasi) #49642
  • [cc725a653a] - errors: improve performance of instantiation (Aras Abbasi) #49654
  • [d1ef6aa2db] - esm: use import attributes instead of import assertions (Antoine du Hamel) #50140
  • [19b470f866] - esm: bypass CommonJS loader under --default-type (Geoffrey Booth) #49986
  • [9c683204db] - esm: unflag extensionless javascript and wasm in module scope (Geoffrey Booth) #49974
  • [05be31d5de] - esm: improve getFormatOfExtensionlessFile speed (Yagiz Nizipli) #49965
  • [aadfea4979] - esm: improve JSDoc annotation of internal functions (Antoine du Hamel) #49959
  • [7f0e36af52] - esm: fix cache collision on JSON files using file: URL (Antoine du Hamel) #49887
  • [85301803e1] - esm: --experimental-default-type flag to flip module defaults (Geoffrey Booth) #49869
  • [f42a103991] - esm: require braces for modules code (Geoffrey Booth) #49657
  • [705e623ac4] - esm: remove globalPreload hook (superseded by initialize) (Jacob Smith) #49144
  • [18a818744f] - fs: improve error performance of readdirSync (Yagiz Nizipli) #50131
  • [d3985296a9] - fs: fix unlinkSync typings (Yagiz Nizipli) #49859
  • [6bc7fa7906] - fs: improve error perf of sync chmod+fchmod (CanadaHonk) #49859
  • [6bd77db41f] - fs: improve error perf of sync *times (CanadaHonk) #49864
  • [bf0f0789da] - fs: improve error performance of writevSync (IlyasShabi) #50038
  • [8a49735bae] - fs: add flush option to createWriteStream() (Colin Ihrig) #50093
  • [ed49722a8a] - fs: improve error performance for ftruncateSync (André Alves) #50032
  • [e01c1d700d] - fs: add flush option to writeFile() functions (Colin Ihrig) #50009
  • [f7a160d5b4] - fs: improve error performance for fdatasyncSync (Jungku Lee) #49898
  • [813713f211] - fs: throw errors from sync branches instead of separate implementations (Joyee Cheung) #49913
  • [b866e38192] - http: refactor to make servername option normalization testable (Rongjian Zhang) #38733
  • [2990390359] - inspector: simplify dispatchProtocolMessage (Daniel Lemire) #49780
  • [d4c5fe488e] - lib: fix compileFunction throws range error for negative numbers (Jithil P Ponnan) #49855
  • [589ac5004c] - lib: faster internal createBlob (Vinícius Lourenço) #49730
  • [952cf0d17a] - lib: reduce overhead of validateObject (Vinicius Lourenço) #49928
  • [fa250fdec1] - lib: make fetch sync and return a Promise (Matthew Aitken) #49936
  • [1b96975f27] - lib: fix primordials typings (Sam Verschueren) #49895
  • [6aa7101960] - lib: update params in jsdoc for HTTPRequestOptions (Jungku Lee) #49872
  • [a4fdb1abe0] - lib,test: do not hardcode Buffer.kMaxLength (Michaël Zasso) #49876
  • [fd21429ef5] - lib: update usage of always on Atomics API (Michaël Zasso) #49639
  • [bac85be22d] - meta: ping TSC for offboarding (Tobias Nießen) #50147
  • [609b13e6c2] - meta: bump actions/upload-artifact from 3.1.2 to 3.1.3 (dependabot[bot]) #50000
  • [3825464ef4] - meta: bump actions/cache from 3.3.1 to 3.3.2 (dependabot[bot]) #50003
  • [49f0f9ca11] - meta: bump github/codeql-action from 2.21.5 to 2.21.9 (dependabot[bot]) #50002
  • [f156427244] - meta: bump actions/checkout from 3.6.0 to 4.1.0 (dependabot[bot]) #50001
  • [0fe673c7e6] - meta: update website team with new name (Rich Trott) #49883
  • [51f4ff2450] - module: move helpers out of cjs loader (Geoffrey Booth) #49912
  • [7517c9f95b] - module, esm: jsdoc for modules files (Geoffrey Booth) #49523
  • [b55adfb4f1] - node-api: update headers for better wasm support (Toyo Li) #49037
  • [b38e312486] - node-api: run finalizers directly from GC (Vladimir Morozov) #42651
  • [0f0dd1a493] - os: cache homedir, remove getCheckedFunction (Aras Abbasi) #50037
  • [0e507d30ac] - perf_hooks: reduce overhead of new user timings (Vinicius Lourenço) #49914
  • [328bdac7f0] - perf_hooks: reducing overhead of performance observer entry list (Vinicius Lourenço) #50008
  • [e6e320ecc7] - perf_hooks: reduce overhead of new resource timings (Vinicius Lourenço) #49837
  • [971af4b211] - quic: fix up coverity warning in quic/session.cc (Michael Dawson) #49865
  • [546797f2b1] - quic: prevent copying ngtcp2_cid (Tobias Nießen) #48561
  • [ac6f594c97] - quic: address new coverity warning (Michael Dawson) #48384
  • [4ee8ef269b] - quic: prevent copying ngtcp2_cid_token (Tobias Nießen) #48370
  • [6d2811fbf2] - quic: add additional implementation (James M Snell) #47927
  • [0b3fcfcf35] - quic: fix typo in endpoint.h (Tobias Nießen) #47911
  • [76044c4e2b] - quic: add additional QUIC implementation (James M Snell) #47603
  • [78a15702dd] - src: avoid making JSTransferable wrapper object weak (Chengzhong Wu) #50026
  • [387e2929fe] - src: generate default snapshot with --predictable (Joyee Cheung) #48749
  • [1643adf771] - src: fix TLSWrap lifetime bug in ALPN callback (Ben Noordhuis) #49635
  • [66776d8665] - src: set port in node_options to uint16_t (Yagiz Nizipli) #49151
  • [55ff64001a] - src: name scoped lock (Mohammed Keyvanzadeh) #50010
  • [b903a710f4] - src: use exact return value for uv_os_getenv (Yagiz Nizipli) #49149
  • [43500fa646] - src: move const variable in node_file.h to node_file.cc (Jungku Lee) #49688
  • [36ab510da7] - src: remove unused variable (Michaël Zasso) #49665
  • [23d65e7281] - src: revert IS_RELEASE to 0 (Rafael Gonzaga) #49084
  • [38dee8a1c0] - src: distinguish HTML transferable and cloneable (Chengzhong Wu) #47956
  • [586fcff061] - src: fix logically dead code reported by Coverity (Mohammed Keyvanzadeh) #48589
  • [7f2c810814] - src,tools: initialize cppgc (Daryl Haresign) #45704
  • [aad8002b88] - stream: use private symbol for bitmap state (Robert Nagy) #49993
  • [a85e4186e5] - stream: reduce overhead of transfer (Vinicius Lourenço) #50107
  • [e9bda11761] - stream: lazy allocate back pressure buffer (Robert Nagy) #50013
  • [557044af40] - stream: avoid unnecessary drain for sync stream (Robert Nagy) #50014
  • [95b8f5dcab] - stream: optimize Writable (Robert Nagy) #50012
  • [5de25deeb9] - stream: avoid tick in writable hot path (Robert Nagy) #49966
  • [53b5545672] - stream: writable state bitmap (Robert Nagy) #49899
  • [d4e99b1a66] - stream: remove asIndexedPairs (Chemi Atlow) #48150
  • [41e4174945] - test: replace forEach with for..of in test-net-isipv6.js (Niya Shiyas) #49823
  • [f0e720a7fa] - test: add EOVERFLOW as an allowed error (Abdirahim Musse) #50128
  • [224f3ae974] - test: reduce number of repetition in test-heapdump-shadowrealm.js (Chengzhong Wu) #50104
  • [76004f3e56] - test: replace forEach with for..of in test-parse-args.mjs (Niya Shiyas) #49824
  • [fce8fbadcd] - test: replace forEach with for..of in test-process-env (Niya Shiyas) #49825
  • [24492476a7] - test: replace forEach with for..of in test-http-url (Niya Shiyas) #49840
  • [2fe511ba23] - test: replace forEach() in test-net-perf_hooks with for of (Narcisa Codreanu) #49831
  • [42c37f28e6] - test: change forEach to for...of (Tiffany Lastimosa) #49799
  • [6c9625dca4] - test: update skip for moved test-wasm-web-api (Richard Lau) #49958
  • [f05d6d090c] - Revert "test: mark test-runner-output as flaky" (Luigi Pinca) #49905
  • [035e06317a] - test: disambiguate AIX and IBM i (Richard Lau) #48056
  • [4d0aeed4a6] - test: deflake test-perf-hooks.js (Joyee Cheung) #49892
  • [853f57239c] - test: migrate message error tests from Python to JS (Yiyun Lei) #49721
  • [a71e3a65bb] - test: fix edge snapshot stack traces (Geoffrey Booth) #49659
  • [6b76b7782c] - test: skip v8-updates/test-linux-perf (Michaël Zasso) #49639
  • [c13c98dd38] - test: skip test-tick-processor-arguments on SmartOS (Michaël Zasso) #49639
  • [738aa304b3] - test: adapt REPL test to V8 changes (Michaël Zasso) #49639
  • [de5c009252] - test: adapt test-fs-write to V8 internal changes (Michaël Zasso) #49639
  • [8c36168b42] - test: update flag to disable SharedArrayBuffer (Michaël Zasso) #49639
  • [6ccb15f7ef] - test: adapt debugger tests to V8 11.4 (Philip Pfaffe) #49639
  • [c5de3b49e8] - test,crypto: update WebCryptoAPI WPT (Filip Skokan) #50039
  • [4b35a9cfda] - test_runner: add test location for FileTests (Colin Ihrig) #49999
  • [c935d4c8fa] - test_runner: replace spurious if with else (Colin Ihrig) #49943
  • [a4c7f81241] - test_runner: catch reporter errors (Moshe Atlow) #49646
  • [bb52656fc6] - Revert "test_runner: run global after() hook earlier" (Joyee Cheung) #49110
  • [6346bdc526] - test_runner: run global after() hook earlier (Colin Ihrig) #49059
  • [0d8faf2952] - test_runner,test: fix flaky test-runner-cli-concurrency.js (Colin Ihrig) #50108
  • [b1ada0ad55] - tls: handle cases where the raw socket is destroyed (Luigi Pinca) #49980
  • [fae1af0a75] - tls: ciphers allow bang syntax (Chemi Atlow) #49712
  • [766198b9e1] - tools: fix comments referencing dep_updaters scripts (Keksonoid) #50165
  • [760b5dd259] - tools: remove no-return-await lint rule (翠 / green) #50118
  • [a0a5b751fb] - tools: update lint-md-dependencies (Node.js GitHub Bot) #50083
  • [69fb55e6b9] - tools: update eslint to 8.51.0 (Node.js GitHub Bot) #50084
  • [f73650ea52] - tools: remove genv8constants.py (Ben Noordhuis) #50023
  • [581434e54f] - tools: update eslint to 8.50.0 (Node.js GitHub Bot) #49989
  • [344d3c4b7c] - tools: update lint-md-dependencies (Node.js GitHub Bot) #49983
  • [7f06c270c6] - tools: add navigation ARIA landmark to generated API ToC (Rich Trott) #49882
  • [e97d25687b] - tools: use osx notarytool for future releases (Ulises Gascon) #48701
  • [3f1936f698] - tools: update github_reporter to 1.5.3 (Node.js GitHub Bot) #49877
  • [8568de3da6] - tools: add new V8 headers to distribution (Michaël Zasso) #49639
  • [86cb23d09f] - tools: update V8 gypfiles for 11.8 (Michaël Zasso) #49639
  • [9c6219c7e2] - tools: update V8 gypfiles for 11.7 (Michaël Zasso) #49639
  • [73ddf50163] - tools: update V8 gypfiles for 11.6 (Michaël Zasso) #49639
  • [817ef255ea] - tools: update V8 gypfiles for 11.5 (Michaël Zasso) #49639
  • [f34a3a9861] - tools: update V8 gypfiles for 11.4 (Michaël Zasso) #49639
  • [9df864ddeb] - typings: use Symbol.dispose and Symbol.asyncDispose in types (Niklas Mollenhauer) #50123
  • [54bb691c0b] - util: lazy parse mime parameters (Aras Abbasi) #49889
  • [1d220b55ac] - vm: use default HDO when importModuleDynamically is not set (Joyee Cheung) #49950
  • [c1a3a98560] - wasi: address coverity warning (Michael Dawson) #49866
  • [9cb8eb7177] - wasi: fix up wasi tests for ibmi (Michael Dawson) #49953
  • [16ac5e1ca8] - zlib: fix discovery of cpu-features.h for android (MatteoBax) #49828

New in Node.js 20.8.1 Current (Oct 16, 2023)

  • Notable Changes:
  • The following CVEs are fixed in this release:
  • CVE-2023-44487: nghttp2 Security Release (High)
  • CVE-2023-45143: undici Security Release (High)
  • CVE-2023-39332: Path traversal through path stored in Uint8Array (High)
  • CVE-2023-39331: Permission model improperly protects against path traversal (High)
  • CVE-2023-38552: Integrity checks according to policies can be circumvented (Medium)
  • CVE-2023-39333: Code injection via WebAssembly export names (Low)
  • Commits:
  • [c86883e844] - deps: update nghttp2 to 1.57.0 (James M Snell) #50121
  • [2860631359] - deps: update undici to v5.26.3 (Matteo Collina) #50153
  • [cd37838bf8] - lib: let deps require node prefixed modules (Matthew Aitken) #50047
  • [f5c90b2951] - module: fix code injection through export names (Tobias Nießen) nodejs-private/node-private#461
  • [fa5dae1944] - permission: fix Uint8Array path traversal (Tobias Nießen) nodejs-private/node-private#456
  • [cd35275111] - permission: improve path traversal protection (Tobias Nießen) nodejs-private/node-private#456
  • [a4cb7fc7c0] - policy: use tamper-proof integrity check function (Tobias Nießen) nodejs-private/node-private#462

New in Node.js 20.8.0 Current (Sep 30, 2023)

  • Notable Changes:
  • Stream performance improvements:
  • Performance improvements to writable and readable streams, improving the creation and destruction by ±15% and reducing the memory overhead each stream takes in Node.js
  • Contributed by Benjamin Gruenbaum in #49745 and Raz Luvaton in #49834.
  • Performance improvements for readable webstream, improving readable stream async iterator consumption by ±140% and improving readable stream pipeTo consumption by ±60%
  • Contributed by Raz Luvaton in #49662 and #49690.
  • Rework of memory management in vm APIs with the importModuleDynamically option
  • This rework addressed a series of long-standing memory leaks and use-after-free issues in the following APIs that support importModuleDynamically:
  • vm.Script
  • vm.compileFunction
  • vm.SyntheticModule
  • vm.SourceTextModule
  • This should enable affected users to upgrade from older versions of Node.js.
  • Contributed by Joyee Cheung in #48510.
  • Other notable changes:
  • [32d4d29d02] - deps: add v8::Object::SetInternalFieldForNodeCore() (Joyee Cheung) #49874
  • [0e686d096b] - doc: deprecate fs.F_OK, fs.R_OK, fs.W_OK, fs.X_OK (Livia Medeiros) #49683
  • [a5dd057540] - doc: deprecate util.toUSVString (Yagiz Nizipli) #49725
  • [7b6a73172f] - doc: deprecate calling promisify on a function that returns a promise (Antoine du Hamel) #49647
  • [1beefd5f16] - esm: set all hooks as release candidate (Geoffrey Booth) #49597
  • [b0ce78a75b] - module: fix the leak in SourceTextModule and ContextifySript (Joyee Cheung) #48510
  • [4e578f8ab1] - module: fix leak of vm.SyntheticModule (Joyee Cheung) #48510
  • [69e4218772] - module: use symbol in WeakMap to manage host defined options (Joyee Cheung) #48510
  • [14ece0aa76] - (SEMVER-MINOR) src: allow embedders to override NODE_MODULE_VERSION (Cheng Zhao) #49279
  • [9fd67fbff0] - stream: use bitmap in writable state (Raz Luvaton) #49834
  • [0ccd4638ac] - stream: use bitmap in readable state (Benjamin Gruenbaum) #49745
  • [7c5e322346] - stream: improve webstream readable async iterator performance (Raz Luvaton) #49662
  • [80b342cc38] - (SEMVER-MINOR) test_runner: accept testOnly in run (Moshe Atlow) #49753
  • [17a05b141d] - (SEMVER-MINOR) test_runner: add junit reporter (Moshe Atlow) #49614
  • Commits:
  • [4879e3fbbe] - benchmark: add a benchmark for read() of ReadableStreams (Debadree Chatterjee) #49622
  • [78a6c73157] - benchmark: shorten pipe-to by reducing number of chunks (Raz Luvaton) #49577
  • [4126a6e4c9] - benchmark: fix webstream pipe-to (Raz Luvaton) #49552
  • [6010a91825] - bootstrap: do not expand argv1 for snapshots (Joyee Cheung) #49506
  • [8480280c4b] - bootstrap: only use the isolate snapshot when compiling code cache (Joyee Cheung) #49288
  • [b30754aa87] - build: run embedtest using node executable (Joyee Cheung) #49506
  • [31db0b8e2b] - build: add --write-snapshot-as-array-literals to configure.py (Joyee Cheung) #49312
  • [6fcb51d3ba] - debugger: use internal/url.URL instead of url.parse (LiviaMedeiros) #49590
  • [32d4d29d02] - deps: add v8::Object::SetInternalFieldForNodeCore() (Joyee Cheung) #49874
  • [ad37cadc3f] - deps: V8: backport de9a5de2274f (Joyee Cheung) #49703
  • [cdd1c66222] - deps: V8: cherry-pick b33bf2dfd261 (Joyee Cheung) #49703
  • [61d18d6473] - deps: update undici to 5.24.0 (Node.js GitHub Bot) #49559
  • [b8a4fef393] - deps: remove pthread-fixes.c from uv.gyp (Ben Noordhuis) #49744
  • [6c86c0683c] - deps: update googletest to d1467f5 (Node.js GitHub Bot) #49676
  • [1424404742] - deps: update nghttp2 to 1.56.0 (Node.js GitHub Bot) #49582
  • [15b54ff95d] - deps: update googletest to 8a6feab (Node.js GitHub Bot) #49463
  • [2ceab877c2] - deps: update corepack to 0.20.0 (Node.js GitHub Bot) #49464
  • [4814872ddc] - doc: fix DEP0176 number (LiviaMedeiros) #49858
  • [0e686d096b] - doc: deprecate fs.F_OK, fs.R_OK, fs.W_OK, fs.X_OK (Livia Medeiros) #49683
  • [5877c403a2] - doc: add mertcanaltin as a triager (mert.altin) #49826
  • [864fe56432] - doc: add git node backport way to the backporting guide (Raz Luvaton) #49760
  • [e0f93492d5] - doc: improve documentation about ICU data fallback (Joyee Cheung) #49666
  • [a5dd057540] - doc: deprecate util.toUSVString (Yagiz Nizipli) #49725
  • [774c1cfd52] - doc: add missing function call to example for util.promisify (Jungku Lee) #49719
  • [fe78a34845] - doc: update output of example in mimeParams.set() (Deokjin Kim) #49718
  • [4175ea33bd] - doc: add missed inspect with numericSeparator to example (Deokjin Kim) #49717
  • [3a88571972] - doc: fix history comments (Antoine du Hamel) #49701
  • [db4ab1ccbb] - doc: add missing history info for import.meta.resolve (Antoine du Hamel) #49700
  • [a304d1ee19] - doc: link maintaining deps to pull-request.md (Marco Ippolito) #49716
  • [35294486ad] - doc: fix print results in events (Jungku Lee) #49548
  • [9f0b0e15c9] - doc: alphabetize cli.md sections (Geoffrey Booth) #49668
  • [7b6a73172f] - doc: deprecate calling promisify on a function that returns a promise (Antoine du Hamel) #49647
  • [d316b32fff] - doc: update corepack.md to account for 0.20.0 changes (Antoine du Hamel) #49486
  • [c2eac7dc7c] - doc: remove @anonrig from performance initiative (Yagiz Nizipli) #49641
  • [3d839fbf87] - doc: mark Node.js 16 as End-of-Life (Richard Lau) #49651
  • [53fb5aead8] - doc: save user preference for JS flavor (Vidar Eldøy) #49526
  • [e3594d5658] - doc: update documentation for node:process warning (Shubham Pandey) #49517
  • [8e033c3963] - doc: rename possibly confusing variable and CSS class (Antoine du Hamel) #49536
  • [d0e0eb4bb3] - doc: update outdated history info (Antoine du Hamel) #49530
  • [b4724e2e3a] - doc: close a parenthesis (Sébastien Règne) #49525
  • [0471c5798e] - doc: cast GetInternalField() return type to v8::Value in addons.md (Joyee Cheung) #49439
  • [9f8bea3dda] - doc: fix documentation for input option in child_process (Ariel Weiss) #49481
  • [f3fea92f8a] - doc: fix missing imports in test.run code examples (Oshri Asulin) #49489
  • [e426b77b67] - doc: fix documentation for fs.createWriteStream highWaterMark option (Mert Can Altın) #49456
  • [2b119108ff] - doc: updated releasers instructions for node.js website (Claudio W) #49427
  • [b9d4a80183] - doc: edit import.meta.resolve documentation (Antoine du Hamel) #49247
  • [f67433f666] - doc,tools: switch to @node-core/utils (Michaël Zasso) #49851
  • [142e256fc5] - errors: improve classRegExp in errors.js (Uzlopak) #49643
  • [6377f1bce2] - errors: use determineSpecificType in more error messages (Antoine du Hamel) #49580
  • [05f0fcb4c4] - esm: identify parent importing a url with invalid host (Jacob Smith) #49736
  • [8a6f5fb8f3] - esm: fix return type of import.meta.resolve (Antoine du Hamel) #49698
  • [a6140f1b8c] - esm: update loaders warning (Geoffrey Booth) #49633
  • [521a9327e0] - esm: fix support for URL instances in register (Antoine du Hamel) #49655
  • [3a9ea0925a] - esm: clarify ERR_REQUIRE_ESM errors (Daniel Compton) #49521
  • [1beefd5f16] - esm: set all hooks as release candidate (Geoffrey Booth) #49597
  • [be48267888] - esm: remove return value for Module.register (Antoine du Hamel) #49529
  • [e74a075124] - esm: refactor test-esm-loader-resolve-type (Geoffrey Booth) #49493
  • [17823b3533] - esm: refactor test-esm-named-exports (Geoffrey Booth) #49493
  • [f34bd15ac1] - esm: refactor mocking test (Geoffrey Booth) #49465
  • [ec323bbd99] - fs: replace SetMethodNoSideEffect in node_file (CanadaHonk) #49857
  • [6acf800123] - fs: improve error performance for unlinkSync (CanadaHonk) #49856
  • [31702c9403] - fs: improve readFileSync with file descriptors (Yagiz Nizipli) #49691
  • [835f9fe7b9] - fs: fix file descriptor validator (Yagiz Nizipli) #49752
  • [b618fe262f] - fs: improve error performance of opendirSync (Yagiz Nizipli) #49705
  • [938471ef55] - fs: improve error performance of sync methods (Yagiz Nizipli) #49593
  • [db3fc6d087] - fs: fix readdir and opendir recursive with unknown file types (William Marlow) #49603
  • [0f020ed22d] - gyp: put cctest filenames in variables (Cheng Zhao) #49178
  • [0ce1e94d12] - lib: update encoding sets in WHATWG API (Jungku Lee) #49610
  • [efd6815a7a] - lib: fix internalBinding typings (Yagiz Nizipli) #49742
  • [1287d5b74e] - lib: allow byob reader for 'blob.stream()' (Debadree Chatterjee) #49713
  • [bbc710522d] - lib: reset the cwd cache before execution (Maël Nison) #49684
  • [f62d649e4d] - lib: use internal fileURLToPath (Deokjin Kim) #49558
  • [e515046941] - lib: use internal pathToFileURL (Livia Medeiros) #49553
  • [00608e8070] - lib: check SharedArrayBuffer availability in freeze_intrinsics.js (Milan Burda) #49482
  • [8bfbe7079c] - meta: fix linter error (Antoine du Hamel) #49755
  • [58f7a9e096] - meta: add primordials strategic initiative (Benjamin Gruenbaum) #49706
  • [5366027756] - meta: bump github/codeql-action from 2.21.2 to 2.21.5 (dependabot[bot]) #49438
  • [fe26b74082] - meta: bump rtCamp/action-slack-notify from 2.2.0 to 2.2.1 (dependabot[bot]) #49437
  • [b0ce78a75b] - module: fix the leak in SourceTextModule and ContextifySript (Joyee Cheung) #48510
  • [4e578f8ab1] - module: fix leak of vm.SyntheticModule (Joyee Cheung) #48510
  • [69e4218772] - module: use symbol in WeakMap to manage host defined options (Joyee Cheung) #48510
  • [96874e8fbc] - node-api: enable uncaught exceptions policy by default (Chengzhong Wu) #49313
  • [b931aeadfd] - perf_hooks: reduce overhead of new performance_entries (Vinicius Lourenço) #49803
  • [ad043bac31] - process: add custom dir support for heapsnapshot-signal (Jithil P Ponnan) #47854
  • [8a7c10194c] - repl: don't accumulate excess indentation in .load (Daniel X Moore) #49461
  • [10a2adeed5] - src: improve error message when ICU data cannot be initialized (Joyee Cheung) #49666
  • [ce37688bac] - src: remove unnecessary todo (Rafael Gonzaga) #49227
  • [f611583b71] - src: use SNAPSHOT_SERDES to log snapshot ser/deserialization (Joyee Cheung) #49637
  • [a597cb8457] - src: port Pipe to uv_pipe_bind2, uv_pipe_connect2 (Geoff Goodman) #49667
  • [fb21062338] - src: set --rehash-snapshot explicitly (Joyee Cheung) #49556
  • [14ece0aa76] - (SEMVER-MINOR) src: allow embedders to override NODE_MODULE_VERSION (Cheng Zhao) #49279
  • [4b5e23c71b] - src: set ModuleWrap internal fields only once (Joyee Cheung) #49391
  • [2d3f5c7cab] - src: fix fs_type_to_name default value (Mustafa Ateş Uzun) #49239
  • [cfbcb1059c] - src: fix comment on StreamResource (rogertyang) #49193
  • [39fb83ad16] - src: do not rely on the internal field being default to undefined (Joyee Cheung) #49413
  • [9fd67fbff0] - stream: use bitmap in writable state (Raz Luvaton) #49834
  • [0ccd4638ac] - stream: use bitmap in readable state (Benjamin Gruenbaum) #49745
  • [b29d927010] - stream: improve readable webstream pipeTo (Raz Luvaton) #49690
  • [7c5e322346] - stream: improve webstream readable async iterator performance (Raz Luvaton) #49662
  • [be211ef818] - test: deflake test-vm-contextified-script-leak (Joyee Cheung) #49710
  • [355f10dab2] - test: use checkIfCollectable in vm leak tests (Joyee Cheung) #49671
  • [17cfc531aa] - test: add checkIfCollectable to test/common/gc.js (Joyee Cheung) #49671
  • [e49a573752] - test: add os setPriority, getPriority test coverage (Wael) #38771
  • [5f02711522] - test: deflake test-runner-output (Moshe Atlow) #49878
  • [cd9754d6a7] - test: mark test-runner-output as flaky (Joyee Cheung) #49854
  • [5ad00424dd] - test: use mustSucceed instead of mustCall (SiddharthDevulapalli) #49788
  • [3db9b40081] - test: refactor test-readline-async-iterators into a benchmark (Shubham Pandey) #49237
  • [2cc5ad7859] - Revert "test: mark test-http-regr-gh-2928 as flaky" (Luigi Pinca) #49708
  • [e5185b053c] - test: use fs.constants for fs.access constants (Livia Medeiros) #49685
  • [b9e5b43462] - test: deflake test-http-regr-gh-2928 (Luigi Pinca) #49574
  • [1fffda504e] - test: fix argument computation in embedtest (Joyee Cheung) #49506
  • [6e56f2db52] - test: skip test-child-process-stdio-reuse-readable-stdio on Windows (Joyee Cheung) #49621
  • [ab3afb330d] - test: mark test-runner-watch-mode as flaky (Joyee Cheung) #49627
  • [185d9b50db] - test: deflake test-tls-socket-close (Luigi Pinca) #49575
  • [c70c74a9e6] - test: show more info on failure in test-cli-syntax-require.js (Joyee Cheung) #49561
  • [ed7c6d1114] - test: mark test-http-regr-gh-2928 as flaky (Joyee Cheung) #49565
  • [3599eebab9] - test: use spawnSyncAndExitWithoutError in sea tests (Joyee Cheung) #49543
  • [f79b153e89] - test: use spawnSyncAndExitWithoutError in test/common/sea.js (Joyee Cheung) #49543
  • [c079c73769] - test: use setImmediate() in test-heapdump-shadowrealm.js (Joyee Cheung) #49573
  • [667a92493c] - test: skip test-child-process-pipe-dataflow.js on Windows (Joyee Cheung) #49563
  • [91af0a9a3c] - Revert "test: ignore the copied entry_point.c" (Chengzhong Wu) #49515
  • [567afc71b8] - test: avoid copying test source files (Chengzhong Wu) #49515
  • [ced25a976d] - test: increase coverage of Module.register and initialize hook (Antoine du Hamel) #49532
  • [be02fbdb8a] - test: isolate globalPreload tests (Geoffrey Booth) #49545
  • [f214428845] - test: split test-crypto-dh to avoid timeout on slow machines in the CI (Joyee Cheung) #49492
  • [3987094569] - test: make test-dotenv-node-options locale-independent (Livia Medeiros) #49470
  • [34c1741792] - test: add test for urlstrings usage in node:fs (Livia Medeiros) #49471
  • [c3c6c4f007] - test: make test-worker-prof more robust (Joyee Cheung) #49274
  • [843df1a4da] - test,crypto: update WebCryptoAPI WPT (Filip Skokan) #49714
  • [80b342cc38] - (SEMVER-MINOR) test_runner: accept testOnly in run (Moshe Atlow) #49753
  • [76865515b9] - test_runner: fix test runner watch mode when no positional arguments (Moshe Atlow) #49578
  • [17a05b141d] - (SEMVER-MINOR) test_runner: add junit reporter (Moshe Atlow) #49614
  • [5672e38457] - test_runner: add jsdocs to mock.js (Caio Borghi) #49555
  • [b4d42a8f2b] - test_runner: fix invalid timer call (Erick Wendel) #49477
  • [f755e6786b] - test_runner: add jsdocs to MockTimers (Erick Wendel) #49476
  • [e7285d4bf0] - test_runner: fix typescript coverage (Moshe Atlow) #49406
  • [07a2e29bf3] - tools: support updating @reporters/github manually (Moshe Atlow) #49871
  • [5ac6722031] - tools: skip ruff on tools/node_modules (Moshe Atlow) #49838
  • [462228bd24] - tools: fix uvwasi updater (Michael Dawson) #49682
  • [ff81bfb958] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #49679
  • [08ffc6344c] - tools: restrict internal code from using public url module (LiviaMedeiros) #49590
  • [728ebf6c97] - tools: update eslint to 8.49.0 (Node.js GitHub Bot) #49586
  • [20d038ffb1] - tools: update lint-md-dependencies to [email protected] [email protected] (Node.js GitHub Bot) #49584
  • [210c15bd12] - tools: allow passing absolute path of config.gypi in js2c (Cheng Zhao) #49162
  • [e341efe173] - tools: configure never-stale label correctly (Michaël Zasso) #49498
  • [a8a8a498ce] - tools: update doc dependencies (Node.js GitHub Bot) #49467
  • [ac06607f9e] - typings: fix missing property in ExportedHooks (Antoine du Hamel) #49567
  • [097b59807a] - url: improve invalid url performance (Yagiz Nizipli) #49692
  • [7c2060cfac] - util: add getCwdSafe internal util fn (João Lenon) #48434
  • [c23c60f545] - zlib: disable CRC32 SIMD optimization (Luigi Pinca) #49511

New in Node.js 20.7.0 Current (Sep 18, 2023)

  • Notable Changes:
  • [022f1b70c1] - src: support multiple --env-file declarations (Yagiz Nizipli) #49542
  • [4a1d1cad61] - crypto: update root certificates to NSS 3.93 (Node.js GitHub Bot) #49341
  • [a1a65f593c] - deps: upgrade npm to 10.1.0 (npm team) #49570
  • [6c2480cad9] - (SEMVER-MINOR) deps: upgrade npm to 10.0.0 (npm team) #49423
  • [bef900e56b] - doc: move and rename loaders section (Geoffrey Booth) #49261
  • [db4ce8a593] - doc: add release key for Ulises Gascon (Ulises Gascón) #49196
  • [11c85ffa98] - (SEMVER-MINOR) lib: add api to detect whether source-maps are enabled (翠 / green) #46391
  • [ec51e25ed7] - src,permission: add multiple allow-fs-* flags (Carlos Espa) #49047
  • [efdc95fbc0] - (SEMVER-MINOR) test_runner: expose location of tests (Colin Ihrig) #48975
  • Commits:
  • [e84515594e] - benchmark: use tmpdir.resolve() (Livia Medeiros) #49137
  • [f37444e896] - bootstrap: build code cache from deserialized isolate (Joyee Cheung) #49099
  • [af6dc1754d] - bootstrap: do not generate code cache in an unfinalized isolate (Joyee Cheung) #49108
  • [cade5716df] - build: add symlink to compile_commands.json file if needed (Juan José) #49260
  • [34a2590b05] - build: expand when we run internet tests (Michael Dawson) #49218
  • [f637fd46ab] - build: fix typo libray -> library (configure.py) (michalbiesek) #49106
  • [ef3d8dd493] - crypto: remove webcrypto EdDSA key checks and properties (Filip Skokan) #49408
  • [4a1d1cad61] - crypto: update root certificates to NSS 3.93 (Node.js GitHub Bot) #49341
  • [7eb10a38ea] - crypto: remove getDefaultEncoding() (Tobias Nießen) #49170
  • [772496c030] - crypto: remove default encoding from DiffieHellman (Tobias Nießen) #49169
  • [c795083232] - crypto: remove default encoding from Hash/Hmac (Tobias Nießen) #49167
  • [08197aa010] - crypto: remove default encoding from sign/verify (Tobias Nießen) #49145
  • [a1a65f593c] - deps: upgrade npm to 10.1.0 (npm team) #49570
  • [6c2480cad9] - (SEMVER-MINOR) deps: upgrade npm to 10.0.0 (npm team) #49423
  • [84195d9584] - deps: add missing thread-common.c in uv.gyp (Santiago Gimeno) #49410
  • [5b70b68b3d] - deps: V8: cherry-pick eadaef581c29 (Adam Majer) #49401
  • [fe34d632e8] - deps: update zlib to 1.2.13.1-motley-f5fd0ad (Node.js GitHub Bot) #49252
  • [db4ce8a593] - doc: add release key for Ulises Gascon (Ulises Gascón) #49196
  • [e5f3a694cf] - doc: fix node-api call example (Chengzhong Wu) #49395
  • [021345a724] - doc: add news issue for Diagnostics WG (Michael Dawson) #49306
  • [f82347266b] - doc: clarify policy expectations (Rafael Gonzaga) #48947
  • [73cfd9c895] - doc: add print results for examples in StringDecoder (Jungku Lee) #49326
  • [63ab591416] - doc: update outdated reference to NIST SP 800-131A (Tobias Nießen) #49316
  • [935dfe2afd] - doc: use cjs as block code's type in MockTimers (Deokjin Kim) #49309
  • [7c0cd2fb87] - doc: update options.filter description for fs.cp (Shubham Pandey) #49289
  • [f72e79ea67] - doc: add riscv64 to list of architectures (Stewart X Addison) #49284
  • [d19c710064] - doc: avoid "not currently recommended" (Tobias Nießen) #49300
  • [ae656101c0] - doc: update module hooks docs (Geoffrey Booth) #49265
  • [fefbdb92f2] - doc: modify param description for end(),write() in StringDecoder (Jungku Lee) #49285
  • [59e66a1ebe] - doc: use NODE_API_SUPPORTED_VERSION_MAX in release doc (Cheng Zhao) #49268
  • [ac3b88449b] - doc: fix typo in stream.finished documentation (Antoine du Hamel) #49271
  • [7428ebf6c3] - doc: update description for percent_encode sets in WHATWG API (Jungku Lee) #49258
  • [bef900e56b] - doc: move and rename loaders section (Geoffrey Booth) #49261
  • [a22e0d9696] - doc: clarify use of Uint8Array for n-api (Fedor Indutny) #48742
  • [1704f24cb9] - doc: add signature for module.register (Geoffrey Booth) #49251
  • [5a363bb01b] - doc: caveat unavailability of import.meta.resolve in custom loaders (Jacob Smith) #49242
  • [8101f2b259] - doc: use same name in the doc as in the code (Hyunjin Kim) #49216
  • [edf278d60d] - doc: add notable-change label mention to PR template (Rafael Gonzaga) #49188
  • [3df2251a6a] - doc: add h1 summary to security release process (Rafael Gonzaga) #49112
  • [9fcd99a744] - doc: update to semver-minor releases by default (Rafael Gonzaga) #49175
  • [777931f499] - doc: fix wording in napi_async_init (Tobias Nießen) #49180
  • [f45c8e10c0] - doc,test: add known path resolution issue in permission model (Tobias Nießen) #49155
  • [a6cfea3f74] - esm: align sync and async load implementations (Antoine du Hamel) #49152
  • [9fac310b33] - fs: add the options param description in openAsBlob() (Yeseul Lee) #49308
  • [92772a8175] - fs: remove redundant code in readableWebStream() (Deokjin Kim) #49298
  • [88ba79b083] - fs: make sure to write entire buffer (Robert Nagy) #49211
  • [11c85ffa98] - (SEMVER-MINOR) lib: add api to detect whether source-maps are enabled (翠 / green) #46391
  • [c12711ebfe] - lib: implement WeakReference on top of JS WeakRef (Joyee Cheung) #49053
  • [9a0891f88d] - meta: bump step-security/harden-runner from 2.5.0 to 2.5.1 (dependabot[bot]) #49435
  • [ae67f41ef1] - meta: bump actions/checkout from 3.5.3 to 3.6.0 (dependabot[bot]) #49436
  • [71b4411fb2] - meta: bump actions/setup-node from 3.7.0 to 3.8.1 (dependabot[bot]) #49434
  • [83b7d3a395] - meta: remove modules team from CODEOWNERS (Benjamin Gruenbaum) #49412
  • [81ff68c45c] - meta: move one or more collaborators to emeritus (Node.js GitHub Bot) #49264
  • [ab975233cc] - meta: mention nodejs/tsc when changing GH templates (Rafael Gonzaga) #49189
  • [ceaa5494de] - meta: add test/reporters to codeowners (Chemi Atlow) #49186
  • [de0a51b7cf] - net: improve performance of isIPv4 and isIPv6 (Uzlopak) #49568
  • [8d0913bf95] - net: use asserts in JS Socket Stream to catch races in future (Tim Perry) #49400
  • [2486836a7d] - net: fix crash due to simultaneous close/shutdown on JS Stream Sockets (Tim Perry) #49400
  • [7a808340cd] - node-api: fix compiler warning in node_api.h (Michael Graeb) #49103
  • [30f26a99f4] - permission: ensure to resolve path when calling mkdtemp (RafaelGSS) nodejs-private/node-private#440
  • [5051c75a5b] - policy: fix path to URL conversion (Antoine du Hamel) #49133
  • [173aed4757] - report: fix recent coverity warning (Michael Dawson) #48954
  • [d7ff78b442] - sea: generate code cache with deserialized isolate (Joyee Cheung) #49226
  • [022f1b70c1] - src: support multiple --env-file declarations (Yagiz Nizipli) #49542
  • [154b1c2115] - src: don't overwrite environment from .env file (Phil Nash) #49424
  • [dc4de1c69b] - src: modify code for empty string (pluris) #49336
  • [701c46f967] - src: remove unused PromiseWrap-related code (Joyee Cheung) #49335
  • [4a094dc7af] - src: rename IsAnyByteSource to IsAnyBufferSource (Tobias Nießen) #49346
  • [55d6649175] - src: support snapshot deserialization in RAIIIsolate (Joyee Cheung) #49226
  • [dc092864ef] - src: remove unused function GetName() in node_perf (Jungku Lee) #49244
  • [f2552a410e] - src: use ARES_SUCCESS instead of 0 (Jungku Lee) #49048
  • [4a9ae31519] - src: add a condition if the argument of DomainToUnicode is empty (Jungku Lee) #49097
  • [f460362cdf] - src: remove C++ WeakReference implementation (Joyee Cheung) #49053
  • [2a35383b3e] - src: use per-realm GetBindingData() wherever applicable (Joyee Cheung) #49007
  • [184bbddcf5] - src: add per-realm GetBindingData() method (Joyee Cheung) #49007
  • [e9946885f9] - src: serialize both BaseObject slots (Joyee Cheung) #48996
  • [ec51e25ed7] - src,permission: add multiple allow-fs-* flags (Carlos Espa) #49047
  • [8aac95de4b] - stream: improve tee perf by reduce ReflectConstruct usages (Raz Luvaton) #49546
  • [0eea7fd8fb] - stream: use Buffer.from when constructor is a Buffer (Matthew Aitken) #49250
  • [b961d9bd52] - stream: add highWaterMark for the map operator (Raz Luvaton) #49249
  • [ca1384166d] - test: fix warning for comment in embedtest (Jungku Lee) #49416
  • [2a35782809] - test: simplify test-crypto-dh-group-setters (Tobias Nießen) #49404
  • [6740f3c209] - test: verify dynamic import call with absolute path strings (Chengzhong Wu) #49275
  • [6ed47bd8fb] - test: reduce length in crypto keygen tests (Joyee Cheung) #49221
  • [4faa30c553] - test: split JWK async elliptic curve keygen tests (Joyee Cheung) #49221
  • [e04a2603d8] - test: split test-crypto-keygen.js (Joyee Cheung) #49221
  • [0d23c1d4ce] - test: rename test-crypto-modp1-error (Tobias Nießen) #49348
  • [48e41569e2] - test: migrate message source map tests from Python to JS (Yiyun Lei) #49238
  • [a11e64e09c] - test: fix compiler warning in NodeCryptoEnv (Tobias Nießen) #49206
  • [345543938f] - test: handle EUNATCH (Abdirahim Musse) #48050
  • [e391f4b197] - test: use tmpdir.resolve() (Livia Medeiros) #49136
  • [910378f93f] - test: reduce flakiness of test-esm-loader-hooks (Antoine du Hamel) #49248
  • [4a85f70462] - test: add spawnSyncAndExit() and spawnSyncAndExitWithoutError() (Joyee Cheung) #49200
  • [9610008b79] - test: make test-perf-hooks more robust and work with workers (Joyee Cheung) #49197
  • [dc8fff9a75] - test: use gcUntil() in test-v8-serialize-leak (Joyee Cheung) #49168
  • [ca9f801332] - test: make WeakReference tests robust (Joyee Cheung) #49053
  • [de103a4686] - test: add test for effect of UV_THREADPOOL_SIZE (Tobias Nießen) #49165
  • [47d24f144b] - test: use expectSyncExit{WithErrors} in snapshot tests (Joyee Cheung) #49020
  • [c441f5a097] - test: add expectSyncExitWithoutError() and expectSyncExit() utils (Joyee Cheung) #49020
  • [4d184b5251] - test: remove --no-warnings flag in test_runner fixtures (Raz Luvaton) #48989
  • [25e967a90b] - test: reorder test files fixtures for better understanding (Raz Luvaton) #48787
  • [fac56dbcc0] - test,benchmark: use tmpdir.fileURL() (Livia Medeiros) #49138
  • [36763fa532] - test_runner: preserve original property descriptor (Erick Wendel) #49433
  • [40e9fcdbea] - test_runner: add support for setImmediate (Erick Wendel) #49397
  • [23216f1935] - test_runner: report covered lines, functions and branches to reporters (Phil Nash) #49320
  • [283f2806b1] - test_runner: expose spec reporter as newable function (Chemi Atlow) #49184
  • [546ad5f770] - test_runner: reland run global after() hook earlier (Colin Ihrig) #49116
  • [efdc95fbc0] - (SEMVER-MINOR) test_runner: expose location of tests (Colin Ihrig) #48975
  • [4bc0a8fe99] - test_runner: fix global after not failing the tests (Raz Luvaton) #48913
  • [08738b2664] - test_runner: fix timeout in *Each hook failing further tests (Raz Luvaton) #48925
  • [c2f1830f66] - test_runner: cleanup test timeout abort listener (Raz Luvaton) #48915
  • [75333f38b2] - test_runner: fix global before not called when no global test exists (Raz Luvaton) #48877
  • [b28b85adf8] - tls: remove redundant code in onConnectSecure() (Deokjin Kim) #49457
  • [83fc4dccbc] - tls: refactor to use validateFunction (Deokjin Kim) #49422
  • [8949cc79dd] - tls: ensure TLS Sockets are closed if the underlying wrap closes (Tim Perry) #49327
  • [1df56e6f01] - tools: update eslint to 8.48.0 (Node.js GitHub Bot) #49343
  • [ef50ec5b57] - tools: update lint-md-dependencies (Node.js GitHub Bot) #49342
  • [9a8fb4fc34] - tools: remove v8_dump_build_config action (Cheng Zhao) #49301
  • [91b2d4314b] - tools: update lint-md-dependencies (Node.js GitHub Bot) #49253
  • [b51946ebdd] - tools: fix github reporter appended multiple times (Moshe Atlow) #49199
  • [ae40cb1612] - url: validate pathToFileURL(path) argument as string (LiviaMedeiros) #49161
  • [e787673dcf] - url: handle unicode hostname if empty (Yagiz Nizipli) #49396
  • [6ee74be87f] - vm: store MicrotaskQueue in ContextifyContext directly (Joyee Cheung) #48982
  • [0179c6dc8f] - worker: protect against user mutating well-known prototypes (Antoine du Hamel) #49270

New in Node.js 20.6.1 Current (Sep 10, 2023)

  • Commits:
  • [8acbe6d8e8] - esm: fix loading of CJS modules from ESM (Antoine du Hamel) #49500

New in Node.js 20.6.0 Current (Sep 6, 2023)

  • Notable changes:
  • built-in .env file support:
  • Starting from Node.js v20.6.0, Node.js supports .env files for configuring environment variables.
  • Your configuration file should follow the INI file format, with each line containing a key-value pair for an environment variable. To initialize your Node.js application with predefined configurations, use the following CLI command: node --env-file=config.env index.js.
  • For example, you can access the following environment variable using process.env.PASSWORD when your application is initialized: PASSWORD=nodejs
  • In addition to environment variables, this change allows you to define your NODE_OPTIONS directly in the .env file, eliminating the need to include it in your package.json.
  • This feature was contributed by Yagiz Nizipli in #48890.
  • import.meta.resolve unflagged:
  • In ES modules, import.meta.resolve(specifier) can be used to get an absolute URL string to which specifier resolves, similar to require.resolve in CommonJS. This aligns Node.js with browsers and other server-side runtimes.
  • This feature was contributed by Guy Bedford in #49028
  • New node:module API register for module customization hooks; new initialize hook:
  • There is a new API register available on node:module to specify a file that exports module customization hooks, and pass data to the hooks, and establish communication channels with them. The “define the file with the hooks” part was previously handled by a flag --experimental-loader, but when the hooks moved into a dedicated thread in 20.0.0 there was a need to provide a way to communicate between the main (application) thread and the hooks thread. This can now be done by calling register from the main thread and passing data, including MessageChannel instances.
  • We encourage users to migrate to an approach that uses --import with register, such as: node --import ./file-that-calls-register.js ./app.js
  • Using --import ensures that the customization hooks are registered before any application code runs, even the entry point.
  • This feature was contributed by Izaak Schroeder in #48842 and #48559
  • Module customization load hook can now support CommonJS:
  • Authors of module customization hooks can how handle both ES module and CommonJS sources in the load hook. This works for CommonJS modules referenced via either import or require, so long as the main entry point of the application is handled by the ES module loader (such as because the entry point is an ES module file, or if the --import flag is passed). This should simplify the customization of the Node.js module loading process, as package authors can customize more of Node.js without relying on deprecated APIs such as require.extensions.
  • This feature was contributed by Antoine du Hamel in #47999
  • Node.js C++ addons now have experimental support for cppgc (Oilpan), a C++ garbage collection library in V8:
  • Now when Node.js starts up, it makes sure that there is a v8::CppHeap attached to the V8 isolate. This enables users to allocate in the v8::CppHeap using headers from V8, which are now also included into the Node.js headers available to addons. Note that since Node.js only bundles the cppgc library coming from V8, the ABI stability of cppgc is currently not guaranteed in semver-minor and -patch updates, but we do not expect the ABI to break often, as it has been stable and battle-tested in Chromium for years. We may consider including cppgc into the ABI stability guarantees when it gets enough adoption internally and externally.
  • To help addon authors create JavaScript-to-C++ references of which V8's garbage collector can be aware, a helper function node::SetCppgcReference(isolate, js_object, cppgc_object) has been added to node.h. V8 may provide a native alternative in the future, which could then replace this Node.js-specific helper. In the mean time, users can use this API to avoid having to hard-code the layout of JavaScript wrapper objects. An example of how to create garbage-collected C++ objects in the unified heap and wrap it in a JavaScript object can be found in the Node.js addon tests.
  • The existing node::ObjectWrap helper would continue to work, while cppgc-based object management serves as an alternative with some advantages mentioned in the V8 blog post about Oilpan.
  • This feature was contributed by Daryl Haresign and Joyee Cheung in #48660 and #45704.
  • Other notable changes:
  • [d6862b085c] - deps: V8: cherry-pick 93275031284c (Joyee Cheung) #48660
  • [00fc8bb8b3] - doc: add rluvaton to collaborators (Raz Luvaton) #49215
  • [d649339abd] - doc: add new TSC members (Michael Dawson) #48841
  • [67f9896247] - (SEMVER-MINOR) inspector: open add SymbolDispose (Chemi Atlow) #48765
  • [5aef593db3] - module: implement register utility (João Lenon) #46826
  • Commits:
  • [771abcb5da] - benchmark: add benchmarks for the test_runner (Raz Luvaton) #48931
  • [6b27bb0dab] - benchmark: add pm startup benchmark (Rafael Gonzaga) #48905
  • [1f35c0ca55] - child_process: harden against prototype pollution (Livia Medeiros) #48726
  • [d6862b085c] - deps: V8: cherry-pick 93275031284c (Joyee Cheung) #48660
  • [f71e383948] - deps: update simdutf to 3.2.17 (Node.js GitHub Bot) #49019
  • [e14f0456ae] - deps: update googletest to 7e33b6a (Node.js GitHub Bot) #49034
  • [bfaa0fb500] - deps: update zlib to 1.2.13.1-motley-526382e (Node.js GitHub Bot) #49033
  • [b79c652c85] - deps: update undici to 5.23.0 (Node.js GitHub Bot) #49021
  • [6ead86145c] - deps: update googletest to c875c4e (Node.js GitHub Bot) #48964
  • [4b0e50501e] - deps: update ada to 2.6.0 (Node.js GitHub Bot) #48896
  • [d960ee0ba3] - deps: upgrade npm to 9.8.1 (npm team) #48838
  • [d92b0139ca] - deps: update zlib to 1.2.13.1-motley-61dc0bd (Node.js GitHub Bot) #48788
  • [2a7835c376] - deps: V8: cherry-pick 9f4b7699f68e (Joyee Cheung) #48830
  • [c8e17829ac] - deps: V8: cherry-pick c1a54d5ffcd1 (Joyee Cheung) #48830
  • [318e075b6f] - deps: update googletest to cc36671 (Node.js GitHub Bot) #48789
  • [114e088267] - diagnostics_channel: fix last subscriber removal (Gabriel Schulhof) #48933
  • [00fc8bb8b3] - doc: add rluvaton to collaborators (Raz Luvaton) #49215
  • [21949c45b6] - doc: add print results for examples in WebStreams (Jungku Lee) #49143
  • [032107a6fe] - doc: fix Type notation in webstreams (Deokjin Kim) #49121
  • [91d41e7c5a] - doc: fix name of the flag in initialize() docs (Antoine du Hamel) #49158
  • [aa4caf810e] - doc: make the NODE_VERSION_IS_RELEASE revert clear (Rafael Gonzaga) #49114
  • [f888a1dbe3] - doc: update process.binding deprecation text (Tobias Nießen) #49086
  • [89fa3faf92] - doc: update with latest security release (Rafael Gonzaga) #49085
  • [3d36e7a941] - doc: add description for --port flag of node inspect (Michael Bianco) #48785
  • [e9d9ca12a3] - doc: add missing period (Rich Trott) #49094
  • [7e7b554de0] - doc: add ESM examples in http.md (btea) #47763
  • [48f8ccfd54] - doc: detailed description of keystrokes Ctrl-Y and Meta-Y (Ray) #43529
  • [195885c8f8] - doc: add "type" to test runner event details (Phil Nash) #49014
  • [6ce25f8415] - doc: reserve 118 for Electron 27 (David Sanders) #49023
  • [9c26c0f296] - doc: clarify use of process.env in worker threads on Windows (Daeyeon Jeong) #49008
  • [7186e02aa0] - doc: remove v14 mention (Rafael Gonzaga) #49005
  • [9641ac6c65] - doc: drop github actions check in sec release process (Rafael Gonzaga) #48978
  • [f3d62abb19] - doc: improved joinDuplicateHeaders definition (Matteo Bianchi) #48859
  • [0db104a08b] - doc: fix second parameter name of events.addAbortListener (Deokjin Kim) #48922
  • [5173c559b7] - doc: add new reporter events to custom reporter examples (Chemi Atlow) #48903
  • [660da785e6] - doc: run license-builder (github-actions[bot]) #48898
  • [092f9fe92a] - doc: change duration to duration_ms on test documentation (Ardi_Nugraha) #48892
  • [5e4730858d] - doc: improve requireHostHeader (Guido Penta) #48860
  • [045e3c549a] - doc: add ver of 18.x where Node-api 9 is supported (Michael Dawson) #48876
  • [c20d35df34] - doc: include experimental features assessment (Rafael Gonzaga) #48824
  • [d649339abd] - doc: add new TSC members (Michael Dawson) #48841
  • [aeac327f2b] - doc: refactor node-api support matrix (Michael Dawson) #48774
  • [388c7d9232] - doc: declare path on example of async_hooks.executionAsyncId() (Deokjin Kim) #48556
  • [fe20528c8e] - doc: remove the . in the end to reduce confusing (Jason) #48719
  • [e69c8e173f] - doc: nodejs-social over nodejs/tweet (Rafael Gonzaga) #48769
  • [ea547849fd] - doc: expand on squashing and rebasing to land a PR (Chengzhong Wu) #48751
  • [31442b96a5] - esm: fix globalPreload warning (Antoine du Hamel) #49069
  • [eb1215878b] - esm: unflag import.meta.resolve (Guy Bedford) #49028
  • [57b24a34e6] - esm: import.meta.resolve exact module not found errors should return (Guy Bedford) #49038
  • [f23b2a3066] - esm: protect ERR_UNSUPPORTED_DIR_IMPORT against prototype pollution (Antoine du Hamel) #49060
  • [386e826a56] - esm: add initialize hook, integrate with register (Izaak Schroeder) #48842
  • [74a2e1e0ab] - esm: fix typo parentUrl -> parentURL (Antoine du Hamel) #48999
  • [0a4f7c669a] - esm: unflag Module.register and allow nested loader import() (Izaak Schroeder) #48559
  • [a5597470ce] - esm: add back globalPreload tests and fix failing ones (Antoine du Hamel) #48779
  • [d568600b42] - events: remove weak listener for event target (Raz Luvaton) #48952
  • [3d942d9842] - fs: fix readdir recursive sync & callback (Ethan Arrowood) #48698
  • [c14ff69d69] - fs: mention URL in NUL character error message (LiviaMedeiros) #48828
  • [d634d781d7] - fs: make mkdtemp accept buffers and URL (LiviaMedeiros) #48828
  • [4515a285a4] - fs: remove redundant nullCheck (Livia Medeiros) #48826
  • [742597b14a] - http: start connections checking interval on listen (Paolo Insogna) #48611
  • [67f9896247] - (SEMVER-MINOR) inspector: open add SymbolDispose (Chemi Atlow) #48765
  • [b66a3c1c96] - lib: fix MIME overmatch in data URLs (André Alves) #49104
  • [dca8678a22] - lib: fix to add resolve() before return at Blob.stream()'s source.pull() (bellbind) #48935
  • [420b85c00f] - lib: remove invalid parameter to toASCII (Yagiz Nizipli) #48878
  • [a12ce11b09] - lib,permission: drop repl autocomplete when pm enabled (Rafael Gonzaga) #48920
  • [458eaf5e75] - meta: bump github/codeql-action from 2.20.1 to 2.21.2 (dependabot[bot]) #48986
  • [4f88cb10e0] - meta: bump step-security/harden-runner from 2.4.1 to 2.5.0 (dependabot[bot]) #48985
  • [22fc2a6ec6] - meta: bump actions/setup-node from 3.6.0 to 3.7.0 (dependabot[bot]) #48984
  • [40103adabd] - meta: bump actions/setup-python from 4.6.1 to 4.7.0 (dependabot[bot]) #48983
  • [84c0c6848c] - meta: add mailmap entry for atlowChemi (Chemi Atlow) #48810
  • [1a6e9450b8] - module: make CJS load from ESM loader (Antoine du Hamel) #47999
  • [a5322c4b4a] - module: ensure successful import returns the same result (Antoine du Hamel) #46662
  • [5aef593db3] - module: implement register utility (João Lenon) #46826
  • [015c4f788d] - node-api: avoid macro redefinition (Tobias Nießen) #48879
  • [53ee98566b] - permission: move PrintTree into unnamed namespace (Tobias Nießen) #48874
  • [30ea480135] - permission: fix data types in PrintTree (Tobias Nießen) #48770
  • [8380800375] - readline: add paste bracket mode (Jakub Jankiewicz) #47150
  • [bc009d0c10] - sea: add support for V8 bytecode-only caching (Darshan Sen) #48191
  • [f2f4ce9e29] - src: use effective cppgc wrapper id to deduce non-cppgc id (Joyee Cheung) #48660
  • [bf7ff369f6] - src: add built-in .env file support (Yagiz Nizipli) #48890
  • [8d6948f8e2] - src: remove duplicated code in GenerateSingleExecutableBlob() (Jungku Lee) #49119
  • [b030004cee] - src: refactor vector writing in snapshot builder (Joyee Cheung) #48851
  • [497df8288d] - src: add ability to overload fast api functions (Yagiz Nizipli) #48993
  • [e5b0dfa359] - src: remove redundant code for uv_handle_type (Jungku Lee) #49061
  • [f126b9e3d1] - src: modernize use-equals-default (Jason) #48735
  • [db4370fc3e] - src: avoid string copy in BuiltinLoader::GetBuiltinIds (Yagiz Nizipli) #48721
  • [9d13503c4e] - src: fix callback_queue.h missing header (Jason) #48733
  • [6c389df3aa] - src: cast v8::Object::GetInternalField() return value to v8::Value (Joyee Cheung) #48943
  • [7b9adff0be] - src: do not pass user input to format string (Antoine du Hamel) #48973
  • [e0fdb7b092] - src: remove ContextEmbedderIndex::kBindingDataStoreIndex (Joyee Cheung) #48836
  • [578c3d1e14] - src: use ARES_SUCCESS instead of 0 (Hyunjin Kim) #48834
  • [ed23426aac] - src: save the performance milestone time origin in the AliasedArray (Joyee Cheung) #48708
  • [5dec186663] - src: support snapshot in single executable applications (Joyee Cheung) #46824
  • [d759d4f631] - src: remove unnecessary temporary creation (Jason) #48734
  • [409cc692db] - src: fix nullptr access on realm (Jan Olaf Krems) #48802
  • [07d0fd61b1] - src: remove OnScopeLeaveImpl's move assignment overload (Jason) #48732
  • [41cc3efa23] - src: use string_view for utf-8 string creation (Yagiz Nizipli) #48722
  • [62a46d9335] - src,permission: restrict by default when pm enabled (Rafael Gonzaga) #48907
  • [099159ce04] - src,tools: initialize cppgc (Daryl Haresign) #48660
  • [600c08d197] - stream: improve WebStreams performance (Raz Luvaton) #49089
  • [609b25fa99] - stream: implement ReadableStream.from (Debadree Chatterjee) #48395
  • [750cca2738] - test: use tmpdir.resolve() (Livia Medeiros) #49128
  • [6595367649] - test: use tmpdir.resolve() (Livia Medeiros) #49127
  • [661b055e75] - test: use tmpdir.resolve() in fs tests (Livia Medeiros) #49126
  • [b3c56d206f] - test: use tmpdir.resolve() in fs tests (Livia Medeiros) #49125
  • [3ddb155d16] - test: fix assertion message in test_async.c (Tobias Nießen) #49146
  • [1d17c1032d] - test: refactor test-esm-loader-hooks for easier debugging (Antoine du Hamel) #49131
  • [13bd7a0293] - test: add tmpdir.resolve() (Livia Medeiros) #49079
  • [89b1bce56d] - test: document fixtures.fileURL() (Livia Medeiros) #49083
  • [2fcb855c76] - test: reduce flakiness of test-esm-loader-hooks (Antoine du Hamel) #49105
  • [7816e040df] - test: stabilize the inspector-open-dispose test (Chemi Atlow) #49000
  • [e70e9747e4] - test: print instruction for creating missing snapshot in assertSnapshot (Raz Luvaton) #48914
  • [669ac03520] - test: add tmpdir.fileURL() (Livia Medeiros) #49040
  • [b945d7be35] - test: use spawn and spawnPromisified instead of exec (Antoine du Hamel) #48991
  • [b3a7427583] - test: refactor test-node-output-errors (Antoine du Hamel) #48992
  • [6c3e5c4d69] - test: use fixtures.fileURL when appropriate (Antoine du Hamel) #48990
  • [9138b78bcb] - test: validate error code rather than message (Antoine du Hamel) #48972
  • [b4ca4a6f80] - test: fix snapshot tests when cwd contains spaces or backslashes (Antoine du Hamel) #48959
  • [d4398d458c] - test: order common.mjs in ASCII order (Antoine du Hamel) #48960
  • [b5991f5250] - test: fix some assumptions in tests (Antoine du Hamel) #48958
  • [62e23f83f9] - test: improve internal/worker/io.js coverage (Yoshiki Kurihara) #42387
  • [314bd6095c] - test: fix es-module/test-esm-initialization (Antoine du Hamel) #48880
  • [3680a66df4] - test: validate host with commas on url.parse (Yagiz Nizipli) #48878
  • [24c3742372] - test: delete test-net-bytes-per-incoming-chunk-overhead (Michaël Zasso) #48811
  • [e01cce50f5] - test: skip experimental test with pointer compression (Colin Ihrig) #48738
  • [d5e93b1074] - test: fix flaky test-string-decode.js on x86 (Stefan Stojanovic) #48750
  • [9136667d7d] - test_runner: dont set exit code on todo tests (Moshe Atlow) #48929
  • [52c94908c0] - test_runner: fix todo and only in spec reporter (Moshe Atlow) #48929
  • [5ccfb8d515] - test_runner: unwrap error message in TAP reporter (Colin Ihrig) #48942
  • [fa19b0ed05] - test_runner: add __proto__ null (Raz Luvaton) #48663
  • [65d23940bf] - test_runner: fix async callback in describe not awaited (Raz Luvaton) #48856
  • [4bd5e55b43] - test_runner: fix test_runner test:fail event type (Ethan Arrowood) #48854
  • [41058beed8] - test_runner: call abort on test finish (Raz Luvaton) #48827
  • [821b11a59f] - tls: fix bugs of double TLS (rogertyang) #48969
  • [4439327e73] - tools: update lint-md-dependencies (Node.js GitHub Bot) #49122
  • [21dc844309] - tools: use spec reporter in actions (Moshe Atlow) #49129
  • [3471758696] - tools: use @reporters/github when running in github actions (Moshe Atlow) #49129
  • [95a6e7661e] - tools: add @reporters/github to tools (Moshe Atlow) #49129
  • [995cbf93eb] - tools: update eslint to 8.47.0 (Node.js GitHub Bot) #49124
  • [ed065bc56e] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #49035
  • [a5f37178ad] - tools: limit the number of auto start CIs (Antoine du Hamel) #49067
  • [c1bd680f89] - tools: update eslint to 8.46.0 (Node.js GitHub Bot) #48966
  • [e09a6b4821] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #48965
  • [0cd2393bd9] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #48888
  • [41929a2906] - tools: update lint-md-dependencies to @rollup/[email protected] (Node.js GitHub Bot) #48791
  • [1761bdfbd9] - tools: update eslint to 8.45.0 (Node.js GitHub Bot) #48793
  • [b82f05cc4b] - typings: update JSDoc for cwd in child_process (LiviaMedeiros) #49029
  • [be7b511255] - typings: sync JSDoc with the actual implementation (Hyunjin Kim) #48853
  • [45c860035d] - url: overload canParse V8 fast api method (Yagiz Nizipli) #48993
  • [60d614157b] - url: fix isURL detection by checking path (Zhuo Zhang) #48928
  • [b12c3b5240] - url: ensure getter access do not mutate observable symbols (Antoine du Hamel) #48897
  • [30fb7b7535] - url: reduce pathToFileURL cpp calls (Yagiz Nizipli) #48709
  • [c3dbd0c1e4] - util: use primordials.ArrayPrototypeIndexOf instead of mutable method (DaisyDogs07) #48586
  • [b79b2927ca] - watch: decrease debounce rate (Moshe Atlow) #48926
  • [a12996298e] - watch: use debounce instead of throttle (Moshe Atlow) #48926

New in Node.js 20.5.1 Current (Aug 9, 2023)

  • Notable Changes:
  • The following CVEs are fixed in this release:
  • CVE-2023-32002: Policies can be bypassed via Module._load (High)
  • CVE-2023-32558: process.binding() can bypass the permission model through path traversal (High)
  • CVE-2023-32004: Permission model can be bypassed by specifying a path traversal sequence in a Buffer (High)
  • CVE-2023-32006: Policies can be bypassed by module.constructor.createRequire (Medium)
  • CVE-2023-32559: Policies can be bypassed via process.binding (Medium)
  • CVE-2023-32005: fs.statfs can bypass the permission model (Low)
  • CVE-2023-32003: fs.mkdtemp() and fs.mkdtempSync() can bypass the permission model (Low)
  • OpenSSL Security Releases:
  • OpenSSL security advisory 14th July.
  • OpenSSL security advisory 19th July.
  • OpenSSL security advisory 31st July
  • Commits:
  • [92300b51b4] - deps: update archs files for openssl-3.0.10+quic1 (Node.js GitHub Bot) #49036
  • [559698abf2] - deps: upgrade openssl sources to quictls/openssl-3.0.10+quic1 (Node.js GitHub Bot) #49036
  • [1bf3429e8e] - lib,permission: restrict process.binding when pm is enabled (RafaelGSS) nodejs-private/node-private#438
  • [98a83a67e6] - permission: ensure to resolve path when calling mkdtemp (RafaelGSS) nodejs-private/node-private#464
  • [1f0cde466b] - permission: handle buffer path on fs calls (RafaelGSS) nodejs-private/node-private#439
  • [bd094d60ea] - permission: handle fstatfs and add pm supported list (RafaelGSS) nodejs-private/node-private#441
  • [7337d21484] - policy: handle Module.constructor and main.extensions bypass (RafaelGSS) nodejs-private/node-private#417
  • [cf348ec640] - policy: disable process.binding() when enabled (Tobias Nießen) nodejs-private/node-private#397

New in Node.js 20.5.0 Current (Jul 23, 2023)

  • Notable Changes:
  • [45be29d89f] - doc: add atlowChemi to collaborators (atlowChemi) #48757
  • [a316808136] - (SEMVER-MINOR) events: allow safely adding listener to abortSignal (Chemi Atlow) #48596
  • [986b46a567] - fs: add a fast-path for readFileSync utf-8 (Yagiz Nizipli) #48658
  • [0ef73ff6f0] - (SEMVER-MINOR) test_runner: add shards support (Raz Luvaton) #48639
  • Commits:
  • [eb0aba59b8] - bootstrap: use correct descriptor for Symbol.{dispose,asyncDispose} (Jordan Harband) #48703
  • [e2d0195dcf] - bootstrap: hide experimental web globals with flag kNoBrowserGlobals (Chengzhong Wu) #48545
  • [67a1018389] - build: do not pass target toolchain flags to host toolchain (Ivan Trubach) #48597
  • [7d843bb942] - child_process: use addAbortListener (atlowChemi) #48550
  • [4e08160f8c] - child_process: support Symbol.dispose (Moshe Atlow) #48551
  • [ef7728bf36] - deps: update nghttp2 to 1.55.1 (Node.js GitHub Bot) #48790
  • [1454f02499] - deps: update nghttp2 to 1.55.0 (Node.js GitHub Bot) #48746
  • [fa94debf46] - deps: update minimatch to 9.0.3 (Node.js GitHub Bot) #48704
  • [c73cfcc144] - deps: update acorn to 8.10.0 (Node.js GitHub Bot) #48713
  • [b7a076a052] - deps: V8: cherry-pick cb00db4dba6c (Keyhan Vakil) #48671
  • [150e15536b] - deps: upgrade npm to 9.8.0 (npm team) #48665
  • [c47b2cbd35] - dgram: socket add asyncDispose (atlowChemi) #48717
  • [002ce31cca] - dgram: use addAbortListener (atlowChemi) #48550
  • [45be29d89f] - doc: add atlowChemi to collaborators (atlowChemi) #48757
  • [69b55d2261] - doc: fix ambiguity in http.md and https.md (an5er) #48692
  • [caccb051c7] - doc: clarify transform._transform() callback argument logic (Rafael Sofi-zada) #48680
  • [999ae0c8c3] - doc: fix copy node executable in Windows (Yoav Vainrich) #48624
  • [7daefaeb44] - doc: drop of v20 changelog (Rafael Gonzaga) #48649
  • [dd7ea3e1df] - doc: mention git node release prepare (Rafael Gonzaga) #48644
  • [cc7809df21] - esm: fix emit deprecation on legacy main resolve (Antoine du Hamel) #48664
  • [67b13d1dba] - events: fix bug listenerCount don't compare wrapped listener (yuzheng14) #48592
  • [a316808136] - (SEMVER-MINOR) events: allow safely adding listener to abortSignal (Chemi Atlow) #48596
  • [986b46a567] - fs: add a fast-path for readFileSync utf-8 (Yagiz Nizipli) #48658
  • [e4333ac41f] - http2: use addAbortListener (atlowChemi) #48550
  • [4a0b66e4f9] - http2: send RST code 8 on AbortController signal (Devraj Mehta) #48573
  • [1295c76fce] - lib: use addAbortListener (atlowChemi) #48550
  • [dff6c25a36] - meta: bump actions/checkout from 3.5.2 to 3.5.3 (dependabot[bot]) #48625
  • [b5cb69ceaa] - meta: bump step-security/harden-runner from 2.4.0 to 2.4.1 (dependabot[bot]) #48626
  • [332e480b46] - meta: bump ossf/scorecard-action from 2.1.3 to 2.2.0 (dependabot[bot]) #48628
  • [25c5a0aaee] - meta: bump github/codeql-action from 2.3.6 to 2.20.1 (dependabot[bot]) #48627
  • [6406f50ab1] - module: add SourceMap.lineLengths (Isaac Z. Schlueter) #48461
  • [cfa69bd48c] - net: server add asyncDispose (atlowChemi) #48717
  • [ac11264cc5] - net: use addAbortListener (atlowChemi) #48550
  • [82d6b13bf6] - permission: add debug log when inserting fs nodes (Rafael Gonzaga) #48677
  • [f4333b1cdd] - permission: v8.writeHeapSnapshot and process.report (Rafael Gonzaga) #48564
  • [f691dca6c9] - readline: use addAbortListener (atlowChemi) #48550
  • [227e6bd898] - src: pass syscall on fs.readFileSync fail operation (Yagiz Nizipli) #48815
  • [a9a4b73653] - src: make BaseObject iteration order deterministic (Joyee Cheung) #48702
  • [d99ea4845a] - src: remove kEagerCompile for CompileFunction (Keyhan Vakil) #48671
  • [df363d0010] - src: deduplicate X509 getter implementations (Tobias Nießen) #48563
  • [9cf2e1f55b] - src,lib: reducing C++ calls of esm legacy main resolve (Vinicius Lourenço) #48325
  • [daeb21dde9] - stream: fix deadlock when pipeing to full sink (Robert Nagy) #48691
  • [5a382d02d6] - stream: use addAbortListener (atlowChemi) #48550
  • [6e82077dd4] - test: deflake test-net-throttle (Luigi Pinca) #48599
  • [d378b2c822] - test: move test-net-throttle to parallel (Luigi Pinca) #48599
  • [dfa0aee5bf] - Revert "test: remove test-crypto-keygen flaky designation" (Luigi Pinca) #48652
  • [0ef73ff6f0] - (SEMVER-MINOR) test_runner: add shards support (Raz Luvaton) #48639
  • [e2442bb7ef] - timers: support Symbol.dispose (Moshe Atlow) #48633
  • [4398ade426] - tools: run fetch_deps.py with Python 3 (Richard Lau) #48729
  • [38ce95d054] - tools: update doc to [email protected] [email protected] (Node.js GitHub Bot) #48714
  • [b25e78a998] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #48705
  • [a1f4ff7c59] - tools: update eslint to 8.44.0 (Node.js GitHub Bot) #48632
  • [42dc6eb698] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #48631
  • [07bfcc45ab] - url: fix canParse false value when v8 optimizes (Yagiz Nizipli) #48817

New in Node.js 20.4.0 Current (Jul 7, 2023)

  • Notable Changes:
  • Mock Timers:
  • The new feature allows developers to write more reliable and predictable tests for time-dependent functionality. It includes MockTimers with the ability to mock setTimeout, setInterval from globals, node:timers, and node:timers/promises.
  • The feature provides a simple API to advance time, enable specific timers, and release all timers.
  • Support to the explicit resource management proposal:
  • Node is adding support to the explicit resource management proposal to its resources allowing users of TypeScript/babel to use using/await using with V8 support for everyone else on the way.
  • This feature was contributed by Moshe Atlow and Benjamin Gruenbaum in #48518.
  • Other notable changes:
  • [fe333d2584] - crypto: update root certificates to NSS 3.90 (Node.js GitHub Bot) #48416
  • [60c2ea4e79] - doc: add vmoroz to collaborators (Vladimir Morozov) #48527
  • [5cacdf9e6b] - doc: add kvakil to collaborators (Keyhan Vakil) #48449
  • [504d1d7bdc] - (SEMVER-MINOR) tls: add ALPNCallback server option for dynamic ALPN negotiation (Tim Perry) #45190
  • Commits:
  • [8a611a387f] - benchmark: add bar.R (Rafael Gonzaga) #47729
  • [12fa716cf9] - benchmark: refactor crypto oneshot (Filip Skokan) #48267
  • [d6ecbde592] - benchmark: add crypto.create*Key (Filip Skokan) #48284
  • [e60b6dedd8] - bootstrap: unify snapshot builder and embedder entry points (Joyee Cheung) #48242
  • [40662957b1] - bootstrap: simplify initialization of source map handlers (Joyee Cheung) #48304
  • [6551538079] - build: fix configure --link-module (Richard Lau) #48522
  • [f7f32089e7] - build: sync libuv header change (Jiawen Geng) #48429
  • [f60205c915] - build: update action to close stale PRs (Michael Dawson) #48196
  • [4f4d0b802e] - child_process: improve spawn performance on Linux (Keyhan Vakil) #48523
  • [fe333d2584] - crypto: update root certificates to NSS 3.90 (Node.js GitHub Bot) #48416
  • [89aaf16237] - crypto: remove OPENSSL_FIPS guard for OpenSSL 3 (Richard Lau) #48392
  • [6199e1946c] - deps: upgrade to libuv 1.46.0 (Santiago Gimeno) #48618
  • [1b2b930fda] - deps: add loong64 config into openssl gypi (Shi Pujin) #48043
  • [ba8d048929] - deps: update acorn to 8.9.0 (Node.js GitHub Bot) #48484
  • [d96f921d06] - deps: update zlib to 1.2.13.1-motley-f81f385 (Node.js GitHub Bot) #48541
  • [ed1d047e8f] - deps: update googletest to ec4fed9 (Node.js GitHub Bot) #48538
  • [f43d718c67] - deps: update minimatch to 9.0.2 (Node.js GitHub Bot) #48542
  • [2f66147cbf] - deps: update corepack to 0.19.0 (Node.js GitHub Bot) #48540
  • [d91b0fde73] - deps: V8: cherry-pick 1a782f6543ae (Keyhan Vakil) #48523
  • [112335e342] - deps: update corepack to 0.18.1 (Node.js GitHub Bot) #48483
  • [2b141c413f] - deps: update icu to 73.2 (Node.js GitHub Bot) #48502
  • [188b34d4a1] - deps: upgrade npm to 9.7.2 (npm team) #48514
  • [bf0444b5d9] - deps: update zlib to 1.2.13.1-motley-3ca9f16 (Node.js GitHub Bot) #48413
  • [b339d80a56] - deps: upgrade npm to 9.7.1 (npm team) #48378
  • [4132931b87] - deps: update simdutf to 3.2.14 (Node.js GitHub Bot) #48344
  • [8cd56c1e85] - deps: update ada to 2.5.1 (Node.js GitHub Bot) #48319
  • [78cffcd645] - deps: update zlib to 982b036 (Node.js GitHub Bot) #48327
  • [6d00c2e33b] - doc: fix options order (Luigi Pinca) #48617
  • [7ad2d3a5d1] - doc: update security release stewards (Rafael Gonzaga) #48569
  • [cc3a056fdd] - doc: update return type for describe (Shrujal Shah) #48572
  • [99ae0b98af] - doc: run license-builder (github-actions[bot]) #48552
  • [9750d8205c] - doc: add description of autoAllocateChunkSize in ReadableStream (Debadree Chatterjee) #48004
  • [417927bb41] - doc: fix filename type in watch result (Dmitry Semigradsky) #48032
  • [ca2ae86bd7] - doc: unnest mime and MIMEParams from MIMEType constructor (Dmitry Semigradsky) #47950
  • [bda1228135] - doc: update security-release-process.md (Rafael Gonzaga) #48504
  • [60c2ea4e79] - doc: add vmoroz to collaborators (Vladimir Morozov) #48527
  • [37bc0eac4a] - doc: improve inspector.close() description (mary marchini) #48494
  • [2a403cdad5] - doc: link to Runtime Keys in export conditions (Jacob Hummer) #48408
  • [e2d579e644] - doc: update fs flags documentation (sinkhaha) #48463
  • [38bf290115] - doc: revise error.md introduction (Antoine du Hamel) #48423
  • [641a2e9c6d] - doc: add preveen-stack to triagers (Preveen P) #48387
  • [4ab5e8d2e3] - doc: refine when file is undefined in test events (Moshe Atlow) #48451
  • [5cacdf9e6b] - doc: add kvakil to collaborators (Keyhan Vakil) #48449
  • [b9c643e3ef] - doc: add additional info on TSFN dispatch (Michael Dawson) #48367
  • [17a0e1d1bf] - doc: add link for news from security wg (Michael Dawson) #48396
  • [3a62994a4f] - doc: fix typo in events.md (Darshan Sen) #48436
  • [e10a4cdf68] - doc: run license-builder (github-actions[bot]) #48336
  • [19fde638fd] - fs: call the callback with an error if writeSync fails (killa) #47949
  • [4cad9fd8bd] - fs: remove unneeded return statement (Luigi Pinca) #48526
  • [d367b73f43] - fs: use kResistStopPropagation (Chemi Atlow) #48521
  • [e50c3169af] - fs, stream: initial Symbol.dispose and Symbol.asyncDispose support (Moshe Atlow) #48518
  • [7d8a0b6eb7] - http: null the joinDuplicateHeaders property on cleanup (Luigi Pinca) #48608
  • [94ebb02f59] - http: server add async dispose (atlowChemi) #48548
  • [c6a69e31a3] - http: remove useless ternary in test (geekreal) #48481
  • [2f0f40328f] - http: fix for handling on boot timers headers and request (Franciszek Koltuniuk) #48291
  • [5378ad8ab1] - http2: server add asyncDispose (atlowChemi) #48548
  • [97a58c5970] - https: server add asyncDispose (atlowChemi) #48548
  • [40ae6eb6aa] - https: fix connection checking interval not clearing on server close (Nitzan Uziely) #48383
  • [15530fea4c] - lib: merge cjs and esm package json reader caches (Yagiz Nizipli) #48477
  • [32bda81c31] - lib: reduce url getters on makeRequireFunction (Yagiz Nizipli) #48492
  • [0da03f01ba] - lib: remove duplicated requires in check_syntax (Yagiz Nizipli) #48508
  • [97b00c347d] - lib: add option to force handling stopped events (Chemi Atlow) #48301
  • [fe16749649] - lib: fix output message when repl is used with pm (Rafael Gonzaga) #48438
  • [8c2c02d28a] - lib: create weakRef only if any signals provided (Chemi Atlow) #48448
  • [b6ae411ea9] - lib: remove obsolete deletion of bufferBinding.zeroFill (Chengzhong Wu) #47881
  • [562b3d4856] - lib: move web global bootstrapping to the expected file (Chengzhong Wu) #47881
  • [f9c0d5acac] - lib: fix blob.stream() causing hanging promises (Debadree Chatterjee) #48232
  • [0162a0f5bf] - lib: add support for inherited custom inspection methods (Antoine du Hamel) #48306
  • [159ab6627a] - lib: reduce URL invocations on http2 origins (Yagiz Nizipli) #48338
  • [f0709fdc59] - module: add SourceMap.findOrigin (Isaac Z. Schlueter) #47790
  • [4ec2d925b1] - module: reduce url invocations in esm/load.js (Yagiz Nizipli) #48337
  • [2c363971cc] - net: improve network family autoselection handle handling (Paolo Insogna) #48464
  • [dbf9e9ffc8] - node-api: provide napi_define_properties fast path (Gabriel Schulhof) #48440
  • [87ad657777] - node-api: implement external strings (Gabriel Schulhof) #48339
  • [4efa6807ea] - permission: handle end nodes with children cases (Rafael Gonzaga) #48531
  • [84fe811108] - repl: display dynamic import variant in static import error messages (Hemanth HM) #48129
  • [bdcc037470] - report: disable js stack when no context is entered (Chengzhong Wu) #48495
  • [97bd9ccd04] - src: fix uninitialized field access in AsyncHooks (Jan Olaf Krems) #48566
  • [404958fc96] - src: fix Coverity issue regarding unnecessary copy (Yagiz Nizipli) #48565
  • [c4b8edea24] - src: refactor SplitString in util (Yagiz Nizipli) #48491
  • [5bc13a4772] - src: revert IS_RELEASE (Rafael Gonzaga) #48505
  • [4971e46051] - src: add V8 fast api to guessHandleType (Yagiz Nizipli) #48349
  • [954e46e792] - src: return uint32 for guessHandleType (Yagiz Nizipli) #48349
  • [05009675da] - src: make realm binding data store weak (Chengzhong Wu) #47688
  • [120ac74352] - src: remove aliased buffer weak callback (Chengzhong Wu) #47688
  • [6591826e99] - src: handle wasm out of bound in osx will raise SIGBUS correctly (Congcong Cai) #46561
  • [1b84ddeec2] - src: implement constants binding directly (Joyee Cheung) #48186
  • [06d49c1f10] - src: implement natives binding without special casing (Joyee Cheung) #48186
  • [325441abf5] - src: add missing to_ascii method in dns queries (Daniel Lemire) #48354
  • [84d0eb74b8] - stream: fix premature pipeline end (Robert Nagy) #48435
  • [3df7368735] - test: add missing assertions to test-runner-cli (Moshe Atlow) #48593
  • [07eb310b0d] - test: remove test-crypto-keygen flaky designation (Luigi Pinca) #48575
  • [75aa0a7682] - test: remove test-timers-immediate-queue flaky designation (Luigi Pinca) #48575
  • [a9756f3126] - test: add Symbol.dispose support to mock timers (Benjamin Gruenbaum) #48549
  • [0f912a7248] - test: mark test-child-process-stdio-reuse-readable-stdio flaky (Luigi Pinca) #48537
  • [30f4bc4985] - test: make IsolateData per-isolate in cctest (Joyee Cheung) #48450
  • [407ce3fdcb] - test: define NAPI_VERSION before including node_api.h (Chengzhong Wu) #48376
  • [24a8fa95f0] - test: remove unnecessary noop function args to mustNotCall() (Antoine du Hamel) #48513
  • [09af579775] - test: skip test-runner-watch-mode on IBMi (Moshe Atlow) #48473
  • [77cb1ee0b2] - test: add missing include for std::find (Sam James) #48380
  • [7c790ca03c] - test: fix flaky test-watch-mode (Moshe Atlow) #48147
  • [1398829746] - test: fix test-net-autoselectfamily for kernel without IPv6 support (Livia Medeiros) #48265
  • [764119ba4b] - test: update url web-platform tests (Yagiz Nizipli) #48319
  • [f1ead59629] - test: ignore the copied entry_point.c (Luigi Pinca) #48297
  • [fc5d1bddcb] - test: refactor test-gc-http-client-timeout (Luigi Pinca) #48292
  • [46a3d068a0] - test: update encoding web-platform tests (Yagiz Nizipli) #48320
  • [141e5aad83] - test: update FileAPI web-platform tests (Yagiz Nizipli) #48322
  • [83cfc67099] - test: update user-timing web-platform tests (Yagiz Nizipli) #48321
  • [2c56835a33] - test_runner: fixed test shorthands return type (Shocker) #48555
  • [7d01c8894a] - (SEMVER-MINOR) test_runner: add initial draft for fakeTimers (Erick Wendel) #47775
  • [de4f14c249] - test_runner: add enqueue and dequeue events (Moshe Atlow) #48428
  • [5ebe3a4ea7] - test_runner: make --test-name-pattern recursive (Moshe Atlow) #48382
  • [93bf447308] - test_runner: refactor coverage report output for readability (Damien Seguin) #47791
  • [504d1d7bdc] - (SEMVER-MINOR) tls: add ALPNCallback server option for dynamic ALPN negotiation (Tim Perry) #45190
  • [203c3cf4ca] - tools: update lint-md-dependencies (Node.js GitHub Bot) #48544
  • [333907b19d] - tools: speedup compilation of js2c output (Keyhan Vakil) #48160
  • [10bd5f4d97] - tools: update lint-md-dependencies (Node.js GitHub Bot) #48486
  • [52de27b9fe] - tools: pin ruff version number (Rich Trott) #48505
  • [4345526644] - tools: replace sed with perl (Luigi Pinca) #48499
  • [6c590835f3] - tools: automate update openssl v16 (Marco Ippolito) #48377
  • [90b5335338] - tools: update eslint to 8.43.0 (Node.js GitHub Bot) #48487
  • [cd83530a11] - tools: update doc to [email protected] (Node.js GitHub Bot) #48485
  • [e500b439bd] - tools: prepare tools/doc for to-vfile 8.0.0 (Rich Trott) #48485
  • [d623616813] - tools: update lint-md-dependencies (Node.js GitHub Bot) #48417
  • [a2e107dde4] - tools: update create-or-update-pull-request-action (Richard Lau) #48398
  • [8009e2c3be] - tools: update eslint-plugin-jsdoc (Richard Lau) #48393
  • [10385c8565] - tools: add version update to external dependencies (Andrea Fassina) #48081
  • [b1cef81b18] - tools: update eslint to 8.42.0 (Node.js GitHub Bot) #48328
  • [0923dc0b8e] - tools: disable jsdoc/no-defaults rule (Luigi Pinca) #48328
  • [b03146da85] - typings: remove unused primordials (Yagiz Nizipli) #48509
  • [e9c9d187b9] - typings: fix JSDoc in ESM loader modules (Antoine du Hamel) #48424
  • [fafe651d23] - url: conform to origin getter spec changes (Yagiz Nizipli) #48319

New in Node.js 20.3.1 Current (Jun 21, 2023)

  • Notable Changes:
  • The following CVEs are fixed in this release:
  • CVE-2023-30581: mainModule.__proto__ Bypass Experimental Policy Mechanism (High)
  • CVE-2023-30584: Path Traversal Bypass in Experimental Permission Model (High)
  • CVE-2023-30587: Bypass of Experimental Permission Model via Node.js Inspector (High)
  • CVE-2023-30582: Inadequate Permission Model Allows Unauthorized File Watching (Medium)
  • CVE-2023-30583: Bypass of Experimental Permission Model via fs.openAsBlob() (Medium)
  • CVE-2023-30585: Privilege escalation via Malicious Registry Key manipulation during Node.js installer repair process (Medium)
  • CVE-2023-30586: Bypass of Experimental Permission Model via Arbitrary OpenSSL Engines (Medium)
  • CVE-2023-30588: Process interuption due to invalid Public Key information in x509 certificates (Medium)
  • CVE-2023-30589: HTTP Request Smuggling via Empty headers separated by CR (Medium)
  • CVE-2023-30590: DiffieHellman does not generate keys after setting a private key (Medium)
  • OpenSSL Security Releases:
  • OpenSSL security advisory 28th March.
  • OpenSSL security advisory 20th April.
  • OpenSSL security advisory 30th May
  • Commits:
  • [dac08dafc9] - crypto: handle cert with invalid SPKI gracefully (Tobias Nießen) nodejs-private/node-private#393
  • [d274c3babc] - crypto,https,tls: disable engines if perms enabled (Tobias Nießen) nodejs-private/node-private#409
  • [5621c1de38] - deps: update archs files for openssl-3.0.9-quic1 (Node.js GitHub Bot) #48402
  • [771caa9f1c] - deps: upgrade openssl sources to quictls/openssl-3.0.9-quic1 (Node.js GitHub Bot) #48402
  • [0459bf9c99] - doc,test: clarify behavior of DH generateKeys (Tobias Nießen) nodejs-private/node-private#426
  • [27e20501aa] - http: disable request smuggling via empty headers (Paolo Insogna) nodejs-private/node-private#427
  • [9c17e335f1] - msi: do not create AppDataRoamingnpm (Tobias Nießen) nodejs-private/node-private#408
  • [b51124c637] - permission: handle fs path traversal (RafaelGSS) nodejs-private/node-private#403
  • [ebc5927adc] - permission: handle fs.openAsBlob (RafaelGSS) nodejs-private/node-private#405
  • [c39a43bff5] - permission: handle fs.watchFile (RafaelGSS) nodejs-private/node-private#404
  • [d0a8264ec9] - policy: handle mainModule.__proto__ bypass (RafaelGSS) nodejs-private/node-private#416
  • [3df13d5a79] - src,permission: restrict inspector when pm enabled (RafaelGSS) nodejs-private/node-private#410

New in Node.js 20.3.0 Current (Jun 9, 2023)

  • Notable Changes:
  • [bfcb3d1d9a] - deps: upgrade to libuv 1.45.0, including significant performance improvements to file system operations on Linux (Santiago Gimeno) #48078
  • [5094d1b292] - doc: add Ruy Adorno to list of TSC members (Michael Dawson) #48172
  • [2f5dbca690] - doc: mark Node.js 14 as End-of-Life (Richard Lau) #48023
  • [b1828b325e] - (SEMVER-MINOR) lib: implement AbortSignal.any() (Chemi Atlow) #47821
  • [f380953103] - module: change default resolver to not throw on unknown scheme (Gil Tayar) #47824
  • [a94f87ed99] - (SEMVER-MINOR) node-api: define version 9 (Chengzhong Wu) #48151
  • [9e2b13dfa7] - stream: deprecate asIndexedPairs (Chemi Atlow) #48102
  • Commits:
  • [35c96156d1] - benchmark: use cluster.isPrimary instead of cluster.isMaster (Deokjin Kim) #48002
  • [3e6e3abf32] - bootstrap: throw ERR_NOT_SUPPORTED_IN_SNAPSHOT in unsupported operation (Joyee Cheung) #47887
  • [c480559347] - bootstrap: put is_building_snapshot state in IsolateData (Joyee Cheung) #47887
  • [50c0a15535] - build: set v8_enable_webassembly=false when lite mode is enabled (Cheng Shao) #48248
  • [4562805cf6] - build: speed up compilation of mksnapshot output (Keyhan Vakil) #48162
  • [8b89f13933] - build: add action to close stale PRs (Michael Dawson) #48051
  • [5d92202220] - build: replace js2c.py with js2c.cc (Joyee Cheung) #46997
  • [6cf2adc36e] - cluster: use ObjectPrototypeHasOwnProperty (Daeyeon Jeong) #48141
  • [f564b03c38] - crypto: use openssl's own memory BIOs in crypto_context.cc (GauriSpears) #47160
  • [ac8dd61fc3] - crypto: remove default encoding from cipher (Tobias Nießen) #47998
  • [15c2de4407] - crypto: fix setEngine() when OPENSSL_NO_ENGINE set (Tobias Nießen) #47977
  • [9e2dd5b5e2] - deps: update zlib to 337322d (Node.js GitHub Bot) #48218
  • [bfcb3d1d9a] - deps: upgrade to libuv 1.45.0 (Santiago Gimeno) #48078
  • [13930f092f] - deps: update ada to 2.5.0 (Node.js GitHub Bot) #48223
  • [3047caebec] - deps: set CARES_RANDOM_FILE for c-ares (Richard Lau) #48156
  • [0db79a0872] - deps: update histogram 0.11.8 (Marco Ippolito) #47742
  • [99af6716f5] - deps: update histogram to 0.11.7 (Marco Ippolito) #47742
  • [d4922bc985] - deps: update c-ares to 1.19.1 (Node.js GitHub Bot) #48115
  • [f6ccdb289f] - deps: update simdutf to 3.2.12 (Node.js GitHub Bot) #48118
  • [3ed0afc778] - deps: update minimatch to 9.0.1 (Node.js GitHub Bot) #48094
  • [df7540fb73] - deps: update ada to 2.4.2 (Node.js GitHub Bot) #48092
  • [07df5c48e8] - deps: update corepack to 0.18.0 (Node.js GitHub Bot) #48091
  • [d95a5bb559] - deps: update uvwasi to 0.0.18 (Node.js GitHub Bot) #47866
  • [443477e041] - deps: update uvwasi to 0.0.17 (Node.js GitHub Bot) #47866
  • [03f67d6d6d] - deps: upgrade npm to 9.6.7 (npm team) #48062
  • [d3e3a911fd] - deps: update nghttp2 to 1.53.0 (Node.js GitHub Bot) #47997
  • [f7c4daaf67] - deps: update ada to 2.4.1 (Node.js GitHub Bot) #48036
  • [c6a752560d] - deps: add loongarch64 into openssl Makefile and gen openssl-loongarch64 (Shi Pujin) #46401
  • [d194241716] - deps: update undici to 5.22.1 (Node.js GitHub Bot) #47994
  • [02e919f4a2] - deps,test: update postject to 1.0.0-alpha.6 (Node.js GitHub Bot) #48072
  • [2c19f596ad] - doc: clarify array args to Buffer.from() (Bryan English) #48274
  • [d681e5f456] - doc: document watch option for node:test run() (Moshe Atlow) #48256
  • [96e54ddbca] - doc: reserve 117 for Electron 26 (Calvin) #48245
  • [9aff8c7818] - doc: update documentation for FIPS support (Richard Lau) #48194
  • [8c5338648f] - doc: improve the documentation of the stdio option (Kumar Arnav) #48110
  • [11918d705f] - doc: update Buffer.allocUnsafe description (sinkhaha) #48183
  • [2b51ee5e22] - doc: update codeowners with website team (Claudio Wunder) #48197
  • [360df25d04] - doc: fix broken link to new folder doc/contributing/maintaining (Andrea Fassina) #48205
  • [13e95e21a4] - doc: add atlowChemi to triagers (Chemi Atlow) #48104
  • [5f83ce530f] - doc: fix typo in readline completer function section (Vadym) #48188
  • [3c82165d27] - doc: remove broken link for keygen (Rich Trott) #48176
  • [0ca90a1e6d] - doc: add auto intrinsic height to prevent jitter/flicker (Daniel Holbert) #48195
  • [f117855092] - doc: add version info on the SEA docs (Antoine du Hamel) #48173
  • [5094d1b292] - doc: add Ruy to list of TSC members (Michael Dawson) #48172
  • [39d8140227] - doc: update socket.remote* properties documentation (Saba Kharanauli) #48139
  • [5497c13efe] - doc: update outdated section on TLSv1.3-PSK (Tobias Nießen) #48123
  • [281dfaf727] - doc: improve HMAC key recommendations (Tobias Nießen) #48121
  • [bd311b6c70] - doc: clarify mkdir() recursive behavior (Stephen Odogwu) #48109
  • [5b061c8922] - doc: fix typo in crypto legacy streams API section (Tobias Nießen) #48122
  • [10ccb2bd81] - doc: update SEA source link (Rich Trott) #48080
  • [415bf7f532] - doc: clarify tty.isRaw (Roberto Vidal) #48055
  • [0ac4b33c76] - doc: correct line break for Windows terminals (Alex Schwartz) #48083
  • [f30ba5c320] - doc: fix Windows code snippet tags (Antoine du Hamel) #48100
  • [12fef9b68c] - doc: harmonize fenced code snippet flags (Antoine du Hamel) #48082
  • [13f163eace] - doc: use secure key length for HMAC generateKey (Tobias Nießen) #48052
  • [1e3e7c9f33] - doc: update broken EVP_BytesToKey link (Rich Trott) #48064
  • [5917ba1838] - doc: update broken spkac link (Rich Trott) #48063
  • [0e4a3b7db1] - doc: document node-api version process (Chengzhong Wu) #47972
  • [85bbaa94ea] - doc: update process.versions properties (Saba Kharanauli) #48019
  • [7660eb591a] - doc: fix typo in binding functions (Deokjin Kim) #48003
  • [2f5dbca690] - doc: mark Node.js 14 as End-of-Life (Richard Lau) #48023
  • [3b94a739f2] - doc: clarify CRYPTO_CUSTOM_ENGINE_NOT_SUPPORTED (Tobias Nießen) #47976
  • [9e381cfa89] - doc: add heading for permission model limitations (Tobias Nießen) #47989
  • [802db923e0] - doc,vm: clarify usage of cachedData in vm.compileFunction() (Darshan Sen) #48193
  • [11a3434810] - esm: remove support for arrays in import internal method (Antoine du Hamel) #48296
  • [3b00f3afef] - esm: handle globalPreload hook returning a nullish value (Antoine du Hamel) #48249
  • [3c7846d7e1] - esm: handle more error types thrown from the loader thread (Antoine du Hamel) #48247
  • [60ce2bcabc] - http: send implicit headers on HEAD with no body (Matteo Collina) #48108
  • [72de4e7170] - lib: do not disable linter for entire files (Antoine du Hamel) #48299
  • [10cc60fc91] - lib: use existing isWindows variable (sinkhaha) #48134
  • [a90010aae9] - lib: support FORCE_COLOR for non TTY streams (Moshe Atlow) #48034
  • [b1828b325e] - (SEMVER-MINOR) lib: implement AbortSignal.any() (Chemi Atlow) #47821
  • [8f1b86961f] - meta: bump github/codeql-action from 2.3.3 to 2.3.6 (dependabot[bot]) #48287
  • [1b87ccdf70] - meta: bump actions/setup-python from 4.6.0 to 4.6.1 (dependabot[bot]) #48286
  • [10715aea26] - meta: bump codecov/codecov-action from 3.1.3 to 3.1.4 (dependabot[bot]) #48285
  • [79f73778ab] - meta: remove dont-land-on-v14 auto labeling (Shrujal Shah) #48031
  • [9c5711f3ea] - meta: move one or more collaborators to emeritus (Node.js GitHub Bot) #48010
  • [6d6bf3ee52] - module: reduce the number of URL initializations (Yagiz Nizipli) #48272
  • [f380953103] - module: change default resolver to not throw on unknown scheme (Gil Tayar) #47824
  • [950185b0c0] - net: fix address iteration with autoSelectFamily (Fedor Indutny) #48258
  • [5ddca72e62] - net: fix family autoselection SSL connection handling (Paolo Insogna) #48189
  • [750e53ca3c] - net: fix family autoselection timeout handling (Paolo Insogna) #47860
  • [a94f87ed99] - (SEMVER-MINOR) node-api: define version 9 (Chengzhong Wu) #48151
  • [e834979818] - node-api: add status napi_cannot_run_js (Gabriel Schulhof) #47986
  • [eafe0c3ec6] - node-api: napi_ref on all types is experimental (Vladimir Morozov) #47975
  • [9a034746f5] - src: add Realm document in the src README.md (Chengzhong Wu) #47932
  • [b8f4070f71] - src: check node_extra_ca_certs after openssl cfg (Raghu Saxena) #48159
  • [0347a18056] - src: include missing header in node_sea.h (Joyee Cheung) #48152
  • [45c3782c20] - src: remove INT_MAX asserts in SecretKeyGenTraits (Tobias Nießen) #48053
  • [b25e7045ad] - src: avoid prototype access in binding templates (Joyee Cheung) #47913
  • [33aa373eec] - src: use Blob{Des|S}erializer for SEA blobs (Joyee Cheung) #47962
  • [9e2b13dfa7] - stream: deprecate asIndexedPairs (Chemi Atlow) #48102
  • [96c323dee2] - test: mark test-child-process-pipe-dataflow as flaky (Moshe Atlow) #48334
  • [9875885357] - test: adapt tests for OpenSSL 3.1 (OttoHollmann) #47859
  • [3440d7c6bf] - test: unflake test-vm-timeout-escape-nexttick (Santiago Gimeno) #48078
  • [215b2bc72c] - test: fix zlib version regex (Luigi Pinca) #48227
  • [e12ee59d26] - test: use lower security level in s_client (Luigi Pinca) #48192
  • [1dabc7390c] - Revert "test: unskip negative-settimeout.any.js WPT" (Filip Skokan) #48182
  • [c1c4796a86] - test: mark test_cannot_run_js as flaky (Keyhan Vakil) #48181
  • [8c49d74002] - test: fix flaky test-runner-watch-mode (Moshe Atlow) #48144
  • [6388766862] - test: skip test-http-pipeline-flood on IBM i (Abdirahim Musse) #48048
  • [8d2a3b1952] - test: ignore helper files in WPTs (Filip Skokan) #48079
  • [7a96d825fd] - test: move test-cluster-primary-error flaky test (Yagiz Nizipli) #48039
  • [a80dd3a8b3] - test: fix suite signal (Benjamin Gruenbaum) #47800
  • [a41cfd183f] - test: fix parsing test flags (Daeyeon Jeong) #48012
  • [4d4e506f2b] - test,doc,sea: run SEA tests on ppc64 (Darshan Sen) #48111
  • [44411fc40c] - test_runner: apply runOnly on suites (Moshe Atlow) #48279
  • [3f259b7a30] - test_runner: emit test:watch:drained event (Moshe Atlow) #48259
  • [c9f8e8c562] - test_runner: stop watch mode when abortSignal aborted (Moshe Atlow) #48259
  • [f3268d64cb] - test_runner: fix global after hook (Moshe Atlow) #48231
  • [15336c3139] - test_runner: remove redundant check from coverage (Colin Ihrig) #48070
  • [750d3e8606] - test_runner: pass FORCE_COLOR to child process (Moshe Atlow) #48057
  • [3278542243] - test_runner: dont split lines on test:stdout (Moshe Atlow) #48057
  • [027c531766] - test_runner: fix test deserialize edge cases (Moshe Atlow) #48106
  • [2b797a6d39] - test_runner: delegate stderr and stdout formatting to reporter (Shiba) #48045
  • [23d310bee8] - test_runner: display dot report as wide as the terminal width (Raz Luvaton) #48038
  • [fd2620dcf1] - tls: reapply servername on happy eyeballs connect (Fedor Indutny) #48255
  • [62f847d0b3] - tools: update rollup lint-md-dependencies (Node.js GitHub Bot) #48329
  • [3e97826a66] - Revert "tools: open issue when update workflow fails" (Marco Ippolito) #48312
  • [5f08bfe35f] - tools: don't gitignore base64 config.h (Ben Noordhuis) #48174
  • [ded0e2d755] - tools: update LICENSE and license-builder.sh (Santiago Gimeno) #48078
  • [07aa264366] - tools: automate histogram update (Marco Ippolito) #48171
  • [1416b75eaa] - tools: use shasum instead of sha256sum (Luigi Pinca) #48229
  • [b81e9d9b7b] - tools: harmonize dep_updaters scripts (Antoine du Hamel) #48201
  • [a60bc41e53] - tools: deps update authenticate github api request (Andrea Fassina) #48200
  • [7478ed014e] - tools: order dependency jobs alphabetically (Luca) #48184
  • [568a705799] - tools: refactor v8_pch config (Michaël Zasso) #47364
  • [801573ba46] - tools: log and verify sha256sum (Andrea Fassina) #48088
  • [db62325e18] - tools: open issue when update workflow fails (Marco Ippolito) #48018
  • [ad8a68856d] - tools: alphabetize CODEOWNERS (Rich Trott) #48124
  • [4cf5a9edaf] - tools: use latest upstream commit for zlib updates (Andrea Fassina) #48054
  • [8d93af381b] - tools: add security-wg as dep updaters owner (Marco Ippolito) #48113
  • [5325be1d99] - tools: port js2c.py to C++ (Joyee Cheung) #46997
  • [6c60d90277] - tools: fix race condition when npm installing (Tobias Nießen) #48101
  • [0ab840a58f] - tools: refloat 7 Node.js patches to cpplint.py (Rich Trott) #48098
  • [a298193378] - tools: update cpplint to 1.6.1 (Yagiz Nizipli) #48098
  • [f6725751b7] - tools: update eslint to 8.41.0 (Node.js GitHub Bot) #48097
  • [6539361f4e] - tools: update lint-md-dependencies (Node.js GitHub Bot) #48096
  • [5d94dbb951] - tools: update doc to [email protected] (Node.js GitHub Bot) #48095
  • [2226088048] - tools: add debug logs (Marco Ippolito) #48060
  • [0c8c383583] - tools: fix zconf.h path (Luigi Pinca) #48089
  • [6adaf4c648] - tools: update remark-preset-lint-node to 4.0.0 (Node.js GitHub Bot) #47995
  • [92b3334231] - url: clean vertical alignment of docs (Robin Ury) #48037
  • [ebb6536775] - url: call ada::can_parse directly (Yagiz Nizipli) #47919
  • [ed4514294a] - vm: properly handle defining symbol props (Nicolas DUBIEN) #47572

New in Node.js 20.2.0 Current (May 17, 2023)

  • Notable Changes:
  • [c092df9094] - doc: add ovflowd to collaborators (Claudio Wunder) #47844
  • [4197a9a5a0] - (SEMVER-MINOR) http: prevent writing to the body when not allowed by HTTP spec (Gerrard Lindsay) #47732
  • [c4596b9ce7] - (SEMVER-MINOR) sea: add option to disable the experimental SEA warning (Darshan Sen) #47588
  • [17befe008c] - (SEMVER-MINOR) test_runner: add skip, todo, and only shorthands to test (Chemi Atlow) #47909
  • [a0634d7f89] - (SEMVER-MINOR) url: add value argument to URLSearchParams has and delete methods (Sankalp Shubham) #47885
  • Commits:
  • [456fca0d9c] - bootstrap: initialize per-isolate properties of bindings separately (Joyee Cheung) #47768
  • [d6d12bf978] - bootstrap: log isolate data info in mksnapshot debug logs (Joyee Cheung) #47768
  • [e457d89a1b] - buffer: combine checking range of sourceStart in buf.copy (Deokjin Kim) #47758
  • [00668fcfb4] - child_process: use signal.reason in child process abort (Debadree Chatterjee) #47817
  • [d7993474ea] - crypto: remove default encoding from scrypt (Tobias Nießen) #47943
  • [09fb74a7cc] - crypto: fix webcrypto private/secret import with empty usages (Filip Skokan) #47877
  • [e9c6ee74f3] - crypto: remove default encoding from pbkdf2 (Tobias Nießen) #47869
  • [b7f13a8679] - deps: update simdutf to 3.2.9 (Node.js GitHub Bot) #47983
  • [b16f6da153] - deps: V8: cherry-pick 5f025d1ca2ca (Michaël Zasso) #47610
  • [99f8fcab45] - deps: V8: cherry-pick a8a11a87cb72 (Michaël Zasso) #47610
  • [c2b14b4c78] - deps: update ada to 2.4.0 (Node.js GitHub Bot) #47922
  • [cad42e7a56] - deps: V8: cherry-pick 1b471b796022 (Lu Yahan) #47399
  • [7b2f17ca59] - deps: upgrade npm to 9.6.6 (npm team) #47862
  • [d23b1af562] - deps: update ada to 2.3.1 (Node.js GitHub Bot) #47893
  • [72340c98fb] - dgram: convert macro to template (Tobias Nießen) #47891
  • [9be922892f] - dns: call ada::idna::to_ascii directly from c++ (Yagiz Nizipli) #47920
  • [4a1e97156a] - doc: add missing deprecated blocks to cluster (Tobias Nießen) #47981
  • [13118a19ee] - doc: update description of global (Tobias Nießen) #47969
  • [372796440b] - doc: update measure memory rejection information (Yash Ladha) #41639
  • [7ecc6740e4] - doc: fix broken link to TC39 import attributes proposal (Rich Trott) #47954
  • [b9771c95c7] - doc: fix broken link (Rich Trott) #47953
  • [6f5ba92e61] - doc: remove broken link (Rich Trott) #47942
  • [c9ffc555f1] - doc: document make lint-md-clean (Matteo Collina) #47926
  • [7ed99e8ba5] - doc: mark global object as legacy (Mert Can Altın) #47819
  • [bf39f2d252] - doc: ntfs junction points must link to directories (Ben Noordhuis) #47907
  • [4dfc3890d8] - doc: improve permission.has description (Daeyeon Jeong) #47875
  • [93f1aa2856] - doc: fix params names (Dmitry Semigradsky) #47853
  • [9a362aa2fb] - doc: update supported version of FreeBSD to 12.4 (Michaël Zasso) #47838
  • [89c70dc6e6] - doc: add stability experimental to pm (Rafael Gonzaga) #47890
  • [f96fb2eee7] - doc: swap Matteo with Rafael in the stewards (Rafael Gonzaga) #47841
  • [1666a146e3] - doc: add valgrind suppression details (Kevin Eady) #47760
  • [e53e8231ff] - doc: replace EOL versions in README (Tobias Nießen) #47833
  • [c092df9094] - doc: add ovflowd to collaborators (Claudio Wunder) #47844
  • [f7106765b3] - doc: update BUILDING.md previous versions links (Tobias Nießen) #47835
  • [811b43c215] - doc,test: update the v8.startupSnapshot doc and test the example (Joyee Cheung) #47468
  • [1ec640ac70] - esm: do not use 'beforeExit' on the main thread (Antoine du Hamel) #47964
  • [106dc612d6] - fs: make readdir recursive algorithm iterative (Ethan Arrowood) #47650
  • [a0da2348a8] - fs: move fs_use_promises_symbol to per-isolate symbols (Joyee Cheung) #47768
  • [4197a9a5a0] - (SEMVER-MINOR) http: prevent writing to the body when not allowed by HTTP spec (Gerrard Lindsay) #47732
  • [a4d6543598] - http2: improve nghttp2 error callback (Tobias Nießen) #47840
  • [a4fed6c580] - lib: update comment (sinkhaha) #47884
  • [fd8bec7b2b] - meta: bump step-security/harden-runner from 2.3.1 to 2.4.0 (Rich Trott) #47980
  • [f5b4b6d5dc] - meta: bump github/codeql-action from 2.3.2 to 2.3.3 (Rich Trott) #47979
  • [c05c0a2359] - meta: bump actions/setup-python from 4.5.0 to 4.6.0 (Rich Trott) #47968
  • [2a3d6d97cb] - meta: add security-wg ping to permission.js (Rafael Gonzaga) #47941
  • [6c158e8dd1] - meta: bump step-security/harden-runner from 2.2.1 to 2.3.1 (dependabot[bot]) #47808
  • [f7a8094d37] - meta: bump actions/setup-python from 4.5.0 to 4.6.0 (dependabot[bot]) #47806
  • [0f58e48792] - meta: bump actions/checkout from 3.3.0 to 3.5.2 (dependabot[bot]) #47805
  • [652b06dd82] - meta: remove extra space in scorecard workflow (Mestery) #47805
  • [9f06eaccaf] - meta: bump github/codeql-action from 2.2.9 to 2.3.2 (dependabot[bot]) #47809
  • [977fd7cf35] - meta: bump codecov/codecov-action from 3.1.1 to 3.1.3 (dependabot[bot]) #47807
  • [c19385c154] - module: refactor to use normalizeRequirableId in the CJS module loader (Darshan Sen) #47896
  • [739113f2fc] - module: block requiring test/reporters without scheme (Moshe Atlow) #47831
  • [f489c6710c] - (NODE-API-SEMVER-MAJOR) node-api: get Node API version used by addon (Vladimir Morozov) #45715
  • [7222f9d74b] - path: indicate index of wrong resolve() parameter (sosoba) #47660
  • [7dd32f1536] - permission: remove unused function declaration (Deokjin Kim) #47957
  • [af86625a05] - permission: resolve reference to absolute path only for fs permission (Daeyeon Jeong) #47930
  • [1625ae11fe] - quic: address recent coverity warning (Michael Dawson) #47753
  • [c4596b9ce7] - (SEMVER-MINOR) sea: add option to disable the experimental SEA warning (Darshan Sen) #47588
  • [1a7fc186bc] - sea: allow requiring core modules with the "node:" prefix (Darshan Sen) #47779
  • [786a1c5398] - src: deduplicate X509Certificate::Fingerprint* (Tobias Nießen) #47978
  • [060c1d502b] - src: stop copying code cache, part 2 (Keyhan Vakil) #47958
  • [1aec718619] - (SEMVER-MINOR) src: add cjs_module_lexer_version base64_version (Jithil P Ponnan) #45629
  • [0c06bfd8dc] - src: move BlobSerializerDeserializer to a separate header file (Darshan Sen) #47933
  • [bd553e7521] - src: rename SKIP_CHECK_SIZE to SKIP_CHECK_STRLEN (Tobias Nießen) #47845
  • [190596c189] - src: register external references for source code (Keyhan Vakil) #47055
  • [4293cc47f4] - src: support V8 experimental shared values in messaging (Shu-yu Guo) #47706
  • [9bc5d78f0c] - src: register ext reference for Fingerprint512 (Tobias Nießen) #47892
  • [a11507e23b] - src: stop copying code cache (Keyhan Vakil) #47144
  • [515c9b8de6] - src: clarify the parameter name in Permission::Apply (Daeyeon Jeong) #47874
  • [c4217613f5] - src: fix creating an ArrayBuffer from a Blob created with openAsBlob (Daeyeon Jeong) #47691
  • [4bc17fd67b] - src: avoid strcmp() with Utf8Value (Tobias Nießen) #47827
  • [d358317f70] - src: get binding data store directly from the realm (Joyee Cheung) #47437
  • [b04d51a0b5] - src: prefer data accessor of string and vector (Mohammed Keyvanzadeh) #47750
  • [2952cc576c] - src: add per-isolate SetFastMethod and Set[Fast]MethodNoSideEffect (Joyee Cheung) #47768
  • [010d2ecf94] - test: mark test-esm-loader-http-imports as flaky (Tobias Nießen) #47987
  • [bb33c74c07] - test: add getRandomValues return length (Jithil P Ponnan) #46357
  • [6e019586f7] - test: unskip negative-settimeout.any.js WPT (Filip Skokan) #47946
  • [8f547afe5f] - test: use appropriate usages for a negative import test (Filip Skokan) #47878
  • [7e34f77518] - test: fix webcrypto wrap unwrap tests (Filip Skokan) #47876
  • [30f4f35244] - test: fix output tests when path includes node version (Moshe Atlow) #47843
  • [54607bfd68] - test: reduce WPT concurrency (Filip Skokan) #47834
  • [17945a2495] - test: migrate a pseudo_tty test to use assertSnapshot (Moshe Atlow) #47803
  • [c9233679e8] - test: fix WPT state when process exits but workers are still running (Filip Skokan) #47826
  • [34bfb69b5b] - test: migrate message tests to use assertSnapshot (Moshe Atlow) #47498
  • [d25c785c2a] - test: allow SIGBUS in signal-handler abort test (Michaël Zasso) #47851
  • [aa2c7e00d7] - test,crypto: update WebCryptoAPI WPT (Filip Skokan) #47921
  • [da27542058] - test_runner: use v8.serialize instead of TAP (Moshe Atlow) #47867
  • [17befe008c] - (SEMVER-MINOR) test_runner: add shorthands to test (Chemi Atlow) #47909
  • [42db1d50a0] - test_runner: fix ordering of test hooks (Phil Nash) #47931
  • [d81c54e3a8] - test_runner: omit inaccessible files from coverage (Colin Ihrig) #47850
  • [a4e261e910] - tools: debug log for nghttp3 (Marco Ippolito) #47992
  • [f6ff318d4c] - tools: automate icu-small update (Marco Ippolito) #47727
  • [706c305381] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #47903
  • [e22c686ca9] - tools: update eslint to 8.40.0 (Node.js GitHub Bot) #47906
  • [36f7cfac93] - tools: update eslint to 8.39.0 (Node.js GitHub Bot) #47789
  • [7323902a40] - tools: fix jsdoc lint (Moshe Atlow) #47789
  • [a0634d7f89] - (SEMVER-MINOR) url: add value argument to has and delete methods (Sankalp Shubham) #47885
  • [1b06c1e003] - url: improve isURL detection (Yagiz Nizipli) #47886
  • [2bd869d20c] - vm: fix crash when setting __proto__ on context's globalThis (Feng Yu) #47939
  • [e6685f9e82] - vm,lib: refactor microtaskQueue assignment logic (Khaidi Chu) #47765
  • [47fea13dac] - worker: support more cases when (de)serializing errors (Moshe Atlow) #47925
  • [6f3876c035] - worker: use snapshot in workers spawned by workers (Joyee Cheung) #47731

New in Node.js 20.1.0 Current (May 15, 2023)

  • Notable Changes:
  • [5e99598639] - assert: deprecate CallTracker (Moshe Atlow) #47740
  • [2d97c89c6f] - crypto: update root certificates to NSS 3.89 (Node.js GitHub Bot) #47659
  • [ce8820e292] - (SEMVER-MINOR) dns: expose getDefaultResultOrder (btea) #46973
  • [9d30f469aa] - doc: add KhafraDev to collaborators (Matthew Aitken) #47510
  • [439ea47a77] - (SEMVER-MINOR) fs: add recursive option to readdir and opendir (Ethan Arrowood) #41439
  • [a54e898dc8] - (SEMVER-MINOR) fs: add support for mode flag to specify the copy behavior of the cp methods (Tetsuharu Ohzeki) #47084
  • [4fa773964b] - (SEMVER-MINOR) http: add highWaterMark option http.createServer (HinataKah0) #47405
  • [2b411f4b42] - (SEMVER-MINOR) stream: preserve object mode in compose (Raz Luvaton) #47413
  • [5327483f31] - (SEMVER-MINOR) test_runner: add testNamePatterns to run API (Chemi Atlow) #47628
  • [bdd02a467d] - (SEMVER-MINOR) test_runner: execute before hook on test (Chemi Atlow) #47586
  • [0e70c187bc] - (SEMVER-MINOR) test_runner: support combining coverage reports (Colin Ihrig) #47686
  • [75c1d1b66e] - (SEMVER-MINOR) wasi: make returnOnExit true by default (Michael Dawson) #47390
  • Commits:
  • [33d1bd3e02] - assert: deprecate callTracker (Moshe Atlow) #47740
  • [6d87355e83] - benchmark: add eventtarget creation bench (Rafael Gonzaga) #47774
  • [40324a1dea] - benchmark: differentiate whatwg and legacy url (Yagiz Nizipli) #47377
  • [936d7cb069] - benchmark: add a benchmark for defaultResolve (Antoine du Hamel) #47543
  • [202042ee93] - bootstrap: support namespaced builtins in snapshot scripts (Joyee Cheung) #47467
  • [30af5cee55] - build: use pathlib for paths (Mohammed Keyvanzadeh) #47581
  • [089c9c51e9] - build: refactor configure.py (Mohammed Keyvanzadeh) #47667
  • [5b851c8074] - build: add devcontainer configuration (Tierney Cyren) #40825
  • [35e8b3b467] - build: bump ossf/scorecard-action from 2.1.2 to 2.1.3 (dependabot[bot]) #47367
  • [78c08243df] - build: replace Python linter flake8 with ruff (Christian Clauss) #47519
  • [2d97c89c6f] - crypto: update root certificates to NSS 3.89 (Node.js GitHub Bot) #47659
  • [420feb41cf] - crypto: remove INT_MAX restriction in randomBytes (Tobias Nießen) #47559
  • [6046779dd9] - deps: disable V8 concurrent sparkplug compilation (Michaël Zasso) #47450
  • [00d461e93f] - deps: V8: cherry-pick c5ab3e4f0c5a (Richard Lau) #47736
  • [d08dd8069f] - deps: update ada to 2.3.0 (Node.js GitHub Bot) #47737
  • [996245976b] - deps: update undici to 5.22.0 (Node.js GitHub Bot) #47679
  • [f3ee3126df] - deps: update ada to 2.2.0 (Node.js GitHub Bot) #47678
  • [1391d3b9ff] - deps: add minimatch as a dependency (Moshe Atlow) #47499
  • [315454350d] - deps: update ada to 2.1.0 (Node.js GitHub Bot) #47598
  • [7f7735cad9] - deps: update ICU to 73.1 release (Steven R. Loomis) #47456
  • [13105c12b7] - deps: patch V8 to 11.3.244.8 (Michaël Zasso) #47536
  • [ede69d272a] - deps: update undici to 5.21.2 (Node.js GitHub Bot) #47508
  • [64b5a5f872] - deps: update simdutf to 3.2.8 (Node.js GitHub Bot) #47507
  • [2664536796] - deps: V8: cherry-pick 8e10685ff918 (Jiawen Geng) #47440
  • [ba9ec91f0e] - deps: update undici to 5.21.1 (Node.js GitHub Bot) #47488
  • [ce8820e292] - (SEMVER-MINOR) dns: expose getDefaultResultOrder (btea) #46973
  • [4c26e28c33] - doc: create maintaining folder for deps (Marco Ippolito) #47589
  • [aa0ef3eabd] - doc: fix --allow-* CLI flag references (Tobias Nießen) #47804
  • [98603b6fd3] - doc: clarify fs permissions only affect fs module (Tobias Nießen) #47782
  • [3befe5dac9] - doc: add copy node executable guide on windows (XLor) #47781
  • [98450d9892] - doc: remove MoLow from Triagers (Moshe Atlow) #47792
  • [d75036410d] - doc: fix typo in webstreams.md (Christian Takle) #47766
  • [ceba37a74f] - doc: move BethGriggs to regular member (Rich Trott) #47776
  • [b954ea9781] - doc: mark signing the binary is macOS and Windows only in SEA (Xuguang Mei) #47722
  • [26bccbcd10] - doc: move addaleax to TSC emeriti (Anna Henningsen) #47752
  • [20b0de242f] - doc: add link to news for Node.js core (Michael Dawson) #47704
  • [5709133dc7] - doc: fix a typo in permissions.md (Daeyeon Jeong) #47730
  • [c5c40a89f2] - doc: async_hooks asynchronous content example add mjs code (btea) #47401
  • [a1403a8df2] - doc: clarify concurrency model of test runner (Tobias Nießen) #47642
  • [c0c23fbe42] - doc: fix a typo in fs.openAsBlob (Daeyeon Jeong) #47693
  • [4cef98812d] - doc: fix typos (Mohammed Keyvanzadeh) #47685
  • [f30ef242ef] - doc: fix capitalization of ASan (Mohammed Keyvanzadeh) #47676
  • [78a3503406] - doc: fix typos in SECURITY.md (Mohammed Keyvanzadeh) #47677
  • [9101630e05] - doc: update error code of buffer (Deokjin Kim) #47617
  • [183f0c3e79] - doc: change offset of example in Buffer.copyBytesFrom (Deokjin Kim) #47606
  • [d11ff4bc53] - doc: improve fs permissions description (Tobias Nießen) #47596
  • [b58920c3a9] - doc: remove markdown link from heading (Tobias Nießen) #47585
  • [c36634e880] - doc: fix history ordering of WASI constructor (Antoine du Hamel) #47611
  • [d3fadd889d] - doc: fix release-post script location (Rafael Gonzaga) #47517
  • [2a0bbe7883] - doc: fix typo in webcrypto metadata (Tobias Nießen) #47595
  • [b0b16ee9f6] - doc: add link for news from uvwasi team (Michael Dawson) #47531
  • [7ca416af15] - doc: add missing setEncoding call in ESM example (Anna Henningsen) #47558
  • [f9abd59b41] - doc: update darwin-x64 toolchain used for Node.js 20 releases (Michaël Zasso) #47546
  • [0dc508070f] - doc: fix split infinitive in Hooks caveat (Jacob Smith) #47550
  • [4046280475] - doc: fix typo in util.types.isNativeError() (Julian Dax) #47532
  • [9d30f469aa] - doc: add KhafraDev to collaborators (Matthew Aitken) #47510
  • [537c17ec48] - doc: create maintaining-brotli.md (Marco Ippolito) #47380
  • [09ff9eafd9] - doc,fs: update description of fs.stat() method (Mert Can Altın) #47654
  • [185d6090cd] - doc,test: fix concurrency option of test() (Tobias Nießen) #47734
  • [a793cf401d] - esm: rename URLCanParse to be consistent (Antoine du Hamel) #47668
  • [fbb6b72f87] - esm: remove support for deprecated hooks (Antoine du Hamel) #47580
  • [c150976c4f] - esm: initialize import.meta on eval (Antoine du Hamel) #47551
  • [55f70f6395] - esm: propagate process.exit from the loader thread to the main thread (Antoine du Hamel) #47548
  • [269482f61f] - esm: avoid accessing lazy getters for urls (Yagiz Nizipli) #47542
  • [889add68e5] - esm: avoid try/catch when validating urls (Yagiz Nizipli) #47541
  • [439ea47a77] - (SEMVER-MINOR) fs: add recursive option to readdir and opendir (Ethan Arrowood) #41439
  • [a54e898dc8] - (SEMVER-MINOR) fs: add support for mode flag to specify the copy behavior (Tetsuharu Ohzeki) #47084
  • [96f93cc500] - (SEMVER-MINOR) http: remove internal error in assignSocket (Matteo Collina) #47723
  • [4fa773964b] - (SEMVER-MINOR) http: add highWaterMark opt in http.createServer (HinataKah0) #47405
  • [94a5abb1e0] - inspector: add tips for Session (theanarkh) #47195
  • [21ff33127a] - lib: improve esm resolve performance (Yagiz Nizipli) #46652
  • [b8bdaf86c4] - lib: disallow file-backed blob cloning (James M Snell) #47574
  • [e8bc03b372] - lib: use webidl DOMString converter in EventTarget (Matthew Aitken) #47514
  • [91e4a7cdee] - loader: use default loader as cascaded loader in the in loader worker (Joyee Cheung) #47620
  • [d5089fe00a] - meta: fix dependabot commit message (Mestery) #47810
  • [92794400ce] - meta: ping nodejs/startup for startup test changes (Joyee Cheung) #47771
  • [8d43689077] - meta: add mailmap entry for KhafraDev (Rich Trott) #47512
  • [4d02901935] - node-api: test passing NULL to napi_define_class (Gabriel Schulhof) #47567
  • [568256dca0] - node-api: test passing NULL to number APIs (Gabriel Schulhof) #47549
  • [12f0fa386d] - node-api: remove unused mark_arraybuffer_as_untransferable (Chengzhong Wu) #47557
  • [e8ea83416a] - quic: add more QUIC implementation (James M Snell) #47494
  • [af227b159d] - readline: fix issue with newline-less last line (Ian Harris) #47317
  • [e948bec969] - src: avoid copying string in fs_permission (Yagiz Nizipli) #47746
  • [dc43ce7706] - src: replace idna functions with ada::idna (Yagiz Nizipli) #47735
  • [1f9e7ce7e8] - src: fix typo in comment in quic/sessionticket.cc (Tobias Nießen) #47754
  • [2acb57b777] - src: mark fatal error functions as noreturn (Chengzhong Wu) #47695
  • [4431df7481] - src: split BlobSerializer/BlobDeserializer (Joyee Cheung) #47458
  • [bf9a52cb3d] - src: prevent changing FunctionTemplateInfo after publish (Shelley Vohr) #46979
  • [872e6706ca] - src: add v8 fast api for url canParse (Matthew Aitken) #47552
  • [cfafe431f2] - src: make AliasedBuffers in the binding data weak (Joyee Cheung) #47354
  • [cf48db0034] - src: use v8::Boolean(b) over b ? True() : False() (Tobias Nießen) #47554
  • [ba255eda37] - src: fix typo in process.env accessor error message (Moritz Raho) #47014
  • [daf0c78232] - src: replace static const string_view by static constexpr (Daniel Lemire) #47524
  • [57e7ed7f47] - src: fix CSPRNG when length exceeds INT_MAX (Tobias Nießen) #47515
  • [cda36bfd8f] - src: use correct variable in node_builtins.cc (Michaël Zasso) #47343
  • [adc1601ccd] - src: slim down stream_base-inl.h (lilsweetcaligula) #46972
  • [f88132f1b8] - stream: prevent pipeline hang with generator functions (Debadree Chatterjee) #47712
  • [2b411f4b42] - (SEMVER-MINOR) stream: preserve object mode in compose (Raz Luvaton) #47413
  • [159cf02920] - test: refactor to use getEventListeners in timers (Deokjin Kim) #47759
  • [97a3d39b8f] - test: add and use tmpdir.hasEnoughSpace() (Tobias Nießen) #47767
  • [5bb7b26bb5] - test: remove spaces from test runner test names (Tobias Nießen) #47733
  • [84fa9fd725] - test: refactor WPTRunner and enable parallel WPT execution (Filip Skokan) #47635
  • [9d3768eb01] - Revert "test: run WPT files in parallel again" (Filip Skokan) #47627
  • [826f4041d1] - test: mark test-cluster-primary-error flaky on asan (Yagiz Nizipli) #47422
  • [e5251e31eb] - test_runner: fix --require with --experimental-loader (Moshe Atlow) #47751
  • [6ee5e42c73] - (SEMVER-MINOR) test_runner: support combining coverage reports (Colin Ihrig) #47686
  • [f8581e7629] - test_runner: remove no-op validation (Colin Ihrig) #47687
  • [40b38797c5] - test_runner: fix test runner concurrency (Moshe Atlow) #47675
  • [2d7cac0c5b] - test_runner: fix test counting (Moshe Atlow) #47675
  • [5a9b71a52e] - test_runner: fix nested hooks (Moshe Atlow) #47648
  • [5327483f31] - (SEMVER-MINOR) test_runner: add testNamePatterns to run api (Chemi Atlow) #47628
  • [b6fb7914ca] - test_runner: support coverage of unnamed functions (Colin Ihrig) #47652
  • [1f120a396f] - test_runner: move coverage collection to root.postRun() (Colin Ihrig) #47651
  • [bdd02a467d] - (SEMVER-MINOR) test_runner: execute before hook on test (Chemi Atlow) #47586
  • [ec24abaa03] - test_runner: avoid reporting parents of failing tests in summary (Moshe Atlow) #47579
  • [4203057740] - test_runner: fix spec skip detection (Moshe Atlow) #47537
  • [57c69987ba] - tls: accept SecureContext object in server.addContext() (HinataKah0) #47570
  • [c620eb80a0] - tools: update doc to [email protected] (Node.js GitHub Bot) #47786
  • [326c3f1593] - tools: add the missing LoongArch64 definition in the v8.gyp file (Sun Haiyong) #47641
  • [8d1588acdc] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #47787
  • [226e5b83ee] - tools: move update-npm to dep updaters (Marco Ippolito) #47619
  • [9d0bef6c0a] - tools: fix update-v8-patch cache (Marco Ippolito) #47725
  • [63e8c95a66] - tools: automate v8 patch update (Marco Ippolito) #47594
  • [d2994e52d3] - tools: fix skip message in update-cjs-module-lexer (Tobias Nießen) #47701
  • [ccf9c37b43] - tools: update lint-md-dependencies to @rollup/[email protected] (Node.js GitHub Bot) #47577
  • [0887fa0464] - tools: keep PR titles/description up-to-date (Tobias Nießen) #47621
  • [b8927ddf16] - tools: fix updating root certificates (Richard Lau) #47607
  • [87cae0cb59] - tools: update PR label config (Mohammed Keyvanzadeh) #47593
  • [c17f2688b8] - Revert "tools: ensure failed daily wpt run still generates a report" (Filip Skokan) #47627
  • [fbe7d73234] - tools: add execution permission to uvwasi script (Mert Can Altın) #47600
  • [e3f4ff439e] - tools: add update script for googletest (Tobias Nießen) #47482
  • [7c552e650a] - tools: add option to run workflow with specific tool id (Michaël Zasso) #47591
  • [1509312170] - tools: automate zlib update (Marco Ippolito) #47417
  • [6af7f1ee03] - tools: add url and whatwg-url labels automatically (Yagiz Nizipli) #47545
  • [ff73c05d54] - tools: add performance label to benchmark changes (Yagiz Nizipli) #47545
  • [9e3e0b0a84] - tools: automate uvwasi dependency update (Ranieri Innocenti Spada) #47509
  • [233b628f22] - tools: add missing pinned dependencies (Mateo Nunez) #47346
  • [e4d95859f5] - tools: automate ngtcp2 and nghttp3 update (Marco Ippolito) #47402
  • [2e8338126b] - tools: move update-undici.sh to dep_updaters and create maintain md (Marco Ippolito) #47380
  • [8712eafc87] - typings: fix syntax error in tsconfig (Mohammed Keyvanzadeh) #47584
  • [e4b6b79f18] - url: reduce revokeObjectURL cpp calls (Yagiz Nizipli) #47728
  • [9aae76727f] - url: handle URL.canParse without base parameter (Yagiz Nizipli) #47547
  • [180d365439] - url: validate URL constructor arg length (Matthew Aitken) #47513
  • [4839fc4369] - url: validate argument length in canParse (Matthew Aitken) #47513
  • [606523d37e] - v8: fix ERR_NOT_BUILDING_SNAPSHOT is not a constructor (Chengzhong Wu) #47721
  • [75c1d1b66e] - (SEMVER-MINOR) wasi: make returnOnExit true by default (Michael Dawson) #47390

New in Node.js 20.0.0 Current (Apr 19, 2023)

  • Notable Changes:
  • Permission Model:
  • Node.js now has an experimental feature called the Permission Model. It allows developers to restrict access to specific resources during program execution, such as file system operations, child process spawning, and worker thread creation. The API exists behind a flag --experimental-permission which when enabled will restrict access to all available permissions. By using this feature, developers can prevent their applications from accessing or modifying sensitive data or running potentially harmful code. More information about the Permission Model can be found in the Node.js documentation.
  • The Permission Model was a contribution by Rafael Gonzaga in #44004.
  • Custom ESM loader hooks run on dedicated thread:
  • ESM hooks supplied via loaders (--experimental-loader=foo.mjs) now run in a dedicated thread, isolated from the main thread. This provides a separate scope for loaders and ensures no cross-contamination between loaders and application code.
  • Synchronous import.meta.resolve():
  • In alignment with browser behavior, this function now returns synchronously. Despite this, user loader resolve hooks can still be defined as async functions (or as sync functions, if the author prefers). Even when there are async resolve hooks loaded, import.meta.resolve will still return synchronously for application code.
  • Contributed by Anna Henningsen, Antoine du Hamel, Geoffrey Booth, Guy Bedford, Jacob Smith, and Michaël Zasso in #44710
  • V8 11.3:
  • The V8 engine is updated to version 11.3, which is part of Chromium 113. This version includes three new features to the JavaScript API:
  • String.prototype.isWellFormed and toWellFormed
  • Methods that change Array and TypedArray by copy
  • Resizable ArrayBuffer and growable SharedArrayBuffer
  • RegExp v flag with set notation + properties of strings
  • WebAssembly Tail Call
  • The V8 update was a contribution by Michaël Zasso in #47251.
  • Stable Test Runner:
  • The recent update to Node.js, version 20, includes an important change to the test_runner module. The module has been marked as stable after a recent update. Previously, the test_runner module was experimental, but this change marks it as a stable module that is ready for production use.
  • Contributed by Colin Ihrig in #46983
  • Ada 2.0:
  • Node.js v20 comes with the latest version of the URL parser, Ada. This update brings significant performance improvements to URL parsing, including enhancements to the url.domainToASCII and url.domainToUnicode functions in node:url.
  • Ada 2.0 has been integrated into the Node.js codebase, ensuring that all parts of the application can benefit from the improved performance. Additionally, Ada 2.0 features a significant performance boost over its predecessor, Ada 1.0.4, while also eliminating the need for the ICU requirement for URL hostname parsing.
  • Contributed by Yagiz Nizipli and Daniel Lemire in #47339
  • Preparing single executable apps now requires injecting a Blob:
  • Building a single executable app now requires injecting a blob prepared by Node.js from a JSON config instead of injecting the raw JS file. This opens up the possibility of embedding multiple co-existing resources into the SEA (Single Executable Apps).
  • Contributed by Joyee Cheung in #47125
  • Web Crypto API:
  • Web Crypto API functions' arguments are now coerced and validated as per their WebIDL definitions like in other Web Crypto API implementations. This further improves interoperability with other implementations of Web Crypto API.
  • This change was made by Filip Skokan in #46067.
  • Official support for ARM64 Windows:
  • Node.js now includes binaries for ARM64 Windows, allowing for native execution on the platform. The MSI, zip/7z packages, and executable are available from the Node.js download site along with all other platforms. The CI system was updated and all changes are now fully tested on ARM64 Windows, to prevent regressions and ensure compatibility.
  • ARM64 Windows was upgraded to tier 2 support by Stefan Stojanovic in #47233.
  • WASI version must now be specified:
  • When new WASI() is called, the version option is now required and has no default value. Any code that relied on the default for the version will need to be updated to request a specific version.
  • This change was made by Michael Dawson in #47391.
  • Deprecations and Removals:
  • [3bed5f11e0] - (SEMVER-MAJOR) url: runtime-deprecate url.parse() with invalid ports (Rich Trott) #45526
  • url.parse() accepts URLs with ports that are not numbers. This behavior might result in host name spoofing with unexpected input. These URLs will throw an error in future versions of Node.js, as the WHATWG URL API does already. Starting with Node.js 20, these URLS cause url.parse() to emit a warning.
  • Semver-Major Commits:
  • [9fafb0a090] - (SEMVER-MAJOR) async_hooks: deprecate the AsyncResource.bind asyncResource property (James M Snell) #46432
  • [1948d37595] - (SEMVER-MAJOR) buffer: check INSPECT_MAX_BYTES with validateNumber (Umuoy) #46599
  • [7bc0e6a4e7] - (SEMVER-MAJOR) buffer: graduate File from experimental and expose as global (Khafra) #47153
  • [671ffd7825] - (SEMVER-MAJOR) buffer: use min/max of validateNumber (Deokjin Kim) #45796
  • [ab1614d280] - (SEMVER-MAJOR) build: reset embedder string to "-node.0" (Michaël Zasso) #47251
  • [c1bcdbcf79] - (SEMVER-MAJOR) build: warn for gcc versions earlier than 10.1 (Richard Lau) #46806
  • [649f68fc1e] - (SEMVER-MAJOR) build: reset embedder string to "-node.0" (Yagiz Nizipli) #45579
  • [9374700d7a] - (SEMVER-MAJOR) crypto: remove DEFAULT_ENCODING (Tobias Nießen) #47182
  • [1640aeb680] - (SEMVER-MAJOR) crypto: remove obsolete SSL_OP_* constants (Tobias Nießen) #47073
  • [c2e4b1fa9a] - (SEMVER-MAJOR) crypto: remove ALPN_ENABLED (Tobias Nießen) #47028
  • [3ef38c4bd7] - (SEMVER-MAJOR) crypto: use WebIDL converters in WebCryptoAPI (Filip Skokan) #46067
  • [08af023b1f] - (SEMVER-MAJOR) crypto: runtime deprecate replaced rsa-pss keygen parameters (Filip Skokan) #45653
  • [7eb0ac3cb6] - (SEMVER-MAJOR) deps: patch V8 to support compilation on win-arm64 (Michaël Zasso) #47251
  • [a7c129f286] - (SEMVER-MAJOR) deps: silence irrelevant V8 warning (Michaël Zasso) #47251
  • [6f5655a18e] - (SEMVER-MAJOR) deps: always define V8_EXPORT_PRIVATE as no-op (Michaël Zasso) #47251
  • [f226350fcb] - (SEMVER-MAJOR) deps: update V8 to 11.3.244.4 (Michaël Zasso) #47251
  • [d6dae7420e] - (SEMVER-MAJOR) deps: V8: cherry-pick f1c888e7093e (Michaël Zasso) #45579
  • [56c436533e] - (SEMVER-MAJOR) deps: fix V8 build on Windows with MSVC (Michaël Zasso) #45579
  • [51ab98c71b] - (SEMVER-MAJOR) deps: silence irrelevant V8 warning (Michaël Zasso) #45579
  • [9f84d3eea8] - (SEMVER-MAJOR) deps: V8: fix v8-cppgc.h for MSVC (Jiawen Geng) #45579
  • [f2318cd4b5] - (SEMVER-MAJOR) deps: fix V8 build issue with inline methods (Jiawen Geng) #45579
  • [16e03e7968] - (SEMVER-MAJOR) deps: update V8 to 10.9.194.4 (Yagiz Nizipli) #45579
  • [6473f5e7f7] - (SEMVER-MAJOR) doc: update toolchains used for Node.js 20 releases (Richard Lau) #47352
  • [cc18fd9608] - (SEMVER-MAJOR) events: refactor to use validateNumber (Deokjin Kim) #45770
  • [ff92b40ffc] - (SEMVER-MAJOR) http: close the connection after sending a body without declared length (Tim Perry) #46333
  • [2a29df6464] - (SEMVER-MAJOR) http: keep HTTP/1.1 conns alive even if the Connection header is removed (Tim Perry) #46331
  • [391dc74a10] - (SEMVER-MAJOR) http: throw error if options of http.Server is array (Deokjin Kim) #46283
  • [ed3604cd64] - (SEMVER-MAJOR) http: server check Host header, to meet RFC 7230 5.4 requirement (wwwzbwcom) #45597
  • [88d71dc301] - (SEMVER-MAJOR) lib: refactor to use min/max of validateNumber (Deokjin Kim) #45772
  • [e4d641f02a] - (SEMVER-MAJOR) lib: refactor to use validators in http2 (Debadree Chatterjee) #46174
  • [0f3e531096] - (SEMVER-MAJOR) lib: performance improvement on readline async iterator (Thiago Oliveira Santos) #41276
  • [5b5898ac86] - (SEMVER-MAJOR) lib,src: update exit codes as per todos (Debadree Chatterjee) #45841
  • [55321bafd1] - (SEMVER-MAJOR) net: enable autoSelectFamily by default (Paolo Insogna) #46790
  • [2d0d99733b] - (SEMVER-MAJOR) process: remove process.exit(), process.exitCode coercion to integer (Daeyeon Jeong) #43716
  • [dc06df31b6] - (SEMVER-MAJOR) readline: refactor to use validateNumber (Deokjin Kim) #45801
  • [295b2f3ff4] - (SEMVER-MAJOR) src: update NODE_MODULE_VERSION to 115 (Michaël Zasso) #47251
  • [3803b028dd] - (SEMVER-MAJOR) src: share common code paths for SEA and embedder script (Anna Henningsen) #46825
  • [e8bddac3e9] - (SEMVER-MAJOR) src: apply ABI-breaking API simplifications (Anna Henningsen) #46705
  • [f84de0ad4c] - (SEMVER-MAJOR) src: use uint32_t for process initialization flags enum (Anna Henningsen) #46427
  • [a6242772ec] - (SEMVER-MAJOR) src: fix ArrayBuffer::Detach deprecation (Michaël Zasso) #45579
  • [dd5c39a808] - (SEMVER-MAJOR) src: update NODE_MODULE_VERSION to 112 (Yagiz Nizipli) #45579
  • [63eca7fec0] - (SEMVER-MAJOR) stream: validate readable defaultEncoding (Marco Ippolito) #46430
  • [9e7093f416] - (SEMVER-MAJOR) stream: validate writable defaultEncoding (Marco Ippolito) #46322
  • [fb91ee4f26] - (SEMVER-MAJOR) test: make trace-gc-flag tests less strict (Yagiz Nizipli) #45579
  • [eca618071e] - (SEMVER-MAJOR) test: adapt test-v8-stats for V8 update (Michaël Zasso) #45579
  • [c03354d3e0] - (SEMVER-MAJOR) test: test case for multiple res.writeHead and res.getHeader (Marco Ippolito) #45508
  • [c733cc0c7f] - (SEMVER-MAJOR) test_runner: mark module as stable (Colin Ihrig) #46983
  • [7ce223273d] - (SEMVER-MAJOR) tools: update V8 gypfiles for 11.1 (Michaël Zasso) #47251
  • [ca4bd3023e] - (SEMVER-MAJOR) tools: update V8 gypfiles for 11.0 (Michaël Zasso) #47251
  • [58b06a269a] - (SEMVER-MAJOR) tools: update V8 gypfiles (Michaël Zasso) #45579
  • [027841c964] - (SEMVER-MAJOR) url: use private properties for brand check (Yagiz Nizipli) #46904
  • [3bed5f11e0] - (SEMVER-MAJOR) url: runtime-deprecate url.parse() with invalid ports (Rich Trott) #45526
  • [7c76fddf25] - (SEMVER-MAJOR) util,doc: mark parseArgs() as stable (Colin Ihrig) #46718
  • [4b52727976] - (SEMVER-MAJOR) wasi: make version non-optional (Michael Dawson) #47391
  • Semver-Minor Commits:
  • [d4b440bfac] - (SEMVER-MINOR) fs: implement byob mode for readableWebStream() (Debadree Chatterjee) #46933
  • [00c222593e] - (SEMVER-MINOR) src,process: add permission model (Rafael Gonzaga) #44004
  • [978b57d750] - (SEMVER-MINOR) wasi: no longer require flag to enable wasi (Michael Dawson) #47286
  • Semver-Patch Commits:
  • [e50c6b9a22] - bootstrap: do not expand process.argv[1] for snapshot entry points (Joyee Cheung) #47466
  • [c81e1143e4] - bootstrap: store internal loaders in C++ via a binding (Joyee Cheung) #47215
  • [8e673bdb84] - build: add node-core-utils to setup (Jiawen Geng) #47442
  • [5b561d72a6] - build: sync cares source change (Jiawen Geng) #47359
  • [8e6ee53e4e] - build: remove non-exist build file (Jiawen Geng) #47361
  • [9a4d21d1d9] - build, deps, tools: avoid excessive LTO (Konstantin Demin) #47313
  • [48c01485cd] - crypto: replace THROW with CHECK for scrypt keylen (Tobias Nießen) #47407
  • [4c1a27716b] - crypto: re-add padding for AES-KW wrapped JWKs (Filip Skokan) #46563
  • [b66eb15d12] - deps: update simdutf to 3.2.7 (Node.js GitHub Bot) #47473
  • [3fc11477ba] - deps: update corepack to 0.17.2 (Node.js GitHub Bot) #47474
  • [c1776531ab] - deps: upgrade npm to 9.6.4 (npm team) #47432
  • [e7ca09f310] - deps: update zlib to upstream 5edb52d4 (Luigi Pinca) #47151
  • [88387ccd12] - deps: update ada to 2.0.0 (Node.js GitHub Bot) #47339
  • [9f468cc37e] - deps: cherry-pick Windows ARM64 fix for openssl (Richard Lau) #46570
  • [eeab210b1b] - deps: update archs files for quictls/openssl-3.0.8+quic (RafaelGSS) #46570
  • [d93d7716c7] - deps: upgrade openssl sources to quictls/openssl-3.0.8+quic (RafaelGSS) #46571
  • [0f69ec4dd7] - deps: patch V8 to 10.9.194.9 (Michaël Zasso) #45995
  • [5890d09644] - deps: patch V8 to 10.9.194.6 (Michaël Zasso) #45748
  • [c02a7e7e93] - diagnostics_channel: fix ref counting bug when reaching zero subscribers (Stephen Belanger) #47520
  • [c7ad5bb37d] - doc: info on handling unintended breaking changes (Michael Dawson) #47426
  • [7d2d40ed0d] - doc: add performance initiative (Yagiz Nizipli) #47424
  • [d56c0f7318] - doc: do not create a backup file (Luigi Pinca) #47151
  • [412d27b65b] - doc: add MoLow to the TSC (Colin Ihrig) #47436
  • [f131cca0c0] - doc: reserve 116 for Electron 25 (Keeley Hammond) #47375
  • [1022c6f424] - doc: add experimental stages (Geoffrey Booth) #46100
  • [42d3d74717] - doc: clarify release notes for Node.js 16.19.0 (Richard Lau) #45846
  • [533c6512da] - doc: clarify release notes for Node.js 14.21.2 (Richard Lau) #45846
  • [97165fc1a6] - doc: fix doc metadata for Node.js 16.19.0 (Richard Lau) #45863
  • [a266b8b702] - doc: add registry number for Electron 23 & 24 (Keeley Hammond) #45661
  • [2613a9ced9] - esm: move hook execution to separate thread (Jacob Smith) #44710
  • [841f6b3abf] - esm: increase test coverage of edge cases (Antoine du Hamel) #47033
  • [0d575fe61a] - gyp: put filenames in variables (Cheng Zhao) #46965
  • [41b186722c] - lib: distinguish webidl interfaces with the extended property "Exposed" (Chengzhong Wu) #46809
  • [9b7db62276] - lib: makeRequireFunction patch when experimental policy (RafaelGSS) nodejs-private/node-private#358
  • [d43b532789] - lib: refactor to use validateBuffer (Deokjin Kim) #46489
  • [9a76a2521b] - meta: ping security-wg team on permission model changes (Rafael Gonzaga) #47483
  • [a4dadde1ba] - meta: ping startup and realm team on src/node_realm* changes (Joyee Cheung) #47448
  • [631c3ef3de] - module: do less CJS module loader initialization at run time (Joyee Cheung) #47194
  • [8bcf0a42f7] - permission: fix chmod,chown improve fs coverage (Rafael Gonzaga) #47529
  • [54d17ff4b5] - permission: support fs.mkdtemp (Rafael Gonzaga) #47470
  • [b441b5dc65] - permission: drop process.permission.deny (Rafael Gonzaga) #47335
  • [aa30e16716] - permission: fix some vulnerabilities in fs (Tobias Nießen) #47091
  • [1726da9300] - permission: add path separator to loader check (Rafael Gonzaga) #47030
  • [b164038c86] - permission: fix spawnSync permission check (RafaelGSS) #46975
  • [af91400886] - policy: makeRequireFunction on mainModule.require (RafaelGSS) nodejs-private/node-private#358
  • [f8b4e26aee] - quic: add more QUIC impl (James M Snell) #47348
  • [d65ae9f678] - quic: add additional quic implementation utilities (James M Snell) #47289
  • [9b104be502] - quic: do not dereference shared_ptr after move (Tobias Nießen) #47294
  • [09a4bb152f] - quic: add multiple internal utilities (James M Snell) #47263
  • [2bde0059ca] - sea: use JSON configuration and blob content for SEA (Joyee Cheung) #47125
  • [78c7475493] - src: allow simdutf::convert_* functions to return zero (Daniel Lemire) #47471
  • [5250947a53] - src: track ShadowRealm native objects correctly in the heap snapshot (Joyee Cheung) #47389
  • [8059764621] - src: use the internal field to determine if an object is a BaseObject (Joyee Cheung) #47217
  • [698508afa8] - src: bootstrap prepare stack trace callback in shadow realm (Chengzhong Wu) #47107
  • [e6b4d30a2f] - src: bootstrap Web [Exposed=*] APIs in the shadow realm (Chengzhong Wu) #46809
  • [3646a66044] - src: fix AliasedBuffer memory attribution in heap snapshots (Joyee Cheung) #46817
  • [8b2126f63f] - src: move AliasedBuffer implementation to -inl.h (Joyee Cheung) #46817
  • [3abbc3829a] - src: fix useless call in permission.cc (Tobias Nießen) #46833
  • [7b1e153530] - src: simplify exit code accesses (Daeyeon Jeong) #45125
  • [7359b92a41] - test: remove unnecessary status check on test-release-npm (RafaelGSS) #47516
  • [a5a5d2fb7e] - test: mark test/parallel/test-file-write-stream4 as flaky (Yagiz Nizipli) #47423
  • [81ad73a205] - test: remove unused callback variables (angellovc) #47167
  • [757a586ead] - test: migrate test runner message tests to snapshot (Moshe Atlow) #47392
  • [86f890539f] - test: remove stale entry from known_issues.status (Richard Lau) #47454
  • [1f3773d0c1] - test: move more inspector sequential tests to parallel (Joyee Cheung) #47412
  • [617b8d44c6] - test: use random port in test-inspector-enabled (Joyee Cheung) #47412
  • [ade0170c4f] - test: use random port in test-inspector-debug-brk-flag (Joyee Cheung) #47412
  • [1a78632cd3] - test: use random port in NodeInstance.startViaSignal() (Joyee Cheung) #47412
  • [23f66b137e] - test: move test-shadow-realm-gc.js to known_issues (Joyee Cheung) #47355
  • [9dfd0394c5] - test: remove useless WPT init scripts (Khafra) #47221
  • [1cfe058778] - test: fix test-permission-deny-fs-wildcard (win32) (Tobias Nießen) #47095
  • [b8ef1b476e] - test: add coverage for custom loader hooks with permission model (Antoine du Hamel) #46977
  • [4a7c3e9c50] - test: fix file path in permission symlink test (Livia Medeiros) #46859
  • [10005de6a8] - tools: make js2c.py usable for other build systems (Cheng Zhao) #46930
  • [1e2f9aca72] - tools: move update-acorn.sh to dep_updaters and create maintaining md (Marco Ippolito) #47382
  • [174662a463] - tools: update eslint to 8.38.0 (Node.js GitHub Bot) #47475
  • [a58ca61f35] - tools: update eslint to 8.38.0 (Node.js GitHub Bot) #47475
  • [37d12730ab] - tools: automate cjs-module-lexer dependency update (Marco Ippolito) #47446
  • [4fbfa3c9f2] - tools: fix notify-on-push Slack messages (Antoine du Hamel) #47453
  • [b1f2ff1242] - tools: update lint-md-dependencies to @rollup/[email protected] (Node.js GitHub Bot) #47431
  • [26b2584b84] - tools: add root certificate update script (Richard Lau) #47425
  • [553b052648] - tools: remove targets for individual test suites in Makefile (Antoine du Hamel) #46892
  • [747ff43e5b] - url: more sophisticated brand check for URLSearchParams (Timothy Gu) #47414
  • [e727eb066f] - url: do not use object as hashmap (Timothy Gu) #47415
  • [81c7875eb7] - url: drop ICU requirement for parsing hostnames (Yagiz Nizipli) #47339
  • [a4895df94a] - url: use ada::url_aggregator for parsing urls (Yagiz Nizipli) #47339

New in Node.js 18.16.0 LTS (Apr 19, 2023)

  • Notable changes:
  • Add initial support for single executable applications
  • Compile a JavaScript file into a single executable application
  • Contributed by Darshan Sen in #45038
  • Replace url parser with Ada:
  • Node.js gets a new URL parser called Ada that is compliant with the WHATWG URL Specification and provides more than 100% performance improvement to the existing implementation.
  • Contributed by Yagiz Nizipli in #46410
  • Other notable changes:
  • buffer:
  • (SEMVER-MINOR) add Buffer.copyBytesFrom(...) (James M Snell) #46500
  • doc:
  • add marco-ippolito to collaborators (Marco Ippolito) #46816
  • add debadree25 to collaborators (Debadree Chatterjee) #46716
  • add deokjinkim to collaborators (Deokjin Kim) #46444
  • events:
  • (SEMVER-MINOR) add listener argument to listenerCount (Paolo Insogna) #46523
  • lib:
  • (SEMVER-MINOR) add AsyncLocalStorage.bind() and .snapshot() (flakey5) #46387
  • (SEMVER-MINOR) add aborted() utility function (Debadree Chatterjee) #46494
  • src:
  • (SEMVER-MINOR) allow optional Isolate termination in node::Stop() (Shelley Vohr) #46583
  • (SEMVER-MINOR) allow embedder control of code generation policy (Shelley Vohr) #46368
  • stream:
  • (SEMVER-MINOR) add abort signal for ReadableStream and WritableStream (Debadree Chatterjee) #46273
  • tls:
  • (SEMVER-MINOR) support automatic DHE (Tobias Nießen) #46978
  • url:
  • (SEMVER-MINOR) implement URLSearchParams size getter (James M Snell) #46308
  • worker:
  • (SEMVER-MINOR) add support for worker name in inspector and trace_events (Debadree Chatterjee) #46832
  • Commits:
  • [c742493b61] - assert: fix exception message for assert(0) on try catch block (hidecology) #46760
  • [0ddf73ae7c] - assert: remove deprecated getFunction() usage (Ruben Bridgewater) #46661
  • [97ad72f19f] - async_hooks: add async local storage propagation benchmarks (Chengzhong Wu) #46414
  • [b1bde69574] - async_hooks: remove experimental onPropagate option (James M Snell) #46386
  • [b5db3b579a] - benchmark: add a benchmark for URLSearchParams creation and toString() (Debadree Chatterjee) #46810
  • [ff94f9ffbe] - benchmark: replace table in docs with description of file tree structure (Theodor Steiner) #46991
  • [d4af671f09] - benchmark: split Buffer.byteLength benchmark (Joyee Cheung) #46616
  • [5f647fb7b4] - benchmark: add benchmark for EventTarget add and remove (Debadree Chatterjee) #46779
  • [d7d634bd67] - benchmark: fix worker startup benchmark (Joyee Cheung) #46680
  • [f7c4796c56] - benchmark: add trailing commas in benchmark/path (Antoine du Hamel) #46628
  • [9b0d5030a5] - benchmark: add trailing commas in benchmark/http (Antoine du Hamel) #46609
  • [e0f436041e] - benchmark: add trailing commas in benchmark/crypto (Antoine du Hamel) #46553
  • [a383aee386] - benchmark: add trailing commas in benchmark/url (Antoine du Hamel) #46551
  • [a10c3558c6] - benchmark: add trailing commas in benchmark/http2 (Antoine du Hamel) #46552
  • [8036583f1f] - benchmark: add trailing commas in benchmark/process (Antoine du Hamel) #46481
  • [1497244078] - benchmark: add trailing commas in benchmark/misc (Antoine du Hamel) #46474
  • [057e3f5309] - benchmark: add trailing commas in benchmark/buffers (Antoine du Hamel) #46473
  • [26e1a81243] - benchmark: add trailing commas in benchmark/module (Antoine du Hamel) #46461
  • [bd6c828cf3] - benchmark: add trailing commas in benchmark/net (Antoine du Hamel) #46439
  • [01cf87aca7] - benchmark: add trailing commas in benchmark/util (Antoine du Hamel) #46438
  • [f006b2f9dc] - benchmark: add trailing commas in benchmark/async_hooks (Antoine du Hamel) #46424
  • [f969cc30ab] - benchmark: add trailing commas in benchmark/fs (Antoine du Hamel) #46426
  • [5202b84382] - bootstrap: print stack trace during environment creation failure (Joyee Cheung) #46533
  • [c6e722aca4] - (SEMVER-MINOR) buffer: add Buffer.copyBytesFrom(...) (James M Snell) #46500
  • [886504fdf8] - build: fix Visual Studio installation detection for Arm64 (Radek Bartoň) #46420
  • [2b72a453cf] - build: add GitHub Action for coverage with --without-intl (Rich Trott) #37954
  • [ff07aa7fe3] - build: do not disable inspector when intl is disabled (Rich Trott) #37954
  • [4b25b98bd8] - build,test: add proper support for IBM i (Xu Meng) #46739
  • [535311097c] - child_process: add trailing commas in source files (Antoine du Hamel) #46758
  • [d2692c65df] - cluster: add trailing commas in source files (Antoine du Hamel) #46695
  • [effdca8b10] - crypto: don't assume FIPS is disabled by default (Michael Dawson) #46532
  • [bce37c60ce] - debugger: improve validations and documents for watch and unwatch (Eungyu Lee) #46947
  • [51253bae83] - debugger: add a command to set which lines to check for context (Eungyu Lee) #46812
  • [44375c6a3c] - debugger: add trailing commas in source files (Antoine du Hamel) #46714
  • [e5c4d69681] - deps: update ada to 1.0.4 (Node.js GitHub Bot) #46853
  • [94f83536d7] - deps: update ada to 1.0.3 (Node.js GitHub Bot) #46784
  • [484c4f6674] - deps: update ada to v1.0.1 (Yagiz Nizipli) #46550
  • [0bc4c17e57] - deps: add ada as a dependency (Yagiz Nizipli) #46410
  • [956f786499] - deps: update undici to 5.21.0 (Node.js GitHub Bot) #47063
  • [73be4f8ef5] - deps: update simdutf to 3.2.2 (Node.js GitHub Bot) #46841
  • [0e78fd5883] - deps: update corepack to 0.17.0 (Node.js GitHub Bot) #46842
  • [61c9433d8a] - deps: update simdutf to 3.2.1 (Node.js GitHub Bot) #46800
  • [63a62ed532] - deps: upgrade npm to 9.5.1 (npm team) #46783
  • [c8974d678a] - deps: update nghttp2 to 1.52.0 (Michaël Zasso) #46636
  • [2b439a2cdf] - deps: fix libuv for android (Julian Dropmann) #46746
  • [d5eb1df869] - deps: update simdutf to 3.2.0 (Node.js GitHub Bot) #46621
  • [dd97b05aeb] - deps: update corepack to 0.16.0 (Node.js GitHub Bot) #46710
  • [65b877de45] - deps: copy postject-api.h and LICENSE to the deps folder (Darshan Sen) #46582
  • [a918ac886e] - deps: update c-ares to 1.19.0 (Michaël Zasso) #46415
  • [1ac639a240] - deps: V8: cherry-pick 9ec4e9095a25 (Kleis Auke Wolthuizen) #47092
  • [f8d4bf8540] - deps,test: update postject to 1.0.0-alpha.5 (Node.js GitHub Bot) #46934
  • [8646b06c1b] - dgram: fix unhandled exception aborting a closed udp socket (Ramana Venkata) #46770
  • [e435199ccc] - doc: remove remaining SSL_OP_NETSCAPE_*_BUG (Tobias Nießen) #47066
  • [01d82670c7] - doc: fix typo in test.md (Victor Hiairrassary) #47053
  • [0e3077dc48] - doc: amend support tier qualifier (Gireesh Punathil) #42805
  • [a5bf6693b9] - doc: fix typo on esm loaders example (Ruy Adorno) #47015
  • [6a0c1d053e] - doc: add missing test runner flags to man page (Colin Ihrig) #46982
  • [43b94b0f13] - doc: fix history information for node:diagnostics_channel (Thomas Hunter II) #46984
  • [b37d53a1ba] - doc: fix myUrl is not defined in url (Youngmin Yoo) #46968
  • [257c5ac1fa] - doc: remove useless SSL_OP_* options (Tobias Nießen) #46954
  • [09c5e6a9f3] - doc: fix description of TLS dhparam option (Tobias Nießen) #46949
  • [8907732fcf] - doc: improve fs code example quality (jakecastelli) #46948
  • [17a25f1153] - doc: fix port of destination server is not defined in http2 (Deokjin Kim) #46940
  • [ad06168a5c] - doc: use number which is bigger than 1024 as port in http2 (Deokjin Kim) #46938
  • [4e6dda5be4] - doc: add release key for Juan Arboleda (Juan José) #46922
  • [f49c6e64ba] - doc: fix links to SSL_CTX_set_options (Tobias Nießen) #46953
  • [ea7fb16e5c] - doc: fix fs missing import (jakecastelli) #46907
  • [11885a7351] - doc: add request to hold off publicising sec releases (Michael Dawson) #46702
  • [0254fd1da6] - doc: fix stream iterator helpers examples (Benjamin Gruenbaum) #46897
  • [0a983f7125] - doc: add history info for node:test (Antoine du Hamel) #46851
  • [810d393ded] - doc: sort import order (jakecastelli) #46847
  • [6e03499437] - doc: use destructing import (jakecastelli) #46847
  • [8b636c3cd6] - doc: add marco-ippolito to collaborators (Marco Ippolito) #46816
  • [7e08ca125a] - doc: document how to use the tls.DEFAULT_CIPHERS (Andreas Martens) #46482
  • [3dae6f2f81] - doc: add document for profiling and heap snapshot (cola119) #46787
  • [eef30513b9] - doc: add test:coverage event to custom reporter examples (Richie McColl) #46752
  • [e6db6bedf7] - doc: include context on .toWeb() parameters (Debadree Chatterjee) #46617
  • [a24350e49f] - doc: add in security steward for recent release (Michael Dawson) #46701
  • [55360e9386] - doc: clarify semver-minor notable changes approach (Beth Griggs) #46592
  • [a384dd42ff] - doc: maintaining nghttp2 (Marco Ippolito) #46539
  • [45fccc9737] - doc: add emit to NodeEventTarget (Deokjin Kim) #46356
  • [760616890c] - doc: add debadree25 to collaborators (Debadree Chatterjee) #46716
  • [b9dd876e7c] - doc: move bcoe to emeriti (Benjamin Coe) #46703
  • [3afbb92bb4] - doc: add response.strictContentLength to documentation (Marco Ippolito) #46627
  • [2c0e1aa095] - doc: remove unused functions from example of streamConsumers.text (Deokjin Kim) #46581
  • [61268303fc] - doc: fix test runner examples (Richie McColl) #46565
  • [2b702c98c2] - doc: update test concurrency description / default values (richiemccoll) #46457
  • [f1de3f7a31] - doc: enrich test command with executable (Tony Gorez) #44347
  • [68b5cf8e38] - doc: fix wrong location of requestTimeout's default value (Deokjin Kim) #46423
  • [4d5d6d2193] - doc: add deokjinkim to collaborators (Deokjin Kim) #46444
  • [de7f6182be] - doc: fix -C flag usage (三咲智子 Kevin Deng) #46388
  • [4165cf34ba] - doc: add note about major release rotation (Rafael Gonzaga) #46436
  • [f088ce2dc7] - doc: update threat model based on discussions (Michael Dawson) #46373
  • [5b94e2bcdb] - esm: fix import assertion warning (Antoine du Hamel) #46971
  • [96a39d1a99] - esm: add a runtime warning when using import assertions (Antoine du Hamel) #46901
  • [320a8adb45] - esm: misc test refactors (Geoffrey Booth) #46631
  • [b08687f739] - events: add trailing commas in source files (Antoine du Hamel) #46759
  • [cc6deeaf7a] - (SEMVER-MINOR) events: add listener argument to listenerCount (Paolo Insogna) #46523
  • [efc24097a6] - fs: add trailing commas in source files (Antoine du Hamel) #46696
  • [80b4e6da53] - http: use listenerCount when adding noop event (Paolo Insogna) #46769
  • [3538521bf6] - http: correctly calculate strict content length (Robert Nagy) #46601
  • [9582c8ef3a] - http: fix validation of "Link" header (Steve Herzog) #46466
  • [23c1e2fa52] - http: unify header treatment (Marco Ippolito) #46528
  • [abeee994c4] - http: add note about clientError event (Paolo Insogna) #46584
  • [3d0602c96c] - http: use v8::Array::New() with a prebuilt vector (Joyee Cheung) #46447
  • [62cbddd86f] - lib: fix trailing commas and leftover function from rebasing (Danielle Adams) #47503
  • [c463f133bd] - lib: enforce use of trailing commas (Antoine du Hamel) #46881
  • [0f33bb0961] - lib: add trailing commas to all public core modules (Antoine du Hamel) #46848
  • [06e0dd3e15] - lib: rename internal module declaration as internal bindings (okmttdhr, okp) #46663
  • [31578ab1b4] - lib: add trailing commas to more internal files (Antoine du Hamel) #46811
  • [ad510d9029] - lib: update punycode to 2.3.0 (Yagiz Nizipli) #46719
  • [4cf3de8b02] - lib: add trailing commas in internal/perf (Antoine du Hamel) #46697
  • [f1b79828bc] - (SEMVER-MINOR) lib: add AsyncLocalStorage.bind() and .snapshot() (flakey5) #46387
  • [48cd712c0d] - lib: add trailing commas in internal/process (Antoine du Hamel) #46687
  • [46a22ab601] - lib: do not crash using workers with disabled shared array buffers (Ruben Bridgewater) #41023
  • [1395e36e64] - lib: delete module findPath unused params (sinkhaha) #45371
  • [c410572620] - lib: enforce use of trailing commas in more files (Antoine du Hamel) #46655
  • [36e080cd13] - lib: enforce use of trailing commas for functions (Antoine du Hamel) #46629
  • [71249a6c00] - lib: predeclare Event.isTrusted prop descriptor (Santiago Gimeno) #46527
  • [2b80d19c06] - lib: tighten AbortSignal.prototype.throwIfAborted implementation (Antoine du Hamel) #46521
  • [2f79f3fa38] - (SEMVER-MINOR) lib: add aborted() utility function (Debadree Chatterjee) #46494
  • [7f9e60aa1a] - lib,src: fix a few typos in comments (Tobias Nießen) #46835
  • [c4f192b592] - meta: add single-executable labels and code owners (Joyee Cheung) #47004
  • [abe1488f86] - meta: remove AUTHORS file (Rich Trott) #46845
  • [e53774c7bf] - meta: remove unnecessary onboarding step (Rich Trott) #46793
  • [55f1cfd7e4] - meta: update CODEOWNERS of url implementations (Yagiz Nizipli) #46775
  • [ccaa7cabdd] - meta: update AUTHORS (Node.js GitHub Bot) #46726
  • [260ddd5b0f] - meta: update AUTHORS (Node.js GitHub Bot) #46624
  • [5ef78e50a0] - meta: move one or more collaborators to emeritus (Node.js GitHub Bot) #46513
  • [5efb829156] - meta: update AUTHORS (Node.js GitHub Bot) #46504
  • [f0705f7de1] - meta: move one or more collaborators to emeritus (Node.js GitHub Bot) #46411
  • [331073a7aa] - node-api: add __wasm32__ guards on async works (Chengzhong Wu) #46633
  • [594bb9d558] - os: improve network interface performance (Ruben Bridgewater) #46598
  • [c231aae6c5] - process: print versions by sort (Himself65) #46428
  • [fe318dd095] - punycode: add pending deprecation (Antoine du Hamel) #46719
  • [34ba230d9b] - repl: remove lastInputPreview conditional check (Duy Mac Van) #46857
  • [09739a20b1] - repl: fix .load infinite loop caused by shared use of lineEnding RegExp (Theodor Steiner) #46742
  • [91fbad617d] - repl: add trailing commas in source files (Antoine du Hamel) #46757
  • [e4cd81b526] - src: use string_view for report and related code (Anna Henningsen) #46723
  • [8ea835419e] - (SEMVER-MINOR) src: add initial support for single executable applications (Darshan Sen) #45038
  • [4652dfdc88] - src: remove TLSEXT_TYPE_alpn guard (Tobias Nießen) #46956
  • [a4a433fc0b] - src: remove use of SSL_OP_SINGLE_DH_USE (Tobias Nießen) #46955
  • [339b52f3bc] - src: make util.h self-containted (Joyee Cheung) #46817
  • [b25ee523ea] - src: remove shadowed variable in OptionsParser (Shelley Vohr) #46672
  • [88baf98fa3] - src: do not track BaseObjects directly in Realm (Joyee Cheung) #46470
  • [03e8d824db] - src: fix cb scope bugs involved in termination (ywave620) #45596
  • [7fb32b43dc] - src: add SetFastMethodNoSideEffect() (Joyee Cheung) #46619
  • [ea411d6422] - (SEMVER-MINOR) src: allow optional Isolate termination in node::Stop() (Shelley Vohr) #46583
  • [f8d029183a] - src: remove icu usage from node_string.cc (Yagiz Nizipli) #46548
  • [95674360b2] - src: add fflush() to SnapshotData::ToFile() (Anna Henningsen) #46531
  • [9445a0a5f6] - src: make edge names in BaseObjects more descriptive in heap snapshots (Joyee Cheung) #46492
  • [483cd1922f] - src: avoid leaking snapshot fp on error (Tobias Nießen) #46497
  • [bc9a577625] - src: check return value of ftell() (Tobias Nießen) #46495
  • [b3b3b33799] - src: remove unused includes from main thread (Yagiz Nizipli) #46471
  • [b9ca302558] - src: use string_view instead of std::string& (Yagiz Nizipli) #46471
  • [f1c770065a] - src: use simdutf utf8 to utf16 instead of icu (Yagiz Nizipli) #46471
  • [aaf04f498a] - src: replace icu with simdutf for char counts (Yagiz Nizipli) #46472
  • [3aef68d079] - src: add additional utilities to crypto::SecureContext (James M Snell) #45912
  • [92fdb24fac] - src: add KeyObjectHandle::HasInstance (James M Snell) #45912
  • [a639e2a557] - src: add GetCurrentCipherName/Version to crypto_common (James M Snell) #45912
  • [8dfa748373] - src: back snapshot I/O with a std::vector sink (Joyee Cheung) #46463
  • [17eea1812e] - (SEMVER-MINOR) src: allow embedder control of code generation policy (Shelley Vohr) #46368
  • [dffe7d814e] - stream: enable usage of webstreams on compose() (Debadree Chatterjee) #46675
  • [654b7474e3] - stream: always delay construct callback by a nextTick (Matteo Collina) #46818
  • [ed2faa7c7c] - stream: fix respondWithNewView() errors when view.byteOffset != 0 (Debadree Chatterjee) #46465
  • [247caacc7a] - stream: fix pipeline callback not called on ended stream (Debadree Chatterjee) #46600
  • [c40eec3f3b] - stream: add trailing commas in webstream source files (Antoine du Hamel) #46685
  • [d669f22567] - stream: add trailing commas in stream source files (Antoine du Hamel) #46686
  • [c60816a68d] - (SEMVER-MINOR) stream: add abort signal for ReadableStream and WritableStream (Debadree Chatterjee) #46273
  • [17b4e9bc5f] - stream: refactor to use validateAbortSignal (Antoine du Hamel) #46520
  • [4d81124397] - stream: allow transfer of readable byte streams (MrBBot) #45955
  • [6c454af5ea] - stream: add pipeline() for webstreams (Debadree Chatterjee) #46307
  • [91a550e5a1] - stream: add suport for abort signal in finished() for webstreams (Debadree Chatterjee) #46403
  • [406ff320bf] - stream: dont access Object.prototype.type during TransformStream init (Debadree Chatterjee) #46389
  • [972bdee8c4] - test: update web-platform tests for url (Yagiz Nizipli) #46547
  • [ba340a0ddb] - test: move test-tls-autoselectfamily-servername to test/internet (Antoine du Hamel) #47029
  • [0edaf016cc] - test: fallback to IPv4 if IPv6 is unavailable (Abdirahim Musse) #47017
  • [ef6c86c59f] - test: simplify test-tls-ecdh-multiple (Tobias Nießen) #46963
  • [b8cdd1502f] - test: improve test coverage of lib/dns (Anderson Paiva) #46910
  • [33991954b6] - test: simplify test-tls-ecdh-auto (Tobias Nießen) #46911
  • [512f28fa8b] - test: move testPath from CWD to temporary directory (Livia Medeiros) #46890
  • [3fdcf7bef4] - test: assume priv ports start at 1024 if it can't be changed (KrayzeeKev) #46536
  • [966d0d8b16] - test: fix os-release check for Ubuntu in SEA test (Anna Henningsen) #46838
  • [b344e74bc1] - test: move socket from CWD to temporary directory (Livia Medeiros) #46863
  • [dfb566aec2] - test: fix test-net-connect-reset-until-connected (Vita Batrla) #46781
  • [364479644c] - test: simplify test-tls-alert (Tobias Nießen) #46805
  • [df149448b5] - test: update encoding WPTs (Filip Skokan) #46802
  • [928998dd2d] - test: remove useless WPT init scripts (Filip Skokan) #46801
  • [bb182461a3] - test: remove unreachable return (jakecastelli) #46807
  • [ea71a2ae1b] - test: fix test-v8-collect-gc-profile-in-worker.js (theanarkh) #46735
  • [25cab7eab5] - test: improve control flow in test-tls-dhe (Tobias Nießen) #46751
  • [3b70e7a34e] - test: include strace openat test (Rafael Gonzaga) #46150
  • [533170d456] - test: remove OpenSSL 1.0.2 error message compat (Tobias Nießen) #46709
  • [b8948996b4] - test: fix flaky test-watch-mode-files_watcher (Moshe Atlow) #46738
  • [931111609e] - test: use newish OpenSSL feature in test-tls-dhe (Tobias Nießen) #46708
  • [847d74005c] - test: fix assertions in test-snapshot-dns-lookup* (Tobias Nießen) #46618
  • [d7b995cd38] - test: cover publicExponent validation in OpenSSL (Tobias Nießen) #46632
  • [a2b103a761] - test: add trailing commas in test/pummel (Antoine du Hamel) #46610
  • [4fb2fc7536] - test: enable api-invalid-label.any.js in encoding WPTs (Filip Skokan) #46506
  • [b0f2415312] - test: add trailing commas in test/js-native-api (Antoine du Hamel) #46385
  • [534562f51d] - test: make more crypto tests work with BoringSSL (Shelley Vohr) #46429
  • [9bb08527f0] - test: add trailing commas in test/known_issues (Antoine du Hamel) #46408
  • [231f0ee9b2] - test: add trailing commas in test/internet (Antoine du Hamel) #46407
  • [5e008e7d38] - test,crypto: update WebCryptoAPI WPT (Filip Skokan) #47010
  • [99bfbed78a] - test,crypto: update WebCryptoAPI WPT (Filip Skokan) #46575
  • [8398f9fcb6] - test_runner: default to spec reporter when on TTY environment (Moshe Atlow) #46969
  • [16db3ad1f8] - test_runner: handle errors not bound to tests (Colin Ihrig) #46962
  • [d60eef25a1] - test_runner: throw if harness is not bootstrapped (Colin Ihrig) #46962
  • [ab5b3185f1] - test_runner: track bootstrapping process (Colin Ihrig) #46962
  • [413493cab9] - test_runner: avoid running twice tests in describe (Moshe Atlow) #46888
  • [524eaf5488] - test_runner: fix reconstruction of errors extracted from YAML (Moshe Atlow) #46872
  • [17fbfb23bd] - test_runner: reset count on watch mode (Moshe Atlow) #46577
  • [3b077a6885] - test_runner: remove root tracking set (Colin Ihrig) #46961
  • [15503ffd12] - test_runner: give the root test a harness reference (Colin Ihrig) #46962
  • [e52b169ef4] - test_runner: align behavior of it and test (Moshe Atlow) #46889
  • [9b58857630] - timers: cleanup no-longer relevant TODOs in timers/promises (James M Snell) #46499
  • [32c527d80f] - (SEMVER-MINOR) tls: support automatic DHE (Tobias Nießen) #46978
  • [6ff90270ca] - tls: add trailing commas in source files (Antoine du Hamel) #46715
  • [958da453dd] - tools: fix update-ada script (Yagiz Nizipli) #46550
  • [a3f272e667] - tools: automate cares update (Marco Ippolito) #46993
  • [77f5b69840] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #46935
  • [36ea9e7f65] - tools: refactor dep_updaters (Tony Gorez) #46488
  • [c0b6794f82] - tools: update eslint to 8.35.0 (Node.js GitHub Bot) #46854
  • [307d096e21] - tools: create llhttp update action (Marco Ippolito) #46766
  • [fff31862ac] - tools: fix linter message when using global DOMException (Antoine du Hamel) #46822
  • [89c2e8ac97] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #46843
  • [3bf54ff624] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #46771
  • [4065e5cda6] - tools: run format-cpp on node-api test c files (Chengzhong Wu) #46694
  • [7349708527] - tools: use actions pinned by commit hash in coverage-linux (Gabriela Gutierrez) #46294
  • [f80e93d71f] - tools: fix regex strings in Python tools (Jan Osusky) #46671
  • [8fd176055f] - tools: fixed path (Marco Ippolito) #46700
  • [15b0e8b1aa] - tools: update nghttp2 action (Marco Ippolito) #46700
  • [4da3eecbd7] - tools: update-nghttp2 preserve config.h (Marco Ippolito) #46698
  • [3714d8f236] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #46712
  • [474084e063] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #46712
  • [665b7424eb] - tools: fix bug in prefer-primordials lint rule (Antoine du Hamel) #46659
  • [7eb1456892] - tools: update eslint to 8.34.0 (Node.js GitHub Bot) #46625
  • [678b8f53c1] - tools: update lint-md-dependencies to [email protected] [email protected] (Node.js GitHub Bot) #46623
  • [ee81da5883] - tools: update doc to [email protected] [email protected] (Node.js GitHub Bot) #46622
  • [92e3e0e4e4] - tools: update lint-md-dependencies to [email protected] [email protected] (Node.js GitHub Bot) #46503
  • [728f96861e] - tools: update ESLint custom rules to not use the deprecated format (Antoine du Hamel) #46460
  • [78b79c0220] - typings: improve primordials typings (Antoine du Hamel) #46970
  • [a39dd37653] - url: simplify and improve url formatting (Yagiz Nizipli) #46736
  • [01b6525706] - url: improve performance by removing host (Yagiz Nizipli) #46547
  • [0c67a7ad57] - url: fix url spec compliance issues (Yagiz Nizipli) #46547
  • [e9263541a7] - url: replace url-parser with ada (Yagiz Nizipli) #46410
  • [4d0faf4ddc] - url: improve isURLThis detection (Yagiz Nizipli) #46866
  • [1ece4a72b7] - (SEMVER-MINOR) url: implement URLSearchParams size getter (James M Snell) #46308
  • [8f14002459] - url: remove unused URL::ToFilePath() (Yagiz Nizipli) #46487
  • [f57e7bcc11] - url: remove unused URL::toObject (Yagiz Nizipli) #46486
  • [04930562f8] - url: remove unused setURLConstructor function (Yagiz Nizipli) #46485
  • [b801873a8a] - vm: properly support symbols on globals (Nicolas DUBIEN) #46458
  • [f7423bdbaa] - (SEMVER-MINOR) worker: add support for worker name in inspector and trace_events (Debadree Chatterjee) #46832

New in Node.js 19.9.0 Current (Apr 11, 2023)

  • Notable Changes:
  • Tracing Channel in diagnostic_channel:
  • TracingChannel adds a new, high-performance channel to publish tracing data about the timing and purpose of function executions.
  • Contributed by Stephen Belanger in #44943
  • New URL.canParse API:
  • A new API was added to the URL. URL.canParse checks if an input with an optional base value can be parsed correctly according to WHATWG URL specification.
  • Contributed by Khafra in #47179
  • Other notable changes:
  • events:
  • (SEMVER-MINOR) add getMaxListeners method (Khafra) #47039 msi:
  • (SEMVER-MINOR) migrate to WiX4 (Stefan Stojanovic) #45943 node-api:
  • (SEMVER-MINOR) deprecate napi_module_register (Vladimir Morozov) #46319 stream:
  • (SEMVER-MINOR) add setter & getter for default highWaterMark (Robert Nagy) #46929 test_runner:
  • (SEMVER-MINOR) expose reporter for use in run api (Chemi Atlow) #47238
  • Commits:
  • [2cea7d8141] - benchmark: fix invalid requirementsURL (Deokjin Kim) #47378
  • [6a4076a188] - benchmark: lower URL.canParse runs (Khafra) #47351
  • [23a69d9279] - buffer: fix blob range error with many chunks (Khafra) #47320
  • [e3d98c3e7a] - buffer: use private properties for brand checks in File (Khafra) #47154
  • [9dc6aef98d] - build: bump github/codeql-action from 2.2.6 to 2.2.9 (dependabot[bot]) #47366
  • [910d2967f1] - build: update stale action from v7 to v8 (Rich Trott) #47357
  • [666df20ad9] - build: remove Python pip --no-user option (Christian Clauss) #47372
  • [3970537bb4] - build: avoid usage of pipes library (Mohammed Keyvanzadeh) #47271
  • [254a03b2eb] - crypto: unify validation of checkPrime checks (Tobias Nießen) #47165
  • [8e1e9edc57] - deps: update timezone to 2023c (Node.js GitHub Bot) #47302
  • [30c043c2b9] - deps: update timezone to 2023b (Node.js GitHub Bot) #47256
  • [40be01bc9c] - deps: update simdutf to 3.2.3 (Node.js GitHub Bot) #47331
  • [4b09222569] - deps: upgrade npm to 9.6.3 (npm team) #47325
  • [2a6c23ea5e] - deps: update corepack to 0.17.1 (Node.js GitHub Bot) #47156
  • [06b718363d] - deps: V8: cherry-pick 3e4952cb2a59 (Richard Lau) #47236
  • [7e24498d81] - deps: upgrade npm to 9.6.2 (npm team) #47108
  • [7a4beaa182] - deps: V8: cherry-pick 215ccd593edb (Joyee Cheung) #47212
  • [8a69929f23] - deps: V8: cherry-pick 975ff4dbfd1b (Debadree Chatterjee) #47209
  • [10569de53f] - deps: cherry-pick win/arm64/clang fixes (Cheng Zhao) #47011
  • [ff6070eb1d] - deps: V8: cherry-pick cb30b8e17429 (Darshan Sen) #47307
  • [0bbce034f9] - doc: add a note about os.cpus() returning an empty list (codedokode) #47363
  • [f8511e0b27] - doc: clarify reports are only evaluated on active versions (Rafael Gonzaga) #47341
  • [863b4d9c5b] - doc: remove Vladimir de Turckheim from Security release stewards (Vladimir de Turckheim) #47318
  • [2192b5b163] - doc: add importing util to example of `process.report.getReport' (Deokjin Kim) #47298
  • [1c21fbfa9a] - doc: vm.SourceTextModule() without context option (Axel Kittenberger) #47295
  • [89445fbea9] - doc: make win arm64 tier 2 platform (Stefan Stojanovic) #47233
  • [296577a549] - doc: document process for sharing project news (Michael Dawson) #47189
  • [e29a1462c7] - doc: revise example of assert.CallTracker (Deokjin Kim) #47252
  • [bac893adbe] - doc: fix typo in SECURITY.md (Rich Trott) #47282
  • [0949f238d1] - doc: use serial comma in cli docs (Tobias Nießen) #47262
  • [71246247a9] - doc: improve example for Error.captureStackTrace() (Julian Dax) #46886
  • [0b2ba441b2] - doc: clarify http error events after calling destroy() (Zach Bjornson) #46903
  • [a21459e0d5] - doc: update output of example in AbortController (Deokjin Kim) #47227
  • [7a2090c14c] - doc: drop one-week branch sync on major releases (Rafael Gonzaga) #47149
  • [eb4de0043d] - doc: fix grammar in the collaborator guide (Mohammed Keyvanzadeh) #47245
  • [908798ae19] - doc: update stream.reduce concurrency note (Raz Luvaton) #47166
  • [36c118bc92] - doc: remove use of DEFAULT_ENCODING in PBKDF2 docs (Tobias Nießen) #47181
  • [7ec87fd5ce] - doc: fix typos in async_context.md (Shubham Sharma) #47155
  • [a03aaba996] - doc: update collaborator guide to reflect TSC changes (Rich Trott) #47126
  • [c45a6977ec] - doc: clarify that fs.create{Read,Write}Stream support AbortSignal (Antoine du Hamel) #47122
  • [82c7757177] - doc: improve documentation for util.types.isNativeError() (Julian Dax) #46840
  • [8f9b9c17d5] - doc: rename the startup performance initiative to startup snapshot (#47111) (Joyee Cheung)
  • [c08995e897] - doc: indicate that name is no longer an optional argument (Daniel Roe) #47102
  • [316d626e61] - doc: fix "maintaining dependencies" heading typos (Keyhan Vakil) #47082
  • [a4b1a7761f] - esm: skip file: URL conversion to path when possible (Antoine du Hamel) #46305
  • [c5cd6b7f3b] - (SEMVER-MINOR) events: add getMaxListeners method (Khafra) #47039
  • [2c2b07ce5f] - fs: invalidate blob created from empty file when written to (Debadree Chatterjee) #47199
  • [e33dfce401] - inspector: log response and requests in the inspector for debugging (Joyee Cheung) #46941
  • [f6ec81dc05] - inspector: fix session.disconnect crash (theanarkh) #46942
  • [a738164fed] - lib: define Event.isTrusted in the prototype (Santiago Gimeno) #46974
  • [7d37dcdd9a] - (SEMVER-MINOR) lib: add tracing channel to diagnostics_channel (Stephen Belanger) #44943
  • [16d3dfa0aa] - meta: fix notable-change comment label url (Filip Skokan) #47300
  • [2c95f6e18b] - meta: clarify the threat model to explain the JSON.parse case (Matteo Collina) #47276
  • [22b9acdbf8] - meta: update link to collaborators discussion page (Michaël Zasso) #47211
  • [dc024d930a] - meta: automate description requests when notable change label is added (Danielle Adams) #47078
  • [54195357f3] - meta: move TSC voting member(s) to regular member(s) (Node.js GitHub Bot) #47180
  • [a3bffbaa11] - meta: move TSC voting member to regular membership (Node.js GitHub Bot) #46985
  • [d2a6aa6ecd] - meta: update GOVERNANCE.md to reflect TSC charter changes (Rich Trott) #47126
  • [b0aad345bf] - meta: ask expected behavior reason in bug template (Ben Noordhuis) #47049
  • [c03e79b141] - (SEMVER-MINOR) msi: migrate to WiX4 (Stefan Stojanovic) #45943
  • [ca981be2b9] - (SEMVER-MINOR) node-api: deprecate napi_module_register (Vladimir Morozov) #46319
  • [77f7200cce] - node-api: extend type-tagging to externals (Gabriel Schulhof) #47141
  • [55f3d215b8] - node-api: document node-api shutdown finalization (Chengzhong Wu) #45903
  • [b3fe2ba59b] - node-api: verify cleanup hooks order (Chengzhong Wu) #46692
  • [d6a12328a6] - repl: preserve preview on ESCAPE key press (Xuguang Mei) #46878
  • [33b0906640] - sea: fix memory leak detected by asan (Darshan Sen) #47309
  • [069515153f] - src: remove usage of std::shared_ptr::unique() (Darshan Sen) #47315
  • [4405fc879a] - src: use stricter compile-time guidance (Tobias Nießen) #46509
  • [bbde68e5de] - src: remove unused variable in crypto_x509.cc (Michaël Zasso) #47344
  • [7a80312e19] - src: don't reset embeder signal handlers (Dmitry Vyukov) #47188
  • [d0a5e7e342] - src: fix some recently introduced coverity issues (Michael Dawson) #47240
  • [0a4ff2f9a0] - src: replace impossible THROW with CHECK (Tobias Nießen) #47168
  • [2fd0f79963] - src: fix duplication of externalized builtin code (Keyhan Vakil) #47079
  • [36a026bf44] - src: remove dead comments about return_code_cache (Keyhan Vakil) #47083
  • [aefe26692c] - src: remove SSL_CTX_get_tlsext_ticket_keys guards (Tobias Nießen) #47068
  • [90f4e16350] - src: fix clang 14 linker error (Keyhan Vakil) #47057
  • [b0809a73da] - src,http2: ensure cleanup if a frame is not sent (ywave620) #47244
  • [1fc62c7b35] - (SEMVER-MINOR) stream: add setter & getter for default highWaterMark (#46929) (Robert Nagy) #46929
  • [b8c6ceddd5] - stream: expose stream symbols (Robert Nagy) #45671
  • [f37825660c] - stream: dont wait for next item in take when finished (Raz Luvaton) #47132
  • [8eceaaeb4d] - test: fix flaky test-watch-mode-inspect (Moshe Atlow) #47403
  • [db95ed0b1b] - test: move debugger tests with --port=0 to parallel (Joyee Cheung) #47274
  • [041885ebd0] - test: use --port=0 in debugger tests that do not have to work on 9229 (Joyee Cheung) #47274
  • [130420b9e1] - test: run doctool tests in parallel (Joyee Cheung) #47273
  • [4b4336c34e] - test: verify tracePromise does not do runStores (Stephen Belanger) #47349
  • [54261f3294] - test: run WPT files in parallel again (Filip Skokan) #47283
  • [e2eb0543be] - test: update wasm/jsapi WPT (Michaël Zasso) #47210
  • [d341d0389f] - test: skip test-wasm-web-api on ARM (Michaël Zasso) #47299
  • [567573b16a] - test: skip instantiateStreaming-bad-imports WPT (Michaël Zasso) #47292
  • [45e7b10287] - test: fix 'checks' validation test for checkPrime (Tobias Nießen) #47139
  • [5749dfae70] - test: update URL web-platform-tests (Yagiz Nizipli) #47135
  • [49981b93d2] - test: reduce flakiness of test-http-remove-header-stays-removed.js (Debadree Chatterjee) #46855
  • [6772aa652a] - test: fix test-child-process-exec-cwd (Stefan Stojanovic) #47235
  • [41a69e772b] - test: skip broken tests win arm64 (Stefan Stojanovic) #47020
  • [7bcfd18f2c] - test: mark test-http-max-sockets as flaky on win32 (Tobias Nießen) #47134
  • [b96808b3e2] - test,crypto: update WebCryptoAPI WPT (Filip Skokan) #47222
  • [65955f1e46] - test,crypto: update WebCryptoAPI WPT (Filip Skokan) #47131
  • [bc6511a243] - test_runner: color errors only when colors are available (Moshe Atlow) #47394
  • [463361e625] - test_runner: hide failing tests title when all tests pass (Moshe Atlow) #47370
  • [eb837ce80d] - test_runner: stringify AssertError expected and actual (Moshe Atlow) #47088
  • [6b87f29000] - test_runner: add code coverage support to spec reporter (Pulkit Gupta) #46674
  • [bd4697a2a3] - test_runner: expose reporter for use in run api (Chemi Atlow) #47238
  • [3e7f8e8482] - test_runner: report failing tests after summary (HinataKah0) #47164
  • [4530582767] - test_runner: count nested tests (Moshe Atlow) #47094
  • [5a43586554] - test_runner: accept x1b as a escape symbol (Debadree Chatterjee) #47050
  • [a5ebc896f1] - test_runner: support defining test reporter in NODE_OPTIONS (Steve Herzog) #46688
  • [a65fe5c29a] - tools: fix update-openssl.yml compare version (Marco Ippolito) #47384
  • [760e13c58d] - tools: ensure failed daily wpt run still generates a report (Filip Skokan) #47376
  • [9c975f79f0] - tools: use ref_name to get branch pushed on (Debadree Chatterjee) #47358
  • [b1d6a15028] - tools: add a at here tag for slack messages (Debadree Chatterjee) #47358
  • [c340de6d51] - tools: disable Codecov commit statuses (Michaël Zasso) #47306
  • [034082f0e5] - tools: update eslint to 8.37.0 (Node.js GitHub Bot) #47333
  • [03b6650c81] - tools: fix duration_ms to be milliseconds (Moshe Atlow) #44490
  • [30c667ec3a] - tools: automate brotli update (Marco Ippolito) #47205
  • [83791e5459] - tools: fix typo in nghttp2 path (Marco Ippolito) #47330
  • [53e8dad64a] - tools: add scorecard workflow (Mateo Nunez) #47254
  • [2499677d0b] - tools: pin actions by hash for auto-start-ci.yml (Gabriela Gutierrez) #46820
  • [98f64ee724] - tools: standardize base64 update (Marco Ippolito) #47201
  • [c1ef1fde8f] - tools: update codecov branch (Rich Trott) #47285
  • [9ecf2a4144] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #47255
  • [def7e3d908] - tools: upgrade Windows digital signature to SHA256 (Tobias Nießen) #47206
  • [0b78ac53ad] - tools: standardize update-llhttp.sh (Marco Ippolito) #47198
  • [deb80b1c46] - tools: add button to copy code example to clipboard (jakecastelli) #46928
  • [6dca79f1ce] - tools: standardize update-nghttp2.sh (Marco Ippolito) #47197
  • [0c613c9347] - tools: fix Slack notification action (Antoine du Hamel) #47237
  • [3f49da5113] - tools: notify on Slack when invalid commit lands (Antoine du Hamel) #47178
  • [337123d657] - tools: update daily wpt actions summary (Filip Skokan) #47138
  • [78ce8d3469] - tools: allow test tap output to include unicode characters (Moshe Atlow) #47175
  • [8850dacc88] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #47045
  • [d1ca5b6d47] - tools: align update-ada.sh with other scripts (Tony Gorez) #47044
  • [b58d52301e] - tools: update eslint to 8.36.0 (Node.js GitHub Bot) #47046
  • [d78bef8a1f] - tools,meta: update README and tools to reflect changes in TSC charter (Rich Trott) #47126
  • [d243115f41] - url: improve URLSearchParams creation performance (Yagiz Nizipli) #47190
  • [461ef04f87] - url: add pending-deprecation to url.parse() (Yagiz Nizipli) #47203
  • [ef62e5a59e] - (SEMVER-MINOR) url: implement URL.canParse (Khafra) #47179
  • [0b565e8f62] - url: allow extension of user provided URL objects (Antoine du Hamel) #46989
  • [cbb362736b] - util: fix inspecting error with a throwing getter for cause (Antoine du Hamel) #47163
  • [9537672511] - vm: properly handle defining props on any value (Nicolas DUBIEN) #46615
  • [75669e98bf] - watch: fix watch path with equals (Moshe Atlow) #47369

New in Node.js 19.8.1 Current (Mar 16, 2023)

  • Notable Changes:
  • This release contains a single revert of a change that was introduced in v19.8.0 and introduced application crashes.
  • Fixes: #47096
  • Commits:
  • [f7c8aa4cf1] - Revert "vm: fix leak in vm.compileFunction when importModuleDynamically is used" (Michaël Zasso) #47101

New in Node.js 19.8.0 Current (Mar 15, 2023)

  • Notable Changes:
  • [2fece54ca1] - (SEMVER-MINOR) buffer: add Buffer.copyBytesFrom(...) (James M Snell) #46500
  • [2eb887549a] - (SEMVER-MINOR) events: add listener argument to listenerCount (Paolo Insogna) #46523
  • [c1651bea41] - (SEMVER-MINOR) lib: add AsyncLocalStorage.bind() and .snapshot() (flakey5) #46387
  • [36f36b99b0] - (SEMVER-MINOR) src: add fs.openAsBlob to support File-backed Blobs (James M Snell) #45258
  • [bb9b1c637d] - (SEMVER-MINOR) tls: support automatic DHE (Tobias Nießen) #46978
  • [1e20b05acd] - (SEMVER-MINOR) url: implement URLSearchParams size getter (James M Snell) #46308
  • [60e5f45141] - (SEMVER-MINOR) wasi: add support for version when creating WASI (Michael Dawson) #46469
  • [a646a22d0f] - (SEMVER-MINOR) worker: add support for worker name in inspector and trace_events (Debadree Chatterjee) #46832
  • [bd5ef380a5] - doc: add marco-ippolito to collaborators (Marco Ippolito) #46816
  • Commits:
  • [e11f08e2c2] - assert: fix exception message for assert(0) on try catch block (hidecology) #46760
  • [a38de61e87] - assert: remove deprecated getFunction() usage (Ruben Bridgewater) #46661
  • [e07c9b82b7] - assert,util: revert recursive breaking change (Ruben Bridgewater) #46593
  • [7f85a2cb6f] - assert,util: improve deep equal comparison performance (Ruben Bridgewater) #46593
  • [7cfd31a753] - benchmark: add a benchmark for URLSearchParams creation and toString() (Debadree Chatterjee) #46810
  • [258d5f7b3c] - benchmark: replace table in docs with description of file tree structure (Theodor Steiner) #46991
  • [0617c5e81b] - benchmark: stablize encode benchmark (Joyee Cheung) #46658
  • [04166fe2fa] - benchmark: split Buffer.byteLength benchmark (Joyee Cheung) #46616
  • [760a35144f] - benchmark: add benchmark for EventTarget add and remove (Debadree Chatterjee) #46779
  • [9890eaa23d] - benchmark: fix worker startup benchmark (Joyee Cheung) #46680
  • [86b36212f6] - benchmark: rework assert benchmarks for correctness (Ruben Bridgewater) #46593
  • [cc74821477] - bootstrap: print stack trace during environment creation failure (Joyee Cheung) #46533
  • [2fece54ca1] - (SEMVER-MINOR) buffer: add Buffer.copyBytesFrom(...) (James M Snell) #46500
  • [b3e1034660] - buffer: use v8 fast API calls for Buffer.byteLength implementation (Joyee Cheung) #46616
  • [4b3b009afd] - build: fix Visual Studio installation detection for Arm64 (Radek Bartoň) #46420
  • [d4899b2b75] - build,test: add proper support for IBM i (Xu Meng) #46739
  • [81592ff073] - child_process: add trailing commas in source files (Antoine du Hamel) #46758
  • [16bbbacba8] - cluster: add trailing commas in source files (Antoine du Hamel) #46695
  • [2b7eb56e9b] - debugger: improve validations and documents for watch and unwatch (Eungyu Lee) #46947
  • [afbd818669] - debugger: add a command to set which lines to check for context (Eungyu Lee) #46812
  • [83b529ff27] - debugger: add trailing commas in source files (Antoine du Hamel) #46714
  • [84f5a1f942] - deps: update undici to 5.21.0 (Node.js GitHub Bot) #47063
  • [fb1ac98900] - deps: update simdutf to 3.2.2 (Node.js GitHub Bot) #46841
  • [7ab7f97c4e] - deps: update uvwasi to v0.0.16 (Michael Dawson) #46434
  • [b825e2db65] - deps: update ada to 1.0.4 (Node.js GitHub Bot) #46853
  • [8b1afe3f45] - deps: update corepack to 0.17.0 (Node.js GitHub Bot) #46842
  • [151fb60b28] - deps: update simdutf to 3.2.1 (Node.js GitHub Bot) #46800
  • [92f2f1910e] - deps: upgrade npm to 9.5.1 (npm team) #46783
  • [4e18e0a43a] - deps: update ada to 1.0.3 (Node.js GitHub Bot) #46784
  • [68dde38c8e] - deps: update nghttp2 to 1.52.0 (Michaël Zasso) #46636
  • [d9069e7614] - deps: fix libuv for android (Julian Dropmann) #46746
  • [c786ed3ecc] - deps: V8: cherry-pick 90be99fab31c (Michaël Zasso) #46646
  • [fb146ee741] - deps: update simdutf to 3.2.0 (Node.js GitHub Bot) #46621
  • [adff278c47] - deps,test: update postject to 1.0.0-alpha.5 (Node.js GitHub Bot) #46934
  • [247dfb7d73] - dgram: fix unhandled exception aborting a closed udp socket (Ramana Venkata) #46770
  • [c310a32857] - doc: remove remaining SSL_OP_NETSCAPE_*_BUG (Tobias Nießen) #47066
  • [89f31a1c7f] - doc: fix typo in test.md (Victor Hiairrassary) #47053
  • [94882f579f] - doc: amend support tier qualifier (Gireesh Punathil) #42805
  • [cbdaaf6197] - doc: fix typo on esm loaders example (Ruy Adorno) #47015
  • [17d3eb02f7] - doc: add missing test runner flags to man page (Colin Ihrig) #46982
  • [5f0f1c4197] - doc: fix history information for node:diagnostics_channel (Thomas Hunter II) #46984
  • [67e20f53cd] - doc: fix myUrl is not defined in url (Youngmin Yoo) #46968
  • [f903ea502c] - doc: remove useless SSL_OP_* options (Tobias Nießen) #46954
  • [5fdd3f454f] - doc: fix description of TLS dhparam option (Tobias Nießen) #46949
  • [ba5ff15b38] - doc: improve fs code example quality (jakecastelli) #46948
  • [6f18b947be] - doc: fix port of destination server is not defined in http2 (Deokjin Kim) #46940
  • [1b555ae72d] - doc: use number which is bigger than 1024 as port in http2 (Deokjin Kim) #46938
  • [07036cf1af] - doc: add release key for Juan Arboleda (Juan José) #46922
  • [553fd5b90a] - doc: fix links to SSL_CTX_set_options (Tobias Nießen) #46953
  • [282bf29884] - doc: fix fs missing import (jakecastelli) #46907
  • [f9739a85cb] - doc: add request to hold off publicising sec releases (Michael Dawson) #46702
  • [92a61388de] - doc: fix stream iterator helpers examples (Benjamin Gruenbaum) #46897
  • [8aca3cf410] - doc: add history info for node:test (Antoine du Hamel) #46851
  • [c0b6413086] - doc: sort import order (jakecastelli) #46847
  • [9d2532e2bb] - doc: use destructing import (jakecastelli) #46847
  • [48cf9845fe] - doc: add steps about signing the binary in single-executable docs (Darshan Sen) #46764
  • [bd5ef380a5] - doc: add marco-ippolito to collaborators (Marco Ippolito) #46816
  • [60d1a4887f] - doc: document how to use the tls.DEFAULT_CIPHERS (Andreas Martens) #46482
  • [00edc50874] - doc: add document for profiling and heap snapshot (cola119) #46787
  • [fc319d6a4f] - doc: add test:coverage event to custom reporter examples (Richie McColl) #46752
  • [1b3a25ef22] - doc: include context on .toWeb() parameters (Debadree Chatterjee) #46617
  • [88057dda3b] - doc: add in security steward for recent release (Michael Dawson) #46701
  • [d627164819] - doc: clarify semver-minor notable changes approach (Beth Griggs) #46592
  • [7806cae4fa] - doc: maintaining nghttp2 (Marco Ippolito) #46539
  • [dd66c48a74] - doc: add emit to NodeEventTarget (Deokjin Kim) #46356
  • [458671daeb] - doc,test: extend the list of platforms supported by single-executables (Darshan Sen) #47026
  • [18f0398242] - esm: allow resolve to return import assertions (Geoffrey Booth) #46153
  • [5eb5be8c71] - esm: move hooks handling into separate class (Geoffrey Booth) #45869
  • [9d4d916fe8] - esm: fix import assertion warning (Antoine du Hamel) #46971
  • [2c621d6e3a] - esm: add a runtime warning when using import assertions (Antoine du Hamel) #46901
  • [1a23eab614] - events: add trailing commas in source files (Antoine du Hamel) #46759
  • [2eb887549a] - (SEMVER-MINOR) events: add listener argument to listenerCount (Paolo Insogna) #46523
  • [4c12e6eeeb] - fs: add trailing commas in source files (Antoine du Hamel) #46696
  • [774eb1995c] - http: use listenerCount when adding noop event (Paolo Insogna) #46769
  • [aac5c28091] - http: correctly calculate strict content length (Robert Nagy) #46601
  • [e08514e337] - http: fix validation of "Link" header (Steve Herzog) #46466
  • [6f9cb982a1] - http: unify header treatment (Marco Ippolito) #46528
  • [05614f8cf6] - lib: enforce use of trailing commas (Antoine du Hamel) #46881
  • [5c7fc9290e] - lib: add trailing commas to all public core modules (Antoine du Hamel) #46848
  • [08bf01593f] - lib: fix BroadcastChannel initialization location (Shelley Vohr) #46864
  • [4e1865126c] - lib: rename internal module declaration as internal bindings (okmttdhr, okp) #46663
  • [f914bfff7d] - lib: add trailing commas to more internal files (Antoine du Hamel) #46811
  • [281f176ba4] - lib: fix DOMException property descriptors after being lazy loaded (Filip Skokan) #46799
  • [1c6a92b543] - lib: update punycode to 2.3.0 (Yagiz Nizipli) #46719
  • [7b5c00aacd] - lib: add trailing commas in internal/perf (Antoine du Hamel) #46697
  • [c1651bea41] - (SEMVER-MINOR) lib: add AsyncLocalStorage.bind() and .snapshot() (flakey5) #46387
  • [345c8c343b] - lib,src: fix a few typos in comments (Tobias Nießen) #46835
  • [4219c1e893] - meta: add single-executable labels and code owners (Joyee Cheung) #47004
  • [b199acd95c] - meta: remove AUTHORS file (Rich Trott) #46845
  • [c7f056cbe2] - meta: remove unnecessary onboarding step (Rich Trott) #46793
  • [4e0b93222c] - meta: update CODEOWNERS of url implementations (Yagiz Nizipli) #46775
  • [9d63ac2724] - meta: update AUTHORS (Node.js GitHub Bot) #46726
  • [40a7b0b993] - net: fix setting of value in 'setDefaultAutoSelectFamilyAttemptTimeout' (Deokjin Kim) #47012
  • [e0d098bd21] - net: rework autoSelectFamily implementation (Paolo Insogna) #46587
  • [58b1f33bd7] - node-api: add __wasm32__ guards on async works (Chengzhong Wu) #46633
  • [e5b8597f78] - os: improve network interface performance (Ruben Bridgewater) #46598
  • [d3d76c33ea] - punycode: add pending deprecation (Antoine du Hamel) #46719
  • [56dbb15e7c] - repl: remove lastInputPreview conditional check (Duy Mac Van) #46857
  • [c7d4ff3f72] - repl: fix .load infinite loop caused by shared use of lineEnding RegExp (Theodor Steiner) #46742
  • [4f2bf8c384] - repl: add trailing commas in source files (Antoine du Hamel) #46757
  • [ed31316c2e] - src: use std::array for passing argv in node::url (Anna Henningsen) #47035
  • [815d2af34d] - src: remove TLSEXT_TYPE_alpn guard (Tobias Nießen) #46956
  • [b051ac7220] - src: remove use of SSL_OP_SINGLE_DH_USE (Tobias Nießen) #46955
  • [9e65996d16] - src: remove unused v8::Uint32Array from encoding (Yagiz Nizipli) #47003
  • [6b60f38676] - src: use AliasedUint32Array for encodeInto results (Joyee Cheung) #46658
  • [dcba3a0673] - src: move encoding bindings to a new binding (Joyee Cheung) #46658
  • [6740679965] - src: fix negative nodeTiming milestone values (Chengzhong Wu) #46588
  • [074692a6f0] - src: fix missing trailing , (Cheng Zhao) #46909
  • [32bd38fb05] - src: make util.h self-containted (Joyee Cheung) #46817
  • [0d9c345f4d] - src: remove shadowed variable in OptionsParser (Shelley Vohr) #46672
  • [578a2c53a5] - src: do not track BaseObjects directly in Realm (Joyee Cheung) #46470
  • [9fab228115] - src: fix cb scope bugs involved in termination (ywave620) #45596
  • [c0fcad3827] - src: use an array for faster binding data lookup (Joyee Cheung) #46620
  • [973287a462] - src: per-realm binding data (Chengzhong Wu) #46556
  • [ad5f42d1e9] - src: add SetFastMethodNoSideEffect() (Joyee Cheung) #46619
  • [518b890f59] - Revert "src: let http2 streams end after session close" (Rich Trott) #46721
  • [19b5d0750c] - src: use string_view for report and related code (Anna Henningsen) #46723
  • [36f36b99b0] - (SEMVER-MINOR) src: update Blob implementation to use DataQueue / File-backed Blobs (James M Snell) #45258
  • [9b6270afe2] - (SEMVER-MINOR) src: implement DataQueue (James M Snell) #45258
  • [d48ed95a66] - (SEMVER-MINOR) src, lib: fixup lint and format issues for DataQueue/Blob (James M Snell) #45258
  • [f8866812fd] - stream: enable usage of webstreams on compose() (Debadree Chatterjee) #46675
  • [4ad48d9cb9] - stream: always delay construct callback by a nextTick (Matteo Collina) #46818
  • [93e91f3dde] - stream: fix respondWithNewView() errors when view.byteOffset != 0 (Debadree Chatterjee) #46465
  • [1f386570af] - stream: fix pipeline callback not called on ended stream (Debadree Chatterjee) #46600
  • [c972612c9d] - test: fix flakyness in test-runner reporter test (Moshe Atlow) #45930
  • [11509a4a2d] - test: move test-tls-autoselectfamily-servername to test/internet (Antoine du Hamel) #47029
  • [9556d98054] - test: fallback to IPv4 if IPv6 is unavailable (Abdirahim Musse) #47017
  • [5b81689efa] - test: simplify test-tls-ecdh-multiple (Tobias Nießen) #46963
  • [c8d528e979] - test: update WPT resources, common, streams, FileAPI, broadcastchannel (Filip Skokan) #46912
  • [acfd9b8879] - test: improve test coverage of lib/dns (Anderson Paiva) #46910
  • [21153f164d] - test: simplify test-tls-ecdh-auto (Tobias Nießen) #46911
  • [e5b8896186] - test: move testPath from CWD to temporary directory (Livia Medeiros) #46890
  • [db2ace1f94] - test: assume priv ports start at 1024 if it can't be changed (KrayzeeKev) #46536
  • [0e45470fd3] - test: update web-platform tests for url (Xuguang Mei) #46860
  • [6fa142d8f8] - test: move socket from CWD to temporary directory (Livia Medeiros) #46863
  • [df155b8fd5] - test: fix os-release check for Ubuntu in SEA test (Anna Henningsen) #46838
  • [e585a11fd5] - test: fix test-net-connect-reset-until-connected (Vita Batrla) #46781
  • [f21ed3a63f] - test: simplify test-tls-alert (Tobias Nießen) #46805
  • [e5fa7a139a] - test: fix WPT title when no META title is present (Filip Skokan) #46804
  • [bd097ca4bf] - test: update encoding WPTs (Filip Skokan) #46802
  • [3ab1aabb3f] - test: remove useless WPT init scripts (Filip Skokan) #46801
  • [323415535b] - test: remove useless require('../common') from WPTs (Filip Skokan) #46796
  • [76a9634305] - test: isolate hr-time specific wpt global init (Filip Skokan) #46795
  • [3daf508993] - test: stop faking performance idlharness (Filip Skokan) #46794
  • [e52ad92b08] - test: remove unreachable return (jakecastelli) #46807
  • [9c7a2e30fb] - test: fix test-v8-collect-gc-profile-in-worker.js (theanarkh) #46735
  • [a92be13dad] - test: improve control flow in test-tls-dhe (Tobias Nießen) #46751
  • [4e9915e383] - test: include strace openat test (Rafael Gonzaga) #46150
  • [2c4f670c6b] - test: fix IPv6 checks on IBM i (Abdirahim Musse) #46546
  • [b2cfcf9cd8] - test: fix default WPT titles (Filip Skokan) #46778
  • [f4cdc6f20f] - test: remove OpenSSL 1.0.2 error message compat (Tobias Nießen) #46709
  • [d5784c79bc] - test: fix flaky test-watch-mode-files_watcher (Moshe Atlow) #46738
  • [abba45e120] - test: remove obsolete util.isDeepStrictEqual tests (Ruben Bridgewater) #46593
  • [3401315e4e] - test: use newish OpenSSL feature in test-tls-dhe (Tobias Nießen) #46708
  • [95bbd0f7d6] - test: update web-platform tests for url (Yagiz Nizipli) #46547
  • [13f14a5efa] - test,crypto: update WebCryptoAPI WPT (Filip Skokan) #47010
  • [5e31599c26] - test_runner: default to spec reporter when on TTY environment (Moshe Atlow) #46969
  • [18146fc8c1] - test_runner: handle errors not bound to tests (Colin Ihrig) #46962
  • [7960ccb61e] - test_runner: throw if harness is not bootstrapped (Colin Ihrig) #46962
  • [b832d77500] - test_runner: track bootstrapping process (Colin Ihrig) #46962
  • [debc0adcf0] - test_runner: avoid running twice tests in describe (Moshe Atlow) #46888
  • [0923cbcfe6] - test_runner: fix reconstruction of errors extracted from YAML (Moshe Atlow) #46872
  • [ecf714e1d5] - test_runner: reset count on watch mode (Moshe Atlow) #46577
  • [6d32a16319] - test_runner: bootstrap reporters before running tests (Moshe Atlow) #46737
  • [ffa86f7fa9] - test_runner: emit test-only diagnostic warning (Richie McColl) #46540
  • [3a1a7fa741] - test_runner: flatten TAP output when running using --test (Moshe Atlow) #46440
  • [069ff1cc63] - test_runner: remove root tracking set (Colin Ihrig) #46961
  • [4b7198c3cb] - test_runner: give the root test a harness reference (Colin Ihrig) #46962
  • [762dc7cb7a] - test_runner: align behavior of it and test (Moshe Atlow) #46889
  • [aa41f27d53] - test_runner: add describe.only and it.only shorthands (Richie McColl) #46604
  • [dfe529b709] - test_runner: better handle async bootstrap errors (Colin Ihrig) #46720
  • [320ddc0a0c] - test_runner: centralize CLI option handling (Colin Ihrig) #46707
  • [66016e2a29] - test_runner: display skipped tests in spec reporter output (Richie McColl) #46651
  • [25069a60c7] - timers: use V8 fast API calls (Joyee Cheung) #46579
  • [bb9b1c637d] - (SEMVER-MINOR) tls: support automatic DHE (Tobias Nießen) #46978
  • [4df008457d] - tls: add trailing commas in source files (Antoine du Hamel) #46715
  • [36c48eab31] - tools: add daily WPT Report workflow step summary (Filip Skokan) #46763
  • [12a561875b] - tools: add undici WPTs to daily WPT Report (Filip Skokan) #46763
  • [0f1ecbccca] - tools: dont use cached node versions in daily wpt (Filip Skokan) #47024
  • [2e7ba3159b] - tools: automate cares update (Marco Ippolito) #46993
  • [8723844f29] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #46935
  • [f4a59b723d] - tools: add automation for updating OpenSSL dependency (Facundo Tuesca) #45605
  • [ecce6475b9] - tools: refactor dep_updaters (Tony Gorez) #46488
  • [132fc45d16] - tools: fix daily wpt nightly version selection (Filip Skokan) #46891
  • [078600c130] - tools: update eslint to 8.35.0 (Node.js GitHub Bot) #46854
  • [724f9d61a3] - tools: create llhttp update action (Marco Ippolito) #46766
  • [f558797744] - tools: fix linter message when using global DOMException (Antoine du Hamel) #46822
  • [f4cbe4ea4b] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #46843
  • [4b91420307] - tools: upload daily WPT Report to both staging and production (Filip Skokan) #46803
  • [2f09d3f9a1] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #46771
  • [f6bd145768] - tools: run format-cpp on node-api test c files (Chengzhong Wu) #46694
  • [694659cecb] - tools: cleanup WPT refs in daily-wpt-fyi.yml (Filip Skokan) #46740
  • [1756830e36] - tools: use actions pinned by commit hash in coverage-linux (Gabriela Gutierrez) #46294
  • [25ccaa7b3a] - tools: fix regex strings in Python tools (Jan Osusky) #46671
  • [dd400341ad] - tools: fixed path (Marco Ippolito) #46700
  • [a560a78962] - tools: update nghttp2 action (Marco Ippolito) #46700
  • [2ff9b20c3c] - tools: update-nghttp2 preserve config.h (Marco Ippolito) #46698
  • [6ff0b801f1] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #46712
  • [b7e027af4d] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #46712
  • [617b5b106a] - tools: update wpt.fyi used daily checkout ref (Filip Skokan) #46730
  • [63a83b4451] - typings: improve primordials typings (Antoine du Hamel) #46970
  • [1fa6352853] - url: offload URLSearchParams initialization (Yagiz Nizipli) #46867
  • [e754277a44] - url: fix array overrun in node:url::SetArgs() (Yagiz Nizipli) #47001
  • [b1747feb57] - url: set formatUrl method as no side effect (Yagiz Nizipli) #46884
  • [b8560ec8cc] - url: remove unnecessary call to FunctionPrototypeBind (Antoine du Hamel) #46870
  • [f8765be197] - url: remove unused kFormat from url (Yagiz Nizipli) #46867
  • [b10fe5856b] - url: improve isURLThis detection (Yagiz Nizipli) #46866
  • [1e20b05acd] - (SEMVER-MINOR) url: implement URLSearchParams size getter (James M Snell) #46308
  • [5a3ad8763b] - url: simplify and improve url formatting (Yagiz Nizipli) #46736
  • [a52405599c] - url: improve performance by removing host (Yagiz Nizipli) #46547
  • [9d55a5e5bb] - url: fix url spec compliance issues (Yagiz Nizipli) #46547
  • [77b4aca2cc] - vm: fix leak in vm.compileFunction when importModuleDynamically is used (Joyee Cheung) #46785
  • [b2a80d788a] - wasi: add wasi sock_accept stub (Michael Dawson) #46434
  • [60e5f45141] - (SEMVER-MINOR) wasi: add support for version when creating WASI (Michael Dawson) #46469
  • [a646a22d0f] - (SEMVER-MINOR) worker: add support for worker name in inspector and trace_events (Debadree Chatterjee) #46832

New in Node.js 18.15.0 LTS (Mar 15, 2023)

  • Notable Changes:
  • [63563f8a7a] - doc,lib,src,test: rename --test-coverage (Colin Ihrig) #46017
  • [28a775b32f] - test_runner: add initial code coverage support (Colin Ihrig) #46017
  • [4d50db14b3] - (SEMVER-MINOR) test_runner: add reporters (Moshe Atlow) #45712
  • [643545ab79] - (SEMVER-MINOR) fs: add statfs() functions (Colin Ihrig) #46358
  • [110ead9abb] - (SEMVER-MINOR) vm: expose cachedDataRejected for vm.compileFunction (Anna Henningsen) #46320
  • [02632b42cf] - (SEMVER-MINOR) v8: support gc profile (theanarkh) #46255
  • [f09b838408] - (SEMVER-MINOR) src,lib: add constrainedMemory API for process (theanarkh) #46218
  • [cb5bb12422] - (SEMVER-MINOR) buffer: add isAscii method (Yagiz Nizipli) #46046
  • Commits:
  • [6f91c8e2ae] - benchmark: add trailing commas (Antoine du Hamel) #46370
  • [d0b9be21eb] - benchmark: remove buffer benchmarks redundancy (Brian White) #45735
  • [6468f30d0d] - benchmark: introduce benchmark combination filtering (Brian White) #45735
  • [cb5bb12422] - (SEMVER-MINOR) buffer: add isAscii method (Yagiz Nizipli) #46046
  • [ec61bb04c0] - build: export more OpenSSL symbols on Windows (Mohamed Akram) #45486
  • [7bae4333ce] - build: fix MSVC 2022 Release compilation (Vladimir Morozov (REDMOND)) #46228
  • [0f5f2d4470] - crypto: include hmac.h in crypto_util.h (Adam Langley) #46279
  • [91ece4161b] - crypto: avoid hang when no algorithm available (Richard Lau) #46237
  • [492fc95bdf] - deps: V8: cherry-pick 90be99fab31c (Michaël Zasso) #46646
  • [732c77e3d9] - deps: update acorn to 8.8.2 (Node.js GitHub Bot) #46363
  • [8582f99ffb] - deps: update to uvwasi 0.0.15 (Colin Ihrig) #46253
  • [5453cd9940] - deps: V8: cherry-pick bf0bd4868dde (Michaël Zasso) #45908
  • [3ea53c5dc8] - deps: V8: cherry-pick c875e86df1d7 (sepehrst) #46501
  • [c04808de4b] - doc: correct the sed command for macOS in release process docs (Juan José) #46397
  • [8113220690] - doc: pass string to textEncoder.encode as input (Deokjin Kim) #46421
  • [129dccf5d2] - doc: add tip for session.post function (theanarkh) #46354
  • [919e581732] - doc: add documentation for socket.destroySoon() (Luigi Pinca) #46337
  • [fc15ac95a5] - doc: fix commit message using test instead of deps (Tony Gorez) #46313
  • [d153a93200] - doc: add v8 fast api contribution guidelines (Yagiz Nizipli) #46199
  • [dbf082d082] - doc: fix small typo error (0xflotus) #46186
  • [94421b4cfe] - doc: mark some parameters as optional in webstreams (Deokjin Kim) #46269
  • [5adb743511] - doc: update output of example in events.getEventListeners (Deokjin Kim) #46268
  • [63563f8a7a] - doc,lib,src,test: rename --test-coverage (Colin Ihrig) #46017
  • [4e88c7c813] - esm: delete preload mock test (Geoffrey Booth) #46402
  • [643545ab79] - (SEMVER-MINOR) fs: add statfs() functions (Colin Ihrig) #46358
  • [5019b5473f] - http: res.setHeaders first implementation (Marco Ippolito) #46109
  • [76622c4c60] - inspector: allow opening inspector when NODE_V8_COVERAGE is set (Moshe Atlow) #46113
  • [92f0747e03] - meta: update AUTHORS (Node.js GitHub Bot) #46399
  • [795251bc6f] - meta: update AUTHORS (Node.js GitHub Bot) #46303
  • [8865424c31] - meta: add .mailmap entry (Rich Trott) #46303
  • [5ed679407b] - meta: move evanlucas to emeritus (Evan Lucas) #46274
  • [403df210ac] - module: move test reporter loading (Geoffrey Booth) #45923
  • [2f7319e387] - readline: fix detection of carriage return (Antoine du Hamel) #46306
  • [73a8f46c4d] - Revert "src: let http2 streams end after session close" (Santiago Gimeno) #46721
  • [30d783f91a] - src: stop tracing agent before shutting down libuv (Santiago Gimeno) #46380
  • [1508d90fda] - src: get rid of fp arithmetic in ParseIPv4Host (Tobias Nießen) #46326
  • [bdb793a082] - src: use UNREACHABLE instead of CHECK(falsy) (Tobias Nießen) #46317
  • [116a33649b] - src: add support for ETW stack walking (José Dapena Paz) #46203
  • [b06298c98e] - src: refactor EndsInANumber in node_url.cc and adds IsIPv4NumberValid (Miguel Teixeira) #46227
  • [26f41b041c] - src: fix c++ exception on bad command line arg (Ben Noordhuis) #46290
  • [14da89f41a] - src: remove unreachable UNREACHABLE (Tobias Nießen) #46281
  • [18c4dd004b] - src: replace custom ASCII validation with simdutf one (Anna Henningsen) #46271
  • [cde375510f] - src: replace unreachable code with static_assert (Tobias Nießen) #46250
  • [f389b2f3fc] - src: use explicit C++17 fallthrough (Tobias Nießen) #46251
  • [8adaa1333c] - src: use CreateEnvironment instead of inlining its code where possible (Anna Henningsen) #45886
  • [f09b838408] - (SEMVER-MINOR) src,lib: add constrainedMemory API for process (theanarkh) #46218
  • [63e92eae63] - stream: remove brandchecks from stream duplexify (Debadree Chatterjee) #46315
  • [3acfe9bf92] - stream: fix readable stream as async iterator function (Erick Wendel) #46147
  • [de64315ccb] - test: fix WPT title when no META title is present (Filip Skokan) #46804
  • [162e3400ff] - test: fix default WPT titles (Filip Skokan) #46778
  • [5f422c4d70] - test: add WPTRunner support for variants and generating WPT reports (Filip Skokan) #46498
  • [4f5aff2557] - test: fix tap parser fails if a test logs a number (Pulkit Gupta) #46056
  • [32b020cf84] - test: fix tap escaping with and without --test (Pulkit Gupta) #46311
  • [f2bba1bcdb] - test: add trailing commas in test/node-api (Antoine du Hamel) #46384
  • [f2ebe66fda] - test: add trailing commas in test/message (Antoine du Hamel) #46372
  • [ed564a9985] - test: add trailing commas in test/pseudo-tty (Antoine du Hamel) #46371
  • [e4437dd409] - test: set common.bits to 64 for loong64 (Shi Pujin) #45383
  • [9d40aef736] - test: s390x zlib test case fixes (Adam Majer) #46367
  • [ed3fb52716] - test: fix logInTimeout is not function (theanarkh) #46348
  • [d05b0771be] - test: avoid trying to call sysctl directly (Adam Majer) #46366
  • [041aac3bbd] - test: avoid left behind child processes (Richard Lau) #46276
  • [837ddcb322] - test: add failing test for readline with carriage return (Alec Mev) #46075
  • [75b8db41c6] - test: reduce fs-write-optional-params flakiness (LiviaMedeiros) #46238
  • [c0d3fdaf63] - test,crypto: add CFRG curve vectors to wrap/unwrap tests (Filip Skokan) #46406
  • [f328f7b15e] - test,crypto: update WebCryptoAPI WPT (Filip Skokan) #46267
  • [1ef3c53e24] - test_runner: better handle async bootstrap errors (Colin Ihrig) #46720
  • [0a690efb76] - test_runner: add describe.only and it.only shorthands (Richie McColl) #46604
  • [28a1317efe] - test_runner: bootstrap reporters before running tests (Moshe Atlow) #46737
  • [cd3aaa8fac] - test_runner: emit test-only diagnostic warning (Richie McColl) #46540
  • [c19fa45a65] - test_runner: centralize CLI option handling (Colin Ihrig) #46707
  • [0898145e37] - test_runner: display skipped tests in spec reporter output (Richie McColl) #46651
  • [894d7117fa] - test_runner: parse non-ascii character correctly (Mert Can Altın) #45736
  • [5b3c606626] - test_runner: flatten TAP output when running using --test (Moshe Atlow) #46440
  • [391ff0dba4] - test_runner: allow nesting test within describe (Moshe Atlow) #46544
  • [ba784e87b4] - test_runner: fix missing test diagnostics (Moshe Atlow) #46450
  • [c5f16fb5fb] - test_runner: top-level diagnostics not ommited when running with --test (Pulkit Gupta) #46441
  • [28a775b32f] - test_runner: add initial code coverage support (Colin Ihrig) #46017
  • [0d999e373a] - test_runner: make built in reporters internal (Colin Ihrig) #46092
  • [79f4b426fe] - test_runner: report file in test runner events (Moshe Atlow) #46030
  • [4d50db14b3] - (SEMVER-MINOR) test_runner: add reporters (Moshe Atlow) #45712
  • [5fdf374c74] - test_runner: avoid swallowing of asynchronously thrown errors (MURAKAMI Masahiko) #45264
  • [23b875806c] - test_runner: update comment to comply with eslint no-fallthrough rule (Antoine du Hamel) #46258
  • [00c5495aa3] - tools: update eslint to 8.33.0 (Node.js GitHub Bot) #46400
  • [37a6ce1120] - tools: update doc to [email protected] [email protected] (Node.js GitHub Bot) #46364
  • [1eaafc7db4] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #46398
  • [a97774603b] - tools: require more trailing commas (Antoine du Hamel) #46346
  • [03e244a59b] - tools: update lint-md-dependencies (Node.js GitHub Bot) #46302
  • [60d714e0c3] - tools: allow icutrim.py to run on python2 (Michael Dawson) #46263
  • [b7950f50de] - tools: update eslint to 8.32.0 (Node.js GitHub Bot) #46258
  • [08bafc84f6] - url: refactor to use more primordials (Antoine du Hamel) #45966
  • [02632b42cf] - (SEMVER-MINOR) v8: support gc profile (theanarkh) #46255
  • [110ead9abb] - (SEMVER-MINOR) vm: expose cachedDataRejected for vm.compileFunction (Anna Henningsen) #46320

New in Node.js 19.7.0 Current (Feb 22, 2023)

  • Notable Changes:
  • [60a612607e] - deps: upgrade npm to 9.5.0 (npm team) #46673
  • [7d6c27eab1] - deps: add ada as a dependency (Yagiz Nizipli) #46410
  • [a79a8bf85a] - doc: add debadree25 to collaborators (Debadree Chatterjee) #46716
  • [0c2c322ee6] - doc: add deokjinkim to collaborators (Deokjin Kim) #46444
  • [9b23309f53] - doc,lib,src,test: rename --test-coverage (Colin Ihrig) #46017
  • [8590eb4830] - (SEMVER-MINOR) lib: add aborted() utility function (Debadree Chatterjee) #46494
  • [164bfe82cc] - (SEMVER-MINOR) src: add initial support for single executable applications (Darshan Sen) #45038
  • [f3908411fd] - (SEMVER-MINOR) src: allow optional Isolate termination in node::Stop() (Shelley Vohr) #46583
  • [c34bac2fed] - (SEMVER-MINOR) src: allow blobs in addition to FILE*s in embedder snapshot API (Anna Henningsen) #46491
  • [683a1f8f3e] - (SEMVER-MINOR) src: allow snapshotting from the embedder API (Anna Henningsen) #45888
  • [658d2f4710] - (SEMVER-MINOR) src: make build_snapshot a per-Isolate option, rather than a global one (Anna Henningsen) #45888
  • [6801d3753c] - (SEMVER-MINOR) src: add snapshot support for embedder API (Anna Henningsen) #45888
  • [e77d538d32] - (SEMVER-MINOR) src: allow embedder control of code generation policy (Shelley Vohr) #46368
  • [633d3f292d] - (SEMVER-MINOR) stream: add abort signal for ReadableStream and WritableStream (Debadree Chatterjee) #46273
  • [6119289251] - test_runner: add initial code coverage support (Colin Ihrig) #46017
  • [a51fe3c663] - url: replace url-parser with ada (Yagiz Nizipli) #46410
  • Commits:
  • [731a7ae9da] - async_hooks: add async local storage propagation benchmarks (Chengzhong Wu) #46414
  • [05ad792a07] - async_hooks: remove experimental onPropagate option (James M Snell) #46386
  • [6b21170b10] - benchmark: add trailing commas in benchmark/path (Antoine du Hamel) #46628
  • [4b89ec409f] - benchmark: add trailing commas in benchmark/http (Antoine du Hamel) #46609
  • [ff95eb7386] - benchmark: add trailing commas in benchmark/crypto (Antoine du Hamel) #46553
  • [638d9b8d4b] - benchmark: add trailing commas in benchmark/url (Antoine du Hamel) #46551
  • [7524871a9b] - benchmark: add trailing commas in benchmark/http2 (Antoine du Hamel) #46552
  • [9d9b3f856f] - benchmark: add trailing commas in benchmark/process (Antoine du Hamel) #46481
  • [6c69ad6d43] - benchmark: add trailing commas in benchmark/misc (Antoine du Hamel) #46474
  • [7f8b292bee] - benchmark: add trailing commas in benchmark/buffers (Antoine du Hamel) #46473
  • [897e3c2782] - benchmark: add trailing commas in benchmark/module (Antoine du Hamel) #46461
  • [7760d40c04] - benchmark: add trailing commas in benchmark/net (Antoine du Hamel) #46439
  • [8b88d605ca] - benchmark: add trailing commas in benchmark/util (Antoine du Hamel) #46438
  • [2c8c9f978d] - benchmark: add trailing commas in benchmark/async_hooks (Antoine du Hamel) #46424
  • [b364b9bd60] - benchmark: add trailing commas in benchmark/fs (Antoine du Hamel) #46426
  • [e15ddba7e7] - build: add GitHub Action for coverage with --without-intl (Rich Trott) #37954
  • [c781a48097] - build: do not disable inspector when intl is disabled (Rich Trott) #37954
  • [b4deb2fcd5] - crypto: don't assume FIPS is disabled by default (Michael Dawson) #46532
  • [60a612607e] - deps: upgrade npm to 9.5.0 (npm team) #46673
  • [6c997035fc] - deps: update corepack to 0.16.0 (Node.js GitHub Bot) #46710
  • [2ed3875eee] - deps: update undici to 5.20.0 (Node.js GitHub Bot) #46711
  • [20cb13bf7f] - deps: update ada to v1.0.1 (Yagiz Nizipli) #46550
  • [c0983cfc06] - deps: copy postject-api.h and LICENSE to the deps folder (Darshan Sen) #46582
  • [7d6c27eab1] - deps: add ada as a dependency (Yagiz Nizipli) #46410
  • [7e7e2d037b] - deps: update c-ares to 1.19.0 (Michaël Zasso) #46415
  • [a79a8bf85a] - doc: add debadree25 to collaborators (Debadree Chatterjee) #46716
  • [6a8b04d709] - doc: move bcoe to emeriti (Benjamin Coe) #46703
  • [a0a6ee0f54] - doc: add response.strictContentLength to documentation (Marco Ippolito) #46627
  • [ffdd64dce3] - doc: remove unused functions from example of streamConsumers.text (Deokjin Kim) #46581
  • [c771d66864] - doc: fix test runner examples (Richie McColl) #46565
  • [375bb22df9] - doc: update test concurrency description / default values (richiemccoll) #46457
  • [a7beac04ba] - doc: enrich test command with executable (Tony Gorez) #44347
  • [aef57cd290] - doc: fix wrong location of requestTimeout's default value (Deokjin Kim) #46423
  • [0c2c322ee6] - doc: add deokjinkim to collaborators (Deokjin Kim) #46444
  • [31d3e3c486] - doc: fix -C flag usage (三咲智子 Kevin Deng) #46388
  • [905a6756a3] - doc: add note about major release rotation (Rafael Gonzaga) #46436
  • [33a98c42fa] - doc: update threat model based on discussions (Michael Dawson) #46373
  • [9b23309f53] - doc,lib,src,test: rename --test-coverage (Colin Ihrig) #46017
  • [f192b83800] - esm: misc test refactors (Geoffrey Booth) #46631
  • [7f2cdd36cf] - http: add note about clientError event (Paolo Insogna) #46584
  • [d8c527f24f] - http: use v8::Array::New() with a prebuilt vector (Joyee Cheung) #46447
  • [fa600fe003] - lib: add trailing commas in internal/process (Antoine du Hamel) #46687
  • [4aebee63f0] - lib: do not crash using workers with disabled shared array buffers (Ruben Bridgewater) #41023
  • [a740908588] - lib: delete module findPath unused params (sinkhaha) #45371
  • [8b46c763d9] - lib: enforce use of trailing commas in more files (Antoine du Hamel) #46655
  • [aae0020e27] - lib: enforce use of trailing commas for functions (Antoine du Hamel) #46629
  • [da9ebaf138] - lib: predeclare Event.isTrusted prop descriptor (Santiago Gimeno) #46527
  • [35570e970e] - lib: tighten AbortSignal.prototype.throwIfAborted implementation (Antoine du Hamel) #46521
  • [8590eb4830] - (SEMVER-MINOR) lib: add aborted() utility function (Debadree Chatterjee) #46494
  • [5d1a729f76] - meta: update AUTHORS (Node.js GitHub Bot) #46624
  • [cb9b9ad879] - meta: move one or more collaborators to emeritus (Node.js GitHub Bot) #46513
  • [17b82c85d9] - meta: update AUTHORS (Node.js GitHub Bot) #46504
  • [bb14a2b098] - meta: move one or more collaborators to emeritus (Node.js GitHub Bot) #46411
  • [152a3c7d1d] - process: print versions by sort (Himself65) #46428
  • [164bfe82cc] - (SEMVER-MINOR) src: add initial support for single executable applications (Darshan Sen) #45038
  • [f3908411fd] - (SEMVER-MINOR) src: allow optional Isolate termination in node::Stop() (Shelley Vohr) #46583
  • [bdba600d32] - src: remove icu usage from node_string.cc (Yagiz Nizipli) #46548
  • [31fb2e22a0] - src: add fflush() to SnapshotData::ToFile() (Anna Henningsen) #46531
  • [c34bac2fed] - (SEMVER-MINOR) src: allow blobs in addition to FILE*s in embedder snapshot API (Anna Henningsen) #46491
  • [c3325bfc0d] - src: make edge names in BaseObjects more descriptive in heap snapshots (Joyee Cheung) #46492
  • [3c5db8f419] - src: avoid leaking snapshot fp on error (Tobias Nießen) #46497
  • [1a808a4aad] - src: check return value of ftell() (Tobias Nießen) #46495
  • [f72f643549] - src: remove unused includes from main thread (Yagiz Nizipli) #46471
  • [60c2a863da] - src: use string_view instead of std::string& (Yagiz Nizipli) #46471
  • [f35f6d2218] - src: use simdutf utf8 to utf16 instead of icu (Yagiz Nizipli) #46471
  • [00b81c7afe] - src: replace icu with simdutf for char counts (Yagiz Nizipli) #46472
  • [683a1f8f3e] - (SEMVER-MINOR) src: allow snapshotting from the embedder API (Anna Henningsen) #45888
  • [658d2f4710] - (SEMVER-MINOR) src: make build_snapshot a per-Isolate option, rather than a global one (Anna Henningsen) #45888
  • [6801d3753c] - (SEMVER-MINOR) src: add snapshot support for embedder API (Anna Henningsen) #45888
  • [95065c3185] - src: add additional utilities to crypto::SecureContext (James M Snell) #45912
  • [efc59d0843] - src: add KeyObjectHandle::HasInstance (James M Snell) #45912
  • [a8a2d0e2b1] - src: add GetCurrentCipherName/Version to crypto_common (James M Snell) #45912
  • [6cf860d3d6] - src: back snapshot I/O with a std::vector sink (Joyee Cheung) #46463
  • [e77d538d32] - (SEMVER-MINOR) src: allow embedder control of code generation policy (Shelley Vohr) #46368
  • [7756438c81] - stream: add trailing commas in webstream source files (Antoine du Hamel) #46685
  • [6b64a945c6] - stream: add trailing commas in stream source files (Antoine du Hamel) #46686
  • [633d3f292d] - (SEMVER-MINOR) stream: add abort signal for ReadableStream and WritableStream (Debadree Chatterjee) #46273
  • [f91260b32a] - stream: refactor to use validateAbortSignal (Antoine du Hamel) #46520
  • [6bf7388b62] - stream: allow transfer of readable byte streams (MrBBot) #45955
  • [c2068537fa] - stream: add pipeline() for webstreams (Debadree Chatterjee) #46307
  • [4cf4b41c56] - stream: add suport for abort signal in finished() for webstreams (Debadree Chatterjee) #46403
  • [b844a09fa5] - stream: dont access Object.prototype.type during TransformStream init (Debadree Chatterjee) #46389
  • [6ad01fd7b5] - test: fix test-net-autoselectfamily for kernel without IPv6 support (Livia Medeiros) #45856
  • [2239e24306] - test: fix assertions in test-snapshot-dns-lookup* (Tobias Nießen) #46618
  • [c4ca98e786] - test: cover publicExponent validation in OpenSSL (Tobias Nießen) #46632
  • [e60d3f2b1d] - test: add WPTRunner support for variants and generating WPT reports (Filip Skokan) #46498
  • [217f2f6e2a] - test: add trailing commas in test/pummel (Antoine du Hamel) #46610
  • [641e1771c8] - test: enable api-invalid-label.any.js in encoding WPTs (Filip Skokan) #46506
  • [89aa161173] - test: fix tap parser fails if a test logs a number (Pulkit Gupta) #46056
  • [faba8d4a30] - test: add trailing commas in test/js-native-api (Antoine du Hamel) #46385
  • [d556ccdd26] - test: make more crypto tests work with BoringSSL (Shelley Vohr) #46429
  • [c7f29b24a6] - test: add trailing commas in test/known_issues (Antoine du Hamel) #46408
  • [a66e7ca6c5] - test: add trailing commas in test/internet (Antoine du Hamel) #46407
  • [0f75633086] - test,crypto: update WebCryptoAPI WPT (Filip Skokan) #46575
  • [ddf5002782] - test_runner: parse non-ascii character correctly (Mert Can Altın) #45736
  • [5b748114d2] - test_runner: allow nesting test within describe (Moshe Atlow) #46544
  • [c526f9f70a] - test_runner: fix missing test diagnostics (Moshe Atlow) #46450
  • [b31aabb101] - test_runner: top-level diagnostics not ommited when running with --test (Pulkit Gupta) #46441
  • [6119289251] - test_runner: add initial code coverage support (Colin Ihrig) #46017
  • [6f24f0621e] - timers: cleanup no-longer relevant TODOs in timers/promises (James M Snell) #46499
  • [1cd22e7d19] - tools: fix bug in prefer-primordials lint rule (Antoine du Hamel) #46659
  • [87df34ac28] - tools: fix update-ada script (Yagiz Nizipli) #46550
  • [f62b58a623] - tools: add a daily wpt.fyi synchronized report upload (Filip Skokan) #46498
  • [803f00aa32] - tools: update eslint to 8.34.0 (Node.js GitHub Bot) #46625
  • [f87216bdb2] - tools: update lint-md-dependencies to [email protected] [email protected] (Node.js GitHub Bot) #46623
  • [8ee9e48560] - tools: update doc to [email protected] [email protected] (Node.js GitHub Bot) #46622
  • [148c5d9239] - tools: update lint-md-dependencies to [email protected] [email protected] (Node.js GitHub Bot) #46503
  • [51c6c61a58] - tools: update ESLint custom rules to not use the deprecated format (Antoine du Hamel) #46460
  • [a51fe3c663] - url: replace url-parser with ada (Yagiz Nizipli) #46410
  • [129c9e7180] - url: remove unused URL::ToFilePath() (Yagiz Nizipli) #46487
  • [9a604d67c3] - url: remove unused URL::toObject (Yagiz Nizipli) #46486
  • [d6fbebda54] - url: remove unused setURLConstructor function (Yagiz Nizipli) #46485
  • [17b3ee33c2] - vm: properly support symbols on globals (Nicolas DUBIEN) #46458

New in Node.js 18.14.2 LTS (Feb 22, 2023)

  • Notable Changes:
  • [f864bef32a] - deps: upgrade npm to 9.5.0 (npm team) #46673
  • Commits:
  • [880a65d7ff] - build: delete snapshot.blob file from the project (Juan José Arboleda) #46626
  • [cbea56efda] - deps: update undici to 5.20.0 (Node.js GitHub Bot) #46711
  • [f864bef32a] - deps: upgrade npm to 9.5.0 (npm team) #46673
  • [648041d568] - deps: upgrade npm to 9.4.0 (npm team) #46353
  • [5e1f213f3c] - deps: patch V8 to 10.2.154.26 (Michaël Zasso) #46446

New in Node.js 18.14.1 LTS (Feb 17, 2023)

  • Notable Changes:
  • The following CVEs are fixed in this release:
  • CVE-2023-23918: Node.js Permissions policies can be bypassed via process.mainModule (High)
  • CVE-2023-23919: Node.js OpenSSL error handling issues in nodejs crypto library (Medium)
  • CVE-2023-23936: Fetch API in Node.js did not protect against CRLF injection in host headers (Medium)
  • CVE-2023-24807: Regular Expression Denial of Service in Headers in Node.js fetch API (Low)
  • CVE-2023-23920: Node.js insecure loading of ICU data through ICU_DATA environment variable (Low)
  • More detailed information on each of the vulnerabilities can be found in February 2023 Security Releases blog post.
  • This security release includes OpenSSL security updates as outlined in the recent OpenSSL security advisory.
  • Commits:
  • [8393ebc72d] - build: build ICU with ICU_NO_USER_DATA_OVERRIDE (RafaelGSS) nodejs-private/node-private#379
  • [004e34d046] - crypto: clear OpenSSL error on invalid ca cert (RafaelGSS) #46572
  • [5e0142a852] - deps: cherry-pick Windows ARM64 fix for openssl (Richard Lau) #46572
  • [f71fe278a6] - deps: update archs files for quictls/openssl-3.0.8+quic (RafaelGSS) #46572
  • [2c6817e42b] - deps: upgrade openssl sources to quictls/openssl-3.0.8+quic (RafaelGSS) #46572
  • [f0afa0bfe5] - deps: update undici to 5.19.1 (Node.js GitHub Bot) #46634
  • [c26a34c13e] - deps: update undici to 5.18.0 (Node.js GitHub Bot) #46634
  • [db93ee4a15] - deps: update undici to 5.17.1 (Node.js GitHub Bot) #46634
  • [b4e49fb02c] - deps: update undici to 5.16.0 (Node.js GitHub Bot) #46634
  • [90994e6a2c] - deps: update undici to 5.15.1 (Node.js GitHub Bot) #46634
  • [00302fc7ac] - deps: update undici to 5.15.0 (Node.js GitHub Bot) #46634
  • [0e3b796cc5] - lib: makeRequireFunction patch when experimental policy (RafaelGSS) nodejs-private/node-private#371
  • [7cccd5565f] - policy: makeRequireFunction on mainModule.require (RafaelGSS) nodejs-private/node-private#371

New in Node.js 18.14.0 LTS (Feb 17, 2023)

  • Notable changes:
  • Updated npm to 9.3.1:
  • Based on the list of guidelines we've established on integrating npm and node, here is a grouped list of the breaking changes with the reasoning as to why they fit within the guidelines linked above. Note that all the breaking changes were made in 9.0.0. All subsequent minor and patch releases after [email protected] do not contain any breaking changes.
  • Engines:
  • Explanation: the node engines supported by npm@9 make it safe to allow npm@9 as the default in any LTS version of 14 or 16, as well as anything later than or including 18.0.0
  • npm is now compatible with the following semver range for node: ^14.17.0 || ^16.13.0 || >=18.0.0
  • Filesystem:
  • Explanation: when run as root previous versions of npm attempted to manage file ownership automatically on the user's behalf. this behavior was problematic in many cases and has been removed in favor of allowing users to manage their own filesystem permissions
  • npm will no longer attempt to modify ownership of files it creates.
  • Auth:
  • Explanation: any errors thrown from users having unsupported auth configurations will show npm config fix in the remediation instructions, which will allow the user to automatically have their auth config fixed.
  • The presence of auth related settings that are not scoped to a specific registry found in a config file is no longer supported and will throw errors.
  • Login:
  • Explanation: the default auth-type has changed and users can opt back into the old behavior with npm config set auth-type=legacy. login and adduser have also been seperated making each command more closely match it's name instead of being aliases for each other.
  • Legacy auth types sso, saml & legacy have been consolidated into "legacy".
  • auth-type defaults to "web"
  • login and adduser are now separate commands that send different data to the registry.
  • auth-type config values web and legacy only try their respective methods, npm no longer tries them all and waits to see which one doesn't fail.
  • Tarball Packing:
  • Explanation: previously using multiple ignore/allow lists when packing was an undefined behavior, and now the order of operations is strictly defined when packing a tarball making it easier to follow and should only affect users relying on the previously undefined behavior.
  • npm pack now follows a strict order of operations when applying ignore rules. If a files array is present in the package.json, then rules in .gitignore and .npmignore files from the root will be ignored.
  • Display/Debug/Timing Info:
  • Explanation: these changes center around the display of information to the terminal including timing and debug log info. We do not anticipate these changes breaking any existing workflows.
  • Links generated from git urls will now use HEAD instead of master as the default ref.
  • timing has been removed as a value for --loglevel.
  • --timing will show timing information regardless of --loglevel, except when --silent.
  • When run with the --timing flag, npm now writes timing data to a file alongside the debug log data, respecting the logs-dir option and falling back to /_logs/ dir, instead of directly inside the cache directory.
  • The timing file data is no longer newline delimited JSON, and instead each run will create a uniquely named -timing.json file, with the portion being the same as the debug log.
  • npm now outputs some json errors on stdout. Previously npm would output all json formatted errors on stderr, making it difficult to parse as the stderr stream usually has logs already written to it.
  • Config/Command Deprecations or Removals:
  • Explanation: install-links is the only config or command in the list that has an effect on package installs. We fixed a number of issues that came up during prereleases with this change. It will also only be applied to new package trees created without a package-lock.json file. Any install with an existing lock file will not be changed.
  • Deprecate boolean install flags in favor of --install-strategy.
  • npm config set will no longer accept deprecated or invalid config options.
  • install-links config defaults to "true".
  • node-version config has been removed.
  • npm-version config has been removed.
  • npm access subcommands have been renamed.
  • npm birthday has been removed.
  • npm set-script has been removed.
  • npm bin has been removed (use npx or npm exec to execute binaries).
  • Other notable changes:
  • doc:
  • add parallelism note to os.cpus() (Colin Ihrig) #45895
  • http:
  • join authorization headers (Marco Ippolito) #45982
  • improved timeout defaults handling (Paolo Insogna) #45778
  • stream:
  • implement finished() for ReadableStream and WritableStream (Debadree Chatterjee) #46205
  • Commits:
  • [1352f08778] - assert: remove assert.snapshot (Moshe Atlow) #46112
  • [4ee3238643] - async_hooks: refactor to use validateObject (Deokjin Kim) #46004
  • [79e0bf9b64] - benchmark: include webstreams benchmark (Rafael Gonzaga) #45876
  • [ed1ac82469] - benchmark,tools: use os.availableParallelism() (Deokjin Kim) #46003
  • [16ee02f2eb] - (SEMVER-MINOR) buffer: add buffer.isUtf8 for utf8 validation (Yagiz Nizipli) #45947
  • [3bf2371a57] - build: add extra semi check (Jiawen Geng) #46194
  • [560ee24157] - build: fix arm64 cross-compile from powershell (Stefan Stojanovic) #45890
  • [48e3ad3aca] - build: add option to disable shared readonly heap (Anna Henningsen) #45887
  • [52a7887b94] - (SEMVER-MINOR) crypto: add CryptoKey Symbol.toStringTag (Filip Skokan) #46042
  • [a558774a40] - crypto: add cipher update/final methods encoding validation (vitpavlenko) #45990
  • [599d1dc841] - crypto: ensure auth tag set for chacha20-poly1305 (Ben Noordhuis) #46185
  • [24a101698c] - crypto: return correct bit length in KeyObject's asymmetricKeyDetails (Filip Skokan) #46106
  • [2de50fef84] - (SEMVER-MINOR) crypto: add KeyObject Symbol.toStringTag (Filip Skokan) #46043
  • [782b6f6f9f] - crypto: ensure exported webcrypto EC keys use uncompressed point format (Ben Noordhuis) #46021
  • [7a97f3f43b] - crypto: fix CryptoKey prototype WPT (Filip Skokan) #45857
  • [1a8aa50aa2] - crypto: fix CryptoKey WebIDL conformance (Filip Skokan) #45855
  • [c6436450ee] - crypto: fix error when getRandomValues is called without arguments (Filip Skokan) #45854
  • [4cdf0002c5] - debugger: refactor console in lib/internal/debugger/inspect.js (Debadree Chatterjee) #45847
  • [b7fe8c70fa] - deps: update simdutf to 3.1.0 (Node.js GitHub Bot) #46257
  • [eaeb870cd7] - deps: upgrade npm to 9.3.1 (npm team) #46242
  • [7c03a3d676] - deps: upgrade npm to 9.3.0 (npm team) #46193
  • [340d76accb] - deps: cherrypick simdutf patch (Jiawen Geng) #46194
  • [cce2af4306] - deps: bump googletest to 2023.01.13 (Jiawen Geng) #46198
  • [d251a66bed] - deps: add /deps/**/.github/ to .gitignore (Luigi Pinca) #46091
  • [874054f469] - deps: add simdutf version to metadata (Mike Roth) #46145
  • [2497702b82] - deps: update simdutf to 2.1.0 (Node.js GitHub Bot) #46128
  • [c8492b7f4c] - deps: update corepack to 0.15.3 (Node.js GitHub Bot) #46037
  • [d148f357fd] - deps: update simdutf to 2.0.9 (Node.js GitHub Bot) #45975
  • [422a98199c] - deps: update to uvwasi 0.0.14 (Colin Ihrig) #45970
  • [7812752db0] - deps: fix updater github workflow job (Yagiz Nizipli) #45972
  • [4063cdcef6] - Revert "deps: disable avx512 for simutf on benchmark ci" (Yagiz Nizipli) #45948
  • [64d3e3f3ba] - deps: disable avx512 for simutf on benchmark ci (Yagiz Nizipli) #45803
  • [c9845fc334] - deps: add simdutf dependency (Yagiz Nizipli) #45803
  • [6963c96547] - deps: update timezone to 2022g (Node.js GitHub Bot) #45731
  • [874f6c340b] - deps: update undici to 5.14.0 (Node.js GitHub Bot) #45812
  • [7599b913d5] - deps: upgrade npm to 9.2.0 (npm team) #45780
  • [4844935ff3] - deps: upgrade npm to 9.1.3 (npm team) #45693
  • [8dce62c7fe] - deps: V8: cherry-pick 5fe919f78321 (Richard Lau) #45587
  • [8de642517e] - dgram: sync the old handle state to new handle (theanarkh) #46041
  • [de2b7a9640] - doc: fix mismatched arguments of NodeEventTarget (Deokjin Kim) #45678
  • [6317502d10] - doc: update events API example to have runnable code (Deokjin Kim) #45760
  • [a9db45eee1] - doc: add note to tls docs about secureContext availability (Tim Gerk) #46224
  • [5294371063] - doc: add text around collaborative expectations (Michael Dawson) #46121
  • [be85d5a6eb] - doc: update to match changed --dns-result-order default (Mordy Tikotzky) #46148
  • [4f2d9ea6da] - doc: add Node-API media link (Kevin Eady) #46189
  • [9bfd40466f] - doc: update http.setMaxIdleHTTPParsers arguments (Debadree Chatterjee) #46168
  • [d7a8c076e1] - doc: use "file system" instead of "filesystem" (Rich Trott) #46178
  • [e54483cd2b] - doc: https update default request timeout (Marco Ippolito) #46184
  • [335110b0fb] - doc: make options of readableStream.pipeTo as optional (Deokjin Kim) #46180
  • [ec34cad712] - doc: add PerformanceObserver.supportedEntryTypes to doc (theanarkh) #45962
  • [d0f905bd6f] - doc: duplex and readable from uncaught execption warning (Marco Ippolito) #46135
  • [512feaafa4] - doc: remove outdated sections from maintaining-v8 (Antoine du Hamel) #46137
  • [849a3e2ce7] - doc: fix (EC)DHE remark in TLS docs (Tobias Nießen) #46114
  • [a3c9c1b4e6] - doc: fix ERR_TLS_RENEGOTIATION_DISABLED text (Tobias Nießen) #46122
  • [1834e94ebb] - doc: fix spelling in SECURITY.md (Vaishno Chaitanya) #46124
  • [3968698af5] - doc: abort controller emits error in child process (Debadree Chatterjee) #46072
  • [1ec14c2c61] - doc: fix event.cancelBubble documentation (Deokjin Kim) #45986
  • [5539977f80] - doc: add personal pronouns option (Filip Skokan) #46118
  • [1fabef3a81] - doc: mention how to run ncu-ci citgm (Rafael Gonzaga) #46090
  • [84dc65ab87] - doc: include updating release optional step (Rafael Gonzaga) #46089
  • [76c7ea1e74] - doc: describe argument of Symbol.for (Deokjin Kim) #46019
  • [2307a74990] - doc: update isUtf8 description (Yagiz Nizipli) #45973
  • [fa5b65ea24] - doc: use console.error for error case in timers and tls (Deokjin Kim) #46002
  • [29d509c100] - doc: fix wrong output of example in url.protocol (Deokjin Kim) #45954
  • [61dbca2690] - doc: use os.availableParallelism() in async_context and cluster (Deokjin Kim) #45979
  • [86b2c8cea2] - doc: make EventEmitterAsyncResource's options as optional (Deokjin Kim) #45985
  • [335acf7748] - doc: replace single executable champion in strategic initiatives doc (Darshan Sen) #45956
  • [aab35a9388] - doc: update error message of example in repl (Deokjin Kim) #45920
  • [53a94a95ff] - doc: fix typos in packages.md (Eric Mutta) #45957
  • [83875f46cf] - doc: remove port from example in url.hostname (Deokjin Kim) #45927
  • [162d3a94e3] - doc: show output of example in http (Deokjin Kim) #45915
  • [53684e4506] - (SEMVER-MINOR) doc: add parallelism note to os.cpus() (Colin Ihrig) #45895
  • [546e083d36] - doc: fix wrong output of example in url.password (Deokjin Kim) #45928
  • [14c95ecd23] - doc: fix some history entries in deprecations.md (Antoine du Hamel) #45891
  • [d94dba973b] - doc: add tip for NODE_MODULE (theanarkh) #45797
  • [662f574c5b] - doc: reduce likelihood of mismerges during release (Richard Lau) #45864
  • [48ea28aa30] - doc: add backticks to webcrypto rsaOaepParams (Filip Skokan) #45883
  • [726b285163] - doc: remove release cleanup step (Michaël Zasso) #45858
  • [5eb93f1de9] - doc: add stream/promises pipeline and finished to doc (Marco Ippolito) #45832
  • [f874d0ba74] - doc: remove Juan Jose keys (Rafael Gonzaga) #45827
  • [67efe2a55e] - doc: fix wrong output of example in util (Deokjin Kim) #45825
  • [b709af31e0] - doc: sort http.createServer() options alphabetically (Luigi Pinca) #45680
  • [ebe292113a] - doc,crypto: fix WebCryptoAPI import keyData and export return (Filip Skokan) #46076
  • [204757719c] - errors: refactor to use a method that formats a list string (Daeyeon Jeong) #45793
  • [463bb9602e] - esm: mark importAssertions as required (Antoine du Hamel) #46164
  • [0bdf2db079] - esm: rewrite loader hooks test (Geoffrey Booth) #46016
  • [297773c6d1] - events: change status of event.returnvalue to legacy (Deokjin Kim) #46175
  • [d088d6e5c3] - events: change status of event.cancelBubble to legacy (Deokjin Kim) #46146
  • [36be0c4ee2] - events: change status of event.srcElement to legacy (Deokjin Kim) #46085
  • [b239f0684a] - events: fix violation of symbol naming convention (Deokjin Kim) #45978
  • [aec340b312] - fs: refactor to use validateInteger (Deokjin Kim) #46008
  • [e620de6444] - http: refactor to use validateHeaderName (Deokjin Kim) #46143
  • [3e70b7d863] - http: writeHead if statusmessage is undefined dont override headers (Marco Ippolito) #46173
  • [3d1dd96c4f] - http: refactor to use min of validateNumber for maxTotalSockets (Deokjin Kim) #46115
  • [4df1fcc9db] - (SEMVER-MINOR) http: join authorization headers (Marco Ippolito) #45982
  • [8c06e2f645] - http: replace var with const on code of comment (Deokjin Kim) #45951
  • [3c0c5e0567] - (SEMVER-MINOR) http: improved timeout defaults handling (Paolo Insogna) #45778
  • [edcd4fc576] - lib: use kEmptyObject and update JSDoc in webstreams (Deokjin Kim) #46183
  • [d6fc855b8a] - lib: refactor to use validate function (Deokjin Kim) #46101
  • [bc17f37b98] - lib: reuse invalid state errors on webstreams (Rafael Gonzaga) #46086
  • [86554bf27c] - lib: fix incorrect use of console intrinsic (Colin Ihrig) #46044
  • [7fc7b19124] - lib: update JSDoc of getOwnPropertyValueOrDefault (Deokjin Kim) #46010
  • [c1cc1f9e12] - lib: use kEmptyObject as default value for options (Deokjin Kim) #46011
  • [db617222da] - meta: update AUTHORS (Node.js GitHub Bot) #46215
  • [10afecd0d8] - meta: update AUTHORS (Node.js GitHub Bot) #46130
  • [d8ce990ce6] - meta: update comment in CODEOWNERS to better reflect current policy (Antoine du Hamel) #45944
  • [e3f0194168] - meta: update AUTHORS (Node.js GitHub Bot) #46040
  • [d31c478929] - meta: update AUTHORS (Node.js GitHub Bot) #45968
  • [10a276a3e0] - meta: add nodejs/loaders to CODEOWNERS (Geoffrey Booth) #45940
  • [56247d7c87] - meta: add nodejs/test_runner to CODEOWNERS (Antoine du Hamel) #45935
  • [3bef8bc743] - meta: update AUTHORS (Node.js GitHub Bot) #45899
  • [baf30ee935] - module: fix unintended mutation (Antoine du Hamel) #46108
  • [3ad584c357] - net: handle socket.write(cb) edge case (Santiago Gimeno) #45922
  • [2ab35cf0cc] - node-api: disambiguate napi_add_finalizer (Chengzhong Wu) #45401
  • [6e9676e986] - node-api: generalize finalizer second pass callback (Chengzhong Wu) #44141
  • [b2faceff0a] - (SEMVER-MINOR) os: add availableParallelism() (Colin Ihrig) #45895
  • [8fac4c5684] - perf_hooks: fix checking range of options.figures in createHistogram (Deokjin Kim) #45999
  • [ea73702847] - process,worker: ensure code after exit() effectless (ywave620) #45620
  • [784ed594ea] - repl: improve robustness wrt to prototype pollution (Antoine du Hamel) #45604
  • [fcfde3412e] - src: rename internal module declaration as internal bindings (Chengzhong Wu) #45551
  • [646cadccd0] - src: fix endianness of simdutf (Yagiz Nizipli) #46257
  • [94605b1665] - src: replace unreachable code with static_assert (Tobias Nießen) #46209
  • [3ce39bbcb7] - src: hide kMaxDigestMultiplier outside HKDF impl (Tobias Nießen) #46206
  • [9648b06e09] - src: distinguish env stopping flags (Chengzhong Wu) #45907
  • [53ecd20bbd] - src: remove return after abort (Shelley Vohr) #46172
  • [c4c8931b9d] - src: remove unnecessary semicolons (Shelley Vohr) #46171
  • [fab72b1677] - src: use simdutf for converting externalized builtins to UTF-16 (Anna Henningsen) #46119
  • [67729961e7] - src: use constant strings for memory info names (Chengzhong Wu) #46087
  • [0ac4e5dd34] - src: fix typo in node_snapshotable.cc (Vadim) #46103
  • [b454a7665d] - src: keep PipeWrap::Open function consistent with TCPWrap (theanarkh) #46064
  • [41f5a29cca] - src: speed up process.getActiveResourcesInfo() (Darshan Sen) #46014
  • [02a61dd6bd] - src: fix typo in node_file.cc (Vadim) #45998
  • [99c033ed98] - src: fix crash on OnStreamRead on Windows (Santiago Gimeno) #45878
  • [27d6a8b2b1] - src: fix creating Isolates from addons (Anna Henningsen) #45885
  • [9ca31cdba3] - src: use string_view for FastStringKey implementation (Anna Henningsen) #45914
  • [e4fc3abfd5] - src: fix UB in overflow checks (Ben Noordhuis) #45882
  • [574afac26a] - src: check size of args before using for exec_path (A. Wilcox) #45902
  • [f0692468cd] - src: fix tls certificate root store data race (Ben Noordhuis) #45767
  • [a749ceda2e] - src: add undici and acorn to process.versions (Debadree Chatterjee) #45621
  • [08a6a61575] - src,lib: the handle keeps loop alive in cluster rr mode (theanarkh) #46161
  • [a87963de6b] - stream: fix pipeline calling end on destination more than once (Debadree Chatterjee) #46226
  • [cde59606cd] - (SEMVER-MINOR) stream: implement finished() for ReadableStream and WritableStream (Debadree Chatterjee) #46205
  • [441d9de33e] - stream: refactor to use validateFunction (Deokjin Kim) #46007
  • [325fc08d48] - stream: fix typo in JSDoc (Deokjin Kim) #45991
  • [536322fa1c] - test: update postject to 1.0.0-alpha.4 (Node.js GitHub Bot) #46212
  • [a3056f4125] - test: refactor to avoid mutation of global by a loader (Michaël Zasso) #46220
  • [1790569518] - test: improve test coverage for WHATWG TextDecoder (Juan José) #45241
  • [896027c006] - test: add fix so that test exits if port 42 is unprivileged (Suyash Nayan) #45904
  • [257224da0e] - test: use os.availableParallelism() (Deokjin Kim) #46003
  • [7e1462dd02] - test: update Web Events WPT (Deokjin Kim) #46051
  • [40d52fbc5f] - test: add test to once() in event lib (Jonathan Diaz) #46126
  • [f3518f3337] - test: use process.hrtime.bigint instead of process.hrtime (Deokjin Kim) #45877
  • [4d6dd10464] - test: print failed JS/parallel tests (Geoffrey Booth) #45960
  • [7cb6fef6d6] - test: fix test broken under --node-builtin-modules-path (Geoffrey Booth) #45894
  • [55e4140c34] - test: fix mock.method to support class instances (Erick Wendel) #45608
  • [286acaa6fe] - test: update encoding wpt to latest (Yagiz Nizipli) #45850
  • [22c1e918ce] - test: update url wpt to latest (Yagiz Nizipli) #45852
  • [5fa6a70bbd] - test: add CryptoKey transferring tests (Filip Skokan) #45811
  • [4aaec07266] - test: add postject to fixtures (Darshan Sen) #45298
  • [da78f9cbb8] - test,crypto: update WebCryptoAPI WPT (Filip Skokan) #45860
  • [3269423032] - test,esm: validate more edge cases for dynamic imports (Antoine du Hamel) #46059
  • [cade2fccf4] - test_runner: run t.after() if test body throws (Colin Ihrig) #45870
  • [87a0e86604] - test_runner: parse yaml (Moshe Atlow) #45815
  • [757a022443] - tls: don't treat fatal TLS alerts as EOF (David Benjamin) #44563
  • [c6457cbf8d] - tls: fix re-entrancy issue with TLS close_notify (David Benjamin) #44563
  • [fcca2d5ea6] - tools: update lint-md-dependencies (Node.js GitHub Bot) #46214
  • [09adb86c19] - tools: fix macro name in update-undici (Almeida) #46217
  • [1b0cc79785] - tools: add automation for updating postject dependency (Darshan Sen) #46157
  • [38df662119] - tools: update create-or-update-pull-request-action (Michaël Zasso) #46169
  • [3f4c0c0de1] - tools: update eslint to 8.31.0 (Node.js GitHub Bot) #46131
  • [f3dc4329e6] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #46129
  • [fafbd1ca72] - tools: move update-eslint.sh to dep_updaters/ (Luigi Pinca) #46088
  • [609df01fa9] - tools: make update-eslint.sh work with npm@9 (Luigi Pinca) #46088
  • [31b8cf1a4d] - tools: fix lint rule recommendation (Colin Ihrig) #46044
  • [0a80cbdcb1] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #46039
  • [18503fa7ba] - tools: update doc to [email protected] (Node.js GitHub Bot) #46038
  • [b48e82ec1d] - tools: add release host var to promotion script (Ruy Adorno) #45913
  • [3b93b0c1f5] - tools: add url to AUTHORS update automation (Antoine du Hamel) #45971
  • [623b0eba81] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #45967
  • [b0e88377fe] - tools: update GitHub workflow action (Mohammed Keyvanzadeh) #45937
  • [974442e69d] - tools: update lint-md dependencies (Node.js GitHub Bot) #45813
  • [5aaa8c3bbf] - tools: enforce use of trailing commas in tools/ (Antoine du Hamel) #45889
  • [1e32520f72] - tools: add ArrayPrototypeConcat to the list of primordials to avoid (Antoine du Hamel) #44445
  • [e0cda56204] - tools: fix incorrect version history order (Fabien Michel) #45728
  • [7438ff175a] - tools: update eslint to 8.29.0 (Node.js GitHub Bot) #45733
  • [1e11247b91] - Revert "tools: update V8 gypfiles for RISC-V" (Lu Yahan) #46156
  • [0defe4effa] - trace_events: refactor to use validateStringArray (Deokjin Kim) #46012
  • [f1dcbe7652] - util: add fast path for text-decoder fatal flag (Yagiz Nizipli) #45803
  • [277d9da876] - vm: refactor to use validate function (Deokjin Kim) #46176
  • [96f1b2e731] - vm: refactor to use validateStringArray (Deokjin Kim) #46020

New in Node.js 19.6.1 Current (Feb 17, 2023)

  • Notable Changes:
  • The following CVEs are fixed in this release:
  • CVE-2023-23919: OpenSSL errors not cleared in error stack (Medium)
  • CVE-2023-23918: Experimental Policies bypass via process.mainModule.require(High)
  • CVE-2023-23920: Insecure loading of ICU data through ICU_DATA environment variable (Low)
  • More detailed information on each of the vulnerabilities can be found in February 2023 Security Releases blog post.
  • This security release includes OpenSSL security updates as outlined in the recent OpenSSL security advisory and undici security update.
  • Commits:
  • [97d9d55d2f] - build: build ICU with ICU_NO_USER_DATA_OVERRIDE (RafaelGSS) nodejs-private/node-private#374
  • [8ac90e6372] - crypto: clear OpenSSL error on invalid ca cert (RafaelGSS) nodejs-private/node-private#368
  • [10a4c47e3a] - deps: update undici to 5.19.1 (Node.js GitHub Bot) #46634
  • [b10fc75e4a] - deps: update undici to 5.18.0 (Node.js GitHub Bot) #46502
  • [e9b64ea8b9] - deps: update undici to 5.17.1 (Node.js GitHub Bot) #46502
  • [66a24cec47] - deps: cherry-pick Windows ARM64 fix for openssl (Richard Lau) #46573
  • [d8559aa6f5] - deps: update archs files for quictls/openssl-3.0.8+quic (RafaelGSS) #46573
  • [dc477f547d] - deps: upgrade openssl sources to quictls/openssl-3.0.8+quic (RafaelGSS) #46573
  • [2aae197670] - lib: makeRequireFunction patch when experimental policy (RafaelGSS) nodejs-private/node-private#358
  • [6d17b693ec] - policy: makeRequireFunction on mainModule.require (RafaelGSS) nodejs-private/node-private#358

New in Node.js 19.6.0 Current (Feb 2, 2023)

  • Notable changes:
  • ESM: Leverage loaders when resolving subsequent loaders:
  • Loaders now apply to subsequent loaders, for example: --experimental-loader ts-node --experimental-loader loader-written-in-typescript.
  • Upgrade npm to 9.4.0:
  • Added --install-strategy=linked option for installations similar to pnpm.
  • Other notable changes:
  • [a7c9daa497] - (SEMVER-MINOR) fs: add statfs() functions (Colin Ihrig) #46358
  • [34d70ce615] - (SEMVER-MINOR) vm: expose cachedDataRejected for vm.compileFunction (Anna Henningsen) #46320
  • [b4ac794923] - (SEMVER-MINOR) v8: support gc profile (theanarkh) #46255
  • [d52f60009a] - (SEMVER-MINOR) src,lib: add constrainedMemory API for process (theanarkh) #46218
  • [5ad6c2088e] - (SEMVER-MINOR) buffer: add isAscii method (Yagiz Nizipli) #46046
  • [fbdc3f7316] - (SEMVER-MINOR) test_runner: add reporters (Moshe Atlow) #45712
  • Commits:
  • [524eec70e2] - benchmark: add trailing commas (Antoine du Hamel) #46370
  • [f318a85408] - benchmark: remove buffer benchmarks redundancy (Brian White) #45735
  • [6186b3ea14] - benchmark: introduce benchmark combination filtering (Brian White) #45735
  • [5ad6c2088e] - (SEMVER-MINOR) buffer: add isAscii method (Yagiz Nizipli) #46046
  • [8c6c4338a6] - build: export more OpenSSL symbols on Windows (Mohamed Akram) #45486
  • [d795d93901] - build: fix MSVC 2022 Release compilation (Vladimir Morozov (REDMOND)) #46228
  • [8e363cf8e8] - crypto: include hmac.h in crypto_util.h (Adam Langley) #46279
  • [c1f3e13c65] - deps: update acorn to 8.8.2 (Node.js GitHub Bot) #46363
  • [813b160bd7] - deps: upgrade npm to 9.4.0 (npm team) #46353
  • [9c2f3cea70] - deps: update undici to 5.15.0 (Node.js GitHub Bot) #46213
  • [312e10c1e3] - deps: update to uvwasi 0.0.15 (Colin Ihrig) #46253
  • [c7024eec16] - doc: correct the sed command for macOS in release process docs (Juan José) #46397
  • [996bac044b] - doc: include webstreams in finished() and Duplex.from() parameters (Debadree Chatterjee) #46312
  • [891d18d55c] - doc: pass string to textEncoder.encode as input (Deokjin Kim) #46421
  • [968db213f8] - doc: add tip for session.post function (theanarkh) #46354
  • [a64d7f4e31] - doc: add documentation for socket.destroySoon() (Luigi Pinca) #46337
  • [975788899f] - doc: fix commit message using test instead of deps (Tony Gorez) #46313
  • [1d44017f52] - doc: add v8 fast api contribution guidelines (Yagiz Nizipli) #46199
  • [e2698c05fb] - doc: fix small typo error (0xflotus) #46186
  • [f39fb8c001] - doc: mark some parameters as optional in webstreams (Deokjin Kim) #46269
  • [7a9af38128] - doc: update output of example in events.getEventListeners (Deokjin Kim) #46268
  • [729642f30b] - esm: delete preload mock test (Geoffrey Booth) #46402
  • [7aac21e90a] - esm: leverage loaders when resolving subsequent loaders (Maël Nison) #43772
  • [a7c9daa497] - (SEMVER-MINOR) fs: add statfs() functions (Colin Ihrig) #46358
  • [1ec6270efa] - http: res.setHeaders first implementation (Marco Ippolito) #46109
  • [d4370259e9] - inspector: allow opening inspector when NODE_V8_COVERAGE is set (Moshe Atlow) #46113
  • [b966ef9a42] - lib: remove unnecessary ObjectGetValueSafe (Chengzhong Wu) #46335
  • [2b06d66289] - lib: cache parsed source maps to reduce memory footprint (Chengzhong Wu) #46225
  • [c38673df91] - meta: update AUTHORS (Node.js GitHub Bot) #46399
  • [c10e602547] - meta: update AUTHORS (Node.js GitHub Bot) #46303
  • [9dc026b14a] - meta: add .mailmap entry (Rich Trott) #46303
  • [7c514574f7] - meta: move evanlucas to emeritus (Evan Lucas) #46274
  • [3a3a6d87f1] - module: move test reporter loading (Geoffrey Booth) #45923
  • [4ae2492a33] - readline: fix detection of carriage return (Antoine du Hamel) #46306
  • [43cad78b7a] - src: stop tracing agent before shutting down libuv (Santiago Gimeno) #46380
  • [360a3f3094] - src: get rid of fp arithmetic in ParseIPv4Host (Tobias Nießen) #46326
  • [e7b507a8cf] - src: use UNREACHABLE instead of CHECK(falsy) (Tobias Nießen) #46317
  • [4c59b60ee8] - src: add support for ETW stack walking (José Dapena Paz) #46203
  • [640d111f95] - src: refactor EndsInANumber in node_url.cc and adds IsIPv4NumberValid (Miguel Teixeira) #46227
  • [fb7bee2b6e] - src: fix c++ exception on bad command line arg (Ben Noordhuis) #46290
  • [18c95ec4bd] - src: remove unreachable UNREACHABLE (Tobias Nießen) #46281
  • [35bf93b01a] - src: replace custom ASCII validation with simdutf one (Anna Henningsen) #46271
  • [8307a4bbcd] - src: replace unreachable code with static_assert (Tobias Nießen) #46250
  • [7cf0da020a] - src: use explicit C++17 fallthrough (Tobias Nießen) #46251
  • [d52f60009a] - (SEMVER-MINOR) src,lib: add constrainedMemory API for process (theanarkh) #46218
  • [2e5e7a9261] - stream: remove brandchecks from stream duplexify (Debadree Chatterjee) #46315
  • [9675863461] - stream: fix readable stream as async iterator function (Erick Wendel) #46147
  • [232bdd5d16] - test: add trailing commas in test/node-api (Antoine du Hamel) #46384
  • [4cc081815d] - test: add trailing commas in test/message (Antoine du Hamel) #46372
  • [b83c5d9deb] - test: add trailing commas in test/pseudo-tty (Antoine du Hamel) #46371
  • [8a45c9d231] - test: fix tap escaping with and without --test (Pulkit Gupta) #46311
  • [367dc41299] - test: set common.bits to 64 for loong64 (Shi Pujin) #45383
  • [7385edc7d0] - test: s390x zlib test case fixes (Adam Majer) #46367
  • [d5d837bdee] - test: fix logInTimeout is not function (theanarkh) #46348
  • [a1d79546ac] - test: avoid trying to call sysctl directly (Adam Majer) #46366
  • [747f3689e0] - test: avoid left behind child processes (Richard Lau) #46276
  • [940484b7aa] - test: add failing test for readline with carriage return (Alec Mev) #46075
  • [d13116a719] - test,crypto: add CFRG curve vectors to wrap/unwrap tests (Filip Skokan) #46406
  • [398a7477b3] - test,crypto: update WebCryptoAPI WPT (Filip Skokan) #46267
  • [8b473affe8] - test_runner: make built in reporters internal (Colin Ihrig) #46092
  • [a49e17e22b] - test_runner: report file in test runner events (Moshe Atlow) #46030
  • [fbdc3f7316] - test_runner: add reporters (Moshe Atlow) #45712
  • [6579de8c47] - tools: update eslint to 8.33.0 (Node.js GitHub Bot) #46400
  • [bf62da55ad] - tools: update doc to [email protected] [email protected] (Node.js GitHub Bot) #46364
  • [b0acf55197] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #46398
  • [88b904cf24] - tools: require more trailing commas (Antoine du Hamel) #46346
  • [4440b3ef87] - tools: update lint-md-dependencies (Node.js GitHub Bot) #46302
  • [e75faff4bd] - tools: allow icutrim.py to run on python2 (Michael Dawson) #46263
  • [e460d16d73] - url: refactor to use more primordials (Antoine du Hamel) #45966
  • [b4ac794923] - (SEMVER-MINOR) v8: support gc profile (theanarkh) #46255
  • [34d70ce615] - (SEMVER-MINOR) vm: expose cachedDataRejected for vm.compileFunction (Anna Henningsen) #46320

New in Node.js 19.5.0 Current (Jan 25, 2023)

  • Notable Changes:
  • http:
  • (SEMVER-MINOR) join authorization headers (Marco Ippolito) #45982
  • lib::
  • add webstreams to Duplex.from() (Debadree Chatterjee) #46190
  • stream:
  • implement finished() for ReadableStream and WritableStream (Debadree Chatterjee) #46205
  • Commits:
  • [def36946da] - assert: remove assert.snapshot (Moshe Atlow) #46112
  • [e1c56ec3fd] - benchmark,tools: use os.availableParallelism() (Deokjin Kim) #46003
  • [370f621d4d] - build: add extra semi check (Jiawen Geng) #46194
  • [476c6f892d] - crypto: avoid hang when no algorithm available (Richard Lau) #46237
  • [8b22310940] - (SEMVER-MINOR) crypto: add CryptoKey Symbol.toStringTag (Filip Skokan) #46042
  • [78be87b9f9] - crypto: add cipher update/final methods encoding validation (vitpavlenko) #45990
  • [dc0cdaa101] - crypto: ensure auth tag set for chacha20-poly1305 (Ben Noordhuis) #46185
  • [1146f02dc5] - crypto: return correct bit length in KeyObject's asymmetricKeyDetails (Filip Skokan) #46106
  • [961710bb72] - (SEMVER-MINOR) crypto: add KeyObject Symbol.toStringTag (Filip Skokan) #46043
  • [9cfdac6c82] - deps: V8: cherry-pick e39af94dd18e (Lu Yahan) #46142
  • [26cde8efb7] - deps: update simdutf to 3.1.0 (Node.js GitHub Bot) #46257
  • [3f9fb37130] - deps: cherrypick simdutf patch (Jiawen Geng) #46194
  • [4ff2822836] - deps: bump googletest to 2023.01.13 (Jiawen Geng) #46198
  • [49556247d2] - deps: add /deps/**/.github/ to .gitignore (Luigi Pinca) #46091
  • [0c4df83e0d] - deps: add simdutf version to metadata (Mike Roth) #46145
  • [69aafc3ddd] - deps: update simdutf to 2.1.0 (Node.js GitHub Bot) #46128
  • [a266daccb5] - deps: update corepack to 0.15.3 (Node.js GitHub Bot) #46037
  • [6cd70573eb] - deps: upgrade npm to 9.3.1 (npm team) #46242
  • [679aae2da8] - deps: upgrade npm to 9.3.0 (npm team) #46193
  • [38dd5061f2] - dgram: sync the old handle state to new handle (theanarkh) #46041
  • [e36af49b35] - doc: fix mismatched arguments of NodeEventTarget (Deokjin Kim) #45678
  • [58b836f7c4] - doc: update events API example to have runnable code (Deokjin Kim) #45760
  • [5c350298b4] - doc: add note to tls docs about secureContext availability (Tim Gerk) #46224
  • [90924ce198] - doc: add text around collaborative expectations (Michael Dawson) #46121
  • [2d328355d4] - doc: update to match changed --dns-result-order default (Mordy Tikotzky) #46148
  • [1015a606b7] - doc: add Node-API media link (Kevin Eady) #46189
  • [6e355efcff] - doc: update http.setMaxIdleHTTPParsers arguments (Debadree Chatterjee) #46168
  • [f18ab9405a] - doc: use "file system" instead of "filesystem" (Rich Trott) #46178
  • [1b45713b00] - doc: https update default request timeout (Marco Ippolito) #46184
  • [4c88721e2f] - doc: make options of readableStream.pipeTo as optional (Deokjin Kim) #46180
  • [538c53f010] - doc: add PerformanceObserver.supportedEntryTypes to doc (theanarkh) #45962
  • [eef7489d24] - doc: duplex and readable from uncaught execption warning (Marco Ippolito) #46135
  • [686fe585b5] - doc: remove outdated sections from maintaining-v8 (Antoine du Hamel) #46137
  • [2e826ad528] - doc: fix (EC)DHE remark in TLS docs (Tobias Nießen) #46114
  • [2e22b29add] - doc: fix ERR_TLS_RENEGOTIATION_DISABLED text (Tobias Nießen) #46122
  • [e222a2f1d1] - doc: fix spelling in SECURITY.md (Vaishno Chaitanya) #46124
  • [7718e82f0d] - doc: abort controller emits error in child process (Debadree Chatterjee) #46072
  • [76408bc1ed] - doc: fix event.cancelBubble documentation (Deokjin Kim) #45986
  • [82023f2570] - doc: update output of example in inspector (Deokjin Kim) #46073
  • [a42fc512b6] - doc: add personal pronouns option (Filip Skokan) #46118
  • [fafae5955d] - doc: mention how to run ncu-ci citgm (Rafael Gonzaga) #46090
  • [e1fd2f24d9] - doc: include updating release optional step (Rafael Gonzaga) #46089
  • [1996e610fd] - doc: describe argument of Symbol.for (Deokjin Kim) #46019
  • [b002330216] - doc,crypto: fix WebCryptoAPI import keyData and export return (Filip Skokan) #46076
  • [fa3e0c86c7] - esm: mark importAssertions as required (Antoine du Hamel) #46164
  • [f85a8e4c59] - events: add initEvent to Event (Deokjin Kim) #46069
  • [5bdfaae680] - events: change status of event.returnvalue to legacy (Deokjin Kim) #46175
  • [ad7846fe97] - events: change status of event.cancelBubble to legacy (Deokjin Kim) #46146
  • [5304c89682] - events: change status of event.srcElement to legacy (Deokjin Kim) #46085
  • [3dcdab3f16] - events: check signal before listener (Deokjin Kim) #46054
  • [907d67de76] - http: refactor to use validateHeaderName (Deokjin Kim) #46143
  • [ae5141cb8a] - http: writeHead if statusmessage is undefined dont override headers (Marco Ippolito) #46173
  • [6e7f9fbc1d] - http: refactor to use min of validateNumber for maxTotalSockets (Deokjin Kim) #46115
  • [069a30bc4e] - (SEMVER-MINOR) http: join authorization headers (Marco Ippolito) #45982
  • [68cde4cbcc] - lib: add webstreams to Duplex.from() (Debadree Chatterjee) #46190
  • [4d73ea708b] - lib: use kEmptyObject and update JSDoc in webstreams (Deokjin Kim) #46183
  • [1cfa2e6762] - lib: refactor to use validate function (Deokjin Kim) #46101
  • [2eb87f23c9] - lib: reuse invalid state errors on webstreams (Rafael Gonzaga) #46086
  • [8684dae8d9] - lib: fix incorrect use of console intrinsic (Colin Ihrig) #46044
  • [d044ed1d3e] - meta: update AUTHORS (Node.js GitHub Bot) #46215
  • [5261560757] - meta: update AUTHORS (Node.js GitHub Bot) #46130
  • [1b557bbee8] - meta: update comment in CODEOWNERS to better reflect current policy (Antoine du Hamel) #45944
  • [54896ab011] - module: fix unintended mutation (Antoine du Hamel) #46108
  • [bd98e5baba] - node-api: disambiguate napi_add_finalizer (Chengzhong Wu) #45401
  • [f0508894d6] - perf_hooks: fix checking range of options.figures in createHistogram (Deokjin Kim) #45999
  • [e482d5e42d] - src: fix endianness of simdutf (Yagiz Nizipli) #46257
  • [e2c47cdfad] - src: make BuiltinLoader threadsafe and non-global (Anna Henningsen) #45942
  • [36ae3ccff3] - src: replace unreachable code with static_assert (Tobias Nießen) #46209
  • [9d55a1f9a1] - src: hide kMaxDigestMultiplier outside HKDF impl (Tobias Nießen) #46206
  • [d3d62ed82c] - src: distinguish env stopping flags (Chengzhong Wu) #45907
  • [e85f76686c] - src: remove return after abort (Shelley Vohr) #46172
  • [7dc9a53b18] - src: remove unnecessary semicolons (Shelley Vohr) #46171
  • [28af831d5a] - src: use simdutf for converting externalized builtins to UTF-16 (Anna Henningsen) #46119
  • [e8eaa490af] - src: use constant strings for memory info names (Chengzhong Wu) #46087
  • [f4559a1354] - src: fix typo in node_snapshotable.cc (Vadim) #46103
  • [ca8ff08a5c] - src: keep PipeWrap::Open function consistent with TCPWrap (theanarkh) #46064
  • [a936eaeb34] - src: speed up process.getActiveResourcesInfo() (Darshan Sen) #46014
  • [5cf595659f] - src,lib: the handle keeps loop alive in cluster rr mode (theanarkh) #46161
  • [18695595e1] - stream: fix pipeline calling end on destination more than once (Debadree Chatterjee) #46226
  • [e5f53b51f0] - stream: implement finished() for ReadableStream and WritableStream (Debadree Chatterjee) #46205
  • [2f23f17f93] - test: reduce fs-write-optional-params flakiness (LiviaMedeiros) #46238
  • [255f177108] - test: enable more case of bad buffer in fs.write (Deokjin Kim) #46236
  • [c09b2036c7] - test: update postject to 1.0.0-alpha.4 (Node.js GitHub Bot) #46212
  • [4ac5c7180f] - test: refactor to avoid mutation of global by a loader (Michaël Zasso) #46220
  • [bbf9da8e2c] - test: improve test coverage for WHATWG TextDecoder (Juan José) #45241
  • [4f491d368c] - test: add fix so that test exits if port 42 is unprivileged (Suyash Nayan) #45904
  • [6e2f7228f3] - test: use os.availableParallelism() (Deokjin Kim) #46003
  • [c77b0da512] - test: fix flaky test-runner-exit-code.js (Colin Ihrig) #46138
  • [f309e2acb6] - test: update Web Events WPT (Deokjin Kim) #46051
  • [0f60bc9bbc] - test: add test to once() in event lib (Jonathan Diaz) #46126
  • [8a8b18678a] - test,esm: validate more edge cases for dynamic imports (Antoine du Hamel) #46059
  • [4d3743938f] - test_runner: update comment to comply with eslint no-fallthrough rule (Antoine du Hamel) #46258
  • [653b108fdc] - tools: update eslint to 8.32.0 (Node.js GitHub Bot) #46258
  • [a4b0c916e0] - tools: update lint-md-dependencies (Node.js GitHub Bot) #46214
  • [f4465e656d] - tools: fix macro name in update-undici (Almeida) #46217
  • [1aa4534c6f] - tools: add automation for updating postject dependency (Darshan Sen) #46157
  • [c150b312cd] - tools: update create-or-update-pull-request-action (Michaël Zasso) #46169
  • [c68a043400] - tools: update eslint to 8.31.0 (Node.js GitHub Bot) #46131
  • [ac90e419d1] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #46129
  • [750fcf84eb] - tools: move update-eslint.sh to dep_updaters/ (Luigi Pinca) #46088
  • [2e8750a18c] - tools: make update-eslint.sh work with npm@9 (Luigi Pinca) #46088
  • [e90a3a6eff] - tools: fix lint rule recommendation (Colin Ihrig) #46044
  • [0985ef8bfb] - tools: add ArrayPrototypeConcat to the list of primordials to avoid (Antoine du Hamel) #44445
  • [ed69a3af92] - tools: add prefer-proto rule (Jordan Harband) #46083
  • [4c1c20fae2] - trace_events: refactor to use validateStringArray (Deokjin Kim) #46012
  • [6c8a81d2dc] - vm: refactor to use validate function (Deokjin Kim) #46176

New in Node.js 19.4.0 Current (Jan 6, 2023)

  • Notable Changes:
  • buffer:
  • (SEMVER-MINOR) add buffer.isUtf8 for utf8 validation (Yagiz Nizipli) #45947
  • http:
  • (SEMVER-MINOR) improved timeout defaults handling (Paolo Insogna) #45778
  • net:
  • add autoSelectFamily global getter and setter (Paolo Insogna) #45777
  • os:
  • (SEMVER-MINOR) add availableParallelism() (Colin Ihrig) #45895
  • util:
  • add fast path for text-decoder fatal flag (Yagiz Nizipli) #45803
  • Commits:
  • [54b748acc0] - async_hooks: refactor to use validateObject (Deokjin Kim) #46004
  • [cf2ff81f26] - benchmark: include webstreams benchmark (Rafael Gonzaga) #45876
  • [6e3d7f8c2d] - bootstrap: optimize modules loaded in the built-in snapshot (Joyee Cheung) #45849
  • [d181b76374] - bootstrap: make CJS loader snapshotable (Joyee Cheung) #45849
  • [508e830765] - bootstrap: include event_target into the built-in snapshot (Joyee Cheung) #45849
  • [dd77c05480] - bootstrap: support module_wrap binding in snapshot (Joyee Cheung) #45849
  • [fbe399c75c] - (SEMVER-MINOR) buffer: add buffer.isUtf8 for utf8 validation (Yagiz Nizipli) #45947
  • [233a66f937] - build: fix arm64 cross-compile from powershell (Stefan Stojanovic) #45890
  • [e7b98a3da2] - build: add option to disable shared readonly heap (Anna Henningsen) #45887
  • [777c551edf] - crypto: ensure exported webcrypto EC keys use uncompressed point format (Ben Noordhuis) #46021
  • [f7dba5bef7] - crypto: fix globalThis.crypto this check (Filip Skokan) #45857
  • [56f3ad101b] - crypto: fix CryptoKey prototype WPT (Filip Skokan) #45857
  • [c9747f1140] - crypto: use globalThis.crypto over require('crypto').webcrypto (Filip Skokan) #45817
  • [6eede72241] - crypto: fix CryptoKey WebIDL conformance (Filip Skokan) #45855
  • [c9802862b7] - crypto: fix error when getRandomValues is called without arguments (Filip Skokan) #45854
  • [3d09754186] - debugger: refactor console in lib/internal/debugger/inspect.js (Debadree Chatterjee) #45847
  • [fdda2ff53b] - deps: V8: cherry-pick 30861a39323d (Aaron Friel) #45851
  • [71bf513062] - deps: patch V8 to 10.8.168.25 (Michaël Zasso) #45996
  • [0552b13232] - deps: update simdutf to 2.0.9 (Node.js GitHub Bot) #45975
  • [e73be1b3b9] - deps: update to uvwasi 0.0.14 (Colin Ihrig) #45970
  • [e4323f01c1] - deps: fix updater github workflow job (Yagiz Nizipli) #45972
  • [05fee67238] - Revert "deps: disable avx512 for simutf on benchmark ci" (Yagiz Nizipli) #45948
  • [98fc94a444] - deps: disable avx512 for simutf on benchmark ci (Yagiz Nizipli) #45803
  • [344c5ec0ea] - deps: add simdutf dependency (Yagiz Nizipli) #45803
  • [7bdad948c8] - deps: V8: backport 8ca9f77d0f7c (Anna Henningsen) #45871
  • [29f90cf5af] - deps: update timezone to 2022g (Node.js GitHub Bot) #45731
  • [99fec0bf64] - deps: update undici to 5.14.0 (Node.js GitHub Bot) #45812
  • [faee973fa7] - deps: V8: cherry-pick bc831f8ba33b (Yagiz Nizipli) #45788
  • [e2944109c6] - deps: V8: cherry-pick bf0bd4868dde (Michaël Zasso) #45908
  • [e113d169ee] - doc: update isUtf8 description (Yagiz Nizipli) #45973
  • [9e16406066] - doc: sort http.createServer() options alphabetically (Luigi Pinca) #45680
  • [49253e1a8f] - doc: use console.error for error case in timers and tls (Deokjin Kim) #46002
  • [8be1b666a7] - doc: fix wrong output of example in url.protocol (Deokjin Kim) #45954
  • [9251dce8b2] - doc: use os.availableParallelism() in async_context and cluster (Deokjin Kim) #45979
  • [952e03ae66] - doc: make EventEmitterAsyncResource's options as optional (Deokjin Kim) #45985
  • [71cc3b3712] - doc: replace single executable champion in strategic initiatives doc (Darshan Sen) #45956
  • [eaf6b63637] - doc: update error message of example in repl (Deokjin Kim) #45920
  • [d8b5b7da75] - doc: fix typos in packages.md (Eric Mutta) #45957
  • [4457e051c9] - doc: remove port from example in url.hostname (Deokjin Kim) #45927
  • [908f4fab52] - doc: show output of example in http (Deokjin Kim) #45915
  • [faf5c23084] - (SEMVER-MINOR) doc: add parallelism note to os.cpus() (Colin Ihrig) #45895
  • [9ed547b73c] - doc: fix wrong output of example in url.password (Deokjin Kim) #45928
  • [a89f8c1337] - doc: fix some history entries in deprecations.md (Antoine du Hamel) #45891
  • [cf30fca23f] - doc: add tip for NODE_MODULE (theanarkh) #45797
  • [d500445aec] - doc: reduce likelihood of mismerges during release (Richard Lau) #45864
  • [e229f060e3] - doc: add backticks to webcrypto rsaOaepParams (Filip Skokan) #45883
  • [dfa58c1947] - doc: remove release cleanup step (Michaël Zasso) #45858
  • [b93a9670a8] - doc: add stream/promises pipeline and finished to doc (Marco Ippolito) #45832
  • [c86f4a17d6] - doc: remove Juan Jose keys (Rafael Gonzaga) #45827
  • [c37a119f90] - doc: remove last example use of require('crypto').webcrypto (Filip Skokan) #45819
  • [7e047dfcbb] - doc: fix wrong output of example in util (Deokjin Kim) #45825
  • [8046e0ef53] - errors: refactor to use a method that formats a list string (Daeyeon Jeong) #45793
  • [2d49e0e635] - esm: rewrite loader hooks test (Geoffrey Booth) #46016
  • [47cc0e4bdb] - events: fix violation of symbol naming convention (Deokjin Kim) #45978
  • [22a66cff66] - fs: refactor to use validateInteger (Deokjin Kim) #46008
  • [bc43922949] - http: replace var with const on code of comment (Deokjin Kim) #45951
  • [7ea72ee421] - (SEMVER-MINOR) http: improved timeout defaults handling (Paolo Insogna) #45778
  • [7f1daedf4c] - lib: update JSDoc of getOwnPropertyValueOrDefault (Deokjin Kim) #46010
  • [28f9089b83] - lib: use kEmptyObject as default value for options (Deokjin Kim) #46011
  • [f6c6673ec4] - lib: lazy-load deps in modules/run_main.js (Joyee Cheung) #45849
  • [e529ea4144] - lib: lazy-load deps in source_map_cache.js (Joyee Cheung) #45849
  • [943852ab83] - lib: add getLazy() method to internal/util (Joyee Cheung) #45849
  • [25d0a94453] - meta: update AUTHORS (Node.js GitHub Bot) #46040
  • [0a70316ecc] - meta: update AUTHORS (Node.js GitHub Bot) #45968
  • [86e30fcb4d] - meta: add nodejs/loaders to CODEOWNERS (Geoffrey Booth) #45940
  • [e95695654d] - meta: add nodejs/test_runner to CODEOWNERS (Antoine du Hamel) #45935
  • [353dab5bdf] - meta: update AUTHORS (Node.js GitHub Bot) #45899
  • [0b3512f690] - modules: move callbacks and conditions into modules/esm/utils.js (Joyee Cheung) #45849
  • [c6ab449d1b] - modules: move modules/cjs/helpers.js to modules/helpers.js (Joyee Cheung) #45849
  • [4d62b099b4] - net: handle socket.write(cb) edge case (Santiago Gimeno) #45922
  • [8e6b8dbb41] - net: add autoSelectFamily global getter and setter (Paolo Insogna) #45777
  • [f3bb6a38ae] - node-api: generalize finalizer second pass callback (Chengzhong Wu) #44141
  • [d71883e271] - (SEMVER-MINOR) os: add availableParallelism() (Colin Ihrig) #45895
  • [4c0850539a] - process,worker: ensure code after exit() effectless (ywave620) #45620
  • [24cae6b4a3] - repl: improve robustness wrt to prototype pollution (Antoine du Hamel) #45604
  • [af25c95b22] - src: fix typo in node_file.cc (Vadim) #45998
  • [261d6d0726] - src: fix crash on OnStreamRead on Windows (Santiago Gimeno) #45878
  • [6c5b7e660b] - src: add worker per-isolate binding initialization (Chengzhong Wu) #45547
  • [db535b6caa] - src: define per-isolate internal bindings registration callback (Chengzhong Wu) #45547
  • [ded87f6dc4] - src: fix creating Isolates from addons (Anna Henningsen) #45885
  • [c2ed0ccb28] - src: use string_view for FastStringKey implementation (Anna Henningsen) #45914
  • [b995138b96] - src: use CreateEnvironment instead of inlining its code where possible (Anna Henningsen) #45886
  • [4454f5fd71] - src: fix UB in overflow checks (Ben Noordhuis) #45882
  • [27d3201502] - src: check size of args before using for exec_path (A. Wilcox) #45902
  • [2f898f2983] - src: fix tls certificate root store data race (Ben Noordhuis) #45767
  • [eff92a61b9] - src: add undici and acorn to process.versions (Debadree Chatterjee) #45621
  • [ab22a8ff4b] - stream: refactor to use validateFunction (Deokjin Kim) #46007
  • [0858956f5f] - stream: fix typo in JSDoc (Deokjin Kim) #45991
  • [2807efaea6] - test: use process.hrtime.bigint instead of process.hrtime (Deokjin Kim) #45877
  • [0f5a145973] - test: print failed JS/parallel tests (Geoffrey Booth) #45960
  • [c6c094702b] - test: split parallel fs-watch-recursive tests (Yagiz Nizipli) #45865
  • [97a8e055be] - test: add all WebCryptoAPI globals to WPTRunner's loadLazyGlobals (Filip Skokan) #45857
  • [95ce16d8d9] - test: fix test broken under --node-builtin-modules-path (Geoffrey Booth) #45894
  • [97868befe7] - test: fix mock.method to support class instances (Erick Wendel) #45608
  • [71056daf76] - test: update encoding wpt to latest (Yagiz Nizipli) #45850
  • [10367c4cae] - test: update url wpt to latest (Yagiz Nizipli) #45852
  • [53f02cf631] - test: add CryptoKey transferring tests (Filip Skokan) #45811
  • [5de08ef275] - test: add postject to fixtures (Darshan Sen) #45298
  • [fea122d51e] - test: enable idlharness WebCryptoAPI WPTs (Filip Skokan) #45822
  • [3c2ce5635e] - test: remove use of --experimental-global-webcrypto flag (Filip Skokan) #45816
  • [b5e124537e] - test,crypto: update WebCryptoAPI WPT (Filip Skokan) #45860
  • [7ae24abd7b] - test_runner: use os.availableParallelism() (Colin Ihrig) #45969
  • [c5004d42af] - test_runner: run t.after() if test body throws (Colin Ihrig) #45870
  • [bdbb676bee] - test_runner: parse yaml (Moshe Atlow) #45815
  • [ca9b9b9ce6] - tls: don't treat fatal TLS alerts as EOF (David Benjamin) #44563
  • [d08a574ecf] - tls: fix re-entrancy issue with TLS close_notify (David Benjamin) #44563
  • [0f0d22a63e] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #46039
  • [5a8d125fc4] - tools: update doc to [email protected] (Node.js GitHub Bot) #46038
  • [54776ffe80] - tools: add release host var to promotion script (Ruy Adorno) #45913
  • [f968fdb78a] - tools: add url to AUTHORS update automation (Antoine du Hamel) #45971
  • [7c518cbac1] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #45967
  • [1282f7f656] - tools: update GitHub workflow action (Mohammed Keyvanzadeh) #45937
  • [f446af78e9] - tools: update lint-md dependencies (Node.js GitHub Bot) #45813
  • [794611ade9] - tools: enforce use of trailing commas in tools/ (Antoine du Hamel) #45889
  • [124c2b32d9] - tools: fix incorrect version history order (Fabien Michel) #45728
  • [27cf389c22] - tools: update eslint to 8.29.0 (Node.js GitHub Bot) #45733
  • [ae842a40b5] - util: add fast path for text-decoder fatal flag (Yagiz Nizipli) #45803
  • [389cc3e1d6] - vm: refactor to use validateStringArray (Deokjin Kim) #46020
  • [7bd6a2c258] - wasi: fast calls (snek) #43697

New in Node.js 18.13.0 LTS (Jan 6, 2023)

  • Notable changes:
  • Add support for externally shared js builtins:
  • By default Node.js is built so that all dependencies are bundled into the Node.js binary itself. Some Node.js distributions prefer to manage dependencies externally. There are existing build options that allow dependencies with native code to be externalized. This commit adds additional options so that dependencies with JavaScript code (including WASM) can also be externalized. This addition does not affect binaries shipped by the Node.js project but will allow other distributions to externalize additional dependencies when needed.
  • Contributed by Michael Dawson in #44376
  • Introduce File:
  • The File class is part of the FileAPI. It can be used anywhere a Blob can, for example in URL.createObjectURL and FormData. It contains two properties that Blobs do not have: lastModified, the last time the file was modified in ms, and name, the name of the file.
  • Contributed by Khafra in #45139
  • Support function mocking on Node.js test runner:
  • The node:test module supports mocking during testing via a top-level mock object.
  • Contributed by Colin Ihrig in #45326
  • Other notable changes:
  • build:
  • disable v8 snapshot compression by default (Joyee Cheung) #45716
  • crypto:
  • update root certificates (Luigi Pinca) #45490
  • deps:
  • update ICU to 72.1 (Michaël Zasso) #45068
  • doc:
  • add doc-only deprecation for headers/trailers setters (Rich Trott) #45697
  • add Rafael to the tsc (Michael Dawson) #45691
  • deprecate use of invalid ports in url.parse (Antoine du Hamel) #45576
  • add lukekarrys to collaborators (Luke Karrys) #45180
  • add anonrig to collaborators (Yagiz Nizipli) #45002
  • deprecate url.parse() (Rich Trott) #44919
  • lib:
  • drop fetch experimental warning (Matteo Collina) #45287
  • net:
  • (SEMVER-MINOR) add autoSelectFamily and autoSelectFamilyAttemptTimeout options (Paolo Insogna) #44731
  • src:
  • (SEMVER-MINOR) add uvwasi version (Jithil P Ponnan) #45639
  • (SEMVER-MINOR) add initial shadow realm support (Chengzhong Wu) #42869
  • test_runner:
  • (SEMVER-MINOR) add t.after() hook (Colin Ihrig) #45792
  • (SEMVER-MINOR) don't use a symbol for runHook() (Colin Ihrig) #45792
  • tls:
  • (SEMVER-MINOR) add "ca" property to certificate object (Ben Noordhuis) #44935
  • remove trustcor root ca certificates (Ben Noordhuis) #45776
  • tools:
  • update certdata.txt (Luigi Pinca) #45490
  • util:
  • add fast path for utf8 encoding (Yagiz Nizipli) #45412
  • improve textdecoder decode performance (Yagiz Nizipli) #45294
  • (SEMVER-MINOR) add MIME utilities (#21128) (Bradley Farias) #21128
  • Commits:
  • [40123a6bb0] - (SEMVER-MINOR) async_hooks: add hook to stop propagation (Gerhard Stöbich) #45386
  • [9925d20ed8] - benchmark: add variety of inputs to text-encoder (Yagiz Nizipli) #45787
  • [5e167bd658] - benchmark: make benchmarks runnable in older versions of Node.js (Joyee Cheung) #45746
  • [a1421623ac] - benchmark: add v8 serialize benchmark (Yagiz Nizipli) #45476
  • [fcf61884cc] - benchmark: add text-encoder benchmark (Yagiz Nizipli) #45450
  • [762d285c98] - benchmark: add parameters to text-decoder benchmark (Yagiz Nizipli) #45363
  • [ab891ecbff] - benchmark: fix text-decoder benchmark (Yagiz Nizipli) #45363
  • [1ed312a737] - benchmark: add blob benchmark (Yagiz Nizipli) #44990
  • [2ee3d81277] - bootstrap: merge main thread and worker thread initializations (Joyee Cheung) #44869
  • [e638ea4f48] - bootstrap: check more metadata when loading the snapshot (Joyee Cheung) #44132
  • [bfcf4f0046] - buffer: make decodeUTF8 params loose (Yagiz Nizipli) #45610
  • [3a7f3d5993] - (SEMVER-MINOR) buffer: introduce File (Khafra) #45139
  • [345b847aa6] - buffer: fix validation of options in Blob constructor (Antoine du Hamel) #45156
  • [1ddc438444] - build: disable v8 snapshot compression by default (Joyee Cheung) #45716
  • [bd1a2fbd91] - build: add python 3.11 support for android (Mohammed Keyvanzadeh) #45765
  • [2b0ace302d] - build: rework gyp files for zlib (Richard Lau) #45589
  • [5ab7a30a06] - build: avoid redefined macro (Michaël Zasso) #45544
  • [f58b32c22e] - build: fix env.h for cpp20 (Jiawen Geng) #45516
  • [1de1f679ec] - Revert "build: remove precompiled header and debug information for host builds" (Stefan Stojanovic) #45432
  • [89d1eb58b0] - build: add --v8-disable-object-print flag (MURAKAMI Masahiko) #45458
  • [f2a4def232] - build: make scripts in gyp run with right python (Jiawen Geng) #45435
  • [473a879c91] - build: workaround for node-core-utils (Jiawen Geng) #45199
  • [abcc034c61] - build: fix icu-small build with ICU 72.1 (Steven R. Loomis) #45195
  • [8a99221a21] - build: remove unused language files (Ben Noordhuis) #45138
  • [3fb44f9413] - build: add GitHub token to auto-start-ci workflow (Richard Lau) #45185
  • [2aac993bb2] - build: add version info to timezone update PR (Darshan Sen) #45021
  • [0db19b3c60] - build: support Python 3.11 (Luigi Pinca) #45191
  • [fb008a2e9b] - build,deps,src: fix Intel VTune profiling support (Shi Lei) #45248
  • [61bc27a5b4] - build,win: pass --debug-nghttp2 to configure (Santiago Gimeno) #45209
  • [7b68c06988] - child_process: validate arguments for null bytes (Darshan Sen) #44782
  • [bac6b7d900] - crypto: simplify lazy loading of internal modules (Antoine du Hamel) #45809
  • [2fbf95662c] - crypto: fix CipherBase Update int32 overflow (Marco Ippolito) #45769
  • [0100fd445b] - crypto: refactor ArrayBuffer to bigint conversion utils (Antoine du Hamel) #45567
  • [fa0a2d8e5d] - crypto: refactor verify acceptable key usage functions (Filip Skokan) #45569
  • [ef64b86d0d] - crypto: fix ECDH webcrypto public CryptoKey usages (Filip Skokan) #45569
  • [b92b80424a] - crypto: validate CFRG webcrypto JWK import "d" and "x" are a pair (Filip Skokan) #45569
  • [621e3c9cd4] - crypto: use DataError for CFRG webcrypto raw and jwk import key checks (Filip Skokan) #45569
  • [8fcfbeffe1] - crypto: use DataError for webcrypto keyData import failures (Filip Skokan) #45569
  • [a976a63138] - crypto: fix X25519 and X448 webcrypto public CryptoKey usages (Filip Skokan) #45569
  • [27adcc9c4b] - crypto: ensure "x" is present when importing private CFRG webcrypto keys (Filip Skokan) #45569
  • [f27ebab56c] - crypto: clear OpenSSL error queue after calling X509_check_private_key() (Filip Skokan) #45495
  • [319ae095fb] - crypto: update root certificates (Luigi Pinca) #45490
  • [dae92e78d6] - crypto: clear OpenSSL error queue after calling X509_verify() (Takuro Sato) #45377
  • [1ba1809dfd] - crypto: handle more webcrypto errors with OperationError (Filip Skokan) #45320
  • [b54f8761ae] - crypto: handle unsupported AES ciphers in webcrypto (Filip Skokan) #45321
  • [57f507f1dd] - crypto: fix webcrypto HMAC "get key length" in deriveKey and generateKey (Filip Skokan) #44917
  • [7565a75ee5] - crypto: remove webcrypto HKDF and PBKDF2 default-applied lengths (Filip Skokan) #44945
  • [631421e8d0] - crypto: simplify webcrypto ECDH deriveBits (Filip Skokan) #44946
  • [c4f665f528] - deps: V8: cherry-pick d1d4c648e7ff (Danielle Adams) #46098
  • [c04e1df396] - Revert "deps: fix zlib compilation for CPUs without SIMD features" (Luigi Pinca) #45589
  • [34e708cded] - deps: update undici to 5.13.0 (Node.js GitHub Bot) #45634
  • [33b0664bbe] - deps: update corepack to 0.15.2 (Node.js GitHub Bot) #45635
  • [7b6d2a8ec0] - deps: update nghttp2 to 1.51.0 (Yagiz Nizipli) #45537
  • [02eabaf409] - deps: update base64 to 0.5.0 (Facundo Tuesca) #45509
  • [7d26bf3c08] - deps: V8: cherry-pick 9df5ef70ff18 (Yagiz Nizipli) #45474
  • [43419ad6bc] - deps: fix zlib compilation for CPUs without SIMD features (Anna Henningsen) #45387
  • [978cfad005] - deps: update zlib to upstream 8bbd6c31 (Luigi Pinca) #45387
  • [72362f348c] - deps: update acorn to 8.8.1 (Node.js GitHub Bot) #45441
  • [17a89d1f4e] - deps: V8: cherry-pick 031b98b25cba (Michaël Zasso) #45375
  • [bbe67c484a] - deps: upgrade npm to 8.19.3 (npm team) #45322
  • [a274d6bc0d] - deps: update corepack to 0.15.1 (Node.js GitHub Bot) #45331
  • [c9c958e188] - deps: upgrade to libuv 1.44.2 (Luigi Pinca) #42340
  • [07b47ad58c] - deps: update corepack to 0.15.0 (Node.js GitHub Bot) #45235
  • [bb6e8b1972] - deps: update undici to 5.12.0 (Node.js GitHub Bot) #45236
  • [596e3a8f2f] - deps: V8: cherry-pick c2792e58035f (Jiawen Geng) #44961
  • [2088cb4744] - deps: patch V8 to 10.2.154.23 (Michaël Zasso) #45997
  • [6ea555e8ac] - deps: V8: cherry-pick 2ada52cffbff (Michaël Zasso) #45573
  • [6d8c0f0efd] - deps: update timezone to 2022f (Node.js GitHub Bot) #45289
  • [3b73aa416f] - deps: update ICU to 72.1 (Michaël Zasso) #45068
  • [555d1723b1] - deps: update timezone (Node.js GitHub Bot) #44950
  • [5c0fcc13f7] - deps: patch V8 to 10.2.154.19 (Michaël Zasso) #45229
  • [1a47a7bbed] - diagnostics_channel: fix diagnostics channel memory leak (theanarkh) #45633
  • [40a29aabbc] - diagnostics_channel: built-in channels should remain experimental (Stephen Belanger) #45423
  • [2752f543bc] - diagnostics_channel: mark as stable (Stephen Belanger) #45290
  • [9ceed7a1cc] - dns: fix port validation (Antoine du Hamel) #45135
  • [108220cb05] - doc: buffer.fill empty value (Marco Ippolito) #45794
  • [b5ad92fea2] - doc: add args of filter option of fs.cp (MURAKAMI Masahiko) #45739
  • [899ba3d3c2] - doc: disambiguate native module to addon (Daeyeon Jeong) #45673
  • [6e35803789] - doc: using console.error for error cases in crypto and events (emirgoren) #45640
  • [fcd0f71979] - doc: fix actual result of example is different in events (Deokjin Kim) #45656
  • [8203c021dc] - doc: add doc-only deprecation for headers/trailers setters (Rich Trott) #45697
  • [c1f90a5b7b] - doc: add detail on how api docs are published (Michael Dawson) #45626
  • [90e9951d30] - doc: use console.error for error case in child_process and dgram (Deokjin Kim) #45690
  • [d9593ce98b] - doc: move streaming instruc to doc/contributing (Michael Dawson) #45582
  • [a3eb2dd9b4] - doc: add Rafael to the tsc (Michael Dawson) #45691
  • [fa8caa328f] - doc: add missing line in debugger (Deokjin Kim) #45632
  • [3fb5c6d3c5] - doc: fix actual result of example is different in stream (Deokjin Kim) #45619
  • [8a1e556899] - doc: add options parameter to eventTarget.removeEventListener (Deokjin Kim) #45667
  • [6881188f0f] - doc: define "react-native" community condition (Alex Hunt) #45367
  • [53e01f650f] - doc: move os.machine() docs to sorted position (Colin Ihrig) #45647
  • [0669712cbd] - doc: use console.error for error case in fs, https, net and process (Deokjin Kim) #45606
  • [ebc89f15fe] - doc: add link to doc with social processes (Michael Dawson) #45584
  • [b771fdb6f8] - doc: deprecate use of invalid ports in url.parse (Antoine du Hamel) #45576
  • [6a36159764] - doc: clarify changes in readableFlowing (Kohei Ueno) #45554
  • [30a8604143] - doc: use console.error for error case in http2 (Deokjin Kim) #45577
  • [8e94339891] - doc: add version description about fsPromise.constants (chlorine) #45556
  • [203ca494a1] - doc: add missing documentation for paramEncoding (Tobias Nießen) #45523
  • [31233b2064] - doc: fix typo in threat model (Tobias Nießen) #45558
  • [e851c43c54] - doc: add Node.js Threat Model (Rafael Gonzaga) #45223
  • [34c2876541] - doc: run license-builder (github-actions[bot]) #45553
  • [dde8740af3] - doc: add async_hooks migration note (Geoffrey Booth) #45335
  • [e304628fb5] - doc: fix RESOLVE_ESM_MATCH in modules.md (翠 / green) #45280
  • [8b44c6121e] - doc: add arm64 to os.machine() (Carter Snook) #45374
  • [009adc7e21] - doc: add lint rule to enforce trailing commas (Antoine du Hamel) #45471
  • [c6b89abc5f] - doc: adjust wording to eliminate awkward typography (Konv) #45398
  • [785817e341] - doc: fix typo in maintaining-dependencies.md (Tobias Nießen) #45428
  • [00e02bda3a] - doc: allow for holidays in triage response (Michael Dawson) #45267
  • [bef5206b84] - doc: include last security release date (Juan José Arboleda) #45368
  • [846b1aefac] - doc: fix email for Ashley (Michael Dawson) #45364
  • [913b669a2b] - doc: fix test runner's only tests section header (Colin Ihrig) #45343
  • [691da886f1] - doc: run license-builder (github-actions[bot]) #45349
  • [90a28920de] - doc: add more info for timer.setInterval (theanarkh) #45232
  • [d2fc2aa666] - doc: use module names in stability overview table (Filip Skokan) #45312
  • [3f69d21b5c] - doc: add node: prefix for examples (Daeyeon Jeong) #45328
  • [a5c9b3c112] - doc: update name of Node.js core Slack channel (Rich Trott) #45293
  • [2bfd60b06f] - doc: fix "task_processor.js" typo (andreysoktoev) #45257
  • [248de57278] - doc: add history section to fetch-related globals (Antoine du Hamel) #45198
  • [1f5975ef50] - doc: clarify moderation in onboarding.md (Benjamin Gruenbaum) #41930
  • [4e87c36570] - doc: change make lint to make lint-md (RafaelGSS) #45197
  • [3381a17d2c] - doc: add more lts update steps to release guide (Ruy Adorno) #45177
  • [64b0495310] - doc: add bmuenzenmeyer to triagers (Brian Muenzenmeyer) #45155
  • [6ebdb76727] - doc: update process.release (Filip Skokan) #45170
  • [05d89c4722] - doc: add link to triage guide (Brian Muenzenmeyer) #45154
  • [f1aa82fd3c] - doc: mark Node.js 12 as End-of-Life (Rafael Gonzaga) #45186
  • [da6f308612] - doc: add lukekarrys to collaborators (Luke Karrys) #45180
  • [17380a1e6a] - doc: update mark release line lts on release guide (Ruy Adorno) #45101
  • [3ddb6ccb2a] - doc: be more definite and present tense-y (Ben Noordhuis) #45120
  • [b09c386208] - doc: add major version note to release guide (Ruy Adorno) #45054
  • [896b48b549] - doc: fix v14.x link maintaining openssl guide (RafaelGSS) #45071
  • [33b3d8646b] - doc: add note about latest GitHub release (Michaël Zasso) #45111
  • [5e76bf5cd5] - doc: mention v18.x openssl maintaining guide (Rafael Gonzaga) #45070
  • [b4e3f3f095] - doc: fix display of "problematic" ASCII characters (John Gardner) #44373
  • [8bb23a4da3] - doc: mark Node.js v17.x as EOL (KaKa) #45110
  • [3f89dcabdb] - doc: update Node.js 16 End-of-Life date (Richard Lau) #45103
  • [7b23ec47b0] - doc: fix typo in parseArgs default value (Tobias Nießen) #45083
  • [7da66ef9e7] - doc: updated security stewards (Michael Dawson) #45005
  • [e5f9a520e2] - doc: fix http and http2 writeEarlyHints() parameter (Fabian Meyer) #45000
  • [e41a39c2b9] - doc: run license-builder (github-actions[bot]) #45034
  • [875de23ee9] - doc: improve the workflow to test release binaries (Rafael Gonzaga) #45004
  • [d7fc12f647] - doc: fix undici version in changelog (Michael Dawson) #44982
  • [4494cb2e82] - doc: add info on fixup to security release process (Michael Dawson) #44807
  • [88351b9758] - doc: add anonrig to collaborators (Yagiz Nizipli) #45002
  • [aebf7453d7] - doc: add notable changes to latest v18.x release changelog (Danielle Adams) #44996
  • [b4cc30e18c] - doc: deprecate url.parse() (Rich Trott) #44919
  • [4fcbc92788] - doc: fix backticks in fs API docs (Livia Medeiros) #44962
  • [cc1f41a57e] - doc, async_hooks: improve and add migration hints (Gerhard Stöbich) #45369
  • [6fb74a995d] - doc, http: add Uint8Array as allowed type (Gerhard Stöbich) #45167
  • [066993a10a] - esm: add JSDoc property descriptions for loader (Rich Trott) #45370
  • [fa210f91df] - esm: add JSDoc property descriptions for fetch (Rich Trott) #45370
  • [2f27d058c2] - esm: protect ESM loader from prototype pollution (Antoine du Hamel) #45175
  • [46ded6b96e] - esm: protect ESM loader from prototype pollution (Antoine du Hamel) #45044
  • [3bb764a58a] - events: add unique events benchmark (Yagiz Nizipli) #44657
  • [b305ad46fd] - fs: fix fs.rm support for loop symlinks (Nathanael Ruf) #45439
  • [c2f0377b8f] - fs: update todo message (Yagiz Nizipli) #45265
  • [1db20c84e1] - fs: fix opts.filter issue in cpSync (Tho) #45143
  • [da302ce15b] - fs: trace more fs api (theanarkh) #45095
  • [9ab00f5fbd] - gyp: fix v8 canary build on aix (Vasili Skurydzin) #45496
  • [cbd710bbf4] - http: make OutgoingMessage more streamlike (Robert Nagy) #45672
  • [209e7e3cff] - http: add debug log for ERR_UNESCAPED_CHARACTERS (Aidan Temple) #45420
  • [3937118f5e] - http: add JSDoc property descriptions (Rich Trott) #45370
  • [f222c95209] - http: add priority to common http headers (James M Snell) #45045
  • [2882e6042e] - Revert "http: do not leak error listeners" (Luigi Pinca) #44921
  • [b45878b2f1] - http2: improve session close/destroy procedures (Santiago Gimeno) #45115
  • [a534175aa5] - http2: fix crash on Http2Stream::diagnostic_name() (Santiago Gimeno) #45123
  • [0b9f11bcbe] - http2: fix debugStream method (Santiago Gimeno) #45129
  • [bbaca8442a] - lib: allow Writeable.toWeb() to work on http.Outgoing message (Debadree Chatterjee) #45642
  • [1284789371] - lib: check number of arguments in EventTarget's function (Deokjin Kim) #45668
  • [6297e77b1f] - lib: disambiguate native module to binding (Daeyeon Jeong) #45673
  • [f7c101555a] - lib: disambiguate native module to builtin module (Daeyeon Jeong) #45673
  • [55f800b806] - lib: added SuiteContext class (Debadree Chatterjee) #45687
  • [1ff8f689fa] - lib: add missing type of removeEventListener in question (Deokjin Kim) #45676
  • [2c595da5dc] - lib: do not throw if global property is no longer configurable (Antoine du Hamel) #45344
  • [b9d4ac2c7e] - lib: fix eslint early return (RafaelGSS) #45409
  • [4ef86b59b5] - lib: fix JSDoc issues (Rich Trott) #45243
  • [9ccf8b2ccc] - lib: use process.nextTick() instead of setImmediate() (Luigi Pinca) #42340
  • [8616e9b58b] - lib: drop fetch experimental warning (Matteo Collina) #45287
  • [57897f80cd] - lib: fix TypeError when converting a detached buffer source (Kohei Ueno) #44020
  • [ba0e7ae3dd] - lib: fix AbortSignal.timeout parameter validation (dnalborczyk) #42856
  • [385d795816] - lib: fix typo in pre_execution.js (Antoine du Hamel) #45039
  • [4ab1530b9b] - lib: promise version of streams.finished call clean up (Naor Tedgi (Abu Emma)) #44862
  • [2a3bd11edd] - lib: make properties on Blob and URL enumerable (Khafra) #44918
  • [f412834151] - lib: support more attributes for early hint link (Yagiz Nizipli) #44874
  • [1019209306] - meta: update AUTHORS (Node.js GitHub Bot) #45814
  • [dc862fe786] - meta: update AUTHORS (Node.js GitHub Bot) #45732
  • [dc5340018f] - meta: add .mailmap entry for Stefan Stojanovic (Rich Trott) #45703
  • [775f659380] - meta: update AUTHORS info for nstepien (Nicolas Stepien) #45692
  • [e2da381609] - meta: update AUTHORS (Node.js GitHub Bot) #45637
  • [29e51e72f9] - meta: update AUTHORS (Node.js GitHub Bot) #45531
  • [6f8759bc51] - meta: update VoltrexMaster's username (Mohammed Keyvanzadeh) #45503
  • [404172bb7c] - meta: update AUTHORS (Node.js GitHub Bot) #45443
  • [221f298078] - meta: be more proactive about removing from teams (Rich Trott) #45352
  • [28b937ae38] - meta: update AUTHORS (Node.js GitHub Bot) #45333
  • [255e89dc8c] - meta: update collaborator email address in README (Rich Trott) #45251
  • [1a726e9dff] - meta: fix email address typo in README (Rich Trott) #45250
  • [ffd059328b] - meta: remove dont-land-on-v12 auto labeling (Moshe Atlow) #45233
  • [d7fe2eac07] - meta: update AUTHORS (Node.js GitHub Bot) #45238
  • [5aa4ea931a] - meta: move a collaborator to emeritus (Rich Trott) #45160
  • [4fe060e957] - meta: move one or more collaborators to emeritus (Node.js GitHub Bot) #45036
  • [9ec6117b65] - meta: update AUTHORS (Node.js GitHub Bot) #45020
  • [3197b913aa] - module: require.resolve.paths returns null with node schema (MURAKAMI Masahiko) #45147
  • [bf8d48a881] - module: ensure relative requires work from deleted directories (Bradley Farias) #42384
  • [2c0f7d47e4] - module: fix segment deprecation for imports field (Guy Bedford) #44883
  • [a1831dacbf] - net: check autoSelectFamilyAttemptTimeout is positive (Deokjin Kim) #45740
  • [048795dab0] - (SEMVER-MINOR) net: add autoSelectFamily and autoSelectFamilyAttemptTimeout options (Paolo Insogna) #44731
  • [e4f7bcff8b] - net: remove _readableState from debug statement (Rich Trott) #45063
  • [cd4b0626c2] - node-api: address coverity warning (Michael Dawson) #45563
  • [581b38af13] - node-api: declare type napi_cleanup_hook (Chengzhong Wu) #45391
  • [44766c6522] - node-api: fix immediate napi_remove_wrap test (Chengzhong Wu) #45406
  • [746175a272] - node-api: handle no support for external buffers (Michael Dawson) #45181
  • [b5811c44cb] - node-api,test: fix test_reference_double_free crash (Vladimir Morozov) #44927
  • [bc5140383c] - os: convert uid and gid to 32-bit signed integers (Luigi Pinca) #42340
  • [ff03ed1c22] - readline: improve robustness against prototype mutation (Antoine du Hamel) #45614
  • [b999983c30] - repl: do not define wasi on global with no flag (Kohei Ueno) #45595
  • [a186a4d7ef] - report: add more memory info (theanarkh) #45254
  • [a880568afd] - report: add rss and use/kernel cpu usage fields (theanarkh) #45043
  • [49da5cd0ee] - report,doc: define report version semantics (Gireesh Punathil) #45050
  • [ae61740325] - src: add internal isArrayBufferDetached (Yagiz Nizipli) #45568
  • [a58bf148b3] - (SEMVER-MINOR) src: add uvwasi version (Jithil P Ponnan) #45639
  • [8e1138d354] - src: simplify NodeBIO::GetMethod initialization (Anna Henningsen) #45799
  • [b88ee545f2] - src: make structuredClone work for process.env (Ben Noordhuis) #45698
  • [94e6f08606] - src: mark generated snapshot_data as const (Anna Henningsen) #45786
  • [29f2dabca2] - src: cleanup on disambiguating native modules (Michael Dawson) #45665
  • [ed0a867a4e] - src: use enum class instead of enum in node_i18n (Deokjin Kim) #45646
  • [1e48a5a5b0] - src: address coverity warning in node_file.cc (Michael Dawson) #45565
  • [3f6f8f920f] - src: use qualified std::move call in node_http2 (Michaël Zasso) #45555
  • [5e63bf3726] - src: avoid unused variables and functions (Michaël Zasso) #45542
  • [3f5a23281c] - src: add missing include for std::all_of (Michaël Zasso) #45541
  • [0328208f6c] - src: set an appropriate thread pool size if given --v8-pool-size=0 (Daeyeon Jeong) #45513
  • [fbfd26da7d] - src: move FsStatsOffset and kFsStatsBufferLength to node_file.h (Joyee Cheung) #45498
  • [2c6a4fd6fa] - src: don't run tasks on isolate termination (Santiago Gimeno) #45444
  • [9c39b5ec48] - src: remove the unused PackageConfig class (Joyee Cheung) #45478
  • [70ca26a858] - src: add --max-semi-space-size to the options allowed in NODE_OPTIONS (Emanuel Hoogeveen) #44436
  • [5544ce4bdf] - src: condense experimental warning message (Rich Trott) #45424
  • [9ac7df1c6a] - src: track contexts in the Environment instead of AsyncHooks (Joyee Cheung) #45282
  • [89b3336120] - src: resolve TODO related to inspector CVEs (Tobias Nießen) #45341
  • [e05ebe8f9b] - src: print nghttp2 logs when using --debug-nghttp2 (Santiago Gimeno) #45209
  • [4634aa987d] - src: trace threadpool event (theanarkh) #44458
  • [bf028a66ef] - src: lock-free init_process_flags (Jérémy Lal) #45221
  • [8c4ac6dcf5] - src: call uv_library_shutdown before DisposePlatform (theanarkh) #45226
  • [614d646767] - src: fix crypto.privateEncrypt fails first time (liuxingbaoyu) #42793
  • [dee882e94f] - src: let http2 streams end after session close (Santiago Gimeno) #45153
  • [325254cc2c] - src: remap invalid file descriptors using dup2 (Obiwac) #44461
  • [f748f5df56] - src: remove unused contextify_global_private_symbol (Daeyeon Jeong) #45128
  • [169b33a24c] - src: forbid running watch mode in REPL (Moshe Atlow) #45058
  • [57b7023257] - src: fix test runner coverage (Moshe Atlow) #45055
  • [bf17f8dcb8] - src: optimize ALPN callback (Ben Noordhuis) #44875
  • [d433d34765] - src: simplify ALPN code, remove indirection (Ben Noordhuis) #44875
  • [33c78e2340] - src: iwyu in cleanup_queue.cc (Shelley Vohr) #44983
  • [23aa41394f] - (SEMVER-MINOR) src: add support for externally shared js builtins (Michael Dawson) #44376
  • [2d2e71c189] - src: refactor BaseObject methods (Joyee Cheung) #44796
  • [7b992cc229] - src: create BaseObject with node::Realm (Chengzhong Wu) #44348
  • [a7f3bc0dbc] - src: introduce node::Realm (Chengzhong Wu) #44179
  • [b11616be6b] - src: support WeakReference in snapshot (Joyee Cheung) #44193
  • [1ca575501a] - src: iterate over base objects to prepare for snapshot (Joyee Cheung) #44192
  • [f071028a45] - src: fix cppgc incompatibility in v8 (Shelley Vohr) #43521
  • [b8290ff7e9] - (SEMVER-MINOR) src: add initial shadow realm support (Chengzhong Wu) #42869
  • [90e8418e58] - src,lib: group properties used as constants from util binding (Daeyeon Jeong) #45539
  • [12779b3e02] - src,lib: retrieve parsed source map url from v8 (Chengzhong Wu) #44798
  • [c5630e2699] - src,node-api: update napi_is_detached_arraybuffer (Daeyeon Jeong) #45538
  • [122c51b595] - stream: use structuredClone instead of v8 (Yagiz Nizipli) #45611
  • [2bde576822] - stream: use ArrayBufferPrototypeGetByteLength (Yagiz Nizipli) #45528
  • [7984e066ca] - stream: add primordials to adapters (Yagiz Nizipli) #45511
  • [ac9a4aba5d] - stream: avoid premature close when will not emit close (Robert Nagy) #45301
  • [6f080e2968] - stream: fix typo in adapters.js (#45515) (Kohei Ueno) #45515
  • [d2998b6166] - stream: add fast path for utf8 (Yagiz Nizipli) #45483
  • [5f7d2b5c64] - stream: add compose operator (Raz Luvaton) #44937
  • [70244d0b57] - stream: fix duplexify premature destroy (Robert Nagy) #45133
  • [1fb6e82f84] - stream: fix web streams have no Symbol.toStringTag (Jithil P Ponnan) #45117
  • [c514751ff3] - stream: don't push null from closed promise #42694 (David Halls) #45026
  • [8c2d0f9294] - stream: fix size function returned from QueuingStrategies (Daeyeon Jeong) #44867
  • [7e386f8cb9] - test: remove flaky parallel/test-process-wrap test (Ben Noordhuis) #45806
  • [38fb2c1cc8] - test: fix invalid output TAP if there newline in test name (Pulkit Gupta) #45742
  • [c1162535ae] - test: fix -Wunused-variable on report-fatalerror (Santiago Gimeno) #45747
  • [13d2df3c20] - test: fix test-watch-mode (Stefan Stojanovic) #45585
  • [3a5a2ae2ea] - test: fix test-watch-mode-inspect (Stefan Stojanovic) #45586
  • [7dbc742bca] - test: fix typos in test/parallel (Deokjin Kim) #45583
  • [3e87834ac7] - test: add trailing commas in event tests (Rich Trott) #45466
  • [8f7109aea3] - test: add trailing commas in async-hooks tests (#45549) (Antoine du Hamel) #45549
  • [d5b0844fce] - test: add trailing commas in addons test (#45548) (Antoine du Hamel) #45548
  • [b1e17b4590] - test: add trailing commas in test/common (#45550) (Antoine du Hamel) #45550
  • [305d4de72f] - test: revise pull request guide text about code (Rich Trott) #45519
  • [9f1e5b6a89] - test: enable the WPT for structuredClone (Daeyeon Jeong) #45482
  • [fac1f1bcd6] - test: add lint rule to enforce trailing commas (Antoine du Hamel) #45468
  • [cac449f0a0] - test: update uses of _jabber._tcp.google.com (Colin Ihrig) #45451
  • [19eabd7870] - test: add test to validate changelogs for releases (Richard Lau) #45325
  • [85c634d899] - test: remove flaky designation for test-worker-http2-stream-terminate (Rich Trott) #45438
  • [4283af48b0] - test: fix flaky test-repl-sigint-nested-eval (Rich Trott) #45354
  • [7e0332a46b] - test: skip test-fs-largefile if not enough disk space (Rich Trott) #45339
  • [ad3b41c858] - test: fix catching failed assertion (Pavel Horal) #45222
  • [12764fc725] - test: defer invocation checks (Luigi Pinca) #42340
  • [facb606084] - test: fix test-socket-write-after-fin-error (Luigi Pinca) #42340
  • [ab9c2df11b] - test: make test-eventemitter-asyncresource.js shorter (Juan José) #45146
  • [03a3f30cb1] - test: convert test-debugger-pid to async/await (Luke Karrys) #45179
  • [d718c675d8] - test: improve test coverage in test-event-capture-rejections.js (Juan José) #45148
  • [fe91ac15be] - test: fix timeout of test-heap-prof.js in riscv devices (Yu Gu) #42674
  • [a110cac4f3] - test: deflake test-http2-empty-frame-without-eof (Santiago Gimeno) #45212
  • [c890136934] - test: use common/tmpdir in watch-mode ipc test (Richard Lau) #45211
  • [7b8380dd73] - test: use uv_sleep() where possible (Santiago Gimeno) #45124
  • [7a7dab4160] - test: fix typo in test/parallel/test-fs-rm.js (Tim Shilov) #44882
  • [c87770b39b] - test: remove a snapshot blob from test-inspect-address-in-use.js (Daeyeon Jeong) #45132
  • [a0f8d8b806] - test: add test for Module._stat (Darshan Sen) #44713
  • [a8030b9517] - test: watch mode inspect restart repeatedly (Moshe Atlow) #45060
  • [52808d7d71] - test: remove experimental-wasm-threads flag (Michaël Zasso) #45074
  • [b3c4265a95] - test: remove unnecessary noop function args to mustCall() (Antoine du Hamel) #45047
  • [868b4a3d67] - test: mark test-watch-mode* as flaky on all platforms (Pierrick Bouvier) #45049
  • [0d9ccc850e] - test: wrap missing common.mustCall (Moshe Atlow) #45064
  • [8fffd05b85] - test: remove mentions of --experimental-async-stack-tagging-api flag (Simon) #45051
  • [fc58b61e82] - test: improve assertions in test-repl-unsupported-option.js (Juan José) #44953
  • [e5928abef7] - test: remove unnecessary noop function args to mustCall() (Rich Trott) #45027
  • [d86fcbfd6e] - test: update WPT resources (Khaidi Chu) #44948
  • [d103d779d3] - test: skip test depending on overlapped-checker when not available (Antoine du Hamel) #45015
  • [5544c55600] - test: improve test coverage for os package (Juan José) #44959
  • [6e3227b0fd] - test: add test to improve coverage in http2-compat-serverresponse (Cesar Mario Diaz) #44970
  • [dfc2419ab4] - test: improve test coverage in test-child-process-spawn-argv0.js (Juan José) #44955
  • [89a1c57436] - test: use CHECK instead of EXPECT where necessary (Tobias Nießen) #44795
  • [657756fc06] - test: refactor promises to async/await (Madhuri) #44980
  • [55cf4b5042] - test: fix textdecoder test for small-icu builds (Richard Lau) #45225
  • [e2df332ea7] - test: add a test to ensure the correctness of timezone upgrades (Darshan Sen) #45299
  • [a2e5126227] - test,crypto: update WebCryptoAPI WPT (Filip Skokan) #45569
  • [69c1f2a021] - test,crypto: update WebCryptoAPI WPT (Filip Skokan) #45165
  • [24e2a4fbd7] - test_runner: refactor tap_lexer to use more primordials (Antoine du Hamel) #45744
  • [3cee3ca5ae] - test_runner: refactor tap_parser to use more primordials (Antoine du Hamel) #45745
  • [449326639d] - (SEMVER-MINOR) test_runner: add t.after() hook (Colin Ihrig) #45792
  • [370ad455d6] - (SEMVER-MINOR) test_runner: don't use a symbol for runHook() (Colin Ihrig) #45792
  • [500024384a] - test_runner: add resetCalls to MockFunctionContext (MURAKAMI Masahiko) #45710
  • [ed9246f6fc] - test_runner: don't parse TAP from stderr (Colin Ihrig) #45618
  • [a56560f6fc] - test_runner: add getter and setter to MockTracker (MURAKAMI Masahiko) #45506
  • [20f6fa3edd] - test_runner: remove stdout and stderr from error (Colin Ihrig) #45592
  • [16bedbabce] - test_runner: add initial TAP parser (Wassim Chegham) #43525
  • [55b64e0b14] - test_runner: support watch mode (Moshe Atlow) #45214
  • [92909f6855] - test_runner: support function mocking (Colin Ihrig) #45326
  • [0f69b6c26d] - test_runner: fix afterEach not running on test failures (Jithil P Ponnan) #45204
  • [a67da59313] - test_runner: report tap subtest in order (Moshe Atlow) #45220
  • [a59c907e14] - test_runner: call {before,after}Each() on suites (Colin Ihrig) #45161
  • [64860dd01f] - test_runner: add extra fields in AssertionError YAML (Bryan English) #44952
  • [979d8376bd] - tls: remove trustcor root ca certificates (Ben Noordhuis) #45776
  • [10cc827ebf] - (SEMVER-MINOR) tls: add "ca" property to certificate object (Ben Noordhuis) #44935
  • [8336e32713] - tools: update lint-md-dependencies (Node.js GitHub Bot) #45730
  • [aa57f6c362] - tools: add GitHub token permissions to label flaky-test issues (Gabriela Gutierrez) #45308
  • [79b3ee14a5] - tools: remove dependency vulnerability checker (Facundo Tuesca) #45675
  • [496a528149] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #45638
  • [346132926d] - tools: update doc to [email protected] (Node.js GitHub Bot) #45636
  • [610341f241] - tools: update eslint to 8.28.0 (Node.js GitHub Bot) #45532
  • [682a730131] - tools: add automation for updating libuv dependency (Facundo Tuesca) #45362
  • [360c7be315] - tools: add missing step in update-base64.sh script (Facundo Tuesca) #45509
  • [e52f0472bb] - tools: update certdata.txt (Luigi Pinca) #45490
  • [ad8c6c91b5] - tools: include current release in the list of released versions (Antoine du Hamel) #45463
  • [7641044eff] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #45442
  • [f5a4c52278] - tools: do not run CQ on non-fast-tracked PRs open for less than 2 days (Moshe Atlow) #45407
  • [0f45c90533] - tools: simplify .eslintrc.js (Rich Trott) #45397
  • [172cbfefa8] - tools: simplify regex in ESLint config (Rich Trott) #45399
  • [456f048e0e] - tools: enable jsdoc/require-property-description rule (Rich Trott) #45370
  • [6fafec351a] - tools: dynamically determine parallelism on GitHub Actions macOS (Rich Trott) #45350
  • [2ca30cacee] - tools: add automation for updating acorn dependency (Facundo Tuesca) #45357
  • [04f213b44c] - tools: add documentation regarding our api tooling (Claudio Wunder) #45270
  • [c63d825681] - tools: allow scripts to run from anywhere (Luigi Pinca) #45361
  • [1b0b68037a] - tools: update eslint to 8.27.0 (Node.js GitHub Bot) #45358
  • [398ca2496b] - tools: update eslint to 8.26.0 (Node.js GitHub Bot) #45243
  • [3053c65fb1] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #45332
  • [510506027b] - tools: fix stability index generation (Antoine du Hamel) #45346
  • [e0a8effbc1] - tools: increase macOS cores to 3 on GitHub CI (Rich Trott) #45340
  • [75a146f436] - tools: add automation for updating base64 dependency (Facundo Tuesca) #45300
  • [13390e94af] - tools: fix request-ci-failed comment (Antoine du Hamel) #45291
  • [a93c4f7e41] - tools: update lint-md-dependencies (Node.js GitHub Bot) #45237
  • [078be3ba21] - tools: fix request-ci-failed comment (Antoine du Hamel) #45218
  • [62c233c221] - tools: keep Emeriti lists case-insensitive alphabetic (Rich Trott) #45159
  • [d07a5e25b0] - tools: update actions/setup-python to v4 (Yagiz Nizipli) #45178
  • [48cf8905f7] - tools: update V8 gypfiles for RISC-V (Andreas Schwab) #45149
  • [0cbd2c6f8d] - tools: fix create-or-update-pull-request-action hash on GHA (Antoine du Hamel) #45166
  • [cd911d72ab] - tools: update gr2m/create-or-update-pull-request-action (Luigi Pinca) #45022
  • [ee78e2e0ec] - tools: do not use the set-output command in workflows (Luigi Pinca) #45024
  • [f98a6967e6] - tools: update lint-md-dependencies (Node.js GitHub Bot) #45019
  • [71433f3127] - tools: refactor dynamic strings creation in shell scripts (Antoine du Hamel) #45240
  • [f08c129144] - tools: use Python 3.11 in GitHub Actions workflows (Luigi Pinca) #45191
  • [76897430ed] - tools: have test-asan use ubuntu-20.04 (Filip Skokan) #45581
  • [210cbcbf89] - trace_events: add new categories (theanarkh) #45266
  • [20a39a34e0] - trace_events: fix getCategories (theanarkh) #45092
  • [597c7fcbab] - url: remove unnecessary object call to kFormat (Yagiz Nizipli) #45492
  • [5d964cd4d4] - url: remove t n r in url.parse() similar to WHATWG (Rich Trott) #45116
  • [eb81b6f0fb] - url: improve url.parse() compliance with WHATWG URL (Rich Trott) #45011
  • [3f18a833ff] - util: use private symbols in JS land directly (Joyee Cheung) #45379
  • [32a3859a90] - util: add fast path for utf8 encoding (Yagiz Nizipli) #45412
  • [cd740d0b0d] - util: improve text decoder performance (Yagiz Nizipli) #45388
  • [1dc91abddf] - util: improve text-decoder performance (Yagiz Nizipli) #45363
  • [4730850972] - util: improve textdecoder decode performance (Yagiz Nizipli) #45294
  • [717b604da7] - (SEMVER-MINOR) util: add MIME utilities (#21128) (Bradley Farias) #21128
  • [39cf8b4f16] - vm: make ContextifyContext a BaseObject (Joyee Cheung) #44796
  • [09ea75823c] - watch: add CLI flag to preserve output (Debadree Chatterjee) #45717
  • [24bfe543c5] - watch: watch for missing dependencies (Moshe Atlow) #45348

New in Node.js 19.3.0 Current (Dec 14, 2022)

  • Notable Changes:
  • Updated npm to 9.2.0:
  • Based on the list of guidelines we've established on integrating npm and node, here is a grouped list of the breaking changes with the reasoning as to why they fit within the guidelines linked above. Note that all the breaking changes were made in 9.0.0. All subsequent minor and patch releases after [email protected] do not contain any breaking changes.
  • Engines
  • Explanation: the node engines supported by npm@9 make it safe to allow npm@9 as the default in any LTS version of 14 or 16, as well as anything later than or including 18.0.0
  • npm is now compatible with the following semver range for node: ^14.17.0 || ^16.13.0 || >=18.0.0
  • Filesystem:
  • Explanation: when run as root previous versions of npm attempted to manage file ownership automatically on the user's behalf. this behavior was problematic in many cases and has been removed in favor of allowing users to manage their own filesystem permissions
  • npm will no longer attempt to modify ownership of files it creates.
  • Auth:
  • Explanation: any errors thrown from users having unsupported auth configurations will show npm config fix in the remediation instructions, which will allow the user to automatically have their auth config fixed.
  • The presence of auth related settings that are not scoped to a specific registry found in a config file is no longer supported and will throw errors.
  • Login:
  • Explanation: the default auth-type has changed and users can opt back into the old behavior with npm config set auth-type=legacy. login and adduser have also been seperated making each command more closely match it's name instead of being aliases for each other.
  • Legacy auth types sso, saml & legacy have been consolidated into "legacy".
  • auth-type defaults to "web"
  • login and adduser are now separate commands that send different data to the registry.
  • auth-type config values web and legacy only try their respective methods, npm no longer tries them all and waits to see which one doesn't fail.
  • Tarball Packing:
  • Explanation: previously using multiple ignore/allow lists when packing was an undefined behavior, and now the order of operations is strictly defined when packing a tarball making it easier to follow and should only affect users relying on the previously undefined behavior.
  • npm pack now follows a strict order of operations when applying ignore rules. If a files array is present in the package.json, then rules in .gitignore and .npmignore files from the root will be ignored.
  • Display/Debug/Timing Info:
  • Explanation: these changes center around the display of information to the terminal including timing and debug log info. We do not anticipate these changes breaking any existing workflows.
  • Links generated from git urls will now use HEAD instead of master as the default ref.
  • timing has been removed as a value for --loglevel.
  • --timing will show timing information regardless of --loglevel, except when --silent.
  • When run with the --timing flag, npm now writes timing data to a file alongside the debug log data, respecting the logs-dir option and falling back to /_logs/ dir, instead of directly inside the cache directory.
  • The timing file data is no longer newline delimited JSON, and instead each run will create a uniquely named -timing.json file, with the portion being the same as the debug log.
  • npm now outputs some json errors on stdout. Previously npm would output all json formatted errors on stderr, making it difficult to parse as the stderr stream usually has logs already written to it.
  • Config/Command Deprecations or Removals:
  • Explanation: install-links is the only config or command in the list that has an effect on package installs. We fixed a number of issues that came up during prereleases with this change. It will also only be applied to new package trees created without a package-lock.json file. Any install with an existing lock file will not be changed.
  • Deprecate boolean install flags in favor of --install-strategy.
  • npm config set will no longer accept deprecated or invalid config options.
  • install-links config defaults to "true".
  • node-version config has been removed.
  • npm-version config has been removed.
  • npm access subcommands have been renamed.
  • npm birthday has been removed.
  • npm set-script has been removed.
  • npm bin has been removed (use npx or npm exec to execute binaries).
  • Other notable changes:
  • [03db415540] - build: disable v8 snapshot compression by default (Joyee Cheung) #45716
  • [9f51b9e50d] - doc: add doc-only deprecation for headers/trailers setters (Rich Trott) #45697
  • [b010820c4e] - doc: add Rafael Gonzaga to the TSC (Michael Dawson) #45691
  • [b8b13dccd9] - (SEMVER-MINOR) net: add autoSelectFamily and autoSelectFamilyAttemptTimeout options (Paolo Insogna) #44731
  • [5d7cd363ab] - (SEMVER-MINOR) src: add uvwasi version (Jithil P Ponnan) #45639
  • [4165dcddf0] - (SEMVER-MINOR) test_runner: add t.after() hook (Colin Ihrig) #45792
  • [d1bd7796ad] - (SEMVER-MINOR) test_runner: don't use a symbol for runHook() (Colin Ihrig) #45792
  • [691f58e76c] - tls: remove trustcor root ca certificates (Ben Noordhuis) #45776
  • Commits
  • [382efdf460] - benchmark: add variety of inputs to text-encoder (Yagiz Nizipli) #45787
  • [102c2dc071] - benchmark: make benchmarks runnable in older versions of Node.js (Joyee Cheung) #45746
  • [e2caf7ced9] - bootstrap: lazy load non-essential modules (Joyee Cheung) #45659
  • [49840d443c] - buffer: remove unnecessary lazy loading (Antoine du Hamel) #45807
  • [17847683dc] - buffer: make decodeUTF8 params loose (Yagiz Nizipli) #45610
  • [03db415540] - build: disable v8 snapshot compression by default (Joyee Cheung) #45716
  • [95a23e24f3] - build: add python 3.11 support for android (Mohammed Keyvanzadeh) #45765
  • [09bc89daba] - build: rework gyp files for zlib (Richard Lau) #45589
  • [b5b56b6b45] - crypto: simplify lazy loading of internal modules (Antoine du Hamel) #45809
  • [2e4d37e3f0] - crypto: fix CipherBase Update int32 overflow (Marco Ippolito) #45769
  • [573eab9235] - crypto: refactor ArrayBuffer to bigint conversion utils (Antoine du Hamel) #45567
  • [845f805490] - crypto: refactor verify acceptable key usage functions (Filip Skokan) #45569
  • [7cc9998737] - crypto: fix ECDH webcrypto public CryptoKey usages (Filip Skokan) #45569
  • [d030963f37] - crypto: validate CFRG webcrypto JWK import "d" and "x" are a pair (Filip Skokan) #45569
  • [9cd106efdc] - crypto: use DataError for CFRG webcrypto raw and jwk import key checks (Filip Skokan) #45569
  • [9e2e3de6ce] - crypto: use DataError for webcrypto keyData import failures (Filip Skokan) #45569
  • [40037b4e79] - crypto: fix X25519 and X448 webcrypto public CryptoKey usages (Filip Skokan) #45569
  • [de2b6b97b9] - crypto: ensure "x" is present when importing private CFRG webcrypto keys (Filip Skokan) #45569
  • [75dbce9a07] - deps: upgrade npm to 9.2.0 (npm team) #45780
  • [677eb62bf2] - deps: upgrade npm to 9.1.3 (npm team) #45693
  • [1d823a6d30] - Revert "deps: fix zlib compilation for CPUs without SIMD features" (Luigi Pinca) #45589
  • [6b15994597] - deps: update undici to 5.13.0 (Node.js GitHub Bot) #45634
  • [fbd2d27789] - deps: update corepack to 0.15.2 (Node.js GitHub Bot) #45635
  • [60c9ac5178] - deps: update nghttp2 to 1.51.0 (Yagiz Nizipli) #45537
  • [c8421204b0] - deps: patch V8 to 10.8.168.21 (Michaël Zasso) #45749
  • [c5277417c9] - diagnostics_channel: fix diagnostics channel memory leak (theanarkh) #45633
  • [8a90f5c784] - doc: buffer.fill empty value (Marco Ippolito) #45794
  • [9d6af617ea] - doc: add args of filter option of fs.cp (MURAKAMI Masahiko) #45739
  • [8c728d2f02] - doc: disambiguate native module to addon (Daeyeon Jeong) #45673
  • [7718ff82a4] - doc: using console.error for error cases in crypto and events (emirgoren) #45640
  • [029060e6e4] - doc: fix actual result of example is different in events (Deokjin Kim) #45656
  • [9f51b9e50d] - doc: add doc-only deprecation for headers/trailers setters (Rich Trott) #45697
  • [801fe30488] - doc: add detail on how api docs are published (Michael Dawson) #45626
  • [e124e2a6ee] - doc: use console.error for error case in child_process and dgram (Deokjin Kim) #45690
  • [1b920287b6] - doc: move streaming instruc to doc/contributing (Michael Dawson) #45582
  • [b010820c4e] - doc: add Rafael to the tsc (Michael Dawson) #45691
  • [4fb7cf88e2] - doc: add missing line in debugger (Deokjin Kim) #45632
  • [c0df265fea] - doc: fix actual result of example is different in stream (Deokjin Kim) #45619
  • [027e738064] - doc: add options parameter to eventTarget.removeEventListener (Deokjin Kim) #45667
  • [23ff5057b2] - doc: define "react-native" community condition (Alex Hunt) #45367
  • [2e767bf18b] - doc: move os.machine() docs to sorted position (Colin Ihrig) #45647
  • [aabfdef861] - doc: use console.error for error case in fs, https, net and process (Deokjin Kim) #45606
  • [3a02d50d35] - doc: add link to doc with social processes (Michael Dawson) #45584
  • [e4316124fa] - fs: fix nonNativeWatcher watching folder with existing files (Moshe Atlow) #45500
  • [d272faa54d] - fs: fix nonNativeWatcher leak of StatWatchers (Moshe Atlow) #45501
  • [d64e773168] - http: make OutgoingMessage more streamlike (Robert Nagy) #45672
  • [ed8ae88f30] - lib: remove unnecessary lazy loading in internal/encoding (Antoine du Hamel) #45810
  • [302c5240c5] - lib: allow Writeable.toWeb() to work on http.Outgoing message (Debadree Chatterjee) #45642
  • [e8745083b9] - lib: check number of arguments in EventTarget's function (Deokjin Kim) #45668
  • [9f7bb5ce0e] - lib: disambiguate native module to binding (Daeyeon Jeong) #45673
  • [353339a552] - lib: disambiguate native module to builtin module (Daeyeon Jeong) #45673
  • [99410efd19] - lib: added SuiteContext class (Debadree Chatterjee) #45687
  • [a79f37a0a7] - lib: add missing type of removeEventListener in question (Deokjin Kim) #45676
  • [e0750467e8] - meta: update AUTHORS (Node.js GitHub Bot) #45814
  • [376f3468b9] - meta: update AUTHORS (Node.js GitHub Bot) #45732
  • [a6e2cf2d6f] - meta: add .mailmap entry for Stefan Stojanovic (Rich Trott) #45703
  • [eb9a383d2a] - meta: update AUTHORS info for nstepien (Nicolas Stepien) #45692
  • [049ef342c6] - meta: update AUTHORS (Node.js GitHub Bot) #45637
  • [b9c2fc7623] - net: check autoSelectFamilyAttemptTimeout is positive (Deokjin Kim) #45740
  • [b8b13dccd9] - (SEMVER-MINOR) net: add autoSelectFamily and autoSelectFamilyAttemptTimeout options (Paolo Insogna) #44731
  • [6962ef0df1] - readline: improve robustness against prototype mutation (Antoine du Hamel) #45614
  • [7892e23e68] - repl: do not define wasi on global with no flag (Kohei Ueno) #45595
  • [349b4f8817] - src: add internal isArrayBufferDetached (Yagiz Nizipli) #45568
  • [5d7cd363ab] - (SEMVER-MINOR) src: add uvwasi version (Jithil P Ponnan) #45639
  • [8a03684018] - src: simplify NodeBIO::GetMethod initialization (Anna Henningsen) #45799
  • [b35ebebc0e] - src: make structuredClone work for process.env (Ben Noordhuis) #45698
  • [81ab54035f] - src: mark generated snapshot_data as const (Anna Henningsen) #45786
  • [79edf257bb] - src: cleanup on disambiguating native modules (Michael Dawson) #45665
  • [c9cba2e873] - src: use enum class instead of enum in node_i18n (Deokjin Kim) #45646
  • [818028caba] - src: rename internal module declaration as internal bindings (Chengzhong Wu) #45551
  • [2fbe2f9f0a] - src,lib: group properties used as constants from util binding (Daeyeon Jeong) #45539
  • [56eee72abb] - stream: use structuredClone instead of v8 (Yagiz Nizipli) #45611
  • [b297dd5393] - test: remove flaky parallel/test-process-wrap test (Ben Noordhuis) #45806
  • [924f6ab3a1] - test: order list alphabetically in test-bootstrap-modules (Antoine du Hamel) #45808
  • [5c4475dab9] - test: fix invalid output TAP if there newline in test name (Pulkit Gupta) #45742
  • [4c51c5c97a] - test: fix -Wunused-variable on report-fatalerror (Santiago Gimeno) #45747
  • [764725040c] - test: fix test-watch-mode (Stefan Stojanovic) #45585
  • [cd36250fcb] - test: fix test-watch-mode-inspect (Stefan Stojanovic) #45586
  • [b55bd6e8c1] - test: fix typos in test/parallel (Deokjin Kim) #45583
  • [358e2fe217] - test,crypto: update WebCryptoAPI WPT (Filip Skokan) #45569
  • [424419c2b4] - test_runner: refactor tap_lexer to use more primordials (Antoine du Hamel) #45744
  • [ffc0f3d7be] - test_runner: refactor tap_parser to use more primordials (Antoine du Hamel) #45745
  • [4165dcddf0] - (SEMVER-MINOR) test_runner: add t.after() hook (Colin Ihrig) #45792
  • [d1bd7796ad] - (SEMVER-MINOR) test_runner: don't use a symbol for runHook() (Colin Ihrig) #45792
  • [6bc7b7e6f4] - test_runner: add resetCalls to MockFunctionContext (MURAKAMI Masahiko) #45710
  • [3e485365ec] - test_runner: don't parse TAP from stderr (Colin Ihrig) #45618
  • [efc44567c9] - test_runner: add getter and setter to MockTracker (MURAKAMI Masahiko) #45506
  • [c9cbd1d396] - test_runner: remove stdout and stderr from error (Colin Ihrig) #45592
  • [691f58e76c] - tls: remove trustcor root ca certificates (Ben Noordhuis) #45776
  • [d384b73f76] - tools: update lint-md-dependencies (Node.js GitHub Bot) #45730
  • [324ae3d5dd] - tools: add GitHub token permissions to label flaky-test issues (Gabriela Gutierrez) #45308
  • [418ae9be56] - tools: remove dependency vulnerability checker (Facundo Tuesca) #45675
  • [238fc64c38] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #45638
  • [1b98f17876] - tools: update doc to [email protected] (Node.js GitHub Bot) #45636
  • [470384e7be] - util: use private symbols in JS land directly (Joyee Cheung) #45379
  • [cee6f382d8] - watch: add CLI flag to preserve output (Debadree Chatterjee) #45717

New in Node.js 19.2.0 Current (Nov 30, 2022)

  • Notable changes:
  • Time zone update:
  • Time zone data has been updated to 2022f. This includes changes to Daylight Savings Time (DST) for Fiji and Mexico. For more information, see https://mm.icann.org/pipermail/tz-announce/2022-October/000075.html.
  • Other notable changes:
  • buffer:
  • (SEMVER-MINOR) introduce File class (Khafra) #45139
  • deps:
  • update V8 to 10.8.168.20 (Michaël Zasso) #45230
  • doc:
  • deprecate use of invalid ports in url.parse (Antoine du Hamel) #45576
  • util:
  • add fast path for utf8 encoding (Yagiz Nizipli) #45412
  • Commits:
  • [7cff1e14ba] - (SEMVER-MINOR) async_hooks: add hook to stop propagation (Gerhard Stöbich) #45386
  • [f08f6a64a3] - benchmark: add v8 serialize benchmark (Yagiz Nizipli) #45476
  • [26ad54c1a2] - benchmark: add text-encoder benchmark (Yagiz Nizipli) #45450
  • [6c56c9722b] - (SEMVER-MINOR) buffer: introduce File (Khafra) #45139
  • [6e1e25d6dd] - build: avoid redefined macro (Michaël Zasso) #45544
  • [5c9b2a7c82] - build: fix env.h for cpp20 (Jiawen Geng) #45516
  • [54fd8a1966] - build: reset embedder string to "-node.0" (Michaël Zasso) #45230
  • [0f3cf7e5ce] - Revert "build: remove precompiled header and debug information for host builds" (Stefan Stojanovic) #45432
  • [62ef1eb4ff] - build: add --v8-disable-object-print flag (MURAKAMI Masahiko) #45458
  • [1ce2f56cf6] - build: make scripts in gyp run with right python (Jiawen Geng) #45435
  • [9ffe3c051a] - build,deps,src: fix Intel VTune profiling support (Shi Lei) #45248
  • [bd3accc7b2] - crypto: clear OpenSSL error queue after calling X509_check_private_key() (Filip Skokan) #45495
  • [724addb293] - crypto: update root certificates (Luigi Pinca) #45490
  • [efe19eb7f5] - crypto: clear OpenSSL error queue after calling X509_verify() (Takuro Sato) #45377
  • [f63ae525fa] - deps: V8: cherry-pick 2ada52cffbff (Michaël Zasso) #45573
  • [43e002e3d4] - deps: update base64 to 0.5.0 (Facundo Tuesca) #45509
  • [aaa4ac7735] - deps: V8: cherry-pick 9df5ef70ff18 (Yagiz Nizipli) #45230
  • [e70c3090ff] - deps: V8: cherry-pick f1c888e7093e (Michaël Zasso) #45230
  • [51eb323c50] - deps: V8: cherry-pick 92a7385171bb (Michaël Zasso) #45230
  • [1370b1a769] - deps: fix V8 build on Windows with MSVC (Michaël Zasso) #45230
  • [3cd6367e6a] - deps: silence irrelevant V8 warning (Michaël Zasso) #45230
  • [9348bdd28d] - deps: V8: fix v8-cppgc.h for MSVC (Jiawen Geng) #45230
  • [e9292544b0] - deps: fix V8 build issue with inline methods (Jiawen Geng) #45230
  • [a3b9967553] - deps: update V8 to 10.8.168.20 (Michaël Zasso) #45230
  • [117efe98b0] - deps: V8: cherry-pick 9df5ef70ff18 (Yagiz Nizipli) #45474
  • [628891d4dd] - deps: update timezone to 2022f (Node.js GitHub Bot) #45289
  • [45ba14b3be] - deps: fix zlib compilation for CPUs without SIMD features (Anna Henningsen) #45387
  • [c41e67fe1d] - deps: update zlib to upstream 8bbd6c31 (Luigi Pinca) #45387
  • [413bf9ad39] - deps: patch V8 to 10.7.193.22 (Michaël Zasso) #45460
  • [ad8da86b3f] - deps: update acorn to 8.8.1 (Node.js GitHub Bot) #45441
  • [17e6031bf0] - deps: V8: cherry-pick 031b98b25cba (Michaël Zasso) #45375
  • [9e0e97c121] - diagnostics_channel: built-in channels should remain experimental (Stephen Belanger) #45423
  • [44886e55e1] - diagnostics_channel: mark as stable (Stephen Belanger) #45290
  • [b6b5b51687] - doc: deprecate use of invalid ports in url.parse (Antoine du Hamel) #45576
  • [d805d5a894] - doc: clarify changes in readableFlowing (Kohei Ueno) #45554
  • [015842f3d2] - doc: use console.error for error case in http2 (Deokjin Kim) #45577
  • [4345732900] - doc: add version description about fsPromise.constants (chlorine) #45556
  • [16643dbb19] - doc: add missing documentation for paramEncoding (Tobias Nießen) #45523
  • [246cd358b5] - doc: fix typo in threat model (Tobias Nießen) #45558
  • [5b1df22db0] - doc: add Node.js Threat Model (Rafael Gonzaga) #45223
  • [19d8493c92] - doc: run license-builder (github-actions[bot]) #45553
  • [6f0bc097ea] - doc: add async_hooks migration note (Geoffrey Booth) #45335
  • [118de4b44c] - doc: fix RESOLVE_ESM_MATCH in modules.md (翠 / green) #45280
  • [4de67d1ef4] - doc: add arm64 to os.machine() (Carter Snook) #45374
  • [1812a89c00] - doc: add lint rule to enforce trailing commas (Antoine du Hamel) #45471
  • [4128c27f66] - doc: include v19.1.0 in CHANGELOG.md (Rafael Gonzaga) #45462
  • [94a6a97ec6] - doc: adjust wording to eliminate awkward typography (Konv) #45398
  • [a6fe707b62] - doc: fix typo in maintaining-dependencies.md (Tobias Nießen) #45428
  • [8906a4e58e] - esm: add JSDoc property descriptions for loader (Rich Trott) #45370
  • [4e5ad9df50] - esm: add JSDoc property descriptions for fetch (Rich Trott) #45370
  • [2b760c339e] - fs: fix fs.rm support for loop symlinks (Nathanael Ruf) #45439
  • [e0a271e41b] - gyp: fix v8 canary build on aix (Vasili Skurydzin) #45496
  • [eac26c0793] - Revert "http: headers(Distinct), trailers(Distinct) setters to be no-op" (Rich Trott) #45527
  • [f208db70a0] - http: add debug log for ERR_UNESCAPED_CHARACTERS (Aidan Temple) #45420
  • [b72b2bab72] - http: add JSDoc property descriptions (Rich Trott) #45370
  • [4c9159a830] - lib: improve transferable abort controller exec (Yagiz Nizipli) #45525
  • [5745bcbb41] - lib: improve AbortController creation duration (Yagiz Nizipli) #45525
  • [38767b42fb] - lib: do not throw if global property is no longer configurable (Antoine du Hamel) #45344
  • [0d1b1c5df0] - meta: update AUTHORS (Node.js GitHub Bot) #45531
  • [208ea1a58c] - meta: update VoltrexMaster's username (Mohammed Keyvanzadeh) #45503
  • [d13ea68ef6] - meta: update AUTHORS (Node.js GitHub Bot) #45443
  • [6704e7814f] - meta: be more proactive about removing from teams (Rich Trott) #45352
  • [6fdd202c57] - module: require.resolve.paths returns null with node schema (MURAKAMI Masahiko) #45147
  • [38f1ede379] - node-api: address coverity warning (Michael Dawson) #45563
  • [4a4f2802ec] - node-api: declare type napi_cleanup_hook (Chengzhong Wu) #45391
  • [8ff16fd8c0] - node-api: fix immediate napi_remove_wrap test (Chengzhong Wu) #45406
  • [e7a5b3347b] - src: address coverity warning in node_file.cc (Michael Dawson) #45565
  • [128c9f6fac] - src: use qualified std::move call in node_http2 (Michaël Zasso) #45555
  • [57bca94cb1] - src: avoid unused variables and functions (Michaël Zasso) #45542
  • [649b31f5e5] - src: add missing include for std::all_of (Michaël Zasso) #45541
  • [56f22ea47c] - src: set an appropriate thread pool size if given --v8-pool-size=0 (Daeyeon Jeong) #45513
  • [cce9e11d2d] - src: move FsStatsOffset and kFsStatsBufferLength to node_file.h (Joyee Cheung) #45498
  • [5e5bf0c236] - src: don't run tasks on isolate termination (Santiago Gimeno) #45444
  • [10e7c2a62c] - src: remove the unused PackageConfig class (Joyee Cheung) #45478
  • [459d4481d4] - src: add --max-semi-space-size to the options allowed in NODE_OPTIONS (Emanuel Hoogeveen) #44436
  • [a483d1291e] - src: condense experimental warning message (Rich Trott) #45424
  • [42507e68ab] - src,node-api: update napi_is_detached_arraybuffer (Daeyeon Jeong) #45538
  • [f720c5880e] - stream: use ArrayBufferPrototypeGetByteLength (Yagiz Nizipli) #45528
  • [c00258e24b] - stream: add primordials to adapters (Yagiz Nizipli) #45511
  • [5274a8f7db] - stream: avoid premature close when will not emit close (Robert Nagy) #45301
  • [496912d722] - stream: fix typo in adapters.js (#45515) (Kohei Ueno) #45515
  • [8d96e2c723] - stream: add fast path for utf8 (Yagiz Nizipli) #45483
  • [c3fe9072c6] - test: add trailing commas in event tests (Rich Trott) #45466
  • [bb4c293873] - test: add trailing commas in async-hooks tests (#45549) (Antoine du Hamel) #45549
  • [731e8741b2] - test: add trailing commas in addons test (#45548) (Antoine du Hamel) #45548
  • [d6c68ce346] - test: add trailing commas in test/common (#45550) (Antoine du Hamel) #45550
  • [c9ba0b738d] - test: revise pull request guide text about code (Rich Trott) #45519
  • [076e9eeaeb] - test: fix test-trace-gc-flag (Tony Gorez) #45230
  • [72f2df2802] - test: adapt test-v8-stats for V8 update (Michaël Zasso) #45230
  • [b491504d77] - test: enable the WPT for structuredClone (Daeyeon Jeong) #45482
  • [1277ffcb55] - test: add lint rule to enforce trailing commas (Antoine du Hamel) #45468
  • [45b54eec55] - test: update uses of _jabber._tcp.google.com (Colin Ihrig) #45451
  • [51213c24bd] - test: add test to validate changelogs for releases (Richard Lau) #45325
  • [00a3b5f7d5] - test: remove flaky designation for test-worker-http2-stream-terminate (Rich Trott) #45438
  • [4fe5c4e167] - test: fix flaky test-repl-sigint-nested-eval (Rich Trott) #45354
  • [f79dd65333] - test: add a test to ensure the correctness of timezone upgrades (Darshan Sen) #45299
  • [016749ba5d] - test_runner: add initial TAP parser (Wassim Chegham) #43525
  • [e9760b4ae8] - test_runner: support watch mode (Moshe Atlow) #45214
  • [160c88ec77] - tools: have test-asan use ubuntu-20.04 (Filip Skokan) #45581
  • [81f63c2b28] - tools: update eslint to 8.28.0 (Node.js GitHub Bot) #45532
  • [f3f1aed01a] - tools: add automation for updating libuv dependency (Facundo Tuesca) #45362
  • [d4f30f07b3] - tools: add missing step in update-base64.sh script (Facundo Tuesca) #45509
  • [cca20330cf] - tools: update certdata.txt (Luigi Pinca) #45490
  • [39e873139b] - tools: include current release in the list of released versions (Antoine du Hamel) #45463
  • [8a34ef4897] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #45442
  • [bb36acff42] - tools: do not run CQ on non-fast-tracked PRs open for less than 2 days (Moshe Atlow) #45407
  • [93bc2ba509] - tools: simplify .eslintrc.js (Rich Trott) #45397
  • [b7f8a44c64] - tools: simplify regex in ESLint config (Rich Trott) #45399
  • [36bf87fabf] - tools: enable jsdoc/require-property-description rule (Rich Trott) #45370
  • [7c6281a7d2] - tools: dynamically determine parallelism on GitHub Actions macOS (Rich Trott) #45350
  • [f441b04c11] - trace_events: add new categories (theanarkh) #45266
  • [6bdd2c3884] - Revert "url: improve port validation" (Rich Trott) #45517
  • [bbba42fcb2] - url: remove unnecessary object call to kFormat (Yagiz Nizipli) #45492
  • [7c79ba7b27] - util: add fast path for utf8 encoding (Yagiz Nizipli) #45412
  • [f86f90f839] - util: improve text decoder performance (Yagiz Nizipli) #45388
  • [3263ceb21a] - watch: watch for missing dependencies (Moshe Atlow) #45348

New in Node.js 19.1.0 Current (Nov 14, 2022)

  • Notable changes:
  • Support function mocking on Node.js test runner:
  • The node:test module supports mocking during testing via a top-level mock object.
  • fs.watch recursive support on Linux:
  • fs.watch supports recursive watch using the recursive: true option.
  • Other notable changes:
  • deps:
  • update ICU to 72.1 (Michaël Zasso) #45068
  • doc:
  • add lukekarrys to collaborators (Luke Karrys) #45180
  • add anonrig to collaborators (Yagiz Nizipli) #45002
  • lib:
  • drop fetch experimental warning (Matteo Collina) #45287
  • util:
  • (SEMVER-MINOR) add MIME utilities (Bradley Farias) #21128
  • improve textdecoder decode performance (Yagiz Nizipli) #45294
  • Commits:
  • [c9cf399ec7] - benchmark: add parameters to text-decoder benchmark (Yagiz Nizipli) #45363
  • [79f6bb061d] - benchmark: fix text-decoder benchmark (Yagiz Nizipli) #45363
  • [a27c994ced] - benchmark: add blob benchmark (Yagiz Nizipli) #44990
  • [c45b6aee78] - bootstrap: merge main thread and worker thread initializations (Joyee Cheung) #44869
  • [33691208df] - buffer: fix validation of options in Blob constructor (Antoine du Hamel) #45156
  • [7b938df296] - build: support Python 3.11 (Luigi Pinca) #45191
  • [75e0a2d109] - build: workaround for node-core-utils (Jiawen Geng) #45199
  • [f598edbdf4] - build: fix icu-small build with ICU 72.1 (Steven R. Loomis) #45195
  • [29b9f4f90c] - build: remove unused language files (Ben Noordhuis) #45138
  • [3a1ee940d1] - build: add GitHub token to auto-start-ci workflow (Richard Lau) #45185
  • [17349a2f42] - build: restore Windows resource file (Richard Lau) #45042
  • [24e24bd063] - build: add version info to timezone update PR (Darshan Sen) #45021
  • [8d7aa53e6b] - build,win: pass --debug-nghttp2 to configure (Santiago Gimeno) #45209
  • [b2e60480f3] - child_process: validate arguments for null bytes (Darshan Sen) #44782
  • [1f0edde412] - crypto: handle more webcrypto errors with OperationError (Filip Skokan) #45320
  • [13fb05e12b] - crypto: handle unsupported AES ciphers in webcrypto (Filip Skokan) #45321
  • [c168cbfbb3] - deps: V8: cherry-pick 56816d76c121 (Shi Pujin) #45353
  • [1432474abf] - deps: upgrade npm to 8.19.3 (npm team) #45322
  • [f35d56200d] - deps: update corepack to 0.15.1 (Node.js GitHub Bot) #45331
  • [44de2321aa] - deps: patch V8 to 10.7.193.20 (Michaël Zasso) #45228
  • [bfe3819f08] - deps: upgrade to libuv 1.44.2 (Luigi Pinca) #42340
  • [0d41df96b3] - deps: update corepack to 0.15.0 (Node.js GitHub Bot) #45235
  • [0d241638ca] - deps: update undici to 5.12.0 (Node.js GitHub Bot) #45236
  • [f58996188a] - Revert "deps: make V8 compilable with older glibc" (Michaël Zasso) #45162
  • [8cda730e58] - deps: update ICU to 72.1 (Michaël Zasso) #45068
  • [0a6ed6f710] - Revert "deps: V8: forward declaration of Rtl*FunctionTable" (Michaël Zasso) #45119
  • [2f7518ada2] - deps: update timezone (Node.js GitHub Bot) #44950
  • [3bfba6df79] - deps: patch V8 to 10.7.193.16 (Michaël Zasso) #45023
  • [b5baaa61b3] - dns: fix port validation (Antoine du Hamel) #45135
  • [0e9bad97cc] - doc: allow for holidays in triage response (Michael Dawson) #45267
  • [d4aabb9d3d] - doc: include last security release date (Juan José Arboleda) #45368
  • [ba45373164] - doc: fix email for Ashley (Michael Dawson) #45364
  • [d5e5c75b13] - doc: fix test runner's only tests section header (Colin Ihrig) #45343
  • [a7c5f31c47] - doc: run license-builder (github-actions[bot]) #45349
  • [3de125743e] - doc: add more info for timer.setInterval (theanarkh) #45232
  • [5a1252d9b4] - doc: use module names in stability overview table (Filip Skokan) #45312
  • [4d38bf2c5f] - doc: add node: prefix for examples (Daeyeon Jeong) #45328
  • [b4b6b95f48] - doc: update name of Node.js core Slack channel (Rich Trott) #45293
  • [7d7e7c316b] - doc: fix "task_processor.js" typo (andreysoktoev) #45257
  • [b9039a54af] - doc: add history section to fetch-related globals (Antoine du Hamel) #45198
  • [d9163f1632] - doc: clarify moderation in onboarding.md (Benjamin Gruenbaum) #41930
  • [c179c1478b] - doc: change make lint to make lint-md (RafaelGSS) #45197
  • [58bec56fab] - doc: add more lts update steps to release guide (Ruy Adorno) #45177
  • [8f8d7e76ac] - doc: add bmuenzenmeyer to triagers (Brian Muenzenmeyer) #45155
  • [de2df550f6] - doc: update process.release (Filip Skokan) #45170
  • [916e8760ba] - doc: add link to triage guide (Brian Muenzenmeyer) #45154
  • [54d806853e] - doc: mark Node.js 12 as End-of-Life (Rafael Gonzaga) #45186
  • [3a26347649] - doc: add lukekarrys to collaborators (Luke Karrys) #45180
  • [85cb4d795c] - doc: update mark release line lts on release guide (Ruy Adorno) #45101
  • [c23e023a2d] - doc: be more definite and present tense-y (Ben Noordhuis) #45120
  • [519002152b] - doc: add major version note to release guide (Ruy Adorno) #45054
  • [809e8dcbd2] - doc: fix v14.x link maintaining openssl guide (RafaelGSS) #45071
  • [9d449d389d] - doc: add note about latest GitHub release (Michaël Zasso) #45111
  • [ee34a3a1bc] - doc: mention v18.x openssl maintaining guide (Rafael Gonzaga) #45070
  • [3e4033a90d] - doc: fix display of "problematic" ASCII characters (John Gardner) #44373
  • [533e38b0b8] - doc: mark Node.js v17.x as EOL (KaKa) #45110
  • [93a34faa39] - doc: update Node.js 16 End-of-Life date (Richard Lau) #45103
  • [b4beddef79] - doc: fix typo in parseArgs default value (Tobias Nießen) #45083
  • [e8103fd33b] - doc: updated security stewards (Michael Dawson) #45005
  • [5fbccae4f0] - doc: fix http and http2 writeEarlyHints() parameter (Fabian Meyer) #45000
  • [d47f83251a] - doc: run license-builder (github-actions[bot]) #45034
  • [e6bbc5033d] - doc: improve the workflow to test release binaries (Rafael Gonzaga) #45004
  • [f0c18f04f0] - doc: fix undici version in changelog (Michael Dawson) #44982
  • [ffba3218ec] - doc: add info on fixup to security release process (Michael Dawson) #44807
  • [edb92f4510] - doc: add anonrig to collaborators (Yagiz Nizipli) #45002
  • [58334a38e8] - doc, async_hooks: improve and add migration hints (Gerhard Stöbich) #45369
  • [7225a7d46b] - doc, http: add Uint8Array as allowed type (Gerhard Stöbich) #45167
  • [40a5e22328] - esm: protect ESM loader from prototype pollution (Antoine du Hamel) #45175
  • [2e5d8e7239] - esm: protect ESM loader from prototype pollution (Antoine du Hamel) #45044
  • [c3dd696081] - events: add unique events benchmark (Yagiz Nizipli) #44657
  • [daff3b8b09] - fs: update todo message (Yagiz Nizipli) #45265
  • [670def3d6f] - fs: fix opts.filter issue in cpSync (Tho) #45143
  • [34bfef91a9] - (SEMVER-MINOR) fs: add recursive watch to linux (Yagiz Nizipli) #45098
  • [d89ca1b443] - fs: trace more fs api (theanarkh) #45095
  • [1a04881494] - http: headers(Distinct), trailers(Distinct) setters to be no-op (Madhuri) #45176
  • [8abc3f732a] - http: add priority to common http headers (James M Snell) #45045
  • [316354e3d3] - http2: improve session close/destroy procedures (Santiago Gimeno) #45115
  • [1635140952] - http2: fix crash on Http2Stream::diagnostic_name() (Santiago Gimeno) #45123
  • [94b7f5338c] - http2: fix debugStream method (Santiago Gimeno) #45129
  • [3db37e7d1b] - inspector: refactor inspector/promises to be more robust (Antoine du Hamel) #45041
  • [0478e4063f] - lib: add options to the heap snapshot APIs (Joyee Cheung) #44989
  • [a8e901555a] - lib: fix JSDoc issues (Rich Trott) #45243
  • [74352842bc] - lib: use process.nextTick() instead of setImmediate() (Luigi Pinca) #42340
  • [9f3d2f6879] - lib: drop fetch experimental warning (Matteo Collina) #45287
  • [e2181e057b] - lib: fix eslint early return (RafaelGSS) #45409
  • [d1726692ee] - lib: fix TypeError when converting a detached buffer source (Kohei Ueno) #44020
  • [d7470ad986] - lib: fix AbortSignal.timeout parameter validation (dnalborczyk) #42856
  • [c7b7f2bec2] - lib: add lint rule to protect against Object.prototype.then pollution (Antoine du Hamel) #45061
  • [9ed9aa8233] - lib: add ability to add separate event name to defineEventHandler (James M Snell) #45032
  • [8b4a41e23d] - lib: fix typo in pre_execution.js (Antoine du Hamel) #45039
  • [cc2393c9fe] - lib: promise version of streams.finished call clean up (Naor Tedgi (Abu Emma)) #44862
  • [17ef1bbc8e] - lib: make properties on Blob and URL enumerable (Khafra) #44918
  • [8199841e9c] - lib: support more attributes for early hint link (Yagiz Nizipli) #44874
  • [88c3bb609b] - meta: update AUTHORS (Node.js GitHub Bot) #45333
  • [a866e8c163] - meta: update collaborator email address in README (Rich Trott) #45251
  • [bfbfacad79] - meta: fix email address typo in README (Rich Trott) #45250
  • [0d58bb9531] - meta: remove dont-land-on-v12 auto labeling (Moshe Atlow) #45233
  • [b41b5ba658] - meta: update AUTHORS (Node.js GitHub Bot) #45238
  • [ad9a5bb61f] - meta: move a collaborator to emeritus (Rich Trott) #45160
  • [ec8683052b] - meta: move one or more collaborators to emeritus (Node.js GitHub Bot) #45036
  • [7900810fb3] - meta: update AUTHORS (Node.js GitHub Bot) #45020
  • [738144c311] - module: ensure relative requires work from deleted directories (Bradley Farias) #42384
  • [36acf8a13e] - net: remove _readableState from debug statement (Rich Trott) #45063
  • [aaca54c5c0] - node-api: handle no support for external buffers (Michael Dawson) #45181
  • [2105f099ea] - node-api,test: fix test_reference_double_free crash (Vladimir Morozov) #44927
  • [2fcf851a91] - os: convert uid and gid to 32-bit signed integers (Luigi Pinca) #42340
  • [dfe4237d77] - perf_hooks: align toStringTag with other Web Performance implementations (Daeyeon Jeong) #45157
  • [9d15da3341] - report: add more memory info (theanarkh) #45254
  • [a2620acad7] - report: add rss and use/kernel cpu usage fields (theanarkh) #45043
  • [66e1dc4979] - report,doc: define report version semantics (Gireesh Punathil) #45050
  • [86e22b4e19] - src: track contexts in the Environment instead of AsyncHooks (Joyee Cheung) #45282
  • [326d19af3d] - src: resolve TODO related to inspector CVEs (Tobias Nießen) #45341
  • [4e45585ca2] - src: revert is_release to 0 (RafaelGSS) #45315
  • [5d480118fb] - src: print nghttp2 logs when using --debug-nghttp2 (Santiago Gimeno) #45209
  • [3e46ebda3c] - src: trace threadpool event (theanarkh) #44458
  • [97547bcd14] - src: lock-free init_process_flags (Jérémy Lal) #45221
  • [42db84913b] - src: call uv_library_shutdown before DisposePlatform (theanarkh) #45226
  • [aa4152a1b6] - src: fix crypto.privateEncrypt fails first time (liuxingbaoyu) #42793
  • [243c141b69] - src: clarify OptionEnvvarSettings member names (Chengzhong Wu) #45057
  • [5335e29ce7] - src: let http2 streams end after session close (Santiago Gimeno) #45153
  • [8d5682266e] - src: remap invalid file descriptors using dup2 (Obiwac) #44461
  • [4e14ed8878] - src: remove unused contextify_global_private_symbol (Daeyeon Jeong) #45128
  • [a8412f5677] - src: forbid running watch mode in REPL (Moshe Atlow) #45058
  • [162bf0ddff] - src: fix test runner coverage (Moshe Atlow) #45055
  • [e5b1179630] - src: optimize ALPN callback (Ben Noordhuis) #44875
  • [9dc21a1f86] - src: simplify ALPN code, remove indirection (Ben Noordhuis) #44875
  • [5fce8e3495] - src: iwyu in cleanup_queue.cc (Shelley Vohr) #44983
  • [824dcfc422] - src: return void in InitializeInspector() (Joyee Cheung) #44903
  • [7a31ae8ab1] - src,lib: retrieve parsed source map url from v8 (Chengzhong Wu) #44798
  • [ccb1c1e9a2] - stream: add compose operator (Raz Luvaton) #44937
  • [e60d9053bc] - stream: fix duplexify premature destroy (Robert Nagy) #45133
  • [bc0ae3e74e] - stream: fix web streams have no Symbol.toStringTag (Jithil P Ponnan) #45117
  • [1655532fd2] - stream: don't push null from closed promise #42694 (David Halls) #45026
  • [717db1d46a] - test: skip test-fs-largefile if not enough disk space (Rich Trott) #45339
  • [4a80aff16e] - test: fix catching failed assertion (Pavel Horal) #45222
  • [66e7821506] - test: defer invocation checks (Luigi Pinca) #42340
  • [43db0fbd49] - test: fix test-socket-write-after-fin-error (Luigi Pinca) #42340
  • [d5f4d98847] - test: make test-eventemitter-asyncresource.js shorter (Juan José) #45146
  • [7428651100] - test: convert test-debugger-pid to async/await (Luke Karrys) #45179
  • [f10f2c1121] - test: fix textdecoder test for small-icu builds (Richard Lau) #45225
  • [eed799bd31] - test: improve test coverage in test-event-capture-rejections.js (Juan José) #45148
  • [069747bfdd] - test: fix timeout of test-heap-prof.js in riscv devices (Yu Gu) #42674
  • [ddb7df76de] - test: deflake test-http2-empty-frame-without-eof (Santiago Gimeno) #45212
  • [02ebde39d3] - test: use common/tmpdir in watch-mode ipc test (Richard Lau) #45211
  • [f9bc40a1fc] - test: use uv_sleep() where possible (Santiago Gimeno) #45124
  • [3c7ea23b8f] - test: fix typo in test/parallel/test-fs-rm.js (Tim Shilov) #44882
  • [b39dcde056] - test: remove a snapshot blob from test-inspect-address-in-use.js (Daeyeon Jeong) #45132
  • [fabed9bdc8] - test: add test for Module._stat (Darshan Sen) #44713
  • [2b3b291c97] - test: watch mode inspect restart repeatedly (Moshe Atlow) #45060
  • [17e86e4188] - test: remove experimental-wasm-threads flag (Michaël Zasso) #45074
  • [f0480d68e9] - test: remove unnecessary noop function args to mustCall() (Antoine du Hamel) #45047
  • [82e6043118] - test: mark test-watch-mode* as flaky on all platforms (Pierrick Bouvier) #45049
  • [26a2ae2489] - test: wrap missing common.mustCall (Moshe Atlow) #45064
  • [8662399cda] - test: remove mentions of --experimental-async-stack-tagging-api flag (Simon) #45051
  • [71b8d506ed] - test: improve assertions in test-repl-unsupported-option.js (Juan José) #44953
  • [dbc696d363] - test: remove unnecessary noop function args to mustCall() (Rich Trott) #45027
  • [c1ca19fb06] - test: update WPT resources (Khaidi Chu) #44948
  • [43677e5a34] - test: skip test depending on overlapped-checker when not available (Antoine du Hamel) #45015
  • [3519d74e87] - test: improve test coverage for os package (Juan José) #44959
  • [ea0cfc9a83] - test: add test to improve coverage in http2-compat-serverresponse (Cesar Mario Diaz) #44970
  • [482578682c] - test: improve test coverage in test-child-process-spawn-argv0.js (Juan José) #44955
  • [a618dc3c3e] - test: use CHECK instead of EXPECT where necessary (Tobias Nießen) #44795
  • [c59d3b76e6] - test: refactor promises to async/await (Madhuri) #44980
  • [36c5927c60] - test,crypto: update WebCryptoAPI WPT (Filip Skokan) #45165
  • [6158d740f3] - test_runner: support function mocking (Colin Ihrig) #45326
  • [920804dc46] - test_runner: avoid swallowing of asynchronously thrown errors (MURAKAMI Masahiko) #45264
  • [8e7f9de45e] - test_runner: fix afterEach not running on test failures (Jithil P Ponnan) #45204
  • [0040030443] - test_runner: report tap subtest in order (Moshe Atlow) #45220
  • [afa8291c7c] - test_runner: call {before,after}Each() on suites (Colin Ihrig) #45161
  • [ff174b0937] - test_runner: add extra fields in AssertionError YAML (Bryan English) #44952
  • [bf868fdfab] - (SEMVER-MINOR) tls: add "ca" property to certificate object (Ben Noordhuis) #44935
  • [e8075fd1f8] - tools: add automation for updating acorn dependency (Facundo Tuesca) #45357
  • [9aa305ff3e] - tools: add documentation regarding our api tooling (Claudio Wunder) #45270
  • [76cbc07f9b] - tools: allow scripts to run from anywhere (Luigi Pinca) #45361
  • [aa875a4d6a] - tools: update eslint to 8.27.0 (Node.js GitHub Bot) #45358
  • [4b71db13ae] - tools: update eslint to 8.26.0 (Node.js GitHub Bot) #45243
  • [63267dfefb] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #45332
  • [e275859138] - tools: fix stability index generation (Antoine du Hamel) #45346
  • [97fe8bacb1] - tools: increase macOS cores to 3 on GitHub CI (Rich Trott) #45340
  • [eda4ae51ca] - tools: add automation for updating base64 dependency (Facundo Tuesca) #45300
  • [2ee052f794] - tools: fix request-ci-failed comment (Antoine du Hamel) #45291
  • [e118dd88fd] - tools: refactor dynamic strings creation in shell scripts (Antoine du Hamel) #45240
  • [ba89cea683] - tools: update lint-md-dependencies (Node.js GitHub Bot) #45237
  • [786f086800] - tools: use Python 3.11 in GitHub Actions workflows (Luigi Pinca) #45191
  • [0738d14fa4] - tools: fix request-ci-failed comment (Antoine du Hamel) #45218
  • [49be13ccd8] - tools: keep Emeriti lists case-insensitive alphabetic (Rich Trott) #45159
  • [6e30d2231b] - tools: update actions/setup-python to v4 (Yagiz Nizipli) #45178
  • [a4158692d7] - tools: update V8 gypfiles for RISC-V (Andreas Schwab) #45149
  • [c43bc2169f] - tools: fix create-or-update-pull-request-action hash on GHA (Antoine du Hamel) #45166
  • [2ccc03ec32] - tools: update gr2m/create-or-update-pull-request-action (Luigi Pinca) #45022
  • [a70b27629f] - tools: do not use the set-output command in workflows (Luigi Pinca) #45024
  • [025e616662] - tools: update lint-md-dependencies (Node.js GitHub Bot) #45019
  • [732f9a78d3] - trace_events: fix getCategories (theanarkh) #45092
  • [1bc84ce52c] - url: remove t n r in url.parse() similar to WHATWG (Rich Trott) #45116
  • [84e7388160] - url: improve port validation (Rich Trott) #45012
  • [02cff4a3d3] - url: improve url.parse() compliance with WHATWG URL (Rich Trott) #45011
  • [89390a6be2] - util: improve text-decoder performance (Yagiz Nizipli) #45363
  • [0deed8daeb] - util: improve textdecoder decode performance (Yagiz Nizipli) #45294
  • [d41f8ffc36] - (SEMVER-MINOR) util: add MIME utilities (#21128) (Bradley Farias) #21128

New in Node.js 19.0.1 Current (Nov 6, 2022)

  • Notable changes:
  • The following CVEs are fixed in this release:
  • CVE-2022-3602: X.509 Email Address 4-byte Buffer Overflow (High)
  • CVE-2022-3786: X.509 Email Address Variable Length Buffer Overflow (High)
  • CVE-2022-43548: DNS rebinding in --inspect via invalid octal IP address (Medium)
  • More detailed information on each of the vulnerabilities can be found in November 2022 Security Releases blog post.
  • Commits:
  • [e58e8d70a8] - deps: update archs files for quictls/openssl-3.0.7+quic (RafaelGSS) #45286
  • [85f4548d57] - deps: upgrade openssl sources to quictls/openssl-3.0.7+quic (RafaelGSS) #45286
  • [43403f56f7] - inspector: harden IP address validation again (Tobias Nießen) nodejs-private/node-private#354

New in Node.js 18.12.1 LTS (Nov 6, 2022)

  • Notable changes:
  • The following CVEs are fixed in this release:
  • CVE-2022-3602: X.509 Email Address 4-byte Buffer Overflow (High)
  • CVE-2022-3786: X.509 Email Address Variable Length Buffer Overflow (High)
  • CVE-2022-43548: DNS rebinding in --inspect via invalid octal IP address (Medium)
  • More detailed information on each of the vulnerabilities can be found in November 2022 Security Releases blog post.
  • Commits:
  • [39f8a672e3] - deps: update archs files for quictls/openssl-3.0.7+quic nodejs/node#45286
  • [80218127c8] - deps: upgrade openssl sources to quictls/openssl-3.0.7+quic nodejs/node#45286
  • [165342beac] - inspector: harden IP address validation again (Tobias Nießen) nodejs-private/node-private#354

New in Node.js 19.0.0 Current (Oct 18, 2022)

  • Node.js 19 is here! Highlights include the update of the V8 JavaScript engine to 10.7, HTTP(s)/1.1 KeepAlive enabled by default, and ESM Resolution adjusts.
  • Node.js 19 will replace Node.js 18 as our ‘Current’ release line when Node.js 18 enters long-term support (LTS) later this month. As per the release schedule, Node.js 19 will be ‘Current' release for the next 6 months, until April 2023.
  • Notable Changes:
  • Deprecations and Removals:
  • [7dd2f41c73] - (SEMVER-MAJOR) module: runtime deprecate exports double slash maps (Guy Bedford) #44495
  • [ada2d053ae] - (SEMVER-MAJOR) process: runtime deprecate coercion to integer in process.exit() (Daeyeon Jeong) #44711
  • HTTP(S)/1.1 KeepAlive by default:
  • Starting with this release, Node.js sets keepAlive to true by default. This means that any outgoing HTTP(s) connection will automatically use HTTP 1.1 Keep-Alive. The default waiting window is 5 seconds. Enable keep-alive will deliver better throughput as connections are reused by default.
  • Additionally the agent is now able to parse the response Keep-Alive which the servers might send. This header instructs the client on how much to stay connected. On the other side, the Node.js HTTP server will now automatically disconnect idle clients (which are using HTTP Keep-Alive to reuse the connection) when close() is invoked).
  • Node.js HTTP(S)/1.1 requests may experience a better throughput/performance by default.
  • Contributed by Paolo Insogna in #43522:
  • DTrace/SystemTap/ETW Support were removed:
  • The main reason is the lack of resources from Node.js team. The complexity to keep the support up-to-date has been proved not worth it without a clear plan to support those tools. Hence, an issue was raised in the Node.js repository to assess a better support, for DTrace in specific.
  • Contributed by Ben Noordhuis in #43651 and #43652:
  • V8 10.7:
  • The V8 engine is updated to version 10.7, which is part of Chromium 107. This version include a new feature to the JavaScript API: Intl.NumberFormat.
  • Intl.NumberFormat v3 API is a new TC39 ECMA402 stage 3 proposal extend the pre-existing Intl.NumberFormat.
  • The V8 update was a contribution by Michaël Zasso in #44741.
  • llhttp 8.1.0:
  • llhttp has been updated to version 8.1.0.Collectively, this version brings many update to the llhttp API, introducing new callbacks and allow all callback to be pausable.
  • Contributed by Paolo Insogna in #44967:
  • Other Notable Changes:
  • [46a3afb579] - doc: graduate webcrypto to stable (Filip Skokan) #44897
  • [f594cc85b7] - esm: remove specifier resolution flag (Geoffrey Booth) #44859
  • Semver-Major Commits:
  • [53f73d1cfe] - (SEMVER-MAJOR) build: enable V8's trap handler on Windows (Michaël Zasso) #44741
  • [06aaf8a1c4] - (SEMVER-MAJOR) build: reset embedder string to "-node.0" (Michaël Zasso) #44741
  • [aa3a572e6b] - (SEMVER-MAJOR) build: remove dtrace & etw support (Ben Noordhuis) #43652
  • [38f1e2793c] - (SEMVER-MAJOR) build: remove systemtap support (Ben Noordhuis) #43651
  • [2849283c4c] - (SEMVER-MAJOR) crypto: remove non-standard webcrypto.Crypto.prototype.CryptoKey (Antoine du Hamel) #42083
  • [a1653ac715] - (SEMVER-MAJOR) crypto: do not allow to call setFips from the worker thread (Sergey Petushkov) #43624
  • [fd36a8dadb] - (SEMVER-MAJOR) deps: update llhttp to 8.1.0 (Paolo Insogna) #44967
  • [89ecdddaab] - (SEMVER-MAJOR) deps: bump minimum ICU version to 71 (Michaël Zasso) #44741
  • [66fe446efd] - (SEMVER-MAJOR) deps: V8: cherry-pick 0cccb6f27d78 (Michaël Zasso) #44741
  • [88ed027d57] - (SEMVER-MAJOR) deps: V8: cherry-pick 7ddb8399f9f1 (Michaël Zasso) #44741
  • [26c651c34e] - (SEMVER-MAJOR) deps: V8: cherry-pick 1b3a4f0c34a1 (Michaël Zasso) #44741
  • [c8ff2dfd11] - (SEMVER-MAJOR) deps: V8: cherry-pick b161a0823165 (Michaël Zasso) #44741
  • [7a8fa2d517] - (SEMVER-MAJOR) deps: fix V8 build on Windows with MSVC (Michaël Zasso) #44741
  • [83b0aaa800] - (SEMVER-MAJOR) deps: fix V8 build on SmartOS (Michaël Zasso) #44741
  • [7a952e8ea5] - (SEMVER-MAJOR) deps: silence irrelevant V8 warning (Michaël Zasso) #44741
  • [6bd756d7c6] - (SEMVER-MAJOR) deps: update V8 to 10.7.193.13 (Michaël Zasso) #44741
  • [03fb789fb9] - (SEMVER-MAJOR) events: add null check for the signal of EventTarget (Masashi Hirano) #43153
  • [a4fa526ddc] - (SEMVER-MAJOR) fs: add directory autodetection to fsPromises.symlink() (Livia Medeiros) #42894
  • [bb4891d8d4] - (SEMVER-MAJOR) fs: add validateBuffer to improve error (Hirotaka Tagawa / wafuwafu13) #44769
  • [950a4411fa] - (SEMVER-MAJOR) fs: remove coercion to string in writing methods (Livia Medeiros) #42796
  • [41a6d82968] - (SEMVER-MAJOR) fs: harden fs.readSync(buffer, options) typecheck (LiviaMedeiros) #42772
  • [2275faac2b] - (SEMVER-MAJOR) fs: harden fs.read(params, callback) typecheck (LiviaMedeiros) #42772
  • [29953a0b88] - (SEMVER-MAJOR) fs: harden filehandle.read(params) typecheck (LiviaMedeiros) #42772
  • [4267b92604] - (SEMVER-MAJOR) http: use Keep-Alive by default in global agents (Paolo Insogna) #43522
  • [0324529e0f] - (SEMVER-MAJOR) inspector: introduce inspector/promises API (Erick Wendel) #44250
  • [80270994d6] - (SEMVER-MAJOR) lib: enable global CustomEvent by default (Daeyeon Jeong) #44860
  • [f529f73bd7] - (SEMVER-MAJOR) lib: brand check event handler property receivers (Chengzhong Wu) #44483
  • [6de2673a9f] - (SEMVER-MAJOR) lib: enable global WebCrypto by default (Antoine du Hamel) #42083
  • [73ba8830d5] - (SEMVER-MAJOR) lib: use private field in AbortController (Joyee Cheung) #43820
  • [7dd2f41c73] - (SEMVER-MAJOR) module: runtime deprecate exports double slash maps (Guy Bedford) #44495
  • [22c39b1ddd] - (SEMVER-MAJOR) path: the dot will be added(path.format) if it is not specified in ext (theanarkh) #44349
  • [587367d107] - (SEMVER-MAJOR) perf_hooks: expose webperf global scope interfaces (Chengzhong Wu) #44483
  • [364c0e196c] - (SEMVER-MAJOR) perf_hooks: fix webperf idlharness (Chengzhong Wu) #44483
  • [ada2d053ae] - (SEMVER-MAJOR) process: runtime deprecate coercion to integer in process.exit() (Daeyeon Jeong) #44711
  • [e0ab8dd637] - (SEMVER-MAJOR) process: make process.config read only (Sergey Petushkov) #43627
  • [481a959adb] - (SEMVER-MAJOR) readline: remove question method from InterfaceConstructor (Antoine du Hamel) #44606
  • [c9602ce212] - (SEMVER-MAJOR) src: use new v8::OOMErrorCallback API (Michaël Zasso) #44741
  • [19a70c11e4] - (SEMVER-MAJOR) src: override CreateJob instead of PostJob (Clemens Backes) #44741
  • [fd52c62bee] - (SEMVER-MAJOR) src: use V8_ENABLE_SANDBOX macro (Michaël Zasso) #44741
  • [c10988db44] - (SEMVER-MAJOR) src: use non-deprecated V8 inspector API (Michaël Zasso) #44741
  • [3efe901dd6] - (SEMVER-MAJOR) src: update NODE_MODULE_VERSION to 111 (Michaël Zasso) #44741
  • [77e585657f] - (SEMVER-MAJOR) src: turn embedder api overload into default argument (Alena Khineika) #43629
  • [dabda03ea9] - (SEMVER-MAJOR) src: per-environment time origin value (Chengzhong Wu) #43781
  • [2e49b99cc2] - (SEMVER-MAJOR) src,test: disable freezing V8 flags on initialization (Clemens Backes) #44741
  • [2b32985c62] - (SEMVER-MAJOR) stream: use null for the error argument (Luigi Pinca) #44312
  • [36805e8524] - (SEMVER-MAJOR) test: adapt test-repl for V8 update (Michaël Zasso) #44741
  • [96ef25793d] - (SEMVER-MAJOR) test: adapt test-repl-pretty-*stack to V8 changes (Michaël Zasso) #44741
  • [71c193e581] - (SEMVER-MAJOR) test: adapt to new JSON SyntaxError messages (Michaël Zasso) #44741
  • [b5f1564880] - (SEMVER-MAJOR) test: rename always-opt flag to always-turbofan (Michaël Zasso) #44741
  • [1acf0339dd] - (SEMVER-MAJOR) test: fix test-hash-seed for new V8 versions (Michaël Zasso) #44741
  • [57ff476c33] - (SEMVER-MAJOR) test: remove duplicate test (Luigi Pinca) #44051
  • [77def91bf9] - (SEMVER-MAJOR) tls,http2: send fatal alert on ALPN mismatch (Tobias Nießen) #44031
  • [4860ad99b9] - (SEMVER-MAJOR) tools: update V8 gypfiles for 10.7 (Michaël Zasso) #44741
  • Semver-Minor Commits:
  • [af0921d877] - (SEMVER-MINOR) esm: add --import flag (Moshe Atlow) #43942
  • [0633e9a0b5] - (SEMVER-MINOR) lib: add diagnostics channel for process and worker (theanarkh) #44045
  • [ca5be26b31] - (SEMVER-MINOR) src: add support for externally shared js builtins (Michael Dawson) #44376
  • [e86a638305] - (SEMVER-MINOR) src: add initial shadow realm support (Chengzhong Wu) #42869
  • [71ca6d7d6a] - (SEMVER-MINOR) util: add maxArrayLength option to Set and Map (Kohei Ueno) #43576
  • Semver-Patch Commits:
  • [78508028e3] - bootstrap: generate bootstrapper arguments in BuiltinLoader (Joyee Cheung) #44488
  • [5291096ca2] - bootstrap: check more metadata when loading the snapshot (Joyee Cheung) #44132
  • [d0f73d383d] - build: go faster, drop -fno-omit-frame-pointer (Ben Noordhuis) #44452
  • [214354fc9f] - crypto: fix webcrypto HMAC "get key length" in deriveKey and generateKey (Filip Skokan) #44917
  • [40a0757b21] - crypto: remove webcrypto HKDF and PBKDF2 default-applied lengths (Filip Skokan) #44945
  • [eeec3eb16a] - crypto: simplify webcrypto ECDH deriveBits (Filip Skokan) #44946
  • [0be1c57281] - deps: V8: cherry-pick c2792e58035f (Jiawen Geng) #44961
  • [488474618c] - deps: V8: cherry-pick c3dffe6e2bda (Michaël Zasso) #44958
  • [34ba631a0b] - deps: V8: cherry-pick e7f0f26f5ef3 (Michaël Zasso) #44958
  • [690a837f4f] - deps: V8: cherry-pick 3d59a3c2c164 (Michaël Zasso) #44958
  • [bab8b3aad6] - deps: V8: cherry-pick 8b8703953616 (Michaël Zasso) #44958
  • [37e5152245] - doc: add notable changes to latest v18.x release changelog (Danielle Adams) #44996
  • [19a909902a] - doc: deprecate url.parse() (Rich Trott) #44919
  • [6686d9000b] - doc: fix backticks in fs API docs (Livia Medeiros) #44962
  • [46a3afb579] - doc: graduate webcrypto to stable (Filip Skokan) #44897
  • [6e3c55cc35] - doc: fix v16.17.1 security release changelog (Ruy Adorno) #44759
  • [77cb88b91c] - doc: mark --import as experimental (Moshe Atlow) #44067
  • [46dcfb3c7b] - doc,crypto: update webcrypto docs for global access (Filip Skokan) #44723
  • [f594cc85b7] - esm: remove specifier resolution flag (Geoffrey Booth) #44859
  • [3c040348fe] - Revert "esm: convert resolve hook to synchronous" (Jacob Smith) #43526
  • [90b634a5a5] - esm: convert resolve hook to synchronous (Jacob Smith) #43363
  • [7c06eab1dc] - Revert "http: do not leak error listeners" (Luigi Pinca) #44921
  • [464d1c1558] - lib: reset RegExp statics before running user code (Antoine du Hamel) #43741
  • [15f10515e3] - module: fix segment deprecation for imports field (Guy Bedford) #44883
  • [7cdf745fdd] - perf_hooks: convert maxSize to IDL value in setResourceTimingBufferSize (Chengzhong Wu) #44902
  • [be525d7d04] - src: consolidate exit codes in the code base (Joyee Cheung) #44746
  • [d5ce285c8b] - src: refactor BaseObject methods (Joyee Cheung) #44796
  • [717465433c] - src: create BaseObject with node::Realm (Chengzhong Wu) #44348
  • [45f2258f74] - src: restore IS_RELEASE to 0 (Bryan English) #44758
  • [1f54fc25cb] - src: use automatic memory mgmt in SecretKeyGen (Tobias Nießen) #44479
  • [7371d335ac] - src: use V8 entropy source if RAND_bytes() != 1 (Tobias Nießen) #44493
  • [81d9cdb8cd] - src: introduce node::Realm (Chengzhong Wu) #44179
  • [ad41c919df] - src: remove v8abbr.h (Tobias Nießen) #44402
  • [fddc701d3c] - src: support diagnostics channel in the snapshot (Joyee Cheung) #44193
  • [d70aab663c] - src: support WeakReference in snapshot (Joyee Cheung) #44193
  • [4ca398a617] - src: iterate over base objects to prepare for snapshot (Joyee Cheung) #44192
  • [8b0e5b19bd] - src: fix cppgc incompatibility in v8 (Shelley Vohr) #43521
  • [3fdf6cfad9] - stream: fix size function returned from QueuingStrategies (Daeyeon Jeong) #44867
  • [331088f4a4] - Revert "tools: refactor tools/license2rtf to ESM" (Richard Lau) #43214
  • [30cb1bf8b8] - tools: refactor tools/license2rtf to ESM (Feng Yu) #43101
  • [a3ff4bfc66] - url: revert "validate ipv4 part length" (Antoine du Hamel) #42940
  • [87d0d7a069] - url: validate ipv4 part length (Yagiz Nizipli) #42915
  • [5b1bcf82f1] - vm: make ContextifyContext a BaseObject (Joyee Cheung) #44796

New in Node.js 16.18.0 LTS (Oct 14, 2022)

  • Notable changes:
  • [1cc050eaa8] - (SEMVER-MINOR) assert: add getCalls and reset to callTracker (Moshe Atlow) #44191
  • [e5c9975f11] - (SEMVER-MINOR) crypto: allow zero-length secret KeyObject (Filip Skokan) #44201
  • [317cd051ce] - (SEMVER-MINOR) crypto: allow zero-length IKM in HKDF and in webcrypto PBKDF2 (Filip Skokan) #44201
  • [f80bdc5ef3] - (SEMVER-MINOR) doc: deprecate modp1, modp2, and modp5 groups (Tobias Nießen) #44588
  • [8398e98b1b] - (SEMVER-MINOR) http: make idle http parser count configurable (theanarkh) #43974
  • [2cd2f56962] - (SEMVER-MINOR) http: throw error on content-length mismatch (sidwebworks) #44378
  • [6be761e8a9] - (SEMVER-MINOR) lib: add diagnostics channel for process and worker (theanarkh) #44045
  • [1400796cef] - (SEMVER-MINOR) net,tls: pass a valid socket on tlsClientError (Daeyeon Jeong) #44021
  • [092239a7f1] - (SEMVER-MINOR) net: add local family (theanarkh) #43975
  • [381e11e18e] - (SEMVER-MINOR) report: expose report public native apis (Chengzhong Wu) #44255
  • [2ba547aa5b] - (SEMVER-MINOR) src: expose environment RequestInterrupt api (Chengzhong Wu) #44362
  • [6ed3367155] - (SEMVER-MINOR) stream: add ReadableByteStream.tee() (Daeyeon Jeong) #44505
  • [0fbedac6ce] - (SEMVER-MINOR) test_runner: add before/after/each hooks (Moshe Atlow) #43730
  • [70563b53c5] - (SEMVER-MINOR) util: add maxArrayLength option to Set and Map (Kohei Ueno) #43576
  • More detailed information on each of the vulnerabilities can be found in September 22nd 2022 Security Releases blog post.
  • Commits:
  • [1cc050eaa8] - (SEMVER-MINOR) assert: add getCalls and reset to callTracker (Moshe Atlow) #44191
  • [2e87cdd1e6] - benchmark: fix startup benchmark (Evan Lucas) #44727
  • [29c0f9ef30] - benchmark: add stream destroy benchmark (SindreXie) #44533
  • [f01bb58c1e] - bootstrap: update comments in bootstrap/node.js (Joyee Cheung) #44726
  • [db151e182f] - bootstrap: stop delaying instantiation of maps in per-context scripts (Darshan Sen) #42934
  • [f700074c57] - buffer: fix atob input validation (Austin Kelleher) #42662
  • [e10095a759] - build: update timezone-update.yml (Alex) #44717
  • [bec2ede687] - build: remove redundant entry in crypto (Jiawen Geng) #44604
  • [7b3a2c3353] - build: rewritten the Android build system (BuShe Pie) #44207
  • [e96bb14942] - build: add --libdir flag to configure (Stephen Gallagher) #44361
  • [2a4491b34d] - build: added NINJA env to customize ninja binary (Jeff Dickey) #44293
  • [aaad7a64b4] - build: enable pointer authentication for branch protection on arm64 (Jeremiah Gowdy) #43200
  • [041bb54143] - build: add workflow to label flaky-test platform (Rafael Gonzaga) #44042
  • [58d85c1109] - build: optimized and fixed building configuration to Android (BuShe) #44016
  • [5cd8b7bc8b] - build: allow test-internet on forks if not scheduled (Rich Trott) #44073
  • [9698be9347] - build: skip test-internet run on forks (Rich Trott) #44054
  • [25e6f48e4a] - child_process: remove lookup of undefined property (Colin Ihrig) #44766
  • [a3bdd07321] - cluster: fix cluster rr distribute error (theanarkh) #44202
  • [317cd051ce] - (SEMVER-MINOR) crypto: allow zero-length IKM in HKDF and in webcrypto PBKDF2 (Filip Skokan) #44201
  • [e5c9975f11] - (SEMVER-MINOR) crypto: allow zero-length secret KeyObject (Filip Skokan) #44201
  • [7e705d8d74] - crypto: fix webcrypto deriveBits validations (Filip Skokan) #44173
  • [7ad2a268b9] - crypto: fix webcrypto EC key namedCurve validation errors (Filip Skokan) #44172
  • [2c938d73ff] - crypto: fix webcrypto operation errors to be OperationError (Filip Skokan) #44171
  • [a6e2cb40a6] - crypto: fix webcrypto generateKey() AES key length validation error (Filip Skokan) #44170
  • [7e07cce24b] - crypto: use EVP_PKEY_CTX_set_dsa_paramgen_q_bits when available (David Benjamin) #44561
  • [1fc6394741] - crypto: restrict PBKDF2 args to signed int (Tobias Nießen) #44575
  • [9a52ee7577] - crypto: handle invalid prepareAsymmetricKey JWK inputs (Filip Skokan) #44475
  • [7100baee40] - crypto: use actual option name in error message (Tobias Nießen) #44455
  • [579e066c3a] - crypto: add digest name to INVALID_DIGEST errors (Tobias Nießen) #44468
  • [566d80f622] - crypto: improve RSA-PSS digest error messages (Tobias Nießen) #44307
  • [f717c1e06a] - debugger: decrease timeout used to wait for the port to be free (Joyee Cheung) #44359
  • [0f2fcaf771] - deps: update to ngtcp2 0.8.1 and nghttp3 0.7.0 (Tobias Nießen) #44622
  • [1a8aada69d] - deps: update corepack to 0.14.1 (Node.js GitHub Bot) #44704
  • [e4f18b4f34] - deps: update ngtcp2 update instructions (Tobias Nießen) #44619
  • [21b5ab1494] - deps: upgrade npm to 8.19.2 (npm team) #44632
  • [916b319e7a] - deps: update to uvwasi 0.0.13 (Colin Ihrig) #44524
  • [67cbbcc902] - deps: update corepack to 0.14.0 (Node.js GitHub Bot) #44509
  • [9f14dc1a8f] - deps: update Acorn to v8.8.0 (Michaël Zasso) #44437
  • [1811a6aaa8] - deps: update icu tzdata to 2022b (Matías Zúñiga) #44283
  • [0c4953cbd1] - deps: update undici to 5.9.1 (Node.js GitHub Bot) #44319
  • [8a921fea74] - deps: upgrade npm to 8.19.1 (npm team) #44486
  • [763a63c14b] - deps: update corepack to 0.13.0 (Node.js GitHub Bot) #44318
  • [fdb699c84a] - deps: upgrade npm to 8.18.0 (npm team) #44263
  • [2a44872f96] - deps: update corepack to 0.12.3 (Node.js GitHub Bot) #44229
  • [48967e4b34] - deps: upgrade npm to 8.17.0 (npm team) #44205
  • [0484122f71] - deps: update undici to 5.8.2 (Node.js GitHub Bot) #44187
  • [e404ac7eed] - deps: update undici to 5.8.1 (Node.js GitHub Bot) #44158
  • [9a5ee5e9e3] - deps: update corepack to 0.12.2 (Node.js GitHub Bot) #44159
  • [3657cb277b] - deps: remove unnecessary file (Brian White) #44133
  • [d66a807596] - deps: upgrade npm to 8.16.0 (npm team) #44119
  • [ec998be61c] - deps: upgrade npm to 8.15.1 (npm team) #44013
  • [e9e856ae95] - deps: upgrade base64 to dc6a41ce36e (Brian White) #44032
  • [8ea9a71b15] - deps,src: use SIMD for normal base64 encoding (Brian White) #39775
  • [969a12be4b] - doc: remove "currently" and comma splice from child_process.md (Rich Trott) #44789
  • [5e4a2e94a1] - doc: mention git node backport (RafaelGSS) #44764
  • [618c9c8260] - doc: ensure to revert node_version changes (Rafael Gonzaga) #44760
  • [e0fe11c189] - doc: fix description for napi_get_cb_info() in n-api.md (Daeyeon Jeong) #44761
  • [895719da65] - doc: fix v16.17.1 security release changelog (Ruy Adorno) #44759
  • [fe832a0647] - doc: update the deprecation for exit code to clarify its scope (Daeyeon Jeong) #44714
  • [3872abd9a6] - doc: update guidance for adding new modules (Michael Dawson) #44576
  • [f381a1e86a] - doc: add registry number for Electron 22 (Keeley Hammond) #44748
  • [8d3cb6c08a] - doc: include code examples for webstreams consumers (Lucas Santos) #44387
  • [9e83c00e0b] - doc: mention where to push security commits (RafaelGSS) #44691
  • [bc9f8d24ce] - doc: remove extra space on threadpool usage (Connor Burton) #44734
  • [3e38ba53cc] - doc: make legacy banner slightly less bright (Rich Trott) #44665
  • [0f88588f52] - doc: improve building doc for Windows Powershell (Brian Muenzenmeyer) #44625
  • [5ee0127540] - doc: maintain only one list of MODP groups (Tobias Nießen) #44644
  • [6881ecb0e2] - doc: add legendecas to TSC list (Michael Dawson) #44662
  • [3614f5ace3] - doc: remove comma in README.md (Taha-Chaudhry) #44599
  • [c9af43616c] - doc: use serial comma in report docs (Daeyeon Jeong) #44608
  • [ff9ef61646] - doc: use serial comma in stream docs (Daeyeon Jeong) #44609
  • [90eaae3ef1] - doc: remove empty line in YAML block (Claudio Wunder) #44617
  • [f80bdc5ef3] - (SEMVER-MINOR) doc: deprecate modp1, modp2, and modp5 groups (Tobias Nießen) #44588
  • [9fac6dd1c1] - doc: remove old OpenSSL ENGINE constants (Tobias Nießen) #44589
  • [53543c6d81] - doc: fix heading levels for test runner hooks (Fabian Meyer) #44603
  • [2084ad61a7] - doc: fix errors in http.md (Luigi Pinca) #44587
  • [cc55e84ddc] - doc: fix vm.Script createCachedData example (Chengzhong Wu) #44487
  • [8187f03834] - doc: mention how to get commit release (Rafael Gonzaga) #44572
  • [d068978933] - doc: fix link in process.md (Antoine du Hamel) #44594
  • [0747facb63] - doc: do not use weak MODP group in example (Tobias Nießen) #44585
  • [e26d95ef9a] - doc: remove ebpf from supported tooling list (Rafael Gonzaga) #44549
  • [9d24c7a8c7] - doc: emphasize that createCipher is never secure (Tobias Nießen) #44538
  • [6d881b8611] - doc: document attribute Script.cachedDataRejected (Chengzhong Wu) #44451
  • [d846e5bac5] - doc: move policy docs to the permissions scope (Rafael Gonzaga) #44222
  • [5c721a33c3] - doc: add performance note to --enable-source-maps docs (Saurabh Daware) #43817
  • [1998bc80b5] - doc: fix release guide example consistency (Ruy Adorno) #44385
  • [7b691729b1] - doc: note on release guide to update main branch (Ruy Adorno) #44384
  • [7ec097fa99] - doc: mention cherry-pick edge-case on release (RafaelGSS) #44408
  • [4a4025181c] - doc: fix spacing issue in --build-snapshot help text (Shohei YOSHIDA) #44435
  • [a5906a09dc] - doc: apply scroll-margin-top to h2, h3 elements (metonym) #44414
  • [0e99139df4] - doc: use serial comma in addons docs (Tobias Nießen) #44482
  • [8ea3e6f839] - doc: do not use "Returns:" for crypto.constants (Tobias Nießen) #44481
  • [a1dbe4bc79] - doc: add history for net.createServer() options (Luigi Pinca) #44326
  • [eb90d650d4] - doc: fix typo in test runner code examples (Moshe Atlow) #44351
  • [17c5b978a5] - doc: add daeyeon to collaborators (Daeyeon Jeong) #44355
  • [c1458063ee] - doc: fix style of n-api.md (theanarkh) #44377
  • [cf60c6bc74] - doc: add missing imports in events sample code (Brian Evans) #44337
  • [89e5ac9676] - doc: add missing parenthesis in TLSSocket section (Tobias Nießen) #44512
  • [5ac344b2a2] - doc: fix optionality of callback arg of checkPrime (Tobias Nießen) #44311
  • [87cc487e28] - doc: fix typo (Hana) #44262
  • [5978eb1ae8] - doc: add TypeScript execution requirements (Michael Dawson) #44030
  • [42948364e2] - doc: add cola119 to collaborators (cola119) #44248
  • [6196bcedd0] - doc: improved building doc for Android (BuShe) #44166
  • [afe6c87bb5] - doc: add MoLow to collaborators (Moshe Atlow) #44214
  • [82ff3dabc5] - doc: update tags in adding-new-napi-api.md (Chengzhong Wu) #44190
  • [16d6d45ee8] - doc: fix typo in diagnostics_channel (Evan Lucas) #44199
  • [ed1d0c9203] - doc: add Retry CI in collaborator guide (Livia Medeiros) #44130
  • [1022ece43f] - doc: remove unused code in call tracker example (Colin Ihrig) #44127
  • [0c95d45410] - doc: add theanarkh to collaborators (theanarkh) #44131
  • [97ad1a0f03] - doc: clarify tls.tlsSocket.getCipher().version (Adam Majer) #44086
  • [9e10ee70a3] - doc: update repository list in onboarding doc (Rich Trott) #44089
  • [3171d55ef8] - doc: add ErickWendel to collaborators (Erick Wendel) #44088
  • [c9c2114a75] - doc: update collaborator email (Ruy Adorno) #44044
  • [1f9246a24f] - doc: copyedit test.md (Antoine du Hamel) #44061
  • [76e9cf2a46] - doc: add kvakil to triagers (Keyhan Vakil) #43996
  • [5a34c575ad] - doc: clarify part of onboarding guide regarding adding to teams (Darshan Sen) #44024
  • [5d3b8ab2d6] - doc: fix code examples in crypto.md (Antoine du Hamel) #44053
  • [e59c095b23] - doc: claim ABI version for Electron 21 (Keeley Hammond) #44034
  • [88b0d406ac] - doc: remove old reference from crypto/README.md (Tobias Nießen) #44012
  • [58c97216ee] - doc: add missing env vars to man page (cola119) #43492
  • [c07159215d] - doc: list supported MODP groups explicitly (Tobias Nießen) #43986
  • [be2feec1f0] - doc: fix typo in packages.md (Dominic Saadi) #44005
  • [9f7a728168] - doc: fix typos in test.md (Antoine du Hamel) #43997
  • [21a29d4584] - doc: add missing test runner option (Moshe Atlow) #43989
  • [6758c63eba] - doc,crypto: cleanup removed pbkdf2 behaviours (Filip Skokan) #44733
  • [891c4e742f] - doc,inspector: document changes of inspector.close (Chengzhong Wu) #44628
  • [4308d95d1d] - doc,report: document special filenames (Chengzhong Wu) #44257
  • [89c837a48d] - doc,worker: document resourceLimits overrides (Keyhan Vakil) #43992
  • [8f6bd5a402] - doc,worker: deprecate --trace-atomics-wait (Keyhan Vakil) #44093
  • [9593c37984] - errors: refactor to use optional chaining (SindreXie) #44184
  • [7cead5968e] - esm: fix duplicated test (Geoffrey Booth) #44779
  • [5d33dfd787] - esm: do not bind loader hook functions (Antoine du Hamel) #44122
  • [ec7bf32350] - esm: move package config helpers (Geoffrey Booth) #43967
  • [42a91e36dd] - esm,loader: tidy ESMLoader internals (Jacob Smith) #44701
  • [d4e9384ccb] - events: use bitset to save memory (Basit Chonka) #43700
  • [14ec52b949] - fs: don't hard code name in validatePosition() (Colin Ihrig) #44767
  • [83cf979a0d] - fs: fix typo in mkdir example (SergeyTsukanov) #44791
  • [bbbb4460ee] - fs: remove unused option in fs.fstatSync() (Livia Medeiros) #44613
  • [bf217f8029] - fs: add encoding parameter to benchmarks (Yagiz Nizipli) #44278
  • [1308e68a16] - gyp: libnode for ios app embedding (chexiongsheng) #44210
  • [2cee039070] - http: disable chunked encoding when OBS fold is used (Paolo Insogna) #341
  • [2cd2f56962] - (SEMVER-MINOR) http: throw error on content-length mismatch (sidwebworks) #44378
  • [8398e98b1b] - (SEMVER-MINOR) http: make idle http parser count configurable (theanarkh) #43974
  • [fa6183fc7e] - http: add max for http keepalive (theanarkh) #44217
  • [2f87ba4e03] - http: trace http request / response (theanarkh) #44102
  • [5f406a3a53] - http: reuse socket only when it is drained (ywave620) #43902
  • [4e49d5d1b4] - inspector: expose inspector.close on workers (Chengzhong Wu) #44489
  • [c736927b0b] - inspector: prevent integer overflow in open() (Tobias Nießen) #44367
  • [a021f1974a] - lib: fix reference leak (falsandtru) #44499
  • [6be761e8a9] - (SEMVER-MINOR) lib: add diagnostics channel for process and worker (theanarkh) #44045
  • [ac8d2de3b0] - lib: reset RegExp statics before running user code (Antoine du Hamel) #43741
  • [4968ebfbe1] - lib: refactor validateInt32 and validateUint32 (mawaregetsuka) #43071
  • [acff743113] - lib: make validateObject less affected by prototype tampering (Antoine du Hamel) #42929
  • [59be5f89ca] - lib: use safe Promise alternatives when available (Antoine du Hamel) #43476
  • [9dad4b0d11] - lib: add diagnostics channel and perf hooks detail (Danielle Adams) #43984
  • [a99e2368ea] - lib: refactor to avoid prototype pollution (Antoine du Hamel) #43474
  • [121c54718d] - lib: fix diagnostics channel (theanarkh) #44154
  • [594d9436c3] - lib: pass env variables to child process on z/OS (alexcfyung) #42255
  • [9c656c89fc] - lib: add missing env vars to --help (cola119) #43492
  • [3aaa4109a0] - lib: add Promise methods to avoid-prototype-pollution lint rule (Antoine du Hamel) #43849
  • [debf7301aa] - lib,test: fix bug in InternalSocketAddress (Tobias Nießen) #44618
  • [c1d1ed5ae4] - meta: update AUTHORS (Node.js GitHub Bot) #44777
  • [fe91711ed5] - meta: add mailmap entry for dnlup (Rich Trott) #44716
  • [b9deb1e84d] - meta: update AUTHORS (Node.js GitHub Bot) #44705
  • [3564da1c94] - meta: move dnlup to emeriti (dnlup) #44667
  • [af5d49f186] - meta: update test_runner in label-pr-config (Shrujal Shah) #44615
  • [7ac9bafd10] - meta: update AUTHORS (Node.js GitHub Bot) #44591
  • [aa68a31804] - meta: update AUTHORS (Node.js GitHub Bot) #44511
  • [edb0851539] - meta: update AUTHORS (Node.js GitHub Bot) #44422
  • [4bdd4a3641] - meta: update AUTHORS (Node.js GitHub Bot) #44321
  • [dc5478ad12] - meta: update web streams in label-pr-config (Daeyeon Jeong) #44235
  • [d535190086] - meta: update AUTHORS (Node.js GitHub Bot) #44231
  • [24e3ad069d] - meta: update AUTHORS (Node.js GitHub Bot) #44161
  • [1924d897ad] - meta: add codeowner for src/node_snapshot* (Chengzhong Wu) #44113
  • [1988be9acf] - meta: update AUTHORS (Node.js GitHub Bot) #44065
  • [261e5acc6b] - meta: shorten PowerShell snippet for bug-report template (NicoNekoru) #44011
  • [1bb394e691] - module: open stat/readPackage to mutations (Maël Nison) #44537
  • [b665171911] - module: protect against prototype mutation (Antoine du Hamel) #44007
  • [092239a7f1] - (SEMVER-MINOR) net: add local family (theanarkh) #43975
  • [4e0710c3a3] - net: remove unused callback (theanarkh) #44204
  • [1400796cef] - (SEMVER-MINOR) net,tls: pass a valid socket on tlsClientError (Daeyeon Jeong) #44021
  • [adae66cbd4] - node-api: add deprecation code of uncaught exception (Chengzhong Wu) #44624
  • [f38987edcc] - node-api: avoid calling virtual methods in base's dtor (Chengzhong Wu) #44424
  • [5b5d95d312] - node-api: cleanup redundant static modifiers (Chengzhong Wu) #44301
  • [8f3e8bb1fd] - (SEMVER-MINOR) os: add machine method (theanarkh) #44416
  • [3cb28bdde0] - path: change basename() argument from ext to suffix (Rich Trott) #44774
  • [7c5ce59dba] - perf_hooks: fix gc elapsed time (theanarkh) #44058
  • [0e2c2064bb] - report: get stack trace with cross origin contexts (Chengzhong Wu) #44398
  • [5355a46840] - report: fix missing section javascriptHeap on OOMError (Chengzhong Wu) #44398
  • [381e11e18e] - (SEMVER-MINOR) report: expose report public native apis (Chengzhong Wu) #44255
  • [30cfe0a156] - report: print javascript stack on fatal error (Chengzhong Wu) #44242
  • [779761d914] - report: add queue info for udp (theanarkh) #44345
  • [ff34d48d70] - report: skip report if uncaught exception is handled (Chengzhong Wu) #44208
  • [3e8569cfbc] - src: remove ParseIP() in cares_wrap.cc (Tobias Nießen) #44771
  • [916f2c5783] - src: avoid using v8 on Isolate termination (Santiago Gimeno) #44669
  • [4f056b57e9] - src: remove from node_os.cc (Tobias Nießen) #44668
  • [24172ca6fe] - src: avoid copy when creating Blob (Tobias Nießen) #44616
  • [eda1f4531a] - src: make ReqWrap weak (Rafael Gonzaga) #44074
  • [ea2957fe77] - src: make NearHeapLimitCallback() more robust (Joyee Cheung) #44581
  • [eaf2ffc23a] - src: dump isolate stats when process exits (daomingq) #44534
  • [49cf3459d1] - src: rename misleading arg in ClientHelloParser (Tobias Nießen) #44500
  • [2ba547aa5b] - (SEMVER-MINOR) src: expose environment RequestInterrupt api (Chengzhong Wu) #44362
  • [70662f4058] - src: fix cppgc incompatibility in v8 (Shelley Vohr) #43521
  • [91ef427d2d] - src: nest namespace report in namespace node (Chengzhong Wu) #44069
  • [e7d30b4b49] - src: use a typed array internally for process._exiting (Darshan Sen) #43883
  • [d76e7e4e84] - src: improve error handling in CloneSSLCerts (Tobias Nießen) #44410
  • [cae9c5d5c3] - src: fix incorrect comments in crypto (Tobias Nießen) #44470
  • [c0875d1f00] - src: avoid casting std::trunc(... / ...) to size_t (Tobias Nießen) #44467
  • [8f3ed25e08] - src: add error handling to uv_uptime call (Juan José Arboleda) #44386
  • [c7713f19de] - src: remove base64_select_table and base64_table (Tobias Nießen) #44425
  • [a3dc7e18ed] - src: fix uv_err_name memory leak (theanarkh) #44421
  • [a711080061] - src: make Endianness an enum class (Tobias Nießen) #44411
  • [aa80826651] - src: fix ssize_t error from nghttp2.h (Darshan Sen) #44393
  • [6b8ed279fd] - src: trace fs async api (theanarkh) #44057
  • [dd08d6cc57] - src: simplify and optimize GetOpenSSLVersion() (Tobias Nießen) #44395
  • [4c27d77e5c] - src: simplify ECDH::GetCurves() (Tobias Nießen) #44309
  • [a6ce1de833] - src: remove KeyObjectData::symmetric_key_len_ (Tobias Nießen) #44346
  • [f0d841fd7d] - src: fix multiple format string bugs (Tobias Nießen) #44314
  • [2f3502f345] - src: make minor improvements to SecureBuffer (Tobias Nießen) #44302
  • [525fbfd122] - src: use imported namespaces in node_contextify.cc (Juan José) #44299
  • [ac2edbcd8c] - src: refactor to avoid using a moved object (Tobias Nießen) #44269
  • [b186684b22] - src: extract common context embedder tag checks (Chengzhong Wu) #44258
  • [8195c8108c] - src: avoid copying BaseObjectPtrs in loop (Tobias Nießen) #44270
  • [c045faf1ea] - src: fix --heapsnapshot-near-heap-limit error hint (Chengzhong Wu) #44216
  • [4ee8ac3b6b] - src: prevent copying ArrayBufferViewContents (Keyhan Vakil) #44091
  • [8f5fd2f06c] - src: fix to use replacement character (Kohei Ueno) #43999
  • [78c846265f] - src: fix typo in src/README.md (Anna Henningsen) #44009
  • [ec1645b1f0] - src: fix regression that a source marker is lost (cola119) #43086
  • [0c01922ff7] - src: remove dead code in base64_encode (Tobias Nießen) #43979
  • [28911e21b6] - src,buffer: remove unused chars_written parameter (Keyhan Vakil) #44092
  • [37010cb862] - src,fs: refactor duplicated code in fs.readdir (Daeyeon Jeong) #43204
  • [1635503704] - src,test: fix typos (SADIK KUZU) #44110
  • [ffb1c85784] - stream: refactor use es2020 statement (SindreXie) #44533
  • [6ed3367155] - (SEMVER-MINOR) stream: add ReadableByteStream.tee() (Daeyeon Jeong) #44505
  • [14c7f4a290] - test: update WPT runner (Filip Skokan) #43455
  • [4368acd01a] - test: don't clobber RegExp.$_ on startup (Ben Noordhuis) #44864
  • [5854abc176] - test: use async/await in test-debugger-auto-resume (samyuktaprabhu) #44675
  • [a7666abe31] - test: migrated from Promise chains to Async/Await (Rathi N Das) #44674
  • [5bed2d1f46] - test: change promises to async/await in test-debugger-backtrace.js (Juliet Zhang) #44677
  • [f630881f9b] - test: use async/await in test-debugger-sb-before-load (Hope Olaidé) #44697
  • [fada3a2ce7] - test: add extra tests for basename with ext option (Connor Burton) #44772
  • [9386c8581c] - test: refactor to async/await (Divya Mohan) #44694
  • [af2aa5be45] - test: modify test-debugger-custom-port.js to use async-await (Priya Shastri) #44680
  • [e9e130925c] - test: update test-debugger-breakpoint-exists.js to use async/await (Archana Kamath) #44682
  • [510365a036] - test: use async/await in test-debugger-preserve-breaks (poorvitusam) #44696
  • [2baa3c3ce5] - test: use async/await in test-debugger-profile (surbhirjain) #44684
  • [ffc4fadf5e] - test: change the promises to async/await in test-debugger-exec-scope.js (Ankita Khiratkar) #44685
  • [8b8d18ab4e] - test: verify napi_remove_wrap with napi_delete_reference (Chengzhong Wu) #44754
  • [863361928e] - test: change promises to async/await (Madhulika Sharma) #44683
  • [2e3aa39c94] - test: use async/await in test-debugger-invalid-args (Nupur Chauhan) #44678
  • [095cb7eba1] - test: update test-debugger-low-level to use await/async (Meghana Ramesh) #44688
  • [2752d7c22a] - test: check that sysconf returns a positive value (Tobias Nießen) #44666
  • [fc1edaf0d7] - test: change promise to async/await in debugger-watcher (“Pooja) #44687
  • [aae8ff6ace] - test: fix test-performance-measure (smitley) #44637
  • [f13e06ab85] - test: improve lib/readline.js coverage (MURAKAMI Masahiko) #42686
  • [a46dd370d7] - test: fix test-repl not validating leaked globals properly (Antoine du Hamel) #44640
  • [31f809acca] - test: ignore stale process cleanup failures on Windows (Joyee Cheung) #44480
  • [370b0ec5a1] - test: use python3 instead of python (Luigi Pinca) #44545
  • [88dfd50079] - test: fix DebugSymbolsTest.ReqWrapList on PPC64LE (Daniel Bevenius) #44341
  • [371804752a] - test: add more cases for parse-encoding (Tony Gorez) #44427
  • [0c76e01876] - test: split report OOM tests (Joyee Cheung) #44389
  • [5af3a5d37e] - test: avoid race in file write stream handle tests (Joyee Cheung) #44380
  • [edb3335ff2] - test: deflake child process exec timeout tests (Joyee Cheung) #44390
  • [c3429ab2e3] - test: make the vm timeout escape tests more lenient (Joyee Cheung) #44433
  • [b5901a0c26] - test: split heap prof tests (Joyee Cheung) #44388
  • [a139f5d4e0] - test: fix multiple incorrect mustNotCall() uses (Tobias Nießen) #44022
  • [6990833a4c] - test: raise sleep times in child process tests (Joyee Cheung) #44375
  • [b2b9de98a2] - test: remove duplicate test (Luigi Pinca) #44313
  • [c397bb93ad] - test: make tmpdir.js importable from esm (Geoffrey Booth) #44322
  • [03b8cb8c4c] - test: deflake test-diagnostics-channel-net (Keyhan Vakil) #44144
  • [73cd9dd860] - test: add coverage for invalid RSA-PSS digests (Tobias Nießen) #44271
  • [003ab59fcc] - test: move "errors" test to "parallel" (Michaël Zasso) #44233
  • [4485adeaeb] - test: mark connection leak test flaky on IBM i (Richard Lau) #44215
  • [8725a87fd9] - test: use mustSucceed instead of mustCall with assert.ifError (MURAKAMI Masahiko) #44196
  • [41ea42bd82] - test: update hr-time web platform tests (Yagiz Nizipli) #44100
  • [dd4db8e724] - test: update console web platform tests (Yagiz Nizipli) #44100
  • [940e31784e] - test: move tests with many workers to sequential (Keyhan Vakil) #44139
  • [03c0819dd9] - test: deflake gc-http-client tests by restricting number of requests (Nick Sia) #44146
  • [3d0a3fe246] - test: move test-vm-break-on-sigint to sequential (Keyhan Vakil) #44140
  • [4cfa9bac90] - test: remove test-http-client-response-timeout flaky designation (Luigi Pinca) #44145
  • [2f036c857e] - test: s390x z15 accelerated zlib fixes (Adam Majer) #44117
  • [5ed4f431cf] - test: tune down parallelism for some flaky tests (Keyhan Vakil) #44090
  • [ec7b932945] - test: fix internet/test-inspector-help-page (Daeyeon Jeong) #44025
  • [dff6615bbe] - test: remove test-gc-http-client-timeout from flaky list (Feng Yu) #43971
  • [6c3228361b] - test: reduce loop times for preventing test from timeout (theanarkh) #43981
  • [a33daadc41] - test: fix test-cluster-concurrent-disconnect (Daeyeon Jeong) #43961
  • [e009a35d6e] - test: change misleading variable name (Tobias Nießen) #43990
  • [72fb0133f5] - test: use common.mustNotMutateObjectDeep() in fs tests (LiviaMedeiros) #43819
  • [4ebb3ef508] - test,crypto: update WebCryptoAPI WPT (Filip Skokan) #44223
  • [9a469bef2c] - test_runner: include stack of uncaught exceptions (Moshe Atlow) #44614
  • [56dc4b3848] - test_runner: fix test runner hooks failure stack (Moshe Atlow) #44284
  • [cefb0586d8] - test_runner: refactor to use more primordials (Antoine du Hamel) #44062
  • [64b07a9d14] - test_runner: verbous error when entire test tree is canceled (Moshe Atlow) #44060
  • [bfdee2597a] - test_runner: empty pending tests queue post running (Moshe Atlow) #44059
  • [0fbedac6ce] - (SEMVER-MINOR) test_runner: add before/after/each hooks (Moshe Atlow) #43730
  • [6ad7a86af6] - test_runner: fix top level describe queuing (Moshe Atlow) #43998
  • [a2881b7a85] - test_runner: graceful termination on --test only (Moshe Atlow) #43977
  • [72a8faa087] - test_runner: validate concurrency option (Antoine du Hamel) #43976
  • [8118fc2980] - tls: fix out-of-bounds read in ClientHelloParser (Tobias Nießen) #44580
  • [b53ea08d7b] - tls: remove SecureContext setFreeListLength (Tobias Nießen) #44300
  • [c35a0713b0] - tls: use OpenSSL constant for client random size (Tobias Nießen) #44305
  • [e4b4b370a1] - tls: use logical OR operator (Mohammed Keyvanzadeh) #44236
  • [18e1766346] - tools: increase timeout of running WPT (Joyee Cheung) #44574
  • [006d7f1f2a] - tools: refactor deprecated format in no-unescaped-regexp-dot (Madhuri) #44763
  • [c6289d632a] - tools: update eslint-check.js to object style (andiemontoyeah) #44706
  • [b06a78e85d] - tools: update eslint to 8.24.0 (Node.js GitHub Bot) #44778
  • [ce3397223b] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #44776
  • [1079c8099d] - tools: add update-llhttp.sh (Paolo Insogna) #44652
  • [0b3f49c749] - tools: fix typo in update-nghttp2.sh (Luigi Pinca) #44664
  • [d190e716ad] - tools: add timezone update workflow (Lenvin Gonsalves) #43988
  • [b6c232f288] - tools: update eslint to 8.23.1 (Node.js GitHub Bot) #44639
  • [2c0d9ffb65] - tools: update lint-md-dependencies to @rollup/[email protected] (Node.js GitHub Bot) #44638
  • [f05ce2bff5] - tools: update lint-md-dependencies to @rollup/[email protected] (Node.js GitHub Bot) #44590
  • [657fa792f4] - tools: increase timeout of running WPT (Joyee Cheung) #44574
  • [602ecaa42f] - tools: fix shebang to use python3 by default (Himself65) #44531
  • [bad8ecc27f] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #44510
  • [255023f80a] - tools: don't use f-strings in test.py (Santiago Gimeno) #44407
  • [b3629daad7] - tools: update doc to [email protected] (Node.js GitHub Bot) #44370
  • [2891d9fd0a] - tools: update eslint to 8.23.0 (Node.js GitHub Bot) #44419
  • [0bf57df711] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #44320
  • [9391ebdc0d] - tools: update ESLint to 8.22.0 (Luigi Pinca) #44243
  • [df49c426f6] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #44244
  • [e42227ad3e] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #44230
  • [1b6d294e78] - tools: update eslint to 8.21.0 (Node.js GitHub Bot) #44162
  • [f3dcaaf087] - tools: update lint-md-dependencies to @rollup/[email protected] (Node.js GitHub Bot) #44160
  • [5d5971cda7] - tools: update undici CPE in vuln checking script (Facundo Tuesca) #44128
  • [606b0a08a8] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #44064
  • [8a8c7cf6b5] - tools: add verbose flag to find-inactive-collaborators (Rich Trott) #43964
  • [cb6b57f777] - trace_events: add example (theanarkh) #43253
  • [be863b7a97] - tty: fix TypeError when stream is closed (Antoine du Hamel) #43803
  • [a08cdead0b] - typings: add JSDoc for internal/validators (Yagiz Nizipli) #44181
  • [a6a655de35] - util: increase robustness with primordials (Jordan Harband) #41212
  • [70563b53c5] - (SEMVER-MINOR) util: add maxArrayLength option to Set and Map (Kohei Ueno) #43576
  • [0beedb7f1c] - v8: add setHeapSnapshotNearHeapLimit (theanarkh) #44420
  • [8d259e6086] - win: fix fs.realpath.native for long paths (StefanStojanovic) #44536

New in Node.js 18.11.0 Current (Oct 14, 2022)

  • Notable changes:
  • watch mode (experimental)
  • Running in 'watch' mode using node --watch restarts the process when an imported file is changed.
  • Contributed by Moshe Atlow in #44366
  • Other notable changes:
  • fs:
  • (SEMVER-MINOR) add FileHandle.prototype.readLines (Antoine du Hamel) #42590
  • http:
  • (SEMVER-MINOR) add writeEarlyHints function to ServerResponse (Wing) #44180
  • http2:
  • (SEMVER-MINOR) make early hints generic (Yagiz Nizipli) #44820
  • lib:
  • (SEMVER-MINOR) refactor transferable AbortSignal (flakey5) #44048
  • src:
  • (SEMVER-MINOR) add detailed embedder process initialization API (Anna Henningsen) #44121
  • util:
  • (SEMVER-MINOR) add default value option to parsearg (Manuel Spigolon) #44631
  • Commits:
  • [27b4b782ce] - benchmark: add vm context global proxy benchmark (Joyee Cheung) #44796
  • [4e82521af1] - bootstrap: update comments in bootstrap/node.js (Joyee Cheung) #44726
  • [725be0ea50] - buffer: initialize TextDecoder once on blob.text() (Yagiz Nizipli) #44787
  • [653c3b1f62] - buffer,lib: update atob to align wpt's base64.json (Khaidi Chu) #43901
  • [37808b3355] - build: convert V8 test JSON to JUnit XML (Keyhan Vakil) #44049
  • [f92871a52b] - build: update timezone-update.yml (Alex) #44717
  • [f85d3471ee] - child_process: remove lookup of undefined property (Colin Ihrig) #44766
  • [2f5f41c315] - (SEMVER-MINOR) cli: add --watch (Moshe Atlow) #44366
  • [7fb9cc70f3] - cluster: use inspector utils (Moshe Atlow) #44592
  • [99a2c16040] - crypto: add causes to applicable webcrypto's OperationError (Filip Skokan) #44890
  • [e0fbba0939] - crypto: use EVP_PKEY_CTX_set_dsa_paramgen_q_bits when available (David Benjamin) #44561
  • [a90386b0a1] - deps: update undici to 5.11.0 (Node.js GitHub Bot) #44929
  • [aa68d40fbf] - deps: update corepack to 0.14.2 (Node.js GitHub Bot) #44775
  • [c892f35815] - deps: V8: fix debug build (Ben Noordhuis) #44392
  • [91514393dc] - dns: support dns module in the snapshot (Joyee Cheung) #44633
  • [ce3cb29319] - doc: add fsPromises.readFile() example (Tierney Cyren) #40237
  • [97df9b84a2] - doc: improve building doc for Android (BuShe Pie) #44888
  • [8c69da893b] - doc: mention corepack prepare supports tag or range (Michael Rienstra) #44646
  • [842bc64833] - doc: remove Legacy status from querystring (Rich Trott) #44912
  • [ddb5402f5f] - doc: fix label name in collaborator guide (Rich Trott) #44920
  • [d08b024a3d] - doc: fix typo in Node.js 12 changelog (Lorand Horvath) #42880
  • [b6b9c427c5] - doc: move release keys we don't use anymore in README (Rich Trott) #44899
  • [e92b074b32] - doc: fix grammar in dns docs (#44850) (Colin Ihrig) #44850
  • [780144c339] - doc: remove unnecessary leading commas (Colin Ihrig) #44854
  • [6ae9bc8fbc] - doc: add extra step for reporter pre-approval (Rafael Gonzaga) #44806
  • [ccf31d8bca] - doc: add anchor link for --preserve-symlinks (Kohei Ueno) #44858
  • [7c5c19ee54] - doc: update node prefix require.cache example (Simone Busoli) #44724
  • [2a5bce6318] - doc: include last security release date (Vladimir de Turckheim) #44794
  • [4efaf4265c] - doc: remove "currently" and comma splice from child_process.md (Rich Trott) #44789
  • [3627616b40] - doc,crypto: mark experimental algorithms more visually (Filip Skokan) #44892
  • [3c653cf23a] - doc,crypto: add missing CFRG curve algorithms to supported lists (Filip Skokan) #44876
  • [70f55020d3] - doc,crypto: add null length to crypto.subtle.deriveBits (Filip Skokan) #44876
  • [910fbd0ece] - esm: fix duplicated test (Geoffrey Booth) #44779
  • [bc00f3bde1] - fs: fix opts.filter issue in cp async (Tho) #44922
  • [11d1c23fa0] - (SEMVER-MINOR) fs: add FileHandle.prototype.readLines (Antoine du Hamel) #42590
  • [67fb76519a] - fs: improve promise based readFile performance for big files (Ruben Bridgewater) #44295
  • [dc6379bdc2] - fs: don't hard code name in validatePosition() (Colin Ihrig) #44767
  • [eb19b1e97c] - http: be more aggressive to reply 400, 408 and 431 (ywave620) #44818
  • [4c869c8d9e] - (SEMVER-MINOR) http: add writeEarlyHints function to ServerResponse (Wing) #44180
  • [9c7e66478c] - (SEMVER-MINOR) http2: make early hints generic (Yagiz Nizipli) #44820
  • [3f20e5b15c] - (SEMVER-MINOR) lib: refactor transferable AbortSignal (flakey5) #44048
  • [ada7d82b16] - lib: require JSDoc in internal validators code (Rich Trott) #44896
  • [67eaa303af] - lib: add cause to DOMException (flakey5) #44703
  • [0db86ee98e] - meta: update AUTHORS (Node.js GitHub Bot) #44930
  • [2efe4d985b] - meta: label test.js and test.md with test_runner label (Moshe Atlow) #44863
  • [fd9feb3a6c] - meta: update AUTHORS (Node.js GitHub Bot) #44857
  • [a854bb39c9] - node-api: create reference only when needed (Gerhard Stöbich) #44827
  • [fd5c26b8db] - path: change basename() argument from ext to suffix (Rich Trott) #44774
  • [803fbfb168] - process: fix uid/gid validation to avoid crash (Tobias Nießen) #44910
  • [9f2dd48fc3] - src: remove uid_t/gid_t casts (Tobias Nießen) #44914
  • [3abb607f3a] - src: remove UncheckedMalloc(0) workaround (Tobias Nießen) #44543
  • [0606f9298f] - src: deduplicate setting RSA OAEP label (Tobias Nießen) #44849
  • [daf3152f7e] - src: implement GetDetachedness() in MemoryRetainerNode (Joyee Cheung) #44803
  • [7ca77dd4ef] - src: avoid X509_free in loops in crypto_x509.cc (Tobias Nießen) #44855
  • [781ad96227] - src: use OnScopeLeave instead of multiple free() (Tobias Nießen) #44852
  • [b27b336a7a] - src: remove ParseIP() in cares_wrap.cc (Tobias Nießen) #44771
  • [f99f5d3c01] - (SEMVER-MINOR) src: add detailed embedder process initialization API (Anna Henningsen) #44121
  • [281fd7a09a] - src,stream: improve DoWrite() and Write() (ywave620) #44434
  • [a33cc22bf7] - src,worker: fix race of WorkerHeapSnapshotTaker (ywave620) #44745
  • [f300f197da] - stream: handle enqueuing chunks when a pending BYOB pull request exists (Daeyeon Jeong) #44770
  • [9ac029ea11] - test: bump memory limit for abort fatal error (Danielle Adams) #44984
  • [b9b671f25f] - test: debug watch mode inspect (Moshe Atlow) #44861
  • [2308b71d09] - test: don't clobber RegExp.$_ on startup (Ben Noordhuis) #44864
  • [fe91bebb67] - test: loosen test for negative timestamps in test-fs-stat-date (Livia Medeiros) #44707
  • [a080608552] - test: check --test is disallowed in NODE_OPTIONS (Kohei Ueno) #44846
  • [dc2af265d7] - test: improve lib/internal/source_map/source_map.js coverage (MURAKAMI Masahiko) #42771
  • [60a05d6dea] - test: skip some binding tests on IBMi PASE (Richard Lau) #44810
  • [8dacedaa3d] - test: remove unused variable in addon test (Joyee Cheung) #44809
  • [c54cee1c3f] - test: check server status in test-tls-psk-client (Richard Lau) #44824
  • [ee3c6a4dc5] - test: use async/await in test-debugger-exceptions (pete3249) #44690
  • [9f14625fe5] - test: use async/await in test-debugger-help (Chandana) #44686
  • [8033ad846b] - test: update test-debugger-scripts to use await/async (mmeenapriya) #44692
  • [f4f08be384] - test: use await in test-debugger-invalid-json (Anjana Krishnakumar Vellore) #44689
  • [d2f36169f3] - test: use async/await in test-debugger-random-port-with-inspect-port (Monu-Chaudhary) #44695
  • [ddf029725b] - test: use async/await in test-debugger-heap-profiler (Brinda Ashar) #44693
  • [117f068250] - test: use async/await in test-debugger-auto-resume (samyuktaprabhu) #44675
  • [143c428cae] - test: migrated from Promise chains to Async/Await (Rathi N Das) #44674
  • [e609a3309c] - test: change promises to async/await in test-debugger-backtrace.js (Juliet Zhang) #44677
  • [eeabd23ca6] - test: use async/await in test-debugger-sb-before-load (Hope Olaidé) #44697
  • [5c63d1464e] - test: add extra tests for basename with ext option (Connor Burton) #44772
  • [f8b2d7a059] - test: refactor to async/await (Divya Mohan) #44694
  • [9864bde9ab] - test: modify test-debugger-custom-port.js to use async-await (Priya Shastri) #44680
  • [af30823881] - test: upgrade all 1024 bit RSA keys to 2048 bits (Momtchil Momtchev) #44498
  • [0fb669e31f] - test: update test-debugger-breakpoint-exists.js to use async/await (Archana Kamath) #44682
  • [cca253503e] - test: use async/await in test-debugger-preserve-breaks (poorvitusam) #44696
  • [0b2e8b1681] - test: use async/await in test-debugger-profile (surbhirjain) #44684
  • [4db72a65cf] - test: change the promises to async/await in test-debugger-exec-scope.js (Ankita Khiratkar) #44685
  • [56c9c98963] - test: fix test-runner-inspect (Moshe Atlow) #44620
  • [36227ed862] - test: fix watch mode test flake (Moshe Atlow) #44739
  • [3abd71a0ea] - test: deflake watch mode tests (Moshe Atlow) #44621
  • [0c9f38f2be] - test: split watch mode inspector tests to sequential (Moshe Atlow) #44551
  • [d762a34128] - test_runner: add --test-name-pattern CLI flag (Colin Ihrig)
  • [c7ece464a1] - test_runner: remove runtime experimental warning (Colin Ihrig) #44844
  • [3c1e9d41c8] - test_runner: support using --inspect with --test (Moshe Atlow) #44520
  • [4bdef48732] - tools: remove faulty early termination logic from update-timezone.mjs (Darshan Sen) #44870
  • [19d8574996] - tools: fix timezone update tool (Darshan Sen) #44870
  • [ad8b8ae7d3] - tools: update eslint to 8.25.0 (Node.js GitHub Bot) #44931
  • [fd99b17a4d] - tools: make utils.SearchFiles deterministic (Bruno Pitrus) #44496
  • [131adece37] - tools: fix typo in tools/update-authors.mjs (Darshan Sen) #44780
  • [ab22777e65] - tools: refactor deprecated format in no-unescaped-regexp-dot (Madhuri) #44763
  • [3ad0fae89d] - tools: update eslint-check.js to object style (andiemontoyeah) #44706
  • [e9d572a9bd] - tools: update eslint to 8.24.0 (Node.js GitHub Bot) #44778
  • [984b0b4a6c] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #44776
  • [db5aeed702] - (SEMVER-MINOR) util: add default value option to parsearg (Manuel Spigolon) #44631
  • [576ccdf125] - util: increase robustness with primordials (Jordan Harband) #41212

New in Node.js 18.10.0 Current (Sep 29, 2022)

  • Notable changes:
  • doc:
  • (SEMVER-MINOR) deprecate modp1, modp2, and modp5 groups (Tobias Nießen) #44588
  • add legendecas to TSC list (Michael Dawson) #44662
  • move policy docs to the permissions scope (Rafael Gonzaga) #44222
  • gyp:
  • libnode for ios app embedding (chexiongsheng) #44210
  • http:
  • (SEMVER-MINOR) throw error on content-length mismatch (sidwebworks) #44588
  • stream:
  • (SEMVER-MINOR) add ReadableByteStream.tee() (Daeyeon Jeong) #44505
  • Commits:
  • [f497368679] - benchmark: fix startup benchmark (Evan Lucas) #44727
  • [0c9a94684e] - benchmark: add stream destroy benchmark (SindreXie) #44533
  • [9c5c1459a8] - bootstrap: clean up inspector console methods during serialization (Joyee Cheung) #44279
  • [19f67dba8a] - bootstrap: remove unused global parameter in per-context scripts (Joyee Cheung) #44472
  • [9da11426f6] - build: remove redundant entry in crypto (Jiawen Geng) #44604
  • [70898b4e67] - build: rewritten the Android build system (BuShe Pie) #44207
  • [a733f7faac] - Revert "build: go faster, drop -fno-omit-frame-pointer" (Ben Noordhuis) #44566
  • [1315a83333] - build: fix bad upstream merge (Stephen Gallagher) #44642
  • [993bd9b134] - crypto: restrict PBKDF2 args to signed int (Tobias Nießen) #44575
  • [ca5fb67b4e] - deps: update to ngtcp2 0.8.1 and nghttp3 0.7.0 (Tobias Nießen) #44622
  • [8da1d6ebc4] - deps: update corepack to 0.14.1 (Node.js GitHub Bot) #44704
  • [d36c4a3088] - deps: update ngtcp2 update instructions (Tobias Nießen) #44619
  • [7129106aa0] - deps: upgrade npm to 8.19.2 (npm team) #44632
  • [3cc8f4bb56] - deps: update to uvwasi 0.0.13 (Colin Ihrig) #44524
  • [4686579d4b] - dns: remove unnecessary parameter from validateOneOf (Yagiz Nizipli) #44635
  • [729dd95f1f] - dns: refactor default resolver (Joyee Cheung) #44541
  • [6dc038262a] - doc: mention git node backport (RafaelGSS) #44764
  • [fd971f5176] - doc: ensure to revert node_version changes (Rafael Gonzaga) #44760
  • [f274b08f8e] - doc: fix description for napi_get_cb_info() in n-api.md (Daeyeon Jeong) #44761
  • [2502f2353d] - doc: update the deprecation for exit code to clarify its scope (Daeyeon Jeong) #44714
  • [064543d0ae] - doc: update guidance for adding new modules (Michael Dawson) #44576
  • [33a2f17534] - doc: add registry number for Electron 22 (Keeley Hammond) #44748
  • [10a0d75c26] - doc: include code examples for webstreams consumers (Lucas Santos) #44387
  • [4dbe4a010c] - doc: mention where to push security commits (RafaelGSS) #44691
  • [82cb8151ad] - doc: remove extra space on threadpool usage (Connor Burton) #44734
  • [6ef9af2748] - doc: make legacy banner slightly less bright (Rich Trott) #44665
  • [b209c83e66] - doc: improve building doc for Windows Powershell (Brian Muenzenmeyer) #44625
  • [05b17e9250] - doc: maintain only one list of MODP groups (Tobias Nießen) #44644
  • [ec1cbdb69b] - doc: add legendecas to TSC list (Michael Dawson) #44662
  • [9341fb4446] - doc: remove comma in README.md (Taha-Chaudhry) #44599
  • [3dabb44dda] - doc: use serial comma in report docs (Daeyeon Jeong) #44608
  • [226d90a95a] - doc: use serial comma in stream docs (Daeyeon Jeong) #44609
  • [3f710fa636] - doc: remove empty line in YAML block (Claudio Wunder) #44617
  • [4ad1b0abc3] - (SEMVER-MINOR) doc: deprecate modp1, modp2, and modp5 groups (Tobias Nießen) #44588
  • [2d92610525] - doc: remove old OpenSSL ENGINE constants (Tobias Nießen) #44589
  • [03705639c4] - doc: fix heading levels for test runner hooks (Fabian Meyer) #44603
  • [6c557346a7] - doc: fix errors in http.md (Luigi Pinca) #44587
  • [48d944b71c] - doc: fix vm.Script createCachedData example (Chengzhong Wu) #44487
  • [2813323120] - doc: mention how to get commit release (Rafael Gonzaga) #44572
  • [ea7b44d474] - doc: fix link in process.md (Antoine du Hamel) #44594
  • [39b65d2fb7] - doc: do not use weak MODP group in example (Tobias Nießen) #44585
  • [f5549afd90] - doc: remove ebpf from supported tooling list (Rafael Gonzaga) #44549
  • [a3360b1f4f] - doc: emphasize that createCipher is never secure (Tobias Nießen) #44538
  • [4e6f7862ba] - doc: document attribute Script.cachedDataRejected (Chengzhong Wu) #44451
  • [01e584ecab] - doc: move policy docs to the permissions scope (Rafael Gonzaga) #44222
  • [57dac53c22] - doc,crypto: cleanup removed pbkdf2 behaviours (Filip Skokan) #44733
  • [c209bd6fb9] - doc,inspector: document changes of inspector.close (Chengzhong Wu) #44628
  • [9b3b7d6978] - esm,loader: tidy ESMLoader internals (Jacob Smith) #44701
  • [daf63d2fa3] - fs: fix typo in mkdir example (SergeyTsukanov) #44791
  • [85ab2f857f] - fs: remove unused option in fs.fstatSync() (Livia Medeiros) #44613
  • [a6091f5496] - gyp: libnode for ios app embedding (chexiongsheng) #44210
  • [f158656e4c] - (SEMVER-MINOR) http: throw error on content-length mismatch (sidwebworks) #44378
  • [1b160517f5] - inspector: expose inspector.close on workers (Chengzhong Wu) #44489
  • [a2eb55a2c9] - lib: don't match sourceMappingURL in strings (Alan Agius) #44658
  • [2baf532518] - lib: fix reference leak (falsandtru) #44499
  • [d8d34ae6bc] - lib: reset RegExp statics before running user code (Antoine du Hamel) #44247
  • [eb3635184b] - lib,test: fix bug in InternalSocketAddress (Tobias Nießen) #44618
  • [74dc4d198f] - meta: update AUTHORS (Node.js GitHub Bot) #44777
  • [97d2ed7296] - meta: add mailmap entry for dnlup (Rich Trott) #44716
  • [35fbd2cc14] - meta: update AUTHORS (Node.js GitHub Bot) #44705
  • [c5c1bc40a2] - meta: move dnlup to emeriti (dnlup) #44667
  • [c62dfe0427] - meta: update test_runner in label-pr-config (Shrujal Shah) #44615
  • [fe56efd0bc] - meta: update AUTHORS (Node.js GitHub Bot) #44591
  • [4436ffb536] - module: open stat/readPackage to mutations (Maël Nison) #44537
  • [f8ec946c82] - module: exports & imports map invalid slash deprecation (Guy Bedford) #44477
  • [64cb43a2b6] - node-api: add deprecation code of uncaught exception (Chengzhong Wu) #44624
  • [ce1704c2c7] - src: avoid using v8 on Isolate termination (Santiago Gimeno) #44669
  • [3036b85d71] - src: remove from node_os.cc (Tobias Nießen) #44668
  • [29f57b7899] - src: avoid copy when creating Blob (Tobias Nießen) #44616
  • [75cfb13ea6] - src: make ReqWrap weak (Rafael Gonzaga) #44074
  • [c12abb5ece] - src: make NearHeapLimitCallback() more robust (Joyee Cheung) #44581
  • [81ea507e8e] - src: dump isolate stats when process exits (daomingq) #44534
  • [687844822f] - src: consolidate environment cleanup queue (Chengzhong Wu) #44379
  • [3d42aaaac0] - stream: handle a pending pull request from a released reader (Daeyeon Jeong) #44702
  • [73ad9db6c5] - stream: refactor use es2020 statement (SindreXie) #44533
  • [0af6e420b3] - stream: remove abortReason from WritableStreamDefaultController (Daeyeon Jeong) #44540
  • [2f2f8d5821] - (SEMVER-MINOR) stream: add ReadableByteStream.tee() (Daeyeon Jeong) #44505
  • [667e8bf3fb] - stream: fix writableStream.abort() (Daeyeon Jeong) #44327
  • [3112d5dae0] - test: verify napi_remove_wrap with napi_delete_reference (Chengzhong Wu) #44754
  • [b512436841] - test: change promises to async/await (Madhulika Sharma) #44683
  • [858631f720] - test: use async/await in test-debugger-invalid-args (Nupur Chauhan) #44678
  • [6c9ded810c] - test: update test-debugger-low-level to use await/async (Meghana Ramesh) #44688
  • [945aa74e57] - test: check that sysconf returns a positive value (Tobias Nießen) #44666
  • [79f0f48a6f] - test: change promise to async/await in debugger-watcher (“Pooja) #44687
  • [a56cb65bd6] - test: fix addon tests compilation with OpenSSL 1.1.1 (Adam Majer) #44725
  • [8a68a80a06] - test: fix test-performance-measure (smitley) #44637
  • [55de0136b3] - test: improve lib/readline.js coverage (MURAKAMI Masahiko) #42686
  • [a3095d217f] - test: fix test-repl not validating leaked globals properly (Antoine du Hamel) #44640
  • [7db2974692] - test: ignore stale process cleanup failures on Windows (Joyee Cheung) #44480
  • [6c35f338c3] - test: use python3 instead of python (Luigi Pinca) #44545
  • [20e04c6d44] - test: fix DebugSymbolsTest.ReqWrapList on PPC64LE (Daniel Bevenius) #44341
  • [eb25fe73b0] - test: add more cases for parse-encoding (Tony Gorez) #44427
  • [5ab3bc9419] - test_runner: include stack of uncaught exceptions (Moshe Atlow) #44614
  • [752e1472e1] - tls: fix out-of-bounds read in ClientHelloParser (Tobias Nießen) #44580
  • [0cddb0af99] - tools: add update-llhttp.sh (Paolo Insogna) #44652
  • [ef0dc47df9] - tools: fix typo in update-nghttp2.sh (Luigi Pinca) #44664
  • [0df181a5a1] - tools: add timezone update workflow (Lenvin Gonsalves) #43988
  • [dd4348900d] - tools: update eslint to 8.23.1 (Node.js GitHub Bot) #44639
  • [b9cfb71e12] - tools: update lint-md-dependencies to @rollup/[email protected] (Node.js GitHub Bot) #44638
  • [5ae142d7ad] - tools: update gyp-next to v0.13.0 (Jiawen Geng) #44605
  • [5dd86c3faf] - tools: update lint-md-dependencies to @rollup/[email protected] (Node.js GitHub Bot) #44590
  • [caad4748cf] - tools: increase timeout of running WPT (Joyee Cheung) #44574
  • [5db9779f14] - tools: fix shebang to use python3 by default (Himself65) #44531
  • [9aa6a560e9] - v8: add setHeapSnapshotNearHeapLimit (theanarkh) #44420
  • [360b74e94f] - win: fix fs.realpath.native for long paths (StefanStojanovic) #44536

New in Node.js 18.9.1 Current (Sep 23, 2022)

  • Notable changes:
  • The following CVEs are fixed in this release:
  • CVE-2022-32212: DNS rebinding in --inspect on macOS (High)
  • Insufficient fix for macOS devices on v18.5.0
  • CVE-2022-32222: Node 18 reads openssl.cnf from /home/iojs/build/ upon startup on MacOS (Medium)
  • CVE-2022-32213: HTTP Request Smuggling - Flawed Parsing of Transfer-Encoding (Medium)
  • Insufficient fix on v18.5.0
  • CVE-2022-32215: HTTP Request Smuggling - Incorrect Parsing of Multi-line Transfer-Encoding (Medium)
  • Insufficient fix on v18.5.0
  • CVE-2022-35256: HTTP Request Smuggling - Incorrect Parsing of Header Fields (Medium)
  • CVE-2022-35255: Weak randomness in WebCrypto keygen
  • More detailed information on each of the vulnerabilities can be found in September 22nd 2022 Security Releases blog post.
  • llhttp updated to 6.0.10:
  • llhttp is updated to 6.0.10 which includes fixes for the following vulnerabilities.
  • HTTP Request Smuggling - CVE-2022-32213 bypass via obs-fold mechanic (Medium)(CVE-2022-32213 ): The llhttp parser in the http module does not correctly parse and validate Transfer-Encoding headers. This can lead to HTTP Request Smuggling (HRS).
  • HTTP Request Smuggling - Incorrect Parsing of Multi-line Transfer-Encoding (Medium)(CVE-2022-32215): The llhttp parser in the http module does not correctly handle multi-line Transfer-Encoding headers. This can lead to HTTP Request Smuggling (HRS).
  • HTTP Request Smuggling - Incorrect Parsing of Header Fields (Medium)(CVE-35256): The llhttp parser in the http does not correctly handle header fields that are not terminated with CLRF. This can lead to HTTP Request Smuggling (HRS).
  • Commits:
  • [0c2a5723be] - crypto: fix weak randomness in WebCrypto keygen (Ben Noordhuis) nodejs-private/node-private#
  • [ffb6f4d51d] - deps: MacOS - fix location of OpenSSL config file (Michael Dawson) nodejs-private/node-private#345
  • [01bffcdd93] - http: disable chunked encoding when OBS fold is used (Paolo Insogna) nodejs-private/node-private#341
  • [2c379d341d] - src: fix IPv4 non routable validation (RafaelGSS) nodejs-private/node-private#337

New in Node.js 16.17.1 LTS (Sep 23, 2022)

  • Notable changes:
  • The following CVEs are fixed in this release:
  • CVE-2022-32212: DNS rebinding in --inspect on macOS (High)
  • CVE-2022-32213: bypass via obs-fold mechanic (Medium)
  • CVE-2022-35255: Weak randomness in WebCrypto keygen
  • CVE-2022-35256: HTTP Request Smuggling - Incorrect Parsing of Header Fields (Medium)
  • More detailed information on each of the vulnerabilities can be found in September 22nd 2022 Security Releases blog post.
  • Commits:
  • [a54283a638] - crypto: fix weak randomness in WebCrypto keygen (Ben Noordhuis) nodejs-private/node-private#346
  • [0713e21240] - http: disable chunked encoding when using OBS fold is used (Paolo Insogna) nodejs-private/node-private#341
  • [77fe2f32e4] - src: fix IPv4 non routable validation (RafaelGSS) nodejs-private/node-private#337

New in Node.js 18.9.0 Current (Sep 9, 2022)

  • Notable changes:
  • doc:
  • add daeyeon to collaborators (Daeyeon Jeong) #44355
  • lib:
  • (SEMVER-MINOR) add diagnostics channel for process and worker (theanarkh) #44045
  • os:
  • (SEMVER-MINOR) add machine method (theanarkh) #44416
  • report:
  • (SEMVER-MINOR) expose report public native apis (Chengzhong Wu) #44255
  • src:
  • (SEMVER-MINOR) expose environment RequestInterrupt api (Chengzhong Wu) #44362
  • vm:
  • include vm context in the embedded snapshot (Joyee Cheung) #44252
  • Commits:
  • [e27e709d3c] - build: add --libdir flag to configure (Stephen Gallagher) #44361
  • [30da2b4d89] - build: added NINJA env to customize ninja binary (Jeff Dickey) #44293
  • [3c5354869e] - cluster: fix cluster rr distribute error (theanarkh) #44202
  • [5cefd02618] - crypto: handle invalid prepareAsymmetricKey JWK inputs (Filip Skokan) #44475
  • [c868e36385] - crypto: add digest name to INVALID_DIGEST errors (Tobias Nießen) #44468
  • [35cbe1ad85] - crypto: use actual option name in error message (Tobias Nießen) #44455
  • [c3dbe18e4c] - crypto: simplify control flow in HKDF (Tobias Nießen) #44272
  • [28781a1f7e] - crypto: improve RSA-PSS digest error messages (Tobias Nießen) #44307
  • [b1eafe14fd] - debugger: decrease timeout used to wait for the port to be free (Joyee Cheung) #44359
  • [8ef5c40a83] - deps: update corepack to 0.14.0 (Node.js GitHub Bot) #44509
  • [cf19a79dfc] - deps: upgrade npm to 8.19.1 (npm team) #44486
  • [c5630ad1a7] - deps: V8: backport ff8d67c88449 (Michaël Zasso) #44423
  • [255e7fbd08] - deps: update Acorn to v8.8.0 (Michaël Zasso) #44437
  • [754d26a53e] - deps: patch V8 to 10.2.154.15 (Michaël Zasso) #44294
  • [1b50ff2600] - deps: update icu tzdata to 2022b (Matías Zúñiga) #44283
  • [1e451dca99] - deps: upgrade llhttp to 6.0.9 (Paolo Insogna) #44344
  • [57da3db522] - deps: update undici to 5.9.1 (Node.js GitHub Bot) #44319
  • [1c87a7e8f6] - doc: add missing parenthesis in TLSSocket section (Tobias Nießen) #44512
  • [05006eddb2] - doc: do not use "Returns:" for crypto.constants (Tobias Nießen) #44481
  • [54b6ed58bc] - doc: use serial comma in addons docs (Tobias Nießen) #44482
  • [11452a97b3] - doc: add --update-assert-snapshot to node.1 (Colin Ihrig) #44429
  • [ae028e8ac3] - doc: improve assert.snapshot() docs (Colin Ihrig) #44429
  • [71c869688a] - doc: add missing imports in events sample code (Brian Evans) #44337
  • [92046e8027] - doc: apply scroll-margin-top to h2, h3 elements (metonym) #44414
  • [3e6cde5931] - doc: fix spacing issue in --build-snapshot help text (Shohei YOSHIDA) #44435
  • [8e41dbb81b] - doc: mention cherry-pick edge-case on release (RafaelGSS) #44408
  • [cef30f9afc] - doc: note on release guide to update main branch (Ruy Adorno) #44384
  • [21437f7a7f] - doc: fix release guide example consistency (Ruy Adorno) #44385
  • [ed52bd0a18] - doc: fix style of n-api.md (theanarkh) #44377
  • [65c1f4015f] - doc: add history for net.createServer() options (Luigi Pinca) #44326
  • [4a0f750a6c] - doc: add daeyeon to collaborators (Daeyeon Jeong) #44355
  • [8cc5556f76] - doc: fix typo in test runner code examples (Moshe Atlow) #44351
  • [b660b7467d] - doc,worker: document resourceLimits overrides (Keyhan Vakil) #43992
  • [2ed3b30696] - inspector: prevent integer overflow in open() (Tobias Nießen) #44367
  • [b8f08e5e7e] - lib: codify findSourceMap return value when not found (Chengzhong Wu) #44397
  • [a86ef1ba3e] - lib: use safe Promise alternatives when available (Antoine du Hamel) #43476
  • [e519ac7842] - meta: update AUTHORS (Node.js GitHub Bot) #44511
  • [c03f28b960] - meta: update AUTHORS (Node.js GitHub Bot) #44422
  • [ef08cbddac] - node-api: avoid calling virtual methods in base's dtor (Chengzhong Wu) #44424
  • [256340197c] - node-api: cleanup redundant static modifiers (Chengzhong Wu) #44301
  • [6714736706] - (SEMVER-MINOR) os: add machine method (theanarkh) #44416
  • [807b1e5533] - report: get stack trace with cross origin contexts (Chengzhong Wu) #44398
  • [b17cc877d0] - report: fix missing section javascriptHeap on OOMError (Chengzhong Wu) #44398
  • [1f23c17ae0] - (SEMVER-MINOR) report: expose report public native apis (Chengzhong Wu) #44255
  • [df259005d9] - report: add queue info for udp (theanarkh) #44345
  • [fc17b808c9] - src: rename misleading arg in ClientHelloParser (Tobias Nießen) #44500
  • [125ab7da2a] - src: improve error handling in CloneSSLCerts (Tobias Nießen) #44410
  • [aa34f7347b] - src: fix incorrect comments in crypto (Tobias Nießen) #44470
  • [18b720805f] - src: avoid casting std::trunc(... / ...) to size_t (Tobias Nießen) #44467
  • [4331bbe2af] - (SEMVER-MINOR) src: expose environment RequestInterrupt api (Chengzhong Wu) #44362
  • [c5413a1146] - src: simplify enable_if logic of ToStringHelper::BaseConvert (Feng Yu) #44306
  • [dcc1cf4f4e] - src: add error handling to uv_uptime call (Juan José Arboleda) #44386
  • [fd611cc272] - src: remove base64_select_table and base64_table (Tobias Nießen) #44425
  • [4776b4767b] - src: fix uv_err_name memory leak (theanarkh) #44421
  • [8db2e66d3a] - src: make Endianness an enum class (Tobias Nießen) #44411
  • [048e440878] - src: fix ssize_t error from nghttp2.h (Darshan Sen) #44393
  • [dc1c95ede3] - src: trace fs async api (theanarkh) #44057
  • [0f4e98ba2c] - src: restore context default IsCodeGenerationFromStringsAllowed value (Chengzhong Wu) #44324
  • [05fb650b54] - src: simplify and optimize GetOpenSSLVersion() (Tobias Nießen) #44395
  • [7f16177f96] - src: use if constexpr where appropriate (Anna Henningsen) #44291
  • [2be8acad18] - src: simplify ECDH::GetCurves() (Tobias Nießen) #44309
  • [3eb7918f8e] - src: make minor improvements to EnabledDebugList (Tobias Nießen) #44350
  • [88d9566593] - src: remove KeyObjectData::symmetric_key_len_ (Tobias Nießen) #44346
  • [768c9cb872] - src: fix multiple format string bugs (Tobias Nießen) #44314
  • [6857ee8299] - src: make minor improvements to SecureBuffer (Tobias Nießen) #44302
  • [2facf8b8e0] - stream: fix setting abort reason in ReadableStream.pipeTo() (Daeyeon Jeong) #44418
  • [65134d696b] - stream: fix ReadableStreamReader.releaseLock() (Daeyeon Jeong) #44292
  • [4c33e5d4ce] - test: avoid race in file write stream handle tests (Joyee Cheung) #44380
  • [0d77342a39] - test: style updates for assert.snapshot() (Colin Ihrig) #44429
  • [e36ed44b26] - test: deflake child process exec timeout tests (Joyee Cheung) #44390
  • [0af15c71fb] - test: make the vm timeout escape tests more lenient (Joyee Cheung) #44433
  • [0f071b800e] - test: split heap prof tests (Joyee Cheung) #44388
  • [2dd88b8425] - test: fix multiple incorrect mustNotCall() uses (Tobias Nießen) #44022
  • [4ae1f4990c] - test: split report OOM tests (Joyee Cheung) #44389
  • [3a5fdacdc2] - test: fix WPT runner result (Daeyeon Jeong) #44238
  • [e001aafee3] - test: raise sleep times in child process tests (Joyee Cheung) #44375
  • [8e2dcafc24] - test: remove duplicate test (Luigi Pinca) #44313
  • [c65d7fb1fa] - test: add OpenSSL 3.x providers test (Richard Lau) #44148
  • [11e9d6e173] - test: make tmpdir.js importable from esm (Geoffrey Booth) #44322
  • [a35c2f9ef4] - test_runner: fix duration_ms to be milliseconds (Moshe Atlow) #44450
  • [8175c65b4d] - test_runner: support programmatically running --test (Moshe Atlow) #44241
  • [1cdccbc845] - tls: remove SecureContext setFreeListLength (Tobias Nießen) #44300
  • [70399166f3] - tls: use OpenSSL constant for client random size (Tobias Nießen) #44305
  • [6fe189b62a] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #44510
  • [1e62bb14dd] - tools: fix typo in avoid-prototype-pollution lint rule (Antoine du Hamel) #44446
  • [78c6827688] - tools: don't use f-strings in test.py (Santiago Gimeno) #44407
  • [443730c419] - tools: update doc to [email protected] (Node.js GitHub Bot) #44370
  • [96df99375e] - tools: update eslint to 8.23.0 (Node.js GitHub Bot) #44419
  • [b6709544e9] - tools: refactor avoid-prototype-pollution lint rule (Antoine du Hamel) #43476
  • [8b0a4afcae] - tty: fix TypeError when stream is closed (Antoine du Hamel) #43803
  • [c4a45a93f3] - vm: avoid unnecessary property getter interceptor calls (Joyee Cheung) #44252
  • [736a04aa13] - vm: include vm context in the embedded snapshot (Joyee Cheung) #44252
  • [bce827e5d1] - vm: make ContextifyContext template context-independent (Joyee Cheung) #44252

New in Node.js 18.8.0 Current (Aug 25, 2022)

  • Notable changes:
  • bootstrap: implement run-time user-land snapshots via --build-snapshot and --snapshot-blob
  • This patch introduces --build-snapshot and --snapshot-blob options for creating and using user land snapshots.
  • To generate a snapshot using snapshot.js as an entry point and write the snapshot blob to snapshot.blob:
  • echo "globalThis.foo = 'I am from the snapshot'" > snapshot.js
  • node --snapshot-blob snapshot.blob --build-snapshot snapshot.js
  • To restore application state from snapshot.blob, with index.js as the entry point script for the deserialized application:
  • echo "console.log(globalThis.foo)" > index.js
  • node --snapshot-blob snapshot.blob index.js
  • # => I am from the snapshot
  • Users can also use the v8.startupSnapshot API to specify an entry point at snapshot building time, thus avoiding the need of an additional entry script at deserialization time:
  • echo "require('v8').startupSnapshot.setDeserializeMainFunction(() => console.log('I am from the snapshot'))" > snapshot.js
  • node --snapshot-blob snapshot.blob --build-snapshot snapshot.js
  • node --snapshot-blob snapshot.blob
  • # => I am from the snapshot
  • Contributed by Joyee Cheung in #38905
  • Other notable changes:
  • crypto:
  • (SEMVER-MINOR) allow zero-length IKM in HKDF and in webcrypto PBKDF2 (Filip Skokan) #44201
  • (SEMVER-MINOR) allow zero-length secret KeyObject (Filip Skokan) #44201
  • deps:
  • upgrade npm to 8.18.0 (npm team) #44263 - Adds a new npm query command
  • doc:
  • add Erick Wendel to collaborators (Erick Wendel) #44088
  • add theanarkh to collaborators (theanarkh) #44131
  • add MoLow to collaborators (Moshe Atlow) #44214
  • add cola119 to collaborators (cola119) #44248
  • deprecate --trace-atomics-wait (Keyhan Vakil) #44093
  • http:
  • (SEMVER-MINOR) make idle http parser count configurable (theanarkh) #43974
  • net:
  • (SEMVER-MINOR) add local family (theanarkh) #43975
  • src:
  • (SEMVER-MINOR) print source map error source on demand (Chengzhong Wu) #43875
  • tls:
  • (SEMVER-MINOR) pass a valid socket on tlsClientError (Daeyeon Jeong) #44021
  • Commits:
  • [0e20072e32] - assert: add getCalls and reset to callTracker (Moshe Atlow) #44191
  • [126fbbab74] - assert: add assert.Snapshot (Moshe Atlow) #44095
  • [87d7845b4f] - bootstrap: fixup Error.stackTraceLimit for user-land snapshot (Joyee Cheung) #44203
  • [597a5171ee] - (SEMVER-MINOR) bootstrap: clean up warning setup during serialization (Joyee Cheung) #38905
  • [3561514ff5] - (SEMVER-MINOR) bootstrap: implement --snapshot-blob and --build-snapshot (Joyee Cheung) #38905
  • [123b2d6795] - bootstrap: turn on FunctionCodeHandling::kKeep in the snapshot builder (Joyee Cheung) #44104
  • [e7d101fbd4] - bootstrap: support more builtins in the embedded code cache (Joyee Cheung) #44018
  • [2ae2828040] - build: enable pointer authentication for branch protection on arm64 (Jeremiah Gowdy) #43200
  • [fecec4d3ba] - build: add workflow to label flaky-test platform (Rafael Gonzaga) #44042
  • [c975c4f674] - build: optimized and fixed building configuration to Android (BuShe) #44016
  • [ec1b31e6ad] - build: allow test-internet on forks if not scheduled (Rich Trott) #44073
  • [ea48c5673b] - build: skip test-internet run on forks (Rich Trott) #44054
  • [1c0d66e927] - (SEMVER-MINOR) crypto: allow zero-length IKM in HKDF and in webcrypto PBKDF2 (Filip Skokan) #44201
  • [07d90c8a71] - (SEMVER-MINOR) crypto: allow zero-length secret KeyObject (Filip Skokan) #44201
  • [ac2b10e0c7] - crypto: fix webcrypto deriveBits validations (Filip Skokan) #44173
  • [4c902be5a5] - crypto: fix webcrypto EC key namedCurve validation errors (Filip Skokan) #44172
  • [81e1ec4f6f] - crypto: fix webcrypto generateKey() AES key length validation error (Filip Skokan) #44170
  • [ad8ef3a56c] - crypto: fix webcrypto operation errors to be OperationError (Filip Skokan) #44171
  • [c270b9a0aa] - deps: update corepack to 0.13.0 (Node.js GitHub Bot) #44318
  • [bce8041d67] - deps: upgrade npm to 8.18.0 (npm team) #44263
  • [a26997263b] - deps: update corepack to 0.12.3 (Node.js GitHub Bot) #44229
  • [b1590bbca2] - deps: upgrade npm to 8.17.0 (npm team) #44205
  • [818271c1c3] - deps: update undici to 5.8.2 (Node.js GitHub Bot) #44187
  • [d09bc5402d] - deps: update undici to 5.8.1 (Node.js GitHub Bot) #44158
  • [a92d90b482] - deps: update corepack to 0.12.2 (Node.js GitHub Bot) #44159
  • [52a516a281] - deps: V8: cherry-pick 9861ce1deae2 (Milad Fa) #44115
  • [763b956f07] - deps: remove unnecessary file (Brian White) #44133
  • [194587e767] - deps: upgrade npm to 8.16.0 (npm team) #44119
  • [116dcccc79] - deps: upgrade base64 to dc6a41ce36e (Brian White) #44032
  • [b7aaf3d4ca] - deps: upgrade npm to 8.15.1 (npm team) #44013
  • [a0c57837c4] - deps: cherry-pick 00704f5a from V8 upstream (Keyhan Vakil) #43921
  • [19557ad6a4] - dgram: add dgram send queue info (theanarkh) #44149
  • [a93371205b] - doc: fix optionality of callback arg of checkPrime (Tobias Nießen) #44311
  • [d3f3bf602d] - doc: fix typo (Hana) #44262
  • [7a567875b0] - doc: add TypeScript execution requirements (Michael Dawson) #44030
  • [e8916fa758] - doc: add cola119 to collaborators (cola119) #44248
  • [8c1fe86026] - doc: fix added version for readable.closed/destroyed (Matthew Peveler) #44033
  • [f39a0514d3] - doc: improved building doc for Android (BuShe) #44166
  • [4d26cb9bb2] - doc: add MoLow to collaborators (Moshe Atlow) #44214
  • [6bff14b6f1] - doc: update tags in adding-new-napi-api.md (Chengzhong Wu) #44190
  • [721639a1d4] - doc: fix typo in diagnostics_channel (Evan Lucas) #44199
  • [0fffc24caa] - doc: add Retry CI in collaborator guide (Livia Medeiros) #44130
  • [fb11643e31] - doc: add performance note to --enable-source-maps docs (Saurabh Daware) #43817
  • [cb7a9e78fd] - doc: remove unused code in call tracker example (Colin Ihrig) #44127
  • [8c26daff7c] - doc: add theanarkh to collaborators (theanarkh) #44131
  • [46f8fb8e53] - doc: clarify tls.tlsSocket.getCipher().version (Adam Majer) #44086
  • [02236032f0] - doc: update repository list in onboarding doc (Rich Trott) #44089
  • [58f2739e32] - doc: add Erick Wendel to collaborators (Erick Wendel) #44088
  • [fe83d514b2] - doc: update collaborator email (Ruy Adorno) #44044
  • [76011dd7f7] - doc: copyedit test.md (Antoine du Hamel) #44061
  • [1d6029aa3d] - doc: add kvakil to triagers (Keyhan Vakil) #43996
  • [7f7a0eb2f5] - doc: clarify part of onboarding guide regarding adding to teams (Darshan Sen) #44024
  • [2ae5d853a7] - doc: fix code examples in crypto.md (Antoine du Hamel) #44053
  • [1b9537b6a5] - doc: claim ABI version for Electron 21 (Keeley Hammond) #44034
  • [d23dfa4dcb] - doc: remove old reference from crypto/README.md (Tobias Nießen) #44012
  • [222ecd6e14] - doc: add missing env vars to man page (cola119) #43492
  • [374b77619b] - doc: list supported MODP groups explicitly (Tobias Nießen) #43986
  • [72a9ecf94f] - doc: fix typo in packages.md (Dominic Saadi) #44005
  • [1b328305f0] - doc: fix typos in test.md (Antoine du Hamel) #43997
  • [7af55dbc40] - doc: add missing test runner option (Moshe Atlow) #43989
  • [e8441a2864] - doc,report: document special filenames (Chengzhong Wu) #44257
  • [da7bc5acdf] - doc,worker: deprecate --trace-atomics-wait (Keyhan Vakil) #44093
  • [37a9d7a754] - errors: refactor to use optional chaining (SindreXie) #44184
  • [a6dccc969f] - esm: do not bind loader hook functions (Antoine du Hamel) #44122
  • [5e9c197d85] - esm: fix loader hooks accepting too many arguments (Jacob Smith) #44109
  • [e072c3aa70] - esm: move package config helpers (Geoffrey Booth) #43967
  • [d57178cdfc] - events: use bitset to save memory (Basit Chonka) #43700
  • [4ec3f671af] - fs: add encoding parameter to benchmarks (Yagiz Nizipli) #44278
  • [851264ca90] - http: add max for http keepalive (theanarkh) #44217
  • [340ca4d8fe] - http: fix error message when specifying headerTimeout for createServer (Nick Sia) #44163
  • [c340344641] - http: trace http request / response (theanarkh) #44102
  • [a2cd8b316c] - (SEMVER-MINOR) http: make idle http parser count configurable (theanarkh) #43974
  • [5dc39a10bd] - http: reuse socket only when it is drained (ywave620) #43902
  • [8c2d19b2d6] - http: do not leak error listeners (Paolo Insogna) #43587
  • [1a44fbc19e] - lib: add diagnostics channel and perf hooks detail (Danielle Adams) #43984
  • [8cfc8b0e7b] - lib: refactor to avoid prototype pollution (Antoine du Hamel) #43474
  • [04007f2f51] - lib: fix diagnostics channel (theanarkh) #44154
  • [c02bbdd921] - lib: pass env variables to child process on z/OS (alexcfyung) #42255
  • [617ea4af1c] - lib: add missing env vars to --help (cola119) #43492
  • [94912bb09c] - lib: add Promise methods to avoid-prototype-pollution lint rule (Antoine du Hamel) #43849
  • [8977a87504] - meta: update AUTHORS (Node.js GitHub Bot) #44321
  • [f7be92fe86] - meta: update web streams in label-pr-config (Daeyeon Jeong) #44235
  • [2c72ded880] - meta: update AUTHORS (Node.js GitHub Bot) #44231
  • [c59dc7a4c1] - meta: update AUTHORS (Node.js GitHub Bot) #44161
  • [e0efd9af50] - meta: add codeowner for src/node_snapshot* (Chengzhong Wu) #44113
  • [a996f53c78] - meta: update AUTHORS (Node.js GitHub Bot) #44065
  • [697dbfb174] - meta: shorten PowerShell snippet for bug-report template (NicoNekoru) #44011
  • [05802c2877] - module: protect against prototype mutation (Antoine du Hamel) #44007
  • [1b3fcf765f] - (SEMVER-MINOR) net: create diagnostics channels lazily (Joyee Cheung) #38905
  • [aa7c053926] - net: remove unused callback (theanarkh) #44204
  • [b6b632c09c] - (SEMVER-MINOR) net: add local family (theanarkh) #43975
  • [c3d87564d4] - net, dns: socket should handle its output as input (Adam Majer) #44083
  • [3ba75b341b] - (SEMVER-MINOR) net,tls: pass a valid socket on tlsClientError (Daeyeon Jeong) #44021
  • [0e38fba552] - perf_hooks: add resourcetiming buffer limit (Chengzhong Wu) #44220
  • [b9fd240f63] - perf_hooks: fix gc elapsed time (theanarkh) #44058
  • [8cf64998e2] - report: print javascript stack on fatal error (Chengzhong Wu) #44242
  • [c842ab36b6] - report: skip report if uncaught exception is handled (Chengzhong Wu) #44208
  • [ab73cc8706] - src: disambiguate terms used to refer to builtins and addons (Joyee Cheung) #44135
  • [e9d19ac64c] - src: use imported namespaces in node_contextify.cc (Juan José) #44299
  • [3dadc95cd2] - src: refactor to avoid using a moved object (Tobias Nießen) #44269
  • [3765c6335b] - src: extract common context embedder tag checks (Chengzhong Wu) #44258
  • [d2dce59729] - src: avoid copying BaseObjectPtrs in loop (Tobias Nießen) #44270
  • [9614907104] - src: remove usage on ScriptCompiler::CompileFunctionInContext (Chengzhong Wu) #44198
  • [4e1ffd932e] - src: fix --heapsnapshot-near-heap-limit error hint (Chengzhong Wu) #44216
  • [960a20928f] - src: prevent copying ArrayBufferViewContents (Keyhan Vakil) #44091
  • [4755ad5495] - src: remove usages of GetBackingStore in crypto (Keyhan Vakil) #44079
  • [a2022e5aff] - src: remove unowned usages of GetBackingStore (Keyhan Vakil) #44080
  • [8e1b7e2b8f] - src: remove usages of GetBackingStore in node-api (Keyhan Vakil) #44075
  • [cddf3eda28] - src: remove usages of GetBackingStore in modules (Keyhan Vakil) #44076
  • [a54e4d4170] - src: remove usages of GetBackingStore in WASI (Keyhan Vakil) #44077
  • [38cdb1f9b6] - src: remove usages of GetBackingStore in startup (Keyhan Vakil) #44078
  • [c4783e37d7] - src: nest namespace report in namespace node (Chengzhong Wu) #44069
  • [04bcdf63a0] - src: use a typed array internally for process._exiting (Darshan Sen) #43883
  • [b90b8abdd5] - src: fix bug in GetErrorSource() (Tobias Nießen) #44019
  • [728e18e025] - src: fix to use replacement character (Kohei Ueno) #43999
  • [cc6e0fc8ff] - src: improve SPKAC::ExportChallenge() (Tobias Nießen) #44002
  • [9763e2fba9] - src: fix typo in src/README.md (Anna Henningsen) #44009
  • [460397709b] - src: remove unnecessary cast in crypto_sig.cc (Tobias Nießen) #44001
  • [68ee8e9089] - src: split property helpers from node::Environment (Chengzhong Wu) #44056
  • [9990dc7d18] - src,buffer: remove unused chars_written parameter (Keyhan Vakil) #44092
  • [ecf82186e0] - src,fs: refactor duplicated code in fs.readdir (Daeyeon Jeong) #43204
  • [ee6412a992] - src,lib: print prinstine source when source map source not found (Chengzhong Wu) #44052
  • [4249276783] - (SEMVER-MINOR) src,lib: print source map error source on demand (Chengzhong Wu) #43875
  • [1dabdbf05c] - src,test: fix typos (SADIK KUZU) #44110
  • [a3ac445198] - stream: fix isDetachedBuffer validations (Daeyeon Jeong) #44114
  • [c079abe017] - stream: improve views validation on BYOBRequest (Daeyeon Jeong) #44155
  • [2f904bc8bf] - stream: update TextEncoderStream to align the latest spec (Kohei Ueno) #44101
  • [40b817cfb9] - (SEMVER-MINOR) test: test snapshotting TypeScript compiler (Joyee Cheung) #38905
  • [d4189ab609] - (SEMVER-MINOR) test: add UMD module test with marked (Joyee Cheung) #38905
  • [514e5162d2] - test: deflake test-diagnostics-channel-net (Keyhan Vakil) #44144
  • [a2707d0f48] - test: add coverage for invalid RSA-PSS digests (Tobias Nießen) #44271
  • [7b6126a59a] - test: update Web Streams WPT (Daeyeon Jeong) #44234
  • [a02492f96c] - test: move "errors" test to "parallel" (Michaël Zasso) #44233
  • [b4224dd192] - test: reduce http-server-request-timeouts-mixed flakiness (Nick Sia) #44169
  • [f5e2f6c362] - test: remove cjs loader from stack traces (Geoffrey Booth) #44197
  • [e37314497a] - test: add filesystem check to test-fs-stat-date.mjs (Livia Medeiros) #44174
  • [9755b1f979] - test: mark connection leak test flaky on IBM i (Richard Lau) #44215
  • [beaf5f5776] - test: use mustSucceed instead of mustCall with assert.ifError (MURAKAMI Masahiko) #44196
  • [11f74e72a7] - test: update WPT runner (Filip Skokan) #43455
  • [b2a15b6275] - test: update wpt url status (Kohei Ueno) #44175
  • [6b84451d70] - test: update wasm/jsapi web platform tests (Yagiz Nizipli) #44100
  • [537d52fa0f] - test: update hr-time web platform tests (Yagiz Nizipli) #44100
  • [79445cb215] - test: update console web platform tests (Yagiz Nizipli) #44100
  • [70267a0eeb] - test: move tests with many workers to sequential (Keyhan Vakil) #44139
  • [86a7fb0c8a] - test: deflake gc-http-client tests by restricting number of requests (Nick Sia) #44146
  • [e17117dfda] - test: move test-vm-break-on-sigint to sequential (Keyhan Vakil) #44140
  • [e5113fab05] - test: remove test-http-client-response-timeout flaky designation (Luigi Pinca) #44145
  • [f1b5f933d7] - test: s390x z15 accelerated zlib fixes (Adam Majer) #44117
  • [86bbd5e61a] - test: tune down parallelism for some flaky tests (Keyhan Vakil) #44090
  • [40e2ca7f66] - test: fix internet/test-inspector-help-page (Daeyeon Jeong) #44025
  • [b19564b9d2] - test: refactor ESM tests to improve performance (Jacob Smith) #43784
  • [d964b308ae] - test: remove test-gc-http-client-timeout from flaky list (Feng Yu) #43971
  • [2cab7bb791] - test: reduce loop times for preventing test from timeout (theanarkh) #43981
  • [9244d6d416] - test: fix test-cluster-concurrent-disconnect (Daeyeon Jeong) #43961
  • [3c8037a9fa] - test: change misleading variable name (Tobias Nießen) #43990
  • [82164344e2] - test,crypto: update WebCryptoAPI WPT (Filip Skokan) #44223
  • [c0b160c842] - test_runner: fix test runner hooks failure stack (Moshe Atlow) #44284
  • [8ed39397d5] - test_runner: refactor to use more primordials (Antoine du Hamel) #44062
  • [d8749c3b87] - test_runner: verbous error when entire test tree is canceled (Moshe Atlow) #44060
  • [0d007471fa] - test_runner: empty pending tests queue post running (Moshe Atlow) #44059
  • [c3fa82f007] - test_runner: add before/after/each hooks (Moshe Atlow) #43730
  • [50c854bbfe] - test_runner: fix top level describe queuing (Moshe Atlow) #43998
  • [04fdc3e1fa] - test_runner: graceful termination on --test only (Moshe Atlow) #43977
  • [51a0310398] - test_runner: validate concurrency option (Antoine du Hamel) #43976
  • [ecf7b0720a] - tls: use logical OR operator (Mohammed Keyvanzadeh) #44236
  • [f7c1b838ba] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #44320
  • [36b39db74d] - tools: update ESLint to 8.22.0 (Luigi Pinca) #44243
  • [87f75a27fb] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #44244
  • [a3cc8ce959] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #44230
  • [873941a43e] - tools: update eslint to 8.21.0 (Node.js GitHub Bot) #44162
  • [6be7e6d136] - tools: update lint-md-dependencies to @rollup/[email protected] (Node.js GitHub Bot) #44160
  • [b252f389d7] - tools: update undici CPE in vuln checking script (Facundo Tuesca) #44128
  • [3eacf25789] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #44064
  • [1175d9036a] - tools: add verbose flag to find-inactive-collaborators (Rich Trott) #43964
  • [2cf3ce83d8] - trace_events: add example (theanarkh) #43253
  • [2efce0fe5b] - typings: add JSDoc for internal/validators (Yagiz Nizipli) #44181

New in Node.js 16.17.0 LTS (Aug 22, 2022)

  • Notable Changes:
  • Experimental command-line argument parser API:
  • Adds util.parseArgs helper for higher level command-line argument parsing.
  • Contributed by Benjamin Coe, John Gee, Darcy Clarke, Joe Sepi, Kevin Gibbons, Aaron Casanova, Jessica Nahulan, and Jordan Harband - #42675
  • Experimental ESM Loader Hooks API:
  • Node.js ESM Loader hooks now support multiple custom loaders, and composition is achieved via "chaining": foo-loader calls bar-loader calls qux-loader (a custom loader must now signal a short circuit when intentionally not calling the next). See the ESM docs for details.
  • Real-world use-cases are laid out for end-users with working examples in the article Custom ESM loaders: Who, what, when, where, why, how.
  • Contributed by Jacob Smith, Geoffrey Booth, and Bradley Farias - #42623
  • Experimental test runner:
  • The node:test module, which was initially introduced in Node.js v18.0.0, is now available with all the changes done to it up to Node.js v18.7.0.
  • Improved interoperability of the Web Crypto API
  • To better align Node.js' experimental implementation of the Web Crypto API with other runtimes, several changes were made:
  • Support for CFRG curves was added, with the 'Ed25519', 'Ed448', 'X25519', and 'X448' algorithms.
  • The proprietary 'NODE-DSA', 'NODE-DH', 'NODE-SCRYPT', 'NODE-ED25519', 'NODE-ED448', 'NODE-X25519', and 'NODE-X448' algorithms were removed.
  • The proprietary 'node.keyObject' import/export format was removed.
  • Contributed by Filip Skokan - #42507, #43310
  • Dependency updates:
  • Updated Corepack to 0.12.1 - #43965
  • Updated ICU to 71.1 - #42655
  • Updated npm to 8.15.0 - #43917
  • Updated Undici to 5.8.0 - #43886
  • Other notable changes:
  • [5f1e9e2030] - (SEMVER-MINOR) crypto: make authTagLength optional for CC20P1305 (Tobias Nießen) #42427
  • [934077a137] - (SEMVER-MINOR) crypto: align webcrypto RSA key import/export with other implementations (Filip Skokan) #42816
  • [7683e9623c] - (SEMVER-MINOR) dns: export error code constants from dns/promises (Feng Yu) #43176
  • [302a134b83] - doc: deprecate coercion to integer in process.exit (Daeyeon Jeong) #43738
  • [4884f18ce5] - (SEMVER-MINOR) doc: deprecate diagnostics_channel object subscribe method (Stephen Belanger) #42714
  • [90f395dda9] - (SEMVER-MINOR) errors: add support for cause in aborterror (James M Snell) #41008
  • [7a5de2cc0c] - (SEMVER-MINOR) events: expose CustomEvent on global with CLI flag (Daeyeon Jeong) #43885
  • [087adbb7a3] - (SEMVER-MINOR) events: add CustomEvent (Daeyeon Jeong) #43514
  • [979c98a3cb] - (SEMVER-MINOR) events: propagate abortsignal reason in new AbortError ctor in events (James M Snell) #41008
  • [e04c8a4921] - (SEMVER-MINOR) fs: propagate abortsignal reason in new AbortSignal constructors (James M Snell) #41008
  • [464830993e] - (SEMVER-MINOR) fs: make params in writing methods optional (LiviaMedeiros) #42601
  • [3d7808ec3f] - (SEMVER-MINOR) fs: add read(buffer[, options]) versions (LiviaMedeiros) #42768
  • [082a2630fd] - (SEMVER-MINOR) http: add drop request event for http server (theanarkh) #43806
  • [5a74939770] - (SEMVER-MINOR) http: add diagnostics channel for http client (theanarkh) #43580
  • [f05fd1a423] - (SEMVER-MINOR) http: add perf_hooks detail for http request and client (theanarkh) #43361
  • [9d1b4b7e29] - (SEMVER-MINOR) http: add uniqueHeaders option to request and createServer (Paolo Insogna) #41397
  • [fa5ac5a2eb] - (SEMVER-MINOR) http2: propagate abortsignal reason in new AbortError constructor (James M Snell) #41008
  • [94070f152e] - (SEMVER-MINOR) http2: compat support for array headers (OneNail) #42901
  • [36dd39dec0] - (SEMVER-MINOR) lib: propagate abortsignal reason in new AbortError constructor in blob (James M Snell) #41008
  • [8adf7d5e91] - (SEMVER-MINOR) lib: add abortSignal.throwIfAborted() (James M Snell) #40951
  • [3c1ed86840] - (SEMVER-MINOR) lib: improved diagnostics_channel subscribe/unsubscribe (Stephen Belanger) #42714
  • [e6186af5cc] - (SEMVER-MINOR) module: add isBuiltIn method (hemanth.hm) #43396
  • [3d851d6d6b] - (SEMVER-MINOR) module,repl: support 'node:'-only core modules (Colin Ihrig) #42325
  • [303bd08d88] - (SEMVER-MINOR) net: add drop event for net server (theanarkh) #43582
  • [da03e9f484] - (SEMVER-MINOR) net: add ability to reset a tcp socket (pupilTong) #43112
  • [73f852e1e3] - (SEMVER-MINOR) node-api: emit uncaught-exception on unhandled tsfn callbacks (Chengzhong Wu) #36510
  • [6dcdcd7f50] - (SEMVER-MINOR) perf_hooks: add PerformanceResourceTiming (RafaelGSS) #42725
  • [5750358872] - (SEMVER-MINOR) report: add more heap infos in process report (theanarkh) #43116
  • [e7b99e8c8d] - (SEMVER-MINOR) src: add --openssl-legacy-provider option (Daniel Bevenius) #40478
  • [1281a48b89] - (SEMVER-MINOR) src: define fs.constants.S_IWUSR & S_IRUSR for Win (Liviu Ionescu) #42757
  • [9ea9797d34] - (SEMVER-MINOR) src,doc,test: add --openssl-shared-config option (Daniel Bevenius) #43124
  • [046debaee0] - (SEMVER-MINOR) stream: use cause options in AbortError constructors (James M Snell) #41008
  • [6641fda10a] - (SEMVER-MINOR) stream: add iterator helper find (Nitzan Uziely) #41849
  • [edec73032c] - (SEMVER-MINOR) stream: add writableAborted (Robert Nagy) #40802
  • [2aae868fa2] - (SEMVER-MINOR) timers: propagate signal.reason in awaitable timers (James M Snell) #41008
  • [513f52445b] - (SEMVER-MINOR) v8: add v8.startupSnapshot utils (Joyee Cheung) #43329
  • [a8eca74450] - (SEMVER-MINOR) v8: export more fields in getHeapStatistics (theanarkh) #42784
  • [845279e331] - (SEMVER-MINOR) worker: add hasRef() to MessagePort (Darshan Sen) #42849
  • Commits:
  • Semver-minor commits:
  • [58279d5b76] - (SEMVER-MINOR) buffer: graduate Blob from experimental (James M Snell) #41270
  • [72a0c5c743] - (SEMVER-MINOR) crypto: remove Node.js-specific webcrypto extensions (Filip Skokan) #43310
  • [2e3a69a2ba] - (SEMVER-MINOR) crypto: add CFRG curves to Web Crypto API (Filip Skokan) #42507
  • [5f1e9e2030] - (SEMVER-MINOR) crypto: make authTagLength optional for CC20P1305 (Tobias Nießen) #42427
  • [934077a137] - (SEMVER-MINOR) crypto: align webcrypto RSA key import/export with other implementations (Filip Skokan) #42816
  • [7683e9623c] - (SEMVER-MINOR) dns: export error code constants from dns/promises (Feng Yu) #43176
  • [4884f18ce5] - (SEMVER-MINOR) doc: deprecate diagnostics_channel object subscribe method (Stephen Belanger) #42714
  • [90f395dda9] - (SEMVER-MINOR) errors: add support for cause in aborterror (James M Snell) #41008
  • [247a6f6e85] - (SEMVER-MINOR) esm: add chaining to loaders (Jacob Smith) #42623
  • [7a5de2cc0c] - (SEMVER-MINOR) events: expose CustomEvent on global with CLI flag (Daeyeon Jeong) #43885
  • [087adbb7a3] - (SEMVER-MINOR) events: add CustomEvent (Daeyeon Jeong) #43514
  • [979c98a3cb] - (SEMVER-MINOR) events: propagate abortsignal reason in new AbortError ctor in events (James M Snell) #41008
  • [e04c8a4921] - (SEMVER-MINOR) fs: propagate abortsignal reason in new AbortSignal constructors (James M Snell) #41008
  • [464830993e] - (SEMVER-MINOR) fs: make params in writing methods optional (LiviaMedeiros) #42601
  • [3d7808ec3f] - (SEMVER-MINOR) fs: add read(buffer[, options]) versions (LiviaMedeiros) #42768
  • [082a2630fd] - (SEMVER-MINOR) http: add drop request event for http server (theanarkh) #43806
  • [5a74939770] - (SEMVER-MINOR) http: add diagnostics channel for http client (theanarkh) #43580
  • [f05fd1a423] - (SEMVER-MINOR) http: add perf_hooks detail for http request and client (theanarkh) #43361
  • [9d1b4b7e29] - (SEMVER-MINOR) http: add uniqueHeaders option to request and createServer (Paolo Insogna) #41397
  • [fa5ac5a2eb] - (SEMVER-MINOR) http2: propagate abortsignal reason in new AbortError constructor (James M Snell) #41008
  • [94070f152e] - (SEMVER-MINOR) http2: compat support for array headers (OneNail) #42901
  • [36dd39dec0] - (SEMVER-MINOR) lib: propagate abortsignal reason in new AbortError constructor in blob (James M Snell) #41008
  • [8adf7d5e91] - (SEMVER-MINOR) lib: add abortSignal.throwIfAborted() (James M Snell) #40951
  • [3c1ed86840] - (SEMVER-MINOR) lib: improved diagnostics_channel subscribe/unsubscribe (Stephen Belanger) #42714
  • [e6186af5cc] - (SEMVER-MINOR) module: add isBuiltIn method (hemanth.hm) #43396
  • [3d851d6d6b] - (SEMVER-MINOR) module,repl: support 'node:'-only core modules (Colin Ihrig) #42325
  • [303bd08d88] - (SEMVER-MINOR) net: add drop event for net server (theanarkh) #43582
  • [da03e9f484] - (SEMVER-MINOR) net: add ability to reset a tcp socket (pupilTong) #43112
  • [73f852e1e3] - (SEMVER-MINOR) node-api: emit uncaught-exception on unhandled tsfn callbacks (Chengzhong Wu) #36510
  • [6dcdcd7f50] - (SEMVER-MINOR) perf_hooks: add PerformanceResourceTiming (RafaelGSS) #42725
  • [5750358872] - (SEMVER-MINOR) report: add more heap infos in process report (theanarkh) #43116
  • [e7b99e8c8d] - (SEMVER-MINOR) src: add --openssl-legacy-provider option (Daniel Bevenius) #40478
  • [1281a48b89] - (SEMVER-MINOR) src: define fs.constants.S_IWUSR & S_IRUSR for Win (Liviu Ionescu) #42757
  • [9ea9797d34] - (SEMVER-MINOR) src,doc,test: add --openssl-shared-config option (Daniel Bevenius) #43124
  • [046debaee0] - (SEMVER-MINOR) stream: use cause options in AbortError constructors (James M Snell) #41008
  • [6641fda10a] - (SEMVER-MINOR) stream: add iterator helper find (Nitzan Uziely) #41849
  • [edec73032c] - (SEMVER-MINOR) stream: add writableAborted (Robert Nagy) #40802
  • [9a530832cb] - (SEMVER-MINOR) test: add initial test module (Colin Ihrig) #42325
  • [61a2ddc597] - (SEMVER-MINOR) test_runner: expose describe and it (Moshe Atlow) #43420
  • [cd6f24be4c] - (SEMVER-MINOR) test_runner: add initial CLI runner (Colin Ihrig) #42658
  • [a4b277cb4d] - (SEMVER-MINOR) test_runner: support 'only' tests (Colin Ihrig) #42514
  • [2aae868fa2] - (SEMVER-MINOR) timers: propagate signal.reason in awaitable timers (James M Snell) #41008
  • [432e3054be] - (SEMVER-MINOR) util: add tokens to parseArgs (John Gee) #43459
  • [a1e122be62] - (SEMVER-MINOR) util: add parseArgs module (Benjamin Coe) #42675
  • [513f52445b] - (SEMVER-MINOR) v8: add v8.startupSnapshot utils (Joyee Cheung) #43329
  • [a8eca74450] - (SEMVER-MINOR) v8: export more fields in getHeapStatistics (theanarkh) #42784
  • [845279e331] - (SEMVER-MINOR) worker: add hasRef() to MessagePort (Darshan Sen) #42849
  • Semver-patch commits:
  • [480a754ddc] - assert: callTracker throw a specific error message when possible (Moshe Atlow) #43640
  • [ebb334b124] - assert: fix CallTracker wraps the function causes the length to be lost (OneNail) #42909
  • [7f8f83d4d0] - assert: make assert.fail less affected by prototype tampering (Antoine du Hamel) #42918
  • [a6a46f9578] - async_hooks: use kEmptyObject (LiviaMedeiros) #43159
  • [84075821be] - async_hooks: remove destroyed symbol on Promises (Gerhard Stöbich) #42402
  • [b69396a41a] - async_hooks: avoid decrementing iterator after erase (Gabriel Bota) #42749
  • [6b7c6192ff] - bootstrap: move global initialization to js (Alena Khineika) #43625
  • [4fbe24588a] - bootstrap: use the isolate snapshot in workers (Joyee Cheung) #42702
  • [3a83e5cfd9] - bootstrap: move embedded snapshot to SnapshotBuilder (Joyee Cheung) #42702
  • [b4201ace9b] - bootstrap: reset process._exit and process.exitCode in pre-execution (Joyee Cheung) #42466
  • [f8f7c1e5bd] - bootstrap: run inspector and event loop in snapshot builder (Joyee Cheung) #42466
  • [2d79480fcb] - bootstrap: make I/O streams work with user-land snapshot (Joyee Cheung) #42466
  • [1b2946b1a4] - bootstrap: refresh options in pre-execution (Joyee Cheung) #42466
  • [ca57563522] - bootstrap: use SnapshotData to pass snapshot data around (Joyee Cheung) #42360
  • [60d032b89c] - buffer: do not leak memory if buffer is too big (Keyhan Vakil) #43938
  • [5ddd367bec] - buffer: improve Blob constructor error message when passing a string (Xuguang Mei) #42338
  • [691e5d8bf3] - buffer: fix atob input validation (Antoine du Hamel) #42539
  • [a948fb8b56] - build: add .gitattributes for npm and other shims (Hrishikesh Kadam) #43879
  • [623dd2a70b] - build: remove precompiled header and debug information for host builds (Niyas Sait) #42538
  • [129b05e0c5] - build: fix various shared library build issues (William Marlow) #41850
  • [fba6e96326] - build: fix indeterminacy of icu_locales value (Sergey Nazaryev) #42865
  • [74bce1c448] - build: improve reliability of find_python.cmd script (Luigi Pinca) #42810
  • [637af6c068] - build: windows/arm64 native compilation support (Niyas Sait) #42408
  • [fe661fadad] - build: add --node-snapshot-main configure option (Joyee Cheung) #42466
  • [daadd58baa] - build,test: increase stack size limit on Windows (Tobias Nießen) #43632
  • [1e1634ae99] - child_process: do not need to count length when maxBuffer is Infinity (theanarkh) #43822
  • [2b6e98b6b2] - child_process: improve ipc write performance (rubikscraft) #42931
  • [7aac430b3f] - child_process: speed up 'advanced' ipc receiving (rubikscraft) #42931
  • [6844930290] - child_process: use kEmptyObject (LiviaMedeiros) #43159
  • [72400b7a7b] - child_process: add env contents types in JSDoc (Rich Trott) #42494
  • [fe57e5685d] - cluster: send connection to other server when worker drop it (theanarkh) #43747
  • [61b5d4a999] - cluster: fix closing dgram sockets in cluster workers throws errors (Ouyang Yadong) #43709
  • [97f4cc7766] - cluster: fix fd leak (theanarkh) #43650
  • [1cb19ec96a] - cluster: use kEmptyObject (LiviaMedeiros) #43159
  • [c8706f3a7f] - cluster, net: fix listen pipe with readable and writable in cluster (theanarkh) #43634
  • [35fc1c205e] - console: fix console.dir crash on a revoked proxy (Daeyeon Jeong) #43100
  • [3449472f3d] - crypto: remove unneeded guard (Rich Trott) #43856
  • [a3a845b8ba] - crypto: don't disable TLS 1.3 without suites (Adam Majer) #43427
  • [588a84e11d] - crypto: handle webcrypto generateKey() usages edge case (Filip Skokan) #43454
  • [224d3f40dc] - crypto: update Wrapping and unwrapping keys webcrypto example (Filip Skokan) #43452
  • [8dca8d7805] - crypto: fix webcrypto generateKey() with empty usages (Filip Skokan) #43431
  • [bef600e787] - crypto: fix webcrypto digest() invalid algorithm (Filip Skokan) #43431
  • [077ad7e90d] - crypto: fix webcrypto RSA generateKey() use of publicExponent (Filip Skokan) #43431
  • [04572ec914] - crypto: fix webcrypto AES-KW keys accepting encrypt/decrypt usages (Filip Skokan) #43431
  • [52ea86908d] - crypto: fix webcrypto deriveBits for non-byte lengths (Filip Skokan) #43431
  • [97b2fef24a] - crypto: fix webcrypto import of cfrg raw public keys (Filip Skokan) #43404
  • [a57149d14e] - crypto: fix webcrypto JWK EC and OKP import crv check (Filip Skokan) #43346
  • [1cb267261c] - crypto: test webcrypto ec raw public key import (Filip Skokan) #43405
  • [02cf57b8d6] - crypto: use kEmptyObject (LiviaMedeiros) #43159
  • [4600892a45] - crypto: adjust minimum length in generateKey('hmac', ...) (LiviaMedeiros) #42944
  • [baaf77898b] - crypto: clean up parameter validation in HKDF (Tobias Nießen) #42924
  • [3f43dadeda] - crypto: validate this in all webcrypto methods and getters (Filip Skokan) #42815
  • [297e374565] - crypto: do not add undefined hash in webcrypto normalizeAlgorithm (Filip Skokan) #42559
  • [c764e81a69] - crypto: cleanup webcrypto jwk code (Filip Skokan) #42562
  • [c605ad1343] - crypto: fix webcrypto derive key lengths (Filip Skokan) #42542
  • [0b1b616a9c] - crypto: improve prime size argument validation (Tobias Nießen) #42234
  • [f1c12aa6df] - debugger: throw a more useful error when the frame is missing (Kohei Ueno) #42776
  • [f75a5a92ec] - debugger: fix inconsistent inspector output of exec new Map() (Kohei Ueno) #42423
  • [e3d8893265] - deps: V8: backport 22698d267667 (Chengzhong Wu) #43751
  • [06a6bdaf7a] - deps: update corepack to 0.12.1 (Node.js GitHub Bot) #43965
  • [c7be356dd7] - deps: update hast-util-raw (Moshe Atlow) #43927
  • [62c27d0d84] - deps: update undici to 5.8.0 (Node.js GitHub Bot) #43886
  • [92051cb4a1] - deps: cherry-pick libuv/libuv@3a7b955 (Ben Noordhuis) #43950
  • [8835898e43] - deps: cherry-pick libuv/libuv@abb109f (Ben Noordhuis) #43950
  • [1566854218] - deps: upgrade npm to 8.15.0 (npm team) #43917
  • [e6baa8a113] - deps: upgrade npm to 8.14.0 (npm team) #43826
  • [aa137caac3] - deps: update corepack to 0.12.0 (Node.js GitHub Bot) #43748
  • [04188e54f5] - deps: update undici to 5.7.0 (Node.js GitHub Bot) #43790
  • [09f9060f7d] - deps: upgrade npm to 8.13.2 (npm team) #43622
  • [1343615224] - deps: upgrade npm to 8.13.1 (npm team) #43552
  • [49080bc42f] - deps: patch V8 to 9.4.146.26 (Michaël Zasso) #43778
  • [705a8afd81] - deps: update Corepack to 0.11.2 (Maël Nison) #43402
  • [552e91121b] - deps: update undici to 5.5.1 (Node.js GitHub Bot) #43412
  • [0ff00945d5] - deps: update undici to 5.4.0 (Node.js GitHub Bot) #43262
  • [170bec811b] - deps: update undici to 5.3.0 (Node.js GitHub Bot) #43197
  • [b97075dfec] - deps: update undici to 5.2.0 (Node.js GitHub Bot) #43059
  • [4d4e00a6b0] - deps: update undici to 5.1.1 (Michaël Zasso) #42939
  • [cba4f6c8a0] - deps: update Acorn to v8.7.0 (Michaël Zasso) #42667
  • [a5507fd409] - deps: update ICU to 71.1 (Michaël Zasso) #42655
  • [cbb253e61e] - deps: upgrade npm to 8.12.1 (npm team) #43301
  • [01e7d1f349] - deps: cherry-pick 4ab70f6 from V8 upstream (Khaidi Chu) #43328
  • [fea892a168] - dns: fix getServers return undefined (jiahao.si) #43922
  • [43a3239d85] - dns: fix cares memory leak (theanarkh) #43912
  • [8d2a256bf4] - dns: make promise API fully constructed from lib/internal/dns/promises (Feng Yu) #43227
  • [71f7b00fca] - domain: fix vm promise tracking while keeping isolation (Stephen Belanger) #43556
  • [9f75f26ad9] - errors: extract type detection & use in ERR_INVALID_RETURN_VALUE (Jacob Smith) #43558
  • [f5115b4abc] - errors,console: refactor to use ES2021 syntax (小菜) #42872
  • [85ba4e069d] - errors,vm: update error and use cause (Gus Caplan) #42820
  • [ae157d9098] - esm: fix loader hooks accepting too many arguments (Jacob Smith) #44109
  • [3139c110dc] - esm: remove superfluous argument (Rich Trott) #43884
  • [63228efe08] - esm: throw on any non-2xx response (LiviaMedeiros) #43742
  • [a6d4d31da5] - esm: fix erroneous re-initialization of ESMLoader (Jacob Smith) #43763
  • [953e663e58] - esm: treat 307 and 308 as redirects in HTTPS imports (Kid) #43689
  • [33a2902a33] - esm: restore next's context as optional arg (Jacob Smith) #43553
  • [df3f5cb93e] - esm: fix chain advances when loader calls next multiple times (Jacob Smith) #43303
  • [eac4e20525] - esm: refactor responseURL handling (Guy Bedford) #43164
  • [e114ed0cda] - esm: fix http(s) import via custom loader (Jacob Smith) #43130
  • [6564e69c78] - esm: fix imports from non-file module (Antoine du Hamel) #42881
  • [e1bc88764d] - esm: graduate top-level-await to stable (Antoine du Hamel) #42875
  • [14a929b0b0] - esm: emit experimental warnings in common place (Jacob Smith) #42314
  • [0167988ce3] - events: improve Event compatibility (Daeyeon Jeong) #43461
  • [e51c0e9939] - events: improve EventListener validation (Daeyeon Jeong) #43491
  • [393c021d7f] - events: fix adding abort listener in events.once (Daeyeon Jeong) #43373
  • [a7eaf3981d] - events: use kEmptyObject (LiviaMedeiros) #43159
  • [fcf74c53d8] - fs: refactor realpath with Map and Set (LiviaMedeiros) #43569
  • [bfb8a0bfac] - fs: don't end fs promises on Isolate termination (Santiago Gimeno) #42910
  • [ca4157ea40] - fs: use kEmptyObject (LiviaMedeiros) #43159
  • [835056cbcb] - fs: remove unnecessary ?? operator (Morgan Roderick) #43073
  • [8b89c7fbab] - fs: export constants from fs/promises (Feng Yu) #43177
  • [b0d9915bc6] - fs: add trailing commas (LiviaMedeiros) #43127
  • [637820d1e3] - fs: fix write methods param validation and docs (LiviaMedeiros) #41677
  • [5d8b2cb51d] - fs: fix mkdirSync so ENOSPC is correctly reported (Santiago Gimeno) #42811
  • [58eebaf717] - http: defer reentrant execution of Parser::Execute (Paolo Insogna) #43369
  • [ea3ca874da] - http: fix http agent keep alive (theanarkh) #43380
  • [85d93f0bf6] - http: use kEmptyObject (LiviaMedeiros) #43159
  • [1bfff396ac] - http: document that ClientRequest inherits from OutgoingMessage (K.C.Ashish Kumar) #42642
  • [db53e9b387] - http2: log debug only when in debug mode (Basit) #43626
  • [95083cb0ad] - http2: use kEmptyObject (LiviaMedeiros) #43159
  • [367454205d] - http2: set origin name correctly when servername is empty (ofirbarak) #42838
  • [c73f739acd] - http2: improve tests and docs (Daeyeon Jeong) #42858
  • [4fbedffb55] - https: use kEmptyObject (LiviaMedeiros) #43159
  • [5879642260] - inspector: set sampling interval before start (Shelley Vohr) #43779
  • [096f7fc59a] - inspector: add missing initialization (Michael Dawson) #43254
  • [a8c24185f8] - lib: refactor to avoid unsafe regex primordials (Antoine du Hamel) #43475
  • [2a5d5e0726] - lib: modify DOMException to pass WPT (Khaidi Chu) #41517
  • [26d63f004f] - lib: implement safe alternatives to Promise static methods (Antoine du Hamel) #43728
  • [aab5adbcbe] - lib: use null-prototype objects for property descriptors (Antoine du Hamel) #43473
  • [a97d0ba3af] - lib: fix TODO in freeze_intrinsics (Antoine du Hamel) #43472
  • [519cdd94c0] - lib: use kEmptyObject in various places (LiviaMedeiros) #43159
  • [7d5e7b43f6] - lib: give names to promisified methods (LiviaMedeiros) #43218
  • [cd55e221b5] - lib: use null-prototype objects for property descriptors (Antoine du Hamel) #43270
  • [9e613f7f3d] - lib: prepare files for no-var lint rule (Rich Trott) #42573
  • [327da6acde] - lib: source maps filter null prefix (Fabian Cook) #42522
  • [58f80b0dcc] - lib: improve the coverage of the validator (mawaregetsuka) #42443
  • [e48ccf5934] - lib: update JSDoc for linting (Rich Trott) #42489
  • [abc134cacc] - lib,src: add source map support for global eval (Chengzhong Wu) #43428
  • [288d9fbe5a] - loader: make require.resolve throw for unknown builtin modules (木杉) #43336
  • [7c4e1ad1ed] - module: also enable subpath imports in REPL (Ray) #43450
  • [c284eb3745] - module: ensure 'node:'-only modules can access node_modules (Colin Ihrig) #42430
  • [70a4033841] - module: cjs-module-lexer WebAssembly fallback (Guy Bedford) #43612
  • [abda05a3a7] - module: prefer async/await in https imports (Benjamin Gruenbaum) #41950
  • [f66872e36c] - net: fix socket._getpeername (Daeyeon Jeong) #43010
  • [b2d02bc2c0] - net: remove redundant connecting assignment (Ouyang Yadong) #43710
  • [ff5310a9c7] - net: fix net keepalive and noDelay (theanarkh) #43561
  • [265810a1e5] - net: prevent /32 ipv4 mask from matching all ips (supriyo-biswas) #43381
  • [e4a5bd1cf8] - net: fix net.Server keepalive and noDelay (theanarkh) #43497
  • [d766cfaca9] - net,dns: move hasObserver out of perf function (theanarkh) #43217
  • [b240868960] - net,dns: trace tcp connection and dns by perf_hooks (theanarkh) #42390
  • [112bce394d] - node-api: explicitly set __cdecl for API functions (Vladimir Morozov) #42780
  • [49103e3240] - node-api: fix napi_get_all_property_names (Vladimir Morozov) #42463
  • [5a1e1b3f33] - node-api: format Node-API related code (Vladimir Morozov) #42396
  • [31ee218eff] - node-api,src: fix module registration in MSVC C++ (Vladimir Morozov) #42459
  • [e7899ba1f7] - os: avoid unnecessary usage of var (Mohammed Keyvanzadeh) #42563
  • [463f9a6c4f] - perf_hooks: add initiatorType getter (Rafael Gonzaga) #43593
  • [096a2d9434] - perf_hooks: fix miscounted gc performance entry starttime (#43066) (Xuguang Mei) #43066
  • [f08a282098] - perf_hooks: use kEmptyObject (LiviaMedeiros) #43159
  • [8b0ae63316] - perf_hooks: fix start_time of perf_hooks (theanarkh) #43069
  • [7a5972fe9e] - perf_hooks: fix function wrapped by timerify to work correctly (Kohei Ueno) #43330
  • [5ab3da3f26] - perf_hooks: return different functions in timerify (Himself65) #42854
  • [15da462cea] - process: use defineProperty instead of assignment (Mark S. Miller) #43907
  • [67e91aa20f] - readline: fix to not access a property on an undefined value (Kohei Ueno) #43543
  • [37066f0319] - readline: use kEmptyObject (LiviaMedeiros) #43159
  • [d260569b85] - repl: fix overzealous top-level await (Tobias Nießen) #43827
  • [0bd4a04c42] - repl: use SafePromiseAll and SafePromiseRace (Antoine du Hamel) #43758
  • [bef9a36024] - repl: make autocomplete case-insensitive (Sergey Petushkov) #41632
  • [0dc96e4474] - src: pass only Isolate* and env_vars to EnabledDebugList::Parse() (Darshan Sen) #43668
  • [be3343aed3] - src: use named struct instead of typedef (Tobias Nießen) #43881
  • [eaa611c53a] - src: use named enum instead of typedef (Tobias Nießen) #43880
  • [3a32f0ecb2] - src: fix node watchdog race condition (theanarkh) #43780
  • [67ecd274b7] - src: fix napi_check_object_type_tag() (Daeyeon Jeong) #43788
  • [364b67cf7e] - src: slim down env-inl.h (Ben Noordhuis) #43745
  • [ccac1fc2e7] - src: improve and update ByteSource description (Tobias Nießen) #43478
  • [a1f1ff197e] - src: merge RunInThisContext() with RunInContext() (Daeyeon Jeong) #43225
  • [3e21ae8733] - src: fix crash on FSReqPromise destructor (Santiago Gimeno) #43533
  • [b9649a4959] - src: delegate NodeArrayBufferAllocator to v8's allocator (Jeremy Rose) #43594
  • [26e4dc83a8] - src: remove a stale comment in async_hooks (Daeyeon Jeong) #43317
  • [733739dd3f] - src: remove CopyBuffer (Tobias Nießen) #43463
  • [bf553fd26a] - src: register StreamBase while registering LibuvStreamWrap (Darshan Sen) #43321
  • [f18867b2c0] - src: fix static analysis warning and use smart ptr (Tobias Nießen) #43117
  • [094d5fc31a] - src: fix json utils escapes for U+000B (Chengzhong Wu) #43206
  • [c82d992b77] - src: convey potential exceptions during StreamPipe construction (Darshan Sen) #43240
  • [07b7f8375e] - src: make SecureContext fields private (Tobias Nießen) #43173
  • [eb2c504542] - src: reuse GetServerName (Tobias Nießen) #43168
  • [7bdd31929c] - src: remove SecureContext::operator* (Tobias Nießen) #43121
  • [438c4723f6] - src: replace TraceEventScope with sync events (Chengzhong Wu) #42977
  • [32446d8c8a] - src: delete AllocatedBuffer (Darshan Sen) #43008
  • [4cfcb6f883] - src: remove unnecessary comment (Kohei Ueno) #42952
  • [6adbb062e6] - src: fix memory leak for v8.serialize (liuxingbaoyu) #42695
  • [e769a0f19b] - src: use node: prefix in example (Antoine du Hamel) #42794
  • [b19018468c] - src: large page attributing an id on Linux (David CARLIER) #42644
  • [a26fd031bf] - src: fix coverity report (Michael Dawson) #42663
  • [8687ba8732] - src: fix alphabetically sorted binding list (Tobias Nießen) #42687
  • [4e1378b2d6] - src: fix typo in InspectorIoDelegate constructor (Kohei Ueno) #42520
  • [1dc912ebdc] - src: remove unnecessary static qualifier in crypto_dh.cc (Darshan Sen) #42492
  • [a280f88266] - src: address 3 useless call coverity warnings (Michael Dawson) #42426
  • [5195ea3cd2] - src: properly report exceptions from AddressToJS() (Darshan Sen) #42054
  • [a8553151ee] - src: suppress false coverity warning (Michael Dawson) #42284
  • [1e8611f048] - src: refactor IsSupportedAuthenticatedMode (Tobias Nießen) #42368
  • [7778ebecaa] - src: turn SSL_CTX_new CHECK/segfault into JS exception (Anna Henningsen) #42799
  • [4ffc08861a] - src: add proper mutexes for accessing FIPS state (Anna Henningsen) #42278
  • [6353a4dc8a] - src,bootstrap: remove NodeMainInstance::registry_ (Darshan Sen) #43392
  • [1a98f166bf] - src,crypto: remove uses of AllocatedBuffer from crypto_rsa.cc (Darshan Sen) #42852
  • [c336ffc059] - src,crypto: remove uses of AllocatedBuffer from crypto_ec.cc (Darshan Sen) #42766
  • [1669b94cd6] - src,crypto: remove uses of AllocatedBuffer from crypto_tls.cc (Darshan Sen) #42589
  • [6d98a51970] - src,crypto: handle empty maybe correctly in crypto_dh.cc (Darshan Sen) #42492
  • [5a2e277f93] - src,crypto: remove uses of AllocatedBuffer from crypto_dh.cc (Darshan Sen) #42492
  • [4a6649cb28] - src,stream: change return type to Maybe (Daeyeon Jeong) #43575
  • [99a3b19974] - stream: fix 0 transform hwm backpressure (Robert Nagy) #43685
  • [c4dc8b6297] - stream: add more filter tests (Benjamin Gruenbaum) #41936
  • [4b17a94b67] - stream: port more test262 tests (Benjamin Gruenbaum) #41974
  • [3bc12c69a4] - stream: avoid usage of deprecated APIs (Mohammed Keyvanzadeh) #41871
  • [4ad5a28b54] - stream: refactor to use more validators (Mohammed Keyvanzadeh) #41871
  • [545b2cd4c2] - stream: use standard for loop instead of for..of (Mohammed Keyvanzadeh) #41871
  • [3ef9f8da30] - stream: initial port of test262 tests (Benjamin Gruenbaum) #41775
  • [f793ed550a] - stream: use synchronous error validation & validate abort signal option (iMoses) #41777
  • [31cee4f914] - stream: never flatten on toArray (Benjamin Gruenbaum) #41615
  • [d63c4c68a0] - stream: use kEmptyObject (LiviaMedeiros) #43159
  • [6f9c62206b] - test_runner: add support for boolean values for concurrency option (Lenvin Gonsalves) #43887
  • [e33f6bd384] - test_runner: validate timeout option (Antoine du Hamel) #43843
  • [a167daa311] - test_runner: pass signal on timeout (Moshe Atlow) #43911
  • [b1db85023e] - test_runner: do not report an error when tests are passing (Antoine du Hamel) #43919
  • [f193ac6cd5] - test_runner: recieve and pass AbortSignal (Moshe Atlow) #43554
  • [f8f1d16097] - test_runner: fix it concurrency (Moshe Atlow) #43757
  • [e9ca1efe67] - test_runner: support timeout for tests (Moshe Atlow) #43505
  • [5dca44d5eb] - test_runner: catch errors thrown within describe (Moshe Atlow) #43729
  • [0bdc141dd0] - test_runner: protect internals against prototype tampering (Antoine du Hamel) #43578
  • [4d4dcade90] - test_runner: cancel on termination (Moshe Atlow) #43549
  • [dccbd9ee95] - test_runner: wait for stderr and stdout to complete (Moshe Atlow) #43666
  • [27841bee3d] - test_runner: use kEmptyObject (LiviaMedeiros) #43159
  • [1a4235961e] - test_runner: add Subtest to tap protocol output (Moshe Atlow) #43417
  • [3fbc5e441c] - timers: use kEmptyObject (LiviaMedeiros) #43159
  • [444d77391c] - tls: use kEmptyObject (LiviaMedeiros) #43159
  • [ba3cf5d59e] - tls: fix performance regression in convertALPNProtocols() (LiviaMedeiros) #43250
  • [4a3a8a6164] - tls: fix convertALPNProtocols accepting ArrayBufferViews (LiviaMedeiros) #43211
  • [a6710f50c4] - trace_events: trace net connect event (theanarkh) #43903
  • [8cda4156a5] - url: update WHATWG URL parser to align with latest spec (Feng Yu) #43190
  • [69f9a3a78e] - url,lib: pass urlsearchparams-constructor.any.js (Khaidi Chu) #41197
  • [24cabbf32f] - util: remove unicode support todo for perf implications (Rhys) #43762
  • [0f9d5ac0b0] - util: refactor to use validateObject (Kohei Ueno) #43769
  • [5edfccfc4c] - util: add AggregateError.prototype.errors to inspect output (LiviaMedeiros) #43646
  • [fa89a617bc] - util: remove unnecessary template string (Ruben Bridgewater) #41082
  • [fa74d45e09] - util: mark cwd grey while inspecting errors (Ruben Bridgewater) #41082
  • [053368c3d0] - util: avoid inline access to Symbol.iterator (Kohei Ueno) #43683
  • [3959dffc7d] - util: fix TypeError of symbol in template literals (cola119) #42790
  • [053347ca55] - util: freeze kEnumerableProperty (LiviaMedeiros) #43390
  • [2cdae4332d] - util: add kEmptyObject to internal/util (LiviaMedeiros) #43159
  • [49cbed6ced] - v8: serialize BigInt64Array and BigUint64Array (Ben Noordhuis) #43571
  • [ca8da5f3f8] - vm: use kEmptyObject (LiviaMedeiros) #43159
  • [3ccf5acd23] - wasi: use WasmMemoryObject handle for perf (#43544) (snek) #43544
  • [4ff19daf54] - wasi: use kEmptyObject (LiviaMedeiros) #43159
  • [bbbc54f8d4] - wasi: remove unecessary null check (Michael Dawson) #42819
  • [51633a23c7] - worker: use kEmptyObject (LiviaMedeiros) #43159
  • [c4caf20ec3] - worker: fix heap snapshot crash on exit (Chengzhong Wu) #43123
  • [c583508324] - worker: fix stream racing with terminate (Keyhan Vakil) #42874
  • [293bab7684] - worker: add hasRef() to the handle object (Darshan Sen) #42756
  • Documentation commits:
  • [1bd581678c] - doc: update email and mailmap for BethGriggs (Beth Griggs) #43985
  • [c37f90415b] - doc: inspector.close undefined in worker threads (Keyhan Vakil) #43867
  • [bd0e463d27] - doc: improve documentation for safe Promise statics alternatives (Antoine du Hamel) #43759
  • [3022958abd] - doc: recommend git-node-v8 (Keyhan Vakil) #43934
  • [d528c55c13] - doc: clarify subprocess.stdout/in/err property (Kohei Ueno) #43910
  • [067d69f051] - doc: fix typo in src/crypto/README.md (Jianru Lin) #43968
  • [3c85e0c88b] - doc: remind backporter about v8_embedder_string (Keyhan Vakil) #43924
  • [86fb313fe8] - doc: fix typo in http.md (Airing) #43933
  • [37cf3b9551] - doc: add F3n67u to collaborators (Feng Yu) #43953
  • [da6041c89f] - doc: mention Win 32-bit openssl build issue (RafaelGSS) #43853
  • [c6e2eaec2b] - doc: add security release specifics to releases.md (Beth Griggs) #43835
  • [7a44613819] - doc: add history info for global.performance (Antoine du Hamel) #43841
  • [1685332371] - doc: add platform-windows-arm to who to CC (Michael Dawson) #43808
  • [fcfb2c95c1] - doc: document ES2022's Error "cause" property (James Ide) #43830
  • [a0d055e945] - doc: add link to diagnostic tools (Rafael Gonzaga) #43736
  • [8c4cf710a5] - doc: update links to MDN page about dynamic imports (Jannis R) #43847
  • [302a134b83] - doc: deprecate coercion to integer in process.exit (Daeyeon Jeong) #43738
  • [2a410975c6] - doc: add MoLow to triagers (Moshe Atlow) #43799
  • [44291afca4] - doc: revert anachronistic 'node:' module require()s in API history notes (DeeDeeG) #43768
  • [97bda1fa57] - doc: clarify release process for new releasers (Rafael Gonzaga) #43739
  • [f7b8340efe] - doc: fix typo in ngtcp2 readme (Dan Castillo) #43767
  • [c6bdb5cb22] - doc: fix typo in errors.md (Kazuma Ohashi) #43677
  • [20fa30c871] - doc: add new useful V8 option (JialuZhang-intel) #42575
  • [2b498fe7f5] - doc: fix typo in util.parseArgs usage example (Michael Ficarra) #43332
  • [3244217e9a] - doc: improve test runner timeout docs (Tobias Nießen) #43836
  • [65699a2132] - doc: add code examples to node test runner (Wassim Chegham) #43359
  • [c7c769fe67] - doc: include last security release date (Rafael Gonzaga) #43774
  • [3cda9686bd] - doc: remove node-report from support tiers (RafaelGSS) #43737
  • [ae70ada8cb] - doc: update changelog-maker to the new flags (RafaelGSS) #43696
  • [f42d674225] - doc: remove extra 'in's (Colin Ihrig) #43705
  • [cfb236e6ba] - doc: add Geoffrey Booth to TSC (Rich Trott) #43706
  • [c941798e88] - doc: improve readability of dns.md (0xSanyam) #43694
  • [a8980b2468] - doc: add note regarding special case of 0 stat.size (Douglas Wilson) #43690
  • [26cd4e2ae6] - doc: fix default of duplex.allowHalfOpen (Vincent Weevers) #43665
  • [a8d1670ffa] - doc: improve description of --input-type (cola119) #43507
  • [50a1b26605] - doc: add daeyeon to triagers (Daeyeon Jeong) #43637
  • [ee10320c9e] - doc: remove appmetrics from tierlist (Tony Gorez) #43608
  • [352628244b] - doc: remove systemtap from tierlist (Tony Gorez) #43605
  • [407beb2bc6] - doc: add single executable application initiative (Michael Dawson) #43611
  • [e5a7b0ff7c] - doc: remove windows xperf from tierlist (Tony Gorez) #43607
  • [d514ee763f] - doc: remove lttng from tierlist (Tony Gorez) #43604
  • [8f475e6d00] - doc: remove dtrace from tierlist (Tony Gorez) #43606
  • [31f45288f5] - doc: promote 0x to tier 4 (Tony Gorez) #43609
  • [78bedcd158] - doc: include CVSS mention (Rafael Gonzaga) #43602
  • [c1ea44db51] - doc: fix icu-small example (Michael Dawson) #43591
  • [a649d0175d] - doc: add backport-open-vN.x step to backporting guide (LiviaMedeiros) #43590
  • [267e493448] - doc: move MylesBorins to TSC Emeritus (Myles Borins) #43524
  • [444c1a6dcd] - doc: add Juan as a security steward (Michael Dawson) #43512
  • [1da1722be8] - doc: update link to MDN page about dynamic imports (James Scott-Brown) #43530
  • [70ab660107] - doc: fix Visual Studio 2019 download link (Feng Yu) #43236
  • [23ec1a8727] - doc: update link of ICU data slicer (Feng Yu) #43483
  • [cda04013a0] - doc: update v8 doc link to v8.dev (Feng Yu) #43482
  • [982e99eb6c] - doc: add ESM version examples to events api doc (Feng Yu) #43226
  • [3d271f16b4] - doc: update default branch name in test/** (Luigi Pinca) #43445
  • [18789d5b4a] - doc: remove branch name mention in src/README.md (Feng Yu) #43442
  • [f2dfe9b708] - doc: update default branch name in Makefile (Feng Yu) #43441
  • [8d0bca586f] - doc: update main branch name in release guide (Richard Lau) #43437
  • [1945e9ba4a] - doc: update main branch name in onboarding.md (Feng Yu) #43443
  • [98b27e7f4d] - doc: fixup after rename of primary nodejs branch (Michael Dawson) #43453
  • [d5832e29b6] - doc: update main branch name in doc/contributing/* (Luigi Pinca) #43438
  • [3f1ec10a66] - doc: packages documentation updates for 12 EOL (Guy Bedford) #43375
  • [82dc48d36c] - doc: fix specifier example in esm.md (hiroki osame) #43351
  • [143186145c] - doc: add missing require to stream api doc (Feng Yu) #43237
  • [7feff014c4] - doc: use serial comma in worker_threads docs (Tobias Nießen) #43220
  • [c41bf4dc59] - doc: use serial comma in assert docs (Tobias Nießen) #43154
  • [b6469537e4] - doc: use consistent method symbol (Paolo Insogna) #42974
  • [a61b7fabc3] - doc: use serial comma in fs docs (Tobias Nießen) #43104
  • [14c8f46091] - doc: use serial comma in http docs (Tobias Nießen) #43026
  • [751f09eb28] - doc: fix examples in cluster.md (OneNail) #42889
  • [cc398a829b] - doc: add node: prefix for all core modules (Antoine du Hamel) #42752
  • [2922fbb9b2] - doc: clarify some default values in fs.md (LiviaMedeiros) #42892
  • [10e9868cbb] - doc: fix napi version for node_api_symbol_for (Danielle Adams) #42878
  • [3ccb5b4f3f] - doc: add initial doc on how to update cjs-module-lexer (Michael Dawson) #43255
  • [9515ca6f0a] - doc: clarify use of deps/icu-small (Michael Dawson) #43287
  • [7de20b518a] - doc: remove llnode from diag tierlist (Tony Gorez) #43289
  • [5b0ad85fde] - doc: remove ETW from diag tierlist (Tony Gorez) #43295
  • [5d2a4bd886] - doc: use serial comma in report docs (Tobias Nießen) #43394
  • [18c6d17f4f] - doc: add fspromises mkdir example (Tierney Cyren) #40843
  • [e44427954f] - doc: add F3n67u to triagers (Feng Yu) #43350
  • [fb1566101c] - doc: fix typo in globals.md (Daeyeon Jeong) #43365
  • [12e7a24b48] - doc: use serial comma in webstreams docs (Tobias Nießen) #43353
  • [f7bfa10a29] - doc: add undici to glossary (F3n67u) #43327
  • [961aeffffd] - doc: change glossary link in pull request guide to node's glossary doc (Feng Yu) #43318
  • [759861d0d4] - doc: improve description of TZ (Tobias Nießen) #43334
  • [288f6c0c04] - doc: use serial comma in net docs (Tobias Nießen) #43335
  • [3d47c6655b] - doc: make clear the result of comparison between Symbol.for (Kohei Ueno) #43309
  • [5029fc3beb] - doc: add CIGTM to glossary.md (Feng Yu) #43316
  • [7e4dab6ad9] - doc: use serial comma in pull request doc (Feng Yu) #43319
  • [f94d4ea73b] - doc: use serial comma in ESM docs (Tobias Nießen) #43322
  • [2f831105a3] - doc: promote cdt to tier 3 (Tony Gorez) #43290
  • [3e50a1a9e5] - doc: fix chromium document link in pull-requests.md (rikapo) #43265
  • [b20cd1b756] - doc: fix 404 link of BUILDING.md (Feng Yu) #43234
  • [b34fce7ad5] - doc: add src/crypto to CC list for nodejs/crypto (Tobias Nießen) #43286
  • [d50c5585b6] - doc: use serial comma in console docs (Tobias Nießen) #43257
  • [f453918086] - doc: use serial comma in errors docs (Tobias Nießen) #43242
  • [ed9e3b7007] - doc: add note regarding %Array.prototype.concat% in primordials.md (Antoine du Hamel) #43166
  • [1867462f15] - doc: document signal option for EventTarget#addEventListener (Antoine du Hamel) #43170
  • [ffee27216f] - doc: make minor adjustments (LiviaMedeiros) #43175
  • [1b97800c2c] - doc: use serial comma in dgram docs (Tobias Nießen) #43191
  • [a51bdf6f91] - doc: use serial comma in process docs (Tobias Nießen) #43179
  • [4b4ce99b63] - doc: improved parallel specification (mawaregetsuka) #42679
  • [c591a2964c] - doc: improve callback params for fs.mkdir (Daeyeon Jeong) #43016
  • [086f8f426a] - doc: fix errors in Performance hooks doc (OneNail) #43152
  • [fb18ade83b] - doc: use serial comma in dns docs (Tobias Nießen) #43145
  • [2071b57666] - doc: use ASCII apostrophes consistently (Tobias Nießen) #43114
  • [ae2ec73a69] - doc: add strategic initiative for shadow realm (Chengzhong Wu) #43037
  • [cccc45653a] - doc: use serial comma in events docs (Tobias Nießen) #43113
  • [6f3d6596b7] - doc: use serial comma in modules docs (Tobias Nießen) #43103
  • [0eb8c46db6] - doc: use serial comma in util docs (Tobias Nießen) #43063
  • [2a72a8ae66] - doc: remove git:// protocol, adjust nits in onboarding.md (LiviaMedeiros) #43045
  • [b559dfe177] - doc: add maintaining info for shared libary option (Michael Dawson) #42517
  • [9101aa89ce] - doc: add detail for how to update llhttp (Michael Dawson) #43028
  • [c6f87e7987] - doc: use serial comma in buffer docs (Tobias Nießen) #43048
  • [f0f3f1c1ec] - doc: add Rafael to the security steward for NearForm (Matteo Collina) #42966
  • [e913dbf9e7] - doc: mark some node-api functions as experimental (NickNaso) #42987
  • [65a5d49268] - doc: add LiviaMedeiros to collaborators (LiviaMedeiros) #43039
  • [5129127db5] - doc: add the preferred name for @himself65 (Himself65) #43024
  • [d0a95c97b5] - doc: rename N-API to Node-API in test/README.md (Daeyeon Jeong) #42946
  • [48f6d0b19b] - doc: use serial comma in tls docs (Tobias Nießen) #43001
  • [14569c7e9d] - doc: improve commit message example for releases (Juan José) #42954
  • [78a08ab4c0] - doc: use serial comma in cluster docs (Tobias Nießen) #42989
  • [42783cc205] - doc: fix errors in Web Streams doc (OneNail) #42862
  • [40f552c4d8] - doc: add additional step to security release process (Michael Dawson) #42916
  • [cbb20bea42] - doc: add section regarding property definition in primordials.md (Antoine du Hamel) #42921
  • [841b690359] - doc: reword "test directory" (LiviaMedeiros) #42817
  • [e1127b6154] - doc: remove legacy -J test.py option from BUILDING.md (LiviaMedeiros) #42817
  • [64919a59b5] - doc: http2.createServer options as optional (Daeyeon Jeong) #42832
  • [54ac0102c1] - doc: record March 2022 security release steward (Richard Lau) #42876
  • [ca117b2fb0] - doc: initial version of security-model-strategy.md (Michael Dawson) #42709
  • [e45861ff36] - doc: clarify guide on testing internal errors (LiviaMedeiros) #42813
  • [cf8620394d] - doc: fix markdown formatting in primordials.md (Tobias Nießen) #42877
  • [619414567f] - doc: add primordials guidelines (Antoine du Hamel) #38635
  • [92d7214eb2] - doc: elevate node-clinic diagnostic tier (RafaelGSS) #42802
  • [9ab641ee26] - doc: update WebAssembly strategy with Wasm Web API (Tobias Nießen) #42836
  • [2c447b4f30] - doc: order vm.Module linker arguments correctly (Simen Bekkhus) #42797
  • [2974f4042e] - doc: add @kuriyosh to collaborators (Yoshiki Kurihara) #42824
  • [da97b86a99] - doc: add maintaining-webassembly.md (Michael Dawson) #42660
  • [2178ccfd77] - doc: delete heapdump from diagnostic tooling support tiers (Tony Gorez) #42783
  • [b5cac3a4b7] - doc: fix example in assert.md (LiviaMedeiros) #42786
  • [6e8285a27b] - doc: fix version history for Loaders API (Antoine du Hamel) #42778
  • [b5a3c0499b] - doc: clarify core modules that can be loaded without a prefix (Antoine du Hamel) #42753
  • [41ad6fa020] - doc: consolidate use of multiple-byte units (Antoine du Hamel) #42587
  • [36c0e47bf5] - doc: add documentation for inherited methods (Luigi Pinca) #42691
  • [665fb3d269] - doc: close tag in n-api.md (LiviaMedeiros) #42751
  • [3c97384527] - doc: copyedit http.OutgoingMessage documentation (Luigi Pinca) #42733
  • [2f319825cc] - doc: improve fragment (:target) anchors behavior on HTML version (Antoine du Hamel) #42739
  • [1b88868adc] - doc: fix added: info for outgoingMessage.writable* (Luigi Pinca) #42737
  • [0238239de0] - doc: delete mdb_v8 from diagnostic tooling support tiers (Tony Gorez) #42626
  • [b4b2a0f8b7] - doc: document the 'close' and 'finish' events (Luigi Pinca) #42704
  • [d7265d8ae4] - doc: fix added: info for outgoingMessage.{,un}cork() (Luigi Pinca) #42711
  • [1b668d4be6] - doc: revise data imports and node: imports sections (Rich Trott) #42734
  • [b6c23b0312] - doc: fix ESM JSON/data URL import example (Rich Trott) #42728
  • [806711346d] - doc: improve doc for http.ServerResponse inheritance (Luigi Pinca) #42693
  • [7c881b218f] - doc: add RafaelGSS to collaborators (RafaelGSS) #42718
  • [654e71c29c] - doc: add NodeEdKeyGenParams to CryptoKey.algorithm (Tobias Nießen) #42629
  • [e566e5c3e4] - doc: fix the example for embedders (Momtchil Momtchev) #42671
  • [47f7b34831] - doc: change AES-GCM IV recommendation in WebCrypto (Tobias Nießen) #42611
  • [0a64b14343] - doc: fix added: info for some methods (Luigi Pinca) #42661
  • [0c9038020a] - doc: remove unneeded new in Buffer example (Niklas Mischkulnig) #42682
  • [06f7aeb2d2] - doc: mark worker.id as integer in cluster docs (Tobias Nießen) #42684
  • [1c579ecb78] - doc: recommend fh.createWriteStream for fsPromises methods (Antoine du Hamel) #42653
  • [3ba17b184d] - doc: fix outgoingMessage.removeHeader() signature (Luigi Pinca) #42652
  • [ba1f864159] - doc: mark tlsSocket.authorized as boolean property (Tobias Nießen) #42647
  • [85aeae2cd2] - doc: add missing punctuation in Web Streams doc (Tobias Nießen) #42672
  • [630cadbc3f] - doc: add missing article in session ticket section (Tobias Nießen) #42632
  • [b636996499] - doc: link to dynamic import function (Tobias Nießen) #42634
  • [70f61a57d0] - doc: add note about header values encoding (Paolo Insogna) #42624
  • [608d777cf8] - doc: add missing word in rootCertificates section (Tobias Nießen) #42633
  • [dbc993294f] - doc: fix brackets position (LiviaMedeiros) #42649
  • [a9e97fcc3f] - doc: copyedit corepack.md (Rich Trott) #42620
  • [6209e295bb] - doc: delete chakra tt from diagnostic tooling support tiers (Tony Gorez) #42627
  • [198f22d3da] - doc: simplify Http2Stream encoding text (Rich Trott) #42597
  • [9129f024dc] - doc: remove obsolete stream API selection text (Rich Trott) #42586
  • [88108da2c1] - doc: remove faulty justification for 128-bit AES (Tobias Nießen) #42578
  • [8072adf41e] - doc: fix documentation of FileHandle.prototype.appendFile (Antoine du Hamel) #42588
  • [300b9d15ea] - doc: change "OCSP Request" to "OCSP request" (Tobias Nießen) #42582
  • [5ee6b07a6b] - doc: aes webcrypto unwrap is not a node-specific extensions (Filip Skokan) #42561
  • [8850cf99f7] - doc: simplify recommendations in process.md (Rich Trott) #42556
  • [c361129d7b] - doc: clarify recommendations in stream.md (Rich Trott) #42555
  • [3bec01f1b9] - doc: simplify recommendation in webcrypto.md (Rich Trott) #42554
  • [9c307937b4] - doc: update DEP0102 text (Rich Trott) #42553
  • [73ce20162b] - doc: add introduction sentence for CJS (Antoine du Hamel) #42491
  • [5783865894] - doc: add @meixg to collaborators (Xuguang Mei) #42576
  • [a8a075b48b] - doc: consolidate CI sections (Rich Trott) #42534
  • [816cc5ed8a] - doc: remove extraneous comma (Rich Trott) #42548
  • [7476fe9431] - doc: guide towards x509.fingerprint256 (Tobias Nießen) #42516
  • [a6af500919] - doc: fix internal link in collaborator-guide.md (Daeyeon Jeong) #42551
  • [9a70c3b843] - doc: add suggestion for OpenSSL only sec releases (Michael Dawson) #42456
  • [28208311bf] - doc: fix comment text in async_hooks example (Rich Trott) #42499
  • [8fd7ab5d1f] - doc: add stability class to legacy status description (Daniel Roe) #42525
  • [37366d4ec4] - doc: suggest checkHost in checkServerIdentity docs (Tobias Nießen) #42495
  • [981d602d8c] - doc: update security release onboarding (Joe Sepi) #42333
  • [33b14263e9] - doc: remove comma splice in events.md (Rich Trott) #42484
  • [89e3cedb1a] - doc: clarify napi_finalize behavior (Alba Mendez) #42461
  • [40b61dbf1b] - doc: expand history for conditional exports changes in v12 (Greg Poole) #42339
  • [70f982a8fe] - doc: change comma-splice to two sentences (Rich Trott) #42455
  • [69a4daaa09] - doc: add link to section (Rich Trott) #42428
  • [7a7030af79] - doc: fix typo in async_context.md (Anupama Codippily) #42444
  • [3cf80254c7] - doc: add trace_gc to diagnostic tooling support document (Tony Gorez) #42346
  • [d9ae6c7829] - doc: make header smaller and dropdown click-driven when JS is on (Paolo Insogna) #42165
  • [01eb1dc8eb] - doc: standardize typography for _semantic versioning_ (Rich Trott) #42401
  • [d70f9cb2a3] - doc: unify import order in CCM example (Tobias Nießen) #42394
  • [165ee28853] - doc: update property name (Rich Trott) #42398
  • [b3a7a689f9] - doc: document breaking change in http.IncomingMessage 'close' event (Paolo Insogna) #42521
  • [7be07c719c] - doc,test: clarify timingSafeEqual semantics (Tobias Nießen) #43228
  • [6c00369083] - doc,test: clarify ChaCha20-Poly1305 usage (Tobias Nießen) #42323
  • Other commits:
  • [3b10a94a95] - benchmark: fix output regression (Brian White) #43635
  • [f4c4113434] - benchmark: fix fork detection (Paolo Insogna) #43601
  • [04f651186d] - benchmark: forcefully close processes (Paolo Insogna) #43557
  • [986fb3e9ae] - benchmark: add node-error benchmark (RafaelGSS) #43077
  • [c36b02f666] - benchmark: fix misc/startup failure (Antoine du Hamel) #42746
  • [391e16235c] - build: make GitPod less noisy (Rich Trott) #43829
  • [5315d9741c] - build: add GitHub token permissions for workflows (Varun Sharma) #43743
  • [025248bfb0] - build: enable GitPod prebuilds (Rich Trott) #43698
  • [d9664c3040] - build: clarify missing clang-format tool (Tobias Nießen) #42762
  • [600505ee71] - build: update main branch name in GH workflow (Feng Yu) #43481
  • [ab55ff4a52] - build: add nonpm and nocorepack to vcbuild.bat (Darshan Sen) #43219
  • [cf68280548] - build: set ASAN workaround (Richard Lau) #43085
  • [c4f7e93964] - build: fix format-cpp (Darshan Sen) #42764
  • [dd97a9d1fa] - build: improve the format-cpp error message (Darshan Sen) #42765
  • [fc55a6798f] - build: run clang-format on CI (Darshan Sen) #42681
  • [46bc3c1af1] - build: consolidate JS and md linting GitHub Actions (Rich Trott) #42572
  • [dd7aa2d51f] - build: set stale action back to running nightly (Michael Dawson) #42549
  • [dda77aa63b] - build: bump actions/checkout (Eliaz Bobadilla) #42460
  • [0d93b425cf] - meta: update AUTHORS (Node.js GitHub Bot) #43966
  • [7a974457df] - meta: update node-api in label-pr-config (Daeyeon Jeong) #43794
  • [dff6068c9a] - meta: update AUTHORS (Node.js GitHub Bot) #43872
  • [80d562b051] - meta: use platform dropdown on flaky template (Rafael Gonzaga) #43855
  • [162c7cbb54] - meta: enable blank issues (Matteo Collina) #43775
  • [becfcb4d97] - meta: move one or more collaborators to emeritus (Node.js GitHub Bot) #43770
  • [78bb3ab8e8] - meta: update AUTHORS (Node.js GitHub Bot) #43750
  • [b62574c4bd] - meta: update AUTHORS (Node.js GitHub Bot) #43660
  • [965367f586] - meta: update AUTHORS (Node.js GitHub Bot) #43573
  • [3760490c3a] - meta: update AUTHORS (Node.js GitHub Bot) #43480
  • [5c6021772f] - meta: move one or more collaborators to emeritus (Node.js GitHub Bot) #43399
  • [a544a09662] - meta: update AUTHORS (Node.js GitHub Bot) #43387
  • [d0084daa8a] - meta: move one or more collaborators to emeritus (#43183) (Node.js GitHub Bot) #43183
  • [bb7b1dcb7a] - meta: update AUTHORS (Node.js GitHub Bot) #43312
  • [aa868efe15] - meta: update AUTHORS (Node.js GitHub Bot) #43231
  • [fb5d9b7fb5] - meta: add mailmap entry for legendecas (Chengzhong Wu) #43156
  • [06578724bd] - meta: add mailmap entry for npm team (Luigi Pinca) #43143
  • [bd6912def5] - meta: add mailmap entry for Morgan Roderick (Luigi Pinca) #43144
  • [3db25bfc63] - meta: add mailmap entry for ShogunPanda (Paolo Insogna) #43094
  • [0ce67e22fb] - meta: update .mailmap for recent README name change (Rich Trott) #43027
  • [74ed25ddf5] - meta: update AUTHORS (Node.js GitHub Bot) #43004
  • [72e9ca1a45] - meta: move one or more collaborators to emeritus (Node.js GitHub Bot) #42937
  • [c351bf682a] - meta: update AUTHORS (Node.js GitHub Bot) #42848
  • [54d94d04ca] - meta: move one or more collaborators to emeritus (Node.js GitHub Bot) #42769
  • [412b3313c9] - meta: update AUTHORS (Node.js GitHub Bot) #42760
  • [499d0100a6] - meta: move mmarchini to emeritus (mary marchini) #42750
  • [7f857d16b8] - meta: update AUTHORS (Node.js GitHub Bot) #42677
  • [0994001a51] - meta: move one or more collaborators to emeritus (Node.js GitHub Bot) #42599
  • [ac1c0122e4] - meta: update .mailmap and AUTHORS (Rich Trott) #42602
  • [c7264b712b] - meta: move one or more collaborators to emeritus (Node.js GitHub Bot) #42500
  • [bc4bd92bb8] - meta: update AUTHORS (Node.js GitHub Bot) #42585
  • [bcd8a55f37] - meta: update AUTHORS (Node.js GitHub Bot) #42488
  • [e6db8099f8] - test: refactor ESM tests to improve performance (Jacob Smith) #43784
  • [0046b9a478] - test: add test on worker process.exit in async modules (Chengzhong Wu) #43751
  • [3a6df62cfd] - test: update WPT encoding tests (Kohei Ueno) #43958
  • [ca747ccb7e] - test: remove test-whatwg-events-add-event-listener-options-once.js (Feng Yu) #43877
  • [e22041734a] - test: work scheduled in process.nextTick can keep the event loop alive (Andreu Botella) #43787
  • [2730a10a58] - test: simplify test-tls-set-secure-context (Tobias Nießen) #43878
  • [ec3c331c73] - test: fix test http upload timeout (theanarkh) #43935
  • [19397a0488] - test: simplify ReplStream.wait() (Tobias Nießen) #43857
  • [918448e239] - test: ensure NODE_EXTRA_CA_CERTS not set before tests (KrayzeeKev) #43858
  • [f4cd579ae1] - test: add check to test-fs-readfile-tostring-fail (Richard Lau) #43850
  • [e271e3403e] - test: use common.mustNotMutateObjectDeep() in immutability tests (LiviaMedeiros) #43196
  • [409158c919] - test: add common.mustNotMutateObjectDeep() (LiviaMedeiros) #43196
  • [75e6933a39] - test: fix coverity warning in test (Michael Dawson) #43631
  • [087fc8dddf] - test: mark test-http-client-response-timeout flaky (Tobias Nießen) #43792
  • [993bf7b671] - test: mark flaky tests on smartos (Feng Yu) #43596
  • [a3a2a9ede5] - test: mark test-http-server-request-timeouts-mixed flaky on macOS (F3n67u) #43597
  • [7cb71c0c7e] - test: skip test-net-connect-reset-until-connected on SmartOS (Filip Skokan) #43449
  • [b5eb55646f] - test: add test for short-option followed by its value (Kohei Ueno) #43358
  • [8bd2f4e2b8] - test: use assert.match() instead of assert(regex.test()) (Antoine du Hamel) #42803
  • [f99b0d02e7] - test: fix typo in test-stream-toArray (Tobias Nießen) #41634
  • [95a823dc26] - test: fix typo in file name (Antoine du Hamel) #43764
  • [c291233955] - test: improve lib/internal/test_runner/test.js coverage (MURAKAMI Masahiko) #42745
  • [a5e16203a3] - test: mark test-net-connect-reset-until-connected flaky on freebsd (Feng Yu) #43613
  • [42610cc8e2] - test: mark test-gc-http-client-timeout as flaky on arm (Chengzhong Wu) #43754
  • [cc5f17f128] - test: add test for profile command of node inspect (Kohei Ueno) #43058
  • [11df17c2f9] - test: use Object for tests variable in fs trace test (Feng Yu) #43585
  • [61ddd50c38] - test: improve code coverage for performance_entry (Kohei Ueno) #43434
  • [341799a0c3] - test: add test to ensure repl doesn't support --input-type (cola119) #43507
  • [9bc4ad0483] - test: fix flaky test-perf-hooks-histogram (Santiago Gimeno) #43567
  • [4d8daae236] - test: fix Buffer.from(ArrayBufferView) call (LiviaMedeiros) #43614
  • [8c7597373f] - test: mark test-worker-http2-stream-terminate flaky on all platforms (Finn Yu) #43620
  • [e8754f3557] - test: improve code coverage for SourceMap class (italo jose) #43285
  • [93de96f844] - test: refactor to top-level await (Meek Simbule) #43500
  • [f3e9fd7a00] - test: skip test-v8-serialize-leak on IBM i (Richard Lau) #43511
  • [65c3e901eb] - test: use unique file names in fs trace test (Ben Noordhuis) #43504
  • [7ce80d81ed] - test: allow EOVERFLOW errors in fs position tests (Richard Lau) #43510
  • [bf5adf37f3] - test: add WPT tests for dom/events (Daiki Nishikawa) #43151
  • [a5df207c2b] - test: replace gc(true) with gc({ type: 'minor' }) (Tobias Nießen) #43493
  • [222a6e94ed] - test: improve coverage for load hooks (Antoine du Hamel) #43374
  • [9c1fffc93e] - test: refactor to top-level await (Meek Simbule) #43366
  • [4ff1c32f44] - test: rename test-eventtarget-whatwg-*.js (Daeyeon Jeong) #43467
  • [68a138333b] - test: mark test-worker-http2-stream-terminate flaky on Windows (Darshan Sen) #43425
  • [6fcb349fda] - Revert "test: mark test_buffer/test_finalizer flaky" (Matteo Collina) #43418
  • [38336403d2] - test: make node-api/test_buffer/test_finalizer not flaky (Matteo Collina) #43418
  • [8e5e5a10c1] - test: reduce flakiness of test-fs-read-position-validation.mjs (LiviaMedeiros) #42999
  • [b750ff1452] - test: remove the legacy url parser function (Kohei Ueno) #42656
  • [01c9f5b2ae] - test: only skip slow tests on Raspberry Pi devices (Richard Lau) #42645
  • [d2a615f31d] - test: fix typos in test/parallel (Daeyeon Jeong) #42502
  • [147f99c42c] - test: improve code coverage for streams/duplexify (Erick Wendel) #41862
  • [339d2e1282] - test: remove unused argument in test-util-inspect.js (Colin Ihrig) #43395
  • [f49d66be2e] - test: mark test_buffer/test_finalizer flaky (Michael Dawson) #43414
  • [36f16728a5] - test: fix address in use error (Caleb Everett) #43199
  • [cd1c1d53e8] - test: fix common.mustNotCall error message (Antoine du Hamel) #42917
  • [b72b217dec] - test: convert then to async/await (Meek Simbule) #43292
  • [94f60ec0f3] - test: add BigInts to common.getArrayBufferViews() (LiviaMedeiros) #43235
  • [fa70c99564] - test: improve code coverage for inspector connection errors (Kohei Ueno) #42310
  • [43e55c6380] - test: use mustSucceed instead of mustCall with assert.ifError (MURAKAMI Masahiko) #43188
  • [79b6a8cc4a] - test: improve readline/emitKeypressEvents.js coverage (OneNail) #42908
  • [c37c8723b0] - test: fix dangerous .map in test/parallel/test-http-set-trailers.js (LiviaMedeiros) #43087
  • [c4d35b0941] - test: rename handlewrap.hasref tests (Daeyeon Jeong) #42754
  • [41028fb0d6] - test: improve observable ICU behaviour coverage (LiviaMedeiros) #42683
  • [53cbcf0202] - test: validate webstream encoder/decoder inspector (Yoshiki Kurihara) #42747
  • [fc6456ed54] - test: usemustSucceed instead of mustCall with assert.ifError (MURAKAMI Masahiko) #42806
  • [24c4f76873] - test: improve lib/internal/webstreams/readablestream.js coverage (MURAKAMI Masahiko) #42823
  • [eceb318796] - test: add test for position validation in fs.read() and fs.readSync() (LiviaMedeiros) #42837
  • [1e473de619] - test: add tests for extracting function name (Kohei Ueno) #42399
  • [4a68984fa6] - test: simplify test-gc-{http-client,net}-* (Luigi Pinca) #42782
  • [64097a4fdd] - test: check ecdsa psychic signature (Filip Skokan) #42863
  • [53fb735bfa] - test: fix port in net-perf_hooks (LiviaMedeiros) #42761
  • [3d9975e932] - test: skip test that cannot pass under --node-builtin-modules-path (Geoffrey Booth) #42834
  • [6e0c0768de] - test: fix calculations in test-worker-resource-limits (Joyee Cheung) #42702
  • [f67c53f778] - test: improve test coverage of internal/blob (Yoshiki Kurihara) #41513
  • [2db988a20e] - test: improve internal/url.js coverage (Yoshiki Kurihara) #42650
  • [a38c122685] - test: allow numeric string for lookupService test (Daeyeon Jeong) #42596
  • [11650df453] - test: remove an unnecessary undefined in wpt (Khaidi Chu) #41470
  • [faebca4459] - test: simplify test-http-write-callbacks.js (Tobias Nießen) #42628
  • [9e945439a5] - test: pass data into napi_create_external (Joyee Cheung) #42532
  • [a7b865ca8d] - test: improve FileHandle.prototype.write coverage (Antoine du Hamel) #42541
  • [82d5e57ac0] - test: add test for exception handlings in debugger (Kohei Ueno) #42327
  • [b51e5fe06f] - test: fix typo in common/wpt.js (Ikko Ashimine) #42567
  • [bc60c5d902] - test: add trace-gc flag test (Tony Gorez) #42471
  • [1641ff5db7] - test,fs: add fs.rm() tests for .git directories (Darshan Sen) #42410
  • [3e33e905a8] - tools: report unsafe string and regex primordials as lint errors (Antoine du Hamel) #43393
  • [1d09407840] - tools: add avoid-prototype-pollution lint rule (Antoine du Hamel) #43308
  • [e9b647a288] - tools: add more options to track flaky tests (Antoine du Hamel) #43954
  • [01a44348e0] - tools: add verbose flag to inactive TSC finder (Rich Trott) #43913
  • [420c9bb084] - tools: add support for using API key to vuln checking script (Facundo Tuesca) #43909
  • [7145125051] - tools: support versioned node shared libs on z/OS (alexcfyung) #42256
  • [ff20308475] - tools: update doc to [email protected] (Node.js GitHub Bot) #43870
  • [51643323ba] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #43871
  • [b57758b710] - tools: update eslint to 8.20.0 (Node.js GitHub Bot) #43873
  • [5fd26da477] - tools: add script for vulnerability checking (Facundo Tuesca) #43362
  • [987efcb504] - tools: remove rpm build scripts (Ben Noordhuis) #43647
  • [4a2422ae38] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #43749
  • [8a69cdaa65] - tools: refactor tools/license2rtf to ESM (Feng Yu) #43232
  • [d39fd4e5ce] - tools: update eslint to 8.19.0 (Node.js GitHub Bot) #43662
  • [d615f3b181] - tools: update lint-md-dependencies (Node.js GitHub Bot) #43572
  • [a5089c9b6d] - tools: fix CJS/ESM toggle on small screens (Antoine du Hamel) #43506
  • [aeffe5f956] - tools: update main branch name (Feng Yu) #43440
  • [d9a4a8519e] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #43386
  • [29976a356b] - tools: update eslint to 8.18.0 (Node.js GitHub Bot) #43479
  • [2ceb19dbc2] - tools: fix create-or-update-pull-request-action hash on GHA (Antoine du Hamel) #43378
  • [ddea965f48] - tools: fix find-inactive actions (LiviaMedeiros) #43377
  • [7730f0cb81] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #43313
  • [e6dbdb19b5] - tools: update eslint to 8.17.0 (Node.js GitHub Bot) #43314
  • [2bd60b1fad] - tools: use hashes instead of tags for external actions (#43284) (Antoine du Hamel) #43284
  • [ab45ba5f92] - tools: update codecov/codecov-action version (Antoine du Hamel) #43297
  • [276dff1523] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #43261
  • [9c03ddb731] - tools: update clang-format 1.7.0 to 1.8.0 (Darshan Sen) #43241
  • [5a9047eb6b] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #43230
  • [4f7c7d260b] - tools: refactor build-addons.js to ESM (Feng Yu) #43099
  • [4817b1ff1b] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #43172
  • [c89512a5c7] - tools: update eslint to 8.16.0 (Node.js GitHub Bot) #43174
  • [3bb46f9cd9] - tools: refactor update-authors.js to ESM (Feng Yu) #43098
  • [3fa2c3ce85] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #43107
  • [4b82cb66ed] - tools: update eslint to 8.15.0 (Node.js GitHub Bot) #43005
  • [54e36f5883] - tools: refactor lint-sh.js to esm module (Feng Yu) #42942
  • [1e7d6bd99c] - tools: update lint-md-dependencies (Node.js GitHub Bot) #43003
  • [7b6ed2cec9] - tools: update lint-md-dependencies (Node.js GitHub Bot) #42932
  • [e8ef4f2b47] - tools: bump jsdoccomment from 0.22.1 to 0.29.0 (Rich Trott) #42857
  • [7a7491a8c2] - tools: update eslint to 8.14.0 (Node.js GitHub Bot) #42845
  • [a3d4579135] - tools: update doc to [email protected] (Node.js GitHub Bot) #42758
  • [f29a1a04ed] - tools: update lint-md-dependencies (Node.js GitHub Bot) #42759
  • [534369402c] - tools: lint osx shell scripts (LiviaMedeiros) #42712
  • [3370ef9c85] - tools: update clang-format 1.6.0 to 1.7.0 (Rich Trott) #42724
  • [ed41eb2b0d] - tools: update clang-format from 1.2.3 to 1.6.0 (Rich Trott) #42685
  • [9ba37645c3] - tools: update eslint to 8.13.0 (Node.js GitHub Bot) #42678
  • [348876e964] - tools: update gyp-next to v0.12.1 (Michaël Zasso) #42625
  • [ec5548b3aa] - tools: update lint-md-dependencies to @rollup/[email protected] (Node.js GitHub Bot) #42584
  • [36ddc6102f] - tools: enable no-var ESLint rule for lib (Rich Trott) #42573
  • [282b449d90] - tools: fixed bug causing JSON format to b

New in Node.js 18.7.0 Current (Jul 27, 2022)

  • Notable changes:
  • doc:
  • add F3n67u to collaborators (Feng Yu) #43953
  • deprecate coercion to integer in process.exit (Daeyeon Jeong) #43738
  • (SEMVER-MINOR) deprecate diagnostics_channel object subscribe method (Stephen Belanger) #42714
  • events:
  • (SEMVER-MINOR) expose CustomEvent on global with CLI flag (Daeyeon Jeong) #43885
  • (SEMVER-MINOR) add CustomEvent (Daeyeon Jeong) #43514
  • http:
  • (SEMVER-MINOR) add drop request event for http server (theanarkh) #43806
  • lib:
  • (SEMVER-MINOR) improved diagnostics_channel subscribe/unsubscribe (Stephen Belanger) #42714
  • util:
  • (SEMVER-MINOR) add tokens to parseArgs (John Gee) #43459
  • Commits:
  • [0aa255ab72] - bootstrap: handle snapshot errors gracefully (Joyee Cheung) #43531
  • [0783ddf57e] - buffer: do not leak memory if buffer is too big (Keyhan Vakil) #43938
  • [12657accdd] - build: add .gitattributes for npm and other shims (Hrishikesh Kadam) #43879
  • [c2db4f4581] - build: make GitPod less noisy (Rich Trott) #43829
  • [364deeadcd] - build: add GitHub token permissions for workflows (Varun Sharma) #43743
  • [8b83b4d5be] - child_process: do not need to count length when maxBuffer is Infinity (theanarkh) #43822
  • [c1893b7a7c] - child_process: avoid repeated calls to normalizeSpawnArguments (木杉) #43345
  • [7b276b89b9] - cluster: send connection to other server when worker drop it (theanarkh) #43747
  • [e8c66f92a5] - crypto: remove unneeded guard (Rich Trott) #43856
  • [c95132e9ea] - deps: cherry-pick libuv/libuv@3a7b955 (Ben Noordhuis) #43950
  • [cc8d5426d2] - deps: cherry-pick libuv/libuv@abb109f (Ben Noordhuis) #43950
  • [7762e463d6] - deps: update corepack to 0.12.1 (Node.js GitHub Bot) #43965
  • [1256c4dad5] - deps: update hast-util-raw (Moshe Atlow) #43927
  • [aac97c2d2a] - deps: update undici to 5.8.0 (Node.js GitHub Bot) #43886
  • [cdff61917d] - deps: clean archs files for OpenSSL (RafaelGSS) #43735
  • [fc936a84e4] - deps: remove not used architectures (RafaelGSS) #43735
  • [361a643d8b] - deps: V8: backport f3cad8cec656 (Joyee Cheung) #43531
  • [2e1732ebd0] - deps: V8: backport 22698d267667 (Chengzhong Wu) #43751
  • [979f469d3a] - deps: upgrade npm to 8.15.0 (npm team) #43917
  • [4096d81988] - deps: upgrade npm to 8.14.0 (npm team) #43826
  • [2ec8092e2c] - deps,src: use SIMD for normal base64 encoding (Brian White) #39775
  • [67b4edde37] - dns: fix getServers return undefined (jiahao.si) #43922
  • [7c75539a88] - dns: fix cares memory leak (theanarkh) #43912
  • [1f80b88da5] - doc: update email and mailmap for BethGriggs (Beth Griggs) #43985
  • [8a2a6e16eb] - doc: add 15.x - 18.x to Other Versions section (shhh7612) #43940
  • [51cb0d42ca] - doc: inspector.close undefined in worker threads (Keyhan Vakil) #43867
  • [c789c0f5f7] - doc: improve documentation for safe Promise statics alternatives (Antoine du Hamel) #43759
  • [cb9b0e0011] - doc: recommend git-node-v8 (Keyhan Vakil) #43934
  • [d7e9bd1830] - doc: clarify subprocess.stdout/in/err property (Kohei Ueno) #43910
  • [808793ebb5] - doc: fix typo in src/crypto/README.md (Jianru Lin) #43968
  • [bbc455c4f9] - doc: remind backporter about v8_embedder_string (Keyhan Vakil) #43924
  • [a86b66c8b4] - doc: fix typo in http.md (Airing) #43933
  • [a96af37233] - doc: add F3n67u to collaborators (Feng Yu) #43953
  • [aa7d4e59f7] - doc: improve test runner timeout docs (Tobias Nießen) #43836
  • [80c2fa8212] - doc: mention Win 32-bit openssl build issue (RafaelGSS) #43853
  • [8b8c55df7e] - doc: add security release specifics to releases.md (Beth Griggs) #43835
  • [42693aaf9f] - doc: add history info for global.performance (Antoine du Hamel) #43841
  • [140d6af572] - doc: add platform-windows-arm to who to CC (Michael Dawson) #43808
  • [976093efe3] - doc: document ES2022's Error "cause" property (James Ide) #43830
  • [ec7e45e4a2] - doc: include make clean to openssl arch (RafaelGSS) #43735
  • [d64dfd53c9] - doc: add link to diagnostic tools (Rafael Gonzaga) #43736
  • [2910136920] - doc: update links to MDN page about dynamic imports (Jannis R) #43847
  • [d88a9fae79] - doc: deprecate coercion to integer in process.exit (Daeyeon Jeong) #43738
  • [fc843e103d] - doc: add MoLow to triagers (Moshe Atlow) #43799
  • [8c8c97da61] - (SEMVER-MINOR) doc: deprecate diagnostics_channel object subscribe method (Stephen Belanger) #42714
  • [9b53a694b5] - doc: revert anachronistic 'node:' module require()s in API history notes (DeeDeeG) #43768
  • [2815bd3002] - doc: clarify release process for new releasers (Rafael Gonzaga) #43739
  • [50b3750e67] - doc: fix typo in ngtcp2 readme (Dan Castillo) #43767
  • [6bcd40dd85] - domain: fix vm promise tracking while keeping isolation (Stephen Belanger) #43556
  • [e89e0b470b] - esm: remove superfluous argument (Rich Trott) #43884
  • [0d2921f396] - esm: fix erroneous re-initialization of ESMLoader (Jacob Smith) #43763
  • [9b5b8d78c3] - esm: throw on any non-2xx response (LiviaMedeiros) #43742
  • [dfc4832ef1] - (SEMVER-MINOR) events: expose CustomEvent on global with CLI flag (Daeyeon Jeong) #43885
  • [e4473952ae] - (SEMVER-MINOR) events: add CustomEvent (Daeyeon Jeong) #43514
  • [100f6deb09] - fs: use signed types for stat data (LiviaMedeiros) #43714
  • [25ec71db63] - http: fix http server connection list when close (theanarkh) #43949
  • [ca658c8afe] - (SEMVER-MINOR) http: add drop request event for http server (theanarkh) #43806
  • [9c699bd8a8] - http: wait for pending responses in closeIdleConnections (Paolo Insogna) #43890
  • [781d5e54e3] - inspector: set sampling interval before start (Shelley Vohr) #43779
  • [0b5dbb2a56] - lib: refactor PriorityQueue to use private field (Finn Yu) #43889
  • [324473ca32] - (SEMVER-MINOR) lib: improved diagnostics_channel subscribe/unsubscribe (Stephen Belanger) #42714
  • [5aa3b213ac] - meta: update AUTHORS (Node.js GitHub Bot) #43966
  • [e707552357] - meta: update node-api in label-pr-config (Daeyeon Jeong) #43794
  • [8a8de94034] - meta: update AUTHORS (Node.js GitHub Bot) #43872
  • [7d49fc766c] - meta: use platform dropdown on flaky template (Rafael Gonzaga) #43855
  • [e4aa50fc3f] - meta: enable blank issues (Matteo Collina) #43775
  • [ceb7c150ec] - meta: move one or more collaborators to emeritus (Node.js GitHub Bot) #43770
  • [29bcd47738] - net: fix socket._getpeername (Daeyeon Jeong) #43010
  • [380659daf1] - process: use defineProperty instead of assignment (Mark S. Miller) #43907
  • [aba9c8ebea] - repl: fix overzealous top-level await (Tobias Nießen) #43827
  • [1deb6b73b7] - repl: use SafePromiseAll and SafePromiseRace (Antoine du Hamel) #43758
  • [bf8f2e23ff] - src: refactor DH groups to delete crypto_groups.h (Tobias Nießen) #43896
  • [9435fbf8cd] - src: remove dead code in base64_encode (Tobias Nießen) #43979
  • [2c47e58ea0] - src: fix regression that a source marker is lost (cola119) #43086
  • [d084150320] - src: per-isolate eternal template properties (Chengzhong Wu) #43802
  • [9f9d00ccbb] - src: merge NativeModuleEnv into NativeModuleLoader (Joyee Cheung) #43824
  • [bb512904e9] - src: use named struct instead of typedef (Tobias Nießen) #43881
  • [bb5511e8cc] - src: use named enum instead of typedef (Tobias Nießen) #43880
  • [5db0c8f667] - src: pass only Isolate* and env_vars to EnabledDebugList::Parse() (Darshan Sen) #43668
  • [249365524e] - src: fix node watchdog race condition (theanarkh) #43780
  • [17cb27237d] - src: deduplicate SetALPN implementations (Tobias Nießen) #43756
  • [b4c75a96be] - src: fix napi_check_object_type_tag() (Daeyeon Jeong) #43788
  • [8432d6596f] - src: slim down env-inl.h (Ben Noordhuis) #43745
  • [2266a4b6d6] - stream: improve respondWithNewView() (Daeyeon Jeong) #43866
  • [bf3991b406] - stream: fix 0 transform hwm backpressure (Robert Nagy) #43685
  • [a057510037] - stream: initial approach to include strategy options on Readable.toWeb() (txxnano) #43515
  • [198cf59d2c] - test: update WPT encoding tests (Kohei Ueno) #43958
  • [f0ed1aed8d] - test: remove test-whatwg-events-add-event-listener-options-once.js (Feng Yu) #43877
  • [88505556fe] - test: work scheduled in process.nextTick can keep the event loop alive (Andreu Botella) #43787
  • [81a21946eb] - test: simplify test-tls-set-secure-context (Tobias Nießen) #43878
  • [61cd11a8a7] - test: use common.mustNotMutateObjectDeep() in fs tests (LiviaMedeiros) #43819
  • [b1081dbe12] - test: fix test http upload timeout (theanarkh) #43935
  • [efd5e0e925] - test: simplify ReplStream.wait() (Tobias Nießen) #43857
  • [ef21ad2996] - test: merge test-crypto-dh-hash with modp18 test (Tobias Nießen) #43891
  • [e502c50a90] - test: refactor test/es-module/test-esm-resolve-type (Antoine du Hamel) #43178
  • [c782c3dc69] - test: ensure NODE_EXTRA_CA_CERTS not set before tests (KrayzeeKev) #43858
  • [bb6787cb57] - test: add check to test-fs-readfile-tostring-fail (Richard Lau) #43850
  • [7571704186] - test: complete TODO in test/wpt/test-url.js (Kohei Ueno) #43797
  • [6f1d2dfb9d] - test: add test on worker process.exit in async modules (Chengzhong Wu) #43751
  • [776cc3abbd] - test: use common.mustNotMutateObjectDeep() in immutability tests (LiviaMedeiros) #43196
  • [42f2deb3a0] - test: add common.mustNotMutateObjectDeep() (LiviaMedeiros) #43196
  • [f3fc51c508] - test: fix coverity warning in test (Michael Dawson) #43631
  • [a9ecba2fa8] - test: mark test-http-client-response-timeout flaky (Tobias Nießen) #43792
  • [cd0d9ddb7c] - test_runner: add support for boolean values for concurrency option (Lenvin Gonsalves) #43887
  • [f98020138a] - test_runner: validate timeout option (Antoine du Hamel) #43843
  • [58d15b3687] - test_runner: pass signal on timeout (Moshe Atlow) #43911
  • [8b0248506f] - test_runner: do not report an error when tests are passing (Antoine du Hamel) #43919
  • [aa8053e1fa] - test_runner: recieve and pass AbortSignal (Moshe Atlow) #43554
  • [f13e4c1be9] - test_runner: fix it concurrency (Moshe Atlow) #43757
  • [e404a3ef6d] - test_runner: support timeout for tests (Moshe Atlow) #43505
  • [f28198cc05] - test_runner: catch errors thrown within describe (Moshe Atlow) #43729
  • [bfe0ac6cd0] - tools: add more options to track flaky tests (Antoine du Hamel) #43954
  • [17a4e5e775] - tools: add verbose flag to inactive TSC finder (Rich Trott) #43913
  • [373304b0c7] - tools: add support for using API key to vuln checking script (Facundo Tuesca) #43909
  • [ed45088c14] - tools: support versioned node shared libs on z/OS (alexcfyung) #42256
  • [c9ecd6d21f] - tools: update doc to [email protected] (Node.js GitHub Bot) #43870
  • [c92135aa0f] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #43871
  • [e12bf40fd1] - tools: update eslint to 8.20.0 (Node.js GitHub Bot) #43873
  • [09fe9b30a9] - tools: add script for vulnerability checking (Facundo Tuesca) #43362
  • [19e8876877] - trace_events: trace net connect event (theanarkh) #43903
  • [1af7f24143] - util: remove unicode support todo for perf implications (Rhys) #43762
  • [acfc33ca8c] - (SEMVER-MINOR) util: add tokens to parseArgs (John Gee) #43459
  • [f32aec8a6d] - util: refactor to use validateObject (Kohei Ueno) #43769
  • [d7cfd0c5ba] - v8: serialize BigInt64Array and BigUint64Array (Ben Noordhuis) #43571

New in Node.js 18.6.0 Current (Jul 14, 2022)

  • Notable changes:
  • deps:
  • upgrade openssl sources to OpenSSL_1_1_1q (RafaelGSS) #43692
  • src:
  • add OpenSSL config appname (Daniel Bevenius) #43124
  • Commits:
  • [2303fd3fe5] - deps: update archs files for OpenSSL-1.1.1q (RafaelGSS) #43692
  • [b219a63c28] - deps: upgrade openssl sources to OpenSSL_1_1_1q (RafaelGSS) #43692
  • [c6553a4ef5] - deps: update archs files for OpenSSL-1.1.1p+quic (RafaelGSS) #43535
  • [e9084a3e90] - deps: upgrade openssl sources to OpenSSL_1_1_1p+quic (RafaelGSS) #43535
  • [1da22eb482] - http: stricter Transfer-Encoding and header separator parsing (Paolo Insogna) nodejs-private/node-private#315
  • [754c9bfde0] - src: fix IPv4 validation in inspector_socket (Tobias Nießen) nodejs-private/node-private#320
  • [447cf680b0] - (SEMVER-MAJOR) src,deps,build,test: add OpenSSL config appname (Daniel Bevenius) #43124

New in Node.js 18.5.0 Current (Jul 8, 2022)

  • Notable Changes:
  • [3f0c3e142d] - (SEMVER-MAJOR) src,deps,build,test: add OpenSSL config appname (Daniel Bevenius) #43124
  • [9578158ff8] - (SEMVER-MAJOR) src,doc,test: add --openssl-shared-config option (Daniel Bevenius) #43124
  • Node.js now reads nodejs_conf section in the openssl config
  • [dc7af13486] - deps: update archs files for quictls/openssl-3.0.5+quic (RafaelGSS) #43693
  • [fa72c534eb] - deps: upgrade openssl sources to quictls/openssl-3.0.5+quic (RafaelGSS) #43693
  • Commits:
  • [dc7af13486] - deps: update archs files for quictls/openssl-3.0.5+quic (RafaelGSS) #43693
  • [fa72c534eb] - deps: upgrade openssl sources to quictls/openssl-3.0.5+quic (RafaelGSS) #43693
  • [a5fc2deb43] - deps: update default openssl.cnf directory (Michael Dawson) nodejs-private/node-private#335
  • [f2407748e3] - http: stricter Transfer-Encoding and header separator parsing (Paolo Insogna) nodejs-private/node-private#315
  • [e4af5eba95] - src: fix IPv4 validation in inspector_socket (Tobias Nießen) nodejs-private/node-private#320
  • [3f0c3e142d] - (SEMVER-MAJOR) src,deps,build,test: add OpenSSL config appname (Daniel Bevenius) #43124
  • [9578158ff8] - (SEMVER-MAJOR) src,doc,test: add --openssl-shared-config option (Daniel Bevenius) #43124

New in Node.js 16.16.0 LTS (Jul 8, 2022)

  • Notable changes:
  • deps:
  • upgrade openssl sources to OpenSSL_1_1_1q (RafaelGSS) #43692
  • src:
  • add OpenSSL config appname (Daniel Bevenius) #43124
  • Commits:
  • [2303fd3fe5] - deps: update archs files for OpenSSL-1.1.1q (RafaelGSS) #43692
  • [b219a63c28] - deps: upgrade openssl sources to OpenSSL_1_1_1q (RafaelGSS) #43692
  • [c6553a4ef5] - deps: update archs files for OpenSSL-1.1.1p+quic (RafaelGSS) #43535
  • [e9084a3e90] - deps: upgrade openssl sources to OpenSSL_1_1_1p+quic (RafaelGSS) #43535
  • [1da22eb482] - http: stricter Transfer-Encoding and header separator parsing (Paolo Insogna) nodejs-private/node-private#315
  • [754c9bfde0] - src: fix IPv4 validation in inspector_socket (Tobias Nießen) nodejs-private/node-private#320
  • [447cf680b0] - (SEMVER-MAJOR) src,deps,build,test: add OpenSSL config appname (Daniel Bevenius) #43124

New in Node.js 18.4.0 Current (Jun 17, 2022)

  • Notable Changes:
  • crypto:
  • remove Node.js-specific webcrypto extensions (Filip Skokan) #43310
  • add CFRG curves to Web Crypto API (Filip Skokan) #42507
  • dns:
  • accept 'IPv4' and 'IPv6' for family (Antoine du Hamel) #43054
  • report:
  • add more heap infos in process report (theanarkh) #43116
  • Commits:
  • [702bfa0b7c] - async_hooks: use kEmptyObject (LiviaMedeiros) #43159
  • [f7c4015fd8] - bootstrap: consolidate global properties definition (Chengzhong Wu) #43357
  • [8d892f5259] - build: add nonpm and nocorepack to vcbuild.bat (Darshan Sen) #43219
  • [4109ddc005] - child_process: use kEmptyObject (LiviaMedeiros) #43159
  • [7b5cb14f0c] - cluster: use kEmptyObject (LiviaMedeiros) #43159
  • [9f1de2c005] - crypto: fix webcrypto import of cfrg raw public keys (Filip Skokan) #43404
  • [7f02e22998] - crypto: test webcrypto ec raw public key import (Filip Skokan) #43405
  • [0a075cb548] - crypto: fix webcrypto JWK EC and OKP import crv check (Filip Skokan) #43346
  • [df0903c8e8] - crypto: use kEmptyObject (LiviaMedeiros) #43159
  • [6d0053345e] - (SEMVER-MINOR) crypto: remove Node.js-specific webcrypto extensions (Filip Skokan) #43310
  • [28c034d6b5] - (SEMVER-MINOR) crypto: add CFRG curves to Web Crypto API (Filip Skokan) #42507
  • [fe7fd85109] - deps: update Corepack to 0.11.2 (Maël Nison) #43402
  • [517f17b214] - deps: update undici to 5.5.1 (Node.js GitHub Bot) #43412
  • [f4c830fbe4] - deps: upgrade npm to 8.12.1 (npm CLI robot) #43301
  • [0bb84b09a5] - (SEMVER-MINOR) dns: accept 'IPv4' and 'IPv6' for family (Antoine du Hamel) #43054
  • [f91babe494] - doc: packages documentation updates for 12 EOL (Guy Bedford) #43375
  • [066f963ec1] - doc: add initial doc on how to update cjs-module-lexer (Michael Dawson) #43255
  • [36e5684ae0] - doc: clarify use of deps/icu-small (Michael Dawson) #43287
  • [b9634e7ef3] - doc: remove llnode from diag tierlist (Tony Gorez) #43289
  • [4caeb10e7b] - doc: remove ETW from diag tierlist (Tony Gorez) #43295
  • [41955e5ce5] - doc: use serial comma in report docs (Tobias Nießen) #43394
  • [e30d4c1cb0] - doc: add fspromises mkdir example (Tierney Cyren) #40843
  • [adec5fa929] - doc: add F3n67u to triagers (Feng Yu) #43350
  • [cc3505b192] - doc: fix typo in globals.md (Daeyeon Jeong) #43365
  • [052c8eaf6a] - doc: use serial comma in webstreams docs (Tobias Nießen) #43353
  • [b824a0b7d0] - doc: fix specifier example in esm.md (hiroki osame) #43351
  • [d558b3c028] - doc: add undici to glossary (F3n67u) #43327
  • [f9ad98f5cb] - doc: change glossary link in pull request guide to node's glossary doc (Feng Yu) #43318
  • [02944a6783] - doc: fix typo in util.parseArgs usage example (Michael Ficarra) #43332
  • [f2bc6a3f71] - doc: improve description of TZ (Tobias Nießen) #43334
  • [9335ea6c35] - doc: use serial comma in net docs (Tobias Nießen) #43335
  • [05f38c6c3e] - doc: make clear the result of comparison between Symbol.for (Kohei Ueno) #43309
  • [c9aed9de9f] - doc: add missing require to stream api doc (Feng Yu) #43237
  • [f3188c1c9c] - doc: add CIGTM to glossary.md (Feng Yu) #43316
  • [c572d2d115] - doc: use serial comma in pull request doc (Feng Yu) #43319
  • [8a4e1fa002] - doc: use serial comma in ESM docs (Tobias Nießen) #43322
  • [fff0560a66] - doc: promote cdt to tier 3 (Tony Gorez) #43290
  • [7d0f6da97f] - doc: fix chromium document link in pull-requests.md (rikapo) #43265
  • [4674b0d2a5] - doc: fix 404 link of BUILDING.md (Feng Yu) #43234
  • [ee392c5c0b] - doc: update CHANGELOG_V18.md (Filip Skokan) #43298
  • [5a3a2a197f] - doc: add src/crypto to CC list for nodejs/crypto (Tobias Nießen) #43286
  • [69ce50396c] - doc: use serial comma in console docs (Tobias Nießen) #43257
  • [0c5092c51c] - events: fix adding abort listener in events.once (Daeyeon Jeong) #43373
  • [fda2105481] - events: use kEmptyObject (LiviaMedeiros) #43159
  • [63bf49b143] - fs: use kEmptyObject (LiviaMedeiros) #43159
  • [9b764531b9] - fs: export constants from fs/promises (Feng Yu) #43177
  • [a4409f85f8] - http: use kEmptyObject (LiviaMedeiros) #43159
  • [2ffd54105a] - http2: use kEmptyObject (LiviaMedeiros) #43159
  • [b468b8fe51] - https: use kEmptyObject (LiviaMedeiros) #43159
  • [d2a98dc6cf] - inspector: add missing initialization (Michael Dawson) #43254
  • [3b2f7eed39] - lib: use kEmptyObject in various places (LiviaMedeiros) #43159
  • [4a9511d971] - lib: give names to promisified methods (LiviaMedeiros) #43218
  • [b8644606eb] - lib: use null-prototype objects for property descriptors (Antoine du Hamel) #43270
  • [64edd6cbc3] - meta: move one or more collaborators to emeritus (Node.js GitHub Bot) #43399
  • [b05cea57ba] - meta: update AUTHORS (Node.js GitHub Bot) #43387
  • [a8ecec57e3] - meta: move one or more collaborators to emeritus (#43183) (Node.js GitHub Bot) #43183
  • [60dc36244a] - meta: update AUTHORS (Node.js GitHub Bot) #43312
  • [9803b82ac7] - net,dns: move hasObserver out of perf function (theanarkh) #43217
  • [112518fb1d] - perf_hooks: fix function wrapped by timerify to work correctly (Kohei Ueno) #43330
  • [a3310d13bf] - perf_hooks: use kEmptyObject (LiviaMedeiros) #43159
  • [7e8a00a26d] - readline: fix question stack overflow (Eugene Chapko) #43320
  • [5e98cacf77] - readline: use kEmptyObject (LiviaMedeiros) #43159
  • [66d956ca49] - repl: make autocomplete case-insensitive (Sergey Petushkov) #41632
  • [201f3d7f56] - (SEMVER-MINOR) report: add more heap infos in process report (theanarkh) #43116
  • [a0568409b6] - src: fix json utils escapes for U+000B (Chengzhong Wu) #43206
  • [931ecfa033] - src: fix memory leaks and refactor ByteSource (Tobias Nießen) #43202
  • [5e65c1f3da] - src: convey potential exceptions during StreamPipe construction (Darshan Sen) #43240
  • [b200a5ff67] - stream: use kEmptyObject (LiviaMedeiros) #43159
  • [1cc1a57cdb] - test: remove unused argument in test-util-inspect.js (Colin Ihrig) #43395
  • [42c2115a82] - test: mark test_buffer/test_finalizer flaky (Michael Dawson) #43414
  • [71802c32d0] - test: fix address in use error (Caleb Everett) #43199
  • [e1b8c85a7a] - test: add test for short-option followed by its value (Kohei Ueno) #43358
  • [f8d26c6011] - test: fix common.mustNotCall error message (Antoine du Hamel) #42917
  • [18fffe6108] - test: convert then to async/await (Meek Simbule) #43292
  • [acd96d80eb] - test: add BigInts to common.getArrayBufferViews() (LiviaMedeiros) #43235
  • [e576a7fa50] - test_runner: use kEmptyObject (LiviaMedeiros) #43159
  • [fecad7a3a5] - timers: use kEmptyObject (LiviaMedeiros) #43159
  • [e31baca76a] - tls: use kEmptyObject (LiviaMedeiros) #43159
  • [7f8f61a749] - tls: fix performance regression in convertALPNProtocols() (LiviaMedeiros) #43250
  • [ac9599a718] - tools: report unsafe string and regex primordials as lint errors (Antoine du Hamel) #43393
  • [b69d874592] - tools: fix create-or-update-pull-request-action hash on GHA (Antoine du Hamel) #43378
  • [cf8a115983] - tools: add avoid-prototype-pollution lint rule (Antoine du Hamel) #43308
  • [8c0fe1e184] - tools: fix find-inactive actions (LiviaMedeiros) #43377
  • [7f45d69f83] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #43313
  • [d5d0f01c5a] - tools: update eslint to 8.17.0 (Node.js GitHub Bot) #43314
  • [f598fe1585] - tools: use hashes instead of tags for external actions (#43284) (Antoine du Hamel) #43284
  • [10f79947d9] - tools: update codecov/codecov-action version (Antoine du Hamel) #43297
  • [f93848fa50] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #43261
  • [b3d7dc1de8] - tools: update clang-format 1.7.0 to 1.8.0 (Darshan Sen) #43241
  • [812140c65a] - tools,doc: add guards against prototype pollution when creating proxies (Antoine du Hamel) #43391
  • [56b8cc5cef] - util: freeze kEnumerableProperty (LiviaMedeiros) #43390
  • [b187d55b6d] - util: add kEmptyObject to internal/util (LiviaMedeiros) #43159
  • [024b396275] - vm: use kEmptyObject (LiviaMedeiros) #43159
  • [7fc432fa35] - wasi: use kEmptyObject (LiviaMedeiros) #43159
  • [44b65d0ca7] - worker: use kEmptyObject (LiviaMedeiros) #43159

New in Node.js 18.3.0 Current (Jun 2, 2022)

  • Notable Changes:
  • [dc3b91f351] - deps: update undici to 5.4.0 (Node.js GitHub Bot) #43262
  • [d6cf409d78] - (SEMVER-MINOR) util: add parseArgs module (Benjamin Coe) #42675
  • [9539cfa358] - (SEMVER-MINOR) http: add uniqueHeaders option to request and createServer (Paolo Insogna) #41397
  • [41fdc2617d] - deps: upgrade npm to 8.11.0 (npm team) #43210
  • [0000654e47] - deps: patch V8 to 10.2.154.4 (Michaël Zasso) #43067
  • [b3c8e609fd] - (SEMVER-MINOR) deps: update V8 to 10.2.154.2 (Michaël Zasso) #42740
  • [3e89b7336d] - (SEMVER-MINOR) fs: make params in writing methods optional (LiviaMedeiros) #42601
  • [9539cfa358] - (SEMVER-MINOR) http: add uniqueHeaders option to request and createServer (Paolo Insogna) #41397
  • [8f5b4570e5] - (SEMVER-MINOR) net: add ability to reset a tcp socket (pupilTong) #43112
  • [5eff7b4a6a] - (SEMVER-MINOR) Revert "build: make x86 Windows support temporarily experimental" (Michaël Zasso) #42740
  • This means 32-bit Windows binaries are back with this release.
  • Commits:
  • [aefc9dda9a] - benchmark: add node-error benchmark (RafaelGSS) #43077
  • [85d81a764f] - bootstrap: include code cache in the embedded snapshot (Joyee Cheung) #43023
  • [5eff7b4a6a] - (SEMVER-MINOR) Revert "build: make x86 Windows support temporarily experimental" (Michaël Zasso) #42740
  • [d6634707c5] - (SEMVER-MINOR) build: run V8 tests with detected Python version (Richard Lau) #42740
  • [b8b5e6df67] - (SEMVER-MINOR) build: reset embedder string to "-node.0" (Michaël Zasso) #42740
  • [285ef30877] - console: fix console.dir crash on a revoked proxy (Daeyeon Jeong) #43100
  • [920d8c5300] - crypto: align webcrypto RSA key import/export with other implementations (Filip Skokan) #42816
  • [c76caadf2e] - debugger: throw a more useful error when the frame is missing (Kohei Ueno) #42776
  • [dc3b91f351] - deps: update undici to 5.4.0 (Node.js GitHub Bot) #43262
  • [35250bf2f6] - deps: regenerate OpenSSL archs files (Daniel Bevenius) #42973
  • [ecacc3a727] - deps: exclude linker scripts for windows builds (Daniel Bevenius) #42973
  • [41fdc2617d] - deps: upgrade npm to 8.11.0 (npm team) #43210
  • [87b248e27e] - deps: update undici to 5.3.0 (Node.js GitHub Bot) #43197
  • [d42de132a7] - deps: upgrade npm to 8.10.0 (npm team) #43061
  • [0000654e47] - deps: patch V8 to 10.2.154.4 (Michaël Zasso) #43067
  • [742ffefb44] - (SEMVER-MINOR) deps: make V8 10.2 ABI-compatible with 10.1 (Michaël Zasso) #42740
  • [c626a533c7] - deps: make V8 compilable with older glibc (Michaël Zasso) #42657
  • [76546b12a2] - deps: V8: fix v8-cppgc.h for MSVC (Jiawen Geng) #42657
  • [45e1fd4473] - deps: silence V8's warning on CompileFunction (Michaël Zasso) #40907
  • [2130891a9a] - (SEMVER-MINOR) deps: disable trap handler for Windows cross-compiler (Michaël Zasso) #40488
  • [e678b6c63d] - deps: fix V8 build issue with inline methods (Jiawen Geng) #38807
  • [f83323f304] - deps: V8: forward declaration of Rtl*FunctionTable (Refael Ackermann) #32116
  • [4be7584ca6] - deps: V8: un-cherry-pick bd019bd (Refael Ackermann) #32116
  • [b3c8e609fd] - (SEMVER-MINOR) deps: update V8 to 10.2.154.2 (Michaël Zasso) #42740
  • [0afdc3e9a8] - doc: use serial comma in errors docs (Tobias Nießen) #43242
  • [00989338b3] - doc: add note regarding %Array.prototype.concat% in primordials.md (Antoine du Hamel) #43166
  • [badf72dd0a] - doc: use serial comma in worker_threads docs (Tobias Nießen) #43220
  • [776e746f0a] - doc: fix napi version for node_api_symbol_for (Danielle Adams) #42878
  • [76b46801f8] - doc: document signal option for EventTarget#addEventListener (Antoine du Hamel) #43170
  • [3082c75efd] - doc: make minor adjustments (LiviaMedeiros) #43175
  • [598c1f102e] - doc: use serial comma in dgram docs (Tobias Nießen) #43191
  • [b772c13a62] - doc: use serial comma in process docs (Tobias Nießen) #43179
  • [f90a3d7a54] - doc: improved parallel specification (mawaregetsuka) #42679
  • [71074eedef] - doc: improve callback params for fs.mkdir (Daeyeon Jeong) #43016
  • [2b8b224077] - doc: remove outdated footnote (Python 2 --> 3 for V8 tests) (DeeDeeG) #43105
  • [945f228cf1] - doc: add release key for RafaelGSS (Rafael Gonzaga) #43131
  • [56fc712f93] - doc: use serial comma in assert docs (Tobias Nießen) #43154
  • [093a3cf2f1] - doc: fix errors in Performance hooks doc (OneNail) #43152
  • [4d9f43a8a7] - doc: use serial comma in dns docs (Tobias Nießen) #43145
  • [4e9393e32f] - doc: use ASCII apostrophes consistently (Tobias Nießen) #43114
  • [b3181851d7] - doc: add strategic initiative for shadow realm (Chengzhong Wu) #43037
  • [6f48dfb499] - fs: add trailing commas (LiviaMedeiros) #43127
  • [3e89b7336d] - (SEMVER-MINOR) fs: make params in writing methods optional (LiviaMedeiros) #42601
  • [9539cfa358] - (SEMVER-MINOR) http: add uniqueHeaders option to request and createServer (Paolo Insogna) #41397
  • [b187060f76] - http2: set origin name correctly when servername is empty (ofirbarak) #42838
  • [a07f5f28f3] - http2: improve tests and docs (Daeyeon Jeong) #42858
  • [701d40496d] - lib: refactor validateInt32 and validateUint32 (mawaregetsuka) #43071
  • [09da76493a] - meta: update AUTHORS (Node.js GitHub Bot) #43231
  • [1da6b7c32b] - meta: add mailmap entry for legendecas (Chengzhong Wu) #43156
  • [1be254b24e] - meta: add mailmap entry for npm team (Luigi Pinca) #43143
  • [7d8d9d625a] - meta: add mailmap entry for Morgan Roderick (Luigi Pinca) #43144
  • [8f5b4570e5] - (SEMVER-MINOR) net: add ability to reset a tcp socket (pupilTong) #43112
  • [11c783fa63] - net: remoteAddress always undefined called before connected (OneNail) #43011
  • [9c4e070567] - (SEMVER-MINOR) node-api: emit uncaught-exception on unhandled tsfn callbacks (Chengzhong Wu) #36510
  • [54d68b1afd] - perf_hooks: fix start_time of perf_hooks (theanarkh) #43069
  • [baa5d0005a] - src: refactor GetCipherValue and related functions (Tobias Nießen) #43171
  • [6ee9fb14e4] - src: make SecureContext fields private (Tobias Nießen) #43173
  • [1e2552ba6c] - src: reuse GetServerName (Tobias Nießen) #43168
  • [d8a14a2486] - src: fix static analysis warning and use smart ptr (Tobias Nießen) #43117
  • [72a767b7ca] - src: remove SecureContext::operator* (Tobias Nießen) #43121
  • [82fb037388] - src: move context snapshot index to SnapshotData (Joyee Cheung) #43023
  • [9577878258] - src: replace TraceEventScope with sync events (Chengzhong Wu) #42977
  • [41b69e3cf4] - src,lib: migrate to console on context's extra binding (Chengzhong Wu) #43142
  • [3e1ed1ee0c] - test: improve code coverage for inspector connection errors (Kohei Ueno) #42310
  • [d7ca2234dc] - test: use mustSucceed instead of mustCall with assert.ifError (MURAKAMI Masahiko) #43188
  • [9cc5ce6a24] - test: improve readline/emitKeypressEvents.js coverage (OneNail) #42908
  • [447bbd0d66] - tls: fix convertALPNProtocols accepting ArrayBufferViews (LiviaMedeiros) #43211
  • [df691464aa] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #43230
  • [d9fb25c936] - tools: refactor build-addons.js to ESM (Feng Yu) #43099
  • [0efeceb4a6] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #43172
  • [ed352a945c] - tools: update eslint to 8.16.0 (Node.js GitHub Bot) #43174
  • [1183058908] - tools: refactor update-authors.js to ESM (Feng Yu) #43098
  • [5228028962] - (SEMVER-MINOR) tools: update V8 gypfiles for 10.2 (Michaël Zasso) #42740
  • [d6cf409d78] - (SEMVER-MINOR) util: add parseArgs module (Benjamin Coe) #42675
  • [d91b489784] - worker: fix heap snapshot crash on exit (Chengzhong Wu) #43123

New in Node.js 16.15.1 LTS (Jun 2, 2022)

  • Notable Changes:
  • deps:
  • upgrade npm to 8.11.0 ([email protected]) #43210
  • docs:
  • add release key for RafaelGSS (Rafael Gonzaga) #43131
  • add release key for Juan Arboleda (Juan José) #42961
  • Commits:
  • [f7c4ce2255] - deps: V8: cherry-pick 3ebf2052a1b2 (Liu Yu) #43147
  • [447f9a0e2e] - deps: upgrade npm to 8.11.0 ([email protected]) #43210
  • [68572bdea2] - deps: upgrade npm to 8.10.0 ([email protected]) #43061
  • [3dfc632f12] - deps: upgrade npm to 8.9.0 (npm-robot) #42968
  • [a746943fcb] - deps: update archs files for OpenSSL-1.1.1o (RafaelGSS) #42957
  • [6efc844922] - deps: upgrade openssl sources to OpenSSL_1_1_1o (RafaelGSS) #42957
  • [3ceeb574c3] - deps: upgrade npm to 8.8.0 (npm-robot) #42886
  • [f8b2156e07] - deps: upgrade npm to 8.7.0 ([email protected]) #42744
  • [898b4751e9] - deps: upgrade npm to 8.6.0 (npm team) #42550
  • [617f64a1cd] - doc: add release key for RafaelGSS (Rafael Gonzaga) #43131
  • [e1b47e6e3d] - doc: add release key for Juan Arboleda (Juan José) #42961
  • [4185f1f466] - src,inspector: fix empty MaybeLocal crash (Darshan Sen) #42409
  • [f11b3cfc6a] - test: delete test/pummel/test-repl-empty-maybelocal-crash.js (Darshan Sen) #42720
  • [feac215e4e] - tools: disable trap handler for Windows cross-compiler (Michaël Zasso) #40488
  • [47cdddf59b] - tools: update V8 gypfiles for 9.6 (Michaël Zasso) #40488

New in Node.js 18.2.0 Current (May 18, 2022)

  • OpenSSL 3.0.3:
  • This update can be treated as a security release as the issues addressed in OpenSSL 3.0.3 slightly affect Node.js 18. See https://nodejs.org/en/blog/vulnerability/openssl-fixes-in-regular-releases-may2022/ for more information on how the May 2022 OpenSSL releases affect other Node.js release lines.
  • [8e54c19a6e] - deps: update archs files for quictls/openssl-3.0.3+quic (RafaelGSS) #43022
  • [6365bf808e] - deps: upgrade openssl sources to quictls/openssl-3.0.3 (RafaelGSS) #43022
  • Other Notable Changes:
  • [13c333e533] - Revert "deps: add template for generated headers" (Daniel Bevenius) #42978
  • [d128356a7f] - deps: update undici to 5.2.0 (Node.js GitHub Bot) #43059
  • [2df1624f80] - deps: upgrade npm to 8.9.0 (npm team) #42968
  • [6365bf808e] - deps: upgrade openssl sources to quictls/openssl-3.0.3 (RafaelGSS) #43022
  • [4a3f678e70] - doc: add LiviaMedeiros to collaborators (LiviaMedeiros) #43039
  • [686c4c1f6f] - doc: add release key for Juan Arboleda (Juan José) #42961
  • [784d84cf34] - (SEMVER-MINOR) fs: add read(buffer[, options]) versions (LiviaMedeiros) #42768
  • [2f192c4be0] - (SEMVER-MINOR) http: added connection closing methods (Paolo Insogna) #42812
  • [c92e291beb] - (SEMVER-MINOR) perf_hooks: add PerformanceResourceTiming (RafaelGSS) #42725
  • Commits:
  • [7cac7bb806] - assert: fix CallTracker wraps the function causes the length to be lost (OneNail) #42909
  • [e74a8da287] - assert: make assert.fail less affected by prototype tampering (Antoine du Hamel) #42918
  • [1146806673] - bootstrap: stop delaying instantiation of maps in per-context scripts (Darshan Sen) #42934
  • [a20310d171] - bootstrap: use a context snapshotted with primordials in workers (Joyee Cheung) #42867
  • [9ee7d9eb15] - bootstrap: fix wasm_web_api external reference registration (Joyee Cheung) #42903
  • [cec678a00e] - build: set ASAN workaround (Richard Lau) #43085
  • [7c4df42caa] - build: disable windows-2022 temporarily (Jiawen Geng) #43093
  • [0eb32ed976] - build: fix various shared library build issues (William Marlow) #41850
  • [48f4a714b2] - build: fix indeterminacy of icu_locales value (Sergey Nazaryev) #42865
  • [19c060fd84] - crypto: adjust minimum length in generateKey('hmac', ...) (LiviaMedeiros) #42944
  • [183bcc0699] - crypto: clean up parameter validation in HKDF (Tobias Nießen) #42924
  • [946f57c7bc] - debugger: fix inconsistent inspector output of exec new Map() (Kohei Ueno) #42423
  • [d128356a7f] - deps: update undici to 5.2.0 (Node.js GitHub Bot) #43059
  • [a9703a55ef] - deps: remove opensslconf template headers (Daniel Bevenius) #43035
  • [a4a4f7134b] - deps: fix llhttp version number (Michael Dawson) #43029
  • [8e54c19a6e] - deps: update archs files for quictls/openssl-3.0.3+quic (RafaelGSS) #43022
  • [6365bf808e] - deps: upgrade openssl sources to quictls/openssl-3.0.3 (RafaelGSS) #43022
  • [e8121ae7fe] - deps: regenerate OpenSSL archs files (Daniel Bevenius) #42978
  • [13c333e533] - Revert "deps: add template for generated headers" (Daniel Bevenius) #42978
  • [2df1624f80] - deps: upgrade npm to 8.9.0 (npm team) #42968
  • [f53ed9d1bb] - doc: use serial comma in fs docs (Tobias Nießen) #43104
  • [839824aca8] - doc: use serial comma in events docs (Tobias Nießen) #43113
  • [9629c74080] - doc: use serial comma in modules docs (Tobias Nießen) #43103
  • [76096c2d4a] - doc: use serial comma in util docs (Tobias Nießen) #43063
  • [1e9de0dd5a] - doc: remove git:// protocol, adjust nits in onboarding.md (LiviaMedeiros) #43045
  • [eb630d7ef9] - doc: add maintaining info for shared libary option (Michael Dawson) #42517
  • [3816a97bae] - doc: add detail for how to update llhttp (Michael Dawson) #43028
  • [330e267a57] - doc: use serial comma in buffer docs (Tobias Nießen) #43048
  • [0957212390] - doc: use consistent method symbol (Paolo Insogna) #42974
  • [22cb7104cb] - doc: add Rafael to the security steward for NearForm (Matteo Collina) #42966
  • [ef177da3f1] - doc: mark some node-api functions as experimental (NickNaso) #42987
  • [4a3f678e70] - doc: add LiviaMedeiros to collaborators (LiviaMedeiros) #43039
  • [c988a0ed26] - doc: use serial comma in http docs (Tobias Nießen) #43026
  • [4de918b4c1] - doc: add the preferred name for @himself65 (Himself65) #43024
  • [686c4c1f6f] - doc: add release key for Juan Arboleda (Juan José) #42961
  • [64e0aa116d] - doc: rename N-API to Node-API in test/README.md (Daeyeon Jeong) #42946
  • [65d64553c0] - doc: use serial comma in tls docs (Tobias Nießen) #43001
  • [840e61e745] - doc: improve commit message example for releases (Juan José) #42954
  • [ba3ad7c665] - doc: use serial comma in cluster docs (Tobias Nießen) #42989
  • [3ab3086008] - doc: fix errors in Web Streams doc (OneNail) #42862
  • [1fbfee2497] - doc: fix examples in cluster.md (OneNail) #42889
  • [1237c742f4] - doc: add additional step to security release process (Michael Dawson) #42916
  • [88692d8fd6] - doc: add section regarding property definition in primordials.md (Antoine du Hamel) #42921
  • [924670f3af] - doc: clarify some default values in fs.md (LiviaMedeiros) #42892
  • [becca06f9b] - fs: remove unnecessary ?? operator (Morgan Roderick) #43073
  • [784d84cf34] - (SEMVER-MINOR) fs: add read(buffer[, options]) versions (LiviaMedeiros) #42768
  • [2f192c4be0] - (SEMVER-MINOR) http: added connection closing methods (Paolo Insogna) #42812
  • [bfbf965eb0] - http2: compat support for array headers (OneNail) #42901
  • [46a44b3011] - lib: move WebAssembly Web API into separate file (Tobias Nießen) #42993
  • [c64b8d3282] - lib,test: enable wasm/webapi/empty-body WPT (Tobias Nießen) #42960
  • [ddd271ec2b] - meta: add mailmap entry for ShogunPanda (Paolo Insogna) #43094
  • [174ff972f0] - meta: update .mailmap for recent README name change (Rich Trott) #43027
  • [16df8ad7c3] - meta: update AUTHORS (Node.js GitHub Bot) #43004
  • [0ec32d0715] - meta: move one or more collaborators to emeritus (Node.js GitHub Bot) #42937
  • [037ff3da6d] - node-api: explicitly set __cdecl for API functions (Vladimir Morozov) #42780
  • [e2462a2f98] - node-api: fix napi_get_all_property_names (Vladimir Morozov) #42463
  • [c92e291beb] - (SEMVER-MINOR) perf_hooks: add PerformanceResourceTiming (RafaelGSS) #42725
  • [c535db1195] - src: delete AllocatedBuffer (Darshan Sen) #43008
  • [5dc79298e1] - src: remove unnecessary comment (Kohei Ueno) #42952
  • [38e4c15534] - src: always signal V8 for intercepted properties (Michaël Zasso) #42963
  • [cacff07e75] - src: fix memory leak for v8.serialize (liuxingbaoyu) #42695
  • [8cfc18e4db] - src,crypto: remove uses of AllocatedBuffer from crypto_rsa.cc (Darshan Sen) #42852
  • [0670843b24] - test: fix dangerous .map in test/parallel/test-http-set-trailers.js (LiviaMedeiros) #43087
  • [9eb8bf1d26] - test: reduce flakiness of test-fs-read-position-validation.mjs (LiviaMedeiros) #42999
  • [41d2f6e8c5] - test: rename handlewrap.hasref tests (Daeyeon Jeong) #42754
  • [e058f47277] - test: improve observable ICU behaviour coverage (LiviaMedeiros) #42683
  • [d23debb4cb] - test: validate webstream encoder/decoder inspector (Yoshiki Kurihara) #42747
  • [b1c18edaa9] - test: usemustSucceed instead of mustCall with assert.ifError (MURAKAMI Masahiko) #42806
  • [2dc795687a] - test: improve lib/internal/webstreams/readablestream.js coverage (MURAKAMI Masahiko) #42823
  • [d746207dc2] - test: fix test-crypto-fips.js under shared OpenSSL (Vita Batrla) #42947
  • [56c47b5101] - test: use consistent timeouts (Paolo Insogna) #42893
  • [68ed3c88d9] - test: add test for position validation in fs.read() and fs.readSync() (LiviaMedeiros) #42837
  • [72b90fd5f5] - test: reduce impact of flaky HTTP server tests (Tobias Nießen) #42926
  • [531a0a9980] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #43107
  • [64daaca46d] - tools: update eslint to 8.15.0 (Node.js GitHub Bot) #43005
  • [79872382ef] - tools: refactor lint-sh.js to esm module (Feng Yu) #42942
  • [265ecdfe07] - tools: update lint-md-dependencies (Node.js GitHub Bot) #43003
  • [e9e1f1e194] - typings: fix os.cpus invalid return type (Himself65) #43006
  • [55ef6e81cb] - wasm: add missing init reported by coverity (Michael Dawson) #42897
  • [5470578008] - worker: fix stream racing with terminate (Keyhan Vakil) #42874

New in Node.js 18.1.0 Current (May 3, 2022)

  • Notable Changes:
  • [c46e7bbf69] - doc: add @kuriyosh to collaborators (Yoshiki Kurihara) #42824
  • [b0f7c4c8f9] - (SEMVER-MINOR) lib,src: implement WebAssembly Web API (Tobias Nießen) #42701
  • [78a860ae58] - (SEMVER-MINOR) test_runner: add initial CLI runner (Colin Ihrig) #42658
  • [bf9240ae8c] - (SEMVER-MINOR) worker: add hasRef() to MessagePort (Darshan Sen) #42849
  • Commits:
  • [4694f5bb96] - async_hooks: avoid decrementing iterator after erase (Gabriel Bota) #42749
  • [459546b4f0] - benchmark: fix misc/startup failure (Antoine du Hamel) #42746
  • [6bd24204ea] - bootstrap: use the isolate snapshot in workers (Joyee Cheung) #42702
  • [29c8411f99] - bootstrap: move embedded snapshot to SnapshotBuilder (Joyee Cheung) #42702
  • [4050b0d64f] - build: enable V8's shared read-only heap (Michaël Zasso) #42809
  • [f9994e2029] - build: improve reliability of find_python.cmd script (Luigi Pinca) #42810
  • [5d15eb1a14] - build: fix format-cpp (Darshan Sen) #42764
  • [7c973474bf] - build: improve the format-cpp error message (Darshan Sen) #42765
  • [7681e60829] - crypto: validate this in all webcrypto methods and getters (Filip Skokan) #42815
  • [2a4c8263c3] - deps: update undici to 5.1.1 (Michaël Zasso) #42939
  • [1102922ef9] - deps: upgrade npm to 8.8.0 (npm team) #42886
  • [279892987b] - deps: remove linux-ppc64 architecture (Daniel Bevenius) #42616
  • [4abe9879ae] - deps: remove linux-ppc architecture (Daniel Bevenius) #42616
  • [8dc71f2266] - deps: remove aix-gcc architecture (Daniel Bevenius) #42616
  • [6dc1f82384] - deps: remove archs/aix64-gcc (Daniel Bevenius) #42616
  • [e8734a4771] - deps: add note about removing asm archs (Daniel Bevenius) #42616
  • [7fae2c9d6e] - deps: add template for generated headers (Daniel Bevenius) #42616
  • [294664e32c] - deps: upgrade npm to 8.7.0 (npm team) #42744
  • [60e461c45d] - doc: reword "test directory" (LiviaMedeiros) #42817
  • [227a45ba60] - doc: remove legacy -J test.py option from BUILDING.md (LiviaMedeiros) #42817
  • [e313dc6ed9] - doc: http2.createServer options as optional (Daeyeon Jeong) #42832
  • [8f2b2280cd] - doc: record March 2022 security release steward (Richard Lau) #42876
  • [e15d22c024] - doc: initial version of security-model-strategy.md (Michael Dawson) #42709
  • [fe65996790] - doc: clarify guide on testing internal errors (Livia Medeiros) #42813
  • [2f849a460f] - doc: fix markdown formatting in primordials.md (Tobias Nießen) #42877
  • [cd2f5a4fd4] - doc: add primordials guidelines (Antoine du Hamel) #38635
  • [2d76f72665] - doc: elevate node-clinic diagnostic tier (RafaelGSS) #42802
  • [9b61ac2617] - doc: update WebAssembly strategy with Wasm Web API (Tobias Nießen) #42836
  • [c6c1dc5833] - doc: order vm.Module linker arguments correctly (Simen Bekkhus) #42797
  • [c46e7bbf69] - doc: add @kuriyosh to collaborators (Yoshiki Kurihara) #42824
  • [59da1339b4] - doc: add maintaining-webassembly.md (Michael Dawson) #42660
  • [d9f3f05cab] - doc: fix outdated documentation for family property (Antoine du Hamel) #42789
  • [6fa080cb48] - doc: delete heapdump from diagnostic tooling support tiers (Tony Gorez) #42783
  • [c32f76d49e] - doc: fix example in assert.md (Livia Medeiros) #42786
  • [6225370b2e] - doc: fix version history for Loaders API (Antoine du Hamel) #42778
  • [3d65a3b13e] - doc: add node: prefix for all core modules (Antoine du Hamel) #42752
  • [46c880b99b] - doc: clarify core modules that can be loaded without a prefix (Antoine du Hamel) #42753
  • [025b3e786a] - doc: consolidate use of multiple-byte units (Antoine du Hamel) #42587
  • [962d80b7a1] - doc: add documentation for inherited methods (Luigi Pinca) #42691
  • [222b3e6674] - doc: close tag in n-api.md (Livia Medeiros) #42751
  • [4c30936065] - doc: copyedit http.OutgoingMessage documentation (Luigi Pinca) #42733
  • [d77c59d0f2] - doc: improve fragment (:target) anchors behavior on HTML version (Antoine du Hamel) #42739
  • [c50309cb39] - doc: fix added: info for outgoingMessage.writable* (Luigi Pinca) #42737
  • [6b7c35e807] - doc: delete mdb_v8 from diagnostic tooling support tiers (Tony Gorez) #42626
  • [2a07a9fc3a] - doc: document the 'close' and 'finish' events (Luigi Pinca) #42704
  • [ef5ab8179b] - doc: fix added: info for outgoingMessage.{,un}cork() (Luigi Pinca) #42711
  • [a6e1e7a5d7] - doc,test: add tests and docs for duplex.fromWeb and duplex.toWeb (Erick Wendel) #42738
  • [336242a7c6] - errors,console: refactor to use ES2021 syntax (小菜) #42872
  • [0e16120d0d] - errors,vm: update error and use cause (Gus Caplan) #42820
  • [a0638a23b0] - esm: fix imports from non-file module (Antoine du Hamel) #42881
  • [dab15f69e3] - esm: graduate top-level-await to stable (Antoine du Hamel) #42875
  • [48bbb73f36] - fs: fix mkdirSync so ENOSPC is correctly reported (Santiago Gimeno) #42811
  • [d33cbabd79] - lib: remove experimental warning from FormData (Xuguang Mei) #42807
  • [ad8269450a] - lib,src: use Response URL as WebAssembly location (Tobias Nießen) #42842
  • [b0f7c4c8f9] - (SEMVER-MINOR) lib,src: implement WebAssembly Web API (Tobias Nießen) #42701
  • [fdc65032a7] - meta: update AUTHORS (Node.js GitHub Bot) #42848
  • [33ac027fdf] - meta: move one or more collaborators to emeritus (Node.js GitHub Bot) #42769
  • [14893c5984] - meta: update AUTHORS (Node.js GitHub Bot) #42760
  • [2f38b4812c] - meta: move mmarchini to emeritus (mary marchini) #42750
  • [718d11fdb0] - perf_hooks: return different functions in timerify (Himself65) #42854
  • [e8083664e1] - src: turn SSL_CTX_new CHECK/segfault into JS exception (Anna Henningsen) #42799
  • [37ca1102c4] - src: make --no-node-snapshot a per-process option (Joyee Cheung) #42864
  • [1976284a92] - src: define fs.constants.S_IWUSR & S_IRUSR for Win (Liviu Ionescu) #42757
  • [b7e9dd0278] - src: use node: prefix in example (Antoine du Hamel) #42794
  • [1a7af6364d] - src: large page attributing an id on Linux (David CARLIER) #42644
  • [494650c09f] - src,crypto: remove uses of AllocatedBuffer from crypto_ec.cc (Darshan Sen) #42766
  • [8e0e576669] - test: add tests for extracting function name (Kohei Ueno) #42399
  • [fbda87d966] - test: simplify test-gc-{http-client,net}-* (Luigi Pinca) #42782
  • [3c796f8328] - test: fix parallel/test-dgram-udp6-link-local-address (Antoine du Hamel) #42795
  • [b85a11c28e] - test: improve lib/internal/test_runner/test.js coverage (MURAKAMI Masahiko) #42745
  • [59c07a99fb] - test: check ecdsa psychic signature (Filip Skokan) #42863
  • [0725064695] - test: fix port in net-perf_hooks (Livia Medeiros) #42761
  • [7b701442de] - test: skip test that cannot pass under --node-builtin-modules-path (Geoffrey Booth) #42834
  • [37364abc58] - test: fix flaky HTTP server tests (Tobias Nießen) #42846
  • [8476ffb85a] - test: use assert.match() instead of assert(regex.test()) (Antoine du Hamel) #42803
  • [d311916f37] - test: fix calculations in test-worker-resource-limits (Joyee Cheung) #42702
  • [deb3cf49c7] - test: remove the legacy url parser function (Kohei Ueno) #42656
  • [be44b1ffcb] - test: improve test coverage of internal/blob (Yoshiki Kurihara) #41513
  • [78a860ae58] - (SEMVER-MINOR) test_runner: add initial CLI runner (Colin Ihrig) #42658
  • [1e7479d34c] - tools: update lint-md-dependencies (Node.js GitHub Bot) #42932
  • [c3c5fe78dc] - tools: bump jsdoccomment from 0.22.1 to 0.29.0 (Rich Trott) #42857
  • [97fc00a06e] - tools: update eslint to 8.14.0 (Node.js GitHub Bot) #42845
  • [93fd77a16f] - tools: update doc to [email protected] (Node.js GitHub Bot) #42758
  • [47c04813f7] - tools: update lint-md-dependencies (Node.js GitHub Bot) #42759
  • [18ae2c39d5] - tools: lint osx shell scripts (Livia Medeiros) #42712
  • [4af0fbd41e] - v8: export cpu_profiler_metadata_size in getHeapCodeStatistics (theanarkh) #42818
  • [a19fb609d8] - v8: export more fields in getHeapStatistics (theanarkh) #42784
  • [1b5856a2a9] - wasi: remove unecessary null check (Michael Dawson) #42819
  • [bf9240ae8c] - (SEMVER-MINOR) worker: add hasRef() to MessagePort (Darshan Sen) #42849
  • [c3922afa1c] - worker: add hasRef() to the handle object (Darshan Sen) #42756

New in Node.js 16.15.0 LTS (Apr 28, 2022)

  • Notable changes:
  • Add fetch API:
  • Adds experimental support to the fetch API. This adds the --experimental-fetch flag that installs the fetch, Request, Response, Headers, and FormData globals.
  • (SEMVER-MINOR) add fetch (Michaël Zasso) #41749
  • (SEMVER-MINOR) add FormData global when fetch is enabled (Michaël Zasso) #41956
  • Other notable changes:
  • build:
  • remove broken x32 arch support (Ben Noordhuis) #41905
  • crypto:
  • (SEMVER-MINOR) add KeyObject.prototype.equals method (Filip Skokan) #42093
  • doc:
  • add @ShogunPanda to collaborators (Paolo Insogna) #42362
  • add JakobJingleheimer to collaborators list (Jacob Smith) #42185
  • add joesepi to collaborators (Joe Sepi) #41914
  • add marsonya to collaborators (Akhil Marsonya) #41991
  • deprecate string coercion in fs.write, fs.writeFileSync (Livia Medeiros) #42149
  • deprecate notice for process methods (Yash Ladha) #41587
  • esm:
  • (SEMVER-MINOR) support https remotely and http locally under flag (Bradley Farias) #36328
  • module:
  • (SEMVER-MINOR) unflag esm json modules (Geoffrey Booth) #41736
  • node-api:
  • (SEMVER-MINOR) add node_api_symbol_for() (Darshan Sen) #41329
  • process:
  • deprecate multipleResolves (Benjamin Gruenbaum) #41872
  • stream:
  • (SEMVER-MINOR) support some and every (Benjamin Gruenbaum) #41573
  • (SEMVER-MINOR) add toArray (Benjamin Gruenbaum) #41553
  • (SEMVER-MINOR) add forEach method (Benjamin Gruenbaum) #41445
  • Commits:
  • [3d4df9cd70] - (SEMVER-MINOR) benchmark: add subarray to buffer-slice (Benjamin Gruenbaum) #41596
  • [d40f5a177a] - buffer: improve blob read performance (Xuguang Mei) #42117
  • [84752a495f] - (SEMVER-MINOR) buffer: alias subarray and slice (Benjamin Gruenbaum) #41596
  • [c5da1dda4a] - build: use ccache in make-v8.sh on ppc64le and s390x (Richard Lau) #42204
  • [ba56e41953] - build: drop shortened URL from lint-commit-message (Richard Lau) #42168
  • [b2c88ec69c] - build: fix usage of input in feature action (Michael Dawson) #42150
  • [bcabd70d93] - build: increase max ops for stale feature action (Michael Dawson) #42130
  • [042fb6f4d5] - build: add corepack to the auto-updated dependencies (Maël Nison) #42090
  • [611cbf13a6] - build: last test of the stale feature action (Michael Dawson) #42085
  • [0d8f76ff2f] - build: update feature close action for testing (Michael Dawson) #42082
  • [bc3d8a752f] - build: cancel running CI jobs when a PR is updated (Michaël Zasso) #42017
  • [e049173bce] - build: increase operations and test tag (Michael Dawson) #42038
  • [4c47d59e9b] - build: allow manual run of feature request action (Michael Dawson) #42037
  • [692ee2ae06] - build: add action to close stale feature requests (Michael Dawson) #41981
  • [290a2bfd81] - build: prevent concurrent CI and CQ workflow runs (Michaël Zasso) #42016
  • [d2c1624279] - build: use zoslib_include_dir provided by node-gyp (alexcfyung) #41713
  • [db4a3dc1a6] - build: move tool updates workflow runtime a day later (Rich Trott) #41982
  • [24d0c32af4] - build: extend yamllint configuration (Mestery) #41756
  • [428b967ea4] - build: remove broken x32 arch support (Ben Noordhuis) #41905
  • [51847e0d24] - build: revert fast-track changes (Filip Skokan) #41892
  • [1452f8d6f1] - build: improve consistency between workflows (Mestery) #41791
  • [9677da4b46] - (SEMVER-MINOR) build: add --v8-enable-hugepage flag (Daoming Qiu) #41487
  • [5468de5317] - build,tools: change the quotes in YAML (Mestery) #41756
  • [f32c39762c] - child_process: kHideConsoleWindows for spawnSync (Raymond Zhao) #41412
  • [914f9071ba] - cluster: respect listen backlog set by workers (Elad Nava) #41623
  • [f990308972] - crypto: fix auth tag length error when mode != GCM (Tobias Nießen) #42383
  • [7f43f94304] - crypto: fix fingerprint string size calculation (Tobias Nießen) #42175
  • [602f34eeb8] - crypto: add CHECKs to remaining BIO_s_mem allocs (Tobias Nießen) #42155
  • [4eecb25125] - crypto: validate this value for webcrypto.getRandomValues (Antoine du Hamel) #41760
  • [b7599d8b14] - (SEMVER-MINOR) crypto: add KeyObject.prototype.equals method (Filip Skokan) #42093
  • [70ae0ae8a0] - crypto: check result of BIO_new in X509ToObject (Tobias Nießen) #41979
  • [36b9028f4f] - crypto: rename X509_NAME_FLAGS (Tobias Nießen) #42001
  • [a592442218] - (SEMVER-MINOR) crypto: expose Web Crypto API on the global scope (Antoine du Hamel) #41938
  • [46dda316df] - crypto: do not advertise unsupported algorithms (Brian White) #41864
  • [adb88fcb46] - (SEMVER-MINOR) crypto: support RFC 2818 compatible checkHost (Tobias Nießen) #41569
  • [e9d7af1cc6] - debugger: correct typo in inspect_repl.js (Kohei Ueno) #42267
  • [e6019a4cc0] - debugger: add debugger alias for exec(expr) (Xuguang Mei) #41907
  • [83691ada5b] - debugger: remove duplicate setPauseOnException call (Balakrishna Avulapati) #41838
  • [7e73e5e46b] - deps: upgrade npm to 8.5.5 (npm team) #42382
  • [8d734cbde6] - deps: cares: cherry-pick b5a3d96 (bradh352) #42216
  • [ba1d949ce0] - deps: V8: cherry-pick c6f6626deb14 (Lu Yahan) #42240
  • [6b721d7103] - deps: upgrade npm to 8.5.3 (npm team) #42205
  • [baeb66a35a] - deps: update nghttp2 to 1.47.0 (Yash Ladha) #42127
  • [1a0f26f55c] - deps: upgrade npm to 8.5.2 (npm team) #42122
  • [396240bf80] - deps: V8: cherry-pick 77d515484864 (Lu Yahan) #42067
  • [3f09a6d227] - deps: V8: cherry-pick b66334313c8b (Lu Yahan) #42067
  • [a73536b286] - deps: upgrade npm to 8.5.1 (npm-robot) #42039
  • [c64b0381ee] - deps: update undici to 5.0.0 (Node.js GitHub Bot) #42583
  • [a670c1fb5f] - deps: update undici to 4.16.0 (Node.js GitHub Bot) #42414
  • [721d10751b] - deps: update undici to 4.15.1 (Michaël Zasso) #42246
  • [83a667621b] - deps: update undici to 3e267ece5f (Michaël Zasso) #41955
  • [208ab5723e] - doc: improve README.md usability (Rich Trott) #42378
  • [682248c980] - doc: add that chacha20-poly1305 is IETF version (Tobias Nießen) #42370
  • [83391d185c] - doc: document goal to have examples (Michael Dawson) #42274
  • [7073017efb] - doc: fix Embedder's Guide link to V8 official docs (Aroyan) #42373
  • [cb07930bda] - doc: remove unneeded lint disable comment (Rich Trott) #42374
  • [fb42f99514] - doc: revise async_hooks docs (Rich Trott) #42337
  • [835e65b78e] - doc: add @ShogunPanda to collaborators (Paolo Insogna) #42362
  • [df1909982d] - doc: update base branch name for nodejs/nodejs.org (Danielle Adams) #42355
  • [4f6b187059] - doc: fix async iterable pipeline signal examples (Randall Leeds) #42258
  • [3188dcb390] - doc: clarify path search in child_process.spawn (Damjan Cvetko) #41418
  • [f53b454e2e] - doc: clarify the meaning of legacy status (Darshan Sen) #42269
  • [43b8a4fc57] - doc: improve pipe description (Mikael Finstad) #42295
  • [9fa6e445d5] - doc: remove outdated timeout.unref content (Xuguang Mei) #42241
  • [a84896ea2c] - doc: deprecate string coercion in fs.write, fs.writeFileSync (Livia Medeiros) #42149
  • [436bdde654] - doc: remove refs to old OpenSSL list-* commands (Tobias Nießen) #42235
  • [6763bede4c] - doc: readline 'line' event emits final line (Matt Probert) #42214
  • [6545094a94] - doc: update stale feature messages (Michael Dawson) #42217
  • [275b66d54e] - doc: remove erroneous comma in cluster explainer (Tobias Nießen) #42238
  • [cda623cc1d] - doc: remove "considered" for clarity (Rich Trott) #42218
  • [17172fef20] - doc: clarify that some modules don't work when compiled without ssl (Antoine du Hamel) #42198
  • [126045356a] - doc: add note about nghttp2 hd pair size (Rafael Silva) #42172
  • [63b468f753] - doc: use parenthesis instead of em dash (Antoine du Hamel) #42202
  • [19b62ddd68] - doc: add next-10 to strategic initiatives (Michael Dawson) #42167
  • [993a943f2c] - doc: add missing single-quotes to http.OutgoingMessage (Juan José Arboleda) #42162
  • [d0ce089622] - doc: fix typos (apeltop) #42146
  • [88e67b8ec3] - doc: add JakobJingleheimer to collaborators list (Jacob Smith) #42185
  • [5322c73241] - doc: remove reference to obsolete security program (Rich Trott) #42144
  • [5980b6d133] - doc: remove repeated a word (apeltop) #42138
  • [a70a1ce3a9] - doc: make building with ninja more discoverable (Balakrishna Avulapati) #41840
  • [bc457c2339] - doc: document change to IncomingMessage.headers enumerability (Arnold Zokas) #42095
  • [1eb4d8b89c] - doc: add meixg to triagers (Xuguang Mei) #42066
  • [3d75c8748c] - doc: clarify persistent ref behavior (Michael Dawson) #42035
  • [8c26d8cea1] - doc: move bnoordhuis back to collaborators (Ben Noordhuis) #42064
  • [0c21b58d57] - doc: clarify supported versus enabled TLS ciphers (Tobias Nießen) #42063
  • [a658437c64] - doc: add missing api entries on performance (legendecas) #42018
  • [51cb78022e] - doc: fix typo in http2 endAfterHeaders description (Alexandru Comanescu) #42060
  • [40ddfa4e69] - doc: make minor fixes to contributing guides (T-O-R-U-S) #41966
  • [60d6409af0] - doc: use openpgp.org for keyserver examples (Nick Schonning) #39227
  • [9800719237] - doc: adjust a/an word usage (Derek Wolpert) #41915
  • [43894b1bc4] - doc: capitalize valgrind (T•Ø•R•Ü•S) #41986
  • [a34cc75026] - doc: fix deprecation number (Antoine du Hamel) #41990
  • [dd88f54d57] - doc: add marsonya to collaborators (Akhil Marsonya) #41991
  • [8858950a9f] - doc: deprecate notice for process methods (Yash Ladha) #41587
  • [d77db88386] - doc: fix bug in readable.unshift code example (Xuguang Mei) #41944
  • [81e56c9178] - doc: add missing buffer in the stream/consumers import example (Mestery) #41961
  • [c08efba968] - doc: fix typo in readableStream.locked description (Tobias Nießen) #41923
  • [e21831bad1] - doc: fix wrong indent in stream documentation (Xuguang Mei) #41943
  • [e55f340052] - doc: emphasize security warning in vm module doc (Rich Trott) #41916
  • [ce15007fd7] - doc: clarify tls.Server 'connection' event documentation (Austin Cheney) #41917
  • [6fc0a25b64] - doc: improve scrollbar appearance in dark mode (Aaron Xie) #41890
  • [90d955100d] - doc: replace text with paths in toggle SVGs (Brian White) #41885
  • [6fd538331d] - doc: edit process.config deprecation text (Rich Trott) #41889
  • [55caa10c54] - doc: add joesepi to collaborators (Joe Sepi) #41914
  • [73f3a2cf96] - doc: remove unneeded ellipsis in header (Rich Trott) #41888
  • [b950f5db84] - doc: fix webstream close reject state state doc (Benjamin Gruenbaum) #41860
  • [e46c7d6f69] - (SEMVER-MINOR) doc: deprecate buffer.slice (Benjamin Gruenbaum) #41596
  • [83129729c6] - doc: fix backticks around 'default' (Tobias Nießen) #41613
  • [f8819e86fd] - doc: fix version history for net.Socket and net.Server (Antoine du Hamel) #42268
  • [12bf85a606] - doc,tools: improve navigability of API docs (Paolo Insogna) #41404
  • [37f6f92905] - errors: do not access .stack in debug (Benjamin Coe) #42096
  • [166eb782f9] - esm: fix base URL for network imports (Bradley Farias) #42131
  • [b68db72746] - esm: fix relative imports for https (Bradley Farias) #42119
  • [c777cb3368] - esm: make extension-less errors in type:module actionable (Bradley Farias) #42301
  • [2e42ccf1a5] - esm: improve typings and code coverage (Bradley Farias) #42305
  • [25017ca107] - esm: add runtime warning for specifier resolution flag (Geoffrey Booth) #42252
  • [1324023fea] - esm: improve fetch_module test coverage and remove hack (Antoine du Hamel) #41947
  • [9b8c927d29] - esm: remove erroneous context.parentURL property passed to load hook (Jacob Smith) #41975
  • [47cefec5c9] - esm: fix typo in fetch_module (Michael Scovetta) #41924
  • [0d185f7930] - (SEMVER-MINOR) esm: support https remotely and http locally under flag (Bradley Farias) #36328
  • [b0a83115db] - events: set default handler value (Benjamin Gruenbaum) #41970
  • [6b55ba2fa2] - fs: adjust default length for fs.readSync and fsPromises/read (Livia Medeiros) #42128
  • [da87c731b8] - fs: fix default length parameter for fs.read (wbt) #40349
  • [33e4a32f9e] - (SEMVER-MINOR) fs: support copy of relative links with cp and cpSync (Marcos Bjoerkelund) #41819
  • [571eb6dc74] - fs: fix cb/sync writev empty array behavior (Benjamin Gruenbaum) #41932
  • [257a7a5802] - fs: fix writev empty array error behavior (Benjamin Gruenbaum) #41919
  • [2d165652f1] - fs: refactor to use ES2020 syntax (小菜) #41903
  • [39fb114dde] - (SEMVER-MINOR) http: trace http client by perf_hooks (theanarkh) #42345
  • [16c00c6ac8] - http: add default argument for Agent.prototype.getName (小菜) #41906
  • [d301a8825b] - http2: fix potential integer overflow (Michael Dawson) #42248
  • [ddef6bbcb8] - http2: add edge case to GOAWAY request (Rafael Silva) #42190
  • [28af75ef65] - http2: close stream and session on frameError (Rafael Silva) #42147
  • [ebe2b6d21e] - lib: refactor to use primordials in lib/assert.js (Akhil Marsonya) #41702
  • [dcebb99dfc] - lib: fix AsyncResource.bind not using 'this' from the caller by default (Roch Devost) #42177
  • [e1704407ae] - lib: clean after the cancel algorithm throw error (Chen Gang) #41366
  • [91a06bd629] - lib: add legacy built-in functions to primordials (Antoine du Hamel) #42049
  • [e80043fb61] - lib: stop installing webcrypto if no_browser_globals is true (Mestery) #41971
  • [9946b9bceb] - lib: allow respondWithNewView on byob auto allocated streams (Sean Quinlan) #41887
  • [f4e39171de] - lib: restrict usage of fetch related globals in core internals (Antoine du Hamel) #41957
  • [b1f0cc6412] - lib: move kEnumerableProperty to internal/util (Mestery) #41877
  • [2a85e0ac00] - lib: add internal genericNodeError() function (Rich Trott) #41879
  • [647805a747] - (SEMVER-MINOR) lib: add FormData global when fetch is enabled (Michaël Zasso) #41956
  • [f17ce913c9] - (SEMVER-MINOR) lib: add fetch (Michaël Zasso) #41749
  • [2cbf45b8a5] - loader: fix esm resolve for symlink file (Xuguang Mei) #42197
  • [a363842261] - meta: update AUTHORS (Node.js GitHub Bot) #42404
  • [a122eb1989] - meta: update AUTHORS (Node.js GitHub Bot) #42317
  • [c56e15a0eb] - meta: add dependencies label to label-pr-config (Mestery) #42129
  • [137ca4e1d4] - meta: update AUTHORS (Node.js GitHub Bot) #42227
  • [09ab04696f] - meta: update AUTHORS (Node.js GitHub Bot) #42142
  • [d4d9c00949] - meta: correct link to feature request document (Simen Bekkhus) #42092
  • [2135f8e6cb] - meta: move one or more collaborators to emeritus (Node.js GitHub Bot) #42068
  • [b969a278eb] - meta: remove collaborator (Rich Trott) #42073
  • [de035bceda] - meta: update AUTHORS (Node.js GitHub Bot) #42058
  • [f5ffa34f77] - meta: use plain emojis instead of escape sequences (Mestery) #41989
  • [6f1adf1f3e] - meta: update AUTHORS and .mailmap (Rich Trott) #41953
  • [363028c887] - (SEMVER-MINOR) module: unflag esm json modules (Geoffrey Booth) #41736
  • [b3afb20b44] - (SEMVER-MINOR) net: add new options to net.Socket and net.Server (Paolo Insogna) #41310
  • [bd48ad9c16] - node-api: fix typo in node_api.cc (Austin Kelleher) #42110
  • [11ec3345e7] - (SEMVER-MINOR) node-api: add node_api_symbol_for() (Darshan Sen) #41329
  • [7c0b8ca5ac] - perf_hooks: do not return all entries with getEntriesBy[Name|Type] (Xuguang Mei) #42104
  • [b7a307f0ed] - perf_hooks: use arrays to store EntryBuffers (Xuguang Mei) #42032
  • [61ecdf8f12] - process: fix named report export (madflow) #41861
  • [bc08165953] - process: deprecate multipleResolves (Benjamin Gruenbaum) #41872
  • [a88d4a2e2c] - repl: remove preview when press escape (meixg) #42053
  • [83267aaa7f] - repl: #41690 REPL gives wrong autocomplete on literals (Xuguang Mei) #41883
  • [73ce911a6f] - src: convert hex2bin() into a regular function (Darshan Sen) #42321
  • [7fe16ecc7a] - src: fix coverity warnings in node_file.cc (Michael Dawson) #42272
  • [5b30e28eb4] - src: check EC_POINT_get_affine_coordinates result (Tobias Nießen) #42304
  • [57b619da46] - src: simplify bound check in ParseArrayIndex (Tobias Nießen) #42306
  • [0e3e3fda22] - src: avoid returning invalid value from hex2bin (Tobias Nießen) #42307
  • [5eaa59159f] - src: check return value of HMAC_Final (Tobias Nießen) #42303
  • [376b3c4293] - src: include internal/options in the snapshot (Joyee Cheung) #42203
  • [268fd97925] - src: remove redundant buffer size check (Tobias Nießen) #42257
  • [90ce5c9fc5] - src: perform minor cleanups on zlib code (Anna Henningsen) #42247
  • [de3748a7e7] - src: use emplace_back instead of push_back (Yash Ladha) #42159
  • [830f93d892] - src: fix unchecked return warning from coverity (Michael Dawson) #42176
  • [db9f7752a9] - src: return proper URLs from node_api_get_module_file_name (Anna Henningsen) #41758
  • [d4b1b5cf85] - src: skip revoke_data_object if uuid is not found (Xuguang Mei) #42212
  • [3026449009] - src: remove dead code in AddFingerprintDigest (Tobias Nießen) #42145
  • [29fd5ff37d] - src: combine GetCurveASN1Name and GetCurveNistName (Tobias Nießen) #42118
  • [447ae8c5a3] - src: simplify TLSWrap::SetSession (Tobias Nießen) #42087
  • [2fe17f3891] - src: prefer bool over int in crypto_common (Tobias Nießen) #42097
  • [237f47e38e] - src: simplify arg type of AddFingerprintDigest (Tobias Nießen) #42101
  • [4244b1a0bb] - src: do not ignore return value of BIO_reset (Tobias Nießen) #42103
  • [e77a7cf985] - src: simplify GetExponentString (Tobias Nießen) #42121
  • [c811b8a1cb] - (SEMVER-MINOR) src: allow preventing InitializeInspector in env (Shelley Vohr) #35025
  • [af73a853f5] - src: use const reference instead of pointer in URL::SerializeURL (Anna Henningsen) #41759
  • [703593ab2a] - src: reserve string allocation space early in URL::SerializeURL (Anna Henningsen) #41759
  • [170a6cb33e] - src: fix query/fragment serialization in URL::SerializeURL (Anna Henningsen) #41759
  • [86b9d3af98] - src: don't print interface if sin6_scope_id is 0 (Santiago Gimeno) #41547
  • [fdea60e958] - src,buffer: evaluate THROW_AND_RETURN_IF_OOB() expression only once (Darshan Sen) #41945
  • [bf1f485c8d] - src,crypto: avoid tristate Maybe in ExportJWKEcKey() (Darshan Sen) #42223
  • [a5b189cda7] - stream: use .chunk when calling adapters's writev (Xuguang Mei) #42161
  • [0c690456cf] - stream: add more forEach tests (Benjamin Gruenbaum) #41937
  • [f12cf6db47] - (SEMVER-MINOR) stream: add reduce (Benjamin Gruenbaum) #41669
  • [4b6343964e] - stream: use synchronous error validation on iteration helpers (iMoses) #41652
  • [60e28ba507] - stream: add asIndexedPairs (Benjamin Gruenbaum) #41681
  • [88a48197c4] - stream: add drop and take (Benjamin Gruenbaum) #41630
  • [205c018ab4] - (SEMVER-MINOR) stream: support flatMap (Benjamin Gruenbaum) #41612
  • [0be2321d53] - (SEMVER-MINOR) stream: support some and every (Benjamin Gruenbaum) #41573
  • [ac8526e9a5] - (SEMVER-MINOR) stream: add toArray (Benjamin Gruenbaum) #41553
  • [dcc58314b9] - (SEMVER-MINOR) stream: add forEach method (Benjamin Gruenbaum) #41445
  • [f21f104c7c] - string_decoder: fix crash when calling __proto__.write() (Darshan Sen) #42062
  • [e3bced182c] - test: give slow tests more time on Rasberry PIs (Michael Dawson) #42380
  • [04243a85c7] - test: improve https_renew_cert.sh script (Tobias Nießen) #42343
  • [6d422ad807] - test: improve _http_incoming.js coverage (Yoshiki Kurihara) #42211
  • [3d37efe588] - test: improve _http_outgoing coverage (Yoshiki Kurihara) #42213
  • [245577e15c] - test: add test case for reverted 17.7 regression (Rich Trott) #42283
  • [3cc06de597] - test: use global webcrypto for WPT tests (Antoine du Hamel) #42236
  • [623be18fa3] - test: cover 32-bit sizes in generatePrime (Tobias Nießen) #42207
  • [70281e17ad] - test: fix test-process-env-tz.js by using RegExp (Khaidi Chu) #42113
  • [33b11a3548] - test: update V8 trace events test expectations (Nikolaos Papaspyrou) #42120
  • [978b50fe44] - test: deflake test-common-expect-warning (Luigi Pinca) #42046
  • [629d06ace8] - test: validate EventEmitterAsyncResource methods throw on invalid this (Yoshiki Kurihara) #42041
  • [17af006e38] - test: increase Fibonacci argument to 40 (Rich Trott) #42055
  • [b06780801c] - test: remove test-stdout-close-catch flaky designation (Rich Trott) #42045
  • [9ae6982387] - test: check that fetch globals are disabled by default (Michaël Zasso) #42015
  • [2a1a94bbbb] - test: improve vm test coverage (Yoshiki Kurihara) #41847
  • [3e354da097] - test: run webmessaging/broadcastchannel WPT (Ben Noordhuis) #41962
  • [711e863084] - test: fix names of tests marked flaky on IBM i (Richard Lau) #41984
  • [95eb03c298] - test: fix typographical error (Rich Trott) #41983
  • [31def41391] - test: fix intl tests on small-icu builds (Antoine du Hamel) #41939
  • [11e76fcba4] - test: remove lint rule for setTimeout() arguments (Rich Trott) #41901
  • [fd8bf09608] - test: move test-crypto-engine to addon (Michael Dawson) #41830
  • [25109a6471] - test: improve stability of oom test (Benjamin Gruenbaum) #41681
  • [ad17c9ce0c] - test,crypto: add and update empty passphrase regression tests (Darshan Sen) #42319
  • [9649d656ba] - tls: avoid throw in onerror for bad TLSSocket obj (Valters Jansons) #41523
  • [789e6041a6] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #42403
  • [1c1061549a] - tools: update doc to [email protected] [email protected] (Node.js GitHub Bot) #42315
  • [97aa236083] - tools: update lint-md-dependencies to [email protected] [email protected] (Node.js GitHub Bot) #42316
  • [7636370bdb] - tools: update eslint to 8.11.0 (Node.js GitHub Bot) #42318
  • [359395393f] - tools: fix web streams API links (Brian White) #42153
  • [fe5578b627] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #42226
  • [8532f83c8e] - tools: update lint-md rollup dependencies (Node.js GitHub Bot) #42141
  • [f2a16158a0] - tools: update eslint to 8.10.0 (Node.js GitHub Bot) #42143
  • [11f747b0e4] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #42057
  • [c47b436bd0] - tools: enable es2022 env in ESLint config (Michaël Zasso) #42043
  • [bbdf285a39] - tools: add console to the list of restricted globals (Antoine du Hamel) #42012
  • [aace6c2626] - tools: lint deprecation codes (Antoine du Hamel) #41992
  • [c229889022] - tools: fix bugs in prefer-primordials linter rule (Antoine du Hamel) #42010
  • [410d0ce44a] - tools: add timers functions to the list of restricted globals (Antoine du Hamel) #42013
  • [06d8c53e62] - tools: reduce list of globals in ESLint config (Rich Trott) #41996
  • [82b64f44fc] - tools: update remark-preset-lint-node to 3.3.1 (Rich Trott) #41999
  • [1db9cc7e59] - tools: update ESLint to 8.9.0 (Luigi Pinca) #41973
  • [f8c6232f90] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #41941
  • [57d5576c4d] - tools: fix typo in prefer-primordials.js (Ikko Ashimine) #41891
  • [4bba27935a] - tools,lib: remove global and Intl from the list of globals (Antoine du Hamel) #42014
  • [e918570d10] - url: preserve null char in WHATWG URL errors (Rich Trott) #42263
  • [962a8ec350] - url: trim leading and trailing C0 control chars (Rich Trott) #42196
  • [78647edba7] - url, src: modify one special_back_slash (Khaidi Chu) #42112
  • [a458fbf949] - worker: do not send message if port is closing (Rich Trott) #42357
  • [604621a275] - worker: fix typo in debug statement (Antoine du Hamel) #42011
  • [237affc951] - (SEMVER-MINOR) worker: graduate get/setEnvironmentData APIs (James M Snell) #41272

New in Node.js 18.0.0 Current (Apr 20, 2022)

  • Node.js 18 is here! Highlights include the update of the V8 JavaScript engine to 10.1, global fetch enabled by default, and a core test runner module.
  • Initially, Node.js 18 will replace Node.js 17 as our ‘Current’ release line. As per the release schedule, Node.js 18 will be the ‘Current’ release for the next 6 months and then promoted to Long-term Support (LTS) in October 2022. Once promoted to long-term support the release will be designated the codename ‘Hydrogen’. Node.js 18 will be supported until April 2025.
  • Notable Changes:
  • Deprecations and Removals:
  • (SEMVER-MAJOR) fs: runtime deprecate string coercion in fs.write, fs.writeFileSync (Livia Medeiros) #42607
  • (SEMVER-MAJOR) dns: remove dns.lookup and dnsPromises.lookup options type coercion (Antoine du Hamel) #41431
  • (SEMVER-MAJOR) process: runtime deprecate multipleResolves (Benjamin Gruenbaum) #41896
  • (SEMVER-MAJOR) stream: remove thenable support (Robert Nagy) #40773
  • (SEMVER-MAJOR) tls: move tls.parseCertString to end-of-life (Tobias Nießen) #41479
  • fetch (experimental):
  • An experimental fetch API is available on the global scope by default. The implementation is based upon undici, an HTTP/1.1 client written for Node.js by contributors to the project.
  • Through this addition, the following globals are made available: fetch, FormData, Headers, Request, Response.
  • Disable this API with the --no-experimental-fetch command-line flag.
  • Contributed by Michaël Zasso in #41811.
  • HTTP Timeouts:
  • server.headersTimeout which limits the amount of time the parser will wait to receive the complete HTTP headers is now set to 60000 (60 seconds) by default.
  • server.requestTimeout which sets the timeout value in milliseconds for receiving the entire request from the client is now set to 300000 (5 minutes) by default.
  • If these timeouts expire, the server responds with status 408 without forwarding the request to the request listener and then closes the connection.
  • Both timeouts must be set to a non-zero value to protect against potential Denial-of-Service attacks in case the server is deployed without a reverse proxy in front.
  • Contributed by Paolo Insogna in #41263.
  • Test Runner module (experimental):
  • The node:test module facilitates the creation of JavaScript tests that report results in TAP format. To access it:
  • import test from 'node:test';
  • This module is only available under the node: scheme.
  • Contributed by Colin Ihrig in #42325.
  • Toolchain and Compiler Upgrades:
  • Prebuilt binaries for Linux are now built on Red Hat Enterprise Linux (RHEL) 8 and are compatible with Linux distributions based on glibc 2.28 or later, for example, Debian 10, RHEL 8, Ubuntu 20.04.
  • Prebuilt binaries for macOS now require macOS 10.15 or later.
  • For AIX the minimum supported architecture has been raised from Power 7 to Power 8.
  • Prebuilt binaries for 32-bit Windows will initially not be available due to issues building the V8 dependency in Node.js. We hope to restore 32-bit Windows binaries for Node.js 18 with a future V8 update.
  • Node.js does not support running on operating systems that are no longer supported by their vendor. For operating systems where their vendor has planned to end support earlier than April 2025, such as Windows 8.1 (January 2023) and Windows Server 2012 R2 (October 2023), support for Node.js 18 will end at the earlier date.
  • Full details about the supported toolchains and compilers are documented in the Node.js BUILDING.md file.
  • Contributed by Richard Lau in #42292, #42604 and #42659,and Michaël Zasso in #42105 and #42666.
  • V8 10.1:
  • The V8 engine is updated to version 10.1, which is part of Chromium 101. Compared to the version included in Node.js 17.9.0, the following new features are included:
  • The findLast and findLastIndex array methods.
  • Improvements to the Intl.Locale API.
  • The Intl.supportedValuesOf function.
  • Improved performance of class fields and private class methods (the initialization of them is now as fast as ordinary property stores).
  • The data format returned by the serialization API (v8.serialize(value)) has changed, and cannot be deserialized by earlier versions of Node.js. On the other hand, it is still possible to deserialize the previous format, as the API is backwards-compatible.
  • Contributed by Michaël Zasso in #42657.
  • Web Streams API (experimental):
  • Node.js now exposes the experimental implementation of the Web Streams API on the global scope. This means the following APIs are now globally available:
  • ReadableStream, ReadableStreamDefaultReader, ReadableStreamBYOBReader, ReadableStreamBYOBRequest, ReadableByteStreamController, ReadableStreamDefaultController, TransformStream, TransformStreamDefaultController, WritableStream, WritableStreamDefaultWriter, WritableStreamDefaultController, ByteLengthQueuingStrategy, CountQueuingStrategy, TextEncoderStream, TextDecoderStream, CompressionStream, DecompressionStream.
  • Contributed James Snell in #39062, and Antoine du Hamel in #42225.
  • Other Notable Changes:
  • (SEMVER-MAJOR) buffer: expose Blob as a global (James M Snell) #41270
  • (SEMVER-MAJOR) child_process: improve argument validation (Rich Trott) #41305
  • doc: add RafaelGSS to collaborators (RafaelGSS) #42718
  • (SEMVER-MAJOR) http: make TCP noDelay enabled by default (Paolo Insogna) #42163
  • (SEMVER-MAJOR) net: make server.address() return an integer for family (Antoine du Hamel) #41431
  • (SEMVER-MAJOR) worker: expose BroadcastChannel as a global (James M Snell) #41271
  • (SEMVER-MAJOR) worker: graduate BroadcastChannel to supported (James M Snell) #41271
  • Semver-Major Commits:
  • [dab8ab2837] - (SEMVER-MAJOR) assert,util: compare RegExp.lastIndex while using deep equal checks (Ruben Bridgewater) #41020
  • [cff14bcaef] - (SEMVER-MAJOR) buffer: refactor byteLength to remove outdated optimizations (Rongjian Zhang) #38545
  • [cea76dbf33] - (SEMVER-MAJOR) buffer: expose Blob as a global (James M Snell) #41270
  • [99c18f4786] - (SEMVER-MAJOR) buffer: graduate Blob from experimental (James M Snell) #41270
  • [35d72bf4ec] - (SEMVER-MAJOR) build: make x86 Windows support temporarily experimental (Michaël Zasso) #42666
  • [1134d8faf8] - (SEMVER-MAJOR) build: bump macOS deployment target to 10.15 (Richard Lau) #42292
  • [27eb91d378] - (SEMVER-MAJOR) build: downgrade Windows 8.1 and server 2012 R2 to experimental (Michaël Zasso) #42105
  • [26c973d4b3] - (SEMVER-MAJOR) child_process: improve argument validation (Rich Trott) #41305
  • [38007df999] - (SEMVER-MAJOR) cluster: make kill to be just process.kill (Bar Admoni) #34312
  • [aed18dfe59] - (SEMVER-MAJOR) crypto: cleanup validation (Mohammed Keyvanzadeh) #39841
  • [e1fb6ae02f] - (SEMVER-MAJOR) crypto: prettify othername in PrintGeneralName (Tobias Nießen) #42123
  • [36fb79030e] - (SEMVER-MAJOR) crypto: fix X509Certificate toLegacyObject (Tobias Nießen) #42124
  • [563b2ed000] - (SEMVER-MAJOR) crypto: use RFC2253 format in PrintGeneralName (Tobias Nießen) #42002
  • [18365d8ee6] - (SEMVER-MAJOR) crypto: change default check(Host|Email) behavior (Tobias Nießen) #41600
  • [58f3fdcccd] - (SEMVER-MAJOR) deps: V8: cherry-pick semver-major commits from 10.2 (Michaël Zasso) #42657
  • [fd4f80ce54] - (SEMVER-MAJOR) deps: update V8 to 10.1.124.6 (Michaël Zasso) #42657
  • [974ab4060f] - (SEMVER-MAJOR) deps: update V8 to 9.8.177.9 (Michaël Zasso) #41610
  • [270253c4e2] - (SEMVER-MAJOR) deps: update V8 to 9.7.106.18 (Michaël Zasso) #40907
  • [08773e3c04] - (SEMVER-MAJOR) dns: remove dns.lookup and dnsPromises.lookup options type coercion (Antoine du Hamel) #41431
  • [3671cc0432] - (SEMVER-MAJOR) doc: update minimum glibc requirements for Linux (Richard Lau) #42659
  • [646e057680] - (SEMVER-MAJOR) doc: update AIX minimum supported arch (Richard Lau) #42604
  • [0bac5478eb] - (SEMVER-MAJOR) fs: runtime deprecate string coercion in fs.write, fs.writeFileSync (Livia Medeiros) #42607
  • [3caa2c1a00] - (SEMVER-MAJOR) http: refactor headersTimeout and requestTimeout logic (Paolo Insogna) #41263
  • [eacd45656a] - (SEMVER-MAJOR) http: make TCP noDelay enabled by default (Paolo Insogna) #42163
  • [4944ad0b9e] - (SEMVER-MAJOR) lib: enable fetch by default (Michaël Zasso) #41811
  • [8c4b8b201a] - (SEMVER-MAJOR) lib: replace validator and error (Mohammed Keyvanzadeh) #41678
  • [3c4ee5267a] - (SEMVER-MAJOR) module,repl: support 'node:'-only core modules (Colin Ihrig) #42325
  • [3a26db9697] - (SEMVER-MAJOR) net: make server.address() return an integer for family (Antoine du Hamel) #41431
  • [e6a7300a10] - (SEMVER-MAJOR) process: disallow some uses of Object.defineProperty() on process.env (Himself65) #28006
  • [60b8e79599] - (SEMVER-MAJOR) process: runtime deprecate multipleResolves (Benjamin Gruenbaum) #41896
  • [d36b60e69a] - (SEMVER-MAJOR) readline: fix question still called after closed (Xuguang Mei) #42464
  • [58e645de63] - (SEMVER-MAJOR) stream: remove thenable support (Robert Nagy) #40773
  • [560cbc5849] - (SEMVER-MAJOR) stream: expose web streams globals, remove runtime experimental warning (Antoine du Hamel) #42225
  • [9fb7ac3bbd] - (SEMVER-MAJOR) stream: need to cleanup event listeners if last stream is readable (Xuguang Mei) #41954
  • [ceaa299958] - (SEMVER-MAJOR) stream: revert revert map spec compliance (Benjamin Gruenbaum) #41933
  • [fe7ca085a7] - (SEMVER-MAJOR) stream: throw invalid arg type from End Of Stream (Jithil P Ponnan) #41766
  • [48e784043d] - (SEMVER-MAJOR) stream: don't emit finish after destroy (Robert Nagy) #40852
  • [f2170253b6] - (SEMVER-MAJOR) stream: add errored and closed props (Robert Nagy) #40696
  • [432d1b50e0] - (SEMVER-MAJOR) test: add initial test module (Colin Ihrig) #42325
  • [92567283f4] - (SEMVER-MAJOR) timers: refactor internal classes to ES2015 syntax (Rabbit) #37408
  • [65910c0d6c] - (SEMVER-MAJOR) tls: represent registeredID numerically always (Tobias Nießen) #41561
  • [807c7e14f4] - (SEMVER-MAJOR) tls: move tls.parseCertString to end-of-life (Tobias Nießen) #41479
  • [f524306077] - (SEMVER-MAJOR) url: throw on NULL in IPv6 hostname (Rich Trott) #42313
  • [0187bc5cdc] - (SEMVER-MAJOR) v8: make v8.writeHeapSnapshot() error codes consistent (Darshan Sen) #42577
  • [74b9baa426] - (SEMVER-MAJOR) v8: make writeHeapSnapshot throw if fopen fails (Antonio Román) #41373
  • [ce4d3adf50] - (SEMVER-MAJOR) worker: expose BroadcastChannel as a global (James M Snell) #41271
  • [6486a304d3] - (SEMVER-MAJOR) worker: graduate BroadcastChannel to supported (James M Snell) #41271
  • Semver-Minor Commits:
  • [415726b8c4] - (SEMVER-MINOR) stream: add writableAborted (Robert Nagy) #40802
  • [54819f08e0] - (SEMVER-MINOR) test_runner: support 'only' tests (Colin Ihrig) #42514
  • Semver-Patch Commits:
  • [7533d08b94] - buffer: fix atob input validation (Austin Kelleher) #42662
  • [96673bcb96] - build: run clang-format on CI (Darshan Sen) #42681
  • [d5462e4558] - build: reset embedder string to "-node.0" (Michaël Zasso) #42657
  • [aa52873887] - build: add configure option --v8-enable-short-builtin-calls (daomingq) #42109
  • [7ee8a7a463] - build: reset embedder string to "-node.0" (Michaël Zasso) #41610
  • [a189dee52a] - build: reset embedder string to "-node.0" (Michaël Zasso) #40907
  • [e8697cfe38] - crypto: improve prime size argument validation (Tobias Nießen) #42234
  • [a9c0689786] - crypto: fix return type prob reported by coverity (Michael Dawson) #42135
  • [e938515b41] - deps: patch V8 to 10.1.124.8 (Michaël Zasso) #42730
  • [eba7d2db7f] - deps: V8: cherry-pick ad21d212fc14 (Michaël Zasso) #42657
  • [004137e269] - deps: V8: cherry-pick 4c29cf1b7885 (Michaël Zasso) #42657
  • [a052c03033] - deps: V8: cherry-pick ca2a787a0b49 (Michaël Zasso) #42657
  • [01cea9a8d8] - deps: V8: cherry-pick a2cae2180a7a (Michaël Zasso) #42657
  • [d9d26b08ef] - deps: V8: cherry-pick 87ce4f5d98a5 (Michaël Zasso) #42657
  • [64a6328505] - deps: make V8 compilable with older glibc (Michaël Zasso) #42657
  • [fde59217b9] - deps: V8: fix v8-cppgc.h for MSVC (Jiawen Geng) #42657
  • [cdcc82cced] - deps: silence V8's warning on CompileFunction (Michaël Zasso) #40907
  • [2f51e121da] - deps: update Acorn to v8.7.0 (Michaël Zasso) #42667
  • [6d4b01774b] - deps: update ICU to 71.1 (Michaël Zasso) #42655
  • [2d84620f86] - deps: upgrade npm to 8.6.0 (npm team) #42550
  • [c7ac11fa25] - deps: update undici to 5.0.0 (Node.js GitHub Bot) #42583
  • [468fffdf66] - deps: V8: cherry-pick 50d5fb7a457c (Michaël Zasso) #41610
  • [48708be57b] - deps: V8: cherry-pick 79a9d2eb3477 (Michaël Zasso) #41610
  • [3c8782f70e] - deps: silence V8's warning on CompileFunction (Michaël Zasso) #40907
  • [9318408c49] - deps: silence V8's warning on CompileFunction (Michaël Zasso) #40907
  • [e23e345b6c] - deps: V8: cherry-pick 80bbbb143c24 (Michaël Zasso) #40907
  • [696ce7df26] - deps: V8: cherry-pick 1cc12b278e22 (Michaël Zasso) #40907
  • [aa88e5e4b9] - doc: revise data imports and node: imports sections (Rich Trott) #42734
  • [a058cefe29] - doc: fix ESM JSON/data URL import example (Rich Trott) #42728
  • [e61b62b9d4] - doc: improve doc for http.ServerResponse inheritance (Luigi Pinca) #42693
  • [6669b3857f] - doc: add RafaelGSS to collaborators (RafaelGSS) #42718
  • [f825341bab] - doc: add NodeEdKeyGenParams to CryptoKey.algorithm (Tobias Nießen) #42629
  • [d4d78361f2] - doc: fix the example for embedders (Momtchil Momtchev) #42671
  • [6706be1cdb] - doc: change AES-GCM IV recommendation in WebCrypto (Tobias Nießen) #42611
  • [4508c8caa4] - doc: fix added: info for some methods (Luigi Pinca) #42661
  • [951dbc045a] - doc: remove unneeded new in Buffer example (Niklas Mischkulnig) #42682
  • [65e838071b] - doc: mark worker.id as integer in cluster docs (Tobias Nießen) #42684
  • [a82713cbb6] - doc: recommend fh.createWriteStream for fsPromises methods (Antoine du Hamel) #42653
  • [13ad8d4e09] - doc: fix outgoingMessage.removeHeader() signature (Luigi Pinca) #42652
  • [a0461255c0] - doc: mark tlsSocket.authorized as boolean property (Tobias Nießen) #42647
  • [3ac7f86c2b] - doc: add missing punctuation in Web Streams doc (Tobias Nießen) #42672
  • [b98386c977] - doc: add missing article in session ticket section (Tobias Nießen) #42632
  • [a113468383] - doc: link to dynamic import function (Tobias Nießen) #42634
  • [dfc2dc8b65] - doc: add note about header values encoding (Shogun) #42624
  • [ec5a359ffd] - doc: add missing word in rootCertificates section (Tobias Nießen) #42633
  • [c08a361f70] - doc: add history entries for DEP0162 on fs.md (Antoine du Hamel) #42608
  • [4fade6acb4] - doc: fix brackets position (Livia Medeiros) #42649
  • [8055c7ba5d] - doc: copyedit corepack.md (Rich Trott) #42620
  • [85a65c3260] - doc: delete chakra tt from diagnostic tooling support tiers (Tony Gorez) #42627
  • [63bb6dcf0f] - doc: align links in table to top (nikoladev) #41396
  • [28d8614add] - http: document that ClientRequest inherits from OutgoingMessage (K.C.Ashish Kumar) #42642
  • [c37fdacb34] - lib: use class fields in observe.js (Joyee Cheung) #42361
  • [ea0668a27e] - lib: use class fields in Event and EventTarget (Joyee Cheung) #42361
  • [eb7b89c829] - lib: update class fields TODO in abort_controller.js (Joyee Cheung) #42361
  • [d835b1f1c1] - meta: update AUTHORS (Node.js GitHub Bot) #42677
  • [29492496e8] - meta: move one or more collaborators to emeritus (Node.js GitHub Bot) #42599
  • [93c4dc5e5a] - module: ensure 'node:'-only modules can access node_modules (Colin Ihrig) #42430
  • [3a26db9697] - net: make server.address() return an integer for family (Antoine du Hamel) #41431
  • [44fdf953ba] - node-api,src: fix module registration in MSVC C++ (Vladimir Morozov) #42459
  • [3026ca0bf2] - src: fix coverity report (Michael Dawson) #42663
  • [01fd048c6e] - src: update NODE_MODULE_VERSION to 108 (Michaël Zasso) #42657
  • [75a71dc7ae] - src: fix alphabetically sorted binding list (Tobias Nießen) #42687
  • [457567f72c] - src: include crypto in the bootstrap snapshot (Joyee Cheung) #42203
  • [aa7dc808f5] - src: update ImportModuleDynamically (Camillo Bruni) #41610
  • [fa0439e66c] - src: update NODE_MODULE_VERSION to 105 (Michaël Zasso) #41610
  • [6ec1664dc8] - src: update NODE_MODULE_VERSION to 104 (Michaël Zasso) #40907
  • [a706342368] - src: add kNoBrowserGlobals flag for Environment (Cheng Zhao) #40532
  • [0c57a37dd0] - src,crypto: remove uses of AllocatedBuffer from crypto_tls.cc (Darshan Sen) #42589
  • [be01185844] - src,inspector: fix empty MaybeLocal crash (Darshan Sen) #42409
  • [340b770d3f] - stream: unify writableErrored and readableErrored (Robert Nagy) #40799
  • [19064bec34] - test: delete test/pummel/test-repl-empty-maybelocal-crash.js (Darshan Sen) #42720
  • [9d6af7d1fe] - test: improve internal/url.js coverage (Yoshiki Kurihara) #42650
  • [d49df5ca8d] - test: adapt message tests for V8 10.2 (Michaël Zasso) #42657
  • [c6b4e9604f] - test: adapt test-worker-debug for V8 10.0 (Michaël Zasso) #42657
  • [0854fce8bc] - test: adapt test-v8-serdes for V8 9.9 (Michaël Zasso) #42657
  • [73d53fe9f5] - test: only skip slow tests on Raspberry Pi devices (Richard Lau) #42645
  • [db7fa9f4b7] - test: allow numeric string for lookupService test (Daeyeon Jeong) #42596
  • [0525a147b2] - test: remove an unnecessary undefined in wpt (Khaidi Chu) #41470
  • [bb762c5bd0] - test: simplify test-http-write-callbacks.js (Tobias Nießen) #42628
  • [1600869eb7] - test: fix comments in test files (Daeyeon Jeong) #42536
  • [82181bb9b8] - test: fix failure in test/sequential/test-heapdump.js (Darshan Sen) #41772
  • [ba5b5acaf1] - test: improve worker_threads coverage (Erick Wendel) #41818
  • [f076c36335] - tools: update clang-format 1.6.0 to 1.7.0 (Rich Trott) #42724
  • [45162bf9e7] - tools: update clang-format from 1.2.3 to 1.6.0 (Rich Trott) #42685
  • [40bc08089d] - tools: update V8 gypfiles for 10.1 (Michaël Zasso) #42657
  • [09513cd1a3] - tools: update eslint to 8.13.0 (Node.js GitHub Bot) #42678
  • [b99bb57416] - tools: update gyp-next to v0.12.1 (Michaël Zasso) #42625
  • [2468db1f53] - tools: update lint-md-dependencies to @rollup/[email protected] (Node.js GitHub Bot) #42584
  • [8a3f28a05c] - tools: add v8-embedder-state-scope.h to distributed headers (Michaël Zasso) #41610
  • [30c4e1d952] - tools: update V8 gypfiles for 9.8 (Michaël Zasso) #41610
  • [1ad44094a2] - tools: update V8 gypfiles for 9.7 (Michaël Zasso) #40907
  • [86b77f7d0f] - tools,doc: use V8::DisposePlatform (Michaël Zasso) #41610
  • [62e62757b3] - tools,test: fix V8 initialization order (Camillo Bruni) #42657
  • [0187bc5cdc] - v8: make v8.writeHeapSnapshot() error codes consistent (Darshan Sen) #42577
  • [74b9baa426] - v8: make writeHeapSnapshot throw if fopen fails (Antonio Román) #41373

New in Node.js 17.9.0 Current (Apr 8, 2022)

  • Notable Changes:
  • [7124f91cbf] - (SEMVER-MINOR) crypto: make authTagLength optional for CC20P1305 (Tobias Nießen) #42427
  • [30dc6dd3fb] - deps: update undici to 4.16.0 (Node.js GitHub Bot) #42414
  • [f0fc2744a5] - doc: add @meixg to collaborators (Xuguang Mei) #42576
  • Commits:
  • [bb71433334] - async_hooks: remove destroyed symbol on Promises (Gerhard Stöbich) #42402
  • [b48a6cb3f9] - bootstrap: reset process._exit and process.exitCode in pre-execution (Joyee Cheung) #42466
  • [b89f038537] - bootstrap: run inspector and event loop in snapshot builder (Joyee Cheung) #42466
  • [177558600e] - bootstrap: make I/O streams work with user-land snapshot (Joyee Cheung) #42466
  • [e3683cb34d] - bootstrap: refresh options in pre-execution (Joyee Cheung) #42466
  • [d302d2f0d2] - bootstrap: use SnapshotData to pass snapshot data around (Joyee Cheung) #42360
  • [eb3dfc00f0] - buffer: improve Blob constructor error message when passing a string (Xuguang Mei) #42338
  • [f45d5537c1] - buffer: fix atob input validation (Antoine du Hamel) #42539
  • [fb6a5ba8d7] - build: remove precompiled header and debug information for host builds (Niyas Sait) #42538
  • [1f7d2e800c] - build: windows/arm64 native compilation support (Niyas Sait) #42408
  • [d9a1d7866c] - build: consolidate JS and md linting GitHub Actions (Rich Trott) #42572
  • [ecb5be845d] - build: set stale action back to running nightly (Michael Dawson) #42549
  • [f9fb7f6d96] - build: add --node-snapshot-main configure option (Joyee Cheung) #42466
  • [c6808f088b] - build: bump actions/checkout (Eliaz Bobadilla) #42460
  • [9a54acb7c6] - child_process: add env contents types in JSDoc (Rich Trott) #42494
  • [a2f07380ea] - crypto: do not add undefined hash in webcrypto normalizeAlgorithm (Filip Skokan) #42559
  • [9b4bd7d031] - crypto: cleanup webcrypto jwk code (Filip Skokan) #42562
  • [541a1328b0] - crypto: fix webcrypto derive key lengths (Filip Skokan) #42542
  • [7124f91cbf] - (SEMVER-MINOR) crypto: make authTagLength optional for CC20P1305 (Tobias Nießen) #42427
  • [30dc6dd3fb] - deps: update undici to 4.16.0 (Node.js GitHub Bot) #42414
  • [6e56924274] - doc: simplify Http2Stream encoding text (Rich Trott) #42597
  • [261672b1da] - doc: remove obsolete stream API selection text (Rich Trott) #42586
  • [beffed1880] - doc: remove faulty justification for 128-bit AES (Tobias Nießen) #42578
  • [71f4a39086] - doc: fix documentation of FileHandle.prototype.appendFile (Antoine du Hamel) #42588
  • [c83ea22f7c] - doc: change "OCSP Request" to "OCSP request" (Tobias Nießen) #42582
  • [71ab0dea35] - doc: aes webcrypto unwrap is not a node-specific extensions (Filip Skokan) #42561
  • [1c614184da] - doc: simplify recommendations in process.md (Rich Trott) #42556
  • [c036800ddc] - doc: clarify recommendations in stream.md (Rich Trott) #42555
  • [dcf0abf8c7] - doc: simplify recommendation in webcrypto.md (Rich Trott) #42554
  • [8333fa063b] - doc: update DEP0102 text (Rich Trott) #42553
  • [8b08bff682] - doc: remove util.promisify() content in readline.md (Rich Trott) #42552
  • [94492424ba] - doc: add introduction sentence for CJS (Antoine du Hamel) #42491
  • [f0fc2744a5] - doc: add @meixg to collaborators (Xuguang Mei) #42576
  • [d935fef594] - doc: consolidate CI sections (Rich Trott) #42534
  • [fd45df314b] - doc: document breaking change in http.IncomingMessage 'close' event (Paolo Insogna) #42521
  • [53584fa750] - doc: remove extraneous comma (Rich Trott) #42548
  • [b819af6509] - doc: guide towards x509.fingerprint256 (Tobias Nießen) #42516
  • [f2355e41ed] - doc: fix internal link in collaborator-guide.md (Daeyeon Jeong) #42551
  • [ffc6776996] - doc: add suggestion for OpenSSL only sec releases (Michael Dawson) #42456
  • [1454c0297d] - doc: fix comment text in async_hooks example (Rich Trott) #42499
  • [b9ab9867f4] - doc: add stability class to legacy status description (Daniel Roe) #42525
  • [6c13988d53] - doc: suggest checkHost in checkServerIdentity docs (Tobias Nießen) #42495
  • [28665a9dd6] - doc: update security release onboarding (Joe Sepi) #42333
  • [d335addf0c] - doc: fix question promise API example (Xuguang Mei) #42465
  • [7cf9febcb4] - doc: remove comma splice in events.md (Rich Trott) #42484
  • [3c3684d9f1] - doc: clarify napi_finalize behavior (Alba Mendez) #42461
  • [334cc1936b] - doc: expand history for conditional exports changes in v12 (Greg Poole) #42339
  • [fb146f9eaf] - doc: change comma-splice to two sentences (Rich Trott) #42455
  • [ce4b823946] - doc: add link to section (Rich Trott) #42428
  • [5869275479] - doc: fix typo in async_context.md (Anupama Codippily) #42444
  • [48bd9fa2c7] - doc: add trace_gc to diagnostic tooling support document (Tony Gorez) #42346
  • [00f693b6b1] - doc: make header smaller and dropdown click-driven when JS is on (Paolo Insogna) #42165
  • [abbb23620a] - doc: standardize typography for _semantic versioning_ (Rich Trott) #42401
  • [e763e575c6] - doc: unify import order in CCM example (Tobias Nießen) #42394
  • [10d638a735] - doc: update property name (Rich Trott) #42398
  • [5589a448b7] - doc,test: clarify ChaCha20-Poly1305 usage (Tobias Nießen) #42323
  • [902776e674] - esm: emit experimental warnings in common place (Jacob Smith) #42314
  • [8009cb0a78] - fs: fix write methods param validation and docs (Livia Medeiros) #42631
  • [a9dc3a92d9] - lib: prepare files for no-var lint rule (Rich Trott) #42573
  • [3306fee824] - lib: source maps filter null prefix (Fabian Cook) #42522
  • [3bac969655] - lib: improve the coverage of the validator (mawaregetsuka) #42443
  • [b74de21cc3] - lib: update JSDoc for linting (Rich Trott) #42489
  • [7766bf954f] - meta: update .mailmap and AUTHORS (Rich Trott) #42602
  • [93ffc5535a] - meta: move one or more collaborators to emeritus (Node.js GitHub Bot) #42500
  • [256509056d] - meta: update AUTHORS (Node.js GitHub Bot) #42585
  • [41c2a32390] - meta: update AUTHORS (Node.js GitHub Bot) #42488
  • [b71a8107c0] - net,dns: trace tcp connection and dns by perf_hooks (theanarkh) #42390
  • [f9f3b6e45d] - node-api: format Node-API related code (Vladimir Morozov) #42396
  • [0bd9d9e24f] - os: avoid unnecessary usage of var (Mohammed Keyvanzadeh) #42563
  • [e798e26dfd] - src: add proper mutexes for accessing FIPS state (Anna Henningsen) #42278
  • [a1fe0d2222] - src: fix typo in InspectorIoDelegate constructor (Kohei Ueno) #42520
  • [0c54f3637b] - src: remove unnecessary static qualifier in crypto_dh.cc (Darshan Sen) #42492
  • [2e6a66d7d7] - src: address 3 useless call coverity warnings (Michael Dawson) #42426
  • [ce9d840079] - src: properly report exceptions from AddressToJS() (Darshan Sen) #42054
  • [c6a558c61b] - src: suppress false coverity warning (Michael Dawson) #42284
  • [878148c266] - src: refactor IsSupportedAuthenticatedMode (Tobias Nießen) #42368
  • [970483ffd3] - src,crypto: handle empty maybe correctly in crypto_dh.cc (Darshan Sen) #42492
  • [a348f8ac1a] - src,crypto: remove uses of AllocatedBuffer from crypto_dh.cc (Darshan Sen) #42492
  • [fb25ba435c] - test: improve lib/internal/readline/promises.js coverage (MURAKAMI Masahiko) #42420
  • [4cbb1ea910] - test: remove hack for atob and btoa WPT tests (Antoine du Hamel) #42540
  • [f41a4780d5] - test: pass data into napi_create_external (Joyee Cheung) #42532
  • [90554572b5] - test: improve FileHandle.prototype.write coverage (Antoine du Hamel) #42541
  • [797994e4c0] - test: add test for exception handlings in debugger (Kohei Ueno) #42327
  • [8c9b5e9a36] - test: fix typo in common/wpt.js (Ikko Ashimine) #42567
  • [2f682091cd] - test: fix typos in test/parallel (Daeyeon Jeong) #42502
  • [52d1c8d6d9] - test: add trace-gc flag test (Tony Gorez) #42471
  • [19c933c79a] - test,fs: add fs.rm() tests for .git directories (Darshan Sen) #42410
  • [d64c4fb94d] - tools: enable no-var ESLint rule for lib (Rich Trott) #42573
  • [a9f2636d12] - tools: fixed bug causing JSON format to be broken (mawaregetsuka) #41565
  • [bff9cae16a] - tools: update GHA actions version (Antoine du Hamel) #42498
  • [c6bfb225cd] - tools: update eslint to 8.12.0 (Node.js GitHub Bot) #42489
  • [464e57ffc7] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #42487
  • [13dd8e73df] - tools: refloat 7 Node.js patches to cpplint.py (Rich Trott) #42416
  • [3a1b0e5b87] - tools: bump cpplint to 1.6.0 (Rich Trott) #42416
  • [9344a06d9c] - tools: fix skip PR if CI is still running (Xuguang Mei) #42377

New in Node.js 17.8.0 Current (Mar 22, 2022)

  • Notable Changes:
  • [3bd0078457] - doc: add @ShogunPanda to collaborators (Shogun) #42362
  • [23354673be] - doc: deprecate string coercion in fs.write, fs.writeFileSync (Livia Medeiros) #42149
  • [da42ffb85e] - (SEMVER-MINOR) http: trace http client by perf_hooks (theanarkh) #42345
  • [84fd6e54b0] - deps: upgrade npm to 8.5.5 (npm team) #42382
  • [b60262ee9f] - deps: update undici to 4.15.1 (Michaël Zasso) #42246
  • Commits:
  • [1796f035c7] - build: rename tools workflow and add undici to it (Michaël Zasso) #42246
  • [f27bcec2ea] - build: use ccache in make-v8.sh on ppc64le and s390x (Richard Lau) #42204
  • [f48c3baf5a] - crypto: fix auth tag length error when mode != GCM (Tobias Nießen) #42383
  • [1d0468f749] - crypto: fix fingerprint string size calculation (Tobias Nießen) #42175
  • [a4632a3dc2] - crypto: add CHECKs to remaining BIO_s_mem allocs (Tobias Nießen) #42155
  • [3b55946452] - debugger: correct typo in inspect_repl.js (Kohei Ueno) #42267
  • [84fd6e54b0] - deps: upgrade npm to 8.5.5 (npm team) #42382
  • [f2178fcc1a] - deps: cares: cherry-pick b5a3d96 (bradh352) #42216
  • [063ff08cb1] - deps: V8: cherry-pick c6f6626deb14 (Lu Yahan) #42240
  • [b60262ee9f] - deps: update undici to 4.15.1 (Michaël Zasso) #42246
  • [70c0758308] - deps: upgrade npm to 8.5.3 (npm team) #42205
  • [fd51e78963] - doc: fix version history for net.Socket and net.Server (Antoine du Hamel) #42268
  • [db83c4d6dc] - doc: improve README.md usability (Rich Trott) #42378
  • [88d3401329] - doc: add that chacha20-poly1305 is IETF version (Tobias Nießen) #42370
  • [04a7c0061b] - doc: update instructions for openssl updates (Michael Dawson) #42353
  • [78b858dd4b] - doc: document goal to have examples (Michael Dawson) #42274
  • [a5e42f0113] - doc: fix Embedder's Guide link to V8 official docs (Aroyan) #42373
  • [6c265e7243] - doc: remove unneeded lint disable comment (Rich Trott) #42374
  • [46d3d23e64] - doc: revise async_hooks docs (Rich Trott) #42337
  • [3bd0078457] - doc: add @ShogunPanda to collaborators (Shogun) #42362
  • [e7e8eb9f03] - doc: update base branch name for nodejs/nodejs.org (Danielle Adams) #42355
  • [fd7e4ab654] - doc: fix async iterable pipeline signal examples (Randall Leeds) #42258
  • [96dc591b55] - doc: clarify path search in child_process.spawn (Damjan Cvetko) #41418
  • [72dd50016a] - doc: clarify the meaning of legacy status (Darshan Sen) #42269
  • [8b99099063] - doc: improve pipe description (Mikael Finstad) #42295
  • [701dc14fdf] - doc: remove outdated timeout.unref content (Xuguang Mei) #42241
  • [23354673be] - doc: deprecate string coercion in fs.write, fs.writeFileSync (Livia Medeiros) #42149
  • [f3c6c00963] - doc: remove refs to old OpenSSL list-* commands (Tobias Nießen) #42235
  • [19851f8d2d] - doc: readline 'line' event emits final line (Matt Probert) #42214
  • [e55283b978] - esm: make extension-less errors in type:module actionable (Bradley Farias) #42301
  • [e17db8f0fa] - esm: improve typings and code coverage (Bradley Farias) #42305
  • [4829a1047f] - esm: add runtime warning for specifier resolution flag (Geoffrey Booth) #42252
  • [da42ffb85e] - (SEMVER-MINOR) http: trace http client by perf_hooks (theanarkh) #42345
  • [88dee3c6b5] - http2: fix potential integer overflow (Michael Dawson) #42248
  • [1fe0b69c31] - lib: refactor to use primordials in lib/assert.js (Akhil Marsonya) #41702
  • [69a3792540] - lib: fix AsyncResource.bind not using 'this' from the caller by default (Roch Devost) #42177
  • [1c87ce6a32] - meta: update AUTHORS (Node.js GitHub Bot) #42404
  • [e7b8d83acd] - meta: update AUTHORS (Node.js GitHub Bot) #42317
  • [7fc4b9f08d] - meta: add dependencies label to label-pr-config (Mestery) #42129
  • [e96042442b] - src: convert hex2bin() into a regular function (Darshan Sen) #42321
  • [21198c1407] - src: fix coverity warnings in node_file.cc (Michael Dawson) #42272
  • [846b074075] - src: check EC_POINT_get_affine_coordinates result (Tobias Nießen) #42304
  • [8b84e68cbd] - src: simplify bound check in ParseArrayIndex (Tobias Nießen) #42306
  • [9500e5862e] - src: avoid returning invalid value from hex2bin (Tobias Nießen) #42307
  • [08e2d8ab86] - src: check return value of HMAC_Final (Tobias Nießen) #42303
  • [9fc4b9b04e] - src: include internal/options in the snapshot (Joyee Cheung) #42203
  • [e43aa30982] - src: remove redundant buffer size check (Tobias Nießen) #42257
  • [d06e92dba0] - src: perform minor cleanups on zlib code (Anna Henningsen) #42247
  • [9af908305d] - src: use emplace_back instead of push_back (Yash Ladha) #42159
  • [62d9a7f5db] - src: fix unchecked return warning from coverity (Michael Dawson) #42176
  • [58763d7f9d] - src,crypto: avoid tristate Maybe in ExportJWKEcKey() (Darshan Sen) #42223
  • [5367002bc8] - stream: do cleanup when iterator is destroyed (Khoo Hao Yit) #42320
  • [3492a0eb1e] - string_decoder: fix crash when calling __proto__.write() (Darshan Sen) #42062
  • [d9a5c2b284] - test: give slow tests more time on Rasberry PIs (Michael Dawson) #42380
  • [b82bac09ff] - test: improve https_renew_cert.sh script (Tobias Nießen) #42343
  • [dfdce7c182] - test: improve _http_incoming.js coverage (Yoshiki Kurihara) #42211
  • [4941791f29] - test: improve _http_outgoing coverage (Yoshiki Kurihara) #42213
  • [94e5eaa7e9] - test: add test case for reverted 17.7 regression (Rich Trott) #42283
  • [a4aa9eb97f] - test: use global webcrypto for WPT tests (Antoine du Hamel) #42236
  • [26d4a2d489] - test,crypto: add and update empty passphrase regression tests (Darshan Sen) #42319
  • [4fd2aff42e] - tools: make update-undici script executable (Michaël Zasso) #42406
  • [38e7681ac7] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #42403
  • [b7a4b4b1fd] - tools: update doc to [email protected] [email protected] (Node.js GitHub Bot) #42315
  • [30ea1889d5] - tools: update lint-md-dependencies to [email protected] [email protected] (Node.js GitHub Bot) #42316
  • [eb0e1a1147] - tools: update eslint to 8.11.0 (Node.js GitHub Bot) #42318
  • [e95426fd3a] - tools: fix web streams API links (Brian White) #42153
  • [fe01940f35] - url: preserve null char in WHATWG URL errors (Rich Trott) #42263
  • [b89f4d5c17] - url: trim leading and trailing C0 control chars (Rich Trott) #42196
  • [229fb40edc] - worker: do not send message if port is closing (Rich Trott) #42357

New in Node.js 17.7.2 Current (Mar 18, 2022)

  • Notable Changes:
  • Update to OpenSSL 3.0.2, which addresses the following vulnerability:
  • Infinite loop in BN_mod_sqrt() reachable when parsing certificates (High)(CVE-2022-0778) More details are available at https://www.openssl.org/news/secadv/20220315.txt
  • Commits:
  • [55e293e05f] - deps: update archs files for quictls/openssl-3.0.2+quic (Hassaan Pasha) #42356
  • [b8d090603d] - deps: upgrade openssl sources to quictls/openssl-3.0.2+quic (Hassaan Pasha) #42356
  • [c8b6d92af0] - test: fix tests affected by OpenSSL update (Michael Dawson) #42356
  • [457e31ea09] - test: renew certificates for specific test (Luigi Pinca) #42342

New in Node.js 16.14.2 LTS (Mar 18, 2022)

  • Notable Changes:
  • Update to OpenSSL 1.1.1n, which addresses the following vulnerability:
  • Infinite loop in BN_mod_sqrt() reachable when parsing certificates (High)(CVE-2022-0778) More details are available at https://www.openssl.org/news/secadv/20220315.txt
  • Commits:
  • [3924618c74] - deps: update archs files for OpenSSL-1.1.1 (Hassaan Pasha) #42352
  • [7a6a870d58] - deps: upgrade openssl sources to OpenSSL_1_1_1n (Hassaan Pasha) #42352
  • [c533b430f4] - test: fix tests affected by OpenSSL update (Michael Dawson) #42352

New in Node.js 17.7.1 Current (Mar 14, 2022)

  • Notable Changes:
  • Fixed regression in url.resolve():
  • This release fixes an issue introduced in Node.js v17.7.0 with some URLs that contain @. This issue affected yarn 1. This version reverts the change that introduced the regression.
  • Commits:
  • [96a9e00fb3] - url: revert fix url.parse() for @hostname (Antoine du Hamel) #42280
  • 2022-03-09, Version 17.7.0 (Current), @BethGriggs prepared by @sxa
  • Notable Changes:
  • [2b354223d4] - (SEMVER-MINOR) crypto: add KeyObject.prototype.equals method (Filip Skokan) #42093
  • [a2926c477a] - (SEMVER-MINOR) net: add new options to net.Socket and net.Server (Paolo Insogna) #41310
  • [86248f1178] - (SEMVER-MINOR) src: allow preventing InitializeInspector in env (Shelley Vohr) #35025
  • [a4969d5c37] - doc: add release key for Bryan English (Bryan English) #42102
  • Dependency Updates:
  • [0b8efea182] - deps: update nghttp2 to 1.47.0 (Yash Ladha) #42127
  • [ccacf99e5c] - deps: upgrade npm to 8.5.2 (npm team) #42122
  • New Collaborators:
  • [3df001fa93] - doc: add JakobJingleheimer to collaborators list (Jacob Smith) #42185
  • [0ce00ca5e1] - doc: move bnoordhuis back to collaborators (Ben Noordhuis) #42064
  • Commits:
  • [d05758f79f] - buffer: improve blob read performance (Xuguang Mei) #42117
  • [0bbb44741b] - build: drop shortened URL from lint-commit-message (Richard Lau) #42168
  • [4e9fac6539] - build: fix usage of input in feature action (Michael Dawson) #42150
  • [853cbd99b8] - build: increase max ops for stale feature action (Michael Dawson) #42130
  • [3fc3f521d6] - build: add corepack to the auto-updated dependencies (Maël Nison) #42090
  • [ec4c0de6d1] - build: last test of the stale feature action (Michael Dawson) #42085
  • [03ebca86d9] - build: update feature close action for testing (Michael Dawson) #42082
  • [c9ea6a9261] - crypto: validate this value for webcrypto.getRandomValues (Antoine du Hamel) #41760
  • [2b354223d4] - (SEMVER-MINOR) crypto: add KeyObject.prototype.equals method (Filip Skokan) #42093
  • [288f627c46] - crypto: clarify require("crypto").getRandomValues is Node.js specific (Antoine du Hamel) #41782
  • [0b8efea182] - deps: update nghttp2 to 1.47.0 (Yash Ladha) #42127
  • [ccacf99e5c] - deps: upgrade npm to 8.5.2 (npm team) #42122
  • [1359f60338] - deps: V8: cherry-pick 77d515484864 (Lu Yahan) #42067
  • [769e2a486f] - deps: V8: cherry-pick b66334313c8b (Lu Yahan) #42067
  • [fc7d429516] - doc: update stale feature messages (Michael Dawson) #42217
  • [6183749861] - doc: remove erroneous comma in cluster explainer (Tobias Nießen) #42238
  • [555da9b658] - doc: remove "considered" for clarity (Rich Trott) #42218
  • [05c3ff5e76] - doc: clarify that some modules don't work when compiled without ssl (Antoine du Hamel) #42198
  • [a6c1abf7e1] - doc: add note about nghttp2 hd pair size (Rafael Silva) #42172
  • [04d2c74c8a] - doc: use parenthesis instead of em dash (Antoine du Hamel) #42202
  • [6a74fa91bb] - doc: add next-10 to strategic initiatives (Michael Dawson) #42167
  • [ee027391e7] - doc: add missing single-quotes to http.OutgoingMessage (Juan José Arboleda) #42162
  • [84859c4029] - doc: fix typos (apeltop) #42146
  • [3df001fa93] - doc: add JakobJingleheimer to collaborators list (Jacob Smith) #42185
  • [ce86fc3006] - doc: remove reference to obsolete security program (Rich Trott) #42144
  • [5d010bcde2] - doc: remove repeated a word (apeltop) #42138
  • [a32ec983c6] - doc: make building with ninja more discoverable (Balakrishna Avulapati) #41840
  • [26fe61b6ad] - doc: document change to IncomingMessage.headers enumerability (Arnold Zokas) #42095
  • [eb622a0761] - doc: add meixg to triagers (Xuguang Mei) #42066
  • [bd04fc89da] - doc: clarify persistent ref behavior (Michael Dawson) #42035
  • [0ce00ca5e1] - doc: move bnoordhuis back to collaborators (Ben Noordhuis) #42064
  • [8b531dadb1] - doc: clarify supported versus enabled TLS ciphers (Tobias Nießen) #42063
  • [3789d668f7] - doc: add missing api entries on performance (legendecas) #42018
  • [a4969d5c37] - doc: add release key for Bryan English (Bryan English) #42102
  • [8b94ea6e1c] - doc,tools: improve navigability of API docs (Paolo Insogna) #41404
  • [2e1231b831] - errors: do not access .stack in debug (Benjamin Coe) #42096
  • [8dd4878850] - esm: fix base URL for network imports (Bradley Farias) #42131
  • [2bc136d3cb] - esm: fix relative imports for https (Bradley Farias) #42119
  • [576c1aea8e] - fs: adjust default length for fs.readSync and fsPromises/read (Livia Medeiros) #42128
  • [041373696f] - http: add default argument for Agent.prototype.getName (小菜) #41906
  • [1de80872e8] - http2: add edge case to GOAWAY request (Rafael Silva) #42190
  • [9bc7a954fd] - http2: close stream and session on frameError (Rafael Silva) #42147
  • [384872fdbd] - lib: clean after the cancel algorithm throw error (Chen Gang) #41366
  • [f7ea75fd0a] - lib: add legacy built-in functions to primordials (Antoine du Hamel) #42049
  • [7f1c83e674] - loader: fix esm resolve for symlink file (Xuguang Mei) #42197
  • [5b23e67ad5] - meta: update AUTHORS (Node.js GitHub Bot) #42227
  • [cad7dde9af] - meta: update AUTHORS (Node.js GitHub Bot) #42142
  • [7ed2c19cbb] - meta: correct link to feature request document (Simen Bekkhus) #42092
  • [e0448da9a9] - meta: move one or more collaborators to emeritus (Node.js GitHub Bot) #42068
  • [e3347dbaa8] - meta: remove collaborator (Rich Trott) #42073
  • [96510b3411] - module: prefer async/await in https imports (Benjamin Gruenbaum) #41950
  • [a2926c477a] - (SEMVER-MINOR) net: add new options to net.Socket and net.Server (Paolo Insogna) #41310
  • [f107f8bf40] - node-api: fix typo in node_api.cc (Austin Kelleher) #42110
  • [c72c3f4bb1] - perf_hooks: do not return all entries with getEntriesBy[Name|Type] (Xuguang Mei) #42104
  • [7c49785348] - process: fix named report export (madflow) #41861
  • [d6b1a4a235] - repl: remove preview when press escape (meixg) #42053
  • [98b1be0ec2] - src: return proper URLs from node_api_get_module_file_name (Anna Henningsen) #41758
  • [0abc20b6cf] - src: skip revoke_data_object if uuid is not found (Xuguang Mei) #42212
  • [ce409279d8] - src: remove dead code in AddFingerprintDigest (Tobias Nießen) #42145
  • [4c9f2b5d83] - src: combine GetCurveASN1Name and GetCurveNistName (Tobias Nießen) #42118
  • [f0558d88fb] - src: simplify TLSWrap::SetSession (Tobias Nießen) #42087
  • [97f5ceda84] - src: prefer bool over int in crypto_common (Tobias Nießen) #42097
  • [382ffdade0] - src: simplify arg type of AddFingerprintDigest (Tobias Nießen) #42101
  • [07de4ed641] - src: do not ignore return value of BIO_reset (Tobias Nießen) #42103
  • [3366618ce2] - src: simplify GetExponentString (Tobias Nießen) #42121
  • [86248f1178] - (SEMVER-MINOR) src: allow preventing InitializeInspector in env (Shelley Vohr) #35025
  • [06e5c0ee39] - stream: use .chunk when calling adapters's writev (Xuguang Mei) #42161
  • [53338fe65c] - stream: allow returning null from pipeline tail (Robert Nagy) #42078
  • [8431fb90dc] - stream: port more test262 tests (Benjamin Gruenbaum) #41974
  • [0be3c61ae9] - test: cover 32-bit sizes in generatePrime (Tobias Nießen) #42207
  • [ceb47d13ff] - test: fix test-process-env-tz.js by using RegExp (Khaidi Chu) #42113
  • [f21fbeec2e] - test: update V8 trace events test expectations (Nikolaos Papaspyrou) #42120
  • [d0f68a398e] - test: deflake test-common-expect-warning (Luigi Pinca) #42046
  • [482b2205b2] - test: validate EventEmitterAsyncResource methods throw on invalid this (Yoshiki Kurihara) #42041
  • [99301469ed] - test: increase Fibonacci argument to 40 (Rich Trott) #42055
  • [c01134ed27] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #42226
  • [41b6d9e95a] - tools: update lint-md rollup dependencies (Node.js GitHub Bot) #42141
  • [28f636422e] - tools: update eslint to 8.10.0 (Node.js GitHub Bot) #42143
  • [9aeda47d9c] - url: fix url.parse() for @hostname (Rich Trott) #42136
  • [ecb5980e2f] - url, src: modify one special_back_slash (Khaidi Chu) #42112

New in Node.js 17.6.0 Current (Feb 23, 2022)

  • Notable Changes:
  • [6b88595142] - doc: deprecate notice for process methods (Yash Ladha) #41587
  • [77462b6083] - stream: revert map spec compliance (Benjamin Gruenbaum) #41931
  • [b968d89fc9] - build: remove broken x32 arch support (Ben Noordhuis) #41905
  • [ba639d052b] - (SEMVER-MINOR) esm: support https remotely and http locally under flag (Bradley Farias) #36328
  • [214d17650b] - (SEMVER-MINOR) fs: support copy of relative links with cp and cpSync (Marcos Bjoerkelund) #41819
  • [ec0d623bd7] - (SEMVER-MINOR) lib: add FormData global when fetch is enabled (Michaël Zasso) #41956
  • [3243701997] - (SEMVER-MINOR) readline: bind keystroke ctrl+6 to redo (Ray) #41662
  • [5796c3a7ea] - process: deprecate multipleResolves (Benjamin Gruenbaum) #41872
  • Documentation-only.
  • Dependency Updates:
  • [d1ef43f2aa] - deps: upgrade npm to 8.5.1 (npm-robot) #42039
  • [09c17481f6] - deps: update undici to 3e267ece5f (Michaël Zasso) #41955
  • [0a6f0b416f] - deps: upgrade npm to 8.5.0 (npm-robot) #41925
  • New Collaborators:
  • [90d90e3868] - doc: add marsonya to collaborators (Akhil Marsonya) #41991
  • [0de611f53a] - doc: add joesepi to collaborators (Joe Sepi) #41914
  • Commits:
  • [c673953f6d] - build: cancel running CI jobs when a PR is updated (Michaël Zasso) #42017
  • [782506c099] - build: increase operations and test tag (Michael Dawson) #42038
  • [d3e6ad1ed5] - build: allow manual run of feature request action (Michael Dawson) #42037
  • [69d7736e08] - build: add action to close stale feature requests (Michael Dawson) #41981
  • [1315f1eb25] - build: prevent concurrent CI and CQ workflow runs (Michaël Zasso) #42016
  • [1e8e8bc22b] - build: use zoslib_include_dir provided by node-gyp (alexcfyung) #41713
  • [4e2e2cb821] - build: move tool updates workflow runtime a day later (Rich Trott) #41982
  • [cd04ed1382] - build: extend yamllint configuration (Mestery) #41756
  • [b968d89fc9] - build: remove broken x32 arch support (Ben Noordhuis) #41905
  • [2b1dabfb16] - build: revert fast-track changes (Filip Skokan) #41892
  • [182e6b9ee9] - build: improve consistency between workflows (Mestery) #41791
  • [f4cb72600d] - build,tools: change the quotes in YAML (Mestery) #41756
  • [24b0a563a4] - child_process: kHideConsoleWindows for spawnSync (Raymond Zhao) #41412
  • [c41e402c06] - cluster: respect listen backlog set by workers (Elad Nava) #41623
  • [84b1e4fba7] - crypto: check result of BIO_new in X509ToObject (Tobias Nießen) #41979
  • [946ac96817] - crypto: rename X509_NAME_FLAGS (Tobias Nießen) #42001
  • [60682917dd] - (SEMVER-MINOR) crypto: expose Web Crypto API on the global scope (Antoine du Hamel) #41938
  • [0fff4d2314] - crypto: do not advertise unsupported algorithms (Brian White) #41864
  • [67f1ebf9b4] - debugger: add debugger alias for exec(expr) (Xuguang Mei) #41907
  • [1eac0a1677] - debugger: remove duplicate setPauseOnException call (Balakrishna Avulapati) #41838
  • [d1ef43f2aa] - deps: upgrade npm to 8.5.1 (npm-robot) #42039
  • [09c17481f6] - deps: update undici to 3e267ece5f (Michaël Zasso) #41955
  • [0a6f0b416f] - deps: upgrade npm to 8.5.0 (npm-robot) #41925
  • [fea682ca94] - doc: fix typo in http2 endAfterHeaders description (Alexandru Comanescu) #42060
  • [9c618ad729] - doc: make minor fixes to contributing guides (T-O-R-U-S) #41966
  • [60bbacdd91] - doc: use openpgp.org for keyserver examples (Nick Schonning) #39227
  • [2e252b3c95] - doc: adjust a/an word usage (Derek Wolpert) #41915
  • [c7d590c66e] - doc: remove extra (Ray) #42006
  • [06f225c6a6] - doc: capitalize valgrind (T•Ø•R•Ü•S) #41986
  • [6195de506a] - doc: fix deprecation number (Antoine du Hamel) #41990
  • [90d90e3868] - doc: add marsonya to collaborators (Akhil Marsonya) #41991
  • [6b88595142] - doc: deprecate notice for process methods (Yash Ladha) #41587
  • [d34ee45134] - doc: fix bug in readable.unshift code example (Xuguang Mei) #41944
  • [8748b1e61d] - doc: add missing buffer in the stream/consumers import example (Mestery) #41961
  • [cb9dba034a] - doc: fix typo in readableStream.locked description (Tobias Nießen) #41923
  • [43a5161cee] - doc: fix wrong indent in stream documentation (Xuguang Mei) #41943
  • [dca2692ae3] - doc: emphasize security warning in vm module doc (Rich Trott) #41916
  • [b0e8ccb84c] - doc: clarify tls.Server 'connection' event documentation (Austin Cheney) #41917
  • [6a7b0160df] - doc: improve scrollbar appearance in dark mode (Aaron Xie) #41890
  • [aa684a78fe] - doc: replace text with paths in toggle SVGs (Brian White) #41885
  • [fc9d4e96c1] - doc: edit process.config deprecation text (Rich Trott) #41889
  • [0de611f53a] - doc: add joesepi to collaborators (Joe Sepi) #41914
  • [ba5cb89134] - doc: remove unneeded ellipsis in header (Rich Trott) #41888
  • [291fe631dd] - doc: fix webstream close reject state state doc (Benjamin Gruenbaum) #41860
  • [c0f4289c65] - esm: improve fetch_module test coverage and remove hack (Antoine du Hamel) #41947
  • [a95f7a0c25] - esm: remove erroneous context.parentURL property passed to load hook (Jacob Smith) #41975
  • [66c9565f99] - esm: fix typo in fetch_module (Michael Scovetta) #41924
  • [ba639d052b] - (SEMVER-MINOR) esm: support https remotely and http locally under flag (Bradley Farias) #36328
  • [0660ba3cd0] - events: set default handler value (Benjamin Gruenbaum) #41970
  • [5a807c5927] - fs: fix default length parameter for fs.read (wbt) #40349
  • [214d17650b] - (SEMVER-MINOR) fs: support copy of relative links with cp and cpSync (Marcos Bjoerkelund) #41819
  • [be5143b3f5] - fs: fix cb/sync writev empty array behavior (Benjamin Gruenbaum) #41932
  • [b4db004855] - fs: fix writev empty array error behavior (Benjamin Gruenbaum) #41919
  • [528c585b2b] - fs: refactor to use ES2020 syntax (小菜) #41903
  • [ec0d623bd7] - (SEMVER-MINOR) lib: add FormData global when fetch is enabled (Michaël Zasso) #41956
  • [c3b0e72d01] - lib: stop installing webcrypto if no_browser_globals is true (Mestery) #41971
  • [ae36276148] - lib: allow respondWithNewView on byob auto allocated streams (Sean Quinlan) #41887
  • [68ec8d5824] - lib: stop installing fetch if no_browser_globals is true (Darshan Sen) #41969
  • [f9bfdc3a65] - lib: restrict usage of fetch related globals in core internals (Antoine du Hamel) #41957
  • [3a121345e7] - lib: move kEnumerableProperty to internal/util (Mestery) #41877
  • [fa3a9135ad] - lib: add internal genericNodeError() function (Rich Trott) #41879
  • [1e698e65a7] - meta: update AUTHORS (Node.js GitHub Bot) #42058
  • [f51b55dae4] - meta: use plain emojis instead of escape sequences (Mestery) #41989
  • [3d998112be] - meta: update AUTHORS and .mailmap (Rich Trott) #41953
  • [391f4e5c25] - perf_hooks: use arrays to store EntryBuffers (Xuguang Mei) #42032
  • [5796c3a7ea] - process: deprecate multipleResolves (Benjamin Gruenbaum) #41872
  • [3243701997] - (SEMVER-MINOR) readline: bind keystroke ctrl+6 to redo (Ray) #41662
  • [c766159e68] - repl: #41690 REPL gives wrong autocomplete on literals (Xuguang Mei) #41883
  • [f80cae8be5] - src: merge ToJsSet into ToV8Value (Anna Henningsen) #41757
  • [e2a74d2e04] - src: remove separate definitions for static constexpr members (Anna Henningsen) #41755
  • [d91a956419] - src: use const reference instead of pointer in URL::SerializeURL (Anna Henningsen) #41759
  • [0330e2d796] - src: reserve string allocation space early in URL::SerializeURL (Anna Henningsen) #41759
  • [364ec5ba8b] - src: fix query/fragment serialization in URL::SerializeURL (Anna Henningsen) #41759
  • [6076291168] - src: don't print interface if sin6_scope_id is 0 (Santiago Gimeno) #41547
  • [43c12f4962] - src,buffer: evaluate THROW_AND_RETURN_IF_OOB() expression only once (Darshan Sen) #41945
  • [b8cbb83222] - stream: add more forEach tests (Benjamin Gruenbaum) #41937
  • [f5d7339b25] - stream: add more filter tests (Benjamin Gruenbaum) #41936
  • [77462b6083] - stream: revert map spec compliance (Benjamin Gruenbaum) #41931
  • [3e38506d1b] - stream: avoid usage of deprecated APIs (Mohammed Keyvanzadeh) #41871
  • [5195479919] - stream: refactor to use more validators (Mohammed Keyvanzadeh) #41871
  • [07463b3374] - stream: use standard for loop instead of for..of (Mohammed Keyvanzadeh) #41871
  • [d9008915fe] - test: remove test-stdout-close-catch flaky designation (Rich Trott) #42045
  • [fe66d2b98c] - test: check that fetch globals are disabled by default (Michaël Zasso) #42015
  • [bcf53a89f7] - test: improve vm test coverage (Yoshiki Kurihara) #41847
  • [9825ceddeb] - test: run webmessaging/broadcastchannel WPT (Ben Noordhuis) #41962
  • [f8e302c813] - test: fix names of tests marked flaky on IBM i (Richard Lau) #41984
  • [ab73bde8c1] - test: fix typographical error (Rich Trott) #41983
  • [520dcbc9f5] - test: fix intl tests on small-icu builds (Antoine du Hamel) #41939
  • [83b913cb90] - test: improve code coverage for streams/duplexify (Erick Wendel) #41862
  • [dc14bd85ee] - test: remove lint rule for setTimeout() arguments (Rich Trott) #41901
  • [76f0f1c06d] - test: move test-crypto-engine to addon (Michael Dawson) #41830
  • [b1505a1250] - tls: avoid throw in onerror for bad TLSSocket obj (Valters Jansons) #41523
  • [2cdbf0304b] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #42057
  • [6742625126] - tools: enable es2022 env in ESLint config (Michaël Zasso) #42043
  • [896ccc13ce] - tools: add console to the list of restricted globals (Antoine du Hamel) #42012
  • [1b4ee6cfd9] - tools: lint deprecation codes (Antoine du Hamel) #41992
  • [e895e6422f] - tools: fix bugs in prefer-primordials linter rule (Antoine du Hamel) #42010
  • [47bb7dd52c] - tools: add timers functions to the list of restricted globals (Antoine du Hamel) #42013
  • [afeed46578] - tools: reduce list of globals in ESLint config (Rich Trott) #41996
  • [2e905a63d8] - tools: update remark-preset-lint-node to 3.3.1 (Rich Trott) #41999
  • [35832feb6e] - tools: update ESLint to 8.9.0 (Luigi Pinca) #41973
  • [06117c084e] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #41941
  • [f30b5e3a6d] - tools: fix typo in prefer-primordials.js (Ikko Ashimine) #41891
  • [cfafb45c2b] - tools,lib: remove global and Intl from the list of globals (Antoine du Hamel) #42014
  • [ba35b6ccd1] - worker: fix typo in debug statement (Antoine du Hamel) #42011

New in Node.js 17.5.0 Current (Feb 11, 2022)

  • Notable Changes:
  • Add fetch API:
  • Adds experimental support to the fetch API. This adds a --experimental-fetch flag that installs the fetch, Request, Reponse and Headers globals.
  • [76a229c4ff] - (SEMVER-MINOR) lib: add fetch (Michaël Zasso) #41749
  • Add stream methods:
  • [1ae648567a] - (SEMVER-MINOR) stream: add iterator helper find (linkgoron) #41849
  • [62e1a68077] - (SEMVER-MINOR) stream: add toArray (Benjamin Gruenbaum) #41553
  • [da11b95988] - (SEMVER-MINOR) stream: add forEach method (Benjamin Gruenbaum) #41445
  • [34684a1c89] - (SEMVER-MINOR) stream: support some and every (Benjamin Gruenbaum) #41573
  • Other Notable Changes:
  • [2cae99425b] - (SEMVER-MINOR) node-api: add node_api_symbol_for() (Darshan Sen) #41329
  • [9c6b078892] - module: unflag esm json modules (Geoffrey Booth) #41736
  • [28650eca00] - deps: upgrade npm to 8.4.1 (npm team) #41836
  • Commits:
  • [0844935e1f] - async_hooks: fix imports in context example (Yash Ladha) #39229
  • [44ca20b7a1] - benchmark: avoid input param manipulation (Jithil P Ponnan) #41741
  • [ad32ad6cfd] - benchmark: enable no-empty ESLint rule (Rich Trott) #41831
  • [28b95a5a9f] - benchmark: use Object.hasOwn() instead of hasOwnProperty() (Rich Trott) #41769
  • [ca1cd4254a] - benchmark: replace hasOwnProperty() with Object.hasOwn() (Rich Trott) #41724
  • [6fefd5112a] - (SEMVER-MINOR) benchmark: add subarray to buffer-slice (Benjamin Gruenbaum) #41596
  • [878b2e73bb] - benchmark: remove unreachable code from crypto/hash-stream-creation (Rich Trott) #41535
  • [6064b1df5d] - buffer: fix atob/btoa no-arg case (Benjamin Gruenbaum) #41478
  • [89c327387b] - (SEMVER-MINOR) buffer: alias subarray and slice (Benjamin Gruenbaum) #41596
  • [adcde6bb78] - build: check if python is a executable program (himself65) #36696
  • [33351765c7] - build: enable zoslib installation on z/OS (alexcfyung) #41493
  • [e8062bfb92] - build: add --v8-enable-hugepage flag (Daoming Qiu) #41487
  • [8681c837ca] - build: add loong64 configure (Shi Pujin) #41323
  • [7c2b5861be] - build: fix libuv builds for android aarch64 (Darshan Sen) #41555
  • [e117c0f86c] - crypto: check return code from EVP_DigestUpdate (Michael Dawson) #41800
  • [9c59abe588] - crypto: fix webcrypto.subtle signature (Antoine du Hamel) #41761
  • [627f19a84b] - crypto: revise variables for const use instead of let (Rich Trott) #41614
  • [9e39e62ae2] - crypto: remove wildcard options for checkEmail (Tobias Nießen) #41599
  • [4a4c907604] - crypto: adjust types for getRandomValues (LiviaMedeiros) #41481
  • [b43faf0fc5] - crypto: remove checkIP options argument (Tobias Nießen) #41571
  • [076ec47557] - (SEMVER-MINOR) crypto: support RFC 2818 compatible checkHost (Tobias Nießen) #41569
  • [28650eca00] - deps: upgrade npm to 8.4.1 (npm-robot) #41836
  • [bee4451ed8] - deps: V8: cherry-pick cc9a8a37445e (Gus Caplan) #41823
  • [4b174ce7f6] - deps: upgrade npm to 8.3.2 (npm team) #41621
  • [0d4f043f0e] - dgram: remove unreachable connectState assign (Rongjian Zhang) #38590
  • [d641eb7f80] - doc: use the same case as the section heading (Mestery) #41876
  • [ffd1933ad9] - doc: use Oxford comma in crypto docs (Tobias Nießen) #41875
  • [145a3b8294] - doc: use sentence case in readme introduction (Mestery) #41874
  • [f8acca8df8] - doc: add missing space before hyphen (Mestery) #41873
  • [5085813688] - doc: add stream pipelining note on Http usage (Rafael Silva) #41796
  • [0a8995d36b] - doc: improve SSL_OP_PRIORITIZE_CHACHA description (Tobias Nießen) #41866
  • [1c62eb64f6] - doc: add missing commas in cluster docs (Tobias Nießen) #41865
  • [3676505413] - doc: add history information for Corepack (Antoine du Hamel) #41813
  • [8a42a20b8a] - doc: add comments to empty blocks in worker_threads text (Rich Trott) #41831
  • [c3721fcf9a] - doc: remove empty block from console.timeEnd() example (Rich Trott) #41831
  • [451f3331d9] - doc: feature management proposal (Michael Dawson) #41420
  • [72a857f56c] - doc: add overhead hints for heap snapshot generation (Gerhard Stöbich) #41822
  • [7aeaa27d67] - doc: fix X509 CA acronym capitalization (Tobias Nießen) #41841
  • [d3a4c62600] - doc: use sentence case for X509 error codes header (Tobias Nießen) #41829
  • [cb16fad0ab] - doc: add initial version of maintaining-http.md (Michael Dawson) #41798
  • [49f6b97b64] - doc: add registry numbers for Electron 19 and 20 (Keeley Hammond) #41814
  • [4db343bb8e] - doc: add note about resource type in async_hooks (Tony Gorez) #41797
  • [d726a3442c] - doc: use example.com for examples (Ateş Göral) #41827
  • [4eb1938f51] - doc: align tls port types with net port types (Tobias Nießen) #41799
  • [e5db13626b] - doc: use UDPv4/UDPv6 consistently with TCPv4/TCPv6 (Tobias Nießen) #41824
  • [af641bdec4] - doc: improve wording surrounding TLS 1.3 ciphers (Tobias Nießen) #41778
  • [99e0f1458b] - doc: add format-md step to release guide (Danielle Adams) #41809
  • [62f2c078ec] - doc: add v16 changelog link to iojs changelog (Danielle Adams) #41808
  • [c0629b48ce] - doc: add security-steward rotation information (Michael Dawson) #41707
  • [032df4ee17] - doc: use Object.hasOwn() in util doc (Rich Trott) #41780
  • [257c5b68d1] - doc: remove section on "recent" ECDH changes (Tobias Nießen) #41773
  • [86644b95a5] - doc: clarify that import also uses main (Ben McCann) #41720
  • [4889a3177f] - doc: update modules.md wording (Tobias Hernstig) #41728
  • [26c5efef35] - doc: update Mesteery email (Mestery) #41683
  • [4339299800] - doc: avoid incomplete sentence in cluster docs (Tobias Nießen) #41701
  • [7f7bcd7757] - doc: fix typo in contributing guides (Yoshiki Kurihara) #41723
  • [30336c23b5] - doc: improve docs to give descriptive info for the platform property (Harshil jain) #41650
  • [29678d66b8] - doc: fix link to npm documentation (Antoine du Hamel) #41712
  • [ae34900ccb] - doc: clarify treatment of non-string base in URL() (Rich Trott) #41685
  • [b83e661d30] - doc: fix typo in technical-priorities.md (Akhil Marsonya) #41694
  • [8e7df048a7] - doc: remove unadvisable cluster example (Tobias Nießen) #41668
  • [0ee468d6ba] - doc: document flow for supporting type generation (Michael Dawson) #41464
  • [9af2862a8b] - doc: clarify parameter for napi_get_cb_info (Michael Dawson) #41635
  • [a35c6c38f1] - doc: revise url.resolve() text (Rich Trott) #41661
  • [986dbb3222] - doc: clarify treatment of non-string argument to new URL() (Rich Trott) #41658
  • [2bba6cd8b6] - doc: fix documentation for MODULE_NOT_FOUND and ERR_MODULE_NOT_FOUND (Antoine du Hamel) #41645
  • [d40fd755d3] - doc: improve TLS/SSL introduction (Tobias Nießen) #41649
  • [b951764c32] - doc: modernize and simplify cluster example (Tobias Nießen) #41626
  • [0d6227ceab] - doc: simplify readline/stdin text (Rich Trott) #41583
  • [ffab924444] - doc: suggest worker threads in cluster docs (Tobias Nießen) #41616
  • [c111a13d22] - doc: add 16 and 17 to previous versions (Antoine du Hamel) #41646
  • [81e039fa9d] - doc: improve 'hex' Buffer decoding description and examples (Giora Guttsait) #41598
  • [09763a2a93] - doc: add note for handling signal events in trace events (Gabriel Trujillo) #41438
  • [2e7bf00359] - (SEMVER-MINOR) doc: deprecate buffer.slice (Benjamin Gruenbaum) #41596
  • [174155dee6] - doc: demonstrate dangers of buffer.slice() (Shalvah) #41628
  • [22484014cd] - doc: add missing word in cluster.workers details (Tobias Nießen) #41624
  • [86272ca5ac] - doc: fix async_hooks example in api docs (Akhil Marsonya) #41609
  • [5943cb9d1e] - doc: fix deprecated alias description in cluster (Tobias Nießen) #41618
  • [574c19a8c6] - doc: fix backticks around 'default' (Tobias Nießen) #41613
  • [4780449b4e] - doc: update timingSafeEqual error case (Alex Agranov) #41507
  • [9c73bd5610] - doc: simplify util.TextDecoder example (Rich Trott) #41574
  • [e72693160e] - doc: move Mesteery to collaborators (Tobias Nießen) #41597
  • [952623dff8] - doc: fix cjs example code for process.arch (Job) #41593
  • [2478b47a08] - doc: remove redunant await calls from stream docs (Giora Guttsait) #41592
  • [f6b5b8d5bb] - doc: make contributing info more discoverable (Michael Dawson) #41408
  • [6370b4df68] - doc: recommend package exports instead of requiring folders (Antoine du Hamel) #41381
  • [b5104e89fc] - doc: edit async_context context loss text (Rich Trott) #41550
  • [9ea8e49032] - doc: use sentence case for Web Crypto headers (Tobias Nießen) #41577
  • [92484d4945] - doc: make Web Crypto example spec compliant (Tobias Nießen) #41556
  • [60e7437a60] - doc: do not reference SSL when discussing SNI (Tobias Nießen) #41549
  • [31d75f2f5d] - doc: fix typos in esm.md (Yu) #41499
  • [cb4dbc10bc] - doc: adjust assignment in condition in stream doc (Rich Trott) #41510
  • [5c700fa8e2] - doc: improve Web Crypto headings related to ECC (Tobias Nießen) #41542
  • [84292165e7] - doc: clarify module system selection (Antoine du Hamel) #41383
  • [be63dc5acc] - doc: remove statement about (EC)DHE performance (Tobias Nießen) #41528
  • [c6749bc590] - doc,readline: add missing node protocol in example (Mestery) #41560
  • [74bd31213c] - domain: pass opts to EventEmitter.init (Chen Gang) #41414
  • [e1d5a354c5] - esm: improve validation of resolved URLs (Jacob Smith) #41446
  • [bfddcb11a5] - http2: fix pseudo-headers order (ofir) #41735
  • [499171bbd8] - http2: fix no response event on continue request (ofirbarak) #41739
  • [2a18859324] - http2: fix memory leak on nghttp2 hd threshold (Rafael Silva) #41502
  • [59a15e8f1a] - lib: refactor to use validateObject() validator (Mohammed Keyvanzadeh) #41845
  • [4834be373d] - lib: add comments to empty catch statements (Rich Trott) #41831
  • [76a229c4ff] - (SEMVER-MINOR) lib: add fetch (Michaël Zasso) #41749
  • [cedd26a396] - lib: refactor source map stack trace prepare (Mohammed Keyvanzadeh) #41698
  • [8ab0540d4a] - lib: throw error in structuedClone when no arguments are passed (Giora Guttsait) #41651
  • [306dd1c181] - lib: fix consistency of methods that emit warnings (Yoshiki Kurihara) #41249
  • [e500d11806] - lib: remove erroneous JSDoc entry (Rich Trott) #41604
  • [8a99eed7aa] - lib: modify DOMException to pass WPT (Khaidi Chu) #41517
  • [bd5d1583ed] - meta: update AUTHORS (Node.js GitHub Bot) #41868
  • [f5adf54eb6] - meta: update AUTHORS (Node.js GitHub Bot) #41763
  • [e5abdf7285] - meta: update mailmap/AUTHORS info for existing collaborator (Rich Trott) #41750
  • [14415fb7e0] - meta: adjust mailmap/AUTHORS to reflect README change (Rich Trott) #41751
  • [60eddadb65] - meta: update AUTHORS (Node.js GitHub Bot) #41659
  • [336c18d057] - meta: update AUTHORS (Node.js GitHub Bot) #41548
  • [9c6b078892] - module: unflag esm json modules (Geoffrey Booth) #41736
  • [2cae99425b] - (SEMVER-MINOR) node-api: add node_api_symbol_for() (Darshan Sen) #41329
  • [14cb9ea93e] - perf_hooks: remove useless calls in Histogram (Michael Dawson) #41579
  • [e1ae61bce5] - policy: revise manifest.js to avoid empty blocks (Rich Trott) #41831
  • [d83d55e6e5] - policy: check for null instead of falsy in loop (Rich Trott) #41614
  • [e11451c4e8] - policy: replace entries with keys (Mohammed Keyvanzadeh) #41482
  • [cfaa1e224d] - process: unhandledRejection support more errors (Benjamin Gruenbaum) #41682
  • [cf1d3d1565] - process: check for null instead of falsy in while loop (Rich Trott) #41614
  • [3b45c05a23] - process: use validateString validator (Mohammed Keyvanzadeh) #41595
  • [700f766bea] - process: ignore asyncId 0 in exception handler (Anatoli Papirovski) #41424
  • [cbcf794562] - readline: improve code coverage for readline promises (Erick Wendel) #41817
  • [0a31149202] - (SEMVER-MINOR) readline: add feature yank and yank pop (Ray) #41301
  • [5a4c74c647] - readline: undo previous edit when get key code 0x1F (Ray) #41392
  • [301a4f8781] - repl: check for precise values rather than falsy in loops (Rich Trott) #41614
  • [c3d3abf112] - src: slightly simplify URLHost::ToString (Anna Henningsen) #41747
  • [43f2abae7c] - src: slightly simplify V8CoverageConnection::GetFilename (Anna Henningsen) #41748
  • [bbfa58691e] - src: fix typo in js_native_api_v8.cc (Caio Agiani) #41764
  • [1ae648567a] - (SEMVER-MINOR) stream: add iterator helper find (linkgoron) #41849
  • [07b6bf4e7e] - stream: resume stream on drain (Robert Nagy) #41848
  • [f8d2955b71] - stream: initial port of test262 tests (Benjamin Gruenbaum) #41775
  • [6c82276b85] - stream: remove empty block (Rich Trott) #41831
  • [e11a079469] - stream: use synchronous error validation & validate abort signal option (iMoses) #41777
  • [9c2504a066] - (SEMVER-MINOR) stream: add reduce (Benjamin Gruenbaum) #41669
  • [a05b8328d8] - stream: use synchronous error validation on iteration helpers (iMoses) #41652
  • [311050ebaa] - stream: add asIndexedPairs (Benjamin Gruenbaum) #41681
  • [9b1a37979c] - stream: add drop and take (Benjamin Gruenbaum) #41630
  • [b3390b9ddb] - stream: never flatten on toArray (Benjamin Gruenbaum) #41615
  • [46ec74dcd1] - (SEMVER-MINOR) stream: support flatMap (Benjamin Gruenbaum) #41612
  • [16dec4268c] - stream: check for null instead of falsy in loops (Rich Trott) #41614
  • [34684a1c89] - (SEMVER-MINOR) stream: support some and every (Benjamin Gruenbaum) #41573
  • [62e1a68077] - (SEMVER-MINOR) stream: add toArray (Benjamin Gruenbaum) #41553
  • [5027e94a8a] - stream: rename unknown primordial (Mohammed Keyvanzadeh) #40622
  • [da11b95988] - (SEMVER-MINOR) stream: add forEach method (Benjamin Gruenbaum) #41445
  • [9226322394] - stream: avoid function call where possible (Rich Trott) #41534
  • [573cafe29d] - test: remove eslint-disable comments from fixtures (Rich Trott) #41859
  • [0d9248fe0a] - test: remove test-worker-memory flaky designation (Rich Trott) #41867
  • [c694dae41c] - test: enable no-empty ESLint rule (Rich Trott) #41831
  • [87902a7c17] - test: avoid using Object.prototype methods directly on objects (Rich Trott) #41801
  • [ea966404ad] - test: exclude ibm i tests until we resolve (Michael Dawson) #41812
  • [9c704b13af] - test: make worker-take-heapsnapshot non-flaky (Michael Dawson) #41684
  • [a97c817451] - test: mark test-fs-rmdir-recursive flaky on win (Michael Dawson) #41533
  • [5f1a59cb41] - test: make fs watch test more stable (Benjamin Gruenbaum) #41715
  • [abbc06b5ab] - test: fix typo in MessageChannel test (Tobias Nießen) #41746
  • [94645d8f71] - test: replace commented out expectations with tests (Darshan Sen) #41667
  • [351ebf289a] - test: improve stability of oom test (Benjamin Gruenbaum) #41681
  • [0267d27a7d] - test: use Object.hasOwn() where applicable (Rich Trott) #41664
  • [cca92107a4] - test: remove unneeded test statement (Rich Trott) #41663
  • [30df37f733] - test: remove error allowance in debugger test (Jithil P Ponnan) #41640
  • [b02bf41e18] - test: add stream map tests (Benjamin Gruenbaum) #41642
  • [12c1ac4d3b] - test: simplify test-gc-http-client (Luigi Pinca) #41620
  • [9d99c24d50] - test: prepare tests for no-cond-assign ESLint rule (Rich Trott) #41614
  • [ea6c202436] - test: move test-gc-http-client-onerror to sequential (Luigi Pinca) #41619
  • [55adcb7f12] - test: fix typo in test-stream-toArray (Tobias Nießen) #41634
  • [506a0dde0e] - test: improve test coverage of internal/worker/io (Yoshiki Kurihara) #41511
  • [6de8e51437] - test: add DataView test entry for whatwg (Mohammed Keyvanzadeh) #40622
  • [f947f72b39] - test: improve util-format code coverage (Rich Trott) #41572
  • [38e4b11391] - test: fix typo in test_js_native_api_v8 (Tobias Nießen) #41584
  • [5e3f751260] - test: add missing await in fs-rm/fs-rmdir tests (Benjamin Coe) #41545
  • [c0aec6783a] - test: increase coverage for stream writable (Rich Trott) #41486
  • [ef7c79822f] - test: add coverage for util.inspect() (Rich Trott) #41527
  • [2b4e46f07d] - timers: check for nullish instead of falsy in loops (Rich Trott) #41614
  • [0d471fb0d4] - tools: enable no-empty ESLint rule (Rich Trott) #41831
  • [72f02d87b9] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #41737
  • [32cdae7f65] - tools: update doc to [email protected] (Node.js GitHub Bot) #41854
  • [e6a1896ec1] - tools: update eslint to 8.8.0 (Node.js GitHub Bot) #41738
  • [3190e365f0] - tools: use Set instead of { [key]: true } object (Tobias Nießen) #41695
  • [3f4ce07be9] - tools: add compile_commands to ignore file (Yash Ladha) #41580
  • [5fe7cfabaa] - tools: use Set instead of { [key]: true } object (Tobias Nießen) #41675
  • [d33d1899c4] - tools: fix typo in tools/code_cache/README.md (Tobias Nießen) #41657
  • [ae7df178fd] - tools: enable no-cond-assign-ESLint rule (Rich Trott) #41614
  • [9202b86814] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #41638
  • [57ada37a1f] - tools: increase maximum line length to 120 characters (Rich Trott) #41586
  • [3084dff702] - tools: add missing .PHONY and .NOTPARALLEL targets in Makefile (Antoine du Hamel) #41515
  • [544267feb2] - tools: update lint-md-dependencies (Node.js GitHub Bot) #41440
  • [127d2fae62] - tools: bump eslint from 8.6.0 to 8.7.0 (Rich Trott) #41570
  • [ad5d7c7b06] - tools: update doc to [email protected] [email protected] (Node.js GitHub Bot) #41441
  • [34dfc60742] - tools,test: enable no-prototype-builtins (Rich Trott) #41801
  • [aee74c8156] - util: use hasOwnProperty() primordial (Rich Trott) #41692
  • [2b082def2e] - util: remove unused fast path in internal debuglog (Rich Trott) #41605
  • [0e35d01a4a] - util: check for null instead of flasy in loop (Rich Trott) #41614
  • [869cbb7b25] - (SEMVER-MINOR) worker: graduate get/setEnvironmentData APIs (James M Snell) #41272

New in Node.js 16.14.0 LTS (Feb 11, 2022)

  • Notable changes:
  • Importing JSON modules now requires experimental import assertions syntax
  • This release adds experimental support for the import assertions stage 3 proposal.
  • To keep Node.js ESM implementation as compatible as possible with the HTML spec, import assertions are now required to import JSON modules (still behind the --experimental-json-modules CLI flag):
  • import info from './package.json' assert { type: 'json' };
  • Or use dynamic import:
  • const info = await import('./package.json', { assert: { type: 'json' } });
  • Contributed by Antoine du Hamel and Geoffrey Booth #40250
  • Other notable changes:
  • async_hooks:
  • (SEMVER-MINOR) expose async_wrap providers (Rafael Gonzaga) #40760
  • child_process:
  • (SEMVER-MINOR) add support for URL to cp.fork (Antoine du Hamel) #41225
  • doc:
  • add @Mesteery to collaborators (Mestery) #41543
  • add @bnb as a collaborator (Tierney Cyren) #41100
  • esm:
  • (SEMVER-MINOR) graduate capturerejections to supported (James M Snell) #41267
  • (SEMVER-MINOR) add EventEmitterAsyncResource to core (James M Snell) #41246
  • events:
  • (SEMVER-MINOR) propagate weak option for kNewListener (James M Snell) #40899
  • fs:
  • (SEMVER-MINOR) accept URL as argument for fs.rm and fs.rmSync (Antoine du Hamel) #41132
  • lib:
  • (SEMVER-MINOR) make AbortSignal cloneable/transferable (James M Snell) #41050
  • (SEMVER-MINOR) add AbortSignal.timeout (James M Snell) #40899
  • (SEMVER-MINOR) add reason to AbortSignal (James M Snell) #40807
  • (SEMVER-MINOR) add unsubscribe method to non-active DC channels (simon-id) #40433
  • (SEMVER-MINOR) add return value for DC channel.unsubscribe (simon-id) #40433
  • loader:
  • (SEMVER-MINOR) return package format from defaultResolve if known (Gabriel Bota) #40980
  • perf_hooks:
  • (SEMVER-MINOR) multiple fixes for Histogram (James M Snell) #41153
  • process:
  • (SEMVER-MINOR) add getActiveResourcesInfo() (Darshan Sen) #40813
  • src:
  • (SEMVER-MINOR) add x509.fingerprint512 to crypto module (3nprob) #39809
  • (SEMVER-MINOR) add flags for controlling process behavior (Cheng Zhao) #40339
  • stream:
  • (SEMVER-MINOR) add filter method to readable (Benjamin Gruenbaum) #41354
  • (SEMVER-MINOR) add isReadable helper (Robert Nagy) #41199
  • (SEMVER-MINOR) add map method to Readable (Benjamin Gruenbaum) #40815
  • deprecate thenable support (Antoine du Hamel) #40860
  • util:
  • (SEMVER-MINOR) pass through the inspect function to custom inspect functions (Ruben Bridgewater) #41019
  • (SEMVER-MINOR) add numericSeparator to util.inspect (Ruben Bridgewater) #41003
  • (SEMVER-MINOR) always visualize cause property in errors during inspection (Ruben Bridgewater) #41002
  • timers:
  • (SEMVER-MINOR) add experimental scheduler api (James M Snell) #40909
  • v8:
  • (SEMVER-MINOR) multi-tenant promise hook api (Stephen Belanger) #39283
  • Commits:
  • [336010341f] - assert: prefer reference comparison over string comparison (Darshan Sen) #41015
  • [2d471e47a0] - assert: use stricter stack frame detection in .ifError() (Ruben Bridgewater) #41006
  • [f788a47b8b] - async_hooks: add missing initialization (Michael Dawson) #41288
  • [b688f201df] - async_hooks: fix AsyncLocalStorage in unhandledRejection cases (Bradley Farias) #41202
  • [6af3e34b6b] - Revert "async_hooks: merge resource_symbol with owner_symbol" (Darshan Sen) #40741
  • [85a02ec979] - async_hooks: eliminate require side effects (Stephen Belanger) #40782
  • [078a0c996f] - (SEMVER-MINOR) async_hooks: expose async_wrap providers (Rafael Gonzaga) #40760
  • [4a09904d05] - benchmark: simplify http benchmarker regular expression (Rich Trott) #38206
  • [bc48ed2834] - benchmark: fix benchmark/run.js handling of --set (Rich Trott) #41334
  • [e68bf84e31] - benchmark,test: use Object.hasOwn() where applicable (Rich Trott) #41229
  • [799cf57581] - buffer: fix Blob constructor on various TypedArrays (Irakli Gozalishvili) #40706
  • [5c1dc5f307] - build: fix npm version detection (Michaël Zasso) #41575
  • [3e4d977c28] - build: fix node build failures in WSL Ubuntu (MrJithil) #41476
  • [6ffb1e878c] - build: fix workflow access to git history (Rich Trott) #41472
  • [c49a651e67] - build: start build on z/OS (alexcfyung) #41273
  • [c65ac72b6c] - build: use list for mutable retval rather than tuple (Rich Trott) #41372
  • [ff48705372] - build: remove Python 2 workaround (Rich Trott) #41357
  • [c10fcb1f05] - build: improve readability of texts in workflows (Mestery) #40988
  • [93450e5e8e] - build: use '

New in Node.js 17.4.0 Current (Jan 18, 2022)

  • Notable Changes:
  • [ef6f98c2e3] - (SEMVER-MINOR) child_process: add support for URL to cp.fork (Antoine du Hamel) #41225
  • [d62fe315c2] - (SEMVER-MINOR) crypto: alias webcrypto.subtle and webcrypto.getRandomValues on crypto (James M Snell) #41266
  • [fcb37e9ce5] - doc: add Mesteery to collaborators (Mestery) #41543
  • [4079fc42b7] - (SEMVER-MINOR) events: graduate capturerejections to supported (James M Snell) #41267
  • [fe21607901] - (SEMVER-MINOR) events: add EventEmitterAsyncResource to core (James M Snell) #41246
  • [6d8eb6ace6] - (SEMVER-MINOR) loader: return package format from defaultResolve if known (Gabriel Bota) #40980
  • [27c619140a] - (SEMVER-MINOR) perf_hooks: multiple fixes for Histogram (James M Snell) #41153
  • [09c25bb224] - (SEMVER-MINOR) stream: add filter method to readable (Benjamin Gruenbaum, Robert Nagy) #41354
  • [1150963217] - (SEMVER-MINOR) stream: add isReadable helper (Robert Nagy) #41199
  • [9f5a873965] - (SEMVER-MINOR) stream: add map method to Readable (Benjamin Gruenbaum, Robert Nagy) #40815
  • Commits:
  • [314102b14d] - async_hooks: add missing initialization (Michael Dawson) #41288
  • [56345a3f63] - async_hooks: fix AsyncLocalStorage in unhandledRejection cases (Bradley Farias) #41202
  • [fa84353952] - benchmark: simplify http benchmarker regular expression (Rich Trott) #38206
  • [88d760c559] - benchmark: fix benchmark/run.js handling of --set (Rich Trott) #41334
  • [dcf1ea0a3f] - benchmark,test: use Object.hasOwn() where applicable (Rich Trott) #41229
  • [4958c800da] - build: fix npm version detection (Michaël Zasso) #41575
  • [e8538c3751] - build: fix node build failures in WSL Ubuntu (MrJithil) #41476
  • [3d88ea195e] - build: fix workflow access to git history (Rich Trott) #41472
  • [b0f0ad1004] - build: start build on z/OS (alexcfyung) #41273
  • [80a3766ac7] - build: use list for mutable retval rather than tuple (Rich Trott) #41372
  • [afe1e00509] - build: remove Python 2 workaround (Rich Trott) #41357
  • [011c5f6498] - build: improve readability of texts in workflows (Mestery) #40988
  • [2233f31069] - build,tools,win: trim unused VCBUILD_PYTHON_LOCATION variable (David Sanders) #41235
  • [d9465ae614] - child_process: queue pending messages (Erick Wendel) #41221
  • [ed41fd110d] - child_process: revise argument processing (Rich Trott) #41280
  • [ef6f98c2e3] - (SEMVER-MINOR) child_process: add support for URL to cp.fork (Antoine du Hamel) #41225
  • [d62fe315c2] - (SEMVER-MINOR) crypto: alias webcrypto.subtle and webcrypto.getRandomValues on crypto (James M Snell) #41266
  • [8ea56a9606] - crypto: fix error capture when loading engine (Tobias Nießen) #41187
  • [f5b8aee1a1] - deps: upgrade npm to 8.3.1 (npm-robot) #41503
  • [af3acecd7e] - deps: V8: cherry-pick 3b6b21f595f6 (Michaël Zasso) #41457
  • [02ca5d7c7c] - deps: upgrade to libuv 1.43.0 (Colin Ihrig) #41398
  • [48e4780fd7] - doc: remove statement about client private keys (Tobias Nießen) #41505
  • [ba7160e815] - doc: fix typo in onboarding.md (Antoine du Hamel) #41544
  • [fcb37e9ce5] - doc: add Mesteery to collaborators (Mestery) #41543
  • [abbfed8789] - doc: add missing word in readable.read() text (Rich Trott) #41524
  • [712dfdc11f] - doc: add missing YAML tag in esm.md (Antoine du Hamel) #41516
  • [f443a4e8fa] - doc: expand fs.access() mode parameter docs (Colin Ihrig) #41484
  • [5c0c459976] - doc: correct checkHost behavior with wildcards etc (Tobias Nießen) #41468
  • [c632241440] - doc: remove extraneous colon in legacy subject (Tobias Nießen) #41477
  • [b7b0631b10] - doc: remove SameValue comparison reference (Rich Trott) #41460
  • [524103d6bf] - doc: update mailmap entries for mhdawson (Michael Dawson) #41437
  • [62aa190c01] - doc: add guidance on order vulns are listed in (Michael Dawson) #41429
  • [d721a758b2] - doc: update output in inspector examples (David Sanders) #41390
  • [60025bde16] - doc: add note regarding unfinished TLA (Antoine du Hamel) #41434
  • [10bdb5969e] - doc: add reference for === operator in assert.md (Rich Trott) #41442
  • [edc6a7af42] - doc: clarify uncaughtException origin for ESM (Antoine du Hamel) #41339
  • [4a369d03b4] - doc: revise HTTPRequestOptions text (Rich Trott) #41407
  • [f43bfe2e16] - doc: add reference for == and != operators (Rich Trott) #41413
  • [d3111bf0cc] - doc: add @RaisinTen to the TSC (Michael Dawson) #41419
  • [e6bed4e972] - doc: update Abstract Equality Comparison text in assert.md (Rich Trott) #41375
  • [19db19bb80] - doc: fix example commands for REPLACEME updates (Richard Lau) #41269
  • [16c0bea91d] - doc: document that require.main may be undefined (Antoine du Hamel) #41384
  • [014d4836ec] - doc: clarify entry point behavior when using loader hooks (Antoine du Hamel) #41304
  • [6460b1b32d] - doc: clarify require behavior with non .js extensions (Antoine du Hamel) #41345
  • [0d18a8c232] - doc: revise frozen-intrinsics text (Rich Trott) #41342
  • [c267bb2192] - doc: fix example description for worker_threads (Dmitry Petrov) #41341
  • [ffe17a84f2] - doc: make pull-request guide default branch agnostic (Antoine du Hamel) #41299
  • [5cfc547997] - doc: fix sync comment in observer snippet (Eric Jacobson) #41262
  • [3a80104b29] - doc: remove section about amending commits in PR guide (Thiago Santos) #41287
  • [23f97ec04e] - doc: remove legacy in-page links in v8.md (Rich Trott) #41291
  • [e819685cec] - doc: include stack trace difference in ES modules (Marcos Bérgamo) #41157
  • [dac8407944] - doc: fix example in node-api docs (Michael Dawson) #41264
  • [29563abd85] - doc: add usage recommendation for writable._destroy (Rafael Gonzaga) #41040
  • [e27e8272f7] - doc: make function signature comply with JSDoc comment (Rich Trott) #41242
  • [d83a02994c] - doc: align maxHeaderSize default with current value (Gil Pedersen) #41183
  • [730e25d7dd] - doc: add unhandledRejection to strict mode (Colin Ihrig) #41194
  • [74742c3618] - doc: adding estimated execution time (mawaregetsuka) #41142
  • [34ef5a7d4d] - doc: fix syntax error in nested conditions example (Mateusz Burzyński) #41205
  • [c9a4603913] - esm: make process.exit() default to exit code 0 (Gang Chen) #41388
  • [8a94ca7a69] - esm: refactor esm tests out of test/message (Geoffrey Booth) #41352
  • [5ebe086ea6] - esm: reconcile JSDoc vs. actual parameter name (Rich Trott) #41238
  • [9fe304b8e8] - events: clarify JSDoc entries (Rich Trott) #41311
  • [4079fc42b7] - (SEMVER-MINOR) events: graduate capturerejections to supported (James M Snell) #41267
  • [e3a0a9cb3a] - events: add jsdoc details for Event and EventTarget (James M Snell) #41274
  • [fe21607901] - (SEMVER-MINOR) events: add EventEmitterAsyncResource to core (James M Snell) #41246
  • [d4a6f2caf1] - fs: use async directory processing in cp() (Colin Ihrig) #41351
  • [0951bd94db] - fs: correct param names in JSDoc comments (Rich Trott) #41237
  • [1d75436a1c] - http: remove duplicate code (Shaw) #39239
  • [0aacd4926d] - http2: handle existing socket data when creating HTTP/2 server sessions (Tim Perry) #41185
  • [24fbbf2747] - lib: remove spurious JSDoc entry (Rich Trott) #41240
  • [e457ec05d6] - lib: fix checking syntax of esm module (Qingyu Deng) #41198
  • [f176124e8b] - lib,tools: remove empty lines between JSDoc tags (Rich Trott) #41147
  • [68fd2ac999] - loader: fix package resolution for edge case (Gabriel Bota) #41218
  • [6d8eb6ace6] - (SEMVER-MINOR) loader: return package format from defaultResolve if known (Gabriel Bota) #40980
  • [a6146c7e27] - meta: move one or more collaborators to emeritus (Node.js GitHub Bot) #41456
  • [07353e9b8b] - meta: update AUTHORS (Node.js GitHub Bot) #41475
  • [e1ff4521d7] - meta: correct my name in AUTHORS (Jacob Smith) #41444
  • [da1d5d6563] - meta: update AUTHORS (Node.js GitHub Bot) #41449
  • [0f9afa58d5] - meta: add required fields in issue templates (Rich Trott) #41378
  • [da04408075] - meta: update AUTHORS (Node.js GitHub Bot) #41374
  • [1f6c4e819b] - meta: replace API docs issue template with form (Rich Trott) #41348
  • [253c3e5488] - meta: move one or more collaborators to emeritus (Node.js GitHub Bot) #41336
  • [3e188cacc2] - meta: replace feature request template with form (Rich Trott) #41317
  • [e339220511] - meta: update AUTHORS (Node.js GitHub Bot) #41322
  • [d0d595f8f2] - meta: update node-api team name (Richard Lau) #41268
  • [a53fa2010b] - meta: move one or more collaborators to emeritus (Node.js GitHub Bot) #41248
  • [edefb41ec1] - meta: update AUTHORS (Node.js GitHub Bot) #41234
  • [6da7909797] - meta: remove community-committee from CODEOWNERS (Rich Trott) #41169
  • [5fe011a24d] - node-api: add missing initialization of last error (Michael Dawson) #41290
  • [27c619140a] - (SEMVER-MINOR) perf_hooks: multiple fixes for Histogram (James M Snell) #41153
  • [e60187d8ab] - policy: add missing JSDoc @param entry (Rich Trott) #41239
  • [ec9071f55d] - src: use std::optional for Worker thread id (Anna Henningsen) #41453
  • [6aec92f959] - src: gracefully handle errors in GetX509NameObject (Tobias Nießen) #41490
  • [7ac126b75c] - src: fix out-of-bounds check of serialization indices (JoostK) #41452
  • [93b3664b9a] - src: do IWYU for some STL includes (David Sanders) #41236
  • [337ebfcd53] - src: split out async stack corruption detection from inline fn (Anna Henningsen) #41331
  • [250e197a62] - src: store native async execution resources as v8::Local (Anna Henningsen) #41331
  • [6187e81a8e] - src: guard slightly costly check in MakeCallback more strongly (Anna Henningsen) #41331
  • [51d86fe6a0] - stream: remove always-false condition check (Rich Trott) #41488
  • [b08138f367] - stream: fix error-path function call (Rich Trott) #41433
  • [d79f8c2987] - stream: remove unused function argument (Rich Trott) #41403
  • [09c25bb224] - (SEMVER-MINOR) stream: add filter method to readable (Benjamin Gruenbaum) #41354
  • [1150963217] - (SEMVER-MINOR) stream: add isReadable helper (Robert Nagy) #41199
  • [9f5a873965] - (SEMVER-MINOR) stream: add map method to Readable (Benjamin Gruenbaum) #40815
  • [3dc65646c8] - stream: fix enqueue race condition on esm modules (Rafael Gonzaga) #40901
  • [09f2fd36a4] - test: improve test coverage of dns/promises (Yoshiki Kurihara) #41425
  • [106ef0cef4] - test: remove broken wiki link from test/common doc (Yoshiki Kurihara) #41426
  • [9d8d7c63cb] - test: do not OR F_OK in fs.access() test (Colin Ihrig) #41484
  • [3e2154deda] - test: mark test-performance-eventloopdelay flaky (Michael Dawson) #41409
  • [e808ee68d0] - test: mark test-repl-sigint-nested-eval as flaky (Michael Dawson) #41302
  • [f97f6c585d] - test: use spawnSync() full name in test-stdio-pipe-stderr (Rich Trott) #41332
  • [75c565bf18] - test: improve expectWarning error message (Rich Trott) #41326
  • [c136d597f0] - test: use spawnSync() full name (Rich Trott) #41327
  • [b2a87f770d] - test: add comments explaining _setSimultaneousAccepts deprecation tests (Yoshiki Kurihara) #41307
  • [fac0871102] - test: mark test-worker-take-heapsnapshot flaky (Michael Dawson) #41253
  • [90617b9303] - test: mark wpt/test-user-timing test flaky (Michael Dawson) #41203
  • [8f08328a01] - test: correct param name in JSDoc comment (Rich Trott) #41241
  • [367ab2a55e] - test: mark test-crypto-keygen slow on windows (Michael Dawson) #41207
  • [f067876338] - test: improve test coverage of dns/promises (Yoshiki Kurihara) #41133
  • [2e92f6f5d9] - timers: use ref counts to count timers (Darshan Sen) #41231
  • [3c8b25bec8] - tls: use optional chaining to simplify checks (Antoine du Hamel) #41337
  • [a11ff31bca] - tls: permit null as a pfx value (CallMeLaNN) #41170
  • [5129b7c802] - tools: fix small not-quite-a-bug in find-inactive-tsc.mjs (Rich Trott) #41469
  • [258ee4ba64] - tools: enable ESLint recommended configuration (Rich Trott) #41463
  • [090a674a81] - tools: enable ESLint no-constant-condition rule (Rich Trott) #41463
  • [1f4369a106] - tools: enable ESLint require-yield rule (Rich Trott) #41463
  • [8090ce7a6c] - tools: enable ESLint no-sparse-arrays rule (Rich Trott) #41463
  • [afa4f37faf] - tools: enable ESLint no-loss-of-precision rule (Rich Trott) #41463
  • [ec337b2019] - tools: replace for loop with map() (Rich Trott) #41451
  • [c91ac205a5] - tools: use GITHUB_ACTIONS env var in inactivity scripts (Rich Trott) #41422
  • [4a57d476a8] - tools: replace while+exec() with matchAll() (Rich Trott) #41406
  • [583f8d969a] - tools: fix argv bug in find-inactive-tsc.mjs (Rich Trott) #41394
  • [dcada80f30] - tools: remove conditional assignment in custom ESLint rule (Rich Trott) #41325
  • [e15e1cb030] - tools: update lint-md-dependencies to @rollup/[email protected] (Node.js GitHub Bot) #41369
  • [07683021b7] - tools: update doc to [email protected] (Node.js GitHub Bot) #41367
  • [bd8b95a5e8] - tools: remove last of error-masking in commit-queue.sh (Rich Trott) #41356
  • [9284d24df6] - tools: update eslint to 8.6.0 (Node.js GitHub Bot) #41368
  • [5fc886f68e] - tools: do not mask errors on multiple commit retrieval (Rich Trott) #41340
  • [0ca7cda962] - tools: enable jsdoc/check-param-names lint rule (Rich Trott) #41311
  • [75ff8e6505] - tools: improve section tag additions in HTML doc generator (Rich Trott) #41318
  • [9c4124706e] - tools: simplify commit-queue.sh merge command (Rich Trott) #41314
  • [137c814848] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #41315
  • [58da5d9b43] - tools: use Object.hasOwn() in alljson.mjs (Rich Trott) #41306
  • [c12cbf2020] - tools: avoid generating duplicate id attributes (Rich Trott) #41291
  • [80a114d1b7] - tools: be intentional about masking possible error in start-ci.sh (Rich Trott) #41284
  • [198528426d] - tools: use {N} for spaces in regex (Rich Trott) #41295
  • [46b364a684] - tools: consolidate update-authors.js logic (Rich Trott) #41255
  • [c546cef4bc] - tools: update doc dependency mdast-util-gfm-table to 1.0.2 (Rich Trott) #41260
  • [60c059e4bc] - tools: make license-builder.sh comply with shellcheck 0.8.0 (Rich Trott) #41258
  • [62e28f19f7] - tools: use arrow function for callback in lint-sh.js (Rich Trott) #41256
  • [e2df381da9] - tools: add double-quotes to make-v8.sh (Rich Trott) #41257
  • [dae2e5fffa] - tools: enable prefer-object-has-own lint rule (Rich Trott) #41245
  • [aa7d14768d] - tools: update eslint to 8.5.0 (Node.js GitHub Bot) #41228
  • [0c14e7e7c8] - tools: enable jsdoc/tag-lines ESLint rule (Rich Trott) #41147
  • [c486da1715] - tools: update lint-md-dependencies to @rollup/[email protected] (Node.js GitHub Bot) #41227
  • [82f492bbb0] - tools: fix CQ and auto-start-ci jobs (Antoine du Hamel) #41230
  • [c44185ca37] - tools: fix GitHub Actions status when CQ is empty (Antoine du Hamel) #41193
  • [800640adf9] - tools,benchmark,lib,test: enable no-case-declarations lint rule (Rich Trott) #41385
  • [4518fdda24] - tools,lib,test: enable ESLint no-regex-spaces rule (Rich Trott) #41463
  • [c8e8fc0ecb] - typings: add types for symbol and accessor properties on primordials (ExE Boss) #40992
  • [d733b56101] - typings: add JSDoc for string_decoder (Qingyu Deng) #38229
  • [01ad8debd3] - url,lib: pass urlsearchparams-constructor.any.js (Khaidi Chu) #41197
  • [5ed8a1c017] - util: do not reduce to a single line if not appropriate using inspect (Ruben Bridgewater) #41083
  • [ab5e94c832] - util: display a present-but-undefined error cause (Jordan Harband) #41247

New in Node.js 17.3.1 Current (Jan 11, 2022)

  • Notable changes:
  • Improper handling of URI Subject Alternative Names (Medium)(CVE-2021-44531):
  • Accepting arbitrary Subject Alternative Name (SAN) types, unless a PKI is specifically defined to use a particular SAN type, can result in bypassing name-constrained intermediates. Node.js was accepting URI SAN types, which PKIs are often not defined to use. Additionally, when a protocol allows URI SANs, Node.js did not match the URI correctly.
  • Versions of Node.js with the fix for this disable the URI SAN type when checking a certificate against a hostname. This behavior can be reverted through the --security-revert command-line option.
  • More details will be available at CVE-2021-44531 after publication.
  • Certificate Verification Bypass via String Injection (Medium)(CVE-2021-44532):
  • Node.js converts SANs (Subject Alternative Names) to a string format. It uses this string to check peer certificates against hostnames when validating connections. The string format was subject to an injection vulnerability when name constraints were used within a certificate chain, allowing the bypass of these name constraints.
  • Versions of Node.js with the fix for this escape SANs containing the problematic characters in order to prevent the injection. This behavior can be reverted through the --security-revert command-line option.
  • More details will be available at CVE-2021-44532 after publication.
  • Incorrect handling of certificate subject and issuer fields (Medium)(CVE-2021-44533):
  • Node.js did not handle multi-value Relative Distinguished Names correctly. Attackers could craft certificate subjects containing a single-value Relative Distinguished Name that would be interpreted as a multi-value Relative Distinguished Name, for example, in order to inject a Common Name that would allow bypassing the certificate subject verification.
  • Affected versions of Node.js do not accept multi-value Relative Distinguished Names and are thus not vulnerable to such attacks themselves. However, third-party code that uses node's ambiguous presentation of certificate subjects may be vulnerable.
  • More details will be available at CVE-2021-44533 after publication.
  • Prototype pollution via console.table properties (Low)(CVE-2022-21824):
  • Due to the formatting logic of the console.table() function it was not safe to allow user controlled input to be passed to the properties parameter while simultaneously passing a plain object with at least one property as the first parameter, which could be __proto__. The prototype pollution has very limited control, in that it only allows an empty string to be assigned numerical keys of the object prototype.
  • Versions of Node.js with the fix for this use a null protoype for the object these properties are being assigned to.
  • More details will be available at CVE-2022-21824 after publication.
  • Thanks to Patrik Oldsberg (rugvip) for reporting this vulnerability.
  • Commits:
  • [8dd4ca4537] - console: fix prototype pollution via console.table (Tobias Nießen) nodejs-private/node-private#307
  • [e52882da4c] - crypto,tls: implement safe x509 GeneralName format (Tobias Nießen) nodejs-private/node-private#300
  • [9a0a189b0b] - src: add cve reverts and associated tests (Michael Dawson) nodejs-private/node-private#300
  • [4a262d42bc] - src: remove unused x509 functions (Tobias Nießen) nodejs-private/node-private#300
  • [965536fe3d] - tls: fix handling of x509 subject and issuer (Tobias Nießen) nodejs-private/node-private#300
  • [a2cbfa95ff] - tls: drop support for URI alternative names (Tobias Nießen) nodejs-private/node-private#300

New in Node.js 16.13.2 LTS (Jan 11, 2022)

  • Notable changes:
  • Improper handling of URI Subject Alternative Names (Medium)(CVE-2021-44531):
  • Accepting arbitrary Subject Alternative Name (SAN) types, unless a PKI is specifically defined to use a particular SAN type, can result in bypassing name-constrained intermediates. Node.js was accepting URI SAN types, which PKIs are often not defined to use. Additionally, when a protocol allows URI SANs, Node.js did not match the URI correctly.
  • Versions of Node.js with the fix for this disable the URI SAN type when checking a certificate against a hostname. This behavior can be reverted through the --security-revert command-line option.
  • More details will be available at CVE-2021-44531 after publication.
  • Certificate Verification Bypass via String Injection (Medium)(CVE-2021-44532):
  • Node.js converts SANs (Subject Alternative Names) to a string format. It uses this string to check peer certificates against hostnames when validating connections. The string format was subject to an injection vulnerability when name constraints were used within a certificate chain, allowing the bypass of these name constraints.
  • Versions of Node.js with the fix for this escape SANs containing the problematic characters in order to prevent the injection. This behavior can be reverted through the --security-revert command-line option.
  • More details will be available at CVE-2021-44532 after publication.
  • Incorrect handling of certificate subject and issuer fields (Medium)(CVE-2021-44533):
  • Node.js did not handle multi-value Relative Distinguished Names correctly. Attackers could craft certificate subjects containing a single-value Relative Distinguished Name that would be interpreted as a multi-value Relative Distinguished Name, for example, in order to inject a Common Name that would allow bypassing the certificate subject verification.
  • Affected versions of Node.js do not accept multi-value Relative Distinguished Names and are thus not vulnerable to such attacks themselves. However, third-party code that uses node's ambiguous presentation of certificate subjects may be vulnerable.
  • More details will be available at CVE-2021-44533 after publication.
  • Prototype pollution via console.table properties (Low)(CVE-2022-21824):
  • Due to the formatting logic of the console.table() function it was not safe to allow user controlled input to be passed to the properties parameter while simultaneously passing a plain object with at least one property as the first parameter, which could be __proto__. The prototype pollution has very limited control, in that it only allows an empty string to be assigned numerical keys of the object prototype.
  • Versions of Node.js with the fix for this use a null protoype for the object these properties are being assigned to.
  • More details will be available at CVE-2022-21824 after publication.
  • Thanks to Patrik Oldsberg (rugvip) for reporting this vulnerability.
  • Commits:
  • [8dd4ca4537] - console: fix prototype pollution via console.table (Tobias Nießen) nodejs-private/node-private#307
  • [e52882da4c] - crypto,tls: implement safe x509 GeneralName format (Tobias Nießen) nodejs-private/node-private#300
  • [9a0a189b0b] - src: add cve reverts and associated tests (Michael Dawson) nodejs-private/node-private#300
  • [4a262d42bc] - src: remove unused x509 functions (Tobias Nießen) nodejs-private/node-private#300
  • [965536fe3d] - tls: fix handling of x509 subject and issuer (Tobias Nießen) nodejs-private/node-private#300
  • [a2cbfa95ff] - tls: drop support for URI alternative names (Tobias Nießen) nodejs-private/node-private#300

New in Node.js 17.3.0 Current (Dec 19, 2021)

  • Notable changes:
  • OpenSSL-3.0.1:
  • OpenSSL-3.0.1 contains a fix for CVE-2021-4044: Invalid handling of X509_verify_cert() internal errors in libssl (Moderate). This is a vulnerability in OpenSSL that may be exploited through Node.js. More information can be read here: https://www.openssl.org/news/secadv/20211214.txt.
  • Contributed by Richard Lau #41177.
  • Other Notable Changes:
  • lib:
  • make AbortSignal cloneable/transferable (James M Snell) #41050
  • deps:
  • upgrade npm to 8.3.0 (npm team) #41127
  • doc:
  • add @bnb as a collaborator (Tierney Cyren) #41100
  • process:
  • add getActiveResourcesInfo() (Darshan Sen) #40813
  • timers:
  • add experimental scheduler api (James M Snell) #40909
  • Commits:
  • [99fb6d48eb] - assert: prefer reference comparison over string comparison (Darshan Sen) #41015
  • [a7dfa43dc7] - assert: use stricter stack frame detection in .ifError() (Ruben Bridgewater) #41006
  • [28761de6d4] - buffer: fix Blob constructor on various TypedArrays (Irakli Gozalishvili) #40706
  • [8fcb71a5ab] - build: update openssl config generator Dockerfile (Richard Lau) #41177
  • [3a9ffa86db] - build: use '

New in Node.js 16.13.1 LTS (Dec 2, 2021)

  • Notable Changes:
  • [c14eb2325d] - deps: upgrade npm to 8.1.2 (npm team) #40643
  • [a901b6c53c] - deps: update c-ares to 1.18.1 (Richard Lau) #40660
  • This release contains a c-ares update to fix a regression introduced in Node.js v16.6.2 resolving CNAME records containing underscores (#39780).
  • [755c08573f] - doc: add VoltrexMaster to collaborators (voltrexmaster) #40566
  • [881dd7ba2a] - lib: fix regular expression to detect `/` and `` (Francesco Trotta) #40325
  • Commits:
  • [996bc6e840] - benchmark: increase crypto DSA keygen params (Brian White) #40416
  • [27009092c8] - build: skip long-running Actions for README-only modifications (Rich Trott) #40571
  • [4581997ed0] - build: disable v8 pointer compression on 32bit archs (Cheng Zhao) #40418
  • [17433060d4] - build: fix actions pull request's branch (Mestery) #40494
  • [bfdd32fa62] - build: avoid run find inactive authors on forked repo (Jiawen Geng) #40465
  • [134e8afc59] - build: update codeowners-validator to 0.6 (FrankQiu) #40307
  • [de125a556c] - crypto: avoid double free (Michael Dawson) #40380
  • [c14eb2325d] - deps: upgrade npm to 8.1.2 (npm team) #40643
  • [a901b6c53c] - deps: update c-ares to 1.18.1 (Richard Lau) #40660
  • [76e2c3769e] - deps: upgrade npm to 8.1.1 (npm team) #40554
  • [91c3cf5d0a] - deps: V8: cherry-pick 422dc378a1da (Ray Wang) #40450
  • [769336ab8c] - deps: add riscv64 config into openssl gypi (Lu Yahan) #40473
  • [76d1b5d868] - deps: patch V8 to 9.4.146.24 (Michaël Zasso) #40616
  • [23d11a1dd9] - dgram: fix send with out of bounds offset + length (Nitzan Uziely) #40568
  • [45bdc77dc0] - doc: update cjs-module-lexer repo link (Guy Bedford) #40707
  • [de5c5c8509] - doc: remove --experimental-modules documentation (FrankQiu) #38974
  • [befac5ddd9] - doc: update tracking issues of startup performance (Joyee Cheung) #40629
  • [3cb74d72f8] - doc: fix markdown syntax and HTML tag misses (ryan) #40608
  • [eea061f8f1] - doc: use 'GitHub Actions workflow' instead (Mestery) #40586
  • [7a6e833677] - doc: add node: url scheme (Daniel Nalborczyk) #40573
  • [d72fb7df4a] - doc: call cwd function (Daniel Nalborczyk) #40573
  • [d732ff4614] - doc: remove unused imports (Daniel Nalborczyk) #40573
  • [e2114e21f4] - doc: add info on project's usage of coverity (Michael Dawson) #40506
  • [d38077babe] - doc: fix typo in changelogs (Luigi Pinca) #40585
  • [7c7f8791c6] - doc: update onboarding task (Rich Trott) #40570
  • [0a7c4ff248] - doc: simplify ccache instructions (Rich Trott) #40550
  • [5593dd1b25] - doc: fix macOS environment variables for ccache (Rich Trott) #40550
  • [2d4a042675] - doc: improve async_context introduction (Michaël Zasso) #40560
  • [9fcfef09ac] - doc: use GFM footnotes in webcrypto.md (Rich Trott) #40477
  • [579f01c0a3] - doc: describe buffer limit of v8.serialize (Ray Wang) #40243
  • [3b6cf090a0] - doc: use GFM footnotes in maintaining-V8.md (#40476) (Rich Trott) #40476
  • [dea701004e] - doc: fix fs.symlink code example (Juan José Arboleda) #40414
  • [595117ff0b] - doc: explain backport labels (Stephen Belanger) #40520
  • [042f01e3ed] - doc: fix entry for Slack channel in onboarding.md (Rich Trott) #40563
  • [755c08573f] - doc: add VoltrexMaster to collaborators (voltrexmaster) #40566
  • [c029d0b61f] - doc: document considerations for inclusion in core (Rich Trott) #40338
  • [836fc274e4] - Revert "doc: fix typo in stream docs" (Luigi Pinca) #40819
  • [b3a12767a4] - doc: update link in onboarding doc (Rich Trott) #40539
  • [aa47c9f38f] - doc: clarify behavior of napi_extended_error_info (Michael Dawson) #40458
  • [bf88328bdc] - doc: add updating expected assets to release guide (Richard Lau) #40470
  • [621266afc7] - doc: format doc/api/*.md with markdown formatter (Rich Trott) #40403
  • [7b746381ce] - doc: specify that maxFreeSockets is per host (Luigi Pinca) #40483
  • [934dcc85c3] - doc: update Collaborator guide to reflect GitHub web UI update (Antoine du Hamel) #40456
  • [4724e07476] - doc: indicate n-api out params that may be NULL (Isaac Brodsky) #40371
  • [3b1499c971] - doc: update CHANGELOG.md for Node.js 16.13.0 (Richard Lau) #40617
  • [881dd7ba2a] - lib: fix regular expression to detect `/` and `` (Francesco Trotta) #40325
  • [0a8c33123e] - lib,url: correct URL's argument to pass idlharness (Khaidi Chu) #39848
  • [480f0e1d20] - meta: use form schema for flaky test template (Michaël Zasso) #40737
  • [55ff97342d] - meta: update AUTHORS (Node.js GitHub Bot) #40668
  • [ef46cb428d] - meta: consolidate AUTHORS entries for brettkiefer (Rich Trott) #40599
  • [7230b6d33d] - meta: consolidate AUTHORS entries for alexzherdev (Rich Trott) #40620
  • [9e12ed4f68] - meta: consolidate AUTHORS entries for Azard (Rich Trott) #40619
  • [97aa8e42b8] - meta: move Fishrock123 to emeritus (Jeremiah Senkpiel) #40596
  • [7b1c89f357] - meta: consolidate AUTHORS entries for clakech (Rich Trott) #40589
  • [0003cb6b3b] - meta: consolidate AUTHORS entries for darai0512 (Rich Trott) #40569
  • [7590bacec1] - meta: update AUTHORS (Node.js GitHub Bot) #40580
  • [a5475df083] - meta: consolidate AUTHORS entries for dfabulich (Rich Trott) #40527
  • [c021a7f169] - meta: move one or more collaborators to emeritus (Node.js GitHub Bot) #40464
  • [d64cf1706c] - meta: add Richard Lau to TSC list in README.md (Rich Trott) #40523
  • [d09b8239bf] - meta: consolidate AUTHORS entries for dguo (Rich Trott) #40517
  • [66192060e7] - meta: consolidate AUTHORS entries for cxreg (Rich Trott) #40490
  • [b4f51276cb] - meta: update AUTHORS (Node.js GitHub Bot) #40485
  • [2a2b549a28] - meta: consolidate AUTHORS entries for emanuelbuholzer (Rich Trott) #40469
  • [618bbbf2f4] - meta: consolidate AUTHORS entries for ebickle (Rich Trott) #40447
  • [06706e8dd2] - meta: add typings to label-pr-config (Mestery) #40401
  • [e2c9e1ccdd] - meta: consolidate AUTHORS entries for evantorrie (Rich Trott) #40430
  • [dab574e937] - policy: fix message for invalid manifest specifier (Rich Trott) #40574
  • [58de6cebb6] - process: refactor execution (Voltrex) #40664
  • [bc0eb0a3ea] - src: make LoadEnvironment with string work with builtin modules path (Michaël Zasso) #40607
  • [2c8a6ec28e] - src: remove usage of AllocatedBuffer from node_http2 (Darshan Sen) #40584
  • [59c26a2b2c] - src: fix #endif description in crypto_keygen.h (Tobias Nießen) #40639
  • [789fef1309] - src: throw error instead of assertion (Ray Wang) #40243
  • [7a8a6deee7] - src: register external references in os bindings (Joyee Cheung) #40239
  • [7bb3d43432] - src: register external references in crypto bindings (Joyee Cheung) #40239
  • [143c881ccb] - src: add missing inialization in agent.h (Michael Dawson) #40379
  • [c15afda79f] - src: get embedder options on-demand (Joyee Cheung) #40357
  • [ff3b7d228e] - src: ensure V8 initialized before marking milestone (Shelley Vohr) #40405
  • [774bc46327] - src,crypto: remove AllocatedBuffer from crypto_cipher.cc (Darshan Sen) #40400
  • [4030eff3d6] - src,fs: remove ToLocalChecked() call from fs::AfterMkdirp() (Darshan Sen) #40386
  • [3ac99a2417] - src,stream: remove *Check*() calls from non-Initialize() functions (Darshan Sen) #40425
  • [36d3b123a0] - stream: support array of streams in promises pipeline (Mestery) #40193
  • [01ffe0316c] - test: deflake child-process-pipe-dataflow (Luigi Pinca) #40838
  • [63b44fc429] - test: skip macos sandbox test with builtin modules path (Michaël Zasso) #40607
  • [3d50997ccb] - test: add semicolon after chunk size (Luigi Pinca) #40487
  • [f114e35115] - test: deflake http2-cancel-while-client-reading (Luigi Pinca) #40659
  • [f778fa230b] - test: test crypto.setEngine() using an actual engine (Darshan Sen) #40481
  • [b9533c592a] - test: use conventional argument order in assertion (Tobias Nießen) #40591
  • [e72c95c580] - test: fix test description (Luigi Pinca) #40486
  • [af4e682758] - test: pass URL's toascii.window.js WPT (Khaidi Chu) #39910
  • [6de88bc5ed] - test: adjust CLI flags test to ignore blank lines in doc (Rich Trott) #40403
  • [8226690097] - test: mark test-policy-integrity flaky on Windows (Rich Trott) #40684
  • [50c6666b37] - test: fix test-datetime-change-notify after daylight change (Piotr Rybak) #40684
  • [9227f2af79] - test: split test-crypto-dh.js (Joyee Cheung) #40451
  • [c593cff0af] - test,doc: correct documentation for runBenchmark() (Rich Trott) #40683
  • [aef809f5c8] - test,tools: increase pummel/benchmark test timeout from 4x to 6x (Rich Trott) #40684
  • [908f6447cd] - test,tools: increase timeout for benchmark tests (Rich Trott) #40684
  • [64c6575f44] - tools: simplify and fix commit queue (Michaël Zasso) #40742
  • [cba8eaf264] - tools: ensure the PR was not pushed before merging (Antoine du Hamel) #40747
  • [1c8590e1fe] - tools: update ESLint to 8.2.0 (Luigi Pinca) #40734
  • [18800dee0a] - tools: use GitHub Squash and Merge feature when using CQ (Antoine du Hamel) #40666
  • [48a785edb7] - tools: fix bug in prefer-primordials ESLint rule (Antoine du Hamel) #40628
  • [adde2a7a8c] - tools: add script to update c-ares (Richard Lau) #40660
  • [c12ce898e8] - tools: abort CQ session when landing several commits (Antoine du Hamel) #40577
  • [dd08e532a2] - tools: fix commit-lint workflow (Antoine du Hamel) #40673
  • [b4a80dba79] - tools: avoid fetch extra commits when validating commit messages (Antoine du Hamel) #39128
  • [2a53995442] - tools: update ESLint to 8.1.0 (Luigi Pinca) #40582
  • [8648e50183] - tools: fix formatting of warning message in update-authors.js (Rich Trott) #40600
  • [59de0f703f] - tools: udpate doc tools to accommodate GFM footnotes (Rich Trott) #40477
  • [abf3b84d77] - tools: add support for import assertions in linter (Antoine du Hamel) #39924
  • [04c2cbecb9] - tools: update tools/lint-md dependencies to support GFM footnotes (Rich Trott) #40445
  • [a9990876f7] - tools: update lint-md dependencies (Rich Trott) #40404
  • [f45814bad1] - tools,meta: remove exclusions from AUTHORS (Rich Trott) #40648
  • [7d550ad966] - tty: support more CI services in getColorDepth (Richie Bendall) #40385
  • [cdea5b671b] - typings: add more bindings typings (Mestery) #40415
  • [67c7d11f1a] - typings: add JSDoc typings for inspector (Voltrex) #38390
  • [fbe0323ebf] - typings: improve internal bindings typings (Mestery) #40411
  • [63ab0031c3] - typings: separate internalBinding typings (Mestery) #40409

New in Node.js 17.2.0 Current (Dec 2, 2021)

  • Notable Changes:
  • [06916490af] - (SEMVER-MINOR) async_hooks: expose async_wrap providers (Rafael Gonzaga) #40760
  • [371ee64c92] - (SEMVER-MINOR) deps: update V8 to 9.6.180.14 (Michaël Zasso) #40488
  • [675c210b04] - (SEMVER-MINOR) lib: add reason to AbortSignal (James M Snell) #40807
  • [0de2850680] - (SEMVER-MINOR) src: add x509.fingerprint512 to crypto module (3nprob) #39809
  • [fa9b5c35d2] - stream: deprecate thenable support (Antoine du Hamel) #40860
  • [534409d4e7] - stream: fix finished regression when working with legacy Stream (Matteo Collina) #40858
  • Commits:
  • [48157c44c2] - Revert "async_hooks: merge resource_symbol with owner_symbol" (Darshan Sen) #40741
  • [4a971f67e4] - async_hooks: eliminate require side effects (Stephen Belanger) #40782
  • [06916490af] - (SEMVER-MINOR) async_hooks: expose async_wrap providers (Rafael Gonzaga) #40760
  • [65b33ba510] - build: remove extraneous quotation marks from commit body (Rich Trott) #40963
  • [05d652a555] - build: fix branch name for lint-md-dependencies update (Rich Trott) #40924
  • [1482c4415f] - build: fix make invocation in tools.yml (Rich Trott) #40890
  • [69de8c8143] - build: reset embedder string to "-node.0" (Michaël Zasso) #40488
  • [e793331322] - build: fix tools.yml errors (Rich Trott) #40870
  • [51ac59b047] - build: add GitHub Action to update tools modules (Rich Trott) #40644
  • [a8cc8b6554] - crypto: trim input for NETSCAPE_SPKI_b64_decode (Shelley Vohr) #40757
  • [2979c58fb0] - crypto: throw errors in SignTraits::DeriveBits (Tobias Nießen) #40796
  • [7f5931d03f] - crypto: fix build without scrypt (Martin Jansa) #40613
  • [90f35fc329] - deps: upgrade npm to 8.1.4 (npm team) #40865
  • [d461603d71] - deps: V8: cherry-pick cced52a97ee9 (Ray Wang) #40656
  • [d6ae50ff96] - deps: V8: cherry-pick 7ae0b77628f6 (Ray Wang) #40882
  • [e60053deee] - deps: V8: cherry-pick 2a0bc36dec12 (Michaël Zasso) #40178
  • [94acaae3d4] - deps: V8: patch jinja2 for Python 3.10 compat (Michaël Zasso) #40296
  • [37c9828d39] - deps: disable trap handler for Windows cross-compiler (Michaël Zasso) #40488
  • [dfb97fb501] - deps: silence irrelevant V8 warning (Michaël Zasso) #38990
  • [9ecf4be0c2] - deps: silence irrelevant V8 warning (Michaël Zasso) #37587
  • [82a8736dec] - deps: fix V8 build issue with inline methods (Jiawen Geng) #38807
  • [eab5ef5505] - deps: make v8.h compatible with VS2015 (Joao Reis) #32116
  • [d6e5dd56ff] - deps: V8: forward declaration of Rtl*FunctionTable (Refael Ackermann) #32116
  • [29a6e15480] - deps: V8: patch register-arm64.h (Refael Ackermann) #32116
  • [1ff83c4945] - deps: V8: un-cherry-pick bd019bd (Refael Ackermann) #32116
  • [371ee64c92] - (SEMVER-MINOR) deps: update V8 to 9.6.180.14 (Michaël Zasso) #40488
  • [6506a42c16] - deps: V8: cherry-pick cced52a97ee9 (Ray Wang) #40656
  • [a612ecb42f] - deps: V8: cherry-pick 7ae0b77628f6 (Ray Wang) #40882
  • [b46184df5e] - deps: update to uvwasi 0.0.12 (Colin Ihrig) #40847
  • [fa37428472] - deps: add -fno-strict-aliasing flag to libuv (Daniel Bevenius) #40631
  • [9711ccfe08] - deps: upgrade npm to 8.1.3 (npm team) #40726
  • [8e525634c6] - deps: update ICU to 70.1 (Michaël Zasso) #40658
  • [3bfc9f5b47] - doc: add information on suppressing initial break in debugger (Rich Trott) #40960
  • [8966ab3c57] - doc: improve grammar in API description (Tobias Nießen) #40959
  • [130777a61c] - doc: update BUILDING.md section on running tests (Rich Trott) #40933
  • [6e9b6652e5] - doc: remove experimental abortcontroller flag (FrankQiu) #38968
  • [b92416ff02] - doc: fix spelling of 'WebAssembly' (Geoffrey Booth) #40785
  • [cf495a6293] - doc: clarify more optional parameters in node-api (Michael Dawson) #40888
  • [694012b392] - doc: define "types", "deno" community conditions (Guy Bedford) #40708
  • [4c47b0150b] - doc: document optional params in napi_get_cb_info (Michael Dawson) #40821
  • [dfdf68f4d0] - doc: improve README.md lede section (Rich Trott) #40837
  • [9c200e1de4] - doc: add pref to using draft PR versus WIP label (Michael Dawson) #40824
  • [fe2cd09750] - doc: fix added: info for Readable.fromWeb() (Luigi Pinca) #40820
  • [c91a9ab095] - doc: tweak guidance for modules in core (Michael Dawson) #40601
  • [2ea08e9b55] - doc: claim ABI version for Electron 18 (Keeley Hammond) #40768
  • [8166b07ddc] - doc: fix transform stream example (Evan Lucas) #40777
  • [5ceb06cddf] - doc: fix linter-enforced formatting in crypto.md (Mohammed Keyvanzadeh) #40780
  • [d3070d8eea] - doc: fix corepack grammar for --force flag (Steven) #40762
  • [9271f23e3a] - doc: update maintaining ICU guide (Michaël Zasso) #40658
  • [20d7d657bb] - doc: clarify getAuthTag with authTagLength (Tobias Nießen) #40713
  • [75288fbc6b] - doc: fix order of announce work (Michael Dawson) #40725
  • [429915aa6c] - doc: add initial list of technical priorities (Michael Dawson) #40235
  • [a5a1691514] - fs: nullish coalescing to respect zero positional reads (Omar El-Mihilmy) #40716
  • [bddb4c69b7] - http: add missing initialization (Michael Dawson) #40555
  • [80ce97f514] - http: change totalSocketCount only on socket creation/close (Subhi Al Hasan) #40572
  • [675c210b04] - (SEMVER-MINOR) lib: add reason to AbortSignal (James M Snell) #40807
  • [b614b17525] - Revert "lib: use helper for readability" (Darshan Sen) #40741
  • [10a842d2d1] - lib: fix typos in lib code comments (Yoshiki) #40792
  • [3ec78d1570] - meta: add feature request label for issue template (Mestery) #40970
  • [9c897b69a1] - meta: update AUTHORS (Node.js GitHub Bot) #40900
  • [dfc6fc987a] - meta: update name and email (Viero Fernando) #40848
  • [813cf746a8] - meta: update AUTHORS (Node.js GitHub Bot) #40809
  • [e451ec9ec1] - meta: edit GOVERNANCE.md for minor updates (Rich Trott) #40798
  • [2536be7528] - meta: update AUTHORS (Node.js GitHub Bot) #40748
  • [3c8aa211cd] - module: import assertions improvements (Geoffrey Booth) #40785
  • [3a4f3873be] - process: support hrtime in the snapshot (Joyee Cheung) #40649
  • [1555dbdddc] - repl: fix and extend require/import tab complete (Mestery) #40216
  • [c2259c974b] - src: reset error struct if error code is napi_ok (JckXia) #40552
  • [3be49d6853] - src: prevent extra copies of TimerWrap::TimerCb (Darshan Sen) #40665
  • [0de2850680] - (SEMVER-MINOR) src: add x509.fingerprint512 to crypto module (3nprob) #39809
  • [924d29e88f] - src: add and fix some preprocessor comments (Tobias Nießen) #40701
  • [acbd8220a7] - src,crypto: use ByteSource::ToBuffer() in crypto_dh (Darshan Sen) #40903
  • [82b422663d] - src,crypto: remove AllocatedBuffers from crypto_spkac (Darshan Sen) #40752
  • [415b42fbdf] - src,crypto: refactor crypto_tls.* (Darshan Sen) #40675
  • [88b57bc9d3] - src,doc: add SyntaxError napi support (Idan Attias) #40736
  • [70bd90e039] - stream: stricter isReadableNodeStream (Robert Nagy) #40941
  • [86d1c0b19d] - stream: drain Transform with 0 highWaterMark (Robert Nagy) #40947
  • [fa9b5c35d2] - stream: deprecate thenable support (Antoine du Hamel) #40860
  • [dc99ae3bd6] - stream: fix the ReadableStreamBYOBReader error message (James M Snell) #40846
  • [650c9bd022] - stream: pipeline with end option (Robert Nagy) #40886
  • [534409d4e7] - stream: fix finished regression when working with legacy Stream (Matteo Collina) #40858
  • [16ee8423d6] - stream: pipeline should drain empty readable (Robert Nagy) #40654
  • [7d127d2fc1] - stream: fix non readable Duplex readableAborted (Robert Nagy) #40801
  • [7c4f9a34ae] - stream: allow calling callback before promise (Robert Nagy) #40772
  • [62171eb516] - test: mark test-fs-watch-non-recursive flaky on Windows (Luigi Pinca) #40916
  • [ae12a609a5] - test: improve test coverage of readline/promises (Yoshiki Kurihara) #40876
  • [4288c6a26e] - test: deflake cluster-concurrent-disconnect (Luigi Pinca) #40877
  • [009ab4d9bb] - test: deflake fs-promises-watch (Luigi Pinca) #40863
  • [522a30f469] - test: fix argument order in assertion (Luigi Pinca) #40842
  • [b190b0e77b] - test: deflake http2-pipe-named-pipe (Luigi Pinca) #40842
  • [c485460793] - test: use descriptive name for destination file (Luigi Pinca) #40842
  • [43e86508ae] - test: add AsyncLocalStorage tests using udp, tcp and tls sockets (Darshan Sen) #40741
  • [896073be47] - test: deflake child-process-pipe-dataflow (Luigi Pinca) #40838
  • [150c0f1b76] - test: add tests for invalid UTF-8 (git-srinivas) #40351
  • [3d896231cd] - test: fix flaky test-policy-integrity (Rich Trott) #40763
  • [dc9e68899d] - test: add semicolons for linter update (Rich Trott) #40720
  • [747247bc59] - tools: update gyp-next to v0.10.1 (Michaël Zasso) #40934
  • [6ebbd0d9dc] - tools: fix commit-lint GH Actions CI (Antoine du Hamel) #40845
  • [0201f3f604] - tools: ping TSC members identified as inactive (Rich Trott) #40915
  • [22265e3fb6] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #40929
  • [3d593aa4ed] - tools: update lint-md dependencies (Rich Trott) #40894
  • [e674f61720] - tools: update ESLint to 8.3.0 (Luigi Pinca) #40917
  • [878ba91bf6] - tools: add find-inactive-tsc (Rich Trott) #40884
  • [d97ad3080f] - tools: disable trap handler for Windows cross-compiler (Michaël Zasso) #40488
  • [e3f8988118] - tools: update V8 gypfiles for 9.6 (Michaël Zasso) #40488
  • [de4d0180dc] - tools: update @babel/eslint-parser to 7.16.3 (Node.js GitHub Bot) #40889
  • [727b34ec95] - tools: only validate first commit message of a PR (Antoine du Hamel) #40740
  • [5b08e908ea] - tools: update babel-eslint-parser to 7.16.0 (Rich Trott) #40720
  • [30623c283a] - tools: improve update scripts (Rich Trott) #40644

New in Node.js 17.1.0 Current (Nov 14, 2021)

  • Notable Changes:
  • [89b34ecffb] - doc: add VoltrexMaster to collaborators (voltrexmaster) #40566
  • [95e4d29eb4] - (SEMVER-MINOR) esm: add support for JSON import assertion (Antoine du Hamel) #40250
  • [1ddbae2d76] - (SEMVER-MINOR) lib: add unsubscribe method to non-active DC channels (simon-id) #40433
  • [aa61551b49] - (SEMVER-MINOR) lib: add return value for DC channel.unsubscribe (simon-id) #40433
  • [fbeb895ca6] - (SEMVER-MINOR) v8: multi-tenant promise hook api (Stephen Belanger) #39283
  • Commits:
  • [8a00dc5add] - build: skip long-running Actions for README-only modifications (Rich Trott) #40571
  • [9f46fca124] - build: disable v8 pointer compression on 32bit archs (Cheng Zhao) #40418
  • [5bef74395d] - deps: patch V8 to 9.5.172.25 (Michaël Zasso) #40604
  • [3805b806ee] - deps: upgrade npm to 8.1.2 (npm team) #40643
  • [c003ba131b] - deps: update c-ares to 1.18.1 (Richard Lau) #40660
  • [841f35cc52] - deps: upgrade npm to 8.1.1 (npm team) #40554
  • [8d16f0d2d3] - deps: V8: cherry-pick 422dc378a1da (Ray Wang) #40450
  • [cdf5c44d62] - deps: add riscv64 config into openssl gypi (Lu Yahan) #40473
  • [2b9fcdfe26] - deps: attempt to suppress macro-redefined warning (Daniel Bevenius) #40518
  • [d2839bfaa9] - deps: regenerate OpenSSL arch files (Daniel Bevenius) #40518
  • [5df8ce5cbe] - deps,build,tools: fix openssl-is-fips for ninja builds (Daniel Bevenius) #40518
  • [79bf429405] - dgram: fix send with out of bounds offset + length (Nitzan Uziely) #40568
  • [c29658fda7] - doc: update cjs-module-lexer repo link (Guy Bedford) #40707
  • [e374f3ddd9] - doc: fix lint re-enabling comment in README.md (Rich Trott) #40647
  • [ecccf48106] - doc: format v8.md in preparation for stricter linting (Rich Trott) #40647
  • [95a7117037] - doc: final round of markdown format changes (Rich Trott) #40645
  • [c104f5a9ab] - doc: remove --experimental-modules documentation (FrankQiu) #38974
  • [ac81f89bbf] - doc: update tracking issues of startup performance (Joyee Cheung) #40629
  • [65effa11fc] - doc: fix markdown syntax and HTML tag misses (ryan) #40608
  • [c78d708a16] - doc: use 'GitHub Actions workflow' instead (Mestery) #40586
  • [71bac70bf2] - doc: ref OpenSSL legacy provider from crypto docs (Tobias Nießen) #40593
  • [8f410229ac] - doc: add node: url scheme (Daniel Nalborczyk) #40573
  • [35dbed21f2] - doc: call cwd function (Daniel Nalborczyk) #40573
  • [4870a23ccc] - doc: remove unused imports (Daniel Nalborczyk) #40573
  • [5951ccc12e] - doc: simplify CHANGELOG.md (Rich Trott) #40475
  • [6ae134ecb7] - doc: correct esm spec scope lookup definition (Guy Bedford) #40592
  • [09239216f6] - doc: update CHANGELOG.md for Node.js 16.13.0 (Richard Lau) #40617
  • [46ec5ac4df] - doc: add info on project's usage of coverity (Michael Dawson) #40506
  • [7eb1a44410] - doc: fix typo in changelogs (Luigi Pinca) #40585
  • [132f6cba05] - doc: update onboarding task (Rich Trott) #40570
  • [5e2d0ed61e] - doc: simplify ccache instructions (Rich Trott) #40550
  • [c1c1738bfc] - doc: fix macOS environment variables for ccache (Rich Trott) #40550
  • [6e3e50f2ab] - doc: improve async_context introduction (Michaël Zasso) #40560
  • [1587fe62d4] - doc: use GFM footnotes in webcrypto.md (Rich Trott) #40477
  • [305c022db4] - doc: describe buffer limit of v8.serialize (Ray Wang) #40243
  • [6e39e0e10a] - doc: run license-builder (Rich Trott) #40540
  • [556e49ccb5] - doc: use GFM footnotes in maintaining-V8.md (#40476) (Rich Trott) #40476
  • [9c6a9fd5b1] - doc: use GFM footnotes in BUILDING.md (Rich Trott) #40474
  • [fd946215cc] - doc: fix fs.symlink code example (Juan José Arboleda) #40414
  • [404730ac1b] - doc: update for changed --dns-result-order default (Richard Lau) #40538
  • [acc22c7c4a] - doc: add missing entry in globals.md (Antoine du Hamel) #40531
  • [0375d958ef] - doc: explain backport labels (Stephen Belanger) #40520
  • [4993d87c49] - doc: fix entry for Slack channel in onboarding.md (Rich Trott) #40563
  • [89b34ecffb] - doc: add VoltrexMaster to collaborators (voltrexmaster) #40566
  • [6357ef15d0] - doc: document considerations for inclusion in core (Rich Trott) #40338
  • [ed04827373] - doc: update link in onboarding doc (Rich Trott) #40539
  • [34e244b8e9] - doc: clarify behavior of napi_extended_error_info (Michael Dawson) #40458
  • [5a588ff047] - doc: add updating expected assets to release guide (Richard Lau) #40470
  • [95e4d29eb4] - (SEMVER-MINOR) esm: add support for JSON import assertion (Antoine du Hamel) #40250
  • [825a683423] - http: response should always emit 'close' (Robert Nagy) #40543
  • [81cd7f3751] - lib: fix regular expression to detect `/` and `` (Francesco Trotta) #40325
  • [1ddbae2d76] - (SEMVER-MINOR) lib: add unsubscribe method to non-active DC channels (simon-id) #40433
  • [aa61551b49] - (SEMVER-MINOR) lib: add return value for DC channel.unsubscribe (simon-id) #40433
  • [d97872dd98] - meta: use form schema for flaky test template (Michaël Zasso) #40737
  • [c2fabdbce8] - meta: update AUTHORS (Node.js GitHub Bot) #40668
  • [aa98c6bdce] - meta: consolidate AUTHORS entries for brettkiefer (Rich Trott) #40599
  • [18296c3d8e] - meta: consolidate AUTHORS entries for alexzherdev (Rich Trott) #40620
  • [88d812793d] - meta: consolidate AUTHORS entries for Azard (Rich Trott) #40619
  • [d81b65ca0e] - meta: move Fishrock123 to emeritus (Jeremiah Senkpiel) #40596
  • [ec02e7b68a] - meta: consolidate AUTHORS entries for clakech (Rich Trott) #40589
  • [08e7a2ff24] - meta: consolidate AUTHORS entries for darai0512 (Rich Trott) #40569
  • [488ee51f90] - meta: update AUTHORS (Node.js GitHub Bot) #40580
  • [ba9a6c5d06] - meta: consolidate AUTHORS entries for dfabulich (Rich Trott) #40527
  • [bd06e9945e] - meta: move one or more collaborators to emeritus (Node.js GitHub Bot) #40464
  • [7cee125dcf] - meta: add Richard Lau to TSC list in README.md (Rich Trott) #40523
  • [6a771f8bcb] - meta: consolidate AUTHORS entries for dguo (Rich Trott) #40517
  • [e4c740646d] - meta: consolidate AUTHORS entries for cxreg (Rich Trott) #40490
  • [075cfbf941] - module: resolver & spec hardening /w refactoring (Guy Bedford) #40510
  • [b320387c83] - policy: fix message for invalid manifest specifier (Rich Trott) #40574
  • [ea968d54c5] - process: refactor execution (Voltrex) #40664
  • [fb7c437b0b] - src: make LoadEnvironment with string work with builtin modules path (Michaël Zasso) #40607
  • [e9388c87bf] - src: remove usage of AllocatedBuffer from node_http2 (Darshan Sen) #40584
  • [7a22f913b0] - src: fix #endif description in crypto_keygen.h (Tobias Nießen) #40639
  • [396342e26d] - src: throw error instead of assertion (Ray Wang) #40243
  • [accab383a1] - src: register external references in os bindings (Joyee Cheung) #40239
  • [a11f9ea4f0] - src: register external references in crypto bindings (Joyee Cheung) #40239
  • [ef1ace7e88] - src,crypto: use std::variant in DH params (Darshan Sen) #40457
  • [4433852f62] - src,crypto: remove AllocatedBuffer from crypto_cipher.cc (Darshan Sen) #40400
  • [814126c3ed] - src,fs: remove ToLocalChecked() call from fs::AfterMkdirp() (Darshan Sen) #40386
  • [d4b45cc249] - src,stream: remove *Check*() calls from non-Initialize() functions (Darshan Sen) #40425
  • [bac7fe0797] - stream: remove no longer necessary ComposeDuplex (Robert Nagy) #40545
  • [e58cce49fd] - test: disable warnings to fix flaky test (Antoine du Hamel) #40739
  • [8c103ab2ff] - test: skip macos sandbox test with builtin modules path (Michaël Zasso) #40607
  • [ac3bc6eed0] - test: add semicolon after chunk size (Luigi Pinca) #40487
  • [95fe9bb922] - test: deflake http2-cancel-while-client-reading (Luigi Pinca) #40659
  • [dfd0215266] - test: avoid deep comparisons with literals (Tobias Nießen) #40634
  • [5020f634b8] - test: mark test-policy-integrity flaky on Windows (Rich Trott) #40684
  • [8fa1c61e40] - test: fix test-datetime-change-notify after daylight change (Piotr Rybak) #40684
  • [179a5c5436] - test: test crypto.setEngine() using an actual engine (Darshan Sen) #40481
  • [cf6ded4db5] - test: use conventional argument order in assertion (Tobias Nießen) #40591
  • [aefb097d6a] - test: fix test description (Luigi Pinca) #40486
  • [126e669b84] - test,doc: correct documentation for runBenchmark() (Rich Trott) #40683
  • [1844463ce2] - test,tools: increase pummel/benchmark test timeout from 4x to 6x (Rich Trott) #40684
  • [f731f5ffb5] - test,tools: increase timeout for benchmark tests (Rich Trott) #40684
  • [bbc10f1849] - tools: simplify and fix commit queue (Michaël Zasso) #40742
  • [a3df50d810] - tools: ensure the PR was not pushed before merging (Antoine du Hamel) #40747
  • [306d953c15] - tools: update ESLint to 8.2.0 (Luigi Pinca) #40734
  • [b7e736843c] - tools: use GitHub Squash and Merge feature when using CQ (Antoine du Hamel) #40666
  • [50d102ec08] - tools: fix bug in prefer-primordials ESLint rule (Antoine du Hamel) #40628
  • [ec2cadef85] - tools: add script to update c-ares (Richard Lau) #40660
  • [5daa313215] - tools: notify user if format-md needs to be run (Rich Trott) #40647
  • [0787c781ce] - tools: abort CQ session when landing several commits (Antoine du Hamel) #40577
  • [ddc44ddfd9] - tools: fix commit-lint workflow (Antoine du Hamel) #40673
  • [47eddd7076] - tools: avoid unnecessary escaping in markdown formatter (Rich Trott) #40645
  • [c700de3705] - tools: avoid fetch extra commits when validating commit messages (Antoine du Hamel) #39128
  • [716963484b] - tools: update ESLint to 8.1.0 (Luigi Pinca) #40582
  • [9cb2116608] - tools: fix formatting of warning message in update-authors.js (Rich Trott) #40600
  • [507f1dbc8d] - tools: udpate doc tools to accommodate GFM footnotes (Rich Trott) #40477
  • [c2265a92c3] - tools: update license-builder.sh for OpenSSL (Rich Trott) #40540
  • [16624b404c] - tools,meta: remove exclusions from AUTHORS (Rich Trott) #40648
  • [a95e344fe5] - tty: support more CI services in getColorDepth (Richie Bendall) #40385
  • [b4194ff349] - typings: add more bindings typings (Mestery) #40415
  • [da859b56cb] - typings: add JSDoc typings for inspector (Voltrex) #38390
  • [90aa96dc44] - typings: improve internal bindings typings (Mestery) #40411
  • [1e9f3cc522] - typings: separate internalBinding typings (Mestery) #40409
  • [fbeb895ca6] - (SEMVER-MINOR) v8: multi-tenant promise hook api (Stephen Belanger) #39283

New in Node.js 16.13.0 LTS (Nov 14, 2021)

  • This release marks the transition of Node.js 16.x into Long Term Support (LTS) with the codename 'Gallium'. The 16.x release line now moves into "Active LTS" and will remain so until October 2022. After that time, it will move into "Maintenance" until end of life in April 2024.

New in Node.js 17.0.1 Current (Oct 21, 2021)

  • Notable Changes:
  • Fixed distribution for native addon builds:
  • This release fixes an issue introduced in Node.js v17.0.0, where some V8 headers were missing from the distributed tarball, making it impossible to build native addons. These headers are now included. #40526
  • Fixed stream issues:
  • Fixed a regression in stream.promises.pipeline, which was introduced in version 16.10.0, is fixed. It is now possible again to pass an array of streams to the function. #40193
  • Fixed a bug in stream.Duplex.from, which didn't work properly when an async generator function was passed to it. #40499
  • Commits:
  • [3f033556c3] - build: include missing V8 headers in distribution (Michaël Zasso) #40526
  • [adbd92ef1d] - crypto: avoid double free (Michael Dawson) #40380
  • [8dce85aadc] - doc: format doc/api/*.md with markdown formatter (Rich Trott) #40403
  • [977016a72f] - doc: specify that maxFreeSockets is per host (Luigi Pinca) #40483
  • [f9f2442739] - src: add missing inialization in agent.h (Michael Dawson) #40379
  • [111f0bd9b6] - stream: fix fromAsyncGen (Robert Nagy) #40499
  • [b84f101049] - stream: support array of streams in promises pipeline (Mestery) #40193
  • [3f7c503b69] - test: adjust CLI flags test to ignore blank lines in doc (Rich Trott) #40403
  • [7c42d9fcc6] - test: split test-crypto-dh.js (Joyee Cheung) #40451

New in Node.js 17.0.0 Current (Oct 20, 2021)

  • Notable Changes:
  • Deprecations and Removals:
  • [f182b9b29f] - (SEMVER-MAJOR) dns: runtime deprecate type coercion of dns.lookup options (Antoine du Hamel) #39793
  • [4b030d0573] - doc: deprecate (doc-only) http abort related (dr-js) #36670
  • [36e2ffe6dc] - (SEMVER-MAJOR) module: subpath folder mappings EOL (Guy Bedford) #40121
  • [64287e4d45] - (SEMVER-MAJOR) module: runtime deprecate trailing slash patterns (Guy Bedford) #40117
  • OpenSSL 3.0:
  • Node.js now includes OpenSSL 3.0, specifically quictls/openssl which provides QUIC support. With OpenSSL 3.0 FIPS support is again available using the new FIPS module. For details about how to build Node.js with FIPS support please see BUILDING.md.
  • While OpenSSL 3.0 APIs should be mostly compatible with those provided by OpenSSL 1.1.1, we do anticipate some ecosystem impact due to tightened restrictions on the allowed algorithms and key sizes.
  • If you hit an ERR_OSSL_EVP_UNSUPPORTED error in your application with Node.js 17, it’s likely that your application or a module you’re using is attempting to use an algorithm or key size which is no longer allowed by default with OpenSSL 3.0. A command-line option, --openssl-legacy-provider, has been added to revert to the legacy provider as a temporary workaround for these tightened restrictions.
  • For details about all the features in OpenSSL 3.0 please see the OpenSSL 3.0 release blog.
  • Contributed in https://github.com/nodejs/node/pull/38512, https://github.com/nodejs/node/pull/40478
  • V8 9.5:
  • The V8 JavaScript engine is updated to V8 9.5. This release comes with additional supported types for the Intl.DisplayNames API and Extended timeZoneName options in the Intl.DateTimeFormat API.
  • You can read more details in the V8 9.5 release post - https://v8.dev/blog/v8-release-95.
  • Contributed by Michaël Zasso - https://github.com/nodejs/node/pull/40178
  • Readline Promise API:
  • The readline module provides an interface for reading data from a Readable stream (such as process.stdin) one line at a time.
  • Other Notable Changes:
  • [1b2749ecbe] - (SEMVER-MAJOR) dns: default to verbatim=true in dns.lookup() (treysis) #39987
  • [59d3d542d6] - (SEMVER-MAJOR) errors: print Node.js version on fatal exceptions that cause exit (Divlo) #38332
  • [a35b7e0427] - deps: upgrade npm to 8.1.0 (npm team) #40463
  • [6cd12be347] - (SEMVER-MINOR) fs: add FileHandle.prototype.readableWebStream() (James M Snell) #39331
  • [d0a898681f] - (SEMVER-MAJOR) lib: add structuredClone() global (Ethan Arrowood) #39759
  • [e4b1fb5e64] - (SEMVER-MAJOR) lib: expose DOMException as global (Khaidi Chu) #39176
  • [0738a2b7bd] - (SEMVER-MAJOR) stream: finished should error on errored stream (Robert Nagy) #39235
  • Semver-Major Commits:
  • [9dfa30bdd5] - (SEMVER-MAJOR) build: compile with C++17 (MSVC) (Richard Lau) #38807
  • [9f0bc602e4] - (SEMVER-MAJOR) build: compile with --gnu++17 (Richard Lau) #38807
  • [62719c5fd2] - (SEMVER-MAJOR) deps: update V8 to 9.5.172.19 (Michaël Zasso) #40178
  • [66da32c045] - (SEMVER-MAJOR) deps,test,src,doc,tools: update to OpenSSL 3.0 (Daniel Bevenius) #38512
  • [40c6e838df] - (SEMVER-MAJOR) dgram: tighten address validation in socket.send (Voltrex) #39190
  • [f182b9b29f] - (SEMVER-MAJOR) dns: runtime deprecate type coercion of dns.lookup options (Antoine du Hamel) #39793
  • [1b2749ecbe] - (SEMVER-MAJOR) dns: default to verbatim=true in dns.lookup() (treysis) #39987
  • [ae876d420c] - (SEMVER-MAJOR) doc: update minimum supported FreeBSD to 12.2 (Michaël Zasso) #40179
  • [59d3d542d6] - (SEMVER-MAJOR) errors: print Node.js version on fatal exceptions that cause exit (Divlo) #38332
  • [f9447b71a6] - (SEMVER-MAJOR) fs: fix rmsync error swallowing (Nitzan Uziely) #38684
  • [f27b7cf95c] - (SEMVER-MAJOR) fs: aggregate errors in fsPromises to avoid error swallowing (Nitzan Uziely) #38259
  • [d0a898681f] - (SEMVER-MAJOR) lib: add structuredClone() global (Ethan Arrowood) #39759
  • [e4b1fb5e64] - (SEMVER-MAJOR) lib: expose DOMException as global (Khaidi Chu) #39176
  • [36e2ffe6dc] - (SEMVER-MAJOR) module: subpath folder mappings EOL (Guy Bedford) #40121
  • [64287e4d45] - (SEMVER-MAJOR) module: runtime deprecate trailing slash patterns (Guy Bedford) #40117
  • [707dd77d86] - (SEMVER-MAJOR) readline: validate AbortSignals and remove unused event listeners (Antoine du Hamel) #37947
  • [8122d243ae] - (SEMVER-MAJOR) readline: introduce promise-based API (Antoine du Hamel) #37947
  • [592d1c3d44] - (SEMVER-MAJOR) readline: refactor Interface to ES2015 class (Antoine du Hamel) #37947
  • [3f619407fe] - (SEMVER-MAJOR) src: allow CAP_NET_BIND_SERVICE in SafeGetenv (Daniel Bevenius) #37727
  • [0a7f850123] - (SEMVER-MAJOR) src: return Maybe from a couple of functions (Darshan Sen) #39603
  • [bdaf51bae7] - (SEMVER-MAJOR) src: allow custom PageAllocator in NodePlatform (Shelley Vohr) #38362
  • [0c6f345cda] - (SEMVER-MAJOR) stream: fix highwatermark threshold and add the missing error (Rongjian Zhang) #38700
  • [0e841b45c2] - (SEMVER-MAJOR) stream: don't emit 'data' after 'error' or 'close' (Robert Nagy) #39639
  • [ef992f6de9] - (SEMVER-MAJOR) stream: do not emit end on readable error (Szymon Marczak) #39607
  • [efd40eadab] - (SEMVER-MAJOR) stream: forward errored to callback (Robert Nagy) #39364
  • [09d8c0c8d2] - (SEMVER-MAJOR) stream: destroy readable on read error (Robert Nagy) #39342
  • [a5dec3a470] - (SEMVER-MAJOR) stream: validate abort signal (Robert Nagy) #39346
  • [bb275ef2a4] - (SEMVER-MAJOR) stream: unify stream utils (Robert Nagy) #39294
  • [b2ae12d422] - (SEMVER-MAJOR) stream: throw on premature close in Readable[AsyncIterator] (Darshan Sen) #39117
  • [0738a2b7bd] - (SEMVER-MAJOR) stream: finished should error on errored stream (Robert Nagy) #39235
  • [954217adda] - (SEMVER-MAJOR) stream: error Duplex write/read if not writable/readable (Robert Nagy) #34385
  • [f4609bdf3f] - (SEMVER-MAJOR) stream: bypass legacy destroy for pipeline and async iteration (Robert Nagy) #38505
  • [e1e669b109] - (SEMVER-MAJOR) url: throw invalid this on detached accessors (James M Snell) #39752
  • [70157b9cb7] - (SEMVER-MAJOR) url: forbid certain confusable changes from being introduced by toASCII (Timothy Gu) #38631
  • Semver-Minor Commits:
  • [6cd12be347] - (SEMVER-MINOR) fs: add FileHandle.prototype.readableWebStream() (James M Snell) #39331
  • [341312d78a] - (SEMVER-MINOR) readline: add autoCommit option (Antoine du Hamel) #37947
  • [1d2f37d970] - (SEMVER-MINOR) src: add --openssl-legacy-provider option (Daniel Bevenius) #40478
  • [3b72788afb] - (SEMVER-MINOR) src: add flags for controlling process behavior (Cheng Zhao) #40339
  • [8306051001] - (SEMVER-MINOR) stream: add readableDidRead (Robert Nagy) #36820
  • [08ffbd115e] - (SEMVER-MINOR) vm: add support for import assertions in dynamic imports (Antoine du Hamel) #40249
  • Semver-Patch Commits:
  • [ed01811e71] - benchmark: increase crypto DSA keygen params (Brian White) #40416
  • [cb93fdbba5] - build: reset embedder string to "-node.0" (Michaël Zasso) #40178
  • [ed76b49834] - build: fix actions pull request's branch (Mestery) #40494
  • [6baea14506] - build: avoid run find inactive authors on forked repo (Jiawen Geng) #40465
  • [f9996d5b80] - build: include new public V8 headers in distribution (Michaël Zasso) #40423
  • [983b757f3f] - build: update codeowners-validator to 0.6 (FrankQiu) #40307
  • [73c3885e10] - build: remove duplicate check for authors.yml (Rich Trott) #40393
  • [92090d3435] - build: make scripts in gyp run with right python (Cheng Zhao) #39730
  • [28f711b552] - crypto: remove incorrect constructor invocation (gc) #40300
  • [228e703ded] - deps: workaround debug link error on Windows (Richard Lau) #38807
  • [a35b7e0427] - deps: upgrade npm to 8.1.0 (npm team) #40463
  • [d434c5382a] - deps: regenerate OpenSSL arch files (Daniel Bevenius) #40478
  • [2cebd5f02b] - deps: add missing legacyprov.c source (Daniel Bevenius) #40478
  • [bf82dcd5ba] - deps: patch V8 to 9.5.172.21 (Michaël Zasso) #40432
  • [795108a63d] - deps: V8: make V8 9.5 ABI-compatible with 9.6 (Michaël Zasso) #40422
  • [5d7bd8616e] - deps: suppress zlib compiler warnings (Daniel Bevenius) #40343
  • [fe84cd453d] - deps: upgrade Corepack to 0.10 (Maël Nison) #40374
  • [2d503ed3ff] - deps: V8: backport 239898ef8c77 (Felix Yan) #39827
  • [c9296b190f] - deps: V8: cherry-pick 2a0bc36dec12 (Michaël Zasso) #40178
  • [5b358370ad] - deps: V8: cherry-pick cf21eb36b975 (Michaël Zasso) #40178
  • [228e703ded] - deps: workaround debug link error on Windows (Richard Lau) #38807
  • [cca9b95523] - dgram: add nread assertion to UDPWrap::OnRecv (Darshan Sen) #40295
  • [7c77db0243] - dns: refactor and use validators (Voltrex) #40022
  • [a278117f28] - doc: update Collaborator guide to reflect GitHub web UI update (Antoine du Hamel) #40456
  • [4cf5563147] - doc: indicate n-api out params that may be NULL (Isaac Brodsky) #40371
  • [15ce81a464] - doc: remove ESLint comments which were breaking the CJS/ESM toggles (Mark Skelton) #40408
  • [54a85d6bb5] - doc: add pronouns for tniessen to README (Tobias Nießen) #40412
  • [40db88b7b5] - doc: format changelogs (Rich Trott) #40388
  • [4f68839910] - doc: fix missing variable in deepStrictEqual example (OliverOdo) #40396
  • [ca6adcf37e] - doc: fix asyncLocalStorage.run() description (Constantine Kim) #40381
  • [7dd3adf6dd] - doc: fix typos in n-api docs (Ignacio Carbajo) #40402
  • [eb65871ab4] - doc: format doc/guides using format-md task (Rich Trott) #40358
  • [0d50dfdf61] - doc: improve phrasing in fs.md (Arslan Ali) #40255
  • [7723148758] - doc: add link to core promises tracking issue (Michael Dawson) #40355
  • [ccee352630] - doc: esm resolver spec refactoring for deprecations (Guy Bedford) #40314
  • [1fc1b0f5f2] - doc: claim ABI version for Electron v17 (Milan Burda) #40320
  • [0d2b6aca60] - doc: assign missing deprecation number (Michaël Zasso) #40324
  • [4bd8e0efa0] - doc: fix typo in ESM example (Tobias Nießen) #40275
  • [03d25fe816] - doc: fix typo in esm.md (Mason Malone) #40273
  • [6199441b00] - doc: correct ESM load hook table header (Jacob) #40234
  • [78962d1ca1] - doc: mark readline promise implementation as experimental (Antoine du Hamel) #40211
  • [4b030d0573] - doc: deprecate (doc-only) http abort related (dr-js) #36670
  • [bbd4c6eee9] - doc: claim ABI version for Electron v15 and v16 (Samuel Attard) #39950
  • [3e774a0500] - doc: fix history for fs.WriteStream open event (Antoine du Hamel) #39972
  • [6fdd5827f0] - doc: anchor link parity between markdown and html-generated docs (foxxyz) #39304
  • [7b7a0331f4] - doc: reset added: version to REPLACEME (Luigi Pinca) #39901
  • [58257b7c61] - doc: fix typo in webstreams.md (Luigi Pinca) #39898
  • [df22736d80] - esm: consolidate ESM loader hooks (Jacob) #37468
  • [ac4f5e2437] - lib: refactor to use let (gdccwxx) #40364
  • [3d11bafaa0] - lib: make structuredClone spec compliant (voltrexmaster) #40251
  • [48655e17e1] - lib,url: correct URL's argument to pass idlharness (Khaidi Chu) #39848
  • [c0a70203de] - meta: update AUTHORS (Node.js GitHub Bot) #40485
  • [cbc7b5d424] - meta: consolidate AUTHORS entries for emanuelbuholzer (Rich Trott) #40469
  • [881174e016] - meta: consolidate AUTHORS entries for ebickle (Rich Trott) #40447
  • [b80b85e130] - meta: add typings to label-pr-config (Mestery) #40401
  • [95cf944736] - meta: consolidate AUTHORS entries for evantorrie (Rich Trott) #40430
  • [c350c217f4] - meta: consolidate AUTHORS entries for gabrielschulhof (Rich Trott) #40420
  • [a9411891cf] - meta: consolidate AUTHORS information for geirha (Rich Trott) #40406
  • [0cc37209fa] - meta: consolidate duplicate AUTHORS entries for hassaanp (Rich Trott) #40391
  • [49b7ec96a4] - meta: update AUTHORS (Node.js GitHub Bot) #40392
  • [a3c0713d9e] - meta: consolidate AUTHORS entry for thw0rted (Rich Trott) #40387
  • [eaa59571e0] - meta: update label-pr-config (Mestery) #40199
  • [6a205d7a56] - meta: use .mailmap to consolidate AUTHORS entries for ide (Rich Trott) #40367
  • [f570109094] - net: check if option is undefined (Daijiro Wachi) #40344
  • [119558b6a2] - net: remove unused ObjectKeys (Daijiro Wachi) #40344
  • [c7cd8ef6c6] - net: check objectMode first and then readble || writable (Daijiro Wachi) #40344
  • [46446623f5] - net: throw error to object mode in Socket (Daijiro Wachi) #40344
  • [38aa7cc7c7] - src: get embedder options on-demand (Joyee Cheung) #40357
  • [ad4e70c817] - src: ensure V8 initialized before marking milestone (Shelley Vohr) #40405
  • [a784258444] - src: remove usage of AllocatedBuffer from stream_* (Darshan Sen) #40293
  • [f11493dfc9] - src: add missing initialization (Michael Dawson) #40370
  • [5e248eceb6] - src: update NODE_MODULE_VERSION to 102 (Michaël Zasso) #40178
  • [3f0b62375b] - stream: convert premature close to AbortError (Robert Nagy) #39524
  • [79f4d5a345] - stream: fix toWeb typo (Robert Nagy) #39496
  • [44ee6c2623] - stream: call done() in consistent fashion (Rich Trott) #39475
  • [09ad64d66d] - stream: add CompressionStream and DecompressionStream (James M Snell) #39348
  • [a99c230305] - stream: implement streams to webstreams adapters (James M Snell) #39134
  • [a5ba28dda2] - stream: fix performance regression (Brian White) #39254
  • [ce00381751] - stream: use finished for async iteration (Robert Nagy) #39282
  • [e0faf8c3e9] - test: replace common port with specific number (Daijiro Wachi) #40344
  • [8068f40313] - test: fix typos in whatwg-webstreams explanations (Tobias Nießen) #40389
  • [eafdeab97b] - test: add test for readStream.path when fd is specified (Qingyu Deng) #40359
  • [24f045dae2] - test: replace .then chains with await (gdccwxx) #40348
  • [5b4ba52786] - test: fix "test/common/debugger" identify async function (gdccwxx) #40348
  • [1d84e916d6] - test: improve test coverage of fs.ReadStream with FileHandle (Antoine du Hamel) #40018
  • [b63e449b2e] - test: pass URL's toascii.window.js WPT (Khaidi Chu) #39910
  • [842fd234b7] - test: adapt test-repl to V8 9.5 (Michaël Zasso) #40178
  • [d7b9b9f8d7] - test: remove test-v8-untrusted-code-mitigations (Ross McIlroy) #40178
  • [7624917069] - tools: update tools/lint-md dependencies to support GFM footnotes (Rich Trott) #40445
  • [350a95b89f] - tools: update lint-md dependencies (Rich Trott) #40404
  • [012152d7d6] - tools: udpate @babel/eslint-parser (Rich Trott) #40394
  • [43c780e741] - tools: remove @babel/plugin-syntax-import-assertions (Rich Trott) #40394
  • [b39db95737] - tools: remove @bable/plugin-syntax-class-properties (Rich Trott) #40394
  • [a6fd39f44f] - tools: remove @babel/plugin-syntax-top-level-await (Rich Trott) #40394
  • [8ca76eba73] - tools: update ESLint to 8.0.0 (Rich Trott) #40394
  • [dd8e219d71] - tools: prepare ESLint rules for 8.0.0 requirements (Rich Trott) #40394
  • [0a1b399781] - tools: fix ESLint update scripts (Rich Trott) #40394
  • [d6d6b050ff] - tools: warn about duplicates when generating AUTHORS file (Rich Trott) #40304
  • [1fd984581c] - tools: update V8 gypfiles for 9.5 (Michaël Zasso) #40178
  • [a8a86387fa] - tty: enable buffering (Robert Nagy) #39253
  • [9467cbadcb] - typings: define types for os binding (Michaël Zasso) #40222
  • [70a5b86049] - typings: add missing types to options and util bindings (Michaël Zasso) #40222
  • [3815a21beb] - typings: define types for timers binding (Michaël Zasso) #40222
  • [9e64336fbf] - typings: fix declaration of primordials (Michaël Zasso) #40222
  • [f581f6da94] - url: fix performance regression (Brian White) #39778
  • [02de40246f] - v8: remove --harmony-top-level-await (Geoffrey Booth) #40226

New in Node.js 16.11.1 Current (Oct 12, 2021)

  • Notable changes:
  • CVE-2021-22959: HTTP Request Smuggling due to spaced in headers (Medium):
  • The http parser accepts requests with a space (SP) right after the header name before the colon. This can lead to HTTP Request Smuggling (HRS). More details will be available at CVE-2021-22959 after publication.
  • CVE-2021-22960: HTTP Request Smuggling when parsing the body (Medium):
  • The parse ignores chunk extensions when parsing the body of chunked requests. This leads to HTTP Request Smuggling (HRS) under certain conditions. More details will be available at CVE-2021-22960 after publication.
  • Commits:
  • [af488f8dc8] - deps: update llhttp to 6.0.4 (Matteo Collina) nodejs-private/node-private#284
  • [2d1eefad98] - http: add regression test for smuggling content length (Matteo Collina) nodejs-private/node-private#284
  • [45d419ab1c] - http: add regression test for chunked smuggling (Matteo Collina) nodejs-private/node-private#284

New in Node.js 14.18.1 LTS (Oct 12, 2021)

  • Notable changes:
  • CVE-2021-22959: HTTP Request Smuggling due to spaced in headers (Medium):
  • The http parser accepts requests with a space (SP) right after the header name before the colon. This can lead to HTTP Request Smuggling (HRS). More details will be available at CVE-2021-22959 after publication.
  • CVE-2021-22960: HTTP Request Smuggling when parsing the body (Medium):
  • The parse ignores chunk extensions when parsing the body of chunked requests. This leads to HTTP Request Smuggling (HRS) under certain conditions. More details will be available at CVE-2021-22960 after publication.
  • Commits:
  • [8c254ca7e4] - deps: update llhttp to 2.1.4 (Fedor Indutny) nodejs-private/node-private#285
  • [9b92ae2499] - http: add regression test for smuggling content length (Matteo Collina) nodejs-private/node-private#285
  • [f467539719] - http: add regression test for chunked smuggling (Matteo Collina) nodejs-private/node-private#285

New in Node.js 16.11.0 Current (Oct 11, 2021)

  • Notable Changes:
  • crypto:
  • update root certificates (Richard Lau) #40280
  • deps:
  • upgrade npm to 8.0.0 (npm team) #40369
  • update nghttp2 to v1.45.1 (thunder-coding) #40206
  • update V8 to 9.4.146.19 (Michaël Zasso) #40285
  • tools:
  • update certdata.txt (Richard Lau) #40280
  • Commits:
  • [34f3021ca3] - benchmark: add util.toUSVString()'s benchmark (Khaidi Chu) #40203
  • [f83b9bcb6f] - build: support Python 3.10.0 (FrankQiu) #40296
  • [3148f9b64e] - build: check for duplicates in new AUTHORS entries (Rich Trott) #40264
  • [48c162d457] - build: set DESTCPU correctly for 'make binary' on Apple Silicon (Chris Heisterkamp) #40147
  • [7fbfb66d41] - build: limit update authors CI scope (Jiawen Geng) #40219
  • [a1bee94502] - build: pass a tuple of alternatives to str.endswith() (Christian Clauss) #40017
  • [eaf9d08332] - build: add --no-user for pip commands in Makefile (Rich Trott) #40169
  • [e22ca06ac4] - build: fix "test-internet.yml" workflows (SURYAPRATAP SINGH SURYAVANSHI) #40177
  • [4da73d09bf] - (SEMVER-MINOR) build: reset embedder string to "-node.0" (Michaël Zasso) #40285
  • [4b117fbc81] - console: use validators for consistency (Voltrex) #39812
  • [6489423187] - console: avoid unnecessary variables (Pancake) #40183
  • [9af2592e69] - crypto: update root certificates (Richard Lau) #40280
  • [2fa5e5011f] - crypto: handle initEDRaw pkey failure (Shelley Vohr) #40188
  • [7968c79301] - crypto: don't call callback twice in case crypto.randomBytes fails (Guilherme Bernal) #40157
  • [b89c7ae297] - deps: upgrade npm to 8.0.0 (npm team) #40369
  • [947f3dc9af] - deps: V8: patch jinja2 for Python 3.10 compat (Michaël Zasso) #40296
  • [685c7d43a5] - (SEMVER-MINOR) deps: update nghttp2 to v1.45.1 (thunder-coding) #40206
  • [e7046e0ff1] - deps: restore minimum ICU version to 68 (Michaël Zasso) #39470
  • [a3db2033d4] - (SEMVER-MINOR) deps: make V8 9.4 abi-compatible with 9.0 (Michaël Zasso) #40285
  • [5cc24e6d76] - deps: V8: cherry-pick 9a607043cb31 (Jiawen Geng) #40046
  • [8de5eb88d3] - deps: V8: cherry-pick 5681a6565828 (Michaël Zasso) #39945
  • [150d816edb] - deps: V8: cherry-pick bdcda72cd1d8 (Michaël Zasso) #39945
  • [807b68b430] - deps: V8: cherry-pick 00bb1a77c03e (Darshan Sen) #39829
  • [be016948df] - deps: silence irrelevant V8 warning (Michaël Zasso) #38990
  • [22dcd3e4dc] - deps: silence irrelevant V8 warnings (Michaël Zasso) #37587
  • [1aea6a771b] - deps: fix V8 build issue with inline methods (Jiawen Geng) #40060
  • [e9812157f0] - deps: make v8.h compatible with VS2015 (Joao Reis) #32116
  • [88ae710057] - deps: V8: forward declaration of Rtl*FunctionTable (Refael Ackermann) #32116
  • [e810f0766f] - deps: V8: patch register-arm64.h (Refael Ackermann) #32116
  • [b8aabd5622] - deps: V8: un-cherry-pick bd019bd (Refael Ackermann) #32116
  • [309c4f05df] - (SEMVER-MINOR) deps: update V8 to 9.4.146.19 (Michaël Zasso) #40285
  • [69eaaf6321] - doc: format general markdown files (Rich Trott) #40322
  • [dc9c31985c] - doc: fix the inline code-block at the NodeDhKeyGenParams class (Justin) #40341
  • [8d0546db39] - doc: correct the codeblock for hmacImportParams.hash (Justin) #40340
  • [1db2ffd008] - doc: fix typo in stream docs (Juan José Arboleda) #40337
  • [abfcbcd14c] - doc: update fast-track approval comment request (voltrexmaster) #40316
  • [e2cd2f44f2] - doc: fix CVE-2021-22940 references (Michaël Zasso) #40308
  • [88bdbf1e29] - doc: format markdown files in test directory (Rich Trott) #40290
  • [f71ac57a86] - doc: add triagers to the table of contents (FrankQiu) #39969
  • [a5218b5313] - doc: update Forrest Norvell's pronouns (Forrest L Norvell) #40292
  • [d2e54e5d0c] - doc: reorder stream 'readable' paragraphs (Vincent Weevers) #40212
  • [1d0a3e1a0c] - doc: fix typo in fs (Brian White) #40257
  • [66edb7bfe1] - doc: fix typo in fs.md (Arslan Ali) #40254
  • [614a7c21f8] - doc: fix typo in packages.md (Arslan Ali) #40230
  • [9fa6dfbe76] - doc: fix example of crypto.generateKeySync (Gary Ho) #40225
  • [9a2b94a142] - doc: update fs.watchFile doc (Clément Nardi) #40134
  • [a68f91c884] - doc: add version when diagnostics_channel APIs were added (Gerhard Stöbich) #40208
  • [6bf67909ad] - doc: fix typo in 'maxHeaderSize' (Rebhi Alfa) #40164
  • [73a127ba7b] - doc: fix buffer api example code's token error (m3m0ry) #40125
  • [59db8293f4] - doc: fix typo in async_hooks.md (xuchaobei) #40187
  • [779dfd199b] - doc: make version picker usable on mobile (Evan Lucas) #39958
  • [7bd62f4809] - doc: fix typos in http.md (Luigi Pinca) #40161
  • [94b415b980] - doc: add blank line between comments (Rich Trott) #40160
  • [847b451d88] - doc: update markdown files in src for upcoming linting/formatting (Rich Trott) #40159
  • [cea7395858] - doc: update benchmarks README.md for upcoming linting/formatting (Rich Trott) #40158
  • [c231745837] - doc: prepare markdown file for upcoming formatting/linting (Rich Trott) #40156
  • [7e58cda6e0] - doc: update tools .md files for upcoming lint/formatting (Rich Trott) #40155
  • [02a87b096c] - doc: update markdown formatting for *.md files (Rich Trott) #40154
  • [9b0e61a67f] - doc,src: update crypto/README.md (Tobias Nießen) #40332
  • [88e7bd073a] - events: allow dispatch many times without listener (MrBBot) #39772
  • [c7f3294d02] - (SEMVER-MINOR) fs: add stream utilities to FileHandle (Antoine du Hamel) #40009
  • [555af5b808] - http: remove 'data' and 'end' listener if client parser error (Matteo Collina) #40244
  • [22725f5bdd] - http: use 0 as default for requests limit (Artur K) #40192
  • [3d5eba8042] - lib: refactor to avoid unsafe array iteration (Antoine du Hamel) #40271
  • [547fc86371] - lib: use validateArray (Voltrex) #39774
  • [a37527ce8f] - meta: add mailmap entry for ratracegrad (Rich Trott) #40291
  • [a75a8f2ca0] - meta: update AUTHORS (Node.js GitHub Bot) #40289
  • [66ab278bae] - meta: add .mailmap entry for Jimbly (Rich Trott) #40267
  • [e040f2cf0d] - meta: add .mailmap entry for daguej (Rich Trott) #40223
  • [d64740fbb3] - meta: update AUTHORS (Node.js GitHub Bot) #40217
  • [9ee9e41f5c] - meta: move one or more collaborators to emeritus (Node.js GitHub Bot) #40115
  • [da6c82b425] - meta: update gdams contact information (Rich Trott) #40233
  • [a660017915] - meta: add .mailmap entry for kunalspathak (Rich Trott) #40202
  • [4d46bde22e] - meta: add mailmap entry for ralphtheninja (Rich Trott) #40153
  • [b856886d00] - meta: update mailmap for LakshmiSwethaG (Rich Trott) #40172
  • [972d921855] - module: fix ERR_REQUIRE_ESM for parentPath null (Guy Bedford) #40145
  • [344c03b2e6] - repl: skip EmptyStatements and return result with TLA (Mestery) #40194
  • [b694b0ca52] - src: use As() instead of Cast() for conversions (Darshan Sen) #40287
  • [383dbe940d] - src: implement changes suggested by @addaleax (kokke) #40128
  • [a6112dd1de] - src: fix time-of-use vs time-of-check "bugs" (kokke) #40128
  • [bbf1ed7c78] - src: remove AllocatedBuffer from crypto_common.cc (Darshan Sen) #40213
  • [528f9228fd] - src: remove usage of AllocatedBuffer from udp_wrap.cc (Darshan Sen) #40151
  • [d36127d862] - src: move ToUSVString() to node_util.cc (Khaidi Chu) #40204
  • [bddf8c28d9] - src,crypto: eliminate code duplication between StatelessDiffieHellman* (Darshan Sen) #40084
  • [6a8689f1f9] - test: fix typo in test/common/index.js (Tobias Nießen) #40297
  • [dc0c2744cf] - test: suppress compiler warning in test_bigint (Daniel Bevenius) #40253
  • [18820bfa58] - tools: patch jinja2 for Python 3.10 compat (Michaël Zasso) #40296
  • [8d7710e6c3] - tools: update rollup entry in lint-md package.json (FrankQiu) #40281
  • [7bb4dc2406] - tools: update certdata.txt (Richard Lau) #40280
  • [f31b0c9700] - tools: update remark-preset-lint-node to 3.2.0 (Rich Trott) #40278
  • [9c4e7a5158] - tools: fix lint-md autolinking (Rich Trott) #40181
  • [26db6db87f] - tools: implement markdown formatting (Rich Trott) #40181
  • [67812e8c65] - tools: re-implement lint-md without unified-args (Rich Trott) #40180
  • [0232f94175] - tools: update remark-preset-lint-node to 3.1.0 (Rich Trott) #40166
  • [80fdedd184] - tools: fix find-inactive-collaborators for recent README change (Rich Trott) #40163
  • [ebf17102d1] - tools: extend default yamllint config (Michaël Zasso) #40150
  • [f7c82749a7] - tools: update V8 gypfiles for 9.4 (Michaël Zasso) #39945
  • [dd39422b8b] - typings: define types for symbols binding (Michaël Zasso) #40143
  • [ced8467e20] - typings: define types for worker and messaging bindings (Michaël Zasso) #40143
  • [66d3101677] - (SEMVER-MINOR) util: improve ansi escape code regex (Colin Ihrig) #40214
  • [f4164fa4c3] - (SEMVER-MINOR) util: expose stripVTControlCharacters() (Colin Ihrig) #40214

New in Node.js 14.18.0 LTS (Oct 11, 2021)

  • Notable Changes:
  • [3a60de0135] - assert: change status of legacy asserts (James M Snell) #38113
  • [df37c106a7] - (SEMVER-MINOR) buffer: introduce Blob (James M Snell) #36811
  • [223494c548] - (SEMVER-MINOR) buffer: add base64url encoding option (Filip Skokan) #36952
  • [14fc4ddabc] - (SEMVER-MINOR) child_process: allow options.cwd receive a URL (Khaidi Chu) #38862
  • [b68b13acb3] - (SEMVER-MINOR) child_process: add timeout to spawn and fork (Nitzan Uziely) #37256
  • [da98c9f99b] - (SEMVER-MINOR) child_process: allow promisified exec to be cancel (Carlos Fuentes) #34249
  • [779310ac87] - (SEMVER-MINOR) child_process: add 'overlapped' stdio flag (Thiago Padilha) #29412
  • [40eb3b79f1] - (SEMVER-MINOR) cli: add -C alias for --conditions flag (Guy Bedford) #38755
  • [39eba0a2e1] - (SEMVER-MINOR) cli: add --node-memory-debug option (Anna Henningsen) #35537
  • [d8d9a9628a] - (SEMVER-MINOR) dns: add "tries" option to Resolve options (Luan Devecchi) #39610
  • [15ba19b020] - (SEMVER-MINOR) dns: allow --dns-result-order to change default dns verbatim (Ouyang Yadong) #38099
  • [307c1d817f] - doc: refactor fs docs structure (James M Snell) #37170
  • [9ee3f77e32] - (SEMVER-MINOR) errors: remove experimental from --enable-source-maps (Benjamin Coe) #37362
  • [e73bfed2f4] - esm: deprecate legacy main lookup for modules (Guy Bedford) #36918
  • [989c204a58] - (SEMVER-MINOR) fs: allow empty string for temp directory prefix (Voltrex) #39028
  • [ef72490cde] - (SEMVER-MINOR) fs: allow no-params fsPromises fileHandle read (Nitzan Uziely) #38287
  • [cad9d20f64] - (SEMVER-MINOR) fs: add support for async iterators to fsPromises.writeFile (HiroyukiYagihashi) #37490
  • [2b0e2706c0] - fs: improve fsPromises readFile performance (Nitzan Uziely) #37608
  • [fe12cc07b3] - (SEMVER-MINOR) fs: add fsPromises.watch() (James M Snell) #37179
  • [2459c115a8] - (SEMVER-MINOR) fs: allow position parameter to be a BigInt in read and readSync (Darshan Sen) #36190
  • [6544cfb4b9] - (SEMVER-MINOR) http2: add support for sensitive headers (Anna Henningsen) #34145
  • [a6c6cbb4e6] - (SEMVER-MINOR) http2: allow setting the local window size of a session (Yongsheng Zhang) #35978
  • [1e5aca550c] - inspector: mark as stable (Gireesh Punathil) #37748
  • [93af04afbb] - (SEMVER-MINOR) module: add support for URL to import.meta.resolve (Antoine du Hamel) #38587
  • [f9f9389d83] - (SEMVER-MINOR) module: add support for node:‑prefixed require(…) calls (ExE Boss) #37246
  • [87c71065eb] - (SEMVER-MINOR) net: introduce net.BlockList (James M Snell) #34625
  • [b421d99a48] - (SEMVER-MINOR) node-api: allow retrieval of add-on file name (Gabriel Schulhof) #37195
  • [6a4811df8a] - (SEMVER-MINOR) os: add os.devNull (Luigi Pinca) #38569
  • [4a88ddeeca] - (SEMVER-MINOR) perf_hooks: introduce createHistogram (James M Snell) #37155
  • [1a6bf1c4a3] - (SEMVER-MINOR) process: add api to enable source-maps programmatically (legendecas) #39085
  • [99735a6fe8] - (SEMVER-MINOR) process: add 'worker' event (James M Snell) #38659
  • [3982919317] - (SEMVER-MINOR) process: add direct access to rss without iterating pages (Adrien Maret) #34291
  • [526e6c7bde] - (SEMVER-MINOR) readline: add AbortSignal support to interface (Nitzan Uziely) #37932
  • [e6eee08692] - (SEMVER-MINOR) readline: add support for the AbortController to the question method (Mattias Runge-Broberg) #33676
  • [32de361d70] - (SEMVER-MINOR) readline: add history event and option to set initial history (Mattias Runge-Broberg) #33662
  • [797f7f8a38] - (SEMVER-MINOR) repl: add auto‑completion for node:‑prefixed require(…) calls (ExE Boss) #37246
  • [abfd71b64c] - (SEMVER-MINOR) src: call overload ctor from the original ctor (Darshan Sen) #39768
  • [1efae01b18] - (SEMVER-MINOR) src: add a constructor overload for CallbackScope (Darshan Sen) #39768
  • [f7933804ba] - (SEMVER-MINOR) src: allow to negate boolean CLI flags (Michaël Zasso) #39023
  • [6d06ac2202] - (SEMVER-MINOR) src: add --heapsnapshot-near-heap-limit option (Joyee Cheung) #33010
  • [577d228ca0] - (SEMVER-MINOR) src: add way to get IsolateData and allocator from Environment (Anna Henningsen) #36441
  • [658a266cd4] - (SEMVER-MINOR) src: allow preventing SetPrepareStackTraceCallback (Shelley Vohr) #36447
  • [f421422ea4] - (SEMVER-MINOR) src: add maybe versions of EmitExit and EmitBeforeExit (Anna Henningsen) #35486
  • [a62d4d60f4] - (SEMVER-MINOR) stream: add readableDidRead if has been read from (Robert Nagy) #39589
  • [63502131a3] - (SEMVER-MINOR) stream: pipeline accept Buffer as a valid first argument (Nitzan Uziely) #37739
  • [68bbebd42c] - (SEMVER-MINOR) tls: allow reading data into a static buffer (Andrey Pechkurov) #35753
  • [1cbb74d63d] - (SEMVER-MINOR) url: expose urlToHttpOptions utility (Yongsheng Zhang) #35960
  • [8eb11356dd] - (SEMVER-MINOR) util: expose toUSVString (Robert Nagy) #39814
  • [84fcdc3074] - (SEMVER-MINOR) v8: implement v8.stopCoverage() (Joyee Cheung) #33807
  • [b238b6bf17] - (SEMVER-MINOR) v8: implement v8.takeCoverage() (Joyee Cheung) #33807
  • [9f6bc58da8] - (SEMVER-MINOR) worker: add setEnvironmentData/getEnvironmentData (James M Snell) #37486
  • Commits:
  • Semver-minor commits:
  • [f3563d3197] - (SEMVER-MINOR) async_hooks: use new v8::Context PromiseHook API (Stephen Belanger) #36394
  • [df37c106a7] - (SEMVER-MINOR) buffer: introduce Blob (James M Snell) #36811
  • [223494c548] - (SEMVER-MINOR) buffer: add base64url encoding option (Filip Skokan) #36952
  • [14fc4ddabc] - (SEMVER-MINOR) child_process: allow options.cwd receive a URL (Khaidi Chu) #38862
  • [b68b13acb3] - (SEMVER-MINOR) child_process: add timeout to spawn and fork (Nitzan Uziely) #37256
  • [da98c9f99b] - (SEMVER-MINOR) child_process: allow promisified exec to be cancel (Carlos Fuentes) #34249
  • [779310ac87] - (SEMVER-MINOR) child_process: add 'overlapped' stdio flag (Thiago Padilha) #29412
  • [40eb3b79f1] - (SEMVER-MINOR) cli: add -C alias for --conditions flag (Guy Bedford) #38755
  • [39eba0a2e1] - (SEMVER-MINOR) cli: add --node-memory-debug option (Anna Henningsen) #35537
  • [d9b58a0262] - (SEMVER-MINOR) deps: V8: cherry-pick fa4cb172cde2 (Stephen Belanger) #38577
  • [9d7177c152] - (SEMVER-MINOR) deps: V8: cherry-pick 4c074516397b (Stephen Belanger) #36394
  • [ec0f0ef8ef] - (SEMVER-MINOR) deps: V8: cherry-pick 5f4413194480 (Stephen Belanger) #36394
  • [3e7238e45a] - (SEMVER-MINOR) deps: V8: cherry-pick 272445f10927 (Stephen Belanger) #36394
  • [214e568597] - (SEMVER-MINOR) deps: V8: backport c0fceaa0669b (Stephen Belanger) #36394
  • [d8d9a9628a] - (SEMVER-MINOR) dns: add "tries" option to Resolve options (Luan Devecchi) #39610
  • [15ba19b020] - (SEMVER-MINOR) dns: allow --dns-result-order to change default dns verbatim (Ouyang Yadong) #38099
  • [defb77cac9] - (SEMVER-MINOR) doc: add missing change to resolver ctor (Luan Devecchi) #39610
  • [9ee3f77e32] - (SEMVER-MINOR) errors: remove experimental from --enable-source-maps (Benjamin Coe) #37362
  • [989c204a58] - (SEMVER-MINOR) fs: allow empty string for temp directory prefix (Voltrex) #39028
  • [ef72490cde] - (SEMVER-MINOR) fs: allow no-params fsPromises fileHandle read (Nitzan Uziely) #38287
  • [cad9d20f64] - (SEMVER-MINOR) fs: add support for async iterators to fsPromises.writeFile (HiroyukiYagihashi) #37490
  • [fe12cc07b3] - (SEMVER-MINOR) fs: add fsPromises.watch() (James M Snell) #37179
  • [2459c115a8] - (SEMVER-MINOR) fs: allow position parameter to be a BigInt in read and readSync (Darshan Sen) #36190
  • [6544cfb4b9] - (SEMVER-MINOR) http2: add support for sensitive headers (Anna Henningsen) #34145
  • [a6c6cbb4e6] - (SEMVER-MINOR) http2: allow setting the local window size of a session (Yongsheng Zhang) #35978
  • [93af04afbb] - (SEMVER-MINOR) module: add support for URL to import.meta.resolve (Antoine du Hamel) #38587
  • [f9f9389d83] - (SEMVER-MINOR) module: add support for node:‑prefixed require(…) calls (ExE Boss) #37246
  • [76d4f22bab] - (SEMVER-MINOR) net: allow net.BlockList to use net.SocketAddress objects (James M Snell) #37917
  • [82363d864d] - (SEMVER-MINOR) net: add SocketAddress class (James M Snell) #37917
  • [0202ba46b8] - (SEMVER-MINOR) net: make net.BlockList cloneable (James M Snell) #37917
  • [a41a3e3b3f] - (SEMVER-MINOR) net: make blocklist family case insensitive (James M Snell) #34864
  • [87c71065eb] - (SEMVER-MINOR) net: introduce net.BlockList (James M Snell) #34625
  • [b421d99a48] - (SEMVER-MINOR) node-api: allow retrieval of add-on file name (Gabriel Schulhof) #37195
  • [6a4811df8a] - (SEMVER-MINOR) os: add os.devNull (Luigi Pinca) #38569
  • [4a88ddeeca] - (SEMVER-MINOR) perf_hooks: introduce createHistogram (James M Snell) #37155
  • [1a6bf1c4a3] - (SEMVER-MINOR) process: add api to enable source-maps programmatically (legendecas) #39085
  • [99735a6fe8] - (SEMVER-MINOR) process: add 'worker' event (James M Snell) #38659
  • [3982919317] - (SEMVER-MINOR) process: add direct access to rss without iterating pages (Adrien Maret) #34291
  • [526e6c7bde] - (SEMVER-MINOR) readline: add AbortSignal support to interface (Nitzan Uziely) #37932
  • [e6eee08692] - (SEMVER-MINOR) readline: add support for the AbortController to the question method (Mattias Runge-Broberg) #33676
  • [32de361d70] - (SEMVER-MINOR) readline: add history event and option to set initial history (Mattias Runge-Broberg) #33662
  • [797f7f8a38] - (SEMVER-MINOR) repl: add auto‑completion for node:‑prefixed require(…) calls (ExE Boss) #37246
  • [abfd71b64c] - (SEMVER-MINOR) src: call overload ctor from the original ctor (Darshan Sen) #39768
  • [1efae01b18] - (SEMVER-MINOR) src: add a constructor overload for CallbackScope (Darshan Sen) #39768
  • [1aa2080d29] - (SEMVER-MINOR) src: fix align in cares_wrap.h (Luan) #39610
  • [f7933804ba] - (SEMVER-MINOR) src: allow to negate boolean CLI flags (Michaël Zasso) #39023
  • [6d06ac2202] - (SEMVER-MINOR) src: add --heapsnapshot-near-heap-limit option (Joyee Cheung) #33010
  • [4091eb9db7] - (SEMVER-MINOR) src: move node_binding to modern THROW_ERR* (James M Snell) #35469
  • [577d228ca0] - (SEMVER-MINOR) src: add way to get IsolateData and allocator from Environment (Anna Henningsen) #36441
  • [658a266cd4] - (SEMVER-MINOR) src: allow preventing SetPrepareStackTraceCallback (Shelley Vohr) #36447
  • [f421422ea4] - (SEMVER-MINOR) src: add maybe versions of EmitExit and EmitBeforeExit (Anna Henningsen) #35486
  • [a62d4d60f4] - (SEMVER-MINOR) stream: add readableDidRead if has been read from (Robert Nagy) #39589
  • [63502131a3] - (SEMVER-MINOR) stream: pipeline accept Buffer as a valid first argument (Nitzan Uziely) #37739
  • [72ef41c72b] - (SEMVER-MINOR) test: add wpt tests for Blob (Michaël Zasso) #36811
  • [68bbebd42c] - (SEMVER-MINOR) tls: allow reading data into a static buffer (Andrey Pechkurov) #35753
  • [587deacad9] - (SEMVER-MINOR) tools: add Worker to type-parser (James M Snell) #38659
  • [1cbb74d63d] - (SEMVER-MINOR) url: expose urlToHttpOptions utility (Yongsheng Zhang) #35960
  • [8eb11356dd] - (SEMVER-MINOR) util: expose toUSVString (Robert Nagy) #39814
  • [84fcdc3074] - (SEMVER-MINOR) v8: implement v8.stopCoverage() (Joyee Cheung) #33807
  • [b238b6bf17] - (SEMVER-MINOR) v8: implement v8.takeCoverage() (Joyee Cheung) #33807
  • [9f6bc58da8] - (SEMVER-MINOR) worker: add setEnvironmentData/getEnvironmentData (James M Snell) #37486
  • Semver-patch commits:
  • [3a60de0135] - assert: change status of legacy asserts (James M Snell) #38113
  • [5a42be9719] - async_hooks: use resource stack for AsyncLocalStorage run (Stephen Belanger) #39890
  • [fc29ddb38e] - async_hooks: emit promise trace events from JS (Stephen Belanger) #39135
  • [13296d1abf] - async_hooks: eliminate native PromiseHook (Stephen Belanger) #39135
  • [48e5971e51] - async_hooks: check for empty contexts before removing (Bryan English) #39095
  • [691c00c48b] - async_hooks: switch between native and context hooks correctly (Stephen Belanger) #38912
  • [8484ab2a6c] - buffer: avoid creating the backing store in the thread (James M Snell) #37052
  • [c8d039a872] - buffer: make Blob's constructor more spec-compliant (Michaël Zasso) #37361
  • [05d73ac286] - buffer: make Blob's slice method more spec-compliant (Michaël Zasso) #37361
  • [e7cf2efc60] - buffer: add @@toStringTag to Blob (Colin Ihrig) #37336
  • [d99deeaf97] - build: fix update authors commit (Mestery) #39858
  • [5e1cba81bf] - build: add authors.yml (Tierney Cyren) #35831
  • [ed3c332089] - build: add option to hide console window (Cheng Zhao) #39712
  • [c696f97c5e] - build: exclude markdown files from some GitHub Actions (Rich Trott) #39565
  • [0bd6dd1ee2] - build: use lts shorthand in GitHub Actions (Rich Trott) #39538
  • [3482bca643] - build: override python executable path on configure (legendecas) #39465
  • [61261cdb8e] - build: use Node.js 14 in commit-lint.yml (Rich Trott) #39506
  • [719f1563c1] - build: fix host_arch_cc() for AIX/IBM i (Richard Lau) #39481
  • [6e06b2ff9d] - build: update coverage Makefile target comments (Richard Lau) #39365
  • [4e28d2b2c0] - build: run workflows when a PR is ready for review (Michaël Zasso) #39405
  • [0da5d74da4] - build: update to setup-node@v2 (Rich Trott) #39366
  • [f2e1c2267e] - build: update gcovr for gcc 8 compatibility (Richard Lau) #39326
  • [131dd6ec4d] - build: remove unused comment in Makefile (LitoMore) #39171
  • [40e46321b0] - build: uvwasi honours node_shared_libuv (Jérémy Lal) #39260
  • [5c6ab719f2] - build: shorten path used in tarball build workflow (Richard Lau) #39192
  • [870526374c] - build: add library_files to gyp variables (himself65) #39293
  • [0e221156aa] - build: pass directory instead of list of files to js2c.py (Joyee Cheung) #39069
  • [8d8415415b] - build: don't pass --mode argument to V8 test-runner (Richard Lau) #39055
  • [2d50217634] - build: fix commit linter on unrebased PRs (Mary Marchini) #39121
  • [c93d5e006e] - build: use Actions to validate commit message (Mary Marchini) #32417
  • [0bcaf9c4d1] - child_process: fix spawn and fork abort behavior (Nitzan Uziely) #37325
  • [8010c83180] - child_process: fix bad abort signal leak (Nitzan Uziely) #37257
  • [32aff2f5a0] - console: refactor to avoid unsafe array iteration (Antoine du Hamel) #36753
  • [f46e8cdf79] - debugger: remove undefined parameter (Rich Trott) #39570
  • [482459edd4] - debugger: validate sec-websocket-accept response header (Chris Opperwall) #39357
  • [e9c46107d7] - debugger: rename internal module (Rich Trott) #39378
  • [49e0883c75] - debugger: indicate server is ending (Rich Trott) #39334
  • [72a3419510] - debugger: rename inspector-cli test module to debugger (Rich Trott) #38530
  • [b3352cfba4] - debugger: prevent simultaneous heap snapshots (Rich Trott) #39638
  • [e5826ab1c2] - debugger: remove final lint exceptions in inspect_repl.js (Rich Trott) #39078
  • [34c0701952] - deps: V8: cherry-pick 00bb1a77c03e (Darshan Sen) #39829
  • [42359ab582] - deps: upgrade to libuv 1.42.0 (Luigi Pinca) #39525
  • [d863a9db68] - deps: bump HdrHistogram_C to 0.11.2 (Matteo Collina) #39462
  • [4c93968a62] - deps: extract gtest source files to deps/googletest (legendecas) #39386
  • [fcae391fed] - deps: update Acorn to v8.4.1 (Michaël Zasso) #39166
  • [327838dd96] - deps: V8: backport c9224589cf53 (Stephen Belanger) #39743
  • [89c1bbd7b2] - deps: V8: cherry-pick 81814ed44574 (Stephen Belanger) #39719
  • [8b9215d07c] - deps: update to [email protected] (Guy Bedford) #39402
  • [e201293ddb] - dgram: use simplified validator (Voltrex) #39753
  • [6fdac38f91] - doc,fs: remove experimental status for WHATWG URL as path (Antoine du Hamel) #38870
  • [d56e8268f9] - doc,lib: prepare for stricter multi-line array linting (Rich Trott) #37088
  • [5500ae9236] - domain: do not add domain to promise from other context (Stephen Belanger) #39135
  • [dc855af18e] - errors: don't throw TypeError on missing export (Benjamin Coe) #39017
  • [c13eadc218] - errors: eliminate all overhead for hidden calls (Momtchil Momtchev) #35644
  • [d42bbe48c5] - esm: use correct URL for error decoration (Bradley Farias) #37854
  • [9db3304368] - esm: update to correct deprecation code (Colin Ihrig) #37147
  • [e73bfed2f4] - esm: deprecate legacy main lookup for modules (Guy Bedford) #36918
  • [c1782ea1f5] - events: allow the options argument to be null (Luigi Pinca) #39486
  • [d2834fb97f] - fs: improve fsPromises writeFile performance (Nitzan Uziely) #37610
  • [ee1d13c90d] - fs: use byteLength to handle ArrayBuffer views (Michaël Zasso) #38187
  • [b38d6b475b] - fs: fixup negative length in fs.truncate (James M Snell) #37483
  • [fe28128f3c] - fs: add docs and tests for AsyncIterable support in fh.writeFile (Antoine du Hamel) #39836
  • [2b0e2706c0] - fs: improve fsPromises readFile performance (Nitzan Uziely) #37608
  • [a4d6f78619] - fs: move constants to internal/fs/utils.js (Darshan Sen) #38061
  • [402f7722ce] - fs: add validatePosition and use in read and readSync (Darshan Sen) #37051
  • [2bc301dcff] - http: decodes url.username and url.password for authorization header (Lew Gordon) #39310
  • [5459f4af33] - http: clean up HttpParser correctly (Tobias Koppers) #39292
  • [8b3feee148] - http,https: align server option of https with http (Qingyu Deng) #38992
  • [cf59e87c8b] - inspector: update inspector_protocol to 89c4adf (Rich Trott) #39650
  • [ea5f2047a2] - inspector: update inspector_protocol to 8ec18cf (Rich Trott) #39614
  • [1e5aca550c] - inspector: mark as stable (Gireesh Punathil) #37748
  • [8a2ce5dae6] - inspector: move inspector async hooks to environment (Joyee Cheung) #39112
  • [338189ff6f] - lib: simplify validators (Voltrex) #39753
  • [e1019351e8] - lib: cleanup validation (Voltrex) #39652
  • [dbaf4988bc] - lib: use validators (Voltrex) #39663
  • [9c33e4bfb2] - lib: use validator (Voltrex) #39547
  • [5b1104291d] - lib: use validateObject (Voltrex) #39605
  • [1ce81079df] - lib: remove use of array destructuring (Antoine du Hamel) #36818
  • [b24b34effd] - lib: add bound apply variants of varargs primordials (ExE Boss) #37005
  • [7cdff9a6a8] - lib: refactor primordials.makeSafe to use more primordials (ExE Boss) #36865
  • [1737352580] - lib: comment explaining special-case handling of promises (Stephen Belanger) #39135
  • [7f54cccb6c] - lib: refactor to use validateString (ZiJian Liu) #37006
  • [98259dc527] - module: improve support of data: URLs (Antoine du Hamel) #37392
  • [9aba2888a1] - net: throw ERR_OUT_OF_RANGE if blockList.addSubnet prefix is NaN (ZiJian Liu) #36732
  • [2ca12c83b4] - node-api: handle pending exception in cb wrapper (Michael Dawson) #39476
  • [9e5edf2158] - node-api: cctest on v8impl::Reference (legendecas) #38970
  • [a74032a490] - node-api: rtn pending excep on napi_new_instance (legendecas) #38798
  • [bcb85adee6] - policy: canonicalize before resolving specifiers (Bradley Farias) #37863
  • [0ff520cf02] - policy: fix integrity when DEFAULT_ENCODING is set (Tobias Nießen) #39750
  • [6c87b591d9] - readline: allow completer to rewrite existing input (Anna Henningsen) #39178
  • [37b4708b19] - repl: fix tla function hoisting (Don Jayamanne) #39745
  • [9264caeafe] - repl: do not include legacy getter/setter methods in completion (Anna Henningsen) #39576
  • [50c5e71e22] - repl: correctly hoist top level await declarations (ejose19) #39265
  • [1e065a0a43] - repl: processTopLevelAwait fallback error handling (ejose19) #39290
  • [99664494ff] - repl: ensure correct syntax err for await parsing (Guy Bedford) #39154
  • [761dafafde] - repl: fix Ctrl+C on top level await (Antoine du Hamel) #38656
  • [88b02cbb08] - repl: add auto‑completion for dynamic import calls (ExE Boss) #37178
  • [8f3a8830ba] - repl: refactor to avoid unsafe array iteration (Antoine du Hamel) #37188
  • [a48e2d6ec7] - repl: refactor to avoid unsafe array iteration (Darshan Sen) #36663
  • [20ffadf437] - repl: refactor to use more primordials (Antoine du Hamel) #36264
  • [f69c934ad4] - report: generates report on threads with no isolates (legendecas) #38994
  • [c4686fa5a7] - src: fix TextDecoder final flush size calculation (James M Snell) #39737
  • [495cd02c20] - src: add cosmetic space character to async_wrap.h file (Juan José Arboleda) #39459
  • [985ec48975] - src: print native module id on native module not found (legendecas) #39460
  • [e6ff7e648e] - src: close HandleWraps instead of deleting them in OnGCCollect() (Anna Henningsen) #39441
  • [5c473bdc12] - src: remove unused guards around node-api reference (legendecas) #38334
  • [41213bd507] - src: add JSDoc typings for v8 (Voltrex) #38944
  • [02b1df9fac] - src: fix crash in AfterGetAddrInfo (Anna Henningsen) #39735
  • [99493b07d4] - src: fix fatal errors when a current isolate not exist (legendecas) #38624
  • [9433c28c14] - src: remove more extra semis from member fns (Shelley Vohr) #38744
  • [bad990c934] - src: use BaseObject::kInteralFieldCount in Blob (Joyee Cheung) #36991
  • [0a759dff52] - src: compare IPv4 addresses in host byte order (Colin Ihrig) #39096
  • [d73181f243] - src: reduce duplicated boilerplate with new env utility fn (James M Snell) #36536
  • [85af15a8b6] - src: allow instances of net.BlockList to be created internally (James M Snell) #34741
  • [1008c80176] - src: add SocketAddressLRU Utility (James M Snell) #34618
  • [e404841a9c] - src: set PromiseHooks by Environment (Bryan English) #38821
  • [c8c290ae8f] - src,zlib: tighten up Z_*_WINDOWBITS macros (Khaidi Chu) #39115
  • [de171177b4] - stream: clean endWritableNT (Mestery) #39645
  • [32a5b8f59b] - stream: move duplicated code to an internal module (Rich Trott) #37508
  • [f90b22d351] - util: add internal createDeferredPromise() (Colin Ihrig) #37095
  • [61b4a98480] - zlib: avoid converting Uint8Array instances to Buffer (Antoine du Hamel) #39492
  • Documentation commits:
  • [8efd559347] - doc: add duplicate CVE check in sec. release doc (Daniel Bevenius) #39845
  • [7b123ec78d] - doc: improve description of the triagers team (Michaël Zasso) #39833
  • [615477f67b] - doc: update instructions for cc (Michael Dawson) #39674
  • [1a8a26d92e] - doc: fix malformed changelog entries (Rich Trott) #39791
  • [9e772ca9a1] - doc: fix lint errors in packages.md (Rich Trott) #39792
  • [2624c98207] - doc: add example of self-reference in scoped packages (Jesús Leganés-Combarro 'piranna) #37630
  • [00f2cee26c] - doc: add himadriganguly as a triager (Himadri Ganguly) #39757
  • [95b9cc78d2] - doc: fix YAML comment opening tags (Jayden Seric) #38324
  • [49a7962d58] - doc: fix fs.rmdir recursive option deprecation history (Antoine du Hamel) #39728
  • [53300d33c7] - doc: fixed variable names in queueMicrotask example (ashish maurya) #39634
  • [df1e20aaf1] - doc: update debugger.md description and examples (Rich Trott) #39661
  • [9672bbf01c] - doc: fix color contrast issue in light mode (Rich Trott) #39660
  • [48281ecfcd] - doc: add code examples to Writable.destroy() and Writable.destroyed (Juan José Arboleda) #39491
  • [8799a134e4] - doc: move NODE_MODULE_VERSION in release guide (Richard Lau) #39544
  • [89c8afcf48] - doc: remove outdated ARM information from release guide (Richard Lau) #39544
  • [a718b26f28] - doc: fence command examples in release guide (Richard Lau) #39544
  • [42669bb049] - doc: update backport labels in release guide (Richard Lau) #39544
  • [a437de3c5f] - doc: add code example to http.createServer method (Juan José Arboleda) #39455
  • [695569fc17] - doc: move [email protected] to emeritus (Lance Ball) #39501
  • [c7523da86c] - doc: update AUTHORS (Rich Trott) #39488
  • [e826109d5c] - doc: update strategic initiative champion (Rich Trott) #39487
  • [39da842051] - doc: simplify unnecessarily specific .mailmap entries (Rich Trott) #39430
  • [6a4c6ce4d7] - doc: update checkbox label in backporting guide (Darshan Sen) #39420
  • [d17afa08bd] - doc: remove _Addenda_ from headers (Rich Trott) #39427
  • [ae97a96d9e] - doc: simplify .mailmap file (Rich Trott) #39418
  • [a3dee70f66] - doc: fix broken internal link in http.md (Rich Trott) #39425
  • [ca947ac524] - doc: remove outdated step in onboarding exercise (Rich Trott) #39410
  • [86e12607f0] - doc: revise strategic initiatives text (Rich Trott) #39417
  • [cd8e773d28] - doc: update mailmap and AUTHORS (Rich Trott) #39393
  • [8376b07ae8] - doc: use a details tag for completed initiatves (Rich Trott) #39416
  • [43d28f5f00] - doc: update commit-queue.md to indicate GitHub Actions are checked (Rich Trott) #39411
  • [63b0603e95] - doc: use _pull request_ instead of _PR_ in onboarding doc (Rich Trott) #39409
  • [73f784f764] - doc: add strategic initiatives from TSC repo (Rich Trott) #39394
  • [1a494d51dc] - doc: standardize on _pull request_ (Rich Trott) #39384
  • [eb12e4ccfb] - doc: make minor edits to pull request text (Rich Trott) #39383
  • [ab0bf4fa1a] - doc: add docker-node and build-wg issue contents (Daniel Bevenius) #39215
  • [8438e8bf33] - doc: add instructions for core vuln files (Daniel Bevenius) #39220
  • [c3cfefc2d3] - doc: standardize on not capitalizing _collaborator_ (Rich Trott) #39379
  • [672023f9f2] - doc: update mailmap and deduplicate AUTHORS entry (Rich Trott) #39391
  • [baaa397e39] - doc: update AUTHORS (Rich Trott) #39367
  • [f39d93a428] - doc: move jdalton to emeritus (Rich Trott) #39380
  • [0b1ce72d64] - doc: edit guide on pull requests (Rich Trott) #39359
  • [6f0b3a20d1] - doc: add text about moving long commit lists out of PR description (Danielle Adams) #39186
  • [9d43ce3b80] - doc: do not use & for "and" in text (Rich Trott) #39345
  • [25c104f21f] - doc: update AUTHORS (Rich Trott) #39277
  • [b47b47930c] - doc: put information about the past in details tags (Rich Trott) #39321
  • [5eafc3afa8] - doc: move AndreasMadsen to emeritus (Rich Trott) #39315
  • [fbf658f1d5] - doc: move ofrobots to collaborator emeritus (Rich Trott) #39307
  • [fc7d714149] - doc: simplify CRAN mirror text in benchmark guide (Rich Trott) #39287
  • [22f0b7e0d0] - doc: use "repository" instead of "repo" in onboarding.md (Rich Trott) #39286
  • [f46ae3ffb6] - doc: update collaborator email address (Rich Trott) #39263
  • [8c569cef88] - doc: remove GitHub mark (Rich Trott) #39251
  • [b4a0c5a384] - doc: remove emailing the TSC from offboarding doc (Rich Trott) #39280
  • [a4d70ff0cc] - doc: use "repository" in guides versus repo (Michael Dawson) #39198
  • [31163ed9ee] - doc: update Node-api version matrix (Michael Dawson) #39197
  • [9357547519] - doc: update node-api support matrix (Michael Dawson) #38424
  • [f08e9d5230] - doc: remove onboarding-extras (Rich Trott) #39252
  • [6466faf26d] - doc: move Sam Ruby to emeritus (Rich Trott) #39264
  • [06acbf6453] - doc: update AUTHORS file (Rich Trott) #39250
  • [9178805653] - doc: fix color contrast for anchor marks in dark mode (Rich Trott) #39168
  • [c6118b23f7] - doc: rename datatypes to data types (FrankEntriken) #39209
  • [fdd315918f] - doc: normalize CSS variable names and indentation (Rich Trott) #39199
  • [9c7c44781c] - doc: use more consistent formatting for deprecations (Rich Trott) #39218
  • [c97ebd7905] - doc: update AUTHORS (Rich Trott) #39217
  • [c4a3a24848] - doc: use "pull request" instead of "PR" in packages.md (Rich Trott) #39213
  • [0d098bfaf0] - doc: move v8.stopCoverage() to expected location in doc (Rich Trott) #39212
  • [bd6af78749] - doc: move vm.measureMemory() to expected location in doc (Rich Trott) #39211
  • [7378b84bb8] - doc: add missing deprecation code (Colin Ihrig) #37147
  • [2f6861ca51] - doc: use ASCII order for md refs (Antoine du Hamel) #39170
  • [fa3909504f] - doc: add cc [email protected] (Daniel Bevenius) #39191
  • [52105acd5f] - doc: remove instructions for unsupported Node.js versions (Rich Trott) #39185
  • [eb2d75da16] - doc: remove obsolete cc recommendations (Rich Trott) #39181
  • [4cf17edd03] - doc: use "repository" in maintaining-V8 doc (Rich Trott) #39179
  • [d6a4f8aac9] - doc: fix broken link in errors.md (Rich Trott) #39200
  • [82458b30fe] - doc: correct JavaScript primitive value names in n-api.md (legendecas) #39129
  • [2629979fd0] - doc: apply logical ordering to CSS variables (Rich Trott) #39169
  • [1996580b06] - doc: use repository instead of repo (Rich Trott) #39157
  • [74ba115ab6] - doc: fix EventTarget.dispatchEvent docs (Rohan Sharma) #39127
  • [2884d9094d] - doc: update AUTHORS file (Rich Trott) #39082
  • [d069c725b1] - doc: fix napi_default_property name (Davidson Francis) #39104
  • [1b74d3f775] - doc: fix dead links in packages.md (Michaël Zasso) #39113
  • [0c2b5a048d] - doc: clearify that http does chunked encoding itself (Mao Wtm) #28379
  • [d0d731e271] - doc: add descriptions about when options.mode is ignored (Ray) #39881
  • [898db5a570] - doc: add code example to fs.truncate method (Juan José Arboleda) #39454
  • [05d7460747] - doc: add annotation to writeFile data as Object (Jacob) #39167
  • [2ef61b987d] - doc: fix constants usage in fs.access example (Cyrille Bourgois) #39289
  • [b2c533ea1d] - doc: remove unnecessary module format comments (Rich Trott) #39219
  • [e8355c47d2] - doc: remove file name from self-reference links (Antoine du Hamel) #39165
  • [f799c4617e] - doc: use await in filehandle.truncate() snippet (RA80533) #38939
  • [e7f3f0d778] - doc: update abort signal in fs promise api example (Moritz Kneilmann) #38669
  • [a44219d979] - doc: add documentation for fs.WriteStream.close() (Hitesh Sharma) #38610
  • [c3ae1cfbab] - doc: fix fs.openSync() signature (Luigi Pinca) #38591
  • [23a8aed3f9] - doc: typo stats() should be stat(); clarity (Bryan Field) #38541
  • [9fe46ea0fd] - doc: fix broken AHAFS link in fs doc (Rich Trott) #38534
  • [7a92c3cfd4] - doc: clarify that fs.Dir async iterator closes automatically (James M Snell) #38438
  • [b819848487] - doc: remove superfluous await from fsPromises.readdir example (Michael Rommel) #38293
  • [9fa7dcf9df] - doc: fix missing backtick in fs.md (Siddharth) #38260
  • [4cf4ee99dc] - doc: fix typo in fs.md (Antoine du Hamel) #38100
  • [f9d36cbf42] - doc: fix typos in /doc/api/fs.md (Merlin Luntke) #37557
  • [bbcc2171c5] - doc: fix typo "director" instead of "directory" (humanwebpl) #37523
  • [67ac6b3b66] - doc: fix "referred to" in fs docs (Tobias Nießen) #37388
  • [3b9fa2412f] - doc: change "Version 4 UUID" to "version 4 UUID" (Tobias Nießen) #39682
  • [3d26572773] - doc: add point to ask H1 reporter about credit (Daniel Bevenius) #39585
  • [469190d13c] - doc: move util.toUSVString() outside of deprecated group (Luigi Pinca) #39840
  • [f509788850] - doc: fix lint error in modules.md (Rich Trott) #37811
  • [a7833c7ce6] - doc: refactor signal info in child_process.md (Darshan Sen) #37528
  • [f5b2fe1204] - doc: change lang info string in fs JS snippets (Antoine du Hamel) #37605
  • [307c1d817f] - doc: refactor fs docs structure (Michaël Zasso) #37170
  • [298a16a2e7] - doc: update emitClose default for fs streams (Kevin Locke) #36653
  • [0c469b3f77] - doc: revise process.memoryUsage() text (Rich Trott) #36757
  • [1ebe7d70ea] - doc: fix punctuation in v8.md (Rich Trott) #36192
  • [591a05b637] - doc: add link for v8.takeCoverage() (Rich Trott) #36135
  • [e5fe3164f3] - doc: add YAML metadata for process.memoryUsage.rss (Gerhard Stoebich) #36781
  • Other commits:
  • [ab66dabbf2] - doc,meta: update email addresses for misterdjules (Rich Trott) #39433
  • [c6ccd97fe2] - doc,tools: remove checkLinks.mjs (Antoine du Hamel) #39206
  • [8f8f528f08] - meta: add gyp as owner of gyp files and tools/gyp (Mary Marchini) #34847
  • [4b2eee5232] - meta: consolidate AUTHORS entries for ooHmartY (Rich Trott) #39705
  • [6916a6c2b0] - meta: consolidate AUTHORS entries for homosaur (Rich Trott) #39705
  • [b65a635c8a] - meta: consolidate AUTHORS entries for Ayase-252 (Rich Trott) #39705
  • [e86b59cf4c] - meta: consolidate AUTHORS entries for robin-drexler (Rich Trott) #39705
  • [1eda8442bd] - meta: consolidate AUTHORS entries for samshull (Rich Trott) #39705
  • [cd67d86572] - meta: update AUTHORS (Rich Trott) #39705
  • [bb06282a9e] - meta: consolidate email addresses for MarshallOfSound (Rich Trott) #39651
  • [12fe34eae4] - meta: consolidate email addresses for tadjik1 (Rich Trott) #39651
  • [4301e252b4] - meta: consolidate email addresses for szmarczak (Rich Trott) #39651
  • [3e8fc49730] - meta: update AUTHORS (Rich Trott) #39636
  • [60f41c34dd] - meta: simplify mailmap (Rich Trott) #39612
  • [fc9c680260] - meta: consolidate emails for tadhgcreedon (Rich Trott) #39611
  • [d87fcf9959] - meta: consolidate emails for timcosta (Rich Trott) #39611
  • [fdbe97849b] - meta: consolidate emails for timruffles (Rich Trott) #39611
  • [b9f2ea92e9] - meta: update AUTHORS (Rich Trott) #39629
  • [472cf1520e] - meta: add mailmap entry for ryzokuken (Rich Trott) #39596
  • [ae3f8b1eda] - meta: add mailmap entry for uttampawar (Rich Trott) #39596
  • [2a2d8ebd90] - meta: add mailmap entry for dmabupt (Rich Trott) #39596
  • [030036ec92] - meta: align README/.mailmap/AUTHORS email entries (Rich Trott) #39505
  • [fd2146be91] - meta: add mailmap entry for garygsc (Rich Trott) #39588
  • [0833e2d9cb] - meta: add mailmap entry for ttzztztz (Rich Trott) #39588
  • [1fbc19ee32] - meta: update AUTHORS (Rich Trott) #39587
  • [2d6428665d] - meta: update .mailmap to remove duplication in AUTHORS (Rich Trott) #39561
  • [6c4febd701] - meta: add .mailmap entries to remove AUTHORS duplicates (Rich Trott) #39560
  • [1755f49a20] - meta: add .mailmap entry to remove duplication in AUTHORS (Rich Trott) #39559
  • [fdcc5729d9] - meta: update collaborator email in AUTHORS/.mailmap (Rich Trott) #39521
  • [27e9a44852] - meta: update collaborator email in README (Rich Trott) #39521
  • [5e1c49ff0f] - meta: update collaborator email in AUTHORS/.mailmap (Rich Trott) #39521
  • [fbecae169e] - meta: move gdams to emeritus (Rich Trott) #39539
  • [48ec33f1b8] - meta: update collaborator email in README (Rich Trott) #39510
  • [f269df31ea] - meta: remove unneeded .mailmap entry (Rich Trott) #39512
  • [b0c1aab28d] - meta: update email address for collaborator (Rich Trott) #39511
  • [5f4935292a] - meta: align collaborator name in .mailmap/AUTHORS with README (Rich Trott) #39489
  • [1b2078c912] - meta: align email address in README/.mailmap/AUTHORS (Rich Trott) #39503
  • [2f816bf24b] - meta: revise .mailmap for README consistency (Rich Trott) #39457
  • [1302a911f5] - meta: alphabetize .mailmap file (Rich Trott) #39434
  • [55322c0260] - meta: align collaborator email in .mailmap/AUTHORS with README (Rich Trott) #39478
  • [83f5cc0bd4] - meta: update AUTHORS (Rich Trott) #39461
  • [69b56a3fe9] - meta: add .mailmap entry for new email for existing contributor (Rich Trott) #39431
  • [2f325c946f] - meta: use form schema for bug report template (Michaël Zasso) #39194
  • [9766a99dd2] - meta: add @nodejs/actions as CODEOWNERS (Mary Marchini) #39119
  • [007f9a0e36] - test: fix test-vm-memleak for high baseline platforms (Rich Trott) #38062
  • [0fabd8e755] - test: fix flaky test-vm-memleak (Rich Trott) #38054
  • [64fb928ec7] - test: fix flaky test-child-process-exec-abortcontroller-promisified (Antoine du Hamel) #37572
  • [e660892f1a] - test: use simplfied validator (voltrexmaster) #39753
  • [779417f97e] - test: use template to concatenate string (Himadri Ganguly) #39621
  • [a61076042d] - test: deflake test-http2-buffersize (Luigi Pinca) #39591
  • [68ef265c39] - test: convert anonymous function to arrow function (Himadri Ganguly) #39604
  • [78db43c9e7] - test: add test-debugger-breakpoint-exists (Rich Trott) #39570
  • [5696bcf715] - test: fix WASI link test (Richard Lau) #39485
  • [0b564a6d40] - test: add test for WebSocket secret verification in debugger (Rich Trott) #39357
  • [831f266d6f] - test: put common lint exceptions into config file (Rich Trott) #39358
  • [d8066f5325] - test: mark test-domain-error-types flaky (James M Snell) #39369
  • [c915a1bd04] - test: remove eslint-disable comment from fixture file (Rich Trott) #39320
  • [1eb8307cc5] - test: move debugger test case to parallel (Rich Trott) #39300
  • [546202364c] - test: remove debugger workaround for AIX (Rich Trott) #39296
  • [e12164e88d] - test: fix test-debugger-heap-profiler for workers (Richard Lau) #39687
  • [a45bf2f1a0] - test: use common.PORT instead of hardcoded port number (Rich Trott) #39298
  • [9b737ebd4b] - test: add test for debugger restart message issue (Rich Trott) #39273
  • [68523894ab] - test: remove workaround code in debugger test (Rich Trott) #39238
  • [2cd414147b] - test: move test-debugger-address to parallel (Rich Trott) #39236
  • [a2e4020e4b] - test: prepare for consistent comma-dangle lint rule (Rich Trott) #37930
  • [62b439e04d] - test: replace "inspector-cli" with "debugger" (Rich Trott) #39156
  • [f13a302d23] - test: improve coverage of stream.Readable (Rongjian Zhang) #38702
  • [f3d2e6ac29] - test: add tests for bound apply variants of varargs primordials (ExE Boss) #37005
  • [f70fd00fb3] - test: use localhost test instead of connecting to remote (Adam Majer) #39011
  • [c4ff5e4a7e] - test: update error message keywords (leeight) #39826
  • [922dacebfb] - test: increase coverage for Blob (ZiJian Liu) #38515
  • [c6ab19895d] - test: account for OOM risks in heapsnapshot-near-heap-limit tests (Joyee Cheung) #37761
  • [971d5be57c] - test: split heap snapshot limit tests (Rich Trott) #37189
  • [815d59a7b3] - test: fix test-memory-usage.js for IBMi (Rich Trott) #36758
  • [aa5309c33f] - test: increase coverage for net/blocklist (Zijian Liu) #36405
  • [f3be3ec417] - test: check mustCall errors in test-fs-read-type (Tobias Nießen) #36914
  • [b643fe7edf] - test: use faster variant for rss (Pooja D P) #36839
  • [d4362db111] - test: use faster variant for rss in test-crypto-dh-leak (Pooja D P) #36766
  • [3094ef967a] - test: use faster variant for rss in test-vm-memleak.js (Pooja D P) #36769
  • [ff7879b41e] - test: use faster variant for rss test-memoryusage-emfile (Pooja D P) #36768
  • [d39200c7f4] - tools: make utils.SearchFiles Python2-compatible (Michaël Zasso) #40020
  • [55493f2011] - tools: update workflow to open a pull request (Rich Trott) #39825
  • [417a3ac474] - tools: use find-inactive-collaborators to modify README.md (Rich Trott) #39825
  • [e9b1a006a1] - tools: fix markdown linting (Rich Trott) #39832
  • [67f1bff657] - tools: update markdown linter dependencies and move to ESM (Antoine du Hamel) #39801
  • [67c5921e8a] - tools: update rollup to latest version in markdown linter (Rich Trott) #39797
  • [64714b429a] - tools: update markdown lint dependencies (Rich Trott) #39770
  • [de9461168a] - tools: bump remark-preset-lint-node to 3.0.0 (Rich Trott) #39755
  • [dfdf6c7317] - tools: update markdown linter rules (Rich Trott) #38384
  • [f8fee449f7] - tools: update path-parse in markdown linter package-lock file (Rich Trott) #39729
  • [a338c0e07b] - tools: fix more build warnings in inspector_protocol (Richard Lau) #39725
  • [09630cf199] - tools: cherry-pick ffb34b6d5dbf0 (Darshan Sen) #39725
  • [26a067e33e] - tools: update inspector_protocol to e8ba1a7 (Rich Trott) #39694
  • [9847d58feb] - tools: update inspector_protocol to 39ca567 (Rich Trott) #39694
  • [6870bb7505] - tools: update inspector_protocol to 97d3146 (Rich Trott) #39694
  • [383fa01e97] - Revert "tools: fix compiler warning in inspector_protocol" (Rich Trott) #39694
  • [b95a759c86] - tools: update inspector_protocol to a53e96d31a2755eb16ca37 (Rich Trott) #39694
  • [ad39687422] - tools: update inspector_protocol to fe0467fd105a (Rich Trott) #39694
  • [78de83cc74] - tools: improve error detection in find-inactive-collaborators (Rich Trott) #39617
  • [a5152a0875] - tools: flag README/mailmap mismatches in find-inactive-collaborators (Rich Trott) #39477
  • [87c5332f89] - tools: use mailmap for find-inactive-collaborators (Rich Trott) #39432
  • [f75224f1ce] - tools: email matchin is case insensitive for .mailmap (Rich Trott) #39430
  • [dfb77a581f] - tools: make internal link checker more robust (Rich Trott) #39429
  • [d2c0da20a0] - tools: added remark-frontmatter (Ben Halverson) #38717
  • [cec04821aa] - tools: change commit fetch limiting in find-inactive-collaborators (Rich Trott) #39362
  • [d948148498] - tools: use Node.js 16.x for GitHub workflow (Rich Trott) #39362
  • [edc5791b5a] - tools: add GitHub Action to run find-inactive-collaborators.mjs (Rich Trott) #39335
  • [d86d37bc9e] - tools: relax max-len lint rule for template strings (Rich Trott) #38097
  • [f467e2a0c5] - tools: pass bot token to node-pr-labeler (Michaël Zasso) #39271
  • [61ec594609] - tools: add find-inactive-collaborators.js (Rich Trott) #39262
  • [ff0ca11521] - tools: update path-parse to 1.0.7 (Rich Trott) #39232
  • [b8fb75121b] - tools: remove unused lint-pr-commit-message.sh (Richard Lau) #39120
  • [e7761b627f] - tools: apply consistent comma-dangle lint rule (Rich Trott) #37930
  • [315eba7789] - tools: make comma-dangle ESLint rule more stringent … (Rich Trott) #37088
  • [3ecfe9d7ee] - tools: update remark-preset-lint-node to 2.4.1 (Rich Trott) #39201
  • [70e527c0c7] - tools: upgrade highlight.js to version 11.0.1 (Antoine du Hamel) #39032
  • [7b2bebba7a] - tools: add support for import assertions in linter (Antoine du Hamel) #39924
  • [1353a6e22f] - tools: update ESLint to 7.32.0 (Luigi Pinca) #39602
  • [509f26549c] - tools: update ESLint to 7.31.0 (Colin Ihrig) #39424
  • [f0e0c8f720] - tools: update ESLint to 7.30.0 (Colin Ihrig) #39242
  • [6540c271e4] - tools: update @babel/eslint-parser to 7.14.7 (Rich Trott) #39160
  • [d7e2318e74] - tools: add ESLint rule no-array-destructuring (Antoine du Hamel) #36818
  • [87e5429334] - tools,doc: fix error message for unrecognized type (Antoine du Hamel) #39221
  • [f206af679c] - typings: add a few JSDoc typings for the net lib module (nerdthatnoonelikes) #38953
  • [d458cd7e2b] - typings: add JSDoc typings for timers (Voltrex) #38834

New in Node.js 16.10.0 Current (Sep 24, 2021)

  • Notable Changes:
  • [fb226ff2ee] - (SEMVER-MINOR) crypto: add rsa-pss keygen parameters (Filip Skokan) #39927
  • [85206b7311] - deps: upgrade npm to 7.24.0 (npm team) #40167
  • [98f56d179c] - deps: update Acorn to v8.5.0 (Michaël Zasso) #40015
  • [9655329772] - doc: add Ayase-252 to collaborators (Qingyu Deng) #40078
  • [59fff925be] - (SEMVER-MINOR) fs: make open and close stream override optional when unused (Antoine du Hamel) #40013
  • [a63a4bce90] - (SEMVER-MINOR) http: limit requests per connection (Artur K) #40082
  • The maximum number of requests a socket can handle before closing keep alive connection can be set with server.maxRequestsPerSocket.
  • [9a672961fa] - (SEMVER-MINOR) src: add --no-global-search-paths cli option (Cheng Zhao) #39754
  • Adds the --no-global-search-paths command-line option to not search modules from global paths like $HOME/.node_modules and $NODE_PATH.
  • [fe920b6cbf] - (SEMVER-MINOR) src: make napi_create_reference accept symbol (JckXia) #39926
  • [97f3072ceb] - (SEMVER-MINOR) stream: add signal support to pipeline generators (Robert Nagy) #39067
  • Commits:
  • [b7dc651884] - build: run modified internet tests on GitHub Actions (Rich Trott) #40100
  • [8d5787a043] - build: add .mailmap/AUTHORS to paths-ignore for test-macos (Rich Trott) #40109
  • [9793e7ff08] - build: add .mailmap/AUTHORS to path-ignore for test-asan (Rich Trott) #40109
  • [886921de38] - build: add paths-ignore for build-tarball workflow (Rich Trott) #40109
  • [01b1946b38] - build: only lint version numbers for pull requests (Michaël Zasso) #40027
  • [c804d070a6] - build: add daily/on-demand internet test workflow (Rich Trott) #40086
  • [7bddaecbf4] - build: add YAML linting to GitHub Actions (Rich Trott) #40007
  • [5a20f9055c] - build: add YAML linting (Rich Trott) #40007
  • [0b30867c08] - build: run AUTHORS update weekly (Rich Trott) #40004
  • [22a78a75ee] - build: preserves symbols during LTO with macOS linker (Jesse Chan) #39839
  • [f0dec58d43] - crypto: fix webcrypto ed(25519|448) spki/pkcs8 import (Filip Skokan) #40131
  • [d80082f3eb] - crypto: use validateObject (Voltrex) #39872
  • [d657ae6f8a] - crypto: fix RSA-PSS default saltLength (Tobias Nießen) #39999
  • [fc45cbe7a8] - crypto: fix default MGF1 hash for OpenSSL 3 (Tobias Nießen) #40031
  • [105c9e6d3b] - crypto: check webcrypto asymmetric key types during importKey (Filip Skokan) #39962
  • [fb226ff2ee] - (SEMVER-MINOR) crypto: add rsa-pss keygen parameters (Filip Skokan) #39927
  • [85206b7311] - deps: upgrade npm to 7.24.0 (npm team) #40167
  • [06f6e01f37] - deps: add riscv64 into openssl Makefile and gen openssl-riscv64 (Lu Yahan) #40063
  • [9c76c69972] - deps: patch V8 to 9.3.345.19 (Michaël Zasso) #40108
  • [0df47d5843] - deps: upgrade npm to 7.23.0 (npm team) #40055
  • [b3843bf417] - deps: patch v8 for vs2019 in std17 (Jiawen Geng) #40060
  • [67759585a0] - deps: patch for v8 on windows (Jiawen Geng) #40010
  • [98f56d179c] - deps: update Acorn to v8.5.0 (Michaël Zasso) #40015
  • [5c6708582e] - dns: cleanup validation (Voltrex) #40061
  • [e4825dcfd5] - doc: changes default values for fs.read fns (RISHABH BUDHIRAJA) #39163
  • [0254b4b0d3] - doc: fix markdown indentation in lists (Michaël Zasso) #40142
  • [b6939a3419] - doc: prepare README.md for stricter linting (Rich Trott) #40137
  • [a07d8444f9] - doc: fix comma splice (Rich Trott) #40133
  • [2488bc0c4f] - doc: clean up weird notes about reentrancy (Anna Henningsen) #40107
  • [8b80dcbc30] - doc: correct parameters in fs and stream documentation (vipul kumar) #39984
  • [1ced732078] - doc: fix CJS-ESM selector in Safari (Bradley Farias) #40135
  • [7fdb12739d] - doc: add timeout.close (Nikita Galkin) #40036
  • [81cb14bb58] - doc: clarify that ObjectWrap requires manual cleanup on shutdown (Gerhard Stöbich) #40074
  • [8aad81dd99] - doc: add full list of subsystems (FrankQiu) #39971
  • [9655329772] - doc: add Ayase-252 to collaborators (Qingyu Deng) #40078
  • [6d399e11e9] - doc: fix CCM cipher example in MJS (Tobias Nießen) #39949
  • [d426ee9b17] - doc: fix property name 'detail' of performanceEntry (Christian Boehlke) #40019
  • [846e7e880e] - doc: fix list indentation in corepack.md (Alexey Ten) #40029
  • [b6dd2ea930] - doc: fix missing history version in fs.md (Antoine du Hamel) #39972
  • [f666f5a8d1] - events: fix duplicate require which cause performance penalty (wwwzbwcom) #39892
  • [59fff925be] - (SEMVER-MINOR) fs: make open and close stream override optional when unused (Antoine du Hamel) #40013
  • [a63a4bce90] - (SEMVER-MINOR) http: limit requests per connection (Artur K) #40082
  • [bc9c2ca6af] - http: remove CRLF variable (shfshanyue) #40101
  • [dd50b91f77] - lib: remove useless statement (Maledong) #39983
  • [608528028c] - lib: avoid creating a throw away object in validateObject (Antoine du Hamel) #39807
  • [edcfffeaea] - lib: use standard property names (null) #39981
  • [640353af86] - lib,repl: ignore non-canBeRequiredByUsers built-in (Khaidi Chu) #39942
  • [4444b5c938] - meta: update AUTHORS (Node.js GitHub Bot) #40148
  • [4993318862] - meta: update GeoffreyBooth email addresses in AUTHORS and .mailmap (Rich Trott) #40132
  • [98d42fa1f4] - meta: add mailmap entry for LPardue (Rich Trott) #40129
  • [effdfa91be] - meta: update GeoffreyBooth email address (Geoffrey Booth) #40102
  • [588257c00a] - meta: add .mailmap entry for arcanis (Rich Trott) #40103
  • [7ee3fbd1e0] - meta: update AUTHORS (Node.js GitHub Bot) #40087
  • [2a41530a5e] - meta: consolidate AUTHORS entry for mikemaccana (Rich Trott) #40051
  • [a71579b05e] - meta: add more mailmap entries for bajtos (Rich Trott) #40023
  • [29104f5e64] - meta: consolidate AUTHORS entries for mithunsasidharan (Rich Trott) #40003
  • [381293f54a] - meta: update AUTHORS (Node.js GitHub Bot) #39957
  • [1eca9bc5b2] - module: support pattern trailers for imports field (Guy Bedford) #40041
  • [7376edca6d] - module: deprecate trailing slash pattern mappings (Guy Bedford) #40039
  • [92f182b23d] - module: fix $ pattern replacements (Guy Bedford) #40044
  • [d6124d8259] - repl: fix top level await with surrogate characters (Mestery) #39931
  • [9a672961fa] - (SEMVER-MINOR) src: add --no-global-search-paths cli option (Cheng Zhao) #39754
  • [51f9ad4897] - (SEMVER-MINOR) src: add option to disable global search paths (Cheng Zhao) #39754
  • [95528b284d] - src: remove unnecessary comment and add a CHECK in crypto_tls.cc (Darshan Sen) #39991
  • [31994fbf8e] - src: register zlib external references for snapshot (Joyee Cheung) #40050
  • [cfcd57182b] - src: fix -Wunreachable-code-return error (Shelley Vohr) #40034
  • [9f3a015b60] - src: add option to disable loading native addons (Dominic Elm) #39977
  • [570bef1710] - Revert "src: skip test_fatal/test_threads for Debug builds" (Anna Henningsen) #39954
  • [842f936e04] - src: use Isolate::TryGetCurrent where appropriate (Anna Henningsen) #39954
  • [fe920b6cbf] - (SEMVER-MINOR) src: make napi_create_reference accept symbol (JckXia) #39926
  • [73aa4e34ff] - src: fix C4805 MSVC warning (Michaël Zasso) #39998
  • [826eee363c] - src: register external references of PipeWrap for snapshot (Joyee Cheung) #39961
  • [7a17cbfdea] - src: register external references of TTYWrap for snapshot (Joyee Cheung) #39961
  • [00cca48081] - src: register external references of TCPWrap for snapshot (Joyee Cheung) #39961
  • [6095fb07b6] - src: register external references of SignalWrap for snapshot (Joyee Cheung) #39961
  • [db75711c5c] - src: register missing process methods external references (Joyee Cheung) #39961
  • [b4e074c295] - src: register missing stream wrap external references (Joyee Cheung) #39961
  • [a2c1c3ef64] - src: register external references of BaseObject for snapshot (Joyee Cheung) #39961
  • [6fdf02523e] - src: register external references of node-report for snapshot (Joyee Cheung) #39961
  • [bef78a2f88] - src: register external references of dtrace for snapshot (Joyee Cheung) #39961
  • [97f3072ceb] - (SEMVER-MINOR) stream: add signal support to pipeline generators (Robert Nagy) #39067
  • [6be405bd7b] - test: fix test-dgram-udp6-link-local-address on Windows (Michaël Zasso) #40005
  • [ec94bec9a3] - test: do not run test-corepack-yarn-install with no internet (Antoine du Hamel) #40090
  • [4aa2610252] - test: update OpenSSL3 error messages for 3.0.0+quic (Daniel Bevenius) #40093
  • [4367a61a9b] - test: mark test-crypto-timing-safe-equal-benchmarks flaky (Richard Lau) #40065
  • [5b5e27281c] - test: fix internet/test-dns (Rich Trott) #40083
  • [67bbfeb7e1] - test: make tests pass on Windows with Unix EOL (Michaël Zasso) #40002
  • [a8c99d9f09] - tools: update doc generator dependencies (Michaël Zasso) #40042
  • [ec6de1195a] - tools: update ansi-regex in lint-md rollup (Rich Trott) #40112
  • [d55804ca4e] - tools: update all dependencies of markdown linter (Michaël Zasso) #40035
  • [f03bae7c82] - tools: update remark-html to v13.0.2 (Michaël Zasso) #40043
  • [99af21292f] - tools,build: update YAML files in preparation for linting (Rich Trott) #40007
  • [590ace418d] - tools,doc: fix misrendering of consecutive JS blocks (Rich Trott) #40146
  • [5983568204] - worker: avoid potential deadlock on NearHeapLimit (Santiago Gimeno) #38403

New in Node.js 16.9.1 Current (Sep 12, 2021)

  • Notable Changes:
  • This release fixes a regression introduced by the V8 9.3 update in Node.js 16.9.0.
  • Commits:
  • [04f1943109] - deps: V8: cherry-pick 9a607043cb31 (Jiawen Geng) #40046

New in Node.js 16.9.0 Current (Sep 7, 2021)

  • Notable Changes:
  • Corepack:
  • Node.js now includes Corepack, a script that acts as a bridge between Node.js projects and the package managers they are intended to be used with during development. In practical terms, Corepack will let you use Yarn and pnpm without having to install them - just like what currently happens with npm, which is shipped in Node.js by default. Please head over to the Corepack documentation page for more information on how to use it.
  • Contributed by Maël Nison - #39608
  • V8 9.3:
  • V8 is updated to version 9.3, which includes performance improvements and new JavaScript features.
  • Other Notable Changes:
  • [34c627e4bc] - (SEMVER-MINOR) crypto: add RSA-PSS params to asymmetricKeyDetails (Tobias Nießen) #39851
  • [20da0a5379] - (SEMVER-MINOR) module: support pattern trailers (Guy Bedford) #39635
  • [cb44781371] - (SEMVER-MINOR) stream: add stream.compose (Robert Nagy) #39029
  • Commits:
  • [2343c394fb] - async_hooks: use resource stack for AsyncLocalStorage run (Stephen Belanger) #39890
  • [00951827cd] - Revert "build: add windows-2022 to GitHub test matrix" (Michaël Zasso) #39982
  • [e7834535b3] - build: add windows-2022 to GitHub test matrix (Michaël Zasso) #39857
  • [c49b0c0dd4] - build: add support for Visual Studio 2022 (Michaël Zasso) #39857
  • [afdb665e57] - build: fix find-inactive-collaborators workflow token (Rich Trott) #39909
  • [0ff88f362f] - build: update token used for pull requests (Rich Trott) #39907
  • [beca890330] - build: adapt v8_pch.h to V8 9.3 (Michaël Zasso) #39469
  • [2170346aa3] - build: reset embedder string to "-node.0" (Michaël Zasso) #39947
  • [d33ab968ab] - cluster: fix comment regarding child_process file (Yash Ladha) #39308
  • [585199497f] - crypto: fix regression in RSA-PSS keygen (Tobias Nießen) #39937
  • [34c627e4bc] - (SEMVER-MINOR) crypto: add RSA-PSS params to asymmetricKeyDetails (Tobias Nießen) #39851
  • [1dd91582da] - crypto: fix rsa-pss one-shot sign/verify error handling (Filip Skokan) #39830
  • [20cf47004e] - crypto: fix JWK RSA-PSS SubtleCrypto.exportKey (Filip Skokan) #39828
  • [e25dc8e470] - deps: upgrade npm to 7.21.1 (npm team) #39904
  • [9270684837] - deps: update archs files for OpenSSL-1.1.1l+quic (Richard Lau) #39867
  • [4b5bbec6cc] - deps: upgrade openssl sources to OpenSSL_1_1_1l+quic (Richard Lau) #39867
  • [71659fd4ba] - (SEMVER-MINOR) deps: add corepack (Maël Nison) #39608
  • [7470db0dfb] - deps: restore minimum ICU version to 68 (Michaël Zasso) #39470
  • [92d83d18d2] - deps: make V8 9.3 abi-compatible with 9.0 (Michaël Zasso) #39947
  • [0140face81] - deps: V8: cherry-pick 00bb1a77c03e (Darshan Sen) #39829
  • [3e1053e755] - deps: V8: cherry-pick 81814ed44574 (Stephen Belanger) #39719
  • [d9d0104878] - deps: silence irrelevant V8 warning (Michaël Zasso) #38990
  • [cd9b03ea40] - deps: silence irrelevant V8 warnings (Michaël Zasso) #37587
  • [b83cab712f] - deps: fix V8 build issue with inline methods (Jiawen Geng) #35415
  • [068824d754] - deps: make v8.h compatible with VS2015 (Joao Reis) #32116
  • [54f4f1af50] - deps: V8: forward declaration of Rtl*FunctionTable (Refael Ackermann) #32116
  • [10ba1cb8b2] - deps: V8: patch register-arm64.h (Refael Ackermann) #32116
  • [3ce6f72124] - deps: V8: un-cherry-pick bd019bd (Refael Ackermann) #32116
  • [f43c292520] - (SEMVER-MINOR) deps: update V8 to 9.3.345.16 (Michaël Zasso) #39947
  • [9e782eb758] - doc: remove {C,Dec}ompressionStream documentation (Luigi Pinca) #39899
  • [7857e9cc77] - doc: add descriptions about when options.mode is ignored (Ray) #39881
  • [d43b555047] - doc: remove danbev from TSC member list (Daniel Bevenius) #39978
  • [fc01dd916e] - doc: add missing changes to generateKeyPair(Sync) (Tobias Nießen) #39963
  • [953f2e9f88] - doc: add nodejs/tweet issue creation to sec. doc (Daniel Bevenius) #39940
  • [29c4b07716] - doc: update WASI example to use import.meta.url (Guy Bedford) #39925
  • [9eb4a70c14] - doc: move reference to OpenSSL flags SSL_OP_* (Tobias Nießen) #39935
  • [8ea4befc82] - doc: add docs for duplex.allowHalfOpen property (Tim Perry) #39126
  • [bc2b73ec9b] - doc: add FrankQiu to a triager (FrankQiu) #39922
  • [8b68f8ec38] - doc: add VoltrexMaster to triagers (voltrexmaster) #39920
  • [3a8f77ac0d] - doc: document JavaScript tool for benchmark comparison (Michaël Zasso) #39835
  • [4ac703ca8e] - doc: add Mesteery to triagers (Mestery) #39887
  • [d059a5186b] - doc: update maintaining openssl guide (Richard Lau) #39878
  • [486150580c] - doc: move ERR_WORKER_UNSPPORTED_EXTENSION to legacy (Qingyu Deng) #39788
  • [a4b8c13798] - events: protect property defs against prototype polution (James M Snell) #39773
  • [cfbe9065ae] - events: add brand checks for detached accessors (James M Snell) #39773
  • [112af69194] - fs: add docs and tests for AsyncIterable support in fh.writeFile (Antoine du Hamel) #39836
  • [402071bc45] - meta: remove duplicate AUTHORS entry for NigelKibodeaux (Rich Trott) #39967
  • [3588f07603] - meta: add mailmap entry for Ethan-Arrowood (Rich Trott) #39930
  • [259e0cf4d7] - meta: add mailmap entry for branisha (Rich Trott) #39889
  • [bc236a6714] - meta: update .mailmap to remove duplicate AUTHORS entry for addaleax (Rich Trott) #39880
  • [20da0a5379] - (SEMVER-MINOR) module: support pattern trailers (Guy Bedford) #39635
  • [879dc4658e] - src: remove usage of AllocatedBuffer from src/node_buffer.cc (Darshan Sen) #39941
  • [79ce096470] - src: remove extra semicolons outside fns (Shelley Vohr) #39800
  • [cb44781371] - (SEMVER-MINOR) stream: add stream.compose (Robert Nagy) #39029
  • [ca9b781d20] - test: use assert.match instead of regexp.test (Michaël Zasso) #39928
  • [007e2855af] - test: use error code mapping in place of raw errno (Darshan Sen) #38675
  • [00529b0ef2] - test: add test to verify other extension can be loaded by worker (Qingyu Deng) #39788
  • [4e7212c88c] - test: update error message keywords (leeight) #39826
  • [549d717722] - test: adapt test-fs-read to V8 9.3 (Michaël Zasso) #39469
  • [644b25e068] - test: adapt test-util-inspect to V8 9.3 (Michaël Zasso) #39469
  • [105bff9ea5] - test: adapt test-v8-flags to V8 9.3 (Michaël Zasso) #39469
  • [d92bd9a982] - tools: add support for import assertions in linter (Antoine du Hamel) #39924
  • [9763561e30] - tools: update gyp-next to v0.10.0 (Michaël Zasso) #39857
  • [9f105c73fc] - tools: update V8 gypfiles for 9.3 (Michaël Zasso) #39469
  • [16271d2f50] - worker: remove file extension check (Qingyu Deng) #39788
  • [3b1ce93e03] - worker: add brand checks for detached MessageEvent accessors (James M Snell) #39773

New in Node.js 16.8.0 Current (Aug 27, 2021)

  • Notable Changes:
  • [2e90b10f35] - doc: deprecate type coercion for dns.lookup options (Antoine du Hamel) #38906
  • [a6d50a18a0] - (SEMVER-MINOR) stream: add stream.Duplex.from utility (Robert Nagy) #39519
  • [af7047a815] - (SEMVER-MINOR) stream: add isDisturbed helper (Robert Nagy) #39628
  • [66400374de] - (SEMVER-MINOR) util: expose toUSVString (Robert Nagy) #39814
  • Commits:
  • [90bf247a55] - build: fix update authors commit (Mestery) #39858
  • [c968372e37] - build: add authors.yml (Tierney Cyren) #35831
  • [3f284cf65c] - build: add option to hide console window (Cheng Zhao) #39712
  • [a01e3ab41d] - deps: V8: cherry-pick 00bb1a77c03e (Darshan Sen) #39829
  • [cce95c4c5b] - deps: upgrade npm to 7.21.0 (Myles Borins) #39813
  • [254810a22e] - doc: add duplicate CVE check in sec. release doc (Daniel Bevenius) #39845
  • [8c50d16712] - doc: improve description of the triagers team (Michaël Zasso) #39833
  • [c02165d992] - doc: update instructions for cc (Michael Dawson) #39674
  • [208305fd8f] - doc: move util.toUSVString() outside of deprecated group (Luigi Pinca) #39840
  • [2e90b10f35] - doc: deprecate type coercion for dns.lookup options (Antoine du Hamel) #38906
  • [8460a3216c] - doc: deprecate using non-boolean values in the verbatim option (Antoine du Hamel) #38906
  • [3041d57201] - doc: fix malformed changelog entries (Rich Trott) #39791
  • [2b02f747c3] - doc: fix lint errors in packages.md (Rich Trott) #39792
  • [a387600d8f] - doc: add example of self-reference in scoped packages (Jesús Leganés-Combarro 'piranna) #37630
  • [7a25bf3a6d] - doc: add himadriganguly as a triager (Himadri Ganguly) #39757
  • [d1900f43ce] - fs: combine require() and destructure (Colin Ihrig) #39806
  • [158d4464d2] - meta: add gyp as owner of gyp files and tools/gyp (Mary Marchini) #34847
  • [8fa38500f2] - policy: canonicalize before resolving specifiers (Bradley Farias) #37863
  • [a7a217be13] - repl: fix tla function hoisting (Don Jayamanne) #39745
  • [3a8399ee61] - src: return Maybe from InitializeContextRuntime() (Darshan Sen) #39695
  • [a704c9dfce] - (SEMVER-MINOR) src: call overload ctor from the original ctor (Darshan Sen) #39768
  • [0918ea0683] - (SEMVER-MINOR) src: add a constructor overload for CallbackScope (Darshan Sen) #39768
  • [a6d50a18a0] - (SEMVER-MINOR) stream: duplexify (Robert Nagy) #39519
  • [af7047a815] - (SEMVER-MINOR) stream: add isDisturbed helper (Robert Nagy) #39628
  • [f98311a7c8] - tools: update workflow to open a pull request (Rich Trott) #39825
  • [d33f897509] - tools: use find-inactive-collaborators to modify README.md (Rich Trott) #39825
  • [d82ee96861] - tools: update gyp-next to v0.9.5 (Jiawen Geng) #39818
  • [79079ea01b] - tools: fix markdown linting (Rich Trott) #39832
  • [01093b07cc] - tools: update markdown linter dependencies and move to ESM (Antoine du Hamel) #39801
  • [9dc0c91392] - tools: update rollup to latest version in markdown linter (Rich Trott) #39797
  • [c34e2534ab] - tools: update markdown lint dependencies (Rich Trott) #39770
  • [66400374de] - (SEMVER-MINOR) util: expose toUSVString (Robert Nagy) #39814

New in Node.js 16.7.0 Current (Aug 18, 2021)

  • Notable Changes:
  • fs:
  • experimental: add recursive cp method (Benjamin Coe) #39372
  • Commits:
  • [a80c989306] - async_hooks: merge resource_symbol with owner_symbol (Darshan Sen) #38468
  • [69a2a6b6c3] - bootstrap: call _undestroy() inside _destroy for stdout and stderr (Matteo Collina) #39685
  • [5bc31ea0aa] - buffer: add endings option, remove Node.js specific encoding option (James M Snell) #39708
  • [091a579275] - (SEMVER-MINOR) buffer: add Blob.prototype.stream method and other cleanups (James M Snell) #39693
  • [097d898e58] - build: run coverage for inspector protocol changes (Richard Lau) #39725
  • [cf028df0ed] - build: fix V8 build with pointer compression (Michaël Zasso) #39664
  • [9d38400de1] - build: exclude markdown files from some GitHub Actions (Rich Trott) #39565
  • [eeb804a7b7] - build: use lts shorthand in GitHub Actions (Rich Trott) #39538
  • [93a904d0ba] - (SEMVER-MINOR) crypto: implement webcrypto.randomUUID (Michaël Zasso) #39648
  • [3321b65a5a] - debugger: prevent simultaneous heap snapshots (Rich Trott) #39638
  • [6c375e18b6] - debugger: remove undefined parameter (Rich Trott) #39570
  • [103bf20988] - deps: V8: cherry-pick 81814ed44574 (Stephen Belanger) #39719
  • [cf5e5b5711] - deps: upgrade to libuv 1.42.0 (Luigi Pinca) #39525
  • [5f92d2fe6d] - dgram: use simplified validator (Voltrex) #39753
  • [c7e918b06a] - (SEMVER-MINOR) dns: add "tries" option to Resolve options (Luan Devecchi) #39610
  • [5d66646b71] - doc: correct cjs code to match mjs code (Raz Luvaton) #39509
  • [f18bb2a0f1] - doc: fix typo in hmac.paramNames default (Justin) #39766
  • [338a166e83] - doc: fix fs.rmdir recursive option deprecation history (Antoine du Hamel) #39728
  • [bfb1dc0a2c] - doc: fixed variable names in queueMicrotask example (ashish maurya) #39634
  • [08b31f12f8] - doc: change "Version 4 UUID" to "version 4 UUID" (Tobias Nießen) #39682
  • [f5200f9785] - doc: update debugger.md description and examples (Rich Trott) #39661
  • [4700f1e529] - doc: fix color contrast issue in light mode (Rich Trott) #39660
  • [88c83a4698] - (SEMVER-MINOR) doc: add missing change to resolver ctor (Luan Devecchi) #39610
  • [760cafa5ed] - doc: fix typo in url.md (Howie Zhao) #39666
  • [9ab5503693] - doc: add point to ask H1 reporter about credit (Daniel Bevenius) #39585
  • [7514405456] - doc: update min mac ver + move mac arm64 to tier 1 (Ash Cripps) #39586
  • [d7c8c6dcee] - doc: add missing introduced_in metadata (Richard Lau) #39575
  • [8072517097] - doc: add code examples to Writable.destroy() and Writable.destroyed (Juan José Arboleda) #39491
  • [55f47cc2d0] - doc: add String.prototype.at and %TypedArray%.prototype.at (Jordan Harband) #39583
  • [0c0412e2c4] - doc: move NODE_MODULE_VERSION in release guide (Richard Lau) #39544
  • [5df74f9b21] - doc: remove outdated ARM information from release guide (Richard Lau) #39544
  • [8eccb11ea0] - doc: fence command examples in release guide (Richard Lau) #39544
  • [0bd97e1f2d] - doc: update backport labels in release guide (Richard Lau) #39544
  • [2129ad6a0a] - doc: add code example to fs.truncate method (Juan José Arboleda) #39454
  • [3ff5e153ef] - doc: add code example to http.createServer method (Juan José Arboleda) #39455
  • [7d0c869cfa] - doc: add PerformanceObserver buffered document (legendecas) #39514
  • [0dc167a03f] - (SEMVER-MINOR) fs: add recursive cp method (Benjamin Coe) #39372
  • [54dd3df943] - http: decodes url.username and url.password for authorization header (Lew Gordon) #39310
  • [81e62f67bf] - inspector: update inspector_protocol to 89c4adf (Rich Trott) #39650
  • [793fee4915] - inspector: update inspector_protocol to 8ec18cf (Rich Trott) #39614
  • [5afdc1f4c0] - lib: simplify validators (Voltrex) #39753
  • [ca3cb96d25] - lib: cleanup validation (Voltrex) #39652
  • [cc08d3062f] - lib: cleanup instance validation (Voltrex) #39656
  • [2751cdf6f9] - lib: use helper for readability (Voltrex) #39649
  • [c68415cba2] - lib: use validators (Voltrex) #39663
  • [be2d60dd1d] - lib: use validator (Voltrex) #39547
  • [486d51ac0c] - lib: use validateObject (Voltrex) #39605
  • [058e882a2a] - lib: use ERR_ILLEGAL_CONSTRUCTOR (Mestery) #39556
  • [07cadc4432] - meta: consolidate AUTHORS entries for ooHmartY (Rich Trott) #39705
  • [6c788b8030] - meta: consolidate AUTHORS entries for homosaur (Rich Trott) #39705
  • [07351edebe] - meta: consolidate AUTHORS entries for Ayase-252 (Rich Trott) #39705
  • [5fe282769b] - meta: consolidate AUTHORS entries for robin-drexler (Rich Trott) #39705
  • [fc2a626357] - meta: consolidate AUTHORS entries for samshull (Rich Trott) #39705
  • [67cfc66a47] - meta: update AUTHORS (Rich Trott) #39705
  • [91008fbdeb] - meta: consolidate email addresses for MarshallOfSound (Rich Trott) #39651
  • [a76b63536a] - meta: consolidate email addresses for tadjik1 (Rich Trott) #39651
  • [aaab2095db] - meta: consolidate email addresses for szmarczak (Rich Trott) #39651
  • [f413a9d83c] - meta: update AUTHORS (Rich Trott) #39636
  • [7a91d4bfe9] - meta: simplify mailmap (Rich Trott) #39612
  • [4ec5d2de5d] - meta: consolidate emails for tadhgcreedon (Rich Trott) #39611
  • [bb88c38eac] - meta: consolidate emails for timcosta (Rich Trott) #39611
  • [0920a8cf6f] - meta: consolidate emails for timruffles (Rich Trott) #39611
  • [1474a9d4b1] - meta: update AUTHORS (Rich Trott) #39629
  • [c59e3ec685] - meta: add mailmap entry for ryzokuken (Rich Trott) #39596
  • [34f4bb8277] - meta: add mailmap entry for uttampawar (Rich Trott) #39596
  • [fd213edda2] - meta: add mailmap entry for dmabupt (Rich Trott) #39596
  • [6b664e224b] - meta: align README/.mailmap/AUTHORS email entries (Rich Trott) #39505
  • [96d8ecbd66] - meta: add mailmap entry for garygsc (Rich Trott) #39588
  • [16d85f3f48] - meta: add mailmap entry for ttzztztz (Rich Trott) #39588
  • [60ab111fdb] - meta: update AUTHORS (Rich Trott) #39587
  • [b43f87d729] - meta: update .mailmap to remove duplication in AUTHORS (Rich Trott) #39561
  • [6f4a2aa5a4] - meta: add .mailmap entries to remove AUTHORS duplicates (Rich Trott) #39560
  • [86d144c500] - meta: add .mailmap entry to remove duplication in AUTHORS (Rich Trott) #39559
  • [110c088f02] - meta: update collaborator email in AUTHORS/.mailmap (Rich Trott) #39521
  • [72af147bb5] - meta: update collaborator email in README (Rich Trott) #39521
  • [23bc4cfb21] - meta: update collaborator email in AUTHORS/.mailmap (Rich Trott) #39521
  • [e4289728c7] - meta: move gdams to emeritus (Rich Trott) #39539
  • [4df59bc727] - module: add some typings to internal/modules/esm/resolve (Antoine du Hamel) #39504
  • [b5858589d0] - node-api: handle pending exception in cb wrapper (Michael Dawson) #39476
  • [016b7ba616] - perf_hooks: fix PerformanceObserver gc crash (James M Snell) #39550
  • [b37575b67c] - perf_hooks: fix performance timeline wpt failures (legendecas) #39532
  • [64c02eb3cc] - (SEMVER-MINOR) perf_hooks: web performance timeline compliance (legendecas) #39297
  • [7ff21397d6] - policy: fix integrity when DEFAULT_ENCODING is set (Tobias Nießen) #39750
  • [03be967cad] - src: fix TextDecoder final flush size calculation (James M Snell) #39737
  • [9046e78943] - src: fix crash in AfterGetAddrInfo (Anna Henningsen) #39735
  • [2a00ef5ede] - (SEMVER-MINOR) src: fix align in cares_wrap.h (Luan) #39610
  • [60a2b31c68] - src: add cosmetic space character to async_wrap.h file (Juan José Arboleda) #39459
  • [cd9b0bf68c] - stream: ensure text() stream consumer flushes correctly (James M Snell) #39737
  • [f57a0e4d8b] - (SEMVER-MINOR) stream: utility consumers for web and node.js streams (James M Snell) #39594
  • [975edf5330] - stream: clean endWritableNT (Mestery) #39645
  • [9e38fc6757] - (SEMVER-MINOR) stream: add readableDidRead if has been read from (Robert Nagy) #39589
  • [a5ded4a85a] - test: use simplfied validator (voltrexmaster) #39753
  • [53cf53c95a] - (SEMVER-MINOR) test: enable blob.prototype.stream tests (James M Snell) #39693
  • [7e9884598f] - test: update WPT abort tests (Michaël Zasso) #39697
  • [94381fbdf5] - test: update WPT common and resources (Michaël Zasso) #39697
  • [34a041a846] - test: fix test-debugger-heap-profiler for workers (Richard Lau) #39687
  • [9f5acfa90e] - test: increase memory for coverage action (Benjamin Coe) #39690
  • [0be15cedc4] - test: use template to concatenate string (Himadri Ganguly) #39621
  • [952a5282e2] - (SEMVER-MINOR) test: pull Web Platform Tests for WebCryptoAPI (Michaël Zasso) #39648
  • [3622fb1e03] - test: deflake test-http2-buffersize (Luigi Pinca) #39591
  • [1962c7c7b3] - test: convert anonymous function to arrow function (Himadri Ganguly) #39604
  • [635e1a0274] - test: add test-debugger-breakpoint-exists (Rich Trott) #39570
  • [cff2aea5df] - test: add known issues test for debugger heap snapshot race (Rich Trott) #39557
  • [5e1011238a] - tools: bump remark-preset-lint-node to 3.0.0 (Rich Trott) #39755
  • [eb741253fd] - tools: update path-parse in markdown linter package-lock file (Rich Trott) #39729
  • [52a172f983] - tools: fix more build warnings in inspector_protocol (Richard Lau) #39725
  • [77f9c1fa98] - tools: cherry-pick ffb34b6d5dbf0 (Darshan Sen) #39725
  • [b9510d21c9] - tools: update inspector_protocol to e8ba1a7 (Rich Trott) #39694
  • [8d509d8773] - tools: update inspector_protocol to 39ca567 (Rich Trott) #39694
  • [ee7142fa37] - tools: update inspector_protocol to 97d3146 (Rich Trott) #39694
  • [c6323d847d] - Revert "tools: fix compiler warning in inspector_protocol" (Rich Trott) #39694
  • [6e19c166e4] - tools: update inspector_protocol to a53e96d31a2755eb16ca37 (Rich Trott) #39694
  • [61c53f39d2] - tools: update inspector_protocol to fe0467fd105a (Rich Trott) #39694
  • [b1b6f20353] - tools: improve error detection in find-inactive-collaborators (Rich Trott) #39617
  • [d1360fcf48] - tools: update ESLint to 7.32.0 (Luigi Pinca) #39602
  • [af1c782cad] - tools: update ESLint to 7.31.0 (Colin Ihrig) #39424
  • [37dda19461] - (SEMVER-MINOR) url,buffer: implement URL.createObjectURL (James M Snell) #39693
  • [dcab88ad38] - worker: add brand checks for detached properties/methods (James M Snell) #39763

New in Node.js 16.6.2 Current (Aug 12, 2021)

  • Notable Changes:
  • CVE-2021-3672/CVE-2021-22931: Improper handling of untypical characters in domain names (High)
  • Node.js was vulnerable to Remote Code Execution, XSS, application crashes due to missing input validation of hostnames returned by Domain Name Servers in the Node.js DNS library which can lead to the output of wrong hostnames (leading to Domain Hijacking) and injection vulnerabilities in applications using the library. You can read more about it at https://nvd.nist.gov/vuln/detail/CVE-2021-22931.
  • CVE-2021-22930: Use after free on close http2 on stream canceling (High)
  • Node.js was vulnerable to a use after free attack where an attacker might be able to exploit memory corruption to change process behavior. This release includes a follow-up fix for CVE-2021-22930 as the issue was not completely resolved by the previous fix. You can read more about it at https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-22930.
  • CVE-2021-22939: Incomplete validation of rejectUnauthorized parameter (Low)
  • If the Node.js HTTPS API was used incorrectly and "undefined" was in passed for the "rejectUnauthorized" parameter, no error was returned and connections to servers with an expired certificate would have been accepted. You can read more about it at https://nvd.nist.gov/vuln/detail/CVE-2021-22939.
  • Commits:
  • [054537cdc2] - deps: update c-ares to 1.17.2 (Beth Griggs) #39724
  • [ac544905b6] - deps: reflect c-ares source tree (Beth Griggs) #39653
  • [a914b23cbc] - deps: apply missed updates from c-ares 1.17.1 (Beth Griggs) #39653
  • [31d5773654] - http2: add tests for cancel event while client is paused reading (Akshay K) #39622
  • [a3c33d4ce7] - http2: update handling of rst_stream with error code NGHTTP2_CANCEL (Akshay K) #39622
  • [6c7fff6f1d] - tls: validate "rejectUnauthorized: undefined" (Matteo Collina) nodejs-private/node-private#276

New in Node.js 14.17.5 LTS (Aug 12, 2021)

  • Notable Changes:
  • CVE-2021-3672/CVE-2021-22931: Improper handling of untypical characters in domain names (High)
  • Node.js was vulnerable to Remote Code Execution, XSS, application crashes due to missing input validation of hostnames returned by Domain Name Servers in the Node.js DNS library which can lead to the output of wrong hostnames (leading to Domain Hijacking) and injection vulnerabilities in applications using the library. You can read more about it at https://nvd.nist.gov/vuln/detail/CVE-2021-22931.
  • CVE-2021-22930: Use after free on close http2 on stream canceling (High)
  • Node.js was vulnerable to a use after free attack where an attacker might be able to exploit memory corruption to change process behavior. This release includes a follow-up fix for CVE-2021-22930 as the issue was not completely resolved by the previous fix. You can read more about it at https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-22930.
  • CVE-2021-22939: Incomplete validation of rejectUnauthorized parameter (Low)
  • If the Node.js HTTPS API was used incorrectly and "undefined" was in passed for the "rejectUnauthorized" parameter, no error was returned and connections to servers with an expired certificate would have been accepted. You can read more about it at https://nvd.nist.gov/vuln/detail/CVE-2021-22939.
  • Commits:
  • [4923b59e0b] - deps: update c-ares to 1.17.2 (Beth Griggs) #39724
  • [847a4c6a8a] - deps: reflect c-ares source tree (Beth Griggs) #39653
  • [33208e2f89] - deps: apply missed updates from c-ares 1.17.1 (Beth Griggs) #39653
  • [af5c1af9a4] - http2: add tests for cancel event while client is paused reading (Akshay K) #39622
  • [434872e838] - http2: update handling of rst_stream with error code NGHTTP2_CANCEL (Akshay K) #39622
  • [35b86110e4] - tls: validate "rejectUnauthorized: undefined" (Matteo Collina) nodejs-private/node-private#276

New in Node.js 16.6.1 Current (Aug 4, 2021)

  • Notable Changes:
  • Updated npm to 7.20.3 (npm team) #39579
  • Reverted an ABI-breaking change from V8 9.2 that could impact some native modules (Michaël Zasso) #39624
  • Fixed a bug in error handling known to affect at least Webpack and Jest (Guy Bedford) #39593
  • Commits:
  • [6c769ccedf] - build: override python executable path on configure (legendecas) #39465
  • [cbf6a01c17] - crypto: fix generateKeyPair with encoding 'jwk' (himself65) #39319
  • [3091295609] - deps: revert ABI-breaking change from V8 9.2 (Michaël Zasso) #39624
  • [06d7b8e8c8] - deps: upgrade npm to 7.20.3 (npm team) #39579
  • [7b612fadc2] - doc: fix crypto.hkdf callback derivedKey type (Filip Skokan) #39453
  • [7a731efd97] - doc,lib,test: rename HKDF 'key' argument (Tobias Nießen) #39474
  • [93bbaa0ce9] - module: fix ERR_REQUIRE_ESM error for null frames (Guy Bedford) #39593
  • [e13162de09] - module: refine enrichCJSError (Antoine du Hamel) #39507
  • [815fbec6f1] - repl: do not include legacy getter/setter methods in completion (Anna Henningsen) #39576
  • [0405c8d3f0] - zlib: avoid converting Uint8Array instances to Buffer (Antoine du Hamel) #39492

New in Node.js 16.6.0 Current (Jul 30, 2021)

  • Notable Changes:
  • Say hello to V8 9.2
  • The V8 engine is updated to version 9.2.230.21.
  • It notably introduces the new Array.prototype.at method (also on Typed Arrays and strings).
  • Other notable changes:
  • CVE-2021-22930: Use after free on close http2 on stream canceling (High) - #39423
  • Node.js is vulnerable to a use after free attack where an attacker might be able to exploit the memory corruption, to change process behavior. You can read more about it in https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-22930
  • [f93d2ac587] - inspector: mark as stable (Gireesh Punathil) #37748
  • [89b4770d5c] - punycode: add pending deprecation (Antoine du Hamel) #38444
  • [b67214fe31] - (SEMVER-MINOR) repl: enable --experimental-repl-await /w opt-out (hemanth.hm) #34733
  • Commits:
  • [b5248d4000] - async_hooks: emit promise trace events from JS (Stephen Belanger) #39135
  • [e18778d409] - async_hooks: eliminate native PromiseHook (Stephen Belanger) #39135
  • [90b9bb1a7d] - build: use Node.js 14 in commit-lint.yml (Rich Trott) #39506
  • [5182e26f14] - build: reset embedder string to "-node.0" (Michaël Zasso) #39470
  • [e1910ef290] - build: fix host_arch_cc() for AIX/IBM i (Richard Lau) #39481
  • [ce2011b7a1] - build: update coverage Makefile target comments (Richard Lau) #39365
  • [6b055f17b6] - build: run workflows when a PR is ready for review (Michaël Zasso) #39405
  • [25f45d5018] - build: update to setup-node@v2 (Rich Trott) #39366
  • [a7472576d7] - build: add library_files to gyp variables (himself65) #39293
  • [d16d36f1c2] - crypto: support Big(U)Int64Array in getRandomValues (Michaël Zasso) #39443
  • [95db54482a] - debugger: validate sec-websocket-accept response header (Chris Opperwall) #39357
  • [3751b92fa2] - debugger: rename internal module (Rich Trott) #39378
  • [0e5eb8b17d] - deps: restore minimum ICU version to 68 (Michaël Zasso) #39470
  • [e8da1f25fb] - (SEMVER-MINOR) deps: make V8 9.2 abi-compatible with 9.0 (Michaël Zasso) #39470
  • [a93e6ef777] - deps: V8: backport 5c76da8ddcf8 (Michaël Zasso) #39337
  • [d612544199] - deps: V8: cherry-pick 359d44df4cdd (Michaël Zasso) #39337
  • [c6ec2b4817] - deps: V8: cherry-pick 3805a698f7b6 (Michaël Zasso) #39337
  • [e6b84dfe84] - deps: V8: cherry-pick 56fe020eec0c (Michaël Zasso) #39337
  • [2393fae427] - deps: V8: cherry-pick 2b77ca200c56 (Michaël Zasso) #39337
  • [c8e7d80475] - deps: V8: cherry-pick 53784bdb8f01 (Michaël Zasso) #39337
  • [65062b3e0d] - deps: V8: cherry-pick 7ff6609a5385 (Michaël Zasso) #38990
  • [c3efc70df7] - deps: V8: cherry-pick a5cea1bfc38c (Michaël Zasso) #38990
  • [201da87bc1] - deps: V8: cherry-pick 986299250e6d (Richard Lau) #38990
  • [794ad2e016] - deps: V8: backport 71e8f8bb3c26 (Michaël Zasso) #38990
  • [53cc6c8000] - deps: V8: cherry-pick 3d24b3ab8af0 (Michaël Zasso) #38990
  • [7f7cb8bfe1] - deps: silence irrelevant V8 warning (Michaël Zasso) #38990
  • [16cbd8c8b6] - deps: silence irrelevant V8 warnings (Michaël Zasso) #37587
  • [98150e2bc6] - deps: fix V8 build issue with inline methods (Jiawen Geng) #35415
  • [3f3e167fea] - deps: make v8.h compatible with VS2015 (Joao Reis) #32116
  • [785b8990de] - deps: V8: forward declaration of Rtl*FunctionTable (Refael Ackermann) #32116
  • [38cb655f04] - deps: V8: patch register-arm64.h (Refael Ackermann) #32116
  • [9082ecef66] - deps: V8: un-cherry-pick bd019bd (Refael Ackermann) #32116
  • [6114198717] - (SEMVER-MINOR) deps: update V8 to 9.2.230.21 (Michaël Zasso) #39470
  • [89796d0c7f] - deps: bump HdrHistogram_C to 0.11.2 (Matteo Collina) #39462
  • [9dd232c42b] - deps: update to [email protected] (Guy Bedford) #39402
  • [626eb07fda] - deps: extract gtest source files to deps/googletest (legendecas) #39386
  • [487c45ffd9] - doc: move [email protected] to emeritus (Lance Ball) #39501
  • [5f84f47e13] - doc: update AUTHORS (Rich Trott) #39488
  • [1d27ae1514] - doc: update strategic initiative champion (Rich Trott) #39487
  • [e552b1a791] - doc: improve node.js+fips instructions (Benjamin Mayr) #39390
  • [aa1dfb3111] - doc: simplify unnecessarily specific .mailmap entries (Rich Trott) #39430
  • [ae69656c61] - doc: update checkbox label in backporting guide (Darshan Sen) #39420
  • [4fd8db687d] - doc: remove _Addenda_ from headers (Rich Trott) #39427
  • [cefd2fb1e4] - doc: simplify .mailmap file (Rich Trott) #39418
  • [ade2eed9a6] - doc: fix broken internal link in http.md (Rich Trott) #39425
  • [5fdfcc069f] - doc: remove outdated step in onboarding exercise (Rich Trott) #39410
  • [94706c7012] - doc: revise strategic initiatives text (Rich Trott) #39417
  • [9932e3589c] - doc: remove typo (extra ' character) (Nikita Rykov) #39414
  • [2b92b4ea2d] - doc: update mailmap and AUTHORS (Rich Trott) #39393
  • [6d6396594b] - doc: use a details tag for completed initiatves (Rich Trott) #39416
  • [ac43e3331c] - doc: update commit-queue.md to indicate GitHub Actions are checked (Rich Trott) #39411
  • [75130c94d1] - doc: use _pull request_ instead of _PR_ in onboarding doc (Rich Trott) #39409
  • [20bb3f6df0] - doc: add strategic initiatives from TSC repo (Rich Trott) #39394
  • [6979313abb] - doc: standardize on _pull request_ (Rich Trott) #39384
  • [20124cc275] - doc: make minor edits to pull request text (Rich Trott) #39383
  • [11482f02cf] - doc: add docker-node and build-wg issue contents (Daniel Bevenius) #39215
  • [c535956b6e] - doc: add instructions for core vuln files (Daniel Bevenius) #39220
  • [353a8bb27b] - doc: standardize on not capitalizing _collaborator_ (Rich Trott) #39379
  • [9b15e5c155] - doc: update mailmap and deduplicate AUTHORS entry (Rich Trott) #39391
  • [e44ccd9aad] - doc: update AUTHORS (Rich Trott) #39367
  • [39e6536a87] - doc: move jdalton to emeritus (Rich Trott) #39380
  • [bbff5a9e47] - doc: edit guide on pull requests (Rich Trott) #39359
  • [902ef9aca0] - doc,meta: update email addresses for misterdjules (Rich Trott) #39433
  • [cc7b61721c] - doc,tools: remove checkLinks.mjs (Antoine du Hamel) #39206
  • [e2fd015cda] - domain: do not add domain to promise from other context (Stephen Belanger) #39135
  • [93eff3f5a6] - esm: refine ERR_REQUIRE_ESM errors (Guy Bedford) #39175
  • [1fb0954202] - events: allow an event to be dispatched multiple times (Luigi Pinca) #39395
  • [6f2989c346] - events: allow the options argument to be null (Luigi Pinca) #39486
  • [72ad6d3f27] - fs: check closing_ in FileHandle::Close (James M Snell) #39472
  • [8b58e574ba] - fs: fix FileHandle::ClosePromise to return persisted Promise (James M Snell) #39331
  • [9d950a0956] - http2: on receiving rst_stream with cancel code add it to pending list (Akshay K) #39423
  • [19e9accf91] - inspector: mark as stable (Gireesh Punathil) #37748
  • [e4331cd43d] - lib: comment explaining special-case handling of promises (Stephen Belanger) #39135
  • [0a47f5fc54] - meta: update collaborator email in README (Rich Trott) #39510
  • [65020110e8] - meta: remove unneeded .mailmap entry (Rich Trott) #39512
  • [864ef11be8] - meta: update email address for collaborator (Rich Trott) #39511
  • [d3f58cb650] - meta: align collaborator name in .mailmap/AUTHORS with README (Rich Trott) #39489
  • [5f9b2187a1] - meta: align email address in README/.mailmap/AUTHORS (Rich Trott) #39503
  • [9fbe3f6b49] - meta: revise .mailmap for README consistency (Rich Trott) #39457
  • [f6fbb38924] - meta: alphabetize .mailmap file (Rich Trott) #39434
  • [dc9c6aa428] - meta: align collaborator email in .mailmap/AUTHORS with README (Rich Trott) #39478
  • [febeb0df16] - meta: update AUTHORS (Rich Trott) #39461
  • [d059ed9242] - meta: add .mailmap entry for new email for existing contributor (Rich Trott) #39431
  • [cdf7251370] - process: add api to enable source-maps programmatically (legendecas) #39085
  • [eccc9a6578] - punycode: add pending deprecation (Antoine du Hamel) #38444
  • [a082a705b3] - (SEMVER-MINOR) repl: enable --experimental-repl-await /w opt-out (hemanth.hm) #34733
  • [b230ac12d9] - src: stop using deprecated v8::ApiObject (Michaël Zasso) #38990
  • [929205e6b9] - src: use non-deprecated Symbol::Description (Michaël Zasso) #38990
  • [42ff6d952a] - src: print native module id on native module not found (legendecas) #39460
  • [f0287e52aa] - src: close HandleWraps instead of deleting them in OnGCCollect() (Anna Henningsen) #39441
  • [2cf52f8db1] - src: set SSL_OP_ALLOW_CLIENT_RENEGOTIATION (Daniel Bevenius) #38753
  • [fc138376aa] - src: remove unused guards around node-api reference (legendecas) #38334
  • [26ada4971c] - stream: import internal/util/types instead (James M Snell) #39331
  • [e91053a465] - stream: implement TextEncoderStream and TextDecoderStream (James M Snell) #39347
  • [efe74746f0] - stream: fixup property definition to avoid prototype polution (James M Snell) #39371
  • [4709da0372] - test: ensure microtask queues are not automatically drained (Jochen Eisinger) #38990
  • [86ca9a8a80] - test: remove test-debug-args (Michaël Zasso) #38990
  • [bbcd651cfd] - test: update trace events test expectations (Michaël Zasso) #38990
  • [039f64f249] - test: fix WASI link test (Richard Lau) #39485
  • [b1d38ddc8a] - test: update OpenSSL3 error messages for beta-1 (Daniel Bevenius) #39437
  • [db4f802fba] - Revert "test: skip tests for openssl-3.0.0-alpha15" (Daniel Bevenius) #39437
  • [a30d021b94] - test: add test for WebSocket secret verification in debugger (Rich Trott) #39357
  • [04355afd24] - test: add NumberFormat resolvedOptions test (Richard Lau) #39401
  • [d0fb02c26a] - test: put common lint exceptions into config file (Rich Trott) #39358
  • [259d091366] - test: mark test-domain-error-types flaky (James M Snell) #39369
  • [5517769472] - tools: fetch googletest dependency for V8 CI (Michaël Zasso) #38990
  • [5fe74aa403] - tools: update V8 gypfiles for 9.2 (Michaël Zasso) #38990
  • [e58cf4e44c] - tools: flag README/mailmap mismatches in find-inactive-collaborators (Rich Trott) #39477
  • [0a46e66253] - tools: use mailmap for find-inactive-collaborators (Rich Trott) #39432
  • [7570f998df] - tools: email matchin is case insensitive for .mailmap (Rich Trott) #39430
  • [5c11a0279d] - tools: make internal link checker more robust (Rich Trott) #39429
  • [4c32aa02db] - tools: added remark-frontmatter (Ben Halverson) #38717
  • [c6a7c3d00d] - tools: fix broken link hash (Rich Trott) #39426
  • [0f1d51578e] - tools: change commit fetch limiting in find-inactive-collaborators (Rich Trott) #39362
  • [e5d64473e8] - tools: use Node.js 16.x for GitHub workflow (Rich Trott) #39362
  • [68fd6d5282] - url: prevent pathname setter from erasing path of path-only URLs (Darshan Sen) #39060

New in Node.js 14.17.4 LTS (Jul 30, 2021)

  • Notable Changes:
  • CVE-2021-22930: Use after free on close http2 on stream canceling (High)
  • Node.js is vulnerable to a use after free attack where an attacker might be able to exploit the memory corruption, to change process behavior. You can read more about it in https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-22930
  • This releases also fixes some regressions with internationalization introduced by the ICU updates in Node.js 14.17.0 and 14.17.1.
  • Commits:
  • [86477b2b53] - benchmark: output JSON-compatible numbers (Michaël Zasso) #38778
  • [f9693cf0a0] - benchmark: fix http elapsed time (Antoine du Hamel) #38743
  • [1ab4f81abc] - build: fix building with external builtins (Momtchil Momtchev) #39091
  • [a657f250f1] - build: reconfigure when gyp files change on Windows (Joyee Cheung) #39066
  • [6962c647d6] - Revert "build: work around bug in MSBuild v16.10.0" (Michaël Zasso) #38977
  • [069cf59e56] - build: make build-addons errors fail the build (Richard Lau) #38983
  • [d341561ae0] - build: fix commit-queue default branch (Mary Marchini) #38998
  • [0736dd833a] - build: don't pass python override to V8 build (Richard Lau) #38969
  • [49a000683a] - build: correct Xcode spelling in .gitignore (bl-ue) #38895
  • [1ffbe3d5da] - build: remove outdated dont-land-on-v6.x label (Michaël Zasso) #38886
  • [7f53a0b349] - build: add lto build to CI (Jiawen Geng) #38567
  • [a6f8ba8f0c] - build: allow LTO with Clang 3.9.1+ (Jesse Chan) #38751
  • [b5b1d1fb79] - build: replace non-POSIX test -a|o (Issam E. Maghni) #38731
  • [fc2b1ec308] - child_process: refactor to use validateBoolean (Qingyu Deng) #38927
  • [55ea29eedd] - child_process: retain reference to data with advanced serialization (Anna Henningsen) #38728
  • [716ee1531c] - debugger: rename internal library for clarity (Rich Trott) #39080
  • [b7ee9d8287] - debugger: use ERR_DEBUGGER_STARTUP_ERROR in _inspect.js (Rich Trott) #39024
  • [5d4d23dcf3] - debugger: use error codes in debugger REPL (Rich Trott) #39024
  • [a3991d7c18] - debugger: use ERR_DEBUGGER_ERROR in debugger client (Rich Trott) #39024
  • [052e1c5385] - debugger: removed unused function argument (Rich Trott) #38850
  • [f9a4dcb30c] - debugger: refactor inspect_repl to use primordials (Antoine du Hamel) #38551
  • [ad8056659f] - debugger: refactor to use internal modules (Antoine du Hamel) #38550
  • [b5724a1984] - debugger: disable only the lint rules required by current file state (Rich Trott) #38529
  • [34659f2b7a] - debugger: avoid non-ASCII char in code file (Rich Trott) #38529
  • [ae90756582] - debugger: wrap lines longer than 80 chars (Rich Trott) #38529
  • [b30ff35a36] - debugger: align message with Node.js standard (Rich Trott) #38400
  • [d74d67f207] - debugger: remove unnecessary boilerplate copyright comment (Rich Trott) #38952
  • [e58f938ab3] - debugger: enable linter on internal/inspector/inspect_client (Antoine du Hamel) #38417
  • [249acd5e69] - debugger: reduce scope of eslint disable comment (Rich Trott) #38946
  • [0ef5e088c0] - debugger: revise async iterator usage to comply with lint rules (Rich Trott) #38847
  • [79bfb0416b] - debugger: wait for V8 debugger to be enabled (Michaël Zasso) #38811
  • [721edeffd3] - debugger: refactor internal/inspector/_inspect to use more primordials (Antoine du Hamel) #38406
  • [21ecee1b4b] - debugger: add usage example for --port (Rafael Gonzaga) #38400
  • [cde72213d1] - Revert "debugger: rename internal library for clarity" (Antoine du Hamel) #39446
  • [4c2b813799] - debugger: rename internal library for clarity (Rich Trott) #39080
  • [61da371251] - debugger: apply automatic lint fixes for inspect_repl.js (Rich Trott) #38411
  • [8dd1f70fe3] - debugger: apply automatic lint fixes for _inspect.js (Rich Trott) #38411
  • [fb0ab4c034] - debugger: removed unused function argument (Rich Trott) #38850
  • [9e28c6c946] - debugger: fix race condition/deadlock on initialization (Rich Trott) #38161
  • [a8924fa0fb] - debugger: replace internal use of deprecated API (Rich Trott) #38161
  • [22afb7cbe6] - debugger: allow longer time to connect (Rich Trott) #38161
  • [b172e6f436] - debugger: accommodate line chunking in Windows (Rich Trott) #38161
  • [1da692185a] - debugger: fix inspect restart on Windows (Rich Trott) #38161
  • [0321c5b194] - debugger: remove unused code (Rich Trott) #38161
  • [8bd2a3926a] - debugger: move node-inspect to internal library (Rich Trott) #38161
  • [acf5279c39] - deps: upgrade npm to 6.14.14 (Darcy Clarke) #39553
  • [4efefe02a8] - deps: V8: backport ae7bfb3f03b3 (Michaël Zasso) #39051
  • [5039f21396] - deps: V8: backport 16ffec97e5eb (Michaël Zasso) #39051
  • [9b69069f71] - deps: V8: cherry-pick b0a7f5691113 (Michaël Zasso) #39051
  • [4213e97d26] - deps: V8: cherry-pick 81181a8ad80a (thomasmichaelwallace) #39187
  • [ccecea5f72] - deps: restore minimum ICU version to 65 (Richard Lau) #39068
  • [7557e74cf4] - deps: V8: update build dependencies (Michaël Zasso) #39244
  • [a60a960406] - deps: V8: cherry-pick 895949419186 (Michaël Zasso) #39244
  • [7fdd6ecbb4] - deps: V8: cherry-pick 0b3a4ecf7083 (Michaël Zasso) #39244
  • [4be2e878b7] - deps: V8: cherry-pick 7c182bd65f42 (Michaël Zasso) #39244
  • [a83b01a4af] - deps: V8: cherry-pick 92e6d3317082 (Michaël Zasso) #39244
  • [17eb561184] - deps: V8: backport 1b1eda0876aa (Michaël Zasso) #39244
  • [04032fa1a3] - doc: remove references to deleted freenode channels (devsnek) #39047
  • [797bd73849] - doc: add missing parameter types (Voltrex) #39013
  • [e474e984e5] - doc: clarify that only one Python version is required to build (bl-ue) #38894
  • [cd48ee71d9] - doc: fixed typo in process.md (Derevianchenko Maksym) #38941
  • [41fcbad2b2] - doc: add missing semis after classes (Darshan Sen) #38931
  • [b40529643b] - doc: mark util.inherits as legacy (Voltrex) #38896
  • [b2d836b1ea] - doc: clarify when readable._read(...) is called (Shaun Keys) #38726
  • [e36d2a6d6a] - doc: fixed typo in n-api.md (julianjany) #38822
  • [b4f60bb523] - doc: use "Long Term Support" in collaborator guide (Rich Trott) #38841
  • [7a9850a5fb] - doc: use "Long Term Support" in technical values doc (Rich Trott) #38841
  • [dfe9698db0] - doc: use "Long Term Support" in README (Philip) #38839
  • [8699e622fc] - doc: fix grammar in fs.md (yotamselementor) #38818
  • [826ae9b2e2] - doc: fixup code sample in http.md (TodorTotev) #38776
  • [8049b69b7f] - doc: document null target pattern (Guy Bedford) #38724
  • [4d9129eb71] - doc: update code examples for node:url module (fisker Cheung) #38645
  • [2ff671e4c4] - doc,url: clarify domainTo* when built without ICU (Darshan Sen) #38789
  • [9b993edca8] - errors: add ERR_DEBUGGER_STARTUP_ERROR (Rich Trott) #39024
  • [cfccf13e84] - errors: add ERR_DEBUGGER_ERROR (Rich Trott) #39024
  • [bb9a9adc2b] - errors: don't rekey on primitive type (Benjamin Coe) #39025
  • [d48b91ea2b] - http2: on receiving rst_stream with cancel code add it to pending list (Akshay K) #39423
  • [d8cc2fffd6] - lib: add primordials.SafeArrayIterator (Antoine du Hamel) #36532
  • [e3223edb89] - lib: harden lint checks for globals (Antoine du Hamel) #38419
  • [d4f96bb926] - lib: enforce using primordials.globalThis instead of global (Antoine du Hamel) #38230
  • [ea9003a559] - lib: add globalThis to primordials (Antoine du Hamel) #38211
  • [097a7874d3] - lib: remove semicolon in preparation for babel/eslint-parser update (Rich Trott) #39094
  • [199fe32cbc] - lib: make internal/options lazy (Joyee Cheung) #38993
  • [2bc2a232af] - lib: add JSDoc typings for child_process (Voltrex) #38222
  • [b0a1984d4d] - lib: fix typos (bl-ue) #38846
  • [6c061d5f2c] - meta: update label-pr-config (Michaël Zasso) #38950
  • [afb61786b9] - module: fix legacy node specifier resolution to resolve "main" field (Antoine du Hamel) #38979
  • [cd3305a9e4] - node-api: avoid SecondPassCallback crash (Michael Dawson) #38899
  • [e7f266e93d] - src: use SPrintF in ProcessEmitWarning (Darshan Sen) #38758
  • [43fe6c1d27] - src: cleanup uv_fs_t regardless of success or not (legendecas) #38996
  • [dcfb182546] - src: refactor to use locale functions (Darshan Sen) #39014
  • [bee477b000] - src: throw error in LoadBuiltinModuleSource when reading fails (Joyee Cheung) #38904
  • [ff7cc8f9ef] - src: add not-weak DCHECK to PersistentToLocal::Strong (Anna Henningsen) #38875
  • [981217e48a] - src: replace autos in node_api.cc (Khaidi Chu) #38852
  • [73e199d963] - src: fix typos (bl-ue) #38845
  • [2d32031724] - src: use HandleScope in StreamReq::Done() (Darshan Sen) #38720
  • [2c11d3ec0a] - src: remove commented code in node_file.cc (Juan José Arboleda) #38693
  • [846a138f54] - src: write named pipe info in diagnostic report (legendecas) #38637
  • [7d82200861] - src: replace autos in node_contextify.cc (Khaidi Chu) #38644
  • [51da7d2048] - src,url: separate some tables out of node_url.cc (Khaidi Chu) #38988
  • [45c2ea3b72] - test: add NumberFormat resolvedOptions test (Richard Lau) #39401
  • [6b2fea38d1] - test: move inspector-cli tests to sequential (Rich Trott) #39079
  • [6447cab7be] - test: improve buffer coverage (Rongjian Zhang) #38538
  • [6f1862eab3] - test: fix name of variable in inspector-cli test (Tobias Nießen) #38869
  • [40093504bc] - test: fix typo (Houssem Chebab) #39045
  • [ab28f9b9a1] - test: remove obsolete TLS test (Rich Trott) #39001
  • [b3b59953fe] - test: improve coverage of lib/events.js (Rongjian Zhang) #38582
  • [c99a09f05f] - test: http outgoing _headers setter null (ycjcl868) #38881
  • [660a97b1d5] - test: suppress warning in test_environment.cc (Daniel Bevenius) #38868
  • [0cca16ac4c] - test: improve coverage of fs internal utils (Rongjian Zhang) #38746
  • [fecad40f27] - test: fix writefile with fd (Nitzan Uziely) #38820
  • [01f00faaa8] - test: simplify test-path-resolve.js (himself65) #38671
  • [504bfd7a88] - test: improve coverage for question in readline (Qingyu Deng) #38799
  • [eb91932e77] - test: os, replace custom flatten method with built-in Array.flat (Wael Almattar) #38770
  • [aeea252b96] - test: improve coverage of lib/_http_outgoing.js (Rongjian Zhang) #38734
  • [e265d8ee1b] - test: give js-native-api tests consistent names (Gabriel Schulhof) #38692
  • [99fd8bfc6a] - test: fix flaky inspector-cli tests when breakpionts are restored (Rich Trott) #38431
  • [4d3a1fad28] - test: extend timeout on debugger tests for slower machines (Rich Trott) #38161
  • [dd2642b5db] - test: fix comment typo (Rich Trott) #38161
  • [193ea8fd91] - test: fix test-inspector-cli-address (Rich Trott) #38161
  • [a62826bbe6] - test,debugger: migrate node-inspect tests to core (Rich Trott) #38161
  • [ab45ace9bd] - tools: update babel-eslint-parser to 7.14.5 (Rich Trott) #39094
  • [b8e63b3c08] - tools: update ESLint to 7.29.0 (Rich Trott) #39083
  • [54a250e79c] - tools: update doctool dependencies, migrate to ESM (Michaël Zasso) #38966
  • [443db64eed] - tools: avoid crashing CQ when git push fails (Antoine du Hamel) #36861
  • [547f88b149] - tools: fix typo in commit-queue.sh (bl-ue) #39000
  • [1023433a81] - tools: update ESLint to 7.28.0 (Luigi Pinca) #38955
  • [9b4ae8fbb0] - tools: bump remark-preset-lint-node to 2.3.0 (Rich Trott) #38910
  • [2ad0719e86] - tools: refloat 7 Node.js patches to cpplint.py (Rich Trott) #38851
  • [b7686d0c1e] - tools: bump cpplint to 1.5.5 (Rich Trott) #38851
  • [2ec7c9de57] - tools: remove exception for Node.js 8 and earlier (Rich Trott) #38840
  • [1dc71da302] - tools: update setup-node to setup-node@v2 (pengjie) #38825
  • [fc219d862c] - tools: remove node-inspect from license (Rich Trott) #38161
  • [4bb0bd0f0e] - tools,doc: forbid CJS globals in ESM code snippets (Antoine du Hamel) #38889
  • [58154ce426] - typings: add JSDoc typings for https (Voltrex) #38589
  • [6ea1368a67] - typings: add JSDoc typings for events (Voltrex) #38712
  • [b6942a6138] - url,src: simplify ipv6 logic by using uv_inet_pton (Khaidi Chu) #38842
  • [dd00547ada] - vm: use missing validator (Voltrex) #38935
  • [2c28e00685] - worker: do not look up context twice in PostMessage (Anna Henningsen) #38784

New in Node.js 16.5.0 Current (Jul 14, 2021)

  • Notable Changes:
  • Experimental Web Streams API:
  • Node.js now exposes an experimental implementation of the Web Streams API.
  • While it is experimental, the API is not exposed on the global object and is only accessible using the new stream/web core module: import { ReadableStream, WritableStream } from 'stream/web'; // Or from 'node:stream/web'
  • Importing the module will emit a single experimental warning per process.
  • The raw API is implemented and we are now working on its integration with various existing core APIs.
  • Contributed by James M Snell - #39062
  • Other notable changes:
  • [83f3b959f9] - (SEMVER-MINOR) fs: allow empty string for temp directory prefix (Voltrex) #39028
  • [c04fd2bb97] - deps: upgrade npm to 7.19.1 (npm team) #39225
  • Commits
  • [aafa08d7b9] - bootstrap: load perf_hooks eagerly during bootstrap (Joyee Cheung) #38971
  • [6e46eb186c] - bootstrap: support perf hooks in snapshot (Joyee Cheung) #38971
  • [10681828ac] - build: update gcovr for gcc 8 compatibility (Richard Lau) #39326
  • [8381132f76] - build: add riscv into host_arch_cc (Lu Yahan) #39004
  • [a7ba21864d] - build: restore libplatform headers in distribution (Jeroen Ooms) #39288
  • [41161eabf2] - build: remove unused comment in Makefile (LitoMore) #39171
  • [f6a1092471] - build: allow to build riscv64 using Makefile (Makoto Kato) #39048
  • [a7cd40ed8d] - build: uvwasi honours node_shared_libuv (Jérémy Lal) #39260
  • [3ed04994b7] - build: shorten path used in tarball build workflow (Richard Lau) #39192
  • [65b56b3774] - build: fix building with external builtins (Momtchil Momtchev) #39091
  • [412b1012d2] - build: pass directory instead of list of files to js2c.py (Joyee Cheung) #39069
  • [171ca6bb3c] - build: don't pass --mode argument to V8 test-runner (Richard Lau) #39055
  • [cf8536ea3f] - build: fix commit linter on unrebased PRs (Mary Marchini) #39121
  • [cf0533b8b2] - build: use Actions to validate commit message (Mary Marchini) #32417
  • [4202274851] - crypto: move OPENSSL_IS_BORINGSSL guard (Shelley Vohr) #39136
  • [89f5a73ba5] - crypto: use compatible ecdh function (Shelley Vohr) #39054
  • [30e878b603] - crypto: add OPENSSL_IS_BORINGSSL guard (Shelley Vohr) #39138
  • [630266cba2] - debugger: indicate server is ending (Rich Trott) #39334
  • [48d9680f84] - debugger: remove final lint exceptions in inspect_repl.js (Rich Trott) #39078
  • [4507714f9d] - deps: V8: backport 5c76da8ddcf8 (Michaël Zasso) #39337
  • [0e64bd0dd6] - deps: V8: cherry-pick 359d44df4cdd (Michaël Zasso) #39337
  • [142ce6838b] - deps: V8: cherry-pick 3805a698f7b6 (Michaël Zasso) #39337
  • [2657c305cb] - deps: V8: cherry-pick 56fe020eec0c (Michaël Zasso) #39337
  • [5c5a93e533] - deps: V8: cherry-pick 2b77ca200c56 (Michaël Zasso) #39337
  • [cf49ebb052] - deps: V8: cherry-pick 53784bdb8f01 (Michaël Zasso) #39337
  • [3d351b29c1] - deps: V8: cherry-pick cb4faa902e9f (Michaël Zasso) #39337
  • [165130a3e0] - deps: patch V8 to 9.1.269.38 (Michaël Zasso) #39196
  • [c04fd2bb97] - deps: upgrade npm to 7.19.1 (npm team) #39225
  • [bf4c50f9d9] - deps: upgrade npm to 7.19.0 (npm team) #39148
  • [8630b39376] - deps: update Acorn to v8.4.1 (Michaël Zasso) #39166
  • [38ae4077c7] - doc: fix typos in Web Streams API documentation (Tobias Nießen) #39351
  • [fb6616ecbb] - doc: add text about moving long commit lists out of PR description (Danielle Adams) #39186
  • [29c9cc8f03] - doc: do not use & for "and" in text (Rich Trott) #39345
  • [0b3b2695bc] - doc: do not use tilde for "about" or "approximately" (Rich Trott) #39344
  • [64a185e595] - doc: use consistent abbreviation formatting (Rich Trott) #39343
  • [2573bf5116] - doc: update AUTHORS (Rich Trott) #39277
  • [63b6084724] - doc: put information about the past in details tags (Rich Trott) #39321
  • [e26635085a] - doc: replace outdated util.promisify timer examples with references (foxxyz) #39164
  • [d101a85e36] - doc: move AndreasMadsen to emeritus (Rich Trott) #39315
  • [2d552a32d6] - doc: move ofrobots to collaborator emeritus (Rich Trott) #39307
  • [131d676f64] - doc: simplify CRAN mirror text in benchmark guide (Rich Trott) #39287
  • [c92b80e631] - doc: use "repository" instead of "repo" in onboarding.md (Rich Trott) #39286
  • [81df9b1e92] - doc: update collaborator email address (Rich Trott) #39263
  • [b8860f35c9] - doc: remove GitHub mark (Rich Trott) #39251
  • [f06ebf1775] - doc: remove emailing the TSC from offboarding doc (Rich Trott) #39280
  • [175a6569f4] - doc: add annotation to writeFile data as Object (Jacob) #39167
  • [4d53c63c22] - doc: fix boldface punctuation for full sentences (Rich Trott) #39278
  • [146f733f43] - doc: fix constants usage in fs.access example (Cyrille Bourgois) #39289
  • [eacee0ab17] - doc: use "repository" in guides versus repo (Michael Dawson) #39198
  • [04bcfcfff1] - doc: update Node-api version matrix (Michael Dawson) #39197
  • [4dd6ab389a] - doc: remove onboarding-extras (Rich Trott) #39252
  • [a01dacfdcd] - doc: move Sam Ruby to emeritus (Rich Trott) #39264
  • [2bb3713b74] - doc: update AUTHORS file (Rich Trott) #39250
  • [2227c1368f] - doc: fix color contrast for anchor marks in dark mode (Rich Trott) #39168
  • [f8cdaad9d4] - doc: rename datatypes to data types (FrankEntriken) #39209
  • [250024eaec] - doc: normalize CSS variable names and indentation (Rich Trott) #39199
  • [db74a35348] - doc: remove unnecessary module format comments (Rich Trott) #39219
  • [24a1f7ec84] - doc: use more consistent formatting for deprecations (Rich Trott) #39218
  • [24c0d7d872] - doc: update AUTHORS (Rich Trott) #39217
  • [3e5ed72b0a] - doc: use "pull request" instead of "PR" in packages.md (Rich Trott) #39213
  • [ddc24b2105] - doc: move v8.stopCoverage() to expected location in doc (Rich Trott) #39212
  • [68c334c8c9] - doc: move vm.measureMemory() to expected location in doc (Rich Trott) #39211
  • [81d52d7c79] - doc: fix CHANGELOG.md formatting (Richard Lau) #39223
  • [9c3a5fd53e] - doc: add cc [email protected] (Daniel Bevenius) #39191
  • [07ba2875ae] - doc: remove instructions for unsupported Node.js versions (Rich Trott) #39185
  • [482851f647] - doc: remove obsolete cc recommendations (Rich Trott) #39181
  • [8311b29083] - doc: use "repository" in maintaining-V8 doc (Rich Trott) #39179
  • [952580e1bf] - doc: fix broken link in errors.md (Rich Trott) #39200
  • [af1e1dba36] - doc: correct JavaScript primitive value names in n-api.md (legendecas) #39129
  • [00728d1301] - doc: apply logical ordering to CSS variables (Rich Trott) #39169
  • [aec2744e14] - doc: remove file name from self-reference links (Antoine du Hamel) #39165
  • [74bb915178] - doc: use repository instead of repo (Rich Trott) #39157
  • [a669a191a1] - doc: use ASCII order for md refs (Antoine du Hamel) #39170
  • [21e8720155] - doc: fix EventTarget.dispatchEvent docs (Rohan Sharma) #39127
  • [90ec7660bc] - doc: update AUTHORS file (Rich Trott) #39082
  • [81cebec5cc] - doc: esm examples /w imports for process, Buffer (Guy Bedford) #39043
  • [c1588887a6] - doc: fix napi_default_property name (Davidson Francis) #39104
  • [a440f6c69c] - doc: fix dead links in packages.md (Michaël Zasso) #39113
  • [33cad271c5] - errors: remove eager stack generation for node errors (Gus Caplan) #39182
  • [ac05a0a8a3] - errors: don't throw TypeError on missing export (Benjamin Coe) #39017
  • [83f3b959f9] - (SEMVER-MINOR) fs: allow empty string for temp directory prefix (Voltrex) #39028
  • [ac7184d8c7] - http: clean up HttpParser correctly (Tobias Koppers) #39292
  • [35331cbd13] - http,https: align server option of https with http (Qingyu Deng) #38992
  • [29194d4f88] - inspector: move inspector async hooks to environment (Joyee Cheung) #39112
  • [ecf627a9af] - lib: rename TransferedReadableStream etc (Tobias Nießen) #39352
  • [0e55cb72df] - lib: make lazyDOMException more common (Khaidi Chu) #39105
  • [cfd96aa8f9] - meta: fix tls code owners (Robert Nagy) #39355
  • [e5c2d80560] - meta: use form schema for bug report template (Michaël Zasso) #39194
  • [bd472daf0c] - meta: add @nodejs/actions as CODEOWNERS (Mary Marchini) #39119
  • [63f87027e3] - node-api: cctest on v8impl::Reference (legendecas) #38970
  • [7ea98fbccd] - perf_hooks: refactor perf_hooks for snapshot building (Joyee Cheung) #38971
  • [20cc8ec2af] - readline: allow completer to rewrite existing input (Anna Henningsen) #39178
  • [b168ec2a2a] - repl: processTopLevelAwait fallback error handling (ejose19) #39290
  • [a101fe68ad] - repl: correctly hoist top level await declarations (ejose19) #39265
  • [d441d91450] - repl: ensure correct syntax err for await parsing (Guy Bedford) #39154
  • [9184259a54] - src: add JSDoc typings for v8 (Voltrex) #38944
  • [66553feeba] - src: compare IPv4 addresses in host byte order (Colin Ihrig) #39096
  • [ea8d83bf59] - src,crypto: fix 0-length output crash in webcrypto (Khaidi Chu) #38913
  • [683c995001] - src,zlib: tighten up Z_*_WINDOWBITS macros (Khaidi Chu) #39115
  • [cb32f69e00] - stream: cleanup async handling (Robert Nagy) #39329
  • [1fc6382942] - stream: don't emit prefinish after error or close (Robert Nagy) #39332
  • [35b6669e13] - stream: use finished for pump (Robert Nagy) #39203
  • [9af62a1357] - (SEMVER-MINOR) stream: implement WHATWG streams (James M Snell) #39062
  • [0bb980aeaf] - test: remove eslint-disable comment from fixture file (Rich Trott) #39320
  • [21f77031fb] - test: move debugger test case to parallel (Rich Trott) #39300
  • [0ec93a1fc1] - test: use common.PORT instead of hardcoded port number (Rich Trott) #39298
  • [11a8b81caf] - test: remove debugger workaround for AIX (Rich Trott) #39296
  • [8e77aa23f1] - test: add test for debugger restart message issue (Rich Trott) #39273
  • [13755599e1] - test: remove workaround code in debugger test (Rich Trott) #39238
  • [1f31e3c774] - test: remove checks for armv6 (Rich Trott) #39162
  • [d486d0117c] - test: move test-debugger-address to parallel (Rich Trott) #39236
  • [cdc7a19f48] - test: remove common.enoughTestCpu (Rich Trott) #39161
  • [cc32365f56] - (SEMVER-MINOR) test: add WPT streams tests (James M Snell) #39062
  • [fff21a4afb] - test: replace "inspector-cli" with "debugger" (Rich Trott) #39156
  • [df17c62818] - test: use localhost test instead of connecting to remote (Adam Majer) #39011
  • [dfe99d2aac] - tls: move legacy code into own file (Robert Nagy) #39333
  • [f338fddbb0] - tools: add GitHub Action to run find-inactive-collaborators.mjs (Rich Trott) #39335
  • [b3a0dd1e4a] - tools: pass bot token to node-pr-labeler (Michaël Zasso) #39271
  • [b56a3d9009] - tools: update gyp-next to v0.9.3 (Jiawen Geng) #39291
  • [3cd9f5e298] - tools: add find-inactive-collaborators.js (Rich Trott) #39262
  • [0673ede3ad] - tools: take ownership of deps/v8/tools/node (Michaël Zasso) #39222
  • [cb8c6ffbce] - tools: update ESLint to 7.30.0 (Colin Ihrig) #39242
  • [d5113f9e34] - tools: remove armv6 from test tools (Rich Trott) #39162
  • [802d9c4488] - tools: update path-parse to 1.0.7 (Rich Trott) #39232
  • [ab9ccd014c] - tools: remove unused lint-pr-commit-message.sh (Richard Lau) #39120
  • [6200f3b35f] - tools: update @babel/eslint-parser to 7.14.7 (Rich Trott) #39160
  • [dfe5d1139c] - tools: update remark-preset-lint-node to 2.4.1 (Rich Trott) #39201
  • [4715105581] - tools: upgrade highlight.js to version 11.0.1 (Antoine du Hamel) #39032
  • [2481ddd08d] - tools,doc: fix error message for unrecognized type (Antoine du Hamel) #39221
  • [adb812c042] - typings: add a few JSDoc typings for the net lib module (nerdthatnoonelikes) #38953
  • [29673b8ac8] - typings: add JSDoc typings for timers (Voltrex) #38834
  • [fe1c81f247] - wasi: use missing validator (Voltrex) #39070

New in Node.js 16.4.2 Current (Jul 7, 2021)

  • Notable Changes:
  • Node.js 16.4.1 introduced a regression in the Windows installer on non-English locales that is being fixed in this release. There is no need to download this release if you are not using the Windows installer.
  • Commits:
  • [76e709ec63] - win,msi: use localized "Authenticated Users" name (Richard Lau) #39241

New in Node.js 14.17.3 LTS (Jul 7, 2021)

  • Notable Changes:
  • Node.js 14.17.2 introduced a regression in the Windows installer on non-English locales that is being fixed in this release. There is no need to download this release if you are not using the Windows installer.
  • Commits:
  • [0f00104a2c] - win,msi: use localized "Authenticated Users" name (Richard Lau) #39241

New in Node.js 16.4.1 Current (Jul 1, 2021)

  • Notable Changes:
  • Vulnerabilities fixed:
  • CVE-2021-22918: libuv upgrade - Out of bounds read (Medium):
  • Node.js is vulnerable to out-of-bounds read in libuv's uv__idna_toascii() function which is used to convert strings to ASCII. This is called by Node's dns module's lookup() function and can lead to information disclosures or crashes. You can read more about it in https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-22918
  • CVE-2021-22921: Windows installer - Node Installer Local Privilege Escalation (Medium):
  • Node.js is vulnerable to local privilege escalation attacks under certain conditions on Windows platforms. More specifically, improper configuration of permissions in the installation directory allows an attacker to perform two different escalation attacks: PATH and DLL hijacking. You can read more about it in https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-22921
  • Commits:
  • [d33aead28b] - deps: uv: cherry-pick 99c29c9c2c9b (Ben Noordhuis) nodejs-private/node-private#267
  • [2690907b81] - win,msi: set install directory permission (AkshayK) nodejs-private/node-private#269

New in Node.js 14.17.2 LTS (Jul 1, 2021)

  • Notable Changes:
  • Vulnerabilities fixed:
  • CVE-2021-22918: libuv upgrade - Out of bounds read (Medium):
  • Node.js is vulnerable to out-of-bounds read in libuv's uv__idna_toascii() function which is used to convert strings to ASCII. This is called by Node's dns module's lookup() function and can lead to information disclosures or crashes. You can read more about it in https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-22918
  • CVE-2021-22921: Windows installer - Node Installer Local Privilege Escalation (Medium):
  • Node.js is vulnerable to local privilege escalation attacks under certain conditions on Windows platforms. More specifically, improper configuration of permissions in the installation directory allows an attacker to perform two different escalation attacks: PATH and DLL hijacking. You can read more about it in https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-22921
  • Commits:
  • [a7496aba0a] - deps: uv: cherry-pick 99c29c9c2c9b (Ben Noordhuis) nodejs-private/node-private#267
  • [d0b449da1d] - win,msi: set install directory permission (AkshayK) nodejs-private/node-private#269

New in Node.js 16.4.0 Current (Jun 23, 2021)

  • Notable changes:
  • async_hooks:
  • stabilize part of AsyncLocalStorage (Vladimir de Turckheim) #37675
  • deps:
  • upgrade npm to 7.18.1 (npm-robot) #39065
  • update V8 to 9.1.269.36 (Michaël Zasso) #38273
  • dns:
  • allow --dns-result-order to change default dns verbatim (Ouyang Yadong) #38099
  • Commits:
  • [d2b972ee52] - async_hooks: check for empty contexts before removing (Bryan English) #39095
  • [03e75fda4c] - async_hooks: switch between native and context hooks correctly (Stephen Belanger) #38912
  • [8115e6ee6d] - (SEMVER-MINOR) async_hooks: stabilize part of AsyncLocalStorage (Vladimir de Turckheim) #37675
  • [5f51729014] - bootstrap: move event loop handle checking into snapshot builder (Joyee Cheung) #39007
  • [9d100aa269] - bootstrap: split NodeMainInstance::Run() (Joyee Cheung) #39007
  • [2aaf2f231f] - build: reconfigure when gyp files change on Windows (Joyee Cheung) #39066
  • [7f225a05ee] - Revert "build: work around bug in MSBuild v16.10.0" (Michaël Zasso) #38977
  • [1853127dde] - build: reset embedder string to "-node.0" (Michaël Zasso) #38273
  • [c0d236f5ea] - build: make build-addons errors fail the build (Richard Lau) #38983
  • [173292bcf8] - build: fix commit-queue default branch (Mary Marchini) #38998
  • [e939e243bf] - build: don't pass python override to V8 build (Richard Lau) #38969
  • [651c58b412] - build: correct Xcode spelling in .gitignore (bl-ue) #38895
  • [5203c9ced7] - build: fast-track npm PRs and dont-land them on LTS (Michaël Zasso) #38885
  • [7de57d4d33] - build: dont-land gyp-next PRs on LTS branches (Michaël Zasso) #38887
  • [e87cd4542b] - child_process: refactor to use validateBoolean (Qingyu Deng) #38927
  • [69fa9e16e9] - (SEMVER-MINOR) child_process: allow options.cwd receive a URL (Khaidi Chu) #38862
  • [cf9d686c35] - crypto: fix aes crash when tag length too small (Khaidi Chu) #38914
  • [1799ea36f0] - crypto: use compatible version of EVP_CIPHER_name (Shelley Vohr) #38925
  • [6d5dc63ae4] - crypto: fix label cast in EVP_PKEY_CTX_set0_rsa_oaep_label (Shelley Vohr) #38926
  • [6e93c17bf5] - crypto: use EVP_get_cipherbynid directly (Shelley Vohr) #38901
  • [82c293959e] - crypto: add missing rand.h include (Shelley Vohr) #38864
  • [e4f802de9a] - debugger: rename internal library for clarity (Rich Trott) #39080
  • [1e8bdab581] - debugger: use ERR_DEBUGGER_STARTUP_ERROR in _inspect.js (Rich Trott) #39024
  • [b43cb69fbb] - debugger: use error codes in debugger REPL (Rich Trott) #39024
  • [dc9218136b] - debugger: use ERR_DEBUGGER_ERROR in debugger client (Rich Trott) #39024
  • [711916a271] - debugger: remove unnecessary boilerplate copyright comment (Rich Trott) #38952
  • [0f65e41442] - debugger: reduce scope of eslint disable comment (Rich Trott) #38946
  • [1fa724ec5a] - deps: upgrade npm to 7.18.1 (npm-robot) #39065
  • [c6aa68598d] - deps: upgrade npm to 7.17.0 (npm-robot) #38999
  • [864fe9910b] - deps: make V8 9.1 abi-compatible with 9.0 (Michaël Zasso) #38991
  • [c93f3573eb] - deps: V8: cherry-pick fa4cb172cde2 (Michaël Zasso) #38273
  • [3c6c28b0a1] - deps: V8: cherry-pick 4c074516397b (Michaël Zasso) #38273
  • [3c37396d5c] - deps: V8: cherry-pick 5f4413194480 (Michaël Zasso) #38273
  • [3433559a55] - deps: V8: cherry-pick 272445f10927 (Michaël Zasso) #38273
  • [f56c78574e] - deps: V8: cherry-pick c0fceaa0669b (Michaël Zasso) #38273
  • [7197fcec93] - deps: V8: cherry-pick d59db06bf542 (Michaël Zasso) #38273
  • [bf7aa9fef8] - deps: silence irrelevant V8 warnings (Michaël Zasso) #37587
  • [eac377bc15] - deps: V8: backport aaacffa1e003 (Michaël Zasso) #38273
  • [1a7c8a12c1] - deps: fix V8 build issue with inline methods (Jiawen Geng) #35415
  • [3c9a75522b] - deps: make v8.h compatible with VS2015 (Joao Reis) #32116
  • [8ed258339a] - deps: V8: forward declaration of Rtl*FunctionTable (Refael Ackermann) #32116
  • [4ef37c83a9] - deps: V8: patch register-arm64.h (Refael Ackermann) #32116
  • [7c61c6ee25] - deps: V8: un-cherry-pick bd019bd (Refael Ackermann) #32116
  • [e82ef4148e] - (SEMVER-MINOR) deps: update V8 to 9.1.269.36 (Michaël Zasso) #38273
  • [70af146745] - deps: upgrade npm to 7.16.0 (npm-robot) #38920
  • [a71df7630e] - (SEMVER-MINOR) dns: allow --dns-result-order to change default dns verbatim (Ouyang Yadong) #38099
  • [dce256b210] - doc: remove references to deleted freenode channels (devsnek) #39047
  • [1afff98805] - doc: fix typos (bl-ue) #39049
  • [858f66e691] - doc: add missing parameter types (Voltrex) #39013
  • [ed91379186] - doc: clearify that http does chunked encoding itself (Mao Wtm) #28379
  • [51561f390a] - doc: add missing changelog links (Antoine du Hamel) #39016
  • [a19170eb9d] - doc: clarify that only one Python version is required to build (bl-ue) #38894
  • [7b219992e0] - doc: fix markup for aesImportParams (Tobias Nießen) #38898
  • [405b50cdba] - doc: use await in filehandle.truncate() snippet (RA80533) #38939
  • [5218fe86d1] - doc: fixed typo in process.md (Derevianchenko Maksym) #38941
  • [f903ad85f2] - doc: add missing semis after classes (Darshan Sen) #38931
  • [0bdeeda3b5] - doc: update write callback documentation (Simone Busoli) #38959
  • [7a7c0588ad] - doc: mark util.inherits as legacy (Voltrex) #38896
  • [f6964dc506] - doc: clarify when readable._read(...) is called (Shaun Keys) #38726
  • [3481b02e77] - doc: mark Node.js v15.x as EOL (Antoine du Hamel) #38891
  • [17a9846920] - doc: fix .mjs syntax in crypto.md (himself65) #38882
  • [8c7b2bab5f] - doc,fs: remove experimental status for WHATWG URL as path (Antoine du Hamel) #38870
  • [eddde6c31a] - errors: don't rekey on primitive type (Benjamin Coe) #39025
  • [3d7892ef39] - errors: add ERR_DEBUGGER_STARTUP_ERROR (Rich Trott) #39024
  • [631856ea32] - errors: add ERR_DEBUGGER_ERROR (Rich Trott) #39024
  • [336571fbdd] - Revert "http: make HEAD method to work with keep-alive" (Michaël Zasso) #38949
  • [c2b4fbba0f] - lib: remove semicolon in preparation for babel/eslint-parser update (Rich Trott) #39094
  • [f17dde81f3] - lib: make internal/options lazy (Joyee Cheung) #38993
  • [551430514b] - lib: add JSDoc typings for child_process (Voltrex) #38222
  • [ded83350a0] - lib: make primordials Promise methods safe (Antoine du Hamel) #38650
  • [637c1fa83c] - lib: refactor debuglog init (Antoine du Hamel) #38838
  • [5b5e07a2cc] - meta: update label-pr-config (Michaël Zasso) #38950
  • [92ed1c6cce] - module: fix legacy node specifier resolution to resolve "main" field (Antoine du Hamel) #38979
  • [4174f139b6] - net: use missing validator (Voltrex) #38984
  • [f7724ab342] - node-api: avoid crashing on passed-in null string (Gabriel Schulhof) #38923
  • [ec3e5b4c15] - node-api: avoid SecondPassCallback crash (Michael Dawson) #38899
  • [74f5e30d69] - node-api: rtn pending excep on napi_new_instance (legendecas) #38798
  • [4c6193fea1] - report: generates report on threads with no isolates (legendecas) #38994
  • [3c7a7d9ee4] - (SEMVER-MINOR) src: allow to negate boolean CLI flags (Michaël Zasso) #39023
  • [284d9c6228] - src: cleanup uv_fs_t regardless of success or not (legendecas) #38996
  • [902bb858d7] - src: refactor to use locale functions (Darshan Sen) #39014
  • [10370c5e8a] - src: fix multiple AddLinkedBinding() calls (Anna Henningsen) #39012
  • [ff8313c3a5] - src: throw error in LoadBuiltinModuleSource when reading fails (Joyee Cheung) #38904
  • [9ba5518f08] - src: skip test_fatal/test_threads for Debug builds (Daniel Bevenius) #38805
  • [06afb8df65] - (SEMVER-MINOR) src: make InitializeOncePerProcess more flexible (Shelley Vohr) #38888
  • [db4b192113] - src: add not-weak DCHECK to PersistentToLocal::Strong (Anna Henningsen) #38875
  • [08b2a4a138] - src,test: raise error for --enable-fips when no FIPS (Daniel Bevenius) #38859
  • [5d92c09bbf] - src,url: separate some tables out of node_url.cc (Khaidi Chu) #38988
  • [c20e28e1a0] - stream: fix pipeline pump (Robert Nagy) #39006
  • [7b026d8a72] - test: move inspector-cli tests to sequential (Rich Trott) #39079
  • [a53911b166] - test: improve buffer coverage (Rongjian Zhang) #38538
  • [5e9175f148] - test: fix name of variable in inspector-cli test (Tobias Nießen) #38869
  • [bd924610ec] - test: fix typo (Houssem Chebab) #39045
  • [d50df5dec1] - test: fix typo in test-http2-invalidheaderfield.js (Ikko Ashimine) #39021
  • [6111671d45] - test: adapt abort tests for new Windows code (Michaël Zasso) #38273
  • [1816d46cef] - test: adapt test-linux-perf to V8 changes (Michaël Zasso) #38273
  • [32961c4781] - test: fix V8 serdes test for V8 9.1 (Michaël Zasso) #38273
  • [f652284b3b] - test: remove obsolete TLS test (Rich Trott) #39001
  • [81bbeab3bd] - test: improve coverage of lib/events.js (Rongjian Zhang) #38582
  • [e82111f890] - test: http outgoing _headers setter null (ycjcl868) #38881
  • [1f10e84939] - test: suppress warning in test_environment.cc (Daniel Bevenius) #38868
  • [379b5f79a9] - tls: tweak clientCertEngine argument parsing (Shelley Vohr) #38900
  • [78d2e0ed8e] - tools: update babel-eslint-parser to 7.14.5 (Rich Trott) #39094
  • [fed641127a] - tools: update ESLint to 7.29.0 (Rich Trott) #39083
  • [3ae2a0be48] - tools: fix typo (Houssem Chebab) #39044
  • [a1d0aef60e] - tools: update doctool dependencies, migrate to ESM (Michaël Zasso) #38966
  • [2a292cf574] - tools: update V8 gypfiles for 9.1 (Michaël Zasso) #38273
  • [0c90fd8454] - tools: avoid crashing CQ when git push fails (Antoine du Hamel) #36861
  • [f817c2d3bb] - tools: fix typo in commit-queue.sh (bl-ue) #39000
  • [be5101eb32] - tools: update ESLint to 7.28.0 (Luigi Pinca) #38955
  • [9bf9ddb490] - tools: refactor snapshot builder (Joyee Cheung) #38902
  • [0706565097] - tools: bump remark-preset-lint-node to 2.3.0 (Rich Trott) #38910
  • [7d35fa7938] - tools: update gyp-next to v0.9.1 (Jiawen Geng) #38867
  • [00c20e621f] - tools,doc: forbid CJS globals in ESM code snippets (Antoine du Hamel) #38889
  • [99161b09f6] - url,src: simplify ipv6 logic by using uv_inet_pton (Khaidi Chu) #38842
  • [f40725f2a1] - vm: use missing validator (Voltrex) #38935
  • [f959cb3c68] - worker: do not look up context twice in PostMessage (Anna Henningsen) #38784

New in Node.js 14.17.1 LTS (Jun 23, 2021)

  • Notable Changes:
  • [6035492c8f] - deps: update ICU to 69.1 (Michaël Zasso) #38178
  • [9417fd0bc8] - errors: align source-map stacks with spec (Benjamin Coe) #37252
  • Commits:
  • [87fa636953] - assert: refactor to use more primordials (Antoine du Hamel) #36234
  • [cfff3b4462] - assert: refactor to avoid unsafe array iteration (Antoine du Hamel) #37344
  • [dd18def7db] - async_hooks: refactor to avoid unsafe array iteration (Antoine du Hamel) #37125
  • [5f3e96b570] - async_hooks,doc: replace process.stdout.fd with 1 (Darshan Sen) #38382
  • [f4cb8b8281] - benchmark: avoid using console.log() (Antoine du Hamel) #38370
  • [9e4c1f2f2c] - benchmark: use process.hrtime.bigint() (Antoine du Hamel) #38369
  • [3c886e0ad6] - buffer: remove TODOs in atob / btoa (Khaidi Chu) #38548
  • [c5b86f8c2f] - buffer: remove unreachable code (Rongjian Zhang) #38537
  • [9ae2a27d44] - buffer: make FastBuffer safe to construct (Antoine du Hamel) #36587
  • [ff546ff744] - buffer: refactor to use primordials instead of Array#reduce (Antoine du Hamel) #36392
  • [5acf0a5ba3] - buffer: refactor to use more primordials (Antoine du Hamel) #36166
  • [52fd42ec46] - build: work around bug in MSBuild v16.10.0 (Michaël Zasso) #38873
  • [5df0f35bf6] - build: add workaround for V8 builds (Richard Lau) #38632
  • [754aa384e0] - build: remove dependency on distutils.spawn (Richard Lau) #38600
  • [5de7e64f3a] - build: fix make test-npm (Ruy Adorno) #36369
  • [e5fae63108] - child_process: reduce abort handler code duplication (Rich Trott) #36644
  • [598d2bdf09] - child_process: treat already-aborted controller as aborting (Rich Trott) #36644
  • [8d7708bdef] - child_process: refactor to use more primordials (Antoine du Hamel) #36003
  • [b8c4d30e77] - deps: update to [email protected] (Guy Bedford) #38450
  • [6035492c8f] - deps: update ICU to 69.1 (Michaël Zasso) #38178
  • [51dad8cabb] - deps: V8: cherry-pick 035c305ce776 (Michaël Zasso) #38497
  • [a467125c8d] - deps: V8: cherry-pick dfcdf7837e23 (Benjamin Coe) #36573
  • [acc9fad2ba] - deps: V8: cherry-pick 86991d0587a1 (Benjamin Coe) #36254
  • [d67827744b] - deps: V8: cherry-pick 530080c44af2 (Milad Fa) #38508
  • [bac9ba4f8a] - dgram: extract cluster lazy loading method to make it testable (Rongjian Zhang) #38563
  • [f5b2115b76] - dgram: refactor to use more primordials (Antoine du Hamel) #36286
  • [cd7cf0547a] - dns: refactor to use more primordials (Antoine du Hamel) #36314
  • [9f67c0852c] - doc: cleanup events.md structure (James M Snell) #36100
  • [41cfe645c0] - doc: fix JS flavor selection (Antoine du Hamel) #37791
  • [7c4748b0dc] - doc: use HEAD instead of master for links (Antoine du Hamel) #38518
  • [26426577ff] - doc: remove import.meta.resolve parent URL type (Kevin Locke) #38585
  • [88055abf19] - doc: document buffer.kStringMaxLength (Tobias Nießen) #38688
  • [2e8dfee165] - doc: clarify synchronous blocking of Worker stdio (James M Snell) #38658
  • [212cd5cf05] - doc: update contact info (Gabriel Schulhof) #38689
  • [fa35c0662b] - doc: change color of doctag on night mode (Qingyu Deng) #38652
  • [4c67437c53] - doc: clarify DiffieHellmanGroup class docs (Nitzan Uziely) #38363
  • [e90c60b1e3] - doc: use AIX instead of Aix in fs.md (Rich Trott) #38535
  • [dc67fec1b4] - doc: remove extraneous dash from flag prefix (Rodolfo Carvalho) #38532
  • [4c54d81a59] - doc: document 'secureConnect' event limitation (James M Snell) #38447
  • [839e8d1672] - doc: mark querystring api as legacy (James M Snell) #38436
  • [a75b7af9bd] - doc: add arguments for stream event of Http2Server and Http2SecureServer (Qingyu Deng) #37892
  • [cf0007edc4] - doc: indicate that abort tests do not generate core files (Rich Trott) #38422
  • [945450b5cf] - doc: add try/catch in http2 respondWithFile example (Matteo Collina) #38410
  • [1f7cd7148a] - doc: note the system requirements for V8 tests (DeeDeeG) #38319
  • [cd54834854] - doc: minor clarification to pathObject (James M Snell) #38437
  • [ba117c2c6f] - doc: document new TCP_KEEPCNT and TCP_KEEPINTVL socket option defaults (Arnold Zokas) #38313
  • [dcdbaffced] - doc: do not mention TCP in the allowHalfOpen option description (Luigi Pinca) #38360
  • [fe8003e5de] - doc: update message to match actual output (Rich Trott) #35271
  • [c03f23e126] - doc: request default snap track be updated for LTS (Rod Vagg) #37708
  • [a9f7aeed12] - doc: mark process.hrtime() as legacy (Antoine du Hamel) #38371
  • [cede0c57b8] - doc: fix version history for "exports" patterns (Antoine du Hamel) #38355
  • [9702f22397] - doc: fix package.json "imports" field history (Antoine du Hamel) #38356
  • [2d96da875e] - doc: fix typo in buffer.md (divlo) #38323
  • [6b58f28472] - doc: add nodejs-sec email template (Daniel Bevenius) #38290
  • [5a532e4725] - doc: update TSC members list with three new members (Rich Trott) #38352
  • [e994d6a27c] - doc: use foo.prototype.bar notation in buffer.md (Voltrex) #38032
  • [c61f363d66] - doc: internal/test/binding for testing (Bradley Meck) #38026
  • [0bb6fe31b3] - doc: add missing events.on metadata (Anna Henningsen) #37965
  • [30c82b2745] - doc: fix wording in outgoingMessage.write (Tobias Nießen) #37894
  • [932000020a] - doc: fix grammar errors in http document (Qingyu Deng) #37265
  • [19e8ae44c4] - doc: add document for http.OutgoingMessage (Qingyu Deng) #37265
  • [a6c123363d] - doc: remove generated from dsaEncoding description (Marko Kaznovac) #37459
  • [bc6ea63e48] - doc: document how to register external bindings for snapshot (Joyee Cheung) #37463
  • [2168e954aa] - doc: document the NO_COLOR and FORCE_COLOR env vars (James M Snell) #37477
  • [2907848fc9] - doc: clarify event.isTrusted text (Rich Trott) #36827
  • [7efa020892] - doc: expand openssl instructions (Michael Dawson) #36554
  • [b197a44152] - doc: document ABORT_ERR code (Benjamin Gruenbaum) #36319
  • [1d80f89442] - doc: document changes for */promises alias modules (ExE Boss) #34002
  • [9417fd0bc8] - errors: align source-map stacks with spec (Benjamin Coe) #37252
  • [dcd221ce69] - errors: refactor to use more primordials (Antoine du Hamel) #36651
  • [ee444473e9] - errors: display original symbol name (Benjamin Coe) #36042
  • [83d28374d6] - errors: refactor to use more primordials (Antoine du Hamel) #36167
  • [7d7e34c15a] - errors: refactor to use more primordials (Antoine du Hamel) #35944
  • [18e5c0f3e2] - events: refactor to use optional chaining (ZiJian Liu) #36763
  • [4fdcbae583] - events: refactor to use more primordials (Antoine du Hamel) #36304
  • [c4e7dca8f3] - fs: fix error when writing buffers > INT32_MAX (Zach Bjornson) #38546
  • [07c55d2844] - Revert "http: make HEAD method to work with keep-alive" (Michaël Zasso) #38949
  • [d8da265c81] - http2: treat non-EOF empty frames like other invalid frames (Anna Henningsen) #37875
  • [c3bd0fdb73] - http2: fix setting options before handle exists (Anna Henningsen) #37875
  • [74fe1d8f0c] - http2: add support for TypedArray to getUnpackedSettings (Antoine du Hamel) #36141
  • [c90f1dbeb3] - https: refactor to use more primordials (Antoine du Hamel) #36195
  • [8258799472] - inspector: remove redundant method for connection check (Yash Ladha) #37986
  • [ba19313e1e] - inspector: refactor to use more primordials (Antoine du Hamel) #36356
  • [eb8f7ee634] - lib: revert primordials in a hot path (Antoine du Hamel) #38248
  • [cea8b4265c] - lib: make IterableWeakMap safe to iterate (Antoine du Hamel) #38523
  • [490bc58229] - lib: fix and improve os typings (Akhil Marsonya) #38316
  • [af39df6d03] - lib: add URI handling functions to primordials (Antoine du Hamel) #37394
  • [16691be80e] - lib: fix WebIDL object and dictionary type conversion (ExE Boss) #37047
  • [47ed512312] - lib: refactor to use optional chaining in internal/options.js (raisinten) #36939
  • [346fc0ac21] - lib: support returning Safe collections from C++ (ExE Boss) #36989
  • [8912caba64] - lib: expose primordials object (Antoine du Hamel) #36872
  • [46c019b988] - lib: refactor source_map to use more primordials (Antoine du Hamel) #36733
  • [cf9556d8f7] - lib: refactor source_map to avoid unsafe array iteration (Antoine du Hamel) #36734
  • [6eaf357f49] - lib: simplify primordials.uncurryThis (ExE Boss) #36866
  • [9338759b01] - lib: remove v8_prof_polyfill from eslint ignore list (Antoine du Hamel) #36537
  • [c9861a344a] - lib: remove unused code (Brian White) #36632
  • [01a71dd393] - lib: refactor to use more primordials in internal/encoding.js (raisinten) #36480
  • [e6c0877604] - lib: refactor to use primordials in internal/priority_queue.js (ZiJian Liu) #36560
  • [6e3a2ffb98] - lib: add primordials.SafeStringIterator (Antoine du Hamel) #36526
  • [bf0738bc07] - lib: make safe primordials safe to construct (Antoine du Hamel) #36428
  • [7ebc18f293] - lib: make safe primordials safe to iterate (Antoine du Hamel) #36391
  • [e12dbc8519] - lib: refactor to use more primordials in internal/histogram.js (raisinten) #36455
  • [5daeac64a4] - lib: add uncurried accessor properties to primordials (ExE Boss) #36329
  • [bb4900d9eb] - lib: refactor primordials.uncurryThis (Antoine du Hamel) #36221
  • [0fbe945ebb] - lib: refactor to use more primordials (Antoine du Hamel) #36140
  • [24d4d63308] - lib: add %TypedArray% abstract constructor to primordials (ExE Boss) #36016
  • [e2395b0f3b] - lib: use Object static properties from primordials (Michaël Zasso) #35380
  • [b3e22e1612] - lib,tools: enforce access to prototype from primordials (Antoine du Hamel) #36025
  • [e94e0b488e] - meta: add v8 team (Jiawen Geng) #38566
  • [fcc6a00f1a] - meta: post comment when pr labeled fast-track (James M Snell) #38446
  • [bd0d9647ca] - module: clarify CJS global-like variables not defined error message (Antoine du Hamel) #37852
  • [0fdb5d59f7] - module: refactor NativeModule to avoid unsafe array iteration (Antoine du Hamel) #37656
  • [77c7d979b6] - module: simplify tryStatSync with throwIfNoEntry option (Antoine du Hamel) #36971
  • [1aae572220] - module: refactor to use more primordials (Antoine du Hamel) #36348
  • [9e7f166161] - module: refactor to use more primordials (Antoine du Hamel) #36024
  • [eee1d291cf] - module: refactor to use iterable-weak-map (Benjamin Coe) #35915
  • [52cbe89f7f] - net: refactor to use more primordials (Antoine du Hamel) #36303
  • [779ad54078] - node-api: faster threadsafe_function (Fedor Indutny) #38506
  • [5995221ced] - node-api: fix shutdown crashes (Michael Dawson) #38492
  • [d8acec4cb1] - node-api: make reference weak parameter an indirect link to references (Chengzhong Wu) #38000
  • [c442d89ad6] - os: refactor to use more primordials (Antoine du Hamel) #36284
  • [daeb6fcd78] - path: inline conditions (Voltrex) #38613
  • [e2f531f646] - path: refactor to use more primordials (Akhil Marsonya) #37893
  • [c1364d15a2] - path: refactor to use more primordials (Antoine du Hamel) #36302
  • [726ef40fcb] - perf_hooks: throw ERR_INVALID_ARG_VALUE if histogram.percentile param is NaN (ZiJian Liu) #36937
  • [4686f4f41b] - perf_hooks: refactor to avoid unsafe array iteration (Antoine du Hamel) #36723
  • [6adec6351e] - perf_hooks: refactor to use more primordials (Antoine du Hamel) #36297
  • [bf9aa425c0] - policy: refactor to use more primordials (Antoine du Hamel) #36210
  • [0f6c3f76b3] - querystring: refactor to use more primordials (Antoine du Hamel) #36315
  • [b5b8a996f3] - readline: refactor to use more primordials (Antoine du Hamel) #36296
  • [cd981808b4] - repl: document top level await limitation with const/let (James M Snell) #38449
  • [a4eb5571eb] - repl: display prompt once after error callback (Anna Henningsen) #38314
  • [163fcecb69] - src: fix multiple AddLinkedBinding() calls (Anna Henningsen) #39012
  • [8809ef98f9] - src: update cares_wrap OpenBSD defines (Anna Henningsen) #38670
  • [d66f88ce97] - src: remove extra semi after member fn (Shelley Vohr) #38686
  • [bc2111c7e6] - src: make workers messaging more resilient (Juan José Arboleda) #38510
  • [378e0e778b] - src: fix validation of negative offset to avoid abort (James M Snell) #38421
  • [c170026b7b] - src: use %progbits instead of @progbits (Stephen Gallagher) #38312
  • [d177541b0e] - src: fix setting Converter sub char length (James M Snell) #38331
  • [e279b029c0] - src: avoid deferred gc/cleanup for Buffer.from (James M Snell) #38337
  • [006c7b78da] - src: indent long help text properly (David Glasser) #37911
  • [f5541ddea3] - src: fix ETW_WRITE_EMPTY_EVENT macro (Michaël Zasso) #37334
  • [6b1052d034] - src: disable unfixable MSVC warnings (Michaël Zasso) #37334
  • [38afa3fa79] - src: avoid implicit type conversions (take 2) (Michaël Zasso) #37334
  • [8a60ae2161] - src: fix compiler warnings in node_buffer.cc (Darshan Sen) #38722
  • [78cde14c45] - src: fix compiler warning in env.cc (Anna Henningsen) #35547
  • [ea311a41cc] - src: add check against non-weak BaseObjects at process exit (Anna Henningsen) #35490
  • [a1b4681efc] - src: use transferred consistently (Daniel Bevenius) #36340
  • [29c623e5cb] - src: fix label indentation (Rich Trott) #36213
  • [dbb0d2612c] - stream: fix multiple Writable.destroy() calls (Robert Nagy) #38221
  • [a18b1ff80b] - stream: the position of _read() is wrong (helloyou2012) #38292
  • [ab130e929a] - stream: only use legacy close listeners if not willEmitClose (Robert Nagy) #36649
  • [c31e2f6b0f] - stream: fix legacy pipe error handling (Robert Nagy) #35257
  • [1dc4dea215] - string_decoder: throw ERR_STRING_TOO_LONG for UTF-8 (Michaël Zasso) #36661
  • [0db9101922] - string_decoder: refactor to use more primordials (Antoine du Hamel) #36358
  • [8a44ee478e] - test: improve coverage of lib/_http_client.js (Rongjian Zhang) #38599
  • [8a45b85dbd] - test: improve coverage of lib/os.js (Rongjian Zhang) #38653
  • [d7c6a3eb03] - test: call functions internally (Voltrex) #38560
  • [726cb48bd8] - test: complete coverage of querystring (Rongjian Zhang) #38520
  • [4f1ba79eb8] - test: increase coverage for AbortController (ZiJian Liu) #38514
  • [d98b355336] - test: run message and pseudo-tty tests in parallel (Richard Lau) #38502
  • [7938af6565] - test: move test-net-connect-econnrefused from pummel to sequential (Rich Trott) #38462
  • [52f3837518] - test: fix common.mustCall length and name properties (Antoine du Hamel) #38464
  • [fdfb39e692] - test: address deprecation warning (Rich Trott) #38448
  • [25e5afe3be] - test: move abort test from pummel to abort directory (Rich Trott) #38396
  • [296b969e0a] - test: skip some pummel tests on slower machines (Rich Trott) #38394
  • [a9ff9c0918] - test: add ancestor package.json checks for tmpdir (Richard Lau) #38285
  • [c9ce98c377] - test: replace function with arrow function and remove unused argument (Andres) #38235
  • [c77abf5a89] - test: use .test domain for not found address (Richard Lau) #38286
  • [d9eb8b3ed0] - test: increase fs promise coverage (Emil Sivervik) #36813
  • [d85b70fffa] - test: increase timeout on ASAN Action (Antoine du Hamel) #37007
  • [836fba52ea] - test: improve coverage of SourceTextModule getters (Juan José Arboleda) #37013
  • [f43fc6b6cc] - test: improve coverage for Module getters (Juan José Arboleda) #36950
  • [a45d280c18] - test: improve coverage on worker threads (Juan José Arboleda) #36910
  • [ec4d79e259] - test: improve coverage at lib/internal/vm/module.js (Juan José Arboleda) #36898
  • [c34de75687] - test: guard large string decoder allocation (Michaël Zasso) #36795
  • [3215a58843] - test: add already-aborted-controller test for spawn() (Rich Trott) #36644
  • [c3b116795b] - test: add test for reused AbortController with execfile() (Rich Trott) #36644
  • [219ed0ba4c] - test: add Actions annotation output (Mary Marchini) #34590
  • [89ee6abae0] - test: use .then(common.mustCall()) for all async IIFEs (Anna Henningsen) #34363
  • [294b3e60a5] - test,doc,lib: adjust object literal newlines for lint rule (Rich Trott) #37040
  • [bfe02b8808] - test,readline: improve tab completion coverage (Antoine du Hamel) #38465
  • [1dc7fd238c] - timers: fix unsafe array iteration (Darshan Sen) #37223
  • [679973866d] - timers: reject with AbortError on cancellation (Benjamin Gruenbaum) #36317
  • [dec3610a31] - timers: refactor to use more primordials (Antoine du Hamel) #36132
  • [d84b05a619] - timers: cleanup abort listener on awaitable timers (James M Snell) #36006
  • [f6e4dbb779] - tls: validate ticket keys buffer (Antoine du Hamel) #38308
  • [661e9809bd] - tls: fix session and keylog add listener segfault (Nitzan Uziely) #38180
  • [de44e90523] - tools: refloat 7 Node.js patches to cpplint.py (Rich Trott) #36324
  • [37bc7d5945] - tools: bump cpplint to 1.5.4 (Rich Trott) #36324
  • [84e918858e] - tools: refloat 7 Node.js patches to cpplint.py (Rich Trott) #36235
  • [fb2bb93f95] - tools: bump cpplint to 1.5.3 (Rich Trott) #36235
  • [3351910f97] - tools: refloat 7 Node.js patches to cpplint.py (Rich Trott) #36213
  • [193b18effa] - tools: bump cpplint.py to 1.5.2 (Rich Trott) #36213
  • [8a6c35d735] - tools: update ESLint to 7.27.0 (Luigi Pinca) #38764
  • [f8753b6299] - tools: update ESLint to 7.26.0 (Colin Ihrig) #38605
  • [1098aec40b] - tools: update ESLint to 7.25.0 (Colin Ihrig) #38378
  • [3fbabfa94d] - tools: update ESLint to 7.24.0 (Colin Ihrig) #38179
  • [6ce779cd8b] - tools: update ESLint to 7.23.0 (Luigi Pinca) #37979
  • [77f88e7725] - tools: update ESLint to 7.22.0 (Colin Ihrig) #37734
  • [5de911eeaf] - tools: make update-eslint.sh work with npm@7 (Luigi Pinca) #37566
  • [839976669f] - tools: add support for mjs and cjs JS snippet linting (Antoine du Hamel) #37311
  • [2463bd0689] - tools: update eslint-plugin-markdown configuration (Colin Ihrig) #37549
  • [f868fac455] - tools: enable object-curly-newline in ESLint rules (Rich Trott) #37040
  • [d13508d219] - tools: make GH Actions workflows work if default branch is not master (Antoine du Hamel) #38516
  • [7021c31d06] - tools: use mktemp to create the workspace directory (Luigi Pinca) #38432
  • [16a3e555ba] - tools: use a shallow clone of the npm/cli repository (Luigi Pinca) #38463
  • [3484a23140] - tools: remove fixer for non-ascii-character ESLint custom rule (Rich Trott) #38413
  • [aec4b295e4] - tools: fix doc generation when version info is not available (Antoine du Hamel) #38398
  • [0172b110a3] - tools: add _depot_tools to PATH (for V8 tests) (DeeDeeG) #38299
  • [d0eed18c87] - tools: fix type mismatch in test runner (Richard Lau) #38289
  • [11ca018db9] - tools: simplify eslint comma-dangle configuration (tools) (Rich Trott) #37883
  • [f7c14e86a7] - tools: simplify eslint comma-dangle configuration (Rich Trott) #37850
  • [241e05795b] - tools: run doctool tests on GitHub Actions CI (Antoine du Hamel) #37398
  • [a4dd50f8f9] - tools: refactor prefer-primordials (Antoine du Hamel) #36018
  • [4af3906e72] - tools: update ESLint to 7.21.0 (Luigi Pinca) #37546
  • [955880de1a] - tools: update ESLint to 7.20.0 (Colin Ihrig) #37339
  • [42c1f98a31] - tools: update ESLint to 7.19.0 (Colin Ihrig) #37159
  • [25eb720b4d] - tools: update ESLint to 7.18.0 (Colin Ihrig) #36955
  • [4983ef205e] - tools: update gyp-next to v0.7.0 (Michaël Zasso) #36580
  • [613378da1e] - tools: update ESLint to 7.17.0 (Colin Ihrig) #36726
  • [e6d01f6545] - tools: update ESLint to 7.16.0 (Yongsheng Zhang) #36579
  • [98806da810] - tools: enable no-unsafe-optional-chaining lint rule (Colin Ihrig) #36411
  • [7d411920f6] - tools: update ESLint to 7.15.0 (Colin Ihrig) #36411
  • [226a86c3b5] - tools: enable no-unused-expressions lint rule (Michaël Zasso) #36248
  • [24a81c7d6c] - tools: enable no-nonoctal-decimal-escape lint rule (Colin Ihrig) #36217
  • [19d4eb17b9] - tools: update ESLint to 7.14.0 (Colin Ihrig) #36217
  • [9fa8d2037f] - tools: add linting rule for async IIFEs (Anna Henningsen) #34363
  • [55fc206d13] - tools: update ESLint to 7.13.0 (Luigi Pinca) #36031
  • [937fc0a30c] - tools: update ESLint to 7.12.1 (Colin Ihrig) #35799
  • [29d0840a90] - tools: update ESLint to 7.12.0 (Colin Ihrig) #35799
  • [dcbd44758c] - tools: update ESLint to 7.11.0 (Colin Ihrig) #35578
  • [c7751b4e69] - tools: add new ESLint rule: prefer-primordials (Leko) #35448
  • [9a5411a2b4] - tools,doc: add support for several flavors of JS code snippets (Antoine du Hamel) #37162
  • [e19478aa76] - tools,lib: recommend using safe primordials (Antoine du Hamel) #36026
  • [5f848a612d] - tools,lib: tighten prefer-primordials rules for Error statics (Antoine du Hamel) #36017
  • [716076e389] - tty: refactor to avoid unsafe array iteration (Antoine du Hamel) #36771
  • [41d74a4d9a] - tty: refactor to use more primordials (Zijian Liu) #36272
  • [e35a3543fd] - typings: add JSDoc typings for util (Rohit Gohri) #38213
  • [c8b22185f7] - url: refactor to use more primordials (Antoine du Hamel) #36316
  • [e113035c9a] - util: simplify constructor retrieval in inspect() (Rich Trott) #36466
  • [1551b40d01] - v8: refactor to use more primordials (Antoine du Hamel) #36527
  • [6c1bbb5caf] - v8: refactor to use more primordials (Antoine du Hamel) #36285
  • [3aee77d279] - vm: refactor to avoid unsafe array iteration (Antoine du Hamel) #36752
  • [0dea86634d] - wasi: refactor to avoid unsafe array iteration (Antoine du Hamel) #36724
  • [2c66305ac4] - Revert "worker: remove ERR_CLOSED_MESSAGE_PORT" (Juan José Arboleda) #38510
  • [698bffaa90] - worker: refactor to avoid unsafe array iteration (Antoine du Hamel) #37346
  • [3d4785c174] - worker: refactor to use more primordials (Antoine du Hamel) #36267
  • [8702b045a4] - zlib: fix brotli flush range (Khaidi Chu) #38408
  • [459fe6864e] - zlib: refactor to avoid unsafe array iteration (Antoine du Hamel) #36722
  • [740638de0f] - zlib: refactor to use primordial instead of .startsWith (Rohan Chougule) #36718
  • [32e10f388c] - zlib: refactor to use more primordials (Antoine du Hamel) #36347

New in Node.js 16.3.0 Current (Jun 3, 2021)

  • Notable Changes:
  • cli:
  • add -C alias for --conditions flag (Guy Bedford) #38755
  • deps:
  • add workspaces support to npm install commands (Ruy Adorno) #38750
  • Commits:
  • [4e58ec4aa6] - benchmark: output JSON-compatible numbers (Michaël Zasso) #38778
  • [7a9d0fd5a9] - benchmark: fix http elapsed time (Antoine du Hamel) #38743
  • [a98d631905] - bootstrap: include vm and contextify binding into the snapshot (Joyee Cheung) #38677
  • [f1628960e1] - build: remove outdated dont-land-on-v6.x label (Michaël Zasso) #38886
  • [6986154b30] - build: work around bug in MSBuild v16.10.0 (Michaël Zasso) #38873
  • [24cca7c5ea] - build: add lto build to CI (Jiawen Geng) #38567
  • [80c32b7a9a] - build: allow LTO with Clang 3.9.1+ (Jesse Chan) #38751
  • [e9be2095cf] - build: replace non-POSIX test -a|o (Issam E. Maghni) #38731
  • [717a8b63e1] - child_process: retain reference to data with advanced serialization (Anna Henningsen) #38728
  • [bc8400122c] - (SEMVER-MINOR) cli: add -C alias for --conditions flag (Guy Bedford) #38755
  • [eb7c932a6d] - debugger: revise async iterator usage to comply with lint rules (Rich Trott) #38847
  • [f1000e0e52] - debugger: removed unused function argument (Rich Trott) #38850
  • [ee1056da60] - debugger: wait for V8 debugger to be enabled (Michaël Zasso) #38811
  • [47ad448def] - deps: upgrade npm to 7.15.1 (npm-robot) #38880
  • [e8192b5e89] - deps: upgrade npm to 7.14.0 (Ruy Adorno) #38750
  • [15aaf14690] - deps: update llhttp to 6.0.2 (Fedor Indutny) #38665
  • [108ffdb68f] - doc: fixed typo in n-api.md (julianjany) #38822
  • [131a6918dd] - doc: use "Long Term Support" in collaborator guide (Rich Trott) #38841
  • [4844337cd7] - doc: use "Long Term Support" in technical values doc (Rich Trott) #38841
  • [f1e823b679] - doc: use "Long Term Support" in README (Philip) #38839
  • [4e11971a76] - doc: fix grammar in fs.md (yotamselementor) #38818
  • [e2f28c80d1] - doc: fixup code sample in http.md (TodorTotev) #38776
  • [96fa387082] - doc: document null target pattern (Guy Bedford) #38724
  • [5553be3f4e] - doc: update code examples for node:url module (fisker Cheung) #38645
  • [0c063a1258] - doc,url: clarify domainTo* when built without ICU (Darshan Sen) #38789
  • [2054efa02c] - events: refactor to use primordials in lib/events (Akhil Marsonya) #38117
  • [4884991a12] - lib: include url in bootstrap snapshot and remove unnecessary lazy-loads (Joyee Cheung) #38826
  • [08ad2f6c18] - lib: fix typos (bl-ue) #38846
  • [7d3a8cb854] - lib: remove unnecessary lazy loads (Joyee Cheung) #38737
  • [5d9442a024] - lib: load internal/fs/watchers and internal/fs/read_file_context early (Joyee Cheung) #38737
  • [2268d1cf4c] - lib: refactor to reuse validators (Rongjian Zhang) #38608
  • [496f7eae92] - node-api: fix shutdown crashes (Michael Dawson) #38492
  • [e1195312b9] - (SEMVER-MINOR) os: add os.devNull (Luigi Pinca) #38569
  • [7ba305552f] - src: set PromiseHooks by Environment (Bryan English) #38821
  • [74205b3542] - src: replace autos in node_api.cc (Khaidi Chu) #38852
  • [120849f609] - src: cache necessary isolate & context in api/* (Khaidi Chu) #38366
  • [f25cd4f377] - src: fix typos (bl-ue) #38845
  • [a1b0e64187] - src: support fs_event_wrap binding in the snapshot (Joyee Cheung) #38737
  • [36d4a4331d] - src: remove redundant v8 namespaces in env.cc (Juan José Arboleda) #38792
  • [3e6b3b22c5] - src: use SPrintF in ProcessEmitWarning (Darshan Sen) #38758
  • [9ca5c0e29e] - src: fix compiler warnings in node_buffer.cc (Darshan Sen) #38722
  • [3741595289] - src: set CONF_MFLAGS_DEFAULT_SECTION for OpenSSL 3 (Daniel Bevenius) #38732
  • [4e3353223e] - src: use HandleScope in StreamReq::Done() (Darshan Sen) #38720
  • [c576311954] - src: remove commented code in node_file.cc (Juan José Arboleda) #38693
  • [61c95f08b3] - src: write named pipe info in diagnostic report (legendecas) #38637
  • [ba96f14233] - src: remove unused iostream library (Juan José Arboleda) #38694
  • [f5dd85bbe6] - src: remove more extra semis from member fns (Shelley Vohr) #38744
  • [a47fd67154] - src: replace autos in node_contextify.cc (Khaidi Chu) #38644
  • [9054d25acc] - stream: add a non-destroying iterator to Readable (Nitzan Uziely) #38526
  • [4131f94ca8] - stream: allow empty string as source of pipeline (Qingyu Deng) #38723
  • [0aa3cb5c0e] - test: improve coverage of fs internal utils (Rongjian Zhang) #38746
  • [48ebebd2a8] - test: remove unnecessary --pending-deprecation flag (Antoine du Hamel) #38819
  • [3c492baa51] - test: fix writefile with fd (Nitzan Uziely) #38820
  • [e91d14c57c] - test: simplify test-path-resolve.js (himself65) #38671
  • [1f5baaa2e7] - test: improve coverage for question in readline (Qingyu Deng) #38799
  • [6d86f8afd5] - test: os, replace custom flatten method with built-in Array.flat (Wael Almattar) #38770
  • [c7a58578dc] - test: set locale for datetime-change-notify test (ZiJian Liu) #38741
  • [695e982a42] - test: improve coverage of lib/fs.js (Rongjian Zhang) #38604
  • [11ac9c6fcc] - test: improve coverage of lib/_http_outgoing.js (Rongjian Zhang) #38734
  • [6da4aa30c6] - test: give js-native-api tests consistent names (Gabriel Schulhof) #38692
  • [929e8df1c0] - test: improve coverage of stream.Readable (Rongjian Zhang) #38702
  • [36ffd58105] - tools: refloat 7 Node.js patches to cpplint.py (Rich Trott) #38851
  • [6b8c712247] - tools: bump cpplint to 1.5.5 (Rich Trott) #38851
  • [be8d934679] - tools: remove exception for Node.js 8 and earlier (Rich Trott) #38840
  • [c0bde0cd4a] - tools: update setup-node to setup-node@v2 (pengjie) #38825
  • [21ce3af904] - tools: update ESLint to 7.27.0 (Luigi Pinca) #38764
  • [ab44106555] - tools: use PrintCaughtException in the snapshot builder (Joyee Cheung) #38745
  • [30c0020885] - typings: add JSDoc typings for https (Voltrex) #38589
  • [7fb809b475] - typings: add JSDoc typings for events (Voltrex) #38712
  • [7773d58f1a] - url: exit early when : delimiter is seen in hostname (Timothy Gu) #38742
  • [a2da9e254c] - worker: use rwlock for sibling group (Anna Henningsen) #38783
  • [18f3ba3674] - worker: leave TODO comments for using std::variant when possible (Anna Henningsen) #38788

New in Node.js 16.2.0 Current (May 19, 2021)

  • Notable Changes:
  • [36b948560c] - (SEMVER-MINOR) async_hooks: use new v8::Context PromiseHook API (Stephen Belanger) #36394
  • [c0deeeacb2] - lib: support setting process.env.TZ on windows (James M Snell) #38642
  • [4c4902748c] - (SEMVER-MINOR) module: add support for URL to import.meta.resolve (Antoine du Hamel) #38587
  • [c182198c44] - (SEMVER-MINOR) process: add 'worker' event (James M Snell) #38659
  • [fbf02e3198] - (SEMVER-MINOR) util: add util.types.isKeyObject and util.types.isCryptoKey (Filip Skokan) #38619
  • Commits:
  • [36b948560c] - (SEMVER-MINOR) async_hooks: use new v8::Context PromiseHook API (Stephen Belanger) #36394
  • [dcae03203e] - buffer: remove TODOs in atob / btoa (Khaidi Chu) #38548
  • [48b557e904] - buffer: remove unreachable code (Rongjian Zhang) #38537
  • [b0df28dea5] - build: add workaround for V8 builds (Richard Lau) #38632
  • [3bb12db255] - build: remove dependency on distutils.spawn (Richard Lau) #38600
  • [10aaf30da1] - build: add missing torque output sources (Richard Lau) #38576
  • [03b4a3a5bf] - build: compile with -std=gnu++14 (Darshan Sen) #38504
  • [4296591154] - build,src,test,doc: enable FIPS for OpenSSL 3.0 (Daniel Bevenius) #38633
  • [36bb8daba5] - crypto: forbid NODE-ED25519 and NODE-ED448 "raw" key export (Filip Skokan) #38668
  • [36bb7243ff] - debugger: refactor inspect_repl to use primordials (Antoine du Hamel) #38551
  • [16a6c8d5a6] - debugger: refactor to use internal modules (Antoine du Hamel) #38550
  • [11dd9a6838] - debugger: disable only the lint rules required by current file state (Rich Trott) #38529
  • [e79f540fa0] - debugger: avoid non-ASCII char in code file (Rich Trott) #38529
  • [d9867b9358] - debugger: wrap lines longer than 80 chars (Rich Trott) #38529
  • [352a600142] - debugger: rename inspector-cli test module to debugger (Rich Trott) #38530
  • [608d0e11f3] - deps: upgrade npm to 7.13.0 (Ruy Adorno) #38682
  • [5c71f49d3f] - deps: upgrade npm to 7.12.1 (Ruy Adorno) #38628
  • [ec2dbfb200] - deps: patch V8 to 9.0.257.25 (Michaël Zasso) #38556
  • [ab298723b5] - (SEMVER-MINOR) deps: V8: cherry-pick fa4cb172cde2 (Stephen Belanger) #36394
  • [a84e9b3e7d] - (SEMVER-MINOR) deps: V8: cherry-pick 4c074516397b (Stephen Belanger) #36394
  • [043b1aaa3f] - (SEMVER-MINOR) deps: V8: cherry-pick 5f4413194480 (Stephen Belanger) #36394
  • [1a104bac74] - (SEMVER-MINOR) deps: V8: cherry-pick 272445f10927 (Stephen Belanger) #36394
  • [827ae05538] - (SEMVER-MINOR) deps: V8: backport c0fceaa0669b (Stephen Belanger) #36394
  • [f31a6114a4] - deps: V8: cherry-pick 530080c44af2 (Milad Fa) #38489
  • [4001dd28ba] - dgram: extract cluster lazy loading method to make it testable (Rongjian Zhang) #38563
  • [a0dc194e31] - doc: document buffer.kStringMaxLength (Tobias Nießen) #38688
  • [8590c151cd] - doc: update abort signal in fs promise api example (Moritz Kneilmann) #38669
  • [0100a3b026] - doc: add documentation for fs.WriteStream.close() (Hitesh Sharma) #38610
  • [5c38a554ec] - doc: clarify synchronous blocking of Worker stdio (James M Snell) #38658
  • [1765e32c45] - doc: update contact info (Gabriel Schulhof) #38689
  • [c4b161cb89] - doc: change color of doctag on night mode (Qingyu Deng) #38652
  • [6620a3182e] - doc: add ESM code examples in url.md (Antoine du Hamel) #38651
  • [d3de0ef5d4] - doc: fix fs.openSync() signature (Luigi Pinca) #38591
  • [56bf6c1bcd] - doc: typo stats() should be stat(); clarity (Bryan Field) #38541
  • [1d9fd49f41] - doc: fix code example in ecdh.setPublicKey() (Jordan Baczuk) #38542
  • [4c70e42928] - doc: use HEAD instead of master for links (Antoine du Hamel) #38518
  • [ae9128ec61] - doc: clarify DiffieHellmanGroup class docs (Nitzan Uziely) #38363
  • [e59131d97f] - doc: fix broken AHAFS link in fs doc (Rich Trott) #38534
  • [e9d4c8587a] - doc: use AIX instead of Aix in fs.md (Rich Trott) #38535
  • [e0118f347a] - doc: remove extraneous dash from flag prefix (Rodolfo Carvalho) #38532
  • [9e10e1a76f] - doc: corrected workload name as per the latest VS Installer (MrJithil) #38500
  • [38644d6f96] - doc: use sentence case in headers in src/crypto/README.md (Rich Trott) #38524
  • [347b9f2304] - errors: remove input from ERR_INVALID_URL message (moander) #38614
  • [5b40e2f596] - events: use nullish coalencing operator (Voltrex) #38328
  • [3a5856cbc3] - fs: fix async iterator partial writes (Nitzan Uziely) #38615
  • [e8761186a5] - fs: fix error when writing buffers > INT32_MAX (Zach Bjornson) #38546
  • [47080bcfc8] - fs: use assert in fsCall argument checking (Rongjian Zhang) #38519
  • [3d8b8e133f] - http: refactor to remove redundant argument of _deferToConnect (Rongjian Zhang) #38598
  • [c0deeeacb2] - lib: support setting process.env.TZ on windows (James M Snell) #38642
  • [cf4dc80d5f] - lib: make IterableWeakMap safe to iterate (Antoine du Hamel) #38523
  • [90b640efb1] - meta: add v8 team (Jiawen Geng) #38566
  • [4c4902748c] - (SEMVER-MINOR) module: add support for URL to import.meta.resolve (Antoine du Hamel) #38587
  • [14a2a00cda] - node-api: faster threadsafe_function (Fedor Indutny) #38506
  • [be4b3a4164] - path: inline conditions (Voltrex) #38613
  • [c182198c44] - (SEMVER-MINOR) process: add 'worker' event (James M Snell) #38659
  • [e2b8454582] - repl: fix Ctrl+C on top level await (Antoine du Hamel) #38656
  • [718ad105e5] - src: fix fatal errors when a current isolate not exist (legendecas) #38624
  • [524a9d6fcd] - src: update cares_wrap OpenBSD defines (Anna Henningsen) #38670
  • [6b409cf664] - src: remove extra semi after member fn (Shelley Vohr) #38686
  • [bfec80fd66] - src: make workers messaging more resilient (Juan José Arboleda) #38510
  • [ff1b4322f5] - test: refactor test-readline-interface to be shorter (Juan José Arboleda) #38691
  • [8eea317227] - test: stream.finished detects a destroyed IncomingMessage (Nitzan Uziely) #38661
  • [5b25fbe266] - test: set common.bits to 64 for riscv64 (Andreas Schwab) #38626
  • [5a0b52120a] - test: improve coverage of lib/_http_client.js (Rongjian Zhang) #38599
  • [3d0fad3840] - test: improve coverage of lib/os.js (Rongjian Zhang) #38653
  • [16b2fb4e0c] - test: increase coverage for repl (ZiJian Liu) #38559
  • [8f78c6646e] - test: call functions internally (Voltrex) #38560
  • [178fe215a4] - test: increase coverage for Histogram (ZiJian Liu) #38555
  • [95db7d5afc] - test: improve fs coverage (Rongjian Zhang) #38517
  • [f2f768f261] - test: complete coverage of querystring (Rongjian Zhang) #38520
  • [5b44107ae9] - test: increase coverage for AbortController (ZiJian Liu) #38514
  • [662265074c] - test: increase coverage for Blob (ZiJian Liu) #38515
  • [89e1daccf3] - test: run message and pseudo-tty tests in parallel (Richard Lau) #38502
  • [727c2bcc24] - test: move test-net-connect-econnrefused from pummel to sequential (Rich Trott) #38462
  • [e64ebac2da] - test: fix flaky inspector-cli tests when breakpionts are restored (Rich Trott) #38431
  • [b51b4feece] - test: skip tests for openssl-3.0.0-alpha15 (Daniel Bevenius) #38451
  • [db5ee23edf] - test: update OpenSSL 3.0.0-alpha15 error messages (Daniel Bevenius) #38451
  • [24472d9e0c] - test,repl: fix tests when inspector is disabled (Antoine du Hamel) #38564
  • [267a84f5e1] - tools: remove redundant v8 config (Jiawen Geng) #38565
  • [a028805f1b] - tools: update ESLint to 7.26.0 (Colin Ihrig) #38605
  • [ec8ab22ce6] - (SEMVER-MINOR) tools: add Worker to type-parser (James M Snell) #38659
  • [151488539b] - tools: make GH Actions workflows work if default branch is not master (Antoine du Hamel) #38516
  • [c0f0c9a92d] - typings: add JSDoc typings for readline (Voltrex) #38253
  • [fbf02e3198] - (SEMVER-MINOR) util: add util.types.isKeyObject and util.types.isCryptoKey (Filip Skokan) #38619
  • [070ee4bb94] - Revert "worker: remove ERR_CLOSED_MESSAGE_PORT" (Juan José Arboleda) #38510

New in Node.js 14.17.0 LTS (May 19, 2021)

  • Notable Changes:
  • Diagnostics channel (experimental module):
  • diagnostics_channel is a new experimental module that provides an API to create named channels to report arbitrary message data for diagnostics purposes.
  • The module was initially introduced in Node.js v15.1.0 and is backported to v14.17.0 to enable testing it at a larger scale.
  • With diagnostics_channel, Node.js core and module authors can publish contextual data about what they are doing at a given time. This could be the hostname and query string of a mysql query, for example. Just create a named channel with dc.channel(name) and call channel.publish(data) to send the data to any listeners to that channel.
  • Channels are like one big global event emitter but are split into separate objects to ensure they get the best performance. If nothing is listening to the channel, the publishing overhead should be as close to zero as possible. Consuming channel data is as easy as using channel.subscribe(listener) to run a function whenever a message is published to that channel.
  • The data captured can be used to provide context for what an app is doing at a given time. This can be used for things like augmenting tracing data, tracking network and filesystem activity, logging queries, and many other things. It's also a very useful data source for diagnostics tools to provide a clearer picture of exactly what the application is doing at a given point in the data they are presenting.
  • UUID support in the crypto module:
  • The new crypto.randomUUID() method now allows to generate random RFC 4122 Version 4 UUID strings
  • Experimental support for AbortController and AbortSignal:
  • Node.js 14.17.0 adds experimental partial support for AbortController and AbortSignal.
  • Both constructors can be enabled globally using the --experimental-abortcontroller flag.
  • Additionally, several Node.js APIs have been updated to support AbortSignal for cancellation. It is not mandatory to use the built-in constructors with them. Any spec-compliant third-party alternatives should be compatible.
  • AbortSignal support was added to the following methods:
  • child_process.exec
  • child_process.execFile
  • child_process.fork
  • child_process.spawn
  • dgram.createSocket
  • events.on
  • events.once
  • fs.readFile
  • fs.watch
  • fs.writeFile
  • http.request
  • https.request
  • http2Session.request
  • The promisified variants of setImmediate and setTimeout
  • Other notable changes:
  • doc:
  • revoke deprecation of legacy url, change status to legacy (James M Snell) #37784
  • add legacy status to stability index (James M Snell) #37784
  • upgrade stability status of report API (Gireesh Punathil) #35654
  • deps:
  • V8: Backport various patches for Apple Silicon support (BoHong Li) #38051
  • update ICU to 68.1 (Michaël Zasso) #36187
  • upgrade to libuv 1.41.0 (Colin Ihrig) #37360
  • http:
  • add http.ClientRequest.getRawHeaderNames() (simov) #37660
  • report request start and end with diagnostics_channel (Stephen Belanger) #34895
  • util:
  • add getSystemErrorMap() impl (eladkeyshawn) #38101
  • Commits:
  • [9fb10dc4e7] - assert,util: fix commutativity edge case (Ruben Bridgewater) #37711
  • [2bbf253b00] - benchmark: changed fstat to fstatSync (Narasimha Prasanna HN) #36206
  • [c00c31c3c5] - benchmark: improve compare.R output (Brian White) #38118
  • [a191bc7761] - benchmark: add benchmark for fsPromises.writeFile (Nitzan Uziely) #37610
  • [d2770a5608] - benchmark: add benchmark for NODE_V8_COVERAGE (Benjamin Coe) #36972
  • [4318e708b8] - benchmark: make output RFC 4180 compliant (Tobias Nießen) #37038
  • [0fbeab7a95] - benchmark: improve explanations in R script (Tobias Nießen) #36995
  • [c22efc5191] - benchmark: fix http2 benchmarks (Rich Trott) #36871
  • [682d0a92db] - benchmark: fix http/headers.js with test-double (Rich Trott) #36794
  • [3a11ee88a2] - benchmark: add simple https benchmark (Andrey Pechkurov) #36612
  • [681c4afc51] - benchmark: reduce code duplication (Rich Trott) #36568
  • [f28eea0896] - benchmark,child_process: remove failing benchmark parameter (Antoine du Hamel) #36295
  • [bf2d9f25d4] - (SEMVER-MINOR) buffer: implement btoa and atob (James M Snell) #37529
  • [0544410328] - buffer,errors: add missing n literal in range error string (Cactysman) #37750
  • [5667d0a540] - build: don't run test workflow on doc dir on macOS (ycjcl868) #37999
  • [079d90b9f3] - build: package release changelog for releases (Richard Lau) #38033
  • [5c74dc7227] - build: refactor Makefile (raisinten) #36759
  • [38921b3805] - build: do not "exit" a script meant to be "source"d (François-Denis Gonthier) #35520
  • [dcbcd9e045] - build: run some workflows only on nodejs/node (Michaël Zasso) #36507
  • [cda0a80713] - build: fix typo in Makefile (raisinten) #36176
  • [d8f8719415] - build: do not pass mode option to test-v8 command (Michaël Zasso) #38275
  • [f62b138278] - build: fix label-pr workflow (Michaël Zasso) #38399
  • [1250db9206] - build: label PRs with GitHub Action instead of nodejs-github-bot (Phillip Johnsen) #38301
  • [9ccf7dbe2d] - build,lib,test: change whitelist to allowlist (Michaël Zasso) #36406
  • [385e8e8d7b] - (SEMVER-MINOR) child_process: support AbortSignal in fork (Benjamin Gruenbaum) #36603
  • [0b691ce57e] - (SEMVER-MINOR) child_process: add signal support to spawn (Benjamin Gruenbaum) #36432
  • [6c08c9de4a] - child_process: clean event listener correctly (Benjamin Gruenbaum) #36424
  • [a5c0f39197] - (SEMVER-MINOR) child_process: add AbortSignal support (Benjamin Gruenbaum) #36308
  • [aa5b726f83] - (SEMVER-MINOR) child_process: add ChildProcess 'spawn' event (Matthew Francis Brunetti) #35369
  • [723977feaa] - crypto: reduce range of size to int max (Qingyu Deng) #38096
  • [46ece20fe3] - crypto: fix DiffieHellman argument validation (Antoine du Hamel) #37810
  • [00659a9218] - crypto: fix randomInt bias (Tobias Nießen) #36894
  • [08f9130888] - (SEMVER-MINOR) crypto: implement randomuuid (James M Snell) #36729
  • [8951c19e72] - deps: V8: cherry-pick 501482cbc704 (Colin Ihrig) #38121
  • [ea0b0697c3] - deps: update nghttp2 to 1.42.0 (Michaël Zasso) #36842
  • [5747dff04e] - deps: update to c-ares 1.17.1 (Danny Sonnenschein) #36207
  • [329ee8bbc3] - deps: V8: cherry-pick bbc59d124ef3 (Michaël Zasso) #38275
  • [bda15149f8] - deps: V8: cherry-pick be91c6c50818 (Michaël Zasso) #38275
  • [16a005cfa0] - deps: V8: cherry-pick 4e24c353d812 (Michaël Zasso) #38275
  • [42140a12f2] - deps: V8: cherry-pick eddb82330975 (Michaël Zasso) #38275
  • [4d0bc3839a] - deps: V8: cherry-pick 6771d3e31883 (Michaël Zasso) #38275
  • [982937893e] - deps: V8: cherry-pick f44fcbf803ac (Michaël Zasso) #38275
  • [fa45d6a358] - deps: V8: cherry-pick 93b2105fbe44 (Michaël Zasso) #38275
  • [c5fe3a226a] - deps: V8: cherry-pick 1a7d55a9a427 (Michaël Zasso) #38275
  • [7dd68ac5b6] - deps: V8: cherry-pick 8ebd894186ed (Michaël Zasso) #38275
  • [a4a9246ea1] - deps: V8: cherry-pick 1e35f6472510 (Michaël Zasso) #38275
  • [9bfb0f33e9] - deps: V8: cherry-pick 3066b7b2fcb3 (Michaël Zasso) #38275
  • [5dc82469d5] - deps: V8: cherry-pick 254c7945eea2 (Michaël Zasso) #38275
  • [77b7a3b710] - deps: V8: cherry-pick 5678ebe8f6c4 (Michaël Zasso) #38275
  • [0bd8e14501] - deps: V8: cherry-pick 813066946968 (Michaël Zasso) #38275
  • [d221cdc97c] - deps: V8: cherry-pick d2283ba066ba (Michaël Zasso) #38275
  • [26cc160565] - deps: V8: cherry-pick 53c4d057974a (Michaël Zasso) #38275
  • [05530e8333] - deps: V8: cherry-pick e527ba4bf8af (Michaël Zasso) #38275
  • [fdb4a0c170] - deps: V8: cherry-pick 5c6c99a8dc72 (Michaël Zasso) #38275
  • [42552a7eda] - deps: V8: cherry-pick ad2c5dae4688 (Michaël Zasso) #38275
  • [aff53dd8b3] - deps: V8: cherry-pick 482e5c7750b3 (Michaël Zasso) #38275
  • [931d31a2cb] - deps: V8: cherry-pick 412ac52d8246 (Michaël Zasso) #38275
  • [e99e456757] - deps: V8: cherry-pick c449afa1953b (Michaël Zasso) #38275
  • [18a4cbfb52] - deps: V8: cherry-pick 3ba21a17ce2f (Michaël Zasso) #38275
  • [70f622b542] - deps: V8: cherry-pick 8c725f7b5bbf (Michaël Zasso) #38275
  • [0e6976f5ee] - deps: V8: cherry-pick ed3eedae33d0 (Michaël Zasso) #38275
  • [86c7c0ae4e] - deps: V8: cherry-pick 6a4cd97d6691 (Michaël Zasso) #38275
  • [b10cce1b87] - deps: V8: cherry-pick d724820c1d5d (Michaël Zasso) #38275
  • [aaeeb75a99] - deps: V8: cherry-pick 33f4064dbad3 (Michaël Zasso) #38275
  • [b0d1a060e2] - deps: V8: cherry-pick abb4d0a431c0 (Michaël Zasso) #38275
  • [5372f1ff5b] - deps: V8: cherry-pick a59e3ac1d7fa (Michaël Zasso) #38275
  • [31154a5611] - deps: V8: cherry-pick 516b5d3f9cfe (Michaël Zasso) #38275
  • [fc8f1b7f0a] - deps: upgrade npm to 6.14.13 (Ruy Adorno) #38214
  • [0c1e878c4c] - deps: backport v8 f19142e6 (Guy Bedford) #37864
  • [dd5da301c8] - deps: backport v8 5f90cfd7 (Guy Bedford) #37973
  • [d56079ab9b] - deps: update to [email protected] (Guy Bedford) #38002
  • [866e3244da] - deps: V8: Backport various patches for Apple Silicon support (BoHong Li) #38051
  • [16b59c62ff] - deps: cherry-pick 8957d4677aa794c230577f234071af0 from V8 upstream (Antoine du Hamel) #37471
  • [5707adaf33] - deps: V8: cherry-pick 0c8b6e415c30 (Matin Zadehdolatabad) #37276
  • [7d247f1691] - deps: V8: cherry-pick 1d0f426311d4 (Ole André Vadla Ravnås) #35986
  • [14a87a5a01] - deps: V8: cherry-pick 4e077ff0444a (Ole André Vadla Ravnås) #35986
  • [507c2f2101] - deps: V8: cherry-pick 086eecbd96b6 (Ole André Vadla Ravnås) #35986
  • [31f8610a02] - deps: V8: cherry-pick 27e1ac1a79ff (Ole André Vadla Ravnås) #35986
  • [6b115d762d] - deps: patch V8 to 8.4.371.23 (Michaël Zasso) #38001
  • [a92ecf0081] - deps: v8 backport 9689b17687b (Guy Bedford) #37865
  • [3e8ceed0eb] - deps: update ICU to 68.2 (Michaël Zasso) #36980
  • [2d7e0b6912] - deps: update ICU to 68.1 (Michaël Zasso) #36187
  • [bfba66dbd6] - deps: upgrade to libuv 1.41.0 (Colin Ihrig) #37360
  • [e446d82394] - deps: V8: cherry-pick beebee4f80ff (Peter Marshall) #37293
  • [ae1fa98496] - deps: cherry-pick f4376ec801e1ded from V8 upstream (Daniel Bevenius) #37225
  • [81cd06b3c6] - (SEMVER-MINOR) dgram: support AbortSignal in createSocket (Nitzan Uziely) #37026
  • [46651b63c1] - dns: refactor cares_wrap internals (James M Snell) #38172
  • [8715462f47] - (SEMVER-MINOR) dns: add a cancel() method to the promise Resolver (Szymon Marczak) #33099
  • [0f126d0e05] - dns: fix trace_events name for resolveCaa() (Rich Trott) #35979
  • [ed79c98683] - (SEMVER-MINOR) dns: add setLocalAddress to Resolver (Josh Dague) #34824
  • [2e7f74c8a5] - doc: harmonize changes list ordering (Antoine du Hamel) #35454
  • [885ed96540] - doc: fix typo in repl.md (Arkerone) #38244
  • [92650278eb] - doc: change "oject" to "object" (Arkerone) #38256
  • [5dfe5af155] - doc: revise TLS minVersion/maxVersion text (Rich Trott) #38202
  • [e6c599b680] - doc: standardize command flag notes (Ferdi) #38199
  • [bb8db846b3] - doc: clarify child_process close event (Nitzan Uziely) #38181
  • [be28376140] - doc: add command flag to import.meta.resolve (Ferdi) #38171
  • [c7c8722ba3] - doc: update links in ICU guide (Michaël Zasso) #38177
  • [4350bf5a0b] - doc: mention cryptographic prng in description of randomUUID (Serkan Özel) #38074
  • [424c8e1eb9] - doc: add link to V8 (Voltrex) #38144
  • [ecc85516cf] - doc: improve security text in collaborators guide (Rich Trott) #38107
  • [6c970ba2d4] - doc: apply consistent punctuation to header contributing guide (Akhil Marsonya) #38047
  • [aff0cd3ea6] - doc: sending http request to localhost to avoid https redirect (Hassaan Pasha) #38036
  • [56aaf7010c] - doc: apply sentence case to backporting-to-release-lines.md headers (marsonya) #37617
  • [8615fa1983] - doc: add parentheses to function and move reference (Rich Trott) #38066
  • [5d2f0d0c4e] - doc: change wording in doc/api/domain.md comment (Akhil Marsonya) #38044
  • [ac59022106] - doc: fix asyncLocalStorage.run() description (Darkripper214) #38023
  • [df54edc668] - doc: document how to unref stdin when using readline.Interface (Anu Pasumarthy) #38019
  • [21bc5d4bd4] - doc: move psmarshall to collaborators emeriti (Peter Marshall) #37994
  • [69c4bfd750] - doc: add distinctive color for code elements inside links (Antoine du Hamel) #37950
  • [35a382e814] - doc: add Windows-specific info to subprocess.kill() (João Lucas Lucchetta) #34867
  • [2a5f21f9cd] - doc: fix typos in lib/internal/bootstrap/pre_execution.js (marsonya) #37658
  • [9f1f2153e9] - doc: add more commands for cherry-picking and changelog to release docs (Danielle Adams) #37785
  • [dd1c47bbf3] - doc: spell out ICU acronym on first occurrence (Rich Trott) #37942
  • [585f1119a3] - doc: update GOVERNANCE.md for TSC Charter changes (Rich Trott) #37888
  • [b51651cfc5] - doc: reduce header nesting in async_hooks.md (Rich Trott) #37839
  • [7789159009] - doc: add examples for WHATWG URL objects (James M Snell) #37822
  • [b31bb72c10] - doc: clarify when child process 'spawn' event is *not* emitted (Matthew Francis Brunetti) #37833
  • [9166653aef] - doc: fix legacy stability indicator display (Rich Trott) #37838
  • [2e0266de5b] - doc: use sentence-style capitlaztion in template header (Rich Trott) #37837
  • [1b83242772] - doc: add Ayase-252 to triagers (Qingyu Deng) #37781
  • [89418e8758] - doc: use sentence case in issues.md headers (marsonya) #37537
  • [66502fc186] - doc: move Derek Lewis back to collaborators (Derek Lewis) #37726
  • [0d720a4a5c] - doc: apply style for legacy status (James M Snell) #37784
  • [c8383dd99f] - doc: revoke deprecation of legacy url, change status to legacy (James M Snell) #37784
  • [e34aace62b] - doc: add legacy status to stability index (James M Snell) #37784
  • [b2d3ac835c] - doc: add @linkgoron to collaborators (Nitzan Uziely) #37817
  • [a27534e883] - doc: fix AbortError example for timers (dbachko) #37738
  • [14a160ae04] - doc: fix typo in stream docs (Ian Kerins) #37716
  • [fe0f6a53a6] - doc: add gyp maintain info (Jiawen Geng) #37765
  • [6d7c7bc8d9] - doc: add marsonya as a triager (marsonya) #37667
  • [5f2da5af42] - doc: add hints to http.request() options (Luigi Pinca) #37745
  • [02cd4044da] - doc: fix link to googletest fixtures (Tobias Nießen) #37698
  • [85a293bdfc] - doc: fix typo in description of close event (Tobias Nießen) #37662
  • [3a6e40530c] - doc: use sentence case in README.md headers (marsonya) #37645
  • [c51a60cd05] - doc: add localPort to http.request() options (Luigi Pinca) #37586
  • [b0840ac680] - doc: fix typo in doc/guides/collaborator-guide.md (marsonya) #37643
  • [5ef2a8de25] - doc: document that module.evaluate fulfills as undefined (James M Snell) #37663
  • [b192227a95] - doc: add return type of readline.createInterface (Darshan Sen) #37600
  • [68d5cb80de] - doc: apply sentence case to headers in pull-requests.md (marsonya) #37602
  • [183dba0dd8] - doc: add top-level await syntax in vm.md (Antoine du Hamel) #37077
  • [1dc7f426aa] - doc: clarify that columnOffset applies only to the first line (James M Snell) #37563
  • [c21731b39f] - doc: document that NODE_EXTRA_CA_CERTS is read only once (James M Snell) #37562
  • [0255ed7e8e] - doc: fix typo in doc/api/packages.md (marsonya) #37536
  • [52c0f0bf0f] - doc: revise LTS text in collaborator guide (Rich Trott) #37527
  • [fdc6a96d49] - doc: revise CI text in collaborator guide (Rich Trott) #37526
  • [c62a1345bb] - doc: revise objections section of collaborator guide (Rich Trott) #37525
  • [adc75368ba] - doc: revise premature disclosure text in collaborator guide (Rich Trott) #37524
  • [1b851461b1] - doc: change links to use HEAD in top level docs (Michael Dawson) #37494
  • [64ed65ecc4] - doc: apply sentence case to headers in doc/guides (marsonya) #37506
  • [ff1990c409] - doc: add url.resolve replacement example (Antoine du Hamel) #37501
  • [52b3b54c14] - doc: apply sentence case to guides headers (marsonya) #37497
  • [da2cd4a48a] - doc: update CI requirements for landing pull requests (Antoine du Hamel) #37308
  • [2082f5bd68] - doc: recommend queueMicrotask over process.nextTick (James M Snell) #37484
  • [099eef6a84] - doc: apply sentence case to headers in doc/guides (marsonya) #37478
  • [a0bab6915e] - doc: fix typo in doc/api/http2/md (marsonya) #37479
  • [3e82263877] - doc: alphabetize vm Module class properties (Rich Trott) #37451
  • [e6f804b0af] - doc: alphabetize crypto Cipher class entries (Rich Trott) #37450
  • [bb434a983c] - doc: use HEAD for links in api docs (Michael Dawson) #37437
  • [39ef3bd155] - doc: fix alignment of parameters (Michael Dawson) #37422
  • [8b60e66982] - doc: fix typo in doc/api/esm.md (marsonya) #37400
  • [605cb4cd4c] - doc: fix typo in esm.md (Jay Tailor) #37417
  • [74f0760a9b] - doc: use HEAD in links where possible (Michael Dawson) #37421
  • [4785755014] - doc: clarify that async_hook callbacks cannot be async (James M Snell) #37384
  • [07130c038f] - doc: add dmabupt to collaborators (Xu Meng) #37377
  • [2a3feff2f0] - doc: optimize HTML rendering (Antoine du Hamel) #37301
  • [8b5e42e031] - doc: fix quotes in stream docs (Tobias Nießen) #37269
  • [d426143f54] - doc: link PACKAGE_EXPORTS_RESOLVE to ESM section (Utku Gultopu) #37135
  • [debffd9b41] - doc: use sentence case in benchmark doc (Rich Trott) #37351
  • [f28a5c6e1e] - doc: apply sentence-consistently in C++ style guide (Rich Trott) #37350
  • [569ad98b9a] - doc: apply sentence case to release doc headers (Rich Trott) #37349
  • [7cf4a4b2b8] - doc: fix performanceEntry.flags style format (Cheng Liu) #37274
  • [5ade2fd207] - doc: fix typo in deprecations.md (marsonya) #37282
  • [5bc0a0d9f7] - doc: add version metadata for packages features (Antoine du Hamel) #37289
  • [b485a3e2d2] - doc: fix typo in /api/dns.md (marsonya) #37312
  • [a99456ce69] - doc: fix description of hasSubscribers (Tobias Nießen) #37324
  • [b7c9366979] - doc: discourage error event (Benjamin Gruenbaum) #37264
  • [8c41bc953e] - doc: fix misnamed SHASUMS256.txt name in README.md (marsonya) #37260
  • [b2ee1afb2e] - doc: fix typo in console.md (marsonya) #37279
  • [281d75cebb] - doc: use sentence case in README headers (Rich Trott) #37251
  • [8cffab6571] - doc: use sentence case for headers in BUILDING.md (Rich Trott) #37250
  • [0eaeaea454] - doc: rename N-API to Node-API (Gabriel Schulhof) #37259
  • [cb632e4040] - doc: fix version number for DEP006 (Antoine du Hamel) #37231
  • [e7415c374b] - doc: fix CHANGELOG_ARCHIVE table of contents (Antoine du Hamel) #37232
  • [2959c65632] - doc: fix typo in globals.md (Darshan Sen) #37228
  • [ad80e3de1e] - doc: fix 404 links in module.md (Antoine du Hamel) #37202
  • [e7ca9b6d71] - doc: fix color contrast on elements (Antoine du Hamel) #37185
  • [11d3e71f80] - doc: improve promise terminology (Benjamin Gruenbaum) #37181
  • [35cf86c83b] - doc: fix list format in Developer's Certificate of Origin (Akash Negi) #37138
  • [6264ac187a] - doc: clarify ERR_INVALID_REPL_INPUT usage (Rich Trott) #37143
  • [d340dca940] - doc: clarify repl exception conditions (Rich Trott) #37142
  • [26ec20a9b6] - doc: add example for test structure (Turner Jabbour) #35046
  • [8099bfb35c] - doc: remove TOC summary for pages with no TOC (Rich Trott) #37043
  • [b0c9b1fdfb] - doc: update Buffer encoding option count (Dave Cardwell) #37102
  • [af313a8495] - doc: update BUILDING.md previous versions links (Richard Lau) #37082
  • [b353549f7c] - doc: mention adding Fixes to collaborator onboarding PR (Joyee Cheung) #37097
  • [8ed0c17bee] - doc: add Zijian Liu to collaborators (ZiJian Liu) #37075
  • [87fcda8d3e] - doc: add tooltip for light/dark mode toggle (Rich Trott) #37044
  • [49f13743e5] - doc: improve AsyncLocalStorage introduction (Romuald Brillout) #36946
  • [b8080134a2] - doc: add missing comma in tty (Matthew Mario Di Pasquale) #37039
  • [1e2beeea99] - doc: list Unsupported Directory Import resolve err (Guy Bedford) #37032
  • [fb4eee132e] - doc: add missing ARIA label for button (Rich Trott) #37031
  • [f260f4a12f] - doc: add @RaisinTen to collaborators (Darshan Sen) #36998
  • [00075986f0] - doc: fix typo in http.server.requestTimout docs (alexbs) #36987
  • [b25b69418a] - doc: add performance notes for fs.readFile (James M Snell) #36880
  • [385d0df02d] - doc: clarify maxSockets option of http.Agent (Pooja D P) #36941
  • [792bea4e78] - doc: remove pull-requests.md preamble (Rich Trott) #36960
  • [d43492ee42] - doc: fix percentile range in perf_hooks.md (raisinten) #36938
  • [f39ee90c94] - doc: improve perf_hooks docs (Juan José Arboleda) #36909
  • [e990b11672] - doc: fix invalid HTML in doc template (Rich Trott) #36930
  • [e1c62dd977] - doc: remove issue template duplication from contributing docs (Rich Trott) #36908
  • [3c70f6842d] - doc: remove resolving-a-bug-report from contributing docs (Rich Trott) #36905
  • [308d361a79] - doc: use ESM syntax for WASI example (Antoine du Hamel) #36848
  • [189fae8618] - doc: add iansu to collaborators (Ian Sutherland) #36951
  • [28c80b514f] - doc: add alternative version links to the packages page (Filip Skokan) #36915
  • [ed5bb7673f] - doc: add miladfarca to collaborators (Milad Fa) #36934
  • [580b647ee4] - doc: update tls test to use better terminology (Michael Dawson) #36851
  • [fa82cbc4f7] - doc: remove unnecessary contributing.md section (Rich Trott) #36891
  • [583b2192d9] - doc: wrap TOC in a tag (Mattia Pontonio) #36896
  • [9a3cfa7069] - doc: fix indentation on http2 doc entry (Rich Trott) #36869
  • [7fbbdb831a] - doc: define "browser", "production", "development" (Guy Bedford) #36856
  • [5770ae057e] - doc: fix module syncBuiltinESMExports example (Bruce A. MacNaughton) #34284
  • [099d776e29] - doc: update release key for Danielle Adams (Danielle Adams) #36793
  • [57e27a3824] - doc: clarify child_process.exec inherits cwd (ugultopu) #36809
  • [f605bc00ae] - doc: clarify descriptions of _writev chunks argument (James M Snell) #36822
  • [cf0fa7fa2f] - doc: document buffer's "Uint" aliases clearly (Michaël Zasso) #36796
  • [5f36ff80b9] - doc: add dnlup to collaborators (Daniele Belardi) #36849
  • [c1ea23c55d] - doc: clarify subprocess.stdout/in/err/io properties (James M Snell) #36784
  • [19e61206f2] - doc: add dark mode (Ajay Poshak) #36313
  • [8620458966] - doc: revise method text in async_hooks.md (Rich Trott) #36736
  • [a800b5b698] - doc: clarify when messageerror is emitted (James M Snell) #36780
  • [e973bdc14e] - doc: avoid memory leak warning in async_hooks example (James M Snell) #36783
  • [1521a59002] - doc: clarify that --require only supports cjs (James M Snell) #36806
  • [dc15608661] - doc: clarify Buffer.from when using ArrayBuffer (James M Snell) #36785
  • [67a6e9c516] - doc: fix broken link for ChildProcess (James M Snell) #36788
  • [31039dbf63] - doc: revise exit() and run() text in async_hooks.md (Rich Trott) #36738
  • [844a15622f] - doc: clarify that N-API addons are context-aware (Alba Mendez) #36640
  • [8f48e77217] - doc: fix typo in esm documentation (Mohamed Kamagate) #36800
  • [095c69dce3] - doc: add panva to collaborators (Filip Skokan) #36802
  • [8bda9f4dce] - doc: reduce abbreviations in async_hooks.md (Rich Trott) #36737
  • [1a65b442f0] - doc: simplify pull request template (Rich Trott) #36739
  • [71b94e1ff7] - doc: clarify undocumented stream properties (James M Snell) #36715
  • [bcca52c11a] - doc: document common warning types (James M Snell) #36713
  • [97faeeb115] - doc: improve ALS.enterWith and exit descriptions (Andrey Pechkurov) #36705
  • [535bbc294a] - doc: add yashLadha to collaborator (Yash Ladha) #36666
  • [6293aea1d1] - doc: alphabetize http response properties (Rich Trott) #36631
  • [afb9534d65] - doc: correct callback parameter type for createPushResponse() (Rich Trott) #36631
  • [f65b842ee1] - doc: use _code name_ rather than _codename_ (Rich Trott) #36611
  • [12dc0e6a28] - doc: document return value of https.request (Michael Chen) #36370
  • [317a1d7a0d] - doc: remove replication of GitHub template (Rich Trott) #36590
  • [653492f2d4] - doc: remove "Related Issues" from pull request template (Rich Trott) #36590
  • [b57785d89b] - doc: update and run license-builder for Babel (Michaël Zasso) #36504
  • [e3c2d112eb] - doc: add remark about Collaborators discussion page (FrankQiu) #36420
  • [8b349187b8] - doc: add two tips for speeding the dev builds (Momtchil Momtchev) #36452
  • [6198d74cd3] - doc: add note about timingSafeEqual for TypedArray (Tobias Nießen) #36323
  • [d27028040e] - doc: move Derek Lewis to emeritus (Rich Trott) #36514
  • [cf9d476948] - doc: add issue reference to github pr template (Chinmoy Chakraborty) #36440
  • [760e593968] - doc: update url.md (Rock) #36147
  • [c32c109450] - doc: make explicit reverting node_version.h changes (Richard Lau) #36461
  • [647ec70419] - doc: add license info to the README (FrankQiu) #36278
  • [2ec839d974] - doc: revise addon mulitple initializations text (Rich Trott) #36457
  • [050b52f16b] - doc: add PoojaDurgad to collaborators (Pooja D P) #36511
  • [681d2a7176] - doc: edit addon text about event loop blocking (Rich Trott) #36448
  • [afad5e6be6] - doc: update terminology (Michael Dawson) #36475
  • [615a0aaf86] - doc: reword POSIX threads text in addons.md (Rich Trott) #36436
  • [94d41f22f0] - doc: add RaisinTen as a triager (raisinten) #36404
  • [cd065210a5] - doc: provide more context on techinical values (Michael Dawson) #36201
  • [f515156fab] - doc: add Powershell oneliner to get Windows version (Michael Bashurov) #30289
  • [280d1b09be] - doc: add process for handling premature disclosure (Michael Dawson) #36155
  • [9269352e45] - doc: add table header in intl.md (Rich Trott) #36261
  • [6201f23e12] - doc: adding example to Buffer.isBuffer method (naortedgi) #36233
  • [1d78d50127] - doc: fix typo in events.md (Luigi Pinca) #36231
  • [9b32c9c575] - doc: fix --experimental-wasm-modules text location (Colin Ihrig) #36220
  • [28149cff23] - doc: add missing version to update cmd (Ruy Adorno) #36204
  • [2d6494775b] - doc: fix invalid link in worker_threads.md (Rich Trott) #36109
  • [ec140d7160] - doc: fix events.getEventListeners example (Dmitry Semigradsky) #36085
  • [34d8a64c56] - doc: fix incorrect heading level (Bryan Field) #35965
  • [d9d7ebd0b4] - doc: make globals Extends usage consistent (Colin Ihrig) #33777
  • [2f7afd11a4] - doc: make perf_hooks Extends usage consistent (Colin Ihrig) #33777
  • [810b1d0cbb] - doc: make events Extends usage consistent (Colin Ihrig) #33777
  • [cf4fa79f17] - doc: recommend checking abortSignal.aborted first (James M Snell) #37714
  • [e93615c5e3] - doc: make AbortSignal text consistent in events.md (Rich Trott) #35005
  • [1a362d8d4b] - doc: revise AbortSignal text and example using events.once() (Rich Trott) #35005
  • [a7da993cff] - doc: stabilize packages features (Myles Borins) #35742
  • [b133034735] - doc: stabilize subpath patterns (Guy Bedford) #36177
  • [5a3e12b1ee] - doc: update fs.l/statSync API history for throwIfNoEntry (Andrew Casey) #36882
  • [7c9f3a9d0c] - doc: fix module.isPreloading documentation (Antoine du Hamel) #36944
  • [c1af59384d] - doc: mark modules implementation as stable (Guy Bedford) #35781
  • [9930b6b825] - doc: update buffer.constants.MAX_LENGTH (Qingyu Deng) #38109
  • [c975a8ded1] - doc: fix maintaining ICU guide (Michaël Zasso) #36980
  • [d1004d26e4] - doc: fix typo in BUILDING.md (raisinten) #35807
  • [f41c28cf4b] - doc: fix YAML lint error on master (Rich Trott) #35709
  • [4a768bc13b] - doc: upgrade stability status of report API (Gireesh Punathil) #35654
  • [a3c564bead] - doc,child_process: pid can be undefined when ENOENT (dr-js) #37014
  • [404327563a] - doc,tools: allow stability table to be updated (Richard Lau) #38048
  • [eb6ea8501b] - doc,tools: use only one level 1 header per page (Rich Trott) #37839
  • [73c1999d0c] - docs: add references to punycode.md (Isaac Levy) #36761
  • [bd38dfbfcc] - domain: add name to monkey-patched emit function (Colin Ihrig) #37550
  • [13d972dd86] - domain: show falsy names as anonymous for DEP0097 (Colin Ihrig) #37550
  • [3f43743c9d] - domain: make node resilient to Array prototype tempering (Antoine du Hamel) #36676
  • [4807499d21] - domain: improve deprecation warning text for DEP0097 (Anna Henningsen) #36136
  • [b01c496e34] - errors: do not call resolve on URLs with schemes (Benjamin Coe) #35903
  • [3c37f896a4] - errors: print original exception context (Benjamin Coe) #33491
  • [3006302372] - (SEMVER-MINOR) events: add max listener warning for EventTarget (James M Snell) #36001
  • [6e734a8a61] - (SEMVER-MINOR) events: getEventListeners static (Benjamin Gruenbaum) #35991
  • [64cd54be57] - events: disabled manual construction AbortSignal (raisinten) #36094
  • [daad5214c4] - events: fire handlers in correct oder (Benjamin Gruenbaum) #35931
  • [7c95cfc164] - events: define abort on prototype (Benjamin Gruenbaum) #35931
  • [bdad1bc4fc] - events: support event handlers on prototypes (Benjamin Gruenbaum) #35931
  • [6e21e8283f] - events: define event handler as enumerable (Benjamin Gruenbaum) #35931
  • [e51d7c535f] - events: support emit on nodeeventtarget (Benjamin Gruenbaum) #35851
  • [6558ffa76b] - events: add a few tests (Benjamin Gruenbaum) #35806
  • [bf728b5439] - events: make abort_controller event trusted (Benjamin Gruenbaum) #35811
  • [3f33b5a89e] - (SEMVER-MINOR) events: allow use of AbortController with on (James M Snell) #34912
  • [1fefb5cb75] - (SEMVER-MINOR) events: allow use of AbortController with once (James M Snell) #34911
  • [85987450df] - fs: fix chown abort (Darshan Sen) #38004
  • [dd1fe6d8ba] - fs: add promisified readFile benchmark (Nitzan Uziely) #37608
  • [f2279f856e] - fs: fix writeFile signal does not close file (Nitzan Uziely) #37402
  • [92348a9216] - (SEMVER-MINOR) fs: use a default callback for fs.close() (James M Snell) #37174
  • [e582832643] - fs: only use Buffer.concat in promises.readFile when necessary (Anna Henningsen) #37127
  • [a1ee9b3680] - fs: add explicit note about undefined path when recursive (Sebastian Silbermann) #37010
  • [fe6e5e4c0e] - fs: accept non-32-bit length in writeBuffer (raisinten) #36667
  • [455243667a] - fs: move method definition from header (Yash Ladha) #36256
  • [1bffd8d7bb] - fs: pass ERR_DIR_CLOSED asynchronously to dir.close (Zijian Liu) #36243
  • [9b8596a67f] - fs: fix when path is buffer on fs.symlinkSync (himself65) #34540
  • [026941381b] - fs: fix pre-aborted writeFile AbortSignal file leak (Nitzan Uziely) #37393
  • [7aa2e5d8dc] - (SEMVER-MINOR) fs: add AbortSignal support to watch (Benjamin Gruenbaum) #37190
  • [219cd000c0] - (SEMVER-MINOR) fs: support abortsignal in writeFile (Benjamin Gruenbaum) #35993
  • [5f88b644f8] - (SEMVER-MINOR) fs: add support for AbortSignal in readFile (Benjamin Gruenbaum) #35911
  • [443cacee5f] - fs: remove custom Buffer pool for streams (Robert Nagy) #33981
  • [d0115f14f6] - (SEMVER-MINOR) http: add http.ClientRequest.getRawHeaderNames() (simov) #37660
  • [105b8630b9] - http: explain the possibilty of refactor unused argument (Qingyu Deng) #37275
  • [926bb4fd17] - http: explain the unused argument in IncomingMessage._read (Qingyu Deng) #37275
  • [e7bc37909c] - http: cleanup ClientRequest oncreate (Robert Nagy) #36862
  • [5064822f24] - http: make HEAD method to work with keep-alive (Joseph Hackman) #34231
  • [8163f3179b] - http: remove dead code from internal/http.js (ZiJian Liu) #36630
  • [ad39b37974] - (SEMVER-MINOR) http: enable call chaining with setHeader() (pooja d.p) #35924
  • [623099db4b] - (SEMVER-MINOR) http: report request start and end with diagnostics_channel (Stephen Belanger) #34895
  • [524b7134e8] - (SEMVER-MINOR) http: add support for abortsignal to http.request (Benjamin Gruenbaum) #36048
  • [f70aee03ab] - (SEMVER-MINOR) http: set lifo as the default scheduling strategy in Agent (Matteo Collina) #36685
  • [16a16508c4] - http2: fix typos in core.js (Pranshu Jethmalani) #36719
  • [2e259220cb] - (SEMVER-MINOR) http2: add updateSettings to both http2 servers (Vincent Boivin) #35383
  • [336fb18b44] - http2: add support for AbortSignal to http2Session.request (Madara Uchiha) #36070
  • [f44b3c12e5] - https: add abortcontroller test (Benjamin Gruenbaum) #36307
  • [b5ad655c6b] - lib: properly process JavaScript exceptions on async_hooks fatal error (legendecas) #38106
  • [1d8269302e] - lib: change wording in lib/domain.js comment (Akhil Marsonya) #37933
  • [a61fd37786] - lib: change wording in lib/internal/child_process comment (Akhil Marsonya) #37903
  • [13ac680cdb] - lib: fix typo in internal/modules/esm/module_job.js (marsonya) #37773
  • [eea4f3bf82] - lib: fix typo in lib/internal/bootstrap/loaders.js (marsonya) #37644
  • [fe47563bed] - lib: simplify check in child_process (Darshan Sen) #37367
  • [d78e2ed82c] - lib: remove non used getter in lib/perf_hooks.js (Juan José Arboleda) #36907
  • [08b69fb1e8] - lib: fix diagnostics_channel hasSubscribers error (ZiJian Liu) #36599
  • [3ee0423dfa] - (SEMVER-MINOR) lib: support BigInt in querystring.stringify (raisinten) #36499
  • [e71eed620a] - lib: fix typo in internal/errors.js (raisinten) #36426
  • [be537fe877] - lib: remove primordials.SafePromise (Antoine du Hamel) #36149
  • [60ef53cc14] - (SEMVER-MINOR) lib: create diagnostics_channel module (Stephen Belanger) #34895
  • [b1507c41e7] - lib: add brand checks to AbortController and AbortSignal (Mattias Buelens) #37720
  • [448a6a22cf] - (SEMVER-MINOR) lib: implement AbortSignal.abort() (James M Snell) #37693
  • [4cd9f39066] - lib: set abort-controller toStringTag (Benjamin Gruenbaum) #36115
  • [b2f8e8dd28] - lib: let abort_controller target be EventTarget (Daijiro Wachi) #35869
  • [f30f9314c8] - (SEMVER-MINOR) lib: initial experimental AbortController implementation (James M Snell) #33527
  • [5e77bcd3dc] - (SEMVER-MINOR) lib: add throws option to fs.f/l/statSync (Andrew Casey) #33716
  • [e0df3bc751] - meta: notify slack when someone force pushes (Mary Marchini) #35131
  • [079671d3c1] - module: improve error message for invalid data URL (Antoine du Hamel) #37701
  • [4cdd9b63b4] - module: make synthetic module evaluation steps return a Promise to support top level await (Daniel Clark) #37300
  • [2413907a12] - (SEMVER-MINOR) module: add isPreloading indicator (James M Snell) #36263
  • [fd08c37d98] - (SEMVER-MINOR) net: add support for resolving DNS CAA records (Danny Sonnenschein) #35466
  • [8413759d84] - node-api: fix crash in finalization (Michael Dawson) #37876
  • [6e018559db] - node-api: stop ref gc during environment teardown (Gabriel Schulhof) #37616
  • [b5b1ad39dd] - node-api: force env shutdown deferring behavior (Gabriel Schulhof) #37303
  • [36abc1802c] - (SEMVER-MINOR) node-api: define version 8 (Gabriel Schulhof) #37652
  • [991251fbb2] - os: performance improvement in vector allocation (Yash Ladha) #36748
  • [395b9a69a1] - perf_hooks: make nodeTiming a first-class object (Momtchil Momtchev) #35977
  • [506f1d4044] - policy: fix cascade getting scope (Bradley Meck) #37298
  • [e9110d56d2] - process: do not lazily load AsyncResource (Michaël Zasso) #38041
  • [43057595e2] - process: passing -1 to setuid/setgid should not abort (James M Snell) #36786
  • [70cbe4a565] - readline: fix behaviour of Interface plugged to a non-terminal output (Antoine du Hamel) #36774
  • [ffaa1149e1] - (SEMVER-MINOR) readline: add getPrompt to get the current prompt (Mattias Runge-Broberg) #33675
  • [8d4936da2c] - repl: fix error message printing (Anna Henningsen) #38209
  • [1ac07b2aee] - repl: disable blocking completions by default (Anna Henningsen) #36564
  • [5ed770e1b7] - src: cache some context in locals (Khaidi Chu) #37473
  • [ec4be2d7e1] - src: fix finalization crash (James M Snell) #38250
  • [854a2a9c8a] - src: fix typo for initialization (Yash Ladha) #37974
  • [b0f8f8d637] - src: fix typo in node_mutex (Tobias Nießen) #38011
  • [e4f614100f] - src: document newer values for --unhandled-rejections flag (David Glasser) #37899
  • [d0cb129cdb] - src: fix typo in src code guide (Tobias Nießen) #37956
  • [6aa1ed20fa] - src: report idle time correctly (Stephen Belanger) #37868
  • [eb0faa12df] - src: add .note.GNU-stack section (James Addison) #37688
  • [ec5d7b1ec0] - src: fix variable name of OnCloseReceived callback (Tobias Nießen) #37521
  • [fc0d6e4008] - src: add error formatting support (Gus Caplan) #37598
  • [512ae7e125] - src: adjust THP sysfs config token retrieval and file closure (James Addison) #37187
  • [bf16d288e2] - src: fix return type of method in string_search.h (Darshan Sen) #37167
  • [f476c6dc0c] - src: refactor v8 binding (Joyee Cheung) #37112
  • [33ebf5d9ef] - src: rename binding_data_name to type_name in BindingData (Joyee Cheung) #37112
  • [88d9676e74] - src: use make_shared for safe allocation (Yash Ladha) #37139
  • [ec7e5bc786] - src: fix warning in string_search.h (Darshan Sen) #37146
  • [00309eea27] - src: read exactly two tokens from Linux THP sysfs config (James Addison) #37065
  • [1ecdb66299] - src: expose BaseObject::kInternalFieldCount in post-mortem metadata (Joyee Cheung) #37111
  • [93517dce78] - src: replace push_back with emplace_back in debug_utils (raisinten) #36897
  • [dcba374604] - src: fix leading backslash bug in URL (raisinten) #36613
  • [c308b06483] - src: remove unnecessary ToLocalChecked node_errors (Daniel Bevenius) #36547
  • [e8f8c70911] - src: remove unnecessary ToLocalChecked call (Daniel Bevenius) #36523
  • [a356f32e66] - src: remove empty name check in node_env_var.cc (raisinten) #36133
  • [308cb93304] - src: remove duplicate V macros in node_v8.cc (Daniel Bevenius) #36454
  • [6df1132c85] - src: guard against env != null in node_errors.cc (Anna Henningsen) #36414
  • [3701e5d14f] - src: add typedef for CleanupHookCallback callback (Daniel Bevenius) #36442
  • [bd90752a7e] - src: fix indentation in memory_tracker-inl.h (Daniel Bevenius) #36425
  • [05bb3e14cf] - src: remove identical V macro (Daniel Bevenius) #36427
  • [4b386e3dbe] - src: add missing context scopes (Anna Henningsen) #36413
  • [685ed2c275] - src: use ToLocal in DeserializeProperties (Daniel Bevenius) #36279
  • [d8cb34158b] - src: update node.rc file description (devsnek) #36197
  • [bacd432f34] - src: move all base64.h inline methods into -inl.h header file (Anna Henningsen) #35432
  • [b1d5160828] - src: guard against nullptr deref in TimerWrapHandle::Stop (Anna Henningsen) #34460
  • [cf2475ca09] - src: refactor TimerWrap lifetime management (Anna Henningsen) #34252
  • [b8bccc3132] - src: remove user_data from TimerWrap (Anna Henningsen) #34252
  • [8e1e3b563f] - src: replace InspectorTimer with TimerWrap utility (James M Snell) #34186
  • [a3a4d2c283] - src: add TimerWrap utility (James M Snell) #34186
  • [ae9bd89329] - src: perform bounds checking on error source line (Anna Henningsen) #33645
  • [44868010f7] - (SEMVER-MINOR) src: add loop idle time in diagnostic report (Gireesh Punathil) #35940
  • [4793f165dc] - stream: fix pipe deadlock when starting with needDrain (Robert Nagy) #36563
  • [617f2dc0cf] - (SEMVER-MINOR) stream: writableNeedDrain (Robert Nagy) #35348
  • [26e9c39cea] - stream: remove isPromise utility function (Antoine du Hamel) #35925
  • [7858de4f63] - stream,util: fix "the the" typo in comments (Luigi Pinca) #37674
  • [93c917c1ce] - test: move buffer-as-path symlink test to its own test file (Rich Trott) #34569
  • [cd95bf3dd7] - test: change Fixes: to Refs: (Rich Trott) #34568
  • [2e81ded71e] - test: fix flaky test-dns and test-dns-lookup (Rich Trott) #38282
  • [ea1183c6ec] - test: fixup failing test/internet/test-dns.js (James M Snell) #38241
  • [ae44e5f5b5] - test: add tests for missing https agent options (Rich Trott) #38202
  • [796007ba07] - test: fix test-https-agent-additional-options.js (Rich Trott) #38202
  • [a4275eec79] - test: fix typo in comment in binding.c (Tobias Nießen) #38220
  • [95c7dabbb4] - test: fix typo in gtest-all.cc (Ikko Ashimine) #38224
  • [605f830672] - test: add undefined fatalException exit code test (Nitzan Uziely) #38119
  • [ce70ea8a85] - test: skip fs.watch() test on IBMi (Rich Trott) #38192
  • [058abbece1] - test: skip test-vm-memleak in ASAN (Rich Trott) #34289
  • [c7981daf09] - test: skip test-hash-seed on armv6 and armv7 (Rich Trott) #34289
  • [552c945c7c] - test: remove unneeded m flag on regular expressions (Rich Trott) #38124
  • [e999da7004] - test: fix flaky test-zlib-unused-weak.js (Ouyang Yadong) #38149
  • [aa0d8146e9] - test: add regression test for serdes readDouble() (Colin Ihrig) #38121
  • [dd8c9ad65b] - test: skip test-crypto-dh-keys on armv6 and armv7 (Rich Trott) #38076
  • [7d85617484] - test: fix skip message for test-macos-app-sandbox (Tobias Nießen) #38114
  • [f1aae43349] - test: correct test comment (Evan Lucas) #38095
  • [d6ab9bf1ad] - test: fix flaky test-net-timeout (Rich Trott) #38060
  • [1cb3d89bf1] - test: fix flaky timeout-delayed-body and headers tests (Nitzan Uziely) #38045
  • [8590720489] - test: add extra space in test failure output (Qingyu Deng) #37957
  • [d6346e1486] - test: deflake test-fs-read-optional-params (Luigi Pinca) #37991
  • [abec939c58] - test: improve clarity of ALS-enable-disable.js (Darkripper214) #38008
  • [2e3305d1b3] - test: add DataView test case for v8 serdes (Rich Trott) #37955
  • [7b0e4e23f2] - test: fix typeof comparison (Rich Trott) #37924
  • [4c5eff91ef] - test: increase wiggle room for memory in test-worker-resource-limits (Rich Trott) #37901
  • [939f5541fa] - test: fix deprecation warning in test-doctool-html (Antoine du Hamel) #37858
  • [f5334881f2] - test: fix ibmi skip message (Tobias Nießen) #37821
  • [cd71199cdb] - test: fix flaky test-vm-timeout-escape-promise-module-2 (Rich Trott) #37842
  • [b858e12fca] - test: remove duplicated test for eventtarget (himself65) #37853
  • [e57e532d28] - test: relax Y2K38 check in test-fs-utimes-y2K38 (Richard Lau) #37825
  • [08d32e18b7] - test: remove skip for fixed test-benchmark-fs (Rich Trott) #37803
  • [3f86dc1d9b] - test: improve test-arm-math-illegal-instruction (marsonya) #37670
  • [5c60087132] - (SEMVER-MINOR) test: app atob web platform tests (James M Snell) #37529
  • [02916edbdd] - test: add known_issues test for #13683 (Rich Trott) #37744
  • [62292031a8] - test: fix test-fs-utimes on non-Y2K38 file systems (Rich Trott) #37707
  • [e29905441e] - test: remove unnecessary V8 flag (Antoine du Hamel) #37671
  • [27d4fedca3] - test: improve error reporting in test-child-process-pipe-dataflow (Rich Trott) #37632
  • [376fcc75c6] - test: remove FLAKY status for test-async-hooks-http-parser-destroy (Rich Trott) #37636
  • [a91a200be0] - test: remove FLAKY status for fixed test (Rich Trott) #37633
  • [102d12f308] - test: clear flaky designation for test-stream-pipeline-http2 (Rich Trott) #37631
  • [ed30e52ee8] - test: clear FLAKY designation for test-http2-pipe (Rich Trott) #37631
  • [df93cb47da] - test: fix wasi/test-return-on-exit on 32-bit systems (Colin Ihrig) #37615
  • [097f638fde] - test: remove FLAKY status for test-http2-multistream-destroy-on-read-tls (Rich Trott) #37533
  • [0726192c94] - test: make status file names consistent (Rich Trott) #37532
  • [bcc4f1773c] - test: remove FLAKY for test-http2-compat-client-upload-reject (Rich Trott) #37462
  • [d168cdea50] - test: validate no debug info for http2 (Michael Dawson) #37447
  • [2f2f83fc4c] - test: remove FLAKY designation for test-http2-client-upload-reject (Rich Trott) #37461
  • [776ef11732] - test: clarify usage of tmpdir.refresh() (Darshan Sen) #37383
  • [8386b88c7f] - test: fix test-doctool-html (Antoine du Hamel) #37397
  • [03752c0412] - test: remove flaky designation for test-http2-large-file (Rich Trott) #37156
  • [db44b92c58] - test: increase inspect coverage (Emil Sivervik) #36755
  • [21e7b021a0] - test: skip tests consistently in parallel.status (Rich Trott) #37035
  • [8f580df5ac] - test: increase read file abort coverage (Moshe vilner) #36716
  • [55a7b0c2e1] - test: increase coverage for assert/calltracker (ZiJian Liu) #36728
  • [ec7ee61af0] - test: improve assertion message for test-vm-memleak (Rich Trott) #37034
  • [456fd758f3] - test: process.nextTick for before exit (ttzztztz) #37012
  • [d99f1755d3] - test: log error in test-fs-realpath-pipe (Joyee Cheung) #36996
  • [0e1963c486] - test: test mode passed as an options object in mkdir/mkdirSync (Darshan Sen) #37008
  • [5408f51684] - test: mark flaky tests on IBM i (Richard Lau) #36986
  • [e72b2b4639] - test: increase buffer list coverage (Emil Sivervik) #36688
  • [90122d87c9] - test: fix warning in test_environment.cc (raisinten) #36846
  • [2cbd72e17d] - test: skip internet for test-npm-install (Ruy Adorno) #36933
  • [2896219613] - test: add coverage for breakLength one-column array (Rich Trott) #36657
  • [ff212f44b7] - test: increase coverage for diagnostics_channel (ZiJian Liu) #36602
  • [35c388ab1f] - test: increase coverage for internal/error_serdes.js (ZiJian Liu) #36628
  • [581a95f0ea] - test: improve coverage for util.inspect() with classes (Rich Trott) #36625
  • [e82a2e8ad5] - test: increase runInAsyncScope() coverage (Rich Trott) #36624
  • [064144db89] - test: redirect stderr EnvironmentWithNoESMLoader (Daniel Bevenius) #36548
  • [cf8d025207] - test: increase abort logic coverage (Moshe vilner) #36586
  • [eba2dc5330] - test: increase coverage for worker (ZiJian Liu) #36491
  • [5ef609af3e] - test: specify global object for globals (Rich Trott) #36498
  • [829213f624] - test: increase coverage for fs/dir read (Zijian Liu) #36388
  • [c0604c9958] - test: remove test-http2-client-upload as flaky (Rich Trott) #36496
  • [dabbd6d8ad] - test: make executable name more general (Shelley Vohr) #36489
  • [44603b7535] - test: increased externalized string length (Shelley Vohr) #36451
  • [2d0b6ca1c6] - test: fix flaky test-repl (Rich Trott) #36415
  • [fee0389c12] - test: check null proto-of-proto in util.inspect() (Rich Trott) #36399
  • [0e821ff337] - test: fix child-process-pipe-dataflow (Santiago Gimeno) #36366
  • [736b575b7e] - test: fix comment misspellings of transferred (Rich Trott) #36360
  • [5fc0f5eabb] - test: increase coverage for readline (Zijian Liu) #36389
  • [f5e8f12c1e] - test: fix typo in comment (inokawa) #36312
  • [72b3e5a6d9] - test: replace anonymous functions by arrows (Aleksandr Krutko) #36125
  • [b11e3ea1e6] - test: fix flaky sequential/test-fs-watch (Rich Trott) #36249
  • [cb530d2372] - test: increase coverage for util.inspect() (Rich Trott) #36228
  • [94a877b0a4] - test: improve test coverage SourceMap API (Juan José Arboleda) #36089
  • [6c62e15c36] - test: move test-worker-eventlooputil to sequential (Rich Trott) #35996
  • [16f6f1a0c2] - test: add missing test coverage for setLocalAddress() (Rich Trott) #36039
  • [23835012e0] - test: fix races in test-performance-eventlooputil (Gerhard Stoebich) #36028
  • [d63747de5a] - test: fix error in test/internet/test-dns.js (Rich Trott) #35969
  • [00b9d955e9] - test: run test-benchmark-napi on arm (Rich Trott) #34502
  • [de654bf5b4] - test: fix unreliable test-fs-write-file.js (Rich Trott) #36102
  • [397d9372c2] - (SEMVER-MINOR) test: update dom/abort tests (James M Snell) #37693
  • [dc63ca686e] - test: increase execFile abort coverage (Moshe vilner) #36429
  • [88f42617dd] - test: integrate abort_controller tests from wpt (Daijiro Wachi) #35869
  • [cd1da67295] - test: fix flaky test-http2-respond-file-error-pipe-offset (Rich Trott) #36305
  • [db04ae6b02] - test: add SIGTRAP to test-signal-handler (Ash Cripps) #36368
  • [48e3f592a0] - test: refactor coverage logic (Benjamin Coe) #35767
  • [01ba1c9a9c] - test: correct test-worker-eventlooputil (Gerhard Stoebich) #35891
  • [89046d7840] - test: add cpu-profiler-crash test (Santiago Gimeno) #37293
  • [6961be5ed1] - test: add arm64 arch to test-worker-prof status (Daniel Bevenius) #37225
  • [98f08c06e4] - test,benchmark: stop requiring URL and URLSearchParams (raisinten) #36927
  • [51ef745975] - test,child_process: add check for subProcess.pid (dr-js) #37014
  • [8476537aa4] - test,http: check that http server is robust from handler abuse (Rich Trott) #37958
  • [e4d10426c4] - timers: fix arbitrary object clearImmediate errors (Nitzan Uziely) #37824
  • [1b74a08eba] - timers: refactor to use validateAbortSignal (ZiJian Liu) #36604
  • [4b04bb87f6] - timers: use AbortController with correct name/message (Anna Henningsen) #34763
  • [9660a78278] - (SEMVER-MINOR) timers: move promisified timers implementations (James M Snell) #33950
  • [59a8425d04] - timers: fix multipleResolves in promisified timeouts/immediates (Denys Otrishko) #33949
  • [84b2863f00] - (SEMVER-MINOR) timers: allow promisified timeouts/immediates to be canceled (James M Snell) #33833
  • [08ed2337ea] - tls: forward new SecureContext options (Alba Mendez) #36416
  • [2c49953fc9] - tools: update glob-parent to 5.1.2 (Rich Trott) #37646
  • [b76aa10aa8] - tools: update remark-preset-lint-node to 2.1.1 (Rich Trott) #37604
  • [5afaeafabe] - tools: bump remark-present-lint-node from 2.0.0 to 2.0.1 (Rich Trott) #37270
  • [abd45d3355] - tools: update all lint-md rollup dependencies (Michaël Zasso) #36843
  • [c8f77f2e1d] - tools: update ini in tools/node-lint-md-cli-rollup (Myles Borins) #36474
  • [ac70a59056] - tools: bump remark-lint-preset-node to 2.0.0 (Rich Trott) #35905
  • [cbb0a458b5] - tools: bump remark-lint-preset-node to 1.17.1 (Rich Trott) #35668
  • [ed7c0d7c1b] - tools: skip macOS GitHub Actions test on doc-only changes (Rich Trott) #38296
  • [4254315ebe] - tools: improve valid-typeof lint rule (Rich Trott) #37924
  • [f055faf647] - tools: improve macos-firewall.sh output (Rich Trott) #37846
  • [2551bb1a61] - tools: make genv8constants.py Python3-compatible (Michaël Zasso) #37835
  • [e6a79802d3] - tools: update gitignore for CMake (Jiawen Geng) #37793
  • [e4975d9057] - tools: fix object name in prefer-assert-methods.js (Tobias Nießen) #37544
  • [77eb45aad4] - tools: fix compiler warning in inspector_protocol (Darshan Sen) #37573
  • [af8b3852a8] - tools: fix lint-pr-url message (Antoine du Hamel) #37304
  • [2ba6db3c3e] - tools: avoid pending deprecation in doc generator (Michaël Zasso) #37267
  • [981659c7b9] - tools: add GitHub Action linter for pr-url (Antoine du Hamel) #37221
  • [2e5994dcd8] - tools: remove commented code from stability.js (Colin Ihrig) #37092
  • [ef1aab1239] - tools: add support for top-level await syntax in linter (Antoine du Hamel) #36911
  • [aef769745b] - tools: update doc tool dependencies (Michaël Zasso) #36844
  • [dd10afc45a] - tools: revise install.py for minor improvements (Rich Trott) #36626
  • [d85ea61c7e] - tools: correct usage message for genv8constants.py (Rich Trott) #36606
  • [9990ec7423] - tools: call close() explicitly in genv8constants.py (Rich Trott) #36606
  • [26d5965c77] - tools: use is None consistently in Python (Rich Trott) #36606
  • [bb07a767c0] - tools: revise line in configure.py for clarity (Rich Trott) #36551
  • [5ac21bceba] - tools: fix make-v8.sh (Richard Lau) #36594
  • [3cac041b97] - tools: fix release script sign function (Antoine du Hamel) #36556
  • [b398e4044c] - tools: fix update-eslint.sh (Yongsheng Zhang) #36579
  • [471da7dc88] - tools: fix release script (Antoine du Hamel) #36540
  • [1f3c129f05] - tools: remove unused variable in configure.py (Rich Trott) #36525
  • [9b13ddc6a6] - tools: lint shell scripts (Antoine du Hamel) #36099
  • [7ac8ab8e26] - tools: update doc tool dependencies (Michaël Zasso) #36407
  • [e8b2c776f7] - tools: upgrade to @babel/eslint-parser 7.12.1 (Antoine du Hamel) #36321
  • [a0339101ba] - tools: remove bashisms from macOS release scripts (Antoine du Hamel) #36121
  • [9434bb3cfd] - tools: remove bashisms from release script (Antoine du Hamel) #36123
  • [2183a2be51] - tools: update stability index linking logic (Rich Trott) #36280
  • [2677fe9dcb] - tools: update highlight.js to 10.1.2 (Myles Borins) #36309
  • [17f942ffc0] - tools: fix undeclared identifier FALSE (Antoine du Hamel) #36276
  • [4bb5c10915] - tools: cleanup old ICU version-specific fixes (Michaël Zasso) #36980
  • [77f32ee8f7] - tools: fix md5 hash for ICU 68.1 src (Richard Lau) #36777
  • [5d29781491] - tools: add msvc /P output to .gitignore (Jiawen Geng) #35735
  • [571afd3c30] - tools,doc: add "legacy" badge in the TOC (Antoine du Hamel) #37949
  • [15d66fbc0c] - tools,doc: list the stability status of each API (Zijian Liu) #36223
  • [d89d55ab36] - tty: validate file descriptor to avoid int32 overflow (Antoine du Hamel) #37809
  • [face4b86dd] - typings: add JSDoc to os module functions (David Brownman) #38197
  • [599434a61d] - typings: add JSDoc Types to lib/querystring (Simon Knott) #38185
  • [60c7591af2] - typings: add JSDoc typings for http (Voltrex) #38191
  • [530e69e145] - typings: add JSDoc typings for assert (Voltrex) #38188
  • [e2c2f2b7a5] - typings: add JSDoc types to lib/path (Simon Knott) #38186
  • [d13fc6ed68] - url: align url format behavior with browsers (ZiJian Liu) #36903
  • [2aff77f358] - url: fix url.format with ipv6 hostname (ZiJian Liu) #36665
  • [08a6d9effd] - (SEMVER-MINOR) util: add getSystemErrorMap() impl (eladkeyshawn) #38101
  • [e6c64bf0c7] - util: remove unreachable inspect code (Rich Trott) #37941
  • [b5c5bd1f51] - util: inspect __proto__ key as written in object literal (Anna Henningsen) #37713
  • [2bfe185c3f] - util: use assert for unreachable code (Rich Trott) #37249
  • [ba4788dd9f] - (SEMVER-MINOR) v8: fix native serdes constructors (ExE Boss) #36549
  • [16606d05b7] - vm: add SafeForTerminationScopes for SIGINT interruptions (Anna Henningsen) #36344
  • [b6f4d790d3] - worker: fix exit code for error thrown in handler (Nitzan Uziely) #38012
  • [9460f2cd83] - (SEMVER-MINOR) worker: add eventLoopUtilization() (Trevor Norris) #35664
  • [78ad8b4c44] - workers: fix spawning from preload scripts (James M Snell) #37481

New in Node.js 16.1.0 Current (May 4, 2021)

  • Notable Changes:
  • Vulnerabilities fixed:
  • CVE-2021-3450: OpenSSL - CA certificate check bypass with X509_V_FLAG_X509_STRICT (High)
  • This is a vulnerability in OpenSSL which may be exploited through Node.js. You can read more about it in https://www.openssl.org/news/secadv/20210325.txt
  • Impacts:
  • All versions of the 15.x, 14.x, 12.x and 10.x releases lines
  • CVE-2021-3449: OpenSSL - NULL pointer deref in signature_algorithms processing (High)
  • This is a vulnerability in OpenSSL which may be exploited through Node.js. You can read more about it in https://www.openssl.org/news/secadv/20210325.txt
  • Impacts:
  • All versions of the 15.x, 14.x, 12.x and 10.x releases lines
  • CVE-2020-7774: npm upgrade - Update y18n to fix Prototype-Pollution (High)
  • This is a vulnerability in the y18n npm module which may be exploited by prototype pollution. You can read more about it in https://github.com/advisories/GHSA-c4w7-xm78-47vh
  • Impacts:
  • All versions of the 14.x, 12.x and 10.x releases lines
  • Commits:
  • [467be7a950] - deps: upgrade npm to 6.14.12 (Ruy Adorno) #37918
  • [6bc8f58182] - deps: update archs files for OpenSSL-1.1.1k (Tobias Nießen) #37938
  • [403a014ef6] - deps: upgrade openssl sources to 1.1.1k (Tobias Nießen) #37938

New in Node.js 16.0.0 Current (Apr 21, 2021)

  • Deprecations and Removals:
  • (SEMVER-MAJOR) fs: remove permissive rmdir recursive (Antoine du Hamel) #37216
  • (SEMVER-MAJOR) fs: runtime deprecate rmdir recursive option (Antoine du Hamel) #37302
  • (SEMVER-MAJOR) lib: runtime deprecate access to process.binding('http_parser') (James M Snell) #37813
  • (SEMVER-MAJOR) lib: runtime deprecate access to process.binding('url') (James M Snell) #37799
  • (SEMVER-MAJOR) lib: make process.binding('util') return only type checkers (Anna Henningsen) #37819
  • (SEMVER-MAJOR) lib: runtime deprecate access to process.binding('crypto') (James M Snell) #37790
  • (SEMVER-MAJOR) lib: runtime deprecate access to process.binding('signal_wrap') (James M Snell) #37800
  • (SEMVER-MAJOR) lib: runtime deprecate access to process.binding('v8') (James M Snell) #37789
  • (SEMVER-MAJOR) lib: runtime deprecate access to process.binding('async_wrap') (James M Snell) #37576
  • (SEMVER-MAJOR) module: remove module.createRequireFromPath (Antoine du Hamel) #37201
  • (SEMVER-MAJOR) module: runtime deprecate subpath folder mappings (Antoine du Hamel) #37215
  • (SEMVER-MAJOR) module: runtime deprecate "main" index and extension lookups (Antoine du Hamel) #37206
  • (SEMVER-MAJOR) module: runtime deprecate invalid package.json main entries (Antoine du Hamel) #37204
  • (SEMVER-MAJOR) process: runtime deprecate changing process.config (James M Snell) #36902
  • Stable Timers Promises API:
  • The Timers Promises API provides an alternative set of timer functions that return Promise objects. Added in Node.js v15.0.0, in this release they graduate from experimental status to stable.
  • Toolchain and Compiler Upgrades:
  • Node.js v16.0.0 will be the first release where we ship prebuilt binaries for Apple Silicon. While we’ll be providing separate tarballs for the Intel (darwin-x64) and ARM (darwin-arm64) architectures the macOS installer (.pkg) will be shipped as a ‘fat’ (multi-architecture) binary.
  • (SEMVER-MAJOR) build: remove support for Python 2 (Christian Clauss) #36691
  • (SEMVER-MAJOR) build: default PYTHON to python3 in Makefile (Michaël Zasso) #37764
  • build: update Makefile to support fat binary (Ash Cripps) #37861
  • (SEMVER-MAJOR) build: enable ASLR (PIE) on OS X (woodfairy) #35704
  • build: warn for gcc versions earlier than 8.3.0 (Richard Lau) #37935
  • (SEMVER-MAJOR) doc: update minimum supported Xcode to 11 (Michaël Zasso) #37872
  • (SEMVER-MAJOR) doc: update minimum supported GCC to 8.3 (Michaël Zasso) #37871
  • (SEMVER-MAJOR) doc: update AIX to GCC8 for v16.x (Ash Cripps) #37677
  • tools: set arch in Distribution.xml (Ash Cripps) #38261
  • V8 9.0:
  • The V8 JavaScript engine is updated to V8 9.0, including performance tweaks and improvements.
  • This update also brings the ECMAScript RegExp Match Indices, which provide the start and end indices of the captured string. The indices array is available via the .indices property on match objects when the regular expression has the /d flag.
  • Other Notable Changes:
  • (SEMVER-MINOR) assert: graduate assert.match and assert.doesNotMatch (James M Snell) #38111
  • (SEMVER-MAJOR) buffer: expose btoa and atob as globals (James M Snell) #37786
  • (SEMVER-MAJOR) deps: bump minimum ICU version to 68 (Michaël Zasso) #37330
  • deps: update ICU to 69.1 (Michaël Zasso) #38178
  • deps: update llhttp to 6.0.0 (Fedor Indutny) #38277
  • deps: upgrade npm to 7.10.0 (Ruy Adorno) #38254
  • (SEMVER-MINOR) http: add http.ClientRequest.getRawHeaderNames() (simov) #37660
  • (SEMVER-MAJOR) lib,src: update cluster to use Parent (Michael Dawson) #36478
  • (SEMVER-MINOR) module: add support for node:‑prefixed require(…) calls (ExE Boss) #37246
  • (SEMVER-MINOR) perf_hooks: add histogram option to timerify (James M Snell) #37475
  • (SEMVER-MINOR) repl: add auto‑completion for node:‑prefixed require(…) calls (ExE Boss) #37246
  • (SEMVER-MINOR) util: add getSystemErrorMap() impl (eladkeyshawn) #38101
  • Semver-Major Commits:
  • [324a6c235a] - (SEMVER-MAJOR) async_hooks: add thisArg to AsyncResource.bind (James M Snell) #36782
  • [d1e2184c8e] - (SEMVER-MAJOR) buffer: expose btoa and atob as globals (James M Snell) #37786
  • [4268fae04a] - (SEMVER-MAJOR) build: remove support for Python 2 (Christian Clauss) #36691
  • [c3a5e15ebe] - (SEMVER-MAJOR) build: default PYTHON to python3 in Makefile (Michaël Zasso) #37764
  • [1d8c022544] - (SEMVER-MAJOR) build: update Makefile to support fat binary (Ash Cripps) #37861
  • [38f32386c1] - (SEMVER-MAJOR) build: include minimal V8 headers in distribution (Michaël Zasso) #37570
  • [a19af5ee71] - (SEMVER-MAJOR) build: use C++11 ABI with libstdc++ (Anna Henningsen) #36634
  • [8d6b74d347] - (SEMVER-MAJOR) build: enable ASLR (PIE) on OS X (woodfairy) #35704
  • [732ad99e47] - (SEMVER-MAJOR) deps: update V8 to 9.0.257.11 (Michaël Zasso) #37587
  • [43cc8e4b2e] - (SEMVER-MAJOR) deps: bump minimum ICU version to 68 (Michaël Zasso) #37330
  • [c5ff019a4e] - (SEMVER-MAJOR) deps: update V8 to 8.9.255.19 (Michaël Zasso) #37330
  • [c7b3292251] - (SEMVER-MAJOR) deps: update V8 to 8.8.278.17 (Michaël Zasso) #36139
  • [48db20f6f5] - (SEMVER-MAJOR) deps: update V8 to 8.7.220 (Michaël Zasso) #35700
  • [d85e1f0703] - (SEMVER-MAJOR) dns: use url module instead of punycode for IDNA (Antoine du Hamel) #35091
  • [290c158018] - (SEMVER-MAJOR) doc: update minimum supported Xcode to 11 (Michaël Zasso) #37872
  • [1ff2918d80] - (SEMVER-MAJOR) doc: update minimum supported GCC to 8.3 (Michaël Zasso) #37871
  • [2706e67116] - (SEMVER-MAJOR) doc: update AIX to GCC8 for v16.x (Ash Cripps) #37677
  • [5ae5ca90ef] - (SEMVER-MAJOR) doc: add http.IncomingMessage#connection (Pranshu Srivastava) #33768
  • [83d6e63aee] - (SEMVER-MAJOR) events: change EventTarget handler exception behavior (Nitzan Uziely) #37237
  • [9948036ee0] - (SEMVER-MAJOR) fs: remove permissive rmdir recursive (Antoine du Hamel) #37216
  • [d4693ff430] - (SEMVER-MAJOR) fs: add validation for fd and path (Dylan Elliott) #35187
  • [0ddd75bcd8] - (SEMVER-MAJOR) fs: runtime deprecate rmdir recursive option (Antoine du Hamel) #37302
  • [da217d0773] - (SEMVER-MAJOR) fs: fix flag and mode validation (James M Snell) #37480
  • [2ef9a76ece] - (SEMVER-MAJOR) http: use objects with null prototype in Agent (Michaël Zasso) #36409
  • [25e30005b8] - (SEMVER-MAJOR) lib: runtime deprecate access to process.binding('http_parser') (James M Snell) #37813
  • [8bb4e048af] - (SEMVER-MAJOR) lib: runtime deprecate access to process.binding('url') (James M Snell) #37799
  • [fe73e4d578] - (SEMVER-MAJOR) lib: make process.binding('util') return only type checkers (Anna Henningsen) #37819
  • [3bee6d8aad] - (SEMVER-MAJOR) lib: runtime deprecate access to process.binding('crypto') (James M Snell) #37790
  • [ac00df112e] - (SEMVER-MAJOR) lib: runtime deprecate access to process.binding('signal_wrap') (James M Snell) #37800
  • [ae595d76e3] - (SEMVER-MAJOR) lib: runtime deprecate access to process.binding('v8') (James M Snell) #37789
  • [104dac79cc] - (SEMVER-MAJOR) lib: aggregate errors to avoid error swallowing (Antoine du Hamel) #37460
  • [1468c9ff7c] - (SEMVER-MAJOR) lib: runtime deprecate access to process.binding('async_wrap') (James M Snell) #37576
  • [295e766c27] - (SEMVER-MAJOR) lib: remove usage of url.parse (raisinten) #36853
  • [cb3020d824] - (SEMVER-MAJOR) lib: add error handling for input stream (rexagod) #31603
  • [15164cebce] - (SEMVER-MAJOR) lib,src: update cluster to use Parent (Michael Dawson) #36478
  • [3cc9aec988] - (SEMVER-MAJOR) module: runtime deprecate subpath folder mappings (Antoine du Hamel) #37215
  • [9fab73c73b] - (SEMVER-MAJOR) module: runtime deprecate "main" index and extension lookups (Antoine du Hamel) #37206
  • [76a073b67e] - (SEMVER-MAJOR) module: runtime deprecate invalid package.json main entries (Antoine du Hamel) #37204
  • [674614b3f5] - (SEMVER-MAJOR) module: remove module.createRequireFromPath (Antoine du Hamel) #37201
  • [aecd5ebf49] - (SEMVER-MAJOR) module: only set cache when finding module succeeds (Yongsheng Zhang) #36642
  • [f0bf373176] - (SEMVER-MAJOR) perf_hooks: make performance a global (James M Snell) #37970
  • [f3eb224c83] - (SEMVER-MAJOR) perf_hooks: complete overhaul of the implementation (James M Snell) #37136
  • [f1753d4c76] - (SEMVER-MAJOR) process: disallow adding options to process.allowedNodeEnvironmentFlags (Antoine du Hamel) #36660
  • [96f3977ded] - (SEMVER-MAJOR) process: runtime deprecate changing process.config (James M Snell) #36902
  • [45dbcbef90] - (SEMVER-MAJOR) readline: cursorTo throw error on NaN (Zijian Liu) #36379
  • [bf79987433] - (SEMVER-MAJOR) src: mark internally exported functions as explicitly internal (Tyler Ang-Wanek) #37000
  • [1fe571aa0c] - (SEMVER-MAJOR) src: inline AsyncCleanupHookHandle in headers (Tyler Ang-Wanek) #37000
  • [dfc288e7fd] - (SEMVER-MAJOR) src: clean up embedder API (Anna Henningsen) #35897
  • [65e8864fa3] - (SEMVER-MAJOR) worker: send correct error status for worker init (Yash Ladha) #36242
  • Semver-Minor Commits:
  • [944a956087] - (SEMVER-MINOR) assert: graduate assert.match and assert.doesNotMatch (James M Snell) #38111
  • [6a1986d50a] - (SEMVER-MINOR) deps: update llhttp to 5.1.0 (Fedor Indutny) #38146
  • [069b5df4f6] - (SEMVER-MINOR) module: add support for node:‑prefixed require(…) calls (ExE Boss) #37246
  • [b803bca4fa] - (SEMVER-MINOR) perf_hooks: add histogram option to timerify (James M Snell) #37475
  • [95391fe689] - (SEMVER-MINOR) repl: add auto‑completion for node:‑prefixed require(…) calls (ExE Boss) #37246
  • [15b8e6b1c4] - (SEMVER-MINOR) timers: graduate awaitable timers and improve docs (James M Snell) #38112
  • [802171057f] - (SEMVER-MINOR) util: add getSystemErrorMap() impl (eladkeyshawn) #38101
  • Semver-Patch Commits:
  • [8930eba199] - assert: change status of legacy asserts (James M Snell) #38113
  • [0180fc5b9b] - benchmark: improve compare.R output (Brian White) #38118
  • [8d9d8236b7] - bootstrap: mksnapshot should show JS error (Bradley Meck) #38174
  • [6cb314bbe5] - bootstrap: print information for snapshot at environment exit in debug (Joyee Cheung) #37967
  • [14aed60941] - buffer,errors: add missing n literal in range error string (Cactysman) #37750
  • [049b703a28] - build: sync generation of v8_build_config.json (Richard Lau) #38263
  • [1d21a8d140] - build: add riscv64 configure (luyahan) #37980
  • [f5eea1744d] - build: don't run test workflow on doc dir on macOS (ycjcl868) #37999
  • [2853b76e20] - build: add pummel tests to ci runs (Rich Trott) #34289
  • [24426cd8c4] - build: prepare Windows coverage GitHub Action for pummel tests (Rich Trott) #34289
  • [7df0fc5c5c] - build: move OPENSSL_API_COMPAT to else clause (Daniel Bevenius) #38126
  • [9cfb418e1f] - build: package release changelog for releases (Richard Lau) #38033
  • [558d1e6c22] - build: warn for gcc versions earlier than 8.3.0 (Richard Lau) #37935
  • [a572a4e34e] - build: reset embedder string to "-node.0" (Michaël Zasso) #37587
  • [f3c7078245] - build: reset embedder string to "-node.0" (Michaël Zasso) #37330
  • [842389839b] - build: reset embedder string to "-node.0" (Michaël Zasso) #36139
  • [98d1ae47cf] - build: reset embedder string to "-node.0" (Michaël Zasso) #35700
  • [993ed19f9c] - crypto: reduce range of size to int max (Qingyu Deng) #38096
  • [896dc39951] - crypto: fix webcrypto derive(Bits|Key) resolve values and docs (Filip Skokan) #38148
  • [d2f116c6bb] - crypto: fixup randomFill size and offset handling (James M Snell) #38138
  • [dfe3f952a3] - crypto: fix crash in CCM mode without data (Tobias Nießen) #38102
  • [e8cb6446ef] - crypto: reconcile oneshot sign/verify sync and async implementations (Filip Skokan) #37816
  • [1e4a2bcbee] - crypto: remove check for condition that is always true (Rich Trott) #38072
  • [64d5be25ab] - deps: V8: cherry-pick 1648e050cade (Michaël Zasso) #37587
  • [621b544909] - deps: silence irrelevant V8 warnings (Michaël Zasso) #37587
  • [0d78bc3101] - deps: fix V8 build issue with inline methods (Jiawen Geng) #35415
  • [5214918856] - deps: make v8.h compatible with VS2015 (Joao Reis) #32116
  • [6b3caf77b2] - deps: V8: forward declaration of Rtl*FunctionTable (Refael Ackermann) #32116
  • [d0a032fafb] - deps: V8: patch register-arm64.h (Refael Ackermann) #32116
  • [c8b2fa642e] - deps: V8: un-cherry-pick bd019bd (Refael Ackermann) #32116
  • [8eeecc19ae] - deps: V8: cherry-pick 8957d4677aa7 (Michaël Zasso) #37330
  • [b186142a0b] - deps: V8: backport a11395433dbd (Michaël Zasso) #37330
  • [290f2d8d3e] - deps: V8: cherry-pick deb0813166f3 (Michaël Zasso) #36139
  • [63ed0b8bfe] - deps: V8: cherry-pick 9a6a22874c81 (Michaël Zasso) #36139
  • [47f1c5257a] - deps: silence irrelevant V8 warning (Michaël Zasso) #37330
  • [19d975241f] - deps: workaround stod() limitations on SmartOS (Colin Ihrig) #37330
  • [70f928c6a6] - deps: fix V8 build issue with inline methods (Jiawen Geng) #35415
  • [b045e39513] - deps: patch V8 to run on Xcode 8 (Mary Marchini) #32116
  • [32725d2224] - deps: make v8.h compatible with VS2015 (Joao Reis) #32116
  • [fe3cee7b37] - deps: V8: forward declaration of Rtl*FunctionTable (Refael Ackermann) #32116
  • [b2d05f7349] - deps: V8: patch register-arm64.h (Refael Ackermann) #32116
  • [c7a0ab4e3d] - deps: patch V8 to run on older XCode versions (Ujjwal Sharma) #32116
  • [60b623ee90] - deps: V8: un-cherry-pick bd019bd (Refael Ackermann) #32116
  • [577ff9fee5] - deps: V8: cherry-pick deb0813166f3 (Michaël Zasso) #36139
  • [00e1c7ea83] - deps: V8: cherry-pick 9a6a22874c81 (Michaël Zasso) #36139
  • [ee01d6b7fc] - deps: V8: cherry-pick 2059ee813359 (Michaël Zasso) #36139
  • [2dad8d43cc] - deps: V8: cherry-pick bde7ee5473d6 (Michaël Zasso) #36139
  • [3046131ea0] - deps: V8: cherry-pick 9a712984025e (Michaël Zasso) #36139
  • [d178d0738f] - deps: V8: cherry-pick 0b96e5b0bfb2 (Michaël Zasso) #36139
  • [5c71ea151a] - deps: V8: cherry-pick fbb28902e049 (Michaël Zasso) #36139
  • [c8e15cd2c6] - deps: V8: cherry-pick 821fb3883a8e (Michaël Zasso) #35700
  • [b0d67426af] - deps: workaround stod() limitations on SmartOS (Colin Ihrig) #36139
  • [c8a658ac53] - deps: fix V8 build issue with inline methods (Jiawen Geng) #35415
  • [153b8cea36] - deps: patch V8 to run on Xcode 8 (Mary Marchini) #32116
  • [a785984133] - deps: V8: silence irrelevant warnings (Michaël Zasso) #32116
  • [246c9b8c31] - deps: make v8.h compatible with VS2015 (Joao Reis) #32116
  • [96a567f9e9] - deps: V8: forward declaration of Rtl*FunctionTable (Refael Ackermann) #32116
  • [e74383cecb] - deps: V8: patch register-arm64.h (Refael Ackermann) #32116
  • [732847f1eb] - deps: patch V8 to run on older XCode versions (Ujjwal Sharma) #32116
  • [70171d186f] - deps: V8: un-cherry-pick bd019bd (Refael Ackermann) #32116
  • [15c91c6dd5] - deps: V8: cherry-pick 821fb3883a8e (Michaël Zasso) #35700
  • [40b2fa4832] - deps: V8: cherry-pick 45e49775f5a3 (Michaël Zasso) #35700
  • [cd91ab5865] - deps: V8: cherry-pick 7b3a27b7ae65 (Michaël Zasso) #35700
  • [f4fc099080] - deps: V8: cherry-pick d76abfed3512 (Michaël Zasso) #35415
  • [6200176ef0] - deps: fix V8 build issue with inline methods (Jiawen Geng) #35415
  • [bd5642deb9] - deps: update V8 postmortem metadata script (Colin Ihrig) #35415
  • [9ae7159216] - deps: update V8 postmortem metadata script (Colin Ihrig) #33579
  • [f4b4e21b2f] - deps: patch V8 to run on Xcode 8 (Mary Marchini) #32116
  • [f6a84540d8] - deps: V8: silence irrelevant warnings (Michaël Zasso) #32116
  • [bbc3f46572] - deps: make v8.h compatible with VS2015 (Joao Reis) #32116
  • [0c988642dc] - deps: V8: forward declaration of Rtl*FunctionTable (Refael Ackermann) #32116
  • [703bf933d4] - deps: V8: patch register-arm64.h (Refael Ackermann) #32116
  • [5451975b18] - deps: patch V8 to run on older XCode versions (Ujjwal Sharma) #32116
  • [c460f7af4d] - deps: V8: un-cherry-pick bd019bd (Refael Ackermann) #32116
  • [bfee9daaa5] - deps: update llhttp to 6.0.0 (Fedor Indutny) #38277
  • [94405650ae] - deps: upgrade npm to 7.10.0 (Ruy Adorno) #38254
  • [8e80fc7ff8] - deps: patch V8 to 9.0.257.17 (Michaël Zasso) #38237
  • [5b358d57e1] - deps: patch V8 to 9.0.257.16 (Michaël Zasso) #38218
  • [ee669a0d29] - deps: update ICU to 69.1 (Michaël Zasso) #38178
  • [2468e4ed3e] - deps: V8: backport d59db06bf542 (Antoine du Hamel) #38162
  • [c748668704] - deps: upgrade npm to 7.9.0 (Ruy Adorno) #38156
  • [ca13f7aaf3] - deps: V8: cherry-pick 501482cbc704 (Colin Ihrig) #38121
  • [bc531d1860] - deps: upgrade npm to 7.8.0 (Darcy Clarke) #38030
  • [d639321acd] - deps: patch V8 to 9.0.257.13 (Michaël Zasso) #37830
  • [bc31dc0e0f] - dns: refactor cares_wrap internals (James M Snell) #38172
  • [36decec87f] - doc: remove superfluous await from fsPromises.readdir example (Michael Rommel) #38293
  • [ac2c8c530d] - doc: fixup http.IncomingMessage deprecation code (Guy Bedford) #36917
  • [767643fc19] - doc: restore minimum Xcode version for macOS (Richard Lau) #38266
  • [e541032276] - doc: fix typo in repl.md (Arkerone) #38244
  • [fb93b71307] - doc: fix typo in buffer.md (Arkerone) #38243
  • [7d688d4b36] - doc: fix missing backtick in fs.md (Siddharth) #38260
  • [6d04cc6849] - doc: change "oject" to "object" (Arkerone) #38256
  • [b4363f726c] - doc: revise TLS minVersion/maxVersion text (Rich Trott) #38202
  • [98c2067f13] - doc: update BUILDING.md for Apple Silicon (Ash Cripps) #38227
  • [4def7c4418] - doc: standardize on pseudorandom (Rich Trott) #38196
  • [f1027ecf29] - doc: standardize command flag notes (Ferdi) #38199
  • [756d2e48d8] - doc: update buffer.constants.MAX_LENGTH (Qingyu Deng) #38109
  • [474fbb5f6e] - doc: clarify child_process close event (Nitzan Uziely) #38181
  • [eee2c331ef] - doc: add command flag to import.meta.resolve (Ferdi) #38171
  • [f46d29360c] - doc: advise against using randomFill on floats (Tobias Nießen) #38150
  • [5823fc79ba] - doc: update links in ICU guide (Michaël Zasso) #38177
  • [993a1da47c] - doc: mention cryptographic prng in description of randomUUID (Serkan Özel) #38074
  • [5ba5cc8619] - doc: fix typos in doc/api/cli.md (Arkerone) #38163
  • [6a2314acd7] - doc: add link to V8 (Voltrex) #38144
  • [093b527b25] - doc: fix typo in assert.md (Arkerone) #38152
  • [0fa579ac2a] - doc: add missing comma in crypto doc (Tobias Nießen) #38142
  • [4bc8f7542f] - doc: fix typo in crypto (Arkerone) #38130
  • [005ebafbd1] - doc: improve security text in collaborators guide (Rich Trott) #38107
  • [54322b8d8b] - doc: apply consistent punctuation to header contributing guide (Akhil Marsonya) #38047
  • [0d34767c4c] - doc: sending http request to localhost to avoid https redirect (Hassaan Pasha) #38036
  • [f851efd2e1] - doc: apply sentence case to backporting-to-release-lines.md headers (marsonya) #37617
  • [36bc8b905c] - doc: fix typo in fs.md (Antoine du Hamel) #38100
  • [f52c92134c] - doc: internal/test/binding for testing (Bradley Meck) #38026
  • [ab42ef3930] - doc: add parentheses to function and move reference (Rich Trott) #38066
  • [2861778ecd] - doc: change wording in doc/api/domain.md comment (Akhil Marsonya) #38044
  • [361632dab1] - doc: fix lint error in modules.md (Rich Trott) #37811
  • [b3f35e2c70] - doc,lib: add missing deprecation code (Colin Ihrig) #37541
  • [cbe3b27166] - doc,tools: allow stability table to be updated (Richard Lau) #38048
  • [8dd06850ae] - esm: use correct URL for error decoration (Bradley Meck) #37854
  • [6bbe28552c] - fs: use byteLength to handle ArrayBuffer views (Michaël Zasso) #38187
  • [8e76397fab] - fs: validate encoding to binding.writeString() (Colin Ihrig) #38183
  • [24fd791184] - fs: move constants to internal/fs/utils.js (Darshan Sen) #38061
  • [40ace47396] - http: fixup perf regression (James M Snell) #38110
  • [f4d3d12327] - http: use CRLF conistently in _http_outgoing.js (Daniel Bevenius) #37851
  • [ee9e2a2eb6] - lib: revert primordials in a hot path (Antoine du Hamel) #38248
  • [d756d2b99c] - lib: enforce using primordials.globalThis instead of global (Antoine du Hamel) #38230
  • [09c9e5dea4] - lib: avoid mutating Error.stackTraceLimit when it is not writable (Antoine du Hamel) #38215
  • [23d2c54bab] - lib: add globalThis to primordials (Antoine du Hamel) #38211
  • [78343bbdc5] - lib: add WeakRef and FinalizationRegistry to primordials (ExE Boss) #37263
  • [656fb4657a] - lib: add tsconfig for code completions (Bradley Meck) #38042
  • [d86132488d] - lib: properly process JavaScript exceptions on async_hooks fatal error (legendecas) #38106
  • [a9332e84bf] - lib: refactor to use primordials in lib/internal/cli_table (Akhil Marsonya) #38046
  • [8d78d9ef27] - lib: load v8_prof_processor dependencies as ESM (Michaël Zasso) #37587
  • [7b2bad4005] - module: clarify CJS global-like variables not defined error message (Antoine du Hamel) #37852
  • [7869761c2e] - net: fix typo (Luigi Pinca) #38127
  • [4afcd55274] - node-api: make reference weak parameter an indirect link to references (Chengzhong Wu) #38000
  • [e38d62a8c9] - path: fix POSIX path.resolve() perf regression (Brian White) #38064
  • [b0d5e036d8] - path: fix posix.relative() on Windows (Rich Trott) #37747
  • [548cbf0625] - perf_hooks: fix loop delay resolution validation (Antoine du Hamel) #38166
  • [13c931a9dc] - process: add range validation to debugPort (Colin Ihrig) #38205
  • [8dd5dd8a4b] - process: do not lazily load AsyncResource (Michaël Zasso) #38041
  • [4e833b6059] - process,doc: add missing deprecation code (Colin Ihrig) #37091
  • [d6669645c0] - repl: fix declaring a variable with the name util (eladkeyshawn) #38141
  • [e7391967c2] - repl: fix error message printing (Anna Henningsen) #38209
  • [4e9212bb7b] - src: cache some context in locals (Khaidi Chu) #37473
  • [fc20e833ca] - src: fix finalization crash (James M Snell) #38250
  • [6c9b19a7af] - src: refactor SecureContext Initialization (James M Snell) #38116
  • [8d63aa828e] - src: fix typo for initialization (Yash Ladha) #37974
  • [66c8f76c2c] - src: remove KeyObjectData::CreateSecret overload (Tobias Nießen) #38067
  • [87dc152229] - src: fix node version (Richard Lau) #36460
  • [e929d1f2c8] - src: fix node version (Brian White) #36385
  • [8e8dea36cc] - src: use non-deprecated GetCreationContext from V8 (Michaël Zasso) #37587
  • [b1c1c4695c] - src: remove V8_FT_ADAPTOR for V8 update (Colin Ihrig) #37587
  • [8f5cce6862] - src: use non-deprecated V8 module APIs (Michaël Zasso) #37587
  • [497f6ca5b4] - src: update NODE_MODULE_VERSION to 93 (Michaël Zasso) #37587
  • [001dc16cf1] - src: use non-deprecated V8 module and script APIs (Michaël Zasso) #37330
  • [47a90d9f37] - src: update NODE_MODULE_VERSION to 92 (Michaël Zasso) #37330
  • [5259d17309] - src: update NODE_MODULE_VERSION to 91 (Michaël Zasso) #36139
  • [6f9cbcf6a6] - src: fix v8 api deprecation (Jiawen Geng) #35700
  • [9d4d55bd94] - src: update NODE_MODULE_VERSION to 90 (Michaël Zasso) #35700
  • [369f239503] - stream: fix multiple Writable.destroy() calls (Robert Nagy) #38221
  • [4ad46e2fef] - stream: refactor to avoid unsafe array iteration (Antoine du Hamel) #37126
  • [419686cdfb] - stream: refactor to use more primordials (Antoine du Hamel) #36346
  • [c704faa0f9] - test: fix flaky test-dns and test-dns-lookup (Rich Trott) #38282
  • [5e588c1c7c] - test: fixup failing test/internet/test-dns.js (James M Snell) #38241
  • [18c9913ce1] - test: add tests for missing https agent options (Rich Trott) #38202
  • [4ad8e83a3d] - test: fix test-https-agent-additional-options.js (Rich Trott) #38202
  • [05df701e70] - test: remove common.disableCrashOnUnhandledRejection (Michaël Zasso) #38210
  • [8f4850d5c7] - test: fix typo in comment in binding.c (Tobias Nießen) #38220
  • [9498e97015] - test: fix typo in gtest-all.cc (Ikko Ashimine) #38224
  • [c8bbd83ab2] - test: add undefined fatalException exit code test (Nitzan Uziely) #38119
  • [db9cf52dcf] - test: check the different error code on IBM i (Xu Meng) #38159
  • [95ca351fd8] - test: skip fs.watch() test on IBMi (Rich Trott) #38192
  • [8cee28465c] - test: fix test-dh-regr for OpenSSL 3 (Rich Trott) #34289
  • [213ae4f4c6] - test: skip test-vm-memleak in ASAN (Rich Trott) #34289
  • [50208915a0] - test: skip test-hash-seed on armv6 and armv7 (Rich Trott) #34289
  • [7216eb67df] - test: update OpenSSL 3.x expected error message (Daniel Bevenius) #38164
  • [7e516aaac0] - test: remove unneeded m flag on regular expressions (Rich Trott) #38124
  • [269f5132cc] - test: skip different params test for OpenSSL 3.x (Daniel Bevenius) #38165
  • [f96dffb7ae] - test: fix flaky test-zlib-unused-weak.js (Ouyang Yadong) #38149
  • [e96773b94b] - test: add regression test for serdes readDouble() (Colin Ihrig) #38121
  • [cc4ee6cba8] - test: deflake test-http-many-ended-pipelines (Luigi Pinca) #38018
  • [098a4d6551] - test: skip test-crypto-dh-keys on armv6 and armv7 (Rich Trott) #38076
  • [f9b63b8530] - test: update parallel/test-crypto-keygen for OpenSSL 3 (Richard Lau) #38136
  • [6a6cdfad03] - test: fix skip message for test-macos-app-sandbox (Tobias Nießen) #38114
  • [e155b1f2f7] - test: correct test comment (Evan Lucas) #38095
  • [d61977f03e] - test: remove dead code (Luigi Pinca) #38016
  • [8b05e32519] - test: fix flaky test-net-timeout (Rich Trott) #38060
  • [a0492ba391] - test: fix test-vm-memleak for high baseline platforms (Rich Trott) #38062
  • [30d7f05fef] - test: improve code coverage in webcrypto API (Juan José Arboleda) #38052
  • [d75543d8b5] - test: fix flaky timeout-delayed-body and headers tests (Nitzan Uziely) #38045
  • [4f387c25cb] - test: fix flaky test-vm-memleak (Rich Trott) #38054
  • [330f25ef82] - test: prepare for consistent comma-dangle lint rule (Rich Trott) #37930
  • [31fe3b215f] - test: make sure http pipelining does not emit a warning (Matteo Collina) #37964
  • [978bbf987c] - test: fix flaky test-http2-pack-end-stream-flag (James M Snell) #37814
  • [ecc584251e] - test: fixup flaky test-performance-function-async test (James M Snell) #37493
  • [32482a828b] - test: remove FLAKY for test-domain-error-types (Rich Trott) #37458
  • [501ae0e6e3] - test: remove outdated V8 flag (Michaël Zasso) #37151
  • [fa3997d75a] - test: mark test-return-on-exit as flaky (Michaël Zasso) #36139
  • [896ae96a15] - test: mark WASI's test-return-on-exit as flaky (Colin Ihrig) #36139
  • [0da7a11e54] - test,http: check that http server is robust from handler abuse (Rich Trott) #37958
  • [a0261d231c] - Revert "timers: refactor to use optional chaining" (Matteo Collina) #38245
  • [3da003cc1c] - tls: fix session and keylog add listener segfault (Nitzan Uziely) #38180
  • [eb20447407] - tls: extract out SecureContext configuration (James M Snell) #38116
  • [b16e79e05b] - tls: fix typo (Arkerone) #38129
  • [d4f33f109e] - tools: skip macOS GitHub Actions test on doc-only changes (Rich Trott) #38296
  • [13d0de5954] - tools: set arch in Distribution.xml (Ash Cripps) #38261
  • [28bca33f28] - tools: update ESLint to 7.24.0 (Colin Ihrig) #38179
  • [038608d401] - tools: relax max-len lint rule for template strings (Rich Trott) #38097
  • [e67fb569f4] - tools: apply consistent comma-dangle lint rule (Rich Trott) #37930
  • [9843361c07] - tools: update V8 gypfiles for 9.0 (Michaël Zasso) #37587
  • [017661768a] - tools: update V8 gypfiles for 8.9 (Michaël Zasso) #37330
  • [79da253473] - tools: update V8 gypfiles for 8.8 (Michaël Zasso) #36139
  • [770d9e2542] - tools: update V8 gypfiles for 8.7 (Michaël Zasso) #35700
  • [b87f1be92d] - typings: add types for "http_parser" and "options" bindings (Michaël Zasso) #38239
  • [1c8b2956d1] - typings: add types for internalBinding('serdes') (Michaël Zasso) #38204
  • [d97787fccc] - typings: add JSDoc to os module functions (David Brownman) #38197
  • [8acfe5c2a4] - typings: add JSDoc Types to lib/querystring (Simon Knott) #38185
  • [d3162da8dd] - typings: add JSDoc typings for http (Voltrex) #38191
  • [82d59882b1] - typings: add JSDoc typings for assert (Voltrex) #38188
  • [f1a21e5c91] - typings: add JSDoc types to lib/path (Simon Knott) #38186
  • [3377eb9641] - typings: add types for internalBinding('util') (Michaël Zasso) #38200
  • [cb2bdc632a] - typings: add types for internalBinding('fs') (Michaël Zasso) #38198
  • [26eed3e0ed] - vm: add import assertion support (Gus Caplan) #37176
  • [6986fa07eb] - worker: fix exit code for error thrown in handler (Nitzan Uziely) #38012

New in Node.js 14.16.1 LTS (Apr 21, 2021)

  • Vulnerabilities fixed:
  • CVE-2021-3450: OpenSSL - CA certificate check bypass with X509_V_FLAG_X509_STRICT (High)
  • This is a vulnerability in OpenSSL which may be exploited through Node.js. You can read more about it in https://www.openssl.org/news/secadv/20210325.txt
  • Impacts:
  • All versions of the 15.x, 14.x, 12.x and 10.x releases lines
  • CVE-2021-3449: OpenSSL - NULL pointer deref in signature_algorithms processing (High)
  • This is a vulnerability in OpenSSL which may be exploited through Node.js. You can read more about it in https://www.openssl.org/news/secadv/20210325.txt
  • Impacts:
  • All versions of the 15.x, 14.x, 12.x and 10.x releases lines
  • CVE-2020-7774: npm upgrade - Update y18n to fix Prototype-Pollution (High)
  • This is a vulnerability in the y18n npm module which may be exploited by prototype pollution. You can read more about it in https://github.com/advisories/GHSA-c4w7-xm78-47vh
  • Impacts:
  • All versions of the 14.x, 12.x and 10.x releases lines

New in Node.js 15.14.0 Current (Apr 8, 2021)

  • Vulerabilties fixed:
  • OpenSSL - CA certificate check bypass with X509_V_FLAG_X509_STRICT (High)
  • This is a vulnerability in OpenSSL which may be exploited through Node.js. You can read more about it in
  • OpenSSL - NULL pointer deref in signature_algorithms processing (High)
  • This is a vulnerability in OpenSSL which may be exploited through Node.js.
  • npm upgrade - Update y18n to fix Prototype-Pollution (High)
  • This is a vulnerability in the y18n npm module which may be exploited by prototype pollution.

New in Node.js 15.13.0 Current (Apr 1, 2021)

  • Notable Changes:
  • buffer:
  • implement btoa and atob (James M Snell) #37529
  • deps:
  • upgrade npm to 7.7.6 (Ruy Adorno) #37968
  • This update adds workspaces support to npm run and npm exec
  • doc:
  • add legacy status to stability index (James M Snell) #37784
  • add @linkgoron to collaborators (Nitzan Uziely) #37817
  • http:
  • add http.ClientRequest.getRawHeaderNames() (simov) #37660
  • Commits:
  • [dc9cd43d8f] - (SEMVER-MINOR) buffer: implement btoa and atob (James M Snell) #37529
  • [377830fd28] - child_process: remove unused argument (Rich Trott) #37923
  • [cdfc1c8692] - child_process: cleanup AbortSignal duplication (Nitzan Uziely) #37823
  • [95aa032413] - (SEMVER-MINOR) child_process: add timeout to spawn and fork (Nitzan Uziely) #37256
  • [50fc6b9df0] - crypto: clear errors in SignTraits::DeriveBits (Filip Skokan) #37820
  • [79259389a1] - crypto: fix DiffieHellman argument validation (Antoine du Hamel) #37810
  • [11d45855cd] - crypto: fix header name (Jiawen Geng) #37792
  • [c37806d0ba] - crypto: use macro map for NodeCryptoError (Darshan Sen) #37758
  • [bfe3f21ee0] - crypto: fix crypto.verify callback invocation with a private keyobject (Filip Skokan) #37795
  • [f09c033faf] - deps: backport v8 f19142e6 (Guy Bedford) #37864
  • [2fd97ce687] - deps: v8 backport 9689b17687b (Guy Bedford) #37865
  • [f2cef54b6f] - deps: upgrade npm to 7.7.6 (Ruy Adorno) #37968
  • [ec82feb728] - deps: upgrade npm to 7.7.5 (Ruy Adorno) #37919
  • [649e04c4a5] - deps: upgrade npm to 7.7.4 (Ruy Adorno) #37897
  • [d5b472b70d] - deps: upgrade npm to 7.7.0 (Ruy Adorno) #37879
  • [9e6aa190e3] - deps: add ngtcp2 and nghttp3 (James M Snell) #37682
  • [659fc5d684] - doc: fix typos in lib/internal/bootstrap/pre_execution.js (marsonya) #37658
  • [ac60d018e2] - doc: add more commands for cherry-picking and changelog to release docs (Danielle Adams) #37785
  • [0fe3c7edd3] - doc: spell out ICU acronym on first occurrence (Rich Trott) #37942
  • [364c8ac40d] - doc: update GOVERNANCE.md for TSC Charter changes (Rich Trott) #37888
  • [e84252b35d] - doc: reduce header nesting in async_hooks.md (Rich Trott) #37839
  • [a6f21e2cfc] - doc: fix wording in outgoingMessage.write (Tobias Nießen) #37894
  • [30bc2e43e4] - doc: add examples for WHATWG URL objects (James M Snell) #37822
  • [c0a424f3e9] - doc: clarify when child process 'spawn' event is *not* emitted (Matthew Francis Brunetti) #37833
  • [9defe10371] - doc: fix legacy stability indicator display (Rich Trott) #37838
  • [f97a5dd22f] - doc: use sentence-style capitlaztion in template header (Rich Trott) #37837
  • [71fde07274] - doc: add Ayase-252 to triagers (Qingyu Deng) #37781
  • [8f18133de0] - doc: use sentence case in issues.md headers (marsonya) #37537
  • [3376051a0e] - doc: fix JS flavor selection (Antoine du Hamel) #37791
  • [b09d032683] - doc: move Derek Lewis back to collaborators (Derek Lewis) #37726
  • [6da0a0e85a] - doc: apply style for legacy status (James M Snell) #37784
  • [185d4cd4aa] - doc: revoke deprecation of legacy url, change status to legacy (James M Snell) #37784
  • [9d160daa89] - doc: add legacy status to stability index (James M Snell) #37784
  • [4700042a9b] - doc: add @linkgoron to collaborators (Nitzan Uziely) #37817
  • [c4183bbea4] - doc: fix AbortError example for timers (dbachko) #37738
  • [50f3ad1946] - doc: fix typo in stream docs (Ian Kerins) #37716
  • [2e82a97520] - doc: add gyp maintain info (Jiawen Geng) #37765
  • [3925458df7] - doc,tools: use only one level 1 header per page (Rich Trott) #37839
  • [e9c161ce12] - http: fix double AbortSignal registration (Nitzan Uziely) #37730
  • [a5205819d8] - (SEMVER-MINOR) http: add http.ClientRequest.getRawHeaderNames() (simov) #37660
  • [1c043272ea] - http2: treat non-EOF empty frames like other invalid frames (Anna Henningsen) #37875
  • [a5bf7de6eb] - http2: fix setting options before handle exists (Anna Henningsen) #37875
  • [af7489cb6c] - lib: add brand checks to AbortController and AbortSignal (Mattias Buelens) #37720
  • [6e2b60931c] - lib: fix typo in internal/modules/esm/module_job.js (marsonya) #37773
  • [3a440ecdf8] - lib: fix typo in lib/internal/crypto/certificate.js (marsonya) #37741
  • [3ab223dd32] - node-api: fix crash in finalization (Michael Dawson) #37876
  • [d1a3e0efb6] - node-api: stop ref gc during environment teardown (Gabriel Schulhof) #37616
  • [e60bd1a7dc] - (SEMVER-MINOR) perf_hooks: make Performance extend EventTarget (Michaël Zasso) #37621
  • [b6ad8e4cc1] - src: indent long help text properly (David Glasser) #37911
  • [13ecff63d6] - src: document newer values for --unhandled-rejections flag (David Glasser) #37899
  • [bd87e195ed] - src: fix typo in src code guide (Tobias Nießen) #37956
  • [2da532cef8] - src: report idle time correctly (Stephen Belanger) #37868
  • [836cb67945] - src: add .note.GNU-stack section (James Addison) #37688
  • [9557dda2eb] - (SEMVER-MINOR) stream: pipeline accept Buffer as a valid first argument (Nitzan Uziely) #37739
  • [43c3b43ea3] - stream: make Readable.from performance better (wwwzbwcom) #37609
  • [b0226b39f2] - test: split promisified timers test for coverage purposes (Rich Trott) #37943
  • [e256c4d11d] - test: fix typeof comparison (Rich Trott) #37924
  • [76ebc4bbd9] - test: increase wiggle room for memory in test-worker-resource-limits (Rich Trott) #37901
  • [5cdeb76708] - test: add OpenSSL 3.0 checks to tls-passphrase (Daniel Bevenius) #37860
  • [33c35a38dc] - test: add OpenSSL 3.0 checks to test-crypto-keygen (Daniel Bevenius) #37860
  • [86bf341a35] - test: fix deprecation warning in test-doctool-html (Antoine du Hamel) #37858
  • [aa529b73b7] - test: fix ibmi skip message (Tobias Nießen) #37821
  • [d9ab1d56ce] - test: fix flaky test-vm-timeout-escape-promise-module-2 (Rich Trott) #37842
  • [5d4c610727] - test: remove duplicated test for eventtarget (himself65) #37853
  • [44490af948] - test: relax Y2K38 check in test-fs-utimes-y2K38 (Richard Lau) #37825
  • [9bc6fe7eb3] - test: remove references to unsupported AIX versions (Richard Lau) #37826
  • [f07428ae51] - test: remove skip for fixed test-benchmark-fs (Rich Trott) #37803
  • [9f61cbd1fd] - test: account for OOM risks in heapsnapshot-near-heap-limit tests (Joyee Cheung) #37761
  • [e85f311cf2] - test: refactor code to use AbortSignal.abort() (Wassim Chegham) #37798
  • [6ed9e0bd81] - test: improve test-arm-math-illegal-instruction (marsonya) #37670
  • [505f9c95d1] - (SEMVER-MINOR) test: app atob web platform tests (James M Snell) #37529
  • [a8edf1aafe] - test: add known_issues test for #13683 (Rich Trott) #37744
  • [4487483d9d] - test: fix test-fs-utimes on non-Y2K38 file systems (Rich Trott) #37707
  • [d44b268910] - timers: fix arbitrary object clearImmediate errors (Nitzan Uziely) #37824
  • [b7e7384109] - tools: improve valid-typeof lint rule (Rich Trott) #37924
  • [ca93e52783] - tools: simplify eslint comma-dangle configuration (tools) (Rich Trott) #37883
  • [b5879efef1] - tools: improve macos-firewall.sh output (Rich Trott) #37846
  • [dbc4804468] - tools: simplify eslint comma-dangle configuration (Rich Trott) #37850
  • [0f2e142946] - tools: make genv8constants.py Python3-compatible (Michaël Zasso) #37835
  • [b6be472456] - tools: update gitignore for CMake (Jiawen Geng) #37793
  • [2227aa61ea] - tools: partially detect quic support in shared_openssl (James M Snell) #37682
  • [01dcf4d1d8] - tools: update ESLint to 7.22.0 (Colin Ihrig) #37734
  • [3452618905] - tty: validate file descriptor to avoid int32 overflow (Antoine du Hamel) #37809
  • [d33f446abd] - util: remove unreachable inspect code (Rich Trott) #37941

New in Node.js 15.12.0 Current (Mar 19, 2021)

  • Notable Changes:
  • crypto:
  • add optional callback to crypto.sign and crypto.verify (Filip Skokan) #37500
  • support JWK objects in create*Key (Filip Skokan) #37254
  • deps:
  • switch openssl to quictls/openssl (James M Snell) #37601
  • update to [email protected] (Guy Bedford) #37712
  • fs:
  • improve fsPromises writeFile performance (Nitzan Uziely) #37610
  • improve fsPromises readFile performance (Nitzan Uziely) #37608
  • lib:
  • implement AbortSignal.abort() (James M Snell) #37693
  • node-api:
  • define version 8 (Gabriel Schulhof) #37652
  • worker:
  • add setEnvironmentData/getEnvironmentData (James M Snell) #37486
  • Commits:
  • [44514600b2] - assert,util: fix commutativity edge case (Ruben Bridgewater) #37711
  • [8666d777cc] - benchmark: add benchmark for fsPromises.writeFile (Nitzan Uziely) #37610
  • [e9028eb646] - cluster: restructure to same prototype for cluster child (Yash Ladha) #36610
  • [8e1257e26d] - cluster: clarify construct Handle (Jackson Tian) #37385
  • [341ee31e15] - crypto: reconcile duplicated code (James M Snell) #37704
  • [a2d08d5dfd] - crypto: add internal error codes (Darshan Sen) #37650
  • [922f2f0eb2] - (SEMVER-MINOR) crypto: add optional callback to crypto.sign and crypto.verify (Filip Skokan) #37500
  • [55e522ca23] - (SEMVER-MINOR) crypto: support JWK objects in create*Key (Filip Skokan) #37254
  • [33180fad81] - crypto: add separate error for INVALID_KEY_TYPE (Darshan Sen) #37555
  • [d81b9af1fc] - crypto: improve randomUUID performance (Dawid Rusnak) #37243
  • [23d654105f] - crypto,test: improve hmac coverage with webcrypto tests (obi-el) #37571
  • [dfca2fac24] - (SEMVER-MINOR) deps: update to [email protected] (Guy Bedford) #37712
  • [ce357c0c11] - (SEMVER-MINOR) deps: update archs files for OpenSSL-1.1.1+quic (James M Snell) #37601
  • [6d77b6174f] - (SEMVER-MINOR) deps: switch openssl to quictls/openssl (James M Snell) #37601
  • [3e1a46a6a8] - deps: upgrade npm to 7.6.3 (Ruy Adorno) #37721
  • [b2fd00398c] - deps: V8: cherry-pick 1648e050cade (Colin Ihrig) #37664
  • [7422453072] - deps: upgrade npm to 7.6.1 (Ruy Adorno) #37606
  • [89f3aa92b4] - doc: add marsonya as a triager (marsonya) #37667
  • [3710857de3] - doc: add hints to http.request() options (Luigi Pinca) #37745
  • [5d793737d7] - (SEMVER-MINOR) doc: update maintaining-openssl guide (James M Snell) #37601
  • [1022d3d947] - doc: recommend checking abortSignal.aborted first (James M Snell) #37714
  • [764aa2dcee] - doc: fix link to googletest fixtures (Tobias Nießen) #37698
  • [0d3cc2dc82] - doc: fix typo in description of close event (Tobias Nießen) #37662
  • [e55058fed1] - doc: use sentence case in README.md headers (marsonya) #37645
  • [e7fc7a4c23] - doc: crypto esm examples (James M Snell) #37594
  • [a3abd52e1e] - doc: add localPort to http.request() options (Luigi Pinca) #37586
  • [705bdfbe3e] - doc: fix grammar errors in http document (Qingyu Deng) #37265
  • [e5f7179d1e] - doc: add document for http.OutgoingMessage (Qingyu Deng) #37265
  • [7c0ce17e65] - doc: fix typo in doc/guides/collaborator-guide.md (marsonya) #37643
  • [60d8afa9ab] - doc: document that module.evaluate fulfills as undefined (James M Snell) #37663
  • [6192315cf3] - doc: remove generated from dsaEncoding description (Marko Kaznovac) #37459
  • [e4c8c50b28] - doc: fix typos in /doc/api/fs.md (Merlin Luntke) #37557
  • [ebc6f41072] - doc: fix linter issue (Antoine du Hamel) #37657
  • [d17aab1775] - doc: add esm examples for assert (James M Snell) #37607
  • [366772bf87] - doc: add return type of readline.createInterface (Darshan Sen) #37600
  • [f50db89a52] - doc: change lang info string in fs JS snippets (Antoine du Hamel) #37605
  • [5a9196e0e4] - doc: apply sentence case to headers in pull-requests.md (marsonya) #37602
  • [05badcf755] - doc: fix small typo in 15.11.0 release (Tierney Cyren) #37590
  • [e0e7aa1058] - doc: add top-level await syntax in vm.md (Antoine du Hamel) #37077
  • [732d8ca811] - doc: clarify that columnOffset applies only to the first line (James M Snell) #37563
  • [267bbe3412] - doc: document that NODE_EXTRA_CA_CERTS is read only once (James M Snell) #37562
  • [f56a805a0d] - doc: refactor signal info in child_process.md (Darshan Sen) #37528
  • [236ba04a79] - domain: add name to monkey-patched emit function (Colin Ihrig) #37550
  • [1c09776106] - domain: show falsy names as anonymous for DEP0097 (Colin Ihrig) #37550
  • [5a49e3139e] - errors: remove experimental from --enable-source-maps (Benjamin Coe) #37743
  • [e384291c90] - events: remove return value on addEventListener (James M Snell) #37696
  • [ba91ef2d08] - fs: improve fsPromises writeFile performance (Nitzan Uziely) #37610
  • [3572299fc2] - fs: add promisified readFile benchmark (Nitzan Uziely) #37608
  • [b277776845] - fs: improve fsPromises readFile performance (Nitzan Uziely) #37608
  • [6688569a50] - http: refactor to avoid unsafe array iteration (Antoine du Hamel) #37654
  • [c737df64fe] - http2: make res.req a normal property (Colin Ihrig) #37706
  • [ac2f50b3fd] - (SEMVER-MINOR) lib: implement AbortSignal.abort() (James M Snell) #37693
  • [12fb2ffc33] - lib: use AbortError consistently (James M Snell) #37715
  • [e63a25e2ff] - lib: fix typo in lib/internal/http2/core.js (marsonya) #37695
  • [852f53ed7e] - lib: fix typo in lib/internal/bootstrap/loaders.js (marsonya) #37644
  • [daa4ac54c5] - lib: remove use of array destructuring (Antoine du Hamel) #36818
  • [ae0e76c264] - module: refactor NativeModule to avoid unsafe array iteration (Antoine du Hamel) #37656
  • [a86334fbb9] - (SEMVER-MINOR) node-api: define version 8 (Gabriel Schulhof) #37652
  • [d28ce328ed] - src: fix variable name of OnCloseReceived callback (Tobias Nießen) #37521
  • [d59c6de7e8] - src: add error formatting support (Gus Caplan) #37598
  • [33436e39fe] - src: make BaseObject::is_snapshotable virtual (Anna Henningsen) #37539
  • [30c62dee1c] - src,test: support dynamically linking OpenSSL 3.0 (Daniel Bevenius) #37669
  • [4bf1f333c7] - stream,util: fix "the the" typo in comments (Luigi Pinca) #37674
  • [1b53087541] - (SEMVER-MINOR) test: update dom/abort tests (James M Snell) #37693
  • [c2cb153646] - (SEMVER-MINOR) test: fixup test to account for quic openssl version (James M Snell) #37601
  • [ede34aa128] - test: address flaky wpt/test-timers (Rich Trott) #37691
  • [ed32cd4e67] - test: fixup flaky test-crypto-x509 (Filip Skokan) #37709
  • [013b3ff2d4] - test: remove unnecessary V8 flag (Antoine du Hamel) #37671
  • [cc48816826] - test: fix WPT URL tests that fetch JSON data (Michaël Zasso) #37624
  • [b0ed1e790e] - test: improve error reporting in test-child-process-pipe-dataflow (Rich Trott) #37632
  • [f7edb07ec2] - test: terminate WPT workers after test completion (Michaël Zasso) #37627
  • [b7ef829dac] - test: ignore WPT worker errors after tests finished (Michaël Zasso) #37626
  • [257b1ab225] - test: update Web Platform Tests (Michaël Zasso) #37620
  • [1f6341852f] - test: remove FLAKY status for test-async-hooks-http-parser-destroy (Rich Trott) #37636
  • [044fd2fc86] - test: remove FLAKY status for fixed test (Rich Trott) #37633
  • [d5ff50d2a7] - test: clear flaky designation for test-stream-pipeline-http2 (Rich Trott) #37631
  • [381fb98061] - test: clear FLAKY designation for test-http2-pipe (Rich Trott) #37631
  • [0582c51754] - test: fix wasi/test-return-on-exit on 32-bit systems (Colin Ihrig) #37615
  • [0d04b6c043] - test: fix flaky test-child-process-exec-abortcontroller-promisified (Antoine du Hamel) #37572
  • [a44daff34d] - test: update all Web Platform Tests (Michaël Zasso) #37467
  • [c09bd77daf] - test: redownload wpt fixtures with correct encoding (Michaël Zasso) #37467
  • [57319770bb] - test,crypto: ensure promises resolve in webcrypto tests (Antoine du Hamel) #37653
  • [2d9b624668] - tls: refactor to avoid unsafe array iteration (Antoine du Hamel) #37655
  • [72af5d9895] - tools: parse changelogs only in the default branch (Antoine du Hamel) #37768
  • [bd62771a22] - tools: use bundled npm in update scripts (Ruy Adorno) #37613
  • [4de3b8483a] - tools: update glob-parent to 5.1.2 (Rich Trott) #37646
  • [ec71a0f817] - tools: check version number in YAML comments from changelogs (Antoine du Hamel) #37599
  • [07fc61b900] - tools: add support for mjs and cjs JS snippet linting (Antoine du Hamel) #37311
  • [440c944420] - tools: fix object name in prefer-assert-methods.js (Tobias Nießen) #37544
  • [7042ec89f1] - tools: update remark-preset-lint-node to 2.1.1 (Rich Trott) #37604
  • [82e78f7c12] - tools: fix compiler warning in inspector_protocol (Darshan Sen) #37573
  • [fd7234c52f] - tools: make update-eslint.sh work with npm@7 (Luigi Pinca) #37566
  • [057c6a842a] - tools: add ESLint rule no-array-destructuring (Antoine du Hamel) #36818
  • [25a5f0b3b8] - tools: update eslint-plugin-markdown configuration (Colin Ihrig) #37549
  • [7a1de1fce9] - tools: update ESLint to 7.21.0 (Luigi Pinca) #37546
  • [9c0ca4689d] - tools,doc: add support for several flavors of JS code snippets (Antoine du Hamel) #37162
  • [80af610d95] - util: inspect __proto__ key as written in object literal (Anna Henningsen) #37713
  • [0d135e8316] - (SEMVER-MINOR) worker: add setEnvironmentData/getEnvironmentData (James M Snell) #37486
  • [8024ffbba4] - worker: add ports property to MessageEvents (Anna Henningsen) #37538
  • [f4fd3fb6a7] - worker: allow BroadcastChannel in receiveMessageOnPort (Anna Henningsen) #37535

New in Node.js 15.11.0 Current (Mar 3, 2021)

  • Notable Changes:
  • [a3e3156b52] - (SEMVER-MINOR) crypto: make FIPS related options always awailable (Vít Ondruch) #36341
  • [9ba5c0f9ba] - (SEMVER-MINOR) errors: remove experimental from --enable-source-maps (Benjamin Coe) #37362
  • Commits:
  • [d039e6fa80] - assert: refactor to avoid unsafe array iteration (Antoine du Hamel) #37344
  • [d2e5529e08] - bootstrap: include v8 module into the builtin snapshot (Joyee Cheung) #36943
  • [59861bac0e] - bootstrap: include fs module into the builtin snapshot (Joyee Cheung) #36943
  • [458a4108b7] - buffer: make Blob's constructor more spec-compliant (Michaël Zasso) #37361
  • [0d564ce214] - buffer: make Blob's slice method more spec-compliant (Michaël Zasso) #37361
  • [ddae112133] - child_process: fix spawn and fork abort behavior (Nitzan Uziely) #37325
  • [b1e188de8d] - crypto: refactor hasAnyNotIn to avoid unsafe array iteration (Antoine du Hamel) #37433
  • [291d9e9936] - crypto: check ed/x webcrypto key import algorithm names (Filip Skokan) #37305
  • [a3e3156b52] - (SEMVER-MINOR) crypto: make FIPS related options always awailable (Vít Ondruch) #36341
  • [b634469c38] - crypto: refactor to avoid unsafe array iteration (Antoine du Hamel) #37364
  • [01773ab614] - crypto: use BoringSSL compatible errors (Shelley Vohr) #37297
  • [f3d67000a0] - deps: upgrade npm to 7.6.0 (Ruy Adorno) #37559
  • [e1045f1004] - deps: upgrade npm to 7.5.6 (Ruy Adorno) #37496
  • [80d3c118f4] - deps: V8: cherry-pick 373f4ae739ee (Richard Lau) #37505
  • [1408de7e24] - deps: cherry-pick 8957d4677aa794c230577f234071af0 from V8 upstream (Antoine du Hamel) #37471
  • [725d48ae77] - doc: remove experimental from --enable-source-maps (Colin Ihrig) #37540
  • [5d939b7a49] - doc: fix typo in doc/api/packages.md (marsonya) #37536
  • [cbfc6b1692] - doc: document how to register external bindings for snapshot (Joyee Cheung) #37463
  • [dd7a04dc9f] - doc: fix typo "director" instead of "directory" (humanwebpl) #37523
  • [ba81e7cb5e] - doc: revise LTS text in collaborator guide (Rich Trott) #37527
  • [7529a97a5c] - doc: revise CI text in collaborator guide (Rich Trott) #37526
  • [1285b907ce] - doc: revise objections section of collaborator guide (Rich Trott) #37525
  • [bc86208a0a] - doc: revise premature disclosure text in collaborator guide (Rich Trott) #37524
  • [46af56752e] - doc: change links to use HEAD in top level docs (Michael Dawson) #37494
  • [3b737e63ce] - doc: apply sentence case to headers in doc/guides (marsonya) #37506
  • [fb5e5bed21] - doc: fix typo in webcrypto.md (marsonya) #37507
  • [3b7cb75554] - doc: document the NO_COLOR and FORCE_COLOR env vars (James M Snell) #37477
  • [0fac27d546] - doc: add url.resolve replacement example (Antoine du Hamel) #37501
  • [2228f44b25] - doc: apply sentence case to guides headers (marsonya) #37497
  • [617819e4fb] - doc: update CI requirements for landing pull requests (Antoine du Hamel) #37308
  • [4a40759b33] - doc: recommend queueMicrotask over process.nextTick (James M Snell) #37484
  • [834f63793a] - doc: apply sentence case to headers in doc/guides (marsonya) #37478
  • [7ac0820da0] - doc: fix typo in doc/api/http2/md (marsonya) #37479
  • [4ad7a78448] - doc: alphabetize vm Module class properties (Rich Trott) #37451
  • [a193d7ca87] - doc: alphabetize crypto Cipher class entries (Rich Trott) #37450
  • [54b6f1bcf9] - doc: use HEAD for links in api docs (Michael Dawson) #37437
  • [549d24b8ad] - doc: fix alignment of parameters (Michael Dawson) #37422
  • [f3559a922b] - doc: fix typo in doc/api/esm.md (marsonya) #37400
  • [c3d236d405] - doc: fix "referred to" in fs docs (Tobias Nießen) #37388
  • [9ac8c74539] - doc: document x509 error codes (Dan Čermák) #37096
  • [9a454afcd6] - doc: fix typo in esm.md (Jay Tailor) #37417
  • [b3bf3d9824] - doc: use HEAD in links where possible (Michael Dawson) #37421
  • [6675342cd9] - doc: clarify that async_hook callbacks cannot be async (James M Snell) #37384
  • [4b54c10500] - doc: use **Default:** more consistently (Colin Ihrig) #37387
  • [f20ce47dbb] - doc,child_process: pid can be undefined when ENOENT (dr-js) #37014
  • [6205e29cb9] - doc,lib: prepare for stricter multi-line array linting (Rich Trott) #37088
  • [9ba5c0f9ba] - (SEMVER-MINOR) errors: remove experimental from --enable-source-maps (Benjamin Coe) #37362
  • [c0cdb83433] - fs: fix writeFile signal does not close file (Nitzan Uziely) #37402
  • [e8b1e2c0a3] - fs: fix pre-aborted writeFile AbortSignal file leak (Nitzan Uziely) #37393
  • [6b42e65983] - fs: fixup negative length in fs.truncate (James M Snell) #37483
  • [d141fce634] - fs: use createDeferredPromise() in promises.watch() (Colin Ihrig) #37386
  • [bb81accb16] - lib: use .push and .unshift instead of .concat (Antoine du Hamel) #37239
  • [dc3c299862] - lib: remove outdated todo comment (Antoine du Hamel) #37396
  • [856d20b772] - lib: add URI handling functions to primordials (Antoine du Hamel) #37394
  • [a1ed78cb3b] - module: improve support of data: URLs (Antoine du Hamel) #37392
  • [27816eac61] - node-api: force env shutdown deferring behavior (Gabriel Schulhof) #37303
  • [f1381f7a7a] - src: fix alloc-dealloc-mismatch in node_snapshotable.h (Darshan Sen) #37443
  • [5ea2ed611f] - src: fix ETW_WRITE_EMPTY_EVENT macro (Michaël Zasso) #37334
  • [96bcd52d3e] - src: disable unfixable MSVC warnings (Michaël Zasso) #37334
  • [c75f5f372d] - src: avoid implicit type conversions (take 2) (Michaël Zasso) #37334
  • [e400f8c9c8] - src: support serialization of binding data (Joyee Cheung) #36943
  • [daad7bbd34] - src: adjust THP sysfs config token retrieval and file closure (James Addison) #37187
  • [4cc76457d9] - stream: move duplicated code to an internal module (Rich Trott) #37508
  • [3d3df0c005] - stream: add AbortSignal support to finished (Nitzan Uziely) #37354
  • [429dffd32e] - stream: add AbortSignal to promisified pipeline (Nitzan Uziely) #37359
  • [9696cf7142] - test: remove FLAKY status for test-http2-multistream-destroy-on-read-tls (Rich Trott) #37533
  • [453113938d] - test: make status file names consistent (Rich Trott) #37532
  • [00b3446a8e] - test: account for pending deprecations in esm test (Rich Trott) #37542
  • [f2aa305348] - test: fix incorrect timers-promisified case (ttzztztz) #37425
  • [ce7fbbf94c] - test: fix typo in test_node_crypto.cc (Ikko Ashimine) #37469
  • [ba319f0c60] - test: remove FLAKY for test-http2-compat-client-upload-reject (Rich Trott) #37462
  • [dfa0440341] - test: validate no debug info for http2 (Michael Dawson) #37447
  • [b38404ee17] - test: remove FLAKY designation for test-http2-client-upload-reject (Rich Trott) #37461
  • [b569105183] - test: clarify usage of tmpdir.refresh() (Darshan Sen) #37383
  • [4f41900687] - test: update upload.zip to be uncorrupted (Greg Ziskind) #37294
  • [d5c311ed15] - test: fix flaky test-worker-prof (Rich Trott) #37372
  • [df538ebc8e] - test: fix flaky test-webcrypto-encrypt-decrypt-aes (Darshan Sen) #37380
  • [19d6eb929c] - test: fix flaky test-fs-promises-file-handle-read (Rich Trott) #37371
  • [c554aa149c] - test,child_process: add check for subProcess.pid (dr-js) #37014
  • [5c27fd73b0] - tools: run doctool tests on GitHub Actions CI (Antoine du Hamel) #37398
  • [49013fcee1] - tools: make comma-dangle ESLint rule more stringent … (Rich Trott) #37088
  • [31f4600b7a] - worker: fix interaction of terminate() with messaging port (Anna Henningsen) #37319
  • [d93137b2a9] - workers: fix spawning from preload scripts (James M Snell) #37481

New in Node.js 15.10.0 Current (Feb 24, 2021)

  • Notable changes:
  • Vulnerabilities fixed:
  • CVE-2021-22883: HTTP2 'unknownProtocol' cause Denial of Service by resource exhaustion:
  • Affected Node.js versions are vulnerable to denial of service attacks when too many connection attempts with an 'unknownProtocol' are established. This leads to a leak of file descriptors. If a file descriptor limit is configured on the system, then the server is unable to accept new connections and prevent the process also from opening, e.g. a file. If no file descriptor limit is configured, then this lead to an excessive memory usage and cause the system to run out of memory.
  • CVE-2021-22884: DNS rebinding in --inspect:
  • Affected Node.js versions are vulnerable to denial of service attacks when the whitelist includes “localhost6”. When “localhost6” is not present in /etc/hosts, it is just an ordinary domain that is resolved via DNS, i.e., over network. If the attacker controls the victim's DNS server or can spoof its responses, the DNS rebinding protection can be bypassed by using the “localhost6” domain. As long as the attacker uses the “localhost6” domain, they can still apply the attack described in CVE-2018-7160.
  • CVE-2021-23840: OpenSSL - Integer overflow in CipherUpdate:
  • This is a vulnerability in OpenSSL which may be exploited through Node.js. You can read more about it in https://www.openssl.org/news/secadv/20210216.txt
  • Commits:
  • [2a3ce5974b] - deps: update archs files for OpenSSL-1.1.1j (Daniel Bevenius) #37412
  • [afbce66874] - deps: upgrade openssl sources to 1.1.1j (Daniel Bevenius) #37412
  • [4184806dee] - (SEMVER-MINOR) http2: add unknownProtocol timeout (Daniel Bevenius) nodejs-private/node-private#246
  • [43ae9c46c3] - src: drop localhost6 as allowed host for inspector (Matteo Collina) nodejs-private/node-private#244

New in Node.js 14.16.0 LTS (Feb 24, 2021)

  • Notable changes:
  • Vulnerabilities fixed:
  • CVE-2021-22883: HTTP2 'unknownProtocol' cause Denial of Service by resource exhaustion:
  • Affected Node.js versions are vulnerable to denial of service attacks when too many connection attempts with an 'unknownProtocol' are established. This leads to a leak of file descriptors. If a file descriptor limit is configured on the system, then the server is unable to accept new connections and prevent the process also from opening, e.g. a file. If no file descriptor limit is configured, then this lead to an excessive memory usage and cause the system to run out of memory.
  • CVE-2021-22884: DNS rebinding in --inspect:
  • Affected Node.js versions are vulnerable to denial of service attacks when the whitelist includes “localhost6”. When “localhost6” is not present in /etc/hosts, it is just an ordinary domain that is resolved via DNS, i.e., over network. If the attacker controls the victim's DNS server or can spoof its responses, the DNS rebinding protection can be bypassed by using the “localhost6” domain. As long as the attacker uses the “localhost6” domain, they can still apply the attack described in CVE-2018-7160.
  • CVE-2021-23840: OpenSSL - Integer overflow in CipherUpdate:
  • This is a vulnerability in OpenSSL which may be exploited through Node.js. You can read more about it in https://www.openssl.org/news/secadv/20210216.txt
  • Commits:
  • [313d26800c] - deps: update archs files for OpenSSL-1.1.1j (Daniel Bevenius) #37412
  • [6098012b48] - deps: upgrade openssl sources to 1.1.1j (Daniel Bevenius) #37412
  • [afea10b097] - (SEMVER-MINOR) http2: add unknownProtocol timeout (Daniel Bevenius) nodejs-private/node-private#246
  • [1ca3f5abcb] - src: drop localhost6 as allowed host for inspector (Matteo Collina) nodejs-private/node-private#244

New in Node.js 14.15.5 LTS (Feb 18, 2021)

  • Notable Changes:
  • deps:
  • upgrade npm to 6.14.11 (Ruy Adorno) #37173
  • V8: backport dfcf1e86fac0 (Michaël Zasso) #37245
  • Note: Node.js is not believed to be vulnerable to CVE-2021-21148.
  • stream,zlib: do not use _stream_* anymore (Matteo Collina) #36618
  • Commits:
  • [20b1e6c802] - deps: V8: backport dfcf1e86fac0 (Michaël Zasso) #37245
  • [408c7a65f3] - deps: upgrade npm to 6.14.11 (Ruy Adorno) #37173
  • [017eed665b] - http: do not loop over prototype in Agent (Michaël Zasso) #36410
  • [25a3204fe2] - http: don't cork .end when not needed (Dimitris Halatsis) #36633
  • [2a1e4e9244] - stream: accept iterable as a valid first argument (ZiJian Liu) #36479
  • [9ff73fcdbe] - stream,zlib: do not use _stream_* anymore (Matteo Collina) #36618
  • [c03cddb46f] - test: http complete response after socket double end (Dimitris Halatsis) #36633
  • [f206505e9d] - util: fix instanceof checks with null prototypes during inspection (Ruben Bridgewater) #36178
  • [2f7944b18b] - util: fix module prefixes during inspection (Ruben Bridgewater) #36178

New in Node.js 15.9.0 Current (Feb 18, 2021)

  • Notable Changes:
  • crypto:
  • add keyObject.export() 'jwk' format option (Filip Skokan) #37081
  • deps:
  • upgrade to libuv 1.41.0 (Colin Ihrig) #37360
  • doc:
  • add dmabupt to collaborators (Xu Meng) #37377
  • refactor fs docs structure (James M Snell) #37170
  • fs:
  • add fsPromises.watch() (James M Snell) #37179
  • use a default callback for fs.close() (James M Snell) #37174
  • add AbortSignal support to watch (Benjamin Gruenbaum) #37190
  • perf_hooks:
  • introduce createHistogram (James M Snell) #37155
  • stream:
  • improve Readable.from error handling (Benjamin Gruenbaum) #37158
  • timers:
  • introduce setInterval async iterator (linkgoron) #37153
  • tls:
  • add ability to get cert/peer cert as X509Certificate object (James M Snell) #37070
  • Commits:
  • [d0f1ff53ff] - async_hooks: set unhandledRejection async context (Sajal Khandelwal) #37281
  • [c160d88c9e] - buffer: add @@toStringTag to Blob (Colin Ihrig) #37336
  • [8487184457] - child_process: fix bad abort signal leak (Nitzan Uziely) #37257
  • [e28ea89b1a] - crypto: fix subtle.importKey JWK OKP public key import (Filip Skokan) #37255
  • [55fd6b6611] - crypto: avoid infinite loops in prime generation (Tobias Nießen) #37212
  • [9dac99a11a] - crypto: fix and simplify prime option validation (Tobias Nießen) #37164
  • [3e2746ff63] - crypto: remove webcrypto "DSA" JWK Key Type operations (Filip Skokan) #37203
  • [011910b424] - (SEMVER-MINOR) crypto: add keyObject.export() 'jwk' format option (Filip Skokan) #37081
  • [c0eadef495] - deps: upgrade to libuv 1.41.0 (Colin Ihrig) #37360
  • [50e81ba0b8] - deps: V8: cherry-pick 0c8b6e415c30 (Matin Zadehdolatabad) #37276
  • [d1c1724c69] - deps: upgrade npm to 7.5.3 (Ruy Adorno) #37283
  • [20c65b00c2] - deps: V8: backport dfcf1e86fac0 (Michaël Zasso) #37245
  • [e63b380f76] - deps: upgrade npm to 7.5.2 (Ruy Adorno) #37191
  • [d808db2732] - doc: add dmabupt to collaborators (Xu Meng) #37377
  • [dd054ca37f] - doc: optimize HTML rendering (Antoine du Hamel) #37301
  • [c188466a18] - doc: fix quotes in stream docs (Tobias Nießen) #37269
  • [f5e4625468] - doc: fix backticks in crypto API docs (Tobias Nießen) #37269
  • [e2a2bab44e] - doc: link PACKAGE_EXPORTS_RESOLVE to ESM section (Utku Gultopu) #37135
  • [1e99175e01] - doc: alphabetize crypto.* methods (Rich Trott) #37353
  • [392c86d38b] - doc: use sentence case in benchmark doc (Rich Trott) #37351
  • [62b2648a96] - doc: apply sentence-consistently in C++ style guide (Rich Trott) #37350
  • [189ce399da] - doc: apply sentence case to release doc headers (Rich Trott) #37349
  • [610b29b8bd] - doc: fix performanceEntry.flags style format (Cheng Liu) #37274
  • [85b1476f1d] - doc: fix typo in deprecations.md (marsonya) #37282
  • [f253cb9303] - doc: fix typo in buffer.md (marsonya) #37268
  • [804e7ae713] - doc: add version metadata for packages features (Antoine du Hamel) #37289
  • [cdd2fe5651] - doc: fix typo in /api/dns.md (marsonya) #37312
  • [7d8fd3f576] - doc: refactor fs docs structure (James M Snell) #37170
  • [facf3a5c23] - doc: fix description of hasSubscribers (Tobias Nießen) #37324
  • [3464c9f007] - doc: discourage error event (Benjamin Gruenbaum) #37264
  • [85bed2ec26] - doc: fix misnamed SHASUMS256.txt name in README.md (marsonya) #37260
  • [cd50e93307] - doc: warn about using strings as inputs in crypto (Tobias Nießen) #37248
  • [5a4288ebb6] - doc: fix typo in crypto.md (marsonya) #37279
  • [0e887caf32] - doc: fix typo in console.md (marsonya) #37279
  • [47c4f1fc54] - doc: use sentence case in README headers (Rich Trott) #37251
  • [7da1c9b219] - doc: use sentence case for headers in BUILDING.md (Rich Trott) #37250
  • [ebf3597db1] - doc: rename N-API to Node-API (Gabriel Schulhof) #37259
  • [760f126adb] - doc: mark Certificate methods as static, add missing KeyObject.from (Filip Skokan) #37198
  • [aebe532967] - doc: consistent webcrypto node.keyObject format (Filip Skokan) #37200
  • [596bfb36a0] - doc: mention CryptoKey in port.postMessage() (Filip Skokan) #37196
  • [0702d60def] - doc: fix webcrypto HMAC generateKey example (Filip Skokan) #37197
  • [8a254058f5] - doc: fix accommodate typos (Colin Ihrig) #37229
  • [5906e85ce2] - doc: fix version number for DEP006 (Antoine du Hamel) #37231
  • [52c40c7a48] - doc: fix CHANGELOG_ARCHIVE table of contents (Antoine du Hamel) #37232
  • [eb08afdf24] - doc: fix typo in globals.md (Darshan Sen) #37228
  • [b87c0d6c16] - doc: fix typo in cli.md (Kalvin Vasconcellos) #37214
  • [3f815d93bf] - doc: fix pr-url for DEP0148 (Antoine du Hamel) #37205
  • [ff02e5e12c] - doc: fix 404 links in module.md (Antoine du Hamel) #37202
  • [67c9a8e176] - doc: improve promise terminology (Benjamin Gruenbaum) #37181
  • [15804e0b3f] - errors: align source-map stacks with spec (Benjamin Coe) #37252
  • [88d3f74c85] - (SEMVER-MINOR) fs: add fsPromises.watch() (James M Snell) #37179
  • [c30245072a] - fs: allow passing negative zero fd (Darshan Sen) #37123
  • [655d19638a] - (SEMVER-MINOR) fs: use a default callback for fs.close() (James M Snell) #37174
  • [acd087dffb] - (SEMVER-MINOR) fs: add AbortSignal support to watch (Benjamin Gruenbaum) #37190
  • [f5d1bf9d0e] - http: explain the possibilty of refactor unused argument (Qingyu Deng) #37275
  • [d63ac28a9a] - http: explain the unused argument in IncomingMessage._read (Qingyu Deng) #37275
  • [4cdc5ea823] - http: fix ClientRequest unhandled errors (Robert Nagy) #36970
  • [c6198fddc7] - lib: simplify check in child_process (Darshan Sen) #37367
  • [f6f9af6a59] - lib: fix WebIDL object and dictionary type conversion (ExE Boss) #37047
  • [acabe08b10] - lib: add weak event handlers (Benjamin Gruenbaum) #36607
  • [3db1b30732] - meta: update README releases section (Zuzana Svetlikova) #37318
  • [d96a97a2b9] - module: make synthetic module evaluation steps return a Promise to support top level await (Daniel Clark) #37300
  • [a693baa0cb] - module: use optional chaining in cjs/loader.js (Darshan Sen) #37238
  • [061939d2f6] - (SEMVER-MINOR) node-api: allow retrieval of add-on file name (Gabriel Schulhof) #37195
  • [c4faa39768] - (SEMVER-MINOR) perf_hooks: introduce createHistogram (James M Snell) #37155
  • [799b2d5275] - policy: fix cascade getting scope (Bradley Meck) #37298
  • [6d53e797d7] - repl: refactor to avoid unsafe array iteration (Antoine du Hamel) #37345
  • [3fee5b2219] - repl: add auto‑completion for dynamic import calls (ExE Boss) #37178
  • [c3778343aa] - repl: refactor to avoid unsafe array iteration (Antoine du Hamel) #37188
  • [e28fa6c3fc] - src: fix return type of method in string_search.h (Darshan Sen) #37167
  • [42cc33cc48] - src: add mutex to ManagedEVPPKey class (Daniel Bevenius) #36825
  • [1a9bcdf1d9] - src: refactor v8 binding (Joyee Cheung) #37112
  • [54d36b00af] - src: rename binding_data_name to type_name in BindingData (Joyee Cheung) #37112
  • [3079a78428] - src: avoid implicit type conversions (Michaël Zasso) #37149
  • [a6053dc14a] - src: add context for TODO comment in env.cc (Yash Ladha) #37140
  • [354df9e8a1] - src: use make_shared for safe allocation (Yash Ladha) #37139
  • [337b4e7540] - src: put (de)serialization code into node_snapshotable.h/cc (Joyee Cheung) #37114
  • [2a5f67b381] - src: refactor bookkeeping of bootstrap status (Joyee Cheung) #37113
  • [48ce1eb364] - src: fix warning in string_search.h (Darshan Sen) #37146
  • [bfe0b46d92] - src: simplify calls to BN_bin2bn in prime gen (Tobias Nießen) #37169
  • [9946c1137e] - src: read exactly two tokens from Linux THP sysfs config (James Addison) #37065
  • [1fea05149a] - (SEMVER-MINOR) stream: improve Readable.from error handling (Benjamin Gruenbaum) #37158
  • [d2a487e640] - Revert "stream: fix .end() error propagation" (Matteo Collina) #37060
  • [b5692b4b06] - test: fix test-doctool-html (Antoine du Hamel) #37397
  • [b09d21b06b] - test: enable no-restricted-syntax rule for test-timers-promisified (Rich Trott) #37357
  • [1fc8307138] - test: re-implement promises.setInterval() test robustly (Rich Trott) #37230
  • [8483de4da8] - test: only run prime test with supported OpenSSL (Tobias Nießen) #37212
  • [48a634e514] - test: rename n-api to node-api (Gabriel Schulhof) #37217
  • [51575252f5] - test: remove flaky designation for test-http2-large-file (Rich Trott) #37156
  • [13fe17c4ef] - test: split heap snapshot limit tests (Rich Trott) #37189
  • [dc38dd2c6f] - timers: fix unsafe array iteration (Darshan Sen) #37223
  • [eb7ec1b257] - timers: remove flaky setInterval test (Nitzan Uziely) #37227
  • [4ebe38b212] - (SEMVER-MINOR) timers: introduce setInterval async iterator (linkgoron) #37153
  • [dc84c181c3] - (SEMVER-MINOR) tls: add ability to get cert/peer cert as X509Certificate object (James M Snell) #37070
  • [2e1f1c6f3c] - tools: refactor prefer-primordials (Antoine du Hamel) #36018
  • [b2b64113b1] - tools: update ESLint to 7.20.0 (Colin Ihrig) #37339
  • [a483c284f3] - tools: fix lint-pr-url message (Antoine du Hamel) #37304
  • [1ff375beb3] - tools: avoid pending deprecation in doc generator (Michaël Zasso) #37267
  • [6db5e7958a] - tools: add GitHub Action linter for pr-url (Antoine du Hamel) #37221
  • [d8d851ac5c] - tools: bump remark-present-lint-node from 2.0.0 to 2.0.1 (Rich Trott) #37270
  • [eb0daaedf9] - tools: fix d8 macOS build (Michaël Zasso) #37211
  • [745aad73dc] - tools: update ESLint to 7.19.0 (Colin Ihrig) #37159
  • [676f696a99] - url: fix definitions of URL/SearchParams methods and accessors (ExE Boss) #36799
  • [fbcab109de] - url: move URLSearchParams method definitions (ExE Boss) #36799
  • [7c51cecbca] - util: use assert for unreachable code (Rich Trott) #37249
  • [66a14d3992] - vm: add importModuleDynamically option to compileFunction (Gus Caplan) #35431
  • [05a16e7259] - worker: refactor to avoid unsafe array iteration (Antoine du Hamel) #37346

New in Node.js 15.8.0 Current (Feb 4, 2021)

  • Notable Changes:
  • [110063d694] - (SEMVER-MINOR) crypto: add generatePrime/checkPrime (James M Snell) #36997
  • [53a0bdff47] - (SEMVER-MINOR) crypto: experimental (Ed/X)25519/(Ed/X)448 support (James M Snell) #36879
  • [03460432af] - deps: upgrade npm to 7.5.0 (Ruy Adorno) #37117
  • This update adds a new npm diff command.
  • [2c7ad38c75] - (SEMVER-MINOR) dgram: support AbortSignal in createSocket (Nitzan Uziely) #37026
  • [b7c3f99f7e] - doc: add Zijian Liu to collaborators (ZiJian Liu) #37075
  • [02f1d2fda4] - esm: deprecate legacy main lookup for modules (Guy Bedford) #36918
  • [75124298d5] - (SEMVER-MINOR) readline: add history event and option to set initial history (Mattias Runge-Broberg) #33662
  • [4e757eab96] - (SEMVER-MINOR) readline: add support for the AbortController to the question method (Mattias Runge-Broberg) #33676
  • Commits:
  • [602aaf25af] - async_hooks: refactor to avoid unsafe array iteration (Antoine du Hamel) #37125
  • [dcd34b0144] - benchmark: add benchmark for NODE_V8_COVERAGE (Benjamin Coe) #36972
  • [ec22756ac9] - benchmark: make output RFC 4180 compliant (Tobias Nießen) #37038
  • [96cec1e5f3] - benchmark: improve explanations in R script (Tobias Nießen) #36995
  • [e4b88b521a] - buffer: avoid creating the backing store in the thread (James M Snell) #37052
  • [7b78c6773d] - child_process: allow promisified exec to be cancel (Carlos Fuentes) #34249
  • [c4193ba8ae] - crypto: fix encrypted private -> public import (Tobias Nießen) #37056
  • [cb3b0ec4fc] - crypto: generateKeyPair('ec') should not support NODE-ED* and NODE-X* (Filip Skokan) #37063
  • [110063d694] - (SEMVER-MINOR) crypto: add generatePrime/checkPrime (James M Snell) #36997
  • [ab64d74791] - crypto: throw error on invalid object in diffieHellman() (ZiJian Liu) #37016
  • [53a0bdff47] - (SEMVER-MINOR) crypto: experimental (Ed/X)25519/(Ed/X)448 support (James M Snell) #36879
  • [4551d14b8e] - deps: upgrade npm to 7.5.1 (Ruy Adorno) #37177
  • [9d6fd4586f] - deps: update openssl config (James M Snell) #37067
  • [f74b376596] - Revert "deps: various quic patches from akamai/openssl" (James M Snell) #37067
  • [6756130c4b] - Revert "deps: re-enable OPENSSL_NO_QUIC guards" (James M Snell) #37067
  • [52ce1d5f1a] - Revert "deps: update patch and docs for openssl update" (James M Snell) #37067
  • [03460432af] - deps: upgrade npm to 7.5.0 (Ruy Adorno) #37117
  • [2c7ad38c75] - (SEMVER-MINOR) dgram: support AbortSignal in createSocket (Nitzan Uziely) #37026
  • [47bfde00fd] - doc: fix color contrast on elements (Antoine du Hamel) #37185
  • [3c9077130d] - doc: fix list format in Developer's Certificate of Origin (Akash Negi) #37138
  • [8cecce3ff4] - doc: fix markup and alphabetization in errors.md (Rich Trott) #37144
  • [a7780815bf] - doc: clarify ERR_INVALID_REPL_INPUT usage (Rich Trott) #37143
  • [e7126503e0] - doc: clarify repl exception conditions (Rich Trott) #37142
  • [e55d3d0953] - doc: add example for test structure (Turner Jabbour) #35046
  • [9b9a1801ba] - doc: remove TOC summary for pages with no TOC (Rich Trott) #37043
  • [ae42658be9] - doc: add missing deprecation code (Colin Ihrig) #37147
  • [b79b82de8e] - doc: update Buffer encoding option count (Dave Cardwell) #37102
  • [ddee21b587] - doc: update BUILDING.md previous versions links (Richard Lau) #37082
  • [1710016053] - doc: mention adding Fixes to collaborator onboarding PR (Joyee Cheung) #37097
  • [b7c3f99f7e] - doc: add Zijian Liu to collaborators (ZiJian Liu) #37075
  • [7ddfa81612] - doc: add tooltip for light/dark mode toggle (Rich Trott) #37044
  • [c79688ffe3] - doc: improve AsyncLocalStorage introduction (Romuald Brillout) #36946
  • [a7b6464097] - doc: EventTarget and Event are available to user code since v15.0.0 (ExE Boss) #37059
  • [3722c15a75] - doc: add missing comma in tty (Matthew Mario Di Pasquale) #37039
  • [2cfe7954fc] - doc: list Unsupported Directory Import resolve err (Guy Bedford) #37032
  • [fef6ac77e5] - doc: add missing ARIA label for button (Rich Trott) #37031
  • [634bedcd6f] - doc,test: fix prime generation description (Tobias Nießen) #37085
  • [181719d4c4] - esm: update to correct deprecation code (Colin Ihrig) #37147
  • [02f1d2fda4] - esm: deprecate legacy main lookup for modules (Guy Bedford) #36918
  • [69402522fd] - fs: read full size if known in promises.readFile (Anna Henningsen) #37127
  • [ad12fefcb0] - fs: only use Buffer.concat in promises.readFile when necessary (Anna Henningsen) #37127
  • [6f54a14cda] - fs: add validatePosition and use in read and readSync (Darshan Sen) #37051
  • [175f6f0be3] - fs: use throwIfNoEntry option on statSync calls (Antoine du Hamel) #36975
  • [97fc7d8396] - fs: refactor to remove redundant validation (Darshan Sen) #36984
  • [0129a79d0a] - fs: add explicit note about undefined path when recursive (Sebastian Silbermann) #37010
  • [7196ac19c1] - http: refactor to avoid unsafe array iteration (Antoine du Hamel) #37124
  • [ed58065d1f] - lib: add bound apply variants of varargs primordials (ExE Boss) #37005
  • [67b58f68c9] - lib: refactor to use validateObject (ZiJian Liu) #37028
  • [5227c5e6f5] - lib: refactor to use validateFunction (ZiJian Liu) #37045
  • [34adf7f74b] - lib: refactor to avoid unsafe array iteration (Antoine du Hamel) #37029
  • [4a1fc42178] - lib: refactor to use optional chaining in internal/options.js (raisinten) #36939
  • [d76400a264] - lib: refactor to use validateString (ZiJian Liu) #37006
  • [a29da64b46] - lib: refactor to use validateNumber (ZiJian Liu) #36993
  • [56377d6cee] - lib: support returning Safe collections from C++ (ExE Boss) #36989
  • [c4cab1f408] - lib: refactor to use validateBoolean (ZiJian Liu) #36983
  • [11dd2672cd] - quic: remove quic (James M Snell) #37067
  • [b533485f32] - quic: remove duplicate checks (ZiJian Liu) #37017
  • [1714998e2c] - readline: replace _questionCancel with a symbol (Colin Ihrig) #37094
  • [3d64d2b5ef] - readline: check for null input in question() (Colin Ihrig) #37089
  • [75124298d5] - (SEMVER-MINOR) readline: add history event and option to set initial history (Mattias Runge-Broberg) #33662
  • [4e757eab96] - (SEMVER-MINOR) readline: add support for the AbortController to the question method (Mattias Runge-Broberg) #33676
  • [a26dfb323b] - src: expose BaseObject::kInternalFieldCount in post-mortem metadata (Joyee Cheung) #37111
  • [9c831c0d8f] - src: fix dead code in RandomPrimeTraits (Tobias Nießen) #37083
  • [81e9acf242] - src: rename crypto_ecdh.(h|cc) to crypto_ec.(h|cc) (Tobias Nießen) #37048
  • [1f819ec47d] - test: add tests for bound apply variants of varargs primordials (ExE Boss) #37005
  • [db38cf27c2] - test: increase inspect coverage (Emil Sivervik) #36755
  • [10da5c1104] - test: skip tests consistently in parallel.status (Rich Trott) #37035
  • [da07eb654e] - test: increase read file abort coverage (Moshe vilner) #36716
  • [55407b826f] - test: update to improve terminology (Michael Dawson) #37011
  • [ef2b25088d] - test: increase coverage for assert/calltracker (ZiJian Liu) #36728
  • [074641c2e9] - test: improve assertion message for test-vm-memleak (Rich Trott) #37034
  • [4086b230b8] - test: increase fs promise coverage (Emil Sivervik) #36813
  • [94204f7e46] - test: process.nextTick for before exit (ttzztztz) #37012
  • [2135618052] - test: increase timeout on ASAN Action (Antoine du Hamel) #37007
  • [de6dca12e8] - test: improve coverage of SourceTextModule getters (Juan José Arboleda) #37013
  • [36cc8df358] - test: log error in test-fs-realpath-pipe (Joyee Cheung) #36996
  • [36930e4fe7] - test: test mode passed as an options object in mkdir/mkdirSync (Darshan Sen) #37008
  • [9c69ca5e54] - test,doc,lib: adjust object literal newlines for lint rule (Rich Trott) #37040
  • [fe9f4fdba5] - tools: remove commented code from stability.js (Colin Ihrig) #37092
  • [d2d6121f3e] - tools: enable object-curly-newline in ESLint rules (Rich Trott) #37040
  • [3187845980] - util: add internal createDeferredPromise() (Colin Ihrig) #37095

New in Node.js 15.7.0 Current (Jan 27, 2021)

  • Notable changes:
  • buffer:
  • introduce Blob (James M Snell) #36811
  • add base64url encoding option (Filip Skokan) #36952
  • doc:
  • add @iansu to collaborators (Ian Sutherland) #36951
  • add @RaisinTen to collaborators (Darshan Sen) #36998
  • add @miladfarca to collaborators (Milad Fa) #36934
  • fs:
  • allow position parameter to be a BigInt in read and readSync (raisinten) #36190
  • http:
  • attach request as res.req (Ian Storm Taylor) #36505
  • expose urlToHttpOptions utility (Yongsheng Zhang) #35960
  • Commits:
  • [775b34b822] - (SEMVER-MINOR) buffer: introduce Blob (James M Snell) #36811
  • [832cd015d5] - (SEMVER-MINOR) buffer: add base64url encoding option (Filip Skokan) #36952
  • [7ce7404f79] - build: fix compiling against openssl with no-psk (Caleb ツ Everett) #36881
  • [b7d8e61ef1] - crypto: fix randomInt bias (Tobias Nießen) #36894
  • [1149af6265] - (SEMVER-MINOR) crypto: add keyObject.asymmetricKeyDetails for asymmetric keys (Filip Skokan) #36188
  • [0398167b35] - crypto: fix WebCrypto import of RSA-PSS keys (Tobias Nießen) #36877
  • [e52e860172] - deps: upgrade npm to 7.4.3 (Ruy Adorno) #37018
  • [ef3a5f6958] - deps: update ICU to 68.2 (Michaël Zasso) #36980
  • [ca479b9e9d] - deps: V8: cherry-pick fe191e8d05cc (Benjamin Coe) #36956
  • [6f773fbe84] - deps: upgrade npm to 7.4.2 (Ruy Adorno) #36953
  • [4b952d8d3e] - doc: fix maintaining ICU guide (Michaël Zasso) #36980
  • [a2559b9044] - doc: add @RaisinTen to collaborators (Darshan Sen) #36998
  • [4d5273b156] - doc: fix typo in http.server.requestTimout docs (alexbs) #36987
  • [93fc295b75] - doc: add performance notes for fs.readFile (James M Snell) #36880
  • [7ea374b159] - doc: clarify maxSockets option of http.Agent (Pooja D P) #36941
  • [f3637d5328] - doc: remove pull-requests.md preamble (Rich Trott) #36960
  • [d2d9ad7477] - doc: fix module.isPreloading documentation (Antoine du Hamel) #36944
  • [48b6781151] - doc: fix crypto.generateKeySync aes allowed length list (Filip Skokan) #36928
  • [120db2c169] - doc: fix grammar and link to QUIC in changelog (Dan Dascalescu) #36959
  • [af0f0a0f65] - doc: fix percentile range in perf_hooks.md (raisinten) #36938
  • [8cf280d9ab] - doc: improve perf_hooks docs (Juan José Arboleda) #36909
  • [3ea37c2d67] - doc: fix invalid HTML in doc template (Rich Trott) #36930
  • [eaf378aa46] - doc: remove issue template duplication from contributing docs (Rich Trott) #36908
  • [7a794417f3] - doc: remove resolving-a-bug-report from contributing docs (Rich Trott) #36905
  • [707b97307d] - doc: use ESM syntax for WASI example (Antoine du Hamel) #36848
  • [5a9a07e7cd] - doc: add iansu to collaborators (Ian Sutherland) #36951
  • [aa3bc74cd6] - doc: fixup typo in metadata entry (James M Snell) #36947
  • [22e29ccfa3] - doc: add alternative version links to the packages page (Filip Skokan) #36915
  • [80c84a1136] - doc: add miladfarca to collaborators (Milad Fa) #36934
  • [e73b1072f3] - doc: update tls test to use better terminology (Michael Dawson) #36851
  • [5cbf638c06] - doc: remove unnecessary contributing.md section (Rich Trott) #36891
  • [f99b38fedd] - doc: wrap TOC in a tag (Mattia Pontonio) #36896
  • [82eccddf1e] - doc: update fs.l/statSync API history for throwIfNoEntry (Andrew Casey) #36882
  • [70cd43c32e] - doc: change "it's" to "its" where necessary (Tobias Nießen) #36913
  • [02a8f52040] - doc: fix indentation on http2 doc entry (Rich Trott) #36869
  • [dc596d0607] - events: remove error listener on signal abort (ZiJian Liu) #36969
  • [c4cdf1d830] - (SEMVER-MINOR) fs: allow position parameter to be a BigInt in read and readSync (raisinten) #36190
  • [70ee7dce62] - (SEMVER-MINOR) http: attach request as res.req (Ian Storm Taylor) #36505
  • [f07e1c9d03] - http: abortIncoming only on socket close (Robert Nagy) #36821
  • [aa7243e3d4] - http: refactor ClientRequest destroy (Robert Nagy) #36863
  • [80051abfcb] - http: cleanup ClientRequest oncreate (Robert Nagy) #36862
  • [f5b8e7b068] - http2: refactor to avoid unsafe array iteration (Antoine du Hamel) #36700
  • [8aeba3cb92] - lib: refactor to use validateArray (ZiJian Liu) #36982
  • [743dd8f89d] - lib: remove non used getter in lib/perf_hooks.js (Juan José Arboleda) #36907
  • [f2ac4bb8e2] - lib: expose primordials object (Antoine du Hamel) #36872
  • [850d3578b6] - lib: refactor primordials.makeSafe to use more primordials (ExE Boss) #36865
  • [b86c48cc91] - lib: refactor source_map to use more primordials (Antoine du Hamel) #36733
  • [1ef92f61fa] - lib: refactor source_map to avoid unsafe array iteration (Antoine du Hamel) #36734
  • [5290d63e7f] - module: simplify tryStatSync with throwIfNoEntry option (Antoine du Hamel) #36971
  • [89a7941425] - os: performance improvement in vector allocation (Yash Ladha) #36748
  • [3f75a60b51] - perf_hooks: throw ERR_INVALID_ARG_VALUE if histogram.percentile param is NaN (ZiJian Liu) #36937
  • [9951daefbd] - repl: refactor to avoid unsafe array iteration (raisinten) #36663
  • [868d3b2ff6] - src: use BaseObject::kInteralFieldCount in Blob (Joyee Cheung) #36991
  • [a5ffdaee1c] - src: replace push_back with emplace_back in debug_utils (raisinten) #36897
  • [d54998538e] - src: use BaseObject::kInternalFieldCount in X509Certificate constructor (Joyee Cheung) #36892
  • [7acea78493] - test: mark flaky tests on IBM i (Richard Lau) #36986
  • [e69c4a941d] - (SEMVER-MINOR) test: add wpt tests for Blob (Michaël Zasso) #36811
  • [2f1f1dadaa] - test: increase buffer list coverage (Emil Sivervik) #36688
  • [8d49ce9d75] - test: fix warning in test_environment.cc (raisinten) #36846
  • [98369aaf7b] - test: remove unused ecdhPeerKey (Daniel Bevenius) #36942
  • [ba87be0b0e] - test: improve coverage for Module getters (Juan José Arboleda) #36950
  • [c7dd9c8c69] - test: skip internet for test-npm-install (Ruy Adorno) #36933
  • [3bbe9a5588] - test: improve coverage on worker threads (Juan José Arboleda) #36910
  • [f589bb2052] - test: improve coverage at lib/internal/vm/module.js (Juan José Arboleda) #36898
  • [8a8241529e] - Revert "test: mark test-cluster-bind-privileged-port flaky on arm" (Rod Vagg) #36884
  • [99c15909ad] - test: fixup flaky test-crypto-x509 on windows (James M Snell) #36966
  • [c2ec15aff6] - test: check mustCall errors in test-fs-read-type (Tobias Nießen) #36914
  • [30b2aac98a] - test: fix variable name for non-RSA keys (Tobias Nießen) #36912
  • [fada6b0087] - test,benchmark: stop requiring URL and URLSearchParams (raisinten) #36927
  • [864b97b24d] - tls: use recently added matching SecureContext in default SNICallback (Mateusz Krawczuk) #36072
  • [6ef54bb9ca] - tools: cleanup old ICU version-specific fixes (Michaël Zasso) #36980
  • [8e02b53b09] - tools: update ESLint to 7.18.0 (Colin Ihrig) #36955
  • [8dc8adc782] - tools: add support for top-level await syntax in linter (Antoine du Hamel) #36911
  • [17bdcd9d18] - tools,doc: list the stability status of each API (Zijian Liu) #36223
  • [889654d36c] - url: align url format behavior with browsers (ZiJian Liu) #36903
  • [64fed319ef] - (SEMVER-MINOR) url: expose urlToHttpOptions utility (Yongsheng Zhang) #35960
  • [f2704170a3] - util: prefer Reflect.ownKeys(…) (ExE Boss) #36740
  • [0d719476e0] - vm: refactor to avoid unsafe array iteration (Antoine du Hamel) #36752
  • [bf695ebdb1] - worker: refactor to avoid unsafe array iteration (Antoine du Hamel) #36735
  • [403b595ef5] - zlib: refactor to avoid unsafe array iteration (Antoine du Hamel) #36722

New in Node.js 15.6.0 Current (Jan 15, 2021)

  • Notable Changes:
  • child_process:
  • add 'overlapped' stdio flag (Thiago Padilha) #29412
  • support AbortSignal in fork (Benjamin Gruenbaum) #36603
  • crypto:
  • implement basic secure heap support (James M Snell) #36779
  • fixup bug in keygen error handling (James M Snell) #36779
  • introduce X509Certificate API (James M Snell) #36804
  • implement randomuuid (James M Snell) #36729
  • doc:
  • update release key for Danielle Adams (Danielle Adams) #36793
  • add dnlup to collaborators (Daniele Belardi) #36849
  • add panva to collaborators (Filip Skokan) #36802
  • add yashLadha to collaborator (Yash Ladha) #36666
  • http:
  • set lifo as the default scheduling strategy in Agent (Matteo Collina) #36685
  • net:
  • support abortSignal in server.listen (Nitzan Uziely) #36623
  • process:
  • add direct access to rss without iterating pages (Adrien Maret) #34291
  • v8:
  • fix native serdes constructors (ExE Boss) #36549
  • Commits:
  • [3ca7a786c5] - benchmark: fix http2 benchmarks (Rich Trott) #36871
  • [4601886d7c] - benchmark: fix http/headers.js with test-double (Rich Trott) #36794
  • [7aedda9dcd] - benchmark: add simple https benchmark (Andrey Pechkurov) #36612
  • [822ac48272] - buffer: make FastBuffer safe to construct (Antoine du Hamel) #36587
  • [21f329532f] - build: refactor Makefile (raisinten) #36759
  • [857b98eed9] - build: fix unknown warning option (raisinten) #36629
  • [ffaa8c1735] - build: do not "exit" a script meant to be "source"d (François-Denis Gonthier) #35520
  • [9bc2cec848] - (SEMVER-MINOR) child_process: add 'overlapped' stdio flag (Thiago Padilha) #29412
  • [b98cc51be2] - child_process: reduce abort handler code duplication (Rich Trott) #36644
  • [78d4d91e54] - child_process: treat already-aborted controller as aborting (Rich Trott) #36644
  • [a8a427f646] - (SEMVER-MINOR) child_process: support AbortSignal in fork (Benjamin Gruenbaum) #36603
  • [7134d49e56] - child_process: clean event listener correctly (Benjamin Gruenbaum) #36424
  • [54bd4ab855] - cluster: fix edge cases that throw ERR_INTERNAL_ASSERTION (Ouyang Yadong) #36764
  • [0c11a17d82] - console: refactor to avoid unsafe array iteration (Antoine du Hamel) #36753
  • [53cf996270] - (SEMVER-MINOR) crypto: implement basic secure heap support (James M Snell) #36779
  • [42aca13953] - (SEMVER-MINOR) crypto: fixup bug in keygen error handling (James M Snell) #36779
  • [c4ad50e0ff] - (SEMVER-MINOR) crypto: introduce X509Certificate API (James M Snell) #36804
  • [4e4deca90d] - (SEMVER-MINOR) crypto: implement randomuuid (James M Snell) #36729
  • [1c9ec2529e] - deps: upgrade npm to 7.4.0 (Ruy Adorno) #36829
  • [ff5bd04900] - deps: update nghttp2 to 1.42.0 (Michaël Zasso) #36842
  • [578fa0fedf] - deps: V8: cherry-pick dfcdf7837e23 (Benjamin Coe) #36573
  • [05f34c6963] - doc: define "browser", "production", "development" (Guy Bedford) #36856
  • [e8bb1f7350] - doc: clarify event.isTrusted text (Rich Trott) #36827
  • [153be6c80e] - doc: fix module syncBuiltinESMExports example (Bruce A. MacNaughton) #34284
  • [3b64b38142] - doc: os.uptime() temporary bug notice (Nicholas Schamberg) #36503
  • [da49624a46] - doc: update release key for Danielle Adams (Danielle Adams) #36793
  • [2d8423da3c] - doc: clarify child_process.exec inherits cwd (ugultopu) #36809
  • [1a4d34ebd0] - doc: clarify descriptions of _writev chunks argument (James M Snell) #36822
  • [7c7180a6f7] - doc: document buffer's "Uint" aliases clearly (Michaël Zasso) #36796
  • [ff6edbc6b2] - doc: add dnlup to collaborators (Daniele Belardi) #36849
  • [835bdf0e50] - doc: improve crypto.randomUUID() text (Rich Trott) #36830
  • [d4bcb3689d] - doc: clarify subprocess.stdout/in/err/io properties (James M Snell) #36784
  • [a956fb3fdd] - doc: add dark mode (Ajay Poshak) #36313
  • [757b9664cd] - doc: revise method text in async_hooks.md (Rich Trott) #36736
  • [b4091ea59b] - doc: clarify when messageerror is emitted (James M Snell) #36780
  • [61b039365c] - doc: avoid memory leak warning in async_hooks example (James M Snell) #36783
  • [a7bb4da55e] - doc: clarify that --require only supports cjs (James M Snell) #36806
  • [c6eb2b4fec] - doc: clarify Buffer.from when using ArrayBuffer (James M Snell) #36785
  • [ad1d8fba9f] - doc: fix broken link for ChildProcess (James M Snell) #36788
  • [ef628891f7] - doc: revise exit() and run() text in async_hooks.md (Rich Trott) #36738
  • [ff39464559] - doc: add OpenSSL CVE fix to notable changes in v15.5.0 (Beth Griggs) #36798
  • [6db465a99f] - doc: clarify that N-API addons are context-aware (Alba Mendez) #36640
  • [fad07d5439] - doc: fix typo in esm documentation (Mohamed Kamagate) #36800
  • [67dd48ed05] - doc: add panva to collaborators (Filip Skokan) #36802
  • [b2c1aeb694] - doc: revise process.memoryUsage() text (Rich Trott) #36757
  • [8f672ebbd6] - doc: add YAML metadata for process.memoryUsage.rss (Gerhard Stoebich) #36781
  • [fa54f012b8] - doc: reduce abbreviations in async_hooks.md (Rich Trott) #36737
  • [56c00d7b2f] - doc: simplify pull request template (Rich Trott) #36739
  • [214dbac8ff] - doc: clarify undocumented stream properties (James M Snell) #36715
  • [242ce19346] - doc: document common warning types (James M Snell) #36713
  • [d3dc124575] - doc: update emitClose default for fs streams (Kevin Locke) #36653
  • [181bd0510f] - doc: improve ALS.enterWith and exit descriptions (Andrey Pechkurov) #36705
  • [edf8c6de5a] - doc: add note about uncloneable objects (James M Snell) #36534
  • [651e7d27b7] - doc: document http.IncomingMessage behaviour change (Dr) #36641
  • [72b0ab0739] - doc: add yashLadha to collaborator (Yash Ladha) #36666
  • [8a0cdb3b4e] - doc: alphabetize http response properties (Rich Trott) #36631
  • [ff4674b033] - doc: correct callback parameter type for createPushResponse() (Rich Trott) #36631
  • [f623d5d377] - doc: use _code name_ rather than _codename_ (Rich Trott) #36611
  • [1ed517c176] - doc: document return value of https.request (Michael Chen) #36370
  • [5645b21e23] - doc: document "http: lazy create IncomingMessage.headers" (ExE Boss) #36601
  • [3ee4cfc7d7] - doc: fix bugs in _construct() example (Maksym Baranovskyi) #36509
  • [93237c5999] - doc: remove replication of GitHub template (Rich Trott) #36590
  • [538f226f6d] - doc: remove "Related Issues" from pull request template (Rich Trott) #36590
  • [dcc93d3dce] - doc: expand openssl instructions (Michael Dawson) #36554
  • [41e278bf61] - docs: add references to punycode.md (Isaac Levy) #36761
  • [9b9b6d5fc5] - domain: make node resilient to Array prototype tempering (Antoine du Hamel) #36676
  • [f0a9c53bec] - errors: refactor to use more primordials (Antoine du Hamel) #36651
  • [c844d22b72] - errors: eliminate all overhead for hidden calls (Momtchil Momtchev) #35644
  • [3fa470a3c9] - events: refactor to use optional chaining (ZiJian Liu) #36763
  • [82393aefff] - events: refactor to use more primordials (Antoine du Hamel) #36304
  • [e3a091d9f3] - fs: refactor to avoid unsafe array iteration (Antoine du Hamel) #36699
  • [d5e1b82125] - fs: accept non-32-bit length in writeBuffer (raisinten) #36667
  • [d858c9576a] - http: remove dead code from internal/http.js (ZiJian Liu) #36630
  • [7e3ad1be32] - Revert "http: remove dead code from internal/http.js" (ZiJian Liu) #36890
  • [a9a2dd32e3] - http: don't cork noop .end() (Robert Nagy) #36633
  • [dfc962f67a] - http: add test case for req-res close ordering (Daniele Belardi) #36645
  • [cc28d2f541] - (SEMVER-MINOR) http: set lifo as the default scheduling strategy in Agent (Matteo Collina) #36685
  • [954a36947d] - http: make HEAD method to work with keep-alive (Joseph Hackman) #34231
  • [9156f430b5] - http: remove dead code from internal/http.js (ZiJian Liu) #36630
  • [5e499c490e] - http: refactor to use more primordials (Antoine du Hamel) #36194
  • [c784f15588] - Revert "http: use autoDestroy: true in incoming message" (Daniele Belardi) #36647
  • [a38ad0709c] - http2: refactor to use primordials instead of .indexOf (Rohan Chougule) #36679
  • [e85fbb778d] - http2: fix typos in core.js (Pranshu Jethmalani) #36719
  • [a4d64f967a] - https: refactor to use more primordials (Antoine du Hamel) #36195
  • [1db3772c95] - lib: simplify primordials.uncurryThis (ExE Boss) #36866
  • [95219eac08] - lib: refactor to use mapping in cluster master (Yash Ladha) #36250
  • [b764269437] - lib: remove v8_prof_polyfill from eslint ignore list (Antoine du Hamel) #36537
  • [eb6b38639a] - lib: remove unused code (Brian White) #36632
  • [7fe1b5ef5a] - lib: refactor to use validateCallback (ZiJian Liu) #36609
  • [bb4f8c8732] - lib: use more primordials in shared validators (Pooja D P) #36552
  • [181bad58d3] - lib: add primordials.SafeArrayIterator (Antoine du Hamel) #36532
  • [6e338dac3c] - lib: refactor to use more primordials in internal/encoding.js (raisinten) #36480
  • [ec3e841f59] - lib: refactor to use primordials in internal/priority_queue.js (ZiJian Liu) #36560
  • [8ac2016229] - lib: add primordials.SafeStringIterator (Antoine du Hamel) #36526
  • [56af1250fe] - lib: make safe primordials safe to construct (Antoine du Hamel) #36428
  • [d20235b6cb] - lib: fix diagnostics_channel hasSubscribers error (ZiJian Liu) #36599
  • [63091f8440] - lib: refactor to use more primordials in internal/histogram.js (raisinten) #36455
  • [eca2df0909] - meta: notify slack when someone force pushes (Mary Marchini) #35131
  • [01213c71b9] - module: fix Windows folder exports deprecation warning (Guy Bedford) #36859
  • [302be57be4] - module: refactor to avoid unsafe array iteration (Antoine du Hamel) #36680
  • [24246a29d7] - net: throw ERR_OUT_OF_RANGE if blockList.addSubnet prefix is NaN (ZiJian Liu) #36732
  • [02dbcc4317] - (SEMVER-MINOR) net: support abortSignal in server.listen (Nitzan Uziely) #36623
  • [a258bc9b70] - perf_hooks: refactor to avoid unsafe array iteration (Antoine du Hamel) #36723
  • [94afc3e712] - process: passing -1 to setuid/setgid should not abort (James M Snell) #36786
  • [92af50327e] - (SEMVER-MINOR) process: add direct access to rss without iterating pages (Adrien Maret) #34291
  • [8b7336b072] - quic,timers: refactor to use validateAbortSignal (ZiJian Liu) #36604
  • [b17130a55a] - readline: fix behaviour of Interface plugged to a non-terminal output (Antoine du Hamel) #36774
  • [d70824f567] - src: fix typo in crypto_aes.cc (Ikko Ashimine) #36717
  • [8b43388903] - src: reduce duplicated boilerplate with new env utility fn (James M Snell) #36536
  • [a53997e6c0] - src: fix leading backslash bug in URL (raisinten) #36613
  • [abae61e230] - stream: finished waits for 'close' on OutgoingMessage (Robert Nagy) #36648
  • [4c819d65f9] - stream: fix .end() error propagation (Robert Nagy) #36817
  • [cb0b53edb1] - stream: lazy read ReadStream (Momtchil Momtchev) #36823
  • [b996e3b4b5] - stream: do not use _stream_* anymore (Matteo Collina) #36684
  • [190ddced46] - stream: only use legacy close listeners if not willEmitClose (Robert Nagy) #36649
  • [1fc30a84ac] - stream,zlib: do not use _stream_* anymore (Matteo Collina) #36618
  • [d2b9e7cb01] - string_decoder: throw ERR_STRING_TOO_LONG for UTF-8 (Michaël Zasso) #36661
  • [abc2ff47c2] - test: disable test-crypto-secure-heap with asan (James M Snell) #36900
  • [17a52337c4] - test: http complete response after socket double end (Dimitris Halatsis) #36633
  • [cc37ff24dc] - test: use faster variant for rss in test-crypto-dh-leak (Pooja D P) #36766
  • [daad0ab1cc] - test: use faster variant for rss in test-vm-memleak.js (Pooja D P) #36769
  • [9d25d25cfd] - test: mark test-cluster-bind-privileged-port flaky on arm (James M Snell) #36850
  • [c64db20fdd] - test: use faster variant for rss test-memoryusage-emfile (Pooja D P) #36768
  • [d48e00e5a3] - test: fix test-memory-usage.js for IBMi (Rich Trott) #36758
  • [9b7d2c2523] - test: guard large string decoder allocation (Michaël Zasso) #36795
  • [5bc130bd9e] - test: increase coverage for events (ZiJian Liu) #36668
  • [9f7fbcc64d] - test: add coverage for breakLength one-column array (Rich Trott) #36657
  • [9eff709c23] - test: update wpt interfaces (Daijiro Wachi) #36659
  • [a7f743f5cc] - test: update wpt resources (Daijiro Wachi) #36659
  • [4acc2732f9] - test: update wpt encoding (Daijiro Wachi) #36659
  • [986d5aca44] - test: update wpt url (Daijiro Wachi) #36659
  • [833e614682] - test: increase coverage for diagnostics_channel (ZiJian Liu) #36602
  • [f0dfe57bd1] - test: add already-aborted-controller test for spawn() (Rich Trott) #36644
  • [d5d56ec3d4] - test: add test for reused AbortController with execfile() (Rich Trott) #36644
  • [f81556563a] - test: increase coverage for internal/error_serdes.js (ZiJian Liu) #36628
  • [34d1d791e5] - test: improve coverage for util.inspect() with classes (Rich Trott) #36625
  • [1f3bc5ed73] - test: increase runInAsyncScope() coverage (Rich Trott) #36624
  • [863bfc44d2] - test: redirect stderr EnvironmentWithNoESMLoader (Daniel Bevenius) #36548
  • [8e8b16ff7e] - timers: refactor to use optional chaining (ZiJian Liu) #36767
  • [c23cca2de9] - tls: refactor to avoid unsafe array iteration (Antoine du Hamel) #36772
  • [37becfda8c] - tools: update all lint-md rollup dependencies (Michaël Zasso) #36843
  • [cfdbb79ccf] - tools: update doc tool dependencies (Michaël Zasso) #36844
  • [1f2a198c32] - tools: fix md5 hash for ICU 68.1 src (Richard Lau) #36777
  • [4e0995bc60] - tools: update ESLint to 7.17.0 (Colin Ihrig) #36726
  • [8ad3455ae3] - tools: revise install.py for minor improvements (Rich Trott) #36626
  • [b367d5a61d] - tools: update gyp-next to v0.7.0 (Michaël Zasso) #36580
  • [10f1c893c8] - tools: correct usage message for genv8constants.py (Rich Trott) #36606
  • [37b39a2d6b] - tools: call close() explicitly in genv8constants.py (Rich Trott) #36606
  • [7664f3678c] - tools: use is None consistently in Python (Rich Trott) #36606
  • [cb7f73c9d4] - tools: revise line in configure.py for clarity (Rich Trott) #36551
  • [258aa50986] - tty: refactor to avoid unsafe array iteration (Antoine du Hamel) #36771
  • [5cb8b16452] - url: fix url.format with ipv6 hostname (ZiJian Liu) #36665
  • [b1c6a44caf] - url: refactor to use more primordials (Antoine du Hamel) #36316
  • [baa8064bd0] - util: refactor inspect.js to use more primodials (Rohan Chougule) #36730
  • [bff201a66d] - util: remove unreachable defensive coding (Rich Trott) #36744
  • [64bf2f229e] - util: refactor to use more primordials (Antoine du Hamel) #36265
  • [2dd2ec3836] - v8: refactor to use more primordials (Antoine du Hamel) #36527
  • [3170636a8e] - (SEMVER-MINOR) v8: fix native serdes constructors (ExE Boss) #36549
  • [d5a9799e76] - wasi: refactor to avoid unsafe array iteration (Antoine du Hamel) #36724
  • [b6f74b0b09] - zlib: refactor to use primordial instead of .startsWith (Rohan Chougule) #36718

New in Node.js 15.5.1 Current (Jan 5, 2021)

  • Notable changes:
  • Vulnerabilities fixed:
  • CVE-2020-8265: use-after-free in TLSWrap (High):
  • Affected Node.js versions are vulnerable to a use-after-free bug in its TLS implementation. When writing to a TLS enabled socket, node::StreamBase::Write calls node::TLSWrap::DoWrite with a freshly allocated WriteWrap object as first argument. If the DoWrite method does not return an error, this object is passed back to the caller as part of a StreamWriteResult structure. This may be exploited to corrupt memory leading to a Denial of Service or potentially other exploits.
  • CVE-2020-8287: HTTP Request Smuggling in nodejs (Low):
  • Affected versions of Node.js allow two copies of a header field in a http request. For example, two Transfer-Encoding header fields. In this case Node.js identifies the first header field and ignores the second. This can lead to HTTP Request Smuggling (https://cwe.mitre.org/data/definitions/444.html).
  • Commits:
  • [c5dbe831b7] - http: add test for http transfer encoding smuggling (Matteo Collina) nodejs-private/node-private#228
  • [e0c9a2285c] - http: unset F_CHUNKED on new Transfer-Encoding (Matteo Collina) nodejs-private/node-private#228
  • [9834ef85a0] - src: retain pointers to WriteWrap/ShutdownWrap (James M Snell) nodejs-private/node-private#23

New in Node.js 14.15.4 LTS (Jan 5, 2021)

  • Notable Changes:
  • Vulnerabilities fixed:
  • CVE-2020-1971: OpenSSL - EDIPARTYNAME NULL pointer de-reference (High):
  • This is a vulnerability in OpenSSL which may be exploited through Node.js. You can read more about it in https://www.openssl.org/news/secadv/20201208.txt
  • CVE-2020-8265: use-after-free in TLSWrap (High):
  • Affected Node.js versions are vulnerable to a use-after-free bug in its TLS implementation. When writing to a TLS enabled socket, node::StreamBase::Write calls node::TLSWrap::DoWrite with a freshly allocated WriteWrap object as first argument. If the DoWrite method does not return an error, this object is passed back to the caller as part of a StreamWriteResult structure. This may be exploited to corrupt memory leading to a Denial of Service or potentially other exploits.
  • CVE-2020-8287: HTTP Request Smuggling in nodejs (Low):
  • Affected versions of Node.js allow two copies of a header field in a http request. For example, two Transfer-Encoding header fields. In this case Node.js identifies the first header field and ignores the second. This can lead to HTTP Request Smuggling (https://cwe.mitre.org/data/definitions/444.html).
  • Commits:
  • [305c0f4977] - deps: upgrade npm to 6.14.10 (Ruy Adorno) #36571
  • [d62c650f75] - deps: update archs files for OpenSSL-1.1.1i (Myles Borins) #36521
  • [2de2672eb5] - deps: upgrade openssl sources to 1.1.1i (Myles Borins) #36521
  • [7ecac8143f] - http: add test for http transfer encoding smuggling (Matteo Collina) nodejs-private/node-private#228
  • [641f786bb1] - http: unset F_CHUNKED on new Transfer-Encoding (Matteo Collina) nodejs-private/node-private#228
  • [4f8772f9b7] - src: retain pointers to WriteWrap/ShutdownWrap (James M Snell) nodejs-private/node-private#23

New in Node.js 15.5.0 Current (Dec 23, 2020)

  • Notable Changes:
  • Extended support for AbortSignal in child_process and stream
  • BigInt support in querystring.stringify()
  • Additions to the C++ embedder APIs
  • Commits:
  • Semver-minor commits:
  • [e449571230] - (SEMVER-MINOR) child_process: add signal support to spawn (Benjamin Gruenbaum) #36432
  • [25d7e90386] - (SEMVER-MINOR) http: use autoDestroy: true in incoming message (Daniele Belardi) #33035
  • [5481be8cbd] - (SEMVER-MINOR) lib: support BigInt in querystring.stringify (raisinten) #36499
  • [036ed1fafc] - (SEMVER-MINOR) src: add way to get IsolateData and allocator from Environment (Anna Henningsen) #36441
  • [e23309486b] - (SEMVER-MINOR) src: allow preventing SetPrepareStackTraceCallback (Shelley Vohr) #36447
  • [6ecbc1dcb3] - (SEMVER-MINOR) stream: support abortsignal in constructor (Benjamin Gruenbaum) #36431
  • Semver-patch commits:
  • [1330995b80] - build,lib,test: change whitelist to allowlist (Michaël Zasso) #36406
  • [dc8d1a74a6] - deps: upgrade npm to 7.3.0 (Ruy Adorno) #36572
  • [b6a31f0a70] - deps: update archs files for OpenSSL-1.1.1i (Myles Borins) #36520
  • [5b49807c3f] - deps: re-enable OPENSSL_NO_QUIC guards (James M Snell) #36520
  • [309e2971a2] - deps: various quic patches from akamai/openssl (Todd Short) #36520
  • [27fb651cbc] - deps: upgrade openssl sources to 1.1.1i (Myles Borins) #36520
  • [1f43aadf90] - deps: update patch and docs for openssl update (Myles Borins) #36520
  • [752c94d202] - deps: fix npm doctor tests for pre-release node (nlf) #36543
  • [b0393fa2ed] - deps: upgrade npm to 7.2.0 (Myles Borins) #36543
  • [cb4652e91d] - deps: update to c-ares 1.17.1 (Danny Sonnenschein) #36207
  • [21fbcb6f81] - deps: V8: backport 4bf051d536a1 (Anna Henningsen) #36482
  • [30fe0ff681] - deps: upgrade npm to 7.1.2 (Darcy Clarke) #36487
  • [0baa610c3e] - deps: upgrade npm to 7.1.1 (Ruy Adorno) #36459
  • [5929b08851] - deps: upgrade npm to 7.1.0 (Ruy Adorno) #36395
  • [deaafd5788] - dns: refactor to use more primordials (Antoine du Hamel) #36314
  • [e30af7be33] - fs: refactor to use optional chaining (ZiJian Liu) #36524
  • [213dcd7930] - http: add test for incomingmessage destroy (Daniele Belardi) #33035
  • [36b4ddd382] - http: use standard args order in IncomingMEssage onError (Daniele Belardi) #33035
  • [60b5e696fc] - http: remove trailing space (Daniele Belardi) #33035
  • [f11a648d8e] - http: add comments in _http_incoming (Daniele Belardi) #33035
  • [4b81d79b58] - http: fix lint error in incoming message (Daniele Belardi) #33035
  • [397e31e25f] - http: reafactor incoming message destroy (Daniele Belardi) #33035
  • [9852ebca8d] - http: do not loop over prototype in Agent (Michaël Zasso) #36410
  • [e46a46a4cd] - inspector: refactor to use more primordials (Antoine du Hamel) #36356
  • [728f512c7d] - lib: make safe primordials safe to iterate (Antoine du Hamel) #36391
  • [f368d697cf] - Revert "perf_hooks: make PerformanceObserver an AsyncResource" (Nicolai Stange) #36343
  • [e2ced0d401] - perf_hooks: invoke performance_entry_callback via MakeSyncCallback() (Nicolai Stange) #36343
  • [7c903ec6c8] - repl: disable blocking completions by default (Anna Henningsen) #36564
  • [d38a0ec93e] - src: remove unnecessary ToLocalChecked node_errors (Daniel Bevenius) #36547
  • [bbc0d14cd2] - src: use correct microtask queue for checkpoints (Anna Henningsen) #36581
  • [7efb3111e8] - src: remove unnecessary ToLocalChecked call (Daniel Bevenius) #36523
  • [68687d3419] - src: remove empty name check in node_env_var.cc (raisinten) #36133
  • [1b4984de98] - src: remove duplicate V macros in node_v8.cc (Daniel Bevenius) #36454
  • [5ff7f42e65] - src: use correct outer Context’s microtask queue (Anna Henningsen) #36482
  • [96c095f237] - src: guard against env != null in node_errors.cc (Anna Henningsen) #36414
  • [4f3d7bb417] - src: introduce convenience node::MakeSyncCallback() (Nicolai Stange) #36343
  • [e59788262c] - src: add typedef for CleanupHookCallback callback (Daniel Bevenius) #36442
  • [2a60e3b9df] - src: fix indentation in memory_tracker-inl.h (Daniel Bevenius) #36425
  • [210390f6fd] - src: remove identical V macro (Daniel Bevenius) #36427
  • [02afe586aa] - src: use using declarations consistently (Daniel Bevenius) #36365
  • [169406b7d7] - src: add missing context scopes (Anna Henningsen) #36413
  • [3f33d0bcda] - stream: fix pipe deadlock when starting with needDrain (Robert Nagy) #36563
  • [d8b5b9499c] - stream: accept iterable as a valid first argument (ZiJian Liu) #36479
  • [58319d5336] - tls: forward new SecureContext options (Alba Mendez) #36416
  • [fa40366276] - util: simplify constructor retrieval in inspect() (Rich Trott) #36466
  • [cc544dbfaa] - util: fix instanceof checks with null prototypes during inspection (Ruben Bridgewater) #36178
  • [13d6597b4b] - util: fix module prefixes during inspection (Ruben Bridgewater) #36178
  • [20ecc82569] - worker: fix broadcast channel SharedArrayBuffer passing (Anna Henningsen) #36501
  • [56fe9bae26] - worker: refactor MessagePort entanglement management (Anna Henningsen) #36345
  • Documentation commits:
  • [19c233232f] - doc: fix AbortSignal example for stream.Readable (Michaël Zasso) #36596
  • [9fbab3e2f5] - doc: update and run license-builder for Babel (Michaël Zasso) #36504
  • [a1ba6686a0] - doc: add remark about Collaborators discussion page (FrankQiu) #36420
  • [c5602fb166] - doc: simplify worker_threads.md text (Rich Trott) #36545
  • [149f2cfac1] - doc: add two tips for speeding the dev builds (Momtchil Momtchev) #36452
  • [ad75c78c32] - doc: add note about timingSafeEqual for TypedArray (Tobias Nießen) #36323
  • [9830fe5c9e] - doc: move Derek Lewis to emeritus (Rich Trott) #36514
  • [eb29a16bae] - doc: add issue reference to github pr template (Chinmoy Chakraborty) #36440
  • [f09985d42a] - doc: update url.md (Rock) #36147
  • [c3ec90d23c] - doc: make explicit reverting node_version.h changes (Richard Lau) #36461
  • [7a34452b1d] - doc: add license info to the README (FrankQiu) #36278
  • [22f039339f] - doc: revise addon mulitple initializations text (Rich Trott) #36457
  • [25a245443a] - doc: add v15.4.0 link to CHANGELOG.md (Danielle Adams) #36456
  • [1ec8516fd6] - doc: add PoojaDurgad to collaborators (Pooja D P) #36511
  • [98918110a1] - doc: edit addon text about event loop blocking (Rich Trott) #36448
  • [62bfe3d313] - doc: note v15.0.0 changed default --unhandled-rejections=throw (kai zhu) #36361
  • [129053fe4c] - doc: update terminology (Michael Dawson) #36475
  • [e331de2571] - doc: reword POSIX threads text in addons.md (Rich Trott) #36436
  • [04f166389b] - doc: add RaisinTen as a triager (raisinten) #36404
  • [3341b2cb9d] - doc: document ABORT_ERR code (Benjamin Gruenbaum) #36319
  • [6a6b3af736] - doc: provide more context on techinical values (Michael Dawson) #36201
  • Other commits:
  • [e1f00fd996] - benchmark: reduce code duplication (Rich Trott) #36568
  • [82a26268d7] - build: do not run GitHub actions for draft PRs (Michaël Zasso) #35910
  • [95c80f5fb0] - build: run some workflows only on nodejs/node (Michaël Zasso) #36507
  • [584ea8b26c] - build: fix make test-npm (Ruy Adorno) #36369
  • [01576fbc19] - test: increase abort logic coverage (Moshe vilner) #36586
  • [22ac2279ee] - test: increase coverage for stream (ZiJian Liu) #36538
  • [9fc2479707] - test: increase coverage for worker (ZiJian Liu) #36491
  • [81e603b7cf] - test: specify global object for globals (Rich Trott) #36498
  • [109ab787fd] - test: increase coverage for fs/dir read (Zijian Liu) #36388
  • [9f2d3c291b] - test: remove test-http2-client-upload as flaky (Rich Trott) #36496
  • [d299ceeac7] - test: increase coverage for net/blocklist (Zijian Liu) #36405
  • [f7635fd86d] - test: make executable name more general (Shelley Vohr) #36489
  • [acd78d9d25] - test: increased externalized string length (Shelley Vohr) #36451
  • [0f749a35ec] - test: add test for async contexts in PerformanceObserver (ZauberNerd) #36343
  • [dd705ad1f0] - test: increase execFile abort coverage (Moshe vilner) #36429
  • [31b062d591] - test: fix flaky test-repl (Rich Trott) #36415
  • [023291b43c] - test: check null proto-of-proto in util.inspect() (Rich Trott) #36399
  • [d3d1f338c7] - test: add SIGTRAP to test-signal-handler (Ash Cripps) #36368
  • [166aa8a7b5] - test: fix child-process-pipe-dataflow (Santiago Gimeno) #36366
  • [ecbb757ae0] - tools: fix make-v8.sh (Richard Lau) #36594
  • [e3c5adc6d0] - tools: fix release script sign function (Antoine du Hamel) #36556
  • [0d4d34748d] - tools: update ESLint to 7.16.0 (Yongsheng Zhang) #36579
  • [f3828c9dcb] - tools: fix update-eslint.sh (Yongsheng Zhang) #36579
  • [27260c70b4] - tools: fix release script (Antoine du Hamel) #36540
  • [c6700ad041] - tools: remove unused variable in configure.py (Rich Trott) #36525
  • [7b8d373d5e] - tools: lint shell scripts (Antoine du Hamel) #36099
  • [c6e65d09ef] - tools: update ini in tools/node-lint-md-cli-rollup (Myles Borins) #36474
  • [7542a3bd55] - tools: enable no-unsafe-optional-chaining lint rule (Colin Ihrig) #36411
  • [26f8ccfbe6] - tools: update ESLint to 7.15.0 (Colin Ihrig) #36411
  • [8ecf2f9976] - tools: update doc tool dependencies (Michaël Zasso) #36407
  • [040b39f076] - tools: enable no-unused-expressions lint rule (Michaël Zasso) #36248

New in Node.js 14.15.3 LTS (Dec 23, 2020)

  • Notable Changes:
  • Node.js v14.15.2 included a commit that has caused reported breakages when cloning request objects. This release reverts the commit that introduced the behaviour change. See https://github.com/nodejs/node/issues/36550 for more details.
  • Commits:
  • [4264d9aa67] - Revert "http: lazy create IncomingMessage.headers" (Beth Griggs) #36553

New in Node.js 14.15.2 LTS (Dec 23, 2020)

  • Notable Changes:
  • doc: add release key for Danielle Adams (Danielle Adams) #35545
  • http2: check write not scheduled in scope destructor (David Halls) #36241
  • stream: fix regression on duplex end (Momtchil Momtchev) #35941
  • deps:
  • upgrade npm to 6.14.9 (Myles Borins) #36450
  • update acorn to v8.0.4 (Michaël Zasso) #35791
  • Commits:
  • [c508bfc66b] - assert: refactor to use more primordials (Antoine du Hamel) #35998
  • [a9d3a0df29] - assert,repl: enable ecmaVersion 2021 in acorn parser (Michaël Zasso) #35827
  • [6d43c8dd69] - async_hooks: refactor to use more primordials (Antoine du Hamel) #36168
  • [029ea16a24] - async_hooks: fix leak in AsyncLocalStorage exit (Stephen Belanger) #35779
  • [d49e0ca73a] - benchmark: fix build warnings (Gabriel Schulhof) #36157
  • [d027be0551] - benchmark: ignore build artifacts for napi addons (Richard Lau) #35970
  • [fdb1c0d31c] - benchmark: remove modules that require intl (Richard Lau) #35968
  • [f6487960b5] - benchmark: make the benchmark tool work with Node 10 (Joyee Cheung) #35817
  • [21d3ccf5df] - benchmark: add startup benchmark for loading public modules (Joyee Cheung) #35816
  • [0477e000bf] - bootstrap: refactor to use more primordials (Antoine du Hamel) #35999
  • [699bb348d9] - build: replace which with command -v (raisinten) #36118
  • [304e269001] - build: try “python3” as a last resort for 3.x (Ole André Vadla Ravnås) #35983
  • [6bafe04911] - build: conditionally clear vcinstalldir (Brian Ingenito) #36009
  • [f498127c41] - build: fix zlib inlining for IA-32 (raisinten) #35679
  • [f33fa264cc] - build: fix lint-js-fix target (Antoine du Hamel) #35927
  • [67d31827ac] - build: add vcbuilt test-doc target (Antoine du Hamel) #35708
  • [2a8c2ddcb1] - build: add license-builder GitHub Action (Tierney Cyren) #35712
  • [6c61b9372b] - build: use make functions instead of echo (Antoine du Hamel) #35707
  • [4813d913e3] - build: use GITHUB_ENV file to set env variables (Michaël Zasso) #35638
  • [71e0f33751] - build: do not install jq in workflows (Michaël Zasso) #35638
  • [8ab7f258d4] - build, tools: look for local installation of NASM (Richard Lau) #36014
  • [50552facb7] - build,tools: gitHub Actions: use Node.js Fermium (Antoine du Hamel) #35840
  • [77b7c985f6] - build,tools: add lint-js-doc target (Antoine du Hamel) #35708
  • [929e1272ee] - cluster: refactor to use more primordials (Antoine du Hamel) #36011
  • [568e6177c9] - console: use more primordials (Antoine du Hamel) #35734
  • [6cea3152fe] - deps: upgrade npm to 6.14.9 (Myles Borins) #36450
  • [d2ee676eb9] - deps: cherry-pick 9a49b22 from V8 upstream (Daniel Bevenius) #35939
  • [7367e6c6be] - deps: update acorn to v8.0.4 (Michaël Zasso) #35791
  • [4937a34be6] - deps: fix typo in zlib.gyp that break arm-fpu-neon build (lucasg) #35659
  • [1e8dfb9d2c] - deps: upgrade to [email protected] (Guy Bedford) #35928
  • [0356963f0e] - deps: update to [email protected] (Guy Bedford) #35901
  • [172be4ffe0] - deps: upgrade to [email protected] (Guy Bedford) #35871
  • [1f7740691d] - deps: update to [email protected] (Guy Bedford) #35745
  • [47bd445e56] - doc: remove stray comma in url.md (Rich Trott) #36175
  • [2f76a75fc6] - doc: revise agent.destroy() text (Rich Trott) #36163
  • [72fb6f88ab] - doc: add compatibility/interop technical value (Geoffrey Booth) #35323
  • [f5efd54727] - doc: de-emphasize wrapping in napi_define_class (Gabriel Schulhof) #36159
  • [8a7c2b951d] - doc: clarify text about process not responding (Rich Trott) #36117
  • [800e1db83d] - doc: esm docs consolidation and reordering (Guy Bedford) #36046
  • [4fad888fe1] - doc: move shigeki to emeritus (Rich Trott) #36093
  • [c088434b4d] - doc: document the error when cwd not exists in child_process.spawn (FeelyChau) #34505
  • [4dbbbaa2e9] - doc: fix typo in debugger.md (Rich Trott) #36066
  • [d796bc7348] - doc: update list styles for remark-parse@9 rendering (Rich Trott) #36049
  • [6daf204f32] - doc: escape asterisk in cctest gtest-filter (raisinten) #36034
  • [9470bf5872] - doc: move v8.getHeapCodeStatistics() (Rich Trott) #36027
  • [30cd797c15] - doc: add note regarding file structure in src/README.md (Denys Otrishko) #35000
  • [cddcfcde9f] - doc: advise users to import the full set of trusted release keys (Reşat SABIQ) #32655
  • [1ca1f262a5] - doc: fix crypto doc linter errors (Antoine du Hamel) #36035
  • [b11725eb9e] - doc: revise v8.getHeapSnapshot() (Rich Trott) #35849
  • [990facbc3e] - doc: update core-validate-commit link in guide (Daijiro Wachi) #35938
  • [773685c2a4] - doc: update benchmark CI test indicator in README (Rich Trott) #35945
  • [c90571ff2a] - doc: add new wordings to the API description (Pooja D.P) #35588
  • [6259c2d231] - doc: option --prof documentation help added (krank2me) #34991
  • [98e4b77b89] - doc: fix release-schedule link in backport guide (Daijiro Wachi) #35920
  • [51ce1a2fa8] - doc: update tables in README files for linting changes (Rich Trott) #35905
  • [513bed2776] - doc: temporarily disable list-item-bullet-indent (Nick Schonning) #35647
  • [733c9da1e9] - doc: disable no-undefined-references workarounds (Nick Schonning) #35647
  • [6e1612fa15] - doc: adjust table alignment for remark v13 (Nick Schonning) #35647
  • [a15dede26d] - doc: move bnoordhuis to emeritus (Ben Noordhuis) #35865
  • [26e42939f2] - doc: add on statement in the APIs docs (Pooja D.P) #35610
  • [9486f5fc37] - doc: move ronkorving to emeritus (Rich Trott) #35828
  • [3f3d2d781b] - doc: recommend test-doc instead of lint-md (Antoine du Hamel) #35708
  • [8131d954d9] - doc: fix reference to googletest test fixture (Tobias Nießen) #35813
  • [34d6ca3bef] - doc: add conditional example for setBreakpoint() (Chris Opperwall) #35823
  • [29849743b8] - doc: make small improvements to REPL doc (Rich Trott) #35808
  • [02f9a2a77a] - doc: update MessagePort documentation for EventTarget inheritance (Anna Henningsen) #35839
  • [9c7d4bd0f3] - doc: use case-sensitive in the example (Pooja D.P) #35624
  • [600cffae3c] - doc: consolidate and clarify breakOnSigInt text (Rich Trott) #35787
  • [0de3f564b2] - doc: add a subsystems header in pull-requests.md (Pooja D.P) #35718
  • [47b4b2be29] - doc: add require statement in the example (Pooja D.P) #35554
  • [77cfcba7c8] - doc: modified memory set statement set size (Pooja D.P) #35517
  • [41937f76f0] - doc: use kbd element in readline doc prose (Rich Trott) #35737
  • [eee62b05f6] - doc: fix header level in fs.md (ax1) #35771
  • [63533d7d56] - doc: remove stability warning in v8 module doc (Rich Trott) #35774
  • [62bf1a63d6] - doc: mark optional parameters in timers.md (Vse Mozhe Buty) #35764
  • [4dc5e4a354] - doc: add a example code to API doc property (Pooja D.P) #35738
  • [8ef0652566] - doc: update console.error example (Lee, Bonggi) #34964
  • [47ba12265e] - doc: improve text for breakOnSigint (Rich Trott) #35692
  • [c0d9756163] - doc: this prints replaced with this is printed (Pooja D.P) #35515
  • [2feb86e635] - doc: update package.json field definitions (Myles Borins) #35741
  • [d0d67c67c0] - doc: add Installing Node.js header in BUILDING.md (Pooja D.P) #35710
  • [7c089ad04c] - doc: use kbd element in readline doc (Rich Trott) #35698
  • [ba623ef35a] - doc: add release key for Danielle Adams (Danielle Adams) #35545
  • [df4043bed3] - doc: use kbd element in os doc (Rich Trott) #35656
  • [4d72e982de] - doc: add a statement in the documentation. (Pooja D.P) #35585
  • [238885288d] - doc: clarify experimental API elements in vm.md (Rich Trott) #35594
  • [806a269a83] - doc: importModuleDynamically gets Script, not Module (Simen Bekkhus) #35593
  • [6c4e697f56] - doc: fix EventEmitter examples (Sourav Shaw) #33513
  • [f6ebd81693] - doc: add example code for process.getgroups() (Pooja D.P) #35625
  • [2c342662e5] - doc: use kbd element in tty doc (Rich Trott) #35613
  • [f723335f9e] - doc: remove documentation for stream._construct() (Luigi Pinca) #36119
  • [e71b4baa88] - doc: Remove reference to io.js (Hussaina Begum Nandyala) #35618
  • [4faf71b474] - doc,crypto: added sign/verify method changes about dsaEncoding (Filip Skokan) #35480
  • [e9d485f878] - doc,esm: document experimental warning removal (Antoine du Hamel) #35750
  • [17c3fc67cf] - doc,fs: document value of stats.isDirectory on symbolic links (coderaiser) #27413
  • [fc17ead531] - doc,net: document socket.timeout (Brandon Kobel) #34543
  • [dc589b541f] - doc,src,test: revise C++ code for linter update (Rich Trott) #35719
  • [0a944a42c0] - doc,stream: write(chunk, encoding, cb) encoding can be null (dev-script) #35372
  • [be79250aad] - doc,test: update v8 method doc and comment (Rich Trott) #35795
  • [8fdf077efc] - doc,url: fix url.hostname example (Rishabh Mehan) #33735
  • [3a08afc402] - domain: refactor to use more primordials (Antoine du Hamel) #35885
  • [8d672b8e53] - esm: refactor to use more primordials (Antoine du Hamel) #36019
  • [570a8bfe12] - events: port some wpt tests (Benjamin Gruenbaum) #33621
  • [8ef4557c65] - events: make eventTarget.removeAllListeners() return this (Luigi Pinca) #35805
  • [d27e56356b] - fs: remove experimental from promises.rmdir recursive (Anders Kaseorg) #36131
  • [8d84bdc46b] - fs: filehandle read now accepts object as argument (Nikola Glavina) #34180
  • [7c3b6f17e3] - fs: replace finally with PromisePrototypeFinally (Baruch Odem (Rothkoff)) #35995
  • [2f692c4cc6] - fs: remove unnecessary Function#bind() in fs/promises (Ben Noordhuis) #35208
  • [5f0c8142b7] - fs: remove unused assignment (Rich Trott) #35642
  • [e2b8734d20] - gyp,build: consistent shared library location (Rod Vagg) #35635
  • [45aee0d25e] - http: fix typo in comment (Hollow Man) #36193
  • [b58725c4c0] - http: lazy create IncomingMessage.headers (Robert Nagy) #35281
  • [71c3efe278] - http2: check write not scheduled in scope destructor (David Halls) #36241
  • [ab2b066fc1] - http2: delay session.receive() by a tick (Szymon Marczak) #35985
  • [c4e17cfa25] - http2: add has method to proxySocketHandler (masx200) #35197
  • [c455b848d9] - http2: centralise socket event binding in Http2Session (Momtchil Momtchev) #35772
  • [dce01fd27f] - http2: move events to the JSStreamSocket (Momtchil Momtchev) #35772
  • [92bd7b522a] - http2: fix error stream write followed by destroy (David Halls) #35951
  • [ec9fae96bc] - http2: fix reinjection check (Momtchil Momtchev) #35678
  • [57f2fe0609] - http2: reinject data received before http2 is attached (Momtchil Momtchev) #35678
  • [2dbaaf92e5] - http2: remove unsupported %.* specifier (Momtchil Momtchev) #35694
  • [de3c8045ac] - lib: refactor to use more primordials (Antoine du Hamel) #35875
  • [41d997cc72] - lib: use primordials when calling methods of Error (Antoine du Hamel) #35837
  • [d58a466da0] - lib: honor setUncaughtExceptionCaptureCallback (Gireesh Punathil) #35595
  • [1fdf72765b] - module: only try to enrich CJS syntax errors (Michaël Zasso) #35691
  • [81b0562c62] - n-api: clean up binding creation (Gabriel Schulhof) #36170
  • [7a01e241ee] - n-api: fix test_async_context warnings (Gabriel Schulhof) #36171
  • [dde727e72f] - n-api: improve consistency of how we get context (Michael Dawson) #36068
  • [08657e7e11] - n-api: factor out calling pattern (Gabriel Schulhof) #36113
  • [88aa4e0d25] - n-api: unlink reference during its destructor (Gabriel Schulhof) #35933
  • [1cb50c17d3] - n-api: napi_make_callback emit async init with resource of async_context (legendecas) #32930
  • [f1e84f4dd8] - n-api: revert change to finalization (Michael Dawson) #35777
  • [e16124979d] - querystring: reduce memory usage by Int8Array (sapics) #34179
  • [5c81a1071e] - src: refactor using-declarations node_env_var.cc (raisinten) #36128
  • [2770cd941e] - src: remove duplicate logic for getting buffer (Yash Ladha) #34553
  • [f2300390aa] - src: create helper for reading Uint32BE (Juan José Arboleda) #34944
  • [34c870e9f0] - src: use MaybeLocal.ToLocal instead of IsEmpty (Daniel Bevenius) #35716
  • [00d9499b14] - src: large pages support in illumos/solaris systems (David Carlier) #34320
  • [7c99885a9b] - stream: fix thrown object reference (Gil Pedersen) #36065
  • [1cefb7e710] - stream: fix regression on duplex end (Momtchil Momtchev) #35941
  • [d1fd3f27e4] - stream: remove redundant context from comments (Yash Ladha) #35728
  • [fb14acb22c] - stream: move to internal/streams (Matteo Collina) #35239
  • [40d59281f7] - test: update comments in test-fs-read-offset-null (Rich Trott) #36152
  • [a563f79d80] - test: fix typo in inspector-helper.js (Luigi Pinca) #36127
  • [3e77536c6b] - test: deflake test-http-destroyed-socket-write2 (Luigi Pinca) #36120
  • [402e29a87c] - test: make test-http2-client-jsstream-destroy.js reliable (Rich Trott) #36129
  • [b6aa42c349] - test: add test for fs.read when offset key is null (mayank agarwal) #35918
  • [8516c2ef90] - test: improve test-stream-duplex-readable-end (Luigi Pinca) #36056
  • [b53068ec0d] - test: add util.inspect test for null maxStringLength (Rich Trott) #36086
  • [3029872631] - test: replace var with const (Aleksandr Krutko) #36069
  • [b05cdfee64] - test: remove flaky designation for fixed test (Rich Trott) #35961
  • [002005f537] - test: improve error message for policy failures (Bradley Meck) #35633
  • [1453de1381] - test: update old comment style test_util.cc (raisinten) #35884
  • [de375e16f4] - test: add missing ref comments to parallel.status (Rich Trott) #35896
  • [cab65fbe63] - test: mark test-worker-eventlooputil flaky (Myles Borins) #35886
  • [4ed4b64293] - test: mark test-http2-respond-file-error-pipe-offset flaky (Myles Borins) #35883
  • [a5b94180fe] - test: fix reference to WPT testharness.js (Tobias Nießen) #35814
  • [3bb7f3602b] - test: add onerror test cases to policy (Daijiro Wachi) #35797
  • [0aba12218a] - test: add upstream test cases to encoding (Daijiro Wachi) #35794
  • [f535d6252f] - test: add test for listen callback runtime binding (H Adinarayana) #35657
  • [d62e72b341] - test: refactor test-https-host-headers (himself65) #32805
  • [70cb70812d] - test: add common.mustSucceed (Tobias Nießen) #35086
  • [226c1800a8] - test: check for AbortController existence (James M Snell) #35616
  • [41aac465cc] - timers: correct explanation in comment (Turner Jabbour) #35437
  • [713d1ebe75] - tools: bump [email protected] to [email protected] (Rich Trott) #36106
  • [127a4fb810] - tools: only use 2 cores for macos action (Myles Borins) #36169
  • [75e49b833b] - tools: remove bashisms from license builder script (Antoine du Hamel) #36122
  • [28d6283f96] - tools: hide commit queue action link (Antoine du Hamel) #36124
  • [b7441ea4d2] - tools: update doc tools to [email protected] (Rich Trott) #36049
  • [5a41282ef5] - tools: enforce use of single quotes in editorconfig (Antoine du Hamel) #36020
  • [23dd2b00dd] - tools: fix config serialization w/ long strings (Ole André Vadla Ravnås) #35982
  • [4664681220] - tools: don't print gold linker warning w/o flag (Myles Borins) #35955
  • [dfd6ad9d99] - tools: refloat 7 Node.js patches to cpplint.py (Rich Trott) #35866
  • [d177cb3993] - tools: bump cpplint to 1.5.1 (Rich Trott) #35866
  • [b19a85ed2a] - tools: add update-npm script (Myles Borins) #35822
  • [07e5d35d14] - tools: refloat 7 Node.js patches to cpplint.py (Rich Trott) #35719
  • [c7301533de] - tools: bump cpplint to 1.5.0 (Rich Trott) #35719
  • [985efdfa09] - tools: update gyp-next to v0.6.2 (Michaël Zasso) #35690
  • [baca8ee873] - tools: update gyp-next to v0.6.0 (Ujjwal Sharma) #35635
  • [3e7598da9b] - tools,doc: enable ecmaVersion 2021 in acorn parser (Antoine du Hamel) #35994
  • [dfb353b882] - util: fix to inspect getters that access this (raisinten) #36052
  • [1906f19e49] - vm: refactor to use more primordials (Antoine du Hamel) #36023
  • [ffe517b40d] - win, build: fix build time on Windows (Bartosz Sosnowski) #35932
  • [c4c8541621] - win,build,tools: support VS prerelease (Baruch Odem) #36033
  • [f59e225675] - zlib: test BrotliCompress throws invalid arg value (raisinten) #35830

New in Node.js 15.4.0 Current (Dec 11, 2020)

  • Notable Changes:
  • child_processes:
  • add AbortSignal support (Benjamin Gruenbaum) #36308
  • deps:
  • update ICU to 68.1 (Michaël Zasso) #36187
  • events:
  • support signal in EventTarget (Benjamin Gruenbaum) #36258
  • graduate Event, EventTarget, AbortController (James M Snell) #35949
  • http:
  • enable call chaining with setHeader() (pooja d.p) #35924
  • module:
  • add isPreloading indicator (James M Snell) #36263
  • stream:
  • support abort signal (Benjamin Gruenbaum) #36061
  • add FileHandle support to Read/WriteStream (Momtchil Momtchev) #35922
  • worker:
  • add experimental BroadcastChannel (James M Snell) #36271
  • Commits:
  • [e79bdc313a] - assert: refactor to use more primordials (Antoine du Hamel) #36234
  • [2344e3e360] - benchmark: changed fstat to fstatSync (Narasimha Prasanna HN) #36206
  • [ca8db41151] - benchmark,child_process: remove failing benchmark parameter (Antoine du Hamel) #36295
  • [9db9be774b] - buffer: refactor to use primordials instead of Array#reduce (Antoine du Hamel) #36392
  • [8d8d2261a5] - buffer: refactor to use more primordials (Antoine du Hamel) #36166
  • [74adc441c4] - build: fix typo in Makefile (raisinten) #36176
  • [224a6471cc] - (SEMVER-MINOR) child_process: add AbortSignal support (Benjamin Gruenbaum) #36308
  • [4ca1bd8806] - child_process: refactor to use more primordials (Zijian Liu) #36269
  • [841e8f444e] - crypto: fix "Invalid JWK" error messages (Filip Skokan) #36200
  • [278862aeb9] - deps: upgrade npm to 7.0.15 (Ruy Adorno) #36293
  • [66bc2067ce] - deps: V8: cherry-pick 86991d0587a1 (Benjamin Coe) #36254
  • [095cef2c11] - deps: update ICU to 68.1 (Michaël Zasso) #36187
  • [8d69d8387e] - dgram: refactor to use more primordials (Antoine du Hamel) #36286
  • [bef550a50c] - doc: add Powershell oneliner to get Windows version (Michael Bashurov) #30289
  • [2649c384c6] - doc: add version metadata to timers/promises (Colin Ihrig) #36378
  • [0401ffbfb6] - doc: add process for handling premature disclosure (Michael Dawson) #36155
  • [3e5fcda13e] - doc: add table header in intl.md (Rich Trott) #36261
  • [65d89fdd69] - doc: adding example to Buffer.isBuffer method (naortedgi) #36233
  • [03cf8dbc0e] - doc: fix typo in events.md (Luigi Pinca) #36231
  • [b176d61e8c] - doc: fix --experimental-wasm-modules text location (Colin Ihrig) #36220
  • [44c4aaddad] - doc: stabilize subpath patterns (Guy Bedford) #36177
  • [fdf5d851d0] - doc: add missing version to update cmd (Ruy Adorno) #36204
  • [186ad24fdf] - doc: cleanup events.md structure (James M Snell) #36100
  • [c14512b9a5] - errors: display original symbol name (Benjamin Coe) #36042
  • [855a85c124] - (SEMVER-MINOR) events: support signal in EventTarget (Benjamin Gruenbaum) #36258
  • [dc1930923b] - (SEMVER-MINOR) events: graduate Event, EventTarget, AbortController (James M Snell) #35949
  • [537e5cbf51] - fs: move method definition from header (Yash Ladha) #36256
  • [744b8aa807] - fs: pass ERR_DIR_CLOSED asynchronously to dir.close (Zijian Liu) #36243
  • [c04a2df185] - fs: refactor to use more primordials (Antoine du Hamel) #36196
  • [58abdcaceb] - (SEMVER-MINOR) http: enable call chaining with setHeader() (pooja d.p) #35924
  • [cedf51f3ce] - http2: refactor to use more primordials (Antoine du Hamel) #36357
  • [5f41f1b19e] - http2: check write not scheduled in scope destructor (David Halls) #36241
  • [4127eb2405] - https: add abortcontroller test (Benjamin Gruenbaum) #36307
  • [c2938bde6c] - lib: add uncurried accessor properties to primordials (ExE Boss) #36329
  • [f73a0a8069] - lib: fix typo in internal/errors.js (raisinten) #36426
  • [617cb58cc8] - lib: refactor primordials.uncurryThis (Antoine du Hamel) #36221
  • [cc18907ec4] - module: refactor to use more primordials (Antoine du Hamel) #36348
  • [d4de7c7eb9] - (SEMVER-MINOR) module: add isPreloading indicator (James M Snell) #36263
  • [8611b8f98a] - net: refactor to use more primordials (Antoine du Hamel) #36303
  • [2a24096720] - os: refactor to use more primordials (Antoine du Hamel) #36284
  • [0e7f0c6d27] - path: refactor to use more primordials (Antoine du Hamel) #36302
  • [ea46ca8cbf] - perf_hooks: refactor to use more primordials (Antoine du Hamel) #36297
  • [a9ac86d1ee] - policy: refactor to use more primordials (Antoine du Hamel) #36210
  • [39d0ceda48] - process: refactor to use more primordials (Antoine du Hamel) #36212
  • [ab084c199e] - querystring: refactor to use more primordials (Antoine du Hamel) #36315
  • [d29199ef82] - quic: refactor to use more primordials (Antoine du Hamel) #36211
  • [b885409e48] - readline: refactor to use more primordials (Antoine du Hamel) #36296
  • [9cb53f635a] - repl: refactor to use more primordials (Antoine du Hamel) #36264
  • [8dadaa652e] - src: remove some duplication in DeserializeProps (Daniel Bevenius) #36336
  • [a03aa0a6b2] - src: rename AliasedBufferInfo->AliasedBufferIndex (Daniel Bevenius) #36339
  • [e7b2d91e04] - src: use transferred consistently (Daniel Bevenius) #36340
  • [6ebb98af11] - src: use ToLocal in DeserializeProperties (Daniel Bevenius) #36279
  • [47397ffd56] - src: update node.rc file description (devsnek) #36197
  • [cfc8ec18db] - src: fix label indentation (Rich Trott) #36213
  • [197ba21279] - (SEMVER-MINOR) stream: support abort signal (Benjamin Gruenbaum) #36061
  • [6033d30361] - (SEMVER-MINOR) stream: add FileHandle support to Read/WriteStream (Momtchil Momtchev) #35922
  • [a15addc153] - string_decoder: refactor to use more primordials (Antoine du Hamel) #36358
  • [b39d150e60] - test: fix comment misspellings of transferred (Rich Trott) #36360
  • [a7e794d1bf] - test: fix flaky test-http2-respond-file-error-pipe-offset (Rich Trott) #36305
  • [1091a658e1] - test: fix bootstrap test (Benjamin Gruenbaum) #36418
  • [fbcb72a665] - test: increase coverage for readline (Zijian Liu) #36389
  • [22028aae54] - test: skip flaky parts of broadcastchannel test on Windows (Rich Trott) #36386
  • [faca2b829e] - test: fix test-worker-broadcastchannel-wpt (Rich Trott) #36353
  • [ea09da492c] - test: fix typo in comment (inokawa) #36312
  • [b61ca1bfe6] - test: replace anonymous functions by arrows (Aleksandr Krutko) #36125
  • [2c7358ef43] - test: fix flaky sequential/test-fs-watch (Rich Trott) #36249
  • [b613950016] - test: increase coverage for util.inspect() (Rich Trott) #36228
  • [69a8f05488] - test: improve test coverage SourceMap API (Juan José Arboleda) #36089
  • [44d6d0bf0d] - test: fix missed warning for non-experimental AbortController (James M Snell) #36240
  • [29b5236256] - timers: reject with AbortError on cancellation (Benjamin Gruenbaum) #36317
  • [b20409e985] - tls: refactor to use more primordials (Antoine du Hamel) #36266
  • [f317bba034] - tls: permit null as a cipher value (Rich Trott) #36318
  • [9ae59c847a] - tools: upgrade to @babel/eslint-parser 7.12.1 (Antoine du Hamel) #36321
  • [e798770803] - tools: refloat 7 Node.js patches to cpplint.py (Rich Trott) #36324
  • [a8b95cfcb2] - tools: bump cpplint to 1.5.4 (Rich Trott) #36324
  • [754b7a76b1] - tools: remove bashisms from macOS release scripts (Antoine du Hamel) #36121
  • [2868ffb331] - tools: remove bashisms from release script (Antoine du Hamel) #36123
  • [8cf1addaa8] - tools: update stability index linking logic (Rich Trott) #36280
  • [d95ae65986] - tools: update highlight.js to 10.1.2 (Myles Borins) #36309
  • [5935ccc11c] - tools: fix undeclared identifier FALSE (Antoine du Hamel) #36276
  • [a2da7ba914] - tools: use using-declaration consistently (Daniel Bevenius) #36245
  • [82c1e39c4a] - tools: refloat 7 Node.js patches to cpplint.py (Rich Trott) #36235
  • [bcf7393412] - tools: bump cpplint to 1.5.3 (Rich Trott) #36235
  • [be11976407] - tools: enable no-nonoctal-decimal-escape lint rule (Colin Ihrig) #36217
  • [c86c2399a2] - tools: update ESLint to 7.14.0 (Colin Ihrig) #36217
  • [cfadd82cf3] - tools: refloat 7 Node.js patches to cpplint.py (Rich Trott) #36213
  • [03e8aaf613] - tools: bump cpplint.py to 1.5.2 (Rich Trott) #36213
  • [6bc007fc94] - tty: refactor to use more primordials (Zijian Liu) #36272
  • [fbd5652943] - v8: refactor to use more primordials (Antoine du Hamel) #36285
  • [8731a80439] - vm: add SafeForTerminationScopes for SIGINT interruptions (Anna Henningsen) #36344
  • [47345a1f84] - worker: refactor to use more primordials (Antoine du Hamel) #36393
  • [21c4704c7b] - worker: refactor to use more primordials (Antoine du Hamel) #36267
  • [802d44b1a9] - (SEMVER-MINOR) worker: add experimental BroadcastChannel (James M Snell) #36271
  • [4b4caada9f] - zlib: refactor to use more primordials (Antoine du Hamel) #36347

New in Node.js 15.3.0 Current (Nov 27, 2020)

  • Notable Changes:
  • [6349b1d673] - (SEMVER-MINOR) dns: add a cancel() method to the promise Resolver (Szymon Marczak) #33099
  • [9ce9b016e6] - (SEMVER-MINOR) events: add max listener warning for EventTarget (James M Snell) #36001
  • [8390f8a86b] - (SEMVER-MINOR) http: add support for abortsignal to http.request (Benjamin Gruenbaum) #36048
  • [9c6be3cc90] - (SEMVER-MINOR) http2: allow setting the local window size of a session (Yongsheng Zhang) #35978
  • [15ff155c12] - (SEMVER-MINOR) lib: add throws option to fs.f/l/statSync (Andrew Casey) #33716
  • [85c85d368a] - (SEMVER-MINOR) path: add path/posix and path/win32 alias modules (ExE Boss) #34962
  • [d1baae3640] - (SEMVER-MINOR) readline: add getPrompt to get the current prompt (Mattias Runge-Broberg) #33675
  • [5729478509] - (SEMVER-MINOR) src: add loop idle time in diagnostic report (Gireesh Punathil) #35940
  • [baa87c1a7d] - (SEMVER-MINOR) util: add util/types alias module (ExE Boss) #34055
  • Commits:
  • [34aa0c868e] - assert: refactor to use more primordials (Antoine du Hamel) #35998
  • [28d710164a] - async_hooks: refactor to use more primordials (Antoine du Hamel) #36168
  • [1924255fdb] - async_hooks: fix leak in AsyncLocalStorage exit (Stephen Belanger) #35779
  • [3ee556a867] - benchmark: fix build warnings (Gabriel Schulhof) #36157
  • [fcc38a1312] - build: replace which with command -v (raisinten) #36118
  • [60874ba941] - build: try “python3” as a last resort for 3.x (Ole André Vadla Ravnås) #35983
  • [fbe210b2a1] - build: conditionally clear vcinstalldir (Brian Ingenito) #36009
  • [56f83e6876] - build: refactor configure.py to use argparse (raisinten) #35755
  • [0b70822461] - child_process: refactor to use more primordials (Antoine du Hamel) #36003
  • [e54108f2e4] - cluster: refactor to use more primordials (Antoine du Hamel) #36011
  • [272fc794b2] - crypto: fix format warning in AdditionalConfig (raisinten) #36060
  • [63a138e02f] - crypto: fix passing TypedArray to webcrypto AES methods (Antoine du Hamel) #36087
  • [4a88c73fa5] - deps: upgrade npm to 7.0.14 (nlf) #36238
  • [d16e8622a7] - deps: upgrade npm to 7.0.13 (Ruy Adorno) #36202
  • [c23ee3744f] - deps: upgrade npm to 7.0.12 (Ruy Adorno) #36153
  • [0fcbb1c0d5] - deps: V8: cherry-pick 3176bfd447a9 (Anna Henningsen) #35612
  • [27f1bc05fd] - deps: upgrade npm to 7.0.11 (Darcy Clarke) #36112
  • [8ae3ffe2be] - deps: V8: cherry-pick 1d0f426311d4 (Ole André Vadla Ravnås) #35986
  • [4b7ba11d67] - deps: V8: cherry-pick 4e077ff0444a (Ole André Vadla Ravnås) #35986
  • [098a5b1298] - deps: V8: cherry-pick 086eecbd96b6 (Ole André Vadla Ravnås) #35986
  • [d2c757ab19] - deps: V8: cherry-pick 27e1ac1a79ff (Ole André Vadla Ravnås) #35986
  • [6349b1d673] - (SEMVER-MINOR) dns: add a cancel() method to the promise Resolver (Szymon Marczak) #33099
  • [0fbade38ef] - doc: add arm64 macOS as experimental (Richard Lau) #36189
  • [42dfda8f78] - doc: remove stray comma in url.md (Rich Trott) #36175
  • [8bbdbccbb6] - doc: revise agent.destroy() text (Rich Trott) #36163
  • [545ac1fec5] - doc: fix punctuation in v8.md (Rich Trott) #36192
  • [a6a90af8c0] - doc: add compatibility/interop technical value (Geoffrey Booth) #35323
  • [4ab4a99900] - doc: de-emphasize wrapping in napi_define_class (Gabriel Schulhof) #36159
  • [bb29508e8f] - doc: add link for v8.takeCoverage() (Rich Trott) #36135
  • [24065b92f1] - doc: mark modules implementation as stable (Guy Bedford) #35781
  • [142cacdc63] - doc: clarify text about process not responding (Rich Trott) #36117
  • [0ff384b0be] - doc: esm docs consolidation and reordering (Guy Bedford) #36046
  • [b17a83a00d] - doc: claim ABI version for Electron v13 (Shelley Vohr) #36101
  • [e8a8513b2c] - doc: fix invalid link in worker_threads.md (Rich Trott) #36109
  • [cd33594a0d] - doc: move shigeki to emeritus (Rich Trott) #36093
  • [eefc6aa6c9] - doc: document the error when cwd not exists in child_process.spawn (FeelyChau) #34505
  • [841a2812d0] - doc: fix typo in debugger.md (Rich Trott) #36066
  • [500e709439] - doc: update list styles for remark-parse@9 rendering (Rich Trott) #36049
  • [a8dab217eb] - doc,url: fix url.hostname example (Rishabh Mehan) #33735
  • [e48ec703ba] - domain: improve deprecation warning text for DEP0097 (Anna Henningsen) #36136
  • [bcbf176c22] - errors: refactor to use more primordials (Antoine du Hamel) #36167
  • [66788970ac] - esm: refactor to use more primordials (Antoine du Hamel) #36019
  • [9ce9b016e6] - (SEMVER-MINOR) events: add max listener warning for EventTarget (James M Snell) #36001
  • [1550073dbc] - events: disabled manual construction AbortSignal (raisinten) #36094
  • [8a6cabbb23] - events: port some wpt tests (Ethan Arrowood) #34169
  • [3691eccf0a] - fs: remove experimental from promises.rmdir recursive (Anders Kaseorg) #36131
  • [76b1863240] - fs: filehandle read now accepts object as argument (Nikola Glavina) #34180
  • [2fdf509268] - http: fix typo in comment (Hollow Man) #36193
  • [8390f8a86b] - (SEMVER-MINOR) http: add support for abortsignal to http.request (Benjamin Gruenbaum) #36048
  • [387d92fd0e] - http: onFinish will not be triggered again when finished (rickyes) #35845
  • [48bf59bb8b] - http2: add support for AbortSignal to http2Session.request (Madara Uchiha) #36070
  • [8a0c3b9c76] - http2: refactor to use more primordials (Antoine du Hamel) #36142
  • [f0aed8c01c] - http2: add support for TypedArray to getUnpackedSettings (Antoine du Hamel) #36141
  • [9c6be3cc90] - (SEMVER-MINOR) http2: allow setting the local window size of a session (Yongsheng Zhang) #35978
  • [0b40568afe] - http2: delay session.receive() by a tick (Szymon Marczak) #35985
  • [1a4d43f840] - lib: refactor to use more primordials (Antoine du Hamel) #36140
  • [d6ea12e003] - lib: set abort-controller toStringTag (Benjamin Gruenbaum) #36115
  • [82f1cde57e] - lib: remove primordials.SafePromise (Antoine du Hamel) #36149
  • [15ff155c12] - (SEMVER-MINOR) lib: add throws option to fs.f/l/statSync (Andrew Casey) #33716
  • [75707f45eb] - lib,tools: enforce access to prototype from primordials (Antoine du Hamel) #36025
  • [79b2ba6744] - n-api: clean up binding creation (Gabriel Schulhof) #36170
  • [5698cc08f0] - n-api: fix test_async_context warnings (Gabriel Schulhof) #36171
  • [3d623d850c] - n-api: improve consistency of how we get context (Michael Dawson) #36068
  • [89da0c3353] - n-api: factor out calling pattern (Gabriel Schulhof) #36113
  • [5c0ddbca01] - net: fix invalid write after end error (Robert Nagy) #36043
  • [85c85d368a] - (SEMVER-MINOR) path: add path/posix and path/win32 alias modules (ExE Boss) #34962
  • [ed8af3a8b7] - perf_hooks: make nodeTiming a first-class object (Momtchil Momtchev) #35977
  • [eb9295b583] - promise: emit error on domain unhandled rejections (Benjamin Gruenbaum) #36082
  • [59af919d6b] - querystring: reduce memory usage by Int8Array (sapics) #34179
  • [d1baae3640] - (SEMVER-MINOR) readline: add getPrompt to get the current prompt (Mattias Runge-Broberg) #33675
  • [6d1b1c7ad0] - src: integrate URL::href() and use in inspector (Daijiro Wachi) #35912
  • [7086f2e653] - src: refactor using-declarations node_env_var.cc (raisinten) #36128
  • [122797e87f] - src: remove duplicate logic for getting buffer (Yash Ladha) #34553
  • [5729478509] - (SEMVER-MINOR) src: add loop idle time in diagnostic report (Gireesh Punathil) #35940
  • [a81dc9ae18] - src,crypto: refactoring of crypto_context, SecureContext (James M Snell) #35665
  • [5fa35f6934] - test: update comments in test-fs-read-offset-null (Rich Trott) #36152
  • [73bb54af77] - test: update wpt url and resource (Daijiro Wachi) #36032
  • [77b47dfd08] - test: fix typo in inspector-helper.js (Luigi Pinca) #36127
  • [474664963c] - test: deflake test-http-destroyed-socket-write2 (Luigi Pinca) #36120
  • [f9bbd35937] - test: make test-http2-client-jsstream-destroy.js reliable (Rich Trott) #36129
  • [c19df17acb] - test: add test for fs.read when offset key is null (mayank agarwal) #35918
  • [9405cddbee] - test: improve test-stream-duplex-readable-end (Luigi Pinca) #36056
  • [3be5e86c57] - test: add util.inspect test for null maxStringLength (Rich Trott) #36086
  • [6a4cc43028] - test: replace var with const (Aleksandr Krutko) #36069
  • [a367c0dfc2] - timers: refactor to use more primordials (Antoine du Hamel) #36132
  • [a6ef92bc27] - tools: bump [email protected] to [email protected] (Rich Trott) #36106
  • [2d2491284e] - tools: only use 2 cores for macos action (Myles Borins) #36169
  • [d8fcf2c324] - tools: remove bashisms from license builder script (Antoine du Hamel) #36122
  • [7e7ddb11c0] - tools: hide commit queue action link (Antoine du Hamel) #36124
  • [63494e434a] - tools: update doc tools to [email protected] (Rich Trott) #36049
  • [bf0550ce4e] - tools: enforce use of single quotes in editorconfig (Antoine du Hamel) #36020
  • [49649a499e] - tools: fix config serialization w/ long strings (Ole André Vadla Ravnås) #35982
  • [be220b213d] - tools: update ESLint to 7.13.0 (Luigi Pinca) #36031
  • [4140f491fd] - util: fix to inspect getters that access this (raisinten) #36052
  • [baa87c1a7d] - (SEMVER-MINOR) util: add util/types alias module (ExE Boss) #34055
  • [f7b2fce1c1] - vm: refactor to use more primordials (Antoine du Hamel) #36023
  • [4e3883ec2d] - win,build,tools: support VS prerelease (Baruch Odem) #36033

New in Node.js 15.2.1 Current (Nov 17, 2020)

  • Notable changes:
  • This is a security release.
  • Vulnerabilities fixed:
  • CVE-2020-8277: Denial of Service through DNS request (High). A Node.js application that allows an attacker to trigger a DNS request for a host of their choice could trigger a Denial of service by getting the application to resolve a DNS record with a larger number of responses.
  • Commits:
  • [2a44836eeb] - deps: cherry-pick 0d252eb from upstream c-ares (Michael Dawson) nodejs-private/node-private#231
  • [b1f5518a0a] - doc: fix events.getEventListeners example (Dmitry Semigradsky) #36085
  • [b477447a55] - doc: fix added: info for stream._construct() (Luigi Pinca) #36067
  • [df211208c0] - test: add missing test coverage for setLocalAddress() (Rich Trott) #36039
  • [f5191f5bd2] - test: remove flaky designation for fixed test (Rich Trott) #35961
  • [a2f652f7c5] - test: move test-worker-eventlooputil to sequential (Rich Trott) #35996
  • [b0b43b27d6] - test: fix unreliable test-fs-write-file.js (Rich Trott) #36102

New in Node.js 14.15.1 LTS (Nov 17, 2020)

  • Notable changes:
  • This is a security release.
  • Vulnerabilities fixed:
  • CVE-2020-8277: Denial of Service through DNS request (High). A Node.js application that allows an attacker to trigger a DNS request for a host of their choice could trigger a Denial of Service by getting the application to resolve a DNS record with a larger number of responses.
  • Commits:
  • [1fd2c8142b] - deps: cherry-pick 0d252eb from upstream c-ares (Michael Dawson) nodejs-private/node-private#231

New in Node.js 15.2.0 Current (Nov 11, 2020)

  • Notable changes:
  • events:
  • getEventListeners static (Benjamin Gruenbaum) #35991
  • fs:
  • support abortsignal in writeFile (Benjamin Gruenbaum) #35993
  • add support for AbortSignal in readFile (Benjamin Gruenbaum) #35911
  • stream:
  • fix thrown object reference (Gil Pedersen) #36065
  • Commits:
  • [9d9a044c1b] - benchmark: ignore build artifacts for napi addons (Richard Lau) #35970
  • [4c6de854be] - benchmark: remove modules that require intl (Richard Lau) #35968
  • [292915a6a8] - bootstrap: refactor to use more primordials (Antoine du Hamel) #35999
  • [10c9ea771d] - build: fix zlib inlining for IA-32 (raisinten) #35679
  • [6ac9c8f31b] - build, tools: look for local installation of NASM (Richard Lau) #36014
  • [9757b47c44] - console: use more primordials (Antoine du Hamel) #35734
  • [0d7422651b] - crypto: refactor to use more primordials (Antoine du Hamel) #36012
  • [dc4936ba50] - crypto: fix comment in ByteSource (Tobias Nießen) #35972
  • [7cb5c0911e] - deps: cherry-pick 9a49b22 from V8 upstream (Daniel Bevenius) #35939
  • [4b03670877] - dns: fix trace_events name for resolveCaa() (Rich Trott) #35979
  • [dcb27600da] - doc: escape asterisk in cctest gtest-filter (raisinten) #36034
  • [923276ca53] - doc: move v8.getHeapCodeStatistics() (Rich Trott) #36027
  • [71fa9c6b24] - doc: add note regarding file structure in src/README.md (Denys Otrishko) #35000
  • [99cb36238d] - doc: advise users to import the full set of trusted release keys (Reşat SABIQ) #32655
  • [06cc400160] - doc: fix crypto doc linter errors (Antoine du Hamel) #36035
  • [01129a7b39] - doc: revise v8.getHeapSnapshot() (Rich Trott) #35849
  • [77d33c9b2f] - doc: update core-validate-commit link in guide (Daijiro Wachi) #35938
  • [6d56ba03e2] - doc: update benchmark CI test indicator in README (Rich Trott) #35945
  • [8bd364a9b3] - doc: add new wordings to the API description (Pooja D.P) #35588
  • [acd3617e1a] - doc: option --prof documentation help added (krank2me) #34991
  • [6968b0fd49] - doc: fix release-schedule link in backport guide (Daijiro Wachi) #35920
  • [efbfeff62b] - doc: fix incorrect heading level (Bryan Field) #35965
  • [9c4b360d08] - doc,crypto: added sign/verify method changes about dsaEncoding (Filip Skokan) #35480
  • [85cf30541d] - doc,fs: document value of stats.isDirectory on symbolic links (coderaiser) #27413
  • [d6bd78ff82] - doc,net: document socket.timeout (Brandon Kobel) #34543
  • [36c20d939a] - doc,stream: write(chunk, encoding, cb) encoding can be null (dev-script) #35372
  • [9d26c4d496] - domain: refactor to use more primordials (Antoine du Hamel) #35885
  • [d83e253065] - errors: refactor to use more primordials (Antoine du Hamel) #35944
  • [567f8d8caf] - (SEMVER-MINOR) events: getEventListeners static (Benjamin Gruenbaum) #35991
  • [9e673723e3] - events: fire handlers in correct oder (Benjamin Gruenbaum) #35931
  • [ff59fcdf7b] - events: define abort on prototype (Benjamin Gruenbaum) #35931
  • [ab0eb4f2c9] - events: support event handlers on prototypes (Benjamin Gruenbaum) #35931
  • [33e2ee58a7] - events: define event handler as enumerable (Benjamin Gruenbaum) #35931
  • [a7d0c76f86] - events: support emit on nodeeventtarget (Benjamin Gruenbaum) #35851
  • [76332a0439] - events: port some wpt tests (Benjamin Gruenbaum) #33621
  • [ccf9f0e62e] - (SEMVER-MINOR) fs: support abortsignal in writeFile (Benjamin Gruenbaum) #35993
  • [7ef9c707e9] - fs: replace finally with PromisePrototypeFinally (Baruch Odem (Rothkoff)) #35995
  • [ccbe267515] - fs: remove unnecessary Function#bind() in fs/promises (Ben Noordhuis) #35208
  • [6011bfdec5] - fs: remove unused assignment (Rich Trott) #35882
  • [92bdfd141b] - (SEMVER-MINOR) fs: add support for AbortSignal in readFile (Benjamin Gruenbaum) #35911
  • [11f592450b] - http2: add has method to proxySocketHandler (masx200) #35197
  • [28ed7d062e] - http2: centralise socket event binding in Http2Session (Momtchil Momtchev) #35772
  • [429113ebfb] - http2: move events to the JSStreamSocket (Momtchil Momtchev) #35772
  • [1dd744a420] - http2: fix error stream write followed by destroy (David Halls) #35951
  • [af2a560c42] - lib: add %TypedArray% abstract constructor to primordials (ExE Boss) #36016
  • [b700900d02] - lib: refactor to use more primordials (Antoine du Hamel) #35875
  • [7a375902ff] - module: refactor to use more primordials (Antoine du Hamel) #36024
  • [8d76db86b5] - module: refactor to use iterable-weak-map (Benjamin Coe) #35915
  • [9b6512f7de] - n-api: unlink reference during its destructor (Gabriel Schulhof) #35933
  • [1b277d97f3] - src: remove ERR prefix in crypto status enums (Daniel Bevenius) #35867
  • [9774b4cc72] - stream: fix thrown object reference (Gil Pedersen) #36065
  • [359a6590b0] - stream: writableNeedDrain (Robert Nagy) #35348
  • [b7aa5e2296] - stream: remove isPromise utility function (Antoine du Hamel) #35925
  • [fdae9ad188] - test: fix races in test-performance-eventlooputil (Gerhard Stoebich) #36028
  • [0a4c96a7df] - test: use global.EventTarget instead of internals (Antoine du Hamel) #36002
  • [f73b8d84db] - test: improve error message for policy failures (Bradley Meck) #35633
  • [cb6f0d3d89] - test: update old comment style test_util.cc (raisinten) #35884
  • [23f0d0c45c] - test: fix error in test/internet/test-dns.js (Rich Trott) #35969
  • [77e4f19701] - timers: cleanup abort listener on awaitable timers (James M Snell) #36006
  • [a7350b3a8f] - tools: don't print gold linker warning w/o flag (Myles Borins) #35955
  • [1f27214480] - tools: add new ESLint rule: prefer-primordials (Leko) #35448
  • [da3c2ab828] - tools,doc: enable ecmaVersion 2021 in acorn parser (Antoine du Hamel) #35994
  • [f8098c3e43] - tools,lib: recommend using safe primordials (Antoine du Hamel) #36026
  • [eea7e3b0d0] - tools,lib: tighten prefer-primordials rules for Error statics (Antoine du Hamel) #36017
  • [7a2edea7ed] - win, build: fix build time on Windows (Bartosz Sosnowski) #35932

New in Node.js 15.1.0 Current (Nov 5, 2020)

  • Notable Changes:
  • Diagnostics channel (experimental module):
  • diagnostics_channel is a new experimental module that provides an API to create named channels to report arbitrary message data for diagnostics purposes.
  • With diagnostics_channel, Node.js core and module authors can publish contextual data about what they are doing at a given time. This could be the hostname and query string of a mysql query, for example. Just create a named channel with dc.channel(name) and call channel.publish(data) to send the data to any listeners to that channel.
  • Channels are like one big global event emitter but are split into separate objects to ensure they get the best performance. If nothing is listening to the channel, the publishing overhead should be as close to zero as possible. Consuming channel data is as easy as using channel.subscribe(listener) to run a function whenever a message is published to that channel.
  • The data captured can be used to provide context for what an app is doing at a given time. This can be used for things like augmenting tracing data, tracking network and filesystem activity, logging queries, and many other things. It's also a very useful data source for diagnostics tools to provide a clearer picture of exactly what the application is doing at a given point in the data they are presenting.
  • Contributed by Stephen Belanger #34895.
  • New child process 'spawn' event:
  • Instances of ChildProcess now emit a new 'spawn' event once the child process has spawned successfully.
  • If emitted, the 'spawn' event comes before all other events and before any data is received via stdout or stderr.
  • The 'spawn' event will fire regardless of whether an error occurs within the spawned process. For example, if bash some-command spawns successfully, the 'spawn' event will fire, though bash may fail to spawn some-command. This caveat also applies when using { shell: true }.
  • Contributed by Matthew Francis Brunetti #35369.
  • Set the local address for DNS resolution:
  • It is now possible to set the local IP address used by a Resolver instance to send its requests. This allows programs to specify outbound interfaces when used on multi-homed systems.
  • The resolver will use the v4 local address when making requests to IPv4 DNS servers, and the v6 local address when making requests to IPv6 DNS servers.
  • Contributed by Josh Dague #34824.
  • Control V8 coverage at runtime:
  • The v8 module includes two new methods to control the V8 coverage started by the NODE_V8_COVERAGE environment variable.
  • With v8.takeCoverage(), it is possible to write a coverage report to disk on demand. This can be done multiple times during the lifetime of the process, and the execution counter will be reset on each call. When the process is about to exit, one last coverage will still be written to disk, unless v8.stopCoverage() was invoked before.
  • The v8.stopCoverage() method allows to stop the coverage collection, so that V8 can release the execution counters and optimize code.
  • Contributed by Joyee Cheung #33807.
  • Analyze Worker's event loop utilization:
  • Worker instances now have a performance property, with a single eventLoopUtilization method that can be used to gather information about the worker's event loop utilization between the 'online' and 'exit' events.
  • The method works the same way as perf_hooks eventLoopUtilization().
  • Contributed by Trevor Norris #35664.
  • Take a V8 heap snapshot just before running out of memory (experimental):
  • With the new --heapsnapshot-near-heap-limit=max_count experimental command line flag, it is now possible to automatically generate a heap snapshot when the V8 heap usage is approaching the heap limit. count should be a non-negative integer (in which case Node.js will write no more than max_count snapshots to disk).
  • When generating snapshots, garbage collection may be triggered and bring the heap usage down, therefore multiple snapshots may be written to disk before the Node.js instance finally runs out of memory. These heap snapshots can be compared to determine what objects are being allocated during the time consecutive snapshots are taken.
  • Generating V8 snapshots takes time and memory (both memory managed by the V8 heap and native memory outside the V8 heap). The bigger the heap is, the more resources it needs. Node.js will adjust the V8 heap to accommondate the additional V8 heap memory overhead, and try its best to avoid using up all the memory avialable to the process.
  • Contributed by Joyee Cheung #33010.
  • Commits:
  • Semver-minor commits:
  • [8169902b40] - (SEMVER-MINOR) child_process: add ChildProcess 'spawn' event (Matthew Francis Brunetti) #35369
  • [548f91af2c] - (SEMVER-MINOR) dns: add setLocalAddress to Resolver (Josh Dague) #34824
  • [f861733bac] - (SEMVER-MINOR) http: report request start and end with diagnostics_channel (Stephen Belanger) #34895
  • [883ed4b7f1] - (SEMVER-MINOR) http2: add updateSettings to both http2 servers (Vincent Boivin) #35383
  • [b38a43d5d9] - (SEMVER-MINOR) lib: create diagnostics_channel module (Stephen Belanger) #34895
  • [a7f37bc725] - (SEMVER-MINOR) src: add --heapsnapshot-near-heap-limit option (Joyee Cheung) #33010
  • [7bfa872013] - (SEMVER-MINOR) v8: implement v8.stopCoverage() (Joyee Cheung) #33807
  • [15ffed5319] - (SEMVER-MINOR) v8: implement v8.takeCoverage() (Joyee Cheung) #33807
  • [221e28311f] - (SEMVER-MINOR) worker: add eventLoopUtilization() (Trevor Norris) #35664
  • Semver-patch commits:
  • [d95013f399] - assert,repl: enable ecmaVersion 2021 in acorn parser (Michaël Zasso) #35827
  • [b11c7378e3] - build: fix lint-js-fix target (Antoine du Hamel) #35927
  • [a5fa849631] - build: add vcbuilt test-doc target (Antoine du Hamel) #35708
  • [34281cdaba] - build: turn off Codecov comments (bcoe) #35800
  • [a9c09246bb] - build: add license-builder GitHub Action (Tierney Cyren) #35712
  • [4447ff1162] - build,tools: gitHub Actions: use Node.js Fermium (Antoine du Hamel) #35840
  • [273e147017] - build,tools: add lint-js-doc target (Antoine du Hamel) #35708
  • [0ebf44b466] - crypto: pass empty passphrases to OpenSSL properly (Tobias Nießen) #35914
  • [644c416389] - crypto: rename check to createJob (Daniel Bevenius) #35858
  • [79a8fb62e6] - crypto: fixup scrypt regressions (James M Snell) #35821
  • [abd7c9447c] - crypto: fix webcrypto ECDH JWK import (Filip Skokan) #35855
  • [d3f1cde908] - deps: upgrade npm to 7.0.8 (Myles Borins) #35953
  • [55adee0947] - deps: upgrade npm to 7.0.7 (Luigi Pinca) #35908
  • [5cb77f2e79] - deps: upgrade to [email protected] (Guy Bedford) #35928
  • [1303a1fca8] - deps: update to [email protected] (Guy Bedford) #35901
  • [20accb08fa] - deps: upgrade to [email protected] (Guy Bedford) #35871
  • [52a77db759] - deps: update acorn to v8.0.4 (Michaël Zasso) #35791
  • [e0a1541260] - deps: update to [email protected] (Guy Bedford) #35745
  • [894419c1f4] - deps: V8: backport 4263f8a5e8e0 (Brian 'bdougie' Douglas) #35650
  • [564aadedac] - doc,src,test: revise C++ code for linter update (Rich Trott) #35719
  • [7c8b5e5e0e] - errors: do not call resolve on URLs with schemes (bcoe) #35903
  • [1cdfaa80f8] - events: add a few tests (Benjamin Gruenbaum) #35806
  • [f08e2c0213] - events: make abort_controller event trusted (Benjamin Gruenbaum) #35811
  • [438d9debfd] - events: make eventTarget.removeAllListeners() return this (Luigi Pinca) #35805
  • [b6b7a3b86a] - http: lazy create IncomingMessage.headers (Robert Nagy) #35281
  • [86ed87b6b7] - http2: fix reinjection check (Momtchil Momtchev) #35678
  • [5833007eb0] - http2: reinject data received before http2 is attached (Momtchil Momtchev) #35678
  • [cfe61b8714] - http2: remove unsupported %.* specifier (Momtchil Momtchev) #35694
  • [d2f574b5be] - lib: let abort_controller target be EventTarget (Daijiro Wachi) #35869
  • [b1e531a70b] - lib: use primordials when calling methods of Error (Antoine du Hamel) #35837
  • [0f5a8c55c2] - module: runtime deprecate subpath folder mappings (Guy Bedford) #35747
  • [d16e2fa69a] - n-api: napi_make_callback emit async init with resource of async_context (legendecas) #32930
  • [0c17dbd201] - n-api: revert change to finalization (Michael Dawson) #35777
  • [fb7196434e] - src: remove redundant OpenSSLBuffer (James M Snell) #35663
  • [c9225789d3] - src: remove ERR prefix in WebCryptoKeyExportStatus (Daniel Bevenius) #35639
  • [4128eefcb3] - src: remove ignore GCC -Wcast-function-type for v8 (Daniel Bevenius) #35768
  • [4b8b5fee6a] - src: use MaybeLocal.ToLocal instead of IsEmpty (Daniel Bevenius) #35716
  • [01d7c46776] - Revert "src: ignore GCC -Wcast-function-type for v8.h" (Daniel Bevenius) #35758
  • [2868f52a5c] - stream: fix regression on duplex end (Momtchil Momtchev) #35941
  • [70c41a830d] - stream: remove redundant context from comments (Yash Ladha) #35728
  • [88eb6191e4] - stream: fix duplicate logic in stream destroy (Yash Ladha) #35727
  • [a41e3ebc3a] - timers: correct explanation in comment (Turner Jabbour) #35437
  • [ee15142fef] - tls: allow reading data into a static buffer (Andrey Pechkurov) #35753
  • [102d7dfe02] - zlib: test BrotliCompress throws invalid arg value (raisinten) #35830
  • Documentation commits:
  • [7937fbe3bc] - doc: update tables in README files for linting changes (Rich Trott) #35905
  • [c5b94220c5] - doc: temporarily disable list-item-bullet-indent (Nick Schonning) #35647
  • [59b36af8d5] - doc: disable no-undefined-references workarounds (Nick Schonning) #35647
  • [eb55462a75] - doc: adjust table alignment for remark v13 (Nick Schonning) #35647
  • [0ac4a6ab16] - doc: update crypto.createSecretKey history (Ben Turner) #35874
  • [4899998855] - doc: move bnoordhuis to emeritus (Ben Noordhuis) #35865
  • [337bfcf614] - doc: add on statement in the APIs docs (Pooja D.P) #35610
  • [9703219fdb] - doc: fix a typo in CHANGELOG_V15 (Takuya Noguchi) #35804
  • [c14889bcc1] - doc: move ronkorving to emeritus (Rich Trott) #35828
  • [8c2b17926c] - doc: recommend test-doc instead of lint-md (Antoine du Hamel) #35708
  • [0580258449] - doc: fix reference to googletest test fixture (Tobias Nießen) #35813
  • [d291e3abd9] - doc: stabilize packages features (Myles Borins) #35742
  • [5e8d821b4c] - doc: add conditional example for setBreakpoint() (Chris Opperwall) #35823
  • [8074f69f82] - doc: make small improvements to REPL doc (Rich Trott) #35808
  • [4e76a3c106] - doc: update MessagePort documentation for EventTarget inheritance (Anna Henningsen) #35839
  • [3db4354cc8] - doc: use case-sensitive in the example (Pooja D.P) #35624
  • [b07f4a3f7a] - doc: consolidate and clarify breakOnSigInt text (Rich Trott) #35787
  • [c2e6a4b081] - doc: fix _construct example params order (Alejandro Oviedo) #35790
  • [6513a589fe] - doc: add a subsystems header in pull-requests.md (Pooja D.P) #35718
  • [c365867c60] - doc: fix typo in BUILDING.md (raisinten) #35807
  • [6211ffd2f7] - doc: add require statement in the example (Pooja D.P) #35554
  • [7b3743d8dd] - doc: modified memory set statement set size (Pooja D.P) #35517
  • [afbe23d800] - doc: use kbd element in readline doc prose (Rich Trott) #35737
  • [c0a4fac040] - doc: fix a typo in CHANGELOG_V12 (Shubham Parihar) #35786
  • [0e9acf83f7] - doc: fix header level in fs.md (ax1) #35771
  • [f49afb5e10] - doc: remove stability warning in v8 module doc (Rich Trott) #35774
  • [368ae952b2] - doc: mark optional parameters in timers.md (Vse Mozhe Buty) #35764
  • [f6aa7c82c5] - doc: add a example code to API doc property (Pooja D.P) #35738
  • [55b7a6cea3] - doc: document changes for */promises alias modules (ExE Boss) #34002
  • [4b7708a316] - doc: update console.error example (Lee, Bonggi) #34964
  • [292b529dfa] - doc: add missing link in Node.js 14 Changelog (Antoine du Hamel) #35782
  • [890b03ecd6] - doc: improve text for breakOnSigint (Rich Trott) #35692
  • [1892532ee8] - doc: this prints replaced with this is printed (Pooja D.P) #35515
  • [6590f8cb4a] - doc: update package.json field definitions (Myles Borins) #35741
  • [f269c6cbe2] - doc: add Installing Node.js header in BUILDING.md (Pooja D.P) #35710
  • [05a888a8c3] - doc,esm: document experimental warning removal (Antoine du Hamel) #35750
  • [092c6c4f8f] - doc,test: update v8 method doc and comment (Rich Trott) #35795
  • Other commits:
  • [76ebae4c05] - benchmark: make the benchmark tool work with Node 10 (Joyee Cheung) #35817
  • [9b549c1691] - benchmark: add startup benchmark for loading public modules (Joyee Cheung) #35816
  • [5d61e3db4b] - test: add missing ref comments to parallel.status (Rich Trott) #35896
  • [231af88001] - test: correct test-worker-eventlooputil (Gerhard Stoebich) #35891
  • [da612dfc20] - test: integrate abort_controller tests from wpt (Daijiro Wachi) #35869
  • [66ad4be2c1] - test: add test to fs/promises setImmediate (tyankatsu) #35852
  • [830b789299] - test: mark test-worker-eventlooputil flaky (Myles Borins) #35886
  • [7691b673dc] - test: mark test-http2-respond-file-error-pipe-offset flaky (Myles Borins) #35883
  • [de3dcd7356] - test: fix reference to WPT testharness.js (Tobias Nießen) #35814
  • [8958af4aa0] - test: add onerror test cases to policy (Daijiro Wachi) #35797
  • [dd3cbb455a] - test: add upstream test cases to encoding (Daijiro Wachi) #35794
  • [76991c039f] - test: add upstream test cases to urlsearchparam (Daijiro Wachi) #35792
  • [110ef8aa50] - test: refactor coverage logic (bcoe) #35767
  • [0c5e8ed651] - test: add additional deprecation warning tests for rmdir recursive (Ian Sutherland) #35683
  • [11eca36e83] - test: add windows and C++ coverage (Benjamin Coe) #35670
  • [fd027cd61a] - tools: bump remark-lint-preset-node to 2.0.0 (Rich Trott) #35905
  • [c09fdba786] - tools: refloat 7 Node.js patches to cpplint.py (Rich Trott) #35866
  • [3955ccd305] - tools: bump cpplint to 1.5.1 (Rich Trott) #35866
  • [a07d1af4ea] - tools: update ESLint to 7.12.1 (cjihrig) #35799
  • [d20b318c58] - tools: update ESLint to 7.12.0 (cjihrig) #35799
  • [31753ec8aa] - tools: add msvc /P output to .gitignore (Jiawen Geng) #35735
  • [afb3e24cb0] - tools: add update-npm script (Myles Borins) #35822
  • [66da122d46] - tools: refloat 7 Node.js patches to cpplint.py (Rich Trott) #35719
  • [042d4dd71c] - tools: bump cpplint to 1.5.0 (Rich Trott) #35719

New in Node.js 14.15.0 LTS (Nov 5, 2020)

  • Notable Changes:
  • This release marks the transition of Node.js 14.x into Long Term Support (LTS) with the codename 'Fermium'. The 14.x release line now moves into "Active LTS" and will remain so until October 2021. After that time, it will move into "Maintenance" until end of life in April 2023.
  • Commits:
  • [5b7a08c902] - doc: add missing link in Node.js 14 Changelog (Antoine du Hamel) #35782
  • [90a5d59824] - doc: fix Node.js 14.x changelogs (Richard Lau) #35756
  • [7f788573b3] - Revert "test: mark test-webcrypto-encrypt-decrypt-aes flaky" (Myles Borins) #35666

New in Node.js 15.0.1 Current (Oct 22, 2020)

  • Notable changes:
  • crypto: fix regression on randomFillSync (James M Snell) #35723
  • This fixes issue https://github.com/nodejs/node/issues/35722.
  • deps: upgrade npm to 7.0.3 (Ruy Adorno) #35724
  • doc: add release key for Danielle Adams (Danielle Adams) #35545
  • Commits:
  • [c509485c19] - build: use make functions instead of echo (Antoine du Hamel) #35707
  • [f5acc2d030] - crypto: fix regression on randomFillSync (James M Snell) #35723
  • [595c8df48d] - deps: upgrade npm to 7.0.3 (Ruy Adorno) #35724
  • [69e7f20f2d] - deps: V8: set correct V8 version patch number (Michaël Zasso) #35732
  • [b78294dc00] - doc: use kbd element in readline doc (Rich Trott) #35698
  • [1efa87082b] - doc: add release key for Danielle Adams (Danielle Adams) #35545
  • [6e91d644e3] - doc: use kbd element in os doc (Rich Trott) #35656
  • [5a48a7b6f8] - doc: add a statement in the documentation. (Pooja D.P) #35585
  • [6a7a61be7c] - src: mark/pop OpenSSL errors in NewRootCertStore (Daniel Bevenius) #35514
  • [d54edece99] - test: refactor test-crypto-pbkdf2 (Tobias Nießen) #35693

New in Node.js 15.0.0 Current (Oct 22, 2020)

  • Notable Changes:
  • Deprecations and Removals:
  • [a11788736a] - (SEMVER-MAJOR) build: remove --build-v8-with-gn configure option (Yang Guo) #27576
  • [89428c7a2d] - (SEMVER-MAJOR) build: drop support for VS2017 (Michaël Zasso) #33694
  • [c25cf34ac1] - (SEMVER-MAJOR) doc: move DEP0018 to End-of-Life (Rich Trott) #35316
  • [2002d90abd] - (SEMVER-MAJOR) fs: deprecation warning on recursive rmdir (Ian Sutherland) #35562
  • [eee522ac29] - (SEMVER-MAJOR) lib: add EventTarget-related browser globals (Anna Henningsen) #35496
  • [41796ebd30] - (SEMVER-MAJOR) net: remove long deprecated server.connections property (James M Snell) #33647
  • [a416692e93] - (SEMVER-MAJOR) repl: remove deprecated repl.memory function (Ruben Bridgewater) #33286
  • [f217b2dfb0] - (SEMVER-MAJOR) repl: remove deprecated repl.turnOffEditorMode() function (Ruben Bridgewater) #33286
  • [a1bcad8dc0] - (SEMVER-MAJOR) repl: remove deprecated repl.parseREPLKeyword() function (Ruben Bridgewater) #33286
  • [4ace010b53] - (SEMVER-MAJOR) repl: remove deprecated bufferedCommand property (Ruben Bridgewater) #33286
  • [37524307fe] - (SEMVER-MAJOR) repl: remove deprecated .rli (Ruben Bridgewater) #33286
  • [a85ce885bd] - (SEMVER-MAJOR) src: remove deprecated node debug command (James M Snell) #33648
  • [a8904e8eee] - (SEMVER-MAJOR) timers: introduce timers/promises (James M Snell) #33950
  • [1211b9a72f] - (SEMVER-MAJOR) util: change default value of maxStringLength to 10000 (unknown) #32744
  • [ca8f3ef2e5] - (SEMVER-MAJOR) wasi: drop --experimental-wasm-bigint requirement (Colin Ihrig) #35415
  • npm 7 - #35631:
  • Node.js 15 comes with a new major release of npm, npm 7. npm 7 comes with many new features - including npm workspaces and a new package-lock.json format. npm 7 also includes yarn.lock file support. One of the big changes in npm 7 is that peer dependencies are now installed by default.
  • Throw On Unhandled Rejections - #33021:
  • As of Node.js 15, the default mode for unhandledRejection is changed to throw (from warn). In throw mode, if an unhandledRejection hook is not set, the unhandledRejection is raised as an uncaught exception. Users that have an unhandledRejection hook should see no change in behavior, and it’s still possible to switch modes using the --unhandled-rejections=mode process flag.
  • QUIC - #32379:
  • Node.js 15 comes with experimental support QUIC, which can be enabled by compiling Node.js with the --experimental-quic configuration flag. The Node.js QUIC implementation is exposed by the core net module.
  • V8 8.6 - #35415:
  • The V8 JavaScript engine has been updated to V8 8.6 (V8 8.4 is the latest available in Node.js 14). Along with performance tweaks and improvements the V8 update also brings the following language features:
  • Promise.any() (from V8 8.5)
  • AggregateError (from V8 8.5)
  • String.prototype.replaceAll() (from V8 8.5)
  • Logical assignment operators &&=, ||=, and ??= (from V8 8.5)
  • Other Notable Changes:
  • [50228cf6ff] - (SEMVER-MAJOR) assert: add assert/strict alias module (ExE Boss) #34001
  • [039cd00a9a] - (SEMVER-MAJOR) dns: add dns/promises alias (shisama) #32953
  • [54b36e401d] - (SEMVER-MAJOR) fs: reimplement read and write streams using stream.construct (Robert Nagy) #29656
  • [f5c0e282cc] - (SEMVER-MAJOR) http2: allow Host in HTTP/2 requests (Alba Mendez) #34664
  • [eee522ac29] - (SEMVER-MAJOR) lib: add EventTarget-related browser globals (Anna Henningsen) #35496
  • [a8b26d72c5] - (SEMVER-MAJOR) lib: unflag AbortController (James M Snell) #33527
  • [74ca960aac] - (SEMVER-MAJOR) lib: initial experimental AbortController implementation (James M Snell) #33527
  • [efefdd668d] - (SEMVER-MAJOR) net: autoDestroy Socket (Robert Nagy) #31806
  • [0fb91acedf] - (SEMVER-MAJOR) src: disallow JS execution inside FreeEnvironment (Anna Henningsen) #33874
  • [21782277c2] - (SEMVER-MAJOR) src: use node:moduleName as builtin module filename (Michaël Zasso) #35498
  • [fb8cc72e73] - (SEMVER-MAJOR) stream: construct (Robert Nagy) #29656
  • [705d888387] - (SEMVER-MAJOR) worker: make MessageEvent class more Web-compatible (Anna Henningsen) #35496
  • Semver-Major Commits:
  • [50228cf6ff] - (SEMVER-MAJOR) assert: add assert/strict alias module (ExE Boss) #34001
  • [d701247165] - (SEMVER-MAJOR) build: reset embedder string to "-node.0" (Michaël Zasso) #35415
  • [a11788736a] - (SEMVER-MAJOR) build: remove --build-v8-with-gn configure option (Yang Guo) #27576
  • [89428c7a2d] - (SEMVER-MAJOR) build: drop support for VS2017 (Michaël Zasso) #33694
  • [dae283d96f] - (SEMVER-MAJOR) crypto: refactoring internals, add WebCrypto (James M Snell) #35093
  • [ba77dc8597] - (SEMVER-MAJOR) crypto: move node_crypto files to src/crypto (James M Snell) #35093
  • [9378070da0] - (SEMVER-MAJOR) deps: V8: cherry-pick d76abfed3512 (Michaël Zasso) #35415
  • [efee8341ad] - (SEMVER-MAJOR) deps: V8: cherry-pick 717543bbf0ef (Michaël Zasso) #35415
  • [b006fa8730] - (SEMVER-MAJOR) deps: V8: cherry-pick 6be2f6e26e8d (Michaël Zasso) #35415
  • [3c23af4cb7] - (SEMVER-MAJOR) deps: fix V8 build issue with inline methods (Jiawen Geng) #35415
  • [b803b3f48b] - (SEMVER-MAJOR) deps: fix platform-embedded-file-writer-win for ARM64 (Michaël Zasso) #35415
  • [47cb9f14e8] - (SEMVER-MAJOR) deps: update V8 postmortem metadata script (Colin Ihrig) #35415
  • [a1d639ba5d] - (SEMVER-MAJOR) deps: update V8 to 8.6.395 (Michaël Zasso) #35415
  • [3ddcad55fb] - (SEMVER-MAJOR) deps: upgrade npm to 7.0.0 (Myles Borins) #35631
  • [2e54524955] - (SEMVER-MAJOR) deps: update npm to 7.0.0-rc.3 (Myles Borins) #35474
  • [e983b1cece] - (SEMVER-MAJOR) deps: V8: cherry-pick 0d6debcc5f08 (Gus Caplan) #33600
  • [039cd00a9a] - (SEMVER-MAJOR) dns: add dns/promises alias (shisama) #32953
  • [c25cf34ac1] - (SEMVER-MAJOR) doc: move DEP0018 to End-of-Life (Rich Trott) #35316
  • [8bf37ee496] - (SEMVER-MAJOR) doc: update support macos version for 15.x (Ash Cripps) #35022
  • [2002d90abd] - (SEMVER-MAJOR) fs: deprecation warning on recursive rmdir (Ian Sutherland) #35562
  • [54b36e401d] - (SEMVER-MAJOR) fs: reimplement read and write streams using stream.construct (Robert Nagy) #29656
  • [32b641e528] - (SEMVER-MAJOR) http: fixed socket.setEncoding fatal error (iskore) #33405
  • [8a6fab02ad] - (SEMVER-MAJOR) http: emit 'error' on aborted server request (Robert Nagy) #33172
  • [d005f490a8] - (SEMVER-MAJOR) http: cleanup end argument handling (Robert Nagy) #31818
  • [f5c0e282cc] - (SEMVER-MAJOR) http2: allow Host in HTTP/2 requests (Alba Mendez) #34664
  • [1e4187fcf4] - (SEMVER-MAJOR) http2: add invalidheaders test (Pranshu Srivastava) #33161
  • [d79c330186] - (SEMVER-MAJOR) http2: refactor state code validation for the http2Stream class (rickyes) #33535
  • [df31f71f1e] - (SEMVER-MAJOR) http2: header field valid checks (Pranshu Srivastava) #33193
  • [1428db8a1f] - (SEMVER-MAJOR) lib: refactor Socket._getpeername and Socket._getsockname (himself65) #32969
  • [eee522ac29] - (SEMVER-MAJOR) lib: add EventTarget-related browser globals (Anna Henningsen) #35496
  • [c66e6471e7] - (SEMVER-MAJOR) lib: remove ERR_INVALID_OPT_VALUE and ERR_INVALID_OPT_VALUE_ENCODING (Denys Otrishko) #34682
  • [b546a2b469] - (SEMVER-MAJOR) lib: handle one of args case in ERR_MISSING_ARGS (Denys Otrishko) #34022
  • [a86a295fd7] - (SEMVER-MAJOR) lib: remove NodeError from the prototype of errors with code (Michaël Zasso) #33857
  • [a8b26d72c5] - (SEMVER-MAJOR) lib: unflag AbortController (James M Snell) #33527
  • [74ca960aac] - (SEMVER-MAJOR) lib: initial experimental AbortController implementation (James M Snell) #33527
  • [78ca61e2cf] - (SEMVER-MAJOR) net: check args in net.connect() and socket.connect() calls (Denys Otrishko) #34022
  • [41796ebd30] - (SEMVER-MAJOR) net: remove long deprecated server.connections property (James M Snell) #33647
  • [efefdd668d] - (SEMVER-MAJOR) net: autoDestroy Socket (Robert Nagy) #31806
  • [6cfba9f7f6] - (SEMVER-MAJOR) process: update v8 fast api calls usage (Maya Lekova) #35415
  • [3b10f7f933] - (SEMVER-MAJOR) process: change default --unhandled-rejections=throw (Dan Fabulich) #33021
  • [d8eef83757] - (SEMVER-MAJOR) process: use v8 fast api calls for hrtime (Gus Caplan) #33600
  • [49745cdef0] - (SEMVER-MAJOR) process: delay throwing an error using throwDeprecation (Ruben Bridgewater) #32312
  • [a416692e93] - (SEMVER-MAJOR) repl: remove deprecated repl.memory function (Ruben Bridgewater) #33286
  • [f217b2dfb0] - (SEMVER-MAJOR) repl: remove deprecated repl.turnOffEditorMode() function (Ruben Bridgewater) #33286
  • [a1bcad8dc0] - (SEMVER-MAJOR) repl: remove deprecated repl.parseREPLKeyword() function (Ruben Bridgewater) #33286
  • [4ace010b53] - (SEMVER-MAJOR) repl: remove deprecated bufferedCommand property (Ruben Bridgewater) #33286
  • [37524307fe] - (SEMVER-MAJOR) repl: remove deprecated .rli (Ruben Bridgewater) #33286
  • [b65e5aeaa7] - (SEMVER-MAJOR) src: implement NodePlatform::PostJob (Clemens Backes) #35415
  • [b1e8e0e604] - (SEMVER-MAJOR) src: update NODE_MODULE_VERSION to 88 (Michaël Zasso) #35415
  • [eeb6b473fd] - (SEMVER-MAJOR) src: error reporting on CPUUsage (Yash Ladha) #34762
  • [21782277c2] - (SEMVER-MAJOR) src: use node:moduleName as builtin module filename (Michaël Zasso) #35498
  • [05771279af] - (SEMVER-MAJOR) src: enable wasm trap handler on windows (Gus Caplan) #35033
  • [b7cf823410] - (SEMVER-MAJOR) src: update NODE_MODULE_VERSION to 86 (Michaël Zasso) #33579
  • [0fb91acedf] - (SEMVER-MAJOR) src: disallow JS execution inside FreeEnvironment (Anna Henningsen) #33874
  • [53fb2b6b41] - (SEMVER-MAJOR) src: remove _third_party_main support (Anna Henningsen) #33971
  • [a85ce885bd] - (SEMVER-MAJOR) src: remove deprecated node debug command (James M Snell) #33648
  • [ac3714637e] - (SEMVER-MAJOR) src: remove unused CancelPendingDelayedTasks (Anna Henningsen) #32859
  • [a65218f5e8] - (SEMVER-MAJOR) stream: try to wait for flush to complete before 'finish' (Robert Nagy) #34314
  • [4e3f6f355b] - (SEMVER-MAJOR) stream: cleanup and fix Readable.wrap (Robert Nagy) #34204
  • [527e2147af] - (SEMVER-MAJOR) stream: add promises version to utility functions (rickyes) #33991
  • [c7e55c6b72] - (SEMVER-MAJOR) stream: fix writable.end callback behavior (Robert Nagy) #34101
  • [fb8cc72e73] - (SEMVER-MAJOR) stream: construct (Robert Nagy) #29656
  • [4bc7025309] - (SEMVER-MAJOR) stream: write should throw on unknown encoding (Robert Nagy) #33075
  • [ea87809bb6] - (SEMVER-MAJOR) stream: fix _final and 'prefinish' timing (Robert Nagy) #32780
  • [0bd5595509] - (SEMVER-MAJOR) stream: simplify Transform stream implementation (Robert Nagy) #32763
  • [8f86986985] - (SEMVER-MAJOR) stream: use callback to properly propagate error (Robert Nagy) #29179
  • [94dd7b9f94] - (SEMVER-MAJOR) test: update tests after increasing typed array size to 4GB (Kim-Anh Tran) #35415
  • [d9e98df01b] - (SEMVER-MAJOR) test: fix tests for npm 7.0.0 (Myles Borins) #35631
  • [c87641aa97] - (SEMVER-MAJOR) test: fix test suite to work with npm 7 (Myles Borins) #35474
  • [eb9d7a437e] - (SEMVER-MAJOR) test: update WPT harness and tests (Michaël Zasso) #33770
  • [a8904e8eee] - (SEMVER-MAJOR) timers: introduce timers/promises (James M Snell) #33950
  • [c55f661551] - (SEMVER-MAJOR) tools: disable x86 safe exception handlers in V8 (Michaël Zasso) #35415
  • [80e8aec4a5] - (SEMVER-MAJOR) tools: update V8 gypfiles for 8.6 (Ujjwal Sharma) #35415
  • [faeb9607c6] - (SEMVER-MAJOR) tools: update V8 gypfiles for 8.5 (Ujjwal Sharma) #35415
  • [bb62f4ad9e] - (SEMVER-MAJOR) url: file URL path normalization (Daijiro Wachi) #35477
  • [69ef4c2375] - (SEMVER-MAJOR) url: verify domain is not empty after "ToASCII" (Michaël Zasso) #33770
  • [4831278a16] - (SEMVER-MAJOR) url: remove U+0000 case in the fragment state (Michaël Zasso) #33770
  • [0d08d5ae7c] - (SEMVER-MAJOR) url: remove gopher from special schemes (Michaël Zasso) #33325
  • [9be51ee9a1] - (SEMVER-MAJOR) url: forbid lt and gt in url host code point (Yash Ladha) #33328
  • [1211b9a72f] - (SEMVER-MAJOR) util: change default value of maxStringLength to 10000 (unknown) #32744
  • [ca8f3ef2e5] - (SEMVER-MAJOR) wasi: drop --experimental-wasm-bigint requirement (Colin Ihrig) #35415
  • [abd8cdfc4e] - (SEMVER-MAJOR) win, child_process: sanitize env variables (Bartosz Sosnowski) #35210
  • [705d888387] - (SEMVER-MAJOR) worker: make MessageEvent class more Web-compatible (Anna Henningsen) #35496
  • [7603c7e50c] - (SEMVER-MAJOR) worker: set trackUnmanagedFds to true by default (Anna Henningsen) #34394
  • [5ef5116311] - (SEMVER-MAJOR) worker: rename error code to be more accurate (Anna Henningsen) #33872
  • Semver-Minor Commits:
  • [1d5fa88eb8] - (SEMVER-MINOR) cli: add --node-memory-debug option (Anna Henningsen) #35537
  • [095be6a01f] - (SEMVER-MINOR) crypto: add getCipherInfo method (James M Snell) #35368
  • [df1023bb22] - (SEMVER-MINOR) events: allow use of AbortController with on (James M Snell) #34912
  • [883fc779b6] - (SEMVER-MINOR) events: allow use of AbortController with once (James M Snell) #34911
  • [e876c0c308] - (SEMVER-MINOR) http2: add support for sensitive headers (Anna Henningsen) #34145
  • [6f34498148] - (SEMVER-MINOR) net: add support for resolving DNS CAA records (Danny Sonnenschein) #35466
  • [37a8179673] - (SEMVER-MINOR) net: make blocklist family case insensitive (James M Snell) #34864
  • [1f9b20b637] - (SEMVER-MINOR) net: introduce net.BlockList (James M Snell) #34625
  • [278d38f4cf] - (SEMVER-MINOR) src: add maybe versions of EmitExit and EmitBeforeExit (Anna Henningsen) #35486
  • [2310f679a1] - (SEMVER-MINOR) src: move node_binding to modern THROW_ERR* (James M Snell) #35469
  • [744a284ccc] - (SEMVER-MINOR) stream: support async for stream impl functions (James M Snell) #34416
  • [bfbdc84738] - (SEMVER-MINOR) timers: allow promisified timeouts/immediates to be canceled (James M Snell) #33833
  • [a8971f87d3] - (SEMVER-MINOR) url: support non-special URLs (Daijiro Wachi) #34925
  • Semver-Patch Commits:
  • [d10c59fc60] - benchmark,test: remove output from readable-async-iterator benchmark (Rich Trott) #34411
  • [8a12e9994f] - bootstrap: use file URL instead of relative url (Daijiro Wachi) #35622
  • [f8bde7ce06] - bootstrap: build fast APIs in pre-execution (Joyee Cheung) #32984
  • [b18651bcd2] - build: do not pass mode option to test-v8 command (Michaël Zasso) #35705
  • [bb2945ed6b] - build: add GitHub Action for code coverage (Benjamin Coe) #35653
  • [cfbbeea4a1] - build: use GITHUB_ENV file to set env variables (Michaël Zasso) #35638
  • [8a93b371a3] - build: do not install jq in workflows (Michaël Zasso) #35638
  • [ccbd1d5efa] - build: add quic to github action (gengjiawen) #34336
  • [f4f191bbc2] - build: define NODE_EXPERIMENTAL_QUIC in mkcodecache and node_mksnapshot (Joyee Cheung) #34454
  • [5b2c263ba8] - deps: fix typo in zlib.gyp that break arm-fpu-neon build (lucasg) #35659
  • [5b9593f727] - deps: upgrade npm to 7.0.2 (Myles Borins) #35667
  • [dabc6ddddc] - deps: upgrade npm to 7.0.0-rc.4 (Myles Borins) #35576
  • [757bac6711] - deps: update nghttp3 (James M Snell) #34752
  • [c788be2e6e] - deps: update ngtcp2 (James M Snell) #34752
  • [7816e5f7b9] - deps: fix indenting of sources in ngtcp2.gyp (James M Snell) #34033
  • [f5343d1b40] - deps: re-enable OPENSSL_NO_QUIC guards (James M Snell) #34033
  • [9de95f494e] - deps: temporary fixup for ngtcp2 to build on windows (James M Snell) #34033
  • [ec7ad1d0ec] - deps: cherry-pick akamai/openssl/commit/bf4b08ecfbb7a26ca4b0b9ecaee3b31d18d7bda9 (Tatsuhiro Tsujikawa) #34033
  • [c3d85b7637] - deps: cherry-pick akamai/openssl/commit/a5a08cb8050bb69120e833456e355f482e392456 (Benjamin Kaduk) #34033
  • [bad1a150ea] - deps: cherry-pick akamai/openssl/commit/d5a13ca6e29f3ff85c731770ab0ee2f2487bf8b3 (Benjamin Kaduk) #34033
  • [74cbfd3f36] - deps: cherry-pick akamai/openssl/commit/a6282c566d88db11300c82abc3c84a4e2e9ea568 (Benjamin Kaduk) #34033
  • [8a9763a8ea] - deps: update nghttp3 (James M Snell) #34033
  • [6b27d07779] - deps: update ngtcp2 (James M Snell) #34033
  • [a041723774] - deps: fix indentation for sources in nghttp3.gyp (Daniel Bevenius) #33942
  • [a0cbd676e7] - deps: add defines to nghttp3/ngtcp2 gyp configs (Daniel Bevenius) #33942
  • [bccb514936] - deps: maintaining ngtcp2 and nghttp3 (James M Snell) #32379
  • [834fa8f23f] - deps: add ngtcp2 and nghttp3 (James M Snell) #32379
  • [f96b981528] - deps: details for updating openssl quic support (James M Snell) #32379
  • [98c8498552] - deps: update archs files for OpenSSL-1.1.0 (James M Snell) #32379
  • [2c549e505e] - deps: add support for BoringSSL QUIC APIs (Todd Short) #32379
  • [1103b15af6] - doc: fix YAML lint error on master (Rich Trott) #35709
  • [7798e59e98] - doc: upgrade stability status of report API (Gireesh Punathil) #35654
  • [ce03a182cf] - doc: clarify experimental API elements in vm.md (Rich Trott) #35594
  • [89defff3b9] - doc: correct order of metadata for deprecation (Rich Trott) #35668
  • [ee85eb9f8a] - doc: importModuleDynamically gets Script, not Module (Simen Bekkhus) #35593
  • [9e5a27a9d3] - doc: fix EventEmitter examples (Sourav Shaw) #33513
  • [2c2c87e291] - doc: fix stability indicator in webcrypto doc (Rich Trott) #35672
  • [f59d4e05a2] - doc: add example code for process.getgroups() (Pooja D.P) #35625
  • [8a3808dc37] - doc: use kbd element in tty doc (Rich Trott) #35613
  • [4079bfd462] - doc: Remove reference to io.js (Hussaina Begum Nandyala) #35618
  • [e6d5af3c95] - doc: fix typos in quic.md (Luigi Pinca) #35444
  • [524123fbf0] - doc: update releaser in v12.18.4 changelog (Beth Griggs) #35217
  • [ccdd1bd82a] - doc: fix incorrectly marked Buffer in quic.md (Rich Trott) #35075
  • [cc754f2985] - doc: make AbortSignal text consistent in events.md (Rich Trott) #35005
  • [f9c362ff6c] - doc: revise AbortSignal text and example using events.once() (Rich Trott) #35005
  • [7aeff6b8c8] - doc: claim ABI version for Electron v12 (Shelley Vohr) #34816
  • [7a1220a1d7] - doc: fix headings in quic.md (Anna Henningsen) #34717
  • [d5c7aec3cb] - doc: use _can_ to describe actions in quic.md (Rich Trott) #34613
  • [319c275b26] - doc: use _can_ to describe actions in quic.md (Rich Trott) #34613
  • [2c30920886] - doc: use sentence-case in quic.md headers (Rich Trott) #34453
  • [8ada27510d] - doc: add missing backticks in timers.md (vsemozhetbyt) #34030
  • [862d005e60] - doc: make globals Extends usage consistent (Colin Ihrig) #33777
  • [85dbd17bde] - doc: make perf_hooks Extends usage consistent (Colin Ihrig) #33777
  • [2e49010bc8] - doc: make events Extends usage consistent (Colin Ihrig) #33777
  • [680fb8fc62] - doc: fix deprecation "End-of-Life" capitalization (Colin Ihrig) #33691
  • [458677f5ef] - errors: print original exception context (Benjamin Coe) #33491
  • [b1831fed3a] - events: simplify event target agnostic logic in on and once (Denys Otrishko) #34997
  • [7f25fe8b67] - fs: remove unused assignment (Rich Trott) #35642
  • [2c4f30deea] - fs: fix when path is buffer on fs.symlinkSync (himself65) #34540
  • [db0e991d52] - fs: remove custom Buffer pool for streams (Robert Nagy) #33981
  • [51a2df4439] - fs: document why isPerformingIO is required (Robert Nagy) #33982
  • [999e7d7b44] - gyp,build: consistent shared library location (Rod Vagg) #35635
  • [30cc54275d] - http: don't emit error after close (Robert Nagy) #33654
  • [ddff2b2b22] - lib: honor setUncaughtExceptionCaptureCallback (Gireesh Punathil) #35595
  • [a8806535d9] - lib: use Object static properties from primordials (Michaël Zasso) #35380
  • [11f1ad939f] - module: only try to enrich CJS syntax errors (Michaël Zasso) #35691
  • [aaf225a2a0] - module: add setter for module.parent (Antoine du Hamel) #35522
  • [109a296e2a] - quic: fix typo in code comment (Ikko Ashimine) #35308
  • [186230527b] - quic: fix error message on invalid connection ID (Rich Trott) #35026
  • [e5116b304f] - quic: remove unused function arguments (Rich Trott) #35010
  • [449f73e05f] - quic: remove undefined variable (Rich Trott) #35007
  • [44e6a6af67] - quic: use qlog fin flag (James M Snell) #34752
  • [2a80737278] - quic: fixups after ngtcp2/nghttp3 update (James M Snell) #34752
  • [c855c3e8ca] - quic: use net.BlockList for limiting access to a QuicSocket (James M Snell) #34741
  • [bfc35354c1] - quic: consolidate stats collecting in QuicSession (James M Snell) #34741
  • [94aa291348] - quic: clarify TODO statements (James M Snell) #34741
  • [19e712b9b2] - quic: resolve InitializeSecureContext TODO comment (James M Snell) #34741
  • [240592228b] - quic: fixup session ticket app data todo comments (James M Snell) #34741
  • [c17eaa3f3f] - quic: add natRebinding argument to docs (James M Snell) #34669
  • [442968c92a] - quic: check setSocket natRebinding argument, extend test (James M Snell) #34669
  • [10d5047a4f] - quic: fixup set_socket, fix skipped test (James M Snell) #34669
  • [344c5e4e50] - quic: limit push check to http/3 (James M Snell) #34655
  • [34165f03aa] - quic: resolve some minor TODOs (James M Snell) #34655
  • [1e6e5c3ef3] - quic: resolve minor TODO in QuicSocket (James M Snell) #34655
  • [ba5c64bf45] - quic: use AbortController with correct name/message (Anna Henningsen) #34763
  • [a7477704c4] - quic: prefer modernize-make-unique (gengjiawen) #34692
  • [5b6cd6fa1a] - quic: use the SocketAddressLRU to track validation status (James M Snell) #34618
  • [f75e69a94b] - quic: use SocketAddressLRU to track known SocketAddress info (James M Snell) #34618
  • [6b0b33cd4c] - quic: cleanup some outstanding todo items (James M Snell) #34618
  • [6e65f26b73] - quic: use QuicCallbackScope consistently for QuicSession (James M Snell) #34541
  • [d96083bad5] - quic: introduce QuicCallbackScope (James M Snell) #34541
  • [4b0275ab87] - quic: refactor clientHello (James M Snell) #34541
  • [a97b5f9c6a] - quic: use OpenSSL built-in cert and hostname validation (James M Snell) #34533
  • [7a5fbafe96] - quic: fix build for macOS (gengjiawen) #34336
  • [1f94b89309] - quic: refactor ocsp to use async function rather than event/callback (James M Snell) #34498
  • [06664298fa] - quic: remove no-longer relevant TODO statements (James M Snell) #34498
  • [2fb92f4cc6] - quic: remove extraneous unused debug property (James M Snell) #34498
  • [b06fe33de1] - quic: use async _construct for QuicStream (James M Snell) #34351
  • [8bd61d4c38] - quic: documentation updates (James M Snell) #34351
  • [086c916997] - quic: extensive refactoring of QuicStream lifecycle (James M Snell) #34351
  • [cf28f8a7dd] - quic: gitignore qlog files (James M Snell) #34351
  • [83bf0d7e8c] - quic: remove unneeded quicstream.aborted and fixup docs (James M Snell) #34351
  • [a65296db2c] - quic: remove stream pending code (James M Snell) #34351
  • [da20287e1a] - quic: simplify QuicStream construction logic (James M Snell) #34351
  • [6e30fe7a7f] - quic: convert openStream to Promise (James M Snell) #34351
  • [89453cfc08] - quic: fixup quic.md (James M Snell) #34283
  • [4523d4a813] - quic: fixup closing/draining period timing (James M Snell) #34283
  • [ed4882241c] - quic: properly pass readable/writable constructor options (James M Snell) #34283
  • [57c1129508] - quic: implement QuicSession close as promise (James M Snell) #34283
  • [8e5c5b16ab] - quic: cleanup QuicClientSession constructor (James M Snell) #34283
  • [fe4e7e4598] - quic: use promisified dns lookup (James M Snell) #34283
  • [346aeaf874] - quic: eliminate "ready"/"not ready" states for QuicSession (James M Snell) #34283
  • [6665dda9f6] - quic: implement QuicSocket Promise API, part 2 (James M Snell) #34283
  • [79c0e892dd] - quic: implement QuicSocket Promise API, part 1 (James M Snell) #34283
  • [53b12f0c7b] - quic: implement QuicEndpoint Promise API (James M Snell) #34283
  • [16b32eae3e] - quic: handle unhandled rejections on QuicSession (James M Snell) #34283
  • [e5d963e24d] - quic: fixup kEndpointClose (James M Snell) #34283
  • [9f552df5b4] - quic: fix endpointClose error handling, document (James M Snell) #34283
  • [b80108c033] - quic: restrict addEndpoint to before QuicSocket bind (James M Snell) #34283
  • [81c01bbdba] - quic: use a getter for stream options (James M Snell) #34283
  • [b8945ba2ab] - quic: clarifying code comments (James M Snell) #34283
  • [429ab1dce6] - quic: minor reduction in code duplication (James M Snell) #34283
  • [aafdc2fcad] - quic: replace ipv6Only option with 'udp6-only' type (James M Snell) #34283
  • [fbc38ee134] - quic: clear clang warning (gengjiawen) #34335
  • [c176d5fac2] - quic: set destroyed at timestamps for duration calculation (James M Snell) #34262
  • [48a349efd9] - quic: use Number instead of BigInt for more stats (James M Snell) #34262
  • [5e769b2eaf] - quic: use less specific error codes (James M Snell) #34262
  • [26493c02a2] - quic: remove no longer valid CHECK (James M Snell) #34247
  • [458d243f20] - quic: proper custom inspect for QuicStream (James M Snell) #34247
  • [0860b11655] - quic: proper custom inspect for QuicSession (James M Snell) #34247
  • [b047930d76] - quic: proper custom inspect for QuicSocket (James M Snell) #34247
  • [511f8c1138] - quic: proper custom inspect for QuicEndpoint (James M Snell) #34247
  • [fe11f6bf7c] - quic: cleanup QuicSocketFlags, used shared state struct (James M Snell) #34247
  • [d08e99de24] - quic: use getter/setter for stateless reset toggle (James M Snell) #34247
  • [f2753c7695] - quic: unref timers again (Anna Henningsen) #34247
  • [71236097d0] - quic: use Number() instead of bigint for QuicSocket stats (James M Snell) #34247
  • [94372b124a] - quic: refactor/improve/document QuicSocket listening event (James M Snell) #34247
  • [afc9390ae5] - quic: refactor/improve QuicSocket ready event handling (James M Snell) #34247
  • [e3813261b8] - quic: add tests confirming error handling for QuicSocket close event (James M Snell) #34247
  • [cc89aac5f7] - quic: refactor/improve error handling for busy event (James M Snell) #34247
  • [edc71ef008] - quic: handle errors thrown / rejections in the session event (James M Snell) #34247
  • [bcde849be9] - quic: remove unnecessary bool conversion (James M Snell) #34247
  • [c535131627] - quic: additional minor cleanups in node_quic_session.h (James M Snell) #34247
  • [0f97d6066a] - quic: use TimerWrap for idle and retransmit timers (James M Snell) #34186
  • [1b1e985478] - quic: add missing memory tracker fields (James M Snell) #34160
  • [5a87e9b0a5] - quic: cleanup timers if they haven't been already (James M Snell) #34160
  • [3837d9cf1f] - quic: fixup lint issues (James M Snell) #34160
  • [7b062ca015] - quic: refactor qlog handling (James M Snell) #34160
  • [e4d369e96e] - quic: remove onSessionDestroy callback (James M Snell) #34160
  • [3acdd6aac7] - quic: refactor QuicSession shared state to use AliasedStruct (James M Snell) #34160
  • [f9c2245fb5] - quic: refactor QuicSession close/destroy flow (James M Snell) #34160
  • [f7510ca439] - quic: additional cleanups on the c++ side (James M Snell) #34160
  • [b5bf5bb20f] - quic: refactor native object flags for better readability (James M Snell) #34160
  • [b1750a4d53] - quic: continued refactoring for quic_stream/quic_session (James M Snell) #34160
  • [31d6d9d0f7] - quic: reduce duplication of code (James M Snell) #34137
  • [b5fe31ef19] - quic: avoid using private JS fields for now (James M Snell) #34137
  • [2afc1abd05] - quic: fixup constant exports, export all protocol error codes (James M Snell) #34137
  • [b1fab88ff0] - quic: remove unused callback function (James M Snell) #34137
  • [3bae2d5073] - quic: consolidate onSessionClose and onSessionSilentClose (James M Snell) #34137
  • [def8e76999] - quic: fixup set_final_size (James M Snell) #34137
  • [d6034186d6] - quic: cleanups for QuicSocket (James M Snell) #34137
  • [73a51bb9dc] - quic: cleanups in JS API (James M Snell) #34137
  • [204f20f2d1] - quic: minor cleanups in quic_buffer (James M Snell) #34087
  • [68634d2592] - quic: remove redundant cast (gengjiawen) #34086
  • [213cac0b94] - quic: temporarily skip quic-ipv6only test (James M Snell) #34033
  • [99f7c4bb5e] - quic: possibly resolve flaky assertion failure in ipv6only test (James M Snell) #34033
  • [2a5922e483] - quic: temporarily disable packetloss tests (James M Snell) #34033
  • [86e67aaa69] - quic: updates to implement for h3-29 (James M Snell) #34033
  • [adf14e2617] - quic: fix lint error in node_quic_crypto (Daniel Bevenius) #34019
  • [9f2e00fb99] - quic: temporarily disable preferred address tests (James M Snell) #33934
  • [0e7c8bdc0c] - quic: return 0 from SSL_CTX_sess_set_new_cb callback (Anna Henningsen) #33931
  • [c7d859e756] - quic: refactor and improve ipv6Only (James M Snell) #33935
  • [1b7434dfc0] - quic: set up FunctionTemplates more cleanly (Anna Henningsen) #33968
  • [8ef86a920c] - quic: fix clang warning (gengjiawen) #33963
  • [013cd1ac6f] - quic: use Check instead of FromJust in node_quic.cc (Daniel Bevenius) #33937
  • [09330fc155] - quic: fix clang-tidy performance-faster-string-find issue (gengjiawen) #33975
  • [9743624c0b] - quic: fix typo in comments (gengjiawen) #33975
  • [88ef15812c] - quic: remove unused string include http3_application (Daniel Bevenius) #33926
  • [1bd88a3ac6] - quic: fix up node_quic_stream includes (Daniel Bevenius) #33921
  • [d7d79f2163] - quic: avoid memory fragmentation issue (James M Snell) #33912
  • [16116f5f5f] - quic: remove noop code (Robert Nagy) #33914
  • [272b46e04d] - quic: skip test-quic-preferred-address-ipv6.js when no ipv6 (James M Snell) #33919
  • [4b70f95d64] - quic: use Check instead of FromJust in QuicStream (Daniel Bevenius) #33909
  • [133a97f60d] - quic: always copy stateless reset token (Anna Henningsen) #33917
  • [14d012ef96] - quic: fix minor linting issue (James M Snell) #33913
  • [55360443ce] - quic: initial QUIC implementation (James M Snell) #32379
  • [a12a2d892f] - repl: update deprecation codes (Antoine du HAMEL) #33430
  • [2b3acc44f0] - src: large pages support in illumos/solaris systems (David Carlier) #34320
  • [84a7880749] - src: minor cleanup and simplification of crypto::Hash (James M Snell) #35651
  • [bfc906906f] - src: combine TLSWrap/SSLWrap (James M Snell) #35552
  • [9fd6122659] - src: add embedding helpers to reduce boilerplate code (Anna Henningsen) #35597
  • [f7ed5f4ae3] - src: remove toLocalChecked in crypto_context (James M Snell) #35509
  • [17d5d94921] - src: replace more toLocalCheckeds in crypto_* (James M Snell) #35509
  • [83eaaf9731] - src: remove unused AsyncWrapObject (James M Snell) #35511
  • [ee5f849fda] - src: fix compiler warning in env.cc (Anna Henningsen) #35547
  • [40364b181d] - src: add check against non-weak BaseObjects at process exit (Anna Henningsen) #35490
  • [bc0c094b74] - src: unset NODE_VERSION_IS_RELEASE from master (Antoine du Hamel) #35531
  • [fdf0a84e82] - src: move all base64.h inline methods into -inl.h header file (Anna Henningsen) #35432
  • [ff4cf817a3] - src: create helper for reading Uint32BE (Juan José Arboleda) #34944
  • [c6e1edcc28] - src: add Update(const sockaddr*) variant (James M Snell) #34752
  • [1c14810edc] - src: allow instances of net.BlockList to be created internally (James M Snell) #34741
  • [6d1f0aed52] - src: add SocketAddressLRU Utility (James M Snell) #34618
  • [feb93c4e84] - src: guard against nullptr deref in TimerWrapHandle::Stop (Anna Henningsen) #34460
  • [7a447bcd54] - src: snapshot node (Joyee Cheung) #32984
  • [c943cb4809] - src: reset zero fill toggle at pre-execution (Joyee Cheung) #32984
  • [0b8ae5f2cd] - src: snapshot loaders (Joyee Cheung) #32984
  • [7ecb285842] - src: make code cache test work with snapshots (Joyee Cheung) #32984
  • [1faf6f459f] - src: snapshot Environment upon instantiation (Joyee Cheung) #32984
  • [ef9964f4c1] - src: add an ExternalReferenceRegistry class (Joyee Cheung) #32984
  • [404302fff5] - src: split the main context initialization from Environemnt ctor (Joyee Cheung) #32984
  • [874460a1d1] - src: refactor TimerWrap lifetime management (Anna Henningsen) #34252
  • [e2f9dc6e5a] - src: remove user_data from TimerWrap (Anna Henningsen) #34252
  • [e19a251824] - src: replace InspectorTimer with TimerWrap utility (James M Snell) #34186
  • [d4f69002b4] - src: add TimerWrap utility (James M Snell) #34186
  • [52de4cb107] - src: minor updates to FastHrtime (Anna Henningsen) #33851
  • [4678e44bb2] - src: perform bounds checking on error source line (Anna Henningsen) #33645
  • [7232c2a160] - src: use getauxval in node_main.cc (Daniel Bevenius) #33693
  • [6be80e1893] - stream: fix legacy pipe error handling (Robert Nagy) #35257
  • [2b9003b165] - stream: don't destroy on async iterator success (Robert Nagy) #35122
  • [9c62e0e384] - stream: move to internal/streams (Matteo Collina) #35239
  • [e0d3b758a0] - stream: improve Writable.destroy performance (Robert Nagy) #35067
  • [02c4869bee] - stream: fix Duplex._construct race (Robert Nagy) #34456
  • [5aeaff6499] - stream: refactor lazyLoadPromises (rickyes) #34354
  • [a55b77d2d3] - stream: finished on closed OutgoingMessage (Robert Nagy) #34313
  • [e10e292c5e] - stream: remove unused _transformState (Robert Nagy) #33105
  • [f5c11a1a0a] - stream: don't emit finish after close (Robert Nagy) #32933
  • [089d654dd8] - test: fix addons/dlopen-ping-pong for npm 7.0.1 (Myles Borins) #35667
  • [9ce5a03148] - test: add test for listen callback runtime binding (H Adinarayana) #35657
  • [a3731309cc] - test: refactor test-https-host-headers (himself65) #32805
  • [30fb4a015d] - test: add common.mustSucceed (Tobias Nießen) #35086
  • [c143266b55] - test: add a few uncovered url tests from wpt (Daijiro Wachi) #35636
  • [6751b6dc3d] - test: check for AbortController existence (James M Snell) #35616
  • [9f2e19fa30] - test: update url test for win (Daijiro Wachi) #35622
  • [c88d845db3] - test: update wpt status for url (Daijiro Wachi) #35335
  • [589dbf1392] - test: update wpt tests for url (Daijiro Wachi) #35329
  • [46bef7b771] - test: add Actions annotation output (Mary Marchini) #34590
  • [a9c5b873ca] - test: move buffer-as-path symlink test to its own test file (Rich Trott) #34569
  • [31ba9a20bd] - test: run test-benchmark-napi on arm (Rich Trott) #34502
  • [2c4ebe0426] - test: use .then(common.mustCall()) for all async IIFEs (Anna Henningsen) #34363
  • [772fdb0cd3] - test: fix flaky test-fs-stream-construct (Rich Trott) #34203
  • [9b8d317d99] - test: fix flaky test-http2-invalidheaderfield (Rich Trott) #34173
  • [2ccf15b2bf] - test: ensure finish is emitted before destroy (Robert Nagy) #33137
  • [27f3530da3] - test: remove unnecessary eslint-disable comment (Rich Trott) #34000
  • [326a79ebb9] - test: fix typo in test-quic-client-empty-preferred-address.js (gengjiawen) #33976
  • [b0b268f5a2] - test: fix flaky fs-construct test (Robert Nagy) #33625
  • [cbe955c227] - test: add net regression test (Robert Nagy) #32794
  • [5d179cb2ec] - timers: use AbortController with correct name/message (Anna Henningsen) #34763
  • [64d22c320c] - timers: fix multipleResolves in promisified timeouts/immediates (Denys Otrishko) #33949
  • [fbe33aa52e] - tools: bump remark-lint-preset-node to 1.17.1 (Rich Trott) #35668
  • [35a6946193] - tools: update gyp-next to v0.6.2 (Michaël Zasso) #35690
  • [be80faa0c8] - tools: update gyp-next to v0.6.0 (Ujjwal Sharma) #35635
  • [2d83e743d9] - tools: update ESLint to 7.11.0 (Colin Ihrig) #35578
  • [0eca660948] - tools: update ESLint to 7.7.0 (Colin Ihrig) #34783
  • [77b68f9a29] - tools: add linting rule for async IIFEs (Anna Henningsen) #34363
  • [f04538761f] - tools: enable Node.js command line flags in node_mksnapshot (Joyee Cheung) #32984
  • [b0d4eb37c7] - tools: update ESLint to 7.4.0 (Colin Ihrig) #34205
  • [076e4ed2d1] - tools: update ESLint from 7.2.0 to 7.3.1 (Rich Trott) #34000
  • [7afe3af200] - url: fix file url reparse (Daijiro Wachi) #35671

New in Node.js 14.14.0 Current (Oct 16, 2020)

  • Notable Changes:
  • [7e7afc5186] - crypto: update certdata to NSS 3.56 (Shelley Vohr) #35546
  • [8877430530] - doc: add aduh95 to collaborators (Antoine du Hamel) #35542
  • [1610728d7c] - (SEMVER-MINOR) fs: add rm method (Ian Sutherland) #35494
  • [6ff152cc67] - (SEMVER-MINOR) http: allow passing array of key/val into writeHead (Robert Nagy) #35274
  • [93f947af0a] - (SEMVER-MINOR) src: expose v8::Isolate setup callbacks (Shelley Vohr) #35512
  • Commits:
  • [16c17ddd88] - build: fix Commit Queue failure comment (Antoine du Hamel) #35599
  • [b7305284e2] - build: gitHub actions: Python 3.9 and actions/setup-python@v2 (Christian Clauss) #35521
  • [e8fcbc8318] - build: fix landed message for multiple commits in commit-queue (Denys Otrishko) #35226
  • [84c0adefa0] - build: add Commit Queue actions url to failure comment (Denys Otrishko) #35206
  • [9c74d4598d] - build: fuzzer that targets node::LoadEnvironment() (davkor) #34844
  • [f552e5c251] - build: improved release lint error message (Shelley Vohr) #35523
  • [7e7afc5186] - crypto: update certdata to NSS 3.56 (Shelley Vohr) #35546
  • [b8529a7104] - deps: V8: cherry-pick 3176bfd447a9 (Anna Henningsen) #35612
  • [0c877762ea] - doc: document Buffer.concat may use internal pool (Andrey Pechkurov) #35541
  • [6284f0dbc2] - doc: use test username instead of real (Pooja D.P) #35611
  • [78259b6519] - doc: add doc for starting ci job via label (Juan José Arboleda) #35551
  • [41d7500bf9] - doc: fix unit of size argument of readable.read (Tobias Nießen) #35051
  • [00eff4a534] - doc: add missing deprecation number (Benjamin Coe) #35630
  • [9288f9d74b] - doc: harmonize YAML comments (Antoine du Hamel) #35575
  • [16f8298170] - doc: revise description of process.ppid (Pooja D.P) #35589
  • [cad86d40de] - doc: add symlink information for process.execpath (Pooja D.P) #35590
  • [4025fc811d] - doc: add PoojaDurgad as a triager (Pooja D.P) #35153
  • [809cd07968] - doc: document rmdir/recursive deprecation (Benjamin Coe) #35579
  • [9d1b7ac334] - doc: edit fs.md for minor style changes (Rich Trott) #35505
  • [c1bb364105] - doc: run license builder (Myles Borins) #35577
  • [970975b588] - doc: use kbd element in process doc (Rich Trott) #35584
  • [64ebbddb5f] - doc: fixup perf_hooks (Antoine du Hamel) #35527
  • [b074717af7] - doc: remove incorrect synchronous label (Colin Ihrig) #35561
  • [ddf13e0df0] - doc: make fs.rm()'s force docs consistent (Colin Ihrig) #35561
  • [4164477b43] - doc: simplify wording in tracing APIs doc (Pooja D.P) #35556
  • [c865b02397] - doc: improve SIGINT error text (Rich Trott) #35558
  • [7d1cdd411f] - doc: move package.import content higher (Myles Borins) #35535
  • [62755b6230] - doc: harmonize changes list ordering (Antoine du Hamel) #35454
  • [8cacca0f62] - doc: changes description must end with a period (Antoine du Hamel) #35454
  • [28c94ca123] - doc: harmonize version list style in YAML comments (Antoine du Hamel) #35454
  • [b3f15b7d89] - doc: fix missing PR-URLs in YAML comments (Antoine du Hamel) #35454
  • [02bf73e239] - doc: remove outstanding YAML comment (Antoine du Hamel) #35454
  • [a5552468d2] - doc: harmonize YAML comments style in deprecations.md (Antoine du Hamel) #35454
  • [863ba4b7da] - doc: refactor the n-api matrix (Michael Dawson) #35345
  • [85dc84d1bb] - doc: use sentence case for class property (Rich Trott) #35540
  • [01c9c59c85] - doc: add history entry for exports patterns (Antoine du Hamel) #35410
  • [51b988ba0f] - doc: fix deprecation history (Antoine du Hamel) #35455
  • [328c624cdf] - doc: fix util.inspect change history (Antoine du Hamel) #35528
  • [d53cfcd9e7] - doc: improve kbd element rendering (Rich Trott) #35497
  • [8877430530] - doc: add aduh95 to collaborators (Antoine du Hamel) #35542
  • [8cdc59b34c] - doc: fix YAML syntax errors (Antoine du Hamel) #35529
  • [3c90b1a278] - errors: support possible deletion of globalThis.Error (Michaël Zasso) #35499
  • [a3c7f8e576] - fs: rimraf should not recurse on failure (Benjamin Coe) #35566
  • [939f8e8bfa] - fs: throw rm() validation errors (Colin Ihrig) #35602
  • [3a401b8695] - fs: update rm/rmdir validation messages (Colin Ihrig) #35565
  • [937fa5d292] - fs: use validateBoolean() in rm/rmdir validation (Colin Ihrig) #35565
  • [1ad9aca194] - fs: remove extraneous assignments in rmdir() (Colin Ihrig) #35567
  • [1fadcf2163] - fs: simplify validateRmOptions() error handling (Colin Ihrig) #35567
  • [8e3b11adb3] - fs: use errno constant with ERR_FS_EISDIR (Colin Ihrig) #35563
  • [1610728d7c] - (SEMVER-MINOR) fs: add rm method (Ian Sutherland) #35494
  • [6ff152cc67] - (SEMVER-MINOR) http: allow passing array of key/val into writeHead (Robert Nagy) #35274
  • [2f1319967c] - http: make response.setTimeout() work (Ben Noordhuis) #34913
  • [59a2cb5ebb] - inspector: do not hardcode Debugger.CallFrameId in tests (Dmitry Gozman) #35570
  • [cd0b1365ae] - lib: fix readFile flag option typo (Daniil Demidovich) #35292
  • [70927560f6] - lib: change http client path assignment (Yohanan Baruchel) #35508
  • [fa171dbb7f] - lib: use remaining typed arrays from primordials (Michaël Zasso) #35499
  • [7e8fdd399f] - lib: use Number.parseFloat from primordials (Michaël Zasso) #35499
  • [5d727f0308] - lib: use Number.parseInt from primordials (Michaël Zasso) #35499
  • [77f1e1ea57] - lib: use global Error constructors from primordials (Michaël Zasso) #35499
  • [30c6b3e809] - lib: replace String global with primordials (Sebastien Ahkrin) #35397
  • [ebf3900795] - lib: replace Int8Array global with primordials (Sebastien Ahkrin) #35397
  • [d6ba4ecc4d] - lib: replace Int32Array global with primordials (Sebastien Ahkrin) #35397
  • [f544f7a102] - lib: replace Float64Array global with primordials (Sebastien Ahkrin) #35397
  • [b82fc409ca] - module: [email protected] big endian fix (Guy Bedford) #35634
  • [cb2f6ffd3e] - module: use Wasm CJS lexer when available (Guy Bedford) #35583
  • [c995242068] - n-api: support for object freeze/seal (Shelley Vohr) #35359
  • [4d1d3f454d] - src: reduced substring calls (Yash Ladha) #34808
  • [5946b1ee23] - (SEMVER-MINOR) src: move node_contextify to modern THROW_ERR_* (James M Snell) #35470
  • [541082ccd9] - (SEMVER-MINOR) src: move node_process to modern THROW_ERR* (James M Snell) #35472
  • [2e67d650bb] - src: fix freeing unintialized pointer bug in ParseSoaReply (Aastha Gupta) #35502
  • [93f947af0a] - (SEMVER-MINOR) src: expose v8::Isolate setup callbacks (Shelley Vohr) #35512
  • [573410fb69] - (SEMVER-MINOR) stream: multiple stream backports (Robert Nagy) #34887
  • [775af7af4f] - test: add regression test for v8.getHeapSnapshot() crash (Anna Henningsen) #35612
  • [3d21792f86] - test: mark test-webcrypto-encrypt-decrypt-aes flaky (James M Snell) #35587
  • [4a2ba4384b] - test: do not use the same EventEmitter instance (Luigi Pinca) #35560
  • [768529736a] - test: add ALPNProtocols option to clientOptions (Luigi Pinca) #35482
  • [3a77d1e208] - test: adjust comments for upcoming lint rule (Rich Trott) #35485
  • [2992d0b82c] - tools: refloat 7 Node.js patches to cpplint.py (Rich Trott) #35569
  • [a19b320a31] - tools: bump cpplint.py to 1.4.6 (Rich Trott) #35569
  • [bd344108eb] - Revert "tools: add missing uv_setup_argv() calls" (Beth Griggs) #35641
  • [e8434d88fe] - tools,test: enable multiline-comment-style rule in tests (Rich Trott) #35485

New in Node.js 14.13.1 Current (Oct 8, 2020)

  • Notable Changes
  • fs:
  • remove experimental from rmdir recursive (Benjamin Coe) #35171
  • Commits
  • [f36476d9d6] - build: fix CQ after latest ncu release (Mary Marchini) #35468
  • [7dc6b2fac7] - build: add support for section ordering (Gabriel Schulhof) #35272
  • [05e08bdf13] - console: add Symbol.toStringTag property (Leko) #35399
  • [a01154e3fd] - crypto: fix KeyObject garbage collection (Anna Henningsen) #35481
  • [1f15e34dc8] - crypto: set env values in KeyObject Deserialize method (ThakurKarthik) #35416
  • [85062b3aad] - deps: update llhttp to 2.1.3 (Fedor Indutny) #35435
  • [a995dd7a89] - doc: revise introductory child_process text (Rich Trott) #35344
  • [6585b161ba] - doc: improve eventLoopUtilization documentation (Andrey Pechkurov) #35479
  • [f08577c4a6] - doc: update AUTHORS list (Anna Henningsen) #35280
  • [91ef862365] - doc: mention adding YAML for APIs in PR contributing guide (Denys Otrishko) #35459
  • [885840b543] - doc: adopt MDN style for kbd elements (Rich Trott) #35460
  • [1313c8c33a] - doc: update sxa's email address to Red Hat from IBM (Stewart X Addison) #35442
  • [3f95440334] - doc: fix conditional exports flag removal version (Antoine du Hamel) #35428
  • [e40876a5e5] - doc: specify how to detect EOF (Luigi Pinca) #35445
  • [541ce17386] - doc: add entry to console.timeEnd() changes array (Luigi Pinca) #35441
  • [38a5715c1a] - doc: avoid using deprecated connection property (Luigi Pinca) #35439
  • [862b75d35e] - doc: added details around console.timeEnd changes (Yash Ladha) #35027
  • [4dbb3a91fe] - doc: copyedit packages.md (Rich Trott) #35427
  • [368a3ae415] - doc: update contact information for @BethGriggs (Beth Griggs) #35451
  • [a11ddee8b9] - doc: update contact information for richardlau (Richard Lau) #35450
  • [35b62ef0a7] - doc: importable node protocol URLs (Bradley Meck) #35434
  • [95c62a1dca] - doc: copyedit esm.md (Rich Trott) #35414
  • [86f2f83a2f] - doc: implement fancier rendering for keys (Rich Trott) #35400
  • [d6427886b8] - doc: unhide resolver spec (Guy Bedford) #35358
  • [5a730b5def] - doc: sort md references in ASCII order (Antoine du Hamel) #35191
  • [ce789f1ca4] - doc: use .md extension for internal links (Antoine du Hamel) #35191
  • [79e3e5008d] - doc: update example ICU URL (Daijiro Wachi) #35373
  • [998b24ef17] - doc: align to function signature (anlex N) #34930
  • [af360ace37] - doc: make minor edits for consistency (Rich Trott) #35377
  • [53e27b3f67] - doc,esm: add history support info (Antoine du Hamel) #35395
  • [91b820e939] - esm: use "node:" namespace for builtins (Guy Bedford) #35387
  • [541be526c3] - fs: do not throw exception after creating FSReqCallback (Anna Henningsen) #35487
  • [f29451dece] - fs: simplify realpathSync (himself65) #35413
  • [fcbdb0686d] - fs: remove experimental from rmdir recursive (Benjamin Coe) #35171
  • [e4a4f81d19] - fs: use Promise.resolve from primordials (Michaël Zasso) #35379
  • [8e3a81eed9] - http2,tls: store WriteWrap using BaseObjectPtr (Anna Henningsen) #35488
  • [62ddc77a5b] - meta: add nodejs/streams to CODEOWNERS (Matteo Collina) #35411
  • [23022066ec] - meta: add startup team in CODEOWNERS (Joyee Cheung) #35406
  • [0ac5fa703e] - module: update to [email protected] (Guy Bedford) #35501
  • [5c879a97e6] - module: fix builtin reexport tracing (Guy Bedford) #35500
  • [f23a0e250c] - module: refine module type mismatch error cases (Guy Bedford) #35426
  • [3f62f997a2] - src: more idiomatic error pattern in node_wasi (James M Snell) #35493
  • [392c8815fe] - src: use env->ThrowUVException in pipe_wrap (James M Snell) #35493
  • [e09f7f023a] - src: limit GetProcessTitle() result to 1MB (Anna Henningsen) #35492
  • [fbb9dd9ac9] - src: fix aliased buffer import warning in env.h (Yash Ladha) #35436
  • [7bbf8ee256] - src: remove invalid ToLocalChecked in EmitBeforeExit (Anna Henningsen) #35484
  • [5a85d4f2c6] - src: make MakeCallback() check can_call_into_js before getting method (Anna Henningsen) #35424
  • [4aed176b68] - src: document required else block at src/node_platform.cc (Juan José Arboleda) #34688
  • [552ebafd06] - test: update wpt tests for encoding (Daijiro Wachi) #35330
  • [27cd99b217] - test: improve test coverage for eventtarget (Juan José Arboleda) #33733
  • [5790c40c32] - tools: add missing uv_setup_argv() calls (Anna Henningsen) #35491
  • [f499302ac0] - tools: fix typo in error message (Antoine du Hamel) #35417
  • [5f1d792a09] - tools: update gyp to v0.5.0 (Ujjwal Sharma) #32698
  • [ad8fce6e61] - tools: update gyp to v0.4.0 (Ujjwal Sharma) #32698
  • [3e75907dea] - tools: update gyp-next to v0.3.0 (Ujjwal Sharma) #32698
  • [7361a3fd1a] - tools: update gyp-next to v0.2.1 (Ujjwal Sharma) #32698
  • [190d46bdde] - tools: update gyp to 0.2.0 (Ujjwal Sharma) #32698
  • [166f14ac98] - tools: check links in api docs (Antoine du Hamel) #35191
  • [a4e5a3af85] - tools: exclude gyp from markdown link checker (Michaël Zasso) #35423
  • [4d29fb56f2] - tools: add pythonenv to .gitignore (Michaël Zasso) #35389
  • [6e9e5c3381] - tools,doc: fix broken link in module.html (Rich Trott) #35446

New in Node.js 12.19.0 LTS (Oct 8, 2020)

  • Notable Changes:
  • [d065334d42] - (SEMVER-MINOR) module: package "imports" field (Guy Bedford) #34117
  • [b9d0f73c7c] - (SEMVER-MINOR) n-api: create N-API version 7 (Gabriel Schulhof) #35199
  • [53c9975673] - (SEMVER-MINOR) crypto: add randomInt function (Oli Lalonde) #34600
  • [9b53b4ddf2] - deps: upgrade to libuv 1.39.0 (Colin Ihrig) #34915
  • [e9a8f0c127] - doc: add Ricky Zhou to collaborators (rickyes) #34676
  • [260914c432] - doc: add release key for Ruy Adorno (Ruy Adorno) #34628
  • [39f90346f8] - doc: add DerekNonGeneric to collaborators (Derek Lewis) #34602
  • [7ef1f6a71d] - deps: upgrade npm to 6.14.7 (claudiahdz) #34468
  • [437b092eed] - doc: add AshCripps to collaborators (Ash Cripps) #34494
  • [319d570a47] - doc: add HarshithaKP to collaborators (Harshitha K P) #34417
  • [d60b13f2e3] - zlib: switch to lazy init for zlib streams (Andrey Pechkurov) #34048
  • [ae60f50a69] - doc: add rexagod to collaborators (Pranshu Srivastava) #34457
  • [39dea8f70d] - doc: add release key for Richard Lau (Richard Lau) #34397
  • [a2107101be] - doc: add danielleadams to collaborators (Danielle Adams) #34360
  • [c4f0cb65a1] - doc: add sxa as collaborator (Stewart X Addison) #34338
  • [e9a514d13e] - deps: upgrade to libuv 1.38.1 (Colin Ihrig) #34187
  • [a04d76d2ad] - doc: add ruyadorno to collaborators (Ruy Adorno) #34297
  • [c9bd1a7d8a] - (SEMVER-MINOR) module: deprecate module.parent (Antoine du HAMEL) #32217
  • [0a927216cf] - (SEMVER-MAJOR) doc: deprecate process.umask() with no arguments (Colin Ihrig) #32499
  • Commits:
  • [27ceec0bc6] - Forces Powershell to use tls1.2 (Bartosz Sosnowski) #33609
  • [d73b8346b8] - (SEMVER-MINOR) assert: port common.mustCall() to assert (ConorDavenport) #31982
  • [148383fdc3] - async_hooks: avoid GC tracking of AsyncResource in ALS (Gerhard Stoebich) #34653
  • [0a4401713a] - async_hooks: avoid unneeded AsyncResource creation (Gerhard Stoebich) #34616
  • [07968ac456] - async_hooks: improve property descriptors in als.bind (Gerhard Stoebich) #34620
  • [45d2f4dd3c] - (SEMVER-MINOR) async_hooks: add AsyncResource.bind utility (James M Snell) #34574
  • [61683e1763] - async_hooks: don't read resource if ALS is disabled (Gerhard Stoebich) #34617
  • [95e0f8ef52] - async_hooks: execute destroy hooks earlier (Gerhard Stoebich) #34342
  • [cfc769b048] - async_hooks: fix resource stack for deep stacks (Anna Henningsen) #34573
  • [b2241e9fc1] - async_hooks: improve resource stack performance (Anna Henningsen) #34319
  • [24fddba59b] - benchmark: add benchmark script for resourceUsage (Yash Ladha) #34691
  • [145691b83e] - benchmark: always throw the same Error instance (Anna Henningsen) #34523
  • [7bc26c2e8c] - bootstrap: correct --frozen-intrinsics override fix (Guy Bedford) #35041
  • [6ee800f0c3] - (SEMVER-MINOR) buffer: also alias BigUInt methods (Anna Henningsen) #34960
  • [9d07217d2c] - (SEMVER-MINOR) buffer: alias UInt ➡️ Uint in buffer methods (Anna Henningsen) #34729
  • [8f2d2aa9e3] - build: increase API requests for stale action (Phillip Johnsen) #35235
  • [ff0b1000d1] - build: filter issues & PRs to auto close by matching on stalled label (Phillip Johnsen) #35159
  • [06c5120eef] - (SEMVER-MINOR) build: add build flag for OSS-Fuzz integration (davkor) #34761
  • [9107595acd] - build: comment about auto close when stalled via with github action (Phillip Johnsen) #34555
  • [60774c08e3] - build: close stalled issues and PRs with github action (Phillip Johnsen) #34555
  • [9bb681458c] - build: use autorebase option for git node land (Denys Otrishko) #34969
  • [8d27998bd6] - build: use latest node-core-utils from npm (Denys Otrishko) #34969
  • [d2f44a74f8] - build: add support for build on arm64 (Evan Lucas) #34238
  • [ea56aea452] - build: run link checker in linter workflow (Richard Lau) #34810
  • [9e1f8fcb65] - build: implement a Commit Queue in Actions (Mary Marchini) #34112
  • [380600dbe5] - build: set --v8-enable-object-print by default (Mary Marchini) #34705
  • [191d0ae311] - build: add flag to build V8 with OBJECT_PRINT (Mary Marchini) #32834
  • [f6ad59b60f] - build: do not run auto-start-ci on forks (Evan Lucas) #34650
  • [90a44e198b] - build: increase startCI verbosity and fix job name (Mary Marchini) #34635
  • [7886e763f5] - build: don't run auto-start-ci on push (Mary Marchini) #34588
  • [544a722de4] - build: fix auto-start-ci script path (Mary Marchini) #34588
  • [e51b2680a8] - build: auto start Jenkins CI via PR labels (Mary Marchini) #34089
  • [343894f990] - build: toolchain.gypi and node_gyp.py cleanup (iandrc) #34268
  • [e7252df0b9] - build: fix test-ci-js task in Makefile (Rich Trott) #34433
  • [833474f844] - build: do not run benchmark tests on 'make test' (Rich Trott) #34434
  • [f14775e492] - build: add benchmark tests to CI runs (Rich Trott) #34288
  • [acf63b009d] - build,deps: add gen-openssl target (Evan Lucas) #34642
  • [b977672edc] - build,tools: fix cmd_regen_makefile (Daniel Bevenius) #34255
  • [17a098b9e6] - (SEMVER-MINOR) cli: add alias for report-directory to make it consistent (Ash Cripps) #33587
  • [b329a95c01] - console: document the behavior of console.assert() (iandrc) #34501
  • [ed72d83802] - crypto: simplify KeyObject constructor (Rich Trott) #35064
  • [b828560908] - (SEMVER-MINOR) crypto: allow KeyObjects in postMessage (Tobias Nießen) #33360
  • [2b7273b2ad] - crypto: improve invalid arg type message for randomInt() (Rich Trott) #35089
  • [bf5a85b43a] - crypto: improve randomInt out-of-range error message (Rich Trott) #35088
  • [5ef9ee4254] - crypto: fix randomInt range check (Tobias Nießen) #35052
  • [921129c1d8] - crypto: align parameter names with documentation (Rich Trott) #35054
  • [53c9975673] - (SEMVER-MINOR) crypto: add randomInt function (Oli Lalonde) #34600
  • [39dc4086fe] - crypto: avoid unitializing ECDH objects on error (Tobias Nießen) #34302
  • [865f8e85c4] - crypto: add OP flag constants added in OpenSSL v1.1.1 (Mateusz Krawczuk) #33929
  • [bf4e778e50] - crypto: move typechecking for timingSafeEqual into C++ (Anna Henningsen) #34141
  • [4ff6c77e17] - deps: V8: cherry-pick e06ace6b5cdb (Anna Henningsen) #34673
  • [5db8b357ce] - deps: V8: cherry-pick eec10a2fd8fa (Stephen Belanger) #33778
  • [e9e3390b18] - deps: V8: backport 3f071e3e7e15 (Milad Fa) #35305
  • [57564eb86d] - deps: V8: cherry-pick 71736859756b2bd0444bdb0a87a (Daniel Bevenius) #35205
  • [481cced20e] - deps: update brotli to v1.0.9 (Anna Henningsen) #34937
  • [f6c0b270e0] - deps: add openssl support for arm64 (Evan Lucas) #34238
  • [9b53b4ddf2] - deps: upgrade to libuv 1.39.0 (Colin Ihrig) #34915
  • [f87b6c0f7c] - deps: upgrade npm to 6.14.8 (Ruy Adorno) #34834
  • [f710dbf1b7] - deps: update to uvwasi 0.0.10 (Colin Ihrig) #34623
  • [7ef1f6a71d] - deps: upgrade npm to 6.14.7 (claudiahdz) #34468
  • [e9a514d13e] - deps: upgrade to libuv 1.38.1 (Colin Ihrig) #34187
  • [60b697de30] - deps: V8: cherry-pick 7889803e82d3 (Zhao Jiazhong) #34214
  • [de174cd1bc] - (SEMVER-MINOR) dgram: add IPv6 scope id suffix to received udp6 dgrams (Pekka Nikander) #14500
  • [be6aee9f53] - (SEMVER-MINOR) dgram: allow typed arrays in .send() (Sarat Addepalli) #22413
  • [1a8669d6ec] - (SEMVER-MINOR) doc: Add maxTotalSockets option to agent constructor (rickyes) #33617
  • [05da376c05] - doc: remove errors that were never released (Rich Trott) #34197
  • [831328bdb2] - doc: add note about multiple sync events and once (James M Snell) #34220
  • [a9f0fc9896] - doc: document behavior for once(ee, 'error') (James M Snell) #34225
  • [ed055c010d] - doc: replace http to https of link urls (sapics) #34158
  • [cef9921c74] - doc: specify how fs.WriteStream/ReadStreams are created (James M Snell) #34188
  • [4277d952c0] - doc: mark assert.CallTracker experimental (Ruben Bridgewater) #33124
  • [1a7082052f] - (SEMVER-MINOR) doc: add basic embedding example documentation (Anna Henningsen) #30467
  • [55dc7aaaa3] - doc: standardize on _backward_ (Rich Trott) #35243
  • [746517aad5] - doc: revise stability section of values doc (Rich Trott) #35242
  • [1018e520d6] - doc: remove excessive formatting in dgram.md (Rich Trott) #35234
  • [e026ce9b82] - doc: sort repl references in ASCII order (Rich Trott) #35230
  • [6669effc4d] - doc: clarify use of NAPI_EXPERIMENTAL (Michael Dawson) #35195
  • [89636e3257] - doc: update attributes used by n-api samples (#35220) (Gerhard Stoebich)
  • [e21d1cd58f] - doc: add issue labels sections to release guide (Michaël Zasso) #35224
  • [f050ecc3b1] - doc: fix small grammatical issues in timers.md (Turner Jabbour) #35203
  • [d81db1dcb9] - doc: add technical values document (Michael Dawson) #35145
  • [ee1bcdbe0d] - doc: remove "end user" (Rich Trott) #35200
  • [3ffaf66886] - doc: replace "you should do X" with "do X" (Rich Trott) #35194
  • [c606ed761c] - doc: fix missing word in dgram.md (Tom Atkinson) #35231
  • [3094ace6b0] - doc: fix deprecation documentation inconsistencies (Antoine du HAMEL) #35082
  • [2b86032728] - doc: fix broken link in crypto.md (Rich Trott) #35181
  • [4af4a809c2] - doc: remove problematic auto-linking of curl man pages (Rich Trott) #35174
  • [d94dac467b] - doc: update process.release (schamberg97) #35167
  • [52eba5b542] - doc: add missing copyFile change history (Shelley Vohr) #35056
  • [799fad73e9] - doc: perform cleanup on security-release-process.md (Rich Trott) #35154
  • [62436e6bab] - doc: fix minor punctuation issue in path.md (Amila Welihinda) #35127
  • [23dcfe52ac] - doc: fix left nav color contrast (Rich Trott) #35141
  • [745987e9f5] - doc: update contact info for Ash Cripps (Ash Cripps) #35139
  • [f3f72fd951] - doc: update my email address (Michael Dawson) #35121
  • [0f9908beef] - doc: add missing changes entry for breakEvalOnSigint REPL option (Anna Henningsen) #35143
  • [f0b9866a93] - doc: update security process (Michael Dawson) #35107
  • [255d47a6b1] - doc: fix broken link in perf_hooks.md (Rich Trott) #35113
  • [1e3982047d] - doc: fix broken link in http2.md (Rich Trott) #35112
  • [ec5a0ada51] - doc: fix broken link in fs.md (Rich Trott) #35111
  • [55b8caa958] - doc: fix broken links in deprecations.md (Rich Trott) #35109
  • [3954b8f12d] - doc: add note about path.basename on Windows (Tobias Nießen) #35065
  • [bf39354cbc] - doc: add link to safe integer definition (Tobias Nießen) #35049
  • [8ed4ab5ac4] - doc: format exponents better (Tobias Nießen) #35050
  • [b117467a77] - doc: improve link-local text in dgram.md (Rich Trott) #34868
  • [14d4bfa7c8] - doc: use _Static method_ instead of _Class Method_ (Rich Trott) #34659
  • [d05f615896] - doc: tidy some addons.md text (Rich Trott) #34654
  • [5846befacb] - doc: use _Class Method_ in async_hooks.md (Rich Trott) #34626
  • [2302dff635] - doc: fix typo in cli.md for report-dir (Ash Cripps) #33725
  • [65b7bf40b8] - doc: restore color for visited links (Rich Trott) #35108
  • [ef8d3731eb] - doc: change stablility-2 color for accessibility (Rich Trott) #35061
  • [7c947b26e8] - doc: add deprecated badge to legacy URL methods (Antoine du HAMEL) #34931
  • [fb1a1339de] - doc: spruce up user journey to local docs browsing (Derek Lewis) #34986
  • [08b56130db] - doc: update syntax highlighting color for accessibility (Rich Trott) #35063
  • [1ce26fe50c] - doc: remove style for empty links (Antoine du HAMEL) #35034
  • [3c984115a0] - doc: fix certificate display in tls doc (Rich Trott) #35032
  • [d7989bd1d7] - doc: use consistent header typography (Rich Trott) #35030
  • [80fa1f5722] - doc: fix malformed hashes in assert.md (Rich Trott) #35028
  • [2529ba261b] - doc: change color contrast for accessibility (Rich Trott) #35047
  • [8cc7a730a5] - doc: revise commit-queue.md (Rich Trott) #35006
  • [e7c74ebee2] - doc: change effected to affected (Turner Jabbour) #34989
  • [c68c6cd485] - doc: drop the --production flag for installing windows-build-tools (DeeDeeG) #34979
  • [4d28435104] - doc: fix broken link to response.writableFinished in deprecations doc (Rich Trott) #34983
  • [23389a082f] - doc: fix broken link to response.finished in deprecations doc (Rich Trott) #34982
  • [4e2415fc6a] - doc: fix broken link to writableEnded in deprecations doc (Rich Trott) #34984
  • [b575e6341c] - doc: fix typos in buffer doc (Robert Williams) #34981
  • [0695e243de] - doc: make minor improvements to query string sentence in http2.md (Rich Trott) #34929
  • [a5b4526f5d] - doc: simplify "make use of" to "use" (Rich Trott) #34861
  • [1e33bfcc6a] - doc: make minor fixes to maintaining-openssl.md (Rich Trott) #34926
  • [533d00d05d] - doc: fix CHANGELOG.md parsing issue (Juan José Arboleda) #34923
  • [1b27f098bd] - doc: provide more guidance about process.version (Rich Trott) #34909
  • [f50fec605d] - doc: use consistent typography for node-addon-api (Rich Trott) #34910
  • [222fcb1e66] - doc: use "previous"/"preceding" instead of "above" as modifier (Rich Trott) #34877
  • [961844d25b] - doc: improve fs doc intro (James M Snell) #34843
  • [26b060f4cd] - doc: indicate the format of process.version (Danny Guo) #34872
  • [da150f4e1e] - doc: fix ESM/CJS wrapper example (Maksim Sinik) #34853
  • [3ea7e03ae4] - doc: adopt Microsoft Style Guide officially (Rich Trott) #34821
  • [5f09f45d1f] - doc: use 'console' info string for console output (Rich Trott) #34837
  • [9d52480396] - doc: move addaleax to TSC emeritus (Anna Henningsen) #34809
  • [6d9e6f6186] - doc: remove space above version picker (Justice Almanzar) #34768
  • [c53c34c045] - doc: reorder deprecated tls docs (Jerome T.K. Covington) #34687
  • [edda492a94] - doc: fix file name to main.mjs and not main.js in esm.md (Frank Lemanschik) #34786
  • [3abcc74882] - doc: improve async_hooks snippets (Andrey Pechkurov) #34829
  • [fd4f561ce4] - doc: fix some typos and grammar mistakes (Hilla Shahrabani) #34800
  • [7a983f5f1d] - doc: remove "is recommended from crypto legacy API text (Rich Trott) #34697
  • [c7fc16e10a] - doc: fix broken links in commit-queue.md (Luigi Pinca) #34789
  • [09687b85f7] - doc: avoid _may_ in collaborator guide (Rich Trott) #34749
  • [f295869ba3] - doc: use sentence-casing for headers in collaborator guide (Rich Trott) #34713
  • [94039b75d3] - doc: edit (general) collaborator guide (Rich Trott) #34712
  • [653d88ac13] - doc: reduce repetitiveness on Consensus Seeking (Mary Marchini) #34702
  • [b28a6a57c4] - doc: remove typo in crypto.md (Rich Trott) #34698
  • [c189832647] - doc: n-api environment life cycle APIs are stable (Jim Schlight) #34641
  • [898947b5b1] - doc: add padding in the sidebar column (Antoine du HAMEL) #34665
  • [75ea463c25] - doc: use semantically appropriate tag for lines (Antoine du HAMEL) #34660
  • [0da5ac805c] - doc: add HPE_UNEXPECTED_CONTENT_LENGTH error description (Nikolay Krashnikov) #34596
  • [75ed2f6e2e] - doc: update http server response 'close' event (Renato Mariscal) #34472
  • [0ba9052b57] - doc: add writable and readable options to Duplex docs (Priyank Singh) #34383
  • [d0bf0f9c00] - doc: harden policy around objections (Mary Marchini) #34639
  • [e9a8f0c127] - doc: add Ricky Zhou to collaborators (rickyes) #34676
  • [fc612d5635] - doc: edit process.title note for brevity and clarity (Rich Trott) #34627
  • [3dda55aedf] - doc: update fs.watch() availability for IBM i (iandrc) #34611
  • [dc6e7f8584] - doc: fix typo in path.md (aetheryx) #34550
  • [260914c432] - doc: add release key for Ruy Adorno (Ruy Adorno) #34628
  • [e67bd9e050] - doc: clarify process.title inconsistencies (Corey Butler) #34557
  • [c56a29178b] - doc: document the connection event for HTTP2 & TLS servers (Tim Perry) #34531
  • [059db0591c] - doc: mention null special-case for napi_typeof (Renée Kooi) #34577
  • [39f90346f8] - doc: add DerekNonGeneric to collaborators (Derek Lewis) #34602
  • [65a0ddbfc3] - doc: use consistent spelling for "falsy" (Rich Trott) #34545
  • [261fd11d4b] - doc: simplify and clarify console.assert() documentation (Rich Trott) #34544
  • [b4b2057fb6] - doc: use consistent capitalization for addons (Rich Trott) #34536
  • [2410a0f7cb] - doc: add mmarchini pronouns (Mary Marchini) #34586
  • [de03d635d4] - doc: update mmarchini contact info (Mary Marchini) #34586
  • [873e84366c] - doc: update .mailmap for mmarchini (Mary Marchini) #34586
  • [f350b512e7] - doc: use sentence-case for headers in SECURITY.md (Rich Trott) #34525
  • [057613c464] - Revert "doc: move ronkorving to emeritus" (Rich Trott) #34507
  • [9c725919fc] - doc: use sentence-case for GOVERNANCE.md headers (Rich Trott) #34503
  • [c95964afd6] - doc: revise onboarding-extras (Rich Trott) #34496
  • [3db13a8043] - doc: remove breaking-change-helper from onboarding-extras (Rich Trott) #34497
  • [cef1284a22] - doc: add Triagers section to table of contents in GOVERNANCE.md (Rich Trott) #34504
  • [8c0a781ee0] - doc: onboarding process extras (Gireesh Punathil) #34455
  • [b37b3f017f] - doc: mention triage in GOVERNANCE.md (Gireesh Punathil) #34426
  • [dfdedfd67a] - doc: move thefourtheye to emeritus (Rich Trott) #34471
  • [56d5ba852f] - doc: move ronkorving to emeritus (Rich Trott) #34471
  • [f70cbc63b8] - doc: match link text in index to doc headline (Rich Trott) #34449
  • [437b092eed] - doc: add AshCripps to collaborators (Ash Cripps) #34494
  • [c91e31ded2] - doc: add author-ready label ref to onboarding doc (Ruy Adorno) #34381
  • [319d570a47] - doc: add HarshithaKP to collaborators (Harshitha K P) #34417
  • [ae60f50a69] - doc: add rexagod to collaborators (Pranshu Srivastava) #34457
  • [8ee83a9d58] - doc: add statement of purpose to documentation style guide (Rich Trott) #34424
  • [39dea8f70d] - doc: add release key for Richard Lau (Richard Lau) #34397
  • [e15dc5f6ea] - doc: use correct identifier for callback argument (Rich Trott) #34405
  • [88bd124d5c] - doc: add changes metadata to TLS newSession event (Tobias Nießen) #34294
  • [0f050d4597] - doc: introduce a triager role (Gireesh Punathil) #34295
  • [857ba90138] - doc: strengthen suggestion in errors.md (Rich Trott) #34390
  • [7c7d3e3697] - doc: strengthen wording about fs.access() misuse (Rich Trott) #34352
  • [1d64c2c345] - doc: fix typo in assert.md (Ye-hyoung Kang) #34316
  • [7be8dded52] - doc: clarify conditional exports guidance (Guy Bedford) #34306
  • [c1b5c89e60] - doc: reword warnings about sockets passed to subprocesses (Rich Trott) #34273
  • [a2107101be] - doc: add danielleadams to collaborators (Danielle Adams) #34360
  • [eff1febe9e] - doc: buffer documentation improvements (James M Snell) #34230
  • [ba7ba4fe14] - doc: improve text in fs docs about omitting callbacks (Rich Trott) #34307
  • [c4f0cb65a1] - doc: add sxa as collaborator (Stewart X Addison) #34338
  • [513ad146c8] - doc: move sebdeckers to emeritus (Rich Trott) #34298
  • [a04d76d2ad] - doc: add ruyadorno to collaborators (Ruy Adorno) #34297
  • [3064755d31] - doc: move kfarnung to collaborator emeriti list (Rich Trott) #34258
  • [ea33e738fb] - doc: specify encoding in text/html examples (James M Snell) #34222
  • [2615e55d93] - doc: document the ready event for Http2Stream (James M Snell) #34221
  • [fbb36ed5c4] - doc: add comment to example about 2xx status codes (James M Snell) #34223
  • [f2f1537ea0] - doc: document that whitespace is ignored in base64 decoding (James M Snell) #34227
  • [0ebb30bb88] - doc: document security issues with url.parse() (James M Snell) #34226
  • [b60b6d7404] - doc: move digitalinfinity to emeritus (Rich Trott) #34191
  • [e65d6fddaf] - doc: move gibfahn to emeritus (Rich Trott) #34190
  • [c62941e84c] - doc: remove parenthetical rn comment in http and http2 docs (Rich Trott) #34178
  • [9bb70a498d] - doc: remove stability from unreleased errors (Rich Trott) #33764
  • [a7a564b418] - doc: util.debuglog callback (Bradley Meck) #33856
  • [089a4479a4] - doc: update wording in "Two reading modes" (Julien Poissonnier) #34119
  • [32ef1b3347] - doc: clarify that the ctx argument is optional (Luigi Pinca) #34097
  • [8960a63312] - doc: add a reference to the list of OpenSSL flags. (Mateusz Krawczuk) #34050
  • [4ac0df9160] - doc: no longer maintain a CNA structure (Sam Roberts) #33639
  • [75637e6867] - doc: use consistent naming in stream doc (Saleem) #30506
  • [71664158fc] - doc: clarify how to read process.stdin (Anentropic) #27350
  • [25939ccded] - doc: fix entry for napi_create_external_buffer (Gabriel Schulhof) #34125
  • [5f131f71e9] - doc: fix source link margin to sub-header mark (Rodion Abdurakhimov) #33664
  • [f12c6f406a] - doc: improve async_hooks asynchronous context example (Denys Otrishko) #33730
  • [8fb265d03c] - doc: clarify esm conditional exports prose (Derek Lewis) #33886
  • [49383c8a25] - doc: improve triaging text in issues.md (Rich Trott) #34164
  • [a9302b50c9] - doc: simply dns.ADDRCONFIG language (Rich Trott) #34155
  • [1d25e70392] - doc: remove "considered" in errors.md (Rich Trott) #34152
  • [f6dff0a57e] - doc: simplify and clarify ReferenceError material in errors.md (Rich Trott) #34151
  • [e2fff1b1b0] - doc: add http highlight grammar (Derek Lewis) #33785
  • [19bfc012d1] - doc: move sam-github to TSC Emeriti (Sam Roberts) #34095
  • [c78ef2d35c] - doc: change "considered experimental" to "experimental" in n-api.md (Rich Trott) #34129
  • [3d5f7674e7] - doc: changed "considered experimental" to "experimental" in cli.md (Rich Trott) #34128
  • [6c739aac55] - doc: improve text in issues.md (falguniraina) #33973
  • [0672384be9] - doc: change "currently not considered public" to "not supported" (Rich Trott) #34114
  • [64e182553e] - doc: clarify that APIs are no longer experimental (Rich Trott) #34113
  • [e4ac393383] - doc: clarify O_EXCL text in fs.md (Rich Trott) #34096
  • [d67cb7ed0f] - doc: clarify ambiguous rdev description (Rich Trott) #34094
  • [c6ea3d6616] - doc: make minor improvements to paragraph in child_process.md (Rich Trott) #34063
  • [21b0132eec] - doc: improve paragraph in esm.md (Rich Trott) #34064
  • [66cd7bf69d] - doc: clarify require/import mutual exclusivity (Guy Bedford) #33832
  • [5ba0ba4b69] - doc: add dynamic source code links (Alec Davidson) #33996
  • [51cdd10ea5] - doc: mention errors thrown by methods called on an unbound dgram.Socket (Mateusz Krawczuk) #33983
  • [6d22ae3630] - doc: document n-api callback scope usage (Gabriel Schulhof) #33915
  • [e4854de18c] - doc: standardize constructor doc header layout (Rich Trott) #33781
  • [79c4c73f4c] - doc: split process.umask() entry into two (Rich Trott) #32711
  • [0a927216cf] - (SEMVER-MAJOR) doc: deprecate process.umask() with no arguments (Colin Ihrig) #32499
  • [05dae0231b] - doc,lib: remove unused error code (Rich Trott) #34792
  • [e8ddaa3f0e] - doc,n-api: add link to n-api tutorial website (Jim Schlight) #34870
  • [b47172d2ed] - doc,test: specify and test CLI option precedence rules (Anna Henningsen) #35106
  • [3975dd3525] - doc,tools: remove malfunctioning Linux manpage linker (Rich Trott) #34985
  • [f57104bb1a] - doc,tools: annotate broken links in actions workflow (Richard Lau) #34810
  • [7b29c91944] - doc,tools: syntax highlight api docs at compile-time (Francisco Ryan Tolmasky I) #34148
  • [7a8f59f1d6] - (SEMVER-MINOR) embedding: make Stop() stop Workers (Anna Henningsen) #32531
  • [ff0a0366f7] - (SEMVER-MINOR) embedding: provide hook for custom process.exit() behaviour (Anna Henningsen) #32531
  • [5c968a0f92] - errors: use ErrorPrototypeToString from primordials object (ExE Boss) #34891
  • [bf7b796491] - esm: better package.json parser errors (Guy Bedford) #35117
  • [9159649395] - esm: shorten ERR_UNSUPPORTED_ESM_URL_SCHEME message (Rich Trott) #34836
  • [551be2aeb9] - esm: improve error message of ERR_UNSUPPORTED_ESM_URL_SCHEME (Denys Otrishko) #34795
  • [5c3c8b3029] - events: variable originalListener is useless (fuxingZhang) #33596
  • [ff7fbc38f1] - events: improve listeners() performance (Brian White) #33863
  • [830574f199] - events: improve arrayClone performance (Brian White) #33774
  • [a19933f7fc] - (SEMVER-MINOR) fs: implement lutimes (Maël Nison) #33399
  • [3d1bdc254c] - (SEMVER-MINOR) http: add maxTotalSockets to agent class (rickyes) #33617
  • [fb68487b8c] - (SEMVER-MINOR) http: return this from IncomingMessage#destroy() (Colin Ihrig) #32789
  • [388d125a64] - (SEMVER-MINOR) http: expose host and protocol on ClientRequest (wenningplus) #33803
  • [756ac65218] - http: fix crash for sync write errors during header parsing (Anna Henningsen) #34251
  • [10815c4eff] - http: provide keep-alive timeout response header (Robert Nagy) #34561
  • [e52cc24e31] - http: don't write error to socket (Robert Nagy) #34465
  • [4e07faa7cf] - http: add note about timer unref (Robert Nagy) #34143
  • [1a09b4d2ca] - http: fixes memory retention issue with FreeList and HTTPParser (John Leidegren) #33190
  • [ec1df7b4c9] - http: fix incorrect headersTimeout measurement (Alex R) #32329
  • [ca836344fa] - http: don't throw on Uint8Arrays for http.ServerResponse#write (Pranshu Srivastava) #33155
  • [4079cdd5f2] - http2: fix Http2Response.sendDate (João Lucas Lucchetta) #34850
  • [7551a8be47] - (SEMVER-MINOR) http2: return this for Http2ServerRequest#setTimeout (Pranshu Srivastava) #33994
  • [4d0129aefb] - (SEMVER-MINOR) http2: do not modify explicity set date headers (Pranshu Srivastava) #33160
  • [45d712c6f6] - http2: add maxHeaderSize option to http2 (Priyank Singh) #33636
  • [4a2accb3d0] - internal: rename error-serdes for consistency (Evan Lucas) #33793
  • [9f16b7f332] - lib: improve debuglog() performance (Brian White) #32260
  • [efd46e3b61] - lib: always initialize esm loader callbackMap (Shelley Vohr) #34127
  • [f29ab4092f] - lib: add UNC support to url.pathToFileURL() (Matthew McEachen) #34743
  • [176f8c35c5] - lib: use non-symbols in isURLInstance check (Shelley Vohr) #34622
  • [633b4d5e62] - lib: absorb path error cases (Gireesh Punathil) #34519
  • [6054e213f9] - lib: simplify assignment (sapics) #33718
  • [32c51c6c7d] - lib: replace http to https of comment link urls (sapics) #34158
  • [d1be44c705] - meta: update module pages in CODEOWNERS (Antoine du Hamel) #34932
  • [09100ce4ce] - meta: add links to OpenJSF Slack (Mary Marchini) #35128
  • [c7eb462bde] - meta: update my collab entry (devsnek) #35160
  • [2b3d4bd550] - meta: remove non-existent quic from CODEOWNERS (Richard Lau) #34947
  • [36c705d83b] - meta: enable wasi for CODEOWNERS (gengjiawen) #34889
  • [fb98e762ce] - meta: fix codeowners docs path (Mary Marchini) #34811
  • [5119586c0b] - meta: add TSC as owner of governance-related docs (Mary Marchini) #34737
  • [6d6bd2dc3b] - meta: uncomment all codeowners (Mary Marchini) #34670
  • [ac0b9496e5] - meta: enable http2 team for CODEOWNERS (Rich Trott) #34534
  • [2ac653dc1a] - meta: make issue template mobile friendly and address nits (Derek Lewis) #34243
  • [6319c8f8bb] - meta: add N-API to codeowners coverage (Michael Dawson) #34039
  • [78ee480469] - meta: fixup CODEOWNERS so it hopefully works (James M Snell) #34147
  • [ed3278d55d] - module: fix crash on multiline named cjs imports (Christoph Tavan) #35275
  • [89a58f61d7] - module: use isURLInstance instead of instanceof (Antoine du HAMEL) #34951
  • [fc93cc95d8] - module: drop -u alias for --conditions (Richard Lau) #34935
  • [740c95819f] - module: fix check for package.json at volume root (Derek Lewis) #34595
  • [cecc193abc] - module: share CJS/ESM resolver fns, refactoring (Guy Bedford) #34744
  • [d9857fdbc2] - module: custom --conditions flag option (Guy Bedford) #34637
  • [3ad146d474] - module: use cjsCache over esm injection (Guy Bedford) #34605
  • [00aa935f5c] - module: self referential modules in repl or -r (Daniele Belardi) #32261
  • [d065334d42] - (SEMVER-MINOR) module: package "imports" field (Guy Bedford) #34117
  • [c9bd1a7d8a] - (SEMVER-MINOR) module: deprecate module.parent (Antoine du HAMEL) #32217
  • [b9d0f73c7c] - (SEMVER-MINOR) n-api: create N-API version 7 (Gabriel Schulhof) #35199
  • [a5aa3ddacf] - n-api: re-implement async env cleanup hooks (Gabriel Schulhof) #34819
  • [c440748779] - n-api: fix use-after-free with napi_remove_async_cleanup_hook (Anna Henningsen) #34662
  • [e7486d4df6] - (SEMVER-MINOR) n-api: support type-tagging objects (Gabriel Schulhof) #28237
  • [a6b655614f] - n-api: handle weak no-finalizer refs correctly (Gabriel Schulhof) #34839
  • [02fe75026e] - n-api: simplify bigint-from-word creation (Gabriel Schulhof) #34554
  • [ba2e341f1d] - n-api: run all finalizers via SetImmediate() (Gabriel Schulhof) #34386
  • [2cf231678b] - (SEMVER-MINOR) n-api,src: provide asynchronous cleanup hooks (Anna Henningsen) #34572
  • [3c4abe0e91] - net: replace usage of internal stream state with public api (Denys Otrishko) #34885
  • [6b5d679c80] - net: validate custom lookup() output (Colin Ihrig) #34813
  • [09056fdf38] - net: don't return the stream object from onStreamRead (Robey Pointer) #34375
  • [76ba129151] - net: allow wider regex in interface name (Stewart X Addison) #34364
  • [ce5d0db34b] - net: fix bufferSize (Robert Nagy) #34088
  • [2c409a2853] - (SEMVER-MINOR) perf_hooks: add idleTime and event loop util (Trevor Norris) #34938
  • [35ff592613] - policy: increase tests via permutation matrix (Bradley Meck) #34404
  • [0ede223fa8] - policy: add startup benchmark and make SRI lazier (Bradley Farias) #29527
  • [53eae0dafd] - process: correctly parse Unicode in NODE_OPTIONS (Bartosz Sosnowski) #34476
  • [6ccacdfddb] - querystring: manage percent character at unescape (Daijiro Wachi) #35013
  • [b7be751447] - repl: support --loader option in builtin REPL (Michaël Zasso) #33437
  • [63cd05b1d6] - src: fix ParseEncoding (sapics) #33957
  • [090f86955f] - src: fix minor comment typo in KeyObjectData (Daniel Bevenius) #34167
  • [50b1cde872] - (SEMVER-MINOR) src: store key data in separate class (Tobias Nießen) #33360
  • [bf3aaa31d0] - (SEMVER-MINOR) src: add NativeKeyObject base class (Tobias Nießen) #33360
  • [91978820fa] - (SEMVER-MINOR) src: rename internal key handles to KeyObjectHandle (Tobias Nießen) #33360
  • [667d520148] - (SEMVER-MINOR) src: introduce BaseObject base FunctionTemplate (Anna Henningsen) #33772
  • [3e21dd91c1] - (SEMVER-MINOR) src: add option to track unmanaged file descriptors (Anna Henningsen) #34303
  • [0affe8622e] - (SEMVER-MINOR) src: add public APIs to manage v8::TracingController (Anna Henningsen) #33850
  • [b7e4d5fc0e] - src: shutdown libuv before exit() (Anna Henningsen) #35021
  • [5e28660121] - (SEMVER-MINOR) src: allow embedders to disable esm loader (Shelley Vohr) #34060
  • [7e2cd728bb] - src: add callback scope for native immediates (Anna Henningsen) #34366
  • [147440510f] - src: flush V8 interrupts from Environment dtor (Anna Henningsen) #32523
  • [29620c41fb] - src: use env->RequestInterrupt() for inspector MainThreadInterface (Anna Henningsen) #32523
  • [2e4536e701] - src: use env->RequestInterrupt() for inspector io thread start (Anna Henningsen) #32523
  • [4704e586dc] - src: fix cleanup hook removal for InspectorTimer (Anna Henningsen) #32523
  • [4513b6a3df] - src: make Environment::interrupt_data_ atomic (Anna Henningsen) #32523
  • [1066341cd9] - src: initialize inspector before RunBootstrapping() (Anna Henningsen) #32672
  • [b8c9048a87] - (SEMVER-MINOR) src: shutdown platform from FreePlatform() (Anna Henningsen) #30467
  • [a28c990061] - (SEMVER-MINOR) src: fix what a dispose without checking (Jichan) #30467
  • [2f8f76736b] - (SEMVER-MINOR) src: allow non-Node.js TracingControllers (Anna Henningsen) #30467
  • [9b84ee6480] - (SEMVER-MINOR) src: add ability to look up platform based on Environment* (Anna Henningsen) #30467
  • [a770a35f61] - (SEMVER-MINOR) src: make InitializeNodeWithArgs() official public API (Anna Henningsen) #30467
  • [8005e637b1] - (SEMVER-MINOR) src: add unique_ptr equivalent of CreatePlatform (Anna Henningsen) #30467
  • [4a6748d2c3] - (SEMVER-MINOR) src: add LoadEnvironment() variant taking a string (Anna Henningsen) #30467
  • [c5aa3f4adb] - (SEMVER-MINOR) src: provide a variant of LoadEnvironment taking a callback (Anna Henningsen) #30467
  • [808dedc4b3] - (SEMVER-MINOR) src: align worker and main thread code with embedder API (Anna Henningsen) #30467
  • [e809a5cd6b] - (SEMVER-MINOR) src: associate is_main_thread() with worker_context() (Anna Henningsen) #30467
  • [b7350e8c6e] - (SEMVER-MINOR) src: move worker_context from Environment to IsolateData (Anna Henningsen) #30467
  • [9a5cec3466] - (SEMVER-MINOR) src: fix memory leak in CreateEnvironment when bootstrap fails (Anna Henningsen) #30467
  • [7d92ac7a35] - (SEMVER-MINOR) src: make FreeEnvironment() perform all necessary cleanup (Anna Henningsen) #30467
  • [1d3638b189] - src: use enum for refed flag on native immediates (Anna Henningsen) #33444
  • [18e8687923] - (SEMVER-MINOR) src: allow preventing SetPromiseRejectCallback (Shelley Vohr) #34387
  • [403deb71d5] - (SEMVER-MINOR) src: allow setting a dir for all diagnostic output (Ash Cripps) #33584
  • [19b55be03b] - (SEMVER-MINOR) src: add equality operators for BaseObjectPtr (Anna Henningsen) #33772
  • [5eb1c9cee0] - src: add get/set pair for env context awareness (Shelley Vohr) #35024
  • [00e020b841] - src: disallow JS execution during exit() (Anna Henningsen) #35020
  • [26a596bf29] - src: fix abort on uv_loop_init() failure (Ben Noordhuis) #34874
  • [d953fa3038] - src: usage of modernize-use-equals-default (Yash Ladha) #34807
  • [541fb1b001] - src: prefer C++ empty() in boolean expressions (Tobias Nießen) #34432
  • [1549048307] - src: spin shutdown loop while immediates are pending (Anna Henningsen) #34662
  • [dabd04d79b] - src: fix size underflow in CallbackQueue (Anna Henningsen) #34662
  • [c0a961efc7] - src: fix unused namespace member in node_util (Andrey Pechkurov) #34565
  • [9f465009b1] - src: skip weak references for memory tracking (Anna Henningsen) #34469
  • [c302cae814] - src: remove unused variable in node_file.cc (sapics) #34317
  • [5a16a671ef] - src: avoid strcmp in SecureContext::Init (Tobias Nießen) #34329
  • [007b4c1ac9] - src: refactor CertCbDone to avoid goto statement (Tobias Nießen) #34325
  • [a2141d32ed] - src: remove redundant snprintf (Anna Henningsen) #34282
  • [6ddeee4b8d] - src: use FromMaybe instead of ToLocal in GetCert (Daniel Bevenius) #34276
  • [3901c7fd30] - src: add GetCipherValue function (Daniel Bevenius) #34287
  • [c1901896b7] - src: add encoding_type variable in WritePrivateKey (Daniel Bevenius) #34181
  • [00835434ef] - src: fix unused namespace member (Nikola Glavina) #34212
  • [88d12c00da] - src: remove unnecessary ToLocalChecked call (Daniel Bevenius) #33902
  • [a1da012f6b] - src: do not crash if ToggleAsyncHook fails during termination (Anna Henningsen) #34362
  • [2a7c65acaf] - src,doc: fix wording to refer to context, not environment (Turner Jabbour) #34880
  • [302d38974d] - src,doc: rephrase for clarity (Turner Jabbour) #34879
  • [4af336d741] - (SEMVER-MINOR) src,test: add full-featured embedder API test (Anna Henningsen) #30467
  • [d44b05b18c] - stream: allow using .push()/.unshift() during once('data') (Anna Henningsen) #34957
  • [2e77a10d9c] - stream: pipeline should use req.abort() to destroy response (Robert Nagy) #31054
  • [2f67e99a0b] - test: add arrayOfStreams to pipeline (rickyes) #34156
  • [3598056ac1] - test: add vm crash regression test (Anna Henningsen) #34673
  • [8545fb2aa9] - test: add common/udppair utility (James M Snell) #33380
  • [232f6e1154] - test: AsyncLocalStorage works with thenables (Gerhard Stoebich) #34008
  • [4cd7f5f147] - test: add non-ASCII character embedding test (Anna Henningsen) #33972
  • [b0c1acafda] - test: verify threadId in reports (Dylan Coakley) #31556
  • [bd71cdf153] - test: use common.buildType in embedding test (Anna Henningsen) #32422
  • [bdf6d41c72] - test: use InitializeNodeWithArgs in cctest (Anna Henningsen) #32406
  • [61eec0c6c7] - test: wait for message from parent in embedding cctest (Anna Henningsen) #32563
  • [cb635c2dc0] - (SEMVER-MINOR) test: add extended embedder cctest (Anna Henningsen) #30467
  • [f325c9544f] - (SEMVER-MINOR) test: re-enable cctest that was commented out (Anna Henningsen) #30467
  • [5a6bdd040d] - test: improve assertions in pummel/test-timers (Rich Trott) #35216
  • [942551e46f] - test: improve pummel/test-timers.js (Rich Trott) #35175
  • [43c0174867] - test: revise test-policy-integrity (Rich Trott) #35101
  • [d60c487c53] - test: remove setMaxListeners in test-crypto-random (Tobias Nießen) #35079
  • [867c4516af] - test: add regression tests for HTTP parser crash (Anna Henningsen) #34251
  • [627e484e62] - test: use mustCall() in test-http-timeout (Pooja D.P) #34996
  • [cd4b2aa891] - test: change var to let (Pooja D.P) #34902
  • [0bd176896e] - test: remove incorrect debug() in test-policy-integrity (Rich Trott) #34961
  • [327d00997d] - test: fix typo in test/parallel/test-icu-punycode.js (Daijiro Wachi) #34934
  • [3fd7889e30] - test: add readline test for escape sequence (Rich Trott) #34952
  • [46f94f9111] - test: make test-tls-reuse-host-from-socket pass without internet (Rich Trott) #34953
  • [76d991cf6b] - test: simplify test-vm-memleak (Rich Trott) #34881
  • [d016cdcaa9] - test: fix test-cluster-net-listen-relative-path.js to run in / (Rich Trott) #34820
  • [cc98103802] - test: run REPL preview test regardless of terminal type (Rich Trott) #34798
  • [4661b887cf] - test: modernize test-cluster-master-error (Anna Henningsen) #34685
  • [a4d50de661] - test: move test-inspector-already-activated-cli to parallel (Rich Trott) #34755
  • [4b22d335d1] - test: move execution of WPT to worker threads (Michaël Zasso) #34796
  • [ac776f43f4] - test: convert assertion that always fails to assert.fail() (Rich Trott) #34793
  • [a0ba41685b] - test: remove common.rootDir (Rich Trott) #34772
  • [5352cde7ee] - test: allow ENOENT in test-worker-init-failure (Rich Trott) #34769
  • [238d01f62f] - test: allow ENFILE in test-worker-init-failure (Rich Trott) #34769
  • [9cde4eb73a] - test: use process.env.PYTHON to spawn python (Anna Henningsen) #34700
  • [b4d9e0da6b] - test: remove error message checking in test-worker-init-failure (Rich Trott) #34727
  • [335b61ac74] - test: skip node-api/test_worker_terminate_finalization (Anna Henningsen) #34732
  • [e23f7ee1b9] - test: fix test_worker_terminate_finalization (Anna Henningsen) #34726
  • [b77309fe37] - test: split test-crypto-dh-hash (Rich Trott) #34631
  • [aa24b4a69d] - test: use block-scoping in test/pummel/test-timers.js (Rich Trott) #34630
  • [e30ddacddb] - test: remove test-child-process-fork-args flaky designation (Rich Trott) #34684
  • [7eb80403b5] - test: add debugging for callbacks in test-https-foafssl.js (Rich Trott) #34603
  • [4dbc787a2f] - test: add debugging for test-https-foafssl.js (Rich Trott) #34603
  • [71ee48863a] - test: change Fixes: to Refs: (Rich Trott) #34568
  • [09a6cefa94] - test: remove unneeded flag check in test-vm-memleak (Rich Trott) #34528
  • [17973b7d7c] - test: add ref comment to test-regress-GH-814_2 (Rich Trott) #34516
  • [f6c674029d] - test: add ref comment to test-regress-GH-814 (Rich Trott) #34516
  • [d8c5bdaa08] - test: remove superfluous check in pummel/test-timers (Rich Trott) #34488
  • [afd6e46772] - test: fix test-heapdump-zlib (Andrey Pechkurov) #34499
  • [72e0df3734] - test: remove duplicate checks in pummel/test-timers (Rich Trott) #34473
  • [4d4aa9a859] - test: delete invalid test (Anna Henningsen) #34445
  • [967334b9dc] - test: fixup worker + source map test (Anna Henningsen) #34446
  • [26c5f9febd] - test: force resigning of app (Colin Ihrig) #34331
  • [8cb306e5a4] - test: fix flaky test-watch-file (Rich Trott) #34420
  • [cc2643188f] - test: fix flaky test-heapdump-http2 (Rich Trott) #34415
  • [2137024a55] - test: do not write to fixtures dir in test-watch-file (Rich Trott) #34376
  • [95b2a39cf6] - test: remove common.localhostIPv6 (Rich Trott) #34373
  • [2ab3fccdbc] - test: fix test-net-pingpong pummel test for non-IPv6 hosts (Rich Trott) #34359
  • [c3ac5e945c] - test: fix flaky test-net-connect-econnrefused (Rich Trott) #34330
  • [bd3cef7e0f] - test: use mustCall() in pummel test (Rich Trott) #34327
  • [9741510336] - test: fix flaky test-http2-reset-flood (Rich Trott) #34318
  • [ed651374a4] - test: add n-api null checks for conversions (Gabriel Schulhof) #34142
  • [55ba743600] - test: add WASI test for file resizing (Colin Ihrig) #31617
  • [4ae34e8ea8] - test: skip an ipv6 test on IBM i (Xu Meng) #34209
  • [b7ae73bfe2] - test: add regression test for C++-created Buffer transfer (Anna Henningsen) #34140
  • [235417039f] - test: replace deprecated function call from test-repl-history-navigation (Rich Trott) #34199
  • [44246e6701] - test: skip some IBM i unsupported test cases (Xu Meng) #34118
  • [bb542176b0] - test: report actual error code on failure (Richard Lau) #34134
  • [09a12892e1] - test: update test-child-process-spawn-loop for Python 3 (Richard Lau) #34071
  • [26ede7f295] - test,doc: add missing uv_setup_args() calls (Colin Ihrig) #34751
  • [987e0cb785] - (SEMVER-MINOR) timers: allow timers to be used as primitives (Denys Otrishko) #34017
  • [9b27933549] - (SEMVER-MINOR) tls: make 'createSecureContext' honor more options (Mateusz Krawczuk) #33974
  • [c059d3d287] - tls: enable renegotiation when using BoringSSL (Jeremy Rose) #34832
  • [bcc0913564] - tls: remove setMaxSendFragment guards (Tobias Nießen) #34323
  • [68654da30d] - tls: remove unnecessary close listener (Robert Nagy) #34105
  • [55ed2d2280] - tools: update ESLint to 7.9.0 (Colin Ihrig) #35170
  • [a3c59d8707] - tools: fix docopen target (Antoine du HAMEL) #35062
  • [6d6c6fa929] - tools: fix doc build targets (Antoine du HAMEL) #35060
  • [1dce35d04a] - tools: add banner to lint-md.js by rollup.config.js (KuthorX) #34233
  • [0f6102065e] - tools: update ESLint to 7.8.1 (Colin Ihrig) #35004
  • [eeb8a4aaa0] - tools: update ESLint to 7.8.0 (Colin Ihrig) #35004
  • [b4b0dcd43e] - tools: add debug entitlements for macOS 10.15+ (Gabriele Greco) #34378
  • [a92aec137e] - tools: update ESLint to 7.6.0 (Colin Ihrig) #34589
  • [155f706ad0] - tools: add meta.fixable to fixable lint rules (Colin Ihrig) #34589
  • [aa15abb2be] - tools: update ESLint to 7.5.0 (Colin Ihrig) #34423
  • [0507535277] - tools: remove lint-js.js (Rich Trott) #30955
  • [fed08a8e49] - tools,doc: allow page titles to contain inline code (Antoine du HAMEL) #35003
  • [0ec3e6138e] - tools,doc: fix global table of content active element (Antoine du Hamel) #34976
  • [4a0c01e3d5] - tools,doc: remove "toc" anchor name (Rich Trott) #34893
  • [8d0c21fd24] - util: restrict custom inspect function + vm.Context interaction (Anna Henningsen) #33690
  • [9027a87f62] - util: print External address from inspect (unknown) #34398
  • [58cd76cb04] - util: improve getStringWidth performance (Ruben Bridgewater) #33674
  • [7f51e79511] - vm: add tests for function declarations using [[DefineOwnProperty]] (ExE Boss) #34032
  • [4913051ba6] - wasi: add __wasi_fd_filestat_set_times() test (Colin Ihrig) #34623
  • [2e95550476] - wasi: add reactor support (Gus Caplan) #34046
  • [139442c34e] - (SEMVER-MINOR) worker: add public method for marking objects as untransferable (Anna Henningsen) #33979
  • [44864d7385] - worker: do not crash when JSTransferable lists untransferable value (Anna Henningsen) #34766
  • [dafa380732] - (SEMVER-MINOR) worker: emit 'messagerror' events for failed deserialization (Anna Henningsen) #33772
  • [0d35eaa034] - (SEMVER-MINOR) worker: allow passing JS wrapper objects via postMessage (Anna Henningsen) #33772
  • [8e1698a784] - (SEMVER-MINOR) worker: allow transferring/cloning generic BaseObjects (Anna Henningsen) #33772
  • [b4819dba5c] - (SEMVER-MINOR) worker: add option to track unmanaged file descriptors (Anna Henningsen) #34303
  • [5e9f0cfa62] - worker: fix --abort-on-uncaught-exception handling (Anna Henningsen) #34724
  • [9173b09445] - (SEMVER-MINOR) worker: add stack size resource limit option (Anna Henningsen) #33085
  • [18ecaebdbb] - worker: unify custom error creation (Anna Henningsen) #33084
  • [c31b6bff34] - worker: fix nested uncaught exception handling (Anna Henningsen) #34310
  • [dd51ba3f93] - (SEMVER-MINOR) worker,fs: make FileHandle transferable (Anna Henningsen) #33772
  • [1b24d3a552] - zlib: remove redundant variable in zlibBufferOnEnd (Andrey Pechkurov) #34072
  • [33b22d7c4f] - (SEMVER-MINOR) zlib: add maxOutputLength option (unknown) #33516
  • [cda459ecb0] - zlib: replace usage of internal stream state with public api (Denys Otrishko) #34884
  • [d60b13f2e3] - zlib: switch to lazy init for zlib streams (Andrey Pechkurov) #34048

New in Node.js 14.13.0 Current (Oct 6, 2020)

  • Notable Changes:
  • [19b95a7fa9] - (SEMVER-MINOR) deps: upgrade to libuv 1.40.0 (Colin Ihrig) #35333
  • [f551f52f83] - (SEMVER-MINOR) module: named exports for CJS via static analysis (Guy Bedford) #35249
  • [505731871e] - (SEMVER-MINOR) module: exports pattern support (Guy Bedford) #34718
  • [0d8eaa3942] - (SEMVER-MINOR) src: allow N-API addon in AddLinkedBinding() (Anna Henningsen) #35301
  • Commits:
  • [19b95a7fa9] - (SEMVER-MINOR) deps: upgrade to libuv 1.40.0 (Colin Ihrig) #35333
  • [353a567235] - deps: upgrade to c-ares v1.16.1 (Shelley Vohr) #35324
  • [2e10616d48] - doc: remove http2 non-link anchor tags (Rich Trott) #35161
  • [02db136c49] - doc: alphabetize error list (Rich Trott) #35219
  • [46a4154cab] - doc: packages docs feedback (Guy Bedford) #35370
  • [70ad69ba46] - doc: outline when origin is set to unhandledRejection (Matthieu Larcher) #35294
  • [010173a4b7] - doc: edit n-api.md for minor improvements (Rich Trott) #35361
  • [86ac7497e0] - doc: add history entry for breaking destroy() change (Gil Pedersen) #35326
  • [857e321baf] - doc: set encoding to hex before piping hash (Victor Antonio Barzana Crespo) #35338
  • [87dfed012c] - doc: add gpg key export directions to releases doc (Danielle Adams) #35298
  • [1758ac8237] - doc: added version 7 to N-API version matrix (NickNaso) #35319
  • [5da5d41b1c] - doc: refine require/import conditions constraints (Guy Bedford) #35311
  • [482ce6ce1d] - doc: improve N-API string-to-native doc (Gabriel Schulhof) #35322
  • [6dc6dadfc6] - doc: avoid referring to C array size (Tobias Nießen) #35300
  • [0a847ca729] - doc: update napi_make_callback documentation (Gerhard Stoebich) #35321
  • [a8d3a7f742] - doc: put landing specifics in details tag (Rich Trott) #35296
  • [dd530364d0] - doc: fixup lutimes metadata (Anna Henningsen) #35328
  • [d7282c0ae3] - doc: edit subpath export patterns introduction (Rich Trott) #35254
  • [1d1ce1fc2c] - doc: document support for package.json fields (Antoine du HAMEL) #34970
  • [ef0d2ef5a2] - doc: move package config docs to separate page (Antoine du HAMEL) #34748
  • [b9d767c4d5] - doc: change type of child_process.signalCode to string (Linn Dahlgren) #35223
  • [b4514d464d] - doc: replace "this guide" link text with guide title (Rich Trott) #35283
  • [1893449724] - doc: revise dependency redirection text in policy.md (Rich Trott) #35276
  • [0c4540b050] - doc: fix heading space bug in assert.md (Thomas Hunter II) #35310
  • [ec6b78ae73] - doc: add socket.readyState (Clark Kozak) #35262
  • [2a4ae0926d] - doc: update crypto.createSecretKey accepted types (Filip Skokan) #35246
  • [c09f3dc2f3] - doc: put release script specifics in details (Myles Borins) #35260
  • [99a79e32a6] - fs: fix fs.promises.writeFile with typed arrays (Michaël Zasso) #35376
  • [ab7d0e92b1] - meta: update module pages in CODEOWNERS (Antoine du Hamel) #34932
  • [f551f52f83] - (SEMVER-MINOR) module: named exports for CJS via static analysis (Guy Bedford) #35249
  • [505731871e] - (SEMVER-MINOR) module: exports pattern support (Guy Bedford) #34718
  • [68ea7f5560] - module: fix crash on multiline named cjs imports (Christoph Tavan) #35275
  • [0f4ecaa741] - repl: standardize Control key indications (Rich Trott) #35270
  • [1e1cb94e69] - src: fix incorrect SIGSEGV handling in NODE_USE_V8_WASM_TRAP_HANDLER (Anatoly Korniltsev) #35282
  • [0d8eaa3942] - (SEMVER-MINOR) src: allow N-API addon in AddLinkedBinding() (Anna Henningsen) #35301
  • [f2635b317e] - test: replace annonymous functions with arrow (Pooja D.P) #34921
  • [d7c28c9243] - test,child_process: add tests for signalCode value (Rich Trott) #35327
  • [80eb22185e] - tools: update ESLint to 7.10.0 (Colin Ihrig) #35366
  • [7f355735df] - tools: ignore build folder when checking links (Ash Cripps) #35315
  • [c5d27e1e29] - tools,doc: enforce alphabetical order for md refs (Antoine du Hamel) #35244
  • [9d91842a9d] - tools,doc: upgrade dependencies (Antoine du Hamel) #35244

New in Node.js 12.18.4 LTS (Oct 6, 2020)

  • Notable Changes:
  • This is a security release.
  • Vulnerabilities fixed:
  • CVE-2020-8201: HTTP Request Smuggling due to CR-to-Hyphen conversion (High).
  • CVE-2020-8252: fs.realpath.native on may cause buffer overflow (Medium).
  • Commits:
  • [2ea6d255f8] - deps: libuv: cherry-pick 0e6e8620 (cjihrig) nodejs-private/node-private#221
  • [65415049af] - deps: update llhttp to 2.1.2 (Fedor Indutny) nodejs-private/node-private#219
  • [edad52e243] - test: modify tests to support the latest llhttp (Fedor Indutny) nodejs-private/node-private#219

New in Node.js 14.12.0 Current (Sep 23, 2020)

  • Notable changes:
  • deps:
  • update to uvwasi 0.0.11 (Colin Ihrig) #35104
  • n-api:
  • create N-API version 7 (Gabriel Schulhof) #35199
  • add more property defaults (Gerhard Stoebich) #35214
  • Commits:
  • [5229ffadcf] - buffer: adjust validation to account for buffer.kMaxLength (Anna Henningsen) #35134
  • [3d78686987] - build: increase API requests for stale action (Phillip Johnsen) #35235
  • [f2cc1c22c1] - build: filter issues & PRs to auto close by matching on stalled label (Phillip Johnsen) #35159
  • [f3c45a1cef] - Revert "build: require "allow edits" to be checked" (Rich Trott) #35094
  • [1bb0ed3c6a] - crypto: improve invalid arg type message for randomInt() (Rich Trott) #35089
  • [3573545315] - crypto: improve randomInt out-of-range error message (Rich Trott) #35088
  • [d4389b59b4] - deps: update to uvwasi 0.0.11 (Colin Ihrig) #35104
  • [836680a4ea] - doc: use present tense in error messages (Rich Trott) #35164
  • [b860a7f61c] - doc: standardize on _backward_ (Rich Trott) #35243
  • [d82dd0c773] - doc: revise stability section of values doc (Rich Trott) #35242
  • [2bc335dcf6] - doc: clarify napi_property_attributes text (Rich Trott) #35253
  • [b62d9b47be] - doc: remove excessive formatting in dgram.md (Rich Trott) #35234
  • [b9161f408f] - doc: sort repl references in ASCII order (Rich Trott) #35230
  • [d195d20dbc] - doc: relax prohibition on personal pronouns (Rich Trott) #34353
  • [6119e9511c] - doc: clarify use of NAPI_EXPERIMENTAL (Michael Dawson) #35195
  • [6d4ab36175] - doc: update attributes used by n-api samples (#35220) (Gerhard Stoebich)
  • [7610fe500e] - doc: add issue labels sections to release guide (Michaël Zasso) #35224
  • [2308be06b3] - doc: fix header level for error code (Rich Trott) #35219
  • [64ac5c68aa] - doc: fix small grammatical issues in timers.md (Turner Jabbour) #35203
  • [92a14d3c72] - doc: add technical values document (Michael Dawson) #35145
  • [dbfd3b261d] - doc: remove "end user" (Rich Trott) #35200
  • [c1c93a6cde] - doc: use command-line/command line consistently (Rich Trott) #35198
  • [70ec369b76] - doc: replace "you should do X" with "do X" (Rich Trott) #35194
  • [e5fffe2f8f] - doc: fix missing word in dgram.md (Tom Atkinson) #35231
  • [c1e16d15dd] - doc: fix deprecation documentation inconsistencies (Antoine du HAMEL) #35082
  • [910deff2de] - doc: fix broken link in crypto.md (Rich Trott) #35181
  • [066148d229] - doc: remove problematic auto-linking of curl man pages (Rich Trott) #35174
  • [aea3f77c8d] - doc: update eventLoopUtilization documentation (Anna Henningsen) #35155
  • [32d1731ae1] - doc: update process.release (schamberg97) #35167
  • [176e9e4054] - doc: fix broken links in modules.md (Rich Trott) #35182
  • [dc4c5696da] - doc: add missing copyFile change history (Shelley Vohr) #35056
  • [e8d479ed67] - doc: perform cleanup on security-release-process.md (Rich Trott) #35154
  • [99785e48ea] - doc: fix minor punctuation issue in path.md (Amila Welihinda) #35127
  • [ae85228e54] - doc: perform minor cleanup on cli.md (Rich Trott) #35152
  • [e4105140e7] - doc: improve table accessibility (Rich Trott) #35146
  • [7dbcd24541] - doc: fix left nav color contrast (Rich Trott) #35141
  • [331142ca25] - doc: update contact info for Ash Cripps (Ash Cripps) #35139
  • [df70861863] - doc: simplify circular dependencies text in modules.md (Rich Trott) #35126
  • [f4e714aaf5] - doc: update my email address (Michael Dawson) #35121
  • [46b9f4b376] - doc: add missing changes entry for breakEvalOnSigint REPL option (Anna Henningsen) #35143
  • [122edad98b] - doc: update security process (Michael Dawson) #35107
  • [aa93c1c22d] - doc: fix broken link in perf_hooks.md (Rich Trott) #35113
  • [5c8d2083c5] - doc: fix broken link in http2.md (Rich Trott) #35112
  • [f4e958fc0c] - doc: fix broken link in fs.md (Rich Trott) #35111
  • [79c6d92e49] - doc: fix broken links in deprecations.md (Rich Trott) #35109
  • [93e4d545d8] - doc: add note about path.basename on Windows (Tobias Nießen) #35065
  • [0a2610a7aa] - doc: avoid double-while sentence in perf_hooks.md (Rich Trott) #35078
  • [1cf9934e4e] - doc: make minor improvements to module.md (Rich Trott) #35083
  • [fb89be63be] - doc: use correct Error type for EventEmitter.defaultMaxListener (Rich Trott) #35069
  • [b75822dd93] - doc,test: specify and test CLI option precedence rules (Anna Henningsen) #35106
  • [4bde865145] - errors: simplify ERR_REQUIRE_ESM message generation (Rich Trott) #35123
  • [6e622d6337] - esm: better package.json parser errors (Guy Bedford) #35117
  • [beb75bd031] - fs: loosen validation to allow objects with an own toString function (Jordan Harband) #34993
  • [8ea28536d0] - http: only set keep-alive when not exists ([email protected]) #35138
  • [977b0ed865] - http: allow Content-Length header for 304 responses (Arnaud Lefebvre) #34835
  • [d8b57140b4] - https: set requestTimeout default to 0 (Robert Nagy) #35264
  • [12f2934224] - meta: add links to OpenJSF Slack (Mary Marchini) #35128
  • [f21a5c6200] - meta: update my collab entry (devsnek) #35160
  • [76e24f9aa9] - module: use isURLInstance instead of instanceof (Antoine du HAMEL) #34951
  • [314483cd09] - module: fix specifier resolution option value (himself65) #35098
  • [ca1181615e] - (SEMVER-MINOR) n-api: create N-API version 7 (Gabriel Schulhof) #35199
  • [7f3b2b2a1f] - (SEMVER-MINOR) n-api: add more property defaults (Gerhard Stoebich) #35214
  • [4f4faa8e3c] - readline: fix key name for function keys with modifiers (DrunkenPoney) #35268
  • [e29e2daf4c] - test: improve assertions in pummel/test-timers (Rich Trott) #35216
  • [8357b56984] - test: add wasi readdir() test (Colin Ihrig) #35202
  • [49da459ce6] - test: improve pummel/test-timers.js (Rich Trott) #35175
  • [379c5cefd7] - test: revise test-policy-integrity (Rich Trott) #35101
  • [6627c1f8e4] - test: remove setMaxListeners in test-crypto-random (Tobias Nießen) #35079
  • [bc38485fb1] - test: fix comment about DNS lookup test (Tobias Nießen) #35080
  • [9faaa659b2] - test: separate the test fixtures between ICU and URL (Leko) #35077
  • [25f93f3ec3] - test: add more valid results to test-trace-atomics-wait (Anna Henningsen) #35066
  • [0a97f44b50] - tools: update ESLint to 7.9.0 (Colin Ihrig) #35170

New in Node.js 14.11.0 Current (Sep 16, 2020)

  • Notable Changes:
  • This is a security release.
  • Vulnerabilities fixed:
  • CVE-2020-8251: Denial of Service by resource exhaustion CWE-400 due to unfinished HTTP/1.1 requests (Critical).
  • CVE-2020-8201: HTTP Request Smuggling due to CR-to-Hyphen conversion (High).
  • Commits:
  • [dd828376a0] - deps: update llhttp to 2.1.2 (Fedor Indutny) nodejs-private/node-private#215
  • [753f3b247a] - http: add requestTimeout (Matteo Collina, Paolo Insogna, Robert Nagy) nodejs-private/node-private#208

New in Node.js 14.10.1 Current (Sep 11, 2020)

  • Notable Changes:
  • Node.js 14.10.0 included a streams regression with async generators and a docs rendering regression that are being fixed in this release.
  • Commits:
  • [3c92f93b44] - doc: restore color for visited links (Rich Trott) #35108
  • [0f94c6b4e4] - Revert "stream: simpler and faster Readable async iterator" (Richard Lau)

New in Node.js 14.10.0 (Sep 9, 2020)

  • Notable Changes:
  • [2ab33c58ae] - (SEMVER-MINOR) buffer: also alias BigUInt methods (Anna Henningsen) #34960
  • [44d89a9faa] - (SEMVER-MINOR) crypto: add randomInt function (Oli Lalonde) #34600
  • [8aac42caf2] - (SEMVER-MINOR) perf_hooks: add idleTime and event loop util (Trevor Norris) #34938
  • [4bb40078da] - (SEMVER-MINOR) stream: simpler and faster Readable async iterator (Robert Nagy) #34035
  • [ffae5f3809] - (SEMVER-MINOR) stream: save error in state (Robert Nagy) #34103
  • Commits:
  • [1fdfaa578f] - bootstrap: correct --frozen-intrinsics override fix (Guy Bedford) #35041
  • [2ab33c58ae] - (SEMVER-MINOR) buffer: also alias BigUInt methods (Anna Henningsen) #34960
  • [1be6956ee0] - build: require "allow edits" to be checked (Jordan Harband) #35002
  • [7b7299012e] - build: comment about auto close when stalled via with github action (Phillip Johnsen) #34555
  • [d6c796b4ab] - build: close stalled issues and PRs with github action (Phillip Johnsen) #34555
  • [46766a10df] - build: use autorebase option for git node land (Denys Otrishko) #34969
  • [7afb67f491] - build: use latest node-core-utils from npm (Denys Otrishko) #34969
  • [d06e158253] - build: add support for build on arm64 (Evan Lucas) #34238
  • [755f9e4bc8] - build,deps: add gen-openssl target (Evan Lucas) #34642
  • [178a740caf] - crypto: simplify KeyObject constructor (Rich Trott) #35064
  • [a12d92c97b] - crypto: fix randomInt range check (Tobias Nießen) #35052
  • [6d0d5b2ec2] - crypto: align parameter names with documentation (Rich Trott) #35054
  • [44d89a9faa] - (SEMVER-MINOR) crypto: add randomInt function (Oli Lalonde) #34600
  • [791a85b880] - deps: V8: cherry-pick 6be2f6e26e8d (Benjamin Coe) #35055
  • [96ae05a770] - deps: V8: backport 3f071e3e7e15 (Milad Farazmand) #35036
  • [90f9348297] - deps: update brotli to v1.0.9 (Anna Henningsen) #34937
  • [f1fcd6646d] - deps: add openssl support for arm64 (Evan Lucas) #34238
  • [bbf7b925a2] - doc: use present tense in events.md (Rich Trott) #35068
  • [f6b2286e12] - doc: change stablility-2 color for accessibility (Rich Trott) #35061
  • [8044533e87] - doc: add link to safe integer definition (Tobias Nießen) #35049
  • [f03a4d78a2] - doc: format exponents better (Tobias Nießen) #35050
  • [1a9ca52716] - doc: add ESM examples in module API doc page (Antoine du HAMEL) #34875
  • [0ac7d5423f] - doc: add deprecated badge to legacy URL methods (Antoine du HAMEL) #34931
  • [a08e853edc] - doc: spruce up user journey to local docs browsing (Derek Lewis) #34986
  • [83a3e3b681] - doc: update syntax highlighting color for accessibility (Rich Trott) #35063
  • [5bd0e0803d] - doc: fix incorrect URL in cli.md (Rich Trott) #35043
  • [28e89f6766] - doc: remove style for empty links (Antoine du HAMEL) #35034
  • [cdc1198a62] - doc: fix certificate display in tls doc (Rich Trott) #35032
  • [72d03cd802] - doc: remove duplicate error code entry (Rich Trott) #35031
  • [680782ea64] - doc: use consistent header typography (Rich Trott) #35030
  • [1ae674c67a] - doc: fix malformed hashes in assert.md (Rich Trott) #35028
  • [c3a3cb69aa] - doc: fix a typo of microtaskMode (Shigma) #34980
  • [a846a9f116] - doc: change 'be will' to 'will be' (Victory Osikwemhe) #34999
  • [593236ad33] - doc: change color contrast for accessibility (Rich Trott) #35047
  • [8c207c67d1] - doc: refactor deprecation anchors (Antoine du HAMEL) #34955
  • [cc0aaf2384] - doc: error code fix in resolver spec (Guy Bedford) #34998
  • [a4201843e7] - doc: use period consistently in man page (Rich Trott) #34939
  • [f1217d6d8b] - doc: revise commit-queue.md (Rich Trott) #35006
  • [9aba579acb] - doc: change effected to affected (Turner Jabbour) #34989
  • [2598527112] - doc: drop the --production flag for installing windows-build-tools (DeeDeeG) #34979
  • [287ce7b810] - doc: fix broken link to response.writableFinished in deprecations doc (Rich Trott) #34983
  • [a0656ff863] - doc: fix broken link to response.finished in deprecations doc (Rich Trott) #34982
  • [f4524b8936] - doc: fix broken link to writableEnded in deprecations doc (Rich Trott) #34984
  • [514a538f64] - doc: fix typos in buffer doc (Robert Williams) #34981
  • [df76c89b78] - doc: recommend URL() over url.parse() in http2 doc (Rich Trott) #34978
  • [ca0302e4f1] - doc: arrange perf_hooks entries alphabetically (Rich Trott) #34973
  • [94c6e09367] - doc: replace require() with reference links in http2.md (Rich Trott) #34956
  • [2407a7a671] - doc: add a note about possible missing lines to readline.asyncIterator (Igor Mikhalev) #34675
  • [31098a4c0e] - doc: make minor improvements to query string sentence in http2.md (Rich Trott) #34929
  • [1589f0e6f4] - doc: make general copy-edit changes to policy.md (Rich Trott) #34943
  • [aee3b8510b] - doc: simplify "make use of" to "use" (Rich Trott) #34861
  • [0e09ff8ab1] - doc: make minor fixes to maintaining-openssl.md (Rich Trott) #34926
  • [b091681d25] - doc: fix CHANGELOG.md parsing issue (Juan José Arboleda) #34923
  • [fbd18be459] - doc: provide more guidance about process.version (Rich Trott) #34909
  • [4782ec7b3b] - doc: use consistent typography for node-addon-api (Rich Trott) #34910
  • [2fe95094fd] - doc: improve link-local text in dgram.md (Rich Trott) #34868
  • [657292e2dd] - doc: fix broken markdown/display in cli.html (Rich Trott) #34892
  • [4cf93bb3cf] - doc: use "previous"/"preceding" instead of "above" as modifier (Rich Trott) #34877
  • [29b048b06b] - doc: use links to MS guide in style guide (Rich Trott) #34871
  • [52be37cf39] - doc,tools: remove malfunctioning Linux manpage linker (Rich Trott) #34985
  • [fffba3a270] - errors: use ErrorPrototypeToString from primordials object (ExE Boss) #34891
  • [db8c66b8c2] - esm: shorten ERR_UNSUPPORTED_ESM_URL_SCHEME message (Rich Trott) #34836
  • [be71e717c5] - meta: enable wasi for CODEOWNERS (gengjiawen) #34889
  • [a43b7ff72e] - meta: remove non-existent quic from CODEOWNERS (Richard Lau) #34947
  • [3c32fe09e9] - n-api: re-implement async env cleanup hooks (Gabriel Schulhof) #34819
  • [fcb211f38a] - net: replace usage of internal stream state with public api (Denys Otrishko) #34885
  • [8aac42caf2] - (SEMVER-MINOR) perf_hooks: add idleTime and event loop util (Trevor Norris) #34938
  • [18b04ab4c8] - policy: implement scopes field (Bradley Farias) #34552
  • [1bf5d1a39b] - querystring: manage percent character at unescape (Daijiro Wachi) #35013
  • [f21d78d537] - src: shutdown libuv before exit() (Anna Henningsen) #35021
  • [789798bedf] - src: add get/set pair for env context awareness (Shelley Vohr) #35024
  • [73ef3f2f05] - src: disallow JS execution during exit() (Anna Henningsen) #35020
  • [f6a5999a9d] - src,doc: fix wording to refer to context, not environment (Turner Jabbour) #34880
  • [bcc1d431f8] - src,doc: fix grammar due to missing 'is' (Turner Jabbour) #34897
  • [044297ff10] - src,doc: rephrase for clarity (Turner Jabbour) #34879
  • [4bb40078da] - (SEMVER-MINOR) stream: simpler and faster Readable async iterator (Robert Nagy) #34035
  • [ffae5f3809] - (SEMVER-MINOR) stream: save error in state (Robert Nagy) #34103
  • [5f24cea11a] - stream: fix Readable stream state properties (Denys Otrishko) #34886
  • [f537c868b9] - stream: allow using .push()/.unshift() during once('data') (Anna Henningsen) #34957
  • [4d533858cf] - test: make .out checks embedder-friendly (Shelley Vohr) #35040
  • [a756b92c4a] - test: use mustCall() in test-http-timeout (Pooja D.P) #34996
  • [9011c87c1c] - test: change var to let (Pooja D.P) #34902
  • [b698d2ec81] - test: remove incorrect debug() in test-policy-integrity (Rich Trott) #34961
  • [ee6a583b9f] - test: fix typo in test/parallel/test-icu-punycode.js (Daijiro Wachi) #34934
  • [9057a1644d] - test: add readline test for escape sequence (Rich Trott) #34952
  • [75d16125e1] - test: make test-tls-reuse-host-from-socket pass without internet (Rich Trott) #34953
  • [971b7ac087] - test: simplify test-vm-memleak (Rich Trott) #34881
  • [577978a96c] - tools: fix docopen target (Antoine du HAMEL) #35062
  • [2b445bb3ee] - tools: fix doc build targets (Antoine du HAMEL) #35060
  • [3d41ff25b7] - tools: add banner to lint-md.js by rollup.config.js (KuthorX) #34233
  • [62cc3b8249] - tools: update ESLint to 7.8.1 (cjihrig) #35004
  • [c47d319ac6] - tools: update ESLint to 7.8.0 (cjihrig) #35004
  • [b6f3ae8ffc] - tools,doc: allow page titles to contain inline code (Antoine du HAMEL) #35003
  • [fb2111e300] - tools,doc: fix global table of content active element (Antoine du Hamel) #34976
  • [7ad629e4e4] - tools,doc: remove "toc" anchor name (Rich Trott) #34893
  • [94528f510e] - zlib: replace usage of internal stream state with public api (Denys Otrishko) #34884

New in Node.js 14.9.0 (Sep 9, 2020)

  • Notable Changes:
  • n-api: handle weak no-finalizer refs correctly (Gabriel Schulhof) #34839
  • tools: add debug entitlements for macOS 10.15+ (Gabriele Greco) #34378
  • build: set --v8-enable-object-print by default (Mary Marchini) #34705
  • deps:
  • upgrade to libuv 1.39.0 (cjihrig) #34915
  • upgrade npm to 6.14.8 (Ruy Adorno) #34834
  • V8: cherry-pick e06ace6b5cdb (Anna Henningsen) #34673
  • Commits:
  • [aaa6e43d3c] - Forces Powershell to use tls1.2 (Bartosz Sosnowski) #33609
  • [8de6b72efa] - benchmark: add benchmark script for resourceUsage (Yash Ladha) #34691
  • [e4450a199f] - benchmark: update function_args addon code (Anna Henningsen) #34725
  • [332e38433b] - (SEMVER-MINOR) buffer: alias UInt ➡️ Uint in buffer methods (Anna Henningsen) #34729
  • [7f0869f963] - build: run link checker in linter workflow (Richard Lau) #34810
  • [9ca4b2ad5c] - build: add CODEOWNERS linter action (Mary Marchini) #34739
  • [bdf26aebb4] - (SEMVER-MINOR) build: add build flag for OSS-Fuzz integration (davkor) #34761
  • [d89a83c62c] - build: move compiling for Windows ARM64 to Tier 2 (João Reis) #34721
  • [aed82379dd] - build: implement a Commit Queue in Actions (Mary Marchini) #34112
  • [15c92083b5] - build: set --v8-enable-object-print by default (Mary Marchini) #34705
  • [201d3d7074] - build: cover all benchmark addons with C++ linter (Anna Henningsen) #34725
  • [2abc98e9ff] - build: add flag to build V8 with OBJECT_PRINT (Mary Marchini) #32834
  • [6048421726] - build,win: use x64 Node when building for ARM64 (Dennis Ameling) #34009
  • [69bcca122e] - crypto: avoid unitializing ECDH objects on error (Tobias Nießen) #34302
  • [cf348542c6] - deps: upgrade to libuv 1.39.0 (cjihrig) #34915
  • [68b7a8db6f] - deps: upgrade npm to 6.14.8 (Ruy Adorno) #34834
  • [9527a2a8a7] - deps: V8: cherry-pick e06ace6b5cdb (Anna Henningsen) #34673
  • [cd32522c92] - doc: add missing DEP ID for 'new crypto.Certificate()' (Beth Griggs) #34940
  • [ff15c92a7f] - doc: improve fs doc intro (James M Snell) #34843
  • [dae93ca0cb] - doc: indicate the format of process.version (Danny Guo) #34872
  • [bf7f492cb6] - doc: rename module pages (Antoine du HAMEL) #34663
  • [f2c2f42195] - doc: improve wording in deprecations.md (Rich Trott) #34860
  • [4b3b0e3f98] - doc: fix ESM/CJS wrapper example (Maksim Sinik) #34853
  • [d6bb2ad5ea] - doc: adopt Microsoft Style Guide officially (Rich Trott) #34821
  • [e4679bd45d] - doc: use 'console' info string for console output (Rich Trott) #34837
  • [b1c3fb73fc] - doc: fix bulleted list punctuation in BUILDING.md (Rich Trott) #34849
  • [ef41ddf5cb] - doc: sort references lexically (Rich Trott) #34848
  • [3133b75b68] - doc: move addaleax to TSC emeritus (Anna Henningsen) #34809
  • [5214de78cd] - doc: remove space above version picker (Justice Almanzar) #34768
  • [34430abd71] - doc: move module core module doc to separate page (Antoine du HAMEL) #34747
  • [b356b79ca4] - doc: reorder deprecated tls docs (Jerome T.K. Covington) #34687
  • [5c987ffc96] - doc: fix file name to main.mjs and not main.js in esm.md (Frank Lemanschik) #34786
  • [969fb1c5e3] - doc: improve async_hooks snippets (Andrey Pechkurov) #34829
  • [3360dcbfab] - doc: fix some typos and grammar mistakes (Hilla Shahrabani) #34800
  • [47f2f45dd8] - doc: deprecate (doc-only) crypto.Certificate() (Rich Trott) #34697
  • [3bfe199c28] - doc: remove "is recommended from crypto legacy API text (Rich Trott) #34697
  • [258f64f578] - doc: edit filehandle.close() entry in fs.md (Rich Trott) #34782
  • [e54a6842e0] - doc: fix broken links in commit-queue.md (Luigi Pinca) #34789
  • [3925fd6550] - doc: avoid _may_ in collaborator guide (Rich Trott) #34749
  • [cb0960635b] - doc: use sentence-casing for headers in collaborator guide (Rich Trott) #34713
  • [8b5690287c] - doc: edit (general) collaborator guide (Rich Trott) #34712
  • [b933eef1f3] - doc: reduce repetitiveness on Consensus Seeking (Mary Marchini) #34702
  • [f7563f811a] - doc: remove typo in crypto.md (Rich Trott) #34698
  • [ea98122a51] - doc: n-api environment life cycle APIs are stable (Jim Schlight) #34641
  • [b00f71b660] - doc: add padding in the sidebar column (Antoine du HAMEL) #34665
  • [91f53245ae] - doc: use semantically appropriate tag for lines (Antoine du HAMEL) #34660
  • [230bcaf276] - doc: add HPE_UNEXPECTED_CONTENT_LENGTH error description (Nikolay Krashnikov) #34596
  • [d29b805569] - doc: update http server response 'close' event (Renato Mariscal) #34472
  • [b93ba07fa5] - doc: add writable and readable options to Duplex docs (Priyank Singh) #34383
  • [7cde699115] - doc: harden policy around objections (Mary Marchini) #34639
  • [7d0970ca66] - doc,lib: remove unused error code (Rich Trott) #34792
  • [9ebae0a758] - doc,n-api: add link to n-api tutorial website (Jim Schlight) #34870
  • [cdd4540124] - doc,tools: annotate broken links in actions workflow (Richard Lau) #34810
  • [dbcb36d553] - errors: improve ERR_INVALID_OPT_VALUE error (Denys Otrishko) #34671
  • [8f38c19c08] - esm: improve error message of ERR_UNSUPPORTED_ESM_URL_SCHEME (Denys Otrishko) #34795
  • [7ef5591d06] - fs: guard against undefined behavior (Robert Nagy) #34746
  • [952f233e39] - http: add RFC references for each status code (Voltra) #33671
  • [cc7258469c] - http2: fix Http2Response.sendDate (João Lucas Lucchetta) #34850
  • [9e0d18fd3f] - http2: use and support non-empty DATA frame with END_STREAM flag (Carlos Lopez) #33875
  • [6ee2578427] - http2: add maxHeaderSize option to http2 (Priyank Singh) #33636
  • [04defbaacd] - lib: allow to validate enums with validateOneOf (Denys Otrishko) #34070
  • [1a9496a79d] - lib: add UNC support to url.pathToFileURL() (Matthew McEachen) #34743
  • [124a01d487] - lib: use full URL to GitHub issues in comments (Rich Trott) #34686
  • [756c058c45] - meta: fix codeowners docs path (Mary Marchini) #34811
  • [2781f646c9] - meta: add TSC as owner of governance-related docs (Mary Marchini) #34737
  • [a69d30eb3f] - module: drop -u alias for --conditions (Richard Lau) #34935
  • [e4a0e5bc1a] - module: fix check for package.json at volume root (Derek Lewis) #34595
  • [698cae7625] - module: share CJS/ESM resolver fns, refactoring (Guy Bedford) #34744
  • [6929649793] - module: custom --conditions flag option (Guy Bedford) #34637
  • [9a7c87df37] - module: use cjsCache over esm injection (Guy Bedford) #34605
  • [98f7d8ec81] - n-api: handle weak no-finalizer refs correctly (Gabriel Schulhof) #34839
  • [90abdd3dd4] - net: validate custom lookup() output (cjihrig) #34813
  • [84031183bc] - policy: support conditions for redirects (Bradley Farias) #34414
  • [a16f0f427e] - process: correctly parse Unicode in NODE_OPTIONS (Bartosz Sosnowski) #34476
  • [fff1e7f86c] - src: fix abort on uv_loop_init() failure (Ben Noordhuis) #34874
  • [7666d95c7d] - src: usage of modernize-use-equals-default (Yash Ladha) #34807
  • [3022e0d614] - src: prefer C++ empty() in boolean expressions (Tobias Nießen) #34432
  • [e16b3e72f9] - test: fix test-cluster-net-listen-relative-path.js to run in / (Rich Trott) #34820
  • [2a78c33445] - test: run REPL preview test regardless of terminal type (Rich Trott) #34798
  • [6b45bf3475] - test: modernize test-cluster-master-error (Anna Henningsen) #34685
  • [c080fc590d] - test: move test-inspector-already-activated-cli to parallel (Rich Trott) #34755
  • [7ed7ef7ad8] - test: move execution of WPT to worker threads (Michaël Zasso) #34796
  • [e8eed5c426] - test: convert assertion that always fails to assert.fail() (Rich Trott) #34793
  • [c458e8406e] - test: remove common.rootDir (Rich Trott) #34772
  • [1c324d5939] - test: allow ENOENT in test-worker-init-failure (Rich Trott) #34769
  • [88919e584b] - test: allow ENFILE in test-worker-init-failure (Rich Trott) #34769
  • [a78c638fc3] - test: use process.env.PYTHON to spawn python (Anna Henningsen) #34700
  • [9a790203ed] - test: remove error message checking in test-worker-init-failure (Rich Trott) #34727
  • [0472d1629a] - test: skip node-api/test_worker_terminate_finalization (Anna Henningsen) #34732
  • [8e91f3ec0a] - test: fix test_worker_terminate_finalization (Anna Henningsen) #34726
  • [fd5153c822] - test: split test-crypto-dh-hash (Rich Trott) #34631
  • [9f0917e656] - test: use block-scoping in test/pummel/test-timers.js (Rich Trott) #34630
  • [b261895d2b] - test: remove test-child-process-fork-args flaky designation (Rich Trott) #34684
  • [27c0653517] - test: add vm crash regression test (Anna Henningsen) #34673
  • [093a4b0ae4] - test: add tests for validateNumber/validateString (Denys Otrishko) #34672
  • [5009d82b0c] - test,doc: add missing uv_setup_args() calls (cjihrig) #34751
  • [cca0372022] - (SEMVER-MINOR) timers: allow timers to be used as primitives (Denys Otrishko) #34017
  • [e90cb49390] - tls: enable renegotiation when using BoringSSL (Jeremy Rose) #34832
  • [8766b5bfd5] - tools: add debug entitlements for macOS 10.15+ (Gabriele Greco) #34378
  • [77bbd73919] - util: add debug and debuglog.enabled (Bradley Farias) #33424
  • [513ab0e02f] - worker: fix --abort-on-uncaught-exception handling (Anna Henningsen) #34724
  • [03d601344a] - worker: do not crash when JSTransferable lists untransferable value (Anna Henningsen) #34766
  • [b73943e476] - workers: add support for data: URLs (Antoine du HAMEL) #34584

New in Node.js 14.8.0 (Aug 12, 2020)

  • Notable Changes:
  • [16aa927216] - (SEMVER-MINOR) async_hooks: add AsyncResource.bind utility (James M Snell) #34574
  • [dc49561e8d] - deps: update to uvwasi 0.0.10 (Colin Ihrig) #34623
  • [6cd1c41604] - doc: add Ricky Zhou to collaborators (rickyes) #34676
  • [f0a41b2530] - doc: add release key for Ruy Adorno (Ruy Adorno) #34628
  • [10dd7a0eda] - doc: add DerekNonGeneric to collaborators (Derek Lewis) #34602
  • [62bb2e757f] - (SEMVER-MINOR) module: unflag Top-Level Await (Myles Borins) #34558
  • [8cc9e5eb52] - (SEMVER-MINOR) n-api: support type-tagging objects (Gabriel Schulhof) #28237
  • [e89ec46ba9] - (SEMVER-MINOR) n-api,src: provide asynchronous cleanup hooks (Anna Henningsen) #34572
  • Commits:
  • [650248922b] - async_hooks: avoid GC tracking of AsyncResource in ALS (Gerhard Stoebich) #34653
  • [0a51aa8fdb] - async_hooks: avoid unneeded AsyncResource creation (Gerhard Stoebich) #34616
  • [0af9bee4c3] - async_hooks: improve property descriptors in als.bind (Gerhard Stoebich) #34620
  • [16aa927216] - (SEMVER-MINOR) async_hooks: add AsyncResource.bind utility (James M Snell) #34574
  • [e45c68af27] - async_hooks: don't read resource if ALS is disabled (Gerhard Stoebich) #34617
  • [e9aebc3a8f] - async_hooks: fix id assignment in fast-path promise hook (Andrey Pechkurov) #34548
  • [5aed83c77f] - async_hooks: fix resource stack for deep stacks (Anna Henningsen) #34573
  • [9af62641c6] - async_hooks: execute destroy hooks earlier (Gerhard Stoebich) #34342
  • [14656e1703] - async_hooks: don't reuse resource in HttpAgent when queued (Andrey Pechkurov) #34439
  • [c4457d873f] - benchmark: always throw the same Error instance (Anna Henningsen) #34523
  • [6a129d0cf5] - build: do not run auto-start-ci on forks (Evan Lucas) #34650
  • [2cd299b217] - build: run CI on release branches (Shelley Vohr) #34649
  • [9ed9ccc5b3] - build: enable build for node-v8 push (gengjiawen) #34634
  • [10f29e7550] - build: increase startCI verbosity and fix job name (Mary Marchini) #34635
  • [befbaf384e] - build: don't run auto-start-ci on push (Mary Marchini) #34588
  • [4af5dbd3bf] - build: fix auto-start-ci script path (Mary Marchini) #34588
  • [70cf3cbdfa] - build: auto start Jenkins CI via PR labels (Mary Marchini) #34089
  • [70e9eceeee] - build: toolchain.gypi and node_gyp.py cleanup (iandrc) #34268
  • [465968c5f8] - console: document the behavior of console.assert() (iandrc) #34501
  • [a7b4318df9] - crypto: add OP flag constants added in OpenSSL v1.1.1 (Mateusz Krawczuk) #33929
  • [dc49561e8d] - deps: update to uvwasi 0.0.10 (Colin Ihrig) #34623
  • [8b1ec43da4] - doc: use _Static method_ instead of _Class Method_ (Rich Trott) #34659
  • [a1b9d7f42e] - doc: tidy some addons.md text (Rich Trott) #34654
  • [b78278b922] - doc: use _Class Method_ in async_hooks.md (Rich Trott) #34626
  • [6cd1c41604] - doc: add Ricky Zhou to collaborators (rickyes) #34676
  • [d8e0deaa7c] - doc: edit process.title note for brevity and clarity (Rich Trott) #34627
  • [dd6bf20e8f] - doc: update fs.watch() availability for IBM i (iandrc) #34611
  • [f260bdd57b] - doc: fix typo in path.md (aetheryx) #34550
  • [f0a41b2530] - doc: add release key for Ruy Adorno (Ruy Adorno) #34628
  • [3f55dcd723] - doc: clarify process.title inconsistencies (Corey Butler) #34557
  • [6cd9ea82f6] - doc: document the connection event for HTTP2 & TLS servers (Tim Perry) #34531
  • [0a9389bb1a] - doc: mention null special-case for napi_typeof (Renée Kooi) #34577
  • [10dd7a0eda] - doc: add DerekNonGeneric to collaborators (Derek Lewis) #34602
  • [d7eaf3a027] - doc: revise N-API versions matrix text (Rich Trott) #34566
  • [e2bea73b03] - doc: clarify N-API version 1 (Michael Dawson) #34344
  • [be23e23361] - doc: use consistent spelling for "falsy" (Rich Trott) #34545
  • [f393ae9296] - doc: simplify and clarify console.assert() documentation (Rich Trott) #34544
  • [b69ff2ff60] - doc: use consistent capitalization for addons (Rich Trott) #34536
  • [212d17fa06] - doc: add mmarchini pronouns (Mary Marchini) #34586
  • [7a28c3d543] - doc: update mmarchini contact info (Mary Marchini) #34586
  • [c8104f3d10] - doc: update .mailmap for mmarchini (Mary Marchini) #34586
  • [692a735881] - doc: use sentence-case for headers in SECURITY.md (Rich Trott) #34525
  • [44e6c010b4] - esm: fix hook mistypes and links to types (Derek Lewis) #34240
  • [7322e58d11] - http: reset headers timeout on headers complete (Robert Nagy) #34578
  • [36fd3daae6] - http: provide keep-alive timeout response header (Robert Nagy) #34561
  • [d0efaf2fe3] - lib: use non-symbols in isURLInstance check (Shelley Vohr) #34622
  • [335cb0d1d1] - lib: absorb path error cases (Gireesh Punathil) #34519
  • [521e620533] - meta: uncomment all codeowners (Mary Marchini) #34670
  • [650adeca22] - meta: enable http2 team for CODEOWNERS (Rich Trott) #34534
  • [35ef9907aa] - module: handle Top-Level Await non-fulfills better (Anna Henningsen) #34640
  • [62bb2e757f] - (SEMVER-MINOR) module: unflag Top-Level Await (Myles Borins) #34558
  • [fbd411d28a] - n-api: fix use-after-free with napi_remove_async_cleanup_hook (Anna Henningsen) #34662
  • [8cc9e5eb52] - (SEMVER-MINOR) n-api: support type-tagging objects (Gabriel Schulhof) #28237
  • [2703fe498e] - n-api: simplify bigint-from-word creation (Gabriel Schulhof) #34554
  • [e89ec46ba9] - (SEMVER-MINOR) n-api,src: provide asynchronous cleanup hooks (Anna Henningsen) #34572
  • [b1890e0866] - net: don't return the stream object from onStreamRead (Robey Pointer) #34375
  • [35fdfb44a2] - policy: increase tests via permutation matrix (Bradley Meck) #34404
  • [ddd339ff45] - repl: use _Node.js_ in user-facing REPL text (Rich Trott) #34644
  • [276e2980e2] - repl: use _REPL_ in user-facing text (Rich Trott) #34643
  • [465c262ac6] - repl: improve static import error message in repl (Myles Borins) #33588
  • [12cb0fb8a0] - repl: give repl entries unique names (Bradley Meck) #34372
  • [2dbd15a075] - src: fix linter failures (Anna Henningsen) #34582
  • [2761f349ec] - src: spin shutdown loop while immediates are pending (Anna Henningsen) #34662
  • [39ca48c840] - src: fix size underflow in CallbackQueue (Anna Henningsen) #34662
  • [c1abc8d3e5] - src: fix unused namespace member in node_util (Andrey Pechkurov) #34565
  • [e146686972] - test: fix wrong method call (gengjiawen) #34629
  • [ca89c375f7] - test: add debugging for callbacks in test-https-foafssl.js (Rich Trott) #34603
  • [2133b18bee] - test: add debugging for test-https-foafssl.js (Rich Trott) #34603
  • [b9fb0c63b3] - test: convert most N-API tests from C++ to C (Gabriel Schulhof) #34615
  • [54a4c6a39c] - test: replace flaky pummel regression tests (Anna Henningsen) #34530
  • [bd55236788] - test: change Fixes: to Refs: (Rich Trott) #34568
  • [a340587cfd] - test: fix flaky http-parser-timeout-reset (Robert Nagy) #34609
  • [9c442f9786] - test: remove unneeded flag check in test-vm-memleak (Rich Trott) #34528
  • [05100e1eec] - tools: fix C++ import checker argument expansion (Anna Henningsen) #34582
  • [bf6c8aaae3] - tools: update ESLint to 7.6.0 (Colin Ihrig) #34589
  • [0b1616c2f0] - tools: add meta.fixable to fixable lint rules (Colin Ihrig) #34589
  • [f46649bc5b] - util: print External address from inspect (unknown) #34398
  • [2fa24c0ccc] - wasi: add __wasi_fd_filestat_set_times() test (Colin Ihrig) #34623

New in Node.js 14.7.0 (Jul 30, 2020)

  • Notable Changes:
  • deps:
  • upgrade npm to 6.14.7 (claudiahdz) #34468
  • dgram:
  • (SEMVER-MINOR) add IPv6 scope id suffix to received udp6 dgrams (Pekka Nikander) #14500
  • src:
  • (SEMVER-MINOR) allow preventing SetPromiseRejectCallback (Shelley Vohr) #34387
  • (SEMVER-MINOR) allow setting a dir for all diagnostic output (AshCripps) #33584
  • worker:
  • (SEMVER-MINOR) make MessagePort inherit from EventTarget (Anna Henningsen) #34057
  • zlib:
  • switch to lazy init for zlib streams (Andrey Pechkurov) #34048
  • New Collaborators:
  • add rexagod to collaborators (Pranshu Srivastava) #34457
  • add AshCripps to collaborators (AshCripps) #34494
  • add HarshithaKP to collaborators (Harshitha K P) #34417
  • add release key for Richard Lau (Richard Lau) #34397
  • Commits:
  • [dd2988917f] - async_hooks: optimize fast-path promise hook for ALS (Andrey Pechkurov) #34512
  • [358b934284] - build: fix test-ci-js task in Makefile (Rich Trott) #34433
  • [24e1beb829] - build: do not run benchmark tests on 'make test' (Rich Trott) #34434
  • [b24f254472] - build: add benchmark tests to CI runs (Rich Trott) #34288
  • [a4806e2d12] - build: speed up source tarball creation (Richard Lau) #34508
  • [cce1f3e3a8] - build: don't run test-asan workflow on non-master pushes (Richard Lau) #34509
  • [70f23eb405] - build: remove test-tarball action for windows + osx (Myles Borins) #34440
  • [3fda3d4bf3] - build: don't run Actions on non-master pushes (Shelley Vohr) #34464
  • [f7600d5ab6] - deps: upgrade npm to 6.14.7 (claudiahdz) #34468
  • [02ae6d65d4] - (SEMVER-MINOR) dgram: add IPv6 scope id suffix to received udp6 dgrams (Pekka Nikander) #14500
  • [e5f380052f] - Revert "doc: move ronkorving to emeritus" (Rich Trott) #34507
  • [17bca62428] - doc: use sentence-case for GOVERNANCE.md headers (Rich Trott) #34503
  • [37752cde43] - doc: revise onboarding-extras (Rich Trott) #34496
  • [050866ddf1] - doc: remove breaking-change-helper from onboarding-extras (Rich Trott) #34497
  • [2297d74fd8] - doc: add Triagers section to table of contents in GOVERNANCE.md (Rich Trott) #34504
  • [99a648738c] - doc: onboarding process extras (Gireesh Punathil) #34455
  • [bbc7eeadd9] - doc: mention triage in GOVERNANCE.md (Gireesh Punathil) #34426
  • [92c57b284b] - doc: move thefourtheye to emeritus (Rich Trott) #34471
  • [657f2d78ee] - doc: move ronkorving to emeritus (Rich Trott) #34471
  • [455dd9cc76] - doc: match link text in index to doc headline (Rich Trott) #34449
  • [f4a63f3d9a] - doc: add AshCripps to collaborators (AshCripps) #34494
  • [7d058a4c01] - doc: add author-ready label ref to onboarding doc (Ruy Adorno) #34381
  • [a3c9f75b7e] - doc: add HarshithaKP to collaborators (Harshitha K P) #34417
  • [4b4eb5f130] - doc: add rexagod to collaborators (Pranshu Srivastava) #34457
  • [29ad6fb34e] - doc: add statement of purpose to documentation style guide (Rich Trott) #34424
  • [631dd21709] - doc: mark Node.js 13 as End-of-Life (Antoine du Hamel) #34436
  • [905e3d18c0] - doc: fix line length in worker_threads.md (Jucke) #34419
  • [d67a2b8d38] - doc: fix typos in n-api, tls and worker_threads (Jucke) #34419
  • [39894f8842] - doc: add release key for Richard Lau (Richard Lau) #34397
  • [4a828c6c06] - doc: use correct identifier for callback argument (Rich Trott) #34405
  • [10830732f6] - doc: add changes metadata to TLS newSession event (Tobias Nießen) #34294
  • [10962c81e1] - doc: introduce a triager role (Gireesh Punathil) #34295
  • [50fd2b9de9] - doc: strengthen suggestion in errors.md (Rich Trott) #34390
  • [346c201c4e] - doc: strengthen wording about fs.access() misuse (Rich Trott) #34352
  • [c28453aff4] - doc: fix typo in assert.md (Ye-hyoung Kang) #34316
  • [f60e58b6c9] - doc,tools: syntax highlight api docs at compile-time (Francisco Ryan Tolmasky I) #34148
  • [d90967b346] - events: re-use the same isTrusted getter (Anna Henningsen) #34459
  • [c93a898028] - (SEMVER-MINOR) events: expand NodeEventTarget functionality (Anna Henningsen) #34057
  • [9b91467aac] - http: don't write error to socket (Robert Nagy) #34465
  • [098b193eab] - http2: avoid unnecessary buffer resize (Denys Otrishko) #34480
  • [3024927c9b] - lib: initialize instance members in class constructors (Joyee Cheung) #32984
  • [82fad58ade] - lib: simplify assignment (sapics) #33718
  • [e1199af50a] - module: self referential modules in repl or -r (Daniele Belardi) #32261
  • [e7c64af404] - n-api: run all finalizers via SetImmediate() (Gabriel Schulhof) #34386
  • [668632d531] - net: allow wider regex in interface name (Stewart X Addison) #34364
  • [c05b63d8b2] - src: skip weak references for memory tracking (Anna Henningsen) #34469
  • [b12211eeca] - src: prefer internal fields in ModuleWrap (Anna Henningsen) #34470
  • [cbe6385880] - src: remove unused variable in node_file.cc (sapics) #34317
  • [d6ee1fd0c2] - src: do not crash if ToggleAsyncHook fails during termination (Anna Henningsen) #34362
  • [bd9ab00acd] - (SEMVER-MINOR) src: allow preventing SetPromiseRejectCallback (Shelley Vohr) #34387
  • [5c943588bc] - (SEMVER-MINOR) src: allow setting a dir for all diagnostic output (AshCripps) #33584
  • [9d40af54a6] - src: avoid strcmp in SecureContext::Init (Tobias Nießen) #34329
  • [aef41e5b52] - src: refactor CertCbDone to avoid goto statement (Tobias Nießen) #34325
  • [3d4f608e42] - stream: rename opts to options (rickyes) #34339
  • [fced3ce5ad] - test: add ref comment to test-regress-GH-814_2 (Rich Trott) #34516
  • [d5c8b386c6] - test: add ref comment to test-regress-GH-814 (Rich Trott) #34516
  • [cc279db29f] - test: remove superfluous check in pummel/test-timers (Rich Trott) #34488
  • [3f11ba1c69] - test: fix test-heapdump-zlib (Andrey Pechkurov) #34499
  • [81eaaa27d5] - test: remove duplicate checks in pummel/test-timers (Rich Trott) #34473
  • [1a9138d679] - test: delete invalid test (Anna Henningsen) #34445
  • [4e2f5fa907] - test: fixup worker + source map test (Anna Henningsen) #34446
  • [cd35d00518] - test: force resigning of app (Colin Ihrig) #34331
  • [eecb92c9da] - test: fix flaky test-watch-file (Rich Trott) #34420
  • [30da332314] - test: fix flaky test-heapdump-http2 (Rich Trott) #34415
  • [77542a4a7a] - test: do not write to fixtures dir in test-watch-file (Rich Trott) #34376
  • [699da05b29] - test: remove common.localhostIPv6 (Rich Trott) #34373
  • [ec1393db63] - test: fix test-net-pingpong pummel test for non-IPv6 hosts (Rich Trott) #34359
  • [8ca80427db] - test: fix flaky test-net-connect-econnrefused (Rich Trott) #34330
  • [e9c7722ea4] - tls: remove setMaxSendFragment guards (Tobias Nießen) #34323
  • [f4d61c7ce9] - tools: update ESLint to 7.5.0 (Colin Ihrig) #34423
  • [74da2c44ca] - util: improve getStringWidth performance (Ruben Bridgewater) #33674
  • [c9b652f13f] - vm: add tests for function declarations using [[DefineOwnProperty]] (ExE Boss) #34032
  • [0aa3809b6b] - (SEMVER-MINOR) worker: make MessagePort inherit from EventTarget (Anna Henningsen) #34057
  • [252f37630a] - zlib: switch to lazy init for zlib streams (Andrey Pechkurov) #34048

New in Node.js 14.6.0 (Jul 23, 2020)

  • Notable Changes:
  • deps:
  • upgrade to libuv 1.38.1 (Colin Ihrig) #34187
  • upgrade npm to 6.14.6 (claudiahdz) #34246
  • (SEMVER-MINOR) update V8 to 8.4.371.19 (Michaël Zasso) #33579
  • module:
  • (SEMVER-MINOR) doc only deprecation of module.parent (Antoine du HAMEL) #32217
  • (SEMVER-MINOR) package "imports" field (Guy Bedford) #34117
  • src:
  • (SEMVER-MINOR) allow embedders to disable esm loader (Shelley Vohr) #34060
  • tls:
  • (SEMVER-MINOR) make 'createSecureContext' honor more options (Mateusz Krawczuk) #33974
  • vm:
  • (SEMVER-MINOR) add run-after-evaluate microtask mode (Anna Henningsen) #34023
  • worker:
  • (SEMVER-MINOR) add option to track unmanaged file descriptors (Anna Henningsen) #34303
  • New Collaborators:
  • add danielleadams to collaborators (Danielle Adams) #34360
  • add ruyadorno to collaborators (Ruy Adorno) #34297
  • add sxa as collaborator (Stewart X Addison) #34338
  • Commits:
  • [afec0d7f51] - async_hooks: improve resource stack performance (Anna Henningsen) #34319
  • [f340571301] - (SEMVER-MINOR) build: reset embedder string to "-node.0" (Michaël Zasso) #33579
  • [de250c136c] - build: recommend Python 3.8 to build on Windows (Michaël Zasso) #34182
  • [a130771d4f] - build,tools: fix cmd_regen_makefile (Daniel Bevenius) #34255
  • [cfd4c8012d] - crypto: move typechecking for timingSafeEqual into C++ (Anna Henningsen) #34141
  • [95afc2e50e] - deps: V8: update headers for ABI compatibility (Anna Henningsen) #34356
  • [2c9fd6ebd4] - deps: V8: revert de4c0042cbe6 from upstream V8 (Anna Henningsen) #34356
  • [447b1e86a5] - deps: V8: re-add dummy Isolate::CheckMemoryPressure (Anna Henningsen) #34356
  • [2079fefacf] - deps: V8: undo header change of 9dbab9bbdb979 (Anna Henningsen) #34356
  • [9f886c968c] - (SEMVER-MINOR) deps: bump minimum icu version to 67 (Michaël Zasso) #33579
  • [3fa7ad3375] - (SEMVER-MINOR) deps: update V8 postmortem metadata script (Colin Ihrig) #33579
  • [4c37837424] - deps: V8: cherry-pick eec10a2fd8fa (Stephen Belanger) #33778
  • [fb180ac110] - deps: V8: backport 22014de00115 (Joyee Cheung) #33300
  • [01e788622c] - (SEMVER-MINOR) deps: V8: fix compilation on VS2017 (Jiawen Geng) #33579
  • [f269dff06e] - (SEMVER-MINOR) deps: V8: cherry-pick 9868b2aefa1a (Michaël Zasso) #33579
  • [335e3861c3] - (SEMVER-MINOR) deps: patch V8 to run on Xcode 8 (Matheus Marchini) #32116
  • [355e2f2b6a] - (SEMVER-MINOR) deps: V8: silence irrelevant warnings (Michaël Zasso) #32116
  • [eb6ded61b7] - (SEMVER-MINOR) deps: make v8.h compatible with VS2015 (Joao Reis) #32116
  • [a4b71e02ca] - (SEMVER-MINOR) deps: V8: forward declaration of Rtl*FunctionTable (Refael Ackermann) #32116
  • [1e37442fdd] - (SEMVER-MINOR) deps: V8: patch register-arm64.h (Refael Ackermann) #32116
  • [eac35c6061] - (SEMVER-MINOR) deps: patch V8 to run on older XCode versions (Ujjwal Sharma) #32116
  • [51d86f4b59] - (SEMVER-MINOR) deps: V8: un-cherry-pick bd019bd (Refael Ackermann) #32116
  • [9cd523d148] - (SEMVER-MINOR) deps: update V8 to 8.4.371.19 (Michaël Zasso) #33579
  • [24f76cf004] - deps: upgrade npm to 6.14.6 (claudiahdz) #34246
  • [a9ca4204e0] - deps: upgrade to libuv 1.38.1 (Colin Ihrig) #34187
  • [601ed8ef7e] - deps: V8: backport 2d5017a0fc02 (Benjamin Coe) #34272
  • [17174e69ce] - doc: clarify conditional exports guidance (Guy Bedford) #34306
  • [1dd265384b] - doc: reword warnings about sockets passed to subprocesses (Rich Trott) #34273
  • [ef31f179e0] - doc: sync deprecation numbers with v14.x (Myles Borins) #34368
  • [0b42e5d205] - doc: add danielleadams to collaborators (Danielle Adams) #34360
  • [1cc65332b0] - doc: buffer documentation improvements (James M Snell) #34230
  • [d11496174d] - doc: improve text in fs docs about omitting callbacks (Rich Trott) #34307
  • [d2c58948e9] - doc: add sxa as collaborator (Stewart X Addison) #34338
  • [d865be4cab] - doc: move sebdeckers to emeritus (Rich Trott) #34298
  • [24fe55872f] - doc: add ruyadorno to collaborators (Ruy Adorno) #34297
  • [e6776fe194] - doc: move kfarnung to collaborator emeriti list (Rich Trott) #34258
  • [7416028f99] - doc: specify encoding in text/html examples (James M Snell) #34222
  • [9339f9f602] - doc: document the ready event for Http2Stream (James M Snell) #34221
  • [25ac669be9] - doc: add comment to example about 2xx status codes (James M Snell) #34223
  • [6f014d0b13] - doc: document that whitespace is ignored in base64 decoding (James M Snell) #34227
  • [431bfe177f] - doc: add note about multiple sync events and once (James M Snell) #34220
  • [ffe6886de9] - doc: document behavior for once(ee, 'error') (James M Snell) #34225
  • [a6a656abaa] - doc: document security issues with url.parse() (James M Snell) #34226
  • [abfab9892b] - doc: replace http to https of link urls (sapics) #34158
  • [2e20cd4fde] - doc: remove errors that were never released (Rich Trott) #34197
  • [c83d98619d] - doc: move ERR_FEATURE_UNAVAILABLE_ON_PLATFORM to current errors (Rich Trott) #34196
  • [59bb6d6663] - doc: move digitalinfinity to emeritus (Rich Trott) #34191
  • [39d6ecdea9] - doc: move gibfahn to emeritus (Rich Trott) #34190
  • [938de338ef] - doc: specify how fs.WriteStream/ReadStreams are created (James M Snell) #34188
  • [326b854e6e] - doc: remove parenthetical rn comment in http and http2 docs (Rich Trott) #34178
  • [a2dd2589c1] - doc: remove stability from unreleased errors (Rich Trott) #33764
  • [8dd8b1a8be] - doc: util.debuglog callback (Bradley Meck) #33856
  • [aaba1c08dc] - doc: update wording in "Two reading modes" (Julien Poissonnier) #34119
  • [6aa0dac362] - doc: clarify that the ctx argument is optional (Luigi Pinca) #34097
  • [1558800217] - doc: add a reference to the list of OpenSSL flags. (Mateusz Krawczuk) #34050
  • [25d310b631] - doc: no longer maintain a CNA structure (Sam Roberts) #33639
  • [5ae2b74350] - doc: use consistent naming in stream doc (Saleem) #30506
  • [a0cfa62338] - doc: clarify how to read process.stdin (Anentropic) #27350
  • [e8184554ba] - doc: fix entry for napi_create_external_buffer (Gabriel Schulhof) #34125
  • [167a21a66a] - doc: fix source link margin to sub-header mark (Rodion Abdurakhimov) #33664
  • [146538de65] - doc: improve async_hooks asynchronous context example (Denys Otrishko) #33730
  • [e386188775] - doc: clarify esm conditional exports prose (Derek Lewis) #33886
  • [e273edf943] - doc: Add maxTotalSockets option to agent constructor (rickyes) #34013
  • [ab6b786e9d] - doc: add streams to the pipeline function signature (rickyes) #34153
  • [9f0bf5c9e1] - doc: improve triaging text in issues.md (Rich Trott) #34164
  • [22c1fbf4cb] - doc: simply dns.ADDRCONFIG language (Rich Trott) #34155
  • [7fc56ebd0d] - doc: remove "considered" in errors.md (Rich Trott) #34152
  • [e33c09cb3a] - doc: simplify and clarify ReferenceError material in errors.md (Rich Trott) #34151
  • [af9e6f6e1b] - doc: add http highlight grammar (Derek Lewis) #33785
  • [26ecdf8ade] - doc: move sam-github to TSC Emeriti (Sam Roberts) #34095
  • [78a4d97b82] - doc: change "considered experimental" to "experimental" in n-api.md (Rich Trott) #34129
  • [da5fde6594] - doc: changed "considered experimental" to "experimental" in cli.md (Rich Trott) #34128
  • [49d2d49336] - doc: improve text in issues.md (falguniraina) #33973
  • [9d30f0542c] - doc: change "currently not considered public" to "not supported" (Rich Trott) #34114
  • [64bd518f26] - doc: clarify that APIs are no longer experimental (Rich Trott) #34113
  • [ee6ccef091] - doc: clarify O_EXCL text in fs.md (Rich Trott) #34096
  • [05a69e2e88] - doc: clarify ambiguous rdev description (Rich Trott) #34094
  • [4927fed9ea] - doc: make minor improvements to paragraph in child_process.md (Rich Trott) #34063
  • [585f3a5f84] - doc: improve paragraph in esm.md (Rich Trott) #34064
  • [556e55db72] - doc: clarify require/import mutual exclusivity (Guy Bedford) #33832
  • [eb04ba3080] - doc: add dynamic source code links (Alec Davidson) #33996
  • [2ca6a45ba9] - doc: mention errors thrown by methods called on an unbound dgram.Socket (Mateusz Krawczuk) #33983
  • [b8a17ccc9a] - doc: document n-api callback scope usage (Gabriel Schulhof) #33915
  • [3b268094cc] - doc: use sentence-case for headings in docs (Rich Trott) #33889
  • [280cd967d3] - domain: fix unintentional deprecation warning (Anna Henningsen) #34245
  • [96ebd5f352] - http: add note about timer unref (Robert Nagy) #34143
  • [16160e654f] - Revert "http2: streamline OnStreamRead streamline memory accounting" (Rich Trott) #34315
  • [8bafba2e56] - lib: always initialize esm loader callbackMap (Shelley Vohr) #34127
  • [daf2abf393] - lib: replace http to https of comment link urls (sapics) #34158
  • [8f8d16849c] - meta: make issue template mobile friendly and address nits (Derek Lewis) #34243
  • [de58eb6286] - meta: add N-API to codeowners coverage (Michael Dawson) #34039
  • [4dc89c6d30] - meta: fixup CODEOWNERS so it hopefully works (James M Snell) #34147
  • [8d7330be0e] - (SEMVER-MINOR) module: deprecate module.parent (Antoine du HAMEL) #32217
  • [1ae76bd075] - (SEMVER-MINOR) module: package "imports" field (Guy Bedford) #34117
  • [0e1361cb8b] - net: doc deprecate bufferSize (Robert Nagy) #34088
  • [b7e9b43b2f] - net: fix bufferSize (Robert Nagy) #34088
  • [02ea320e0c] - policy: add startup benchmark and make SRI lazier (Bradley Farias) #29527
  • [73d6792a05] - repl: support --loader option in builtin REPL (Michaël Zasso) #33437
  • [b20e6ed94e] - repl: fix verb conjugation in deprecation message (Rich Trott) #34198
  • [b878e3223e] - src: add callback scope for native immediates (Anna Henningsen) #34366
  • [0f6805d507] - (SEMVER-MINOR) src: add option to track unmanaged file descriptors (Anna Henningsen) #34303
  • [e4c7b59665] - (SEMVER-MINOR) src: allow embedders to disable esm loader (Shelley Vohr) #34060
  • [9c12e53d47] - src: remove redundant snprintf (Anna Henningsen) #34282
  • [844bf770f8] - src: use FromMaybe instead of ToLocal in GetCert (Daniel Bevenius) #34276
  • [ec876eecc0] - src: add GetCipherValue function (Daniel Bevenius) #34287
  • [9c98af71db] - src: exit explicitly after printing V8 help (Anna Henningsen) #34136
  • [3e3d908c81] - src: add encoding_type variable in WritePrivateKey (Daniel Bevenius) #34181
  • [ed0f5697d8] - src: fix minor comment typo in KeyObjectData (Daniel Bevenius) #34167
  • [8f7ed40fc4] - src: fix unused namespace member (Nikola Glavina) #34212
  • [e378b681d0] - src: remove unused fields from IsolateData (Anna Henningsen) #34139
  • [b2cd87e611] - src,doc,test: remove String::New default parameter (Anna Henningsen) #34248
  • [41c80f6abe] - stream: destroy wrapped streams on error (Robert Nagy) #34102
  • [1af8943622] - (SEMVER-MINOR) test: remove test/v8-updates/test-postmortem-metadata.js (Colin Ihrig) #33579
  • [58dfeac133] - test: use mustCall() in pummel test (Rich Trott) #34327
  • [28ce378e17] - test: fix flaky test-http2-reset-flood (Rich Trott) #34318
  • [060c95a3b1] - test: add n-api null checks for conversions (Gabriel Schulhof) #34142
  • [3ee8f5342c] - test: add regression tests for HTTP parser crash (Anna Henningsen) #34250
  • [6925ef3b1c] - test: add WASI test for file resizing (Colin Ihrig) #31617
  • [1aad61eeec] - test: add issue ref for known_issues test (Rich Trott) #34267
  • [ec9b49a9b9] - test: add known issue for fs.open() keeping event loop open (Rich Trott) #34228
  • [38b3c2a300] - test: add arrayOfStreams to pipeline (rickyes) #34156
  • [0f9bafd03d] - test: skip an ipv6 test on IBM i (Xu Meng) #34209
  • [a38219f962] - test: add regression test for C++-created Buffer transfer (Anna Henningsen) #34140
  • [09faebd9ad] - test: replace deprecated function call from test-repl-history-navigation (Rich Trott) #34199
  • [bddc99ec7f] - test: skip some IBM i unsupported test cases (Xu Meng) #34118
  • [f5691fa6b6] - test: report actual error code on failure (Richard Lau) #34134
  • [46d183c86e] - test: update test-child-process-spawn-loop for Python 3 (Richard Lau) #34071
  • [a89bcf72fb] - (SEMVER-MINOR) tls: make 'createSecureContext' honor more options (Mateusz Krawczuk) #33974
  • [fbcd1fa0f4] - tls: remove unnecessary close listener (Robert Nagy) #34105
  • [4e2fa439c9] - (SEMVER-MINOR) tools: update V8 gypfiles for 8.4 (Ujjwal Sharma) #33579
  • [440642d00b] - tools: remove lint-js.js (Rich Trott) #30955
  • [e0206bafe6] - util: restrict custom inspect function + vm.Context interaction (Anna Henningsen) #33690
  • [70c4045aa5] - (SEMVER-MINOR) vm: add run-after-evaluate microtask mode (Anna Henningsen) #34023
  • [6be685a99d] - wasi: add reactor support (Gus Caplan) #34046
  • [1bc4def18f] - worker: fix nested uncaught exception handling (Anna Henningsen) #34310
  • [9e04070d3c] - (SEMVER-MINOR) worker: add option to track unmanaged file descriptors (Anna Henningsen) #34303
  • [105d5607a8] - zlib: remove redundant variable in zlibBufferOnEnd (Andrey Pechkurov) #34072

New in Node.js 14.5.0 (Jul 1, 2020)

  • Notable Changes:
  • V8 engine is updated to version 8.3:
  • This version includes performance improvements and now allows WebAssembly modules to request memories up to 4GB in size.
  • For more information, have a look at the official V8 blog post.
  • Contributed by Matheus Marchini and Michaël Zasso - #33376.
  • Initial experimental implementation of EventTarget:
  • This version introduces an new experimental API EventTarget, which provides a DOM interface implemented by objects that can receive events and may have listeners for them.
  • It is an adaptation of the Web API EventTarget.
  • Semver-Minor Commits:
  • [4ccaa537d4] - (SEMVER-MINOR) build: reset embedder string to "-node.0" (Michaël Zasso) #33376
  • [d194d20828] - (SEMVER-MINOR) cli: add alias for report-directory to make it consistent (AshCripps) #33587
  • [70398dbf60] - (SEMVER-MINOR) crypto: allow KeyObjects in postMessage (Tobias Nießen) #33360
  • [9b7ba87aa6] - (SEMVER-MINOR) deps: V8: cherry-pick 0d6debcc5f08 (Michaël Zasso) #33376
  • [ce1a1ae621] - (SEMVER-MINOR) deps: V8: cherry-pick 74d50c5063b3 (Michaël Zasso) #32831
  • [aa7267a344] - (SEMVER-MINOR) deps: V8: cherry-pick e29c62b74854 (Michaël Zasso) #32831
  • [1512757a22] - (SEMVER-MINOR) deps: V8: cherry-pick 3f8dc4b2e5ba (Michaël Zasso) #32831
  • [3d9cf4bde6] - (SEMVER-MINOR) deps: V8: cherry-pick e1eac1b16c96 (Milad Farazmand) #32831
  • [cdeade308e] - (SEMVER-MINOR) deps: fix V8 8.3 on SmartOS (Colin Ihrig) #32831
  • [883840bc17] - (SEMVER-MINOR) deps: patch V8 to run on Xcode 8 (Matheus Marchini) #32831
  • [3831a541fb] - (SEMVER-MINOR) deps: V8: silence irrelevant warnings (Michaël Zasso) #32831
  • [e2fc08f216] - (SEMVER-MINOR) deps: make v8.h compatible with VS2015 (Joao Reis) #32831
  • [74b623bd51] - (SEMVER-MINOR) deps: V8: forward declaration of Rtl*FunctionTable (Refael Ackermann) #32831
  • [0f5764aec2] - (SEMVER-MINOR) deps: V8: patch register-arm64.h (Refael Ackermann) #32831
  • [be773fc3cf] - (SEMVER-MINOR) deps: patch V8 to run on older XCode versions (Ujjwal Sharma) #32831
  • [7aa41c6e6f] - (SEMVER-MINOR) deps: V8: un-cherry-pick bd019bd (Refael Ackermann) #32831
  • [ce901e3906] - (SEMVER-MINOR) deps: update V8 dtrace & postmortem metadata (Colin Ihrig) #32831
  • [1123425dd1] - (SEMVER-MINOR) deps: update V8 to 8.3.110.9 (Michaël Zasso) #33376
  • [1c70b18da8] - (SEMVER-MINOR) events: initial implementation of experimental EventTarget (James M Snell) #33556
  • [cf97c56dab] - (SEMVER-MINOR) fs: implement lutimes (Maël Nison) #33399
  • [a24b8df7fb] - (SEMVER-MINOR) http: expose host and protocol on ClientRequest (wenningplus) #33803
  • [507a2ef31c] - (SEMVER-MINOR) http: add maxTotalSockets to agent class (rickyes) #33617
  • [e1e3ae1567] - (SEMVER-MINOR) http: return this from OutgoingMessage#destroy() (Colin Ihrig) #32789
  • [d87031def4] - (SEMVER-MINOR) http: return this from ClientRequest#destroy() (Colin Ihrig) #32789
  • [c7959557db] - (SEMVER-MINOR) http: return this from IncomingMessage#destroy() (Colin Ihrig) #32789
  • [a3a0c0e0fc] - (SEMVER-MINOR) http: added scheduling option to http agent (delvedor) #33278
  • [e3fd2f5a48] - (SEMVER-MINOR) http2: return this for Http2ServerRequest#setTimeout (Pranshu Srivastava) #33994
  • [7ccb021ffc] - (SEMVER-MINOR) http2: do not modify explicity set date headers (Pranshu Srivastava) #33160
  • [f66bb57c13] - (SEMVER-MINOR) process: add unhandled-rejection throw and warn-with-error-code (Dan Fabulich) #33475
  • [33020256de] - (SEMVER-MINOR) src: store key data in separate class (Tobias Nießen) #33360
  • [44b9d08344] - (SEMVER-MINOR) src: add NativeKeyObject base class (Tobias Nießen) #33360
  • [13e633873e] - (SEMVER-MINOR) src: rename internal key handles to KeyObjectHandle (Tobias Nießen) #33360
  • [a3d0b0e2d7] - (SEMVER-MINOR) src: add equality operators for BaseObjectPtr (Anna Henningsen) #33772
  • [0720d1ff24] - (SEMVER-MINOR) src: introduce BaseObject base FunctionTemplate (Anna Henningsen) #33772
  • [5362fef3f5] - (SEMVER-MINOR) src: add public APIs to manage v8::TracingController (Anna Henningsen) #33850
  • [db2d1ca51b] - (SEMVER-MINOR) stream: runtime deprecate Transform._transformState (Robert Nagy) #32763
  • [b6da77756e] - (SEMVER-MINOR) test: stop testing --interpreted-frames-native-stack for s390x (Michaël Zasso) #32831
  • [5cad007408] - (SEMVER-MINOR) test: fix test-zlib-unused-weak on V8 8.2 (Matheus Marchini) #32831
  • [2c59f9bbe2] - (SEMVER-MINOR) tools: update V8 gypfiles for V8 8.3 (Michaël Zasso) #32831
  • [0ef6e0426f] - (SEMVER-MINOR) win: allow skipping the supported platform check (João Reis) #33176
  • [4e42eb5e14] - (SEMVER-MINOR) worker: add public method for marking objects as untransferable (Anna Henningsen) #33979
  • [4a37180b09] - (SEMVER-MINOR) worker: emit 'messagerror' events for failed deserialization (Anna Henningsen) #33772
  • [9692208a91] - (SEMVER-MINOR) worker: allow passing JS wrapper objects via postMessage (Anna Henningsen) #33772
  • [eaccf842eb] - (SEMVER-MINOR) worker: allow transferring/cloning generic BaseObjects (Anna Henningsen) #33772
  • [5b1fd10048] - (SEMVER-MINOR) worker,fs: make FileHandle transferable (Anna Henningsen) #33772
  • [c1f625fe1f] - (SEMVER-MINOR) zlib: add maxOutputLength option (unknown) #33516
  • Semver-Patch Commits:
  • [ef05e1526a] - async_hooks: callback trampoline for MakeCallback (Stephen Belanger) #33801
  • [0eed22d6ed] - benchmark: fix EventTarget benchmark (Brian White) #34015
  • [bf56decc79] - benchmark: fix async-resource benchmark (Anna Henningsen) #33642
  • [26269be510] - benchmark: fixing http_server_for_chunky_client.js (Adrian Estrada) #33271
  • [c31d5145d9] - buffer: remove hoisted variable (Nikolai Vavilov) #33470
  • [43fd4746e9] - build: configure byte order for mips targets (Ben Noordhuis) #33898
  • [ebb2fb81fa] - build: add target specific build_type variable (Daniel Bevenius) #33925
  • [e8f7670b77] - build: add LINT_CPP_FILES to checkimports check (Daniel Bevenius) #33697
  • [1355d35a61] - build: output dots in "Build from tarball" action (Michaël Zasso) #33696
  • [153f5eda0e] - build: fix compiling addons with older versions of Node.js (Richard Lau) #33688
  • [7a4c689912] - build: fix node.gyp config (gengjiawen) #33685
  • [1f7a65529d] - build: add --v8-lite-mode flag (Maciej Kacper Jagiełło) #33541
  • [3ac05b75ca] - build: zlib build error on Windows on Arm (Richard Townsend) #33511
  • [fc032247e0] - build: fix GetCurrentThreadStackLimits error on Windows on Arm (Richard Townsend) #33511
  • [e393e879cf] - build: fix python-version selection with actions (Richard Lau) #33589
  • [8ed25eda60] - build: fix inability to detect correct python command in configure (Eli Schwartz) #32925
  • [8b887c4462] - build: fix makefile script on windows (Thomas) #33136
  • [85ce30fe57] - build: run full test suite in ASAN action (Anna Henningsen) #33170
  • [71c4d9174e] - build,win: add support for MSVC cross-compilation (Richard Townsend) #32867
  • [ac7946eb08] - build,win: add support for MSVC cross-compilation (Richard Townsend) #32867
  • [22b5ec19a2] - cli: support --experimental-top-level-await in NODE_OPTIONS (Dan Fabulich) #33495
  • [0a7f13e26b] - configure: account for CLANG_VENDOR when checking for llvm version (Nathan Blair) #33860
  • [a6a74ae1d5] - console: name console functions appropriately (Ruben Bridgewater) #33524
  • [9d24f71d45] - console: mark special console properties as non-enumerable (Ruben Bridgewater) #33524
  • [bce99867f7] - console: remove dead code (Ruben Bridgewater) #33524
  • [134ed0eea3] - crypto: fix wrong error message (Ben Bucksch) #33482
  • [5957afc31a] - deps: V8: cherry-pick 767e65f945e7 (Gus Caplan) #33859
  • [162092ea2a] - deps: V8: cherry-pick eec10a2fd8fa (Stephen Belanger) #33778
  • [499c7402b1] - deps: V8: cherry-pick 4e1bf2bc92bd (Milad Farazmand) #33702
  • [0524c7ad5d] - deps: V8: cherry-pick b5939c758924 (Milad Farazmand) #33702
  • [7ad6cfa005] - deps: V8: backport 22014de00115 (Joyee Cheung) #33300
  • [817befde11] - deps: V8: backport bb9f0c2b2fe9 (Joyee Cheung) #33300
  • [8f82692999] - deps: V8: backport ea0719b8ed08 (Joyee Cheung) #33300
  • [773d76ea04] - deps: uvwasi: cherry-pick 9e75217 (Colin Ihrig) #33521
  • [748720e7b6] - deps: V8: cherry-pick 548f6c81d424 (Dominykas Blyžė) #33484
  • [b0bce9b2a4] - deps: update node-inspect to v2.0.0 (Jan Krems) #33447
  • [ac459b34e7] - deps: V8: cherry-pick fa3e37e511ee (Anna Henningsen) #32885
  • [2bc79f5b50] - deps: V8: cherry-pick 2db93c023379 (Anna Henningsen) #32885
  • [8d47e8bf7b] - deps: update to uvwasi 0.0.9 (Colin Ihrig) #33445
  • [9d6fd4599d] - deps: upgrade to libuv 1.38.0 (Colin Ihrig) #33446
  • [33a662ad2d] - deps: update icu to include tzdata2020a (Shelley Vohr) #33362
  • [f151bde312] - (SEMVER-MINOR) dgram: allow typed arrays in .send() (Sarat Addepalli) #22413
  • [d4442b15bf] - dns: make dns.Resolver timeout configurable (Ben Noordhuis) #33472
  • [eb55d9e4b1] - dns: use ternary operator simplify statement (Wenning Zhang) #33234
  • [d61de303c9] - doc: specify maxHeaderCount alias for maxHeaderListPairs (Pranshu Srivastava) #33519
  • [4323346f5a] - doc: add allowed info strings to style guide (Derek Lewis) #34024
  • [0dbad26db4] - doc: fix lexical sorting of bottom-references in http doc (Pranshu Srivastava) #34007
  • [ec07e61f6a] - doc: clarify thread-safe function references (legendecas) #33871
  • [5a4dcfcf4c] - doc: use npm team for npm upgrades in collaborator guide (Rich Trott) #33999
  • [319707add2] - doc: correct default values in http2 docs (Rich Trott) #33997
  • [b4d0eebe7c] - doc: use a single space between sentences (Rich Trott) #33995
  • [24105a7f44] - doc: piping from async generators using pipeline() (WilliamConnatser) #33992
  • [9590d81349] - doc: revise text in dns module documentation introduction (Rich Trott) #33986
  • [ed26e8e2fb] - doc: update fs.md (Shakil-Shahadat) #33820
  • [6dc541778e] - doc: warn that tls.connect() doesn't set SNI (Alba Mendez) #33855
  • [d9c78ac270] - doc: fix lexical sorting of bottom-references in dns doc (Rich Trott) #33987
  • [98228b25af] - doc: change "GitHub Repo" to "Code repository" (Rich Trott) #33985
  • [645cd481e9] - doc: use Class: consistently (Rich Trott) #33978
  • [72e2fd315e] - doc: update WASM code sample (Pragyan Das) #33626
  • [894ec7d5c6] - doc: standardize on sentence case for headers (Rich Trott) #33889
  • [61de26a2f3] - doc: link readable._read in stream.md (Pranshu Srivastava) #33767
  • [76fe2a93a9] - doc: specify default encoding in writable.write (Pranshu Srivastava) #33765
  • [2427d6544b] - doc: move --force-context-aware option in cli.md (Daniel Bevenius) #33823
  • [fdaf0ca550] - doc: add snippet for AsyncResource and EE integration (Andrey Pechkurov) #33751
  • [8f5ac3865c] - doc: use single quotes in --tls-cipher-list (Daniel Bevenius) #33709
  • [922c13c6bb] - doc: fix misc. mislabeled code block info strings (Derek Lewis) #33548
  • [114d77e30b] - doc: standardize constructor doc header layout (Rich Trott) #33781
  • [b10d20385e] - doc: update V8 inspector example (Colin Ihrig) #33758
  • [785760448b] - doc: fix linting in doc-style-guide.md (Pranshu Srivastava) #33787
  • [2288840a8f] - doc: remove "currently" from repl.md (Rich Trott) #33756
  • [cc0f827182] - doc: remove "currently" from events.md (Rich Trott) #33756
  • [4a738e6462] - doc: remove "currently" from vm.md (Rich Trott) #33756
  • [bb29a8177f] - doc: remove "currently" from addons.md (Rich Trott) #33756
  • [f0597d9a6e] - doc: remove "currently" from util.md (Rich Trott) #33756
  • [095efac2ef] - doc: add formatting for version numbers to doc-style-guide.md (Rich Trott) #33755
  • [843ab3eb94] - doc: change "pre Node.js v0.10" to "prior to Node.js 0.10" (Rich Trott) #33754
  • [b565897996] - doc: remove default parameter value from header (Rich Trott) #33752
  • [ebf2378731] - doc: fix typo in cli.md for report-dir (AshCripps) #33725
  • [16b69818ba] - doc: remove shell dollar signs without output (Nick Schonning) #33692
  • [b3d500f949] - doc: add lint disabling comment for collaborator list (Rich Trott) #33719
  • [61bb789fa0] - doc: use consistent Default: in events (Colin Ihrig) #33678
  • [1e4edd8d75] - doc: remove "it is important" (Colin Ihrig) #33678
  • [cb8b9ec98a] - doc: fix urls to avoid redirection (sapics) #33614
  • [c184929975] - doc: improve buffer.md a tiny bit (Tom Nagle) #33547
  • [6d25b5753a] - doc: normalize Markdown code block info strings (Derek Lewis) #33542
  • [e7c3890901] - doc: normalize JavaScript code block info strings (Derek Lewis) #33531
  • [352adcb437] - doc: outline when origin is set to unhandledRejection (Ruben Bridgewater) #33530
  • [94177dae8e] - doc: add --experimental-top-level-await to man page (Colin Ihrig) #33529
  • [8e3a0d7773] - doc: update txt fandamental and ```raw code blocks (Zeke Sikelianos) #33028
  • [4cc391b495] - doc: normalize shell code block info strings (Derek Lewis) #33486
  • [24ada7acd4] - doc: normalize C code block info strings (Derek Lewis) #33507
  • [8c04e61f16] - doc: normalize Bash code block info strings (Derek Lewis) #33510
  • [7c87fc1c48] - doc: correct tls.rootCertificates to match implementation (Eric Bickle) #33313
  • [0c2b7c0adf] - doc: fix Buffer.from(object) documentation (Nikolai Vavilov) #33327
  • [de608c3124] - doc: fix typo in pathToFileURL example (Antoine du HAMEL) #33418
  • [23cf39ab78] - doc: eliminate dead space in API section's sidebar (John Gardner) #33469
  • [95e7a80cbf] - doc: mention --experimental-top-level-await flag (dfabulich) #33473
  • [64410f206e] - doc: normalize C++ code block info strings (Derek Lewis) #33483
  • [c8f79d80a4] - doc: fixed a grammatical error in path.md (Deep310) #33489
  • [500bad1103] - doc: correct CommonJS self-resolve spec (Guy Bedford) #33391
  • [4e74f050a7] - doc: fix readline key binding documentation (Ruben Bridgewater) #33361
  • [7c553cd4f6] - doc: claim ABI version 85 for Electron 11 (Shelley Vohr) #33375
  • [4cc5e9668f] - doc: document module.path (Antoine du Hamel) #33323
  • [c1fe152132] - doc: add fs.open() multiple constants example (Ethan Arrowood) #33281
  • [b02cfef510] - doc: fix typos in handle scope descriptions (Tobias Nießen) #33267
  • [d4e871424f] - doc: update function description for decipher.setAAD (Jonathan Buhacoff) #33095
  • [e2484b24cb] - doc: add comment about highWaterMark limit (Benjamin Gruenbaum) #33432
  • [b8c88891a6] - doc: clarify about the Node.js-only extensions in perf_hooks (Joyee Cheung) #33199
  • [d1efdb29b4] - doc: document ICU time zone data update process (Andrew Paprocki) #30364
  • [1d918b67ca] - doc,stream: split finish and end events into separate entries (Rich Trott) #33881
  • [af9fb5969d] - doc,tools: properly syntax highlight API ref docs (Derek Lewis) #33442
  • [122d2b5c02] - domain: remove native domain code (Stephen Belanger) #33801
  • [e060060aa2] - errors: fully inspect errors on exit (Ruben Bridgewater) #33523
  • [aca07f428e] - errors: skip fatal error highlighting on windows (Thomas) #33132
  • [50adccadc1] - esm: fix loader hooks doc annotations (Derek Lewis) #33563
  • [5bef20c2fc] - esm: share package.json cache between ESM and CJS loaders (Kirill Shatskiy) #33229
  • [828d5d22eb] - esm: doc & validate source values for formats (Bradley Farias) #32202
  • [2724514f53] - event: cancelBubble is a property (Benjamin Gruenbaum) #34015
  • [c9dec0c0f0] - event: cancelBubble is a property (Benjamin Gruenbaum) #33613
  • [0c32920a82] - events: fix add-remove-add case in EventTarget (Anna Henningsen) #34056
  • [c34f4743c4] - events: improve argument handling, start passive (James M Snell) #34015
  • [ea1a2d7bc9] - events: support dispatching event from event (James M Snell) #34015
  • [5ce153365e] - events: add event-target tests (James M Snell) #34015
  • [91b6c093b1] - events: support event handlers (Benjamin Gruenbaum) #34015
  • [b392fdd4aa] - events: expose Event statics (Benjamin Gruenbaum) #34015
  • [cd3a1429a3] - events: Handle a range of this values for dispatchEvent (Zirak) #34015
  • [aa1cb3f186] - events: fix EventTarget support (Benjamin Gruenbaum) #34015
  • [0f0f4e0c40] - events: fix depth in customInspectSymbol and clean up (Denys Otrishko) #34015
  • [6ce3293cc4] - events: use internal/validators in event_target.js (Denys Otrishko) #34015
  • [eb01214ab2] - events: use property, primordials (Benjamin Gruenbaum) #33775
  • [667195ef8f] - events: improve listeners() performance (Brian White) #33863
  • [f1b0291d82] - events: lazy load perf_hooks for EventTarget (James M Snell) #33717
  • [c291ce599c] - events: improve arrayClone performance (Brian White) #33774
  • [a3ef2b7335] - events: support useCapture boolean (Benjamin Gruenbaum) #33618
  • [2e6eceac5c] - events: set target property to null (Benjamin Gruenbaum) #33615
  • [bc2e821ccc] - events: deal with no argument case (Benjamin Gruenbaum) #33611
  • [e7bce2e03a] - events: deal with Symbol() passed to event constructor (Benjamin Gruenbaum) #33612
  • [27c90efce0] - events: variable originalListener is useless (fuxingZhang) #33596
  • [2a29ced050] - events: fix event-target enumerable keys (Benjamin Gruenbaum) #33616
  • [f3d0d3089d] - events: add tests, better toString (Benjamin Gruenbaum) #33622
  • [95cbfcec99] - fs: fix readdir failure when libuv returns UV_DIRENT_UNKNOWN (Kirill Shatskiy) #33395
  • [b894df860a] - fs: fix realpath inode link caching (Denys Otrishko) #33945
  • [b280c86213] - fs: support util.promisify for fs.readv (Lucas Holmquist) #33590
  • [2c03661860] - fs: unify style in preprocessSymlinkDestination (Bartosz Sosnowski) #33496
  • [b675ea0272] - fs: replace checkPosition with validateInteger (rickyes) #33277
  • [a90b96f338] - fs: refactor the import of internalUtil (rickyes) #33296
  • [a0a61b81a5] - http: used already defined validator for boolean check (Yash Ladha) #33731
  • [6dbd63c8ba] - Revert "http: set IncomingMessage.destroyed" (Robert Nagy) #33686
  • [feb6e1ffb8] - http: don't throw on Uint8Arrays for http.ServerResponse#write (Pranshu Srivastava) #33155
  • [bcdf7e94be] - http: simplify Agent initialization (himself65) #33551
  • [c2aad813c0] - http: tidy up exposure of header validation (Osher) #33371
  • [0752d2309f] - http2: always call callback on Http2ServerResponse#end (Pranshu Srivastava) #33911
  • [d8aeafb4bf] - http2: add writable* properties to compat api (Pranshu Srivastava) #33506
  • [0b34c4fb75] - http2: add type checks for Http2ServerResponse.end (Pranshu Srivastava) #33146
  • [cc74f3c67c] - http2: use Object.create(null) for getHeaders (Pranshu Srivastava) #33188
  • [8457033d83] - http2: reuse ._onTimeout() in Http2Session and Http2Stream classes (rickyes) #33354
  • [c972ce200e] - http2: comment on usage of Object.create(null) (Pranshu Srivastava) #33183
  • [e58f14fee7] - inspector: drop 'chrome-' from inspector url (Colin Ihrig) #33758
  • [42df2baa21] - inspector: throw error when activating an already active inspector (Joyee Cheung) #33015
  • [c9489f2f23] - internal: rename error-serdes for consistency (Evan Lucas) #33793
  • [b7690da65e] - lib: improve debuglog() performance (Brian White) #32260
  • [b6ef6c8476] - lib: remove manual exception handling in queueMicrotask (Gus Caplan) #33859
  • [ec01867623] - lib: replace charCodeAt with fixed Unicode (rickyes) #32758
  • [76123b9ae7] - lib: add Int16Array primordials (Sebastien Ahkrin) #31205
  • [59d435ed4d] - lib: update TODO comments (Ruben Bridgewater) #33361
  • [e62a8b5007] - lib: update executionAsyncId/triggerAsyncId comment (Daniel Bevenius) #33396
  • [4ae4073abf] - lib,src: remove cpu profiler idle notifier (Ben Noordhuis) #34010
  • [fc7cad828b] - meta: introduce codeowners again (James M Snell) #33895
  • [b162c532d7] - meta: fix a typo in the flaky test template (Colin Ihrig) #33677
  • [148c1f1344] - meta: wrap flaky test template at 80 characters (Colin Ihrig) #33677
  • [2aa6469bea] - meta: add flaky test issue template (Ash Cripps) #33500
  • [84a5e6cec8] - module: fix error message about importing names from cjs (Fábio Santos) #33882
  • [8c9e3a9dfb] - module: remove dynamicInstantiate loader hook (Jan Krems) #33501
  • [53dbb9d232] - n-api: add version to wasm registration (Gus Caplan) #34045
  • [e924439d96] - n-api: document nextTick timing in callbacks (Mathias Buus) #33804
  • [524daf89a1] - n-api: ensure scope present for finalization (Michael Dawson) #33508
  • [e83642f73d] - n-api: remove napi_env::CallIntoModuleThrow (Gabriel Schulhof) #33570
  • [4c235b07ae] - Revert "n-api: detect deadlocks in thread-safe function" (Anna Henningsen) #33453
  • [022dcebcd8] - napi: add __wasm32__ guards (Gus Caplan) #33597
  • [164461edfd] - net: refactor check for Windows (rickyes) #33497
  • [e0b0ddd257] - querystring: fix stringify for empty array (sapics) #33918
  • [e8572e7070] - querystring: improve stringify() performance (Brian White) #33669
  • [011fe1d443] - repl: add builtinModules (Ruben Bridgewater) #33295
  • [71d6599191] - repl: simplify repl autocompletion (Ruben Bridgewater) #33450
  • [1330cfc2a9] - repl: support optional chaining during autocompletion (Ruben Bridgewater) #33450
  • [9760c6caff] - src: add errorProperties on process.report (himself65) #28426
  • [da81930b13] - src: tolerate EPERM returned from tcsetattr (patr0nus) #33944
  • [c1664a9008] - src: clang_format base_object (Yash Ladha) #33680
  • [a789474945] - src: fix ParseEncoding (sapics) #33957
  • [74f4aae22f] - src: remove unnecessary calculation in base64.h (sapics) #33839
  • [c492a2715e] - src: use ToLocal in node_os.cc (wenningplus) #33939
  • [9a52cd9cc0] - src: handle empty Maybe(Local) in node_util.cc (Anna Henningsen) #33867
  • [e1bebf13db] - src: fix FastStringKey equal operator (sapics) #33748
  • [0dd67d992e] - src: reduce scope of code cache mutex (Anna Henningsen) #33980
  • [cd0ae4007f] - src: improve indention for upd_wrap.cc (gengjiawen) #33976
  • [6014e4e0b8] - src: remove unnecessary ToLocalChecked call (Daniel Bevenius) #33902
  • [4715a41c1c] - src: simplify alignment-handling code (Anna Henningsen) #33884
  • [33cff40bb7] - src: remove ref to tools/generate_code_cache.js (Daniel Bevenius) #33825
  • [dfa0ee13ee] - src: remove unused vector include in string_bytes (Daniel Bevenius) #33824
  • [fb2b0a094b] - src: avoid unnecessary ToLocalChecked calls (Daniel Bevenius) #33824
  • [07c21d0d27] - src: reduce FileHandle size by reordering fields (Anna Henningsen) #33784
  • [83aaad7ec3] - src: do not track BaseObjects via cleanup hooks (Anna Henningsen) #33809
  • [f8dddd3416] - src: handle missing TracingController everywhere (Anna Henningsen) #33815
  • [3b71aa8029] - src: remove unused ERR_TRANSFERRING_EXTERNALIZED_SHAREDARRAYBUFFER (Anna Henningsen) #33810
  • [1f996b7372] - src: simplify Reindent function in json_utils.cc (sapics) #33722
  • [cdcd76810e] - src: add "missing" bash completion options (Daniel Bevenius) #33744
  • [cc8d70531d] - src: use Check() instead of FromJust in environment (Daniel Bevenius) #33706
  • [858c6b9dfd] - src: use ToLocal in SafeGetenv (Daniel Bevenius) #33695
  • [c2f49319b7] - src: remove unnecessary ToLocalChecked call (Daniel Bevenius) #33683
  • [21f1e64737] - src: simplify format in node_file.cc (himself65) #33660
  • [c3728c6235] - src: simplify MaybeStackBuffer::capacity() (Ben Noordhuis) #33602
  • [7725ff392c] - src: remove superfluous inline keywords (James M Snell) #33291
  • [27e9cb7e85] - src: turn AllocatedBuffer into thin wrapper around v8::BackingStore (James M Snell) #33291
  • [d8f040e33d] - src: extract AllocatedBuffer from env.h (James M Snell) #33291
  • [a8824ae0a5] - src: avoid OOB read in URL parser (Anna Henningsen) #33640
  • [6ef2efe33a] - src: use MaybeLocal.ToLocal instead of IsEmpty worker (Daniel Bevenius) #33599
  • [522fbbc8d9] - src: don't use semicolon outside function (Shelley Vohr) #33592
  • [ad970996cf] - src: remove unused using declarations (Daniel Bevenius) #33268
  • [20d54f6908] - src: use MaybeLocal.ToLocal instead of IsEmpty (Daniel Bevenius) #33554
  • [5438611984] - src: use NewFromUtf8Literal in GetLinkedBinding (Daniel Bevenius) #33552
  • [a5e860cd29] - src: use const in constant args.Length() (himself65) #33555
  • [7e351f15cb] - src: use MaybeLocal::FromMaybe to return exception (Daniel Bevenius) #33514
  • [3f1c756f89] - Revert "src: fix missing extra ca in tls.rootCertificates" (Eric Bickle) #33313
  • [d1e1dbf188] - src: remove BeforeExit callback list (Ben Noordhuis) #33386
  • [ee45b78b7f] - src: use MaybeLocal.ToLocal instead of IsEmpty (Daniel Bevenius) #33457
  • [9018e92b13] - src: remove unused headers in src/util.h (Juan José Arboleda) #33070
  • [7d1d00f97a] - src: use enum for refed flag on native immediates (Anna Henningsen) #33444
  • [e8cc269ee0] - src: use symbol to store AsyncWrap resource (Anna Henningsen) #31745
  • [ab2454dec5] - src: prefer make_unique (Michael Dawson) #33378
  • [a942f7280a] - src: remove unnecessary else in base_object-inl.h (Daniel Bevenius) #33413
  • [f6227c0577] - src: reduce duplication in RegisterHandleCleanups (Daniel Bevenius) #33421
  • [f24292e106] - src: remove unused IsolateSettings variable (Daniel Bevenius) #33417
  • [308be6ca0c] - src: remove unused misc variable (Daniel Bevenius) #33417
  • [7fd0519a91] - src: add promise_resolve to SetupHooks comment (Daniel Bevenius) #33365
  • [26a3cf058d] - src,build: add --openssl-default-cipher-list (Daniel Bevenius) #33708
  • [b0fa611e68] - stream: fix the spellings (antsmartian) #33635
  • [1db0d51ab2] - stream: forward writableObjectMode (Robert Nagy) #33390
  • [2c568c80f3] - test: add non-ASCII character embedding test (Anna Henningsen) #33972
  • [d4a2ae094e] - test: add test for Http2ServerResponse#[writableCorked,cork,uncork] (Pranshu Srivastava) #33956
  • [4a61013fb2] - test: print arguments passed to mustNotCall function (Denys Otrishko) #33951
  • [1b55d90975] - test: AsyncLocalStorage works with thenables (Gerhard Stoebich) #34008
  • [195980d667] - test: account for non-node basename (Shelley Vohr) #33952
  • [90223f0a88] - test: fix typo in common/index.js (gengjiawen) #33976
  • [d427d7f905] - test: add common/udppair utility (James M Snell) #33380
  • [b8fdde400a] - Revert "test: stop testing --interpreted-frames-native-stack for s390x" (Michaël Zasso) #33794
  • [e3a53329c2] - test: temporarily exclude test on arm (Michael Dawson) #33814
  • [b6e3616911] - test: fix invalid regular expressions in case test-trace-exit (legendecas) #33769
  • [c3ac47c03d] - test: changed function to arrow function (Sagar Jadhav) #33711
  • [15eb5a3da4] - test: uv_tty_init now returns EINVAL on IBM i (Xu Meng) #33629
  • [da5e970a8c] - test: make flaky test stricter (Robert Nagy) #33539
  • [47396a42cf] - test: fix flaky test-trace-atomics-wait (Anna Henningsen) #33428
  • [eb877a4c49] - test: mark test-dgram-multicast-ssmv6-multi-process flaky (AshCripps) #33498
  • [5dca04ee8e] - tools: remove superfluous regex in tools/doc/json.js (Rich Trott) #33998
  • [1791d5727c] - tools: update [email protected] to 1.16.0 (Rich Trott) #33852
  • [01d8b91942] - tools: prevent js2c from running if nothing changed (Daniel Bevenius) #33844
  • [e837f00b4f] - tools: remove unused vector include in mkdcodecache (Daniel Bevenius) #33828
  • [800dbb6bdd] - tools: update ESLint to 7.2.0 (Colin Ihrig) #33776
  • [a14e38a6c0] - tools: remove unused using declarations code_cache (Daniel Bevenius) #33697
  • [9fb1eb09d9] - tools: update remark-preset-lint-node from 1.15.0 to 1.15.1 (Rich Trott) #33727
  • [a331a00eac] - tools: fix check-imports.py to match on word boundaries (Richard Lau) #33268
  • [9325ed9e1c] - tools: update ESLint to 7.1.0 (Colin Ihrig) #33526
  • [6dab63f36d] - tools: add docserve target (Antoine du HAMEL) #33221
  • [2384044c95] - tools,gyp: add support for MSVC cross-compilation (Richard Townsend) #32867
  • [987c927225] - util: fix width detection for DEL without ICU (Ruben Bridgewater) #33650
  • [91d0d53b59] - util: support Combining Diacritical Marks for Symbols (Ruben Bridgewater) #33650
  • [e3d53f999d] - util: gracefully handle unknown colors (Ruben Bridgewater) #33797
  • [a90c9aa858] - util: fix inspection of class instance prototypes (Ruben Bridgewater) #33449
  • [2380d90f0a] - util: mark classes while inspecting them (Ruben Bridgewater) #32332
  • [879c9322ce] - vm: allow proxy callbacks to throw (Gus Caplan) #33808
  • [af14c1f776] - wasi: allow WASI stdio to be configured (Colin Ihrig) #33544
  • [5eecea375f] - wasi: simplify WASI memory management (Colin Ihrig) #33525
  • [f98e888fdd] - wasi: refactor and enable poll_oneoff() test (Colin Ihrig) #33521
  • [6b20e8442f] - wasi: relax WebAssembly.Instance type check (Ben Noordhuis) #33431
  • [d15383253a] - wasi,worker: handle termination exception (Ben Noordhuis) #33386
  • [3f971d89a9] - win,fs: use namespaced path in absolute symlinks (Bartosz Sosnowski) #33351
  • [3520a134af] - win,msi: add arm64 config for windows msi (Dennis Ameling) #33689
  • [b79495905f] - worker: fix variable referencing in template string (Harshitha KP) #33467
  • [9c3008005d] - worker: perform initial port.unref() before preload modules (Anna Henningsen) #33455
  • [64cae13799] - worker: use _writev in internal communication (Anna Henningsen) #33454
  • [7817b875a7] - worker: fix race condition in node_messaging.cc (Anna Henningsen) #33429

New in Node.js 14.4.0 (Jun 8, 2020)

  • This is a security release.
  • Vulnerabilities fixed:
  • TLS session reuse can lead to host certificate verification bypass (High).
  • HTTP/2 Large Settings Frame DoS (Low).
  • napi_get_value_string_*() allows various kinds of memory corruption (High).
  • Commits:
  • crypto: update root certificates (AshCripps) #33682
  • (SEMVER-MINOR) deps: update nghttp2 to 1.41.0 (James M Snell) nodejs-private/node-private#204
  • SEMVER-MINOR) http2: implement support for max settings entries (James M Snell) nodejs-private/node-private#204
  • napi: fix memory corruption vulnerability (Tobias Nießen) nodejs-private/node-private#195
  • tls: emit session after verifying certificate (Fedor Indutny) nodejs-private/node-private#200
  • tools: update certdata.txt (AshCripps) #33682

New in Node.js 14.3.0 (May 20, 2020)

  • Notable Changes:
  • REPL previews improvements with autocompletion:
  • The output preview is changed to generate previews for autocompleted input instead of the actual input.
  • Pressing during a preview is now going to evaluate the whole string including the autocompleted part. Pressing cancels that behavior.
  • Support for Top-Level Await:
  • It's now possible to use the await keyword outside of async functions.
  • Other Notable Changes:
  • [7aa581f4ff] - (SEMVER-MINOR) repl: deprecate repl._builtinLibs (Ruben Bridgewater) #33294
  • [db7bb941a3] - (SEMVER-MINOR) repl: deprecate repl.inputStream and repl.outputStream (Ruben Bridgewater) #33294
  • [2dc5db8c07] - (SEMVER-MINOR) cli: add --trace-atomics-wait flag (Anna Henningsen) #33292
  • [6257cf256e] - (SEMVER-MINOR) repl: improve repl autocompletion for require calls (Ruben Bridgewater) #33282
  • [d33dcf1d5f] - (SEMVER-MINOR) repl: show reference errors during preview (Ruben Bridgewater) #33282
  • [1dcf66cf87] - (SEMVER-MINOR) fs: add .ref() and .unref() methods to watcher classes (rickyes) #33134
  • [f33e86649e] - (SEMVER-MINOR) http: expose http.validate-header-name/value (osher) #33119
  • [b06165584e] - (SEMVER-MINOR) async_hooks: move PromiseHook handler to JS (Stephen Belanger) #32891
  • Commits:
  • [dd4789b8ee] - async_hooks: clear async_id_stack for terminations in more places (Anna Henningsen) #33347
  • [b06165584e] - (SEMVER-MINOR) async_hooks: move PromiseHook handler to JS (Stephen Belanger) #32891
  • [cae2051b83] - buffer: improve copy() performance (Nikolai Vavilov) #33214
  • [24faa37a09] - buffer,n-api: release external buffers from BackingStore callback (Anna Henningsen) #33321
  • [34e7400fc1] - build: enable --error-on-warn for POSIX workflows (Richard Lau) #33357
  • [7d4db35f84] - build: fix --error-on-warn for macOS (Richard Lau) #33357
  • [2dc5db8c07] - (SEMVER-MINOR) cli: add --trace-atomics-wait flag (Anna Henningsen) #33292
  • [331f0b3420] - deps: update to ICU 67.1 (Michaël Zasso) #33324
  • [ba66b21c37] - deps: upgrade npm to 6.14.5 (Ruy Adorno) #33239
  • [cc279490ce] - doc: prepare 14.x changelog for remark update (Rich Trott) #33412
  • [7f9ccd6d89] - doc: fix extension in esm example (Gus Caplan) #33408
  • [8f91338f6e] - doc: fix stream example (Anna Henningsen) #33426
  • [182aaf5622] - doc: enhance guides by fixing and making grammar more consistent (Chris Holland) #33152
  • [0ffa0402a5] - doc: add examples for implementing ESM (unknown) #33168
  • [b41affb9e2] - doc: add note about clientError writable handling (Paolo Insogna) #33308
  • [4f0cd648bb] - doc: fix typo in n-api.md (Daniel Bevenius) #33319
  • [0cbee57109] - doc: add warning for socket.connect reuse (Robert Nagy) #33204
  • [a9e4fdbd1b] - doc: correct description of decipher.setAuthTag in crypto.md (Jonathan Buhacoff)
  • [84974d3f2c] - doc: mention python3-distutils dependency in BUILDING.md (osher) #33174
  • [b5dcfbf634] - doc: removed unnecessary util imports from vm examples (Karol Walasek) #33179
  • [e20fe535a5] - doc: update Buffer(size) documentation (Nikolai Vavilov) #33198
  • [5b42d812cc] - doc: add Uint8Array to end and write (Pranshu Srivastava) #33217
  • [c6a8cd0fa1] - doc: fix md issue in src/README.md (Juan José Arboleda) #33224
  • [2c49dd3d01] - doc: specify unit of time passed to fs.utimes (Simen Bekkhus) #33230
  • [6ffec50494] - doc: add troubleshooting guide for AsyncLocalStorage (Andrey Pechkurov) #33248
  • [dab5c38f98] - doc: remove AsyncWrap mentions from async_hooks.md (Andrey Pechkurov) #33249
  • [05729430bf] - doc: add warnings about transferring Buffers and ArrayBuffer (James M Snell) #33252
  • [cf88ed8664] - doc: update napi_async_init documentation (Michael Dawson) #33181
  • [25443fa7f2] - doc: doc and test URLSearchParams discrepancy (James M Snell) #33236
  • [07372e9d5b] - doc: explicitly doc package.exports is breaking (Myles Borins) #33074
  • [c5a38fe6d7] - doc: fix style and grammer in buffer.md (Nikolai Vavilov) #33194
  • [e53de96a89] - esm: improve commonjs hint on module not found (Antoine du Hamel) #33220
  • [c7c420ec87] - fs: forbid concurrent operations on Dir handle (Anna Henningsen) #33274
  • [12391c7a20] - fs: clean up Dir.read() uv_fs_t data before calling into JS (Anna Henningsen) #33274
  • [1dcf66cf87] - (SEMVER-MINOR) fs: add .ref() and .unref() methods to watcher classes (rickyes) #33134
  • [f33e86649e] - (SEMVER-MINOR) http: expose http.validate-header-name/value (osher) #33119
  • [cc5c8e039d] - http: don't destroy completed request (Robert Nagy) #33120
  • [b634d4b000] - http: set IncomingMessage.destroyed (Robert Nagy) #33131
  • [cc02c73e53] - http: fixes memory retention issue with FreeList and HTTPParser (John Leidegren) #33190
  • [41c5524432] - http2: add bytesWritten test for Http2Stream (Pranshu Srivastava) #33162
  • [a133a88234] - lib: fix typo in timers insert function comment (Daniel Bevenius) #33301
  • [94d0a088ec] - lib: refactored scheduling policy assignment (Yash Ladha) #32663
  • [6bca487b8b] - lib: fix grammar in internal/bootstrap/loaders.js (szTheory) #33211
  • [0a78925146] - meta: add issue template for API reference docs (Derek Lewis) #32944
  • [35aae31968] - module: add specific error for dir import (Antoine du HAMEL) #33220
  • [c2d2dfc09f] - module: do not check circular dependencies for exported proxies (Ruben Bridgewater) #33338
  • [ad8680773e] - module: better error for named exports from cjs (Myles Borins) #33256
  • [27b814c79b] - module: lazy load 'getOptionValue' in initializeLoader (himself65) #33212
  • [4ae6130010] - n-api: add uint32 test for -1 (Gabriel Schulhof)
  • [398bdf40e5] - perf_hooks: fix error message for invalid entryTypes (Michaël Zasso) #33285
  • [7aa581f4ff] - (SEMVER-MINOR) repl: deprecate repl._builtinLibs (Ruben Bridgewater) #33294
  • [ed83202307] - repl: remove obsolete completer variable (Ruben Bridgewater) #33294
  • [db7bb941a3] - (SEMVER-MINOR) repl: deprecate repl.inputStream and repl.outputStream (Ruben Bridgewater) #33294
  • [6257cf256e] - repl: improve repl autocompletion for require calls (Ruben Bridgewater) #33282
  • [69061dc73e] - repl: replace hard coded core module list with actual list (Ruben Bridgewater) #33282
  • [d33dcf1d5f] - (SEMVER-MINOR) repl: show reference errors during preview (Ruben Bridgewater) #33282
  • [1a9771a50a] - (SEMVER-MINOR) repl: improve repl preview (Ruben Bridgewater) #33282
  • [e4ad4642d7] - src: add default: case to silence compiler warning (Anna Henningsen) #33451
  • [099f18e89b] - src: distinguish refed/unrefed threadsafe Immediates (Anna Henningsen) #33320
  • [5e5aa0bc6c] - src: add #include in json_utils.h (Cheng Zhao) #33332
  • [8ada953ef2] - src: replace to CHECK_NOT_NULL in node_crypto (himself65) #33383
  • [0257386cd4] - src: remove deprecated FinalizationRegistry hooks (Gus Caplan) #33373
  • [354ff4f21b] - src: small modification to NgHeader (James M Snell) #33289
  • [fd89ef1478] - src: refactor Reallocate since it introduced in upstream v8 (Jiawen Geng) #33402
  • [d292633ed4] - src: add primordials to arguments comment (Daniel Bevenius) #33318
  • [19996073ca] - src: remove unused using declarations in node.cc (Daniel Bevenius) #33261
  • [c9c16c03c4] - src: delete unused variables to resolve compile time print warning (rickyes) #33358
  • [066ca98069] - src: use MaybeLocal.ToLocal instead of IsEmpty (Daniel Bevenius) #33312
  • [f3129b290d] - src: fix typo in comment in async_wrap.cc (Daniel Bevenius) #33350
  • [0d77eec4b0] - src: add support for TLA (Gus Caplan) #30370
  • [fd9c7c2118] - src: fix compiler warning in async_wrap.cc (Anna Henningsen) #33322
  • [3de9dd9c8d] - src: remove unnecessary Isolate::GetCurrent() calls (Anna Henningsen) #33298
  • [ef2503375b] - src: fix invalid windowBits=8 gzip segfault (Ben Noordhuis) #33045
  • [548cedd870] - src: split out callback queue implementation from Environment (Anna Henningsen) #33272
  • [ed41494397] - src: clean up large pages code (Gabriel Schulhof) #33255
  • [cf476984f6] - src: use BaseObjectPtr in StreamReq::Dispose (James M Snell) #33102
  • [5ff31921cc] - Revert "src: add test/abort build tasks" (Richard Lau) #33196
  • [a56b600e93] - Revert "src: add aliased-buffer-overflow abort test" (Richard Lau) #33196
  • [a292630baf] - src: retrieve binding data from the context (Joyee Cheung) #33139
  • [b2fb01a68d] - stream: make from read one at a time (Robert Nagy) #33201
  • [b93a723fe6] - test: regression tests for async_hooks + Promise + Worker interaction (Anna Henningsen) #33347
  • [d3e2fc81e8] - test: fix test-dns-idna2008 (Rich Trott) #33367
  • [95842db17e] - test: refactor test/parallel/test-bootstrap-modules.js (Ruben Bridgewater) #33282
  • [f31b262f50] - test: refactor WPTRunner (Joyee Cheung) #33297
  • [85cffb8e4c] - test: update WPT interfaces and hr-time (Joyee Cheung) #33297
  • [5b2cd440a1] - test: fix test-net-throttle (Rich Trott) #33329
  • [1d2c81fee9] - test: add hr-time Web platform tests (Michaël Zasso) #33287
  • [6f54c2bbb6] - test: rename test-lookupService-promises (rickyes) #33100
  • [302408e515] - test: skip some console tests on dumb terminal (Adam Majer) #33165
  • [676ef952ab] - test: add tests for options.fs in fs streams (Julian Duque) #33185
  • [6d2aaaf6b4] - tls: fix --tls-keylog option (Alba Mendez) #33366
  • [eedc13174e] - tls: reset secureConnecting on client socket (David Halls) #33209
  • [453affebb0] - tools: update dependencies for markdown linting (Rich Trott) #33412
  • [91193447fb] - tools: enable no-else-return lint rule (Luigi Pinca) #32667
  • [e1e57a4223] - tools: update ESLint to 7.0.0 (Colin Ihrig) #33316
  • [cf03fe5b67] - tools: remove obsolete no-restricted-syntax eslint rules (Ruben Bridgewater) #32161
  • [804982c1b6] - tools: add eslint rule to only pass through 'test' to debuglog (Ruben Bridgewater) #32161
  • [c2cf9782ab] - Revert "vm: add importModuleDynamically option to compileFunction" (Matteo Collina) #33364
  • [6a26eee3c5] - wasi: fix poll_oneoff memory interface (Colin Ihrig) #33250
  • [4465d23c30] - wasi: prevent syscalls before start (Tobias Nießen) #33235
  • [9d1e577109] - worker: fix crash when .unref() is called during exit (Anna Henningsen) #33394
  • [b1a7fdac43] - worker: call CancelTerminateExecution() before exiting Locker (Anna Henningsen) #33347
  • [736ca65c2c] - zlib: reject windowBits=8 when mode=GZIP (Ben Noordhuis) #33045

New in Node.js 14.2.0 (May 6, 2020)

  • Notable Changes
  • Track function calls with assert.CallTracker (experimental)
  • assert.CallTracker is a new experimental API that allows to track and later verify the number of times a function was called. This works by creating a CallTracker object and using its calls method to create wrapper functions that will count each time they are called. Then the verify method can be used to assert that the expected number of calls happened.
  • Additionally, tracker.report() will return an array which contains information about the errors, if there are any.
  • Console groupIndentation option:
  • The Console constructor (require('console').Console) now supports different group indentations.
  • This is useful in case you want different grouping width than 2 spaces.
  • Commits:
  • Semver-minor commits:
  • [c87ed21fdf] - (SEMVER-MINOR) assert: port common.mustCall() to assert (ConorDavenport) #31982
  • [c49e3ea20c] - (SEMVER-MINOR) console: support console constructor groupIndentation option (rickyes) #32964
  • [bc9e413dae] - (SEMVER-MINOR) worker: add stack size resource limit option (Anna Henningsen) #33085
  • Semver-patch commits:
  • [f62d92b900] - build: add --error-on-warn configure flag (Daniel Bevenius) #32685
  • [db293c47dd] - cluster: fix error on worker disconnect/destroy (Santiago Gimeno) #32793
  • [83e165bf88] - crypto: check DiffieHellman p and g params (Ben Noordhuis) #32739
  • [e07cca6af6] - crypto: generator must be int32 in DiffieHellman() (Ben Noordhuis) #32739
  • [637442fec9] - crypto: key size must be int32 in DiffieHellman() (Ben Noordhuis) #32739
  • [c5a4534d5c] - deps: V8: backport e29c62b74854 (Anna Henningsen) #33125
  • [8325c29e92] - deps: update to uvwasi 0.0.8 (Colin Ihrig) #33078
  • [2174159598] - esm: improve commonjs hint on module not found (Daniele Belardi) #31906
  • [74b0e8c3a8] - http: ensure client request emits close (Robert Nagy) #33178
  • [a4ec01c55b] - http: simplify sending header (Robert Nagy) #33200
  • [451993ea94] - http: set default timeout in agent keepSocketAlive (Owen Smith) #33127
  • [3cb1713a59] - http2,doc: minor fixes (Alba Mendez) #28044
  • [eab4be1b93] - lib: cosmetic change to builtinLibs list for maintainability (James M Snell) #33106
  • [542da430ff] - lib: fix validateport error message when allowZero is false (rickyes) #32861
  • [5eccf1e9ad] - module: no type module resolver side effects (Guy Bedford) #33086
  • [466213d726] - n-api: simplify uv_idle wrangling (Ben Noordhuis) #32997
  • [ed45b51642] - path: fix comment grammar (thecodrr) #32942
  • [bb2d2f6e0e] - src: remove unused v8 Message namespace (Adrian Estrada) #33180
  • [de643bc325] - src: use unique_ptr for CachedData in ContextifyScript::New (Anna Henningsen) #33113
  • [f61928ba35] - src: return undefined when validation err == 0 (James M Snell) #33107
  • [f4e5ab14da] - src: crypto::UseSNIContext to use BaseObjectPtr (James M Snell) #33107
  • [541ea035bf] - src: separate out NgLibMemoryManagerBase (James M Snell) #33104
  • [10a87c81cf] - src: remove unnecessary fully qualified names (rickyes) #33077
  • [45032a39e8] - stream: fix stream.finished on Duplex (Robert Nagy) #33133
  • [4cfa7e0716] - stream: simplify Readable push/unshift logic (himself65) #32899
  • [bc40ed31b3] - stream: add null check in Readable.from (Pranshu Srivastava) #32873
  • [b183d0a18a] - stream: let Duplex re-use Writable properties (Robert Nagy) #33079
  • [ec24577406] - v8: use AliasedBuffers for passing heap statistics around (Joyee Cheung) #32929
  • [d39254ada6] - vm: fix vm.measureMemory() and introduce execution option (Joyee Cheung) #32988
  • [4423304ac4] - vm: throw error when duplicated exportNames in SyntheticModule (himself65) #32810
  • [3866dc1311] - wasi: use free() to release preopen array (Anna Henningsen) #33110
  • [d7d9960d38] - wasi: update start() behavior to match spec (Colin Ihrig) #33073
  • [8d5ac1bbf0] - wasi: rename __wasi_unstable_reactor_start() (Colin Ihrig) #33073
  • [c6d632a72a] - worker: unify custom error creation (Anna Henningsen) #33084
  • Documentation commits:
  • [6925b358f9] - doc: mark assert.CallTracker experimental (Ruben Bridgewater) #33124
  • [413f5d3581] - doc: add missing deprecation not (Robert Nagy) #33203
  • [7893bde07e] - doc: fix a typo in crypto.generateKeyPairSync() (himself65) #33187
  • [d02ced8af6] - doc: add util.types.isArrayBufferView() (Kevin Locke) #33092
  • [36d50027af] - doc: clarify when not to run CI on docs (Juan José Arboleda) #33101
  • [a99013718c] - doc: fix the spelling error in stream.md (白一梓) #31561
  • [23962191c1] - doc: correct Nodejs to Node.js spelling (Nick Schonning) #33088
  • [de15edcfc0] - doc: improve worker pool example (Ranjan Purbey) #33082
  • [289a5c8dfb] - doc: some grammar fixes (Chris Holland) #33081
  • [82e459d9af] - doc: don't check links in tmp dirs (Ben Noordhuis) #32996
  • [c5a2f9a02a] - doc: fix markdown parsing on doc/api/os.md (Juan José Arboleda) #33067
  • Other commits:
  • [60ebbc4386] - test: update c8 ignore comment (Benjamin Coe) #33151
  • [e276524fcc] - test: skip memory usage tests when ASAN is enabled (Anna Henningsen) #33129
  • [89ed7a5862] - test: move test-process-title to sequential (Anna Henningsen) #33150
  • [af7da46d9b] - test: fix out-of-bound reads from invalid sizeof usage (Anna Henningsen) #33115
  • [9ccb6b2e8c] - test: add missing calls to napi_async_destroy (Anna Henningsen) #33114
  • [3c2f608a8d] - test: correct typo in test name (Colin Ihrig) #33083
  • [92c7e0620f] - test: check args on SourceTextModule cachedData (Juan José Arboleda) #32956
  • [f79ef96fea] - test: mark test flaky on freebsd (Sam Roberts) #32849
  • [aced1f5d70] - test: flaky test-stdout-close-catch on freebsd (Sam Roberts) #32849
  • [6734cc43df] - tools: bump remark-preset-lint-node to 1.15.0 (Rich Trott) #33157
  • [a87d371014] - tools: fix redundant-move warning in inspector (Daniel Bevenius) #32685
  • [12426f59f5] - tools: update [email protected] (Rich Trott) #33072
  • [8c40ffc329] - tools: update broken types in type parser (Colin Ihrig) #33068

New in Node.js 14.1.0 (Apr 30, 2020)

  • Notable Changes:
  • deps: upgrade openssl sources to 1.1.1g (Hassaan Pasha) #32971
  • doc: add juanarbol as collaborator (Juan José Arboleda) #32906
  • http: doc deprecate abort and improve docs (Robert Nagy) #32807
  • module: do not warn when accessing __esModule of unfinished exports (Anna Henningsen) #33048
  • n-api: detect deadlocks in thread-safe function (Gabriel Schulhof) #32860
  • src: deprecate embedder APIs with replacements (Anna Henningsen) #32858
  • stream:
  • don't emit end after close (Robert Nagy) #33076
  • don't wait for close on legacy streams (Robert Nagy) #33058
  • pipeline should only destroy un-finished streams (Robert Nagy) #32968
  • vm: add importModuleDynamically option to compileFunction (Gus Caplan) #32985
  • Commits:
  • [1af08e1c5e] - buffer,n-api: fix double ArrayBuffer::Detach() during cleanup (Anna Henningsen) #33039
  • [91e30e35a1] - build: fix vcbuild error for missing Visual Studio (Thomas) #32658
  • [4035cbe631] - cluster: removed unused addressType argument from constructor (Yash Ladha) #32963
  • [56f50aeff0] - deps: patch V8 to 8.1.307.31 (Michaël Zasso) #33080
  • [fad188fe23] - deps: update archs files for OpenSSL-1.1.1g (Hassaan Pasha) #32971
  • [b12f1630fc] - deps: upgrade openssl sources to 1.1.1g (Hassaan Pasha) #32971
  • [b50333e001] - deps: V8: backport 3f8dc4b2e5ba (Ujjwal Sharma) #32993
  • [bbed1e56cd] - deps: V8: cherry-pick e1eac1b16c96 (Milad Farazmand) #32974
  • [3fed735099] - doc: fix LTS replaceme tags (Anna Henningsen) #33041
  • [343c6ac639] - doc: assign missing deprecation code (Richard Lau) #33109
  • [794b8796dd] - doc: improve WHATWG url constructor code example (Liran Tal) #32782
  • [14e559df87] - doc: make openssl maintenance position independent (Sam Roberts) #32977
  • [8a4de2ef25] - doc: improve release documentation (Michaël Zasso) #33042
  • [401ab610e7] - doc: document major finished changes in v14 (Robert Nagy) #33065
  • [a534d8282c] - doc: add documentation for transferList arg at worker threads (Juan José Arboleda) #32881
  • [f116825d56] - doc: avoid tautology in README (Ishaan Jain) #33005
  • [7e9f88e005] - doc: updated directory entry information (Eileen) #32791
  • [bf331b4e21] - doc: ignore no-literal-urls in README (Nick Schonning) #32676
  • [f92b398c76] - doc: convert bare email addresses to mailto links (Nick Schonning) #32676
  • [2bde11607d] - doc: ignore no-literal-urls in changelogs (Nick Schonning) #32676
  • [71f90234f9] - doc: add angle brackets around implicit links (Nick Schonning) #32676
  • [aec7bc754e] - doc: remove repeated word in modules.md (Prosper Opara) #32931
  • [005c2bab29] - doc: elevate diagnostic report to tier1 (Gireesh Punathil) #32732
  • [4dd3a7ddc9] - doc: set module version 83 to node 14 (Gerhard Stoebich) #32975
  • [b5b3efeb90] - doc: add more info to v14 changelog (Gus Caplan) #32979
  • [f6be140222] - doc: fix typo in security-release-process.md (Edward Elric) #32926
  • [fa710732bf] - doc: corrected ERR_SOCKET_CANNOT_SEND message (William Armiros) #32847
  • [68b7c80a44] - doc: fix usage of folder and directory terms in fs.md (karan singh virdi) #32919
  • [57c170c75c] - doc: fix typo in zlib.md (雨夜带刀) #32901
  • [a8ed8f5d0a] - doc: synch SECURITY.md with website (Rich Trott) #32903
  • [ccf6d3e5ed] - doc: add tsc-agenda to onboarding labels list (Rich Trott) #32832
  • [fc71a85c49] - doc: add N-API version 6 to table (Michael Dawson) #32829
  • [87605f0ed3] - doc: add juanarbol as collaborator (Juan José Arboleda) #32906
  • [4c643c0d42] - fs: update validateOffsetLengthRead in utils.js (daemon1024) #32896
  • [baa8231728] - fs: extract kWriteFileMaxChunkSize constant (rickyes) #32640
  • [03d02d74f3] - fs: remove unnecessary else statement (Jesus Hernandez) #32662
  • [31c797cb11] - http: doc deprecate abort and improve docs (Robert Nagy) #32807
  • [4ef91a640e] - http2: wait for secureConnect before initializing (Benjamin Coe) #32958
  • [6fc4d174b5] - http2: refactor and cleanup http2 (James M Snell) #32884
  • [4b6aa077fe] - inspector: only write coverage in fully bootstrapped Environments (Joyee Cheung) #32960
  • [737bd6205b] - lib: unnecessary const assignment for class (Yash Ladha) #32962
  • [98b30b06ff] - lib: simplify function process.emitWarning (himself65) #32992
  • [b957895ff7] - lib: remove unnecesary else block (David Daza) #32644
  • [cb4d8ce889] - module: refactor condition (Myles Borins) #32989
  • [4abc45a4b9] - module: do not warn when accessing __esModule of unfinished exports (Anna Henningsen) #33048
  • [21d314e7fc] - module: exports not exported for null resolutions (Guy Bedford) #32838
  • [eaf841d585] - module: improve error for invalid package targets (Myles Borins) #32052
  • [8663fd5f88] - module: partial doc removal of --experimental-modules (Myles Borins) #32915
  • [68656cf588] - n-api: fix false assumption on napi_async_context structures (legendecas) #32928
  • [861eb39307] - (SEMVER-MINOR) n-api: detect deadlocks in thread-safe function (Gabriel Schulhof) #32860
  • [a133ac17eb] - perf_hooks: remove unnecessary assignment when name is undefined (rickyes) #32910
  • [59b64adb79] - src: add AsyncWrapObject constructor template factory (Stephen Belanger) #33051
  • [23eda417b6] - src: do not compare against wide characters (Christopher Beeson) #32921
  • [d10c2c6968] - src: fix empty-named env var assertion failure (Christopher Beeson) #32921
  • [44c157e45d] - src: assignment to valid type (Yash Ladha) #32879
  • [d82c3c28de] - src: delete MicroTaskPolicy namespace (Juan José Arboleda) #32853
  • [bc755fc4c2] - src: fix compiler warnings in node_http2.cc (Daniel Bevenius) #33014
  • [30c2b0f798] - (SEMVER-MINOR) src: deprecate embedder APIs with replacements (Anna Henningsen) #32858
  • [95e897edfc] - src: use using NewStringType (rickyes) #32843
  • [4221b1c8c9] - src: fix null deref in AllocatedBuffer::clear (Matt Kulukundis) #32892
  • [f9b8988df6] - src: remove validation of unreachable code (Juan José Arboleda) #32818
  • [307e43da4d] - src: elevate v8 namespaces (Nimit) #32872
  • [ca7e0a226e] - src: remove redundant v8::HeapSnapshot namespace (Juan José Arboleda) #32854
  • [ae157b8ca7] - (SEMVER-MINOR) stream: don't emit end after close (Robert Nagy) #33076
  • [184e80a144] - stream: don't wait for close on legacy streams (Robert Nagy) #33058
  • [e07c4ffc39] - stream: fix sync write perf regression (Robert Nagy) #33032
  • [2bb4ac409b] - stream: avoid drain for sync streams (Robert Nagy) #32887
  • [c21f1f03c5] - stream: removes unnecessary params (Jesus Hernandez) #32936
  • [4c10b5f378] - stream: consistent punctuation (Robert Nagy) #32934
  • [1a2b3eb3a4] - stream: fix broken pipeline test (Robert Nagy) #33030
  • [7abc61f668] - stream: refactor Writable buffering (Robert Nagy) #31046
  • [180b935b58] - stream: pipeline should only destroy un-finished streams (Robert Nagy) #32968
  • [7647860000] - stream: finished should complete with read-only Duplex (Robert Nagy) #32967
  • [36a4f54d69] - stream: close iterator in Readable.from (Vadzim Zieńka) #32844
  • [7f498125e4] - stream: inline unbuffered _write (Robert Nagy) #32886
  • [2ab4ebc8bf] - stream: simplify Writable.end() (Robert Nagy) #32882
  • [11ea13f96c] - test: refactor test-async-hooks-constructor (himself65) #33063
  • [8fad112d93] - test: remove timers-blocking-callback (Jeremiah Senkpiel) #32870
  • [988c2fe287] - test: better error validations for event-capture (Adrian Estrada) #32771
  • [45e188b2e3] - test: refactor events tests for invalid listeners (Adrian Estrada) #32769
  • [b4ef06267d] - test: test-async-wrap-constructor prefer forEach (Daniel Estiven Rico Posada) #32631
  • [c9ae385abf] - test: mark test-child-process-fork-args as flaky on Windows (Andrey Pechkurov) #32950
  • [b12204e27e] - test: changed function to arrow function (Nimit) #32875
  • [323da6f251] - tls: add highWaterMark option for connect (rickyes) #32786
  • [308681307f] - tls: move getAllowUnauthorized to internal/options (James M Snell) #32917
  • [6a8e266a3b] - tools: update ESLint to 7.0.0-rc.0 (himself65) #33062
  • [fa7d969237] - tools: remove unused code in doc generation tool (Rich Trott) #32913
  • [ca5ebcfb67] - tools: fix mkcodecache when run with ASAN (Anna Henningsen) #32850
  • [22ccf2ba1f] - tools: decrease timeout in test.py (Anna Henningsen) #32868
  • [c82c08416f] - util,readline: NFC-normalize strings before getStringWidth (Anna Henningsen) #33052
  • [4143c747fc] - (SEMVER-MINOR) vm: add importModuleDynamically option to compileFunction (Gus Caplan) #32985
  • [c84d802449] - worker: fix process.env var empty key access (Christopher Beeson) #32921

New in Node.js 14.0.0 (Apr 22, 2020)

  • Notable Changes:
  • Deprecations:
  • (SEMVER-MAJOR) crypto: move pbkdf2 without digest to EOL (James M Snell) #31166
  • (SEMVER-MAJOR) fs: deprecate closing FileHandle on garbage collection (James M Snell) #28396
  • (SEMVER-MAJOR) http: move OutboundMessage.prototype.flush to EOL (James M Snell) #31164
  • (SEMVER-MAJOR) lib: move GLOBAL and root aliases to EOL (James M Snell) #31167
  • (SEMVER-MAJOR) os: move tmpDir() to EOL (James M Snell) #31169
  • (SEMVER-MAJOR) src: remove deprecated wasm type check (Clemens Backes) #32116
  • (SEMVER-MAJOR) stream: move _writableState.buffer to EOL (James M Snell) #31165
  • (SEMVER-MINOR) doc: deprecate process.mainModule (Antoine du HAMEL) #32232
  • (SEMVER-MINOR) doc: deprecate process.umask() with no arguments (Colin Ihrig) #32499
  • ECMAScript Modules - Experimental Warning Removal:
  • module: remove experimental modules warning (Guy Bedford) #31974
  • In Node.js 13 we removed the need to include the --experimental-modules flag, but when running EcmaScript Modules in Node.js, this would still result in a warning ExperimentalWarning: The ESM module loader is experimental.
  • As of Node.js 14 there is no longer this warning when using ESM in Node.js. However, the ESM implementation in Node.js remains experimental. As per our stability index: “The feature is not subject to Semantic Versioning rules. Non-backward compatible changes or removal may occur in any future release.” Users should be cautious when using the feature in production environments.
  • Please keep in mind that the implementation of ESM in Node.js differs from the developer experience you might be familiar with. Most transpilation workflows support features such as optional file extensions or JSON modules that the Node.js ESM implementation does not support. It is highly likely that modules from transpiled environments will require a certain degree of refactoring to work in Node.js. It is worth mentioning that many of our design decisions were made with two primary goals. Spec compliance and Web Compatibility. It is our belief that the current implementation offers a future proof model to authoring ESM modules that paves the path to Universal JavaScript. Please read more in our documentation.
  • The ESM implementation in Node.js is still experimental but we do believe that we are getting very close to being able to call ESM in Node.js “stable”. Removing the warning is a huge step in that direction.
  • New V8 ArrayBuffer API:
  • src: migrate to new V8 ArrayBuffer API (Thang Tran) #30782
  • Multiple ArrayBuffers pointing to the same base address are no longer allowed by V8. This may impact native addons.
  • Toolchain and Compiler Upgrades:
  • (SEMVER-MAJOR) build: update macos deployment target to 10.13 for 14.x (AshCripps) #32454
  • (SEMVER-MAJOR) doc: update cross compiler machine for Linux armv7 (Richard Lau) #32812
  • (SEMVER-MAJOR) doc: update Centos/RHEL releases use devtoolset-8 (Richard Lau) #32812
  • (SEMVER-MAJOR) doc: remove SmartOS from official binaries (Richard Lau) #32812
  • (SEMVER-MAJOR) win: block running on EOL Windows versions (João Reis) #31954
  • It is expected that there will be an ABI mismatch on ARM between the Node.js binary and native addons. Native addons are only broken if they interact with std::shared_ptr. This is expected to be fixed in a later version of Node.js 14. - #30786
  • Update to V8 8.1:
  • (SEMVER-MAJOR) deps: update V8 to 8.1.307.20 (Matheus Marchini) #32116
  • Enables Optional Chaining by default (MDN, v8.dev)
  • Enables Nullish Coalescing by default (MDN, v8.dev)
  • Enables Intl.DisplayNames by default (MDN, v8.dev)
  • Enables calendar and numberingSystem options for Intl.DateTimeFormat by default (MDN)
  • Other Notable Changes:
  • cli, report: move --report-on-fatalerror to stable (Colin Ihrig) #32496
  • deps: upgrade to libuv 1.37.0 (Colin Ihrig) #32866
  • fs: add fs/promises alias module (Gus Caplan) #31553
  • Semver-Major Commits:
  • [5360dd151d] - (SEMVER-MAJOR) assert: handle (deep) equal(NaN, NaN) as being identical (Ruben Bridgewater) #30766
  • [a621608f12] - (SEMVER-MAJOR) build: update macos deployment target to 10.13 for 14.x (AshCripps) #32454
  • [e65bed1b7e] - (SEMVER-MAJOR) child_process: create proper public API for channel (Anna Henningsen) #30165
  • [1b9a62cff4] - (SEMVER-MAJOR) crypto: make DH error messages consistent (Tobias Nießen) #31873
  • [bffa5044c5] - (SEMVER-MAJOR) crypto: move pbkdf2 without digest to EOL (James M Snell) #31166
  • [10f5fa7513] - (SEMVER-MAJOR) crypto: forbid setting the PBKDF2 iter count to 0 (Tobias Nießen) #30578
  • [2883c855e0] - (SEMVER-MAJOR) deps: update V8 to 8.1.307.20 (Matheus Marchini) #32116
  • [1b2e2944bc] - (SEMVER-MAJOR) dgram: don't hide implicit bind errors (Colin Ihrig) #31958
  • [1a1ce93317] - (SEMVER-MAJOR) doc: update cross compiler machine for Linux armv7 (Richard Lau) #32812
  • [dad96e4fc1] - (SEMVER-MAJOR) doc: update Centos/RHEL releases use devtoolset-8 (Richard Lau) #32812
  • [5317202aa1] - (SEMVER-MAJOR) doc: remove SmartOS from official binaries (Richard Lau) #32812
  • [75ee5b2622] - (SEMVER-MAJOR) doc: deprecate process.umask() with no arguments (Colin Ihrig) #32499
  • [afe353061b] - (SEMVER-MAJOR) doc: fs.write is not longer coercing strings (Juan José Arboleda) #31030
  • [a45c1aa39f] - (SEMVER-MAJOR) doc: fix mode and flags being mistaken in fs (Ruben Bridgewater) #27044
  • [331d636240] - (SEMVER-MAJOR) errors: remove unused ERR_SOCKET_CANNOT_SEND error (Colin Ihrig) #31958
  • [b8e41774d4] - (SEMVER-MAJOR) fs: add fs/promises alias module (Gus Caplan) #31553
  • [fb6df3bfac] - (SEMVER-MAJOR) fs: validate the input data to be of expected types (Ruben Bridgewater) #31030
  • [2d8febceef] - (SEMVER-MAJOR) fs: deprecate closing FileHandle on garbage collection (James M Snell) #28396
  • [67e067eb06] - (SEMVER-MAJOR) fs: watch signals for recursive incompatibility (Eran Levin) #29947
  • [f0d2df41f8] - (SEMVER-MAJOR) fs: change streams to always emit close by default (Robert Nagy) #31408
  • [a13500f503] - (SEMVER-MAJOR) fs: improve mode and flags validation (Ruben Bridgewater) #27044
  • [535e9571f5] - (SEMVER-MAJOR) fs: make FSStatWatcher.start private (Lucas Holmquist) #29971
  • [c1b2f6afbe] - (SEMVER-MAJOR) http: detach socket from IncomingMessage on keep-alive (Robert Nagy) #32153
  • [173d044d09] - (SEMVER-MAJOR) http: align OutgoingMessage and ClientRequest destroy (Robert Nagy) #32148
  • [d3715c76b5] - (SEMVER-MAJOR) http: move OutboundMessage.prototype.flush to EOL (James M Snell) #31164
  • [c776a37791] - (SEMVER-MAJOR) http: end with data can cause write after end (Robert Nagy) #28666
  • [ff2ed3ec85] - (SEMVER-MAJOR) http: remove unused hasItems() from freelist (Rich Trott) #30744
  • [d247a8e1dc] - (SEMVER-MAJOR) http: emit close on socket re-use (Robert Nagy) #28685
  • [6f0ec79e42] - (SEMVER-MAJOR) http,stream: make virtual methods throw an error (Luigi Pinca) #31912
  • [ec0dd6fa1c] - (SEMVER-MAJOR) lib: move GLOBAL and root aliases to EOL (James M Snell) #31167
  • [d7452b7140] - (SEMVER-MAJOR) module: warn on using unfinished circular dependency (Anna Henningsen) #29935
  • [eeccd52b4e] - (SEMVER-MAJOR) net: make readable/writable start as true (Robert Nagy) #32272
  • [ab4115f17c] - (SEMVER-MAJOR) os: move tmpDir() to EOL (James M Snell) #31169
  • [8c18e91c8a] - (SEMVER-MAJOR) process: remove undocumented now argument from emitWarning() (Rich Trott) #31643
  • [84c426cb60] - (SEMVER-MAJOR) repl: properly handle repl.repl (Ruben Bridgewater) #30981
  • [4f523c2c1a] - (SEMVER-MAJOR) src: migrate to new V8 ArrayBuffer API (Thang Tran) #30782
  • [c712fb7cd6] - (SEMVER-MAJOR) src: add abstract IsolatePlatformDelegate (Marcel Laverdet) #30324
  • [1428a92492] - (SEMVER-MAJOR) stream: make pipeline try to wait for 'close' (Robert Nagy) #32158
  • [388cef61e8] - (SEMVER-MAJOR) stream: align stream.Duplex with net.Socket (Robert Nagy) #32139
  • [7cafd5f3a9] - (SEMVER-MAJOR) stream: fix finished w/ 'close' before 'end' (Robert Nagy) #31545
  • [311e12b962] - (SEMVER-MAJOR) stream: fix multiple destroy calls (Robert Nagy) #29197
  • [1f209129c7] - (SEMVER-MAJOR) stream: throw invalid argument errors (Robert Nagy) #31831
  • [d016b9d708] - (SEMVER-MAJOR) stream: finished callback for closed streams (Robert Nagy) #31509
  • [e559842188] - (SEMVER-MAJOR) stream: make readable & writable computed (Robert Nagy) #31197
  • [907c07fa85] - (SEMVER-MAJOR) stream: move _writableState.buffer to EOL (James M Snell) #31165
  • [66f4e4edcb] - (SEMVER-MAJOR) stream: do not emit 'end' after 'error' (Robert Nagy) #31182
  • [75b30c606c] - (SEMVER-MAJOR) stream: emit 'error' asynchronously (Robert Nagy) #29744
  • [4bec6d13f9] - (SEMVER-MAJOR) stream: enable autoDestroy by default (Robert Nagy) #30623
  • [20d009d2fd] - (SEMVER-MAJOR) stream: pipe should not swallow error (Robert Nagy) #30993
  • [67ed526ab0] - (SEMVER-MAJOR) stream: error state cleanup (Robert Nagy) #30851
  • [e902fadc5e] - (SEMVER-MAJOR) stream: do not throw multiple callback errors in writable (Robert Nagy) #30614
  • [e13a37e49d] - (SEMVER-MAJOR) stream: ensure finish is emitted in next tick (Robert Nagy) #30733
  • [9d09969f4c] - (SEMVER-MAJOR) stream: always invoke end callback (Robert Nagy) #29747
  • [0f78dcc86d] - (SEMVER-MAJOR) util: escape C1 control characters and switch to hex format (Ruben Bridgewater) #29826
  • [cb8898c48f] - (SEMVER-MAJOR) win: block running on EOL Windows versions (João Reis) #31954
  • [a9401439c7] - (SEMVER-MAJOR) zlib: align with streams (Robert Nagy) #32220
  • Semver-Minor Commits:
  • [63f0dd1ab9] - (SEMVER-MINOR) async_hooks: merge run and exit methods (Andrey Pechkurov) #31950
  • [a683e87cd0] - (SEMVER-MINOR) async_hooks: prevent sync methods of async storage exiting outer context (Stephen Belanger) #31950
  • [f571b294f5] - (SEMVER-MINOR) doc: deprecate process.mainModule (Antoine du HAMEL) #32232
  • [e04f599258] - (SEMVER-MINOR) doc: add basic embedding example documentation (Anna Henningsen) #30467
  • [e93503be83] - (SEMVER-MINOR) embedding: provide hook for custom process.exit() behaviour (Anna Henningsen) #32531
  • [a8cf886de7] - (SEMVER-MINOR) src: shutdown platform from FreePlatform() (Anna Henningsen) #30467
  • [0e576740dc] - (SEMVER-MINOR) src: fix what a dispose without checking (Jichan) #30467
  • [887b6a143b] - (SEMVER-MINOR) src: allow non-Node.js TracingControllers (Anna Henningsen) #30467
  • [7e0264d932] - (SEMVER-MINOR) src: add ability to look up platform based on Environment* (Anna Henningsen) #30467
  • [d7f11077f1] - (SEMVER-MINOR) src: make InitializeNodeWithArgs() official public API (Anna Henningsen) #30467
  • [821e21de8c] - (SEMVER-MINOR) src: add unique_ptr equivalent of CreatePlatform (Anna Henningsen) #30467
  • [7dead8440c] - (SEMVER-MINOR) src: add LoadEnvironment() variant taking a string (Anna Henningsen) #30467
  • [c44edec4da] - (SEMVER-MINOR) src: provide a variant of LoadEnvironment taking a callback (Anna Henningsen) #30467
  • [a9fb51f9be] - (SEMVER-MINOR) src: align worker and main thread code with embedder API (Anna Henningsen) #30467
  • [084c379648] - (SEMVER-MINOR) src: associate is_main_thread() with worker_context() (Anna Henningsen) #30467
  • [64c01222d9] - (SEMVER-MINOR) src: move worker_context from Environment to IsolateData (Anna Henningsen) #30467
  • [288382a4ce] - (SEMVER-MINOR) src: fix memory leak in CreateEnvironment when bootstrap fails (Anna Henningsen) #30467
  • [d7bc5816a5] - (SEMVER-MINOR) src: make FreeEnvironment() perform all necessary cleanup (Anna Henningsen) #30467
  • [43d32b073f] - (SEMVER-MINOR) src,test: add full-featured embedder API test (Anna Henningsen) #30467
  • [2061c33670] - (SEMVER-MINOR) test: add extended embedder cctest (Anna Henningsen) #30467
  • [2561484dcb] - (SEMVER-MINOR) test: re-enable cctest that was commented out (Anna Henningsen) #30467
  • Semver-Patch Commits:
  • [9b6e797379] - Revert "assert: fix line number calculation after V8 upgrade" (Michaël Zasso) #32116
  • [c740fbda9d] - buffer: add type check in bidirectionalIndexOf (Gerhard Stoebich) #32770
  • [c8e3470e53] - buffer: mark pool ArrayBuffer as untransferable (Anna Henningsen) #32759
  • [f2c22db580] - build: remove .git folders when testing V8 (Richard Lau) #32877
  • [c0f43bfda8] - build: add configure flag to build V8 with DCHECKs (Anna Henningsen) #32787
  • [99e7f878ce] - build: re-enable ASAN Action using clang (Matheus Marchini) #32776
  • [3e55284e9b] - build: use same flags as V8 for ASAN (Matheus Marchini) #32776
  • [4e5ec41024] - build: add build from tarball (John Kleinschmidt) #32129
  • [6a349019da] - build: temporarily skip ASAN build (Matheus Marchini) #32116
  • [da92f15413] - build: reset embedder string to "-node.0" (Matheus Marchini) #32116
  • [e883059c24] - cli, report: move --report-on-fatalerror to stable (Colin Ihrig) #32496
  • [bf86f55e22] - deps: patch V8 to 8.1.307.30 (Michaël Zasso) #32693
  • [b5bbde8cf1] - deps: upgrade to libuv 1.37.0 (Colin Ihrig) #32866
  • [7afe24dba6] - deps: upgrade to libuv 1.36.0 (Colin Ihrig) #32866
  • [1cd235d1a0] - deps: patch V8 to run on Xcode 8 (Matheus Marchini) #32116
  • [5d867badd0] - deps: V8: silence irrelevant warnings (Michaël Zasso) #32116
  • [8d2c441e4d] - deps: V8: cherry-pick 931bdbd76f5b (Matheus Marchini) #32116
  • [049160dfb6] - deps: V8: cherry-pick 1e36e21acc40 (Matheus Marchini) #32116
  • [0220c298c5] - deps: bump minimum icu version to 65 (Michaël Zasso) #32116
  • [f90eba1d91] - deps: make v8.h compatible with VS2015 (Joao Reis) #32116
  • [56b6a4f732] - deps: V8: forward declaration of Rtl*FunctionTable (Refael Ackermann) #32116
  • [40c9419b35] - deps: V8: patch register-arm64.h (Refael Ackermann) #32116
  • [55407ab73e] - deps: patch V8 to run on older XCode versions (Ujjwal Sharma) #32116
  • [990bc9adb4] - deps: V8: un-cherry-pick bd019bd (Refael Ackermann) #32116
  • [17a6def4e8] - deps: update V8 dtrace & postmortem metadata (Colin Ihrig) #32116
  • [0f14123186] - deps: V8: stub backport fast API call changes (Anna Henningsen) #32885
  • [bf412ed77b] - deps: V8: stub backport d5b444bc5a84 (Anna Henningsen) #32885
  • [fdaa365b0b] - deps: V8: stub backport 65238018ca4b and 8d08318e1a85 (Anna Henningsen) #32885
  • [8198e7882c] - deps: V8: stub backport 9e52d5c5d717 (Anna Henningsen) #32885
  • [a27852ae7c] - deps: V8: cherry-pick 98b1ef80c722 (Anna Henningsen) #32885
  • [e8c7b7a2df] - deps: V8: cherry-pick b5c917ee80cb (Anna Henningsen) #32885
  • [552cee0cc0] - deps: V8: cherry-pick 700b1b97e9ab (Anna Henningsen) #32885
  • [9b7a1b048a] - deps: V8: cherry-pick e8ba5699c648 (Anna Henningsen) #32885
  • [1f02617b05] - deps: V8: cherry-pick 55a01ec7519a (Anna Henningsen) #32885
  • [da728c482c] - deps: V8: cherry-pick 9f0f2cb7f08d (Anna Henningsen) #32885
  • [2ee8b4a512] - deps: V8: cherry-pick e395d1698453 (Anna Henningsen) #32885
  • [dfc66a6af4] - deps: V8: cherry-pick d1253ae95b09 (Anna Henningsen) #32885
  • [c3ecbc758b] - deps: V8: cherry-pick fa3e37e511ee (Anna Henningsen) #32885
  • [9568fbc7cd] - deps: V8: cherry-pick f0057afc2fb6 (Anna Henningsen) #32885
  • [07d4372d5a] - deps: V8: cherry-pick 94723c197199 (Anna Henningsen) #32885
  • [4a11a54f9a] - deps: V8: backport 844fe8f7d965 (Anna Henningsen) #32885
  • [1b7878558a] - deps: V8: cherry-pick 2db93c023379 (Anna Henningsen) #32885
  • [122937fc67] - deps: V8: cherry-pick 4b1447e4bb0e (Anna Henningsen) #32885
  • [01573ba4ae] - deps: remove duplicated postmortem metadata entry (Matheus Marchini) #32521
  • [9290febefa] - deps: patch V8 to 8.1.307.26 (Matheus Marchini) #32521
  • [a9e4cec70d] - Revert "deps: V8: cherry-pick f9257802c1c0" (Matheus Marchini) #32521
  • [77542a5d57] - deps: revert whitespace changes on V8 (Matheus Marchini) #32587
  • [9add24ecd3] - doc: missing brackets (William Bonawentura) #32657
  • [1796cc0df5] - doc: improve consistency in usage of NULL (Michael Dawson) #32726
  • [2662b0c9e3] - doc: improve net docs (Robert Nagy) #32811
  • [5d940de17b] - doc: note that signatures of binary may be from subkeys (Reşat SABIQ) #32591
  • [3c8dd6d0c3] - doc: add transform stream destroy() return value (Colin Ihrig) #32788
  • [39368b34eb] - doc: updated guidance for n-api changes (Michael Dawson) #32721
  • [cba6e5dc09] - doc: remove warning from response.writeHead (Cecchi MacNaughton) #32700
  • [8f7fd8d6aa] - doc: improve AsyncLocalStorage sample (Andrey Pechkurov) #32757
  • [a7c75f956f] - doc: document buffer.from returns internal pool buffer (Harshitha KP) #32703
  • [f6a91156c7] - doc: add puzpuzpuz to collaborators (Andrey Pechkurov) #32817
  • [1db8da21f2] - doc: split process.umask() entry into two (Rich Trott) #32711
  • [6ade42bb3c] - doc: stream.end(cb) cb can be invoked with error (Pranshu Srivastava) #32238
  • [edb3ffb003] - doc: fix os.version() Windows API (Colin Ihrig) #32156
  • [a777cfa843] - doc: remove repetition (Luigi Pinca) #31868
  • [7c524fb092] - doc: fix Writable.write callback description (Robert Nagy) #31812
  • [43fb664701] - doc: fix missing changelog corrections (Myles Borins) #31854
  • [a2d6f98e1a] - doc: fix typo (Colin Ihrig) #31675
  • [17e3f3be76] - doc: update pr-url for DEP0022 EOL (Colin Ihrig) #31675
  • [cd0f5a239e] - doc: update pr-url for DEP0016 EOL (Colin Ihrig) #31675
  • [5170daaca5] - doc: fix changelog for v10.18.1 (Andrew Hughes) #31358
  • [d845915d46] - doc: mark Node.js 8 End-of-Life in CHANGELOG (Beth Griggs) #31152
  • [009a9c475b] - doc,src,test: assign missing deprecation code (Colin Ihrig) #31674
  • [ed4fbefb71] - fs: use finished over destroy w/ cb (Robert Nagy) #32809
  • [3e9302b2b3] - fs: validate the input data before opening file (Yongsheng Zhang) #31731
  • [1a3e358a1d] - http: refactor agent 'free' handler (Robert Nagy) #32801
  • [399749e4d8] - lib: created isValidCallback helper (Yash Ladha) #32665
  • [bc55b57e64] - lib: fix few comment typos in fs/watchers.js (Denys Otrishko) #31705
  • [f98668ade3] - module: remove experimental modules warning (Guy Bedford) #31974
  • [fe1bda9aeb] - module: fix memory leak when require error occurs (Qinhui Chen) #32837
  • [076ba3150d] - Revert "n-api: detect deadlocks in thread-safe function" (Gabriel Schulhof) #32880
  • [1092bb94f4] - process: suggest --trace-warnings when printing warning (Anna Henningsen) #32797
  • [d19a2c33b3] - src: migrate measureMemory to new v8 api (gengjiawen) #32116
  • [a63db7fb5e] - src: remove deprecated wasm type check (Clemens Backes) #32116
  • [c080b2d821] - src: avoid calling deprecated method (Clemens Backes) #32116
  • [7ed0d1439e] - src: remove use of deprecated Symbol::Name() (Colin Ihrig) #32116
  • [59eeb3b5b9] - src: stop overriding deprecated V8 methods (Clemens Backes) #32116
  • [339c192ddb] - src: update NODE_MODULE_VERSION to 83 (Matheus Marchini) #32116
  • [6681a685a9] - src: remove unused using in node_worker.cc (Daniel Bevenius) #32840
  • [b9d9f91a80] - src: use basename(argv0) for --trace-uncaught suggestion (Anna Henningsen) #32798
  • [24e1e28b38] - src: ignore GCC -Wcast-function-type for v8.h (Daniel Bevenius) #32679
  • [a946189ccd] - src: add AliasedStruct utility (James M Snell) #32778
  • [457f1f1ed0] - src: remove unused v8 Array namespace (Juan José Arboleda) #32749
  • [b68e26ee70] - src: flush V8 interrupts from Environment dtor (Anna Henningsen) #32523
  • [96bf137cca] - src: use env->RequestInterrupt() for inspector MainThreadInterface (Anna Henningsen) #32523
  • [72da426780] - src: use env->RequestInterrupt() for inspector io thread start (Anna Henningsen) #32523
  • [99c9b2368c] - src: fix cleanup hook removal for InspectorTimer (Anna Henningsen) #32523
  • [6dffd6b3de] - src: make Environment::interrupt_data_ atomic (Anna Henningsen) #32523
  • [8c5ad1392f] - src: initialize inspector before RunBootstrapping() (Anna Henningsen) #32672
  • [eafd64b1c8] - src: consistently declare BindingData class (Sam Roberts) #32677
  • [78c82a38ac] - src: move fs state out of Environment (Anna Henningsen) #32538
  • [7005670f34] - src: move http parser state out of Environment (Anna Henningsen) #32538
  • [19b671506c] - src: move v8 stats buffers out of Environment (Anna Henningsen) #32538
  • [4df24f040d] - src: move HTTP/2 state out of Environment (Anna Henningsen) #32538
  • [1fc3de908e] - src: make creating per-binding data structures easier (Anna Henningsen) #32538
  • [0e9f9b7592] - src: include AsyncWrap provider strings in snapshot (Anna Henningsen) #32572
  • [effebf87ab] - src: remove unused v8 namespace (Juan José Arboleda) #32375
  • [d23eed256b] - src: remove calls to deprecated ArrayBuffer methods (Michaël Zasso) #32358
  • [f3682102dc] - src: give Http2Session JS fields their own backing store (Anna Henningsen) #31648
  • [90f7a5c010] - src: set arraybuffer_untransferable_private_symbol (Thang Tran) #31053
  • [d06efafe6b] - src: explicitly allocate backing stores for v8 stat buffers (Anna Henningsen) #30946
  • [917fedd21a] - src: unset NODE_VERSION_IS_RELEASE from master (Michaël Zasso) #30584
  • [69f19f4ccd] - src: remove uses of deprecated wasm TransferrableModule (Clemens Backes) #30026
  • [acac5df260] - src,doc: add documentation for per-binding state pattern (Anna Henningsen) #32538
  • [ad4c10e824] - stream: improve comments regarding end() errors (Robert Nagy) #32839
  • [6e5c23b6c8] - stream: update comment to indicate unused API (Robert Nagy) #32808
  • [21bd6679ce] - stream: fix finished typo (Robert Nagy) #31881
  • [85c6fcd1cd] - stream: avoid writing to writable (Robert Nagy) #31805
  • [0875837417] - stream: fix async iterator destroyed error order (Robert Nagy) #31700
  • [b9a7625fdf] - stream: removed outdated TODO (Robert Nagy) #31701
  • [68e1288e00] - test: mark addons/zlib-bindings/test flaky on arm (Michaël Zasso) #32885
  • [a09bf3ad5f] - test: replace console.log/error() with debuglog (daemon1024) #32692
  • [d1b41bbd86] - test: only detect uname on supported os (Xu Meng) #32833
  • [4bb29ed044] - test: mark cpu-prof-dir-worker flaky on all (Sam Roberts) #32828
  • [e18a40e42d] - test: replace equal with strictEqual (Jesus Hernandez) #32727
  • [320f297a35] - test: mark test-worker-prof flaky on arm (Sam Roberts) #32826
  • [4b5658b536] - test: mark test-http2-reset-flood flaky on all (Sam Roberts) #32825
  • [ead51be541] - test: cover node entry type in perf_hooks (Julian Duque) #32751
  • [9e5189a560] - test: use symlinks to copy shells (John Kleinschmidt) #32129
  • [c5763e8dc1] - test: wait for message from parent in embedding cctest (Anna Henningsen) #32563
  • [c3204a8787] - test: use common.buildType in embedding test (Anna Henningsen) #32422
  • [f2cc28aec3] - test: use InitializeNodeWithArgs in cctest (Anna Henningsen) #32406
  • [df1592d2e9] - test: async iterate destroyed stream (Robert Nagy) #28995
  • [5100e84f4b] - test: fix flaky test-fs-promises-file-handle-close (Anna Henningsen) #31687
  • [52944b834a] - test: remove test (Clemens Backes) #32116
  • [119fdf6813] - test: remove checks for deserializing wasm (Matheus Marchini) #32116
  • [add5f6e5cd] - tls: provide default cipher list from command line (Anna Henningsen) #32760
  • [405ae1909b] - tools: update V8 gypfiles for 8.1 (Matheus Marchini) #32116
  • [7fe61222ef] - worker: mention argument name in type check message (Anna Henningsen) #32815
  • [7147df53e8] - worker: fix type check in receiveMessageOnPort (Anna Henningsen) #32745
  • [0c545f0f72] - zlib: emits 'close' event after readable 'end' (Sergey Zelenov) #32050

New in Node.js 13.13.0 (Apr 15, 2020)

  • Notable Changes:
  • New file system APIs:
  • Added a new function, fs.readv (with sync and promisified versions). This function takes an array of ArrayBufferView elements and will write the data it reads sequentially to the buffers (Sk Sajidul Kadir) #32356.
  • A new overload is available for fs.readSync, which allows to optionally pass any of the offset, length and position parameters (Lucas Holmquist) #32460.
  • Other changes:
  • dns:
  • Added the dns.ALL flag, that can be passed to dns.lookup() with dns.V4MAPPED to return resolved IPv6 addresses as well as IPv4 mapped IPv6 addresses (murgatroid99) #32183.
  • http:
  • The default maximum HTTP header size was changed from 8KB to 16KB (rosaxny) #32520.
  • n-api:
  • Calls to napi_call_threadsafe_function from the main thread can now return the napi_would_deadlock status in certain circumstances (Gabriel Schulhof) #32689.
  • util:
  • Added a new maxStrLength option to util.inspect, to control the maximum length of printed strings. Its default value is Infinity (rosaxny) #32392.
  • worker:
  • Added support for passing a transferList along with workerData to the Worker constructor (Juan José Arboleda) #32278.
  • New core collaborators:
  • With this release, we welcome three new Node.js core collaborators:
  • himself65 #32734.
  • flarna (Gerhard Stoebich) #32620.
  • mildsunrise (Alba Mendez) #32525.
  • Commits:
  • [a25ceeff72] - async_hooks: use hasHooks function internally (rickyes) #32656
  • [b63223114b] - async_hooks: move to lazy destroy hook registration in AsyncResource (Andrey Pechkurov) #32429
  • [78b90d9bc4] - benchmark: fix error on server close in AsyncLocalStorage benchmark (Andrey Pechkurov) #32503
  • [b556670d55] - benchmark: use let instead of var in zlib (Daniele Belardi) #31794
  • [d8316654fb] - benchmark: use let instead of var in worker (Daniele Belardi) #31794
  • [f1d3fb067b] - benchmark: use let instead of var in util (Daniele Belardi) #31794
  • [148df0a743] - benchmark: use let instead of var in url (Daniele Belardi) #31794
  • [108e91fb85] - benchmark: use let instead of var in tls (Daniele Belardi) #31794
  • [f1720145af] - benchmark: use let instead of var in timers (Daniele Belardi) #31794
  • [4ce6fc5f9b] - benchmark: use let instead of var in run.js (Daniele Belardi) #31794
  • [93b3997452] - benchmark: use let instead of var in dns (Daniele Belardi) #31794
  • [54c6219c0b] - benchmark: use let instead of var in common.js (Daniele Belardi) #31794
  • [b188b3c1ba] - benchmark: use const instead of var in async_hooks (Daniele Belardi) #31794
  • [05111c4377] - benchmark: add no-var rule in .eslintrc.yaml (Daniele Belardi) #31794
  • [34f05ced8d] - build: output dots instead of tap in GitHub actions (Michaël Zasso) #32714
  • [f9a2276548] - build: move doc versions JSON file out of out/doc (Richard Lau) #32728
  • [d7b526c446] - build: fix LINT_MD_NEWER assignment (Rich Trott) #32712
  • [809d42ccc1] - build: remove .txt files from .gitignore (Rich Trott) #32710
  • [a11e3ef912] - build: log detected compilers in --verbose mode (Richard Lau) #32715
  • [135f4b9a99] - build: use tabs for indentation in Makefile (Luigi Pinca) #32614
  • [655ff39a4c] - build: remove make lint on lint-py (himself65) #32599
  • [432e58fcf0] - build: disable -Wattributes warnings on aix (Ben Noordhuis) #32419
  • [eda165feb0] - build: drop Travis in favor of Actions (Matheus Marchini) #32450
  • [814d88a01a] - console: fixup error message (James M Snell) #32475
  • [2c32e59d8d] - crypto: clear openssl error stack after en/decrypt (Ben Noordhuis) #32248
  • [4874db72b3] - deps: fix zlib compilation for CPUs without SIMD features (Anna Henningsen) #32627
  • [8586838feb] - deps: update archs files for OpenSSL-1.1.1f (Hassaan Pasha) #32583
  • [3417cc5777] - deps: upgrade openssl sources to 1.1.1f (Hassaan Pasha) #32583
  • [f690fc93d6] - deps: update acorn to v7.1.1 (Ruben Bridgewater) #32310
  • [e0e73f6850] - dns: remove duplicate code (rickyes) #32664
  • [e14317a840] - (SEMVER-MINOR) dns: add dns.ALL hints flag constant (murgatroid99) #32183
  • [0a8e07599b] - doc: add link to code ide configs (Robert Nagy) #32767
  • [18b5e04e75] - doc: replace node-test-pull-request-lite-pipeline from onboarding (Juan José Arboleda) #32736
  • [66aafcf298] - doc: add useful v8 option section (Nimit) #32262
  • [9788b8438b] - doc: add himself65 to collaborators (himself65) #32734
  • [19deaa5ddf] - doc: clarify behavior of napi_get_typedarray_info (Michael Dawson) #32603
  • [f41660a5c2] - doc: remove optional parameter from markdown anchor link (Rich Trott) #32671
  • [6b32877f82] - doc: clarify listening event (Harshitha KP) #32581
  • [c1bb041202] - doc: update Ninja information in build guide (Adrian Estrada) #32629
  • [ba0ea79c82] - doc: correct version metadata for Readable.from (Dave Vandyke) #32639
  • [7ae8ce3320] - doc: make openssl commit messages be valid (Sam Roberts) #32602
  • [1e72605703] - doc: adjust paths in openssl maintenance guide (Hassaan Pasha) #32593
  • [5c70db48bd] - doc: clarify docs fs.watch exception may be emitted (Juan José Arboleda) #32513
  • [b567a63cc0] - doc: add unreachable code on events example (himself65) #32364
  • [0f1f572d28] - doc: clarify length param in buffer.write (Harshitha KP) #32119
  • [31b2cbb7e4] - doc: document that server.address() can return null (Thomas Watson Steen) #32519
  • [7f971b3fd9] - doc: return type of crypto.getFips() may change (Richard Lau) #32580
  • [cf4f188fd6] - doc: fix return type of crypto.getFips() (Richard Lau) #32580
  • [34074aa095] - doc: clarify requireManualDestroy option (Harshitha KP) #32514
  • [a1bb93ac7c] - doc: fix wordy sentence (Moni) #32567
  • [329635975b] - doc: add missing changes: entry for dns.ALL (Anna Henningsen) #32617
  • [1dee8c13a9] - doc: fix more links (Alba Mendez) #32586
  • [d513b55891] - doc: improve markdown link checker (Alba Mendez) #32586
  • [7d93a3fa7c] - doc: add flarna to collaborators (Gerhard Stoebich) #32620
  • [b6f71969a0] - doc: improve fs.read documentation (Hachimi Aa (Sfeir)) #29270
  • [f0a31e33a8] - doc: update releaser list in README.md (Myles Borins) #32577
  • [9ee2afa0f7] - doc: add ASAN build instructions (gengjiawen) #32436
  • [979fb155ff] - doc: update context-aware section of addon doc (Gabriel Schulhof) #28659
  • [b494053745] - doc: update AUTHORS list (Luigi Pinca) #32222
  • [6d4d299f4d] - doc: tests local links in markdown documents (Antoine du HAMEL) #32359
  • [002048ef9f] - doc: fix typo in http2 docs (Nitin Kumar) #32292
  • [02b0c9e469] - doc: fix typo in maintaining-zlib guide (Nitin Kumar) #32292
  • [6cdccc8f28] - doc: fix typo in maintaining-openssl guide (Nitin Kumar) #32292
  • [7d4ec42b3a] - doc: fix profile type of --heap-prof-name (Syohei YOSHIDA) #32404
  • [e7e3aeec34] - doc: use uppercase on windows path (himself65) #32294
  • [1b97d25a6c] - doc: rename cve_management_process.md to fit doc style guide (Ling Samuel) #32456
  • [1e27f66ce6] - doc: add missing changes: entry for mkdir (Anna Henningsen) #32490
  • [edee4ecade] - doc: add mildsunrise to collaborators (Alba Mendez) #32525
  • [7f0ed89892] - doc: add link to DNS definition (unknown) #32228
  • [394f8ca333] - doc,crypto: clarify oaepHash option's impact (Filip Skokan) #32340
  • [991aca329d] - (SEMVER-MINOR) fs: make parameters optional for readSync (Lucas Holmquist) #32460
  • [b8b8e82591] - fs: fix fs.read when passing null value (himself65) #32479
  • [30d55a3517] - (SEMVER-MINOR) fs: add fs.readv() (Sk Sajidul Kadir) #32356
  • [8770fd96a7] - fs: fixup error message for invalid options.recursive (James M Snell) #32472
  • [8597df48f7] - http: fix incorrect headersTimeout measurement (Alex R) #32329
  • [ff3615d5d9] - http: move free socket error handling to agent (Robert Nagy) #32003
  • [7c3c06224c] - http: don't emit 'readable' after 'close' (Robert Nagy) #32277
  • [bd9f4d2954] - http: increase default header size from 8KB to 16KB (unknown) #32520
  • [567b352062] - http: fixup options.method error message (James M Snell) #32471
  • [23e56ff21c] - lib: fix return type of setTimeout in net.Socket (龙腾道) #32722
  • [180e43711c] - lib: removes unnecessary params (Jesus Hernandez) #32694
  • [94251c463b] - lib: changed functional logic in cluster schedulers (Yash Ladha) #32505
  • [5740a70e5d] - lib: removed unused error code (Yash Ladha) #32481
  • [68608b2bdc] - lib: replace Array to ArrayIsArray by primordials (himself65) #32258
  • [537d2c1170] - module: expose exports conditions to loaders (Jan Krems) #31303
  • [bc7f819263] - module: path-only CJS exports extension searching (Guy Bedford) #32351
  • [3907de7d24] - (SEMVER-MINOR) n-api: detect deadlocks in thread-safe function (Gabriel Schulhof) #32689
  • [dd74601f96] - net: fix crash if POLLHUP is received (Santiago Gimeno) #32590
  • [3c8bf9022a] - net: wait for shutdown to complete before closing (Robert Nagy) #32491
  • [1a01ac3425] - perf_hooks: allow omitted parameters in 'performance.measure' (himself65) #32651
  • [8e00f0d2a2] - repl: fixup error message (James M Snell) #32474
  • [9b84103273] - report: fix stderr matching for fatal error (gengjiawen) #32699
  • [c09552063b] - report: add missing locks for report_on_fatalerror accessors (Anna Henningsen) #32535
  • [611dbf8d7f] - src: removes unused v8::Integer and v8::Array namespace (Jesus Hernandez) #32779
  • [c8a007f91e] - src: remove unused v8::TryCatch namespace (Juan José Arboleda) #32729
  • [ea1785597c] - src: remove duplicated code (himself65) #32719
  • [1763649c51] - src: sync access for report and openssl options (Sam Roberts) #32618
  • [246b789771] - src: refactor to avoid goto in node_file.cc (Tobias Nießen) #32637
  • [d77998096b] - src: munmap(2) upon class instance destructor (Gabriel Schulhof) #32570
  • [1fb4f9d922] - src: fix warnings on SPrintF (himself65) #32558
  • [3b5c4fbc7c] - src: replace goto with lambda in options parser (Tobias Nießen) #32635
  • [42a28d0214] - src: fix extra includes of "env.h" and "env-inl.h" (Nick Kreeger) #32293
  • [fcfde57806] - src: avoid using elevated v8 namespaces in node_perf.h (James M Snell) #32468
  • [9600332c53] - src: avoid using elevated v8 namespaces in node_errors.h (James M Snell) #32468
  • [62db9a0678] - src: minor http2 refactorings (James M Snell) #32551
  • [8f766e8397] - src: rename http2 class and suppress compile warnings (James M Snell) #32551
  • [afc6a25f42] - src: use smart pointers for nghttp2 objects (James M Snell) #32551
  • [4df3ac2a63] - src: remove loop_init_failed_ from Worker class (Anna Henningsen) #32562
  • [0faaa7c84c] - src: clean up worker thread creation code (Anna Henningsen) #32562
  • [f284d599bb] - src: move JSONWriter into its own file (Anna Henningsen) #32552
  • [e066584d94] - src: align PerformanceState class name with conventions (Anna Henningsen) #32539
  • [04237eca55] - src: handle report options on fatalerror (Sam Roberts) #32497
  • [5080491ae4] - src: refactoring and cleanup of node_i18n (James M Snell) #32438
  • [e2b08f0ea8] - src: remove unnecessary 'Local.As' operation (himself65) #32286
  • [928a49004e] - src: add test/abort build tasks (Christian Niederer) #31740
  • [9c901a5ef0] - src: add aliased-buffer-overflow abort test (Christian Niederer) #31740
  • [1e76bc67dd] - src: check for overflow when extending AliasedBufferBase (Christian Niederer) #31740
  • [c71736efd8] - src: unify Linux and FreeBSD large pages implem (Gabriel Schulhof) #32534
  • [06bff18fa8] - src: replace handle dereference with ContainerOf (Harshitha KP) #32298
  • [b973b938a2] - src: enhance template function 'MakeUtf8String' (himself65) #32322
  • [fbf0493b05] - src: fix compiler warnings in node_report_module (Daniel Bevenius) #32498
  • [1de9718b54] - src: remove excess v8 namespace (himself65) #32191
  • [09cd7449e2] - src: simplify large pages mapping code (Gabriel Schulhof) #32396
  • [778dcc8f1a] - src: clean v8 namespaces in env.cc file (Juan José Arboleda) #32374
  • [aa282276ec] - src: check for empty maybe local (Xavier Stouder) #32339
  • [13377a0f0f] - src: cleanup DestroyParam when Environment exits (Anna Henningsen) #32421
  • [055c5686ad] - src,test: add regression test for nested Worker termination (Anna Henningsen) #32623
  • [1c47bba607] - stream: complete pipeline with stdio (Robert Nagy) #32373
  • [cad768eb86] - stream: change var to let/const in stream files (Saajan) #32214
  • [bdb2df7e34] - test: replace console.log/error with debuglog (Agustin Daguerre) #32695
  • [756a049a1a] - test: make sure that inspector tests finish (Anna Henningsen) #32673
  • [a7a70fa986] - test: save test file in temporary directory (Luigi Pinca) #32670
  • [6d479588cb] - test: fix check error name on error instance (himself65) #32508
  • [9df274ad03] - Revert "test: mark empty udp tests flaky on OS X" (Luigi Pinca) #32489
  • [6d122429c1] - test: remove unused variables on async hook test (Julian Duque) #32630
  • [8c68dd4a11] - test: check that --expose-internals is disallowed in NODE_OPTIONS (Juan José Arboleda) #32554
  • [4ffa138c81] - test: refactor test-worker (himself65) #32509
  • [17b2526162] - test: add Worker initialization failure test case (Harshitha KP) #31929
  • [ed89863c6d] - test: fix tool path in test-doctool-versions.js (Richard Lau) #32645
  • [17a3dcea90] - test: copy addons .gitignore to test/abort/ (Anna Henningsen) #32624
  • [e501ba2146] - test: refactor test-http2-buffersize (Rich Trott) #32540
  • [cede0cb841] - test: skip crypto test on arm buildbots (Ben Noordhuis) #32636
  • [e01d061669] - test: replace console.error() with debuglog calls (Rich Trott) #32588
  • [a7b6a10e2a] - test: fix python-version selection with actions (Myles Borins) #32609
  • [93ff4ffca9] - test: add a missing common.mustCall (Harshitha KP) #32305
  • [30505d7c10] - test: remove unnecessary console.log() calls (Juan José Arboleda) #32541
  • [8f0c1069b9] - test: replace console.log() with debuglog() (Juan José Arboleda) #32550
  • [408437d7c6] - test: validate util.format when the value is 'Infinity' (Andrés M. Gómez) #32573
  • [2e015e5b5e] - test: fix fs test-fs-utimes strictEqual arg order (Ben Noordhuis) #32420
  • [edf35db27e] - test: replace flag expose_internals to expose-internals (Juan José Arboleda) #32542
  • [079a32e31c] - test: use common.mustCall in test-worker-esm-exit (himself65) #32544
  • [cca269c3a0] - test: use template strings in parallel tests (Daniel Estiven Rico Posada) #32549
  • [0e4ce8f50a] - test: add known issues test for #31733 (Ben Noordhuis) #31734
  • [28077a01cc] - test: mark test-http2-reset-flood flaky on bsd (Myles Borins) #32595
  • [ca2662012e] - test: add test-worker-prof to the SLOW list for debug (Myles Borins) #32589
  • [8bcbb8d7dd] - test: refactor test-http-information-processing (Rich Trott) #32547
  • [1fc19b0fb0] - test: fix a typo on test-fs-read-optional-params (himself65) #32461
  • [986a60544a] - test: skip a wasi test on IBMi PASE (Xu Meng) #32459
  • [73fec7cd00] - test: harden the tick sampling logic (Harshitha KP) #32190
  • [1905b9ecce] - test: als variant of test-timers-clearImmediate (Harshitha KP) #32303
  • [72983d2e4f] - test: skip some binding tests on IBMi PASE (Xu Meng) #31967
  • [02eea7773a] - test: revise test-http-response-multi-content-length (Rich Trott) #32526
  • [f179a223d7] - test: remove a duplicated test (himself65) #32453
  • [fbb51b9c41] - test: check bundled binaries are signed on macOS (Richard Lau) #32522
  • [36c6d22113] - test: unflake async-hooks/test-statwatcher (Bartosz Sosnowski) #32484
  • [b1e6f297cf] - test: use Promise.all() in test-cluster-net-listen-ipv6only-false (Rich Trott) #32398
  • [11d7cf155a] - test: replace Map with Array in test-cluster-net-listen-ipv6only-false (Rich Trott) #32398
  • [2f8f619c7e] - test: revise test-http-client-default-headers-exist (Rich Trott) #32493
  • [567e671bd2] - tools: update Boxstarter script and document (himself65) #32299
  • [97a3e2f0e2] - tools: update ESLint to 7.0.0-alpha.3 (Colin Ihrig) #32533
  • [ffdd82ba3f] - tools: only fetch previous versions when necessary (Richard Lau) #32518
  • [4e5271acfb] - tracing: do not attempt to call into JS when disallowed (Anna Henningsen) #32548
  • [0087eb1b98] - (SEMVER-MINOR) util: add maxStrLength option to inspect function (unknown) #32392
  • [848d81cf23] - util: only inspect error properties that are not visible otherwise (Ruben Bridgewater) #32327
  • [6d86651076] - util: fix inspecting document.all (Gus Caplan) #31938
  • [4f98b7178d] - wasi: clean up options validation (Denys Otrishko) #31797
  • [2ee684a7b9] - win,build: set exit_code on configure failure (Bartlomiej Brzozowski) #32205
  • [8cb5e41807] - (SEMVER-MINOR) worker: support MessagePort to workers data (Juan José Arboleda) #32278
  • [4acd7f4390] - worker: do not emit 'exit' events during process.exit() (Anna Henningsen) #32546
  • [833d78afcf] - worker: runtime error on pthread creation (Harshitha KP) #32344

New in Node.js 13.12.0 (Mar 27, 2020)

  • Notable Changes:
  • build:
  • macOS package notarization (Rod Vagg) #31459
  • deps:
  • upgrade npm to 6.14.4 (Ruy Adorno) #32495
  • update to uvwasi 0.0.6 (Colin Ihrig) #32309
  • upgrade to libuv 1.35.0 (Colin Ihrig) #32204
  • lib:
  • add --disable-proto option to cli (Gus Caplan) #32279
  • node_report:
  • move diagnostic reports to stable (Colin Ihrig) #32242
  • worker:
  • allow URL in Worker constructor (Antoine du HAMEL) #31664
  • util:
  • use a global symbol for util.promisify.custom (ExE Boss) #31672
  • Commits:
  • [81183caa4c] - build: annotate markdown lint failures in pull requests (Richard Lau) #32391
  • [f8a020e636] - build: macOS package notarization (Rod Vagg) #31459
  • [85bdb424c2] - Revert "build: add asan check in Github action" (Matheus Marchini) #32324
  • [8ea5ffc033] - build: expand ASAN acronym in configure help (Sam Roberts) #32325
  • [074c3c144f] - (SEMVER-MINOR) build: make --without-report a no-op (Colin Ihrig) #32242
  • [96ad768dbc] - (SEMVER-MINOR) build: remove node_report option in node.gyp (Colin Ihrig) #32242
  • [2069c4e530] - build: disable libstdc++ debug containers globally (Ben Noordhuis) #30147
  • [79fdc6bea3] - cli: allow --huge-max-old-generation-size in NODE_OPTIONS (Anna Henningsen) #32251
  • [deab08bc4e] - deps: upgrade npm to 6.14.4 (Ruy Adorno) #32495
  • [6387cf88c2] - deps: update term-size with signed version (Rod Vagg) #31459
  • [8201704231] - deps: remove *.pyc files from deps/npm (Ben Noordhuis) #32387
  • [eef4721174] - deps: update npm to 6.14.3 (Myles Borins) #32368
  • [fbdc4f59f7] - deps: upgrade npm to 6.14.1 (Isaac Z. Schlueter) #31977
  • [d640426c8b] - deps: update archs files for OpenSSL-1.1.1e (Hassaan Pasha) #32328
  • [d719f87ad6] - deps: adjust openssl configuration for 1.1.1e (Hassaan Pasha) #32328
  • [3878d8dd2e] - deps: upgrade openssl sources to 1.1.1e (Hassaan Pasha) #32328
  • [2cb9f7acb6] - deps: update to ICU 66.1 (Steven R. Loomis) #32348
  • [e16964ed22] - deps: minor ICU fixes: maint docs/tool, downloader (Steven R. Loomis) #32347
  • [3825afed74] - deps: upgrade to c-ares v1.16.0 (Anna Henningsen) #32246
  • [7904ecd245] - deps: update to uvwasi 0.0.6 (Colin Ihrig) #32309
  • [bee126131a] - deps: upgrade to libuv 1.35.0 (Colin Ihrig) #32204
  • [ae90bccb70] - deps: V8: cherry-pick f9257802c1c0 (Matheus Marchini) #32180
  • [11ed1e6c86] - deps,doc: move openssl maintenance guide to doc (Sam Roberts) #32209
  • [40a9289e53] - doc: remove extraneous sentence in events.md (Rich Trott) #32457
  • [6168bd5951] - doc: remove unnecessary "obvious(ly)" modifiers in esm.md (Rich Trott) #32457
  • [9fda9123b1] - doc: trim wording in n-api.md text about exceptions (Rich Trott) #32457
  • [3e002c3977] - doc: update async_hooks.md (Victor) #32382
  • [6693b40bd5] - doc: simplify and correct example descriptions in net.md (Rich Trott) #32451
  • [b5e4adfb49] - doc: add new TSC members (Michael Dawson) #32473
  • [99a7636443] - doc: fix lint warning in doc/api/esm.md (Richard Lau) #32462
  • [dfcc3e8990] - doc: improve wording in vm.md (Rich Trott) #32427
  • [bbea3f21ff] - doc: improve wording in esm.md (Rich Trott) #32427
  • [4ca30303a7] - doc: import clarifications with links to MDN (Eric Dobbertin) #31479
  • [471a5d8b82] - doc: add note re term-size commit on top of npm (Rod Vagg) #32403
  • [99f260f42a] - doc: official macOS builds now on 10.15 + Xcode 11 (Rod Vagg) #31459
  • [569e555c2e] - doc: update security release process (Sam Roberts) #31679
  • [d2ce8e9c99] - doc: fix some 404 links (Thomas Watson Steen) #32200
  • [b8753466e5] - doc: complete n-api version matrix (Gabriel Schulhof) #32304
  • [2e1fb2b9af] - (SEMVER-MINOR) doc: update stability of report features (Colin Ihrig) #32242
  • [597bcb530a] - doc: update conditional exports recommendations (Guy Bedford) #32098
  • [5080734301] - doc: expand fs.watch caveats (Bartosz Sosnowski) #32176
  • [19fee761ba] - doc: add Ruben to TSC (Michael Dawson) #32213
  • [c72a678d0c] - doc: add missing link for v13.11.0 changelog (Myles Borins) #32218
  • [cd388b25f6] - (SEMVER-MINOR) doc,lib,src,test: make --experimental-report a nop (Colin Ihrig) #32242
  • [71a2fa24da] - errors: drop pronouns from ERR_WORKER_PATH message (Colin Ihrig) #32285
  • [3e9012a3da] - esm: port loader code to JS (Anna Henningsen) #32201
  • [ef32069d0c] - http: don't emit 'finish' after 'error' (Robert Nagy) #32276
  • [d2fea9fb4a] - http2: rename counter in mapToHeaders inner loop (Mateusz Krawczuk) #32012
  • [36ba54e8e1] - lib: add option to disable __proto__ (Gus Caplan) #32279
  • [435341a94f] - lib: use spread operator on cluster (himself65) #32125
  • [cd0982ae7c] - lib: change var to let/const (himself65) #32037
  • [397cbca720] - meta: move inactive collaborators to emeriti (Rich Trott) #32151
  • [7356c43997] - module: add hook for global preload code (Jan Krems) #32068
  • [59a21e28d6] - n-api: fix comment on expected N-API version (Michael Dawson) #32236
  • [1ecd407a71] - repl: align preview with the actual executed code (Ruben Bridgewater) #32154
  • [28e298f219] - report: handle on-fatalerror better (Harshitha KP) #32207
  • [94952b4ac8] - src: enhance C++ sprintf utility (himself65) #32385
  • [e9e12b8f36] - src: use single ObjectTemplate for TextDecoder (Anna Henningsen) #32426
  • [6f06cf0bf4] - src: delete BaseObjectWeakPtr data when pointee is gone (Anna Henningsen) #32393
  • [2bcf535a05] - src: simplify IsolateData shortcut accesses (Anna Henningsen) #32407
  • [2fe351f6c3] - src: delete CallbackInfo when cleared from cleanup hook (Anna Henningsen) #32405
  • [bd55a9a607] - src: avoid Isolate::GetCurrent() for platform implementation (Anna Henningsen) #32269
  • [11650c683e] - src: update comment for SetImmediate() (Anna Henningsen) #32300
  • [243d0d4716] - src: add debug option to report large page stats (Gabriel Schulhof) #32331
  • [f873d87a7f] - src: prefer OnScopeLeave over shared_ptr (Anna Henningsen) #32247
  • [1c4a112fcc] - src: clean up stream_base.h and stream-base-inl.h (James M Snell) #32307
  • [1476182670] - src: handle NULL env scenario (himself65) #32230
  • [1950c08ab1] - (SEMVER-MINOR) src: unconditionally include report feature (Colin Ihrig) #32242
  • [c00ce7b708] - src: find .text section using dl_iterate_phdr (Gabriel Schulhof) #32244
  • [7fc5e6d37b] - src: fix warn_unused_result compiler warning (Colin Ihrig) #32241
  • [d497f268f2] - src: refactor to more safe method (gengjiawen) #32087
  • [b5b7bf5ea4] - src,cli: support compact (one-line) JSON reports (Sam Roberts) #32254
  • [56da8dfd86] - stream: emit 'pause' on unpipe (Robert Nagy) #32476
  • [b7a8878f0c] - stream: fix pipeline with dest in objectMode (Robert Nagy) #32414
  • [0185e3a46c] - stream: add pipeline test for destroy of returned stream (Robert Nagy) #32425
  • [23ba0889ce] - stream: don't emit 'finish' after 'error' (Robert Nagy) #32275
  • [07e41311d0] - test: refactoring / cleanup on child-process tests (James M Snell) #32078
  • [2f73e6eee0] - test: use mustCall in place of countdown in timers test (Rich Trott) #32416
  • [76a7386eff] - test: end tls connection with some data (Sam Roberts) #32328
  • [fcf9b46d55] - test: discard data received by client (Hassaan Pasha) #32328
  • [2e287837f8] - test: replace countdown with Promise.all() in cluster-net-listen tests (Rich Trott) #32381
  • [bdcc11f167] - test: replace Map with Array in cluster-net-listen tests (Rich Trott) #32381
  • [4d173ea7d6] - test: uv_tty_init returns EBADF on IBM i (Xu Meng) #32338
  • [05fd16048c] - test: use Promise.all() in test-hash-seed (Rich Trott) #32273
  • [76781bd16e] - (SEMVER-MINOR) test: remove common.skipIfReportDisabled() (Colin Ihrig) #32242
  • [df1d4f708f] - test: workaround for V8 8.1 inspector pause issue (Matheus Marchini) #32234
  • [fbcf602823] - test: make test-memory-usage predictable (Matheus Marchini) #32239
  • [09ca76befa] - test: verify that WASI errors are rethrown (Colin Ihrig) #32157
  • [fd80c21e9c] - test: add new scenario for async-local storage (Harshitha KP) #32082
  • [c0af3acc52] - test: use portable EOL (Harshitha KP) #32104
  • [ed83a1cc09] - test: refactor and simplify test-repl-preview (Ruben Bridgewater) #32154
  • [08edf53207] - test: buffer.write with longer string scenario (Harshitha KP) #32123
  • [2262e7c26d] - test: fix test-tls-env-extra-ca-file-load (Eric Bickle) #32073
  • [dedd219622] - tools: fixup icutrim.py use of string and bytes objects (Jonathan MERCIER) #31659
  • [5adaf1092a] - tools: update [email protected] (Rich Trott) #32274
  • [963ce088fc] - tools: update to [email protected] (Rich Trott) #32259
  • [fa1fa3111a] - util: text decoding allows SharedArrayBuffer (Bradley Farias) #32203
  • [53fd0d80b1] - (SEMVER-MINOR) util: use a global symbol for util.promisify.custom (ExE Boss) #31672
  • [e83dcdef7e] - (SEMVER-MINOR) worker: allow URL in Worker constructor (Antoine du HAMEL) #31664

New in Node.js 13.11.0 (Mar 12, 2020)

  • Notable Changes
  • async_hooks: add sync enterWith to ALS (Stephen Belanger) #31945
  • cli: allow --jitless V8 flag in NODE_OPTIONS (Andrew Neitsch) #32100
  • fs: return first folder made by mkdir recursive (Benjamin Coe) #31530
  • n-api: define release 6 (Gabriel Schulhof) #32058
  • os: create a getter for kernel version (Juan José Arboleda) #31732
  • wasi: add returnOnExit option (Colin Ihrig) #32101
  • Commits
  • [478f1e7e13] - async_hooks: avoid resource reuse by FileHandle (Gerhard Stoebich) #31972
  • [4d5981be96] - (SEMVER-MINOR) async_hooks: add sync enterWith to ALS (Stephen Belanger) #31945
  • [3befe80c4f] - async_hooks: fix ctx loss after nested ALS calls (Andrey Pechkurov) #32085
  • [ddb882439f] - benchmark: remove special test entries (Ruben Bridgewater) #31755
  • [5d92cec12d] - benchmark: add test and all options and improve errors" (Ruben Bridgewater) #31755
  • [e11f38cbab] - benchmark: refactor helper into a class (Ruben Bridgewater) #31755
  • [31ec44302a] - benchmark: remove problematic tls params (Brian White) #31816
  • [079bb31b29] - build: remove empty line on node.gyp file (Juan José Arboleda) #31952
  • [fe34da84de] - build: add mjs extension to lint-js (Nick Schonning) #32145
  • [d66daa5661] - build: support android build on ndk version equal or above 23 (forfun414) #31521
  • [3c06316679] - build: workaround for gclient python3 issues (Matheus Marchini) #32140
  • [64135249e5] - build: allow use of system-installed brotli (André Draszik) #32046
  • [f07d423d16] - build: allow passing multiple libs to pkg_config (André Draszik) #32046
  • [7c739aa386] - build: enable backtrace when V8 is built for PPC and S390x (Michaël Zasso) #32113
  • [e1347b411a] - cli: allow --jitless V8 flag in NODE_OPTIONS (Andrew Neitsch) #32100
  • [ce686c03ae] - crypto: optimize sign.update() and verify.update() (Ben Noordhuis) #31767
  • [a727b13343] - crypto: make update(buf, enc) ignore encoding (Ben Noordhuis) #31766
  • [893e9183b5] - doc: include the error type in the request.resolve doc (Joe Pea) #32152
  • [af73ed632c] - doc: clear up child_process command resolution (Denys Otrishko) #32091
  • [fa78aa4a60] - doc: clarify windows specific behaviour (Sam Roberts) #32079
  • [5bc51612b9] - doc: improve Buffer documentation (Anna Henningsen) #32086
  • [35bea0798e] - doc: add support encoding link on string_decoder.md (himself65) #31911
  • [3fa57ee0c2] - doc: add entry for AsyncHook class (Harshitha KP) #31865
  • [38329bd438] - doc: prevent tables from shrinking page (David Gilbertson) #31859
  • [bc1e3575d4] - doc: change worker.takeHeapSnapshot to getHeapSnapshot (Gerhard Stoebich) #32061
  • [7de4dfba79] - doc: remove personal pronoun usage in policy.md (Rich Trott) #32142
  • [618b389b6a] - doc: remove personal pronoun usage in fs.md (Rich Trott) #32142
  • [fa99fb2eac] - doc: remove personal pronoun usage in errors.md (Rich Trott) #32142
  • [2d39369ee5] - doc: remove personal pronoun usage in addons.md (Rich Trott) #32142
  • [02ebc81e94] - doc: revise tools/icu/README.md (Rich Trott) #32136
  • [50c5eb49ab] - doc: link setRawMode() from signal docs (Anna Henningsen) #32088
  • [97965f518c] - doc: document self-referencing a package name (Gil Tayar) #31680
  • [a79b8fa6f8] - doc: document fs.watchFile() bigint option (Colin Ihrig) #32128
  • [2e5f81f69c] - doc: fix broken links in benchmark README (Rich Trott) #32121
  • [50094de274] - doc: remove em dashes (Rich Trott) #32080
  • [5f12595e00] - doc: update email address in authors (Yael Hermon) #32026
  • [77e5b509a9] - doc,test: add server.timeout property to http2 public API (Andrey Pechkurov) #31693
  • [4c2e4d1747] - esm: remove unused parameter on module.instantiate (himself65) #32147
  • [55486bceb9] - events: fix removeListener for Symbols (zfx) #31847
  • [94f3eed229] - (SEMVER-MINOR) fs: make fs.read params optional (Lucas Holmquist) #31402
  • [7eed9d6bcc] - fs: fix WriteStream autoClose order (Robert Nagy) #31790
  • [ff58854dbe] - (SEMVER-MINOR) fs: return first folder made by mkdir recursive (Benjamin Coe) #31530
  • [1c4f4cc436] - fs: fix writeFile[Sync] for non-seekable files (Alba Mendez) #32006
  • [c106a857a9] - fs: fix valid id range on chown, lchown, fchown (himself65) #31694
  • [1ffa9f388f] - http: fix socket re-use races (Robert Nagy) #32000
  • [49a07f7932] - http, async_hooks: remove unneeded reference to wrapping resource (Gerhard Stoebich) #32054
  • [897b1d2e5e] - lib: move isLegalPort to validators, refactor (James M Snell) #31851
  • [607ac90906] - lib: improve value validation utils (Denys Otrishko) #31480
  • [c0ba6ec560] - meta: move thefourtheye to TSC Emeritus (Rich Trott) #32059
  • [710c9051e3] - n-api: define release 6 (Gabriel Schulhof) #32058
  • [e83671c3c4] - src: DRY crypto Update() methods (Ben Noordhuis) #31767
  • [025f658fa6] - src: fix spawnSync CHECK when SIGKILL fails (Ben Noordhuis) #31768
  • [2248ba760b] - src: fix missing extra ca in tls.rootCertificates (Eric Bickle) #32075
  • [fa376f420c] - src: fix -Wmaybe-uninitialized compiler warning (Ben Noordhuis) #31809
  • [c3aa3e70f0] - src: remove unused include from node_file.cc (Ben Noordhuis) #31809
  • [d8c927b5f1] - Revert "src: keep main-thread Isolate attached to platform during Dispose" (Anna Henningsen) #31853
  • [625d8f7007] - src: discard tasks posted to platform TaskRunner during shutdown (Anna Henningsen) #31853
  • [55a8ca8ee4] - src: elevate v8 namespace (RamanandPatil) #32041
  • [1e9a2516df] - src: use C++ style for struct with initializers (Sam Roberts) #32134
  • [6aa797b546] - src: implement per-process native Debug() printer (Joyee Cheung) #31884
  • [5127c700d0] - src: refactor debug category parsing (Joyee Cheung) #31884
  • [2388a40f56] - src: make aliased_buffer.h self-contained (Joyee Cheung) #31884
  • [258a80d3cc] - (SEMVER-MINOR) src: create a getter for kernel version (Juan José Arboleda) #31732
  • [cba75c5cf4] - src: handle NULL env scenario (Harshitha KP) #31899
  • [cc27846fb9] - src: simplify node_worker.cc using new KVStore API (Denys Otrishko) #31773
  • [296f35b888] - src: improve KVStore API (Denys Otrishko) #31773
  • [bd756883a7] - src: add missing namespace using statements in node_watchdog.h (legendecas) #32117
  • [e9f9d076e9] - src: fix -Wreorder compiler warning (Colin Ihrig) #32126
  • [7b9b578652] - src: fix -Winconsistent-missing-override warning (Colin Ihrig) #32126
  • [4ac1ce1071] - src: introduce node_sockaddr (James M Snell) #32070
  • [31e4a0d7ac] - src: Handle bad callback in asyc_wrap (Harshitha KP) #31946
  • [a03777096e] - src,http2: introduce node_http_common (James M Snell) #32069
  • [fab8c83253] - stream: avoid destroying writable source (Robert Nagy) #32198
  • [66fe2d90ff] - stream: avoid destroying http1 objects (Robert Nagy) #32197
  • [0a00552122] - stream: do not swallow errors with async iterators and pipeline (Matteo Collina) #32051
  • [f2636598e8] - stream: eos make const state const (Robert Nagy) #32031
  • [4b04bf89ad] - stream: re-use legacy destroyer (Robert Nagy) #31316
  • [7ce1cc93ce] - stream: simplify pipeline (Robert Nagy) #31316
  • [9d1b1a3fbd] - stream: simplify Writable.write (Robert Nagy) #31146
  • [1e05ddf406] - stream: improve writable.write() performance (Brian White) #31624
  • [90a4d438cb] - stream: combine properties using defineProperties (antsmartian) #31187
  • [4640ea24bd] - stream: don't destroy final readable stream in pipeline (Robert Nagy) #32110
  • [2585b814b0] - stream: add comments to pipeline implementation (Robert Nagy) #32042
  • [ceca1c3a4f] - test: improve test-fs-existssync-false.js (himself65) #31883
  • [84197eaae0] - test: mark test-timers-blocking-callback flaky on osx (Myles Borins) #32189
  • [4589863518] - test: always skip vm-timeout-escape-queuemicrotask (Denys Otrishko) #31980
  • [188f1d275f] - test: improve test-debug-usage (Rich Trott) #32141
  • [92cc406baf] - test: refactor all benchmark tests to use the new test option (Ruben Bridgewater) #31755
  • [6f9f2c5de4] - test: warn when inspector process crashes (Matheus Marchini) #32133
  • [6a9654a7a9] - test: increase test timeout to prevent flakiness (Ruben Bridgewater) #31716
  • [862cd2b49d] - test: use index.js if package.json "main" is empty (Ben Noordhuis) #32040
  • [3d64c9eba6] - test: changed function to arrow function (ProdipRoy89) #32045
  • [6545d1a55d] - test: allow EAI_FAIL in test-net-dns-error.js (Vita Batrla) #31780
  • [1428de8ee6] - test: add WASI test for path_link() (Colin Ihrig) #32132
  • [da7349d908] - test: remove superfluous checks in test-net-reconnect-error (Rich Trott) #32120
  • [74edcc5dd9] - test: apply camelCase in test-net-reconnect-error (Rich Trott) #32120
  • [8e435687bb] - test: update tests for larger Buffers (Jakob Kummerow) #32114
  • [83e9a3ea59] - test: add coverage for FSWatcher exception (Rich Trott) #32057
  • [89987b3a9f] - test: remove common.expectsInternalAssertion (Rich Trott) #32057
  • [35d0569356] - tools: enable no-useless-backreference lint rule (Colin Ihrig) #31400
  • [d3c4210ea0] - tools: enable default-case-last lint rule (Colin Ihrig) #31400
  • [814bb4a35d] - tools: update ESLint to 7.0.0-alpha.2 (Colin Ihrig) #31400
  • [cac1d01cad] - tools: update ESLint to 7.0.0-alpha.1 (Colin Ihrig) #31400
  • [c70cfd2ba6] - tools: update ESLint to 7.0.0-alpha.0 (Colin Ihrig) #31400
  • [bb41383bdc] - tools: use per-process native Debug() printer in mkcodecache (Joyee Cheung) #31884
  • [eaf6723804] - vm: refactor value validation with internal/validators.js (Denys Otrishko) #31480
  • [dd83bd266d] - (SEMVER-MINOR) wasi: add returnOnExit option (Colin Ihrig) #32101

New in Node.js 13.10.1 (Mar 6, 2020)

  • Notable Changes:
  • In Node.js 13.9.0 deps/zlib was switched to the chromium maintained implementation. This change had the unforseen consequence of breaking building from the tarballs we release as we were too aggressively removing unneccessary files from the deps/zlib folder. This release includes a patch that ensures that individuals will once again be able to build Node.js from source.
  • Commits:
  • [723aa41d96] - build: fix zlib tarball generation (Shelley Vohr) #32094
  • [9c1ac50fc5] - build: fix building with ninja (Richard Lau) #32071
  • [478450d6b3] - build: add asan check in Github action (gengjiawen) #31902
  • [0fc45f80b5] - crypto: simplify exportKeyingMaterial (Tobias Nießen) #31922
  • [4dc59b91a7] - dgram: make UDPWrap more reusable (Anna Henningsen) #31871
  • [4ed720e940] - doc: visibility of Worker threads cli options (Harshitha KP) #31380
  • [2518213a1b] - doc: improve doc/markdown file organization coherence (ConorDavenport) #31792
  • [ba3f7ff94d] - doc: update stream.pipeline() signature (vsemozhetbyt) #31789
  • [3c8daa3aa0] - events: convert errorMonitor to a normal property (Gerhard Stoebich) #31848
  • [6b44df2415] - perf,src: add HistogramBase and internal/histogram.js (James M Snell) #31988
  • [6a9cea9ed2] - src: pass resource object along with InternalMakeCallback (Anna Henningsen) #32063
  • [70f046010c] - src: start the .text section with an asm symbol (Gabriel Schulhof) #31981
  • [755da035ce] - src: add node_crypto_common and refactor (James M Snell) #32016
  • [4d5318c164] - src: improve handling of internal field counting (James M Snell) #31960
  • [1539928ed9] - test: add GC test for disabled AsyncLocalStorage (Andrey Pechkurov) #31995
  • [be90817558] - test: remove common.port from test-tls-securepair-client (Rich Trott) #32024

New in Node.js 13.10.0 (Mar 6, 2020)

  • Notable Changes:
  • async_hooks:
  • introduce async-context API (vdeturckheim) #26540
  • stream:
  • support passing generator functions into pipeline() (Robert Nagy) #31223
  • tls:
  • expose SSL_export_keying_material (simon) #31814
  • vm:
  • implement vm.measureMemory() for per-context memory measurement (Joyee Cheung) #31824
  • Commits:
  • [f71fc9044a] - async_hooks: add store arg in AsyncLocalStorage (Andrey Pechkurov) #31930
  • [6af9e7e0c3] - async_hooks: executionAsyncResource matches in hooks (Gerhard Stoebich) #31821
  • [877ab97286] - (SEMVER-MINOR) async_hooks: introduce async-context API (vdeturckheim) #26540
  • [9a41ced0d1] - build: only lint markdown files that have changed (POSIX-only) (Rich Trott) #31923
  • [ca4407105e] - build: add missing comma in node.gyp (cjihrig) #31959
  • [4dffd0437d] - cli: --perf-prof only works on Linux (Shelley Vohr) #31892
  • [4d05508aa8] - crypto: turn impossible DH errors into assertions (Tobias Nießen) #31934
  • [d0e94fc77e] - crypto: fix ieee-p1363 for createVerify (Tobias Nießen) #31876
  • [fbaab7d854] - deps: openssl: cherry-pick 4dcb150ea30f (Adam Majer) #32002
  • [e6125cd53b] - deps: V8: backport f7771e5b0cc4 (Matheus Marchini) #31957
  • [c27f0d10c4] - deps: update zlib to upstream d7f3ca9 (Sam Roberts) #31800
  • [b30a6981d3] - deps: move zlib maintenance info to guides (Sam Roberts) #31800
  • [cd30dbb0d6] - doc: revise --zero-fill-buffers text in buffer.md (Rich Trott) #32019
  • [166579f84b] - doc: add link to sem-ver info (unknown) #31985
  • [e3258fd148] - doc: update zlib doc (James M Snell) #31665
  • [8516602ba0] - doc: clarify http2.connect authority details (James M Snell) #31828
  • [c5acf0a13b] - doc: updated YAML version representation in readline.md (Rich Trott) #31924
  • [4c6343fdea] - doc: describe how to update zlib (Sam Roberts) #31800
  • [a46839279f] - doc: update releases guide re pushing tags (Myles Borins) #31855
  • [15cc9b0126] - doc: update assert.rejects() docs with a validation function example (Eric Eastwood) #31271
  • [2046652b4e] - doc: fix anchor for ERR_TLS_INVALID_CONTEXT (Tobias Nießen) #31915
  • [091b4bfe2d] - doc: add note about ssh key to releases (Shelley Vohr) #31856
  • [3438937a37] - doc: fix notable changes for v13.9.0 (Shelley Vohr) #31857
  • [672f76d6bd] - doc: reword possessive form of Node.js in adding-new-napi-api.md (Rich Trott) #31748
  • [3eaf37767e] - doc: reword possessive form of Node.js in http.md (Rich Trott) #31748
  • [cb210e6b16] - doc: reword possessive form of Node.js in process.md (Rich Trott) #31748
  • [3969af43b4] - doc: reword possessive form of Node.js in debugger.md (Rich Trott) #31748
  • [f9526057b3] - doc: move gireeshpunathil to TSC emeritus (Gireesh Punathil) #31770
  • [b07175853f] - doc: pronouns for @Fishrock123 (Jeremiah Senkpiel) #31725
  • [7f4d6ee8ea] - doc: move @Fishrock123 to TSC Emeriti (Jeremiah Senkpiel) #31725
  • [b177bba555] - doc: move @Fishrock123 to a previous releaser (Jeremiah Senkpiel) #31725
  • [9e4aad705f] - doc: fix typos in doc/api/https.md (Jeff) #31793
  • [eb2dce8342] - doc: claim ABI version 82 for Electron 10 (Samuel Attard) #31778
  • [db291aaf06] - doc: guide - using valgrind to debug memory leaks (Michael Dawson) #31501
  • [aa16d80c05] - doc,crypto: re-document oaepLabel option (Ben Noordhuis) #31825
  • [9079bb42ea] - http2: make compat finished match http/1 (Robert Nagy) #24347
  • [3bd8feac0c] - meta: move aqrln to emeritus (Rich Trott) #31997
  • [c801045fcd] - meta: move jbergstroem to emeritus (Rich Trott) #31996
  • [ded3890bec] - meta: move maclover7 to Emeritus (Rich Trott) #31994
  • [91ce69a554] - meta: move Glen Keane to Collaborator Emeritus (Rich Trott) #31993
  • [b74c40eda6] - meta: move not-an-aardvark to emeritus (Rich Trott) #31928
  • [61a0d8b6cd] - meta: move julianduque to emeritus (Rich Trott) #31863
  • [94a471a422] - meta: move eljefedelrodeodeljefe to emeritus (Rich Trott) #31735
  • [9e3e6763fa] - module: port source map sort logic from chromium (bcoe) #31927
  • [b9f3bfe6c8] - module: disable conditional exports, self resolve warnings (Guy Bedford) #31845
  • [bbb6cc733c] - module: package "exports" error refinements (Guy Bedford) #31625
  • [6adbfac9b0] - repl: eager-evaluate input in parens (Shelley Vohr) #31943
  • [6a35b0d102] - src: don't run bootstrapper in CreateEnvironment (Shelley Vohr) #31910
  • [3497370d66] - src: move InternalCallbackScope to StartExecution (Shelley Vohr) #31944
  • [f62967c827] - src: enable StreamPipe for generic StreamBases (Anna Henningsen) #31869
  • [776f379124] - src: include large pages source unconditionally (Gabriel Schulhof) #31904
  • [9f68e14052] - src: elevate v8 namespaces (Harshitha KP) #31901
  • [8fa6373e62] - src: allow unique_ptrs with custom deleter in memory tracker (Anna Henningsen) #31870
  • [88ccb444e3] - src: move BaseObject subclass dtors/ctors out of node_crypto.h (Anna Henningsen) #31872
  • [98d262e5f3] - src: inform callback scopes about exceptions in HTTP parser (Anna Henningsen) #31801
  • [57302f866e] - src: prefer 3-argument Array::New() (Anna Henningsen) #31775
  • [8a2b62e4cd] - stream: ensure pipeline always destroys streams (Robert Nagy) #31940
  • [313ecaabe5] - stream: fix broken pipeline error propagation (Robert Nagy) #31835
  • [8ad64b8e53] - (SEMVER-MINOR) stream: support passing generator functions into pipeline() (Robert Nagy) #31223
  • [d0a00711f8] - stream: invoke buffered write callbacks on error (Robert Nagy) #30596
  • [1bca7b6c70] - test: move test-inspector-module to parallel (Rich Trott) #32025
  • [932563473c] - test: improve disable AsyncLocalStorage test (Andrey Pechkurov) #31998
  • [49864d161e] - test: fix flaky test-dns-any.js (Rich Trott) #32017
  • [38494746a6] - test: fix flaky test-gc-net-timeout (Robert Nagy) #31918
  • [b6d33f671a] - test: change test to not be sensitive to buffer send size (Rusty Conover) #31499
  • [cef5502055] - test: remove sequential/test-https-keep-alive-large-write.js (Rusty Conover) #31499
  • [f1e76488a7] - test: validate common property usage (Denys Otrishko) #31933
  • [ab8f060159] - test: fix usage of invalid common properties (Denys Otrishko) #31933
  • [49c959d636] - test: increase timeout in vm-timeout-escape-queuemicrotask (Denys Otrishko) #31966
  • [04eda02d87] - test: add documentation for common.enoughTestCpu (Rich Trott) #31931
  • [918c2b67cc] - test: fix typo in common/index.js (Rich Trott) #31931
  • [f89fb2751b] - test: mark empty udp tests flaky on OS X (Sam Roberts) #31936
  • [e08fef1fda] - test: add secp224k1 check in crypto-dh-stateless (Daniel Bevenius) #31715
  • [4fe9e043ef] - test: remove common.PORT from assorted pummel tests (Rich Trott) #31897
  • [7d5776e119] - test: remove flaky designation for test-net-connect-options-port (Rich Trott) #31841
  • [1933efa62f] - test: remove common.PORT from test-net-write-callbacks.js (Rich Trott) #31839
  • [87e9014764] - test: remove common.PORT from test-net-pause (Rich Trott) #31749
  • [3fbd5ab265] - test: remove common.PORT from test-tls-server-large-request (Rich Trott) #31749
  • [e76ac1d2c9] - test: remove common.PORT from test-net-throttle (Rich Trott) #31749
  • [724bf3105b] - test: remove common.PORT from test-net-timeout (Rich Trott) #31749
  • [60c71dcad2] - test: add known issue test for sync writable callback (James M Snell) #31756
  • [2c0b249098] - tls: reduce memory copying and number of BIO buffer allocations (Rusty Conover) #31499
  • [acb3aff674] - (SEMVER-MINOR) tls: expose SSL_export_keying_material (simon) #31814
  • [f293dcf6de] - tools: add NODE_TEST_NO_INTERNET to the doc builder (Joyee Cheung) #31849
  • [79b1f04b15] - tools: sync gyp code base with node-gyp repo (Michaël Zasso) #30563
  • [f858f2366c] - tools: update lint-md task to lint for possessives of Node.js (Rich Trott) #31862
  • [ae3929e958] - (SEMVER-MINOR) vm: implement vm.measureMemory() for per-context memory measurement (Joyee Cheung) #31824
  • [a86cb0e480] - vm: lazily initialize primordials for vm contexts (Joyee Cheung) #31738
  • [f2389eba99] - worker: emit runtime error on loop creation failure (Harshitha KP) #31621
  • [f87ac90849] - worker: unroll file extension regexp (Anna Henningsen) #31779

New in Node.js 13.9.0 (Feb 21, 2020)

  • Notable changes:
  • async_hooks:
  • add executionAsyncResource (Matteo Collina) #30959
  • crypto:
  • add crypto.diffieHellman (Tobias Nießen) #31178
  • add DH support to generateKeyPair (Tobias Nießen) #31178
  • simplify DH groups (Tobias Nießen) #31178
  • add key type 'dh' (Tobias Nießen) #31178
  • test:
  • skip keygen tests on arm systems (Tobias Nießen) #31178
  • perf_hooks:
  • add property flags to GCPerformanceEntry (Kirill Fomichev) #29547
  • process:
  • report ArrayBuffer memory in memoryUsage() (Anna Henningsen) #31550
  • readline:
  • make tab size configurable (Ruben Bridgewater) #31318
  • report:
  • add support for Workers (Anna Henningsen) #31386
  • worker:
  • add ability to take heap snapshot from parent thread (Anna Henningsen) #31569
  • added new collaborators:
  • add ronag to collaborators (Robert Nagy) #31498
  • Commits:
  • [2db7593838] - assert: align character indicators properly (Ruben Bridgewater) #31429
  • [a840e9d639] - async_hooks: ensure event after been emitted on runInAsyncScope (legendecas) #31784
  • [6be51296e4] - (SEMVER-MINOR) async_hooks: add executionAsyncResource (Matteo Collina) #30959
  • [2de085fe93] - benchmark: use let instead of var (Daniele Belardi) #31592
  • [e37f5100e5] - benchmark: swap var for let in benchmarks (Alex Ramirez) #28958
  • [819fb76ba5] - Revert "benchmark: refactor helper into a class" (Anna Henningsen) #31722
  • [8974fa794c] - Revert "benchmark: add test and all options and improve errors" (Anna Henningsen) #31722
  • [30f55cebb6] - Revert "benchmark: remove special test entries" (Anna Henningsen) #31722
  • [1484f5ab6e] - benchmark: remove special test entries (Ruben Bridgewater) #31396
  • [ca343caee3] - benchmark: add test and all options and improve errors (Ruben Bridgewater) #31396
  • [9f2c742626] - benchmark: refactor helper into a class (Ruben Bridgewater) #31396
  • [161db608ae] - benchmark: check for and fix multiple end() (Brian White) #31624
  • [6fe8eda3ca] - benchmark: clean up config resolution in multiple benchmarks (Denys Otrishko) #31581
  • [ebdcafafeb] - benchmark: add MessagePort benchmark (Anna Henningsen) #31568
  • [eb3c6e9127] - benchmark: use let and const instead of var (Daniele Belardi) #31518
  • [b29badad81] - benchmark: fix getStringWidth() benchmark (Rich Trott) #31476
  • [519134ddb0] - buffer: improve from() performance (Brian White) #31615
  • [769154de07] - buffer: improve concat() performance (Brian White) #31522
  • [9d45393e95] - buffer: improve fill(number) performance (Brian White) #31489
  • [60a69770f5] - build: add configure option to debug only Node.js part of the binary (Anna Henningsen) #31644
  • [10f9abe81d] - build: ignore all the "Debug","Release" folders (ConorDavenport) #31565
  • [03eade01d7] - build: enable loading internal modules from disk (Gus Caplan) #31321
  • [a2b7006847] - build: build docs in GitHub Actions CI workflow (Richard Lau) #31504
  • [2e216aebcb] - build: do not use setup-node in build workflows (Richard Lau) #31349
  • [825d089763] - crypto: fix performance regression (Robert Nagy) #31742
  • [3c6545f0b4] - crypto: improve randomBytes() performance (Brian White) #31519
  • [f84b34d42c] - crypto: improve errors in DiffieHellmanGroup (Tobias Nießen) #31445
  • [4591202e66] - crypto: assign and use ERR_CRYPTO_UNKNOWN_CIPHER (Tobias Nießen) #31437
  • [bf46c304dd] - (SEMVER-MINOR) crypto: add crypto.diffieHellman (Tobias Nießen) #31178
  • [0d3e095941] - (SEMVER-MINOR) crypto: add DH support to generateKeyPair (Tobias Nießen) #31178
  • [15bd2c9f0c] - (SEMVER-MINOR) crypto: simplify DH groups (Tobias Nießen) #31178
  • [572322fddf] - (SEMVER-MINOR) crypto: add key type 'dh' (Tobias Nießen) #31178
  • [0ac124b6b9] - deps: upgrade npm to 6.13.7 (Michael Perrotte) #31558
  • [bf7097c77d] - deps: switch to chromium's zlib implementation (Brian White) #31201
  • [2eeaa5ce40] - deps: uvwasi: cherry-pick 7b5b6f9 (cjihrig) #31495
  • [464f4afa66] - deps: upgrade to libuv 1.34.2 (cjihrig) #31477
  • [9811ebe0c5] - deps: uvwasi: cherry-pick eea4508 (cjihrig) #31432
  • [2fe0ed3a2e] - deps: uvwasi: cherry-pick c3bef8e (cjihrig) #31432
  • [09566be899] - deps: uvwasi: cherry-pick ea73af5 (cjihrig) #31432
  • [04f2799ed2] - deps: update to uvwasi 0.0.5 (cjihrig) #31432
  • [7c4f1ed030] - deps: uvwasi: cherry-pick 941bedf (cjihrig) #31363
  • [00e38a749a] - deps: port uvwasi@676ba9a to gyp (cjihrig) #31363
  • [5bd3f6c258] - deps,test: update to uvwasi 0.0.4 (cjihrig) #31363
  • [2cd8461e56] - doc: add glossary.md (gengjiawen) #27517
  • [c4613c6b8b] - doc: add prerequisites information for Arch (Ujjwal Sharma) #31669
  • [b35f83e69b] - doc: fix typo on fs docs (Juan José Arboleda) #31620
  • [2ff812ca84] - doc: update contact email for @ryzokuken (Ujjwal Sharma) #31670
  • [2c83946757] - doc: fix default server timeout description for https (Andrey Pechkurov) #31692
  • [b56a21fdad] - doc: add directions to mark a release line as lts (Danielle Adams) #31724
  • [5ae40cd2b2] - doc: expand C++ README with information about exception handling (Anna Henningsen) #31720
  • [94a0ec1b99] - doc: update foundation name in onboarding (Tobias Nießen) #31719
  • [fda97fa772] - doc: reword possessive form of Node.js in zlib.md (Rich Trott) #31713
  • [eea58cd3d5] - doc: reword possessive form of Node.js in modules.md (Rich Trott) #31713
  • [d0238190a1] - doc: reword possessive form of Node.js in repl.md (Rich Trott) #31713
  • [55a25b3bbe] - doc: reword section title in addons.md (Rich Trott) #31713
  • [ba9fae058a] - doc: revise deepEqual() legacy assertion mode text (Rich Trott) #31704
  • [f6d78f959f] - doc: improve strict assertion mode color text (Rich Trott) #31703
  • [22cf3e3d4e] - doc: consolidate introductory text (Rich Trott) #31667
  • [1e2327d9e6] - doc: simplify async_hooks overview (Rich Trott) #31660
  • [77ec381ea2] - doc: clarify Worker exit/message event ordering (Anna Henningsen) #31642
  • [4b0085c7e3] - doc: update TSC name in "Release Process" (Tobias Nießen) #31652
  • [2e6c737281] - doc: remove .github/ISSUE_TEMPLATE.md in favor of the template folder (Joyee Cheung) #31656
  • [b61b85ccf9] - doc: add note in BUILDING.md about running make distclean (Swagat Konchada) #31542
  • [2991e7c0e3] - doc: correct getting an ArrayBuffer's length (tsabolov) #31632
  • [e27f24987e] - doc: ask more questions in the bug report template (Joyee Cheung) #31611
  • [b50a6cc54d] - doc: add example to fs.promises.readdir (Conor ONeill) #31552
  • [1dbe765b0b] - doc: add AsyncResource + Worker pool example (Anna Henningsen) #31601
  • [f40264980e] - doc: fix numbering (Steffen) #31575
  • [3ba0a22c57] - doc: clarify socket.setNoDelay() explanation (Rusty Conover) #31541
  • [faec87b7f1] - doc: list largepage values in --help (cjihrig) #31537
  • [2638110cce] - doc: clarify require() OS independence (Denys Otrishko) #31571
  • [7fe9d5ebd4] - doc: add protocol option in http2.connect() (Michael Lumish) #31560
  • [6626c4de3c] - doc: clarify that v8.serialize() is not deterministic (Anna Henningsen) #31548
  • [cde4b51a92] - doc: update job reference in COLLABORATOR_GUIDE.md (Richard Lau) #31557
  • [4cac2cccd6] - doc: simultaneous blog and email of sec announce (Sam Roberts) #31483
  • [e2b3e4e0e3] - doc: update collaborator guide citgm instructions (Robert Nagy) #31549
  • [43186e0046] - doc: change error message testing policy (Tobias Nießen) #31421
  • [a52df55b9a] - doc: remove redundant properties from headers (XhmikosR) #31492
  • [04d783ae71] - doc: update maintaining-V8.md (kenzo-spaulding) #31503
  • [f75fe9ab71] - doc: enable visual code indication in headers (Rich Trott) #31493
  • [8f25e51e4e] - doc: clean up and streamline vm.md examples (Denys Otrishko) #31474
  • [729b96137e] - doc: further fix async iterator example (Robert Nagy) #31367
  • [15b24b71ce] - doc: add ronag to collaborators (Robert Nagy) #31498
  • [e9462b4d44] - doc: fix code display in header glitch (Rich Trott) #31460
  • [b1c745877b] - doc: fix syntax in N-API documentation (Tobias Nießen) #31466
  • [67d8967f98] - doc: add explanatory to path.resolve description (Yakov Litvin) #31430
  • [1099524452] - doc: document process.std*.fd (Harshitha KP) #31395
  • [843c5c6f46] - doc: fix several child_process doc typos (cjihrig) #31393
  • [d77099856a] - doc: fix a broken link in fs.md (himself65) #31373
  • [1e08d3c2f1] - doc: correct added version for --abort-on-uncaught-exception (Anna Henningsen) #31360
  • [6055134db6] - doc: explain hex encoding in Buffer API (Harshitha KP) #31352
  • [bd54abe3f7] - doc: explain _writev() API (Harshitha KP) #31356
  • [91f5e9b0f7] - doc: document missing properties in child_process (Harshitha KP) #31342
  • [6874deef28] - doc,assert: rename "mode" to "assertion mode" (Rich Trott) #31635
  • [788ea36ce0] - doc,net: reword Unix domain path paragraph in net.md (Rich Trott) #31684
  • [e3e40a12b0] - doc,util: revise util.md introductory paragraph (Rich Trott) #31685
  • [e46cfaf146] - errors: make use of "cannot" consistent (Tobias Nießen) #31420
  • [f6392e9fde] - esm: import.meta.resolve with nodejs: builtins (Guy Bedford) #31032
  • [21fc81821f] - fs: set path when mkdir recursive called on file (bcoe) #31607
  • [8669ecc8a2] - fs: bail on permission error in recursive directory creation (bcoe) #31505
  • [2c2b3ba39c] - fs: do not emit 'close' twice if emitClose enabled (Robert Nagy) #31383
  • [32ac1be372] - fs: unset FileHandle fd after close (Anna Henningsen) #31389
  • [9ecae58643] - lib: delete dead code in SourceMap (Justin Ridgewell) #31512
  • [7ecf842429] - lib,src: switch Buffer::kMaxLength to size_t (Ben Noordhuis) #31406
  • [15c8d9ead1] - meta: move princejwesley to emeritus (Rich Trott) #31730
  • [f5ae510e03] - meta: move vkurchatkin to emeritus (Rich Trott) #31729
  • [cd520ddfef] - meta: move calvinmetcalf to emeritus (Rich Trott) #31736
  • [832255df89] - meta: fix collaborator list errors in README.md (James M Snell) #31655
  • [aa266628ba] - module: drop support for extensionless main entry points in esm (Geoffrey Booth) #31415
  • [ca81af7d73] - module: correct docs about when extensionless files are supported (Geoffrey Booth) #31415
  • [6797656d86] - module: revert #31021 (Geoffrey Booth) #31415
  • [ae2141effc] - n-api: free instance data as reference (Gabriel Schulhof) #31638
  • [c8215699ab] - n-api: rename 'promise' parameter to 'value' (Tobias Nießen) #31544
  • [5982726ef9] - net: track state of setNoDelay() and prevent unnecessary system calls (Rusty Conover) #31543
  • [e7fea14c7b] - (SEMVER-MINOR) perf_hooks: add property flags to GCPerformanceEntry (Kirill Fomichev) #29547
  • [672315651d] - (SEMVER-MINOR) process: report ArrayBuffer memory in memoryUsage() (Anna Henningsen) #31550
  • [cd754337f8] - process: fix two overflow cases in SourceMap VLQ decoding (Justin Ridgewell) #31490
  • [98f3028c30] - readline: remove intermediate variable (cjihrig) #31676
  • [148dfde1d4] - (SEMVER-MINOR) readline: make tab size configurable (Ruben Bridgewater) #31318
  • [1bcf2f9423] - report: add support for Workers (Anna Henningsen) #31386
  • [7c2d33f38f] - src: use hex not decimal in IsArrayIndex (Shelley Vohr) #31758
  • [a095ef0d52] - src: keep main-thread Isolate attached to platform during Dispose (Anna Henningsen) #31795
  • [1dec9d196f] - src: wrap HostPort in ExclusiveAccess (Ben Noordhuis) #31717
  • [e23023d685] - src: add ExclusiveAccess class (Ben Noordhuis) #31717
  • [54caf76210] - src: allow to reuse env options handling (Denys Otrishko) #31711
  • [6ad8ca5ecf] - src: do not unnecessarily re-assign uv handle data (Anna Henningsen) #31696
  • [2837788849] - src: fix compile warnings in node_url.cc (Anna Henningsen) #31689
  • [1d34ab5e43] - src: modernized unique_ptr construction (Yuhanun Citgez) #31654
  • [0e44902b85] - src: remove dead code in InternalMakeCallback (Gerhard Stoebich) #31622
  • [348c7871b6] - src: remove fixed-size GetHumanReadableProcessName (Ben Noordhuis) #31633
  • [8964077935] - src: fix OOB reads in process.title getter (Ben Noordhuis) #31633
  • [af612bcc21] - src: various minor improvements to node_url (James M Snell) #31651
  • [f0ffa4cb80] - src: fix inspecting MessagePort from init async hook (Anna Henningsen) #31600
  • [425662e2d6] - src: remove unused Worker::child_port_ member (Anna Henningsen) #31599
  • [43e2c2e643] - src: change Fill() to use ParseArrayIndex() (ConorDavenport) #31591
  • [42b835412d] - src: remove duplicate field env in CryptoJob class (ConorDavenport) #31554
  • [9fd1e717e6] - src: fix console debug output on Windows (Denys Otrishko) #31580
  • [277980d288] - src: use __executable_start for linux hugepages (Ben Noordhuis) #31547
  • [6d5c3cd7ac] - src: remove preview for heap dump utilities (Anna Henningsen) #31570
  • [c167ae0a87] - src: fix minor typo in base_object.h (Daniel Bevenius) #31535
  • [f04576ede0] - src: fix debug crash handling null strings (Rusty Conover) #31523
  • [ef4d081660] - src: simplify native immediate queue running (Anna Henningsen) #31502
  • [bc0c1420f0] - src: define noreturn attribute for windows (Alexander Smarus) #31467
  • [9e9dbd44fe] - src: reduce code duplication in BootstrapNode (Denys Otrishko) #31465
  • [76aad0e5e1] - src: use custom fprintf alike to write errors to stderr (Anna Henningsen) #31446
  • [a685827a55] - src: add C++-style sprintf utility (Anna Henningsen) #31446
  • [049a1727d4] - src: harden running native SetImmediate()s slightly (Anna Henningsen) #31468
  • [f56de5a3b4] - src: move MemoryInfo() for worker code to .cc files (Anna Henningsen) #31386
  • [0cacc1facf] - src: add interrupts to Environments/Workers (Anna Henningsen) #31386
  • [f8c45b277f] - src: remove AsyncRequest (Anna Henningsen) #31386
  • [600e96ec04] - src: add a threadsafe variant of SetImmediate() (Anna Henningsen) #31386
  • [74a7cdbe05] - src: exclude C++ SetImmediate() from count (Anna Henningsen) #31386
  • [53e566bc50] - src: better encapsulate native immediate list (Anna Henningsen) #31386
  • [b8face28e7] - src: reduce large pages code duplication (Gabriel Schulhof) #31385
  • [83dd65a469] - src: fix ignore GCC -Wcast-function-type for older compilers (Denys Otrishko) #31524
  • [13c6965703] - src: ignore GCC -Wcast-function-type for v8.h (Daniel Bevenius) #31475
  • [3dd4089b9a] - (SEMVER-MINOR) src,lib: make ^C print a JS stack trace (legendecas) #29207
  • [6d0b2267ce] - stream: fix finished w/ 'close' before 'finish' (Robert Nagy) #31534
  • [80e75ab389] - stream: add regression test for async iteration completion (Matteo Collina) #31508
  • [538582b43d] - Revert "stream: fix async iterator destroyed error propagation" (Matteo Collina) #31508
  • [f255053033] - stream: fix finished writable/readable state (Robert Nagy) #31527
  • [3046648580] - stream: implement throw for async iterator (Robert Nagy) #31316
  • [5a95fa4aeb] - stream: normalize async iterator stream destroy (Robert Nagy) #31316
  • [20d0a0e9a7] - stream: add async iterator support for v1 streams (Robert Nagy) #31316
  • [0654e6790d] - test: mark test-fs-stat-bigint flaky on FreeBSD (Rich Trott) #31728
  • [6dbe6bde56] - test: fix flaky parallel/test-repl-history-navigation test (Ruben Bridgewater) #31708
  • [1dae7dc6bc] - test: improve test-fs-stat-bigint (Rich Trott) #31726
  • [fa9b59276d] - test: remove flaky designation for test-fs-stat-bigint (Rich Trott) #30437
  • [d36ba2b555] - test: fix flaky test-fs-stat-bigint (Duncan Healy) #30437
  • [5b3c4b3e7d] - Revert "test: refactor all benchmark tests to use the new test option" (Anna Henningsen) #31722
  • [2c0f3028c9] - test: add debugging output to test-net-listen-after-destroy-stdin (Rich Trott) #31698
  • [2224211609] - test: improve assertion message in test-dns-any (Rich Trott) #31697
  • [b0e37b7180] - test: fix flaky test-trace-sigint-on-idle (Anna Henningsen) #31645
  • [58f17c0e6b] - test: stricter assert color test (Ruben Bridgewater) #31429
  • [89dcf733c6] - test: improve logged errors (Ruben Bridgewater) #31425
  • [4878c7a197] - test: refactor all benchmark tests to use the new test option (Ruben Bridgewater) #31396
  • [3bcc2da887] - test: fix test-benchmark-http (Rich Trott) #31686
  • [6139d4ea3b] - test: fix flaky test-inspector-connect-main-thread (Anna Henningsen) #31637
  • [13c256d31d] - test: add test-dns-promises-lookupService (Rich Trott) #31640
  • [23fefba84c] - test: fix flaky test-http2-stream-destroy-event-order (Anna Henningsen) #31610
  • [435b9c977a] - test: abstract common assertions in readline-interface test (Ruben Bridgewater) #31423
  • [d2a12d3af8] - test: refactor test-readline-interface.js (Ruben Bridgewater) #31423
  • [7c3cc94b9f] - test: unset NODE_OPTIONS for cctest (Anna Henningsen) #31594
  • [62d0c6029d] - test: simplify test-https-simple.js (Sam Roberts) #31584
  • [49be50051c] - test: show child stderr output in largepages test (Ben Noordhuis) #31612
  • [c3247fedd9] - test: mark additional tests as flaky on Windows (Anna Henningsen) #31606
  • [3fdec1c790] - test: fix flaky test-memory-usage (Anna Henningsen) #31602
  • [23da559ab2] - test: verify threadId in reports (Dylan Coakley) #31556
  • [5a12cd636b] - test: remove --experimental-worker flag comment (Harshitha KP) #31563
  • [07525c317e] - test: make test-http2-buffersize more correct (Anna Henningsen) #31502
  • [c4a2f94a11] - test: cover property n-api null cases (Gabriel Schulhof) #31488
  • [f2dc694805] - test: fix test-heapdump-worker (Anna Henningsen) #31494
  • [b25ea9b1dc] - test: add tests for main() argument handling (cjihrig) #31426
  • [38ea53629b] - test: add wasi test for freopen() (cjihrig) #31432
  • [c2792aad44] - test: remove bluebird remnants from test fixture (Rich Trott) #31435
  • [583d1d9f55] - test: improve wasi stat test (cjihrig) #31413
  • [676b84a803] - (SEMVER-MINOR) test: skip keygen tests on arm systems (Tobias Nießen) #31178
  • [099c921f40] - test: add wasi test for symlink() and readlink() (cjihrig) #31403
  • [6256d0ae92] - test: update postmortem test with v12 constants (Matheus Marchini) #31391
  • [0bafb5c8c8] - test: export public symbols in addons tests (Ben Noordhuis) #28717
  • [6833f62e9d] - test: add promises metadata to postmortem test (Matheus Marchini) #31357
  • [41524282b5] - test,benchmark: fix test-benchmark-zlib (Rich Trott) #31538
  • [c34872e464] - test,dns: add coverage for dns exception (Rich Trott) #31678
  • [03aac4e65d] - tls: simplify errors using ThrowCryptoError (Tobias Nießen) #31436
  • [95d509e974] - tools: update Markdown linter to be cross-platform (Derek Lewis) #31239
  • [328b8a6444] - tools: unify make-v8.sh for ppc64le and s390x (Richard Lau) #31628
  • [39c86bbe4c] - tools: replace deprecated iteritems() for items() (Giovanny Andres Gongora Granada (Gioyik)) #31528
  • [be55f3ec4f] - tty: do not end in an infinite warning recursion (Ruben Bridgewater) #31429
  • [a0c1ceddbc] - util: throw if unreachable TypedArray checking code is reached (Rich Trott) #31737
  • [7b9d6d08f4] - util: add coverage for util.inspect.colors alias setter (Rich Trott) #31743
  • [9f9edc2c78] - util: throw if unreachable code is reached (Rich Trott) #31712
  • [5e1bee817c] - util: fix inspection of typed arrays with unusual length (Ruben Bridgewater) #31458
  • [3da4d5174c] - util: improve unicode support (Ruben Bridgewater) #31319
  • [822f2ac640] - worker: add support for .cjs extension (Antoine du HAMEL) #31662
  • [cd99dc7368] - worker: properly handle env and NODE_OPTIONS in workers (Denys Otrishko) #31711
  • [1592c474da] - worker: reset Isolate stack limit after entering Locker (Anna Henningsen) #31593
  • [3e5803f91b] - worker: improve MessagePort performance (Anna Henningsen) #31605
  • [8d3ffbeb55] - (SEMVER-MINOR) worker: add ability to take heap snapshot from parent thread (Anna Henningsen) #31569
  • [6fdef457c6] - worker: remove redundant closing of child port (aaccttrr) #31555
  • [5656ec9f71] - worker: move JoinThread() back into exit callback (Anna Henningsen) #31468

New in Node.js 13.8.0 (Feb 6, 2020)

  • Vulnerabilities fixed:
  • CVE-2019-15606: HTTP header values do not have trailing OWS trimmed.
  • CVE-2019-15605: HTTP request smuggling using malformed Transfer-Encoding header.
  • CVE-2019-15604: Remotely trigger an assertion on a TLS server with a malformed certificate string.
  • Also, HTTP parsing is more strict to be more secure. Since this may cause problems in interoperability with some non-conformant HTTP implementations, it is possible to disable the strict checks with the --insecure-http-parser command line flag, or the insecureHTTPParser http option. Using the insecure HTTP parser should be avoided.
  • Commits:
  • [b7da194714] - benchmark: support optional headers with wrk (Sam Roberts) nodejs-private/node-private#189
  • [1156a9e5f8] - crypto: fix assertion caused by unsupported ext (Fedor Indutny) nodejs-private/node-private#175
  • [8f41e837bb] - deps: update llhttp to 2.0.4 (Beth Griggs) nodejs-private/node-private#199
  • [07d56e49cf] - (SEMVER-MINOR) http: make --insecure-http-parser configurable per-stream or per-server (Anna Henningsen) #31448
  • [25b6897e8a] - http: strip trailing OWS from header values (Sam Roberts) nodejs-private/node-private#189
  • [eea3a7429b] - test: using TE to smuggle reqs is not possible (Sam Roberts) nodejs-private/node-private#199

New in Node.js 13.7.0 (Jan 22, 2020)

  • Notable Changes:
  • deps:
  • upgrade to libuv 1.34.1 (cjihrig) #31332
  • upgrade npm to 6.13.6 (Ruy Adorno) #31304
  • module:
  • add API for interacting with source maps (bcoe) #31132
  • loader getSource, getFormat, transform hooks (Geoffrey Booth) #30986
  • logical conditional exports ordering (Guy Bedford) #31008
  • unflag conditional exports (Guy Bedford) #31001
  • process:
  • allow monitoring uncaughtException (Gerhard Stoebich) #31257
  • Added new collaborators:
  • GeoffreyBooth - Geoffrey Booth. #31306
  • Commits:
  • [9d26358cfe] - async_hooks: remove internal only error checking (Anatoli Papirovski) #30967
  • [6e978f7d73] - benchmark: add default type in getstringwidth.js (Rich Trott) #31377
  • [317d2dba45] - benchmark: benchmarking impacts of async hooks on promises (legendecas) #31188
  • [55e2b4ee3b] - build: remove enable_vtune from vcbuild.bat (Richard Lau) #31338
  • [f11406de43] - build: add vs2019 to vcbuild.bat help (Richard Lau) #31338
  • [b2180d932a] - build: fix macos runner type in GitHub Action (扩散性百万甜面包) #31327
  • [a6e1e9c6c3] - build: fix step name in GitHub Actions workflow (Richard Lau) #31323
  • [0379c319fd] - build: add GitHub actions to run linters (Richard Lau) #31323
  • [a31eed0214] - build: silence OpenSSL Windows compiler warnings (Richard Lau) #31311
  • [6b118b44e8] - build: silence c-ares Windows compiler warnings (Richard Lau) #31311
  • [7a5d4fad84] - build: test Python 3 using GitHub Actions-based CI (cclauss) #29474
  • [964371824c] - build: avoid using CMP for BZ2File (SpaceRacet5w2A6l0I) #31198
  • [22859367ca] - child_process: remove unnecessary use of inner state (Chetan Karande) #29358
  • [6d6a3e4551] - deps: V8: cherry-pick d89f4ef1cd62 (Milad Farazmand) #31354
  • [d62d06b3b7] - deps: V8: cherry-pick b9d33036e9a8 (Benjamin Coe) #31335
  • [51e4a5618b] - deps: upgrade to libuv 1.34.1 (cjihrig) #31332
  • [985f980053] - deps: upgrade npm to 6.13.6 (Ruy Adorno) #31304
  • [6f95f01f95] - deps: deactivate failing tests corresponding to experimental features (Ruben Bridgewater) #31289
  • [aed00d7d68] - doc: add missing code formatting in vm.md (cjihrig) #31350
  • [aedbfdb33a] - doc: standardize on "host name" in url.md (Rich Trott) #31326
  • [28245277d7] - doc: standardize on "host name" in tls.md (Rich Trott) #31326
  • [baeabff896] - doc: standardize on "host name" in os.md (Rich Trott) #31326
  • [94122f611a] - doc: standardize on "host name" in net.md (Rich Trott) #31326
  • [bac588e076] - doc: standardize on "host name" in https.md (Rich Trott) #31326
  • [600eb8b67c] - doc: standardize on "host name" in http2.md (Rich Trott) #31326
  • [47f71de786] - doc: standardize on "host name" in fs.md (Rich Trott) #31326
  • [ece70a8288] - doc: standardize on "host name" in errors.md (Rich Trott) #31326
  • [b8dee4540a] - doc: standardize on "host name" in dgram.md (Rich Trott) #31326
  • [8055f78995] - doc: standardize on "host name" in deprecations.md (Rich Trott) #31326
  • [6e9f0daad1] - doc: standardize on "host name" in async_hooks.md (Rich Trott) #31326
  • [e1fd6ae4fa] - doc: fix a code example in crypto.md (himself65) #31313
  • [bb9622ba5a] - doc: add an example for util.types.isExternal (Harshitha KP) #31173
  • [0608873052] - doc: fix example of parsing request.url (Egor Pavlov) #31302
  • [b9aca7849d] - doc: document readline key bindings (Harshitha KP) #31256
  • [6184f1ab70] - doc: improve doc v8.getHeapSpaceStatistics() 'GetHeapSpaceStatistics' (dev-313) #31274
  • [deff60024a] - doc: update README to make Node.js description clearer (carterbancroft) #31266
  • [8e14066578] - doc: fix a code example in zlib.md (Alexander Wang) #31264
  • [9c58aa4c75] - doc: add GeoffreyBooth to collaborators (Geoffrey Booth) #31306
  • [de6f2be0d0] - doc: update description of External (Anna Henningsen) #31255
  • [0e48d8d855] - doc: rename iterator to iterable in examples (Robert Nagy) #31252
  • [d51de787d9] - doc: fix stream async iterator sample (Robert Nagy) #31252
  • [3e7b3e3c18] - doc: correct filehandle.[read|write|append]File() (Bryan English) #31235
  • [220ea0c12e] - doc: prefer server vs srv and client vs clt (Andrew Hughes) #31224
  • [c1333ea113] - doc: explain native external types (Harshitha KP) #31214
  • [82b447c399] - doc,src: clarify that one napi_env is per-module (legendecas) #31102
  • [4981f9721a] - errors: remove dead code in ERR_INVALID_ARG_TYPE (Gerhard Stoebich) #31322
  • [b55fba2028] - fs: add missing HandleScope to FileHandle.close (Anna Henningsen) #31276
  • [57016b9e66] - fs: use async writeFile in FileHandle#appendFile (Bryan English) #31235
  • [52504fb91e] - http2: skip creating native ShutdownWrap (Anna Henningsen) #31283
  • [108046d910] - lib: replace BigInt64Array global by the primordials (Sebastien Ahkrin) #31193
  • [02714573ee] - lib: add Uint16Array primordials (Sebastien Ahkrin) #31210
  • [53e73fc60e] - lib: add RegExp primordials (Sebastien Ahkrin) #31208
  • [f7833ac934] - lib: replace Float32Array global by the primordials (Sebastien Ahkrin) #31195
  • [aafeab8cdb] - lib: replace BigUInt64Array global by the primordials (Sebastien Ahkrin) #31194
  • [ac904f9e65] - lib,tools,test: remove custom number-isnan rule (cjihrig) #31211
  • [cb27c2bd3e] - module: fix check exports issue in cjs module loading (Guy Bedford) #31427
  • [ea27e16fc2] - (SEMVER-MINOR) module: unflag conditional exports (Guy Bedford) #31001
  • [4dced024fd] - (SEMVER-MINOR) module: add API for interacting with source maps (bcoe) #31132
  • [f62fb7603a] - module: logical conditional exports ordering (Guy Bedford) #31008
  • [94af94ae73] - module: loader getSource, getFormat, transform hooks (Geoffrey Booth) #30986
  • [c8aa08ed27] - n-api: return napi_invalid_arg on napi_create_bigint_words (legendecas) #31312
  • [0911813862] - (SEMVER-MINOR) n-api: add napi_get_all_property_names (himself65) #30006
  • [79eba6afa3] - (SEMVER-MINOR) process: allow monitoring uncaughtException (Gerhard Stoebich) #31257
  • [38811897c0] - readline: improve unicode support and tab completion (Ruben Bridgewater) #31288
  • [f0506c3dd2] - readline: move charLengthLeft() and charLengthAt() (Ruben Bridgewater) #31112
  • [7ba21d0e15] - readline: improve getStringWidth() (Ruben Bridgewater) #31112
  • [686a3bcf92] - readline,repl: support tabs properly (Ruben Bridgewater) #31112
  • [2e54a9922e] - readline,repl: improve history up/previous (Ruben Bridgewater) #31112
  • [cecd25693f] - readline,repl: skip history entries identical to the current line (Ruben Bridgewater) #31112
  • [b6f4e01a0e] - readline,repl: add substring based history search (Ruben Bridgewater) #31112
  • [85926d4038] - repl: do not preview while pasting code (Ruben Bridgewater) #31315
  • [c252356d38] - repl: fix preview cursor position (Ruben Bridgewater) #31293
  • [b9b044b98e] - repl: change preview default in case of custom eval functions (Ruben Bridgewater) #31259
  • [b92d65dbe7] - repl: activate previews for lines exceeding the terminal columns (Ruben Bridgewater) #31112
  • [d84c394541] - repl: improve preview length calculation (Ruben Bridgewater) #31112
  • [f8e805985e] - repl,readline: clean up code (Ruben Bridgewater) #31288
  • [83f7b5a8a9] - src: fix performance regression in node_file.cc (Ben Noordhuis) #31343
  • [6534c6c7bd] - src: use uv_guess_handle() to detect TTYs (cjihrig) #31333
  • [06fbc03cbd] - src: include uv.h in node_binding header (Shelley Vohr) #31265
  • [e3491d7dd6] - src: change GetStringWidth's expand_emoji_sequence option default (Ruben Bridgewater) #31112
  • [d2a10ad847] - src: improve GetColumnWidth performance (Ruben Bridgewater) #31112
  • [d0a96ab700] - src: fix -Wbraced-scalar-init warning (cjihrig) #31254
  • [60942cc2a7] - src: add build Github Action (gengjiawen) #31153
  • [4259afe583] - src: remove node::InitializeV8Platform() (Ben Noordhuis) #31245
  • [6050236c3d] - src: remove uses of node::InitializeV8Platform() (Ben Noordhuis) #31245
  • [1ad907039d] - src: clean up large_pages code (Denys Otrishko) #31196
  • [499c41d78a] - stream: fix async iterator destroyed error propagation (Robert Nagy) #31314
  • [d04118f125] - stream: simplify push (Robert Nagy) #31150
  • [ff60a0e2b1] - stream: clean up definition using defineProperties (antsmartian) #31236
  • [9c98d25506] - stream: replace Function.prototype with primordial (Sebastien Ahkrin) #31204
  • [256289fe83] - stream: sync stream unpipe resume (Robert Nagy) #31191
  • [424408005f] - test: stricten readline keypress failure test condition (Ruben Bridgewater) #31300
  • [1df7961b28] - test: allow disabling crypto tests (Shelley Vohr) #31268
  • [3c82d5bed2] - test: add repl tests to verify unicode support in previews (Ruben Bridgewater) #31112
  • [ca51ff8981] - test: fix recursive rm test to actually use tmpdir (Denys Otrishko) #31250
  • [0b88c3d8ed] - test: check that --insecure-http-parser works (Sam Roberts) #31253
  • [69c4f229cb] - test: remove unused symlink loop (cjihrig) #31267
  • [d76deca9cf] - test: prefer server over srv (Andrew Hughes) #31224
  • [f93095de6f] - test: fix unit test logging with python3 (Adam Majer) #31156
  • [cbd84c5ee1] - test,module: add test for exports cjs loader check (Rich Trott) #31427
  • [5dd6fb1529] - tools: remove obsolete dependencies (Rich Trott) #31359
  • [29e0465104] - tools: update remark-preset-lint-node to 1.12.0 (Rich Trott) #31359
  • [49364b0835] - tools: update JSON header parsing for backticks (Rich Trott) #31294
  • [d48f59224b] - tools: ensure consistent perms of signed release files (Rod Vagg) #29350
  • [a5311bd757] - tools: add clang-tidy rule in src (gengjiawen) #26840
  • [63f4eaefee] - util: add todo comments for inspect to add unicode support (Ruben Bridgewater) #31112
  • [27564a4837] - (SEMVER-MINOR) vm: add code cache support for SourceTextModule (Gus Caplan) #31278
  • [bdaac04c10] - wasi: improve use of primordials (cjihrig) #31212
  • [66fe92353b] - win: change to use Python in install tool (gengjiawen) #31221

New in Node.js 13.6.0 (Jan 9, 2020)

  • Notable Changes:
  • assert:
  • Implement assert.match() and assert.doesNotMatch() (Ruben Bridgewater) #30929
  • events:
  • Add EventEmitter.on to async iterate over events (Matteo Collina) #27994
  • Allow monitoring error events (Gerhard Stoebich) #30932
  • fs:
  • Allow overriding fs for streams (Robert Nagy) #29083
  • perf_hooks:
  • Move perf_hooks out of experimental (legendecas) #31101
  • repl:
  • Implement ZSH-like reverse-i-search (Ruben Bridgewater) #31006
  • tls:
  • Add PSK (pre-shared key) support (Denys Otrishko) #23188
  • Commits:
  • [d831dc1b77] - (SEMVER-MINOR) assert: implement assert.match() and assert.doesNotMatch() (Ruben Bridgewater) #30929
  • [f8aa365508] - assert: use for...of (Soar) #30983
  • [5fccb508e9] - benchmark: use let instead of var in dgram (dnlup) #31175
  • [827d3fea0e] - benchmark: add benchmark on async_hooks enabled http server (legendecas) #31100
  • [b193142e0a] - benchmark: use let instead of var in crypto (dnlup) #31135
  • [b8ccf30ac1] - benchmark: replace var with let/const in cluster benchmark (dnlup) #31042
  • [01fd3be84a] - benchmark: include writev in benchmark (Robert Nagy) #31066
  • [ca53f02767] - benchmark: use let instead of var in child_process (dnlup) #31043
  • [625744d292] - benchmark: add clear connections to secure-pair (Diego Lafuente) #27971
  • [0e864a383c] - benchmark: update manywrites back pressure (Robert Nagy) #30977
  • [37ffa8c2ae] - bootstrap: use different scripts to setup different configurations (Joyee Cheung) #30862
  • [4df365256f] - buffer: improve .from() error details (Ruben Bridgewater) #29675
  • [9b7cf090c7] - build: don't use -latomic on macOS (Ryan Schmidt) #30099
  • [d2ab877b72] - build: warn upon --use-largepages config option (Gabriel Schulhof) #31103
  • [ca05a5bb64] - build: switch realpath to pwd (bcoe) #31095
  • [d131877398] - build: fixes build for some os versions (David Carlier)
  • [baf8730a47] - build: re-introduce --use-largepages as no-op (Gabriel Schulhof)
  • [ca235112ae] - deps: V8: backport a4545db (David Carlier) #31127
  • [e2ef1a9e63] - deps: V8: bump v8_embedder_string for 0e21c1e637bf (Сковорода Никита Андреевич) #31096
  • [2ec817e02d] - deps: uvwasi: cherry-pick 75b389c (cjihrig) #31076
  • [a5937c7b6c] - deps: uvwasi: cherry-pick 64e59d5 (cjihrig) #31076
  • [647f3c7639] - deps: V8: cherry-pick 687d865fe251 (Сковорода Никита Андреевич) #31007
  • [7fe8399e08] - deps: V8: cherry-pick d406bfd64653 (Sam Roberts) #30819
  • [7e13ae7757] - deps: V8: cherry-pick d3a1a5b6c491 (Michaël Zasso) #31005
  • [32805a9525] - deps,src,test: update to uvwasi 0.0.3 (cjihrig) #30980
  • [44d03e81d4] - dgram: test to add and to drop specific membership (A. Volgin) #31047
  • [21ef3d615e] - dgram: use for...of (Trivikram Kamat) #30999
  • [7b696fe9f4] - doc: remove extra backtick (cjihrig) #31186
  • [dba2ab75d9] - doc: use code markup/markdown in headers (Ruben Bridgewater) #31149
  • [cc44325eed] - doc: update REPL documentation to instantiate the REPL (Ruben Bridgewater) #30928
  • [d3a8088cd5] - doc: improve explanation of package.json "type" field (Ronald J Kimball) #27516
  • [33352c2433] - doc: clarify role of writable.cork() (Colin Grant) #30442
  • [b657a64b77] - doc: de-duplicate security release processes (Sam Roberts) #30996
  • [18b34def41] - doc: fix createDiffieHellman generator type (Tobias Nießen) #31121
  • [1fa8e49f7e] - doc: update mode type for mkdir() functions (cjihrig) #31115
  • [a37a88f40d] - doc: update mode type for process.umask() (cjihrig) #31115
  • [2313b9e33b] - doc: update mode type for fs open() functions (cjihrig) #31115
  • [53c6a1ee34] - doc: update mode type for fchmod() functions (cjihrig) #31115
  • [68557889d3] - doc: update parameter type for fsPromises.chmod() (cjihrig) #31115
  • [72d70d5102] - doc: improve dns introduction (Rich Trott) #31090
  • [4c29a6ee15] - doc: update parameter type for fs.chmod() (Santosh Yadav) #31085
  • [dcce8b68b2] - doc: use code markup/markdown in headers in globals documentation (Rich Trott) #31086
  • [7afe69cee0] - doc: use code markup/markdown in headers in deprecations documentation (Rich Trott) #31086
  • [ff828900f6] - doc: use code markup/markdown in headers in addons documentation (Rich Trott) #31086
  • [ce60a80944] - doc: allow in header elements (Rich Trott) #31086
  • [1033760874] - doc: add --inspect-publish-uid man page entry (cjihrig) #31077
  • [23013e3e31] - doc: add --force-context-aware man page entry (cjihrig) #31077
  • [efc97fd927] - doc: add --enable-source-maps man page entry (cjihrig) #31077
  • [4292f64c27] - doc: fix anchors and subtitle in BUILDING.md (sutangu) #30296
  • [1357c97a70] - doc: standardize usage of hostname vs. host name (Rich Trott) #31073
  • [4caf4578fe] - doc: add unrepresented flags docs for configure (Pranshu Srivastava) #28069
  • [9141366e09] - doc: improve doc net:server.listen (dev-313) #31064
  • [69d6e9732b] - doc: implement minor improvements to BUILDING.md text (Rich Trott) #31070
  • [a7988ab0fa] - doc: avoid using v8::Persistent in addon docs (Anna Henningsen) #31018
  • [a3861147e5] - doc: clarify required flag for extensionless esm (Lucas Azzola) #30657
  • [cc8c0b4cde] - doc: reference worker threads on signal events (legendecas) #30990
  • [7815d5f2cb] - doc: update message.url example in http.IncomingMessage (Tadao Iseki) #30830
  • [118df63d9f] - doc,assert: use code markup/markdown in headers (Rich Trott) #31086
  • [32e5895a2f] - doc,async_hooks: use code markup/markdown in headers (Rich Trott) #31086
  • [0e0d45b02f] - doc,buffer: use code markup/markdown in headers (Rich Trott) #31086
  • [405bf8c8bb] - doc,child_process: use code markup/markdown in headers (Rich Trott) #31086
  • [27790fc76e] - doc,cluster: use code markup/markdown in headers (Rich Trott) #31086
  • [f8a6edaac6] - doc,console: use code markup/markdown in headers (Rich Trott) #31086
  • [df5ec4e7b1] - doc,crypto: use code markup/markdown in headers (Rich Trott) #31086
  • [4a42230fd7] - doc,dgram: use code markup/markdown in headers (Rich Trott) #31086
  • [9979f82716] - doc,dns: use code markup/markdown in headers (Rich Trott) #31086
  • [decfcaf89e] - doc,domain: use code markup/markdown in headers (Rich Trott) #31086
  • [665a662ad1] - doc,errors: use code markup/markdown in headers (Rich Trott) #31086
  • [fbb217a29d] - doc,esm: use code markup/markdown in headers (Rich Trott) #31086
  • [db01d0f947] - doc,events: use code markup/markdown in headers (Rich Trott) #31086
  • [e7f7e45ddb] - doc,fs: use code markup/markdown in headers (Rich Trott) #31086
  • [cdb79fc106] - doc,http: use code markup/markdown in headers (Rich Trott) #31086
  • [3062bcb13c] - doc,http2: use code markup/markdown in headers (Rich Trott) #31086
  • [3571df3115] - doc,https: use code markup/markdown in headers (Rich Trott) #31086
  • [699b31f8fe] - doc,inspector: use code markup/markdown in headers (Rich Trott) #31086
  • [d6f942003b] - doc,lib,src,test: rename WASI CLI flag (cjihrig) #30980
  • [7d25e44bc1] - doc,module: use code markup/markdown in headers (Rich Trott) #31086
  • [927b37f5a3] - doc,net: use code markup/markdown in headers (Rich Trott) #31086
  • [9de914687d] - doc,os: use code markup/markdown in headers (Rich Trott) #31086
  • [5921654eca] - doc,path: use code markup/markdown in headers (Rich Trott) #31086
  • [3ee3e6f5ff] - doc,perf_hooks: use code markup/markdown in headers (Rich Trott) #31086
  • [8c126527d9] - doc,process: use code markup/markdown in headers (Rich Trott) #31086
  • [f0bc62896a] - doc,punycode: use code markup/markdown in headers (Rich Trott) #31086
  • [125a59a0b0] - doc,querystring: use code markup/markdown in headers (Rich Trott) #31086
  • [128a69dde3] - doc,readline: use code markup/markdown in headers (Rich Trott) #31086
  • [38e09f8d17] - doc,repl: use code markup/markdown in headers (Rich Trott) #31086
  • [4c5a9854ec] - doc,stream: use code markup/markdown in headers (Rich Trott) #31086
  • [cf563bbd7f] - doc,string_decoder: use code markup/markdown in headers (Rich Trott) #31086
  • [450d9a27bf] - doc,timers: use code markup/markdown in headers (Rich Trott) #31086
  • [d6d507aa6c] - doc,tls: use code markup/markdown in headers (Rich Trott) #31086
  • [9d2082be94] - doc,tty: use code markup/markdown in headers (Rich Trott) #31086
  • [73c598a905] - doc,url: use code markup/markdown in headers (Rich Trott) #31086
  • [4672e106c1] - doc,util: use code markup/markdown in headers (Rich Trott) #31086
  • [342d3372ef] - doc,v8: use code markup/markdown in headers (Rich Trott) #31086
  • [e6fbde53b3] - doc,vm: use code markup/markdown in headers (Rich Trott) #31086
  • [796a9c0f43] - doc,vm,test: remove _sandbox_ from vm documentation (Rich Trott) #31057
  • [1bcc07b758] - doc,wasi: use code markup/markdown in headers (Rich Trott) #31086
  • [cb3c3fcb3f] - doc,worker: use code markup/markdown in headers (Rich Trott) #31086
  • [a6f16b3e78] - doc,zlib: use code markup/markdown in headers (Rich Trott) #31086
  • [1057a4cdf2] - errors: support prepareSourceMap with source-maps (bcoe) #31143
  • [33c5dbe197] - errors: improve ERR_INVALID_ARG_TYPE (Ruben Bridgewater) #29675
  • [a6c2502686] - esm: better error message for unsupported URL (Thomas) #31129
  • [24a021216d] - esm: empty ext from pkg type/main doesnt affect format (Bradley Farias) #31021
  • [afecc973d5] - (SEMVER-MINOR) events: add EventEmitter.on to async iterate over events (Matteo Collina) #27994
  • [f570de8ea9] - (SEMVER-MINOR) events: allow monitoring error events (Gerhard Stoebich) #30932
  • [4f32bbb816] - fs: use consistent defaults in sync stat functions (cjihrig) #31097
  • [7f6a0ed548] - (SEMVER-MINOR) fs: allow overriding fs for streams (Robert Nagy) #29083
  • [4a54f304a7] - http: http_outgoing rename var to let and const (telenord) #30284
  • [1b720aa802] - http: free listeners on free sockets (Robert Nagy) #29259
  • [b5a71a439d] - http2: set default enableConnectProtocol to 0 (ZYSzys) #31174
  • [b9160351ec] - http2: make HTTP2ServerResponse more streams compliant (Robert Nagy) #30964
  • [ba0682e91c] - http2: wait for session socket writable end on close/destroy (Denys Otrishko) #30854
  • [86f2e869dc] - http2: wait for session to finish writing before destroy (Denys Otrishko) #30854
  • [18acaccf0a] - https: prevent options object from being mutated (Vighnesh Raut) #31151
  • [42d36dca90] - lib: move initialization of APIs for changing process state (Anna Henningsen) #31172
  • [20ecb5dcfb] - lib: replace Map global by the primordials (Sebastien Ahkrin) #31155
  • [f268621ffa] - lib: replace use of Error with primordials (Sebastien Ahkrin) #31163
  • [3f21ad67f8] - lib: replace Set global by the primordials (Sebastien Ahkrin) #31154
  • [542aae4bf0] - lib: replace WeakSet global by the primordials (Sebastien Ahkrin) #31157
  • [0b8eaf2e5c] - lib: replace WeakMap global by the primordials (Sebastien Ahkrin) #31158
  • [1527796661] - lib: replace Set.prototype with SetPrototype primordial (Sebastien Ahkrin) #31161
  • [4b2d8df5b5] - lib: do not catch user errors (Ruben Bridgewater) #31159
  • [97ce0a3b47] - lib: replace var with let/const (kresimirfranin) #30394
  • [614b2c58f0] - lib: further simplify assertions in vm/module (Anna Henningsen) #30815
  • [a83d338102] - lib: improve spelling and grammar in comment (David Newman) #31026
  • [799b50934b] - meta: clarify scope of new nodejs.org issue choice (Derek Lewis) #31123
  • [72c64605c9] - module: unflag resolve self (Guy Bedford) #31002
  • [bd047e8277] - module: self resolve bug fix and esm ordering (Guy Bedford) #31009
  • [d7712213a4] - n-api: keep napi_env alive while it has finalizers (Anna Henningsen) #31140
  • [ae58c9709b] - perf_hooks: use for...of (Kamat, Trivikram) #31049
  • [dcbb97e2c3] - (SEMVER-MINOR) perf_hooks: move perf_hooks out of experimental (legendecas) #31101
  • [ffbf790358] - (SEMVER-MINOR) readline: set null as callback return in case there's no error (Ruben Bridgewater) #31006
  • [92dcf3e4ae] - (SEMVER-MINOR) readline: small refactoring (Ruben Bridgewater) #31006
  • [0999d53df0] - repl: use public getCursorPos() (cjihrig) #31091
  • [09ca8be1f2] - (SEMVER-MINOR) repl: implement reverse search (Ruben Bridgewater) #31006
  • [925dd8e7f9] - (SEMVER-MINOR) repl: fix preview of lines that exceed the terminal columns (Ruben Bridgewater) #31006
  • [892e7b0d7f] - src: suppress warning in src/node_env_var.cc (Harshitha KP) #31136
  • [2c6f81730b] - src: make large_pages node.cc include conditional (Denys Otrishko) #31078
  • [54caadc6ef] - src: enable stack trace printing for V8 check failures (Anna Henningsen) #31079
  • [60dd1838e9] - src: prevent hard coding stack trace limit (legendecas) #30752
  • [80732cdf9c] - src: port --bash-completion to C++ (Joyee Cheung) #25901
  • [49a7e73898] - src: make --use-largepages a runtime option (Gabriel Schulhof) #30954
  • [6b65cafacf] - src: list used functions on headers (Juan José Arboleda) #30827
  • [e5a41552e6] - src: fix compiler warning in env.cc (Anna Henningsen) #31020
  • [a27edd8335] - src,test: use v8::Global instead of v8::Persistent (Anna Henningsen) #31018
  • [5bf27729dd] - stream: group all properties using defineProperties (antsmartian) #31144
  • [ca22ce2698] - stream: pipeline should use req.abort() to destroy response (Robert Nagy) #31054
  • [bca23b9e16] - stream: reset flowing state if no 'readable' or 'data' listeners (Robert Nagy) #31036
  • [146321410c] - stream: simplify isBuf (Robert Nagy) #31067
  • [21d96645db] - test: change buffer offset to accommodate V8 BackingStore (Thang Tran) #31171
  • [bd6a29c60b] - test: use spread object (Fran Herrero) #30423
  • [efa0bd8e25] - test: refactor common.expectsError (Ruben Bridgewater) #31092
  • [16f60cedb3] - test: increase coverage for _http_incoming.js (Rich Trott) #31093
  • [990760e57f] - test: log errors in test-http2-propagate-session-destroy-code (Denys Otrishko) #31072
  • [e28e873fb6] - test: skip the unsupported test cases for IBM i (Xu Meng) #30819
  • [07e82db764] - test: get lib/wasi.js coverage to 100% (cjihrig) #31039
  • [e5980a106c] - test: cover vm with negative tests (Andrew Kuzmenko) #31028
  • [3c9e435f56] - test: unflake async hooks statwatcher test (Denys Otrishko) #30362
  • [dadccb7761] - test: fix common.enoughTestMem (Rich Trott) #31035
  • [93cf1231db] - test: fix long lines (cjihrig) #31014
  • [54c471a3bf] - test: fix flaky test-http2-client-upload (Gerhard Stoebich) #29889
  • [3753f47677] - test: use tmpdir.refresh() in test-esm-windows.js (Richard Lau) #30997
  • [d36ae62bd7] - test: remove obsolete WASI test (cjihrig) #30980
  • [fe4f55ee13] - timers: fix refresh for expired timers (Anatoli Papirovski) #27345
  • [83330a00a0] - timers: do less work in insert (Anatoli Papirovski) #27345
  • [7b2bf20f7e] - (SEMVER-MINOR) tls: add PSK support (Denys Otrishko) #23188
  • [c23bbc6fe2] - tools: remove prefer-common-expectserror lint rule (cjihrig) #31147
  • [85d152fccf] - tools: allow the travis commit message job to fail (Ruben Bridgewater) #31116
  • [048b7f469c] - tools: fix Raspbian armv7 build (Andrey Hohutkin) #31041
  • [c779421f41] - tools: update ESLint to 6.8.0 (cjihrig) #31044
  • [28a62c30be] - tools,src: forbid usage of v8::Persistent (Anna Henningsen) #31018
  • [697908e8d9] - util: improve prototype inspection using inspect() and showHidden (Ruben Bridgewater) #31113
  • [a6998085d2] - util: add (typed) array length to the default output (Ruben Bridgewater) #31027
  • [7611d5b47b] - util: add colors to debuglog() (Ruben Bridgewater) #30930
  • [614b074f3b] - wasi: refactor destructuring object on constructor (himself65) #31185
  • [8491e1c3c6] - wasi: fix serdes bugs from snapshot1 migration (cjihrig) #31122
  • [87f15c03bc] - wasi: throw on failed uvwasi_init() (cjihrig) #31076
  • [10f7169d58] - zlib: use for...of (Kamat, Trivikram) #31051
  • [31bbae7c92] - zlib: allow writes after readable 'end' to finish (Anna Henningsen) #31082

New in Node.js 13.5.0 (Dec 20, 2019)

  • Notable Changes:
  • cli:
  • add --trace-exit cli option (legendecas) #30516
  • http,https:
  • increase server headers timeout (Tim Costa) #30071
  • readline:
  • update ansi-regex (Ruben Bridgewater) #30907
  • promote _getCursorPos to public api (Jeremy Albright) #30687
  • repl:
  • add completion preview (Ruben Bridgewater) #30907
  • util:
  • add Set and map size to inspect output (Ruben Bridgewater) #30225
  • wasi:
  • require CLI flag to require() wasi module (Colin Ihrig) #30963
  • Commits:
  • [e10917f8ba] - async_hooks: ensure proper handling in runInAsyncScope (Anatoli Papirovski) #30965
  • [b6ddbc1291] - benchmark: use let/const instead of var in buffers (dnlup) #30945
  • [00cbf5b1b6] - build: auto-load ICU data from --with-icu-default-data-dir (Stephen Gallagher) #30825
  • [60225c171e] - build: fix missing x64 arch suffix in binary tar name (legendecas) #30877
  • [10a77d3cd1] - build,win: fix goto exit in vcbuild (João Reis) #30931
  • [f371562e30] - build,win: support building MSI with VS2019 (João Reis) #30895
  • [d8ce9a0e23] - (SEMVER-MINOR) cli: add --trace-exit cli option (legendecas) #30516
  • [30e2d28ac5] - cluster: remove unnecessary bind (Anatoli Papirovski) #28131
  • [4f3eca5d42] - console: unregister temporary error listener (Robert Nagy) #30852
  • [a221017ee8] - crypto: cast oaepLabel to unsigned char* (Shelley Vohr) #30917
  • [3abcb69c3e] - doc: add note about fs.close() about undefined behavior (Robert Nagy) #30966
  • [13b5ace4db] - doc: explain napi_run_script (Tobias Nießen) #30918
  • [559284b20a] - doc: add "Be direct." to the style guide (Rich Trott) #30935
  • [eb6443dc11] - doc: clarify expectations for PR commit messages (Derek Lewis) #30922
  • [df5ae1a8ef] - doc: fix description of N-API exception handlers (Tobias Nießen) #30893
  • [b53e2a84ec] - doc: improve doc writable streams: 'finish' event (dev-313) #30889
  • [ad5b71525d] - fs: remove unnecessary bind (Anatoli Papirovski) #28131
  • [3bc9b09ce6] - http: use for...of in http library code (Trivikram Kamat) #30958
  • [7a756cb539] - http: remove unnecessary bind (Anatoli Papirovski) #28131
  • [172228047a] - http,https: increase server headers timeout (Tim Costa) #30071
  • [52aab47766] - http2: remove unnecessary bind from setImmediate (Anatoli Papirovski) #28131
  • [88731adff6] - lib: replace Symbol.species by SymbolSpecies (Sebastien Ahkrin) #30950
  • [f51b5bd3dc] - lib: replace Symbol.hasInstance by SymbolHasInstance (Sebastien Ahkrin) #30948
  • [92475e998d] - lib: replace Symbol.asyncIterator by SymbolAsyncIterator (Sebastien Ahkrin) #30947
  • [19f05cab39] - lib: enforce use of Promise from primordials (Michaël Zasso) #30936
  • [698e0a2095] - lib: add TypedArray constructors to primordials (Sebastien Ahkrin) #30740
  • [cbe29ce4cf] - lib: change var to let/const (rene.herrmann) #30910
  • [2430dd8ecb] - lib: use strict equality comparison (Donggeon Lim) #30898
  • [30d32492a0] - lib: refactor NativeModule (Joyee Cheung) #30856
  • [a326309a74] - lib: replace Symbol.toPrimitive to SymbolToPrimitive primordials (Sebastien Ahkrin) #30905
  • [0d2172fb5d] - lib: update Symbol.toStringTag by SymbolToStringTag primordial (Sebastien Ahkrin) #30908
  • [4e67d38f42] - perf_hooks: remove unnecessary bind (Anatoli Papirovski) #28131
  • [510edead69] - process: refs --unhandled-rejections documentation in warning message (Antoine du HAMEL) #30564
  • [954793f363] - process: fix promise catching (Rongjian Zhang) #30957
  • [5b49ded22a] - (SEMVER-MINOR) readline: promote _getCursorPos to public api (Jeremy Albright) #30687
  • [424c37baba] - (SEMVER-MINOR) readline: update ansi-regex (Ruben Bridgewater) #30907
  • [02f3fe4b60] - (SEMVER-MINOR) repl: fix preview bug in case of long lines (Ruben Bridgewater) #30907
  • [6a3e79f953] - (SEMVER-MINOR) repl: add completion preview (Ruben Bridgewater) #30907
  • [1a8f828c17] - (SEMVER-MINOR) repl: improve completion (Ruben Bridgewater) #30907
  • [8b92223ed1] - (SEMVER-MINOR) repl: simplify code (Ruben Bridgewater) #30907
  • [f7eeb8cc0b] - (SEMVER-MINOR) repl: simplify repl autocompletion (Ruben Bridgewater) #30907
  • [d549daef18] - (SEMVER-MINOR) repl: remove dead code (Ruben Bridgewater) #30907
  • [e11acc5a45] - repl: fix autocomplete when useGlobal is false (Michaël Zasso) #30883
  • [3906e145ca] - (SEMVER-MINOR) repl,readline: refactor for simplicity (Ruben Bridgewater) #30907
  • [f6f298e3cf] - (SEMVER-MINOR) repl,readline: refactor common code (Ruben Bridgewater) #30907
  • [d456aa0a57] - src: unregister Isolate with platform before disposing (Anna Henningsen) #30909
  • [c43461ac56] - src: make debug_options getters public (Shelley Vohr) #30494
  • [5ca29d860b] - stream: use for...of (Trivikram Kamat) #30960
  • [0c18c49f0e] - stream: do not chunk strings and Buffer in Readable.from (Matteo Collina) #30912
  • [663a6b4938] - stream: make all streams error in a pipeline (Matteo Collina) #30869
  • [5e268b8dbe] - test: simplify test-wasi-start-validation.js (Colin Ihrig) #30972
  • [c2d95529f6] - test: improve WASI start() coverage (Colin Ihrig) #30972
  • [72b4aee745] - test: improve test coverage in child_process (Juan José Arboleda) #26282
  • [f30b771fd2] - (SEMVER-MINOR) test: add multiple repl preview tests (Ruben Bridgewater) #30907
  • [69aaab0e2c] - test: improve dns lookup coverage (Kirill Ponomarev) #30777
  • [b6b917dda0] - test: avoid leftover report file (Gerhard Stoebich) #30925
  • [51d1a919bf] - test: add missing test flags (Colin Ihrig) #30971
  • [60485dcc8e] - test: add test for validation for wasi.start() argument (Rich Trott) #30919
  • [7a25c2c073] - test: improve assertion error message in test-debug-usage (Rich Trott) #30913
  • [b7a0574d6f] - test: make test-os-checked-function work without test harness (Rich Trott) #30914
  • [7e6510bcfb] - test: delay loading 'os' in test/common module (Rich Trott) #30914
  • [956dec8b6b] - tls: for...of in _tls_common.js (Trivikram Kamat) #30961
  • [b20ddde2f6] - tools: enable Markdown linter's usage information (Derek Lewis) #30216
  • [f62a7679a3] - util: add Set and map size to inspect output (Ruben Bridgewater) #30225
  • [f830a7dd73] - util: refactor inspect code for constistency (Ruben Bridgewater) #30225
  • [8dec909aa7] - (SEMVER-MINOR) util: inspect (user defined) prototype properties (Ruben Bridgewater) #30768
  • [453be95edc] - (SEMVER-MINOR) util: fix built-in detection (Ruben Bridgewater) #30768
  • [2b0e2c280f] - v8: use of TypedArray constructors from primordials (Sebastien Ahkrin) #30740
  • [54d51dbe4c] - wasi: require CLI flag to require() wasi module (Colin Ihrig) #30963

New in Node.js 13.4.0 (Dec 18, 2019)

  • Notable Changes:
  • deps:
  • update npm to 6.13.4 #30904
  • update uvwasi (Anna Henningsen) #30745
  • upgrade to libuv 1.34.0 (Colin Ihrig) #30783
  • doc:
  • docs deprecate http finished (Robert Nagy) #28679
  • events:
  • add captureRejection option (Matteo Collina) #27867
  • http:
  • add captureRejection support (Matteo Collina) #27867
  • llhttp opt-in insecure HTTP header parsing (Sam Roberts) #30567
  • http2:
  • implement capture rection for 'request' and 'stream' events (Matteo Collina) #27867
  • net:
  • implement capture rejections for 'connection' event (Matteo Collina) #27867
  • repl:
  • support previews by eager evaluating input (Ruben Bridgewater) #30811
  • stream:
  • add support for captureRejection option (Matteo Collina) #27867
  • tls:
  • implement capture rejections for 'secureConnection' event (Matteo Collina) #27867
  • expose IETF name for current cipher suite (Sam Roberts) #30637
  • worker:
  • add argv constructor option (legendecas) #30559
  • Commits:
  • [1c4b2f15d9] - assert,util: stricter type comparison using deep equal comparisons (Ruben Bridgewater) #30764
  • [78eaf50693] - benchmark: improve --filter pattern matching (Matheus Marchini) #29987
  • [ad4d52d1b5] - benchmark: add more util inspect and format benchmarks (Ruben Bridgewater) #30767
  • [d90815d08e] - build: on Android, use android log library to print stack traces (Giovanni Campagna) #29388
  • [d1c4fccde2] - build: fix library version and compile flags on Android (Giovanni Campagna) #29388
  • [dfd3a4d6c1] - (SEMVER-MINOR) build: add flag to enable pointer compression (Matteo Collina) #30463
  • [3d05d4beea] - build: ease DragonFlyBSD build (David Carlier) #30201
  • [43e947a155] - build: remove (almost) unused macros/constants (Benjamin Coe) #30755
  • [0379fb65c1] - deps: update npm to 6.13.4 (Isaac Z. Schlueter) #30904
  • [13fe9f7cc8] - deps: update uvwasi (Anna Henningsen) #30745
  • [ca47f72868] - (SEMVER-MINOR) deps: upgrade to libuv 1.34.0 (Colin Ihrig) #30783
  • [458860691c] - deps: fix OPENSSLDIR on Windows (Shigeki Ohtsu) #29456
  • [b3ae532392] - doc: clarify build support text (Rich Trott) #30899
  • [8bf0da6c93] - doc: edit colorMode information (Rich Trott) #30887
  • [df9df1883e] - doc: fix argument type of setAAD (Tobias Nießen) #30863
  • [9d1c793ceb] - doc: clarify Tier 2 implications in BUILDING.md (Rich Trott) #30866
  • [1cce00073e] - doc: add code example to inspector.url() method (Juan José Arboleda) #29496
  • [93ca4f4098] - doc: deprecate http finished (Robert Nagy) #28679
  • [0022d7544a] - doc: improve doc Http2Stream: FrameError, Timeout and Trailers (dev-313) #30373
  • [2123d53c28] - doc: include line/cursor in readline documentation (Jeremy Albright) #30667
  • [1baa6ab075] - doc: improve napi formatting (Ruben Bridgewater) #30772
  • [1d5c4e21de] - doc: add documentation about node_mksnapshot and mkcodecache (Joyee Cheung) #30773
  • [67823e8fc4] - doc: remove imprecise and redundant testing text (Rich Trott) #30763
  • [7cb84fdbe5] - doc: remove usage of "Node" in favor of "Node.js" (Rich Trott) #30758
  • [510eb3a6eb] - doc: revise addons introduction for brevity and clarity (Rich Trott) #30756
  • [543bf9d8ea] - doc: fix up N-API doc (NickNaso) #30656
  • [2c0f1edfd5] - doc: adds assert doc for strict mode with pointer to strict equality (Shobhit Chittora) #30486
  • [9428304d4a] - doc: Buffer.toString(): add note about invalid data (Jan-Philip Gehrcke) #30706
  • [8369562757] - doc: clarify text about using 'session' event for compatibility (Rich Trott) #30746
  • [145f881ff9] - doc: update status of Python 3 support (Michael Dawson) #30722
  • [bbbba76f2c] - doc,benchmark: move benchmark guide to benchmark directory (Rich Trott) #30781
  • [eb4f443a5a] - esm: make specifier flag clearly experimental (Myles Borins) #30678
  • [220a6001c6] - (SEMVER-MINOR) events: add captureRejection option (Matteo Collina) #27867
  • [6c07a72833] - fs: synchronize close with other I/O for streams (Anna Henningsen) #30837
  • [18758ef183] - fs: retry unlink operations in rimraf (Colin Ihrig) #30569
  • [5e98de1751] - fs: only operate on buffers in rimraf (Colin Ihrig) #30569
  • [7e1dee3347] - fs: reduce unnecessary sync rimraf retries (Colin Ihrig) #30785
  • [5523950b47] - fs: add synchronous retries to rimraf (Colin Ihrig) #30785
  • [60b1e1ad61] - fs: fix existsSync for invalid symlink at win32 (Rongjian Zhang) #30556
  • [daca0780b1] - (SEMVER-MINOR) http: llhttp opt-in insecure HTTP header parsing (Sam Roberts) #30567
  • [334d4f6256] - (SEMVER-MINOR) http: add captureRejection support to OutgoingMessage (Matteo Collina) #27867
  • [33a6bf3a83] - (SEMVER-MINOR) http: implement capture rejections for 'request' event (Matteo Collina) #27867
  • [822fb00dbe] - http2: forward debug message in debugStreamObj (Denys Otrishko) #30840
  • [d17ea8f584] - http2: track nghttp2-allocated memory in heap snapshot (Anna Henningsen) #30745
  • [8a9f57d0d5] - http2: use shared memory tracking implementation (Anna Henningsen) #30745
  • [71bb026e0c] - http2: streamline OnStreamRead streamline memory accounting (Denys Otrishko) #30351
  • [3840abed11] - http2: small clean up in OnStreamRead (Denys Otrishko) #30351
  • [c3ac4c85a5] - (SEMVER-MINOR) http2: implement capture rection for 'request' and 'stream' events (Matteo Collina) #27867
  • [d3f0dd2148] - inspector: do not access queueMicrotask from global (Michaël Zasso) #30732
  • [71c6d44efa] - lib: enforce use of BigInt from primordials (Michaël Zasso) #30882
  • [64ab5c9c84] - lib: replace Symbol.iterator by SymbolIterator (Sebastien Ahkrin) #30859
  • [39898a9db4] - lib: replace every Symbol.for by SymbolFor primordials (Sebastien Ahkrin) #30857
  • [0a34fcb086] - lib: replace var with let/const (jens-cappelle) #30384
  • [af014170a7] - lib: replace Symbol global by the primordials Symbol (Sebastien Ahkrin) #30737
  • [2c439bb8ad] - lib: add parent to ERR_UNKNOWN_FILE_EXTENSION (qualitymanifest) #30728
  • [d9d64754f9] - lib: add warning on dynamic import es modules (Juan José Arboleda) #30720
  • [325128e469] - lib: delay access to CLI option to pre-execution (Joyee Cheung) #30778
  • [94f237e5ac] - lib,test: improves ERR_REQUIRE_ESM message (Juan José Arboleda) #30694
  • [e61f4ead93] - module: conditional exports import condition (Guy Bedford) #30799
  • [8e16093b64] - module: fix require in node repl (Yongsheng Zhang) #30835
  • [d4aa656d57] - module: fix dynamic import from eval (Corey Farrell) #30624
  • [a7ec78f34e] - module: fixup lint and test regressions (Guy Bedford) #30802
  • [bd2f1270f7] - module: ignore resolution failures for inspect-brk (Maël Nison) #30336
  • [851f3135ab] - module: add warnings for experimental flags (Rongjian Zhang) #30617
  • [123327d4c1] - net: remove duplicate _undestroy (Robert Nagy) #30833
  • [4eecee089d] - (SEMVER-MINOR) net: implement capture rejections for 'connection' event (Matteo Collina) #27867
  • [2f1ae4f2bf] - readline: eagerly load string_decoder (Ruben Bridgewater) #30807
  • [e551c169b8] - (SEMVER-MINOR) repl: support previews by eager evaluating input (Ruben Bridgewater) #30811
  • [c440f3fa3d] - repl: use better uncaught exceptions indicator (Ruben Bridgewater) #29676
  • [de368200f3] - src: accept single argument in getProxyDetails (Ruben Bridgewater) #30858
  • [60886036c9] - src: fix the false isatty() issue on IBMi (Xu Meng) #30829
  • [7ed867dddb] - src: improve checked uv loop close output (Anna Henningsen) #30814
  • [041daaa273] - src: port memory-tracking allocator from QUIC repo (Anna Henningsen) #30745
  • [ccf0917aef] - src: don't use deprecated OpenSSL APIs (Rosen Penev) #30812
  • [8ad53ab2b7] - src: free preopen memory in WASI::New() (Colin Ihrig) #30809
  • [e6e379ea41] - src: use checked allocations in WASI::New() (Colin Ihrig) #30809
  • [838ae10a9b] - src: delete redundant method in node_dir.h (gengjiawen) #30747
  • [66db8746c7] - src: remove redundant cast in node_dir.cc (gengjiawen) #30747
  • [cb69ff47f6] - src: improve node_crypto.cc memory allocation (Priyanka Kore) #30751
  • [b51b26ffef] - src: fix node_dir.cc memory allocation (Priyanka Kore) #30750
  • [89bc571490] - (SEMVER-MINOR) stream: add support for captureRejection option (Matteo Collina) #27867
  • [1b534d571a] - test: work around ENOTEMPTY when cleaning tmp dir (Ben Noordhuis) #30849
  • [eb6e32c2fc] - test: disable colorMode in test-console-group (Rich Trott) #30886
  • [5f42b1fc6b] - test: assert: fix deepStrictEqual comparing a real array and fake array (Jordan Harband) #30743
  • [ce21fc7154] - test: wait for stream close before writing to file (Anna Henningsen) #30836
  • [cc4a6ed645] - test: use fs rimraf to refresh tmpdir (Colin Ihrig) #30569
  • [5ae3a858f7] - test: refactor test-accessor-properties (himself65) #29943
  • [97e0efeedf] - test: scale keepalive timeouts for slow machines (Ben Noordhuis) #30834
  • [305e45a041] - test: mark tests as flaky (João Reis) #30848
  • [4dc9d8db13] - test: mark addons/openssl-bindings/test flaky on arm (Richard Lau) #30838
  • [25e3696a07] - test: improve WASI options validation (Rich Trott) #30800
  • [a574cb0ab9] - test: remove common.busyLoop() (Colin Ihrig) #30787
  • [3557659afb] - test: run more assert tests (Ruben Bridgewater) #30764
  • [5067463f3c] - test: use callback arguments in getconnections test (Rich Trott) #30775
  • [30756e36e7] - test: improve wasi test coverage (Rich Trott) #30770
  • [fb31ab52c0] - test: simplify tmpdir import in wasi tests (Rich Trott) #30770
  • [55a270b583] - test: remove duplicate entries from root.status (Richard Lau) #30769
  • [54a266c878] - test: increase debugging information in subprocess test (Rich Trott) #30761
  • [a0fa327365] - test: use block-scoping in test-net-server-address (Rich Trott) #30754
  • [9bd5c72104] - test: move test-child-process-fork-getconnections to parallel (Rich Trott) #30749
  • [50ab1fa013] - test: change common.PORT to arbitrary port (Rich Trott) #30749
  • [255cd7e572] - (SEMVER-MINOR) tls: expose IETF name for current cipher suite (Sam Roberts) #30637
  • [5ad3efbfb3] - (SEMVER-MINOR) tls: implement capture rejections for 'secureConnection' event (Matteo Collina) #27867
  • [5203ffb2f4] - tools: update link to google styleguide for cpplint (Daniel Bevenius) #30876
  • [1ed1a645f2] - tools: use CC instead of CXX when pointing to gcc (Milad Farazmand) #30817
  • [2b687af852] - tools: update remark-preset-lint-node to 1.11.0 (Rich Trott) #30789
  • [0cb7720dd8] - tools: update icu to 65.1 (Albert Wang) #30232
  • [7b9400ce63] - tools: update ESLint to 6.7.2 (Rich Trott) #30762
  • [5ab3ca4f96] - url: declare iterator inside loop (Trivikram Kamat) #30509
  • [dc69cbeb05] - util: add internal sleep() function (Colin Ihrig) #30787
  • [3898b2387b] - util: never trigger any proxy traps using format() (Ruben Bridgewater) #30767
  • [eeaeb51dcc] - util: improve performance inspecting proxies (Ruben Bridgewater) #30767
  • [608d720834] - (SEMVER-MINOR) util: add more predefined color codes to inspect.colors (Ruben Bridgewater) #30659
  • [77ffd5482d] - (SEMVER-MINOR) util: improve inspect's customInspect performance (Ruben Bridgewater) #30659
  • [14269d15cf] - wasi: use memory-tracking allocator (Anna Henningsen) #30745
  • [71d43a5569] - (SEMVER-MINOR) worker: add argv constructor option (legendecas) #30559

New in Node.js 13.3.0 (Dec 4, 2019)

  • Notable Changes:
  • fs:
  • Reworked experimental recursive rmdir() (cjihrig) #30644
  • The maxBusyTries option is renamed to maxRetries, and its default is set to 0. The emfileWait option has been removed, and EMFILE errors use the same retry logic as other errors. The retryDelay option is now supported. ENFILE errors are now retried.
  • http:
  • Make maximum header size configurable per-stream or per-server (Anna Henningsen) #30570
  • http2:
  • Make maximum tolerated rejected streams configurable (Denys Otrishko) #30534
  • Allow to configure maximum tolerated invalid frames (Denys Otrishko) #30534
  • wasi:
  • Introduce initial WASI support (cjihrig) #30258
  • Commits:
  • [4cd4e7c17a] - benchmark,doc,lib,test: prepare for padding lint rule (Rich Trott) #30696
  • [63eb4fee46] - buffer: fix 6-byte writeUIntBE() range check (Brian White) #30459
  • [e8af569200] - buffer: release buffers with free callbacks on env exit (Anna Henningsen) #30551
  • [648766bccf] - build: do not build mksnapshot and mkcodecache for --shared (Joyee Cheung) #30647
  • [6545314a4f] - build: add --without-node-code-cache configure option (Joyee Cheung) #30647
  • [80ada94cd3] - build: use Node.js instead of Node in configure (Tobias Nießen) #30642
  • [0aae502c67] - build,win: propagate error codes in vcbuild (João Reis) #30724
  • [6a53152b42] - build,win: add test-ci-native and test-ci-js (João Reis) #30724
  • [30a4f68a15] - child_process: document kill() return value (cjihrig) #30669
  • [dae36a9692] - child_process: replace var with let/const (dnlup) #30389
  • [4b13bca31a] - child_process: replace var with const/let in internal/child_process.js (Luis Camargo) #30414
  • [378c54fe97] - cluster: replace vars in child.js (EmaSuriano) #30383
  • [708e67a732] - cluster: replace var with let (Herrmann, Rene R. (656)) #30425
  • [55fbe45f69] - cluster: replace var by let in shared_handle.js (poutch) #30402
  • [4affc30a12] - crypto: automatically manage memory for ECDSA_SIG (Tobias Nießen) #30641
  • [55c2ac70b7] - crypto: remove redundant validateUint32 argument (Tobias Nießen) #30579
  • [0ba877a541] - deps: V8: cherry-pick 0dfd9ea51241 (bcoe) #30713
  • [b470354057] - deps: patch V8 to 7.9.317.25 (Myles Borins) #30679
  • [d257448bca] - deps: update llhttp to 2.0.1 (Fedor Indutny) #30553
  • [456d250d2d] - deps: V8: backport 93f189f19a03 (Michaël Zasso) #30681
  • [aa01ebdbca] - deps: V8: cherry-pick ca5b0ec (Anna Henningsen) #30708
  • [f37450f580] - dns: use length for building TXT string (Anna Henningsen) #30690
  • [3d302ff276] - doc: fix typographical error (Rich Trott) #30735
  • [19b31c1bc5] - doc: revise REPL uncaught exception text (Rich Trott) #30729
  • [61af1fcaa1] - doc: update signature algorithm in release doc (Myles Borins) #30673
  • [a8002d92ab] - doc: update README.md to fix active/maint times (Michael Dawson) #30707
  • [f46df0b496] - doc: update socket.bufferSize text (Rich Trott) #30723
  • [cbd50262c0] - doc: note that buf.buffer's contents might differ (AJ Jordan) #29651
  • [a25626c1ed] - doc: clarify IncomingMessage.destroy() description (Sam Foxman) #30255
  • [8fcb450934] - doc: fixed a typo in process.md (Harendra Singh) #30277
  • [ad9f737e44] - doc: documenting a bit more FreeBSD case (David Carlier) #30325
  • [40b762177f] - doc: add missing 'added' versions to module.builtinModules (Thomas Watson) #30562
  • [aca0119089] - doc: fix worker.resourceLimits indentation (Daniel Nalborczyk) #30663
  • [43e78578a6] - doc: fix worker.resourceLimits type (Daniel Nalborczyk) #30664
  • [20dbce17d5] - doc: avoid proposal syntax in code example (Alex Zherdev) #30685
  • [1e7c567734] - doc: address nits for src/README.md (Anna Henningsen) #30693
  • [87136c9bde] - doc: revise socket.connect() note (Rich Trott) #30691
  • [fcde49700c] - doc: remove "this API is unstable" note for v8 serdes API (bruce-one) #30631
  • [809a2b056b] - doc: fixup incorrect flag name reference (Guy Bedford) #30651
  • [3d978839c1] - doc: minor updates to releases.md (Beth Griggs) #30636
  • [e9f031c741] - doc: add 13 and 12 to previous versions (Andrew Hughes) #30590
  • [8ab18b6b6f] - doc: update AUTHORS list (Gus Caplan) #30672
  • [329a821d25] - doc: add explanation why keep var with for loop (Lucas Recknagel) #30380
  • [426ca263c8] - doc: document "Resume Build" limitation (Richard Lau) #30604
  • [00f7cc65a1] - doc: add note of caution about non-conforming streams (Robert Nagy) #29895
  • [7d98a59c39] - doc: add note about debugging worker_threads (Denys Otrishko) #30594
  • [8ef629a78a] - doc: simplify "is recommended" language in assert documentation (Rich Trott) #30558
  • [19d192d1f0] - doc: fix a typo in a date for version 13.2.0 (Kirlat) #30587
  • [b67759a93c] - doc,deps: document how to maintain ICU in Node.js (Steven R. Loomis) #30607
  • [bfcc9142f3] - doc,n-api: mark napi_detach_arraybuffer as experimental (legendecas) #30703
  • [365f0ab09b] - esm: data URLs should ignore unknown parameters (Bradley Farias) #30593
  • [0285aa0967] - events: improve performance caused by primordials (guzhizhou) #30577
  • [3475f9b82c] - fs: add ENFILE to rimraf retry logic (cjihrig) #30644
  • [f725953433] - fs: add retryDelay option to rimraf (cjihrig) #30644
  • [51bc379243] - fs: remove rimraf's emfileWait option (cjihrig) #30644
  • [612a3a2e6c] - fs: make rimraf default to 0 retries (cjihrig) #30644
  • [fa1f87b199] - fs: rename rimraf's maxBusyTries to maxRetries (cjihrig) #30644
  • [8ee27ffe77] - fs: change var to let (Àlvar Pérez) #30407
  • [850c2a72ea] - fs: cover fs.opendir ERR_INVALID_CALLBACK (Vladislav Botvin) #30307
  • [62574087ea] - (SEMVER-MINOR) http: make maximum header size configurable per-stream or per-server (Anna Henningsen) #30570
  • [1d1d136806] - http: set socket.server unconditionally (Anna Henningsen) #30571
  • [6848bfbf65] - http: replace var with let (Guilherme Goncalves) #30421
  • [8256d38349] - http: destructure primordials in lib/_http_server.js (Artem Maksimov) #30315
  • [3b169f1dbd] - http: improve performance caused by primordials (Lucas Recknagel) #30416
  • [6f313f9ab0] - http2: fix session memory accounting after pausing (Michael Lehenbauer) #30684
  • [7d37bcebea] - (SEMVER-MINOR) http2: make maximum tolerated rejected streams configurable (Denys Otrishko) #30534
  • [092a3c28aa] - (SEMVER-MINOR) http2: allow to configure maximum tolerated invalid frames (Denys Otrishko) #30534
  • [e92afd998f] - (SEMVER-MINOR) http2: replace direct array usage with struct for js_fields_ (Denys Otrishko) #30534
  • [30ef8e4cbd] - http2: change var to let compact.js (Maria Emmanouil) #30392
  • [1a2ed4a5f4] - http2: core.js replace var with let (Daniel Schuech) #30403
  • [f7ca7e6677] - http2: replace var with let/const (Paolo Ceschi Berrini) #30417
  • [6322611077] - inspector: properly shut down uv_async_t (Anna Henningsen) #30612
  • [de3a1c3019] - lib: enforce use of primordial Number (Sebastien Ahkrin) #30700
  • [5a9340d723] - lib: use static Number properties from primordials (Michaël Zasso) #30686
  • [892bde635e] - lib: enforce use of Boolean from primordials (Michaël Zasso) #30698
  • [ae2c7d0b02] - lib: replace Date.now function by primordial DateNow (Tchoupinax) #30689
  • [c09e3deac5] - lib: replace ArrayBuffer.isView by primordial ArrayBuffer (Vincent Dhennin) #30692
  • [5ef4dceb95] - lib: enforce use of Array from primordials (Michaël Zasso) #30635
  • [a4dfe3b7dc] - lib: flatten access to primordials (Michaël Zasso) #30610
  • [b545b91de5] - lib: use let instead of var (Shubham Chaturvedi) #30375
  • [5120926337] - lib: replace var with let/const (jens-cappelle) #30391
  • [b18b056d64] - lib: replace var w/ let (Chris Oyler) #30386
  • [3796885096] - lib: replace var with let/const (Tijl Claessens) #30390
  • [ffe3040659] - lib: adding perf notes js_stream_socket.js (ryan jarvinen) #30415
  • [797b938c49] - lib: replace var with let (Dennis Saenger) #30396
  • [0b64e45e41] - lib: main_thread_only change var to let (matijagaspar) #30398
  • [d024630f44] - lib: change var to let in stream_base_commons (Kyriakos Markakis) #30426
  • [3c041edbe7] - lib: use let instead of var (Semir Ajruli) #30424
  • [d277c375fd] - lib: changed var to let (Oliver Belaifa) #30427
  • [0fd89cc0f1] - lib: replace var with let/const (Dries Stelten) #30409
  • [bdba03e3ed] - lib: change var to let (Dimitris Ktistakis) #30408
  • [48fef42ca9] - lib: replace var with let/const (Tembrechts) #30404
  • [502173b54e] - lib: replace var to let in cli_table.js (Jing Lin) #30400
  • [2cf8a7f117] - module: fix specifier resolution algorithm (Rongjian Zhang) #30574
  • [be9788bf20] - n-api: detach external ArrayBuffers on env exit (Anna Henningsen) #30551
  • [8171cef921] - (SEMVER-MINOR) n-api: implement napi_is_detached_arraybuffer (Denys Otrishko) #30613
  • [cc5875b2e6] - n-api: add missed nullptr check in napi_has_own_property (Denys Otrishko) #30626
  • [017280e6e2] - net: replaced vars to lets and consts (nathias) #30401
  • [56248a827a] - process: replace var with let/const (Jesper Ek) #30382
  • [5c40b2f9ac] - process: replace vars in per_thread.js (EmaSuriano) #30385
  • [c50bbf58da] - readline: change var to let (dnlup) #30435
  • [b91d22cc8d] - repl: fix referrer for dynamic import (Corey Farrell) #30609
  • [4e5818a456] - repl: change var to let (Oliver Belaifa) #30428
  • [e65ad865c6] - src: change header file in node_stat_watcher.cc (Reza Fatahi) #29976
  • [be84ceefb8] - src: clean up node_file.h (Anna Henningsen) #30530
  • [bccfd124b0] - src: remove unused variable in node_dir.cc (gengjiawen) #30267
  • [fc11db18fe] - src: inline SetSNICallback (Anna Henningsen) #30548
  • [7bd587ef0c] - src: use BaseObjectPtr to store SNI context (Anna Henningsen) #30548
  • [8ec0d75de7] - src: cleanup unused headers (Alexandre Ferrando) #30328
  • [6c249c0982] - src: run native immediates during Environment cleanup (Anna Henningsen) #30666
  • [bea25016d1] - src: no SetImmediate from destructor in stream_pipe code (Anna Henningsen) #30666
  • [94357db815] - src: add more can_call_into_js() guards (Anna Henningsen) #30666
  • [d54432f974] - src: keep object alive in stream_pipe code (Anna Henningsen) #30666
  • [d194c0ff37] - src: replaced var with let (Aldo Ambrosioni) #30397
  • [44f28ea155] - src: fix -Wsign-compare warnings (cjihrig) #30565
  • [1916acb3cb] - src: fix signal handler crash on close (Shelley Vohr) #30582
  • [9e9e48bf7e] - src: use uv_async_t for WeakRefs (Anna Henningsen) #30616
  • [9d8d2e1f45] - src,doc: fix broken links (cjihrig) #30662
  • [f135c38796] - src,doc: add C++ internals documentation (Anna Henningsen) #30552
  • [e968e26dbd] - stream: improve performance for sync write finishes (Anna Henningsen) #30710
  • [49e047f7a1] - test: add coverage for ERR_TLS_INVALID_PROTOCOL_VERSION (Rich Trott) #30741
  • [81d81a5904] - test: add an indicator isIBMi (Xu Meng) #30714
  • [37c70ee198] - test: use arrow functions in async-hooks tests (garygsc) #30137
  • [b5c7dad95a] - test: fix test-benchmark-streams (Rich Trott) #30757
  • [1e199ceb71] - test: move test-http-max-http-headers to parallel (Rich Trott) #30712
  • [1918b4e84f] - test: correct header length subtraction (Rich Trott) #30712
  • [1222be81e3] - test: remove unused callback argument (Rich Trott) #30712
  • [d69b9b753a] - test: simplify forEach() usage (Rich Trott) #30712
  • [01ab031cca] - test: remove unused callback argument (Rich Trott) #30712
  • [93707c4916] - test: increase coverage for trace_events.js (Rich Trott) #30705
  • [4800b623ed] - test: use arrow functions in addons tests (garygsc) #30131
  • [ba0115fe6f] - test: refactor createHook test (Jeny) #30568
  • [099d3fdf87] - test: port worker + buffer test to N-API (Anna Henningsen) #30551
  • [83861fb333] - test: revert 6d022c13 (Anna Henningsen) #30708
  • [a3b758d634] - test: move test-https-server-consumed-timeout to parallel (Rich Trott) #30677
  • [00f532f15e] - test: remove unnecessary common.platformTimeout() call (Rich Trott) #30677
  • [ecb902f33c] - test: do not skip test-http-server-consumed-timeout (Rich Trott) #30677
  • [49458deb4f] - test: remove unused function argument from http test (Rich Trott) #30677
  • [a2f440d326] - test: add logging in case of infinite loop (Rich Trott) #30649
  • [3e3ad396bd] - test: remove destructuring from test-inspector-contexts (Rich Trott) #30649
  • [3571e132a7] - test: check for session.post() errors in test-insepctor-context (Rich Trott) #30649
  • [37696320a2] - test: add mustCall() to test-inspector-contexts (Rich Trott) #30649
  • [0972fa3c16] - test: add regression test for signal handler removal in exit (Anna Henningsen) #30589
  • [5ecfd947e2] - (SEMVER-MINOR) test: update and harden http2-reset-flood (Denys Otrishko) #30534
  • [70d6fa122a] - test: skip test-domain-error-types in debug mode temporariliy (Rich Trott) #30629
  • [949f2ad528] - test: move test-worker-prof to sequential (Rich Trott) #30628
  • [d4b61709f1] - test: dir class initialisation w/o handler (Dmitriy Kikinskiy) #30313
  • [60b17b4fe6] - test: change object assign by spread operator (poutch) #30438
  • [97e627335f] - test: use useful message argument in test function (Rich Trott) #30618
  • [d651c7dd6b] - test: test for minimum ICU version consistency (Richard Lau) #30608
  • [dade9069c3] - test: code&learn var to let update (Nazar Malyy) #30436
  • [e401e8c8ed] - test: change object assign to spread object (poutch) #30422
  • [2ecc735c48] - test: use spread instead of Object.assign (dnlup) #30419
  • [d8da9dacab] - test: changed var to let in module-errors (Jamar Torres) #30413
  • [9dab32f340] - test: use spread instead of object.assign (Shubham Chaturvedi) #30412
  • [7e7a8165a8] - test: replace var with let in pre_execution.js (Vladimir Adamic) #30411
  • [8a9ee48797] - test: change var to let in test-trace-events (Jon Church) #30406
  • [d6a448825c] - test: dns utils replace var (Osmond van Hemert) #30405
  • [01e0571e94] - test: test cover cases when trace is empty (telenord) #30311
  • [f8dfa2d704] - test: switch to object spread in common/benchmark.js (palmires) #30309
  • [36671f9bf8] - test: add common.mustCall() to stream test (Rich Trott) #30561
  • [106235fe91] - test: move explanatory comment to expected location in file (Rich Trott) #30561
  • [081b4e2496] - test: move stream test to parallel (Rich Trott) #30561
  • [103d01e057] - test: remove string literal as message in strictEqual() in stream test (Rich Trott) #30561
  • [ebba3228e2] - test: use arrow function for callback in stream test (Rich Trott) #30561
  • [e122d397c0] - test: replace setTimeout with setImmediate in stream test (Rich Trott) #30561
  • [20ee4997f3] - test: refactor test-dgram-multicast-set-interface-lo.js (Taylor Gagne) #30536
  • [7aa1df7076] - tls: introduce ERR_TLS_INVALID_CONTEXT (Rich Trott) #30718
  • [0b0f0237c1] - tls: add memory tracking support to SSLWrap (Anna Henningsen) #30548
  • [89e2c71b27] - tls: allow empty subject even with altNames defined (Jason Macgowan) #22906
  • [941a91daed] - tools: enforce blank line between functions (Rich Trott) #30696
  • [5a6f836a15] - tools: add unified plugin changing links for html docs (Marek Łabuz) #29946
  • [84f7b5c752] - tools: enable more eslint rules (cjihrig) #30598
  • [5522467cf5] - tools: update ESLint to 6.7.1 (cjihrig) #30598
  • [1f10681496] - tty: truecolor check moved before 256 check (Duncan Healy) #30474
  • [6a0dd1cbbd] - util: fix .format() not always calling toString when it should be (Ruben Bridgewater) #30343
  • [1040e7222f] - util: fix inspection of errors with tampered name or stack property (Ruben Bridgewater) #30576
  • [18e9b56bf6] - util: use let instead of var for util/inspect.js (Luciano) #30399
  • [9ec53cf5c1] - (SEMVER-MINOR) wasi: introduce initial WASI support (cjihrig) #30258

New in Node.js 13.2.0 (Dec 4, 2019)

  • Notable Changes:
  • addons:
  • Deprecate one- and two-argument AtExit(). Use the three-argument variant of AtExit() or AddEnvironmentCleanupHook() instead (Anna Henningsen) #30227
  • child_process,cluster:
  • The serialization option is added that allows child process IPC to use the V8 serialization API (to e.g., pass through data types like sets or maps) (Anna Henningsen) #30162
  • deps:
  • Update V8 to 7.9
  • Update npm to 6.13.1 (Ruy Adorno) #30271
  • embedder:
  • Exposes the ability to pass cli flags / options through an API as embedder (Shelley Vohr) #30466
  • Allow adding linked bindings to Environment (Anna Henningsen) #30274
  • esm:
  • Unflag --experimental-modules (Guy Bedford) #29866
  • stream:
  • Add writable.writableCorked property (Robert Nagy) #29012
  • worker:
  • Allow specifying resource limits (Anna Henningsen) #26628
  • v8:
  • The Serialization API is now stable (Anna Henningsen) #30234
  • Commits:
  • [b76c13ec86] - assert: replace var with let in lib/assert.js (PerfectPan) #30261
  • [7f49816e8a] - benchmark: use let instead of var in async_hooks (dnlup) #30470
  • [0130d2b6e0] - benchmark: use let instead of var in assert (dnlup) #30450
  • [9cae205f4d] - buffer: change var to let (Vladislav Botvin) #30292
  • [b5198cd3b0] - (SEMVER-MINOR) build: reset embedder string to "-node.0" (Michaël Zasso) #30513
  • [f4f210adc1] - build: store cache on timed out builds on Travis (Richard Lau) #30469
  • [277e5fadf8] - (SEMVER-MINOR) build,tools: update V8 gypfiles for V8 7.9 (Michaël Zasso) #30020
  • [e51beef8d4] - (SEMVER-MINOR) child_process,cluster: allow using V8 serialization API (Anna Henningsen) #30162
  • [6bf0e40bad] - cluster: destruct primordials in lib/internal/cluster/worker.js (peze) #30246
  • [18ec8a84be] - (SEMVER-MINOR) crypto: add support for IEEE-P1363 DSA signatures (Tobias Nießen) #29292
  • [39d0a25ddd] - crypto: fix key requirements in asymmetric cipher (Tobias Nießen) #30249
  • [8c2e2ce6bf] - crypto: update root certificates (AshCripps) #30195
  • [4f282f52f0] - deps: patch V8 to 7.9.317.23 (Myles Borins) #30560
  • [9b71534d23] - deps: upgrade npm to 6.13.1 (claudiahdz) #30533
  • [f17c794faf] - (SEMVER-MINOR) deps: patch V8 to be API/ABI compatible with 7.8 (from 7.9) (Michaël Zasso) #30513
  • [5a1ad570ea] - deps: V8: cherry-pick a7dffcd767be (Christian Clauss) #30218
  • [2c6cf902b0] - (SEMVER-MINOR) deps: V8: cherry-pick 50031fae736f (Michaël Zasso) #30020
  • [1e5e8c3922] - deps: V8: cherry-pick e5dbc95 (Gabriel Schulhof) #30130
  • [9c356ba91c] - (SEMVER-MINOR) deps: V8: backport 5e755c6ee6d3 (Michaël Zasso) #30020
  • [fe99841c88] - (SEMVER-MINOR) deps: V8: backport 07ee86a5a28b (Michaël Zasso) #30020
  • [5131bbe477] - (SEMVER-MINOR) deps: V8: cherry-pick 777fa98 (Michaël Zasso) #30020
  • [824e8b6f9b] - (SEMVER-MINOR) deps: V8: cherry-pick 7228ef8 (Michaël Zasso) #30020
  • [4c7acc256a] - (SEMVER-MINOR) deps: V8: cherry-pick 6b0a953 (Michaël Zasso) #30020
  • [ebef1b2308] - (SEMVER-MINOR) deps: V8: cherry-pick bba5f1f (Michaël Zasso) #30020
  • [28ca44c724] - (SEMVER-MINOR) deps: V8: cherry-pick cfe9172 (Michaël Zasso) #30020
  • [ba4abfd198] - (SEMVER-MINOR) deps: V8: cherry-pick 3e82c8d (Michaël Zasso) #30020
  • [2abdcbbe5e] - (SEMVER-MINOR) deps: V8: cherry-pick f2d92ec (Michaël Zasso) #30020
  • [46383616e3] - (SEMVER-MINOR) deps: make v8.h compatible with VS2015 (Joao Reis) #30020
  • [5bc35732aa] - (SEMVER-MINOR) deps: V8: forward declaration of Rtl*FunctionTable (Refael Ackermann) #27375
  • [627a804627] - (SEMVER-MINOR) deps: V8: patch register-arm64.h (Refael Ackermann) #27375
  • [13e6b0b82a] - (SEMVER-MINOR) deps: update V8's postmortem script (Colin Ihrig) #30020
  • [a4a6565348] - (SEMVER-MINOR) deps: update V8's postmortem script (Colin Ihrig) #29694
  • [4182e3bad7] - (SEMVER-MINOR) deps: patch V8 to run on older XCode versions (Ujjwal Sharma) #29694
  • [6566c15157] - (SEMVER-MINOR) deps: V8: silence irrelevant warnings (Michaël Zasso) #26685
  • [6018db2ef9] - (SEMVER-MINOR) deps: V8: un-cherry-pick bd019bd (Refael Ackermann) #26685
  • [605cb9f0fc] - (SEMVER-MINOR) deps: update V8 to 7.9.317.22 (Michaël Zasso) #30513
  • [b82f63d9ca] - deps: update nghttp2 to 1.40.0 (gengjiawen) #30493
  • [401d2e9115] - deps: update npm to 6.13.0 (Ruy Adorno) #30271
  • [f8ee70c94d] - dgram: remove listeners on bind error (Anna Henningsen) #30210
  • [0433d7995a] - dgram: reset bind state before emitting error (Anna Henningsen) #30210
  • [0f8662d615] - dns: switch var to const/let (Dmitriy Kikinskiy) #30302
  • [ab887bd5f6] - doc: add mention for using promisify on class methods (Denys Otrishko) #30355
  • [9940116aba] - doc: explain GIT_REMOTE_REF in COLLABORATOR_GUIDE (Denys Otrishko) #30371
  • [027bde563d] - doc: fix overriding of prefix option (Luigi Pinca) #30518
  • [b7757533bc] - doc: update http.md mention of socket (Jesse O'Connor) #30155
  • [7f664e454b] - doc: adds NO_COLOR to assert doc page (Shobhit Chittora) #30483
  • [fba2f9a3d6] - doc: document timed out Travis CI builds (Richard Lau) #30469
  • [c40e242b32] - doc: replace const / var with let (Duncan Healy) #30446
  • [a93345b7cd] - doc: update outdated commonjs compat info (Geoffrey Booth) #30512
  • [b590533253] - doc: esm: improve dual package hazard docs (Geoffrey Booth) #30345
  • [d631a0a3e4] - doc: update 8.x to 10.x in backporting guide (garygsc) #30481
  • [7e603bed52] - doc: createRequire can take import.meta.url directly (Geoffrey Booth) #30495
  • [e4a296ce8d] - doc: add entry to url.parse() changes metadata (Luigi Pinca) #30348
  • [64cf00b0b9] - doc: simplify text in pull-requests.md (Rich Trott) #30458
  • [1e2672012f] - doc: remove "multiple variants" from BUILDING.md (Rich Trott) #30366
  • [2d16a74ff9] - doc: remove "maintenance is supported by" text in BUILDING.md (Rich Trott) #30365
  • [c832565290] - doc: add lookup to http.request() options (Luigi Pinca) #30353
  • [b8afe57e85] - doc: fix up N-API doc (Michael Dawson) #30254
  • [b558d941bd] - doc: fix some recent doc nits (vsemozhetbyt) #30341
  • [1133981eac] - doc: add link to node-code-ide-configs in testing (Trivikram Kamat) #24012
  • [041f3a306e] - doc: update divergent specifier hazard guidance (Geoffrey Booth) #30051
  • [085af30361] - doc: include --experimental-resolve-self in manpage (Guy Bedford) #29978
  • [31a3b724f0] - doc: update GOVERNANCE.md (Rich Trott) #30259
  • [15a7032d44] - doc: move inactive Collaborators to emeriti (Rich Trott) #30243
  • [fabc489dba] - doc: update examples in writing-tests.md (garygsc) #30126
  • [1836eae7a6] - doc, console: remove non-existant methods from docs (Simon Schick) #30346
  • [7ad2e024dd] - doc,meta: allow Travis results for doc/comment changes (Rich Trott) #30330
  • [2deea28070] - doc,meta: remove wait period for npm pull requests (Rich Trott) #30329
  • [7e0f90e286] - domain: rename var to let and const (Maria Stogova) #30312
  • [c2c74fc93e] - encoding: make TextDecoder handle BOM correctly (Anna Henningsen) #30132
  • [f9eab48dd0] - esm: disable non-js exts outside package scopes (Guy Bedford) #30501
  • [3d8cdf191d] - esm: unflag --experimental-modules (Guy Bedford) #29866
  • [293e8a2384] - esm: exit the process with an error if loader has an issue (Michaël Zasso) #30219
  • [45fd44c6ec] - fs: change var to let (Nadya) #30318
  • [bb6f944607] - fs: add noop stub for FSWatcher.prototype.start (Lucas Holmquist) #30160
  • [4fe62c1620] - http: revise _http_server.js (telenord) #30279
  • [62e15a793a] - http: outgoing cork (Robert Nagy) #29053
  • [50f9476a44] - http: http_common rename var to let and const (telenord) #30288
  • [b8aceace95] - http: http_incoming rename var to let and const (telenord) #30285
  • [a37ade8648] - http: replace vars with lets and consts in lib/_http_agent.js (palmires) #30301
  • [e59cc8aad8] - http,async_hooks: keep resource object alive from socket (Anna Henningsen) #30196
  • [1b84175924] - http2: remove duplicated assertIsObject (Yongsheng Zhang) #30541
  • [666588143e] - http2: use custom BaseObject smart pointers (Anna Henningsen) #30374
  • [f25b00aaca] - (SEMVER-MINOR) https: add client support for TLS keylog events (Sam Roberts) #30053
  • [88da3af6f6] - https: change var to let in lib/https.js (galina.prokofeva) #30320
  • [f15a3b0281] - lib: replace var with let (David OLIVIER) #30381
  • [31a63ab1ec] - lib: replace var with let and const in readline.js (VinceOPS) #30377
  • [3eeeea419d] - lib: change var to let/const in internal/querystring.js (Artem Maksimov) #30286
  • [f10608655b] - lib: change var to let in internal/streams (Kyriakos Markakis) #30430
  • [3ce6e15844] - lib: replace var with let/const (Kenza Houmani) #30440
  • [d37d340472] - lib: change var to let in string_decoder (mkdorff) #30393
  • [9a1c16eda4] - lib: replaced var to let in lib/v8.js (Vadim Gorbachev) #30305
  • [3e4a6a5968] - lib: change var to let in lib/_stream_duplex.js (Ilia Safronov) #30297
  • [c7c566023f] - module: reduce circular dependency of internal/modules/cjs/loader (Joyee Cheung) #30349
  • [e98d89cef9] - module: conditional exports with flagged conditions (Guy Bedford) #29978
  • [caedcd9ef9] - module: fix for empty object in InternalModuleReadJSON (Guy Bedford) #30256
  • [66e1adf200] - net: destructure primordials (Guilherme Goncalves) #30447
  • [9230ffffd0] - net: replaced vars to lets and consts (alexahdp) #30287
  • [9248c8b960] - path: replace var with let in lib/path.js (peze) #30260
  • [e363f8e17f] - process: add coverage tests for sourceMapFromDataUrl method (Nolik) #30319
  • [7b4187413e] - process: make source map getter resistant against prototype tampering (Anna Henningsen) #30228
  • [183464a24d] - querystring: replace var with let/const (Raoul Jaeckel) #30429
  • [7188b9599d] - src: fix -Winconsistent-missing-override warning (Colin Ihrig) #30549
  • [966404fd24] - src: add file name to 'Module did not self-register' error (Jeremy Apthorp) #30125
  • [21dd6019ec] - (SEMVER-MINOR) src: expose ArrayBuffer version of Buffer::New() (Anna Henningsen) #30476
  • [2e43686c5a] - src: mark ArrayBuffers with free callbacks as untransferable (Anna Henningsen) #30475
  • [564c18e214] - src: remove HandleWrap instances from list once closed (Anna Henningsen) #30374
  • [4222f2400a] - src: remove keep alive option from SetImmediate() (Anna Henningsen) #30374
  • [940a2972b2] - src: use BaseObjectPtr for keeping channel alive in dns bindings (Anna Henningsen) #30374
  • [a2dbadc1ce] - src: introduce custom smart pointers for BaseObjects (Anna Henningsen) #30374
  • [1a92c88418] - src: migrate off ArrayBuffer::GetContents (Anna Henningsen) #30339
  • [0d5de1a20e] - (SEMVER-MINOR) src: remove custom tracking for SharedArrayBuffers (Anna Henningsen) #30020
  • [f0ff2ed9d5] - (SEMVER-MINOR) src: update v8abbr.h for V8 update (Colin Ihrig) #30020
  • [2c8276eda8] - (SEMVER-MINOR) src: expose ability to set options (Shelley Vohr) #30466
  • [592d51cb23] - src: enhance feature access CHECKs during bootstrap (Anna Henningsen) #30452
  • [d648c933b5] - src: lib/internal/timers.js var -> let/const (Nikolay Krashnikov) #30314
  • [70ad676023] - src: persist strings that are used multiple times in the environment (Vadim Gorbachev) #30321
  • [b744070d74] - (SEMVER-MINOR) src: allow adding linked bindings to Environment (Anna Henningsen) #30274
  • [058a8d5363] - src: do not use std::function for OnScopeLeave (Anna Henningsen) #30134
  • [906d279e69] - src: run RunBeforeExitCallbacks as part of EmitBeforeExit (Anna Henningsen) #30229
  • [66b3619b4e] - src: use unique_ptr for InitializeInspector() (Anna Henningsen) #30229
  • [db7deb6e7a] - src: make WaitForInspectorDisconnect an exit hook (Anna Henningsen) #30229
  • [cd233e3f16] - src: make EndStartedProfilers an exit hook (Anna Henningsen) #30229
  • [8234d04b56] - src: track no of active JS signal handlers (Anna Henningsen) #30229
  • [0072a8eddf] - src: remove AsyncScope and AsyncCallbackScope (Anna Henningsen) #30236
  • [e3371f0c93] - src: use callback scope for main script (Anna Henningsen) #30236
  • [cd6d6215cc] - (SEMVER-MINOR) src: deprecate two- and one-argument AtExit() (Anna Henningsen) #30227
  • [5f4535a97c] - src: make AtExit() callbacks run in reverse order (Anna Henningsen) #30230
  • [44968f0edc] - src: remove unimplemented method from node.h (Anna Henningsen) #30098
  • [4524c7ad36] - stream: replace var with let (daern91) #30379
  • [41720d78c9] - stream: add writableCorked to Duplex (Anna Henningsen) #29053
  • [7cbdac9a71] - stream: increase MAX_HWM (Robert Nagy) #29938
  • [c254d7469d] - (SEMVER-MINOR) stream: add writableCorked property (Robert Nagy) #29012
  • [cb9c64a6e0] - test: move test not requiring internet from internet to parallel (Rich Trott) #30545
  • [902c6702df] - test: use reserved .invalid TLD for invalid address in test (Rich Trott) #30545
  • [92f766bd83] - test: improve assertion message in internet dgram test (Rich Trott) #30545
  • [a5f25ecf07] - test: cover 'close' method in Dir class (Artem Maksimov) #30310
  • [45e57303f3] - test: add test for options validation of createServer (Yongsheng Zhang) #30541
  • [6be03981b2] - test: clean up http-set-trailers (Denys Otrishko) #30522
  • [2952c5d72b] - (SEMVER-MINOR) test: increase limit again for network space overhead test (Michaël Zasso) #30020
  • [4131b14011] - (SEMVER-MINOR) test: update test-postmortem-metadata.js (Colin Ihrig) #30020
  • [c464ede598] - test: handle undefined default_configuration (Shelley Vohr) #30465
  • [5ec550de02] - test: Change from var to const (Jure Stepisnik) #30431
  • [13bac0ac0f] - test: changed var to let in test-repl-editor (JL Phillips) #30443
  • [0d12e9cc29] - test: improve test-fs-open (Artem Maksimov) #30280
  • [89bc2526ab] - test: change var to let (nathias) #30444
  • [fa071efea4] - test: changed var to const in test (Kerry Mahne) #30434
  • [13a22432fc] - test: var to const in test-repl-multiline.js (SoulMonk) #30433
  • [109da52141] - test: deflake test-http-dump-req-when-res-ends.js (Luigi Pinca) #30360
  • [72bbd5cdb0] - test: change var to const in parallel/test-stream-transform-final* (Kenza Houmani) #30448
  • [cd82e4d9d8] - test: replace Object.assign with object spread (Grigoriy Levanov) #30306
  • [aec695eb6c] - test: fix Python unittests in ./test and ./tools (Christian Clauss) #30340
  • [ea0c1a67c5] - test: mark test-http-dump-req-when-res-ends as flaky on windows (AshCripps) #30316
  • [308f5e4710] - test: fix test-benchmark-cluster (Rich Trott) #30342
  • [bb0727a132] - test: do not run release-npm test without crypto (Michaël Zasso) #30265
  • [ab5bca379f] - test: remove AtExit() addon test (Anna Henningsen) #30275
  • [de68720908] - test: deflake test-tls-close-notify.js (Luigi Pinca) #30202
  • [8fe684961b] - Revert "test: test configure ninja" (Anna Henningsen) #30295
  • [0dedecc7e0] - test: test configure ninja (Patrick Housley) #30033
  • [01fa18c99c] - (SEMVER-MINOR) tls: cli option to enable TLS key logging to file (Sam Roberts) #30055
  • [5869f2bee7] - tls: change loop var to let (Xavier Redondo) #30445
  • [26a9bdfca3] - tls: replace var with let (Daniil Pletnev) #30308
  • [bad0b66580] - tls: replace var with let and const (Nolik) #30299
  • [ae5aa3ee83] - tls: refactor tls_wrap.cc (Artem Maksimov) #30303
  • [80b1717c0f] - tools: fix build at non-English windows (Rongjian Zhang) #30492
  • [642b0b883f] - tools: update tzdata to 2019c (Albert Wang) #30356
  • [3a44adebf8] - tools: pull xcode_emulation.py from node-gyp (Christian Clauss) #30272
  • [92fa4e0096] - tools: make doctool work if no internet available (Richard Lau) #30214
  • [0f9f18aabe] - tools: update certdata.txt (AshCripps) #30195
  • [dbdc3818e0] - tools: check-imports using utf-8 (Christian Clauss) #30220
  • [3b45f8fd9c] - url: replace var with let in lib/url.js (xefimx) #30281
  • [35dc84859f] - util: replace var with let (Susana Ferreira) #30439
  • [3727a6572b] - v8: mark serdes API as stable (Anna Henningsen) #30234
  • [9b11bdb001] - v8: inspect unserializable objects (Anna Henningsen) #30167
  • [2ec40c265a] - (SEMVER-MINOR) worker: allow specifying resource limits (Anna Henningsen) #26628

New in Node.js 13.1.0 (Nov 6, 2019)

  • Notable Changes:
  • cli:
  • Added a new flag (--trace-uncaught) that makes Node.js print the stack trace at the time of throwing uncaught exceptions, rather than at the creation of the Error object, if there is any. This is disabled by default because it affects GC behavior (Anna Henningsen) #30025.
  • crypto:
  • Added Hash.prototype.copy() method. It returns a new Hash object with its internal state cloned from the original one (Ben Noordhuis) #29910.
  • dgram:
  • Added source-specific multicast support. This adds methods to Datagram sockets to support RFC 4607 for IPv4 and IPv6 (Lucas Pardue) #15735.
  • fs:
  • Added a bufferSize option to fs.opendir(). It allows to control the number of entries that are buffered internally when reading from the directory (Anna Henningsen) #30114.
  • meta:
  • Added Chengzhong Wu to collaborators #30115.
  • Commits:
  • [445837851b] - async_hooks: only emit after for AsyncResource if stack not empty (Anna Henningsen) #30087
  • [8860bd68b6] - buffer: improve performance caused by primordials (Jizu Sun) #30235
  • [1bded9841c] - build: fix detection of Visual Studio 2017 (Richard Lau) #30119
  • [49e7f042f9] - build: add workaround for WSL (gengjiawen) #30221
  • [03827ddf38] - build: allow Python 3.8 (Michaël Zasso) #30194
  • [54698113c0] - build: find Python syntax errors in dependencies (Christian Clauss) #30143
  • [b255688d5f] - build: fix pkg-config search for libnghttp2 (Ben Noordhuis) #30145
  • [8980d8c25f] - build: vcbuild uses default Python, not Py2 (João Reis) #30091
  • [cedad02406] - build: prefer python 3 over 2 for configure (Sam Roberts) #30091
  • [5ba842b8f9] - build: python3 support for configure (Rod Vagg) #30047
  • [d05f67caef] - cli: whitelist new V8 flag in NODE_OPTIONS (Shelley Vohr) #30094
  • [5ca58646c1] - (SEMVER-MINOR) cli: add --trace-uncaught flag (Anna Henningsen) #30025
  • [8b75aabee9] - crypto: guard with OPENSSL_NO_GOST (Shelley Vohr) #30050
  • [1d03df4c5e] - (SEMVER-MINOR) crypto: add Hash.prototype.copy() method (Ben Noordhuis) #29910
  • [46c9194ec8] - deps: V8: cherry-pick a7dffcd767be (Christian Clauss) #30218
  • [104bfb9a38] - deps: V8: cherry-pick e5dbc95 (Gabriel Schulhof) #30130
  • [e3124481c2] - deps: update npm to 6.12.1 (Michael Perrotte) #30164
  • [f3d00c594d] - deps: V8: backport 777fa98 (Michaël Zasso) #30062
  • [1cfa98c23e] - deps: V8: cherry-pick c721203 (Michaël Zasso) #30065
  • [0d9ae1b8f6] - deps: V8: cherry-pick ed40ab1 (Michaël Zasso) #30064
  • [a63f7e73c4] - (SEMVER-MINOR) dgram: add source-specific multicast support (Lucas Pardue) #15735
  • [fc407bb555] - doc: add missing hash for header link (Nick Schonning) #30188
  • [201a60e6ba] - doc: linkify .setupMaster() in cluster doc (Trivikram Kamat) #30204
  • [b7070f315f] - doc: explain http2 aborted event callback (dev-313) #30179
  • [f8fb2c06c5] - doc: linkify .fork() in cluster documentation (Anna Henningsen) #30163
  • [ae81360214] - doc: update AUTHORS list (Michaël Zasso) #30142
  • [1499a72a1f] - doc: improve doc Http2Session:Timeout (dev-313) #30161
  • [3709b5cc7e] - doc: move inactive Collaborators to emeriti (Rich Trott) #30177
  • [a48d17900b] - doc: add options description for send APIs (dev-313) #29868
  • [dfb4a24695] - doc: fix an error in resolution algorithm steps (Alex Zherdev) #29940
  • [403a648a16] - doc: fix numbering in require algorithm (Jan Krems) #30117
  • [e4ab6fced1] - doc: remove incorrect and outdated example (Tobias Nießen) #30138
  • [3c23224a76] - doc: adjust code sample for stream.finished (Cotton Hou) #29983
  • [d91d270416] - doc: claim NODE_MODULE_VERSION=80 for Electron 9 (Samuel Attard) #30052
  • [621eaf9ed5] - doc: remove "it is important to" phrasing (Rich Trott) #30108
  • [9a71091098] - doc: revise os.md (Rich Trott) #30102
  • [381c6cd0d2] - doc: delete "a number of" things in the docs (Rich Trott) #30103
  • [45c70a9793] - doc: remove dashes (Rich Trott) #30101
  • [ea9d125536] - doc: add legendecas to collaborators (legendecas) #30115
  • [39070bbed0] - doc: make YAML matter consistent in crypto.md (Rich Trott) #30016
  • [978946e38b] - doc,meta: prefer aliases and stubs over Runtime Deprecations (Rich Trott) #30153
  • [32a538901f] - doc,n-api: sort bottom-of-the-page references (Gabriel Schulhof) #30124
  • [07b5584a3f] - (SEMVER-MINOR) fs: add bufferSize option to fs.opendir() (Anna Henningsen) #30114
  • [2505f678ef] - http: support readable hwm in IncomingMessage (Colin Ihrig) #30135
  • [f01c5c51b0] - inspector: turn platform tasks that outlive Agent into no-ops (Anna Henningsen) #30031
  • [050efebf24] - meta: use contact_links instead of issue templates (Michaël Zasso) #30172
  • [edfbee3727] - module: resolve self-references (Jan Krems) #29327
  • [93b1bb8cb5] - n-api,doc: add info about building n-api addons (Jim Schlight) #30032
  • [cc1cd2b3c5] - src: isolate->Dispose() order consistency (Shelley Vohr) #30181
  • [a0df91cce1] - (SEMVER-MINOR) src: expose granular SetIsolateUpForNode (Shelley Vohr) #30150
  • [ec7b69ff05] - src: change env.h includes for forward declarations (Alexandre Ferrando) #30133
  • [98c8f76dd1] - src: split up InitializeContext (Shelley Vohr) #30067
  • [d78e3176dd] - src: fix crash with SyntheticModule#setExport (Michaël Zasso) #30062
  • [fd0aded233] - src: allow inspector without v8 platform (Shelley Vohr) #30049
  • [87f14e13b3] - stream: extract Readable.from in its own file (Matteo Collina) #30140
  • [1d9f4278dd] - test: use arrow functions for callbacks (Minuk Park) #30069
  • [a03809d7dd] - test: verify npm compatibility with releases (Michaël Zasso) #30082
  • [68e4b5a1fc] - tools: fix Python 3 deprecation warning in test.py (Loris Zinsou) #30208
  • [348ec693ac] - tools: fix Python 3 syntax error in mac_tool.py (Christian Clauss) #30146
  • [e2fb353df3] - tools: use print() function in buildbot_run.py (Christian Clauss) #30148
  • [bcbcce5983] - tools: undefined name opts -> args in gyptest.py (Christian Clauss) #30144
  • [14981f5bba] - tools: git rm -r tools/v8_gypfiles/broken (Christian Clauss) #30149
  • [d549a34597] - tools: update ESLint to 6.6.0 (Colin Ihrig) #30123
  • [a3757546e8] - tools: doc: improve async workflow of generate.js (Theotime Poisseau) #30106

New in Node.js 12.12.0 (Oct 14, 2019)

  • Notable changes:
  • build:
  • Add --force-context-aware flag to prevent usage of native node addons that aren't context aware #29631
  • deprecations:
  • Add documentation-only deprecation for process._tickCallback() #29781
  • esm:
  • Using JSON modules is experimental again #29754
  • fs:
  • Introduce opendir() and fs.Dir to iterate through directories #29349
  • process:
  • Add source-map support to stack traces by using --source-map-support#29564
  • tls:
  • Honor pauseOnConnect option #29635
  • Add option for private keys for OpenSSL engines #28973
  • Commits:
  • [d09f2b4170] - build: build docs on Travis (Richard Lau) #29783
  • [03ec4cea30] - build: do not link against librt on linux (Sam Roberts) #29727
  • [f91778d2c7] - build: remove unused libatomic on ppc64, s390x (Sam Roberts) #29727
  • [ab4c53e0ef] - crypto: remove arbitrary UTF16 restriction (Anna Henningsen) #29795
  • [75f3b28d67] - crypto: refactor array buffer view validation (Ruben Bridgewater) #29683
  • [5eb013b854] - deps: update archs files for OpenSSL-1.1.1 (Sam Roberts) #29550
  • [1766cfcb9e] - deps: upgrade openssl sources to 1.1.1d (Sam Roberts) #29550
  • [3d88b76680] - deps: patch V8 to 7.7.299.13 (Michaël Zasso) #29869
  • [600478ac13] - dgram: use uv_udp_try_send() (Anna Henningsen) #29832
  • [ea6b6abb91] - doc: remove spaces inside code span elements (Nick Schonning) #29329
  • [20b9ef92d1] - doc: add more info to fs.Dir and fix typos (Jeremiah Senkpiel) #29890
  • [f566cd5801] - doc: remove misleading paragraph about the Legacy URL API (Jakob Krigovsky) #29844
  • [a5c2154534] - doc: add explicit bracket for markdown reference links (Nick Schonning) #29808
  • [ea9bf4a666] - doc: implement minor CSS improvements (XhmikosR) #29669
  • [a0498606a0] - doc: fix return type for crypto.createDiffieHellmanGroup() (exoego) #29696
  • [a00cd17b9e] - doc: reuse link indexes for n-api.md (legendecas) #29787
  • [aea0253697] - doc: unify place of stability notes (Vse Mozhet Byt) #29799
  • [8b4f210bf5] - doc: add missing deprecation code (cjihrig) #29820
  • [bede98128f] - doc: remove reference to stale CITGM job (Michael Dawson) #29774
  • [014eb67117] - (SEMVER-MINOR) doc: add documentation deprecation for process._tickCallback (Lucas Holmquist) #29781
  • [62370efe7e] - doc: add dash between SHA and PR in changelog (Nick Schonning) #29558
  • [d1a4aa3ca2] - doc: add missing reference link values (Nick Schonning) #29558
  • [de4652f55e] - doc: convert old changlogs SHA links to match newer format (Nick Schonning) #29558
  • [60b1f6f303] - doc: complete cut off links in old changelog (Nick Schonning) #29558
  • [906245e1a4] - doc: clarify --pending-deprecation effects on Buffer() usage (Rich Trott) #29769
  • [401f3e7235] - doc: fix nits in dgram.md (Vse Mozhet Byt) #29761
  • [bc48646206] - doc: improve process.ppid 'added in' info (Thomas Watson) #29772
  • [0b46bcaaa5] - doc: security maintenance processes (Sam Roberts) #29685
  • [f39259c079] - doc: remove redundant escape (XhmikosR) #29716
  • [87fb1c297a] - errors: make sure all Node.js errors show their properties (Ruben Bridgewater) #29677
  • [df218ce066] - Revert "esm: remove experimental status from JSON modules" (Guy Bedford) #29754
  • [e7f604f495] - esm: remove proxy for builtin exports (Bradley Farias) #29737
  • [c56f765cf6] - fs: remove options.encoding from Dir.read*() (Jeremiah Senkpiel) #29908
  • [b76a2e502c] - (SEMVER-MINOR) fs: introduce opendir() and fs.Dir (Jeremiah Senkpiel) #29349
  • [2bcde8309c] - (SEMVER-MINOR) http2: allow passing FileHandle to respondWithFD (Anna Henningsen) #29876
  • [a240d45d1a] - http2: support passing options of http2.connect to net.connect (ZYSzys) #29816
  • [3f153789b5] - http2: set default maxConcurrentStreams (ZYSzys) #29833
  • [6a989da6a0] - http2: use the latest settings (ZYSzys) #29780
  • [b2cce13235] - inspector: update faviconUrl (dokugo) #29562
  • [60296a3612] - lib: make tick processor detect xcodebuild errors (Ben Noordhuis) #29830
  • [9e5d691ee4] - lib: introduce no-mixed-operators eslint rule to lib (ZYSzys) #29834
  • [74a69abd12] - lib: stop using prepareStackTrace (Gus Caplan) #29777
  • [90562ae356] - module: use v8 synthetic modules (Guy Bedford) #29846
  • [20896f74d6] - n-api,doc: clarify napi_finalize related APIs (legendecas) #29797
  • [65c475269e] - net: emit close on unconnected socket (Robert Nagy) #29803
  • [ae8b2b4ab7] - (SEMVER-MINOR) process: add source-map support to stack traces (bcoe) #29564
  • [3f6ce39acf] - src: fix ESM path resolution on Windows (Thomas) #29574
  • [6bfe8f47fa] - (SEMVER-MINOR) src: add buildflag to force context-aware addons (Shelley Vohr) #29631
  • [6c75cc1b11] - stream: do not deadlock duplexpair (Robert Nagy) #29836
  • [320f649539] - stream: add comment about undocumented API (Robert Nagy) #29805
  • [5fdf4a474f] - test: remove extra process.exit() (cjihrig) #29873
  • [6a5d401f30] - test: remove spaces inside code span elements (Nick Schonning) #29329
  • [adee99883a] - test: debug output for dlopen-ping-pong test (Sam Roberts) #29818
  • [b309e20661] - test: add test for HTTP server response with Connection: close (Austin Wright) #29836
  • [bf1727a3f3] - test: add test for writable.write() argument types (Robert Nagy) #29746
  • [3153dd6766] - test: well-defined DH groups now verify clean (Sam Roberts) #29550
  • [690a863aaa] - test: simplify force-context-aware test (cjihrig) #29705
  • [54ef0fd010] - (SEMVER-MINOR) test: --force-context-aware cli flag (Shelley Vohr) #29631
  • [a7b56a5b01] - (SEMVER-MINOR) tls: honor pauseOnConnect option (Robert Jensen) #29635
  • [cf7b4056ca] - (SEMVER-MINOR) tls: add option for private keys for OpenSSL engines (Anton Gerasimov) #28973
  • [ba4946a520] - tools: prohibit Error.prepareStackTrace() usage (Ruben Bridgewater) #29827
  • [79f6cd3606] - tools: update ESLint to v6.5.1 (Rich Trott) #29785
  • [6d88f0fef7] - vm: refactor SourceTextModule (Gus Caplan) #29776
  • [a7113048e3] - worker: do not use two-arg NewIsolate (Shelley Vohr) #29850

New in Node.js 12.11.1 (Oct 3, 2019)

  • This release fixes a regression that prevented from building Node.js using the official source tarball (Richard Lau)

New in Node.js 12.10.0 (Sep 5, 2019)

  • Notable changes:
  • deps:
  • Update npm to 6.10.3 (isaacs) #29023
  • fs:
  • Add recursive option to rmdir() (cjihrig) #29168
  • Allow passing true to emitClose option (Giorgos Ntemiris) #29212
  • Add *timeNs properties to BigInt Stats objects (Joyee Cheung) #21387
  • net:
  • Allow reading data into a static buffer (Brian White) #25436
  • Commits:
  • [293c9f0d75] - bootstrap: run preload prior to frozen-intrinsics (Bradley Farias) #28940
  • [71aaf590c1] - buffer: correct indexOf() error message (Brian White) #29217
  • [c900762fe4] - buffer: consolidate encoding parsing (Brian White) #29217
  • [054407511e] - buffer: correct concat() error message (Brian White) #29198
  • [35bca312ed] - buffer: improve equals() performance (Brian White) #29199
  • [449f1fd578] - Revert "build: add full Python 3 tests to Travis CI" (Ben Noordhuis) #29406
  • [256da1fdb3] - build: add full Python 3 tests to Travis CI (cclauss) #29360
  • [0c4df35db0] - build: hard code doctool in test-doc target (Daniel Bevenius) #29375
  • [d6b6a0578b] - build: integrate DragonFlyBSD into gyp build (David Carlier) #29313
  • [6a914ed36e] - build: make --without-snapshot imply --without-node-snapshot (Joyee Cheung) #29294
  • [def5c3e5d8] - build: test Python 3.6 and 3.7 on Travis CI (cclauss) #29291
  • [feafc019b1] - build: move tooltest to before jstest target (Daniel Bevenius) #29220
  • [aeafb91e2c] - build: add Python 3 tests to Travis CI (cclauss) #29196
  • [bb6e3b5404] - build,win: accept Python 3 if 2 is not available (João Reis) #29236
  • [dce5649d9c] - build,win: find Python in paths with spaces (João Reis) #29236
  • [2489682eb5] - console: use getStringWidth() for character width calculation (Anna Henningsen) #29300
  • [5c3e49d84e] - crypto: don't expose openssl internals (Shelley Vohr) #29325
  • [e0537e6978] - crypto: simplify DSA validation in FIPS mode (Tobias Nießen) #29195
  • [28ffc9f599] - deps: V8: cherry-pick 597f885 (Benjamin Coe) #29367
  • [219c19530e] - (SEMVER-MINOR) deps: update npm to 6.10.3 (isaacs) #29023
  • [4a7c4b7366] - doc: escape elements swallowed as HTML in markdown (Nick Schonning) #29374
  • [5a16449edf] - doc: add extends for derived classes (Kamat, Trivikram) #29290
  • [3fc29b8f9a] - doc: add blanks around code fences (Nick Schonning) #29366
  • [187d08be65] - doc: format http2 anchor link and reference (Nick Schonning) #29362
  • [6734782f25] - doc: remove multiple consecutive blank lines (Nick Schonning) #29352
  • [a94afedc9b] - doc: add devnexen to collaborators (David Carlier) #29370
  • [43797d9427] - doc: inconsistent indentation for list items (Nick Schonning) #29330
  • [bb72217faf] - doc: heading levels should only increment by one (Nick Schonning) #29331
  • [ef76c7d997] - doc: add dco to github pr template (Myles Borins) #24023
  • [8599052283] - doc: add https.Server extends tls.Server (Trivikram Kamat) #29256
  • [2fafd635d7] - doc: fix nits in esm.md (Vse Mozhet Byt) #29242
  • [6a4f156ba4] - doc: add missing extends Http2Session (Trivikram Kamat) #29252
  • [1d649e3444] - doc: indicate that Http2ServerRequest extends Readable (Trivikram Kamat) #29253
  • [b2f169e628] - doc: indicate that Http2ServerResponse extends Stream (Trivikram Kamat) #29254
  • [65de900052] - (SEMVER-MINOR) doc: add emitClose option for fs streams (Rich Trott) #29212
  • [ae810cc8d5] - doc,crypto: add extends for derived classes (Kamat, Trivikram) #29302
  • [a2c704773a] - doc,errors: add extends to derived classes (Kamat, Trivikram) #29303
  • [395245f1eb] - doc,fs: add extends for derived classes (Kamat, Trivikram) #29304
  • [8a93b63a6b] - doc,http: add extends for derived classes (Trivikram Kamat) #29255
  • [ba29be60ae] - doc,tls: add extends for derived classes (Trivikram Kamat) #29257
  • [30b80e5d7c] - errors: provide defaults for unmapped uv errors (cjihrig) #29288
  • [a7c8322a54] - esm: support loading data URLs (Bradley Farias) #28614
  • [3bc16f917d] - events: improve once() performance (Brian White) #29307
  • [ed2293e3d7] - (SEMVER-MINOR) fs: add recursive option to rmdir() (cjihrig) #29168
  • [8f47ff16d4] - (SEMVER-MINOR) fs: allow passing true to emitClose option (Giorgos Ntemiris) #29212
  • [6ff803d97c] - fs: fix (temporary) for esm package (Robert Nagy) #28957
  • [e6353bda1a] - fs: document the Date conversion in Stats objects (Joyee Cheung) #28224
  • [365e062e14] - (SEMVER-MINOR) fs: add *timeNs properties to BigInt Stats objects (Joyee Cheung) #21387
  • [12cbb3f12f] - gyp: remove semicolons (Python != JavaScript) (MattIPv4) #29228
  • [10bae2ec91] - gyp: futurize imput.py to prepare for Python 3 (cclauss) #29140
  • [e5a9a8522d] - http: simplify timeout handling (Robert Nagy) #29200
  • [87b8f02daa] - lib: add ASCII fast path to getStringWidth() (Anna Henningsen) #29301
  • [6e585fb063] - lib: consolidate lazyErrmapGet() (cjihrig) #29285
  • [eb2d96fecf] - module: avoid passing unnecessary loop reference (Saúl Ibarra Corretgé) #29275
  • [dfc0ef5d88] - (SEMVER-MINOR) net: allow reading data into a static buffer (Brian White) #25436
  • [f4f88270e7] - process: improve nextTick performance (Brian White) #25461
  • [0e1ccca81d] - querystring: improve performance (Brian White) #29306
  • [f8f3af099a] - src: do not crash when accessing empty WeakRefs (Anna Henningsen) #29289
  • [b964bdd162] - src: turn GET_OFFSET() into an inline function (Anna Henningsen) #29357
  • [2666e006e1] - src: inline SLICE_START_END() in node_buffer.cc (Anna Henningsen) #29357
  • [8c6896e5d3] - src: allow --interpreted-frames-native-stack in NODE_OPTIONS (Matheus Marchini) #27744
  • [db6e4ce239] - src: expose MaybeInitializeContext to allow existing contexts (Samuel Attard) #28544
  • [4d4583e0a2] - src: add large page support for macOS (David Carlier) #28977
  • [7809adfb1f] - stream: don't deadlock on aborted stream (Robert Nagy) #29376
  • [2efd72f28d] - stream: improve read() performance (Brian White) #29337
  • [e939a8747f] - stream: async iterator destroy compat (Robert Nagy) #29176
  • [b36a6e9ed5] - stream: do not emit drain if stream ended (Robert Nagy) #29086
  • [0ccf90b415] - test: remove Windows skipping of http keepalive request GC test (Rich Trott) #29354
  • [83fb133267] - test: fix test-benchmark-net (Rich Trott) #29359
  • [bd1e8eacf3] - test: fix flaky test-http-server-keepalive-req-gc (Rich Trott) #29347
  • [9a150027da] - test: use print() function in both Python 2 and 3 (Christian Clauss) #29298
  • [1f88ca3424] - (SEMVER-MINOR) test: add emitClose: true tests for fs streams (Rich Trott) #29212
  • [cd70fd2bc0] - tools: update ESLint to 6.3.0 (cjihrig) #29382
  • [350975e312] - tools: use 'from io import StringIO' in ninja.py (cclauss) #29371
  • [3f68be1098] - tools: fix mksnapshot blob wrong freeing operator (David Carlier) #29384
  • [3802da790b] - tools: update ESLint to 6.2.2 (cjihrig) #29320
  • [2df84752c6] - tools: update babel-eslint to 10.0.3 (cjihrig) #29320
  • [783c8eeb0b] - tools: fix Python 3 issues in inspector_protocol (cclauss) #29296
  • [925141f946] - tools: fix mixup with bytes.decode() and str.encode() (Christian Clauss) #29208
  • [a123a20134] - tools: fix Python 3 issues in tools/icu/icutrim.py (cclauss) #29213
  • [eceebd3ef1] - tools: fix Python 3 issues in gyp/generator/make.py (cclauss) #29214
  • [5abbd51c60] - util: do not throw when inspecting detached ArrayBuffer (Anna Henningsen) #29318

New in Node.js 12.9.1 (Aug 27, 2019)

  • Notable changes:
  • This release fixes two regressions in the http module:
  • Fixes an event listener leak in the HTTP client. This resulted in lots of warnings during npm/yarn installs (Robert Nagy) #29245.
  • Fixes a regression preventing the 'end' event from being emitted for keepalive requests in case the full body was not parsed (Matteo Collina) #29263.
  • Commits:
  • [3cc8fca299] - crypto: handle i2d_SSL_SESSION() error return (Ben Noordhuis) #29225
  • [ae0a0e97ba] - http: reset parser.incoming when server request is finished (Anna Henningsen) #29297
  • [dedbd119c5] - http: fix event listener leak (Robert Nagy) #29245
  • [f8f8754d43] - Revert "http: reset parser.incoming when server response is finished" (Matteo Collina) #29263
  • [a6abfcb423] - src: remove unused using declarations (Daniel Bevenius) #29222
  • [ff6330a6ac] - test: fix 'timeout' typos (cjihrig) #29234
  • [3c7a1a9090] - test, http: add regression test for keepalive 'end' event (Matteo Collina) #29263

New in Node.js 12.9.0 (Aug 21, 2019)

  • Notable changes:
  • crypto:
  • Added an oaepHash option to asymmetric encryption which allows users to specify a hash function when using OAEP padding (Tobias Nießen) #28335.
  • deps:
  • Updated V8 to 7.6.303.29 (Michaël Zasso) #28955.
  • Improves the performance of various APIs such as JSON.parse and methods called on frozen arrays.
  • Adds the Promise.allSettled method.
  • Improves support of BigInt in Intl methods.
  • For more information: https://v8.dev/blog/v8-release-76
  • Updated libuv to 1.31.0 (cjihrig) #29070.
  • UV_FS_O_FILEMAP has been added for faster access to memory mapped files on Windows.
  • uv_fs_mkdir() now returns UV_EINVAL for invalid filenames on Windows. It previously returned UV_ENOENT.
  • The uv_fs_statfs() API has been added.
  • The uv_os_environ() and uv_os_free_environ() APIs have been added.
  • fs:
  • Added fs.writev, fs.writevSync and filehandle.writev (promise version) methods. They allow to write an array of ArrayBufferViews to a file descriptor (Anas Aboureada) #25925, (cjihrig) #29186.
  • http:
  • Added three properties to OutgoingMessage.prototype: writableObjectMode, writableLength and writableHighWaterMark #29018.
  • stream:
  • Added an new property readableEnded to readable streams. Its value is set to true when the 'end' event is emitted. (Robert Nagy) #28814.
  • Added an new property writableEnded to writable streams. Its value is set to true after writable.end() has been called. (Robert Nagy) #28934.
  • Commits:
  • [5008b46159] - benchmark: allow easy passing of process flags (Brian White) #28986
  • [9057814206] - buffer: improve copy() performance (Brian White) #29066
  • [c7a4525bbe] - buffer: improve ERR_BUFFER_OUT_OF_BOUNDS default (cjihrig) #29098
  • [f42eb01d1d] - build: enable linux large pages LLVM lld linkage support (David Carlier) #28938
  • [5c5ef4e858] - build: remove unused option (Rich Trott) #29173
  • [fbe25c7fb7] - build: remove unnecessary Python semicolon (MattIPv4) #29170
  • [e51f924964] - build: add a testclean target (Daniel Bevenius) #29094
  • [0a63e2d9ff] - build: support py3 for configure.py (cclauss) #29106
  • [b04f9e1f57] - build: reset embedder string to "-node.0" (Michaël Zasso) #28955
  • [b085b94fce] - console: minor timeLogImpl() refactor (cjihrig) #29100
  • [54197eac4d] - (SEMVER-MINOR) crypto: extend RSA-OAEP support with oaepHash (Tobias Nießen) #28335
  • [a17d398989] - deps: V8: cherry-pick e3d7f8a (cclauss) #29105
  • [2c91c65961] - deps: upgrade to libuv 1.31.0 (cjihrig) #29070
  • [53c7fac310] - deps: patch V8 to be API/ABI compatible with 7.4 (from 7.6) (Michaël Zasso) #28955
  • [7b8eb83895] - (SEMVER-MINOR) deps: patch V8 to be API/ABI compatible with 7.4 (from 7.5) (Michaël Zasso) #28005
  • [7d411f47b2] - deps: V8: backport b33af60 (Gus Caplan) #28671
  • [492b7cb8c3] - (SEMVER-MINOR) deps: V8: cherry-pick d2ccc59 (Michaël Zasso) #28016
  • [945955ff86] - deps: cherry-pick 13a04aba from V8 upstream (Jon Kunkee) #28602
  • [9b3c115efb] - (SEMVER-MINOR) deps: V8: cherry-pick 3b8c624 (Michaël Zasso) #28016
  • [533b2d4a08] - (SEMVER-MINOR) deps: V8: fix linking issue for MSVS (Refael Ackermann) #28016
  • [c9f8d28f71] - (SEMVER-MINOR) deps: V8: fix BUILDING_V8_SHARED issues (Refael Ackermann) #27375
  • [f24caeff2f] - (SEMVER-MINOR) deps: V8: add workaround for MSVC optimizer bug (Refael Ackermann) #28016
  • [94c8d068f8] - (SEMVER-MINOR) deps: V8: use ATOMIC_VAR_INIT instead of std::atomic_init (Refael Ackermann) #27375
  • [d940403c20] - (SEMVER-MINOR) deps: V8: forward declaration of Rtl*FunctionTable (Refael Ackermann) #27375
  • [ac0c075cad] - (SEMVER-MINOR) deps: V8: patch register-arm64.h (Refael Ackermann) #27375
  • [eefbc0773f] - (SEMVER-MINOR) deps: V8: update postmortem metadata generation script (cjihrig) #28016
  • [33f3e383da] - (SEMVER-MINOR) deps: V8: silence irrelevant warning (Michaël Zasso) #26685
  • [434c127651] - (SEMVER-MINOR) deps: V8: un-cherry-pick bd019bd (Refael Ackermann) #26685
  • [040e7dabe4] - (SEMVER-MINOR) deps: V8: fix filename manipulation for Windows (Refael Ackermann) #28016
  • [cfe2484e04] - deps: update V8 to 7.6.303.29 (Michaël Zasso) #28955
  • [6f7b561295] - dns: update lookupService() first arg name (cjihrig) #29040
  • [ad28f555a1] - doc: improve example single-test command (David Guttman) #29171
  • [edbe38d52d] - doc: mention N-API as recommended approach (Michael Dawson) #28922
  • [ebfe6367f0] - doc: fix introduced_in note in querystring.md (Ben Noordhuis) #29014
  • [9ead4eceeb] - doc: note that stream error can close stream (Robert Nagy) #29082
  • [5ea9237d2b] - doc: clarify async iterator leak (Robert Nagy) #28997
  • [1b6d7c0d00] - doc: fix nits in child_process.md (Vse Mozhet Byt) #29024
  • [375d1ee58b] - doc: improve UV_THREADPOOL_SIZE description (Tobias Nießen) #29033
  • [7b7b8f21cb] - doc: documented default statusCode (Natalie Fearnley) #28982
  • [17d9495afa] - doc: make unshift doc compliant with push doc (EduardoRFS) #28953
  • [3bfca0b7e4] - doc, lib, src, test, tools: fix assorted typos (XhmikosR) #29075
  • [b7696b41e5] - events: give subclass name in unhandled 'error' message (Anna Henningsen) #28952
  • [d79d142e0c] - fs: use fs.writev() internally (Robert Nagy) #29189
  • [82eeadb216] - fs: use consistent buffer array validation (cjihrig) #29186
  • [81f3eb5bb1] - fs: add writev() promises version (cjihrig) #29186
  • [435683610b] - fs: validate writev fds consistently (cjihrig) #29185
  • [bb19d8212a] - (SEMVER-MINOR) fs: add fs.writev() which exposes syscall writev() (Anas Aboureada) #25925
  • [178caa56ae] - fs: add default options for *stat() (Tony Brix) #29114
  • [f194626ffb] - fs: validate fds as int32s (cjihrig) #28984
  • [c5edeb9776] - http: simplify drain() (Robert Nagy) #29081
  • [6b9e372198] - http: follow symbol naming convention (Robert Nagy) #29091
  • [2e5008848e] - http: remove redundant condition (Luigi Pinca) #29078
  • [13a497912d] - http: remove duplicate check (Robert Nagy) #29022
  • [16e001112c] - (SEMVER-MINOR) http: add missing stream-like properties to OutgoingMessage (Robert Nagy) #29018
  • [c396b2a5b2] - http: buffer writes even while no socket assigned (Robert Nagy) #29019
  • [f9b61d2bc7] - (SEMVER-MINOR) http,stream: add writableEnded (Robert Nagy) #28934
  • [964dff8a9e] - http2: remove unused FlushData() function (Anna Henningsen) #29145
  • [66249bbcad] - inspector: use const for contextGroupId (gengjiawen) #29076
  • [cb162298eb] - module: pkg exports validations and fallbacks (Guy Bedford) #28949
  • [491b46d605] - module: refine package name validation (Guy Bedford) #28965
  • [925e40cfa7] - module: add warning when import,export is detected in CJS context (Giorgos Ntemiris) #28950
  • [17319e7f44] - net: use callback to properly propagate error (Robert Nagy) #29178
  • [7f11c72cc5] - readline: close dumb terminals on Control+D (cjihrig) #29149
  • [3c346b8bad] - readline: close dumb terminals on Control+C (cjihrig) #29149
  • [e474c6776c] - (SEMVER-MINOR) readline: establish y in cursorTo as optional (Gerhard Stoebich) #29128
  • [2528dee674] - report: list envvars using uv_os_environ() (cjihrig) #28963
  • [a6b9299039] - src: rename --security-reverts to ...-revert (Sam Roberts) #29153
  • [62a0e91d8c] - src: simplify UnionBytes (Ben Noordhuis) #29116
  • [b2936cff5d] - src: organize imports in inspector_profiler.cc (pi1024e) #29073
  • [a9f8b62b47] - (SEMVER-MINOR) stream: add readableEnded (Robert Nagy) #28814
  • [1e3e6da9b9] - stream: simplify howMuchToRead() (Robert Nagy) #29155
  • [e2a2a3f4dd] - stream: use lazy registration for drain for fast destinations (Robert Nagy) #29095
  • [2a844599db] - stream: improve read() performance further (Brian White) #29077
  • [e543d35f35] - stream: inline and simplify onwritedrain (Robert Nagy) #29037
  • [6bc4620d8b] - stream: improve read() performance more (Brian White) #28989
  • [647f3a8d01] - stream: encapsulate buffer-list (Robert Nagy) #28974
  • [000999c06c] - stream: improve read() performance (Brian White) #28961
  • [6bafd35369] - test: deflake test-tls-passphrase (Luigi Pinca) #29134
  • [aff1ef9d27] - test: add required settings to test-benchmark-buffer (Rich Trott) #29163
  • [18b711366a] - test: make exported method static (Rainer Poisel) #29102
  • [0aa339e5e1] - test: skip test-fs-access if root (Daniel Bevenius) #29092
  • [e3b1243ea2] - test: unskip tests that now pass on AIX (Sam Roberts) #29054
  • [f9ed5f351b] - test: assert: add failing deepEqual test for faked boxed primitives (Jordan Harband) #29029
  • [43e444b07a] - test: refactor test-sync-io-option (Anna Henningsen) #29020
  • [82edebfebf] - (SEMVER-MINOR) test: add test for OAEP hash mismatch (Tobias Nießen) #28335
  • [f08f154fd6] - (SEMVER-MINOR) test: update postmortem metadata test for V8 7.6 (cjihrig) #28016
  • [5b892c44d6] - tls: allow client-side sockets to be half-opened (Luigi Pinca) #27836
  • [c4f6077994] - tools: make code cache and snapshot deterministic (Ben Noordhuis) #29142
  • [acdc21b832] - tools: make pty_helper.py python3-compatible (Ben Noordhuis) #29167
  • [31c50e5c17] - tools: make nodedownload.py Python 3 compatible (cclauss) #29104
  • [1011a1792c] - tools: allow single JS file for --link-module (Daniel Bevenius) #28443
  • [4d7a7957fc] - (SEMVER-MINOR) tools: sync gypfiles with V8 7.6 (Michaël Zasso) #28016
  • [a4e2549b87] - util: improve debuglog performance (Brian White) #28956
  • [112ec73c95] - util: isEqualBoxedPrimitive: ensure both values are actual boxed Symbols (Jordan Harband) #29029
  • [8426077898] - util: assert: fix deepEqual comparing fake-boxed to real boxed primitive (Jordan Harband) #29029
  • [d4e397a900] - worker: fix crash when SharedArrayBuffer outlives creating thread (Anna Henningsen) #29190

New in Node.js 12.8.1 (Aug 16, 2019)

  • Notable changes:
  • This is a security release.
  • Node.js, as well as many other implementations of HTTP/2, have been found vulnerable to Denial of Service attacks. See https://github.com/Netflix/security-bulletins/blob/master/advisories/third-party/2019-002.md for more information.
  • Vulnerabilities fixed:
  • CVE-2019-9511 “Data Dribble”: The attacker requests a large amount of data from a specified resource over multiple streams. They manipulate window size and stream priority to force the server to queue the data in 1-byte chunks. Depending on how efficiently this data is queued, this can consume excess CPU, memory, or both, potentially leading to a denial of service.
  • CVE-2019-9512 “Ping Flood”: The attacker sends continual pings to an HTTP/2 peer, causing the peer to build an internal queue of responses. Depending on how efficiently this data is queued, this can consume excess CPU, memory, or both, potentially leading to a denial of service.
  • CVE-2019-9513 “Resource Loop”: The attacker creates multiple request streams and continually shuffles the priority of the streams in a way that causes substantial churn to the priority tree. This can consume excess CPU, potentially leading to a denial of service.
  • CVE-2019-9514 “Reset Flood”: The attacker opens a number of streams and sends an invalid request over each stream that should solicit a stream of RST_STREAM frames from the peer. Depending on how the peer queues the RST_STREAM frames, this can consume excess memory, CPU, or both, potentially leading to a denial of service.
  • CVE-2019-9515 “Settings Flood”: The attacker sends a stream of SETTINGS frames to the peer. Since the RFC requires that the peer reply with one acknowledgement per SETTINGS frame, an empty SETTINGS frame is almost equivalent in behavior to a ping. Depending on how efficiently this data is queued, this can consume excess CPU, memory, or both, potentially leading to a denial of service.
  • CVE-2019-9516 “0-Length Headers Leak”: The attacker sends a stream of headers with a 0-length header name and 0-length header value, optionally Huffman encoded into 1-byte or greater headers. Some implementations allocate memory for these headers and keep the allocation alive until the session dies. This can consume excess memory, potentially leading to a denial of service.
  • CVE-2019-9517 “Internal Data Buffering”: The attacker opens the HTTP/2 window so the peer can send without constraint; however, they leave the TCP window closed so the peer cannot actually write (many of) the bytes on the wire. The attacker then sends a stream of requests for a large response object. Depending on how the servers queue the responses, this can consume excess memory, CPU, or both, potentially leading to a denial of service.
  • CVE-2019-9518 “Empty Frames Flood”: The attacker sends a stream of frames with an empty payload and without the end-of-stream flag. These frames can be DATA, HEADERS, CONTINUATION and/or PUSH_PROMISE. The peer spends time processing each frame disproportionate to attack bandwidth. This can consume excess CPU, potentially leading to a denial of service. (Discovered by Piotr Sikora of Google)
  • Commits:
  • [bfeb5fc07f] - deps: update nghttp2 to 1.39.2 (Anna Henningsen) #29122
  • [08021fac59] - http2: allow security revert for Ping/Settings Flood (Anna Henningsen) #29122
  • [bbb4769cc1] - http2: pause input processing if sending output (Anna Henningsen) #29122
  • [f64515b05e] - http2: stop reading from socket if writes are in progress (Anna Henningsen) #29122
  • [ba332df5d2] - http2: consider 0-length non-end DATA frames an error (Anna Henningsen) #29122
  • [23b0db58ca] - http2: shrink default vector::reserve() allocations (Anna Henningsen) #29122
  • [4f10ac3623] - http2: handle 0-length headers better (Anna Henningsen) #29122
  • [a21a1c007b] - http2: limit number of invalid incoming frames (Anna Henningsen) #29122
  • [4570ed10d7] - http2: limit number of rejected stream openings (Anna Henningsen) #29122
  • [88726f2384] - http2: do not create ArrayBuffers when no DATA received (Anna Henningsen) #29122
  • [530004ef32] - http2: only call into JS when necessary for session events (Anna Henningsen) #29122
  • [58d8c9ef48] - http2: improve JS-side debug logging (Anna Henningsen) #29122

New in Node.js 12.8.0 (Aug 7, 2019)

  • Notable changes:
  • assert:
  • Legacy mode deprecation (DEP0089) is revoked (Colin Ihrig) #28892
  • crypto:
  • The outputLength option is added to crypto.createHash (Tobias Nießen) #28805
  • The maxmem range is increased from 32 to 53 bits (Tobias Nießen) #28799
  • n-api:
  • Added APIs for per-instance state management (Gabriel Schulhof) #28682
  • report:
  • Network interfaces get included in the report (Colin Ihrig) #28911
  • src:
  • v8.getHeapCodeStatistics() is now exported (Yuriy Vasiyarov) #27978
  • Commits:
  • [d3426ee9f1] - assert: avoid potentially misleading reference to object identity (Anna Henningsen) #28824
  • [bbcf9f0625] - benchmark: swap var for let in buffer benchmarks (Alex Ramirez) #28867
  • [f2c1f3613b] - benchmark: swap var for let in util benchmarks (Alex Ramirez) #28867
  • [048db38ada] - benchmark: swap var for let in url benchmarks (Alex Ramirez) #28867
  • [391fe46378] - benchmark, http: refactor for code consistency (Alex Ramirez) #28791
  • [dcef7b8cc1] - build: include stubs in shared library (Jeroen Ooms) #28897
  • [470db47cb4] - build: remove support for s390 (but not s390x) (Ben Noordhuis) #28883
  • [25aa2228e4] - build: generate openssl config for BSD-x86 (Ben Noordhuis) #28806
  • [fb57bc4be4] - build: do not mix spaces and tabs in Makefile (Luigi Pinca) #28881
  • [9e7c66280e] - build: ignore backup files (Adam Majer) #28865
  • [24b9d29650] - build: uname -m is amd64 on freebsd, not x86_64 (Ben Noordhuis) #28804
  • [82f263d022] - build,tools: support building with Visual Studio 2019 (Michaël Zasso) #28781
  • [a7ef102a66] - crypto: add null check to outputLength logic (Colin Ihrig) #28864
  • [3a62202a54] - crypto: fix handling of malicious getters (scrypt) (Tobias Nießen) #28838
  • [b7c6ad595b] - (SEMVER-MINOR) crypto: add outputLength option to crypto.createHash (Tobias Nießen) #28805
  • [86f4c68d6a] - crypto: update root certificates (Sam Roberts) #28808
  • [e0e776331a] - (SEMVER-MINOR) crypto: increase maxmem range from 32 to 53 bits (Tobias Nießen) #28799
  • [11470d5c26] - deps: upgrade npm to 6.10.2 (isaacs) #28853
  • [9b02f3623b] - deps: dlloads node static linked executable (Luca Lindhorst) #28045
  • [24b8f2000c] - deps: remove backup files (Adam Majer) #28865
  • [ae56a232e1] - deps: backport b107214 from upstream V8 (Anna Henningsen) #28850
  • [19dad196e0] - deps: float 15d7e79 from openssl (Tobias Nießen) #28796
  • [9dfa636083] - dgram: changed 'var' to 'let' and 'const' (Manuel Ochoa Loaiza) #28357
  • [02a50c3b42] - doc: remove use of you (Michael Dawson) #28919
  • [bdd442fe35] - doc: describe NODE_OPTIONS interop w/cmd line opts (Alex Aubuchon) #28928
  • [57f5d50a3b] - doc: fix sorting nit in sections of http.md (Vse Mozhet Byt) #28943
  • [f4abf17d36] - doc: remove legacy mode deprecation in assert (Rich Trott) #28909
  • [0ac6d28f80] - doc: writableFinished is true before 'finish' (Robert Nagy) #28811
  • [7c80963d98] - doc: include "exports" resolver specification (guybedford) #28899
  • [5f07f49933] - doc: revoke DEP0089 (Colin Ihrig) #28892
  • [3e6342958b] - doc: add example about emitter.emit in events documentation (Felipe Duitama) #28374
  • [a28db5f470] - doc: add example of event close for child_process (Laura Ciro) #28376
  • [085eb4828b] - doc: fixup esm resolver spec formatting (Guy Bedford) #28885
  • [5533d48290] - doc: correct import statement (himself65) #28876
  • [ffc7a00c10] - doc: add documentation for stream.destroyed (Robert Nagy) #28815
  • [454e879a4a] - doc: fix incorrect name in report docs (Colin Ihrig) #28830
  • [881e345e0c] - doc: describe why new Buffer() is problematic (Sam Roberts) #28825
  • [95b87ce24a] - doc: claim NODE_MODULE_VERSION=76 for Electron 8 (Samuel Attard) #28809
  • [0667d0c6c2] - doc: add documentation for response.flushHeaders() (Luigi Pinca) #28807
  • [c0a044849d] - doc: fix type in NSS update instructions (Sam Roberts) #28808
  • [d0b1fb3311] - doc: api/stream.md typo from writeable to writable (Cotton Hou) #28822
  • [727ffe4720] - domain: use strong reference to domain while active (Anna Henningsen) #28313
  • [c9c7256f50] - http: reset parser.incoming when server response is finished (Anna Henningsen) #28646
  • [7d9eb17d30] - http2: destroy when settingsFn throws an error (himself65) #28908
  • [fa82cbc6cb] - http2: destructure constants from require call (Daniel Nalborczyk) #28176
  • [d0d31498d1] - http2: add constant to already destructured constants (Daniel Nalborczyk) #28176
  • [d72b6820bd] - inspector: report all workers (Eugene Ostroukhov) #28872
  • [464136fbc2] - lib: replace var with let in loaders.js (mbj36) #28081
  • [386d5d70fb] - lib: support min/max values in validateInteger() (Colin Ihrig) #28810
  • [2236affbf8] - module: exports error as MODULE_NOT_FOUND (Guy Bedford) #28905
  • [d9084d29fe] - module: unify package exports test for CJS and ESM (Jan Krems) #28831
  • [2262526562] - module: implement "exports" proposal for CommonJS (Jan Krems) #28759
  • [c93df0cfc3] - n-api: refactoring napi_create_function testing (Octavian Soldea) #28894
  • [e6b3bfe111] - n-api: refactor a previous commit (Octavian Soldea) #28848
  • [860c0d89b6] - (SEMVER-MINOR) n-api: add APIs for per-instance state management (Gabriel Schulhof) #28682
  • [3c52dbe15b] - net: shallow copy option when create Server (himself65) #28924
  • [1f82929ed0] - path: improve normalization performance (Brian White) #28948
  • [5d5c89a8f7] - policy: add dependencies map for resources (Bradley Farias) #28767
  • [4b91e4dafd] - (SEMVER-MINOR) report: include network interfaces in report (Colin Ihrig) #28911
  • [e0951c80f6] - report: loop over uv_cpu_info() results (Colin Ihrig) #28829
  • [4a747f6037] - Revert "src: remove trace_sync_io_ from env" (Сковорода Никита Андреевич) #28926
  • [d601a0a9c0] - src: allow generic C++ callables in SetImmediate() (Anna Henningsen) #28704
  • [3d51d3039c] - src: large pages fix FreeBSD fix region size (David Carlier) #28735
  • [cce208794e] - (SEMVER-MINOR) src: export v8.GetHeapCodeAndMetadataStatistics() (Yuriy Vasiyarov) #27978
  • [32cf344f8e] - src: readlink("/proc/self/exe") -> uv_exename() (Ben Noordhuis) #28333
  • [1b0d67b1e7] - src: fix OpenBSD build (David Carlier) #28384
  • [406c50c1d4] - src: read break_node_first_line from the inspect options (Samuel Attard) #28034
  • [8db43b1ff5] - src: move relative uptime init (Micha Hanselmann) #28849
  • [e334c1f13b] - src: fix type name in comment (Ben Noordhuis) #28320
  • [cf071a01f2] - stream: resolve perf regression introduced by V8 7.3 (Matteo Collina) #28842
  • [0f8f552105] - test: refactor test-fs-stat.js (Rich Trott) #28929
  • [c38952610e] - test: add tests for spaces in folder names (PaulBags) #28819
  • [efe9b97d40] - test: refactor test-beforeexit-event-exit using mustNotCall (himself65) #28901
  • [c42eb5dd55] - test: refactoring test_error testing (himself65) #28902
  • [b6e174b4f5] - test: use assert.throws() in test-require-json.js (Alejandro Nanez) #28358
  • [19070e442d] - test: fix nits in test/fixtures/tls-connect.js (Luigi Pinca) #28880
  • [31aa33bdcb] - test: fix race in test-http2-origin (Alba Mendez) #28903
  • [9b47f77571] - test: udpate test comment description (Andres Bedoya) #28351
  • [a0f89a2845] - test: refactor test using assert instead of try/catch (Juan Bedoya) #28346
  • [2142b6d3d1] - test: improve test-async-hooks-http-parser-destroy (Gerhard Stoebich) #28253
  • [f6051f9506] - test: specialize OOM check for AIX (Sam Roberts) #28857
  • [84efadf263] - test, util: refactor isObject in test-util (Alex Ramirez) #28878
  • [0b6a84a861] - test,report: relax CPU match requirements (Anna Henningsen) #28884
  • [a38fecdb20] - tools: update certdata.txt (Sam Roberts) #28808
  • [b282c8512b] - vm: increase code coverage of source_text_module.js (kball) #28350
  • [43acce1925] - worker: handle calling terminate when kHandler is null (elyalvarado) #28370

New in Node.js 12.6.0 (Jul 4, 2019)

  • Notable changes:
  • build:
  • Experimental support for building Node.js on MIPS architecture is back #27992.
  • child_process:
  • The promisified versions of child_process.exec and child_process.execFile now both return a Promise which has the child instance attached to their child property #28325.
  • deps:
  • Updated libuv to 1.30.1 #28449, #28511.
  • Support for the Haiku platform has been added.
  • The maximum UV_THREADPOOL_SIZE has been increased from 128 to 1024.
  • uv_fs_copyfile() now works properly when the source and destination files are the same.
  • process:
  • A new method, process.resourceUsage() was added. It returns resource usage for the current process, such as CPU time #28018.
  • src:
  • Fixed an issue related to stdio that could lead to a crash of the process in some circumstances #28490.
  • stream:
  • Added a writableFinished property to writable streams. It indicates that all the data has been flushed to the underlying system #28007.
  • worker:
  • Fixed an issue that prevented worker threads to listen for data on stdin #28153.
  • meta:
  • Added Jiawen Geng to collaborators #28322.
  • Commits:
  • [db65594c33] - benchmark: refactor buffer benchmarks (Ruben Bridgewater) #26418
  • [e607055693] - bootstrap: --frozen-intrinsics override problem workaround (Guy Bedford) #28254
  • [cd71aad62b] - build: expose napi_build_version variable (NickNaso) #27835
  • [4d12cef2a5] - build: link libatomic on mac and linux (Gus Caplan) #28232
  • [cfb5ca3887] - build: enable openssl support for mips64el (mutao) #27992
  • [2cf37f54f0] - Revert "build: remove mips support" (mutao) #27992
  • [dd5e07f9b4] - child_process: attach child in promisification (cjihrig) #28325
  • [f21ddb2131] - crypto: move _impl call out of handleError funct (Daniel Bevenius) #28318
  • [558e9cfb6c] - crypto: move _pbkdf2 call out of handleError funct (Daniel Bevenius) #28318
  • [47b230a92b] - crypto: move _randomBytes call out of handleError funct (Daniel Bevenius) #28318
  • [def96ae278] - crypto: move _scrypt call out of handleError funct (Daniel Bevenius) #28318
  • [990feafcb6] - crypto: fix crash when calling digest after piping (Tobias Nießen) #28251
  • [43677325e1] - deps: upgrade to libuv 1.30.0 (cjihrig) #28449
  • [3a493b804e] - deps: upgrade to libuv 1.30.1 (cjihrig) #28511
  • [eee66c5e56] - doc: merge bootstrap/README.md into BUILDING.md (Rod Vagg) #28465
  • [0111c61ec0] - doc: fix swapedOut typo (cjihrig) #28497
  • [14f6cee694] - doc: reformat for-await-of (cjihrig) #28425
  • [3fea2e43c0] - doc: update readline asyncIterator docs (cjihrig) #28425
  • [0d2d116446] - doc: add links to 12.5.0 changelog notable changes (Gus Caplan) #28450
  • [96e8b988d4] - doc: clean up isDead() example (cjihrig) #28421
  • [3c047b3919] - doc: clarify response.finished (Robert Nagy) #28411
  • [5367d02ce1] - doc: replace version with REPLACEME (cjihrig) #28431
  • [e55d0efe36] - doc: remove N-API version for Experimental APIs (Michael Dawson) #28330
  • [e3dd4d5225] - doc: fix nits regarding stream utilities (Vse Mozhet Byt) #28385
  • [3d693c5ead] - doc: cleanup pendingSettingsAck docs (cjihrig) #28388
  • [b6d0cbcf20] - doc: add example code for worker.isDead() to cluster.md (Jesse Cogollo) #28362
  • [0e6196cc17] - doc: add missing word in frameError event docs (cjihrig) #28387
  • [d25d40e1e5] - doc: fix sentence about Http2Stream destruction (cjihrig) #28336
  • [4762399aca] - doc: add example for Buffer.isEncoding() (Angie M. Delgado) #28360
  • [818f08416c] - doc: add example code for fs.existsSync() (nicolasrestrepo) #28354
  • [d759e0fa49] - doc: remove "note that" from assert.md (Rich Trott) #28329
  • [d384911746] - doc: remove "note that" from async_hooks.md (Rich Trott) #28329
  • [9ca7c8603e] - doc: remove "note that" from buffer.md (Rich Trott) #28329
  • [658c7587ff] - doc: remove "note that" from cli.md (Rich Trott) #28329
  • [cb89b3b290] - doc: remove "note that" from cluster.md (Rich Trott) #28329
  • [af05ad123e] - doc: remove "note that" from console.md (Rich Trott) #28329
  • [898b69ccdf] - doc: remove "note that" from crypto.md (Rich Trott) #28329
  • [c41dbf5bc7] - doc: remove "note that" from dgram.md (Rich Trott) #28329
  • [33d9cf5a7c] - doc: remove "note that" from dns.md (Rich Trott) #28329
  • [f3b4449c07] - doc: remove "note that" from domain.md (Rich Trott) #28329
  • [75954865e6] - doc: remove "note that" from errors.md (Rich Trott) #28329
  • [520ef836c1] - doc: remove "note that" from events.md (Rich Trott) #28329
  • [d65c90b545] - doc: remove "note that" from fs.md (Rich Trott) #28329
  • [3174bc14a2] - doc: remove "note that" from http.md (Rich Trott) #28329
  • [f0a857f4b8] - doc: remove "note that" from http2.md (Rich Trott) #28329
  • [f4c6f7a5db] - doc: remove "note that" from modules.md (Rich Trott) #28329
  • [f299c44860] - doc: remove "note that" from net.md (Rich Trott) #28329
  • [b0a6da7e3c] - doc: remove "note that" from process.md (Rich Trott) #28329
  • [eba2e3c0df] - doc: remove "note that" from stream.md (Rich Trott) #28329
  • [7bd2cae197] - doc: remove "note that" from tls.md (Rich Trott) #28329
  • [204c9d8aa8] - doc: remove "note that" from tty.md (Rich Trott) #28329
  • [5e979bff2f] - doc: remove "note that" from url.md (Rich Trott) #28329
  • [c3c86b6da6] - doc: remove "note that" from util.md (Rich Trott) #28329
  • [6d94620bfc] - doc: remove "note that" from zlib.md (Rich Trott) #28329
  • [651ab3f58e] - doc: remove "note that" from pull-requests.md (Rich Trott) #28329
  • [9ac3a553ea] - doc: remove "note that" from maintaining-V8.md (Rich Trott) #28329
  • [a67afc8b60] - doc: remove "note that" from maintaining-the-build-files.md (Rich Trott) #28329
  • [9461ef8afb] - doc: remove "note that" from using-symbols.md (Rich Trott) #28329
  • [ffba80b107] - doc: remove "note that" from writing-and-running-benchmarks.md (Rich Trott) #28329
  • [1591309735] - doc: remove "note that" from writing-tests.md (Rich Trott) #28329
  • [3daced70cf] - doc: remove "make that" from onboarding.md (Rich Trott) #28329
  • [79f23b5aa6] - doc: remove "note that" from releases.md (Rich Trott) #28329
  • [71cf5586a9] - doc: remove "note that" from CPP_STYLE_GUIDE.md (Rich Trott) #28329
  • [3d6ae65181] - doc: remote "note that" from BUILDING.md (Rich Trott) #28329
  • [64f8530adc] - doc: fix typo in process.disconnect() docs (cjihrig) #28328
  • [c9226f5eb3] - doc: drop 'Note that' in addons docs (cjihrig) #28327
  • [a213eb7635] - doc: remove obsolete external link (cjihrig) #28326
  • [632fc1faf5] - doc: make multipleResolves docs less opinionated (cjihrig) #28314
  • [6063cebdd6] - doc: format ECMA-262 with a hyphen (cjihrig) #28309
  • [51742b834d] - doc: revise assert legacy mode text (Rich Trott) #28315
  • [57ac661bcb] - doc: document PerformanceNodeTiming.environment field (Yuriy Vasiyarov) #28280
  • [1f2b8c8cab] - doc: revise strict mode text in assert (Rich Trott) #28285
  • [0856a4d043] - doc: add gengjiawen to collaborators (gengjiawen) #28322
  • [359e20f048] - doc: clarify when http emits aborted event (Robert Nagy) #28262
  • [168c12758b] - doc: tidy AssertionError text (Rich Trott) #28255
  • [17efd9372b] - doc: remove instructions to post CI links (Rich Trott) #28248
  • [91d5a4df04] - doc,n-api: fix metadata for napi_create_threadsafe_function (Richard Lau) #28410
  • [c9a96aeeee] - esm: ensure cwd-relative imports for module --eval (Guy Bedford) #28389
  • [fd4d1e20f3] - http2: remove square brackets from parsed hostname (Luigi Pinca) #28406
  • [d8d4f9b569] - http2: propagate session destroy code to streams (cjihrig) #28435
  • [d8942f877d] - (SEMVER-MINOR) http2: use writableFinished instead of _writableState (zero1five) #28007
  • [d0de204c12] - http2: refactor ping + settings object lifetime management (Anna Henningsen) #28150
  • [5f9ee9f69f] - lib: fix stack overflow check to not break on primitives (kball) #28338
  • [b6a70520d2] - lib: refactor unhandled rejection deprecation warning emission (Joyee Cheung) #28258
  • [d95d610e0e] - meta: update LICENSE (Rich Trott) #28260
  • [ed8cee6b1a] - n-api: add error message for date expected (Gabriel Schulhof) #28303
  • [53297e66cb] - (SEMVER-MINOR) n-api: make func argument of napi_create_threadsafe_function optional (legendecas) #27791
  • [8ad880f3fc] - net: replace _writableState.finished with writableFinished (Rich Trott) #27974
  • [19f9281743] - (SEMVER-MINOR) process: expose uv_rusage on process.resourcesUsage() (vmarchaud) #28018
  • [0fd6524680] - process: split routines used to enhance fatal exception stack traces (Joyee Cheung) #28308
  • [e517b03701] - process: hide NodeEnvironmentFlagsSet's add function (Ruben Bridgewater) #28206
  • [c4a357dada] - report: add report versioning (cjihrig) #28121
  • [035b613f80] - src: don't abort on EIO when restoring tty (Ben Noordhuis) #28490
  • [624fd17064] - src: fix small memory leak (David Carlier) #28452
  • [0044fd2642] - src: add error codes to errors thrown in node_i18n.cc (Yaniv Friedensohn) #28221
  • [5b92eb4686] - src: refactor uncaught exception handling (Joyee Cheung) #28257
  • [c491e4dfe6] - src: fall back to env->exec_path() for default profile directory (Joyee Cheung) #28252
  • [040b9db07b] - src: save exec path when initializing Environment (Joyee Cheung) #28252
  • [1650bcf491] - (SEMVER-MINOR) stream: add writableFinished (zero1five) #28007
  • [8a64b70efe] - test: fix flaky test-vm-timeout-escape-nexttick (Rich Trott) #28461
  • [3f6f968dee] - test: skip tests related to CI failures on AIX (Sam Roberts) #28469
  • [937afcc365] - test: add test to doesNotThrow; validate if actual with regex (estrada9166) #28355
  • [004d26d5a5] - test: add tests to assert.ok and improve coverage (estrada9166) #28355
  • [82b80e0a61] - test: reset validity dates of expired certs (Sam Roberts) #28473
  • [dce4947335] - test: do not use fixed port in async-hooks/test-httparser-reuse (Anna Henningsen) #28312
  • [79b1bf5a09] - test: use assert() in N-API async test (Anna Henningsen) #28423
  • [cd78c5ef7e] - test: fixing broken test (melinamejia95) #28345
  • [d88c697f7f] - test: refactoring test, reordering arguments (David Sánchez) #28343
  • [e63990e383] - test: eliminate duplicate statements (khriztianmoreno) #28342
  • [b822545f84] - test: switch the param order in the assertion (raveneyex) #28341
  • [3bc62b9374] - test: switch assertion order (Yomar) #28339
  • [ecf4494dd2] - test: tls switch arguments order for the assertion (Laura Ciro) #28340
  • [4bca4a5091] - test: change order of arguments (MistyBlunch) #28359
  • [4973f217b8] - test: fix order of assertion arguments in test-event-emitter-num-args (Luis Gallon) #28368
  • [69f17f1ab0] - test: make test-dh-regr more efficient where possible (Rich Trott) #28390
  • [9f508e3a0a] - test: split pummel crypto dh test into two separate tests (Rich Trott) #28390
  • [e161744610] - test: move non-pummel crypto DH tests to parallel (Rich Trott) #28390
  • [16926a8183] - test: duplicated buffer in test-stream2-writable.js (Duvan Monsalve) #28380
  • [758a003f9d] - test: fix assertion argument order in test-buffer-failed-alloc-type (Alex Ramirez) #28349
  • [5047006980] - test: use regex for OpenSSL function name (Daniel Bevenius) #28289
  • [b448db3e01] - test: remove test-ttywrap.writestream.js (Rich Trott) #28316
  • [8346596552] - test: permit test-graph.signal to work without test runner (Rich Trott) #28305
  • [337aef0c2f] - test: normalize location test-worker-process-cwd.js runs tests (Samantha Sample) #28271
  • [c14e4d5bd5] - test: use .code for error in setgid (=) #28219
  • [c44db7fea5] - test: fix flaky test-worker-debug (Anna Henningsen) #28307
  • [424d91aacb] - test: add logging to statwatcher test (Rich Trott) #28270
  • [72f52a330b] - test: add Worker + uncaughtException + process.exit() test (Anna Henningsen) #28259
  • [3a2e67b916] - test: do not spawn rmdir in test-statwatcher (João Reis) #28276
  • [d949eadc38] - test: check custom inspection truncation in assert (Rich Trott) #28234
  • [993c0dbf14] - test: make sure test function resolves in test-worker-debug (Anna Henningsen) #28155
  • [1b4a7fb9cb] - tools: update unified-args to 7.0.0 for md-lint CLI (Rich Trott) #28434
  • [40ae2a6025] - tools: move python code out of jenkins shell (Sam Roberts) #28458
  • [d38b98529c] - tools: fix v8 testing with devtoolset on ppcle (Sam Roberts) #28458
  • [b8084840d8] - tools: change editorconfig's 'ignore' to 'unset' (silverwind) #28440
  • [21d2bdd3ce] - tools: remove unused using declarations (Daniel Bevenius) #28422
  • [3d014e1bf9] - tools: remove out-of-date code-cache-path comment (Daniel Bevenius) #28419
  • [60cf9111cb] - tools: fix typo in js2c.py (Daniel Bevenius) #28417
  • [b744bd9dcb] - tools: update eslint (Ruben Bridgewater) #28173
  • [03e3ccdbe5] - tools: update remark-preset-lint-node to 1.7.0 (Rich Trott) #28393
  • [619eb93942] - tools: fix typo in cache_builder.cc (Daniel Bevenius) #28418
  • [dd53e6aa7f] - tools: update babel-eslint to 10.0.2 (ZYSzys) #28266
  • [e6c7ebe90c] - vm: increase code coverage of source_text_module.js (kball) #28363
  • [2053dd0c9c] - worker: only unref port for stdin if we ref’ed it before (Anna Henningsen) #28153

New in Node.js 12.5.0 (Jun 28, 2019)

  • Notable changes:
  • build:
  • The startup time is reduced by enabling V8 snapshots by default #28181
  • deps:
  • Updated V8 to 7.5.288.22 #27375
  • The numeric separator feature is now enabled by default
  • Updated OpenSSL to 1.1.1c #28211
  • inspector:
  • The --inspect-publish-uid flag was added to specify ways of the inspector web socket url exposure #27741
  • n-api:
  • Accessors on napi_define_* are now ECMAScript-compliant #27851
  • report:
  • The cpu info got added to the report output #28188
  • src:
  • Restore the original state of the stdio file descriptors on exit to prevent leaving stdio in raw or non-blocking mode #24260
  • tools,gyp:
  • Introduce MSVS 2019 #27375
  • util:
  • inspect:
  • Array grouping became more compact and uses more columns than before #28059 #28070
  • Long strings will not be split at 80 characters anymore. Instead they will be split on new lines #28055
  • worker:
  • worker.terminate() now returns a promise and using the callback is deprecated #28021
  • Commits:
  • [f03241fc0a] - (SEMVER-MINOR) assert: add partial support for evaluated code in simple assert (Ruben Bridgewater) #27781
  • [ef8f147b7e] - (SEMVER-MINOR) assert: improve regular expression validation (Ruben Bridgewater) #27781
  • [8157a50161] - assert: print more lines in the error diff (Ruben Bridgewater) #28058
  • [82174412a5] - assert: fix error diff (Ruben Bridgewater) #28058
  • [1ee7ce6092] - assert: limit string inspection when logging assertion errors (Ruben Bridgewater) #28058
  • [ddef3d0560] - build: fix cctest target for --without-report (Richard Lau) #28238
  • [7cf79fa1c9] - build: guard test-doc recipe with node_use_openssl (Daniel Bevenius) #28199
  • [32b0803ef3] - build: turn on custom V8 snapshot by default (Joyee Cheung) #28181
  • [6a2d8e2579] - build: unbreak --with-intl=system-icu build (Ben Noordhuis) #28118
  • [eb89c06b95] - build: fix icu-i18n pkg-config version check (Ben Noordhuis) #28118
  • [02fdf5c14c] - build: don't swallow pkg-config warnings (Ben Noordhuis) #28118
  • [48d7d7c53e] - build: lint all docs under doc (Richard Lau) #28128
  • [d3207912fb] - build: fix configure script to work with Apple Clang 11 (Saagar Jha) #28071
  • [21bcfb67f6] - (SEMVER-MINOR) build: reset embedder string to "-node.0" (Refael Ackermann) #27375
  • [e5c26753e9] - build,meta: rearrange and narrow git ignore rules (Refael Ackermann) #27954
  • [5101e4c2a2] - (SEMVER-MINOR) build,v8: sync V8 gypfiles with 7.5 (Refael Ackermann) #27375
  • [5a7154ef32] - build,win: delegate lint-cpp to make (Refael Ackermann) #28102
  • [3f1787b47d] - crypto: add debug info client emit secureConnect (Daniel Bevenius) #28067
  • [9ea74b7bff] - deps: update archs files for OpenSSL-1.1.1c (Sam Roberts) #28211
  • [9c7ea2c9d9] - deps: upgrade openssl sources to 1.1.1c (Sam Roberts) #28211
  • [9419daf503] - deps: updated openssl upgrade instructions (Sam Roberts) #28211
  • [084ffd8c2f] - deps: update llhttp to 1.1.4 (Fedor Indutny) #28154
  • [9382b3be9c] - deps: V8: cherry-pick e0a109c (Joyee Cheung) #27533
  • [b690e19a9a] - deps: ignore deps/.cipd fetched by deps/v8/tools/node/fetch_deps.py (Joyee Cheung) #28095
  • [d42ad64253] - deps: update node-inspect to v1.11.6 (Jan Krems) #28039
  • [40a1a11542] - (SEMVER-MINOR) deps: patch V8 to be API/ABI compatible with 7.4 (Michaël Zasso) #28005
  • [ad3a164ec3] - (SEMVER-MINOR) deps: bump minimum icu version to 64 (Michaël Zasso) #27375
  • [e4aa869726] - (SEMVER-MINOR) deps: V8: backport 3a75c1f (Refael Ackermann) #27375
  • [bb729a415a] - (SEMVER-MINOR) deps: V8: fix BUILDING_V8_SHARED issues (Refael Ackermann) #27375
  • [f8a33abe0c] - (SEMVER-MINOR) deps: V8: workaround for MSVC 14.20 optimizer bug (Refael Ackermann) #27375
  • [0a5ff4cb33] - (SEMVER-MINOR) deps: V8: template explicit instantiation for GCC-8 (Refael Ackermann) #27375
  • [b411114a52] - (SEMVER-MINOR) deps: V8: use ATOMIC_VAR_INIT instead of std::atomic_init (Refael Ackermann) #27375
  • [c08d94baef] - (SEMVER-MINOR) deps: V8: forward declaration of Rtl*FunctionTable (Refael Ackermann) #27375
  • [445bb81ab6] - (SEMVER-MINOR) deps: V8: patch register-arm64.h (Refael Ackermann) #27375
  • [fa6dfec186] - (SEMVER-MINOR) deps: V8: backport f89e555 (Michaël Zasso) #27375
  • [8b8fe87e54] - deps: V8: cherry-pick cca9ae3c9a (Benedikt Meurer) #27729
  • [55e99448c8] - (SEMVER-MINOR) deps: V8: update postmortem metadata generation script (cjihrig) #26685
  • [2f92b15435] - (SEMVER-MINOR) deps: V8: silence irrelevant warning (Michaël Zasso) #26685
  • [ca8e5aa77b] - (SEMVER-MINOR) deps: V8: un-cherry-pick bd019bd (Refael Ackermann) #26685
  • [4a61bdbc1f] - (SEMVER-MINOR) deps: V8: fix filename manipulation for Windows (Refael Ackermann) #27375
  • [86a8bb7612] - (SEMVER-MINOR) deps: update V8 to 7.5.288.22 (Refael Ackermann) #27375
  • [47366d7cc6] - deps: V8: extend workaround for MSVC optimizer bug (Michaël Zasso) #28286
  • [071694472f] - dgram: fix abort on bad args (cjihrig) #28135
  • [8aeb9cc10f] - doc: revise intro sentence for assert (Rich Trott) #28226
  • [60156274b1] - doc: improve assert strict-mode text (Rich Trott) #28239
  • [39b10abf63] - doc: clarify commit message format in pull-requests.md (rexagod) #28125
  • [dba5983b00] - doc: add missing options allowed in NODE_OPTIONS (Richard Lau) #28179
  • [4cadddc6a7] - doc: document behavior of family:0 in dns.lookup() (cjihrig) #28163
  • [694faf13fb] - doc: pass path in URL constructor (Daniel Nalborczyk) #28161
  • [81a1a13efd] - doc: update kernel and glibc reqs for PPCle (Michael Dawson) #28162
  • [abe5d05523] - (SEMVER-MINOR) doc: update assert's validation functions (Ruben Bridgewater) #27781
  • [ecb963dd44] - doc: document trace-events category for dns requests (vmarchaud) #28100
  • [8c277555b7] - doc: add Buffer#subarray() and add note about Uint8Array#slice() (FUJI Goro (gfx)) #28101
  • [4d6262fb56] - doc: update broken/foundation links in README.md (Tierney Cyren) #28119
  • [00e6c9d2dd] - doc: add tls-min/max options to NODE_OPTIONS (Daniel Bevenius) #28146
  • [705f259142] - doc: split example into two (Ruben Bridgewater) #27670
  • [69af43ead9] - doc: clarify N-API version Matrix (Michael Dawson) #27942
  • [56b150b3d7] - doc: add current recommendation for ESM/CommonJS dual packages (Geoffrey Booth) #27957
  • [360c708f64] - doc: document Http2Stream#id property (murgatroid99) #28074
  • [5fc4e48fdd] - doc: add note about AsyncResource for Worker pooling (Anna Henningsen) #28023
  • [d1c53fc54e] - doc: fix prohibited-strings warning in pull-requests.md (rexagod) #28127
  • [e6ecc13cfa] - doc: improve synopsis.md (Rich Trott) #28115
  • [eb05db907a] - doc: edit reason-for-deprecation text (Rich Trott) #28098
  • [5ad0d047c6] - doc: improve DEP0090 text (Rich Trott) #28097
  • [9074f9b4e5] - doc: clarify special schemes (Rich Trott) #28091
  • [f95a52cb1e] - doc: clarify weak keys text (Rich Trott) #28090
  • [eb73ed8158] - doc: remove superfluous filenaming convention (Rich Trott) #28089
  • [f7d8384af2] - doc: mark Node.js 11 as EOL in changelog (Richard Lau) #28076
  • [87c55ea0ef] - doc: adjust TOC margins (Roman Reiss) #28075
  • [9dd4813008] - doc: order deprecation reasons (Trivikram Kamat) #27960
  • [e3f905ac7e] - doc: remove "encouraged" as hedging in fs.md (Rich Trott) #28027
  • [df22b96cb0] - doc: remove "strongly recommended" as hedging in fs.md (Rich Trott) #28028
  • [049429bd97] - doc: remove "strongly recommended" hedging from tls.md (Rich Trott) #28029
  • [79d4f285be] - doc: remove "strongly recommended" hedging in deprecations.md (Rich Trott) #28031
  • [613064699e] - doc,n-api: fix typo (Richard Lau) #28178
  • [5ee6ecd979] - doc,test: test documentation consistency for NODE_OPTIONS (Richard Lau) #28179
  • [e1fc9b987a] - http2: do not register unnecessary listeners (Antonio Kukas) #27987
  • [faeed804c7] - https: do not automatically use invalid servername (Sam Roberts) #28209
  • [f8c9a58bf5] - inspector: added --inspect-publish-uid (Aleksei Koziatinskii) #27741
  • [9b248e33de] - module: prevent race condition while combining import and require (Ruben Bridgewater) #27674
  • [6014429580] - module: handle empty require.resolve() options (cjihrig) #28078
  • [9c19c4b6a3] - n-api: define ECMAScript-compliant accessors on napi_define_class (legendecas) #27851
  • [b60287d188] - n-api: define ECMAScript-compliant accessors on napi_define_properties (legendecas) #27851
  • [a40cfb32d2] - n-api: defer Buffer finalizer with SetImmediate (Anna Henningsen) #28082
  • [dfbbfbb765] - net: make writeAfterFIN() return false (Luigi Pinca) #27996
  • [2515df029a] - perf_hooks,trace_events: use stricter equality (cjihrig) #28166
  • [43fa824a3b] - process: refactor unhandled rejection handling (Joyee Cheung) #28228
  • [b491eabff1] - process: improve queueMicrotask performance (Anatoli Papirovski) #28093
  • [460cc6285a] - process: code cleanup for nextTick (Anatoli Papirovski) #28047
  • [4eaac83c5f] - report: add cpu info to report output (Christopher Hiller) #28188
  • [029b50dab4] - src: fix compiler warning in node_worker.cc (Daniel Bevenius) #28198
  • [a5998152d5] - src: fix off-by-one error in native SetImmediate (Anna Henningsen) #28082
  • [c67642ae03] - src: do not use pointer for loop in node_watchdog (Anna Henningsen) #28020
  • [b5dda32b8a] - src: restore stdio on program exit (Ben Noordhuis) #24260
  • [8984b73033] - src: remove TLS code for unsupported OpenSSLs (Sam Roberts) #28085
  • [8849eb24c1] - src: handle exceptions from ToDetailString() (Anna Henningsen) #28019
  • [8a032fc50c] - src: expose DOMException to internalBinding('message') for testing (Joyee Cheung) #28072
  • [a5fdedb3d5] - src: only run preloadModules if the preload array is not empty (Samuel Attard) #28012
  • [c821eefa5f] - src: add napi_define_class() null checks (Octavian Soldea) #27945
  • [95ee3b55d3] - src: use RAII in setgroups implementation (Anna Henningsen) #28022
  • [d81c67bd8f] - src: fix unused private field warning (cjihrig) #28036
  • [e8bedd2009] - src: split RunBootstrapping() (Joyee Cheung) #27539
  • [c20c6e55b5] - src: reorganize inspector and diagnostics initialization (Joyee Cheung) #27539
  • [c086736a49] - src: create Environment properties in Environment::CreateProperties() (Joyee Cheung) #27539
  • [70f8e71a0d] - src: inline ProcessCliArgs in the Environment constructor (Joyee Cheung) #27539
  • [174b3c4b1b] - test: add eval ESM module tests (Evgenii Shchepotev) #27956
  • [aa3c41fe40] - test: fix NODE_OPTIONS feature check (Richard Lau) #28225
  • [9edf69545d] - test: move --cpu-prof tests to sequential (Joyee Cheung) #28210
  • [df9b253e2c] - test: skip test-worker-prof as flaky for all (Milad Farazmand) #28175
  • [bd16f9b2da] - test: remove FIB environment variable from cpu-prof.js (Rich Trott) #28183
  • [a3f8385d7f] - test: remove unused output argument for getFrames() (Rich Trott) #28183
  • [58eccb1213] - test: document cpu-prof module (Rich Trott) #28183
  • [318328f6b7] - test: improve unexpected warnings error (Ruben Bridgewater) #28138
  • [31ccd36668] - test: mark test-fs-stat-bigint as flaky (Rich Trott) #28156
  • [de6627f9a4] - test: remove duplicate test-child-process-execfilesync-maxBuffer.js (Joyee Cheung) #28139
  • [2353c63dc2] - test: split test-cpu-prof.js (Joyee Cheung) #28170
  • [186e94c322] - test: add github refs to flaky tests (Sam Roberts) #28123
  • [d8061dc1a0] - test: remove test-gc-http-client from status file (Rich Trott) #28130
  • [d6791d1cb8] - test: remove test-tty-wrap from status file (Rich Trott) #28129
  • [b0bc23c572] - test: add comments to the foaf+ssl fixtures (Alex Aubuchon) #27962
  • [189d6af2b3] - test: change formatting of fixtures/keys/Makefile (Alex Aubuchon) #27962
  • [94a6d7a518] - test: change fixtures.readSync to fixtures.readKey (Alex Aubuchon) #27962
  • [c82023a173] - test: remove uneeded agent keypair in fixtures/ (Alex Aubuchon) #27962
  • [74e6109f39] - test: move foafssl certs to fixtures/keys/ (Alex Aubuchon) #27962
  • [78f39c91ac] - test: remove uneeded alice certs in fixtures/ (Alex Aubuchon) #27962
  • [5d0737735b] - test: remove uneeded certs in fixtures/ (Alex Aubuchon) #27962
  • [d757e0b6d4] - test: move dherror.pem to fixtures/keys/ (Alex Aubuchon) #27962
  • [f9ddcc6305] - test: remove pass-* certs (Alex Aubuchon) #27962
  • [e673b57055] - test: move test_[key|ca|cert] to fixtures/keys/ (Alex Aubuchon) #27962
  • [8670f6dd22] - test: move spkac certs to fixtures/keys/ (Alex Aubuchon) #27962
  • [7d1f15fba1] - test: move x448 keypairs to fixtures/keys/ (Alex Aubuchon) #27962
  • [22bbdc5068] - test: move ed448 keypairs to fixtures/keys/ (Alex Aubuchon) #27962
  • [9de9d55bfc] - test: move dsa keypairs to fixtures/keys/ (Alex Aubuchon) #27962
  • [9684842023] - test: move rsa keypairs to fixtures/keys/ (Alex Aubuchon) #27962
  • [7ae23abc01] - test: move x25519 keypair to fixtures/keys/ (Alex Aubuchon) #27962
  • [adb0197d6d] - test: move ed25519 keypair to fixtures/keys/ (Alex Aubuchon) #27962
  • [14bd26c8da] - test: remove workaround for unsupported OpenSSLs (Sam Roberts) #28085
  • [d4bb88eed8] - test: simplify tests code (himself65) #28065
  • [87e977ae42] - test: make sure vtable is generated in addon test with LTO (Anna Henningsen) #28057
  • [3feaf3ddbe] - test: mark test-worker-debug as flaky (Refael Ackermann) #28035
  • [098cf74292] - test: regression test tmpdir (Refael Ackermann) #28035
  • [e08a98fa43] - test: always suffix tmpdir (Refael Ackermann) #28035
  • [f33623662f] - test: shell out to rmdir first on Windows (Refael Ackermann) #28035
  • [1ef2811236] - test: only assert on first lines of TLS trace (Sam Roberts) #28043
  • [62de36e8d3] - Revert "test: move all test keys/certs under test/fixtures/keys/" (Sam Roberts) #28083
  • [2331e9c380] - test: add comments to the foaf+ssl fixtures (Alex Aubuchon) #27962
  • [8e28259bf8] - test: change formatting of fixtures/keys/Makefile (Alex Aubuchon) #27962
  • [d258504a31] - test: change fixtures.readSync to fixtures.readKey (Alex Aubuchon) #27962
  • [328b2d0c88] - test: remove uneeded agent keypair in fixtures/ (Alex Aubuchon) #27962
  • [a0d2862b1e] - test: move foafssl certs to fixtures/keys/ (Alex Aubuchon) #27962
  • [af9eb9648e] - test: remove uneeded alice certs in fixtures/ (Alex Aubuchon) #27962
  • [ee62fa172c] - test: remove uneeded certs in fixtures/ (Alex Aubuchon) #27962
  • [f41dfd71a0] - test: move dherror.pem to fixtures/keys/ (Alex Aubuchon) #27962
  • [98f7ae9e7b] - test: remove pass-* certs (Alex Aubuchon) #27962
  • [27d6b28943] - test: move test_[key|ca|cert] to fixtures/keys/ (Alex Aubuchon) #27962
  • [5ac6dddb83] - test: move spkac certs to fixtures/keys/ (Alex Aubuchon) #27962
  • [03b92e93b1] - test: move x448 keypairs to fixtures/keys/ (Alex Aubuchon) #27962
  • [4155bbaeab] - test: move ed448 keypairs to fixtures/keys/ (Alex Aubuchon) #27962
  • [9209698139] - test: move dsa keypairs to fixtures/keys/ (Alex Aubuchon) #27962
  • [ad42258d5a] - test: move rsa keypairs to fixtures/keys/ (Alex Aubuchon) #27962
  • [686cb13f78] - test: move x25519 keypair to fixtures/keys/ (Alex Aubuchon) #27962
  • [1f2de2fbe1] - test: move ed25519 keypair to fixtures/keys/ (Alex Aubuchon) #27962
  • [687e57fe19] - test: rename worker MessagePort test (Anna Henningsen) #28024
  • [7165254f8b] - test: more tls hostname verification coverage (Ben Noordhuis) #27999
  • [92d1ca9645] - (SEMVER-MINOR) test: fail test-worker-prof on internal timeout (Refael Ackermann) #27375
  • [ab1a4eb12d] - (SEMVER-MINOR) test: drain platform before unregistering isolate (Refael Ackermann) #27375
  • [b6bdf752d6] - test,v8: skip less and stabilize test-linux-perf.js (Refael Ackermann) #27364
  • [7044a7a302] - tls: remove unnecessary set of DEFAULT_MAX_VERSION (Daniel Bevenius) #28147
  • [6b9d477520] - tls: rename validateKeyCert in _tls_common.js (Daniel Bevenius) #28116
  • [aeda0c3d35] - tools: assert that the snapshot can be rehashed in node_mksnapshot (Joyee Cheung) #28181
  • [a0c5b58b44] - tools: fix update-babel-eslint.sh script (RubenBridgewater) #27670
  • [6460d071d2] - tools: increase the maximum number of files to lint per worker (Ruben Bridgewater) #27670
  • [bf76823a47] - tools: ignore node_modules when linting (Ruben Bridgewater) #27670
  • [52564dbb28] - tools: update babel-eslint (Ruben Bridgewater) #27670
  • [9be67b2cbc] - tools: activate more eslint rules (Ruben Bridgewater) #27670
  • [739c2a3336] - tools: update eslint config (Ruben Bridgewater) #27670
  • [adfbd362fc] - tools: update eslint (Ruben Bridgewater) #27670
  • [018159d734] - (SEMVER-MINOR) tools,gyp: introduce MSVS 2019 (Refael Ackermann) #27375
  • [9dd840dff5] - trace_events: respect inspect() depth (cjihrig) #28037
  • [b6f113bc15] - util: use average bias while grouping arrays (Ruben Bridgewater) #28070
  • [7e617606b0] - util: improve .inspect() array grouping (Ruben Bridgewater) #28070
  • [9ced334a6c] - util: refactor inspecting long lines (Ruben Bridgewater) #28055
  • [dfdf742fd1] - util: use Set to store deprecation codes (Daniel Nalborczyk) #28113
  • [c3243de47a] - util: special handle maxArrayLength while grouping arrays (Ruben Bridgewater) #28059
  • [f897860427] - util: support AsyncGeneratorFunction in .inspect (Ruben Bridgewater) #28056
  • [d659ed6dbe] - worker: refactor worker.terminate() (Anna Henningsen) #28021
  • [303a9a3d06] - worker: make MessagePort constructor non-callable (Anna Henningsen) #28032
  • [79a8cd0dec] - worker: add typechecking for postMessage transfer list (Anna Henningsen) #28033
  • [d7641d833c] - worker: use DataCloneError for unknown native objects (Anna Henningsen) #28025

New in Node.js 12.4.0 (Jun 28, 2019)

  • Notable changes:
  • doc:
  • The JSON variant of the API documentation is no longer experimental (Rich Trott) #27842.
  • esm:
  • JSON module support is always enabled under --experimental-modules. The --experimental-json-modules flag has been removed (Myles Borins) #27752.
  • http,http2:
  • A new flag has been added for overriding the default HTTP server socket timeout (which is two minutes). Pass --http-server-default-timeout=milliseconds or --http-server-default-timeout=0 to respectively change or disable the timeout. Starting with Node.js 13.0.0, the timeout will be disabled by default (Ali Ijaz Sheikh) #27704.
  • inspector:
  • Added an experimental --heap-prof flag to start the V8 heap profiler on startup and write the heap profile to disk before exit (Joyee Cheung) #27596.
  • stream:
  • The readable.unshift() method now correctly converts strings to buffers. Additionally, a new optional argument is accepted to specify the string's encoding, such as 'utf8' or 'ascii' (Marcos Casagrande) #27194.
  • v8:
  • The object returned by v8.getHeapStatistics() has two new properties: number_of_native_contexts and number_of_detached_contexts (Yuriy Vasiyarov) #27933.
  • Commits:
  • [5bbc6d79c3] - assert: remove unreachable code (Rich Trott) #27840
  • [530e63a4eb] - assert: remove unreachable code (Rich Trott) #27786
  • [9b08c458be] - build,aix: link with noerrmsg to eliminate warnings (Refael Ackermann) #27773
  • [08b0ca9645] - build,win: create junction instead of symlink to out\%config% (Refael Ackermann) #27736
  • [ea2d550507] - child_process: move exports to bottom for consistent code style (himself65) #27845
  • [a9f95572c3] - child_process: remove extra shallow copy (zero1five) #27801
  • [449ee8dd42] - console: fix table() output (Brian White) #27917
  • [9220a68a76] - crypto: fix KeyObject handle type error message (Alexander Avakov) #27904
  • [3b6424fa29] - deps: histogram: unexport symbols (Ben Noordhuis) #27779
  • [ef25ac5223] - doc: clarify wording in modules.md (Alex Temny) #27853
  • [c683cd99d7] - doc: improve explanation for directory with fs.rename() (Rich Trott) #27963
  • [70b485478c] - doc: fix the wrong name of AssertionError (Kyle Zhang) #27982
  • [11c3ddb4cb] - doc: simplify system call material in doc overview (Rich Trott) #27966
  • [c56640138a] - doc: warn about relying on fs gc close behavior (Benjamin Gruenbaum) #27972
  • [bab9f5a891] - doc: add information to revoked deprecations (cjihrig) #27952
  • [f4fc75d245] - doc: add missing status to DEP0121 (cjihrig) #27950
  • [77ff597faa] - doc: add missing --experimental-wasm-modules docs (cjihrig) #27948
  • [6ca4f03ccf] - doc: revise additional Experimental status text (Rich Trott) #27931
  • [a1788de0a4] - doc: adds link to nightly code coverage report (Tariq Ramlall) #27922
  • [b7cd0de145] - doc: fix typo in pipe from async iterator example (Luigi Pinca) #27870
  • [f621b8f178] - doc: reword Experimental stability index (Rich Trott) #27879
  • [7a7fc4e7e6] - doc: update n-api support matrix (teams2ua) #27567
  • [9d9b32eff5] - doc: fix for OutgoingMessage.prototype._headers/_headerNames (Daniel Nalborczyk) #27574
  • [263e53317b] - doc: reposition "How to Contribute" README section (Anish Asrani) #27811
  • [85f505c292] - doc: add version info for types (Michael Dawson) #27754
  • [e3bb2aef60] - doc: remove experimental status for JSON documentation (Rich Trott) #27842
  • [6981565c20] - doc: edit stability index overview (Rich Trott) #27831
  • [1a8e67cc1f] - doc: simplify contributing documentation (Rich Trott) #27785
  • [041b2220be] - doc,n-api: fix typo in N-API introduction (Richard Lau) #27833
  • [6cd64c8279] - doc,test: clarify that Http2Stream is destroyed after data is read (Alba Mendez) #27891
  • [cc69d5af8e] - doc,tools: get altDocs versions from CHANGELOG.md (Richard Lau) #27661
  • [e72d4aa522] - errors: create internal connResetException (Rich Trott) #27953
  • [be1166fd01] - esm: refactor createDynamicModule() (cjihrig) #27809
  • [e66648e887] - (SEMVER-MINOR) esm: remove experimental status from JSON modules (Myles Borins) #27752
  • [d948656635] - http: fix deferToConnect comments (Robert Nagy) #27876
  • [24eaeed393] - http: fix socketOnWrap edge cases (Anatoli Papirovski) #27968
  • [8b38dfbf39] - http: call write callback even if there is no message body (Luigi Pinca) #27777
  • [588fd0c20d] - (SEMVER-MINOR) http, http2: flag for overriding server timeout (Ali Ijaz Sheikh) #27704
  • [799aeca134] - http2: respect inspect() depth (cjihrig) #27983
  • [83aaef87d0] - http2: fix tracking received data for maxSessionMemory (Anna Henningsen) #27914
  • [8c35198499] - http2: support net.Server options (Luigi Pinca) #27782
  • [23119cacf8] - inspector: supported NodeRuntime domain in worker (Aleksei Koziatinskii) #27706
  • [89483be254] - inspector: more conservative minimum stack size (Ben Noordhuis) #27855
  • [512ab1fddf] - inspector: removing checking of non existent field in lib/inspector.js (Keroosha) #27919
  • [d99e70381e] - SEMVER-MINOR inspector: implement --heap-prof (Joyee Cheung) #27596
  • [25eb05a97a] - lib: removed unnecessary fs.realpath options arg check + tests (Alex Pry) #27909
  • [9b90385825] - Revert "lib: print to stdout/stderr directly instead of using console" (Richard Lau) #27823
  • [18650579e8] - meta: correct personal info (Refael Ackermann (רפאל פלחי)) #27940
  • [d982f0b7e2] - meta: create github support file (Gus Caplan) #27926
  • [2b7ad122b2] - n-api: DRY napi_coerce_to_x() API methods (Ben Noordhuis) #27796
  • [1da5acbf91] - os: assume UTF-8 for hostname (Anna Henningsen) #27849
  • [d406785814] - src: unimplement deprecated v8-platform methods (Michaël Zasso) #27872
  • [33236b7c54] - (SEMVER-MINOR) src: export number_of_native_contexts and number_of_detached_contexts (Yuriy Vasiyarov) #27933
  • [1a179e1736] - src: use ArrayBufferViewContents more frequently (Anna Henningsen) #27920
  • [b9cc4072e6] - src: make UNREACHABLE variadic (Refael Ackermann) #27877
  • [44846aebd2] - src: move DiagnosticFilename inlines into a -inl.h (Sam Roberts) #27839
  • [d774ea5cce] - src: remove env-inl.h from header files (Sam Roberts) #27755
  • [02f794a53f] - src: remove memory_tracker-inl.h from header files (Sam Roberts) #27755
  • [940577bd76] - src: move ThreadPoolWork inlines into a -inl.h (Sam Roberts) #27755
  • [c0cf17388c] - src: ignore SIGXFSZ, don't terminate (ulimit -f) (Ben Noordhuis) #27798
  • [a47ee80114] - (SEMVER-MINOR) stream: convert string to Buffer when calling unshift() (Marcos Casagrande) #27194
  • [5eccd642ef] - stream: convert existing buffer when calling .setEncoding (Anna Henningsen) #27936
  • [6a5ce36fb8] - test: handle unknown message type in worker threads (Rich Trott) #27995
  • [182725651b] - test: add coverage for unserializable worker thread error (Rich Trott) #27995
  • [887dd604f1] - test: simplify fs promises test (Daniel Nalborczyk) #27242
  • [9229825496] - test: covering destroying when worker already disconnected (Keroosha) #27896
  • [10bdd13972] - test: rename test-performance to test-perf-hooks (Ujjwal Sharma) #27969
  • [6129376cd9] - test: add coverage for sparse array maxArrayLength (went.out) #27901
  • [38e3827ca8] - test: add util inspect null getter test (Mikhail Kuklin) #27884
  • [0e1ce2055e] - test: rsa-pss generateKeyPairSync invalid option hash (Evgenii Shchepotev) #27883
  • [0d74198123] - test: cover import of a *.node file with a policy manifest (Evgenii Shchepotev) #27903
  • [6f9aa3f722] - test: add test cases for paramEncoding 'explicit' (oksana) #27900
  • [682319f449] - test: switch assertEqual arguments (Evgenii Shchepotev) #27910
  • [b5b234deff] - test: add testcase for SourceTextModule custom inspect (Grigory Gorshkov) #27889
  • [630cc3ac30] - test: cover util.inspect on boxed primitive with colors (Alexander Avakov) #27897
  • [67b692bdb9] - test: add test case for checking typeof mgf1Hash (Levin Eugene) #27892
  • [2a509d40f4] - test: switch assertEqual arguments (Evgenii Shchepotev) #27912
  • [3ba354aaaa] - test: add test for util.inspect (Levin Eugene) #27906
  • [313077ea62] - test: expect wpt/encoding/encodeInto.any.js to fail (Joyee Cheung) #27860
  • [8fc6914d09] - test: update wpt/encoding to 7287608f90 (Joyee Cheung) #27860
  • [0f86c2b185] - test: run WPT in subdirectories (Joyee Cheung) #27860
  • [51ccdae445] - test: expect wpt/encoding/streams to fail (Joyee Cheung) #27860
  • [652cadba1c] - test: fix arguments order of comparsion functions (martyns0n) #27907
  • [b117f6d5d8] - test: switch assertEqual arguments (Evgenii Shchepotev) #27913
  • [e7966bcb80] - test: unhardcode server port (MurkyMeow) #27908
  • [b83571d236] - test: add a test case for the path.posix.resolve (Grigorii K. Shartsev) #27905
  • [f5bb1b380f] - test: switch actual value argument and expected in deepStrictEqual call (Kopachyov Vitaliy) #27888
  • [531669b917] - test: fix test-http2-multiheaders-raw (Grigorii K. Shartsev) #27885
  • [724d9c89bc] - test: change expected and actual values in assert call (oksana) #27881
  • [34ef9e4a2b] - test: detect missing postmortem metadata (cjihrig) #27828
  • [bfcbab4c0c] - test: fix test-https-agent-additional-options (Rich Trott) #27830
  • [a4c1fd5ffc] - test: refactor test-https-agent-additional-options (Rich Trott) #27830
  • [17abc8c942] - test: favor arrow functions for anonymous callbacks (Rich Trott) #27830
  • [155b947251] - test: replace flag with option (Rich Trott) #27830
  • [144db48b6d] - test: update wpt/url to 418f7fabeb (Joyee Cheung) #27822
  • [65d4f734e0] - test: use ShellTestEnvironment in WPT (Joyee Cheung) #27822
  • [a9a400e604] - test: update wpt/resources to e1fddfbf80 (Joyee Cheung) #27822
  • [8040d8b321] - test: increase debugging information on failure (Rich Trott) #27790
  • [6548b91835] - tls: trace errors can show up as SSL errors (Sam Roberts) #27841
  • [0fe16edfab] - tls: group chunks into TLS segments (Alba Mendez) #27861
  • [e8fa0671a4] - tls: destroy trace BIO instead of leaking it (Sam Roberts) #27834
  • [10e0d7f2ac] - tls: support the hints option (Luigi Pinca) #27816
  • [4716caa12e] - tls: set tlsSocket.servername as early as possible (oyyd) #27759
  • [2ce24a9452] - tools: fix js2c regression (Refael Ackermann) #27980
  • [a75a59d3e3] - tools: update inspector_protocol to 0aafd2 (Michaël Zasso) #27770
  • [728bc2f59a] - tools: update dependencies in tools/doc (Rich Trott) #27927
  • [b54f3e0405] - tools: edit .eslintrc.js for minor maintainability improvements (Rich Trott) #27789

New in Node.js 12.3.0 (May 22, 2019)

  • Notable changes:
  • esm:
  • Added the --experimental-wasm-modules flag to support WebAssembly modules (Myles Borins & Guy Bedford) #27659
  • process:
  • Log errors using util.inspect in case of fatal exceptions (Ruben Bridgewater) #27243
  • repl:
  • Add process.on('uncaughtException') support (Ruben Bridgewater) #27151
  • stream:
  • Implemented Readable.from async iterator utility (Guy Bedford) #27660
  • tls:
  • Expose built-in root certificates (Ben Noordhuis) #26415
  • Support net.Server options (Luigi Pinca) #27665
  • Expose keylog event on TLSSocket (Alba Mendez) #27654
  • worker:
  • Added the ability to unshift messages from the MessagePort (Anna Henningsen) #27294
  • Commits:
  • [7cc21d8afa] - assert: remove unused code (Ruben Bridgewater) #27676
  • [6983a0c336] - assert: add compatibility for older Node.js versions (Ruben Bridgewater) #27672
  • [493ead144d] - assert: loose deep equal should not compare symbol properties (Ruben Bridgewater) #27653
  • [ec642f18cc] - assert: use less read operations (Ruben Bridgewater) #27525
  • [3367bad080] - assert: refine assertion message (Ruben Bridgewater) #27525
  • [e573c99bfd] - assert: fix assert.fail() stack (Ruben Bridgewater) #27525
  • [6070e8872d] - async_hooks: don't reuse resource in HttpAgent (Gerhard Stoebich) #27581
  • [e74e661044] - async_hooks: only disable promise hook if wanted (Anna Henningsen) #27590
  • [026bebfcbc] - bootstrap: --frozen-intrinsics unfreeze console (Guy Bedford) #27663
  • [e0589006a8] - build: add arm64 to vcbuild.bat help message (Jon Kunkee) #27683
  • [766a731137] - build: export OpenSSL UI symbols (Sam Roberts) #27586
  • [2bc177aa4f] - child_process: setup stdio on error when possible (cjihrig) #27696
  • [b380c0f311] - child_process: refactor stdioStringToArray function (zero1five) #27657
  • [da102cda54] - console: don't attach unnecessary error handlers (cjihrig) #27691
  • [83f243038f] - deps: V8: cherry-pick cca9ae3c9a (Benedikt Meurer) #27729
  • [750556dcfd] - deps: update OpenSSL configs' timestamps (Jon Kunkee) #27544
  • [314fdda0c3] - deps: regenerate OpenSSL configs with fixed tooling (Jon Kunkee) #27544
  • [c7e5fca32c] - deps: make VC-WIN config generation deterministic (Jon Kunkee) #27543
  • [76c9e86609] - deps: patch V8 to 7.4.288.27 (Matheus Marchini) #27615
  • [9f5b6900e7] - doc: corrected tlsSocket.getPeerCertificate response type (Dan Beglin) #27757
  • [d1da11765d] - doc: correct parameter type on 'subprocess.kill([signal])' (himself65) #27760
  • [7e750868c6] - doc: replace createRequireFromPath() references (cjihrig) #27762
  • [55fe340dc2] - doc: improve createRequire() example (cjihrig) #27762
  • [378f44c2ed] - doc: update util.format formatters documentation (Ruben Bridgewater) #27621
  • [f663e74d0b] - doc: remove stability highlight for stable functions (Michael Dawson) #27753
  • [cf516f7b6a] - doc: rewrite "About this Documentation" section (Rich Trott) #27725
  • [df01645c7c] - doc: correct entry for electron v4.0.4 (Jacob) #27394
  • [1f7a527f04] - doc: clarify behavior of fs.mkdir (Gaelan) #27505
  • [d570995427] - doc: remove non-existent entry-type flag (dnalborczyk) #27678
  • [da4a3797cb] - doc: format correction for experimental loader hooks (Daniel Nalborczyk) #27537
  • [cc45080109] - doc: dns.lookup() documentation error code (jvelezpo) #27625
  • [7923b4a407] - doc: add call-once note to napi_queue_async_work (Gabriel Schulhof) #27582
  • [8d448be9fd] - doc: simplify test/README.md (Rich Trott) #27630
  • [172fa639a6] - doc: simplify About This Documentation text (Rich Trott) #27619
  • [66cf89f57d] - doc: move Rod Vagg to TSC emeritus (Rod Vagg) #27633
  • [8a1f2d0bfc] - doc: doc deprecate the legacy http parser (cjihrig) #27498
  • [a23e86f029] - doc: add Sam Roberts to TSC (Rod Vagg) #27606
  • [c53a674be7] - doc: add example to test doc for clarity (Aditya Pratap Singh) #27561
  • [c0cdf30e6e] - doc: improve CCM example (Tobias Nießen) #27396
  • [b5498ed19b] - doc,meta: codify security release commit message (Richard Lau) #27643
  • [6e2c8d0e18] - doc,n-api: update N-API version matrix for v12.x (Richard Lau) #27745
  • [767889b0a3] - doc,n-api: fix introduced_in metadata (Richard Lau) #27745
  • [4ed8a9ba7e] - doc,tools: updates for 6.x End-of-Life (Richard Lau) #27658
  • [80f30741bd] - esm: use correct error arguments (cjihrig) #27763
  • [47f913bedc] - (SEMVER-MINOR) esm: --experimental-wasm-modules integration support (Myles Borins) #27659
  • [89fda94b6a] - esm: fix esm load bug (ZYSzys) #25491
  • [1f935f899f] - events: improve max listeners warning (Ruben Bridgewater) #27694
  • [6f23816bcf] - fs: extract path conversion and validation to getValidatedPath (ZYSzys) #27656
  • [206ae31a7e] - http: always call response.write() callback (Luigi Pinca) #27709
  • [bfb9356942] - http: do not default to chunked encoding for TRACE (Luigi Pinca) #27673
  • [4a9af1778d] - http: add an alias at addListener on Server connection socket (himself65) #27325
  • [a66b391d20] - http2: do no throw in writeHead if state.closed (Matteo Collina) #27682
  • [74046cee72] - http2: do not override the allowHalfOpen option (Luigi Pinca) #27623
  • [c7461567ce] - inspector: mark profile type const (gengjiawen) #27712
  • [24b26c0687] - inspector: fix typo (gengjiawen) #27712
  • [700459e008] - inspector: added NodeRuntime domain (Aleksei Koziatinskii) #27600
  • [d2d3bf8b3b] - inspector: code cleanup (Eugene Ostroukhov) #27591
  • [4dbebfd464] - lib: fix typo in pre_execution.js (gengjiawen) #27649
  • [88b4d00fc6] - lib: restore global.module after --eval code is run (Anna Henningsen) #27587
  • [3ac4a7122b] - meta: move jhamhader to Collaborator Emeriti list (Rich Trott) #27707
  • [9f9871c4b2] - meta: move chrisdickinson to Collaborator Emeriti list (Rich Trott) #27703
  • [2e85642f4a] - meta: move whitlockjc to Collaborator Emeriti list (Rich Trott) #27702
  • [fc8ad7731f] - meta: move estliberitas to Collaborator Emeriti list (Rich Trott) #27697
  • [ea62149212] - meta: move firedfox to Collaborator Emeriti list (Rich Trott) #27618
  • [6bef4c0083] - meta: move AnnaMag to Collaborator Emeriti list (Rich Trott) #27603
  • [14d58c2f95] - meta: move pmq20 to Collaborator Emeriti list (Rich Trott) #27602
  • [876441eefb] - meta: move orangemocha to Collaborator Emeriti list (Rich Trott) #27626
  • [140b44f3ea] - module: fix createRequireFromPath() slash logic (cjihrig) #27634
  • [8a96182827] - module: add missing space in error message (cjihrig) #27627
  • [c33e83497e] - module: simplify createRequire() validation (cjihrig) #27629
  • [119a590f84] - module: improve resolve paths validation (cjihrig) #27613
  • [2f512e32a7] - module: handle relative paths in resolve paths (cjihrig) #27598
  • [74feb0b81e] - process: mark process.env as side-effect-free (Anna Henningsen) #27684
  • [0393045198] - (SEMVER-MINOR) process: inspect error in case of a fatal exception (Ruben Bridgewater) #27243
  • [688a0bd2b8] - repl: do not run --eval code if there is none (Anna Henningsen) #27587
  • [c78de13238] - (SEMVER-MINOR) repl: handle uncaughtException properly (Ruben Bridgewater) #27151
  • [d21e066f5a] - src: update UNREACHABLE macro to take a string (Nitish Sakhawalkar) #26502
  • [ae8b64df78] - src: remove util-inl.h from header files (Sam Roberts) #27631
  • [e736e20e87] - src: declare unused priv argument (Sam Roberts) #27631
  • [d2e1efe8a3] - src: fix warnings about redefined BSWAP macros (Sam Roberts) #27631
  • [3c707976da] - src: remove extra semicolons after macros (gengjiawen) #27579
  • [a18692c4df] - src: extract common macro to util.h (gengjiawen) #27512
  • [f6642e90b2] - src: elevate namespaces in node_worker.cc (Preveen Padmanabhan) #27568
  • [62fe3422fb] - src: refactor deprecated UVException usage in pipe-wrap.cc (gengjiawen) #27562
  • [b338d53916] - src: fix typos (gengjiawen) #27580
  • [32fd0ac901] - stream: use readableObjectMode public api for js stream (Anto Aravinth) #27655
  • [05c3d53ecc] - (SEMVER-MINOR) stream: implement Readable.from async iterator utility (Guy Bedford) #27660
  • [f872210ffd] - test: relax check in verify-graph (Gerhard Stoebich) #27742
  • [8b4101a97f] - test: un-mark worker syntax error tests as flaky (Anna Henningsen) #27705
  • [1757250997] - test: clearing require cache crashes esm loader (Antoine du HAMEL) #25491
  • [7252a64a23] - test: pass null params to napi_xxx_property() (Octavian Soldea) #27628
  • [9ed5882dec] - test: use common.PORT instead of an extraneous variable (Benjamin Ki) #27565
  • [f01183c29a] - test: move dgram invalid host test to internet tests (Benjamin Ki) #27565
  • [8cba1affe3] - test: better assertion for async hook tests (Ali Ijaz Sheikh) #27601
  • [0c7f18ebd3] - test: test error when breakOnSigint is not a boolean for evaluate (Ruwan Geeganage) #27503
  • [3801859032] - test: add tests for hasItems method in FreeList (Ruwan Geeganage) #27588
  • [691866f124] - test: fix test-linux-perf flakiness (Matheus Marchini) #27615
  • [d7fcd75f62] - test: remove unneeded --expose-internals (Rich Trott) #27608
  • [815a95734e] - test: refactor test-tls-enable-trace-cli.js (cjihrig) #27553
  • [b6e540a9a2] - test: fix flaky test-tls-multiple-cas-as-string (Luigi Pinca) #27569
  • [a5dab9e85a] - test: deflake test-tls-js-stream (Luigi Pinca) #27478
  • [bdd75d0622] - (SEMVER-MINOR) tls: expose built-in root certificates (Ben Noordhuis) #26415
  • [e61823c43a] - (SEMVER-MINOR) tls: support net.Server options (Luigi Pinca) #27665
  • [eb1f4e50c7] - (SEMVER-MINOR) tls: expose keylog event on TLSSocket (Alba Mendez) #27654
  • [6624f802d9] - tls: fix createSecureContext() cipher list filter (Sam Roberts) #27614
  • [b8b02c35ee] - tls: add missing 'new' (cjihrig) #27614
  • [a8a11862e0] - tools: update markdown linter for Windows line endings (Rich Trott) #27756
  • [c3d16756f2] - tools: remove unneeded dependency files (Rich Trott) #27730
  • [0db846f734] - tools: refactor js2c.py for maximal Python3 compatibility (Refael Ackermann) #25518
  • [0e16b352b4] - tools: decrease code duplication for isString() in lint rules (cjihrig) #27719
  • [47184d1a0a] - tools: update capitalized-comments eslint rule (Ruben Bridgewater) #27675
  • [ea62f4a820] - tools: update dmn to 2.2.2 (Rich Trott) #27686
  • [d2dad0b4b8] - tools: DRY isRequireCall() in lint rules (cjihrig) #27680
  • [1b8bc77990] - tools: add 12.x to alternative docs versions (Richard Lau) #27658
  • [1365683c23] - tools: allow RegExp in required-modules eslint rule (Richard Lau) #27647
  • [169ddc5097] - tools: force common be required before any other modules (ZYSzys) #27650
  • [c6ab6b279c] - tools: enable block-scoped-var eslint rule (Roman Reiss) #27616
  • [fd823ea7a8] - tools: enable camelcase linting in tools (Rich Trott) #27607
  • [217e6b5a06] - tools: switch to camelcasing in apilinks.js (Rich Trott) #27607
  • [10b4a8103d] - util: if present, fallback to toString using the %s formatter (Ruben Bridgewater) #27621
  • [5205902762] - util: remove outdated comment (Ruben Bridgewater) #27733
  • [099c9ce1a1] - util: unify constructor inspection in util.inspect (Ruben Bridgewater) #27733
  • [d8b48675a7] - util: simplify inspection limit handling (Ruben Bridgewater) #27733
  • [6984ca1c2f] - util: reconstruct constructor in more cases (Ruben Bridgewater) #27668
  • [8f48edd28f] - vm: mark global proxy as side-effect-free (Anna Henningsen) #27523
  • [c7cf8d9b74] - (SEMVER-MINOR) worker: add ability to unshift message from MessagePort (Anna Henningsen) #27294
  • [e004d427ce] - worker: use special message as MessagePort close command (Anna Henningsen) #27705
  • [b7ed4d7187] - worker: move receiving_messages_ field to MessagePort (Anna Henningsen) #27705

New in Node.js 12.2.0 (May 8, 2019)

  • Notable changes:
  • deps:
  • Updated llhttp to 1.1.3. This fixes a bug that made Node.js' HTTP parser refuse any request URL that contained the "|" (vertical bar) character (Fedor Indutny) #27595.
  • tls:
  • Added an enableTrace() method to TLSSocket and an enableTrace option to tls.createServer(). When enabled, TSL packet trace information is written to stderr. This can be used to debug TLS connection problems (cjihrig) #27497, (Sam Roberts) #27376.
  • cli:
  • Added a --trace-tls command-line flag that enables tracing of TLS connections without the need to modify existing application code (cjihrig) #27497.
  • Added a --cpu-prof-interval command-line flag. It can be used to specify the sampling interval for the CPU profiles generated by --cpu-prof (Joyee Cheung) #27535.
  • module:
  • Added the createRequire() method. It allows to create a require function from a file URL object, a file URL string or an absolute path string. The existing createRequireFromPath() method is now deprecated (Myles Borins) #27405.
  • Throw on require('./path.mjs'). This is technically a breaking change that should have landed with Node.js 12.0.0. It is necessary to have this to keep the possibility for a future minor version to load ES Modules with the require function (Myles Borins) #27417.
  • repl:
  • The REPL now supports multi-line statements using BigInt literals as well as public and private class fields and methods (Ruben Bridgewater) #27400.
  • The REPL now supports tab autocompletion of file paths with fs methods (Anto Aravinth) #26648.
  • meta:
  • Added Christian Clauss to collaborators #27554.
  • Commits:
  • [c0ab2a141b] - assert: use new language features (Ruben Bridgewater) #27400
  • [4b3d0d1953] - async_hooks: fixup do not reuse HTTPParser (Gerhard Stoebich) #27477
  • [cfc7bdd303] - benchmark: add benchmark for node -p (Joyee Cheung) #27320
  • [53eefeb73e] - buffer: remove unreachable code (Rich Trott) #27445
  • [cac584d260] - buffer,errors: improve bigint, big numbers and more (Ruben Bridgewater) #27228
  • [22a5a05785] - build: delegate building from Makefile to ninja (Refael Ackermann) #27504
  • [67205f5941] - build: remove unsupported Python 2.6 from configure (cclauss) #27381
  • [615d386390] - child_process: only stop readable side of stream passed to proc (Anna Henningsen) #27373
  • [8e876e60aa] - console: use consolePropAttributes for k-bind properties (reland) (Ruben Bridgewater) #27352
  • [55804e1726] - deps: update llhttp to 1.1.2 (Fedor Indutny) #27513
  • [f142363cfa] - deps: update llhttp to 1.1.3 (Fedor Indutny) #27595
  • [5f72246499] - deps: add acorn stage-3 plugins (Ruben Bridgewater) #27400
  • [230a773e32] - (SEMVER-MINOR) deps: update archs files for OpenSSL-1.1.1b (Sam Roberts) #27376
  • [b68132e01a] - (SEMVER-MINOR) deps: configure OpenSSL's SSL_trace to be built (Sam Roberts) #27376
  • [7c25dce7ba] - deps: V8: cherry-pick 5d0cf6b (Joyee Cheung) #27423
  • [2c3c0d7d3e] - doc: add cclauss to collaborators (cclauss) #27554
  • [b51dcf62b8] - doc: add Electron 6 to abi_version_registry (Jeremy Apthorp) #27288
  • [cb97de7a9b] - doc: move James back onto TSC (Michael Dawson) #27411
  • [a9748bc124] - doc: describe API ERR_INVALID_PROTOCOL context (Sam Roberts) #27393
  • [a0353fdbe2] - fs: align fs.ReadStream buffer pool writes to 8-byte boundary (ptaylor) #24838
  • [7be1e0af44] - fs: added tests for util file preprocessSymlinkDestination (Ruwan Geeganage) #27468
  • [f882c9b09b] - (SEMVER-MINOR) http: servername === false should disable SNI (Fedor Indutny) #27316
  • [de337bb37c] - (SEMVER-MINOR) inspector: implement --cpu-prof-interval (Joyee Cheung) #27535
  • [9c842f4119] - lib: remove Reflect.apply where appropriate (Anatoli Papirovski) #27349
  • [47d311b3f0] - lib: remove outdated optimizations (Weijia Wang) #27380
  • [c2a03d58c3] - lib: print to stdout/stderr directly instead of using console (Joyee Cheung) #27320
  • [b68ecf3e17] - meta: move andrasq to Collaborator Emeriti list (Rich Trott) #27546
  • [fd17f37a83] - meta: move stefanmb to Collaborator Emeriti list (Rich Trott) #27502
  • [8495e8bceb] - meta: move Forrest Norvell to Collaborator Emeriti list (Rich Trott) #27437
  • [7d1c90b614] - meta: move @vsemozhetbyt to collaborator emeriti (Vse Mozhet Byt) #27412
  • [014a9fd46f] - module: throw on require('./path.mjs'); (Myles Borins) #27417
  • [5bcd7700ca] - (SEMVER-MINOR) module: add createRequire method (Myles Borins) #27405
  • [be9a1ec1d1] - module: allow passing a directory to createRequireFromPath (Gilles De Mey) #23818
  • [e5fdc30bd1] - n-api: make napi_get_property_names return strings (Anna Henningsen) #27524
  • [826fb66729] - process: compatibility patch to backport 1d022e8 (Ruben Bridgewater) #27483
  • [91b7f5e103] - process: improve cwd performance (Ruben Bridgewater) #27224
  • [05cea679a3] - repl: handle stage-3 language features properly (Ruben Bridgewater) #27400
  • [01d632d7e8] - repl: add new language features to top level await statements (Ruben Bridgewater) #27400
  • [149412ca02] - repl: add autocomplete for filesystem modules (Anto Aravinth) #26648
  • [a55457c713] - report: use const reference in node_report.cc (gengjiawen) #27479
  • [8724229155] - src: make deleted function public in node_native_module.h (gengjiawen) #27509
  • [1489d12735] - src: make deleted function public in node_main_instance.h (gengjiawen) #27509
  • [294d2ea71d] - (SEMVER-MINOR) src: refactor V8ProfilerConnection::DispatchMessage() (Joyee Cheung) #27535
  • [a758f9bdf5] - src: remove node_options-inl.h from header files (Sam Roberts) #27538
  • [bb373d0def] - src: remove unnecessary semicolons after macros (Yang Guo) #27529
  • [0c9bc02b96] - src: refactor V8ProfilerConnection to be more reusable (Joyee Cheung) #27475
  • [c787bb85cd] - src: refactor profile initialization (Joyee Cheung) #27475
  • [600048b1b7] - src: move Environment::context out of strong properties (Joyee Cheung) #27430
  • [33702913b1] - src: prefer v8::Global over node::Persistent (Anna Henningsen) #27287
  • [9d6d45e7d2] - stream: remove TODO and add a description instead (Ruben Bridgewater) #27086
  • [bb1eaeec75] - test: mark test-tls-enable-trace-cli flaky (cjihrig) #27559
  • [d648ecc488] - test: improve test-async-hooks-http-parser-destroy (Rich Trott) #27319
  • [ca720b3a55] - test: converting NghttpError to string in HTTP2 module (Ruwan Geeganage) #27506
  • [99e4a576eb] - test: add mustCall to openssl-client-cert-engine (Boxuan Li) #27474
  • [e1d88aa880] - test: document NODE_COMMON_PORT env var (cjihrig) #27507
  • [66cf706521] - test: allow EAI_FAIL in test-http-dns-error.js (cjihrig) #27500
  • [df4246e3b6] - test: refactor and deflake test-tls-sni-server-client (Luigi Pinca) #27426
  • [a278814818] - test: make sure weak references are not GCed too early (Ruben Bridgewater) #27482
  • [aa281d284a] - test: better output for test-report-uv-handles.js (gengjiawen) #27479
  • [86c27c6005] - test: add mustcall in test-net-bytes-read.js (imhype) #27471
  • [33fead3f5e] - Revert "test: skip test-cpu-prof in debug builds with code cache" (Anna Henningsen) #27469
  • [a9a85d6271] - test: check napi_get_reference_value() during finalization (Anna Henningsen) #27470
  • [16af9435a0] - test: remove flaky designation for test-tls-sni-option (Luigi Pinca) #27425
  • [1b94d025bc] - test: add missing line breaks to keep-alive header of slow headers test (Shuhei Kagawa) #27442
  • [fefbbd90af] - test: add tests for new language features (Ruben Bridgewater) #27400
  • [3711684ccf] - test: add mustCall for parallel/test-net-connect-paused-connection (sujunfei) #27463
  • [0e4f8788eb] - test: add mustCallAtLeast to test-fs-read-stream-resume.js (heben) #27456
  • [e89b6fee3a] - test: adding mustCall in test-fs-readfile-empty.js (陈健) #27455
  • [457549b67d] - test: add common.mustCall in test-http-abort-client.js (OneNail) #27449
  • [f4124d5ba5] - test: add mustCall to http-abort-queued test (Yaphet Ye) #27447
  • [e21f035666] - test: add mustCall in test-fs-readfilesync-pipe-large.js (sinoon) #27458
  • [1dd0205f10] - test: add mustCall to test-dgram-connect-send-multi-buffer-copy.js (XGHeaven) #27465
  • [0dfe5bebb2] - test: add test of policy about parse error (Daiki Ihara) #26873
  • [eeab007b25] - test: add mustCall to test-net-after-close test (xuqinggang) #27459
  • [c1b04652f5] - test: add "mustCall" to test-fs-readfile-unlink (wuchenkai) #27453
  • [b6c65c1351] - test: add missing ToC entries (cjihrig) #27434
  • [66bff5071f] - test: document report helper module (cjihrig) #27434
  • [2c335928cd] - test: document NODE_SKIP_FLAG_CHECK (cjihrig) #27434
  • [115d06cdbb] - test: document NODE_TEST_KNOWN_GLOBALS (cjihrig) #27434
  • [51fc672da9] - test: add mustCallAtLeast to test-fs-read-stream-inherit (nilianzhu) #27457
  • [4b9d109518] - test: add mustCall to test-dgram-implicit-bind.js (Chenxi Yuan) #27452
  • [c4d67f2af5] - test: add common.mustCall test-dgram-listen-after-bind (zhoujiamin) #27454
  • [23fb430e03] - test: add mustCall to test-dgram-connect-send-callback-buffer (shenchen) #27466
  • [a37ca245ff] - test: add mustCallAtLeast to test-fs-read-stream-fd test (hardfist) #27461
  • [cf84f20453] - test: skip fs-copyfile-respect-permission if root (Daniel Bevenius) #27378
  • [7d80999454] - test: add mustCall to net-can-reset-timeout (xinyulee) #27462
  • [9fa5ba8b3c] - test: add mustCall to test-fs-readfile-pipe-large (luoyu) #27460
  • [e8d5b6226a] - test: add "mustCall" for test-net-buffersize (lixin.atom) #27451
  • [d784ecb1ad] - test: add mustCall to test-net-eaddrinuse test (tongshouyu) #27448
  • [6fd1384a43] - test: add mustcall in test-dgram-connect-send-callback-buffer-length (jyjunyz) #27464
  • [7a35077197] - test: add mustCall to test-fs-readfile-pipe (tonyhty) #27450
  • [af29ae0344] - test: add mustCall to net-connect-buffer test (Rongjian Zhang) #27446
  • [bdabf699eb] - (SEMVER-MINOR) tls: add --tls-min-v1.2 CLI switch (Sam Roberts) #27520
  • [7bbf951095] - tls: disallow conflicting TLS protocol options (Sam Roberts) #27521
  • [84a2768c25] - (SEMVER-MINOR) tls: support enableTrace in TLSSocket() (cjihrig) #27497
  • [576fe339a1] - (SEMVER-MINOR) tls: simplify enableTrace logic (cjihrig) #27497
  • [30a72e8c7b] - (SEMVER-MINOR) tls: allow enabling the TLS debug trace (Sam Roberts) #27376
  • [f1efe6dae0] - (SEMVER-MINOR) tls,cli: add --trace-tls command-line flag (cjihrig) #27497
  • [3d37414002] - tools: fix node-core/required-modules eslint rule (Ben Noordhuis) #27545
  • [29e2793a87] - tools: add Release and Debug symlinks to .gitignore (Gerhard Stoebich) #27484
  • [76af4f0d05] - tools: prohibit assert.doesNotReject() in Node.js core (Ruben Bridgewater) #27402
  • [95498df1cf] - util: inspect constructor closer (Ruben Bridgewater) #27522
  • [7b5bd93ced] - util: compatibility patch to backport d0667e8 (Ruben Bridgewater) #27570
  • [52d4f1febf] - util: improve function inspection (Ruben Bridgewater) #27227
  • [caab7d4664] - util: better number formatters (Ruben Bridgewater) #27499

New in Node.js 12.2.0 (May 8, 2019)

  • Notable changes:
  • deps:
  • Updated llhttp to 1.1.3. This fixes a bug that made Node.js' HTTP parser refuse any request URL that contained the "|" (vertical bar) character (Fedor Indutny) #27595.
  • tls:
  • Added an enableTrace() method to TLSSocket and an enableTrace option to tls.createServer(). When enabled, TSL packet trace information is written to stderr. This can be used to debug TLS connection problems (cjihrig) #27497, (Sam Roberts) #27376.
  • cli:
  • Added a --trace-tls command-line flag that enables tracing of TLS connections without the need to modify existing application code (cjihrig) #27497.
  • Added a --cpu-prof-interval command-line flag. It can be used to specify the sampling interval for the CPU profiles generated by --cpu-prof (Joyee Cheung) #27535.
  • module:
  • Added the createRequire() method. It allows to create a require function from a file URL object, a file URL string or an absolute path string. The existing createRequireFromPath() method is now deprecated (Myles Borins) #27405.
  • Throw on require('./path.mjs'). This is technically a breaking change that should have landed with Node.js 12.0.0. It is necessary to have this to keep the possibility for a future minor version to load ES Modules with the require function (Myles Borins) #27417.
  • repl:
  • The REPL now supports multi-line statements using BigInt literals as well as public and private class fields and methods (Ruben Bridgewater) #27400.
  • The REPL now supports tab autocompletion of file paths with fs methods (Anto Aravinth) #26648.
  • meta:
  • Added Christian Clauss to collaborators #27554.
  • Commits:
  • [c0ab2a141b] - assert: use new language features (Ruben Bridgewater) #27400
  • [4b3d0d1953] - async_hooks: fixup do not reuse HTTPParser (Gerhard Stoebich) #27477
  • [cfc7bdd303] - benchmark: add benchmark for node -p (Joyee Cheung) #27320
  • [53eefeb73e] - buffer: remove unreachable code (Rich Trott) #27445
  • [cac584d260] - buffer,errors: improve bigint, big numbers and more (Ruben Bridgewater) #27228
  • [22a5a05785] - build: delegate building from Makefile to ninja (Refael Ackermann) #27504
  • [67205f5941] - build: remove unsupported Python 2.6 from configure (cclauss) #27381
  • [615d386390] - child_process: only stop readable side of stream passed to proc (Anna Henningsen) #27373
  • [8e876e60aa] - console: use consolePropAttributes for k-bind properties (reland) (Ruben Bridgewater) #27352
  • [55804e1726] - deps: update llhttp to 1.1.2 (Fedor Indutny) #27513
  • [f142363cfa] - deps: update llhttp to 1.1.3 (Fedor Indutny) #27595
  • [5f72246499] - deps: add acorn stage-3 plugins (Ruben Bridgewater) #27400
  • [230a773e32] - (SEMVER-MINOR) deps: update archs files for OpenSSL-1.1.1b (Sam Roberts) #27376
  • [b68132e01a] - (SEMVER-MINOR) deps: configure OpenSSL's SSL_trace to be built (Sam Roberts) #27376
  • [7c25dce7ba] - deps: V8: cherry-pick 5d0cf6b (Joyee Cheung) #27423
  • [2c3c0d7d3e] - doc: add cclauss to collaborators (cclauss) #27554
  • [b51dcf62b8] - doc: add Electron 6 to abi_version_registry (Jeremy Apthorp) #27288
  • [cb97de7a9b] - doc: move James back onto TSC (Michael Dawson) #27411
  • [a9748bc124] - doc: describe API ERR_INVALID_PROTOCOL context (Sam Roberts) #27393
  • [a0353fdbe2] - fs: align fs.ReadStream buffer pool writes to 8-byte boundary (ptaylor) #24838
  • [7be1e0af44] - fs: added tests for util file preprocessSymlinkDestination (Ruwan Geeganage) #27468
  • [f882c9b09b] - (SEMVER-MINOR) http: servername === false should disable SNI (Fedor Indutny) #27316
  • [de337bb37c] - (SEMVER-MINOR) inspector: implement --cpu-prof-interval (Joyee Cheung) #27535
  • [9c842f4119] - lib: remove Reflect.apply where appropriate (Anatoli Papirovski) #27349
  • [47d311b3f0] - lib: remove outdated optimizations (Weijia Wang) #27380
  • [c2a03d58c3] - lib: print to stdout/stderr directly instead of using console (Joyee Cheung) #27320
  • [b68ecf3e17] - meta: move andrasq to Collaborator Emeriti list (Rich Trott) #27546
  • [fd17f37a83] - meta: move stefanmb to Collaborator Emeriti list (Rich Trott) #27502
  • [8495e8bceb] - meta: move Forrest Norvell to Collaborator Emeriti list (Rich Trott) #27437
  • [7d1c90b614] - meta: move @vsemozhetbyt to collaborator emeriti (Vse Mozhet Byt) #27412
  • [014a9fd46f] - module: throw on require('./path.mjs'); (Myles Borins) #27417
  • [5bcd7700ca] - (SEMVER-MINOR) module: add createRequire method (Myles Borins) #27405
  • [be9a1ec1d1] - module: allow passing a directory to createRequireFromPath (Gilles De Mey) #23818
  • [e5fdc30bd1] - n-api: make napi_get_property_names return strings (Anna Henningsen) #27524
  • [826fb66729] - process: compatibility patch to backport 1d022e8 (Ruben Bridgewater) #27483
  • [91b7f5e103] - process: improve cwd performance (Ruben Bridgewater) #27224
  • [05cea679a3] - repl: handle stage-3 language features properly (Ruben Bridgewater) #27400
  • [01d632d7e8] - repl: add new language features to top level await statements (Ruben Bridgewater) #27400
  • [149412ca02] - repl: add autocomplete for filesystem modules (Anto Aravinth) #26648
  • [a55457c713] - report: use const reference in node_report.cc (gengjiawen) #27479
  • [8724229155] - src: make deleted function public in node_native_module.h (gengjiawen) #27509
  • [1489d12735] - src: make deleted function public in node_main_instance.h (gengjiawen) #27509
  • [294d2ea71d] - (SEMVER-MINOR) src: refactor V8ProfilerConnection::DispatchMessage() (Joyee Cheung) #27535
  • [a758f9bdf5] - src: remove node_options-inl.h from header files (Sam Roberts) #27538
  • [bb373d0def] - src: remove unnecessary semicolons after macros (Yang Guo) #27529
  • [0c9bc02b96] - src: refactor V8ProfilerConnection to be more reusable (Joyee Cheung) #27475
  • [c787bb85cd] - src: refactor profile initialization (Joyee Cheung) #27475
  • [600048b1b7] - src: move Environment::context out of strong properties (Joyee Cheung) #27430
  • [33702913b1] - src: prefer v8::Global over node::Persistent (Anna Henningsen) #27287
  • [9d6d45e7d2] - stream: remove TODO and add a description instead (Ruben Bridgewater) #27086
  • [bb1eaeec75] - test: mark test-tls-enable-trace-cli flaky (cjihrig) #27559
  • [d648ecc488] - test: improve test-async-hooks-http-parser-destroy (Rich Trott) #27319
  • [ca720b3a55] - test: converting NghttpError to string in HTTP2 module (Ruwan Geeganage) #27506
  • [99e4a576eb] - test: add mustCall to openssl-client-cert-engine (Boxuan Li) #27474
  • [e1d88aa880] - test: document NODE_COMMON_PORT env var (cjihrig) #27507
  • [66cf706521] - test: allow EAI_FAIL in test-http-dns-error.js (cjihrig) #27500
  • [df4246e3b6] - test: refactor and deflake test-tls-sni-server-client (Luigi Pinca) #27426
  • [a278814818] - test: make sure weak references are not GCed too early (Ruben Bridgewater) #27482
  • [aa281d284a] - test: better output for test-report-uv-handles.js (gengjiawen) #27479
  • [86c27c6005] - test: add mustcall in test-net-bytes-read.js (imhype) #27471
  • [33fead3f5e] - Revert "test: skip test-cpu-prof in debug builds with code cache" (Anna Henningsen) #27469
  • [a9a85d6271] - test: check napi_get_reference_value() during finalization (Anna Henningsen) #27470
  • [16af9435a0] - test: remove flaky designation for test-tls-sni-option (Luigi Pinca) #27425
  • [1b94d025bc] - test: add missing line breaks to keep-alive header of slow headers test (Shuhei Kagawa) #27442
  • [fefbbd90af] - test: add tests for new language features (Ruben Bridgewater) #27400
  • [3711684ccf] - test: add mustCall for parallel/test-net-connect-paused-connection (sujunfei) #27463
  • [0e4f8788eb] - test: add mustCallAtLeast to test-fs-read-stream-resume.js (heben) #27456
  • [e89b6fee3a] - test: adding mustCall in test-fs-readfile-empty.js (陈健) #27455
  • [457549b67d] - test: add common.mustCall in test-http-abort-client.js (OneNail) #27449
  • [f4124d5ba5] - test: add mustCall to http-abort-queued test (Yaphet Ye) #27447
  • [e21f035666] - test: add mustCall in test-fs-readfilesync-pipe-large.js (sinoon) #27458
  • [1dd0205f10] - test: add mustCall to test-dgram-connect-send-multi-buffer-copy.js (XGHeaven) #27465
  • [0dfe5bebb2] - test: add test of policy about parse error (Daiki Ihara) #26873
  • [eeab007b25] - test: add mustCall to test-net-after-close test (xuqinggang) #27459
  • [c1b04652f5] - test: add "mustCall" to test-fs-readfile-unlink (wuchenkai) #27453
  • [b6c65c1351] - test: add missing ToC entries (cjihrig) #27434
  • [66bff5071f] - test: document report helper module (cjihrig) #27434
  • [2c335928cd] - test: document NODE_SKIP_FLAG_CHECK (cjihrig) #27434
  • [115d06cdbb] - test: document NODE_TEST_KNOWN_GLOBALS (cjihrig) #27434
  • [51fc672da9] - test: add mustCallAtLeast to test-fs-read-stream-inherit (nilianzhu) #27457
  • [4b9d109518] - test: add mustCall to test-dgram-implicit-bind.js (Chenxi Yuan) #27452
  • [c4d67f2af5] - test: add common.mustCall test-dgram-listen-after-bind (zhoujiamin) #27454
  • [23fb430e03] - test: add mustCall to test-dgram-connect-send-callback-buffer (shenchen) #27466
  • [a37ca245ff] - test: add mustCallAtLeast to test-fs-read-stream-fd test (hardfist) #27461
  • [cf84f20453] - test: skip fs-copyfile-respect-permission if root (Daniel Bevenius) #27378
  • [7d80999454] - test: add mustCall to net-can-reset-timeout (xinyulee) #27462
  • [9fa5ba8b3c] - test: add mustCall to test-fs-readfile-pipe-large (luoyu) #27460
  • [e8d5b6226a] - test: add "mustCall" for test-net-buffersize (lixin.atom) #27451
  • [d784ecb1ad] - test: add mustCall to test-net-eaddrinuse test (tongshouyu) #27448
  • [6fd1384a43] - test: add mustcall in test-dgram-connect-send-callback-buffer-length (jyjunyz) #27464
  • [7a35077197] - test: add mustCall to test-fs-readfile-pipe (tonyhty) #27450
  • [af29ae0344] - test: add mustCall to net-connect-buffer test (Rongjian Zhang) #27446
  • [bdabf699eb] - (SEMVER-MINOR) tls: add --tls-min-v1.2 CLI switch (Sam Roberts) #27520
  • [7bbf951095] - tls: disallow conflicting TLS protocol options (Sam Roberts) #27521
  • [84a2768c25] - (SEMVER-MINOR) tls: support enableTrace in TLSSocket() (cjihrig) #27497
  • [576fe339a1] - (SEMVER-MINOR) tls: simplify enableTrace logic (cjihrig) #27497
  • [30a72e8c7b] - (SEMVER-MINOR) tls: allow enabling the TLS debug trace (Sam Roberts) #27376
  • [f1efe6dae0] - (SEMVER-MINOR) tls,cli: add --trace-tls command-line flag (cjihrig) #27497
  • [3d37414002] - tools: fix node-core/required-modules eslint rule (Ben Noordhuis) #27545
  • [29e2793a87] - tools: add Release and Debug symlinks to .gitignore (Gerhard Stoebich) #27484
  • [76af4f0d05] - tools: prohibit assert.doesNotReject() in Node.js core (Ruben Bridgewater) #27402
  • [95498df1cf] - util: inspect constructor closer (Ruben Bridgewater) #27522
  • [7b5bd93ced] - util: compatibility patch to backport d0667e8 (Ruben Bridgewater) #27570
  • [52d4f1febf] - util: improve function inspection (Ruben Bridgewater) #27227
  • [caab7d4664] - util: better number formatters (Ruben Bridgewater) #27499

New in Node.js 12.1.0 (Apr 30, 2019)

  • Notable changes:
  • intl:
  • Update ICU to 64.2. This adds support for Japanese Era (Reiwa) (Ujjwal Sharma) #27361.
  • Fixes a bug in ICU that affected Node.js 12.0.0 in the case where new Date().toLocaleString() was called with a non-default locale (Steven R. Loomis) #27415.
  • C++ API:
  • Added an overload EmitAsyncDestroy that can be used during garbage collection (Anna Henningsen) #27255.
  • Commits:
  • [8ca110cc6f] - benchmark: fix http bench-parser.js (Rich Trott) #27359
  • [2f9bafba08] - bootstrap: delay the instantiation of maps in per-context scripts (Joyee Cheung) #27371
  • [e7026f1428] - build: allow icu download to use other hashes besides md5 (Steven R. Loomis) #27370
  • [50234460f9] - build: disable custom v8 snapshot by default (Joyee Cheung) #27365
  • [b21b28f653] - crypto: update root certificates (Sam Roberts) #27374
  • [3282ccb845] - deps: backport ICU-20575 to fix err/crasher (Steven R. Loomis) #27435
  • [e922a22725] - deps: backport ICU-20558 to fix Intl crasher (Steven R. Loomis) #27415
  • [d852d9e904] - deps: update ICU to 64.2 (Ujjwal Sharma) #27361
  • [ee80a210ff] - dgram: change 'this' to 'self' for 'isConnected' (MaleDong) #27338
  • [8302148c83] - doc: add Node 12 to the first list of versions (Rivaldo Junior) #27414
  • [f6ceefa4bd] - doc: update comment in bootstrap for primordials (Myles Borins) #27398
  • [9c30806fb5] - doc: simplify GOVERNANCE.md text (Rich Trott) #27354
  • [453510c7ef] - doc: fix pull request number (Ruben Bridgewater) #27336
  • [36762883a0] - doc: clarify behaviour of writeFile(fd) (Sam Roberts) #27282
  • [f70588fb67] - doc: fix v12.0.0 changelog id (Beth Griggs) #27368
  • [a6d1fa5954] - doc: simplify Collaborator pre-nomination text (Rich Trott) #27348
  • [dd709fc84a] - lib: throw a special error in internal/assert (Joyee Cheung) #26635
  • [4dfe54a89a] - module: initialize module_wrap.callbackMap during pre-execution (Joyee Cheung) #27323
  • [8b5d73867f] - (SEMVER-MINOR) n-api: do not require JS Context for napi_async_destroy() (Anna Henningsen) #27255
  • [d00014e599] - process: reduce the number of internal frames in async stack trace (Joyee Cheung) #27392
  • [dc510fb435] - report: print common items first for readability (gengjiawen) #27367
  • [3614a00276] - src: refactor deprecated UVException in node_file.cc (gengjiawen) #27280
  • [071300b39d] - src: move OnMessage to node_errors.cc (Joyee Cheung) #27304
  • [81e7b49c8f] - src: use predefined AliasedBuffer types in the code base (Joyee Cheung) #27334
  • [8089d29567] - src: apply clang-tidy modernize-deprecated-headers found by Jenkins CI (gengjiawen) #27279
  • [619c5b6eb3] - (SEMVER-MINOR) src: do not require JS Context for ~AsyncResoure() (Anna Henningsen) #27255
  • [809cf595eb] - (SEMVER-MINOR) src: add Environment overload of EmitAsyncDestroy (Anna Henningsen) #27255
  • [7bc47cba2e] - src: apply clang-tidy rule modernize-use-equals-default (gengjiawen) #27264
  • [ad42cd69cf] - src: use std::vector instead of IndexArray (Joyee Cheung) #27321
  • [228127fc67] - src: enable context snapshot after running per-context scripts (Joyee Cheung) #27321
  • [45d6106129] - src: enable snapshot with per-isolate data (Joyee Cheung) #27321
  • [631bea8fd2] - src: implement IsolateData serialization and deserialization (Joyee Cheung) #27321
  • [a636338945] - src: allow creating NodeMainInstance that does not own the isolate (Joyee Cheung) #27321
  • [50732c1b3f] - test: refactor net-connect-handle-econnrefused (Luigi Pinca) #27014
  • [e9021cc498] - test: move test-net-connect-handle-econnrefused (Luigi Pinca) #27014
  • [ebbed6047d] - test: rework to remove flakiness, and be parallel (Sam Roberts) #27300
  • [f0b2992f5c] - test: fix ineffective error tests (Masashi Hirano) #27333
  • [d84a6d05a1] - test: make test-worker-esm-missing-main more robust (Rich Trott) #27340
  • [8486917b9a] - test: increase coverage in lib/internal/dns/promises.js (Rich Trott) #27330
  • [6ca0270320] - tls: include invalid method name in thrown error (Sam Roberts) #27390
  • [dcbe5b9dff] - tools: update certdata.txt (Sam Roberts) #27374
  • [53f0ef36c0] - tools: update LICENSE and tools/icu/current_ver.dep (Ujjwal Sharma) #27361
  • [481789c235] - tools: fix use-after-free mkcodecache warning (Ben Noordhuis) #27332
  • [d62a3243b1] - tools: update tools/license-builder.sh (Ujjwal Sharma) #27362
  • [b44323f3de] - tools: implement node_mksnapshot (Joyee Cheung) #27321
  • [ae2333db65] - util: add prototype support for boxed primitives (Ruben Bridgewater) #27351
  • [8f3442809a] - util: rename setIteratorBraces to getIteratorBraces (Ruben Bridgewater) #27342
  • [973d705aa9] - util: improve Symbol.toStringTag handling (Ruben Bridgewater) #27342

New in Node.js 12.0.0 (Apr 24, 2019)

  • Notable Changes:
  • bootstrap: make Buffer and process non-enumerable (Ruben Bridgewater) #24874
  • console: don't use ANSI escape codes when TERM=dumb (Vladislav Kaminsky) #26261
  • errors: update error name (Ruben Bridgewater) #26738
  • readline: support TERM=dumb (Vladislav Kaminsky) #26261
  • assert:
  • validate required arguments (Ruben Bridgewater) #26641
  • adjust loose assertions (Ruben Bridgewater) #25008
  • async_hooks:
  • remove deprecated emitBefore and emitAfter (Matteo Collina) #26530
  • remove promise object from resource (Andreas Madsen) #23443
  • buffer:
  • use stricter range checks (Ruben Bridgewater) #27045
  • harden SlowBuffer creation (ZYSzys) #26272
  • harden validation of buffer allocation size (ZYSzys) #26162
  • do proper error propagation in addon methods (Anna Henningsen) #23939
  • child_process:
  • remove options.customFds (cjihrig) #25279
  • harden fork arguments validation (ZYSzys) #27039
  • use non-infinite maxBuffer defaults (kohta ito) #23027
  • crypto:
  • remove legacy native handles (Tobias Nießen) #27011
  • decode missing passphrase errors (Tobias Nießen) #25208
  • remove Cipher.setAuthTag() and Decipher.getAuthTag() (Tobias Nießen) #26249
  • remove deprecated crypto._toBuf() (Tobias Nießen) #25338
  • set DEFAULT_ENCODING property to non-enumerable (Antoine du Hamel) #23222
  • deps:
  • update V8 to 7.4.288.13 (Michaël Zasso, cjihrig, Refael Ackermann, Anna Henningsen, Ujjwal Sharma) #26685
  • bump minimum icu version to 63 (Ujjwal Sharma) #25852
  • update OpenSSL to 1.1.1b (Sam Roberts, Shigeki Ohtsu) #26327
  • fs:
  • use proper .destroy() implementation for SyncWriteStream (Matteo Collina) #26690
  • improve mode validation (Ruben Bridgewater) #26575
  • harden validation of start option in createWriteStream() (ZYSzys) #25579
  • make writeFile consistent with readFile wrt fd (Sakthipriyan Vairamani (thefourtheye)) #23709
  • http:
  • validate timeout in ClientRequest() (cjihrig) #26214
  • return HTTP 431 on HPE_HEADER_OVERFLOW error (Albert Still) #25605
  • switch default parser to llhttp (Anna Henningsen) #24870
  • Runtime-deprecate outgoingMessage._headers and outgoingMessage._headerNames (Morgan Roderick) #24167
  • lib:
  • remove Atomics.wake() (Gus Caplan) #27033
  • move DTRACE_* probes out of global scope (James M Snell) #26541
  • deprecate _stream_wrap (Sam Roberts) #26245
  • use ES6 class inheritance style (Ruben Bridgewater) #24755
  • module:
  • remove unintended access to deps/ (Anna Henningsen) #25138
  • improve error message for MODULE_NOT_FOUND (Ali Ijaz Sheikh) #25690
  • requireStack property for MODULE_NOT_FOUND (Ali Ijaz Sheikh) #25690
  • remove dead code (Ruben Bridgewater) #26983
  • make require('.') never resolve outside the current directory (Ruben Bridgewater) #26973
  • throw an error for invalid package.json main entries (Ruben Bridgewater) #26823
  • don't search in require.resolve.paths (cjihrig) #23683
  • net:
  • remove Server.listenFD() (cjihrig) #27127
  • do not add .host and .port properties to DNS error (Ruben Bridgewater) #26751
  • emit "write after end" errors in the next tick (Ouyang Yadong) #24457
  • deprecate _setSimultaneousAccepts() undocumented function (James M Snell) #23760
  • os:
  • implement os.type() using uv_os_uname() (cjihrig) #25659
  • remove os.getNetworkInterfaces() (cjihrig) #25280
  • process:
  • make global.process, global.Buffer getters (Guy Bedford) #26882
  • move DEP0062 (node --debug) to end-of-life (Joyee Cheung) #25828
  • exit on --debug and --debug-brk after option parsing (Joyee Cheung) #25828
  • improve --redirect-warnings handling (Ruben Bridgewater) #24965
  • repl:
  • add welcome message (gengjiawen) #25947
  • fix terminal default setting (Ruben Bridgewater) #26518
  • check colors with .getColorDepth() (Vladislav Kaminsky) #26261
  • deprecate REPLServer.rli (Ruben Bridgewater) #26260
  • src:
  • remove unused INT_MAX constant (Sam Roberts) #27078
  • update NODE_MODULE_VERSION to 72 (Ujjwal Sharma) #26685
  • remove AddPromiseHook() (Anna Henningsen) #26574
  • clean up MultiIsolatePlatform interface (Anna Henningsen) #26384
  • properly configure default heap limits (Ali Ijaz Sheikh) #25576
  • remove icuDataDir from node config (GauthamBanasandra) #24780
  • tls:
  • support TLSv1.3 (Sam Roberts) #26209
  • return correct version from getCipher() (Sam Roberts) #26625
  • check arg types of renegotiate() (Sam Roberts) #25876
  • add code for ERR_TLS_INVALID_PROTOCOL_METHOD (Sam Roberts) #24729
  • emit a warning when servername is an IP address (Rodger Combs) #23329
  • disable TLS v1.0 and v1.1 by default (Ben Noordhuis) #23814
  • remove unused arg to createSecureContext() (Sam Roberts) #24241
  • deprecate Server.prototype.setOptions() (cjihrig) #23820
  • load NODE_EXTRA_CA_CERTS at startup (Ouyang Yadong) #23354
  • util:
  • remove util.print(), util.puts(), util.debug() and util.error() (cjihrig) #25377
  • change inspect compact and breakLength default (Ruben Bridgewater) #27109
  • improve inspect edge cases (Ruben Bridgewater) #27109
  • only the first line of the error message (Simon Zünd) #26685
  • don't set the prototype of callbackified functions (Ruben Bridgewater) #26893
  • rename callbackified function (Ruben Bridgewater) #26893
  • increase function length when using callbackify() (Ruben Bridgewater) #26893
  • prevent tampering with internals in inspect() (Ruben Bridgewater) #26577
  • prevent Proxy traps being triggered by .inspect() (Ruben Bridgewater) #26241
  • prevent leaking internal properties (Ruben Bridgewater) #24971
  • protect against monkeypatched Object prototype for inspect() (Rich Trott) #25953
  • treat format arguments equally (Roman Reiss) #23162
  • win, fs: detect if symlink target is a directory (Bartosz Sosnowski) #23724
  • zlib:
  • throw TypeError if callback is missing (Anna Henningsen) #24929
  • make “bare” constants un-enumerable (Anna Henningsen) #24824
  • Semver-Major Commits:
  • [afce912193] - (SEMVER-MAJOR) assert: improve performance to instantiate errors (Ruben Bridgewater) #26738
  • [5a3623af74] - (SEMVER-MAJOR) assert: validate required arguments (Ruben Bridgewater) #26641
  • [7493db21b6] - (SEMVER-MAJOR) assert: adjust loose assertions (Ruben Bridgewater) #25008
  • [9d064439e5] - (SEMVER-MAJOR) async_hooks: remove deprecated emitBefore and emitAfter (Matteo Collina) #26530
  • [1a2cf6696f] - (SEMVER-MAJOR) async_hooks: remove promise object from resource (Andreas Madsen) #23443
  • [c992639fbd] - (SEMVER-MAJOR) bootstrap: make Buffer and process non-enumerable (Ruben Bridgewater) #24874
  • [693401d0dd] - (SEMVER-MAJOR) buffer: use stricter range checks (Ruben Bridgewater) #27045
  • [6113ba96cb] - (SEMVER-MAJOR) buffer: harden SlowBuffer creation (ZYSzys) #26272
  • [6fb7baf935] - (SEMVER-MAJOR) buffer: harden validation of buffer allocation size (ZYSzys) #26162
  • [c6d29ccf5a] - (SEMVER-MAJOR) buffer: do proper error propagation in addon methods (Anna Henningsen) #23939
  • [a7d7d4dfb7] - (SEMVER-MAJOR) build: increase MACOS_DEPLOYMENT_TARGET to 10.10 (Rod Vagg) #27275
  • [561327702d] - (SEMVER-MAJOR) build: reset embedder string to "-node.0" (Ujjwal Sharma) #26685
  • [dfcc918e65] - (SEMVER-MAJOR) build: reset embedder string to "-node.0" (Michaël Zasso) #25852
  • [9334e45aa0] - (SEMVER-MAJOR) build: remove mips support (Ben Noordhuis) #26192
  • [bb564a3688] - (SEMVER-MAJOR) build: update prerequisites on progress towards Python 3 (cclauss) #25766
  • [3c332abe28] - (SEMVER-MAJOR) build: reset embedder string to "-node.0" (Michaël Zasso) #23423
  • [765766be64] - (SEMVER-MAJOR) build: add common defines (Refael Ackermann) #23426
  • [3b5773fee3] - (SEMVER-MAJOR) build,deps: move gypfiles out 2/2 - moving (Refael Ackermann) #26685
  • [3531fe9320] - (SEMVER-MAJOR) build,deps: add NOMINMAX to V8 Windows builds (Refael Ackermann) #25852
  • [ff5d632a83] - (SEMVER-MAJOR) build,deps: fix V8 snapshot gyp dependencies (Refael Ackermann) #25852
  • [ecf98b0839] - (SEMVER-MAJOR) build,meta: quiet/pretty make output by default (Refael Ackermann) #26740
  • [2f477bd34d] - (SEMVER-MAJOR) build,win: mark x86 image as not SAFESEH (Refael Ackermann) #25852
  • [652877e3a9] - (SEMVER-MAJOR) child_process: change the defaults maxBuffer size (kohta ito) #27179
  • [9ad5106934] - (SEMVER-MAJOR) child_process: harden fork arguments validation (ZYSzys) #27039
  • [eb8a51a35c] - (SEMVER-MAJOR) child_process: use non-infinite maxBuffer defaults (kohta ito) #23027
  • [99523758dc] - (SEMVER-MAJOR) console: don't use ANSI escape codes when TERM=dumb (Vladislav Kaminsky) #26261
  • [2f1ed5c063] - (SEMVER-MAJOR) crypto: remove legacy native handles (Tobias Nießen) #27011
  • [2e2c015422] - (SEMVER-MAJOR) crypto: decode missing passphrase errors (Tobias Nießen) #25208
  • [b8018f407b] - (SEMVER-MAJOR) crypto: move DEP0113 to End-of-Life (Tobias Nießen) #26249
  • [bf3cb3f9b1] - (SEMVER-MAJOR) crypto: remove deprecated crypto._toBuf (Tobias Nießen) #25338
  • [0f63d84f80] - (SEMVER-MAJOR) crypto: set DEFAULT_ENCODING property to non-enumerable (Antoine du Hamel) #23222
  • [95e779a6e9] - (SEMVER-MAJOR) deps: silence irrelevant V8 warning (Michaël Zasso) #26685
  • [08efd3060d] - (SEMVER-MAJOR) deps: update postmortem metadata generation script (cjihrig) #26685
  • [0da7e99f98] - (SEMVER-MAJOR) deps: V8: un-cherry-pick bd019bd (Refael Ackermann) #26685
  • [b1015e0de8] - (SEMVER-MAJOR) deps: V8: cherry-pick 6 commits (Michaël Zasso) #26685
  • [8181811d73] - (SEMVER-MAJOR) deps: V8: cherry-pick d82c9af (Anna Henningsen) #26685
  • [1f03fb4d49] - (SEMVER-MAJOR) deps: V8: cherry-pick e5f01ba (Anna Henningsen) #26685
  • [e6af2207a9] - (SEMVER-MAJOR) deps: V8: cherry-pick d5f08e4 (Anna Henningsen) #26685
  • [963061bc02] - (SEMVER-MAJOR) deps: V8: cherry-pick 6b09d21 (Anna Henningsen) #26685
  • [b7338b700f] - (SEMVER-MAJOR) deps: V8: cherry-pick f0bb5d2 (Anna Henningsen) #26685
  • [02171949a0] - (SEMVER-MAJOR) deps: V8: cherry-pick 5b0510d (Anna Henningsen) #26685
  • [bf572c7831] - (SEMVER-MAJOR) deps: V8: cherry-pick 91f0cd0 (Anna Henningsen) #26685
  • [09f134fccf] - (SEMVER-MAJOR) deps: V8: cherry-pick 392316d (Anna Henningsen) #26685
  • [53ea813d5c] - (SEMVER-MAJOR) deps: V8: cherry-pick 2f79d68 (Anna Henningsen) #26685
  • [cc75ba3f14] - (SEMVER-MAJOR) deps: sync V8 gypfiles with 7.4 (Ujjwal Sharma) #26685
  • [f579e11940] - (SEMVER-MAJOR) deps: update V8 to 7.4.288.13 (Ujjwal Sharma) #26685
  • [e0b3de1e90] - (SEMVER-MAJOR) deps: bump minimum icu version to 63 (Ujjwal Sharma) #25852
  • [1c494b0a95] - (SEMVER-MAJOR) deps: silence irrelevant V8 warnings (Michaël Zasso) #25852
  • [cec35a5eb9] - (SEMVER-MAJOR) deps: V8: cherry-pick 7803fa6 (Jon Kunkee) #25852
  • [0d4d6b39a7] - (SEMVER-MAJOR) deps: V8: cherry-pick 58cefed (Jon Kunkee) #25852
  • [bea1a386a3] - (SEMVER-MAJOR) deps: V8: cherry-pick d3308d0 (Michaël Zasso) #25852
  • [cf649c9b02] - (SEMVER-MAJOR) deps: V8: cherry-pick 74571c8 (Michaël Zasso) #25852
  • [44d5401b8d] - (SEMVER-MAJOR) deps: cherry-pick fc0ddf5 from upstream V8 (Anna Henningsen) #25852
  • [cefb8029cd] - (SEMVER-MAJOR) deps: sync V8 gypfiles with 7.3 (Ujjwal Sharma) #25852
  • [d266e3e2cf] - (SEMVER-MAJOR) deps: sync V8 gypfiles with 7.2 (Michaël Zasso) #25852
  • [7b48713334] - (SEMVER-MAJOR) deps: update V8 to 7.3.492.25 (Michaël Zasso) #25852
  • [6df7bd6c3b] - (SEMVER-MAJOR) deps: add s390 asm rules for OpenSSL-1.1.1 (Shigeki Ohtsu) #19794
  • [5620727f30] - (SEMVER-MAJOR) deps: sync V8 gypfiles with 7.1 (Refael Ackermann) #23423
  • [9b4bf7de6c] - (SEMVER-MAJOR) deps: update V8 to 7.1.302.28 (Michaël Zasso) #23423
  • [3d8b844112] - (SEMVER-MAJOR) deps,build: move gypfiles out 1/2 - required changes (Refael Ackermann) #26685
  • [fff922afee] - (SEMVER-MAJOR) deps,build: compute torque_outputs in v8.gyp (Refael Ackermann) #26685
  • [4507246adc] - (SEMVER-MAJOR) deps,build: refactor v8 gypfiles (Refael Ackermann) #26685
  • [b581d59655] - (SEMVER-MAJOR) doc: update supported platforms for Node.js 12 (Rod Vagg) #26714
  • [309e7723ea] - (SEMVER-MAJOR) doc: update behaviour of fs.writeFile (Sakthipriyan Vairamani (thefourtheye)) #25080
  • [89740a4f0e] - (SEMVER-MAJOR) doc: add internal functionality details of util.inherits (Ruben Bridgewater) #24755
  • [1ed3c54ecb] - (SEMVER-MAJOR) errors: update error name (Ruben Bridgewater) #26738
  • [abafd38c8d] - (SEMVER-MAJOR) fs: use proper .destroy() implementation for SyncWriteStream (Matteo Collina) #26690
  • [1cdeb9f956] - (SEMVER-MAJOR) fs: improve mode validation (Ruben Bridgewater) #26575
  • [70f4f08a9f] - (SEMVER-MAJOR) fs: harden validation of start option in createWriteStream (ZYSzys) #25579
  • [8f4b924f4a] - (SEMVER-MAJOR) fs: make writeFile consistent with readFile wrt fd (Sakthipriyan Vairamani (thefourtheye)) #23709
  • [907941d48e] - (SEMVER-MAJOR) http: validate timeout in ClientRequest() (cjihrig) #26214
  • [bcf2886a84] - (SEMVER-MAJOR) http: return HTTP 431 on HPE_HEADER_OVERFLOW error (Albert Still) #25605
  • [2cb8f24751] - (SEMVER-MAJOR) http: switch default parser to llhttp (Anna Henningsen) #24870
  • [91748dd89c] - (SEMVER-MAJOR) http: change DEP0066 to a runtime deprecation (Morgan Roderick) #24167
  • [f3b49cfa7b] - (SEMVER-MAJOR) http: else case is not reachable (szabolcsit) #24176
  • [bd9109c241] - (SEMVER-MAJOR) lib: move DEP0021 to end of life (cjihrig) #27127
  • [15c0947fee] - (SEMVER-MAJOR) lib: remove Atomics.wake (Gus Caplan) #27033
  • [3fe1e80896] - (SEMVER-MAJOR) lib: validate Error.captureStackTrace() calls (Ruben Bridgewater) #26738
  • [bfbce289c3] - (SEMVER-MAJOR) lib: refactor Error.captureStackTrace() usage (Ruben Bridgewater) #26738
  • [f9ddbb6b2f] - (SEMVER-MAJOR) lib: move DTRACE_* probes out of global scope (James M Snell) #26541
  • [c7e628f8b3] - (SEMVER-MAJOR) lib: deprecate _stream_wrap (Sam Roberts) #26245
  • [be78266fb3] - (SEMVER-MAJOR) lib: don't use util.inspect() internals (Ruben Bridgewater) #24971
  • [a02e3e2d5f] - (SEMVER-MAJOR) lib: improve error message for MODULE_NOT_FOUND (Ali Ijaz Sheikh) #25690
  • [05cd1a0929] - (SEMVER-MAJOR) lib: requireStack property for MODULE_NOT_FOUND (Ali Ijaz Sheikh) #25690
  • [29d3d1ea13] - (SEMVER-MAJOR) lib: move DEP0029 to end of life (cjihrig) #25377
  • [a665d13ad9] - (SEMVER-MAJOR) lib: move DEP0028 to end of life (cjihrig) #25377
  • [10df21b071] - (SEMVER-MAJOR) lib: move DEP0027 to end of life (cjihrig) #25377
  • [2d578ad996] - (SEMVER-MAJOR) lib: move DEP0026 to end of life (cjihrig) #25377
  • [853bee0acf] - (SEMVER-MAJOR) lib: move DEP0023 to end of life (cjihrig) #25280
  • [d4934ae6f2] - (SEMVER-MAJOR) lib: move DEP0006 to end of life (cjihrig) #25279
  • [4100001624] - (SEMVER-MAJOR) lib: remove unintended access to deps/ (Anna Henningsen) #25138
  • [b416dafb87] - (SEMVER-MAJOR) lib: move DEP0120 to end of life (cjihrig) #24862
  • [59257543c3] - (SEMVER-MAJOR) lib: use ES6 class inheritance style (Ruben Bridgewater) #24755
  • [dcc82b37b6] - (SEMVER-MAJOR) lib: remove inherits() usage (Ruben Bridgewater) #24755
  • [d11c4beb4b] - (SEMVER-MAJOR) module: remove dead code (Ruben Bridgewater) #26983
  • [75007d64c0] - (SEMVER-MAJOR) module: mark DEP0019 as End-of-Life (Ruben Bridgewater) #26973
  • [115f0f5a57] - (SEMVER-MAJOR) module: throw an error for invalid package.json main entries (Ruben Bridgewater) #26823
  • [60ce2fd827] - (SEMVER-MAJOR) module: don't search in require.resolve.paths (cjihrig) #23683
  • [f0f26cedcc] - (SEMVER-MAJOR) n-api: remove code from error name (Ruben Bridgewater) #26738
  • [96204c3c71] - (SEMVER-MAJOR) net: do not manipulate potential user code (Ruben Bridgewater) #26751
  • [9389b464ea] - (SEMVER-MAJOR) net: emit "write after end" errors in the next tick (Ouyang Yadong) #24457
  • [1523111250] - (SEMVER-MAJOR) net: deprecate _setSimultaneousAccepts() undocumented function (James M Snell) #23760
  • [802ea05a37] - (SEMVER-MAJOR) net,http2: merge setTimeout code (ZYSzys) #25084
  • [16e4cd19f2] - (SEMVER-MAJOR) os: implement os.type() using uv_os_uname() (cjihrig) #25659
  • [53ebd3311d] - (SEMVER-MAJOR) process: global.process, global.Buffer getters (Guy Bedford) #26882
  • [fa5e097530] - (SEMVER-MAJOR) process: move DEP0062 (node --debug) to end-of-life (Joyee Cheung) #25828
  • [154efc9bde] - (SEMVER-MAJOR) process: exit on --debug and --debug-brk after option parsing (Joyee Cheung) #25828
  • [3439c955ab] - (SEMVER-MAJOR) process: improve --redirect-warnings handling (Ruben Bridgewater) #24965
  • [d3a62fe7fc] - (SEMVER-MAJOR) readline: support TERM=dumb (Vladislav Kaminsky) #26261
  • [fe963149f6] - (SEMVER-MAJOR) repl: add welcome message (gengjiawen) #25947
  • [97737fd5fb] - (SEMVER-MAJOR) repl: fix terminal default setting (Ruben Bridgewater) #26518
  • [82b3ee776b] - (SEMVER-MAJOR) repl: check colors with .getColorDepth() (Vladislav Kaminsky) #26261
  • [584305841d] - (SEMVER-MAJOR) repl: deprecate REPLServer.rli (Ruben Bridgewater) #26260
  • [bf766c1b44] - (SEMVER-MAJOR) src: remove unused INT_MAX constant (Sam Roberts) #27078
  • [7df9e77236] - (SEMVER-MAJOR) src: update NODE_MODULE_VERSION to 72 (Ujjwal Sharma) #26685
  • [96c3224de0] - (SEMVER-MAJOR) src: remove AddPromiseHook() (Anna Henningsen) #26574
  • [9577f7724d] - (SEMVER-MAJOR) src: update NODE_MODULE_VERSION to 71 (Michaël Zasso) #25852
  • [6d9aa73b1f] - (SEMVER-MAJOR) src: clean up MultiIsolatePlatform interface (Anna Henningsen) #26384
  • [1d996f58af] - (SEMVER-MAJOR) src: properly configure default heap limits (Ali Ijaz Sheikh) #25576
  • [9021b0d3fc] - (SEMVER-MAJOR) src: remove icuDataDir from node config (GauthamBanasandra) #24780
  • [a6f69ebc05] - (SEMVER-MAJOR) src: explicitly allow JS in ReadHostObject (Yang Guo) #23423
  • [3d25544148] - (SEMVER-MAJOR) src: update postmortem constant (cjihrig) #23423
  • [23603447ad] - (SEMVER-MAJOR) src: update NODE_MODULE_VERSION to 68 (Michaël Zasso) #23423
  • [afad3b443e] - (SEMVER-MAJOR) test: update postmortem metadata test for V8 7.4 (cjihrig) #26685
  • [e96e3f9eb0] - (SEMVER-MAJOR) test: remove redundant common.mustCall (Ruben Bridgewater) #26738
  • [01b112a031] - (SEMVER-MAJOR) test: update postmortem metadata test for V8 7.3 (cjihrig) #25852
  • [38ad285a2e] - (SEMVER-MAJOR) test: fix tests after V8 update (Michaël Zasso) #25852
  • [260d5f8c3b] - (SEMVER-MAJOR) test: update test-v8-stats (Michaël Zasso) #25852
  • [78c8491a7e] - (SEMVER-MAJOR) test: remove apply calls over 65534 arg limit (Peter Marshall) #25852
  • [22a9fe3552] - (SEMVER-MAJOR) test: add test for net-socket-setTimeout callback (ZYSzys) #25084
  • [379bf1aa8e] - (SEMVER-MAJOR) test: update postmortem metadata test for V8 7.1 (cjihrig) #23423
  • [624a242b05] - (SEMVER-MAJOR) test: simplify regression test for SEGV (Sam Roberts) #24241
  • [42dbaed460] - (SEMVER-MAJOR) tls: support TLSv1.3 (Sam Roberts) #26209
  • [0f745bf9bd] - (SEMVER-MAJOR) tls: return correct version from getCipher() (Sam Roberts) #26625
  • [6b7c402518] - (SEMVER-MAJOR) tls: check arg types of renegotiate() (Sam Roberts) #25876
  • [b05b330025] - (SEMVER-MAJOR) tls: add code for ERR_TLS_INVALID_PROTOCOL_METHOD (Sam Roberts) #24729
  • [9b2ffff62c] - (SEMVER-MAJOR) tls: emit a warning when servername is an IP address (Rodger Combs) #23329
  • [60eca6a5d4] - (SEMVER-MAJOR) tls: disable TLS v1.0 and v1.1 by default (Ben Noordhuis) #23814
  • [3b4159c8ed] - (SEMVER-MAJOR) tls: remove unused arg to createSecureContext() (Sam Roberts) #24241
  • [246a6fc107] - (SEMVER-MAJOR) tls: deprecate Server.prototype.setOptions() (cjihrig) #23820
  • [87719d792b] - (SEMVER-MAJOR) tls: load NODE_EXTRA_CA_CERTS at startup (Ouyang Yadong) #23354
  • [c9fece38c8] - (SEMVER-MAJOR) util: change inspect compact and breakLength default (Ruben Bridgewater) #27109
  • [892c51f330] - (SEMVER-MAJOR) util: improve inspect edge cases (Ruben Bridgewater) #27109
  • [63e13fd220] - (SEMVER-MAJOR) util: only the first line of the error message (Simon Zünd) #26685
  • [b5ea925c8e] - (SEMVER-MAJOR) util: don't set the prototype of callbackified functions (Ruben Bridgewater) #26893
  • [46bf0d0f4f] - (SEMVER-MAJOR) util: rename callbackified function (Ruben Bridgewater) #26893
  • [61d1334e5b] - (SEMVER-MAJOR) util: increase function length when using callbackify() (Ruben Bridgewater) #26893
  • [5672ab7668] - (SEMVER-MAJOR) util: prevent tampering with internals in inspect() (Ruben Bridgewater) #26577
  • [a32cbe1597] - (SEMVER-MAJOR) util: fix proxy inspection (Ruben Bridgewater) #26241
  • [7b674697d8] - (SEMVER-MAJOR) util: prevent leaking internal properties (Ruben Bridgewater) #24971
  • [1847696f4b] - (SEMVER-MAJOR) util: protect against monkeypatched Object prototype for inspect() (Rich Trott) #25953
  • [c1b9be53c8] - (SEMVER-MAJOR) util: treat format arguments equally (Roman Reiss) #23162
  • [cda6b20816] - (SEMVER-MAJOR) win, fs: detect if symlink target is a directory (Bartosz Sosnowski) #23724
  • [9a2654601e] - (SEMVER-MAJOR) zlib: throw TypeError if callback is missing (Anna Henningsen) #24929
  • [4eee55d354] - (SEMVER-MAJOR) zlib: make “bare” constants un-enumerable (Anna Henningsen) #24824
  • Semver-Minor Commits:
  • [3d8532f851] - (SEMVER-MINOR) buffer: add {read|write}Big[U]Int64{BE|LE} methods (Nikolai Vavilov) #19691
  • [969bd1eb7b] - (SEMVER-MINOR) crypto: add support for RSA-PSS keys (Tobias Nießen) #26960
  • [7d0e50dcfe] - (SEMVER-MINOR) crypto: add crypto.sign() and crypto.verify() (Brian White) #26611
  • [bcbd35a48d] - (SEMVER-MINOR) crypto: add openssl specific error properties (Sam Roberts) #26868
  • [85fda7e848] - (SEMVER-MINOR) crypto: add support for x25119 and x448 KeyObjects (Filip Skokan) #26774
  • [3a9592496c] - (SEMVER-MINOR) crypto: add support for EdDSA key pair generation (Tobias Nießen) #26554
  • [4895927a0a] - (SEMVER-MINOR) crypto: add KeyObject.asymmetricKeySize (Patrick Gansterer) #26387
  • [2161690024] - (SEMVER-MINOR) deps: update nghttp2 to 1.38.0 (gengjiawen) #27295
  • [ffd2df063c] - (SEMVER-MINOR) doc: update util colors (Ruben Bridgewater) #27052
  • [b1094dbe19] - (SEMVER-MINOR) esm: phase two of new esm implementation (guybedford) #26745
  • [e0e3084482] - (SEMVER-MINOR) inspector: implement --cpu-prof[-path] (Joyee Cheung) #27147
  • [9f1282d536] - (SEMVER-MINOR) lib: move queueMicrotask to stable (Gus Caplan) #25594
  • [9b6b567bc4] - (SEMVER-MINOR) lib,src,doc: add --heapsnapshot-signal CLI flag (cjihrig) #27133
  • [9dcc9b6a6b] - (SEMVER-MINOR) process: add --unhandled-rejections flag (Ruben Bridgewater) #26599
  • [ece507394a] - (SEMVER-MINOR) src: do not reuse async resource in http parsers (Daniel Beckert) #25094
  • [2755471bf3] - (SEMVER-MINOR) src: print error before aborting (Ruben Bridgewater) #26599
  • [ca9c0c90c2] - (SEMVER-MINOR) src: add .code and SSL specific error properties (Sam Roberts) #25093
  • [8c69e06972] - (SEMVER-MINOR) tls: return an OpenSSL error from renegotiate (Sam Roberts) #26868
  • [90e958aa4d] - (SEMVER-MINOR) util: only sort weak entries once (Ruben Bridgewater) #27052
  • [1940114ac3] - (SEMVER-MINOR) util: highlight stack frames (Ruben Bridgewater) #27052
  • Semver-Patch Commits:
  • [75463a9004] - assert: fix rejects stack trace and operator (Ruben Bridgewater) #27047
  • [d3d4e10107] - async_hooks: improve AsyncResource performance (Anatoli Papirovski) #27032
  • [3973354951] - benchmark: fix buffer-base64-decode.js (Rich Trott) #27260
  • [f98679f3b2] - benchmark: add benchmark for dns.promises.lookup() (Rich Trott) #27249
  • [29d0b43426] - benchmark: fix http headers benchmark (Anatoli Papirovski) #27021
  • [77dee25efd] - benchmark: remove deprecated argument (Rich Trott) #27091
  • [b08a867d60] - benchmark,doc,lib: capitalize more comments (Ruben Bridgewater) #26849
  • [d834275a48] - buffer: fix custom inspection with extra properties (Ruben Bridgewater) #27074
  • [75eaf25e78] - buffer: use stricter from() input validation (Ruben Bridgewater) #26825
  • [5aaf666b3b] - build: improve embedded code-cache detection (Refael Ackermann) #27311
  • [d17dfc7bb1] - build: remove redundant pyenv call in Travis build (Richard Lau) #27247
  • [14df42fd00] - build: run mkcodecache as an action (Refael Ackermann) #27161
  • [b468a1dfc3] - build: pin Python version in Travis (Richard Lau) #27166
  • [7b0d867389] - build: fix test failures not failing Travis builds (Richard Lau) #27176
  • [56354d480d] - build: run flaky tests in Travis (Anna Henningsen) #27158
  • [72f4a830d7] - build: tidy up additional libraries on Windows (Richard Lau) #27138
  • [af03de48d8] - build: don't use lint-ci on Travis (Richard Lau) #27062
  • [41ba699973] - build: update configure for Node.js 12 (Richard Lau) #26719
  • [20a917c571] - build: move optimizing link directives to node.exe target (Refael Ackermann) #25931
  • [4698757610] - build,deps: remove cygwin configuration which is not supported (Refael Ackermann) #25931
  • [cd5c7bf240] - build,deps: use PCH also for v8_initializers (Refael Ackermann) #25931
  • [6608cf286d] - build,deps,v8: tie up loose ends (Refael Ackermann) #26666
  • [6ac80f0e2b] - build,src: add PCH to node.gypi (Refael Ackermann) #25931
  • [f216d5bbb1] - build,test: fail coverage target if tests fail (Refael Ackermann) #25432
  • [82b798907d] - build,tools: add more headers to V8 PCH file (Refael Ackermann) #25931
  • [d66c7e3470] - build,win: deprecate vcbuild test-ci (Refael Ackermann) #27231
  • [0fc27f6bc0] - build,win: bail vcbuild if mklink fails (Refael Ackermann) #27216
  • [88beaf01f1] - build,win: rename node.lib to libnode.lib (Refael Ackermann) #27150
  • [25df3c10f4] - build,win: put all compilation artifacts into out (Refael Ackermann) #27149
  • [06c10cdc4c] - build,win: teach GYP MSVS generator about MARMASM (Jon Kunkee) #26020
  • [2ffd20bb91] - build,win: emit MSBuild summary (Refael Ackermann) #25931
  • [ff4adab78c] - build,win: always build with PCH (Refael Ackermann) #25931
  • [28e2c3771d] - child_process: rename _validateStdtio to getValidStdio (Ruben Bridgewater) #26809
  • [091902ae00] - console: remove trace frame (Ruben Bridgewater) #27159
  • [a8eac78f8d] - Revert "console: use consolePropAttributes for k-bind properties in constructor" (Daniel Bevenius) #26943
  • [ed5e69d7e6] - console: use consolePropAttributes for k-bind properties in constructor (Beni von Cheni) #26850
  • [69140bc7f8] - crypto: do not abort when setting throws (Sam Roberts) #27157
  • [0911e88056] - crypto: fix rsa key gen with non-default exponent (Sam Roberts) #27092
  • [fadcb2d850] - crypto: simplify missing passphrase detection (Tobias Nießen) #27089
  • [73bca57988] - crypto: fail early if passphrase is too long (Tobias Nießen) #27010
  • [05bd6071a6] - crypto: use EVP_PKEY_X448 in GetEphemeralKeyInfo (cjihrig) #26988
  • [6ac692a3db] - crypto: use EVP_PKEY_X25519 in GetEphemeralKeyInfo (cjihrig) #26988
  • [7c1fc93e30] - crypto: don't crash on unknown asymmetricKeyType (Filip Skokan) #26786
  • [df1c9eb975] - crypto: rename generateKeyPairEdDSA (Tobias Nießen) #26900
  • [751c92d972] - crypto: remove obsolete encoding check (Ruben Bridgewater) #26809
  • [6f77af541e] - Revert "crypto: add KeyObject.asymmetricKeySize" (Tobias Nießen) #26636
  • [247c14c040] - crypto: fix EdDSA support for KeyObject (Brian White) #26319
  • [90cf2d5f00] - deps: use nghttp2's config.h on all platforms (Sam Roberts) #27283
  • [aec2ce4ee1] - deps: upgrade to libuv 1.28.0 (cjihrig) #27241
  • [7f29117de3] - deps: patch V8 to 7.4.288.21 (Matheus Marchini) #27265
  • [033f6b566e] - deps: upgrade npm to 6.9.0 (Kat Marchán) #26244
  • [135b79a31d] - deps: patch V8 to 7.4.288.18 (Michaël Zasso) #27066
  • [c1d61f2b4b] - deps: patch V8 to 7.4.288.17 (Michaël Zasso) #27066
  • [5b8434eebc] - deps: V8: cherry-pick 0188634 (Michaël Zasso) #27013
  • [8cc181c8ee] - deps: V8: cherry-pick c8785d1 (Michaël Zasso) #27013
  • [2ea9de2e85] - deps: V8: cherry-pick f4b860d (Michaël Zasso) #27013
  • [ddbb7d7777] - deps: cherry-pick 56f6a76 from upstream V8 (Ruben Bridgewater) #25269
  • [59fa7f1257] - deps: cherry-pick 26b145a from upstream V8 (Sam Roberts) #25148
  • [a9812142ca] - deps: patch V8 to 7.1.302.33 (Ruben Bridgewater) #25101
  • [f0e460968e] - deps: remove test-related GYP files (Michaël Zasso) #25097
  • [323a365766] - deps: float 26d7fce1 from openssl (Rod Vagg) #24353
  • [d8fb81fab3] - deps: float 99540ec from openssl (CVE-2018-0735) (Rod Vagg) #23950
  • [213c7d2d64] - deps: float a9cfb8c2 from openssl (CVE-2018-0734) (Rod Vagg) #23965
  • [e2260e901d] - deps: float 415c3356 from openssl (DSA vulnerability) (Rod Vagg) #23965
  • [e356807a79] - deps,test: bump googletest to 39f72ea6f5 (Refael Ackermann) #27231
  • [8e308e8b28] - deps,v8: cherry-pick 385aa80 (Refael Ackermann) #26702
  • [d1b7193428] - deps,v8: silence V8 self-deprecation warnings (Refael Ackermann) #25394
  • [9e960175d1] - dgram: add support for UDP connected sockets (Santiago Gimeno) #26871
  • [09cdc37824] - dns: do not indicate invalid IPs are IPv6 (Rich Trott) #27081
  • [bc2d258a3e] - dns: refactor internal/dns/promises.js (Rich Trott) #27081
  • [72308a5deb] - doc: simplify nomination process text (Rich Trott) #27317
  • [290faec0e7] - doc: fix extname with the correct description (himself65) #27303
  • [d4dae5e1ca] - doc: simplify bullet points in GOVERNANCE.md (Rich Trott) #27284
  • [ba74e42000] - doc: revise Collaborator Nominations introduction (Rich Trott) #27237
  • [c61c722c8c] - doc: add ABI version registry (Rod Vagg) #24114
  • [7938238b31] - doc: add internal documentation (Aymen Naghmouchi) #26665
  • [82e6c3378f] - doc: revise TSC Meetings material in GOVERNANCE.md (Rich Trott) #27204
  • [d5f9cf81e3] - doc: fix some links (Vse Mozhet Byt) #27141
  • [7b854959e7] - doc: revise TSC text in GOVERNANCE.md (Rich Trott) #27169
  • [9b859f50d5] - doc: add missing n-api version indicator (Michael Dawson) #27155
  • [41d5666aaa] - doc: consolidate Collaborator status in GOVERNANCE (Rich Trott) #27128
  • [1656cd2edb] - doc: remove outdated link (cjihrig) #27126
  • [643a2fa447] - doc: specify return type for tty.isatty() (Mykola Bilochub) #27154
  • [557bd861aa] - doc: revise Collaborator material in GOVERNANCE.md (Rich Trott) #27103
  • [1afec97130] - doc: link bigint type to MDN instead of proposal (Vse Mozhet Byt) #27101
  • [21b739fb69] - doc: add missing step to npm release process (Myles Borins) #27105
  • [181052d7c2] - doc: revise Collaborator description in GOVERNANCE.md (Rich Trott) #27071
  • [10eaf6a09f] - doc: fix section sorting, add link reference (Vse Mozhet Byt) #27075
  • [d989e20717] - doc: describe tls.DEFAULT_MIN_VERSION/_MAX_VERSION (Sam Roberts) #26821
  • [0622ce6e7f] - doc: fix changelog date typo (Jesse McCarthy) #26831
  • [cd9898a52a] - doc: add missing pr-url (cjihrig) #26753
  • [06879aafee] - doc: fix year in changelog (Colin Prince) #26584
  • [7e0ddf66b9] - doc: fix deprecation "End-of-Life" capitalization (Tobias Nießen) #26251
  • [3d4db3a7bf] - doc: fix metadata of DEP0114 (Tobias Nießen) #26250
  • [ccf37b3a84] - doc: fix deprecations metadata (Richard Lau) #25434
  • [3614157b78] - doc: fix lint in CHANGELOG_V6 (Myles Borins) #25233
  • [928f776385] - doc: add missing pr-url (cjihrig) #25091
  • [43273262e5] - doc: describe secureProtocol and CLI interaction (Sam Roberts) #24386
  • [34eccb2a1b] - doc: fix missing PR id of 23329 (Ouyang Yadong) #24458
  • [db2ac1dbd9] - doc: fix headings for CHANGELOG_v10.md (Myles Borins) #23973
  • [c99026bdd7] - doc: update missing deprecation (cjihrig) #23883
  • [4afd503465] - doc,test,repl: fix deprecation code (cjihrig) #26368
  • [3b044962c4] - errors: add more information in case of invalid callbacks (Ruben Bridgewater) #27048
  • [96e46d37c4] - esm: replace --entry-type with --input-type (Geoffrey Booth) #27184
  • [5e98f875b9] - esm: fix typos (Geoffrey Booth) #27067
  • [7a547098d5] - esm: use primordials (Myles Borins) #26954
  • [2400cbcf7c] - fs: fix infinite loop with async recursive mkdir on Windows (Richard Lau) #27207
  • [b925379f50] - fs: warn on non-portable mkdtemp() templates (cjihrig) #26980
  • [eb2d4161f5] - fs: improve readFile performance (Ruben Bridgewater) #27063
  • [92db780d9e] - http2: rename function for clarity (Ruben Bridgewater) #26809
  • [ce265908eb] - http2: remove side effects from validateSettings (Ruben Bridgewater) #26809
  • [cd3a9eebca] - https: remove usage of public require('util') (dnlup) #26772
  • [49d3d11ba7] - inspector: split --cpu-prof-path to --cpu-prof-dir and --cpu-prof-name (Joyee Cheung) #27306
  • [94adfe9831] - lib: replace --diagnostic-report-* with --report-* (Joyee Cheung) #27312
  • [49ee010005] - lib: use getOptionValue instead of process underscore aliases (Joyee Cheung) #27278
  • [a38e9c438a] - lib: require globals instead of using the global proxy (Joyee Cheung) #27112
  • [914d6c9ab8] - lib: use primordials in domexception.js (Joyee Cheung) #27171
  • [3da36d0e94] - lib: create primordials in every context (Joyee Cheung) #27171
  • [908292cf1f] - lib: enforce the use of Object from primordials (Michaël Zasso) #27146
  • [47f5cc1ad1] - lib: faster FreeList (Anatoli Papirovski) #27021
  • [5b9e57012a] - lib: add signal name validator (cjihrig) #27137
  • [112cc7c275] - lib: use safe methods from primordials (Michaël Zasso) #27096
  • [5a8c55f078] - lib: fix outdated comment (Vse Mozhet Byt) #27122
  • [de23055536] - lib: remove env: node in eslint config for lib files (Joyee Cheung) #27082
  • [2c49e8b537] - lib: make queueMicrotask faster (Anatoli Papirovski) #27032
  • [0817840f77] - lib: force using primordials for JSON, Math and Reflect (Michaël Zasso) #27027
  • [7bddfcc61a] - lib: consolidate arrayBufferView validation (Ruben Bridgewater) #26809
  • [6c913fb028] - lib: remove return values from validation functions (Ruben Bridgewater) #26809
  • [50a3fe20ea] - lib: rename validateMode to parseMode (Ruben Bridgewater) #26809
  • [76e67e9884] - lib: assign missed deprecation code (Anna Henningsen) #26492
  • [f3b5cc0807] - meta: travis: run compilation jobs first (Refael Ackermann) #27205
  • [7c816b7588] - module: explicitly initialize CJS loader (Joyee Cheung) #27313
  • [d6317d0a45] - module: remove usage of require('util') (dnlup) #26803
  • [ff89670902] - n-api: reduce gc finalization stress (Michael Dawson) #27085
  • [655c90b287] - net: inline maybeDestroy() (Luigi Pinca) #27136
  • [f0b3855a90] - net: remove usage of require('util') (dnlup) #26920
  • [9946c59707] - path: simplify normalizeString (Ruben Bridgewater) #27240
  • [9dba96dc1a] - process: patch more process properties during pre-execution (Joyee Cheung) #26945
  • [d4eda4d876] - process: remove protection for SyncWriteStream destroy in stdio (Matteo Collina) #26902
  • [2701f5538f] - readline: remove usage of require('util') (dnlup) #26818
  • [415a825dc0] - repl: remove usage of require('util') in repl.js (dnlup) #26820
  • [af35d4044f] - report: use uv_gettimeofday for dumpEventTimeStamp (cjihrig) #27029
  • [44a3acb627] - report: improve signal name validation (cjihrig) #27137
  • [e3032708e0] - report: add support for UDP connected sockets (Richard Lau) #27072
  • [8e1e9946a9] - src: use uv_gettimeofday() to get microseconds (cjihrig) #27029
  • [8eaf31181a] - src: apply modernize-use-nullptr in node_win32_etw_provider.cc (gengjiawen) #27263
  • [19e3e02a2d] - src: move SIGINT watchdog utils to the contextify binding (Joyee Cheung) #27290
  • [5356b4a675] - src: split per-process initialization and teardown routines (Joyee Cheung) #27276
  • [8d901bb44e] - src: move guessHandleType in the util binding (Joyee Cheung) #27289
  • [758191033f] - src: fix performance-faster-string-find in node_report.cc (gengjiawen) #27262
  • [dc8b57fdc1] - src: use ArrayBufferAllocator::Create in node_worker.cc (Anna Henningsen) #27251
  • [f9da3f0cce] - src: enable non-nestable V8 platform tasks (Anna Henningsen) #27252
  • [3ef1512f9e] - src: allows escaping NODE_OPTIONS with backslashes (Maël Nison) #24065
  • [cdba9f23ec] - src: handle fatal error when Environment is not assigned to context (Joyee Cheung) #27236
  • [83d1ca7de9] - src: disallow calling env-dependent methods during bootstrap (Joyee Cheung) #27234
  • [cab1dc5bb3] - src: use RAII to manage the main isolate data (Joyee Cheung) #27220
  • [1e7823dd4e] - src: remove redundant call in node_options-inl.h (gengjiawen) #26959
  • [73471236d8] - src: remove unimplemented method in TracingAgent (gengjiawen) #26959
  • [427fce711f] - src: fix check for accepting Buffers into Node’s allocator (Anna Henningsen) #27174
  • [dfd7e99425] - src: make a Environment-independent proxy class for NativeModuleLoader (Joyee Cheung) #27160
  • [060d901f87] - src: replace FromJust() with Check() when possible (Sam Roberts) #27162
  • [ee7daf76c0] - src: remove redundant string initialization (gengjiawen) #27152
  • [845a6214f8] - src: use macro instead of magic number for fd (gengjiawen) #27152
  • [547576f530] - src: always use diagnostic file sequence number (cjihrig) #27142
  • [c1e03eda07] - src: use SealHandleScope for inspector tasks (Anna Henningsen) #27116
  • [a3f30a48c2] - src: unify crypto constant setup (Sam Roberts) #27077
  • [97c0a34935] - src: don't point to out of scope variable (cjihrig) #27070
  • [864860e9f3] - src: port coverage serialization to C++ (Joyee Cheung) #26874
  • [d0e2650d03] - src: add NOLINT to js_native_.* (gengjiawen) #26884
  • [eb2dccb17a] - src: move AsyncResource impl out of public header (Ben Noordhuis) #26348
  • [e1d55a0cbc] - src: port bootstrap/cache.js to C++ (Joyee Cheung) #27046
  • [f59ec2abee] - src: implement MemoryRetainer in Environment (Joyee Cheung) #27018
  • [1087805eeb] - src: check return value, silence coverity warning (Ben Noordhuis) #26997
  • [bb98f27181] - src: check uv_fs_close() return value (cjihrig) #26967
  • [8bc7d2a5be] - src: fix data type when using uv_get_total_memory() (gengjiawen) #26886
  • [c0f031c5bd] - src: remove unused variable (cjihrig) #26879
  • [1935625df4] - src: disallow constructor behaviour for native methods (Anna Henningsen) #26700
  • [f091d4e840] - src: apply clang-tidy rule modernize-use-emplace (gengjiawen) #26564
  • [f47adfbda5] - src: fix DTrace GC callbacks DCHECKs and add cleanup (Joyee Cheung) #26742
  • [0752a18b88] - src: fix warning in node_messaging (ZYSzys) #26682
  • [b200a46bef] - src: remove process.binding('config').debugOptions (Joyee Cheung) #25999
  • [c2d374fccc] - src: remove unused method in env.h (gengjiawen) #25934
  • [55569759b3] - src: pass along errors from PromiseWrap instantiation (Anna Henningsen) #25734
  • [24e6b709ea] - src: use isolate version of BooleanValue() (cjihrig) #24883
  • [b0089a580f] - src: make model counter in GetCPUInfo() unsigned (Anna Henningsen) #23880
  • [53e0f632db] - stream: inline onwriteStateUpdate() (Luigi Pinca) #27203
  • [1a67c9948c] - stream: remove dead code (Marcos Casagrande) #27125
  • [a3d1922958] - test: unskip copyfile permission test (cjihrig) #27241
  • [b368571fba] - test: move known issue test to parallel (cjihrig) #27241
  • [528d100394] - test: mark some known flakes (Refael Ackermann) #27225
  • [e37eee2b1e] - test: remove flaky designation for test-cli-node-options (Rich Trott) #27305
  • [7167eb2f12] - test: increase coverage for dns.promises.lookup() (Rich Trott) #27299
  • [b66f01d903] - test: skip test-cpu-prof in debug builds with code cache (Joyee Cheung) #27308
  • [57ab3b56fc] - test: allow leaked global check to be skipped (cjihrig) #27239
  • [02885dad5a] - test: add ability to skip common flag checks (Anna Henningsen) #27254
  • [ed893111b9] - test: do not strip left whitespace in pseudo-tty tests (Ruben Bridgewater) #27244
  • [8712edf53a] - test: fix postmortem metadata test (Matheus Marchini) #27265
  • [d5bb500d0f] - test: fix test-benchmark-buffer (Rich Trott) #27260
  • [4f8b497991] - test: try to stabalize test-child-process-fork-exec-path.js (Refael Ackermann) #27277
  • [c6c37e9e85] - test: use assert.rejects() and assert.throws() (Richard Lau) #27207
  • [f85ef977e6] - test: log errors in test-fs-readfile-tostring-fail (Richard Lau) #27058
  • [de463f1490] - test: ec2 generateKeyPairSync invalid parameter encoding (Ruwan Geeganage) #27212
  • [2fed83dee8] - test: test privateEncrypt/publicDecrypt + padding (Ben Noordhuis) #27188
  • [f6bd3b27ee] - test: fix test-dns-idna2008.js (Rich Trott) #27208
  • [8cf3af1486] - test: optimize total Travis run time (Refael Ackermann) #27182
  • [abe4183d41] - test: mark some known flakes (Refael Ackermann) #27193
  • [06c803d9b9] - test: pass null params to napi_create_function() (Octavian Soldea) #26998
  • [2a51ae424a] - test: cover thenables when we check for promises (szabolcsit) #24219
  • [3a6eba3de6] - test: use assert.rejects (Ruben Bridgewater) #27123
  • [3d6533ea02] - test: simplify vm-module-errors test (Ruben Bridgewater) #27123
  • [d1413305e0] - test: print child stderr in test-http-chunk-problem (Anna Henningsen) #27117
  • [f96a6608eb] - test: fix test-worker-memory.js for large cpu #s (Michael Dawson) #27090
  • [93df085386] - test: fix this scope bug in test-stream2-writable.js (gengjiawen) #27111
  • [58aaf58406] - test: fix test-repl-require-after-write (Michaël Zasso) #27088
  • [baa54a5ae7] - test: cover napi_get/set/has_named_property() (Gabriel Schulhof) #26947
  • [c86883cfac] - test: fix test-benchmark-module (Rich Trott) #27094
  • [f13733d12d] - test: test vm.runInNewContext() filename option (Ben Noordhuis) #27056
  • [666c67e078] - test: simplify date inspection tests (Ruben Bridgewater) #26922
  • [1375af204a] - test: revert fail coverage target if tests fail" (Michael Dawson) #25543
  • [3235d318dc] - test: add test for _setSimultaneousAccepts() (Andrey Melikhov) #24180
  • [9e8c9be3ff] - timers: rename validateTimerDuration to getTimerDuration (Ruben Bridgewater) #26809
  • [a1d05e49fe] - timers: support name in validateTimerDuration() (cjihrig) #26215
  • [2d5387e143] - tls: add debugging to native TLS code (Anna Henningsen) #26843
  • [f87b3a72cd] - tls: add CHECK for impossible condition (Anna Henningsen) #26843
  • [a1330af6a3] - tls: remove usage of public require('util') (dnlup) #26747
  • [00d49ad673] - tls: null not valid as a renegotiate callback (Sam Roberts) #25929
  • [54b4beb506] - tls: support TLS_client_method, TLS_server_method (Sam Roberts) #24386
  • [5ac0308af9] - tools: refactor mkcodecache (Refael Ackermann) #27161
  • [4fd7193579] - tools: implement mkcodecache as an executable (Joyee Cheung) #27161
  • [d4e743169e] - tools: update js-yaml to 3.13.1 for lint-md.js (Rich Trott) #27195
  • [1fc4255221] - tools: python: ignore instead of select flake8 rules (Refael Ackermann) #25614
  • [a16a0fe962] - tools: python: activate more flake8 rules (Refael Ackermann) #25614
  • [0befda6970] - tools: python: update flake8 rules (Refael Ackermann) #25614
  • [0a25ace9c3] - tools: move cpplint configuration to .cpplint (Refael Ackermann) #27098
  • [cd2987f83f] - tools: refloat 4 Node.js patches to cpplint.py (Refael Ackermann) #27098
  • [1302e0174a] - tools: bump cpplint.py to 1.4.4 (Refael Ackermann) #27098
  • [dd89a1182f] - tools: print a better message for unexpected use of globals (Michaël Zasso) #27083
  • [39141426d4] - tools: update capitalize-comments eslint rule (Ruben Bridgewater) #26849
  • [964174e339] - tools,doc: fix 404 broken links in docs (Gerson Niño) #27168
  • [bbfa93af3d] - url: refactor validateHostname (Ruben Bridgewater) #26809
  • [2e4ceb5747] - util: access process states lazily in debuglog (Joyee Cheung) #27281
  • [2948e96afd] - util: fix wrong usage of Error.prepareStackTrace (Simon Zünd) #27250
  • [a9bf6652b5] - util: use minimal object inspection with %s specifier (Ruben Bridgewater) #26927
  • [f7c96856f9] - util: improve error property inspection (Ruben Bridgewater) #26984
  • [14b2db0145] - util: improve inspect() compact number mode (Ruben Bridgewater) #26984
  • [0f58ae392b] - util: format() now formats bigint and booleans (Ruben Bridgewater) #25046
  • [9752fce34d] - util: improve format performance (Ruben Bridgewater) #24981
  • [e9fb92dc42] - vm: remove require('util') from lib/vm/source_text_module.js (freestraws) #27285
  • [002dacb7f7] - worker: handle exception when creating execArgv errors (Anna Henningsen) #27245
  • [d070f5d965] - worker: improve coverage (Ruben Bridgewater) #27230
  • [5450e48f69] - worker: simplify filename checks (Ruben Bridgewater) #27233

New in Node.js 11.14.0 (Apr 15, 2019)

  • Notable changes:
  • child_process: doc deprecate ChildProcess._channel (cjihrig) #26982
  • deps: update nghttp2 to 1.37.0 (gengjiawen) #26990
  • fs: remove experimental warning for fs.promises (Anna Henningsen) #26581
  • stream: make Symbol.asyncIterator support stable (Matteo Collina) #26989
  • worker: use copy of process.env (Anna Henningsen) #26544
  • dns:
  • make dns.promises enumerable (cjihrig) #26592
  • remove dns.promises experimental warning (cjihrig) #26592
  • Commits:
  • [ca7c4f485b] - async_hooks: minor cleanup and improvements (Anatoli Papirovski) #27034
  • [e9bffa8166] - benchmark: improve module-loader benchmark (Ruben Bridgewater) #26970
  • [09d6dfb21d] - benchmark: add new module loading benchmarks (Ruben Bridgewater) #26970
  • [5512ecb5b0] - benchmark: tidy up eslint ignore in foreach-bench.js (gengjiawen) #26925
  • [de937375e4] - benchmark: remove unused field in class BenchmarkProgress (gengjiawen) #26925
  • [0aea4d1c77] - benchmark,lib: change var to const (Ruben Bridgewater) #26915
  • [2ba58a6d54] - buffer: fix concat error message (Ruben Bridgewater) #27050
  • [a64786f47f] - build: fix inspector dependency resolution (Ben Noordhuis) #27026
  • [19a30f3b7e] - build: fix inspector dependency resolution (Ben Noordhuis) #27026
  • [ab5dbf9eb0] - build: only emit download ICU warnings once (Richard Lau) #27031
  • [7fe43bd81a] - build: remove unused label from vcbuild.bat (Ben Noordhuis) #26901
  • [6cbd6b5d57] - build: fix skipping of flaky tests on Travis (Richard Lau) #27002
  • [769d12ca9f] - build: add a Prepare ccache job in Travis (Richard Lau) #27002
  • [d8aaf2e0db] - build,meta: tweak Travis config (Refael Ackermann) #26969
  • [b64b22377c] - build,win: silence MSVC warning C4129 for V8 (Refael Ackermann) #27017
  • [23967431f5] - child_process: doc deprecate ChildProcess._channel (cjihrig) #26982
  • [4defe47228] - child_process: reduce internal usage of public require of util (toshi1127) #26769
  • [e43dbaaba4] - console: remove unreachable code (Rich Trott) #26906
  • [2b791d8697] - crypto: fix crash of encrypted private key export without cipher (Filip Skokan) #27041
  • [1d2f4c4c6f] - crypto: fix crash of encrypted private key export without cipher (Filip Skokan) #27041
  • [98552f3630] - crypto: allow undefined for saltLength and padding (Tobias Nießen) #26921
  • [db7df0fb12] - deps: add ARM64 Windows configurations in openssl (Jon Kunkee) #26001
  • [341eacc949] - deps: add ARM64 Windows support in openssl (Shigeki Ohtsu) #26001
  • [247700f293] - (SEMVER-MINOR) deps: update nghttp2 to 1.37.0 (gengjiawen) #26990
  • [af3ce38902] - dns: refactor lib/internal/dns/utils.js (Rich Trott) #27006
  • [ac12109d14] - (SEMVER-MINOR) dns: make dns.promises enumerable (cjihrig) #26592
  • [d3c1de313e] - (SEMVER-MINOR) dns: remove dns.promises experimental warning (cjihrig) #26592
  • [ff126ea13c] - doc: assign missed deprecation code (Richard Lau) #27164
  • [51dad0aaca] - doc: fix default maxBuffer size (kohta ito) #22894
  • [7eb73d301d] - doc: document the 'pause' and 'resume' events (Luigi Pinca) #26999
  • [57ced2db8c] - doc: remove unnecessary intro in governance doc (Rich Trott) #27036
  • [a5314a1af1] - doc: remove old system_errors (Minwoo Jung) #27037
  • [2d780f864b] - doc: unify link formatting in buffer.md (Vse Mozhet Byt) #27030
  • [6e3b6c5e2c] - doc: unify periods in comments in buffer.md (Vse Mozhet Byt) #27030
  • [5983cefbf9] - doc: add notes about negative offsets in buffer.md (Vse Mozhet Byt) #27030
  • [3567ff1378] - doc: mark optional parameters in buffer.md (Vse Mozhet Byt) #27030
  • [eeee6360b9] - doc: add note about Buffer octets integer coercion (Vse Mozhet Byt) #27030
  • [c3d573d743] - doc: fix error notes in Buffer.from() variants (Vse Mozhet Byt) #27030
  • [e18a0e8087] - doc: unify number/integer types in buffer.md (Vse Mozhet Byt) #27030
  • [0d75adcd71] - doc: add missing types in buffer.md (Vse Mozhet Byt) #27030
  • [231eff92ca] - doc: fix possible typo in buffer.md (Vse Mozhet Byt) #27030
  • [f475e79db3] - doc: remove description duplication in buffer.md (Vse Mozhet Byt) #27030
  • [7b37c65914] - doc: improve the doc of the 'information' event (Luigi Pinca) #27009
  • [c4b790b62b] - doc: move "Prints: ..." under the code (simon3000) #27035
  • [0f08a8e081] - doc: add information about modules cache behavior (Ruben Bridgewater) #26971
  • [b88871e80b] - doc: list when promiseResolve hook was added to async_hooks (Thomas Watson) #26978
  • [7a391961ea] - doc: change code lang and update it with latest Node.js (gengjiawen) #26987
  • [17cc117f4a] - doc: update changelog for v10.x LTS (Beth Griggs) #26931
  • [28efecccd5] - doc: remove "How is an LTS release cut?" section (Rich Trott) #26955
  • [d76c30c082] - doc: add note about mkdtemp() platform differences (cjihrig) #26944
  • [4a7a84a6be] - (SEMVER-MINOR) doc: move dns.promises to stable status (cjihrig) #26592
  • [25d5198001] - doc: change links to https in benchmark guide (gengjiawen) #26925
  • [a821a96b50] - doc: correct typo: cert.issuerCertificate (Steven R. Loomis)
  • [17bff5ca0d] - doc: remove reference to "credentials object" (Sam Roberts) #26908
  • [5e64acd66b] - (SEMVER-MINOR) embedding: make NewIsolate() API more flexible (Anna Henningsen) #26525
  • [7671a65dbb] - (SEMVER-MINOR) embedding: refactor public ArrayBufferAllocator API (Anna Henningsen) #26525
  • [c756b84447] - errors: make range mandatory in ERR_OUT_OF_RANGE (Ruben Bridgewater) #26924
  • [3e386a77d5] - (SEMVER-MINOR) fs: remove experimental warning for fs.promises (Anna Henningsen) #26581
  • [bb9f1cce42] - fs: reduce usage of require('util') (toshi1127) #26783
  • [5a29a94f0e] - http: reduce usage of public util (ZYSzys) #26548
  • [760d089e92] - inspector: display error when ToggleAsyncHook fails (Joyee Cheung) #26859
  • [1b45704c19] - inspector: patch C++ debug options instead of process._breakFirstLine (Joyee Cheung) #26602
  • [100bfc5131] - meta: move ofrobots to TSC emeritus (Ali Ijaz Sheikh) #27076
  • [5c39687d01] - module: add extra caching layer (Ruben Bridgewater) #26970
  • [9b27d5eebb] - module: add path to the module object (Ruben Bridgewater) #26970
  • [3263264f43] - module: inline try catch (Ruben Bridgewater) #26970
  • [079368a6ab] - module: fix repl require calling the same file again (Ruben Bridgewater) #26928
  • [3c9292642d] - module: simpler esm loading (Ruben Bridgewater) #26974
  • [fd8de13bbe] - path: refactor for less indentation (Ruben Bridgewater) #26917
  • [b62739c85c] - path: remove dead code (Ruben Bridgewater) #26916
  • [bd006e1002] - path: fix win32 parse regression (Ruben Bridgewater) #26912
  • [a232cd60dd] - process: store argv in Environment (Joyee Cheung) #26945
  • [4d06ef468e] - process: run RunBootstrapping in CreateEnvironment (Joyee Cheung) #26788
  • [a03552d246] - process: handle --expose-internals during pre-execution (Joyee Cheung) #26759
  • [75c5d9c5b7] - process: create legacy process properties during pre-execution (Joyee Cheung) #26517
  • [d4f95091d0] - process: delay process.argv[0] and process.argv0 handling (Joyee Cheung) #26517
  • [6c40f7f940] - querystring: simplify stringify method (ZYSzys) #26591
  • [dbd06088cf] - (SEMVER-MINOR) readline: make Symbol.asyncIterator support stable (Matteo Collina) #26989
  • [78fad3210c] - readline: replace quadratic regex with linear one (Thomas) #26778
  • [003e085ab5] - report: add cwd to report (cjihrig) #27022
  • [755609c682] - src: prevent crash in TTYWrap::Initialize (Thomas) #26832
  • [32ec034bdc] - src: use sizeof(var) instead of sizeof(type) (Ben Noordhuis) #27038
  • [c537daf391] - src: apply clang-tidy rule bugprone-incorrect-roundings (gengjiawen) #26885
  • [80694949f2] - src: elevate v8::Task namespace (Juan José Arboleda) #26909
  • [aa6a741102] - src: replace c-style cast (gengjiawen) #26888
  • [f65cb75c74] - src: remove internal includes from node_crypto.h (Sam Roberts) #26966
  • [d0ee1a3dbb] - src: fix warning on mismatched fn signature (Sam Roberts) #26950
  • [fbdead7f35] - src: add missing uv_fs_req_cleanup() (cjihrig) #27004
  • [729e2f242f] - src: implement generic backend for process.env (Anna Henningsen) #26544
  • [d3840bcf0d] - src: allow per-Environment set of env vars (Anna Henningsen) #26544
  • [e776b013ad] - src: do not call into JS in the maxAsyncCallStackDepthChanged interrupt (Joyee Cheung) #26935
  • [0427354a98] - src: delete useless code in cares_wrap.cc (gengjiawen) #26815
  • [6bfb17f528] - src: fix task release in cares_wrap.cc (gengjiawen) #26815
  • [c969731755] - src: use deleted function for class BaseObject (gengjiawen) #26815
  • [c824127756] - src: delete unused field in class ModuleWrap (gengjiawen) #26815
  • [ea7e2c0666] - src: tidy up include headers in env.cc (gengjiawen) #26815
  • [c1def0701e] - src: delete unreachable code in heap_utils.cc (gengjiawen) #26815
  • [c51cc9e85b] - src: apply clang-tidy rule modernize-make-unique (gengjiawen) #26493
  • [ab70c96a79] - src: refactor coverage connection (Joyee Cheung) #26513
  • [63e7cc7694] - src: forbid access to CLI options before bootstrapping is done (Joyee Cheung) #26476
  • [e6c1ad5901] - src: fix warnings around node_options (Refael Ackermann) #26280
  • [62f904974d] - src: refactor node options parsers to mitigate MSVC bug (Refael Ackermann) #26280
  • [b29afa212a] - (SEMVER-MINOR) stream: make Symbol.asyncIterator support stable (Matteo Collina) #26989
  • [ea47189b40] - stream: do not unconditionally call _read() on resume() (Anna Henningsen) #26965
  • [b359a7a7e5] - test: make module test pass with NODE_PENDING_DEPRECATION (Anna Henningsen) #27019
  • [1b2a07855a] - test: remove test-trace-events-api-worker-disabled from flaky (Rich Trott) #27020
  • [ecac6547c0] - test: move test that creates 1Gb file to pummel (Rich Trott) #27053
  • [35119d60d9] - test: add IPv6 brackets but no port to test-dns (Rich Trott) #27006
  • [8258f0704d] - test: remove unused triggerAsyncId param in test (Juan José Arboleda) #26800
  • [06dce392ba] - test: fix error code typo (cjihrig) #27024
  • [e5181f8dc4] - test: simplify for loop in test-buffer-zero-fill-cli.js (Juan José Arboleda) #26799
  • [9330d7e4bf] - test: add known_issues test for fs.copyFile() (Rich Trott) #26939
  • [fd6381b056] - test: remove test-path-parse-6229.js from known issues (Ruben Bridgewater) #26913
  • [edad9afaf8] - test: move hasCrypto check (Ruben Bridgewater) #26858
  • [2ef1bd97c6] - test: do not require flags when executing a file (Ruben Bridgewater) #26858
  • [a1cf7453d8] - test: refactor path parse test (Ruben Bridgewater) #26912
  • [80e845e787] - test: add test about unencrypted PKCS#8 private key for RSA (Daiki Ihara) #26898
  • [03bd649655] - test: show stderr on v8 coverage test failures (Joyee Cheung) #26513
  • [b24e45ab8d] - (SEMVER-MINOR) timers: deprecate active() and _unrefActive() (Jeremiah Senkpiel) #26760
  • [3ff3070442] - tools: fix test.py --time (Richard Lau) #27007
  • [7cbe1214d0] - tools: update ESLint to 5.16.0 (cjihrig) #27005
  • [dc9ce86aaa] - tools: update dependencies in lint-md-cli-rollup (Daijiro Wachi) #26889
  • [8798db3bf3] - url: add ws: and wss: to slashedProtocol set (Luigi Pinca) #26941
  • [12737b3789] - util: inspect() should not exceed breakLength (Ruben Bridgewater) #26914
  • [0f615d4216] - util: add subclass and null prototype support for errors in inspect (Ruben Bridgewater) #26923
  • [1aa6e993e3] - util: fix map entries inspection (Ruben Bridgewater) #26918
  • [1b08e622aa] - util: improve proxy inspection (Ruben Bridgewater) #26919
  • [21486e5c97] - util: extract uncurryThis function for reuse (ZYSzys) #23081
  • [169f3f7166] - util: require isNativeError from internalBinding (ZYSzys) #23081
  • [8bd7909d00] - worker: use copy of process.env (Anna Henningsen) #26544
  • [682b410581] - worker: allow execArgv and eval in combination (Anna Henningsen) #26533
  • [5d9f819a14] - worker: remove usage of require('util') in worker_thread.js (toshi1127) #26814
  • [44450efa6b] - worker: remove usage of require('util') (toshi1127) #26810

New in Node.js 11.13.0 (Mar 29, 2019)

  • Notable Changes:
  • crypto:
  • Allow deriving public from private keys (Tobias Nießen) #26278.
  • events
  • Added a once function to use EventEmitter with promises (Matteo Collina) #26078.
  • tty:
  • Added a hasColors method to WriteStream (Ruben Bridgewater) #26247.
  • Added NO_COLOR and FORCE_COLOR support (Ruben Bridgewater) #26485.
  • v8:
  • Added v8.getHeapSnapshot and v8.writeHeapSnapshot to generate snapshots in the format used by tools such as Chrome DevTools (James M Snell) #26501.
  • worker:
  • Added worker.moveMessagePortToContext. This enables using MessagePorts in different vm.Contexts, aiding with the isolation that the vm module seeks to provide (Anna Henningsen) #26497.
  • C++ API:
  • AddPromiseHook is now deprecated. This API was added to fill a use case that is served by async_hooks, since that has Promise support (Anna Henningsen) #26529.
  • Added a Stop API to shut down Node.js while it is running (Gireesh Punathil) #21283.
  • meta:
  • Gireesh Punathil is now a member of the Technical Steering Committee #26657.
  • Added Yongsheng Zhang to collaborators #26730.
  • Commits:
  • [a2d2756792] - assert: reduce internal usage of public require of util (toshi1127) #26750
  • [db7c4ac40b] - assert: reduce internal usage of public require of util (Daiki Ihara) #26762
  • [3ab438aa17] - benchmark: replace deprecated and eliminate var in buffer-from.js (gengjiawen) #26585
  • [0e4ae00676] - benchmark: use gfm for clarity (gengjiawen) #26710
  • [509ad40348] - build: restore running tests on Travis (Richard Lau) #26720
  • [b480c792be] - build: temporarily don't run tests on Travis (Richard Lau) #26720
  • [4163864be5] - build: use Xenial and gcc 6 on Travis (Richard Lau) #26720
  • [e39a468cdc] - child_process: ensure message sanity at source (Gireesh Punathil) #24787
  • [f263f98d5a] - console: remove unreachable code (Rich Trott) #26863
  • [e49cd40789] - console: fix trace function (Ruben Bridgewater) #26764
  • [f2a07df27f] - crypto: improve error handling in parseKeyEncoding (Tobias Nießen) #26455
  • [ed7599bf36] - (SEMVER-MINOR) crypto: allow deriving public from private keys (Tobias Nießen) #26278
  • [74c6f57aed] - (SEMVER-MINOR) crypto: expose KeyObject class (Filip Skokan) #26438
  • [54ffe61c56] - deps: upgrade to libuv 1.27.0 (cjihrig) #26707
  • [dae1e301c6] - dgram: remove usage of public require('util') (dnlup) #26770
  • [119f83bb44] - doc: mark settings as optional and add callback (Ruben Bridgewater) #26894
  • [a545cfe293] - doc: edit "How Can I Help?" in Collaborator Guide (Rich Trott) #26895
  • [14cc4f220c] - doc: add option to require 'process' to api docs (dkundel) #26792
  • [977f5acd04] - doc: minor edit to worker_threads.md (Rich Trott) #26870
  • [78e6ec7dd5] - doc: edit LTS material in Collaborator Guide (Rich Trott) #26845
  • [7e072c816c] - doc: change error message to 'not defined' (Mohammed Essehemy) #26857
  • [c7b34cd8ee] - doc: fix comma of the list in worker_threads.md (Hang Jiang) #26838
  • [560ff919b2] - doc: remove discord community (Aymen Naghmouchi) #26830
  • [fc0aa50c3d] - doc: remove How Does LTS Work section from Collaborator Guide (Rich Trott) #26723
  • [bc9f6d877a] - doc: condense LTS material in Collaborator Guide (Rich Trott) #26722
  • [8de9fe94a0] - doc: document error event is optionally emitted after .destroy() (Sergey Zelenov) #26589
  • [148c2ca33d] - doc: add Note of options.stdio into child_process (kohta ito) #26604
  • [0303aba162] - doc: update spawnSync() status value possibilities (Rich Trott) #26680
  • [6744b8cb43] - doc: add ZYSzys to collaborators (ZYSzys) #26730
  • [0c06631a71] - doc: simplify force-push guidelines (Rich Trott) #26699
  • [b38cf49094] - doc: make RFC references consistent (Rich Trott) #26727
  • [1f0a2835f4] - doc: note about DNS ANY queries / RFC 8482 (Thomas Hunter II) #26695
  • [cfa152b589] - doc: simplify Troubleshooting text (Rich Trott) #26652
  • [e8e8eac96c] - doc: update copy/paste error message in Troubleshooting (Rich Trott) #26652
  • [3b471db14a] - doc: add Gireesh to TSC (Rich Trott) #26657
  • [058cf43a3c] - doc: edit "Technical How-To" section of guide (Rich Trott) #26601
  • [9a5c1495b1] - errors: remove usage of require('util') (dnlup) #26781
  • [7022609dcc] - events: load internal/errors eagerly (Joyee Cheung) #26771
  • [df55731918] - (SEMVER-MINOR) events: add once method to use promises with EventEmitter (Matteo Collina) #26078
  • [c96946d5f3] - http: delay ret declaration in method _flushOutput (gengjiawen) #26562
  • [15af5193af] - http2: reduce usage of require('util') (toshi1127) #26784
  • [1073e54ad6] - http2: delete unused enum in node_http2.h (gengjiawen) #26704
  • [3574b62717] - inspector: always set process.binding('inspector').callAndPauseOnStart (Joyee Cheung) #26793
  • [cc4a25a1a9] - lib: lazy load v8 in error-serdes (Richard Lau) #26689
  • [5f3b850da5] - lib: reduce usage of require('util') (dnlup) #26782
  • [bf2b57e46f] - lib: remove usage of require('util') (dnlup) #26779
  • [64a92290c0] - lib: remove usage of require('util') (dnlup) #26777
  • [bff5d301bf] - lib: move extra properties into error creation (Ruben Bridgewater) #26752
  • [e916a2ad54] - lib: remove usage of require('util') (dnlup) #26773
  • [cc76f3f152] - lib: use Array#includes instead of Array#indexOf (Weijia Wang) #26732
  • [a44f98e333] - lib: run prepareMainThreadExecution for third_party_main (Anna Henningsen) #26677
  • [1c1305dbc1] - lib: make lowerProto scope more clear (gengjiawen) #26562
  • [9ce08c85e7] - lib: explicitly initialize debuglog during bootstrap (Joyee Cheung) #26468
  • [b75af1537d] - lib: move format and formatWithOptions into internal/util/inspect.js (Joyee Cheung) #26468
  • [235bb733a6] - module: do not share the internal require function with public loaders (Joyee Cheung) #26549
  • [4cafd7419d] - module: remove usage of require('util') in esm/translators.js (dnlup) #26806
  • [037e3fddfa] - module: remove usage of require('util') in esm/loader.js (dnlup) #26804
  • [414d6f5e04] - module: remove usage of require('util') in cjs/loader.js (dnlup) #26802
  • [fbe6d30bcf] - module: remove usage of require('util') (dnlup) #26805
  • [a20bf75e06] - Revert "net: remove usage of require('util')" (Rich Trott) #26896
  • [5e06c3bc0b] - net: remove usage of require('util') (dnlup) #26807
  • [24e96b24cf] - net: some scattered cleanup (oyyd) #24128
  • [de353b75d5] - perf_hooks: load internal/errors eagerly (Joyee Cheung) #26771
  • [0bd82c93c6] - perf_hooks: reset prev_ before starting ELD timer (Gerhard Stoebich) #26693
  • [c127bec4ab] - policy: reduce internal usage of public util for manifest.js (Jesse Katsumata) #26833
  • [899de0a7c7] - process: check no handle or request is active after bootstrap (Joyee Cheung) #26593
  • [57d302b563] - process: delay creation of process.env after bootstrap/node.js (Joyee Cheung) #26515
  • [255de69596] - process: refactor global.queueMicrotask() (Joyee Cheung) #26523
  • [1481e5b5c1] - process: set the trace category update handler during bootstrap (Joyee Cheung) #26605
  • [be3ea2a1eb] - process: handle node --debug deprecation in pre-execution (Joyee Cheung) #26670
  • [8b65aa73f6] - process: make stdout and stderr emit 'close' on destroy (Matteo Collina) #26691
  • [dd2f2cca00] - process: remove usage of require('util') in per_thread.js (dnlup) #26817
  • [41761cc4a6] - process: load internal/async_hooks before inspector hooks registration (Joyee Cheung) #26866
  • [b0afac2833] - process: call prepareMainThreadExecution in all main thread scripts (Joyee Cheung) #26468
  • [cf1117a818] - process: move deprecation warning setup for --debug* args (Refael Ackermann) #26662
  • [4200fc30bd] - process: handle process.env.NODE_V8_COVERAGE in pre-execution (Joyee Cheung) #26466
  • [cc606e2dfc] - process: set up process warning handler in pre-execution (Joyee Cheung) #26466
  • [03dba720da] - process: call prepareMainThreadExecution in node inspect (Joyee Cheung) #26466
  • [04e9d5a448] - repl: remove usage of require('util') in repl/history (dnlup) #26819
  • [e8412bc213] - repl: remove redundant initialization (gengjiawen) #26562
  • [5b8eae4ea7] - report: remove duplicate TIME_TYPE (cjihrig) #26708
  • [01778f525b] - report: tidy up included headers (Richard Lau) #26697
  • [5c4187638c] - report: use LocalTime from DiagnosticFilename (Richard Lau) #26647
  • [e3bae20941] - report: use DiagnosticFilename for default filename (Richard Lau) #26647
  • [1b4553401c] - report: remove unnecessary return in setters (Rich Trott) #26614
  • [f50c9c6ae2] - src: move ShouldNotAbortOnUncaughtScope out of Environment (Joyee Cheung) #26824
  • [7e7f07755c] - src: move TrackingTraceStateObserver out of Environment (Joyee Cheung) #26824
  • [bc69a81276] - src: move TickInfo out of Environment (Joyee Cheung) #26824
  • [495e5e9e75] - src: move ImmediateInfo out of Environment (Joyee Cheung) #26824
  • [6de1220cc4] - src: move AsyncCallbackScope out of Environment (Joyee Cheung) #26824
  • [4af9ff00ff] - src: move AsyncHooks out of Environment (Joyee Cheung) #26824
  • [3d9839ba3f] - src: add include guard for trace_event_common.h (gengjiawen) #26883
  • [13eb1d8f8a] - src: store onread callback in internal field (Anna Henningsen) #26837
  • [220f67c6ce] - src: guard exit label when inspector disabled (Daniel Bevenius) #26801
  • [54753f2446] - src: micro-optimize ALPN negotiation (Ben Noordhuis) #26836
  • [6de2437c0f] - src: apply clang-tidy readability-delete-null-pointer (gengjiawen) #26813
  • [de5034643f] - src: apply clang-tidy performance-faster-string-find (gengjiawen) #26812
  • [79d6895484] - src: initialize worker's stack_base_ field (cjihrig) #26739
  • [6911678f9e] - src: use explicit casts to silence conversion warnings (Zach Bjornson) #26766
  • [26361d1a5f] - src: add fast path for equal size to Reallocate() (Anna Henningsen) #26573
  • [f597b37efb] - src: do not make Resize(0)’d buffers base nullptr (Anna Henningsen) #26731
  • [14c3af7f3e] - src: only open HandleScope when necessary (Anna Henningsen) #26734
  • [ad5d8e308c] - src: refactor thread stopping mechanism (Anna Henningsen) #26757
  • [d075814149] - src: replace heap_utils.createHeapSnapshot with v8.getHeapSnapshot (Joyee Cheung) #26671
  • [eafbfadec3] - src: elevate v8 namespaces for PropertyAttribute (gengjiawen) #26681
  • [15ec381944] - src: use EVPKeyPointer in more places (Ben Noordhuis) #26632
  • [2d2b6a8c23] - src: remove unused variable in class InspectorSocketServer (gengjiawen) #26633
  • [3637e71328] - src: use deleted function instead of private function in class AsyncWrap (gengjiawen) #26634
  • [51b8a891d8] - src: inline macro DISALLOW_COPY_AND_ASSIGN (gengjiawen) #26634
  • [6c90b7f259] - (SEMVER-MINOR) src: shutdown node in-flight (Gireesh Punathil) #21283
  • [925b645d60] - src: remove usage of deprecated IsNearDeath (Michaël Zasso) #26630
  • [d0801a1c4a] - (SEMVER-MINOR) src: deprecate AddPromiseHook() (Anna Henningsen) #26529
  • [a13f0a6362] - (SEMVER-MINOR) src: add public API for linked bindings (Anna Henningsen) #26457
  • [1e669b2e2e] - (SEMVER-MINOR) src,lib: make DOMException available in all Contexts (Anna Henningsen) #26497
  • [e044563bb0] - (SEMVER-MINOR) src,lib: allow running multiple per-context files (Anna Henningsen) #26497
  • [8ba0da57a4] - src,win: fix usage of deprecated v8::Object::Set (Michaël Zasso) #26735
  • [249bf509a3] - stream: fix regression introduced in #26059 (Matteo Collina) #26643
  • [0b2f900c9a] - stream: make sure 'readable' is emitted before ending the stream (Matteo Collina) #26059
  • [b552139554] - stream: reduce internal usage of public require of util (Beni von Cheni) #26698
  • [9ef0a295cf] - test: refactor trace event category tests (Joyee Cheung) #26605
  • [5d992f5ef7] - test: delete pummel/test-dtrace-jsstack (Rich Trott) #26869
  • [3cae010ea0] - test: refactor test-https-connect-localport (Rich Trott) #26881
  • [838fb95059] - test: replace localhost IP with 'localhost' for TLS conformity (Rich Trott) #26881
  • [011c205787] - test: use common.PORT instead of hardcoded number (Rich Trott) #26881
  • [4919e4b751] - test: move test-https-connect-localport to sequential (Rich Trot) #26881
  • [57d3ba134a] - test: refactor test-dgram-broadcast-multi-process (Rich Trott) #26846
  • [352c31cd7e] - test: strengthen test-worker-prof (Gireesh Punathil) #26608
  • [963d7d1f4d] - test: move pummel tls test to sequential (Rich Trott) #26865
  • [8ca7d56b2c] - test: fix pummel/test-tls-session-timeout (Rich Trott) #26865
  • [41bd7a62e9] - test: complete console.assert() coverage (Rich Trott) #26827
  • [6874288f6e] - test: fix test-console-stdio-setters to test setters (Rich Trott) #26796
  • [1458711846] - test: remove internal error tests (Ruben Bridgewater) #26752
  • [c535e487d6] - test: refresh tmpdir in child-process-server-close (Luigi Pinca) #26729
  • [7ebd6bdf87] - test: optimize test-http2-large-file (Rich Trott) #26737
  • [9c83002274] - test: use EC cert property now that it exists (Sam Roberts) #26598
  • [ea425140a1] - test: add fs.watchFile() + worker.terminate() test (Anna Henningsen) #21179
  • [2d689888b8] - test: update test for libuv update (cjihrig) #26707
  • [31995e4cd2] - test: fix intrinsics test (Ruben Bridgewater) #26660
  • [c65ff3df6d] - test: fix test-heapdump-worker (Anna Henningsen) #26713
  • [875ddcbf10] - test: remove unnecessary semicolon after macro (Yang Guo) #26618
  • [892282ddb3] - test: whitelist the expected modules in test-bootstrap-modules.js (Richard Lau) #26531
  • [e5312585c1] - (SEMVER-MINOR) test: make cctest full Node.js environment (Anna Henningsen) #26457
  • [00a6f7686e] - test,console: add testing for monkeypatching of console stdio (Rich Trott) #26561
  • [a640834039] - timers: move big impl comment to /internal/ (Jeremiah Senkpiel) #26761
  • [3ec652ad38] - timers: fix refresh inside callback (Anatoli Papirovski) #26721
  • [1f4a5bcc98] - timers: refactor timer callback initialization (Joyee Cheung) #26583
  • [ebb0c2a44e] - timers: reduce usage of public util (Joyee Cheung) #26583
  • [e6367c2da5] - timers: refactor to use module.exports (Joyee Cheung) #26583
  • [92b666a6b7] - tools: windows_boxstarter "choco install python -y" for Python 3 (cclauss) #26424
  • [d80cd50dbc] - tools: remove eslint rule no-let-in-for-declaration (gengjiawen) #26715
  • [fef2a54a4e] - tools: enable getter-return lint rule (cjihrig) #26615
  • [08383a7bb6] - tools: update ESLint to 5.15.3 (cjihrig) #26746
  • [30d7f67e0f] - tools: update ESLint to 5.15.2 (cjihrig) #26687
  • [1385b290ef] - tools: update lint-md.js to lint rfc name format (Rich Trott) #26727
  • [72cda51440] - tools: tidy function arguments in eslint rules (Rich Trott) #26668
  • [0f9a779da8] - trace_events: remove usage of require('util') (dnlup) #26822
  • [83f6ec8876] - tty: remove util.inherits usage (nd-02110114) #26797
  • [8cafd83ba7] - (SEMVER-MINOR) tty: add NO_COLOR and FORCE_COLOR support (Ruben Bridgewater) #26485
  • [070faf0bc1] - (SEMVER-MINOR) tty: add hasColors function (Ruben Bridgewater) #26247
  • [04c7db3638] - url: remove usage of require('util') (toshi1127) #26808
  • [9092e12b82] - (SEMVER-MINOR) v8: integrate node-heapdump into core (James M Snell) #26501
  • [4314dbfce9] - worker: create per-Environment message port after bootstrap (Joyee Cheung) #26593
  • [3c6f12c965] - (SEMVER-MINOR) worker: implement worker.moveMessagePortToContext() (Anna Henningsen) #26497

New in Node.js 11.11.0 (Mar 10, 2019)

  • Notable Changes:
  • n-api:
  • Implement date object (Jarrod Connolly) #25917
  • util:
  • Add compact depth mode for util.inspect() (Ruben Bridgewater) #26269
  • worker:
  • Improve integration with native addons (Anna Henningsen) #26175
  • MessagePort.prototype.onmessage takes arguments closer to the Web specification now (Anna Henningsen) #26082
  • Commits:
  • [d66cb4a116] - benchmark,doc,lib,test: capitalize comments (Ruben Bridgewater) #26223
  • [f4955fde60] - benchmark,test: refactoring (Refael Ackermann) #26119
  • [5e4aa28e1c] - buffer: avoid materializing ArrayBuffer for creation (Anna Henningsen) #26301
  • [05e6ec0143] - build: make 'floating patch' message informational (Ben Noordhuis) #26349
  • [e2baa6836b] - build: remove v8_typed_array_max_size_in_heap option (Anna Henningsen) #26301
  • [fa8110a60e] - build: silence cpp lint by default (Ruben Bridgewater) #26252
  • [dbbcedae6d] - build: tidy up comments in create_expfile.sh (Richard Lau) #26220
  • [f408d78914] - build: fixed clang's warning when building openssl (Thang Tran) #25954
  • [a3f7471d35] - build,test: guard eslint with crypto check (Daniel Bevenius) #26182
  • [a70bafb3cc] - console: prevent constructing console methods (Thomas) #26096
  • [1333dccede] - crypto: fix unencrypted DER PKCS8 parsing (Tobias Nießen) #26236
  • [70e463c294] - crypto: fix error condition in Verify::VerifyFinal (Tobias Nießen) #26238
  • [108c698f44] - crypto: make ConvertKey clear openssl error stack (Ben Noordhuis) #26153
  • [c8d30a7313] - deps: update acorn to 6.1.0 (gengjiawen) #26102
  • [7f08e0238a] - deps: V8: cherry-pick d3308d0 (Anna Henningsen) #26207
  • [206e4b043b] - deps: V8: backport 74571c8 (Ruben Bridgewater) #25941
  • [f0a81664c7] - deps: backport ICU fix for ARM64 Windows (Jon Kunkee) #26090
  • [ea26ac0f2b] - dns: refactor QueryWrap lifetime management (Anna Henningsen) #26253
  • [846cba056e] - doc: edit deprecation identifier info in Collaborator Guide (Rich Trott) #26372
  • [3f4b27d681] - doc: maxReservedRemoteStreams value constraints (Sebastiaan Deckers) #26309
  • [bc5771ec91] - doc: correct typos in various docs (Beni von Cheni) #26312
  • [3560c3abeb] - doc: sort http.request() options alphabetically (Luigi Pinca) #26152
  • [86982558ad] - doc: add documentation for the defaultPort option (Luigi Pinca) #26152
  • [7bf6309f0b] - doc: napi_get_value_bigint_words argument order (Michael Wei) #26300
  • [40a5a93b41] - doc: add example for setting Vary: Accept-Encoding header in zlib.md (Mukul Khanna) #26308
  • [85840681a4] - doc: revise deprecation semverness info in Collaborator Guide (Rich Trott) #26232
  • [ff57a1c321] - doc: clarify http.ClientRequest path description (Minwoo Jung) #26259
  • [5e44768e9f] - doc: revise deprecation level explanations in Collaborator Guide (Rich Trott) #26197
  • [823f0ce952] - doc: revise Style Guide (Rich Trott) #26176
  • [8fac54a22f] - doc: fix code lang in repl.md (gengjiawen) #26075
  • [e5dae20ed6] - doc: remove deprecation definition in Collaborator Guide (Rich Trott) #26157
  • [e108c32865] - doc: eliminate use of "note that" from child_process.md (Rich Trott) #26141
  • [e506f6a2d6] - doc: remove unnecessary italics from child_process.md (Rich Trott) #26141
  • [b48a04bc32] - doc: remove unnecessary bold text from child_process.md (Rich Trott) #26141
  • [789b818ad1] - doc: remove unnecessary bold italics from child_process.md (Rich Trott) #26141
  • [4d1c87ed6b] - doc: remove all-caps shouting from child_process.md (Rich Trott) #26141
  • [c810ced543] - doc: wrap child_process.md at 80 characters (Rich Trott) #26141
  • [a18b847d18] - doc: improve worker_threads documentation (Anna Henningsen) #26110
  • [a9c44372e1] - doc: consolidate N-API material in Collaborator Guide (Rich Trott) #26094
  • [82bc68b08e] - doc: fix notable changes in v11 changelog (Michaël Zasso)
  • [3971510b66] - doc: fix changelog entry (Colin Ihrig) #26114
  • [2ff1644b34] - doc: fix notable changes list format for 11.9.0 & 11.10.0 (Kai) #26129
  • [8814d03d4d] - doc,lib,test: rename node-report to report (cjihrig) #26371
  • [0034820f67] - errors: add ERR_INSPECTOR_COMMAND error (cjihrig) #26255
  • [030b744941] - esm: process proxy Symbol.toString fix (Guy Bedford) #25963
  • [14cf22f860] - fs, src, lib: fix blksize & blocks on Windows (Richard Lau) #26056
  • [2595fbc8b1] - http2: improve compatibility with http/1 (Sagi Tsofan) #23908
  • [8a551b9d3b] - http2: shrink memory to match read data (Anna Henningsen) #26201
  • [3bc012373a] - inspector: print all listening addresses (Ben Noordhuis) #26008
  • [b0c310dcf0] - inspector: return Error objects on error (cjihrig) #26255
  • [be671c3bf5] - inspector: forward errors from InspectorConsoleCall (Anna Henningsen) #26113
  • [0c4353a444] - inspector: make sure timer handles are cleaned up (Anna Henningsen) #26088
  • [bf61050e91] - lib: converted element to lowercase in tty.js (Abhishek Agarwal) #26121
  • [733beb70ae] - lib: convert legacy process.binding to internalBinding (ZYSzys) #26095
  • [b25694d7ad] - meta: update note about building on smartOS 16 (Refael Ackermann) #25684
  • [6d014a6c3d] - meta: remove the useless GitHub Account (MaleDong) #26146
  • [143b844db2] - meta: moving jasnell temporarily to TSC emeritus (jasnell) #26106
  • [d94f4c23fe] - module: fix stat cache (Ruben Bridgewater) #26266
  • [2a66cd34fa] - module: simpler shebang function (Ruben Bridgewater) #26266
  • [54896a6961] - module: revert module._compile to original state if module is patched (Ujjwal Sharma) #21573
  • [b338edbb0a] - module: use compileFunction over Module.wrap (Ujjwal Sharma) #21573
  • [e72cb94df6] - (SEMVER-MINOR) n-api: implement date object (Jarrod Connolly) #25917
  • [2335bcd6e6] - n-api: turn NAPI_CALL_INTO_MODULE into a function (Anna Henningsen) #26128
  • [1ce5e63987] - n-api: do not call into JS when that is not allowed (Anna Henningsen) #26127
  • [5b8ac58ed8] - path: refactor code for clarity (Ruben Bridgewater) #25278
  • [348f1fbcb3] - path: refactor for less indentation (Ruben Bridgewater) #25278
  • [e00c8cd54a] - path: simplify code and remove obsolete checks (Ruben Bridgewater) #25278
  • [55d6b4961a] - path: refactor logic for to reduce code branches (Ruben Bridgewater) #25278
  • [6c7cd9ee5a] - path: minor refactoring (Ruben Bridgewater) #25278
  • [cccc44b854] - path: refactor more path code for simplicity (Ruben Bridgewater) #25278
  • [6c44e68f63] - path: more small refactorings (Ruben Bridgewater) #25278
  • [b0cde2c4cf] - path: minor refactoring (Ruben Bridgewater) #25278
  • [d91520724c] - process: use common operations to define browser globals (Joyee Cheung) #26230
  • [b1e739d881] - process: move initialization of node-report into pre_execution.js (Joyee Cheung) #26227
  • [57179a0aab] - process: setup signal handler in prepareMainThreadExecution (Joyee Cheung) #26227
  • [966546ceaa] - process: simplify the setup of async hooks trace events (Joyee Cheung) #26062
  • [cd10e25bd6] - process: move test-process-uptime to parallel (Joyee Cheung) #26206
  • [fde40116c4] - process: fix calculation in process.uptime() (Joyee Cheung) #26206
  • [230e98b54a] - process: start coverage collection before bootstrap (Joyee Cheung) #26006
  • [b5fe27ccc9] - process: delay setup of global exception handlers (Joyee Cheung) #26061
  • [0d660d9646] - readline: improve Unicode handling (Avi ד) #25723
  • [4c254d6294] - repl: use object writer for thrown errors (Anna Henningsen) #26361
  • [2a74a1ed60] - repl: hide editor mode if not used in a terminal (Ruben Bridgewater) #26240
  • [2fa8170e51] - repl: add new line on ctrl+d (Ruben Bridgewater) #26240
  • [f636f15315] - repl: add more information (Ruben Bridgewater) #26240
  • [2908e6313b] - report: rename location to trigger (cjihrig) #26386
  • [0579f4283f] - report: use triggerReport() to handle signals (cjihrig) #26386
  • [b2c77ec081] - report: use triggerReport() to handle exceptions (cjihrig) #26386
  • [b62e2289d9] - report: add fallback for uv_getnameinfo() failures (Richard Lau) #26140
  • [2fe9886f6f] - report: fix build warning in node_report.cc (Richard Lau) #26265
  • [ba5f31ac45] - report: use ru_stime for system CPU calculation (cjihrig) #26286
  • [d2d94537b2] - report: simplify heap space iteration (cjihrig) #26285
  • [6d2a14d385] - report: refactor argument validation (cjihrig) #26276
  • [8e2cc5e440] - report: refactor triggerReport() (cjihrig) #26268
  • [8a40468635] - report: remove verbose setting (cjihrig) #26195
  • [0e89d7add6] - report: simplify OnFatalError() handling (cjihrig) #26191
  • [633c1eac29] - report: simplify TriggerNodeReport() (cjihrig) #26174
  • [fc9ba36fb2] - src: fix typo in callback.cc (gengjiawen) #26337
  • [63942de82c] - src: extra-semi warning in node_platform.h (Jeremy Apthorp) #26330
  • [cb62c24e1b] - src: reduce to simple const char* in OptionsParser (ZYSzys) #26297
  • [3093617c0e] - src: remove unused variable (cjihrig) #26386
  • [b216f44513] - src: remove unnecessary function declaration (cjihrig) #26386
  • [cb2cbf2eca] - src: remove already elevated Isolate namespce (Juan José Arboleda) #26294
  • [2438a4350d] - src: remove unused macro in env.cc (gengjiawen) #26273
  • [4df82f0f1b] - src: remove unused macro in node_http2.h (gengjiawen) #26204
  • [af2a6935ab] - src: remove redundant cast in PipeWrap::Fchmod (gengjiawen) #26242
  • [06d592c551] - src: simplify native immediate by using v8::Global (Anna Henningsen) #26254
  • [9b4eec0aad] - src: allow not materializing ArrayBuffers from C++ (Anna Henningsen) #26301
  • [30f0a3b4bd] - src: remove dead inspector code (Anna Henningsen) #26295
  • [c37b6796df] - src: remove unused Converter object (Anna Henningsen) #26243
  • [6f9ab5e15b] - src: remove redundant cast in method AfterStringPath (gengjiawen) #26218
  • [33d6a3fcb7] - src: clean up StreamPipe in destructor (Anna Henningsen) #26256
  • [75ae77d99f] - src: do not access Environment-owned handles after cleanup (Anna Henningsen) #26256
  • [d6759db15b] - src: remove cast for unsupported openssl (Sam Roberts) #26305
  • [1abe1d1c06] - src: track memory retainer fields (Gireesh Punathil) #26161
  • [3e0978d7a3] - src: clean unused macro in inspector_socket.cc (gengjiawen) #26158
  • [4001b24f79] - src: remove unimplemented method in class SSLWrap (gengjiawen) #26203
  • [8b515b24af] - src: apply clang-tidy rule modernize-deprecated-headers (gengjiawen) #26159
  • [3c11b4eec2] - src: allocate Buffer memory using ArrayBuffer allocator (Anna Henningsen) #26207
  • [282607644b] - src: add allocation utils to env (Anna Henningsen) #26207
  • [238fa5704b] - src: add debugging array allocator (Anna Henningsen) #26207
  • [437bb25d92] - src: make IsolateData store ArrayBufferAllocator (Anna Henningsen) #26207
  • [68accb5b04] - src: use smart pointer in UDPWrap::OnSend (Daniel Bevenius) #26233
  • [3abdcfc813] - src: remove unimplemented method in class StreamPipe (gengjiawen) #26202
  • [7e26ca6750] - src: simplify AliasedBuffer lifetime management (Anna Henningsen) #26196
  • [831aa9acb6] - src: make node::SignalWrap::OnSignal into lambda (Gireesh Punathil) #26184
  • [619b5e7c2e] - src: simplify loop arithmetic in GetCPUInfo (Gireesh Punathil) #26183
  • [ddd71f4a92] - src: move function from header to source file (Ben Noordhuis) #26173
  • [5cc2574fac] - src: move async hooks trace events setup to pre_execution.js (Joyee Cheung) #26062
  • [8881c0baaa] - src: simplify InspectorConsoleCall (Anna Henningsen) #26168
  • [c6d5af53be] - src: move req_wrap_queue to base class of ReqWrap (Anna Henningsen) #26148
  • [a39cd45ce8] - src: remove process.binding('config').fipsForced (Joyee Cheung) #26178
  • [bd40a127f9] - src: only call .ReThrow() if not terminating (Anna Henningsen) #26130
  • [6b7d8369e3] - src: add missing includes for vtune build (Uttam Pawar) #26136
  • [25ddbc9a36] - src: apply clang-tidy rule performance-unnecessary-value-param (gengjiawen) #26042
  • [82df851bb5] - src: unify uptime base used across the code base (Joyee Cheung) #26016
  • [778db675c1] - src: remove invalid casts in options parser (Anna Henningsen) #26139
  • [4ca07898d7] - src: use PauseOnNextJavascriptStatement to implement --inspect-brk-node (Joyee Cheung) #26034
  • [e6949b4241] - src: apply clang-tidy rule modernize-use-override (gengjiawen) #26103
  • [d550de4fe1] - src: remove inspector main_thread_request_ field (Anna Henningsen) #26137
  • [ee71952a25] - src: check HasCaught() in JSStream calls (Anna Henningsen) #26124
  • [f44f33569d] - src: extract common sockaddr creation code (Daniel Bevenius) #26070
  • [cbd3cf083a] - src: add debug CHECKs against empty handles (Anna Henningsen) #26125
  • [0408966a9d] - src: remove unused macro in node_file.cc (gengjiawen) #26073
  • [497d9d8ab2] - src: use same parameter name in node_report.cc (gengjiawen) #26046
  • [e314681420] - src: use more stable cast where possible (Gireesh Punathil) #26052
  • [7612574e42] - stream: make _read() be called indefinitely if the user wants so (Matteo Collina) #26135
  • [50e42c9d64] - test: improve test coverage in perf_hooks (Juan José Arboleda) #26290
  • [a41138b0cf] - test: remove duplicated buffer negative allocation test (ZYSzys) #26160
  • [93d7fa3df3] - test: only inspect on failure (Ruben Bridgewater) #26360
  • [91b61452c3] - test: always activate colors if necessary (Ruben Bridgewater) #26264
  • [11bd5e07cb] - test: rename node-report suite to report (cjihrig) #26371
  • [7ccffcbcb6] - test: improve validation of report output (cjihrig) #26289
  • [4561cf351f] - test: verify heap buffer allocations occur (Anna Henningsen) #26301
  • [0c8e9ee62e] - test: fix for activities in tick objects prune function (Alexander Sattelmaier) #26163
  • [69154e405c] - test: refactor tick objects prune function (Alexander Sattelmaier) #26163
  • [d8f5f55b78] - test: eliminate port collision (Gireesh Punathil) #26298
  • [88256d7ba2] - test: simplify node-report/test-exception.js (cjihrig) #26277
  • [e8995d1b80] - test: increase getReport() coverage (cjihrig) #26276
  • [33fe892ec6] - test: increase triggerReport() coverage (cjihrig) #26268
  • [a382b52fd8] - test: consolidate triggerReport() tests (cjihrig) #26268
  • [6f9a764b52] - test: remove node-report/test-api.js (cjihrig) #26219
  • [bc114152d0] - test: simplify test-api-nohooks.js (cjihrig) #26217
  • [ca18525896] - test: improve performance of test-crypto-timing-safe-equal-benchmarks (Rich Trott) #26237
  • [28758b8d69] - test: add test for dynamically enabling node.async_hooks tracing (Joyee Cheung) #26062
  • [dcbd907142] - test: add test for node.async_hooks tracing in workers (Joyee Cheung) #26062
  • [007b2fa198] - test: increase run time in test-worker-prof (Anna Henningsen) #26172
  • [a1fcde035e] - test: simplify test-api-getreport.js (cjihrig) #26169
  • [818b280a39] - test: remove unnecessary default tmpdir value in test (Rich Trott) #26177
  • [59ca9e9ccf] - test: consolidate assertions in ipv6only test (Rich Trott) #26149
  • [38a87d5521] - test: increase coverage of node_report_module.cc (Richard Lau) #26116
  • [76c2f4f46b] - test: simplify test-worker-syntax-error (Rich Trott) #26144
  • [441b5453a0] - test: fix flaky test-worker-ref-onexit (Anna Henningsen) #26170
  • [d3525d7505] - test: add --test-root option to test.py (Yang Guo) #26093
  • [a920721175] - test: silence compiler warning in openssl-binding (Daniel Bevenius) #26067
  • [2d0242a69b] - test: increase coverage for assertion_error.js (Rich Trott) #26065
  • [dd60cd60b3] - test: add arg to narrow http benchmark test (Refael Ackermann) #26101
  • [fbf6dd558a] - test,inspector: add heap allocation tracker test (Anna Henningsen) #26089
  • [db94ab778f] - test,worker: posting undefined/null message to message port (legendecas) #26123
  • [d1e3724b5d] - test,worker: add more tests for worker.ref()/.unref() (Anna Henningsen) #26083
  • [96a5765491] - tools: update extend to 3.0.2 (Rich Trott) #26392
  • [6e9a7e1048] - tools: remove unneeded .gitignore entries (Rich Trott) #26370
  • [123fad6e1c] - tools: update babel-eslint to 10.0.1 (Rich Trott) #26347
  • [347dd99251] - tools: update eslint-plugin-markdown to 1.0.0 (Rich Trott) #26345
  • [adcbcf5bd6] - tools: use latest rather than next for markdown linting plugin (Rich Trott) #26345
  • [0080350f1a] - tools: update markdown linter (Rich Trott) #26281
  • [dff0149d57] - tools: update ESLint to 5.14.1 (cjihrig) #26190
  • [28d607444d] - tools: update ESLint to 5.14.0 (cjihrig) #26142
  • [1766b8c341] - trace_events: fix trace events JS API writing (Kelvin Jin) #24945
  • [34c685b406] - tracing: use ‘real’ atomics (Anna Henningsen) #26156
  • [b6355ef602] - tty: improve color detection (Ruben Bridgewater) #26264
  • [001785520a] - url: handle quasi-WHATWG URLs in urlToOptions() (cjihrig) #26226
  • [6828fbb2ef] - (SEMVER-MINOR) util: group array elements together (Ruben Bridgewater) #26269
  • [4500ed85e9] - (SEMVER-MINOR) util: add compact depth mode (Ruben Bridgewater) #26269
  • [34905fc2b9] - util: mark iterator entries as such (Ruben Bridgewater) #26222
  • [4bf58ac13d] - util: update set iterator entries inspection (Ruben Bridgewater) #25941
  • [7d66d47dba] - vm: do not overwrite error when creating context (Anna Henningsen) #26112
  • [8cf4170c94] - worker: provide process.execArgv (Anna Henningsen) #26267
  • [6fdc502a32] - worker: make MessagePort uv_async_t inline field (Anna Henningsen) #26271
  • [51f01aa25b] - worker: remove MessagePort::AddToIncomingQueue (Anna Henningsen) #26271
  • [74d11e7d0e] - worker: refactor thread life cycle management (Gireesh Punathil) #26099
  • [20dc172011] - worker: copy transferList ArrayBuffers on unknown allocator (Anna Henningsen) #26207
  • [7e7023373a] - worker: serialize errors if stack getter throws (Rich Trott) #26145
  • [a9a2c5869c] - (SEMVER-MINOR) worker: improve integration with native addons (Anna Henningsen) #26175
  • [dab3d71243] - worker: ignore --abort-on-uncaught-exception for terminate() (Anna Henningsen) #26111
  • [dab64bb0e8] - worker: spin uv_run twice before closing loop (Anna Henningsen) #26138
  • [24debc9d5c] - worker: do not add removed methods to MessagePort (Anna Henningsen) #26109
  • [8045e40917] - worker: remove duplicate call (Gireesh Punathil) #26104
  • [69298713af] - worker: switch to internal assert module (Rich Trott) #26091
  • [77a944cdee] - worker: use fake MessageEvent for port.onmessage (Anna Henningsen) #26082
  • [851a691678] - zlib: report premature ends earlier (Anna Henningsen) #26363

New in Node.js 10.9.0 (Sep 1, 2018)

  • http: http.get() and http.request() (and https variants) can now accept three arguments to allow for a URL and an options object (Sam Ruby) #21616
  • buffer:
  • Fix out-of-bounds (OOB) write in Buffer.write() for UCS-2 encoding (CVE-2018-12115)
  • Fix unintentional exposure of uninitialized memory in Buffer.alloc() (CVE-2018-7166)
  • deps:
  • Upgrade to OpenSSL 1.1.0i, fixing:
  • Client DoS due to large DH parameter (CVE-2018-0732)
  • ECDSA key extraction via local side-channel (CVE not assigned)
  • Upgrade V8 from 6.7 to 6.8 (Michaël Zasso) #21079: Memory reduction and performance improvements.

New in Node.js 9.0.0 (Nov 2, 2017)

  • Async hooks:
  • Older experimental APIs have been removed. [d731369b1d] #14414
  • Errors:
  • Improvements have been made to buffer module error messages. [9e0f771224] #14975
  • The assignment of static error codes to Node.js error continues.
  • Child Processes:
  • Errors are emitted on process nextTick. [f2b01cba7b] #4670
  • Domains:
  • The long-deprecated .dispose() method has been removed [602fd36d95] #15412
  • fs:
  • The fs.ReadStream and fs.WriteStream classes now use destroy(). [e5c290bed9] #15407
  • fs module callbacks are now invoked with an undefined context. [2249234fee] #14645
  • HTTP/1:
  • A 400 Bad Request response will now be sent when parsing fails. [f2f391e575] #15324
  • Socket timeout will be set when the socket connects. [10be20a0e8] #8895
  • A bug causing the request 'error' event to fire twice was fixed. [620ba41694] #14659
  • HTTP clients may now use generic Duplex streams in addition to net.Socket. [3e25e4d00f] #16267
  • Intl:
  • The deprecated Intl.v8BreakIterator has been removed. [668ad44922] #15238
  • OS:
  • The os.EOL property is now read-only [f6caeb9526] #14622
  • Timers:
  • setTimeout() will emit a warning if the timeout is larger than the maximum 32-bit unsigned integer. [ce3586da31] #15627

New in Node.js 8.4.0 (Sep 8, 2017)

  • NOTABLE CHANGES:
  • build:
  • Codesigning is fixed on macOS (Evan Lucas) #14179
  • deps:
  • Snapshots are turned back on!!! (Yang Guo) #14385
  • path:
  • win32 volume-relative paths are working again! (Timothy Gu) #14440
  • tools:
  • v6.x can now build with ICU 59 (Steven R. Loomis) #12078
  • COMMITS:
  • [95be08e3d2] - benchmark: fix typo in inspect-proxy (Vse Mozhet Byt) #14237
  • [dbb65203f1] - buffer: remove a wrongly added attribute specifier (Jiajie Hu) #14466
  • [977fdce406] - build: codesign tarball binary on macOS (Evan Lucas) #14179
  • [a04d4ea8d7] - build: clean up config_fips.gypi (Daniel Bevenius) #13837
  • [c7025de6e2] - build: support dtrace on ARM (Bradley T. Hughes) #12193
  • [efc0f64c17] - build: reduce one level of spawning in node_gyp (Refael Ackermann) #12653
  • [1a7e872302] - build,tools: do not force codesign prefix (Evan Lucas) #14179
  • [325813ea97] - build,win: fix python detection script (Jason Ginchereau) #14546
  • [c2090a0634] - build,windows: restore DISTTYPEDIR (Refael Ackermann) #13969
  • [2a1a93dcbf] - build,windows: implement PEP514 python detection (Refael Ackermann) #13900
  • [2bc7c3a8dd] - child_process: fix handleless NODE_HANDLE handling (Santiago Gimeno) #13235
  • [5900ebe9e4] - crypto: remove root_cert_store from node_crypto.h (Daniel Bevenius) #13194
  • [987332abdf] - deps: cherry-pick 18ea996 from c-ares upstream (Anna Henningsen) #13883
  • [7fed989deb] - deps: cherry-pick f5fad6d from upstream v8 (daniel.bevenius) #12826
  • [67ce52c740] - deps: backport rehash strings after deserialization (Yang Guo) #14385
  • [6518932466] - dns: fix resolve failed starts without network (XadillaX) #13076
  • [438a6427e5] - doc: add gabrielschulhof to collaborators (Gabriel Schulhof) #14692
  • [c013c545a4] - doc: update experimental status to reflect use (James M Snell) #12723
  • [ad2431ce28] - doc: describe labelling process for backports (Anna Henningsen) #12431
  • [013155d0b4] - doc: add XadillaX to collaborators (XadillaX) #14388
  • [226ef71a1b] - doc: replace dead link in v8 module (Devin Boyer) #14372
  • [8b69504e17] - doc: move LTS README link to increase prominence (Gibson Fahnestock) #14259
  • [b0286acd52] - doc: update umask for clarity (James Sumners) #14170
  • [49d3dee0c2] - doc: correct stream Duplex allowHalfOpen doc (Rich Trott) #14127
  • [9599faae18] - doc: note 'resize' event conditions on Windows (Dean Coakley) #13576
  • [8dbf827de3] - doc: fix mistake in http.md (Moogen Tian) #14126
  • [a3cd733dea] - doc: fix indentation issues in sample code (Rich Trott) #13950
  • [3b3d47c483] - doc: add CTC members to Collaborators list (Rich Trott) #13284
  • [f1d91ce3d2] - doc: fix example in child_process.md (Ruslan Iusupov) #13716
  • [db4fabae27] - doc: note that fs.futimes only works on AIX >7.1 (Gibson Fahnestock) #13659
  • [7648cca3de] - doc: add @nodejs/documentation to CC table (Vse Mozhet Byt) #13952
  • [b03430b4ec] - doc: add gireeshpunathil to collaborators (Gireesh Punathil) #13967
  • [c34a7472d2] - doc: fix mistake in path.relative (Tobias Nießen) #13912
  • [7142c92dd6] - doc: fixed formatting issue in cli docs (Chris Young) #13808
  • [87906d25d4] - doc: add missing zlib link to stream API docs (Rob Wu) #13838
  • [5ba65f2870] - doc: add entry for subprocess.killed property (Rich Trott) #14578
  • [73c720dd9e] - doc: change child to subprocess (Rich Trott) #14578
  • [7f6f1c2ddc] - doc, util, console: clarify ambiguous docs (Natanael Log) #14027
  • [d6ab8e2f43] - doc,stream: _transform happens one at a time (Matteo Collina) #14321
  • [c307f03b2b] - doc,test: fs - reserved characters under win32 (XadillaX) #13875
  • [1d5ba9c8e9] - docs: add note about fs.rmdir() (Oleksandr Kushchak) #14323
  • [f8b60e40a4] - gyp: implement LD/LDXX for ninja and FIPS (Sam Roberts)
  • [963ea0e99b] - lib: update indentation of ternaries (Rich Trott) #14247
  • [0cacd6c89e] - lib: normalize indentation in parentheses (Rich Trott) #14125
  • [4dabeeecdd] - lib: remove excess indentation (Rich Trott) #14090
  • [f20ed49b5e] - lib: use consistent indentation for ternaries (Rich Trott) #14078
  • [81edf592ae] - lib: fix typos (Ruben Bridgewater) #14044
  • [39f62403c7] - linkedlist: correct grammar in comments (alexbostock) #14546
  • [e82a9144ed] - path: remove unnecessary string copies (Tobias Nießen) #14438
  • [eefd32264e] - path: fix win32 volume-relative paths (Timothy Gu) #14440
  • [fe6735cc19] - src: use existing strings over creating new ones (Anna Henningsen) #14587
  • [4d3b76d2be] - src: remove GTEST_DONT_DEFINE_ASSERT_EQ in util.h (Daniel Bevenius) #12638
  • [51364b746f] - src: move crypto_bio/clienthello to crypto ns (Daniel Bevenius) #13957
  • [35f911152a] - src: add missing new line to printed message (Timothy Gu) #13940
  • [135e1e3b0b] - src: merge fn_name in NODE_SET_PROTOTYPE_METHOD (XadillaX) #13547
  • [403c45fcc9] - src: only call FatalException if not verbose (Daniel Bevenius) #12826
  • [547e74bb22] - src: use option parser for expose_internals (Sam Roberts) #12245
  • [f9e427945b] - src: supply missing comments for CLI options (Sam Roberts) #12245
  • [9ca67e0147] - src: make root_cert_vector function scoped (Daniel Bevenius) #12788
  • [2ce80d97e9] - test: refactor test-domain-abort-on-uncaught (Rich Trott) #14541
  • [4b9de44022] - test: refactor test-vm-new-script-new-context (Rich Trott) #14536
  • [e5375a97e0] - test: add check on an addon that does not register (Ezequiel Garcia) #13954
  • [1a88c3e5f6] - test: improve error logging for inspector test (Rich Trott) #14508
  • [95a95cced3] - test: fix flaky test-force-repl (Rich Trott) #14439
  • [6fd3dd20c0] - test: replace concatenation with template literal (rockcoder23) #14270
  • [3ba55d8c47] - test: replace concatenation with template literal (Ching Hsu) #14284
  • [7f7a0709be] - test: replace concatenation with template literals (Zongmin Lei) #14298
  • [11ed4c2823] - test: replace string concatenation with template (ziyun) #14286
  • [bbd1c791f5] - test: use path.join for long path concatenation (zzz) #14280
  • [c4f21b37a1] - test: replace concatenation with template literals (SkyAo) #14296
  • [d7afa17939] - test: fix error handling test-http-full-response (Rich Trott) #14252
  • [7a8eddf015] - test: use regex error check in test-crypto-random (Zhang Weijie) #14273
  • [3047cf1b48] - test: check error with regex in test-signal-safety (shaman) #14285
  • [bbe328830f] - test: use regex error checks in test-util-format (Superwoods) #14299
  • [a696e2ecae] - test: use template literal for string concat (tobewhatwewant) #14288
  • [77506e48b0] - test: simplify string concatenation (jiangplus) #14278
  • [b9b343c412] - test: use regexp to confir error message (Bang Wu) #14268
  • [94ff5918b6] - test: use regluar expression in vm test (akira.xue) #14266
  • [8b945e7649] - test: use regular expression to match error msg (Flandre) #14265
  • [a168361eb9] - test: check complete error message (Fraser Xu) #14264
  • [1e403902ba] - test: fix flaky test-net-can-reset-timeout (Rich Trott) #14257
  • [688e5ed6fd] - test: remove common.noop (Rich Trott) #12822
  • [40a61e1399] - test: add get/set effective uid/gid tests (Evan Lucas) #14091
  • [1633f8b243] - test: simplify test skipping (Vse Mozhet Byt) #14021
  • [b7b38bdbaf] - test: adjust indentation for stricter linting (Rich Trott) #14431
  • [46e4a026b6] - test: skip test-fs-readdir-ucs2 if no support (Rich Trott) #14029
  • [49632287d1] - test: fix flaky http(s)-set-server-timeout tests (Rich Trott) #14380
  • [ae7eeff489] - test: fix flaky test-https-set-timeout-server (Rich Trott) #14134
  • [c5c65c8ce9] - test: fix require nits in some test-tls-* tests (Vse Mozhet Byt) #14008
  • [346f199e28] - test: refactor test-http(s)-set-timeout-server (Alexey Orlenko) #13935
  • [ac851c482c] - test: refactor test-http-invalidheaderfield (Rich Trott) #13996
  • [49e786628f] - test: replace indexOf with includes and startsWith (Nataly Shrits) #13852
  • [2eb926b487] - test: remove undef NDEBUG from at-exit addons test (Daniel Bevenius) #13998
  • [0bcbcca21c] - test: refactor test-fs-watchfile (Rich Trott) #13721
  • [bd8574ccee] - test: refactor test-child-process-send-type-error (Rich Trott) #13904
  • [74945dd18a] - test: refactor test-cluster-basic (Rich Trott) #13905
  • [dc3d29519d] - test: remove unneeded HandleScope usage (Ezequiel Garcia) #13859
  • [beca25ab9e] - test: skip fips tests using OpenSSL config file (Daniel Bevenius) #13786
  • [d3c85a4806] - test: refactor test-tls-invoked-queued (Rich Trott) #13893
  • [676a94e44d] - test: refactor test-tls-env-extra-ca (Rich Trott) #13886
  • [fd6bbc098e] - test: make http(s)-set-timeout-server more similar (Julien Klepatch) #13822
  • [8ba784383c] - test: remove require('buffer') from 4 test files (XadillaX) #13844
  • [cd962e6de3] - test: remove unnecessary require('buffer').Buffer (lena) #13851
  • [fff0b83f1b] - test: remove require('buffer') from 4 test files (Zongmin Lei) #13846
  • [6d02bf40d0] - test: remove require('buffer') from 4 buffer tests (OriLev) #13855
  • [0abc82db50] - test: remove require('buffer') on 6 fs test files (sallen450) #13845
  • [1fb19ac0c5] - test: remove unnecessary Buffer import (Steven Winston) #13860
  • [5a9d7b3bf5] - test: use string instead of RegExp in split() (Vse Mozhet Byt) #13710
  • [6731d1b067] - test: remove needless RegExp flags (Vse Mozhet Byt) #13690
  • [842b84c4e7] - test: refactor test-http-set-timeout-server (Rich Trott) #13802
  • [389f29406a] - test: make test-http(s)-set-timeout-server alike (jklepatch) #13625
  • [5e9b2030b9] - test: use mustNotCall() in test-fs-watch (Rich Trott) #13595
  • [9356e9667d] - test: add mustCall() to child-process test (Rich Trott) #13605
  • [406b3c0371] - test: use mustNotCall in test-http-eof-on-connect (Rich Trott) #13587
  • [2f19dcddaa] - test: refactor test-fs-read-* (Rich Trott) #13501
  • [3bdf7bf9e9] - test: refactor domain tests (Rich Trott) #13480
  • [543d2de700] - test: check callback not invoked on lookup error (Rich Trott) #13456
  • [91fb0cb6b0] - test: refactor test-dgram-oob-buffer (Rich Trott) #13443
  • [08f7cca3b3] - test: add documentation for common.mustNotCall() (Rich Trott) #13359
  • [55c96cf8a8] - test: refactor test-net-server-bind (Rich Trott) #13273
  • [371b648d1b] - test: use mustCall() in test-readline-interface (Rich Trott) #13259
  • [3808e3701c] - test: use mustNotCall() in test-stream2-objects (Rich Trott) #13249
  • [b793fc6cf6] - test: replace indexOf with includes (Aditya Anand) #13215
  • [b7c7112d7b] - test: move stream2 test from pummel to parallel (Rich Trott) #13146
  • [7a5248d172] - test: simplify assert usage in test-stream2-basic (Rich Trott) #13146
  • [e15e2e7a30] - test: check noop function invocations (Rich Trott) #13146
  • [4a3e089984] - test: confirm callback is invoked in fs test (Rich Trott) #13132
  • [8b161e0a78] - test: check number of message events (Rich Trott) #13125
  • [c2a0a936e1] - test: increase coverage for path.parse (Tobias Nießen) #14438
  • [202bfcc1c0] - test: mark test-fs-read-buffer-to-string-fail as flaky (jeyanthinath) #14495
  • [a1cef1fc8f] - test: harden test-dgram-bind-shared-ports (Refael Ackermann) #13100
  • [f578c9bbb6] - test: add mustCallAtLeast (Refael Ackermann) #12935
  • [a7b94500f2] - test: add common.noop, default for common.mustCall() (James M Snell) #12027
  • [f3c0b8cd6e] - test,fs: delay unlink in test-regress-GH-4027.js (Jaime Bernardo) #14010
  • [e8438c1b22] - timers: do not use user object call/apply (Rich Trott) #12960
  • [31f572c3ea] - tools: update to ESLint 4.3.0 (Rich Trott) #14417
  • [7d851e3b6a] - tools: update package.json engine field (AJ Jordan) #14165
  • [c5adb5f008] - tools: update ESLint to 4.2.0 (Rich Trott) #14155
  • [2af21650d6] - tools: generate template literal for addon tests (Rich Trott) #14094
  • [62de339327] - tools: remove legacy indentation linting (Rich Trott) #14515
  • [8b7c4fc06f] - tools: remove align-multiline-assignment lint rule (Rich Trott) #14079
  • [509205fddd] - tools: update to ESLint 4.1.1 (Rich Trott) #13946
  • [8f664e52d9] - tools: add script to update ESLint (Rich Trott) #13895
  • [d34bc78fd4] - tools: update to ESLint 4.1.0 (Rich Trott) #13895
  • [01d82d843b] - tools: use no-use-before-define ESLint rule (Vse Mozhet Byt) #14032
  • [70901b271c] - tools: remove comment in eslint rule (Daniel Bevenius) #13945
  • [74d5cba007] - tools: add missing #include "unicode/putil.h" (Steven R. Loomis) #12078
  • [7bb200f624] - tools: add rule prefering common.mustNotCall() (James M Snell) #12027
  • [d5bf1379b5] - v8: fix RegExp nits in v8_prof_polyfill.js (Vse Mozhet Byt) #13709
  • [9e2d85e441] - v8: handle proxy objects in MakeMirror(), v2 (Ben Noordhuis) #14343
  • [bccd2f59b0] - v8: handle proxy objects in MakeMirror(), v1 (Ben Noordhuis) #14343
  • [e79c054f76] - zlib: fix crash when initializing failed (Anna Henningsen) #14666

New in Node.js 8.3.0 (Aug 10, 2017)

  • V8 6.0:
  • The V8 engine has been upgraded to version 6.0, which has a significantly changed performance profile. #14574
  • More detailed information on performance differences can be found at https://medium.com/the-node-js-collection/get-ready-a-new-v8-is-coming-node-js-performance-is-changing-46a63d6da4de
  • OTHER NOTABLE CHANGES:
  • DNS:
  • Independent DNS resolver instances are supported now, with support for cancelling the corresponding requests. #14518
  • N-API:
  • Multiple N-API functions for error handling have been changed to support assigning error codes. #13988
  • REPL:
  • Autocompletion support for require() has been improved. #14409
  • Utilities:
  • The WHATWG Encoding Standard (TextDecoder and TextEncoder) has been implemented as an experimental feature. #13644
  • Added new collaborators:
  • XadillaX – Khaidi Chu
  • gabrielschulhof – Gabriel Schulhof
  • COMMITS:
  • [e2356e72e7] - assert: improve deepEqual Set and Map worst case (Ruben Bridgewater) #14258
  • [9252b8c057] - assert: refactor to reduce unecessary code paths (Ruben Bridgewater) #13973
  • [89586f6684] - assert: fix incorrect use of ERR_INVALID_ARG_TYPE (Tobias Nießen) #14011
  • [26785a23bb] - assert: refactor the code (Ruben Bridgewater) #13862
  • [0cf1e22448] - benchmark: remove unused parameters (Matthew Alsup) #14526
  • [9b104b4ea8] - benchmark: add assert map and set benchmarks (Ruben Bridgewater) #14258
  • [2c364ab291] - buffer: remove a wrongly added attribute specifier (Jiajie Hu) #14466
  • [c0f0c38535] - build: enable C++ linting for src// (jeyanthinath) #14497
  • [87e108059b] - build: fix build without icu (Jimmy Thomson) #14533
  • [0ebb4dff17] - build: codesign tarball binary on macOS (Evan Lucas) #14179
  • [7f5bcbd2e9] - build,test: run v8 tests on windows (Kunal Pathak) #13992
  • [5ab4471d72] - build,tools: do not force codesign prefix (Evan Lucas) #14179
  • [7b96944254] - build,win: fix python detection script (Jason Ginchereau) #14546
  • [1f16c43e80] - child_process: fix handle passing w large payloads (Anna Henningsen) #14588
  • [9c1199e88f] - (SEMVER-MINOR) console: add console.count() and console.clear() (James M Snell) #12678
  • [255b9bfa8a] - console,test: make message test more accurate (Anna Henningsen) #14580
  • [51c1afafa6] - crypto: change segmentation faults to CHECKs (Tobias Nießen) #14548
  • [e2b306c831] - (SEMVER-MINOR) deps: backport rehash strings after deserialization (Yang Guo) #14004
  • [2dbf95d5ee] - (SEMVER-MINOR) deps: backport c0f1ff2 from upstream V8 (Michaël Zasso) #14004
  • [efd297a5c9] - (SEMVER-MINOR) deps: fix addons compilation with VS2013 (Bartosz Sosnowski) #14004
  • [160e2f03d2] - (SEMVER-MINOR) deps: limit regress/regress-crbug-514081 v8 test (Michael Dawson) #14004
  • [44ad55d493] - (SEMVER-MINOR) deps: update V8 to 6.0.286.52 (Myles Borins) #14574
  • [d9273ed5ed] - deps: cherry-pick 18ea996 from c-ares upstream (Anna Henningsen) #13883
  • [32b30d519e] - (SEMVER-MINOR) dns: name generated functions (Anna Henningsen) #14518
  • [0982810208] - (SEMVER-MINOR) dns: add channel.cancel() (Anna Henningsen) #14518
  • [69e41dc5da] - (SEMVER-MINOR) dns: enable usage of independent cares resolvers (Anna Henningsen) #14518
  • [ad901ed272] - doc: add gabrielschulhof to collaborators (Gabriel Schulhof) #14692
  • [dd586c6bd4] - doc: erase unneeded eslint-plugin-markdown comment (Vse Mozhet Byt) #14598
  • [8c80e91a2e] - doc: fix typo in writing-and-running-benchmarks.md (Yuta Hiroto) #14600
  • [91b7843aeb] - doc: add entry for subprocess.killed property (Rich Trott) #14578
  • [342f4cccb5] - doc: change child to subprocess (Rich Trott) #14578
  • [b6bd3cf00f] - doc: cross-link util.TextDecoder and intl.md (Vse Mozhet Byt) #14486
  • [fffd8f5335] - doc: document napi_finalize() signature (cjihrig) #14230
  • [92b0555965] - doc: various small revisions in url (Timothy Gu) #14478
  • [9dd9760951] - doc: update url.origin IDNA behavior (Timothy Gu) #14478
  • [4e2493a20d] - doc: fix minor typos in net.md (Daiki Arai) #14502
  • [e9088f92d8] - doc: fix verify in crypto.md (Ruslan Iusupov) #14469
  • [8a9de1b3c5] - doc: fix typo in using-internal-errors.md (Anton Paras) #14429
  • [ab9bc81b0e] - doc: add docs for module.paths (atever) #14435
  • [bdcd496c98] - doc: update experimental status to reflect use (James M Snell) #12723
  • [6c6da38518] - doc: fix some links (Vse Mozhet Byt) #14400
  • [83c8e5c517] - doc: describe labelling process for backports (Anna Henningsen) #12431
  • [592787ef4d] - doc: error message are still major (Refael Ackermann) #14375
  • [f1b09c0a44] - doc: fix typo in stream.md (Marc Hernández Cabot) #14364
  • [4be373bc4b] - doc: fixes default shell in child_process.md (Henry) #14203
  • [b12924d894] - doc: add XadillaX to collaborators (XadillaX) #14388
  • [dc0a26f254] - doc: replace dead link in v8 module (Devin Boyer) #14372
  • [d2121ab768] - doc: fix minor typo in cluster.md (Lance Ball) #14353
  • [eb023ef7df] - doc, lib, test: do not re-require needlessly (Vse Mozhet Byt) #14244
  • [cfed48e81c] - doc, url: add changelog metadata for url.format (Timothy Gu) #14543
  • [78f0c2aa75] - doc,assert: document stackStartFunction in fail (Ruben Bridgewater) #13862
  • [53ad91c3b1] - doc,stream: _transform happens one at a time (Matteo Collina) #14321
  • [f6a03439d8] - docs: add note about fs.rmdir() (Oleksandr Kushchak) #14323
  • [142ce5ce2c] - errors: order internal errors list alphabetically (Anna Henningsen) #14453
  • [50447e837b] - http: reset stream to unconsumed in unconsume() (Anna Henningsen) #14410
  • [751e87338f] - http: check for handle before running asyncReset() (Trevor Norris) #14419
  • [deea68cbb2] - inspector: fix console with inspector disabled (Timothy Gu) #14489
  • [71cb1cdf69] - inspector: implement V8Inspector timer (Eugene Ostroukhov) #14346
  • [4836f3b9b9] - inspector: send messages after the Node is done (Eugene Ostroukhov) #14463
  • [9e5a08884a] - lib: adjust indentation for impending lint change (Rich Trott) #14403
  • [a7b3e06e9b] - lib: modify destructuring for indentation (Rich Trott) #14417
  • [28f0693796] - lib: include cached modules in module.children (Ben Noordhuis) #14132
  • [19a0e06317] - linkedlist: correct grammar in comments (alexbostock) #14546
  • [60e0f2bb0d] - (SEMVER-MINOR) n-api: add support for DataView (Shivanth MP) #14382
  • [b849b3d223] - n-api: re-use napi_env between modules (Gabriel Schulhof) #14217
  • [6078dea35d] - n-api: directly create Local from Persistent (Kyle Farnung) #14211
  • [f2efdc880f] - (SEMVER-MINOR) n-api: add code parameter to error helpers (Michael Dawson) #13988
  • [fa134dd60c] - n-api: add fast paths for integer getters (Anna Henningsen) #14393
  • [58446912a6] - net: fix bytesWritten during writev (Brendan Ashworth) #14236
  • [b41ae9847e] - path: fix win32 volume-relative paths (Timothy Gu) #14440
  • [509039fcaf] - path: remove unnecessary string copies (Tobias Nießen) #14438
  • [e813cfaead] - querystring: avoid indexOf when parsing (Matteo Collina) #14703
  • [37e55bf559] - readline: remove max limit of crlfDelay (Azard) #13497
  • [e54f75b831] - readline: remove the caching variable (Lyall Sun) #14275
  • [1a5927fc27] - repl: do not consider ... as a REPL command (Shivanth MP) #14467
  • [5a8862bfa3] - (SEMVER-MINOR) repl: improve require() autocompletion (Alexey Orlenko) #14409
  • [34821f6400] - repl: don't terminate on null thrown (Benjamin Gruenbaum) #14306
  • [32ba8aea0b] - repl: fix old history error handling (Ruben Bridgewater) #13733
  • [264e4345f8] - src: reuse 'ondone' string in node_crypto.cc (Tobias Nießen) #14587
  • [6ae6469d4a] - src: use existing strings over creating new ones (Anna Henningsen) #14587
  • [eb068a0526] - src: remove unused Connection::ClearError() (Ben Noordhuis) #14514
  • [4b01d8cac3] - src: replace assert with CHECK_LE in node_api.cc (Ben Noordhuis) #14514
  • [3c6b5e5fac] - src: properly manage timer in cares ChannelWrap (Anna Henningsen) #14634
  • [8c5cd1439e] - src: avoid dereference without existence check (Timothy Gu) #14591
  • [8a3bc874fa] - src: fix process.abort() interaction with V8 (Anna Henningsen) #13985
  • [997204a213] - (SEMVER-MINOR) src: fix new V8 compiler warnings (Michaël Zasso) #14004
  • [fa3aa2e1f7] - src: return MaybeLocal in AsyncWrap::MakeCallback (Tobias Nießen) #14549
  • [d90a5e0069] - src: replace deprecated ForceSet() method (Franziska Hinkelmann) #14450
  • [eb7faf6734] - src: replace ASSERT with CHECK (Ben Noordhuis) #14474
  • [106a23bd27] - (SEMVER-MINOR) src,dns: refactor cares_wrap to avoid global state (Anna Henningsen) #14518
  • [3c46ef4717] - test: explain sloppy mode for test-global (Rich Trott) #14604
  • [28b9c7a477] - test: fix test-readline-position w/o ICU (Timothy Gu) #14489
  • [636ba8caef] - test: support odd value for kStringMaxLength (Michaël Zasso) #14476
  • [5094f2c299] - test: refactor test-domain-abort-on-uncaught (Rich Trott) #14541
  • [b1fef05446] - test: improvements to various http tests (James M Snell) #14315
  • [ce9e3cfe10] - test: refactor test/sequential/test-fs-watch.js (Rich Trott) #14534
  • [9f50db2450] - test: refactor test-vm-new-script-new-context (Rich Trott) #14536
  • [f40b9062fc] - test: add check on an addon that does not register (Ezequiel Garcia) #13954
  • [ddd97fe15c] - test: fix error when foo in path to git clone (Matt Woicik) #14506
  • [8fea17484d] - test: add DISABLED_ prefix to commented out test (Daniel Bevenius) #14317
  • [7b6a77403c] - test: remove disabled tests directory (Rich Trott) #14505
  • [15b9aa1359] - test: improve error logging for inspector test (Rich Trott) #14508
  • [451e643cf2] - test: remove --no-crankshaft (Myles Borins) #14531
  • [7c51240b1a] - test: adjust indentation for stricter linting (Rich Trott) #14431
  • [c704c02290] - test: increase coverage for path.parse (Tobias Nießen) #14438
  • [23cd934d71] - test: refactor test-httpparser.response.js (erdun) #14290
  • [91b6ba1973] - test: refactor test-benchmark-timers (Rich Trott) #14464
  • [c2853893cf] - test: refactor test-http-parser.js (Rich Trott) #14431
  • [4ff562f41e] - test: make flaky crypto test more deterministic (Ben Noordhuis) #14451
  • [100e862dfa] - test: rename crypto test (Ben Noordhuis) #14451
  • [f8c2302a66] - test: use common.mustCall() instead of exit handle (笑斌) #14262
  • [0ff19b0c4c] - test: changed error message validator (Pratik Jain) #14443
  • [14f6a5a367] - test: fix flaky test-force-repl (Rich Trott) #14439
  • [5057c7a953] - test: replace concatenation with template literal (rockcoder23) #14270
  • [6420a73f3e] - test: replace concatenation with template literal (Ching Hsu) #14284
  • [cd0fffd86a] - test: convert table in test doc to markdown table (vixony) #14291
  • [1c6135f431] - test: fix flaky http(s)-set-server-timeout tests (Rich Trott) #14380
  • [de3d73c88c] - test: replace CRLF by LF in a fixture (Vse Mozhet Byt) #14437
  • [aeb8d66eec] - test: fix test-async-wrap-getasyncid flakyness (Julien Gilli) #14329
  • [3c50c592a5] - test: replace concatenation with template literals (笑斌) #14293
  • [1813467d27] - test: upgrade tests to work with master’s common (Anna Henningsen) #14459
  • [d89bb1c6f3] - test: bump test/common to master (Anna Henningsen) #14459
  • [d7a1637897] - test: change isAix to isAIX (章礼平) #14263
  • [552d2be625] - test: improve test-util-inspect (Peter Marshall) #14003
  • [0418a70d7c] - test: add non-internet resolveAny tests (Anna Henningsen) #13883
  • [265f159881] - test: replace concatenation with template literals (Song, Bintao Garfield) #14295
  • [3414e42127] - test: replace concatenation with template literals (Zongmin Lei) #14298
  • [953736cdde] - test: move timing-dependent tests to sequential (Alexey Orlenko) #14377
  • [9b22acc29e] - test: fix flaky test-net-write-after-close (Rich Trott) #14361
  • [11ae8c33bd] - test: delete obsolete test-sendfd.js (decareano) #14334
  • [99104e1b58] - test: improve fs.exists coverage (jkzing) #14301
  • [e237720537] - test: replace string concatenation with template (ziyun) #14286
  • [3c92b787d7] - test: use path.join in async-hooks/test-tlswrap.js (Vincent Xue) #14319
  • [0197ba00a5] - test: add comments for whatwg-url tests (Gautam Arora) #14355
  • [956a473107] - test: move test-fs-largefile to pummel (Rich Trott) #14338
  • [c866c9078b] - test: use path.join for long path concatenation (zzz) #14280
  • [94c7331277] - test: replace string concatenation with path.join (jkzing) #14272
  • [def98c6959] - test: replace string concatenation with template (Nathan Jiang) #14342
  • [3bc7d2a5ea] - test: replace string concat in test-fs-watchfile.js (Helianthus21) #14287
  • [72febfd3b6] - test: replace concatenation with template literals (SkyAo) #14296
  • [b5d0a03a9e] - test: fix error handling test-http-full-response (Rich Trott) #14252
  • [e90af29604] - tls: fix empty issuer/subject/infoAccess parsing (Ben Noordhuis) #14473
  • [767644def5] - tools: simplify no-unescaped-regexp-dot rule (Rich Trott) #14561
  • [9f319d5dfb] - tools: replace assert-throw-arguments custom lint (Rich Trott) #14547
  • [fa8c5f4372] - tools: remove legacy indentation linting (Rich Trott) #14515
  • [d11840c180] - tools: enable stricter linting in lib directory (Rich Trott) #14403
  • [5e952182e7] - tools: update to ESLint 4.3.0 (Rich Trott) #14417
  • [ebb90900af] - tools: skip workaround for newer llvm (nanaya) #14077
  • [c0ea5d8ce5] - tools: always include llvm_version in config (nanaya) #14077
  • [32259421ca] - url: update sort() behavior with no params (Timothy Gu) #14185
  • [9a3fc10dd4] - (SEMVER-MINOR) util: implement WHATWG Encoding Standard API (James M Snell) #13644
  • [f593960d35] - util: refactor util module (James M Snell) #13803
  • [357873ddb0] - (SEMVER-MINOR) v8: fix stack overflow in recursive method (Ben Noordhuis) #14004
  • [a8132943c5] - zlib: fix crash when initializing failed (Anna Henningsen) #14666
  • [e529914e70] - zlib: fix interaction of flushing and needDrain (Anna Henningsen) #14527

New in Node.js 7.10.0 (May 10, 2017)

  • NOTABLE CHANGES:
  • crypto: add randomFill and randomFillSync (Evan Lucas) #10209
  • process: fix crash when Promise rejection is a Symbol (Cameron Little) #11640
  • url: make WHATWG URL more spec compliant (Timothy Gu) #12507
  • meta: Added new collaborators:
  • add lucamaraschi to collaborators (Luca Maraschi) #12538
  • add DavidCai1993 to collaborators (David Cai) #12435
  • add jkrems to collaborators (Jan Krems) #12427
  • add AnnaMag to collaborators (AnnaMag) #12414
  • v8::
  • fix stack overflow in recursive method (Ben Noordhuis) #12460
  • fix build errors with g++ 7 (Ben Noordhuis) #12392
  • COMMITS:
  • [224fd3af97] - benchmark: terminate child process on Windows (Rich Trott) #12658
  • [373e9f08af] - benchmark: add benchmark for v8.getHeap*Statistics (James M Snell) #12681
  • [7d87edc1ba] - benchmark: add benchmark for string concatenations (Vse Mozhet Byt) #12455
  • [08ba9d437c] - benchmark: fix CLI arguments check in common.js (Vse Mozhet Byt) #12429
  • [440f4d4eef] - Revert "benchmark: fix CLI arguments check in common.js" (James M Snell) #12474
  • [b7aeed7a7e] - benchmark: improve cli error message (Brian White) #12421
  • [917534d541] - benchmark: fix CLI arguments check in common.js (Vse Mozhet Byt) #12429
  • [f316b50e8d] - benchmark: replace more [].join() with ''.repeat() (Vse Mozhet Byt) #12317
  • [d58fa7873f] - benchmark,windows: TCP.readStart() meaningful only after completion (Refael Ackermann) #12258
  • [e4b2f61fb5] - buffer: use slightly faster NaN check (Brian White) #12286
  • [ebeb6c0a26] - buffer: optimize write() (Brian White) #12361
  • [0c0241ff73] - buffer,util: refactor for performance (Rich Trott) #12153
  • [caf6506f9f] - build: add target for checking for perm deopts (Brian White) #12456
  • [212475b451] - build: use do_not_edit variable where possible (Ruslan Bekenev) #12610
  • [78ac637fe2] - build: fix case in lib names (Refael Ackermann) #12522
  • [e6be4b951a] - build: make linter targets silent (Sakthipriyan Vairamani (thefourtheye)) #12423
  • [4d9e6718f8] - build: run cpplint even if jslint failed (Ruslan Bekenev) #12276
  • [9662ca1a03] - build: enable cctest to use generated objects (Daniel Bevenius) #11956
  • [42e940c5e9] - build,win: limit maxcpucount to 2 for MSBuild (João Reis) #12184
  • [933b6b57d6] - cluster: fix permanent deoptimizations (Brian White) #12456
  • [db585c9b4d] - crypto: update root certificates (Ben Noordhuis) #12402
  • [8ac8e50a58] - crypto: make LazyTransform compabile with Streams1 (Matteo Collina) #12380
  • [75f4329e01] - (SEMVER-MINOR) crypto: add randomFill and randomFillSync (Evan Lucas) #10209
  • [d154aafe18] - deps: remove **/node_modules/form-data/README.md (Jeremiah Senkpiel) #12643
  • [e8595c505b] - deps: cherry-pick 79aee39 from upstream v8 (Ben Noordhuis) #12412
  • [810f9215e5] - deps,win: increase msvs_shard in gyp for V8 (João Reis) #12184
  • [c2c62874d4] - doc: fix formatting of TOC (Refael Ackermann) #12731
  • [f60a2e9527] - doc: fixup the collaborators list (Alexey Orlenko) #12750
  • [360efe48bc] - doc: fix examples in repl.md (Vse Mozhet Byt) #12684
  • [395380a136] - doc: add Added-in metadata for WHATWG URL (Timothy Gu) #12683
  • [fc96d1a573] - doc: document url.domainTo* methods separately (Timothy Gu) #12683
  • [45facc8822] - doc: fix an unclear wording in readline.md (Vse Mozhet Byt) #12605
  • [1316c77b79] - doc: improve randomfill and fix broken link (Sakthipriyan Vairamani (thefourtheye)) #12541
  • [313b205834] - doc: prepare js code for eslint-plugin-markdown (Vse Mozhet Byt) #12563
  • [b52f77df43] - doc: fix typo in doc/api/process.md (morrme) #12612
  • [47b39928d5] - doc: make commit guidelines easier to reference (Benjamin Fleischer) #11732
  • [4276c213f2] - doc: add suggestion to use --3way (Michael Dawson) #12510
  • [3703fc6bbe] - doc: update link to Code of Conduct (Alex Autem) #12552
  • [434873d24b] - doc: fix typo in fs.watch() description (Ivo von Putzer Reibegg) #12550
  • [eb78722922] - doc: add lucamaraschi to collaborators (Luca Maraschi) #12538
  • [9250f02d12] - doc: clarify the callback arguments of dns.resolve (Roman Reiss) #9532
  • [38278db9c7] - doc: unify spaces in a querystring.md code example (Vse Mozhet Byt) #12465
  • [3fc25dce82] - doc: run tests before landing changes (Rich Trott) #12416
  • [af0067cc5e] - doc: avoid colloquialism (Rich Trott) #12417
  • [d0ba631efa] - doc: fix encoding string in buffer example (MapleUncle) #12482
  • [3d8878c592] - doc: correct git fix whitespace command (Mateusz Konieczny) #12445
  • [077187e9a8] - doc: s/origin/upstream/ collaborator guide (Anna Henningsen) #12436
  • [5a2d358f2e] - doc: remove inspector experimental warning (cjihrig) #12408
  • [320e72b32d] - doc: add missing ) in CONTRIBUTING.md (Mateusz Konieczny) #12444
  • [4570d9853c] - doc: add guide for backporting prs (Evan Lucas) #11099
  • [d7d1e923ad] - doc: update link for landing PRs (Rich Trott) #12415
  • [4ce58bd56a] - doc: add DavidCai1993 to collaborators (David Cai) #12435
  • [984232cc2a] - doc: fix typo in streams.md (John Paul Bamberg) #12428
  • [060b63e91f] - doc: add jkrems to collaborators (Jan Krems) #12427
  • [6a45be2fa6] - doc: path functions ignore trailing slashes (Tobias Nießen) #12181
  • [92e239d001] - doc: add info about serializable types (Shubheksha Jalan) #12313
  • [5c57feaa27] - doc: fix formatting in onboarding-extras (Rich Trott) #12350
  • [e2d66ab809] - doc: response.write ignores body in some cases (Ruslan Bekenev) #12314
  • [d1e1832398] - doc: add AnnaMag to collaborators (AnnaMag) #12414
  • [f3db9a6437] - doc: limit lines to 80 cols in internal README (Evan Lucas) #12358
  • [ed130168ed] - doc: add single arg scenario for util.format (Tarun Batra) #12374
  • [aa511053be] - doc: add missing changelog entry for fs.readdir() (Shubheksha Jalan) #12312
  • [43a39c6786] - doc: modernize and fix code examples in path.md (Vse Mozhet Byt) #12296
  • [71b39aefc1] - doc: update os.uptime() and process.uptime() info (Vse Mozhet Byt) #12294
  • [089a96f337] - doc: add link on logo to README (Roman Reiss) #12307
  • [75f0855f4c] - doc: c++ unit test guide lines (Daniel Bevenius) #11956
  • [b1d3f59c59] - doc: fix stylistic issues in api/net.md (Alexey Orlenko) #11786
  • [e48e00b03a] - doc: document URLSearchParams constructor (Timothy Gu) #12507
  • [84484b7063] - fs: fix permanent deoptimizations (Brian White) #12456
  • [675244af8e] - gyp: inherit parent for *.host (Johan Bergström) #6173
  • [cbdf9a90d1] - lib: fix typo in comments in module.js (WORMSS) #12528
  • [51eafe8f3c] - meta: update authors list (Aashil Patel) #11533
  • [2e3813f730] - meta: move the Code of Conduct to TSC repository (James M Snell) #12147
  • [4a082889bd] - net: fix permanent deoptimizations (Brian White) #12456
  • [9db4f19283] - net: require 'dns' only once (Ben Noordhuis) #12342
  • [94385c6d70] - net: don't normalize twice in Socket#connect() (Ben Noordhuis) #12342
  • [0e40e6d3e9] - net: don't concatenate strings in debug logging (Ben Noordhuis) #12342
  • [d0b1be13f9] - net: remove unnecessary process.nextTick() (Ben Noordhuis) #12342
  • [dcc9e1a7d4] - net: don't create unnecessary closure (Ben Noordhuis) #12342
  • [e09202b78b] - net: don't create unnecessary closure (Ben Noordhuis) #12342
  • [8ac387be3e] - net: refactor onSlaveClose in Server.close (Claudio Rodriguez) #12334
  • [6998e8026b] - os,vm: fix segfaults and CHECK failure (Tobias Nießen) #12371
  • [b573f77b28] - process: fix permanent deoptimizations (Brian White) #12456
  • [cd54208463] - process: cast promise rejection reason to string (Cameron Little) #11640
  • [0cc37c71a1] - querystring: move isHexTable to internal (Timothy Gu) #12507
  • [1ac331b29f] - readline: fix permanent deoptimizations (Brian White) #12456
  • [b09bf51cdf] - repl: support hidden history file on Windows (Bartosz Sosnowski) #12207
  • [da01ff7507] - src: remove invalid comment (cjihrig) #12645
  • [744ed9477b] - src: expose V8's IsNativeError() in util bindings (cjihrig) #12546
  • [cfd91446a1] - src: remove extraneous dot (Myles Borins) #12626
  • [520f876711] - src: add fcntl.h include to node.cc (Bartosz Sosnowski) #12540
  • [08951a1307] - src: replace IsConstructCalls with lambda (Daniel Bevenius) #12533
  • [184941ef0b] - src: remove TODO about uv errno removal (Daniel Bevenius) #12536
  • [94ddab091b] - src: guard default_inspector_port (Daniel Bevenius) #12303
  • [513fc62267] - src: clean up WHATWG WG parser (Timothy Gu) #12507
  • [078316c630] - src: WHATWG URL C++ parser cleanup (Timothy Gu) #12507
  • [72a3cacc95] - src: remove explicit UTF-8 validity check in url (Timothy Gu) #12507
  • [f5a702e763] - stream: Fixes missing 'unpipe' event (Christopher Luke) #11876
  • [7d0adc6d26] - stream: fix permanent deoptimizations (Brian White) #12456
  • [592db37e2f] - test: move test to sequential for reliability (Rich Trott) #12704
  • [7af2e7940c] - test: fix permanent deoptimizations (Brian White) #12456
  • [9da719ab32] - test: fix test filenames (Brian White) #12456
  • [d78adccc08] - test: support multiple warnings in checkWarning (Cameron Little) #11640
  • [819c131f58] - test: improve test-tcp-wrap-listen (alohaglenn) #12599
  • [79dff99428] - test: remove eslint comments from test-util.js (cjihrig) #12669
  • [dd1dced4c1] - test: remove eslint comments (cjihrig) #12669
  • [3e9e6afd8a] - test: use common.mustCall in test-https-strict (weewey) #12668
  • [75e053be39] - test: cleanup test-util-inherits.js (RobotMermaid) #12602
  • [745dea994e] - test: use common.js to check platform (Ruslan Bekenev) #12629
  • [8e6d4402a0] - test: improve test-process-kill-pid (alohaglenn) #12588
  • [660e58c7eb] - test: improved type checking with regex (coreybeaumont) #12591
  • [e36a256c6b] - test: cleanup test-fs-watch.js (RobotMermaid) #12595
  • [d15b1c4446] - test: add mustCall in test-timers-clearImmediate (Zahidul Islam) #12598
  • [989d344ba9] - test: use block scoped variable names (Neehar Venugopal) #12544
  • [b82e0769fe] - test: dynamic port in cluster eaddrinuse (Sebastian Plesciuc) #12547
  • [8ae5afe2d2] - test: dynamic port in cluster ipc throw (Sebastian Plesciuc) #12571
  • [80ceb04644] - test: replace assertion error check with regex (thelady) #12603
  • [2021ea1c12] - test: refactored context type err message to regex (Muhsin Abdul-Musawwir) #12596
  • [1a4bf431fc] - test: improve test-process-chdir (vperezma) #12589
  • [14e93f6369] - test: dynamic port in parallel cluster tests (Sebastian Plesciuc) #12584
  • [d10eb83325] - test: remove flaky designation for test on AIX (Rich Trott) #12564
  • [f0b5afe721] - test: dynamic port in cluster worker dgram (Sebastian Plesciuc) #12487
  • [661ff6dae3] - test: move test-debugger-repeat-last to sequential (kumarrishav) #12470
  • [0fb69de277] - test: use duplex streams in duplex stream test (cjihrig) #12514
  • [f84a5e19b7] - test: use JSON.stringify to trigger stack overflow (Yang Guo) #12481
  • [96b2faa79b] - test: fix parallel/test-setproctitle.js on alpine (David Cai) #12413
  • [e3ccc3109c] - test: set benchmark-child-process flaky on windows (Rich Trott) #12561
  • [37261319d6] - test: minimize time for child_process benchmark (Rich Trott) #12518
  • [eac0d70429] - test: console.log removed from test-net-localport (Faiz Halde) #12483
  • [a213320745] - test: dynamic port in cluster worker disconnect (Sebastian Plesciuc) #12457
  • [ddc35282c0] - test: remove uses of common.PORT in test-tls-client tests (Ahmed Taj elsir) #12461
  • [f48d06c042] - test: dynamic port in cluster worker send (Sebastian Plesciuc) #12472
  • [a75fbe024a] - test: increase coverage for buffer.js (Rich Trott) #12476
  • [e919941a21] - test: add test for child_process benchmark (Joyee Cheung) #12326
  • [8e3d54aca5] - test: complete coverage of lib/child_process.js (cjihrig) #12367
  • [922c457365] - test: buffer should always be stringified (Luca Maraschi) #12355
  • [611c23cca6] - test: use dynamic port in test-cluster-bind-twice (Rich Trott) #12418
  • [a7e13e012d] - test: remove common.PORT from test-cluster*.js (Tarun Batra) #12441
  • [a34cccceaa] - test: use dynamic port in 3 test-cluster-worker tests (Sebastian Plesciuc) #12443
  • [320b80b792] - test: add --use-bundled-ca to tls-cnnic-whitelist (Daniel Bevenius) #12394
  • [3c59d87164] - test: add crypto check to crypto-lazy-transform (Daniel Bevenius) #12424
  • [0f290f2414] - test: enable setuid/setgid test (Rich Trott) #12403
  • [4a19062294] - test: replace [].join() with ''.repeat() (Jackson Tian) #12305
  • [5ed9ed3317] - test: remove common.PORT from test-cluster-basic (Rich Trott) #12377
  • [0661fdf781] - test: add test-benchmark-crypto (Rich Trott) #12347
  • [092c7239ee] - test: add hasCrypto check to test-debug-usage (Daniel Bevenius) #12357
  • [aff0cfc2d7] - test: improve punycode coverage to check surrogate pair (Nao YONASHIRO) #12354
  • [1ab998f25c] - test: fix allocUnsafe uninitialized buffer check (Karl Cheng) #12290
  • [fe45a379e4] - test: add arrow functions to test-util-inspect (Alexey Orlenko) #11781
  • [9bdf62f7a7] - test: refactor test-util-inspect.js (Alexey Orlenko) #11779
  • [1adb08ee92] - test: synchronize WPT url test data (Daijiro Wachi) #12507
  • [90bba9fd3e] - test,doc: document crashOnUnhandledRejection() (Anna Henningsen) #12699
  • [46a7c297d3] - tools: use no-useless-concat ESLint rule (Vse Mozhet Byt) #12613
  • [258eeaa519] - tools: enable no-useless-return eslint rule (cjihrig) #12577
  • [200e899cc4] - tools: add root: true in main .eslintrc.yaml (Vse Mozhet Byt) #12570
  • [13441eb1e1] - tools: add table parsing capability to the doctool (Roman Reiss) #9532
  • [3c8e366c2a] - tools: update certdata.txt (Ben Noordhuis) #12402
  • [6003958872] - tools: add compile_commands.json gyp generator (Ben Noordhuis) #12450
  • [83a28eeff8] - tools: update gyp to eb296f6 (Refael Ackermann) #12450
  • [5ccafa2a33] - tools: replace custom ESLint timers rule (Rich Trott) #12162
  • [60daaaeff2] - url: always show password for URL instances (Brian White) #12420
  • [ac52923308] - url: update WHATWG URL API to latest spec (Timothy Gu) #12523
  • [539ffaef83] - url: improve descriptiveness of identifier (Rich Trott) #12579
  • [dfc801737f] - url: improve WHATWG URL inspection (Timothy Gu) #12507
  • [b2a9e60ce1] - url: clean up WHATWG URL origin generation (Timothy Gu) #12507
  • [29531d2654] - url: disallow invalid IPv4 in IPv6 parser (Daijiro Wachi) #12507
  • [ffb2ef4ff3] - url: remove javascript URL special case (Daijiro Wachi) #12507
  • [5a27f6335d] - url: trim leading slashes of file URL paths (Daijiro Wachi) #12507
  • [b50a84a259] - url: avoid instanceof for WHATWG URL (Brian White) #12507
  • [b9b93f2165] - url: error when domainTo*() is called w/o argument (Timothy Gu) #12507
  • [b8d1a45beb] - url: change path parsing for non-special URLs (Daijiro Wachi) #12507
  • [c7de98a7bf] - url: add ToObject method to native URL class (James M Snell) #12507
  • [4b6097d3bd] - url: use a class for WHATWG url[context] (Timothy Gu) #12507
  • [01b8839495] - url: spec-compliant URLSearchParams parser (Timothy Gu) #12507
  • [b8ff2c9f37] - url: spec-compliant URLSearchParams serializer (Timothy Gu) #12507
  • [d6fe91648a] - url: prioritize toString when stringifying (Timothy Gu) #12507
  • [7c9ca0f3ce] - url: enforce valid UTF-8 in WHATWG parser (Timothy Gu) #12507
  • [b4052e656c] - url: extend URLSearchParams constructor (Timothy Gu) #12507
  • [e77f1e2177] - v8: fix stack overflow in recursive method (Ben Noordhuis) #12460
  • [25b851bdd4] - v8: fix build errors with g++ 7 (Ben Noordhuis) #12392

New in Node.js 7.9.0 (Apr 12, 2017)

  • Notable Changes:
  • util: console is now closer to what is supported in all major browsers (Roman Reiss) #10308
  • Commits:
  • [9f73df5910] - deps: cherry-pick 22858cb from V8 upstream (Ali Ijaz Sheikh) #11998
  • [b997e62692] - test: add internal/socket_list tests (DavidCai) #12109
  • [c11c23b22b] - doc: make the heading consistent (Sakthipriyan Vairamani (thefourtheye)) #11569
  • [67d21149a2] - crypto: handle exceptions in hmac/hash.digest (Tobias Nießen) #12164
  • [3b765f5366] - doc: fix confusing example in process.md (Vse Mozhet Byt) #12282
  • [37568c093a] - src: use std::list for at_exit_functions (Daniel Bevenius) #12255
  • [2f9e2fcf3e] - doc: update information on test/known_issues (Jan Krems) #12262
  • [0f4319a14a] - src: use std::string for trace enabled_categories (Sam Roberts) #12242
  • [6826637f11] - doc: fix missing argument for dns.resolvePtr() (Uppinder Chugh) #12256
  • [4a6bb378d4] - doc: fix confusing reference in net.md (Vse Mozhet Byt) #12247
  • [3e8991cc56] - doc: modernize and fix code examples in modules.md (Vse Mozhet Byt) #12224
  • [376f5ef1ee] - doc: document the performance team (Gibson Fahnestock) #12213
  • [c0b7c075da] - doc: add refack to collaborators (Refael Ackermann) #12277
  • [83f855d505] - doc: add aqrln to collaborators (Alexey Orlenko) #12273
  • [2fb2289177] - doc: add sub domain to host in url (Steven) #12233
  • [ac200a6122] - test: add a second argument to assert.throws() (dave-k) #12139
  • [3cdd04b1c0] - test: skip irrelevant test on Windows (Rich Trott) #12261
  • [d4d6986551] - build: fix path voodoo in icu-generic.gyp (Refael Ackermann) #11217
  • [a735c16d52] - deps: backport ec1ffe3 from upstream V8 (Daniel Bevenius) #12061
  • [d641164d09] - doc: update pull request template URL layout (Rich Trott) #12216
  • [6feea08587] - buffer: preallocate array with buffer length (alejandro) #11733
  • [a703bdecc4] - build: add checks for openssl configure options (Daniel Bevenius) #12175
  • [b495b6acdf] - build: make configure print statements consistent (Daniel Bevenius) #12176
  • [f60b4553f3] - doc: modernize and fix code examples in https.md (Vse Mozhet Byt) #12171
  • [74d0266694] - doc: fix string interpolation in Stream 'finish' (Vinay Hiremath) #12221
  • [4b54520a4a] - test: refactor mkdtemp test and added async (Luca Maraschi) #12080
  • [8caf6fd58a] - test: add Unicode characters regression test (Alexey Orlenko) #11423
  • [961c89cc61] - doc: add table of contents to README.md (Jason Marsh) #11635
  • [a11ed6a0b3] - test: more robust check for location of node.exe (Refael Ackermann) #12120
  • [6083e7aa7b] - benchmark: avoid TurboFan deopt in arrays bench (Michaël Zasso) #11894
  • [cf1117bc13] - doc: fix the timing of setImmediate's execution (Daiki Arai) #12034
  • [806c4f3c0c] - doc: fix fs.read arg type (Daiki Arai) #12034
  • [c814c7e9ea] - events: do not keep arrays with a single listener (Luigi Pinca) #12043
  • [36617fd5b8] - doc: add notes to http.get options (Raphael Okon) #12124
  • [9e6b0a4604] - test: performance, remove Popen(shell=True) on Win (Refael Ackermann) #12138
  • [805ebef8b1] - buffer: optimize decoding wrapped base64 data (Alexey Orlenko) #12146
  • [fb34d9c210] - test: increase querystring coverage (DavidCai) #12163
  • [d6e9cf7c22] - doc: fix and update examples in http.md (Vse Mozhet Byt) #12169
  • [f057cc3d84] - benchmark: replace [].join() with ''.repeat() (Vse Mozhet Byt) #12170
  • [b15dc95848] - test: fix flaky test-child-process-exec-timeout (Santiago Gimeno) #12159
  • [72a27b3eb5] - build: use $(RM) in Makefile for consistency (Gibson Fahnestock) #12157
  • [3af9101d20] - doc, inspector: note that the host is optional (Gibson Fahnestock) #12149
  • [b52b3f6710] - test: reduce buffer size in buffer-creation test (Sakthipriyan Vairamani (thefourtheye)) #11177
  • [b5283f9d4b] - doc: add logo to README (Roman Reiss) #12148
  • [305f822a36] - net: rename internal functions for readability (Joyee Cheung) #11796
  • [2f88de1ce3] - vm: use SetterCallback to set func declarations (AnnaMag) #12051
  • [ffbcfdfe32] - src: fix base64 decoding (Nikolai Vavilov) #11995
  • [8823861d9d] - tools: update dotfile whitelist in .gitignore (Michaël Zasso) #12116
  • [87ca9a6ffe] - test: fix flaky child-process-exec-kill-throws (Rich Trott) #12111
  • [fdf76d5aa0] - tools: add missing #include "unicode/putil.h" (Steven R. Loomis) #12078
  • [6130d547a0] - deps: backport 8dde6ac from upstream V8 (Daniel Bevenius) #12060
  • [1ee38eb874] - (SEMVER-MINOR) util: add %i and %f formatting specifiers (Roman Reiss) #10308
  • [5ac719d0d2] - doc: add deprecations page to docs toc (Michaël Zasso) #12268

New in Node.js 7.8.0 (Mar 31, 2017)

  • NOTABLE CHANGES:
  • buffer:
  • do not segfault on out-of-range index (Timothy Gu) #11927
  • crypto:
  • Fix memory leak if certificate is revoked (Tom Atkinson) #12089
  • deps:
  • upgrade npm to 4.2.0 (Kat Marchán) #11389
  • fix async await desugaring in V8 (Michaël Zasso) #12004
  • readline:
  • add option to stop duplicates in history (Danny Nemer) #2982
  • COMMITS:
  • [51c8d8088a] - Partial revert "tls: keep track of stream that is closed" (Trevor Norris) #11947
  • [751c1153a4] - benchmark: check end() argument to be > 0 (Vse Mozhet Byt) #12030
  • [210250465a] - benchmark: update obsolete information pointer (Rich Trott) #12026
  • [7aeeee3276] - benchmark: repair the fs/readfile benchmark (Sorin Baltateanu) #7818
  • [90acb773be] - benchmark: allow multiple values for same config (Nikolai Vavilov) #11819
  • [2f4ad6fea2] - benchmark: harmonize progress bar + stderr output (Vse Mozhet Byt) #11925
  • [d62ddbe145] - benchmark: fix fsbench-realpathSync.js (Vse Mozhet Byt) #11904
  • [85eb1bc0a9] - benchmark: remove v8ForceOptimization calls (Lucas Lago) #11908
  • [17d16e8f3d] - buffer: remove unneeded eslint-disable comment (Rich Trott) #11906
  • [fb41ee3983] - build: add lint option to vcbuild.bat help (Morgan Brenner) #11992
  • [3e4ecca0be] - build: don't create directory for NDK toolchain (TheBeastOfCaerbannog) #11916
  • [a64aa442c1] - crypto: fix memory leak if certificate is revoked (Tom Atkinson) #12089
  • [2767e2d3cc] - (SEMVER-MINOR) deps: upgrade npm to 4.2.0 (Kat Marchán) #11389
  • [d22346de40] - deps: fix async await desugaring in V8 (Michaël Zasso) #12004
  • [fade55b025] - doc: clarify out-of-bounds behavior of buf[index] (Nikolai Vavilov) #11286
  • [63a19c7012] - doc: update and modernize examples in fs.ms (Vse Mozhet Byt) #12035
  • [4b5f177e3d] - doc: fix https.timeout docs (Ahmad Nassri) #12039
  • [af051f6528] - doc: fix http properties documented as methods (Ahmad Nassri) #12039
  • [18a586a278] - doc: edit the benchmark guide (Rich Trott) #12041
  • [5e3d429613] - doc: stdout/err/in are all Duplex streams (Sebastian Van Sande) #11194
  • [7f6b03fd0f] - doc: fix process.stdout fd number (Fumiya KARASAWA) #12055
  • [1f7fe55c97] - doc: add richardlau to collaborators (Richard Lau) #12020
  • [924f34606d] - doc: update collaborator email address (Rich Trott) #11996
  • [41bec5cff4] - doc: correct info in child_process.md (Vse Mozhet Byt) #11949
  • [96ad336d9e] - doc: remove superfluous sample assert code (Rich Trott) #11933
  • [486bd1bd9b] - doc: require uses fs root for '/' prefix (Bradley Farias) #11897
  • [04fa28e6dc] - doc: fix gitter badge in README (Roman Reiss) #11944
  • [68b23be51f] - doc: add missing word in stream.md (Jyotman Singh) #11914
  • [0f2642ee36] - errors: remove needless lazyAssert (DavidCai) #11891
  • [5bdd54925a] - lib: add comment to script eval _tickCallback (Gibson Fahnestock) #12050
  • [7347860966] - lib: clarify the usage of 'else' (Jackson Tian) #11148
  • [837ff4ba59] - lib: remove an unnecessary coverage check (Jeremiah Senkpiel) #12023
  • [6c803db7b9] - lib: fix event race condition with -e (Ben Noordhuis) #11958
  • [ac92d0249b] - net: refactor net module to module.exports (Claudio Rodriguez) #11698
  • [2462fd8009] - process: maintain constructor descriptor (Bryan English) #9306
  • [91a2700721] - readline: rename deDupeHistory option (Danny Nemer) #11950
  • [8ab26cf508] - (SEMVER-MINOR) readline: add option to stop duplicates in history (Danny Nemer) #2982
  • [6a6c431eec] - src: use persistent strings from node::Environment (Ben Noordhuis) #11945
  • [d0c2d67083] - src: add native URL class (James M Snell) #11801
  • [019a20adb5] - src: make PercentDecode return void (Timothy Gu) #11922
  • [d6da1705cd] - src: ensure that fd 0-2 are valid on windows (Bartosz Sosnowski) #11863
  • [59f71f5661] - src, buffer: do not segfault on out-of-range index (Timothy Gu) #11927
  • [4051184106] - stream_base,tls_wrap: notify on destruct (Trevor Norris) #11947
  • [d8b71be183] - test: fix misleading comment (Franziska Hinkelmann) #12048
  • [8b2b93f148] - test: mark child-process-exec-kill-throws flaky (Gibson Fahnestock) #12054
  • [948b99deab] - test: fix broken tests in test-buffer-includes (Alexey Orlenko) #12040
  • [d112aad78b] - test: replace throw with common.fail (Dejon "DJ" Gill) #9700
  • [41284fbc5b] - test: cover thrown errors from exec() kill (cjihrig) #11038
  • [414df6c93b] - test: test validity of prefix in mkdtempSync (Luca Maraschi) #12009
  • [1c0435b1f3] - test: add regex for expected error message (John F. Mercer) #12011
  • [a73dea9499] - test: add second argument to assert.throws() (Rj Bernaldo) #12016
  • [ade64e61cd] - test: refactor test-cluster-disconnect (Rich Trott) #11981
  • [3d21bfe6b9] - test: invalid chars in http client path (Luca Maraschi) #11964
  • [e70ed3cb31] - test: improve test-vm-cached-data.js (Nick Peleh) #11974
  • [b48f13af95] - test: add minimal test for net benchmarks (Rich Trott) #11979
  • [764a00e6e5] - test: add test for url (Yuta Hiroto) #11999
  • [bb2de4a5a1] - test: do not use more command on Windows (Vse Mozhet Byt) #11953
  • [55a112689a] - test: add test for child_process.execFile() (Rich Trott) #11929
  • [9ba551f7e3] - test: fix flaky test-tls-socket-close (Rich Trott) #11921
  • [114f9d619d] - test: add hasCrypto check to tls-socket-close (Daniel Bevenius) #11911
  • [169f187f16] - test: synchronize WPT url setters tests data (Daijiro Wachi) #11887
  • [4b1b6b85a9] - timers: fix not to close reused timer handle (Shigeki Ohtsu) #11646
  • [fd93622f8a] - tls: fix SecurePair external memory reporting (Ben Noordhuis) #11896
  • [126dcb76af] - url: name anonymous functions in url (Pedro lima) #9225
  • [f6755182e5] - url: show input in parse error message (Joyee Cheung) #11934
  • [c51d925c84] - url: restrict setting protocol to "file" (Daijiro Wachi) #11887

New in Node.js 7.7.4 (Mar 23, 2017)

  • Notable changes:
  • deps: Upgraded internal node-inspect version to 1.10.6, containing several fixes. (Jan Krems) #11869
  • inspector: Use proper WebSockets URLs when bound to 0.0.0.0 (Eugene Ostroukhov) #11850
  • tls: Fixed a segfault when the handle was destroyed after a partial read. (Ben Noordhuis) #11898
  • Commits:
  • [f48763c5b9] - benchmark: remove benchmarks forced optimizations (Bartosz Sosnowski)
  • [dcac2d8f04] - benchmark: benchmark comparing forEach with for (James M Snell) #11582
  • [80949f3d88] - build: add cpp linting to windows build (liusi) #11856
  • [5244ee346b] - build: mac OBJ_DIR should point to obj.target (Daniel Bevenius) #11857
  • [5b1d61ce09] - child_process: fix deoptimizing use of arguments (Vse Mozhet Byt) #11748
  • [ca319862fd] - deps: cherry-pick ca0f9573 from V8 upstream (Ali Ijaz Sheikh)
  • [a7e4b029da] - deps: Add node-inspect 1.10.6 (Jan Krems) #11869
  • [0c00b655d8] - doc: Fix #7065: cli help documentation for --inspect (Noj Vek) #11660
  • [60ad7af65e] - doc: deprecate debug protocol (Jan Krems) #10320
  • [a5f7393541] - doc: add vsemozhetbyt to collaborators (Vse Mozhet Byt) #11932
  • [0c091262bd] - doc: add note that vm module is not a security mechanism (Ruslan Bekenev) #11557
  • [6d6a65e2ad] - doc: linkable commit message guidelines (Sam Roberts) #11792
  • [7c7228ed4b] - doc: gcc version is at least 4.8.5 in BUILDING.md (detailyang) #11840
  • [9861ec93d4] - doc: increase Buffer.concat() documentation (cjihrig) #11845
  • [54879ab7d1] - doc: fix mistakes in stream doc (object mode) (Christian d'Heureuse) #11807
  • [78ca15dd78] - doc: argument types for dns methods (Amelia Clarke) #11764
  • [e84e33c87c] - doc: fix a typo in api/process.md (Gaara) #11780
  • [75fcf53173] - doc: missing argument types for events methods (Amelia Clarke) #11802
  • [ae52b63df2] - doc: correct comment error in stream.md (Alexander) #11804
  • [e6f113d3d5] - doc: console.log() -> console.error() in events.md (Vse Mozhet Byt) #11810
  • [cde5d71db1] - doc: var -> let / const in events.md (Vse Mozhet Byt) #11810
  • [d0fb578d64] - fs: avoid using forEach (James M Snell) #11582
  • [14e3ad0c5e] - inspector: proper WS URLs when bound to 0.0.0.0 (Eugene Ostroukhov) #11850
  • [fbbcd1aa89] - lib: Fix swallowed events in inspect integration (Jan Krems) #11869
  • [9cc712ca18] - lib: remove unused msg parameter in debug_agent (mr-spd) #11833
  • [77c69f7ace] - lib, test: add duplicate symbol checking in E() (DavidCai) #11829
  • [7e230727fc] - module: avoid using forEach (James M Snell) #11582
  • [c0a2e02f51] - net: avoid using forEach (James M Snell) #11582
  • [a0b1aa1161] - readline: avoid using forEach (James M Snell) #11582
  • [e19ca8ba11] - readline: remove unneeded eslint-disable comment (Rich Trott) #11836
  • [62e726109a] - repl: avoid using forEach (James M Snell) #11582
  • [90be5a1f19] - stream: avoid using forEach (James M Snell) #11582
  • [2cab00aec0] - test: fix assertion in vm test (AnnaMag) #11862
  • [8bda7b8d39] - test: add coverage for child_process bounds check (Rich Trott) #11800
  • [3ae58acd29] - test: failing behaviour on sandboxed Proxy (AnnaMag) #11671
  • [560d8eed9a] - test: delay child exit in AIX for pseudo-tty tests (Gireesh Punathil) #11715
  • [f9c831f4b1] - test: fix flaky test-domain-abort-on-uncaught (Rich Trott) #11817
  • [2649dab274] - test: added test for indexed properties (AnnaMag) #11769
  • [2df662c95a] - test: test resolveObject with an empty path (Daijiro Wachi) #11811
  • [d2c9111614] - test: fix repl-function-redefinition-edge-case (Alexey Orlenko) #11772
  • [c9cf922248] - test: add regex to assert.throws (Matej Krajčovič) #11815
  • [5f6025ba68] - test: fail when child dies in fork-net (Joyee Cheung) #11684
  • [c626734409] - tls: fix segfault on destroy after partial read (Ben Noordhuis) #11898
  • [646ee559df] - tls: avoid using forEach (James M Snell) #11582
  • [540830116b] - tls: keep track of stream that is closed (jBarz) #11776
  • [9a59913039] - util: avoid using forEach (James M Snell) #11582

New in Node.js 7.7.3 (Mar 15, 2017)

  • Notable changes:
  • module: The module loading global fallback to the Node executable's directory now works correctly on Windows. (Richard Lau) #9283
  • net: Socket.prototype.connect now once again functions without a callback. (Juwan Yoo) #11762
  • url: URL.prototype.origin now properly specified an opaque return of 'null' for file:// URLs. (Brian White) #11691
  • Commits:
  • [542a3735a7] - build: add node_use_openssl check to install.py (Daniel Bevenius) #11766
  • [2fcefeeda0] - dgram: refactor dgram to module.exports (Claudio Rodriguez) #11696
  • [dd3e6adaa7] - doc: add missing changelog heading for 7.7.2 (Evan Lucas) #11823
  • [b543fd441c] - doc: update to current V8 versions (Franziska Hinkelmann) #11787
  • [6cc7b30c62] - doc: improve child_process maxBuffer text (Rich Trott) #11791
  • [188cbc6eea] - doc: package main can be directory with an index (Bradley Farias) #11581
  • [a20aa0ee48] - doc: http cleanup and missing argument types (Amelia Clarke) #11681
  • [8a1b2b4417] - doc: reduce font size on smaller screens (Gibson Fahnestock) #11695
  • [5bea8b42d9] - doc: fix occurences of "the the" (Jeroen Mandersloot) #11711
  • [517c3af21a] - doc: fix process links to console.log/error (Sam Roberts) #11718
  • [108449b6ff] - doc: add Franziska Hinkelmann to the CTC (Rod Vagg) #11488
  • [9c3cf13cbc] - doc: argument types for https methods (Amelia Clarke) #11681
  • [103458772a] - module: fix loading from global folders on Windows (Richard Lau) #9283
  • [1dff218cd1] - net: allow missing callback for Socket.connect (Juwan Yoo) #11762
  • [52f0092f54] - s390: enable march=z196 (Junliang Yan) #11730
  • [032becdc28] - src: add missing #include (Steven R. Loomis) #11754
  • [1da2afcc26] - src: drop the NODE_ISOLATE_SLOT macro (Anna Henningsen) #11692
  • [734ddbe77b] - test: fix flaky test-http-set-timeout-server (Santiago Gimeno) #11790
  • [aaf8536dbc] - test: add test for loading from global folders (Richard Lau) #9283
  • [c01c7a490a] - test: add script to create 0-dns-cert.pem (Shigeki Ohtsu) #11579
  • [4477e15217] - test: add regex in test_cyclic_link_protection (Clarence Dimitri CHARLES) #11622
  • [3d55cf06b1] - test: add more WHATWG URL origin tests (Brian White) #11691
  • [a98d963082] - test: increase coverage of console (DavidCai) #11653
  • [1af0fa4b84] - test: test buffer behavior when zeroFill undefined (Rich Trott) #11706
  • [1e52ba3b3d] - test: limit lint rule disabling in message test (Rich Trott) #11724
  • [5e7baa5a72] - tools: add links to the stability index reference (Michael Cox) #11664
  • [c5874d1bd4] - url: remove invalid file protocol check (Brian White) #11691

New in Node.js 7.7.2 (Mar 11, 2017)

  • Notable changes:
  • doc: add Daijiro Wachi to collaborators (Daijiro Wachi) #11676
  • tty: add ref() so process.stdin.ref() etc. work (Ben Schmidt) #7360
  • util: fix inspecting symbol key in string (Ali BARIN) #11672
  • Commits:
  • [f56ca30bf0] - benchmark,build,doc,lib,src,test: correct typos (Benjamin Fleischer) #11189
  • [02dbae6b3f] - buffer: refactor Buffer.prototype.inspect() (Rich Trott) #11600
  • [e5b530cb62] - build: fix llvm version detection in freebsd-10 (Shigeki Ohtsu) #11668
  • [ed6d7412a7] - deps: fix CLEAR_HASH macro to be usable as a single statement (Sam Roberts) #11616
  • [039a1a97d8] - dns: minor refactor of dns module (James M Snell) #11597
  • [3b27b8da9d] - doc: fixed readable.isPaused() version annotation (Laurent Fortin) #11677
  • [84028888db] - doc: fix broken URL to event loop guide (Poker) #11670
  • [d5c436311c] - doc: remove Locked from stability index (Rich Trott) #11661
  • [986d391066] - doc: unlock module (Rich Trott) #11661
  • [d06dbf03cc] - doc: fix misleading ASCII comments (Rahat Ahmed) #11657
  • [98d33282d9] - doc: add Daijiro Wachi to collaborators (Daijiro Wachi) #11676
  • [3e79dffd2c] - doc: fix WHATWG URL url.protocol example (Richard Lau) #11647
  • [e468cd3ee7] - doc: argument types for console methods (Amelia Clarke) #11554
  • [83c7b245e2] - doc: fix typo in stream doc (Bradley Curran) #11560
  • [a0c117ba95] - doc: fixup errors.md (Vse Mozhet Byt) #11566
  • [b116830d64] - doc: add link to references in net.Socket (Joyee Cheung) #11625
  • [b968491dc2] - doc: document WHATWG IDNA methods' error handling (Timothy Gu) #11549
  • [d329abf1c6] - doc: use common malformed instead of misformatted (James Sumners) #11518
  • [11aea2662f] - doc: fix typo in STYLE_GUIDE.md (Nikolai Vavilov) #11615
  • [f972bd81c6] - inspector: libuv notification on incoming message (Eugene Ostroukhov) #11617
  • [a7eba9c71c] - meta: move WORKING_GROUPS.md to CTC repo (James M Snell) #11555
  • [5963566367] - meta: remove out of date ROADMAP.md file (James M Snell) #11556
  • [b56e851c48] - net: refactor overloaded argument handling (Joyee Cheung) #11667
  • [13cb8a69e4] - net: remove misleading comment (Ben Noordhuis) #11573
  • [e2133f3e57] - os: improve cpus() performance (Brian White) #11564
  • [821d713a38] - src: remove outdated FIXME in node_crypto.cc (Daniel Bevenius) #11669
  • [1b6ba9effb] - src: do not ignore IDNA conversion error (Timothy Gu) #11549
  • [fdb4a6c796] - test: skip the test with proper TAP message (Sakthipriyan Vairamani (thefourtheye)) #11584
  • [5df9110178] - test: check the origin of the blob URLs (Daijiro Wachi) #11426
  • [b4dcb26681] - test: changed test1 of test-vm-timeout.js (maurice_hayward) #11590
  • [f69685be65] - test: remove obsolete eslint-disable comment (Rich Trott) #11643
  • [a4d14363a9] - test: fix args in parallel/test-fs-null-bytes.js (Vse Mozhet Byt) #11601
  • [8377374754] - test: fix tests when npn feature is disabled. (Shigeki Ohtsu) #11655
  • [1445e282c3] - test: add test-buffer-prototype-inspect (Rich Trott) #11600
  • [00dd20c173] - test: fix flaky test-https-agent-create-connection (Santiago Gimeno) #11649
  • [91a222de99] - test: enable max-len for test-repl (Rich Trott) #11559
  • [924b785d50] - test: fix test-internal-util-assertCrypto regex (Daniel Bevenius) #11620
  • [cdee945307] - test: improve https coverage to check create connection (chiaki-yokoo) #11435
  • [4f9253686d] - test: apply strict mode in test-repl (Rich Trott) #11575
  • [2601c06486] - test: skip tests with common.skip (Sakthipriyan Vairamani (thefourtheye)) #11585
  • [6a5d96164a] - test: more comprehensive IDNA test cases (Timothy Gu) #11549
  • [163d2d1624] - timers: unlock the timers API (Rich Trott) #11580
  • [d6ac192fa3] - tls: fix macro to check NPN feature (Shigeki Ohtsu) #11655
  • [ac3deb1481] - tools: remove NODE_PATH from environment for tests (Rich Trott) #11612
  • [3c54f8199c] - tty: add ref() so process.stdin.ref() etc. work (Ben Schmidt) #7360
  • [24e6fcce8b] - url: use hasIntl instead of try-catch (Daijiro Wachi) #11571
  • [7b84363636] - util: fix inspecting symbol key in string (Ali BARIN) #11672

New in Node.js 7.7.1 (Mar 2, 2017)

  • Notable changes:
  • Node.js 7.7.0 contains a bug that will prevent all native modules from building, this patch should fix the issue. Apologies to everyone who was affected by 7.7.0.
  • Commits:
  • [c8e34b61f6] - build: add missing src/tracing header files (Daniel Bevenius) #10851
  • [96f55f9e59] - src: move trace_event.h include to internal header (Ben Noordhuis) #10959
  • [30c80cbe6f] - src: fix TracingController cleanup (Jason Ginchereau) #10623
  • [b89b2a7d36] - src: always initialize tracing controller in agent (Matt Loring) #10507
  • [54e55e05ca] - test: make test-intl-no-icu-data more robust (Michaël Zasso) #10992
  • [7b253eb3ed] - test: increase strictness for test-trace-event (Rich Trott) #11065
  • [3dc4a5f1f4] - tracing: fix -Wunused-private-field warning (Santiago Gimeno) #10416
  • [8a918bf411] - tracing: fix -Wreorder warning (Santiago Gimeno) #10416

New in Node.js 7.6.0 (Feb 22, 2017)

  • NOTABLE CHANGES:
  • lib: build node inspect into node (Anna Henningsen) #10187
  • crypto: Remove expired certs from CNNIC whitelist (Shigeki Ohtsu) #9469
  • inspector: add --inspect-brk (Josh Gavant) #11149
  • fs: allow WHATWG URL objects as paths (James M Snell) #10739
  • src: support UTF-8 in compiled-in JS source files (Ben Noordhuis) #11129
  • url: extend url.format to support WHATWG URL (James M Snell) #10857
  • deps:
  • update V8 to 5.5 (Michaël Zasso) #11029
  • upgrade libuv to 1.11.0 (cjihrig) #11094
  • add node-inspect 1.10.4 (Jan Krems) #10187
  • upgrade zlib to 1.2.11 (Sam Roberts) #10980
  • COMMITS:
  • [5059b6fcee] - benchmark: fix typos (Nikolai Vavilov) #11287
  • [b4f3a300de] - benchmark: URLSearchParams v.s. querystring (Joyee Cheung) #11170
  • [6d2797bd80] - benchmark: fix first call to URL in useWHATWG (Joyee Cheung) #11170
  • [8f34181b95] - benchmark: add assert.deep[Strict]Equal benchmarks (Joyee Cheung) #11092
  • [94555c949a] - benchmark: simplify URLSearchParams import (Timothy Gu) #11111
  • [599c947276] - benchmarks: add spread operator benchmark (James M Snell) #11227
  • [8fdfa08ed0] - (SEMVER-MINOR) build: add node-inspect integration test (Jan Krems) #10187
  • [67d4dc061c] - build: clear stalled jobs on POSIX CI hosts (Rich Trott) #11246
  • [ae39dcbffb] - build: disable C4267 conversion compiler warning (Ben Noordhuis) #11205
  • [92ed2b5001] - (SEMVER-MINOR) build: support for mips64el (nanxiongchao) #10991
  • [1dc438fd8b] - crypto: remove unused access of tlsext_hostname (David Benjamin) #10882
  • [7af03ba3f6] - crypto: Remove expired certs from CNNIC whitelist (Shigeki Ohtsu) #9469
  • [5e98e34648] - crypto: add cert check issued by StartCom/WoSign (Shigeki Ohtsu) #9469
  • [af0154535c] - deps: upgrade zlib to 1.2.11 (Sam Roberts) #10980
  • [85f54908bf] - (SEMVER-MINOR) deps: add node-inspect 1.10.2 (Jan Krems) #10187
  • [445794e0c9] - deps: upgrade libuv to 1.11.0 (cjihrig) #11094
  • [20127e0c0a] - deps: back-port b049d1a from V8 upstream (Ben Noordhuis) #11204
  • [5446fa7e8c] - (SEMVER-MINOR) deps: work around SmartOS 14 incompatibility (Michaël Zasso) #11029
  • [028bb632b2] - (SEMVER-MINOR) deps: revert breaking UTF-8 decoder changes in V8 (Michaël Zasso) #11029
  • [22e2288f3a] - (SEMVER-MINOR) deps: ensure V8 5.4 ABI compatibility (Michaël Zasso) #11029
  • [53e00e1617] - (SEMVER-MINOR) deps: limit regress/regress-crbug-514081 v8 test (Michael Dawson) #11029
  • [7fea966a1d] - (SEMVER-MINOR) deps: cherry-pick workaround for clang-3.4 ICE (Michaël Zasso) #11029
  • [61870b429a] - (SEMVER-MINOR) deps: update V8 to 5.5.372.40 (Michaël Zasso) #11029
  • [d9ed965ae1] - dgram: remove this aliases (cjihrig) #11243
  • [2f1ce2952d] - doc: update link to V8 Embedder's guide (Franziska Hinkelmann) #11336
  • [3db54c93f8] - doc: update email and add personal pronoun (JungMinu) #11318
  • [1b08f766b1] - doc: drop "and io.js" from release section (Ben Noordhuis) #11054
  • [a5e8176fee] - doc: improve consistency in documentation titles (Vse Mozhet Byt) #11230
  • [5d2ba44fca] - doc: edit maxBuffer/Unicode paragraph for clarity (Rich Trott) #11228
  • [d5b1a4b265] - doc: clarify the behavior of Buffer.byteLength (Nikolai Vavilov) #11238
  • [0d4b0edb56] - doc: add links between cork() and uncork() (Matteo Collina) #11222
  • [266c41c2b1] - doc: add and fix System Error properties (Daiki Arai) #10986
  • [71f8a23da4] - doc: fix typo in dgram doc (Rich Trott) #11186
  • [73b32a31e0] - doc: remove extraneous paragraph from assert doc (Rich Trott) #11174
  • [abae26421e] - doc: improve testing guide (Joyee Cheung) #11150
  • [803f6b3091] - doc: fix linting command for vcbuild (Rich Trott) #11151
  • [177e9797cd] - doc: add common.WPT to test README (Rich Trott) #11127
  • [1fbbcc3c07] - doc: add not-an-aardvark as ESLint contact (Rich Trott) #11169
  • [5649174dda] - doc: typographical fixes in COLLABORATOR_GUIDE.md (Anna Henningsen) #11163
  • [ae33a15d01] - doc: fix "initial delay" link in http.md (Timo Tijhof) #11108
  • [5d58756b41] - doc: remove assertions about assert (Rich Trott) #11113
  • [3ebe306bb0] - doc: edit stability text for clarity and style (Rich Trott) #11112
  • [535492d321] - doc: clarify msg when doc/api/cli.md not updated (Stewart X Addison) #10872
  • [3ae25a0bca] - doc: add personal pronouns option (Rich Trott) #11089
  • [265a59b60f] - doc: replace newlines in deprecation with space (Sakthipriyan Vairamani (thefourtheye)) #11074
  • [598d35c087] - doc: fix confusing example in dns.md (Vse Mozhet Byt) #11022
  • [989d2cdbac] - doc: edit CONTRIBUTING.md for clarity (Rich Trott) #11045
  • [6cf06cf518] - (SEMVER-MINOR) fs: allow WHATWG URL and file: URLs as paths (James M Snell) #10739
  • [9339891b07] - fs: re-enable watch facility in AIX (Gireesh Punathil) #10085
  • [2952512b86] - lib: replace u2019 with regular ascii quote (Ben Noordhuis) #11129
  • [3596d156c1] - (SEMVER-MINOR) lib: build node inspect into node (Anna Henningsen) #10187
  • [3074c6de7e] - meta: adding Italo A. Casas PGP Fingerprint (Italo A. Casas) #11202
  • [e530b5ae43] - meta: remove Chris Dickinson from CTC (Chris Dickinson) #11267
  • [17314eb9ca] - meta: add explicit deprecation and semver-major policy (James M Snell) #7964
  • [6a45c81edd] - readline: update 6 comparions to strict (Umair Ishaq) #11078
  • [fe2f058f17] - (SEMVER-MINOR) repl: remove workaround for function redefinition (Michaël Zasso) #11029
  • [3380cd5fdb] - src: support UTF-8 in compiled-in JS source files (Ben Noordhuis) #11129
  • [308df11658] - src: fix delete operator on vm context (Franziska Hinkelmann) #11266
  • [af06f62e35] - src: fix -Wunused-result compiler warning (Ben Noordhuis) #11197
  • [44b17a21ad] - src: refactor CopyProperties to remove JS (AnnaMag) #11102
  • [ce3dcca619] - src: update v8_platform.StartInspector signature (Myk Melez) #11157
  • [d8a5e1c37f] - src: don't overwrite non-writable vm globals (Franziska Hinkelmann) #11109
  • [9264131fb3] - src: unconsume stream fix in internal http impl (Roee Kasher) #11015
  • [c5210b203d] - src: remove usage of V8 deprecated API in node_url.cc (Timothy Gu) #11066
  • [0b64f7fc0e] - src, inspector: add --inspect-brk (Josh Gavant) #11149
  • [0d52aced0c] - stream: move legacy to lib/internal dir (yorkie) #8197
  • [0610cc707b] - test: skip IPv6 test on non-IPv6 systems (Rich Trott) #11432
  • [93d3a3a6b5] - test: add coverage for dgram _createSocketHandle() (cjihrig) #11291
  • [b140dec930] - test: refactor test-repl-sigint-nested-eval (Rich Trott) #11303
  • [1085a4675a] - test: skip when openssl CLI doesn't exist (Sota Yamashita) #11095
  • [6f866ae002] - test: improve punycode test coverage (Sebastian Van Sande) #11144
  • [68eb97442d] - test: cover cluster error during dgram socket bind (cjihrig) #11295
  • [5350f04e42] - test: refactor test-repl-sigint (Rich Trott) #11309
  • [1f3eee4f5d] - test: increase setMulticastLoopback() coverage (cjihrig) #11277
  • [6ee11f82b3] - test: refactor test-dgram-address.js (cjihrig) #11271
  • [d2ee7e20b2] - test: refactor test-readline-keys (Rich Trott) #11281
  • [f096235d04] - test: improve test-assert.js (jobala) #11193
  • [b4056994c4] - test: improve test-http-agent-destroyed-socket.js (Shubheksha Jalan) #11201
  • [803be085be] - test: querystring.escape with multibyte characters (Daijiro Wachi) #11251
  • [809aea3081] - test: refactor test-dgram-setBroadcast.js (cjihrig) #11252
  • [69f5a754e2] - test: add vm module edge cases (Franziska Hinkelmann) #11265
  • [2f15efb05b] - test: adapt test-debugger-pid to localized Windows (Vse Mozhet Byt) #11270
  • [5e5d72eb5a] - test: remove nan + weak (Ben Noordhuis) #11239
  • [969b85cdf5] - test: remove dependency on node-weak (Ben Noordhuis) #11239
  • [0cded6aac1] - test: don't call process.exit() in gc tests (Ben Noordhuis) #11239
  • [7ff32bf705] - test: add coverage for dgram send() errors (cjihrig) #11248
  • [e1beb9fbfc] - test: add coverage for string array dgram send() (cjihrig) #11247
  • [2333cd3155] - test: increase dgram ref()/unref() coverage (cjihrig) #11240
  • [480d4cc9df] - test: add coverage to dgram receive error case (cjihrig) #11241
  • [ccd1163b46] - test: refactor test-fs-buffer (Rich Trott) #11232
  • [25226ced6a] - test: improve checks in test-path-parse-format (cjihrig) #11223
  • [540dca1d18] - test: fix incorrect indentation (cjihrig) #11219
  • [f0eba7811d] - test: add common.mustNotCall() (cjihrig) #11152
  • [f6dfc3193a] - test: remove obsolete comment from dgram test (ALJCepeda) #8689
  • [9d5ffa6e49] - test: add test cases to test-readline-keys.js (abouthiroppy) #10772
  • [7ec6a69a7d] - test: add missing initialization in test-assert (Rich Trott) #11191
  • [b766dab81c] - test: increase specificity in dgram test (Rich Trott) #11187
  • [9c729211e4] - test: improve crypto.setEngine coverage to check for errors (Sebastian Van Sande) #11143
  • [3ca483f4cc] - test: throw Error objects instead of literals (Rich Trott) #11168
  • [8612a004a3] - (SEMVER-MINOR) test: move test-vm-function-redefinition to parallel (Franziska Hinkelmann) #11029
  • [fbd495583e] - test: simplify output handling in repl tests (Rich Trott) #11124
  • [7f9b436c4b] - test: make module testing stricter (Rich Trott) #11116
  • [cf098688e4] - test: fix test.py command line options processing (Julien Gilli) #11153
  • [e9f6bc60e9] - test: improve coverage on removeListeners functions (matsuda-koushi) #11140
  • [815e668209] - test: add --abort-on-timeout option to test.py (Julien Gilli) #11086
  • [cf3700b0e8] - test: fix timing sensitivity in debugger test (Ali Ijaz Sheikh) #11008
  • [3d35dcff9a] - test: make test-fs-access stricter (Rich Trott) #11087
  • [e2d9c23e72] - test: use repeat() instead of new Array().join() (Jackson Tian) #11071
  • [ea5bef5efe] - test: add path.join's test (Yuta Hiroto) #11063
  • [8d2a9138fc] - test: improve error messages in test-npm-install (Gonen Dukas) #11027
  • [8ac6a709b9] - test: add fs-assert-encoding's test (abouthiroppy) #10913
  • [e4b139d300] - timer: remove duplicated word in comment (asafdav2) #11323
  • [a2948fbe74] - tools: enable ES2017 syntax support in ESLint (Michaël Zasso) #11211
  • [7e465b9c21] - tools: add compile_commands.json gyp generator (Ben Noordhuis) #7986
  • [2dc8aac1a9] - tools: enable no-throw-literal ESLint rule (Rich Trott) #11168
  • [8547871ea2] - url: fix setting url.search to the empty string (Timothy Gu) #11105
  • [322fc20333] - (SEMVER-MINOR) url: extend url.format to support WHATWG URL (James M Snell) #10857
  • [cfadbc2661] - util: improve inspect for AsyncFunction (Michaël Zasso) #11211

New in Node.js 7.5.0 (Feb 1, 2017)

  • NOTABLE CHANGES:
  • doc: add basic documentation for WHATWG URL API (James M Snell) #10620
  • process: add NODE_NO_WARNINGS environment variable (cjihrig) #10842
  • url: allow use of URL with http.request and https.request (James M Snell) #10638
  • crypto:
  • ability to select cert store at runtime (Adam Majer) #8334
  • Use system CAs instead of using bundled ones (Adam Majer) #8334
  • deps:
  • upgrade npm to 4.1.2 (Kat Marchán) #11020
  • upgrade openssl sources to 1.0.2k (Shigeki Ohtsu) #11021
  • COMMITS:
  • [61f6f1260d] - (SEMVER-MINOR) src/doc: improve man page and --help (Roman Reiss) #10157
  • [b2d0c44fb1] - assert: update comments (Kai Cataldo) #10579
  • [c217b438f2] - assert, tools: enforce strict (not)equal in eslint (Gibson Fahnestock) #10698
  • [94c4323d56] - async_wrap: close the destroy_ids_idlehandle (René Schünemann) #10385
  • [f61c71b533] - benchmark: add progress indicator to compare.js (Joyee Cheung) #10823
  • [ccdc922ada] - benchmark: move setImmediate benchmarks to timers (Joshua Colvin) #11010
  • [062c8513ad] - benchmark: add more thorough timers benchmarks (Jeremiah Senkpiel) #10925
  • [1e0294ccc9] - benchmark: add benchmark for object properties (Michaël Zasso) #10949
  • [47c0953b12] - benchmark: add benchmark for vm.runIn*() (Rich Trott) #10816
  • [2f339e7200] - benchmark: cleanup child_process IPC benchmark (Yuya Tanaka) #10557
  • [eac1871c45] - benchmark: improve WHATWG URL benchmarks (Joyee Cheung) #10678
  • [ecf72d8b54] - benchmark: use "confidence" in output of compare.R (Joyee Cheung) #10737
  • [35334273b9] - benchmark: don't lint autogenerated modules (Brian White) #10756
  • [4f96272f12] - benchmark: fix typo "categoty" -> "category" (Victor Felder) #10568
  • [2f4577c07d] - benchmark: keep decimals in results (Brian White) #10559
  • [372e3eeb4b] - benchmark: improve readability of net benchmarks (Brian White) #10446
  • [d19136da84] - benchmark: move punycode benchmark out of net (Brian White) #10446
  • [be24cc0187] - benchmark: add ClientRequest creation benchmark (Brian White) #10654
  • [1438d00119] - benchmark,lib,test: adjust for linting (Rich Trott) #10561
  • [d13aba8499] - buffer: improve compare() performance (Brian White) #10927
  • [6549bc2a35] - buffer: fix comments in bidirectionalIndexOf ([email protected]) #10162
  • [a114f63627] - buffer: improve toJSON() performance (Brian White) #10895
  • [9c2f686f7e] - build: don't build deps/zlib if --shared-zlib set (Gibson Fahnestock) #10657
  • [659428fe1d] - build: sort sources alphabetically (Daniel Bevenius) #10892
  • [74f9cc9f0a] - build: move source files from headers section (Daniel Bevenius) #10850
  • [a408ba6454] - build: don't squash signal handlers with --shared (Stewart X Addison) #10539
  • [ddcd1a202f] - child_process: optimize IPC for large data (Yuya Tanaka) #10557
  • [d751afae0f] - cluster: refactor module into multiple files (cjihrig) #10746
  • [6687b95263] - crypto: return the retval of HMAC_Update (Travis Meisenheimer) #10891
  • [a1897c1445] - (SEMVER-MINOR) crypto: ability to select cert store at runtime (Adam Majer) #8334
  • [aeea13b6f6] - (SEMVER-MINOR) crypto: Use system CAs instead of using bundled ones (Adam Majer) #8334
  • [ac2b059500] - (SEMVER-MINOR) crypto: do not use pointers to std::vector (Adam Majer) #8334
  • [5fd0f9ae63] - crypto: freelist_max_len is gone in OpenSSL 1.1.0 (Adam Langley) #10859
  • [4e7a31b3a0] - crypto,tls: fix mutability of return values (Rich Trott) #10795
  • [84a9c158ef] - deps: fix npm files from upgrade to 4.1.2 (João Reis) #11085
  • [9e60af893c] - deps: upgrade npm to 4.1.2 (Kat Marchán) #11020
  • [da59a57d60] - deps: limit regress/regress-crbug-514081 v8 test (Michael Dawson) #6678
  • [edd20720ac] - deps: update openssl asm and asm_obsolete files (Shigeki Ohtsu) #11021
  • [ce20ad76ec] - deps: add -no_rand_screen to openssl s_client (Shigeki Ohtsu) nodejs/io.js#1836
  • [06f87c3e0a] - deps: fix asm build error of openssl in x86_win32 (Shigeki Ohtsu) iojs/io.js#1389
  • [093cacf61b] - deps: fix openssl assembly error on ia32 win32 (Fedor Indutny) iojs/io.js#1389
  • [a3b3b35c53] - deps: copy all openssl header files to include dir (Shigeki Ohtsu) #11021
  • [6a0f1fabb1] - deps: upgrade openssl sources to 1.0.2k (Shigeki Ohtsu) #11021
  • [1fae98b833] - deps: upgrade npm to 4.1.1 (Rebecca Turner) #10781
  • [6e0888ad9e] - deps: add test for v8 bug in toUpper('ç') (Steven R. Loomis) #9828
  • [1c4bf9e8ff] - deps: cherry-pick 2f5da9a from V8 upstream (Steven R. Loomis) #9828
  • [ffd938a694] - deps: upgrade libuv to 1.10.2 (cjihrig) #10717
  • [aa6b9f979e] - deps: cherry-pick baba152 from V8 upstream (Michaël Zasso) #10688
  • [5887396150] - deps: cherry-pick a814b8a from upstream V8 ([email protected]) #10733
  • [cfc4c62249] - doc: correct and complete dgram's Socket.bind docs (Alex Jordan) #11025
  • [55e98c66c0] - doc: add abouthiroppy to collaborators (Yuta Hiroto) #11080
  • [722ae8700f] - doc: add who to CC list for dgram (cjihrig) #11035
  • [a8533acee6] - doc: change logical to bitwise OR in dns lookup (Sakthipriyan Vairamani (thefourtheye)) #11037
  • [ac36d78d56] - doc: fix typo in http.md (Peter Mescalchin) #10975
  • [0bf3b24771] - doc: remove Chris Dickinson from active releasers (Ben Noordhuis) #11011
  • [9ca404ed25] - doc: for style, remove "isn't" contraction (Sam Roberts) #10981
  • [4be9e98448] - doc: make os api doc more consistent (Evan Lucas) #10994
  • [7dff6aa67f] - doc: update http.md for consistency and clarity (Lance Ball) #10715
  • [dd608591a8] - doc: clarify Buffer.indexOf/lastIndexOf edge cases ([email protected]) #10162
  • [5250b3358e] - doc: document argument variant in the repl.md (Vse Mozhet Byt) #10221
  • [c4b9f0a75e] - doc: DEFAULT_ECDH_CURVE was added in 0.11.13 (Sam Roberts) #10983
  • [84e2ff3738] - (SEMVER-MINOR) doc: add basic documentation for WHATWG URL API (James M Snell) #10620
  • [9d91bf9788] - doc: HTTP response getHeader doc fix (Faiz Halde) #10817
  • [06acf88117] - doc: remove duplicate properties bullet in readme (Javis Sullivan) #10741
  • [09ac2a2cb7] - doc: specify sorted requires in tests (Sam Roberts) #10716
  • [f380a5fb5a] - doc: mention cc-ing nodejs/python team for reviews (Anna Henningsen) #10637
  • [58bb263438] - doc: update TheAlphaNerd to MylesBorins (Myles Borins) #10586
  • [1253650cf4] - doc: update examples in api/crypto.md (Vse Mozhet Byt) #10909
  • [3177d6557a] - doc: move topics/guides to website (Evan Lucas) #10896
  • [d2896d92a7] - doc: update AUTHORS list to fix name (Noah Rose Ledesma) #10945
  • [4ffcefdc09] - doc: add TimothyGu to collaborators (Timothy Gu) #10954
  • [3fcf0aed4a] - doc: mention moderation repo in onboarding doc (Anna Henningsen) #10869
  • [79d8db0fef] - doc: add edsadr to collaborators (Adrian Estrada) #10883
  • [520b1f7853] - doc: clarifying variables in fs.write() (Jessica Quynh Tran) #9792
  • [daf1bf588b] - doc: add links for zlib convenience methods (Anna Henningsen) #10829
  • [aeaf887700] - doc: fix markdown escaping in CHANGELOG_V7.md (Anna Henningsen) #10827
  • [c8b0fc6d8b] - doc: remove duplicate PR link from changelog (Anna Henningsen) #10827
  • [049258b062] - doc: fixup added tags in cli.md (Anna Henningsen) #10826
  • [61798d1fa4] - doc: add missing added: tag for zlib.constants (Anna Henningsen) #10826
  • [73939ec701] - doc: clarify memory sharing behavior of buffer ctor (Zach Bjornson) #10778
  • [f8b081b519] - doc: fix broken internal link in process.md (Anna Henningsen) #10828
  • [a53f881f57] - doc: update writable.write return value (Nathan Phillip Brink) #10582
  • [6e1a3d1e57] - doc: use correct tls certificate property name (Sam Roberts) #10389
  • [23edfe00b3] - doc: edit writing-tests.md (Rich Trott) #10585
  • [9b73a8524f] - doc: fix misleading language in vm docs (Alexey Orlenko) #10708
  • [56ea7eb9a7] - doc: mention cc-ing nodejs/url team for reviews (Anna Henningsen) #10652
  • [66b34eac2f] - doc: sort require statements in tests (Sam Roberts) #10616
  • [238466bcf0] - doc: handle backpressure when write() return false (Matteo Collina) #10631
  • [ec226a2a3b] - doc: add test naming information to guide (Rich Trott) #10584
  • [b73e98bf48] - doc: fix missing negation in stream.md (Johannes Rieken) #10712
  • [bf95b074cd] - doc: "s/git apply/git am -3" in V8 guide (Myles Borins) #10665
  • [9c89b2f704] - doc: update LTS info for current releases (Evan Lucas) #10720
  • [3f1775707e] - doc: correct vcbuild options for windows testing (Jonathan Boarman) #10686
  • [8314d9ee73] - doc: killSignal option accepts integer values (Sakthipriyan Vairamani (thefourtheye)) #10424
  • [736a7f3dd3] - doc: update BUILDING.md (Lukasz Gasior) #10669
  • [f81bd48818] - doc: document use of Refs: for references (Gibson Fahnestock) #10670
  • [b70dde0050] - doc: new TLSSocket has no secure context options (Sam Roberts) #10545
  • [d3628d9e47] - doc: modernize child_process example code (Vse Mozhet Byt) #10102
  • [3270d4c89b] - doc: clarify information about ABI version (Rich Trott) #10419
  • [1fca69c263] - doc,test: tls .ca option supports multi-PEM files (Sam Roberts) #10389
  • [78a495e1a4] - eslint: remove dangling eslint symlink (Sam Roberts) #10771
  • [5cca69320f] - events: avoid emit() eager deopt (Victor Felder) #10568
  • [ded17579e5] - events: improve removeListener() performance (Brian White) #10572
  • [d047f8e8f8] - fs: remove unused parameter for encodeRealpathResult (Jackson Tian) #10862
  • [4c0f29723c] - http: use direct parameters instead (Jackson Tian) #10833
  • [c32984361a] - http: make request.abort() destroy the socket (Luigi Pinca) #10818
  • [8ba2cf9c51] - http: define all used properties in constructors (vitkarpov) #9116
  • [75aa6050ab] - http: eliminate capture of ClientRequest in Agent (Evan Torrie) #10134
  • [5059b76cbc] - http: misc ClientRequest cleanup (Brian White) #10654
  • [44c0e4f1ad] - http: avoid duplicate isArray() (Brian White) #10654
  • [e7859c217f] - http: optimize default method case (Brian White) #10654
  • [c9bff043c7] - http: optimize short path validation (Brian White) #10654
  • [c012dd79dc] - https: Use secureProtocol in Agent#getName (Andreas Lind) #9452
  • [9a111e701e] - inspector: no crash when WS server can't start (Eugene Ostroukhov) #10878
  • [2d08bbadd6] - inspector: stop relying on magic strings (Eugene Ostroukhov) #10159
  • [e30e307a70] - inspector: move options parsing (Eugene Ostroukhov) #9691
  • [60f27f91e4] - inspector: remove unused uv_async_t (Eugene Ostroukhov) #10392
  • [a3abba0b1a] - lib: remove unnecessary parameter for assertCrypto() (Jackson Tian) #10834
  • [4de7b03a7d] - lib: refactor bootstrap_node.js regular expression (Rich Trott) #10749
  • [a6c93af244] - lib: refactor crypto cipher/hash/curve getters (Rich Trott) #10682
  • [6e8d627217] - lib,src: support values > 4GB in heap statistics (Ben Noordhuis) #10186
  • [de8eee6b16] - meta: decharter the http working group (James M Snell) #10604
  • [4caa0126aa] - openssl: fix keypress requirement in apps on win32 (Shigeki Ohtsu) iojs/io.js#1389
  • [d24491c6a7] - (SEMVER-MINOR) process: add NODE_NO_WARNINGS environment variable (cjihrig) #10842
  • [97ff43232b] - querystring: improve unescapeBuffer performance (Brian White) #10837
  • [f4796d5f6e] - querystring: improve stringify() performance (Brian White) #10852
  • [53421b174c] - querystring: improve parse() performance (Brian White) #10874
  • [d64e2371f6] - readline: refactor construct Interface (Jackson Tian) #4740
  • [e7b656db6e] - Revert "repl: disable Ctrl+C support on win32 for now" (Anna Henningsen) #8645
  • [a24264eb18] - src: fix v8 local handling in node_url.cc (Anna Henningsen) #11064
  • [8a6367cb20] - Revert "src: don't overwrite non-writable vm globals" (Anna Henningsen) #10920
  • [978acd138f] - (SEMVER-MINOR) src: support "--" after "-e" as end-of-options (John Barboza) #10651
  • [cd94642356] - src: add NODE_NO_WARNINGS to --help output (cjihrig) #10918
  • [63f43021b0] - src: remove unused PROTOCOL_JSON array (Ben Noordhuis) #10407
  • [5a976decf7] - src: remove unnecessary req_wrap_obj (Daniel Bevenius) #10942
  • [0c0334f7a4] - src: add a missing space in node_os.cc (Alexey Orlenko) #10931
  • [b89d848b36] - src: enable writev for pipe handles on Unix (Alexey Orlenko) #10677
  • [f0de955220] - src: reduce test_inspector_socket_server output (Daniel Bevenius) #10537
  • [59196af646] - stream: avoid additional validation for Buffers (Brian White) #10580
  • [fe80bd9600] - test: add 2nd argument to throws in test-assert (Marlena Compton) #11061
  • [8ef4add4c3] - test: require handler to be run in sigwinch test (Rich Trott) #11068
  • [e367b74c4f] - test: add an exception test to http-write-head (Yuta Hiroto) #11034
  • [65691d68d5] - test: increase coverage of internal/util (DavidCai) #10964
  • [0753bc17b6] - test: increase timeout in break-on-uncaught (Sakthipriyan Vairamani (thefourtheye)) #10822
  • [eff3a48e63] - test: add known_issues test for #10223 (AnnaMag) #11024
  • [72a97b66dc] - test: guarantee test runs in test-readline-keys (Rich Trott) #11023
  • [e3a316f3e6] - test: check error message in test-http-outgoing-proto (Alex Ling) #10943
  • [fcd08b8a1e] - test: add tests for searchParams (abouthiroppy) #10952
  • [f3efaeed35] - test: increase coverage for stream's duplex (abouthiroppy) #10963
  • [b5e8413c3f] - test: allow for slow hosts in spawnSync() test (Rich Trott) #10998
  • [cfd1b19c34] - test: expand test coverage of fs.js (Vinícius do Carmo) #10947
  • [4aedde8d82] - test: expand test coverage of events.js (Vinícius do Carmo) #10947
  • [c1e166a168] - test: check noAssert option in buf.write*() (larissayvette) #10790
  • [580a453fcf] - test: expand test coverage of fs.js (Vinícius do Carmo) #10972
  • [fa8baa2aa1] - test: enhance test-timers (Rich Trott) #10960
  • [74ff804dbd] - test: add regression tests for vm bugs (Anna Henningsen) #10920
  • [1a39bfb7e2] - test: increase coverage for exec() functions (cjihrig) #10919
  • [4b38744e9b] - test: add process.assert's test (abouthiroppy) #10911
  • [e7c953a5f9] - test: update Buffer.lastIndexOf ([email protected]) #10162
  • [eb7ee50717] - test: improve code in test-crypto-verify (Adrian Estrada) #10845
  • [efa9845946] - test: refactor test-cli-eval.js (cjihrig) #10898
  • [b7bf43aa2b] - test: use common.fail() instead of assert(false) (cjihrig) #10899
  • [90a99177a3] - test: add dgram.Socket.prototype.bind's test (abouthiroppy) #10894
  • [dc826caed2] - test: update V8 flag in test (Franziska Hinkelmann) #10917
  • [537d954ed2] - test: increase coverage of string-decoder (abouthiroppy) #10863
  • [3cd9833eff] - test: add tests for rs+, sr+ to test-fs-open-flags.js (abouthiroppy) #10780
  • [c8a069e544] - test: improving coverage of dns-lookup (abouthiroppy) #10844
  • [939517abfd] - test: refactor test-fs-read-zero-length.js (abouthiroppy) #10729
  • [ffdf605f14] - test: improving coverage for dgram (abouthiroppy) #10783
  • [1666600f16] - test: improve code in test-console-instance (Adrian Estrada) #10813
  • [b496374363] - test: improve code in test-domain-multi (Adrian Estrada) #10798
  • [46bbabe6c2] - test: improve test-stream2-large-read-stall (stefan judis) #10725
  • [7f043779eb] - test: improve code in test-http-host-headers (Adrian Estrada) #10830
  • [66c57a24c2] - test: add test case to test-http-response-statuscode.js (abouthiroppy) #10808
  • [4a7bb5b4d1] - test: improve the code in test-crypto-dh (Adrian Estrada) #10734
  • [825842c185] - test: getgroups() may contain duplicate GIDs (Sam Roberts) #10389
  • [c6618df2cc] - test: improve test stream transform constructor (Adrian Estrada) #10699
  • [51f4c8bf5c] - test: s/assert.equal/assert.strictEqual/ (Gibson Fahnestock) #10698
  • [a6bd287724] - test: use eslint to fix var->const/let (Gibson Fahnestock) #10685
  • [e6b6ce429c] - test: refactor test-http-mutable-headers.js (cjihrig) #10664
  • [8262d49a44] - test: refactor cluster-preload.js (abouthiroppy) #10701
  • [fc0551072b] - test: improve test-crypto-rsa-dsa (Adrian Estrada) #10681
  • [727c5e3c96] - test: improve test-fs-write-file-sync (Adrian Estrada) #10624
  • [50130220dc] - test: s/assert.notEqual()/assert.notStrictEqual()/ (cjihrig) #10541
  • [44174a52a6] - test: refactor the code in test-util-debug.js (sivaprasanna) #10531
  • [b1c742e107] - test: improve test-fs-access (Adrian Estrada) #10542
  • [db7b27abb9] - test: refactor beforeExit tests (Rich Trott) #10581
  • [33851d1e2c] - test: fix process.title expectation (Sakthipriyan Vairamani (thefourtheye)) #10597
  • [af2bea70e0] - test: refactor test-beforeexit-event-exit.js (cjihrig) #10577
  • [0a2fb0d3e1] - test: refactor several parallel/test-timer tests (Beth Griggs) #10524
  • [dba8d20ccc] - test: improve the code in test-fs-read-stream (Adrian Estrada) #10556
  • [eba9add48e] - test: refactor test-timer-close (BethGriggs) #10517
  • [dd9aefde69] - test: use const for all require() calls (cjihrig) #10550
  • [807e99b81d] - test: validate errors in test-buffer-indexof (Adrian Estrada) #10752
  • [32da59ab18] - test: fix broken assertion (cjihrig) #10840
  • [29a4d354bc] - test: refactor test-cli-eval.js (Sumit Goel) #10759
  • [a06419b045] - test: refactor test-stream2-readable-wrap.js (David Goussev) #10551
  • [55377db9b0] - test: refactor test-stream-transform-object (Rich Trott) #10588
  • [fb35ca3598] - test: test hmac binding robustness (Sam Roberts) #10923
  • [94a266e1ef] - test: refactor the code in test-fs-watch.js (sivaprasanna) #10357
  • [3575f5159e] - test: reduce unmanaged parallelism in domain test (Joyee Cheung) #10329
  • [7822d86ee6] - test: increase usage of assert.ifError() (cjihrig) #10543
  • [e161dcf1fc] - test: add dgram.Socket.prototype.sendto's test (abouthiroppy) #10901
  • [be3e82dbbb] - test: check error message in test-fs-make-callback (legalcodes) #10914
  • [67d97bce5a] - test: improve test-assert (richnologies) #10916
  • [69a04a9c7b] - test: increase coverage for punycode's decode (abouthiroppy) #10940
  • [8778fca82b] - test: check fd 0,1,2 are used, not access mode (John Barboza) #10339
  • [e80f35c973] - test: verify shell option internals (cjihrig) #10924
  • [9d5170f850] - test: fix flaky test-regress-GH-897 (Rich Trott) #10903
  • [c60d87b1ad] - test: don't connect to :: (use localhost instead) (Gibson Fahnestock) #10854
  • [aa4b028523] - test: improve test-fs-open-flags (Vinícius do Carmo)
  • [35d665958e] - test: increase coverage of _http_outgoing (abouthiroppy) #10820
  • [c4f16949b8] - test: add message verification on assert.throws (Travis Meisenheimer) #10890
  • [5ce2ac800b] - test: refactor test-repl-tab-complete (Rich Trott) #10879
  • [999f685a69] - test: simplify array initialization (Rich Trott) #10860
  • [c77078f29f] - test: have inspector test pick an open port (Eugene Ostroukhov) #10861
  • [aa8771f842] - test: use common.hasIntl in tests related to ICU (Daijiro Wachi) #10841
  • [5b38776243] - test: add http-common's test (abouthiroppy) #10832
  • [96babb2090] - test: tests for _readableStream.awaitDrain (Mark) #8914
  • [7165f1d409] - test: improve the code in test-process-cpuUsage (Adrian Estrada) #10714
  • [b5c0b43efa] - test: increase test-crypto.js strictness (Rich Trott) #10784
  • [d818cfaaad] - test: improve test-fs-write-stream-throw-type (Adrian Estrada) #10779
  • [77cbc26a96] - test: delete duplicate test of noAssert in readUInt* (larissayvette) #10791
  • [36db5a663a] - test: add http_incoming's matchKnownFields test (abouthiroppy) #10811
  • [31d3a22989] - test: skip test-icu-transcode if Intl is not present (Daijiro Wachi) #10707
  • [8b02b4ebb4] - test: check error msg test-writeint.js (Irene Li) #10755
  • [5aad0ccefe] - test: no unused args test-fs-watch-file.js (istinson) #10758
  • [fca0da711d] - test: improve tests in pummel/test-exec (Chase Starr) #10757
  • [7d917dcb27] - test: fix temp-dir option in tools/test.py (Gibson Fahnestock) #10723
  • [6b54024324] - test: use realpath for NODE_TEST_DIR in common.js (Gibson Fahnestock) #10723
  • [c6aeb4491b] - test: fix linting for test-tls-add-ca-cert.js (Sam Roberts) #10771
  • [542f65c66b] - test: tls cert chain completion scenarios (Sam Roberts) #10389
  • [97a8bd20c6] - test: check tls server verification with addCACert (Sam Roberts) #10389
  • [ebcf834c14] - test: move common tls connect setup into fixtures (Sam Roberts) #10389
  • [30926ac6d6] - test: move resource intensive test to sequential (Rich Trott) #10744
  • [06a1e9eb7b] - test: add test for noAssert option in buf.read*() (larissayvette) #10713
  • [160d0381d2] - test: refactor test-crypto-padding-aes256 (adelmann) #10622
  • [cb111c96cc] - test: refactor the code of test-keep-alive.js (sivaprasanna) #10684
  • [dbb7727320] - test: validate 'expected' argument to mustCall() (Nathan Friedly) #10692
  • [e408f0a1f5] - test: fix misplaced ) in http response statuscode test (Nathan Friedly) #10692
  • [4c8676bc26] - test: refactor test-doctool-html.js (abouthiroppy) #10696
  • [da572131db] - test: improve the code in test-process-hrtime (Adrian Estrada) #10667
  • [17d9a739c1] - test: refactor test-watch-file.js (sivaprasanna) #10679
  • [cf5579d746] - test: improve zlib-from-gzip-with-trailing-garbage (Michael Lefkowitz) #10674
  • [2d856097b3] - test: refactor the code in test-child-process-spawn-loop.js (sivaprasanna) #10605
  • [1329eb47f0] - test: allow testing uid and gid separately (cjihrig) #10647
  • [4aa32c196a] - test: improve code in test-https-strict (Adrian Estrada) #10648
  • [e78de99bcb] - test: improve test-http-chunked-304 (Adrian Estrada) #10462
  • [ff23d8112a] - test: improve test-fs-readfile-zero-byte-liar (Adrian Estrada) #10570
  • [38bdfb0b8e] - test: refactor test-fs-utimes (Junshu Okamoto) #9290
  • [09f35a49e3] - test: provide duration/interval to timers (Rich Trott) #9472
  • [06a82436c2] - test: improve test-event-emitter-modify-in-emit (Adrian Estrada) #10600
  • [736b95a617] - test: check error and cleanups in test-fs-read-buffer (Anna Henningsen) #10611
  • [a77940c2d5] - test: mark test-tty-wrap as flaky for AIX (Michael Dawson) #10618
  • [cf875d17f3] - test: improve test-fs-null-bytes (Adrian Estrada) #10521
  • [656ba86a27] - test: fix Coverity warning in inspector test (Eugene Ostroukhov) #10510
  • [9916ee8c36] - test: refactor test-https-truncate (Rich Trott) #10225
  • [4ff1d3107f] - test: add http.ClientRequest defaults test (Brian White) #10654
  • [1555ced404] - test, win: fix up symlink tests (Hitesh Kanwathirtha) #10477
  • [4323c8018e] - test,cluster: add test-cluster-worker-deprecated (Rich Trott) #10675
  • [33af09fe6a] - test,net: add tests for server.connections (Rich Trott) #10762
  • [fc2db50021] - test,repl: add coverage for repl .clear+useGlobal (Rich Trott) #10777
  • [84bf04b0c1] - test,util: remove lint workarounds (Rich Trott) #10785
  • [c6af766ad9] - test-console: streamline arrow fn and refine regex (John Maguire) #11039
  • [8fae9d4cfb] - tools: rename eslintrc to an undeprecated format (Sakthipriyan Vairamani) #7699
  • [dd5a4e1d75] - tools: update ESLint to current version (Rich Trott) #10561
  • [c92b8ecd81] - (SEMVER-MINOR) tools: add mdn link for Iterator (James M Snell) #10620
  • [dec5900c42] - tools: add lint rule to enforce timer arguments (Rich Trott) #9472
  • [891874406a] - tools: remove no-useless-regex-char-class-escape (Rich Trott) #10561
  • [1634a7017e] - tools: remove custom align-function-arguments rule (Rich Trott) #10561
  • [31f8f6f768] - tools, test: require const/let in test (Gibson Fahnestock) #10685
  • [d39543e73d] - tools,doc: add Google Analytics tracking. (Phillip Johnsen) #6601
  • [3adda4b2ad] - tools,test: enforce assert.ifError with lint rule (Teddy Katz) #10671
  • [438a98ca95] - url: make URLSearchParams/Iterator match spec (Timothy Gu) #11057
  • [2bfd58adb1] - url: define @@toStringTag as a data property (Timothy Gu) #10906
  • [f1851cb8e4] - url: do not public expose inspect methods on URL (Timothy Gu) #10906
  • [b48b80f630] - url: stop exporting originFor() (Timothy Gu) #10955
  • [c0c1a4c029] - url: refactor lib/internal/url.js (Rich Trott) #10912
  • [2f9fdc454f] - (SEMVER-MINOR) url: allow use of URL with http.request and https.request (James M Snell) #10638
  • [95faa55ab9] - url: check forEach callback is a function (Timothy Gu) #10905
  • [3642f35d09] - url: add return value to ToUnicode/ToAscii stubs (Birunthan Mohanathas) #10893
  • [021338dc6d] - url: export URLSearchParams (Timothy Gu)
  • [5d33c96679] - url: improving URLSearchParams (Timothy Gu) #10399
  • [824978e337] - url: do not decode arbitrary . sequences in paths (James M Snell) #10602
  • [e46bdcf2bb] - url: change null password handling (James M Snell) #10601
  • [2b01138451] - url: TupleOrigin#toString use unicode by default (Joyee Cheung) #10552
  • [9f6d1f6fc2] - util: improve readability of normalizeEncoding (Joyee Cheung) #10439
  • [d628f3a227] - util: avoid out-of-bounds arguments index access (Teddy Katz) #10569
  • [2641cd496d] - vm: improve performance of vm.runIn*() (Rich Trott) #10816

New in Node.js 7.4.0 (Jan 20, 2017)

  • NOTABLE CHANGES:
  • events: Improve performance of EventEmitter.once() by ~27%. (Brian White) #10445
  • fs: Allow passing Uint8Array to fs methods where Buffers are supported. (Anna Henningsen) #10382
  • http: Improve performance of http server by ~7%. (Brian White) #6533
  • npm: Upgrade to v4.0.5 (Kat Marchán) #10330
  • buffer:
  • Improve performance of Buffer allocation by ~11%. (Brian White) #10443
  • Improve performance of Buffer.from() by ~50%. (Brian White) #10443
  • COMMITS:
  • [d1843ec3a7] - async_wrap: clear destroy_ids vector (Trevor Norris) #10400
  • [6a4e6e9a42] - benchmark: allow benchmarks to specify flags (Joyee Cheung) #10448
  • [0b2bc5e27b] - benchmark: add benchmark for WHATWG URL properties (Joyee Cheung) #10408
  • [10b3297e8f] - benchmark: use commas in non-csv rate output (Brian White) #10360
  • [6d15e7b528] - benchmark: refactor buffer benchmarks (Troy Connor) #10175
  • [797495a84a] - buffer: improve allocation performance (Brian White) #10443
  • [ad5ae922ce] - build: add /opt/freeware/... to AIX library path (Stewart X Addison) #10128
  • [cff57be2b6] - build: add (not) cross-compiled configure flags (Jesús Leganés-Combarro 'piranna) #10287
  • [80e798e324] - crypto: use CHECK_NE instead of ABORT or abort (Sam Roberts) #10413
  • [92eacdb5c6] - (SEMVER-MINOR) deps: upgrade npm to 4.0.5 (Kat Marchán) #10330
  • [785975d922] - deps: ICU 58.2 bump download URL (Steven R. Loomis) #10206
  • [bce0013dd8] - deps: ICU 58.2 bump (Steven R. Loomis) #10206
  • [dcc20f12a6] - doc: clarify the statement in vm.createContext() (AnnaMag) #10519
  • [8e78953c88] - doc: add joyeecheung to collaborators (Joyee Cheung) #10603
  • [d08463a9e3] - doc: unify dirname and filename description (Sam Roberts) #10527
  • [7ad0f7bc32] - doc: redirect 'Start a Working Group' to TSC repo (William Kapke) #9655
  • [deb0917f76] - doc: warn about unvalidated input in child_process (Matthew Garrett) #10466
  • [96c3c65a86] - doc: require two-factor authentication (Rich Trott) #10529
  • [a7c12fef6c] - doc: add Working Group dissolution text (William Kapke) #9656
  • [e86bf27fe8] - doc: improve rinfo object documentation (Matt Crummey) #10050
  • [5b7b457643] - doc: add tls.DEFAULT_ECDH_CURVE (Sam Roberts) #10264
  • [cf3f75f6f0] - doc: fixup errors in stream.md (Fumiya KARASAWA) #10411
  • [89fb82214f] - doc: use "Node.js" in V8 guide (Rich Trott) #10438
  • [aabaef0aa7] - doc: more efficient example in the console.md (Vse Mozhet Byt) #10451
  • [3d181ce4fd] - doc: var -> const / let in the console.md (Vse Mozhet Byt) #10451
  • [9ce28ec3c5] - doc: add the valid link for curl(1) in repl.md (Vse Mozhet Byt) #10244
  • [cffbfba4df] - doc: replace anonymous functions in repl.md (Vse Mozhet Byt) #10244
  • [f281b190d5] - doc: fix a function name in repl.md (Vse Mozhet Byt) #10244
  • [b8e2711ddd] - doc: fix an output example in repl.md (Vse Mozhet Byt) #10244
  • [ae61232493] - doc: white space unification in repl.md (Vse Mozhet Byt) #10244
  • [37cb971c65] - doc: var => let / const in repl.md (Vse Mozhet Byt) #10244
  • [6f8c6133e3] - doc: update CONTRIBUTING.MD with link to V8 guide (sarahmeyer) #10070
  • [8a9d68ad7c] - doc: improve common.mustCall() explanation (Rich Trott) #10390
  • [4365bb45b8] - doc: consistent 'Returns:' part two (Myles Borins) #10391
  • [21fca4bdda] - doc: require() tries first core not native modules (Vicente Jimenez Aguilar) #10324
  • [6284d83092] - doc: clarify macosx-firewall suggestion BUILDING (Chase Starr) #10311
  • [0c4cf24f70] - doc: update process.versions.modules documentation (Kevin Zurawel) #9901
  • [b67879f6f4] - doc: clarify the review and landing process (Joyee Cheung) #10202
  • [9044423bb6] - doc: modernize code examples in the cluster.md (Vse Mozhet Byt) #10270
  • [2eec9afdb1] - doc: add Michaël Zasso to the CTC (Michaël Zasso)
  • [85d2a2abcf] - doc: update writable.write return value (Tanuja-Sawant) #9468
  • [37563fafca] - doc: fix broken link in COLLABORATOR_GUIDE.md (Emanuel Buholzer) #10337
  • [f9a5c13ff3] - dtrace: resolve conversion warnings from SLURP_INT (Christopher J. Brody) #10143
  • [bc379fda75] - events: optimize arrayClone by copying forward (Benedikt Meurer) #10571
  • [7ece950ffe] - events: improve once() performance (Brian White) #10445
  • [6629f8f83f] - fs: cache non-symlinks in realpathSync. (Jeremy Yallop) #10253
  • [abde7644a5] - (SEMVER-MINOR) fs: support Uint8Array input to methods (Anna Henningsen) #10382
  • [32b6bcdd83] - http: optimize headers iteration (Brian White) #6533
  • [a760d707ad] - http: simplify boolean checks (Brian White) #6533
  • [c8ad127abc] - http: extract validation functions (Brian White) #6533
  • [8a2a763f13] - http: improve validation performance (Brian White) #6533
  • [df8b8b257d] - http: refactor server connection handling (Brian White) #6533
  • [1f0fd7b35d] - http: misc cleanup and minor optimizations (Brian White) #6533
  • [b094b49659] - http: reuse existing headers array for raw values (Brian White) #6533
  • [4bed9475d1] - inspector: fix Coverity defects (Eugene Ostroukhov) #10240
  • [023956187e] - inspector: split HTTP/WS server from the inspector (Eugene Ostroukhov) #9630
  • [aed5e27451] - lib: avoid recompilation of anonymous functions (Brian White) #6533
  • [064607be58] - meta: modify pull request template for prepending (Rich Trott) #10484
  • [75efdeb635] - os: fix os.release() for aix and add test (jBarz) #10245
  • [6796bf4829] - repl: allow autocompletion for scoped packages (Evan Lucas) #10296
  • [11ed8007df] - src: describe what NODE_MODULE_VERSION is for (Sam Roberts) #10414
  • [5e5b1f8b89] - src: return early if nextTickQueue is empty (Trevor Norris) #10274
  • [5852336207] - test: add tests for clearBuffer state machine (Safia Abdalla) #9922
  • [6ec798bdd6] - test: update test-cluster-shared-handle-bind-error (cjihrig) #10547
  • [32401b5069] - test: avoid assigning this to variables (cjihrig) #10548
  • [e1fbd72ae7] - test: s/ASSERT/assert/ (cjihrig) #10544
  • [05b0092230] - test: refactor test-debugger-remote (Sakthipriyan Vairamani (thefourtheye)) #10455
  • [82575f9341] - test: refactor test-stream-unshift-read-race (Rich Trott) #10532
  • [4d984ecadb] - test: refactor test-stream-pipe-error-handling (Rich Trott) #10530
  • [2619236212] - test: refactor test-tls-alert-handling (Rich Trott) #10482
  • [8ac9d07805] - test: fix flaky test-http-client-timeout-with-data (Rich Trott) #10431
  • [ef5a43a0e3] - test: improve test-http-allow-req-after-204-res (Adrian Estrada) #10503
  • [4a16f9b054] - test: improve test-fs-empty-readStream.js (Adrian Estrada) #10479
  • [5fc93ee841] - test: refactor the code in test-http-connect (Adrian Estrada) #10397
  • [78e8aa81c9] - test: refactor test-stream-pipe-after-end (Rich Trott) #10483
  • [0a0c190db5] - test: use strictEqual in test-http-server (Fabrice Tatieze) #10478
  • [04d82a5122] - test: refactor test-stdin-from-file (Rob Adelmann) #10331
  • [00f791af74] - test: refactor test-stream2-unpipe-drain (Chris Story) #10033
  • [eb1adbb48e] - test: refactor the code in test-dns-ipv4 (Adrian Estrada) #10200
  • [dff48af67f] - test: add regex to text-crypto-random (Nate) #10020
  • [5164b56224] - test: add test for SIGWINCH handling by stdio.js (Sarah Meyer) #10063
  • [1aa3ab1ec6] - test: refactor the code in test-fs-chmod (Adrian Estrada) #10440
  • [4f1d9452de] - test: swap var for let/const throughout (Paul Graham) #10177
  • [f6ed233546] - test: improve the code in test-pipe.js (Adrian Estrada) #10452
  • [011bd4675a] - test: improve code in test-fs-readfile-error (Adrian Estrada) #10367
  • [98fcb221d5] - test: improve code in test-vm-preserves-property (Adrian Estrada) #10428
  • [cdf028c5a6] - test: improve code in test-vm-symbols (Adrian Estrada) #10429
  • [94a894acf2] - test: fix and improve debugger-client test (Sakthipriyan Vairamani (thefourtheye)) #10371
  • [d4c888df88] - test: basic functionality of readUIntLE() (larissayvette) #10359
  • [a5b8d097c5] - test: clean up repl-reset-event file (Kailean Courtney) #9931
  • [599a2a956b] - test: refactor test-child-process-ipc (malen) #9990
  • [d33e560929] - test: fix and improve debug-break-on-uncaught (Sakthipriyan Vairamani (thefourtheye)) #10370
  • [9349f086d9] - test: refactor test-internal-modules (Christy Leung) #10016
  • [2ad9faa19e] - test: add second argument to assert.throws() (Ken Russo) #9987
  • [4bfd9c0a35] - test: refactor test-pipe-file-to-http (Josh Mays) #10054
  • [1b9f548e7d] - test: refactor test-tls-interleave (Brian Chirgwin) #10017
  • [db3ac5d6e7] - test: refactor test-tls-client-getephemeralkeyinfo (Harish Tejwani) #9954
  • [bbe618d3e2] - test: refactor test-cluster-send-handle-twice.js (Amar Zavery) #10049
  • [5d64f3d76f] - test: update test-tls-check-server-identity.js (Kevin Cox) #9986
  • [e6702d6d9b] - test: fix flaky test-https-timeout (Rich Trott) #10404
  • [44f4d6001f] - test: improve test-cluster-net-listen.js (Rico Cai) #9953
  • [d3bef30b5f] - test: refactor test-child-process-stdin (Segu Riluvan) #10420
  • [e9b2325d68] - test: test error messages in test-dns-regress-7070 (Wallace Zhang) #10058
  • [826decf8e5] - test: basic functionality of readUIntBE() (larissayvette) #10417
  • [91a2dc216d] - test: improve test-cluster-worker-constructor.js (Adrian Estrada) #10396
  • [a82be5d44c] - test: refactor test-init.js (Sakthipriyan Vairamani (thefourtheye)) #10384
  • [ed76bfa7ba] - test: refactor code in test-cluster-http-pipe (Adrian Estrada) #10297
  • [9a0711d37f] - test: improve code in test-http-bind-twice.js (Adrian Estrada) #10318
  • [9d0220c4de] - test: fix linter error in whatwg-url-parsing (Sakthipriyan Vairamani (thefourtheye)) #10421
  • [bee7d7e32c] - test: change var declarations, add mustCall check (Daniel Sims) #9962
  • [a2ec794d3b] - test: added validation regex argument to test (Avery, Frank) #9918
  • [14826d0569] - test: refactoring test-cluster-worker-constructor (Christopher Rokita) #9956
  • [274eef4da0] - test: refactoring test-pipe-head (Travis Bretton) #10036
  • [7c406e819b] - test: refactor test-stdin-script-child (Emanuel Buholzer) #10321
  • [501165f0c1] - test: fix timers-same-timeout-wrong-list-deleted (Rich Trott) #10362
  • [ba63363512] - test: refactor test-stream2-writable (Rich Trott) #10353
  • [a5a738cca7] - test: refactor test-tls-0-dns-altname (Richard Karmazin) #9948
  • [12a3b189da] - test: refactor test-cluster-net-listen (Segu Riluvan) #10047
  • [18a75a085d] - test: test: refactor test-sync-fileread (Jason Wohlgemuth) #9941
  • [815b5bdcf4] - test: change assert.strict to assert.strictEqual() (Ashita Nagesh) #9988
  • [f1cc0a4d26] - test: add regex check in test-buffer-bad-overload (Sam Shull) #10038
  • [0684211d12] - test: refactor the code in test-http-keep-alive (Adrian Estrada) #10350
  • [a815a23631] - test: improve domain-top-level-error-handler-throw (CodeVana) #9950
  • [3448e8e522] - test: use strictEqual in test-cwd-enoent-repl.js (Neeraj Sharma) #9952
  • [fc2fd920ab] - test: refactor test-net-reconnect-error (Duy Le) #9903
  • [a7c9c5685e] - test: add test-require-invalid-package (Duy Le) #9903
  • [d1b4c5dc61] - test: refactor test-child-process-kill (Duy Le) #9903
  • [2f92945a70] - test: use consistent block spacing (Rich Trott) #10377
  • [9a9e530291] - test: add known_issues test for #5350 (AnnaMag) #10319
  • [76b0e5bfbe] - test: refactor test-timers-this (Rich Trott) #10315
  • [797d9a8e79] - tools: refactor json.js (Rich Trott) #10442
  • [05332942e2] - tools: enforce linebreak after ternary operators (Michaël Zasso) #10213
  • [3a7b63b81b] - tools: enable block-spacing rule in .eslintrc (Rich Trott) #10377
  • [3195fb45ae] - url: set toStringTag for the URL class (James M Snell) #10562
  • [659d522d7c] - url: fix accidental filemode change (James M Snell) #10549
  • [6977224059] - url: fix URL query update if searchParams changes (Michaël Zasso) #10486
  • [78e867492a] - url: improve spec compliance of WHATWG URL (Michaël Zasso) #10317
  • [2b98ea0dec] - url: move originFor, domainToAscii and domainToUnicode (James M Snell) #10512
  • [e210efad9e] - url: performance improvement in URL implementation (James M Snell) #10469
  • [7fbd12f876] - url: make WHATWG URL properties spec compliant (Joyee Cheung) #10408
  • [495213e545] - url: mark ignored return value in node::url::Parse(...) (Christopher J. Brody) #10141
  • [ba46374cb9] - watchdog: add flag to mark handler as disabled (Bartosz Sosnowski) #10248

New in Node.js 7.3.0 (Dec 27, 2016)

  • NOTABLE CHANGES:
  • buffer:
  • buffer.fill() now works properly for the UCS2 encoding on Big-Endian machines. (Anna Henningsen) #9837
  • cluster:
  • disconnect() now returns a reference to the disconnected worker. (Sean Villars) #10019
  • crypto:
  • The built-in list of Well-Known CAs (Certificate Authorities) can now be extended via a NODE_EXTRA_CA_CERTS environment variable. (Sam Roberts) #9139
  • http:
  • Remove stale timeout listeners in order to prevent a memory leak when using keep alive. (Karl Böhlmark) #9440
  • tls:
  • Allow obvious key/passphrase combinations. (Sam Roberts) #10294
  • url:
  • Including base argument in URL.originFor() to meet specification compliance. (joyeecheung) #10021
  • Improve URLSearchParams to meet specification compliance. (Timothy Gu) #9484
  • COMMITS:
  • [c2cc11b3c6] - Working on v7.2.2 (Jeremiah Senkpiel) #10127
  • [b99a372e91] - buffer: fix single-character string filling (Anna Henningsen) #9837
  • [d8b6723096] - buffer: handle UCS2 .fill() properly on BE (Anna Henningsen) #9837
  • [e61331ee9b] - build: fix node_g target (Daniel Bevenius) #10153
  • [9d04152e15] - build: Don't regenerate node symlink (sxa555) #9827
  • [5d14602181] - (SEMVER-MINOR) cluster: return worker reference from disconnect() (Sean Villars) #10019
  • [6963e8aa9d] - (SEMVER-MINOR) crypto: allow adding extra certs to well-known CAs (Sam Roberts) #9139
  • [a308a2fae4] - deps: cherry-pick 081fce3 from V8 upstream (Matt Loring) #10342
  • [7c3d280bf0] - doc: rework tls for accuracy and clarity (Sam Roberts) #9800
  • [6b98906a08] - doc: document R CRAN mirror process (Lucas Holmquist) #10211
  • [7e8c5e3490] - doc: expand common module material in test guide (Rich Trott) #10251
  • [ee736b276c] - doc: fix broken link in COLLABORATOR_GUIDE.md (Michael Dawson) #10267
  • [40b0ca1329] - doc: fix typo in code example of 'path' module (pallxk) #10136
  • [b44e7891d0] - doc: standardizing on make -j4 (Jonathan Darling) #9961
  • [ff8fdb14fb] - doc: add note to parallelize make (Jonathan Darling) #9961
  • [5a64187bed] - doc: buffer allocation throws for negative size (joyeecheung) #10151
  • [20fdf3aec6] - doc: add some info on tty#setRawMode() (Jeremiah Senkpiel) #10147
  • [ae53a6e12b] - doc: update path.format description and examples (anoff) #10046
  • [30340388f1] - doc: add a variable declaration in the buffer.md (Vse Mozhet Byt) #9795
  • [d64e52c68d] - doc: adding missing - in README (Italo A. Casas) #10170
  • [39bf5bfaf1] - doc: removing extra space in README (Italo A. Casas) #10168
  • [bc64a63440] - doc: fix a wrong note in the buffer.md (Vse Mozhet Byt) #9795
  • [d4c73d4823] - doc: remove an extraneous word in the buffer.md (Vse Mozhet Byt) #9795
  • [d373b2f2fb] - doc: fix examples in buffer.md to avoid confusion (Vse Mozhet Byt) #9795
  • [7a39a44dbc] - doc: remove a wrong remark in the buffer.md (Vse Mozhet Byt) #9795
  • [39b083eb51] - doc: repeat a remark as needed in the buffer.md (Vse Mozhet Byt) #9795
  • [622690f242] - doc: fix copy-paste artifacts in the buffer.md (Vse Mozhet Byt) #9795
  • [3b848a279b] - doc: fix wrong function arguments in the buffer.md (Vse Mozhet Byt) #9795
  • [9e47b943a7] - doc: fix a syntax error in the buffer.md (Vse Mozhet Byt) #9795
  • [1864222d50] - doc: var => const/let in the buffer.md (Vse Mozhet Byt) #9795
  • [7b924f1713] - doc: fix typo in ecdhCurve, a tls property name (Sam Roberts) #10345
  • [2673be676a] - fs: remove unused argument from copyObject() (Ethan Arrowood) #10041
  • [1081f0f33d] - fs: remove needless assignment of null (Francis Gulotta) #10260
  • [dded482bb8] - http: remove stale timeout listeners (Karl Böhlmark) #9440
  • [b41db3396b] - inspector: check if connected before waiting (Eugene Ostroukhov) #10094
  • [b6a8bc6ac3] - lib,test: use consistent operator linebreak style (Michaël Zasso) #10178
  • [ef2fa56314] - src: fix string format mistake for 32 bit node (Alex Newman) #10082
  • [d4e160c946] - (SEMVER-MINOR) src: add wrapper for process.emitWarning() (Sam Roberts) #9139
  • [ec2f13fe66] - src: don't overwrite non-writable vm globals (Ben Noordhuis) #10227
  • [28ffd593e2] - stream, test: test _readableState.emittedReadable (Joyee Cheung) #10249
  • [729fecf390] - stream_base: homogenize req_wrap_obj use (Fedor Indutny) #10184
  • [8b9131c1f8] - test: tls key/cert ordering not necessary (Sam Roberts) #9800
  • [8a34e60b41] - test: var to const in tls-no-cert-required (Sam Roberts) #9800
  • [ea16a2ab52] - test: stream readable needReadable state (Joyee Cheung) #10241
  • [e4b29a57f9] - test: refactor test-fs-read-stream-inherit (Rich Trott) #10246
  • [fb297cba8f] - test: refactor test-dgram-send-callback-multi-buffer (mfrance) #9999
  • [16fbd4f6bf] - test: refactor test-tls-ecdh-disable (Aaron Williams) #9989
  • [46c55a6454] - test: cleanup test-stdout-close-catch.js (Travis Bretton) #10006
  • [8c8b1230da] - test: use const/let and common.mustCall (Outsider) #9959
  • [74563f07e9] - test: refactor domain test (Adao Junior) #10269
  • [d9cfd5484f] - test: clean up domain-no-error-handler test (weyj4) #10291
  • [553a32674a] - test: fix http-client-timeout-option-listeners (Rich Trott) #10224
  • [308cead66e] - test: update test-domain-uncaught-exception.js (Andy Chen) #10193
  • [60542cb98b] - test: refactor test-domain.js (Siddhartha Sahai) #10207
  • [c0800d9449] - test: refactor test-stream-big-push (Rich Trott) #10226
  • [b9361cae6e] - test: refactor test-http-dns-fail (Adrian Estrada) #10243
  • [a97f26476d] - test: refactor test-crypto-random (Rich Trott) #10232
  • [2f9c8d977f] - test: refactor test-http-pause-resume-one-end (Rich Trott) #10210
  • [90659bc95c] - test: fix flaky test-dgram-exclusive-implicit-bind (Rich Trott) #10212
  • [a4f3080595] - test: improvements in test fixtures symlinked (Adrian Estrada) #10182
  • [d5e30a69e2] - test: refactor test-fs-fsync (Rob Adelmann) #10176
  • [be87441463] - test: refactor test-http-after-connect.js (larissayvette) #10229
  • [2b78212445] - test: use strictEqual in test-debug-break (Adrian Estrada) #10181
  • [8b698d89ac] - test: refactor assert.equal, update syntax to ES6 (Prieto, Marcos) #10190
  • [3749dc6ce7] - test: refactor http pipelined socket test (Rich Trott) #10189
  • [e1d813f3f8] - test: refactor test-handle-wrap-close-abort (Rich Trott) #10188
  • [7f01484a7a] - test: add ES6 and strictEqual to test-fs-truncate (Adrian Estrada) #10167
  • [88839cf204] - test: replace var with const in test-require-dot (Amar Zavery) #9916
  • [09ec5db10b] - test: fail for missing output files (Anna Henningsen) #10150
  • [3f269cc760] - test: use ES6 in test-debugger-client.js (Adrian Estrada) #10183
  • [1f11deb58f] - test: improve buffer transcode (Johnny Reading) #10043
  • [3e8df733e8] - test: improving crypto fips (James Tenenbaum) #10002
  • [6780c0e572] - test: stream readableState readingMore state (Gregory) #9868
  • [c792e2ac49] - test: stream readableListening internal state (Italo A. Casas) #9864
  • [28c6df2604] - test: add stdin-setrawmode.out file (Jonathan Darling) #10149
  • [f5347abac8] - test: set stdin too for pseudo-tty tests (Anna Henningsen) #10149
  • [3a460d5469] - test: check for error on invalid signal (Matt Phillips) #10026
  • [1ebb5b9adb] - test: refactor test-http-unix-socket (davidmarkclements) #10072
  • [8b7c97bc59] - test: increase test coverage of BufferList (joyeecheung) #10171
  • [53e8e962d4] - test: fix flaky test-net-socket-timeout (Rich Trott) #10172
  • [ca38f70dea] - test: refactor test-net-keepalive.js (Kyle Corsi) #9995
  • [a9d4bd7a34] - test: refactor test-crypto-hmac (eudaimos) #9958
  • [778e5f7d0c] - test: fix error in test-cluster-worker-death.js (Bruce Lai) #9981
  • [b67cad1174] - test: use assert.strictEqual (anoff) #9975
  • [72fb05d062] - test: change assert.equal to assert.strictEqual (Aileen) #9946
  • [dac757e502] - test: changed assert.equal to assert.strictEqual (vazina robertson) #10015
  • [d7988e0355] - test: renamed assert.Equal to assert.strictEqual (Jared Young)
  • [9d037cfa44] - test: improves test-tls-client-verify (Paul Graham) #10051
  • [2565e48445] - test: refactor test-https-agent-session-reuse (Diego Paez) #10105
  • [11140802f4] - test: refactor test-beforeexit-event (Rob Adelmann) #10121
  • [e695862531] - test: improve test-fs-read-stream.js (Jenna Vuong) #9629
  • [be90638487] - test: refactor test-domain-from-timer (Daniel Sims) #9889
  • [2c5d5629de] - test: refactor test-domain-exit-dispose-again (Ethan Arrowood) #10003
  • [6d4f270f2f] - test: use const and strictEqual in test-os-homedir-no-envvar (CodeVana) #9899
  • [62f5a0bf59] - test: check result of uv_loop_init and uv_write (Ben Noordhuis) #10126
  • [19432f05ff] - test: refactor test-dgram-bind-default-address (Michael-Bryant Choa) #9947
  • [01509bc67e] - test: move long-running test to sequential (Rich Trott) #10161
  • [d8dc890352] - test: assert.throws() should include a RegExp (Chris Bystrek) #9976
  • [6f2f02d5ad] - test: invalid package.json causes error when require()ing in directory (Sam Shull) #10044
  • [6489a91027] - test: refactor test-listen-fd-ebadf (Richard Karmazin) #10034
  • [eb1664bed9] - test: refactor test-event-emitter-method-names (Rodrigo Palma) #10027
  • [c66cf2c1cf] - test: refactor tls-ticket-cluster (Yojan Shrestha) #10023
  • [de9972678e] - test: refactor test-domain-exit-dispose (Chris Henney) #9938
  • [5ca90777e6] - test: refactor test-stdin-from-file.js (amrios) #10012
  • [4d66578997] - test: use ES6 to update let & const (Jason Humphrey) #9917
  • [bb9174745b] - test: fix test for buffer regression #649 (joyeecheung) #9924
  • [613798335c] - test: stream readable resumeScheduled state (Italo A. Casas) #10299
  • [15c71f6c66] - test: improve code in test-fs-open.js (Adrian Estrada) #10312
  • [793d8719eb] - test: fix flaky test-debug-port (Santiago Gimeno) #10316
  • [5e781a3883] - test: refactor the code in test-dns-ipv6 (Adrian Estrada) #10219
  • [8b367c5ddd] - test: improve test-child-process-fork-and-spawn (Adrian Estrada) #10273
  • [348e69c89d] - test: fix flaky test-http-client-timeout-event (Rich Trott) #10293
  • [0d3ac89ff7] - test: add known_issues test for #6287 (AnnaMag) #10272
  • [f7f662cad5] - test: improve test-child-process-exec-buffer (Adrian Estrada) #10275
  • [f66461382c] - timers: fix handling of cleared immediates (hveldstra) #9759
  • [8e4b9fa487] - tls: fix/annotate connect arg comments (Sam Roberts) #9800
  • [980acb4b95] - tls: document and test option-less createServer (Sam Roberts) #9800
  • [41e1e6eb35] - tls: do not refer to secureOptions as flags (Sam Roberts) #9800
  • [0b44384561] - (SEMVER-MINOR) tls: allow obvious key/passphrase combinations (Sam Roberts) #10294
  • [a92f2ad19c] - tools: enforce consistent operator linebreak style (Michaël Zasso) #10178
  • [cc5bd9a0cf] - tools: add macosx-firwall script to avoid popups (Daniel Bevenius) #10114
  • [7cb98138a9] - tools: forbid template literals in assert.throws (Michaël Zasso) #10301
  • [24482d08ce] - (SEMVER-MINOR) url: add inspect function to TupleOrigin (Safia Abdalla) #10039
  • [f08d8a6c6f] - url: improve URLSearchParams spec compliance (Timothy Gu) #9484
  • [19d7197177] - url: add a got host pattern in url.js (Axel Monroy) #9653
  • [2da71f24de] - url, test: fix typo in inspect output, add test (Jay Brownlee) #10231
  • [80cccce218] - url, test: including base argument in originFor (joyeecheung) #10021
  • [7a0fe9f471] - win,msi: add required UIRef for localized strings (Bill Ticehurst) #8884

New in Node.js 7.2.1 (Dec 10, 2016)

  • NOTABLE CHANGES:
  • promise: --trace-warnings now produces useful stacktraces for Promise warnings. (Anna Henningsen) #9525
  • repl: Fixed a bug preventing correct parsing of generator functions. (Teddy Katz) #9852
  • V8: Fixed a significant instanceof performance regression. (Franziska Hinkelmann) #9730
  • buffer:
  • Reverted the runtime deprecation of calling Buffer() without new. (Anna Henningsen) #9529
  • Fixed buffer.transcode() for single-byte character encodings to UCS2. (Anna Henningsen) #9838
  • COMMITS:
  • [f55a63c86f] - internal/util: move the case 'latin1' (Jackson Tian) #9646
  • [5379b9da11] - async_wrap: call destroy() callback in uv_idle_t (Trevor Norris) #9753
  • [5157a5cee9] - async_wrap: make Initialize a static class member (Trevor Norris) #9753
  • [3e5be7fc8b] - async_wrap: mode constructor/destructor to .cc (Trevor Norris) #9753
  • [88464ac6ac] - benchmark: reformat code for clarity (Rich Trott) #9790
  • [573f9db6c9] - buffer: fix transcode for single-byte enc to ucs2 (Anna Henningsen) #9838
  • [0c745e3a3a] - buffer: convert offset & length to int properly (Sakthipriyan Vairamani (thefourtheye)) #9815
  • [e0e62d1113] - Revert "buffer: runtime deprecation of calling Buffer without new" (Anna Henningsen) #9529
  • [371090d817] - build: Make configure file parseable on python3 (kalrover) #9657
  • [16af467146] - build: add shared library support to AIX build (Stewart Addison) #9675
  • [fa38032148] - child_process: name anonymous functions (brad-decker) #9880
  • [5c9aa18484] - constants: errors -> errno (Bryan English) #9349
  • [dfa35d66f5] - debugger: call this.resume() after this.run() (Lance Ball) #10099
  • [ac8d212428] - debugger: refactor _debugger.js (Rich Trott) #9860
  • [4bcda633c0] - deps: upgrade npm to 3.10.10 (Rebecca Turner) #9847
  • [03b1c314cd] - deps: cherry-pick 08377af from v8 upstream (Franziska Hinkelmann) #9730
  • [e9c2ffd20c] - deps: backport GYP fix to fix AIX shared suffix (Stewart Addison)
  • [3bc40ce725] - doc: remove repeated info onboarding.md (BethGriggs) #9635
  • [446bcbea4e] - doc: correct it's vs. its usage (Rich Trott) #10098
  • [b9bd9a2fcb] - doc: remove Sam Roberts from release team (Sam Roberts) #9862
  • [51b77aa44a] - doc: add people to cc for async_wrap (Anna Henningsen) #9471
  • [346204d77e] - doc: add link to net.Server in tls.md (Devon Rifkin) #10109
  • [c4fbdfa785] - doc: fix typo for decipher.final. (iamchenxin) #10086
  • [d226418b87] - doc: suggest Buffer.alloc instead of Buffer#fill (Teddy Katz) #10000
  • [78e188d929] - doc: clarify fs.createReadStream options (Wes Tyler) #10078
  • [cdec174d4d] - doc: var => const in js code examples of addons.md (Vse Mozhet Byt) #10092
  • [13eea40d6f] - doc: rename writing_tests.md to writing-tests.md (Safia Abdalla) #9867
  • [c948d9051b] - doc: it’s -> its in api/child_process.md (Devon Rifkin) #10090
  • [f6c1f24068] - doc: update Collaborators list in README (Rich Trott) #9846
  • [a0e25b2544] - doc: remove minor contradiction in debugger doc (Rich Trott) #9832
  • [8c70f79249] - doc: clarify introductory module material (Rich Trott) #9816
  • [2e22fa043d] - doc: improve description of module exports (Sam Roberts) #9622
  • [6ab920a3fc] - doc: add guide for maintaining V8 (Ali Ijaz Sheikh) #9777
  • [4fa84c9589] - doc: fix crypto Verify cut-n-paste from Sign (子丶言) #9796
  • [6297b9afc5] - doc: minor fixes event-loop-timers-and-nexttick.md (Dan Koster) #9126
  • [a8d84d5b50] - doc: changed order of invocations in https.request() example. (atrioom) #9614
  • [c7cd400fcb] - doc: fix crypto "decipher.setAAD()" typo (子丶言) #9782
  • [77e145a00e] - doc: clarify slashes-appending in url module (Rich Trott) #9731
  • [65af114267] - doc: "util" is not needed to extend ES6 classes (Adam Brunner) #9737
  • [44ae0283af] - doc: fix inside stability boxes (Roman Reiss) #9723
  • [9554a974d1] - https: name anonymous functions in https (Pedro Lima) #9217
  • [80a3934cd7] - inspector: /json/version returns object, not array (Ben Noordhuis) #9762
  • [65cda7f265] - lib: use === in _http_server and _tls_wrap (Walter Beller-Morales) #9849
  • [a673d44d68] - lib,tools: remove unneeded escaping of / (Prince J Wesley) #9591
  • [3253954e62] - meta: whitelist dotfiles in .gitignore (Claudio Rodriguez) #8016
  • [cef3a04f62] - promise: better stack traces for --trace-warnings (Anna Henningsen) #9525
  • [a0f6cc718a] - repl: avoid parsing division operator as regex (Teddy Katz) #10103
  • [6087e361e5] - repl: preprocess only for defaultEval (Prince J Wesley) #9752
  • [9099664959] - repl: fix generator function preprocessing (Teddy Katz) #9852
  • [9726c8271e] - test: update parallel/test-crypto-hash.js (Deepti Agrawal) #10009
  • [7144f811a6] - test: add test for url module domainToAscii and domainToUnicode (Daryl Thayil) #10031
  • [2f6d0c7e61] - test: refactor test-require-extensions-main (Daryl Thayil) #9912
  • [e718f2051c] - test: refactor test-tls-ocsp-callback (k3kathy) #9970
  • [f5e622ea53] - test: use assert.strictEqual and fix setTimeout (Matt Phillips) #9957
  • [0a4fc64c3f] - test: clean up tls junk test (Danny Guo) #9940
  • [a3a664a321] - test: update test-stdout-to-file (scalkpdev) #9939
  • [f531c96846] - test: changed assert.Equal to asset.strictEqual (Paul Chin) #9973
  • [843b8c1658] - test: refactor test-domain-multi (Wes Tyler) #9963
  • [8936d835c1] - test: refactor test-fs-write.js (hirabhullar) #9982
  • [2f731e5b5d] - test: refactor test-child-fork-exec-path.js (hirabhullar) #9982
  • [d697ac404f] - test: use assert.strictEqual in test-cli-eval (Nigel Kibodeaux) #9919
  • [0a07bccc5c] - test: refactor test-tls-connect-simple (Russell Sherman) #9934
  • [371a785f6d] - test: refactor test-signal-unregister (mark hughes) #9920
  • [79b36e927c] - test: update test-net-connect-handle-econnrefused (Punit Buch) #9932
  • [ba7d1cf4bc] - test: refactor test-require-resolve (blugavere) #10120
  • [1877ba3384] - test: refactor test-fs-symlink-dir-junction (Walter Beller-Morales) #9928
  • [84813fdaf8] - test: refactor test-fs-read-stream-resume (Matt Webb) #9927
  • [f68bfc5bde] - test: replace equal with strictEqual (Tracy Hinds) #10011
  • [c0eb08adbe] - test: use strictEqual instead of equal (Uttam Pawar) #9921
  • [2e36b2ef49] - test: using const and strictEqual (Fabrice Tatieze) #9926
  • [8e27254594] - test: convert assert.equal to assert.strictEqual (Jonathan Darling) #9925
  • [328cd93036] - test: changed assert.equal to assert.strictEqual (Scott Smereka) #9936
  • [cbdc64e026] - test: test-file-write-stream3.js refactor (Richard Karmazin) #10035
  • [7c90244677] - test: implemented es6 conventions (Erez Weiss) #9669
  • [bb677d41ce] - test: strictEqual() and RegExp in test-buffer-fill.js (J Scott Chapman) #9895
  • [34b8c86895] - test: Modernize test-tls-peer-certificate.js (Ilya Potuzhnov) #10014
  • [5ad7e04280] - test: strictCompare and explcit inputs mprovement to test-buffer-slice (Michael Alexander) #10048
  • [256de35c98] - test: add test for process.stdin.setRawMode() (Jonathan Darling) #10037
  • [990a19fc7e] - test: refactor test for net listen on fd0 (Julian Duque) #10025
  • [7fd8833fa9] - test: update assert.equal() to assert.strictEqual() (Peter Diaz) #10024
  • [fdc55ef02c] - test: use const or let and assert.strictEqual (Christopher Rokita) #10001
  • [ae1ef5336d] - test: fix buffer alloc tests (levsoroka) #9998
  • [e8fc7fcef7] - test: Added more validations to setEncoding (Paul Lucas) #9997
  • [79e6068d5c] - test: use strictEqual() domain-http (cdnadmin) #9996
  • [7428d80879] - test: refactor test-cluster-worker-events (fmizzell) #9994
  • [6df3b7babc] - test: update repl tests (makenova) #9991
  • [47b5f9e710] - test: modernize test-fs-truncate-fd (Nigel Kibodeaux) #9978
  • [8b6c45f4b4] - test: update tls test to use const/let and common.mustCall (rgoodwin) #9968
  • [c05909b3e8] - test: adding strictEqual to test-buffer-indexof.js (Eric Gonzalez) #9955
  • [d0852459d5] - test: strictEqual in test-beforeexit-event.js (CodeTheInternet) #10004
  • [2beba9e025] - test: refactor test-child-process-double-pipe (Dan Villa) #9930
  • [64b2494e90] - test: updated tls-getcipher test (Ethan Arrowood) #9923
  • [e502262687] - test: replace equal with strictEqual in test-freelist.js (Adrian Estrada) #9910
  • [5a2b68896c] - test: updated test-stream-pipe-unpipe-stream (Raja Panidepu) #10100
  • [f900753eeb] - test: refactor test-crypto-ecb (michael6) #10029
  • [6502427761] - test: refactor test-require-exceptions (Oscar Martinez) #9882
  • [a801ffb1ee] - test: refactor test-console (Matt Crummey) #9873
  • [bca587bdb3] - test: refactor test-crypto-certificate (Josh Mays) #9911
  • [278772a5df] - test: refactor dgram-send-multi-buffer-copy (Konstantin Likhter) #9909
  • [6d5ded508e] - test: refactor test-domain (Johnny Reading) #9890
  • [318a2dbea4] - test: refactor test-cli-syntax (Exlipse7) #10057
  • [da8e3d946a] - test: refactor test-child-process-constructor (k3kathy) #10060
  • [9fddf29f53] - test: refactor test-repl-mode.js (Cesar Hernandez) #10061
  • [65c44830c2] - test: var to const, assert.equal to assert.strictEqual in net (Sean Villars) #9907
  • [ef7cbde0a2] - test: changed vars to const in test-net-better-error-messages-listen-path.js (anoff) #9905
  • [f62567b7f8] - test: use const instead of var in test-require-json.js (Sarah Meyer) #9904
  • [5f3f54d4bb] - test: refactor test-http-dns-error (Outsider) #10062
  • [ae2bf0a761] - test: Changed assert.equal to assert.strictEqual (Daniel Pittman) #9902
  • [1eb581779d] - test: refactor test-vm-syntax-error-stderr.js (Jay Brownlee) #9900
  • [c456ca3601] - test: refactor test-tls-destroy-whilst-write (Chris Bystrek) #10064
  • [fd17ca7710] - test: refactor test-net-dns-custom-lookup (Kent.Fan) #10071
  • [cf3c635dba] - test: refactor test-https-truncate (davidmarkclements) #10074
  • [14c0388945] - test: refactor test-tls-server-verify (Hutson Betts) #10076
  • [36b8dd3b07] - test: refactor test-crypto-padding.js (Konstantin Likhter) #9971
  • [38ec8e44fa] - test: improve test for crypto padding (Julian Duque) #9906
  • [a771f2181c] - test: use strictEqual in test-cli-eval-event.js (Richard Karmazin) #9964
  • [e1394eeb16] - test: refactor test-tls-friendly-error-message.js (Adrian Estrada) #9967
  • [69077a13bf] - test: refactor test-fs-append-file.js (adelmann) #10110
  • [baa1accdb1] - test: assert.equal -> assert.strictEqual (davidmarkclements) #10065
  • [a34e19532c] - test: refactor test-dgram-exclusive-implicit-bind (Cesar Hernandez) #10066
  • [d87926ae34] - test: assert.equal -> assert.strictEqual (davidmarkclements) #10067
  • [c4902e44ad] - test: polish test-net-better-error-messages-listen (Hitesh Kanwathirtha) #10087
  • [9b9fe8c5ac] - test: change var to const in test-tls-key-mismatch.js (bjdelro) #9897
  • [7697aee7da] - test: use strictEqual in cwd-enoent (JDHarmon) #10077
  • [cdc2909882] - test: refactor test-fs-read-stream-inherit.js (Jonathan Darling) #9894
  • [55b58baed1] - test: use assert.strictEqual in test-crypto-ecb (Daniel Pittman) #9980
  • [e070588a8a] - test: refactor test-child-process-stdio-inherit (Wes Tyler) #9893
  • [22b15f2ab6] - test: change var to const for require and strict equality checks (Harish Tejwani) #9892
  • [2a8d29339d] - test: Update to const and use regex for assertions (Daniel Flores) #9891
  • [295eb5a3b6] - test: swap var->const/let and equal->strictEqual (Peter Masucci) #9888
  • [57f060c495] - test: replace equal with strictEqual in crypto (Julian Duque) #9886
  • [3d35930b2c] - test: replace equal with strictEqual (Julian Duque) #9879
  • [13cc6a005b] - test: var to const/let in test-tls-set-ciphers (rajatk) #9877
  • [f3eb8b1bea] - test: refactor test-tls-timeout-server-2 (Devon Rifkin) #9876
  • [dc76a20474] - test: Updating vars to const and tsl server test (Matt Webb) #9874
  • [63fafb8aca] - test: refactor test-crypto-hash-stream-pipe (Matt Wilson) #10055
  • [fb4b650159] - test: crypto-hash-stream-pipe use strict equal (Mitchell Stoutin) #9935
  • [8f550df252] - test: refactor child-process-spawn-error (Johnny Reading) #9951
  • [b73f6b760f] - test: refactor test-child-process-spawn-error (stokingerl) #9937
  • [371ca03568] - test: refactor test-vm-static-this.js (David Bradford) #9887
  • [3e37673d5c] - test: refactor test-crypto-cipheriv-decipheriv (Aileen) #10018
  • [f76bb2adf8] - test: refactor test for crypto cipher/decipher iv (Julian Duque) #9943
  • [4cc813d8b9] - test: refactor test-cluster-setup-master-argv (Oscar Martinez) #9960
  • [eb0c1cd412] - test: refactor test-cluster-setup-master-argv (Christine Hong) #9993
  • [d2e89272d2] - test: refactor test-fs-append-file-sync (Chris Bystrek) #10056
  • [070370fd0a] - test: refactor test-fs-append-file-sync (Ian White) #9977
  • [87038bb628] - test: refactor test-fs-write-file (adelmann) #10030
  • [1f6f411234] - test: refactor test/parallel/test-fs-write-file.js (Kyle Carter) #9992
  • [4cb52ee827] - test: update to const iin cluster test (Greg Valdez) #10007
  • [f9d79ef597] - test: use assert.strictEqual() cluster test (Bidur Adhikari) #10042
  • [b4ec7d6c50] - test: use const in test-crypto-pbkdf2 (Greg Valdez) #9974
  • [2e889cf056] - test: improve test for crypto pbkdf2 (joyeecheung) #9883
  • [c0a28622ce] - test: var -> let/const, .equal -> .strictEqual (shiya) #9913
  • [d1da89906d] - test: increase coverage for timers (lrlna) #10068
  • [44d9bc8b90] - test: change equal to strictEqual (Kevin Zurawel) #9872
  • [0cab6eb6ca] - test: test for http.request() invalid method error (Ashton Kinslow) #10080
  • [f9386f2846] - test: update net-local-address-port (scalkpdev) #9885
  • [66554c75d5] - test: refactor test-tls-ecdh (Adriana Rios) #9878
  • [a857c9a74c] - test: refactor test-vm-debug-context (makenova) #9875
  • [a6377a96dd] - test: increase coverage for lib/events.js (Safia Abdalla) #9865
  • [eb369f6d48] - test: use strictEqual in test-zlib-truncated (ben_cripps) #9858
  • [3af4ef4642] - test: use strictEqual in test-debugger-client.js (ben_cripps) #9857
  • [5c15a68091] - test: refactor test-debug-args (Rich Trott) #9833
  • [0e36becd39] - test: refactor test-fs-non-number-arguments-throw (Michaël Zasso) #9844
  • [c286312ef5] - test: replace assert.equal with assert.strictEqual (brad-decker) #9842
  • [0ccb2c3992] - test: refactor test-crypto-timing-safe-equal (Michaël Zasso) #9843
  • [0bdd5ca0f7] - test: run cpplint on files in test/cctest (Ben Noordhuis) #9787
  • [956239124d] - test: add toASCII and toUnicode punycode tests (Claudio Rodriguez) #9741
  • [70633f965d] - test: refactor test-util-inspect (Rich Trott) #9804
  • [4c2ad8c89f] - test: refactor test-preload (Rich Trott) #9803
  • [59aec82f88] - test: refine test-http-status-reason-invalid-chars (Rich Trott) #9802
  • [c35bf44f60] - test: refactor test-crypto-binary-default (Michaël Zasso) #9810
  • [4d1e11243b] - test: refactor and fix test-crypto (Michaël Zasso) #9807
  • [74c3283cfa] - test: fix test-buffer-slow (Michaël Zasso) #9809
  • [e2db5c8e7a] - test: refactor test-net-pingpong (Michaël Zasso) #9812
  • [cd10e1ae4a] - test: refactor and fix test-dns (Michaël Zasso) #9811
  • [dcba25082f] - test: refactor and fix test-buffer-bytelength (Michaël Zasso) #9808
  • [d06f010482] - test: cleanup test-dgram-error-message-address (Michael Macherey) #8938
  • [3b193defb2] - test: fix flaky test-cluster-dgram-2 (Rich Trott) #9791
  • [3f1b068644] - test: refactor common.js (Rich Trott) #9732
  • [d31a41149d] - test: fix test-tls-connect-address-family (mkamakura) #9573
  • [d51c856f11] - test: fix test-http-status-reason-invalid-chars (Yosuke Saito) #9572
  • [b763a31af0] - test: refactor test-child-process-exec-error (Rich Trott) #9780
  • [2b7ecb5012] - test: exclude no_interleaved_stdio test for AIX (Michael Dawson) #9772
  • [4971c3bb79] - test: fix flaky test-dgram-empty-packet & friends (Rich Trott) #9724
  • [2fb825750d] - test: fix flaky test-inspector (Rich Trott) #9727
  • [fc13cc6a12] - test: refactor test-tls-hello-parser-failure (Rich Trott) #9715
  • [ea1c4e1212] - test,url: improve escaping in url.parse (joyeecheung) #10083
  • [64854f625b] - tools: add ESLint rule for assert.throws arguments (Michaël Zasso) #10089
  • [2ee3543e04] - tools: remove unneeded escaping in generate.js (Rich Trott) #9781
  • [53d175267c] - tools: Add no useless regex char class rule (Prince J Wesley) #9591
  • [561b1494bc] - tools: allow test.py to use full paths of tests (Francis Gulotta) #9694
  • [5ae549c3aa] - url: fix -Warray-bounds warning (Santiago Gimeno) #9751

New in Node.js 7.2.0 (Nov 26, 2016)

  • Notable changes:
  • crypto: The Decipher methods setAuthTag() and setAAD now return this. (Kirill Fomichev) #9398
  • dns: Implemented {ttl: true} for resolve4() and resolve6(). (Ben Noordhuis) #9296 & #9296
  • libuv: Upgrade to v1.10.1 (cjihrig) #9647: Fixed a potential buffer overflow when writing data to console on Windows 10. (CVE-2016-9551)
  • process: Added a new external property to the data returned by memoryUsage(). (Fedor Indutny) #9587
  • tls: Fixed a memory leak when writes were queued on TLS connection that was destroyed during handshake. (Fedor Indutny) #9626
  • V8 (dep): Upgrade to v5.4.500.43 (Michaël Zasso) #9697
  • v8: The data returned by getHeapStatistics() now includes three new fields: malloced_memory, peak_malloced_memory, and does_zap_garbage. (Gareth Ellis) #8610

New in Node.js 7.0.0 (Oct 25, 2016)

  • NOTABLE CHANGES:
  • Buffer:
  • Passing invalid input to Buffer.byteLength will now throw an error #8946.
  • Calling Buffer without new is now deprecated and will emit a process warning #8169.
  • Passing a negative number to allocUnsafe will now throw an error #7079.
  • Child Process:
  • The fork and execFile methods now have stronger argument validation #7399.
  • Cluster:
  • The worker.suicide method is deprecated and will emit a process warning #3747.
  • Deps:
  • V8 has been updated to 5.4.500.36 #8317, #8852, #9253.
  • NODE_MODULE_VERSION has been updated to 51 #8808.
  • File System:
  • A process warning is emitted if a callback is not passed to async file system methods #7897.
  • Intl:
  • Intl.v8BreakIterator constructor has been deprecated and will emit a process warning #8908.
  • Promises:
  • Unhandled Promise rejections have been deprecated and will emit a process warning #8217.
  • Punycode:
  • The punycode module has been deprecated #7941.
  • URL:
  • An Experimental WHATWG URL Parser has been introduced #7448.
  • COMMITS:
  • [1043f5d08e] - assert: name anonymous functions (Miguel Angel Asencio Hurtado) #9051
  • [06f37471aa] - benchmark: use node v4 syntax in common.js (Andreas Madsen) #9064
  • [8b152fcf47] - benchmark: change the execution order (Andreas Madsen) #9064
  • [a5046bf8ef] - benchmark: fixes csv parsing given no parameters (Andreas Madsen) #9064
  • [af01865d66] - benchmark: add info about required Unix tools (Bartosz Sosnowski) #8788
  • [dfb5f301cf] - benchmark: make v8-bench.js output consistent (Bartosz Sosnowski) #8564
  • [84481f9157] - benchmark: add --expose_internals switch (Bartosz Sosnowski) #8547
  • [d3834a1fa3] - benchmark: ignore significance when using --runs 1 (Andreas Madsen) #8299
  • [b1bbc68fb1] - benchmark: support for multiple http benchmarkers (Bartosz Sosnowski) #8140
  • [474e629ddb] - benchmark: add --format csv option (Adrian Nitu) #7961
  • [4b527a4129] - benchmark: update compare.js exit method (Adrian Nitu) #7961
  • [9e7fd8e810] - benchmark: fix comment typos and code format (Adrian Nitu) #7961
  • [d525e6c92a] - (SEMVER-MAJOR) benchmark: remove broken string-creation.js (Andreas Madsen) #7094
  • [6edef1deb9] - (SEMVER-MAJOR) benchmark: update docs after refactor (Andreas Madsen) #7094
  • [0c0f34e2fe] - (SEMVER-MAJOR) benchmark: add script for creating scatter plot (Andreas Madsen) #7094
  • [855009af7f] - (SEMVER-MAJOR) benchmark: use t-test for comparing node versions (Andreas Madsen) #7094
  • [8bb59fdb12] - (SEMVER-MAJOR) benchmark: missing process.exit after bench.end (Andreas Madsen) #7094
  • [f99471b2ae] - (SEMVER-MAJOR) benchmark: refactor to use process.send (Andreas Madsen) #7094
  • [0f9bfaa7c5] - (SEMVER-MAJOR) benchmark: move cli parts of common.js into run.js (Andreas Madsen) #7094
  • [edbed3f3fd] - (SEMVER-MAJOR) benchmark: move http_simple.js to http directory (Andreas Madsen) #7094
  • [ee2843b4ea] - (SEMVER-MAJOR) benchmark: remove unused files (Andreas Madsen) #7094
  • [60042ca70e] - buffer: fix range checks for slice() (Trevor Norris) #9174
  • [14d1a8a631] - buffer: coerce slice parameters consistently (Sakthipriyan Vairamani (thefourtheye)) #9101
  • [96b501d338] - (SEMVER-MAJOR) buffer: make byteLength throw on invalid input (Brian White) #8946
  • [c21458a15d] - (SEMVER-MINOR) buffer: expose underlying buffer object always (Sakthipriyan Vairamani) #8311
  • [2c9a86f01e] - buffer: directly use ArrayBuffer as the pool (Anna Henningsen) #8302
  • [f2fe5583c4] - (SEMVER-MAJOR) buffer: runtime deprecation of calling Buffer without new (Nikolai Vavilov) #8169
  • [9cee8b1b62] - (SEMVER-MAJOR) buffer: alias toLocaleString to toString (James M Snell) #8148
  • [8f90dcc1b8] - (SEMVER-MAJOR) buffer: throw on negative .allocUnsafe() argument (Anna Henningsen) #7079
  • [bd23290657] - buffer: remove obsolete and confusing comment (Nikolai Vavilov) #7264
  • [5292a1358f] - buffer: improve creation performance. (Ingvar Stepanyan) #6893
  • [c5f5bcb331] - build: fix config.gypi target (Daniel Bevenius) #9053
  • [b311906abf] - (SEMVER-MAJOR) build: do not clean V8 gtest directory (Michaël Zasso) #8317
  • [94f68b5b97] - (SEMVER-MAJOR) build: fix mkpeephole configuration (Ali Ijaz Sheikh) #8317
  • [8481ea1ca4] - (SEMVER-MAJOR) build: use libc++ on OSX (Ali Ijaz Sheikh) #8317
  • [197d18795e] - (SEMVER-MAJOR) build: define icu_use_data_file_flag (Ali Ijaz Sheikh) #8317
  • [eab418f7f9] - (SEMVER-MAJOR) build: update V8 gypfile paths (Michaël Zasso) #8317
  • [88e862ba82] - build: windows sharedlib support (Stefan Budeanu) #7487
  • [6eece7773e] - child_process: update outdated comment (Tanuja-Sawant)
  • [0548e5d12a] - (SEMVER-MAJOR) child_process: add fork/execFile arg validation (Rich Trott) #7399
  • [b90f3da9de] - (SEMVER-MAJOR) child_process, win: fix shell spawn with AutoRun (Bartosz Sosnowski) #8063
  • [f44b18f010] - (SEMVER-MAJOR) cluster: deprecate worker.suicide (Evan Lucas) #3747
  • [bd7d7a7e17] - console: name anonymous functions (Tyler Brazier) #9047
  • [c60d43b6d9] - crypto: fix faulty logic in iv size check (Ben Noordhuis) #9032
  • [72f1c41fb6] - crypto: naming anonymous functions (solebox) #8993
  • [89643b645e] - crypto: use SSL_get_SSL_CTX. (Adam Langley) #8995
  • [f4aa2c2c93] - (SEMVER-MAJOR) crypto: remove POINT_CONVERSION_HYBRID from documentation. (Adam Langley) #4956
  • [6bbdd668bd] - deps: update V8 to 5.4.500.36 (Michaël Zasso) #9253
  • [5e3a480ad5] - deps: revert default gtest reporter change (Brian White) #8948
  • [c0a3ac2e94] - deps: cherry-pick missing v8 floating patch (Michael Dawson) #8907
  • [bef4b3bfda] - deps: update V8 to 5.4.500.31 (Michaël Zasso) #8852
  • [a88bb3a758] - (SEMVER-MAJOR) deps: cherry-pick workaround for clang-3.4 ICE (Michaël Zasso) #8317
  • [90efff6000] - (SEMVER-MAJOR) deps: update V8 to 5.4.500.27 (Michaël Zasso) #8317
  • [245ac302f5] - (SEMVER-MINOR) deps: update V8 to 5.1.281.75 (Ben Noordhuis) #7615
  • [dc17432208] - deps: fix V8 5.1 tests (Michaël Zasso) #7488
  • [2cc2951796] - (SEMVER-MINOR) deps: update V8 to 5.1.281.69 (Michaël Zasso) #7016
  • [e9b6fbbf17] - (SEMVER-MAJOR) dgram: prefer strict equality, type validation (Claudio Rodriguez) #8011
  • [260f41f2cc] - dns: name anonymous functions (Miguel Angel Asencio Hurtado) #9052
  • [3238f15234] - doc: change os x tag to macos (Gibson Fahnestock) #9009
  • [1794456ebc] - doc: change solaris tag to smartos (Gibson Fahnestock) #9009
  • [98ca07bfe0] - doc: add teams for platform-specific issues (Gibson Fahnestock) #9009
  • [e4e60b45e1] - doc: add s390 and ppc architecture labels (Gibson Fahnestock) #9009
  • [3b580145c4] - doc: fixes formatting in process (Rod Machen) #9235
  • [3e2bafe053] - doc: improve header styling for API docs (Jeremiah Senkpiel) #8811
  • [0a307f90cd] - doc: clarify fs.link and fs.linkSync arguments (Kyle E. Mitchell) #9145
  • [38cf1d4739] - doc: remove confusing reference in governance doc (Rich Trott) #9073
  • [5bf215d6b9] - doc: suggest nodejs/help for general support (Myles Borins) #9128
  • [5e26980937] - doc: fix header level for crypto.constants (Evan Lucas) #9187
  • [89b920fead] - doc: add ctc-review label information (Rich Trott) #9072
  • [e6d1d54230] - doc: fix typo in zlib.md (Parambir Singh) #9123
  • [3b63b64992] - doc: further improve child_process doc types (Indrek Ardel) #9095
  • [f56bdecde1] - doc: edit Stream api grammar (Benji Marinacci) #9100
  • [95d45d750a] - doc: improved example for http.get (marzelin) #9065
  • [0022bfe42e] - doc: update reference to list hash algorithms in crypto.md (scott stern) #9043
  • [b0da43104f] - doc: specify that errno is a number, not a string (John Vilk) #9007
  • [c258dc89d9] - doc: highlight deprecated API in ToC (Ilya Frolov) #7189
  • [d529a46416] - doc: explains why Reviewed-By is added in PRs (jessicaquynh) #9044
  • [482995e7cc] - doc: explain why GitHub merge button is not used (jessicaquynh) #9044
  • [3735f22480] - doc: fix typo (Nikolai Vavilov) #9089
  • [839f1f02ed] - doc: fix broken links in changelogs (Evan Lucas) #8122
  • [8f6589a0ba] - doc: revise http documentation (Timothy Gu) #8486
  • [f3f5a89a10] - doc: *.md formatting fixes in the benchmark dir (Сковорода Никита Андреевич) #7727
  • [9744928cf5] - doc: fix layout problem in v4 changelog (Myles Borins) #7394
  • [d976d66cfc] - doc: clarify fs.access works on directories too. (Lance Ball) #7113
  • [8c1d5e58d4] - doc: improve rendering of v4.4.5 changelog entry (Myles Borins) #6958
  • [2bceda6493] - doc: get rid of sneaky hard tabs in CHANGELOG (Myles Borins) #6608
  • [29e49fc286] - (SEMVER-MAJOR) doc, punycode: soft-deprecation of the punycode module (James M Snell) #7941
  • [3b8ec68a3a] - (SEMVER-MAJOR) domain: add message for dispose deprecation (Brian White) #7053
  • [983775d457] - (SEMVER-MAJOR) events: make memory leak warning name more verbose (Anna Henningsen) #8341
  • [b7a8a691b4] - (SEMVER-MAJOR) events: unwrap #once listeners in #listeners (Owen Smith) #6881
  • [108c1fbbe2] - fs: clarify fs.link and fs.linkSync arguments (Kyle E. Mitchell) #9145
  • [7f7d1d385d] - (SEMVER-MAJOR) fs: move stringToFlags() to lib/internal (Ben Noordhuis) #7162
  • [fe9f5bcd75] - fs: don't alter user provided options object (Sakthipriyan Vairamani (thefourtheye)) #7831
  • [169f485289] - (SEMVER-MAJOR) fs: refactor "options" processing as a function (Sakthipriyan Vairamani) #7165
  • [21124ba23a] - (SEMVER-MAJOR) fs: do not emit 'stop' watch event synchronously (Claudio Rodriguez) #8524
  • [b50557b51b] - fs: use process.emitWarning to print deprecation warning (James M Snell) #8166
  • [dc7277909b] - fs: move SyncWriteStream to internal/fs (James M Snell) #6749
  • [49ef3ae90a] - (SEMVER-MAJOR) Revert "fs: add a temporary fix for re-evaluation support" (James M Snell) #6413
  • [f8f283b8f3] - (SEMVER-MAJOR) fs: warn if no callback is passed to async calls (Sakthipriyan Vairamani) #7897
  • [6f27bedfba] - governance: expand use of CTC issue tracker (Rich Trott) #8945
  • [179150091f] - http: name anonymous functions in http (maasencioh) #9055
  • [73a8d3b0da] - http: name anonymous functions in _http_server (maasencioh) #9055
  • [ffa5c9ea30] - http: name anonymous functions in _http_outgoing (maasencioh) #9055
  • [fa035ada90] - http: name anonymous functions in _http_incoming (maasencioh) #9055
  • [ec17e76656] - http: name anonymous functions in _http_client (maasencioh) #9055
  • [9099a43073] - http: name anonymous functions (maasencioh) #9054
  • [cde2ca96e4] - http: reject control characters in http.request() (Ben Noordhuis) #8923
  • [2cc7fa5e7d] - (SEMVER-MAJOR) http: remove deprecated Client interface (Brian White) #8104
  • [31bef6b704] - (SEMVER-MAJOR) http: correct error message for invalid trailer (Bryan English) #6308
  • [a54ec7f49c] - inspector: no URLs when the debugger is connected (Eugene Ostroukhov) #8919
  • [626a07df5b] - inspector: restore 9229 as a default port (Eugene Ostroukhov) #8550
  • [9f1f7e2a34] - (SEMVER-MAJOR) inspector: listen on process.debugPort (cjihrig) #8386
  • [7b73f55902] - internal/util: remove printDeprecationWarning (James M Snell) #8166
  • [9ad3082b1c] - (SEMVER-MAJOR) intl: add deprecation warning for v8BreakIterator (Michaël Zasso) #8908
  • [15eaba98a1] - lib: use emitWarning instead of printDeprecationMessage (James M Snell) #8166
  • [3a3996315c] - lib,src: reset zero fill flag on exception (Ben Noordhuis) #7093
  • [27e84ddd4e] - lib,src: clean up ArrayBufferAllocator (Ben Noordhuis) #7082
  • [334ef4f19d] - lib,src: drop dependency on v8::Private::ForApi() (Ben Noordhuis) #7082
  • [d582193613] - (SEMVER-MAJOR) module: Remove deprecated function requireRepl. (Adri Van Houdt) #8575
  • [6f1cae70eb] - net: fix ambiguity in EOF handling (Fedor Indutny) #9066
  • [fd6af98c2d] - (SEMVER-MAJOR) net: refactor Server.prototype.listen (Jan Schär) #4039
  • [5e5ec2cd1e] - (SEMVER-MAJOR) os: deprecate tmpDir() in favour of tmpdir() (Jeremiah Senkpiel) #6739
  • [aedb72e03b] - process: improve performance of nextTick (Evan Lucas) #8932
  • [bf91035364] - process: fix handling of process.noDeprecation in emitWarning (James M Snell) #8166
  • [62b544290a] - (SEMVER-MAJOR) process: remove deprecated process.EventEmitter (cjihrig) #6862
  • [07dbf7313d] - (SEMVER-MAJOR) promise: hard deprecation for unhandled promise rejection (James M Snell) #8217
  • [ecf474ceba] - (SEMVER-MAJOR) promise: warn on unhandled rejections (Benjamin Gruenbaum) #8217
  • [1a9e247c79] - (SEMVER-MAJOR) readline: show completions only after 2nd TAB (Anna Henningsen) #7754
  • [8a87b29034] - (SEMVER-MAJOR) readline: remove deprecated methods (cjihrig) #6423
  • [488d28d391] - (SEMVER-MAJOR) repl: deprecate unused function convertToContext (Prince J Wesley) #7829
  • [b2be04ac85] - src: refactor contextify (Franziska Hinkelmann) #8909
  • [e175188a94] - src: fix typo rval to value (Miguel Angel Asencio Hurtado) #9023
  • [1fda657cac] - (SEMVER-MAJOR) src: update module version mismatch error message (James M Snell) #8391
  • [96933df2ff] - (SEMVER-MAJOR) src: update NODE_MODULE_VERSION to 51 (Myles Borins) #8808
  • [b032f1cfc3] - (SEMVER-MAJOR) src: no longer need to use std::tr1:: (Michaël Zasso) #8317
  • [ebad04326d] - src: notify V8 for low memory when alloc fails (Anna Henningsen) #8482
  • [aed9792ff4] - src: provide allocation + nullptr check shortcuts (Anna Henningsen) #8482
  • [d2470d4dff] - src: pass desired return type to allocators (Anna Henningsen) #8482
  • [de946013c2] - src: add Malloc() size param + overflow detection (Anna Henningsen) #8482
  • [5bf94357a9] - src: remove unused StringValue macro parameters (Daniel Bevenius) #7905
  • [cc00be6ace] - src: fix -Wunused-result warning (Santiago Gimeno) #8450
  • [8e7cbe2546] - (SEMVER-MAJOR) src: make debugger listen on 127.0.0.1 by default (Ben Noordhuis) #8106
  • [781713d5ef] - src: remove unused isolate member (Ben Noordhuis) #7334
  • [de4161d367] - src: remove unused internals from node.cc (Anna Henningsen) #7117
  • [ac0665c908] - src: fix ArrayBuffer size for zero fill flag (Anna Henningsen) #7142
  • [aac79dfd78] - src: use stack-allocated Environment instances (Ben Noordhuis) #7090
  • [58cec4e85b] - src: move env init logic into Environment class (Ben Noordhuis) #7090
  • [c3cd453cba] - src: make IsolateData creation explicit (Ben Noordhuis) #7082
  • [0301ce9f55] - src: move IsolateData out of Environment (Ben Noordhuis) #7082
  • [a3c5567eb4] - (SEMVER-MAJOR) src,win: use correct exit code in old versions (yorkie) #8204
  • [2f05af4c06] - (SEMVER-MAJOR) stream: improve stream error messages (Italo A. Casas) #8801
  • [9983af0347] - (SEMVER-MAJOR) stream: improve unimplemented _write() error (ratikesh9) #7671
  • [0cd0118334] - (SEMVER-MAJOR) stream: 'data' argument on callback of Transform._flush() (Jesús Leganés Combarro "piranna) #3708
  • [a717be87a3] - test: fix flaky test-timers-blocking-callback (Rich Trott) #9198
  • [5ba02bf5db] - test: remove arbitrary timer (Rich Trott) #9197
  • [1518cc1e70] - test: remove duplicate required module (Rich Trott) #9169
  • [d62e7bd1f9] - test: add regression test for instanceof (Franziska Hinkelmann) #9178
  • [bb1e6064c1] - test: rename target to exports for consistency (Daniel Bevenius) #9135
  • [8788d009f8] - test: checking if error constructor is assert.AssertionError (larissayvette) #9119
  • [68157bd8b9] - test: remove unneeded escaping in template strings (Rich Trott) #9112
  • [0591362887] - test: remove unused common.libDir (Rich Trott) #9124
  • [0f2f4d2425] - test: fix flaky test-child-process-fork-dgram (Rich Trott) #9098
  • [47863a5837] - test: use npm sandbox in test-npm-install (João Reis) #9079
  • [67e2b92e21] - test: enable node-module-version/test.js with debug (Daniel Bevenius) #9093
  • [d5bdd65c6a] - test: move module out of fixture directory (Rich Trott) #9022
  • [0ad0e6addb] - test: fix issues reported by Coverity (Eugene Ostroukhov) #8870
  • [aac93a5c64] - test: refactor test-file-* (Jenna Vuong) #8999
  • [1bb1b3abe4] - test: fixes that do not affect performance (larissayvette) #9011
  • [96faba6ad8] - test: add cluster inspector debug port test (cjihrig) #8958
  • [7926886bf3] - test: fix test-debug-signal-cluster.js flakyness (Julien Gilli) #8568
  • [99cfd53097] - (SEMVER-MAJOR) test: test execFile/fork arg validation (Chuck Langford) #7399
  • [15cd45c6fc] - test: fix tests for non-crypto builds (Anna Henningsen) #7056
  • [fea3070ec4] - test: add buffer testcase for resetting kZeroFill (Сковорода Никита Андреевич) #7093
  • [2cdd5ccef9] - test,lib,benchmark: match function names (Rich Trott) #9113
  • [827660e03e] - tools: enable ES2016 syntax support in ESLint (Michaël Zasso) #9218
  • [a83354a567] - tools: replace custom lint rule for getter/setter (Rich Trott) #9194
  • [3ab8be07cb] - tools: fix release script on macOS 10.12 (Evan Lucas) #8824
  • [72fa9f5663] - tools: update ESLint to v3.8.0 (Rich Trott) #9112
  • [8ac29bd7c1] - tools: avoid let in for loops (jessicaquynh) #9049
  • [1a93e03a0e] - (SEMVER-MAJOR) tools: do not disable ICU's transliteration (Michaël Zasso) #8317
  • [6a3dbdacd6] - (SEMVER-MAJOR) udp: remove ancient check (Saúl Ibarra Corretgé) #8088
  • [1afd7c166e] - url: fix building when using --without-intl (James M Snell) #9041
  • [a8ece149e2] - (SEMVER-MINOR) url: adding WHATWG URL support (James M Snell) #7448
  • [336b027411] - (SEMVER-MAJOR) url: return valid file: urls fom url.format() (Rich Trott) #7234
  • [197a465280] - (SEMVER-MAJOR) zlib: move constants into zlib.constants (James M Snell) #7203

New in Node.js 6.9.1 (Oct 21, 2016)

  • Notable changes:
  • streams: Fix a regression introduced in v6.8.0 in readable stream that caused unpipe to remove the wrong stream (Anna Henningsen)
  • Commits:
  • [2c3bbb576c] - doc: fix changelog index for v6.9.0 (Rod Vagg) #9168
  • [f4b766f5b7] - streams: fix regression in unpipe() (Anna Henningsen) #9171
  • [6072326009] - test: add regression test for unpipe() (Niels Nielsen) #9171
  • [9f248a4d83] - tools: check tag is on github before release (Rod Vagg) #9142
  • [c74d3a700a] - tools: make detached SHASUM .sig file for releases (Rod Vagg) #9071
  • [955bbf876f] - tools: explicitly set digest algo for SHASUM to 256 (Rod Vagg) #9071

New in Node.js 6.9.0 (Oct 18, 2016)

  • Notable changes:
  • crypto: Don't automatically attempt to load an OpenSSL configuration file, from the OPENSSL_CONF environment variable or from the default location for the current platform. Always triggering a configuration file load attempt may allow an attacker to load compromised OpenSSL configuration into a Node.js process if they are able to place a file in a default location. (Fedor Indutny, Rod Vagg)
  • node: Introduce the process.release.lts property, set to "Boron". This value is "Argon" for v4 LTS releases and undefined for all other releases. (Rod Vagg)
  • V8: Backport fix for CVE-2016-5172, an arbitrary memory read. The parser in V8 mishandled scopes, potentially allowing an attacker to obtain sensitive information from arbitrary memory locations via crafted JavaScript code. This vulnerability would require an attacker to be able to execute arbitrary JavaScript code in a Node.js process. (Rod Vagg)
  • v8_inspector: Generate a UUID for each execution of the inspector. This provides additional security to prevent unauthorized clients from connecting to the Node.js process via the v8_inspector port when running with --inspect. Since the debugging protocol allows extensive access to the internals of a running process, and the execution of arbitrary code, it is important to limit connections to authorized tools only. Vulnerability originally reported by Jann Horn. (Eugene Ostroukhov)
  • Commits:
  • [99e4eee8ef] - build: do not define ZLIB_CONST (Bradley T. Hughes) #9122
  • [cae9eb35f0] - crypto: fix openssl.cnf FIPS handling & testing (Rod Vagg) nodejs/node-private#82
  • [c947d448da] - deps: cherry-pick 0e14baf712 from V8 upstream (Rod Vagg) nodejs/node-private#80
  • [647afe9d9a] - inspector: generate UUID for debug targets (Eugene Ostroukhov) nodejs/node-private#79
  • [1ea0358a91] - node: --openssl-config cli argument (Fedor Indutny) nodejs/node-private#78
  • [455272ad33] - (SEMVER-MINOR) src: add process.release.lts property (Rod Vagg) #3212
  • [9ace073949] - win,build: try multiple timeservers when signing (Rod Vagg) #9155

New in Node.js 6.8.1 (Oct 15, 2016)

  • Notable changes:
  • build: Fix building with shared zlib. (Bradley T. Hughes) #9077
  • stream: Fix regression in stream.Writable subclass instanceof checks. (Anna Henningsen) #9088
  • timers: Fix regression where immediates that are cleared in the callback would never be called. (Brian White) #9086
  • Commits:
  • [8d2206fe41] - build: add -DZLIB_CONST when building with --shared-zlib (Bradley T. Hughes) #9077
  • [8c4fab0a28] - stream: fix Writable subclass instanceof checks (Anna Henningsen) #9088
  • [7171bd6311] - timers: fix regression with clearImmediate() (Brian White) #9086

New in Node.js 6.8.0 (Oct 13, 2016)

  • NOTABLE CHANGES
  • http: http.request() now accepts a timeout option. (Rene Weber) #8101
  • module: The module loader now maintains its own realpath cache. (Anna Henningsen) #8100
  • npm: Upgraded to 3.10.8 (Kat Marchán) #8706
  • stream: Duplex streams now show proper instanceof Stream.Writable. (Anna Henningsen) #8834
  • timers: Improved setTimeout/Interval performance by up to 22%. (Brian White) #8661
  • fs:
  • SyncWriteStream now inherits from Stream.Writable. (Anna Henningsen) #8830
  • Practically, this means that when stdio is piped to a file, stdout and stderr will still be Writable streams.
  • fs.existsSync() has been undeprecated. fs.exists() remains deprecated. (Dan Fabulich) #8364
  • COMMITS:
  • [1a6e8983a6] - benchmark: add benchmarks for Buffer.from() (Anna Henningsen) #8738
  • [882f8b3d6c] - benchmark: use 'yes' instead of echo in a loop (Bartosz Sosnowski) #8721
  • [999f727bb5] - benchmark: add benchmark for destructuring object (Fangdun Cai (Fundon)) #8680
  • [5c10898e31] - buffer: fix check for .buffer property (Ojas Shirekar) #8739
  • [b9c2270502] - buffer: fix performance regression (Michaël Zasso) #8754
  • [3fcdf4e80a] - buffer: remove unnecessary argument check (Michaël Zasso) #8552
  • [ee319b739c] - buffer: add isSharedArrayBuffer checks (Ojas Shirekar) #8510
  • [38fdbcd7f7] - build: make addons build dep. on node_version.h (Anna Henningsen) #8861
  • [f057d193ec] - build: run cctests as part of test-ci target (Ben Noordhuis) #8034
  • [a202be6690] - build: don't build icu with -fno-rtti (Ben Noordhuis) #8886
  • [296254f141] - build: remove VS 2013 switch from vcbuild.bat (Ben Noordhuis) #8067
  • [a425c4da98] - build: run npm install for doc builds in tarball (Anna Henningsen) #8413
  • [3d3bce6ca1] - cluster: remove unused backlog argument (Brian White) #8877
  • [23a851dfe6] - deps: avoid single-byte buffer overwrite in ares_create_query (Daniel Stenberg) #8849
  • [46af58898c] - deps: make gtest output tap (Ben Noordhuis) #8034
  • [9d41e8913f] - deps: bump V8 patch to 84 (Myles Borins) #8851
  • [4d41bd9c68] - deps: hotfix upgrade npm tap version for tests (Kat Marchán) #8706
  • [9ecfc32fde] - deps: upgrade npm to 3.10.8 (Kat Marchán) #8706
  • [c4d9b54f75] - dgram: use Buffer.alloc(0) for zero-size buffers (Сковорода Никита Андреевич) #8751
  • [e1a774d314] - dns: remove internal variable from makeAsync (yorkie) #8800
  • [787558935c] - dns: tweak regex for IPv6 addresses (Luigi Pinca) #8665
  • [4e8c03707a] - dns: handle array holes in setServers() (cjihrig) #8567
  • [5e6be7b4c2] - doc: fix typo in email address in README (Rich Trott) #8941
  • [72ed6aa205] - doc: make node(1) more consistent with tradition (Alex Jordan) #8902
  • [2fad4d29b0] - doc: add example for file existence with fs.stat (Christopn Noelke) #8585
  • [0bdc363205] - doc: add added: information for globals (Luigi Pinca) #8901
  • [bc2dd3e467] - doc: change ./node to node in debugger.md (AnnaMag) #8943
  • [b212b9b44b] - doc: add CTC meeting minutes 2016-09-07 (Josh Gavant) #8499
  • [c31a3178e8] - doc: fixup link in fs.md (ss22ever) #8940
  • [e7039cdbb8] - doc: fix markdown formatting in url.md (Bryan Bess) #8933
  • [ff9a84d324] - doc: update punctuation in README.md (Abner Chou) #8892
  • [c36c8dc3cc] - doc: add documentation for test common module (Paul Grock) #8840
  • [a604a82186] - doc: recommend using port 0 instead of common.PORT (Niklas Ingholt) #8694
  • [77fc5caceb] - doc: add CTC meeting minutes 2016-09-14 (Josh Gavant) #8726
  • [505b88d3c3] - doc: add CTC meeting minutes 2016-09-21 (Josh Gavant) #8727
  • [3e8c8f90bc] - doc: fix typo in repl doc (Franziska Hinkelmann) #8826
  • [a00ae75805] - doc: improve documentation for commit subject line (Luigi Pinca) #8546
  • [aaebbf9708] - doc: encourage 2FA before onboarding (Rich Trott) #8776
  • [f07054dd49] - doc: add optional step to onboarding doc (Rich Trott) #8774
  • [dceaa0ba4a] - doc: remove failing workaround in BUILDING.md (Christopher Fujino) #8763
  • [0522aa0dc0] - doc: add commit formats for release blog posts (fen) #8631
  • [98e425eed4] - doc: fix title level at tls.md (yorkie) #8782
  • [e7c0f34f20] - doc: add added: info for crypto.timingSafeEqual() (Marc-Aurèle DARCHE) #8796
  • [4fb051426c] - doc: enable no-file-name-articles remark-lint rule (Сковорода Никита Андреевич) #8713
  • [4699e3022b] - doc: enable first-heading-level remark-lint rule (Сковорода Никита Андреевич) #8716
  • [3aec6a68bf] - doc: improve child_process doc types (yorkie) #8741
  • [6fab334a73] - doc: fix example in stream doc (Luigi Pinca) #8378
  • [f13089b834] - doc: update BUILDING.md (rainabba) #8704
  • [5c014bb532] - doc: standardize on make -j8 (Rich Trott) #8678
  • [98ca442cae] - doc: add CTC meeting minutes 2016-08-24 (Josh Gavant) #8423
  • [28264f8da4] - doc: add eugeneo to collaborators (Eugene Ostroukhov) #8696
  • [85ee89edd6] - doc: add ak239 to collaborators (Aleksey Kozyatinskiy) #8676
  • [5dd6229aeb] - doc: clarify fs.utimes() arguments (Danny Guo) #8651
  • [42386d7229] - doc: add link to help repo in README (Rich Trott) #8570
  • [2f6101ed10] - doc: fix broken link in timers doc (Ltrlg) #8562
  • [e16f95db4d] - doc: update exercise portion of onboarding doc (Rich Trott) #8559
  • [a91050c57b] - doc: fix typo in path doc (Kalman Hazins) #8527
  • [64b79eba42] - doc: remove extra comma in cluster docs (Teddy Katz) #8557
  • [2d23227060] - doc: fix a formatting error in buffer.md (Сковорода Никита Андреевич) #8553
  • [eebecef9a4] - doc: link onboarding to contributing guide (Rich Trott) #8529
  • [8a1f74338c] - doc: remove duplicate content from readline doc (Italo A. Casas) #8497
  • [71dd4c193a] - doc: capitalize arguments' type names in url doc (yorkie) #8489
  • [8e28e03fb9] - doc: add gibfahn to collaborators (Gibson Fahnestock) #8533
  • [c96618f241] - doc: add imyller to collaborators (Ilkka Myller) #8530
  • [929d9bb222] - doc: standardize rest parameters (Timothy Gu) #8485
  • [125df45b80] - doc: add not-an-aardvark to collaborators (not-an-aardvark) #8525
  • [3eb93e1fe8] - doc: add example for running with v8-inspector (Franziska Hinkelmann) #8845
  • [d6dcbc212b] - doc,tool: add tls.TLSSocket to typeMap (yorkie) #8742
  • [d69570d5fc] - doc,tool: add ref to Integer (yorkie) #8740
  • [688abac7b2] - (SEMVER-MINOR) fs: make SyncWriteStream inherit from Writable (Anna Henningsen) #8830
  • [07d97f4f3e] - fs: fix handling of uv_stat_t fields (Anna Henningsen) #8515
  • [14e2d67776] - (SEMVER-MINOR) fs,doc: undeprecate existsSync (Dan Fabulich) #8364
  • [980c1edf63] - (SEMVER-MINOR) fs,module: add module-loader-only realpath cache (Anna Henningsen) #8100
  • [ee7af01b93] - (SEMVER-MINOR) http: socket connection timeout for http request (Rene Weber) #8101
  • [7a59449478] - https: fix memory leak with https.request() (Ilkka Myller) #8647
  • [573d8bcee4] - inspector: fix minor issues (Brian White) #8890
  • [f4f9cf779f] - inspector: build file cleanup (Eugene Ostroukhov) #8753
  • [e80ae1350c] - inspector: address race conditions (Eugene Ostroukhov) #8672
  • [f817875235] - inspector: wait for both sides closing (Eugene Ostroukhov) #8505
  • [4ed46b47a1] - inspector: report default context (Eugene Ostroukhov) #8502
  • [b05ce842ce] - inspector: zero out structure members (Eugene Ostroukhov) #8536
  • [0b90ff7a8d] - inspector: introduce a smoke test (Eugene Ostroukhov) #8429
  • [3222b66abe] - inspector: fix tests on Windows (Eugene Ostroukhov) #8528
  • [a1925a7955] - lib: minor improvements to bootstrap_node.js (Rémy MEJA) #8906
  • [313a45da24] - lib: changed var to const in linkedlist (Adri Van Houdt) #8609
  • [6cd5588a67] - lib: fix TypeError in v8-polyfill (Wyatt Preul) #8863
  • [ba361a2aa0] - lib: remove let from for loops (Myles Borins) #8873
  • [beb288b639] - lib: changed var to const in internal/v8_polyfill (Adri Van Houdt) #8615
  • [858a7bbacf] - lib: changed var to const in bootstrap_node.js (Adri Van Houdt) #8588
  • [31232adebb] - module: fix comment from "read-only" to "shallow" (Bryan English) #8887
  • [0eaf3ff53c] - path: fallback to process cwd when resolving drive cwd (Jason Ginchereau) #8541
  • [d72a7b3d0c] - path: fix path.relative UNC path result (Jason Ginchereau) #8523
  • [e0c10f63b0] - process: changed var to const in internal/process.js (Adri Van Houdt) #8614
  • [37ce6da59a] - process: changed var to const in internal/v8_prof_processor (Adri Van Houdt) #8619
  • [e8f1cf1bd8] - process: changed var to const in internal/process/promises (Adri Van Houdt) #8620
  • [4c194ee7bd] - readline: fix concievably typo in readline.js (Miguel Angel Asencio Hurtado) #8953
  • [8c91a9b848] - repl: improve .help message (Roman Reiss) #8519
  • [443bedeb68] - src: remove out-of-date TODO comment (Daniel Bevenius) #9000
  • [59aa103df2] - src: fix typo in #endif comment (Juan Andres Andrango) #8989
  • [8a2ba6fe83] - src: fix build for older clang (Zach Bjornson) #7645
  • [d8df78c573] - src: remove unused function declaration (Brian White) #8878
  • [a6b9ffbf5b] - src: refactor reading of options in contextify (Franziska Hinkelmann) #8850
  • [324c8b5f7e] - src: fixes misplaced comment (Madhav Gharmalkar) #8860
  • [86b9db601d] - src: add missing length argument to send comment (Daniel Bevenius) #8816
  • [aa11205f71] - src: rename CHECK_NOT_OOB() macro (Ben Noordhuis) #8784
  • [8be818eb07] - src: fix minor typo in comments (Daniel Bevenius) #8736
  • [41ad6e3965] - src: rename handle_ to handle in HandleWrap (Daniel Bevenius) #8712
  • [9205edc35c] - src: don't abort when c-ares initialization fails (Ben Noordhuis) #8710
  • [6ddfe89fdf] - src: remove VS 2013 compatibility hacks (Ben Noordhuis) #8067
  • [a9491f1604] - src: make ReqWrap req_ member private (Daniel Bevenius) #8532
  • [5ebce30468] - src: remove unneeded ABORT after CHECK (yorkie) #8593
  • [2dbef79ca7] - src: handle thrown errors in CopyProperties() (cjihrig) #8649
  • [52f0f64e79] - src: use MaybeStackBuffer on DoSend/Writev (Paul Kiddie) #8626
  • [a62999ac70] - src: add /json/protocol endpoint to inspector (Ben Noordhuis) #7491
  • [4e7c67cf55] - (SEMVER-MINOR) stream: proper instanceof for Writables (Anna Henningsen) #8834
  • [56951b4367] - test: add coverage for spawnSync() killSignal (cjihrig) #8960
  • [05f74120e8] - test: refactor assert in internet test-dns.js (Junshu Okamoto) #8980
  • [1a4207d91d] - test: various test improvements (James M Snell) #8468
  • [c4f0bb237a] - test: expand test coverage for url.js (Junshu Okamoto) #8976
  • [4e9b6a0022] - test: fix test-child-process-fork-regr-gh-2847 (Santiago Gimeno) #8954
  • [b579fcab45] - test: remove FIXME pummel/test-tls-securepair-client (Alfred Cepeda) #8757
  • [9b0733fd49] - test: run faster and cleanup after run (Wyatt Preul) #8848
  • [df0211d95e] - test: refactor test-net-server-max-connections (Rich Trott) #8931
  • [147a06d4a5] - test: enable addons test to pass with debug build (Daniel Bevenius) #8836
  • [636026a22d] - test: remove blank lines at end of files (Rich Trott) #8920
  • [93c48743f1] - test: refactor test-file-write-stream (Sudaraka Wijesinghe) #8894
  • [516486526f] - test: cleanup/update test-dgram-empty-packet.js (Michael Macherey) #8896
  • [2f0f596e07] - test: fix child-process-uid-gid on Windows (Michaël Zasso) #8924
  • [52d0424c56] - test: mark test-tick-processor-unknown flaky (Rich Trott) #8900
  • [424c126742] - test: fix -Wformat warnings in inspector cctest (Ben Noordhuis) #8034
  • [76f80a3f74] - test: fix running child-process-uid-gid as root (Wyatt Preul) #8864
  • [11ba56c83d] - test: expand test coverage for url.js (Junshu Okamoto) #8859
  • [c9450cef1b] - test: clean up test-timers-immediate (Rich Trott) #8857
  • [17922de555] - test: add and assert readable/writable arguments (Daniel Bevenius) #8815
  • [bc710ef461] - test: cleanup/update test-os.js (Mike Woods) #8761
  • [fc42825530] - test: modernize syntax, add strict checks (Lydia Kats) #8841
  • [72de8594fe] - test: use common.skip for tap skip output (Lydia Kats) #8841
  • [4fa0fc59cd] - test: stream writable ended state (Italo A. Casas) #8778
  • [6dbda6aa86] - test: clean up test-buffer-badhex (Jeremiah Senkpiel) #7773
  • [af092f1fc0] - test: cleanup test-net-server-address.js (Akito Ito) #8586
  • [af84528d41] - test: replace indexOf, assert.equal, add mustCall() (Richard Hong) #8766
  • [2e95b0e24b] - test: fixed FIXME in test-repl-persistent-history (Alfred Cepeda) #8756
  • [76fd7db521] - test: update var to const, use arrow functions (Matt Lang) #8595
  • [5bd13a3d6c] - test: cleanup parallel/test-fs-readfile-unlink.js (nohmapp) #8764
  • [f523b82c7b] - test: cleanup parallel/test-file-write-stream2.js (Jenna Vuong) #8770
  • [9252e7a52d] - test: cleanup parallel/test-fs-realpath.js (mpmckenna8) #8769
  • [6ba8aa963e] - test: changed var to const, added strict equal checks (Lydia Katsamberis) #8762
  • [81ed50c5da] - test: add assertions to zero length buffer test (Lauren Spiegel) #8729
  • [b2aea505df] - test: use Buffer.alloc (Eugene Ostroukhov) #8748
  • [5e4d8984b4] - test: accept expected AIX result test-stdio-closed (Rich Trott) #8755
  • [906283837f] - test: skip cpu-intensive tests on slow hosts (Rich Trott) #8652
  • [aa5a16a8ae] - test: add expectWarning to common (Michaël Zasso) #8662
  • [b46d8cdcde] - test: cleanup vars to const and '==' to '===' (oogz) #8705
  • [5540e3d488] - test: fix test-cluster-worker-init.js flakyness (Ilkka Myller) #8703
  • [ed625fefd2] - test: add tests for add/remove header after sent (Niklas Ingholt) #8682
  • [e9d1426080] - test: enable cyrillic punycode test case (Ben Noordhuis) #8695
  • [b62735a302] - test: remove call to net.Socket.resume() (Alfred Cepeda) #8679
  • [9ca8722203] - test: cleanup stream tests (Italo A. Casas) #8668
  • [dfd022ff9e] - test: update test/parallel/test-child-process-stdio.js (matzavinos) #8584
  • [fef4341f46] - test: update test/parallel/test-eval.js (Pavol Otcenas) #8590
  • [43d6212257] - test: update test/parallel/test-child-process-send-utf8.js (Jonathan Prince) #8594
  • [6924a4d237] - test: update test/parallel/test-fs-read.js (Richard Walker) #8596
  • [1b494d3b96] - test: fixup parallel/test-async-wrap-post-did-throw.js (Jermaine Oppong) #8625
  • [edf9242f56] - test: cleanup test-os.js (delvedor) #8606
  • [d4ad8d9619] - test: refactor test-dgram-bind-shared-ports.js (Fikret Burak Gazioglu) #8582
  • [714cbfd46c] - test: update test-child-process-recv-handle (Jonathan Prince) #8648
  • [c664109c72] - test: improve test-child-process-stdout-flush (Wietse Venema) #8581
  • [c98d0c984d] - test: cleanup test-child-process-exec-env.js (Yevgen Safronov) #8600
  • [3269a7d6f5] - test: cleanup test-tls-connect-given-socket.js (Thomas van Lankveld) #8616
  • [5e5a1c0e3c] - test: cleanup test-child-process-buffering.js (Adri Van Houdt) #8578
  • [bcba27e8c6] - test: update test-cluster-disconnect-unshared-udp (matt-in-a-hat) #8599
  • [5a59ca6168] - test: changing equal to strictEqual in path (lrlna) #8628
  • [3ddf77fc24] - test: modernize js and tighten equality checking (Pavol Otcenas) #8618
  • [34f24e559d] - test: refactor parallel/test-tcp-wrap-listen (scott stern) #8640
  • [6fb8ebd98c] - test: cleanup cluster-disconnect-unshared-tcp test (Rachel) #8598
  • [fd7f87ef40] - test: var variables to const in zlib (Ishan Aditya) #8627
  • [fc6b4970b5] - test: modernize JS and tighten equality checking (Pavol Otcenas) #8580
  • [f2f6353bc4] - test: cleanup test-intl.js (Alessandro Metta) #8641
  • [14025db8c5] - test: cleanup test-child-process-disconnect.js (Pavol Otcenas) #8602
  • [9032ba60a5] - test: replace var by const test-tls-zero-clear-in (Sébastien Barbieri) #8621
  • [1aa1740f12] - test: improve coverage of the util module (Michaël Zasso) #8633
  • [28d009be76] - test: refactored test-crypto-random.js (Tobias Kahse) #8632
  • [a89deb9c59] - test: cleanup test-c-ares.js (Yevgen Safronov) #8577
  • [9c3d521d90] - test: improve child_process tests (Dennis Schwartz) #8617
  • [ba88f5b8f8] - test: improve coverage of the buffer module (Michaël Zasso) #8552
  • [b10467cde2] - test: improve test-https-agent.js (Dan.Williams) #8517
  • [82b7894d3b] - test: make test-tick-processor.js non-flaky (Fedor Indutny) #8542
  • [30e995f714] - test: add coverage for client._addHandle() (Rich Trott) #8518
  • [ff238c8d15] - test: fix flaky test-force-repl (Rich Trott) #8484
  • [83ed5085f4] - test: mark test-inspector flaky on windows (Rich Trott) #8835
  • [5a7dd18699] - test,benchmark: fix lint errors on v6.x (Jeremiah Senkpiel) #9029
  • [4492cc3e25] - test,lib: align arguments in multiline calls (Rich Trott) #8642
  • [3a72a606cb] - timers: improve setImmediate() performance (Brian White) #8655
  • [06c411753e] - timers: improve setTimeout/Interval performance (Brian White) #8661
  • [02da155e4b] - timers: remove unreachable code (yorkie) #8487
  • [cf92be6939] - tls: TLSSocket emits 'error' on handshake failure (Mariusz 'koder' Chwalba) #8805
  • [bee1955f4e] - tls: handle error events with _tlsError (Fedor Indutny) #8889
  • [d2eaa12a23] - tls: improve createSecureContext in _tls_common (yorkie) #8781
  • [b0234e7968] - tls: add 'new' keyword for Array constructor call (Mike Ralphson) #8514
  • [58c55108d2] - tools: disallow extra blank lines at EOF/BOF (Rich Trott) #8920
  • [336d505dd9] - tools: enable more remark-lint rules (Сковорода Никита Андреевич) #8708
  • [0310655cda] - tools: update remark configuration (Сковорода Никита Андреевич) #8666
  • [5c6284a417] - tools: add additional ESLint rules (Teddy Katz) #8643
  • [73d54a6fc7] - tools: add eslint rule prefer-assert-methods (Dany Shaanan) #8622
  • [ac6927f549] - tools: make argument alignment linting more strict (Rich Trott) #8642
  • [8684cea9b7] - tools: make sure links are correctly passed to marked (Timothy Gu) #8494
  • [a12ff5cc5d] - tools: clean up icu/README.md formatting (Сковорода Никита Андреевич) #8660
  • [fc68b12bc3] - (SEMVER-MINOR) util: Add format for SharedArrayBuffer (Yosuke Furukawa) #8587
  • [38be15549e] - util: don't init Debug if it's not needed yet (Bryan English) #8452
  • [7728f95967] - util: simplify SIMD setup (Dany Shaanan) #8579
  • [8282d6fc60] - vm: add error message if we abort (Franziska Hinkelmann) #8634
  • [b83f51a326] - win,msi: mark INSTALLDIR property as secure (João Reis) #8795
  • [623d3c6eb5] - win,tools: ignore linting for line breaks (João Reis) #8785
  • [7403aaa13f] - zlib: tighten up dictionary tests (Tarjei Husøy) #8512
  • [15474951a5] - zlib: fix raw inflate with custom dictionary (Tarjei Husøy) #8512

New in Node.js 6.7.0 (Sep 28, 2016)

  • NOTABLE CHANGES:
  • Semver Minor:
  • http: CVE-2016-5325 - Properly validate for allowable characters in the reason argument in ServerResponse#writeHead(). Fixes a possible response splitting attack vector. This introduces a new case where throw may occur when configuring HTTP responses, users should already be adopting try/catch here. Originally reported independently by Evan Lucas and Romain Gaucher. (Evan Lucas) nodejs/node-private#60
  • openssl:
  • Upgrade to 1.0.2i, fixes a number of defects impacting Node.js: CVE-2016-6304 ("OCSP Status Request extension unbounded memory growth", high severity), CVE-2016-2183, CVE-2016-2178 and CVE-2016-6306. (Shigeki Ohtsu) #8714
  • Upgrade to 1.0.2j, fixes a defect included in 1.0.2i resulting in a crash when using CRLs, CVE-2016-7052. (Shigeki Ohtsu) #8786
  • Remove support for loading dynamic third-party engine modules. An attacker may be able to hide malicious code to be inserted into Node.js at runtime by masquerading as one of the dynamic engine modules. Originally reported by Ahmed Zaki (Skype). (Ben Noordhuis) nodejs/node-private#73
  • Semver Patch:
  • buffer: Zero-fill excess bytes in new Buffer objects created with Buffer.concat() while providing a totalLength parameter that exceeds the total length of the original Buffer objects being concatenated. (Сковорода Никита Андреевич) nodejs/node-private#64
  • src: Fix regression where passing an empty password and/or salt to crypto.pbkdf2() would cause a fatal error (Rich Trott) #8572
  • tls: CVE-2016-7099 - Fix invalid wildcard certificate validation check whereby a TLS server may be able to serve an invalid wildcard certificate for its hostname due to improper validation of *. in the wildcard string. Originally reported by Alexander Minozhenko and James Bunton (Atlassian). (Ben Noordhuis) nodejs/node-private#75
  • v8: Fix regression where a regex on a frozen object was broken (Myles Borins) #8673
  • COMMITS:
  • [8fb8c46303] - buffer: zero-fill uninitialized bytes in .concat() (Сковорода Никита Андреевич) nodejs/node-private#64
  • [e5998c44b4] - crypto: don't build hardware engines (Ben Noordhuis) nodejs/node-private#73
  • [ed4cd2eebe] - deps: cherry-pick 34880eb3dc from V8 upstream (Myles Borins) #8673
  • [f8ad0dc0e2] - deps: add -no_rand_screen to openssl s_client (Shigeki Ohtsu) nodejs/io.js#1836
  • [9181def9d4] - deps: fix asm build error of openssl in x86_win32 (Shigeki Ohtsu) iojs/io.js#1389
  • [2dee4af5c3] - deps: fix openssl assembly error on ia32 win32 (Fedor Indutny) iojs/io.js#1389
  • [4255dc82a9] - deps: copy all openssl header files to include dir (Shigeki Ohtsu) #8786
  • [c08d81df50] - deps: upgrade openssl sources to 1.0.2j (Shigeki Ohtsu) #8786
  • [2573efc9df] - deps: update openssl asm and asm_obsolete files (Shigeki Ohtsu) #8714
  • [67751f3d7e] - deps: add -no_rand_screen to openssl s_client (Shigeki Ohtsu) nodejs/io.js#1836
  • [4382de338b] - deps: fix asm build error of openssl in x86_win32 (Shigeki Ohtsu) iojs/io.js#1389
  • [cfa00611b0] - deps: fix openssl assembly error on ia32 win32 (Fedor Indutny) iojs/io.js#1389
  • [3e4ea603b3] - deps: copy all openssl header files to include dir (Shigeki Ohtsu) #8714
  • [8937fd0dbb] - deps: upgrade openssl sources to 1.0.2i (Shigeki Ohtsu) #8714
  • [c0f13e56a2] - http: check reason chars in writeHead (Evan Lucas) nodejs/node-private#60
  • [743f0c9164] - lib: make tls.checkServerIdentity() more strict (Ben Noordhuis) nodejs/node-private#75
  • [38bed98a92] - openssl: fix keypress requirement in apps on win32 (Shigeki Ohtsu) iojs/io.js#1389
  • [a25fc3f715] - openssl: fix keypress requirement in apps on win32 (Shigeki Ohtsu) iojs/io.js#1389
  • [5902ba3989] - src: Malloc/Calloc size 0 returns non-null pointer (Rich Trott) #8572
  • [a14d832884] - test: remove openssl options of -no_ (Shigeki Ohtsu) #8714

New in Node.js 6.6.0 (Sep 16, 2016)

  • NOTABLE CHANGES:
  • crypto: Added crypto.timingSafeEqual(). (not-an-aardvark) #8304
  • events: Made the "max event listeners" memory leak warning more accessible. (Anna Henningsen) #8298
  • promises: Unhandled rejections now emit a process warning after the first tick. (Benjamin Gruenbaum) #8223
  • repl: Added auto alignment for .editor mode. (Prince J Wesley) #8241
  • util: Some functionality has been added to util.inspect():
  • Returning this from a custom inspect function now works. (Anna Henningsen) #8174
  • Added support for Symbol-based custom inspection methods. (Anna Henningsen) #8174
  • COMMITS:
  • [2ecc8c4c23] - async_wrap: add a missing case to test-async-wrap-throw-no-init (yorkie) #8198
  • [00f4bc3105] - benchmark: add benches for fs.stat & fs.statSync (Anna Henningsen) #8338
  • [7cc1391287] - benchmark: fix off-by-one error in fs benchmarks (Anna Henningsen) #8338
  • [6e3db283ed] - buffer: fix ArrayBuffer checks (Brian White) #8453
  • [dd51b1f428] - buffer,string_decoder: consolidate encoding validation logic (James M Snell) #7207
  • [a830e37dc9] - build: don't require processing docs for nightlies (Johan Bergström) #8325
  • [836bfc188b] - build: fix dependencies on AIX (Michael Dawson) #8285
  • [bc9d2fb543] - build: fix dependencies on AIX (Michael Dawson) #8272
  • [206b105b1e] - build: add missing files to zip and 7z packages (Richard Lau) #8069
  • [afb9917f16] - (SEMVER-MINOR) crypto: add crypto.timingSafeEqual() (not-an-aardvark) #8304
  • [1640e7a4da] - crypto: fix getDecoder() encoding check (atstojanov) #8301
  • [49f996f4f6] - crypto: make malloc failure check cross-platform (Rich Trott) #8352
  • [9c460d7475] - deps: add back no-op harmony shipping flags (Ali Ijaz Sheikh) #8445
  • [c8bcf1b591] - deps: workaround clang-3.4 ICE (Ali Ijaz Sheikh) #8343
  • [ac3471ca23] - deps: v8_inspector update (Eugene Ostroukhov) #8150
  • [f829660c71] - deps: cherry-pick 8ed65b97 from V8's upstream (Anna Henningsen) #8411
  • [c48cb2de48] - doc: link SIGTSTP / SIGCONT events in readline doc (Italo A. Casas) #8475
  • [ce1a46c02d] - doc: update onboarding PR landing info (Rich Trott) #8479
  • [92acff82ea] - doc: add CTC meeting minutes 2016-08-31 (Josh Gavant) #8424
  • [53877357fc] - doc: fix link on timers.md (yorkie) #8488
  • [09da5756e5] - doc: add added: information for crypto (Luigi Pinca) #8281
  • [19df5cef3b] - doc: fix example in repl documentation (Franziska Hinkelmann) #8469
  • [3ce6eaa3b9] - doc: note that listening on SIGSEGV & co is unsafe (Anna Henningsen) #8410
  • [c7771e6fbc] - doc: clarify sentence in event loop doc (Luigi Pinca) #8400
  • [2c45782b12] - doc: add CI help/support info to onboarding doc (Rich Trott) #8407
  • [cffe7b731d] - doc: add 2016-08-17 CTC meeting minutes (Josh Gavant) #8245
  • [fdd59cc04c] - doc: update BUILDING.md (Rich Trott) #8398
  • [d0a92be798] - doc: add 2016-08-10 CTC meeting minutes (Josh Gavant) #8229
  • [ca31187087] - doc: update CI content in onboarding doc (Rich Trott) #8374
  • [44983b1fdc] - doc: update authors list (James M Snell) #8346
  • [ee83f5d541] - doc: add return type of clientRequest.setTimeout (Mike Ralphson) #8356
  • [1695c84240] - doc: fix a wrong link,add '.md' to the link (Alexis374) #8315
  • [65096de443] - doc: fix typos (Mike Ralphson) #8370
  • [6d421a2ee2] - doc: fix broken link in dgram doc (Brian White) #8365
  • [fbabd36de9] - doc: update targos email in readme per request (James M Snell) #8389
  • [76a3050c34] - doc: update landing pr info in onboarding doc (Rich Trott) #8344
  • [372e4f3f79] - doc: bad/better examples for fs.access() and fs.exists() (Dan Fabulich) #7832
  • [9f18878eee] - doc: fix typo in stream doc (Hubert Mine) #8326
  • [59e96bb1af] - doc: adding danbev to collaborators (Daniel Bevenius) #8359
  • [b553e57f5f] - doc: clarify that path on windows accepts / and (James M Snell) #8291
  • [feab3d4c25] - doc: add lpinca to collaborators (Luigi Pinca) #8331
  • [d2b2abe9d9] - doc: doc that listen can be called multiple times (James M Snell) #8294
  • [54d76137cd] - doc: readline write() is processed as input (James M Snell) #8295
  • [48be8bc4e1] - doc: 'ipc' is required with fork stdio option (James M Snell) #8290
  • [47ecd21133] - doc: improve fs.truncate functions' documentation (Sakthipriyan Vairamani) #7648
  • [d565183c37] - doc: add added: information for modules (Luigi Pinca) #8250
  • [b6f5104145] - doc: fix onReadable reentry after unshift called (Zwb) #8200
  • [93ac875d53] - doc: add added: information for dgram (Luigi Pinca) #8196
  • [260663fbfa] - doc: add Myles Borins to the CTC (Rod Vagg) #8260
  • [a7c21759d9] - doc: fix buf.readUIntBE, buf.readUIntLE examples (David Keeler) #8240
  • [e4fcf55701] - doc: fix "timout" typo in timeout (Fangshi He) #8231
  • [03f5297ccd] - doc: include the optional options parameter (Sakthipriyan Vairamani) #7842
  • [605db31fe7] - (SEMVER-MINOR) events: make memory leak warning more accessible (Anna Henningsen) #8298
  • [fa4c4d655a] - http: fix connection upgrade checks (Brian White) #8238
  • [b603ac24cb] - inspector: use script name for target title (Eugene Ostroukhov) #8243
  • [13a522ac39] - inspector: make sure all messages are dispatched (Eugene Ostroukhov) #8264
  • [250a380231] - inspector: simplify buffer management (Eugene Ostroukhov) #8257
  • [354166c061] - inspector: use new inspector headers (Eugene Ostroukhov) #8150
  • [3ef8ba8bdc] - net: make holding the buffer in memory more robust (Anna Henningsen) #8252
  • [180867d6a6] - (SEMVER-MINOR) promise: warn on unhandled rejections (Benjamin Gruenbaum) #8223
  • [408308f2e6] - (SEMVER-MINOR) readline: key interval delay for r & n (Prince J Wesley) #8109
  • [6f20f477c4] - (SEMVER-MINOR) repl: Auto alignment for .editor mode (Prince J Wesley) #8241
  • [0d24247e50] - src: pull AfterConnect from pipe_wrap and tcp_wrap (Daniel Bevenius) #8448
  • [16202264d1] - src: remove unneeded Environment error methods (Ben Noordhuis) #8427
  • [8cbbb47e39] - src: update f function call comment (Daniel Bevenius) #8416
  • [d1d1433b02] - src: normalize malloc, realloc (Michael Dawson) #7564
  • [2c2a21ab56] - src: unbreak build when compiling against uclibc (Ben Noordhuis) #8308
  • [4e368c58ff] - src: moving f function call comment (Daniel Bevenius) #8405
  • [0f2c619f55] - src: avoid duplicate AtExit functions (Ali Ijaz Sheikh) #8273
  • [3358861470] - test: refector parallel/test-http.js (Junshu Okamoto) #8471
  • [2ce364ad10] - test: modernize JS and tighten equality checking (Peter Ogilvie) #8476
  • [1a30fe563d] - test: swapped == and equal to === and strictEqual (Christopher Dunavan) #8472
  • [d2b6b66037] - test: refactor test-net-pipe-connect-errors (Rich Trott) #8473
  • [3294c2c82b] - test: skip pseudo-tty/no_dropped_stdio test (Michael Dawson) #8470
  • [5baa4e0156] - test: clean up net server try ports test (Thomas Hunter II) #8458
  • [d0e61d4cc3] - test: make crypto.timingSafeEqual test less flaky (not-an-aardvark) #8456
  • [154d6893b0] - test: add test-debug-protocol-execute (Rich Trott) #8454
  • [6c30dddc36] - test: exercise EE function type checking paths (cjihrig) #8168
  • [d536d6d334] - test: increase _debugger coverage (Rich Trott) #8403
  • [6d07e57a36] - test: mark pseudo-tty/no_dropped_stdio as flaky (Michael Dawson) #8385
  • [680a4c8b8e] - test: test non-buffer/string with zlib (Rich Trott) #8350
  • [f0300eda27] - test: fix test-cluster-dgram-1 flakiness (Santiago Gimeno) #8383
  • [b8fa7c949d] - test: fix ::1 error in test-dns-ipv6 (Gibson Fahnestock) #8254
  • [c07e063dd9] - test: fix fs-watch-recursive flakiness on OS X (Santiago Gimeno) #4629
  • [1aa7168e91] - test: refactor/cleanup a number of cluster tests (James M Snell) #8261
  • [39cf7bf24d] - test: refactor parallel/test-process-env.js (Rich Trott) #8324
  • [40e84218a0] - test: add test for zlib.create*Raw() (Rich Trott) #8306
  • [cc61d1a3ba] - test: cleanup test require symlink (Paul Grock) #8305
  • [cde0a1edfd] - test: refactor test-debug-signal-cluster (Rich Trott) #8289
  • [bc6a7ca8e7] - test: additional refactoring/cleanup of buffer tests (James M Snell) #8283
  • [5d43131af4] - test: add known issue test for path parse issue #6229 (James M Snell) #8293
  • [d2179bd6f1] - test: make sure over truncation of file zero fills (Sakthipriyan Vairamani) #7648
  • [5cff625d6a] - test: add check in test-signal-handler (Rich Trott) #8248
  • [0b0a1ceac3] - test: clean up / refactor buffer tests, remove duplication (James M Snell) #8256
  • [0f977f9797] - test: mark test-child-process-fork-dgram as flaky (Michael Dawson) #8274
  • [6f269bed99] - test: refactor test-util-inspect (Rich Trott) #8189
  • [eff771f399] - tickprocessor: apply c++filt manually on mac (Fedor Indutny) #8480
  • [f47ce9d9f8] - tools: replace custom ESLint rule with built-in (Rich Trott) #8478
  • [36235ac323] - tools: update ESLint to 3.5.0 (Rich Trott) #8478
  • [ef5cb129ae] - tools: fix new-parens violations (Rich Trott) #8478
  • [773e1c1304] - tools: enable caching for jslint task (Rich Trott) #8296
  • [54f689fc1e] - tools: update ESLint to 3.4.0 (Rich Trott) #8296
  • [f840bc87d6] - url: fix off-by-one error in loop handling dots (Luigi Pinca) #8420
  • [6ae7af0fa3] - url: keep auth in url.resolve() if host matches (Ilkka Myller) #8215
  • [eec5d02266] - url: url.format() encodes all # in search (Ilkka Myller) #8072
  • [d67ece2f68] - util: improve function signature of util._extend (Sakthipriyan Vairamani) #8187
  • [e9c4805c1f] - (SEMVER-MINOR) util: allow returning this from custom inspect (Anna Henningsen) #8174
  • [4cb55ff392] - (SEMVER-MINOR) util: allow symbol-based custom inspection methods (Anna Henningsen) #8174
  • [151d1ea6a6] - vm: change ContextifyScript to Script in comment (Daniel Bevenius) #8415
  • [f346dee940] - win,build: forward release_urlbase to configure (João Reis) #8430
  • [6bb057ec6a] - win,build: exit when addons fail to build (João Reis) #8412
  • [14d356d0ab] - win,build: skip finding VS when not needed (João Reis) #8412
  • [81d063e174] - win,build: fail on invalid option in vcbuild (João Reis) #8412

New in Node.js 6.5.0 (Sep 2, 2016)

  • NOTABLE CHANGES:
  • buffer: Fix regression introduced in v6.4.0 that prevented .write() at buffer end (Anna Henningsen) #8154
  • deps: update V8 to 5.1.281.75 (Ali Ijaz Sheikh) #8054
  • repl: Fix saving editor mode text in .save (Prince J Wesley) #8145
  • Revert "repl,util: insert carriage returns in output" (Evan Lucas) #8143
  • inspector:
  • fix inspector hang while disconnecting (Aleksei Koziatinskii) #8021
  • add support for uncaught exception (Aleksei Koziatinskii) #8043

New in Node.js 6.3.1 (Jul 22, 2016)

  • NOTABLE CHANGES:
  • repl: Fix issue with function redeclaration. (Prince J Wesley) #7794
  • util: Fix inspecting of boxed symbols. (Anna Henningsen) #7641
  • Buffer:
  • Improve performance of Buffer.from(str, 'hex') and Buffer#write(str, 'hex'). (Christopher Jeffrey) #7602
  • Fix creating from zero-length ArrayBuffer. (Ingvar Stepanyan) #7176
  • Deps:
  • Upgrade to V8 5.0.71.xx. (Ben Noordhuis) #7531
  • Backport V8 instanceof bugfix (Franziska Hinkelmann) #7638
  • COMMITS:
  • [3747d910ec] - benchmark: remove unused variables (Rich Trott) #7600
  • [41582722c8] - buffer: optimize hex_decode (Christopher Jeffrey) #7602
  • [4a3300e66b] - buffer: fix creating from zero-length ArrayBuffer (Ingvar Stepanyan) #7176
  • [71f84b5e6c] - build: add conflict marker check during CI lint (Brian White) #7625
  • [4480b14fda] - build: use BUILDTYPE when building V8 in Makefile (Michaël Zasso) #7482
  • [94a486a388] - build: add v8 requirement to test-v8* in Makefile (Michaël Zasso) #7482
  • [e5627278f1] - build: add --enable-d8 configure option (Ben Noordhuis) #7538
  • [933ff62fa5] - build: respect --shared-* flags for inspector deps (Сковорода Никита Андреевич) #7569
  • [9bb1024dc3] - child_process: Check stderr before accessing it (Robert Chiras) #6877
  • [f574bd4cec] - cluster: remove bind() and self (cjihrig) #7710
  • [164981af5f] - deps: bump V8 patchlevel for instanceof cherry-picks (Franziska Hinkelmann) #7638
  • [287006149b] - deps: cherry-pick 5b5d24b for X87 from V8 upstream (Franziska Hinkelmann) #7638
  • [e5cce7acfe] - deps: cherry-pick 3a903c4 for PPC from V8 upstream (Franziska Hinkelmann) #7638
  • [e23904523f] - deps: cherry-pick 2aa070be from V8 upstream (Franziska Hinkelmann) #7638
  • [d3f0a6a52f] - deps: cherry-pick 1f53e42 from v8 upstream (Ben Noordhuis) #7612
  • [cf8a4889db] - deps: v8_inspector no longer depends on wtf (Ali Ijaz Sheikh) #7751
  • [939cf6ddb2] - deps: no /safeseh for ml64.exe (Fedor Indutny) #7759
  • [abf86adee1] - deps: back-port d721121 from v8 upstream (Ben Noordhuis) #7633
  • [dbdcded866] - deps: upgrade to V8 5.0.71.54 (Ben Noordhuis) #7531
  • [4839ef37a9] - doc: correcting misspelling (Vitaly Tomilov) #7797
  • [3343d46f2c] - doc: general improvments to events documentation (Sakthipriyan Vairamani) #7480
  • [e8a6a223ec] - doc: update readme with andrasq as a collaborator (Andras) #7801
  • [59ed303612] - doc: update CTC governance information (Rich Trott) #7719
  • [4b320adb49] - doc: correct sample output of buf.compare (Hargobind S. Khalsa) #7777
  • [9847f8459c] - doc: add added: information for stream (Italo A. Casas) #7287
  • [1f003590d6] - doc: fix inconsistencies in code style (saadq) #7745
  • [9c274e32fd] - doc: Warn against uncaughtException dependency. (Lance Ball) #6378
  • [fc4df0df6c] - doc: fix typo in stream doc (Kevin Donahue) #7738
  • [2a023bfd00] - doc: removed old git conflict markers from fs.md (Jaime Hidalgo García) #7590
  • [1d07d29bfe] - doc: fix typo in the CHANGELOG_V6 (vsemozhetbyt) #7568
  • [f15d2d6dae] - doc: fix util.deprecate() example (Evan Lucas) #7674
  • [58b70d34ee] - doc: link and highlight Object.assign (Sakthipriyan Vairamani) #7670
  • [cc7fdf429e] - doc: grammar fixes to event loop guide (Ryan Lewis) #7479
  • [a81ff702cc] - doc: dns.resolve fix callback argument description (Quentin Headen) #7532
  • [f0c335c347] - doc: add benchmark who-to-CC info (Rich Trott) #7604
  • [9e0cba0552] - doc: added information on how to run the linter. (Diosney Sarmiento) #7534
  • [e13ee29cbd] - doc: delete non-existing zlib constants (Franziska Hinkelmann) #7520
  • [663b103bc5] - doc: fix minor style issues in http.md (Rich Trott) #7528
  • [6c4d4596cc] - doc: updating REPLACEME tag during release (Gibson Fahnestock) #7514
  • [b4547340ee] - doc: fix detached child stdio example (cjihrig) #7540
  • [0f7b4efaaf] - doc: add bartosz sosnowski to colaborators (Bartosz Sosnowski) #7567
  • [77afeb2ec7] - doc,dgram: fix addMembership documentation (Santiago Gimeno) #7244
  • [11d6f1af59] - fs: rename event to eventType in fs.watch listener (Claudio Rodriguez) #7506
  • [989a2a1c92] - inspector: Unify event queues (Eugene Ostroukhov) #7271
  • [fc0ed2e8c7] - lib,benchmark,test: implement consistent braces (Rich Trott) #7630
  • [80ca0630a6] - net: export isIPv4, isIPv6 directly from cares (Sakthipriyan Vairamani) #7481
  • [72fc4ebca2] - repl: Mitigate vm #548 function redefinition issue (Prince J Wesley) #7794
  • [f97aa4be39] - src: remove unnecessary HandleScopes (Ben Noordhuis) #7711
  • [78dcf0d641] - src: fix handle leak in UDPWrap::Instantiate() (Ben Noordhuis) #7711
  • [dc766e6a6f] - src: fix handle leak in BuildStatsObject() (Ben Noordhuis) #7711
  • [96882e14d1] - src: fix handle leak in Buffer::New() (Ben Noordhuis) #7711
  • [fbc9ef84b8] - src: disable stdio buffering (Ben Noordhuis) #7610
  • [44c9a72aad] - test: add regression test for instanceof (Franziska Hinkelmann) #7638
  • [2e05e65916] - test: add known issue test for #7788 (cjihrig) #7793
  • [7fb4794e19] - test: increase RAM requirement for intensive tests (Rich Trott) #7772
  • [61542e82c1] - test: ensure callback runs in test-vm-sigint (Rich Trott) #7768
  • [9e9d499b8b] - test: use mustCall() for simple flow tracking (cjihrig) #7753
  • [83cbf3175c] - test: avoid usage of mixed IPV6 addresses (Gireesh Punathil) #7702
  • [39f5d9ca7a] - test: fix flaky test-http-server-consumed-timeout (Rich Trott) #7717
  • [3ed0204f23] - test: s/assert.fail/common.fail as appropriate (cjihrig) #7735
  • [f7651d24d4] - test: improve error message in test-tick-processor (Rich Trott) #7693
  • [acb976ac26] - test: cleanup IIFE tests (cjihrig) #7694
  • [432cb353e1] - test: add common.rootDir (cjihrig) #7685
  • [9797969ad4] - test: fix old tty tests (Jeremiah Senkpiel) #7613
  • [37dc7954d8] - test: move parallel/test-tty-* to pseudo-tty/ (Jeremiah Senkpiel) #7613
  • [5192bed68c] - test: remove unused var from child-process-fork (Rich Trott) #7599
  • [e1aedbf671] - test: remove unused vars from http/https tests (Rich Trott) #7598
  • [64e2eed662] - test: remove unused var in test-tls-server-verify (Rich Trott) #7595
  • [8e50413b7e] - test: fix flaky test-fs-read-buffer-tostring-fail (Rich Trott) #7575
  • [447a8f26e1] - test: remove unused var in net-server-try-ports (Rich Trott) #7597
  • [326006527d] - test: remove unused var from stream2 test (Rich Trott) #7596
  • [97167291e7] - test: fix flaky test-net-write-slow (Rich Trott) #7555
  • [657fd7aee9] - test: skip doctool tests when js-yaml is missing (Anna Henningsen) #7218
  • [1576730ef3] - test,doc: clarify buf.indexOf(num) input range (Anna Henningsen) #7611
  • [49a6ea1b73] - timers: fix processing of nested timers (Jeremy Whitlock) #3063
  • [5a2ce3633f] - tools: consistent .eslintrc formatting (silverwind) #7691
  • [2a84da5d09] - tools: increase lint coverage (Rich Trott) #7647
  • [a82573d480] - tools: enforce JS brace style with linting (Rich Trott) #7630
  • [8efca46e78] - tools: fix broken format string (Sakthipriyan Vairamani) #7620
  • [2bef583f8a] - tools: cleanup no-build and build-only options (Sakthipriyan Vairamani) #7620
  • [df697c486e] - tools: update ESLint, fix unused vars bug (Rich Trott) #7601
  • [1a360d63db] - tools: remove unused variable (Rich Trott) #7594
  • [fa99dadda4] - tools: remove unnecessary imports and assignments (Sakthipriyan Vairamani) #7483
  • [0858e620e9] - util: inspect boxed symbols like other primitives (Anna Henningsen) #7641

New in Node.js 6.3.0 (Jul 7, 2016)

  • Notable changes:
  • buffer: Added buffer.swap64() to complement swap16() & swap32(). (Zach Bjornson) #7157
  • build: New configure options have been added for building Node.js as a shared library. (Stefan Budeanu) #6994
  • The options are: --shared, --without-v8-platform & --without-bundled-v8.
  • crypto: Root certificates have been updated. (Ben Noordhuis) #7363
  • debugger: The server address is now configurable via --debug=:. (Ben Noordhuis) #3316
  • npm: Upgraded npm to v3.10.3 (Kat Marchán) #7515 & (Rebecca Turner) #7410
  • readline: Added the prompt option to the readline constructor. (Evan Lucas) #7125
  • repl / vm: sigint/ctrl+c will now break out of infinite loops without stopping the Node.js instance. (Anna Henningsen) #6635
  • src: Added a node::FreeEnvironment public C++ API. (Cheng Zhao) #3098. Refactored require('constants'), constants are now available directly from their respective modules. (James M Snell) #6534
  • stream: Improved readable.read() performance by up to 70%. (Brian White) #7077
  • timers: setImmediate() is now up to 150% faster in some situations. (Andras) #6436
  • util: Added a breakLength option to util.inspect() to control how objects are formatted across lines. (cjihrig) #7499
  • v8-inspector: Experimental support has been added for debugging Node.js over the inspector protocol. (Ali Ijaz Sheikh) #6792
  • Commits:
  • [40211e80f2] - assert: remove unneeded arguments special handling (Rich Trott) #7413
  • [44f0f940c8] - benchmark: add setImmediate() benchmarks (Andras) #6436
  • [35c70b5668] - benchmark: util._extend vs object.assign (surya panikkal) #7255
  • [4014ecbfb4] - (SEMVER-MINOR) buffer: speed up swap16/32, add swap64 (Zach Bjornson) #7157
  • [ac8e1bf609] - buffer: improve creation performance. (Ingvar Stepanyan) #7349
  • [5e4113e58d] - build: Fix compile failure in backtrace_posix.cc (Michael Dawson) #7544
  • [15a32dd42b] - build: export openssl symbols on windows (Ben Noordhuis) #6274
  • [b829a4969f] - build: enable big toc for release builds in AIX (Gireesh Punathil) #7508
  • [9b5be44b01] - build: split CI rules in Makefile (João Reis) #7317
  • [1bd6a623a0] - build: drop unconditional openssl dep from cctest (Ben Noordhuis) #7486
  • [8a31b234ee] - build: remove unused files from CPPLINT_FILES (Ben Noordhuis) #7462
  • [91744aaf00] - build: configure --shared (Stefan Budeanu) #6994
  • [2aa06b9fa0] - child_process: preserve argument type (Rich Trott) #7391
  • [4a0fb6fcb8] - Revert "child_process: measure buffer length in bytes" (Rich Trott) #7391
  • [c1bd3fe14c] - (SEMVER-MINOR) cluster: work with v8_inspector (cjihrig) #6792
  • [fa9e6f7463] - crypto: Allow GCM ciphers to have a longer IV length (Michael Wain) #6376
  • [ef41c8bd8e] - crypto: update root certificates (Ben Noordhuis) #7363
  • [2c7804ad9e] - crypto,tls: perf improvements for crypto and tls getCiphers (James M Snell) #7225
  • [4891001d7e] - (SEMVER-MINOR) debugger: make listen address configurable (Ben Noordhuis) #3316
  • [5bb63e13d1] - deps: upgrade npm to 3.10.3 (Kat Marchán) #7515
  • [581e6deeda] - deps: upgrade npm to 3.10.2 (Rebecca Turner) #7410
  • [12b199369d] - deps: update icu-small to include punycode datafiles (James M Snell) #7355
  • [225f3b9f34] - deps: update v8_inspector (Michaël Zasso) #7385
  • [a4880b5b10] - deps: MASM.UseSafeExceptionHandlers for OpenSSL (Fedor Indutny) #7427
  • [cbe57479c4] - deps: switch to upstream v8_inspector (Ali Ijaz Sheikh) #7302
  • [f4777c77eb] - deps: update v8_inspector (Ali Ijaz Sheikh) #7118
  • [62105288d3] - (SEMVER-MINOR) deps: import v8_inspector (Ali Ijaz Sheikh) #6792
  • [c544213717] - deps: backport 7dfb5beeec from V8 upstream (Myles Borins) #7348
  • [b0da07a788] - doc: add added: information for timers (Anna Henningsen) #7493
  • [63d361b531] - doc: fix documentation of process.argv (Tarun Garg) #7449
  • [45f83e59c4] - doc: add guide for Node.js Timers (Ryan Lewis) #6825
  • [7d07a0b68e] - doc: improve usage of zero/0 (Rich Trott) #7466
  • [8d18aed59e] - doc: fixing minor typo in AtExit hooks section (Daniel Bevenius) #7485
  • [58ae35c34d] - doc: fix broken refs to url.parse() in http docs (Anna Henningsen) #7392
  • [f269c008f2] - doc: add added: information for https (Anna Henningsen) #7392
  • [1c7b622cfc] - doc: add added: information for http (Anna Henningsen) #7392
  • [bc37e6a22d] - doc: general improvements to timers.md (James M Snell) #6937
  • [5f766ad6d0] - doc: fix typographic error in process doc (Rich Trott) #7431
  • [3475591d1c] - doc: fix "sign.verify" typo in crypto doc. (Ruslan Iusupov) #7411
  • [44bc638cdb] - doc: clarify child_process stdout/stderr types (sartrey) #7361
  • [efce335e63] - doc: add CTC meeting minutes 2016-06-15 (Josh Gavant) #7320
  • [b725437c81] - doc: minor rewording to the GitHub issue/pr templates (Jeremiah Senkpiel) #7403
  • [4486ba9ee1] - doc: add lance to collaborators (Lance Ball) #7407
  • [09a7c91baa] - doc: update "who to cc in issues" chart (Jeremiah Senkpiel) #6694
  • [eed65973d5] - doc: fix link in the stream doc (Italo A. Casas) #7347
  • [a04cd85667] - doc: fix repl defineCommand example (akki) #7365
  • [029af2c1f6] - doc: update build instructions for Windows (João Reis) #7285
  • [7a0718bdc6] - doc: add added: information for tls (Italo A. Casas) #7018
  • [ec515c5d3b] - doc: mention http request "aborted" events (Kyle E. Mitchell) #7270
  • [0f434fee6e] - doc: add RReverser to collaborators (Ingvar Stepanyan) #7370
  • [7aa2125fae] - doc: add argument information for socket.destroy() (Rich Trott) #7238
  • [9e9d7b8fba] - doc: general improvements to os.md copy (James M Snell) #7124
  • [cd439465cc] - doc: fix typos in the stream doc (vsemozhetbyt) #7336
  • [dddfed24db] - doc: document socket.destroyed (Tushar Mathur) #6128
  • [cd7c29e471] - doc: correct added: information for fs.access (Richard Lau) #7299
  • [6aa179b4a6] - doc: add added: information for repl (Anna Henningsen) #7256
  • [08a9aa31e1] - doc: fix broken link in vm.md (Luigi Pinca) #7304
  • [12fbac102b] - doc: fix cluster worker 'message' event (cjihrig) #7309
  • [1a0ed26883] - doc: fix events typo (Greyson Parrelli) #7329
  • [1e7a7be1ad] - doc: clarify fs.access() works on directories too. (Lance Ball) #7321
  • [e7b84007be] - http: replace finish() callback with arrow function (Guy Fraser) #7378
  • [c4aaf47f4d] - inspector: Do cleanups before notifying callback (Eugene Ostroukhov) #7450
  • [fe580eb578] - inspector: print warning when used (Evan Lucas) #7383
  • [8dd48c9251] - inspector: fix inspector connection cleanup (Eugene Ostroukhov) #7268
  • [09ecd1fb58] - inspector: fix coverity scan errors (Eugene Ostroukhov) #7324
  • [88b2aa3ce6] - inspector: process.exit() should wait for inspector (Eugene Ostroukhov) #7252
  • [7da8a413f6] - inspector: reduce implementation in header (Eugene Ostroukhov) #7228
  • [ec90a7a92e] - inspector: change default port (Ali Ijaz Sheikh) #7212
  • [d0e24923a6] - net: use icu's punycode implementation (James M Snell) #7355
  • [fb39025e31] - punycode: update to v2.0.0 (Mathias Bynens) #7267
  • [6b1fc63dcb] - (SEMVER-MINOR) readline: allow passing prompt to constructor (Evan Lucas) #7125
  • [72d659a000] - (SEMVER-MINOR) readline: return old status from _setRawMode() (Anna Henningsen) #6635
  • [7a7b8f7e67] - repl: Default useGlobal to false in CLI REPL. (Lance Ball) #5703
  • [c39f6c0204] - repl: Enable tab completion for global properties (Lance Ball) #7369
  • [ca95a84bc4] - repl: fix tab completion for defined commands (Prince J Wesley) #7364
  • [da8e510ee0] - (SEMVER-MINOR) repl: break on sigint/ctrl+c (Anna Henningsen) #6635
  • [3cba8acc15] - src: remove obsolete NOLINT comments (Ben Noordhuis) #7462
  • [57cc4e3071] - src: print backtrace on failed CHECK/ASSERT (Ben Noordhuis) #6734
  • [b8919b1d23] - src: move ABORT() logic into node::Abort() (Ben Noordhuis) #6734
  • [c96d701769] - src: print backtrace on abort/unreachable code (Ben Noordhuis) #6734
  • [6cec90a611] - src: print backtrace on fatal error (Ben Noordhuis) #6734
  • [8f7baffee4] - src: fix bad logic in uid/gid checks (Ben Noordhuis) #7374
  • [6fa560dce9] - src: fix memory leak in WriteBuffers() error path (Ben Noordhuis) #7374
  • [ce039c3240] - src: fix use-after-return in zlib bindings (Ben Noordhuis) #7374
  • [2816418c04] - src: remove deprecated HMAC_Init, use HMAC_Init_ex (Ben Noordhuis) #7374
  • [b7e661b12c] - src: remove duplicate HMAC_Init calls (Ben Noordhuis) #7374
  • [25bc7fee34] - src: remove unused md_ data members (Ben Noordhuis) #7374
  • [2228a656b0] - src: remove unused data member write_queue_size_ (Ben Noordhuis) #7374
  • [9945b4ecd6] - src: guard against starting fs watcher twice (Ben Noordhuis) #7374
  • [3b1c19f90a] - src: initialize encoding_ data member (Ben Noordhuis) #7374
  • [c795d1ed9b] - src: check uv_async_init() return value (Ben Noordhuis) #7374
  • [001aa06bc0] - src: lint v8abbr.h (Ben Noordhuis) #7462
  • [ca4fb084f6] - src: lint node_lttng_tp.h (Ben Noordhuis) #7462
  • [da0ebf62c7] - src: lint node_win32_perfctr_provider.cc (Ben Noordhuis) #7462
  • [3fa643b069] - src: fix whitespace/indent cpplint warnings (Ben Noordhuis) #7462
  • [f72259aa89] - src: fix whitespace/blank_line cpplint warnings (Ben Noordhuis) #7462
  • [1b3c1b08a8] - src: fix runtime/references cpplint warnings (Ben Noordhuis) #7462
  • [be0c575ab4] - src: fix runtime/int cpplint warnings (Ben Noordhuis) #7462
  • [88c5183147] - src: fix runtime/indentation_namespace warnings (Ben Noordhuis) #7462
  • [1fa6dba8f2] - src: fix readability/nolint cpplint warnings (Ben Noordhuis) #7462
  • [43e83576bd] - src: fix readability/namespace cpplint warnings (Ben Noordhuis) #7462
  • [5fd158568f] - src: fix readability/inheritance cpplint warnings (Ben Noordhuis) #7462
  • [b7e006b489] - src: fix readability/constructors cpplint warnings (Ben Noordhuis) #7462
  • [7fe758de85] - src: fix readability/braces cpplint warnings (Ben Noordhuis) #7462
  • [6280ccdaaa] - src: fix build/header_guard cpplint warnings (Ben Noordhuis) #7462
  • [5dfa234bae] - src: fix build/c++tr1 cpplint warnings (Ben Noordhuis) #7462
  • [84dd526f51] - src: renaming ares_task struct to node_ares_task (Daniel Bevenius) #7345
  • [059335180d] - src: use RAII for mutexes and condition variables (Ben Noordhuis) #7334
  • [3d69ad1cf3] - src: make Sec-WebSocket-Key check case-insensitive (Myles Borins) #7248
  • [38d36e3285] - src: fix --without-inspector build (Anna Henningsen) #7258
  • [2fd140b949] - src: fix json payload from inspector (Myles Borins) #7232
  • [643b33b497] - src: add linebreak to inspector message (Nicolas Romer) #7070
  • [ea2d661447] - src: fix --without-inspector build (Anna Henningsen) #7078
  • [2a8bd35bac] - (SEMVER-MINOR) src: add node::FreeEnvironment public API (Cheng Zhao) #3098
  • [929b6c29d8] - (SEMVER-MINOR) src: refactor require('constants') (James M Snell) #6534
  • [cd38401724] - src: fix Windows segfault with --eval (Bryce Simonds) #6938
  • [6dc0dae830] - src: rename "node" script to "bootstrap_node" (Daniel Bevenius) #7277
  • [7d4f038a78] - (SEMVER-MINOR) src,lib: v8-inspector support (Pavel Feldman) #6792
  • [e1d6bd9e30] - (SEMVER-MINOR) stream: improve Readable.read() performance (Brian White) #7077
  • [962ac37e1f] - string_decoder: fix bad utf8 character handling (Brian White) #7310
  • [f6ba5f6380] - test: really run addon tests on make test (Anna Henningsen) #7542
  • [c132e9cc24] - test: listen on and connect to 127.0.0.1 (Ben Noordhuis) #7524
  • [6da49ac1fd] - test: handle SmartOS bug in test-tls-session-cache (Rich Trott) #7505
  • [b383fdde79] - test: remove common.PORT from http tests (Rich Trott) #7467
  • [658ab3d1e6] - test: check types for http request and response (Ben Noordhuis) #7003
  • [517e71508e] - test: add abort test for backtrace validation (cjihrig) #6734
  • [6de80fcaea] - test: don't use internal headers in add-on tests (Ben Noordhuis) #6734
  • [c7ab7a31d7] - test: fix abort/test-abort-uncaught-exception (Ben Noordhuis) #6734
  • [4b0ab5b308] - test: add testcfg.py to test/abort/ (Ben Noordhuis) #6734
  • [365f5207b3] - test: test isFullWidthCodePoint() with invalid input (Rich Trott) #7422
  • [e30f32f003] - Revert "test: mark test-vm-timeout flaky on windows" (Anna Henningsen) #7373
  • [457d244170] - test: fix flaky test-vm-timeout (Anna Henningsen) #7373
  • [16aff79dee] - test: add test for exec() known issue (Rich Trott) #7375
  • [8f1733c4e7] - test: add more UTF-8 StringDecoder tests (Martin von Gagern) #7310
  • [0bbf2ef6ea] - test: fix flaky test-fs-watch-encoding on OS X (Rich Trott) #7356
  • [009858bd0a] - test: remove internet/test-tls-connnect-cnnic (Ben Noordhuis) #7363
  • [c236a13341] - test: mark test-vm-timeout flaky on windows (Rich Trott) #7359
  • [580e11026e] - test: refresh the tmpdir before using (Rich Trott) #7327
  • [e2bf250a29] - test: add tests for some stream.Readable uses (Anna Henningsen) #7260
  • [efb7a90fa9] - timers: optimize setImmediate() (Andras) #6436
  • [a5d894590d] - timers: optimize linkedlist (Andras) #6436
  • [77331a7c01] - tls: avoid calling Buffer.byteLength multiple times (James M Snell) #7236
  • [d857e9a3e9] - tools: explicit path for V8 test tap output (Myles Borins) #7460
  • [e727cb5021] - tools: fix -Wunused-variable warning (Ben Noordhuis) #7462
  • [9d0641e20d] - tools: allow cpplint to run outside git repo (Ben Noordhuis) #7462
  • [01b7b9a2bc] - tools: add back --mode=tap to cpplint (Ben Noordhuis) #7462
  • [e3662a4386] - tools: disable unwanted cpplint rules again (Ben Noordhuis) #7462
  • [5830ec5d41] - tools: update cpplint to r456 (Ben Noordhuis) #7462
  • [3eb02b6743] - tools: output include guards in mk-ca-bundle.pl (Ben Noordhuis) #7363
  • [32e068a5d0] - tools: update certdata.txt (Ben Noordhuis) #7363
  • [bd8c951757] - tools: disable readability/function cpplint rule (Ben Noordhuis) #7334
  • [3b8914d5ce] - (SEMVER-MINOR) util: add an option for configuring break length (cjihrig) #7499
  • [6151544751] - vm: don't print out arrow message for custom error (Anna Henningsen) #7398
  • [55b87c0238] - vm: test for abort condition of current invocation (Anna Henningsen) #7373
  • [d049919e7d] - (SEMVER-MINOR) vm: add ability to break on sigint/ctrl+c (Anna Henningsen) #6635

New in Node.js 6.2.2 (Jun 17, 2016)

  • Notable changes:
  • http:
  • req.read(0) could cause incoming connections to stall and time out under certain conditions. (Fedor Indutny) #7211
  • When freeing the socket to be reused in keep-alive Agent wait for both prefinish and end events. Otherwise the next request may be written before the previous one has finished sending the body, leading to parser errors. (Fedor Indutny) #7149
  • npm: upgrade npm to 3.9.5 (Kat Marchán) #7139

New in Node.js 6.2.1 (Jun 3, 2016)

  • Notable changes:
  • buffer: Ignore negative lengths in calls to Buffer() and Buffer.allocUnsafe(). This fixes a possible security concern (reported by Feross Aboukhadijeh) where user input is passed unchecked to the Buffer constructor or allocUnsafe() as it can expose parts of the memory slab used by other Buffers in the application. Note that negative lengths are not supported by the Buffer API and user input to the constructor should always be sanitised and type-checked. (Anna Henningsen) #7051
  • npm: Upgrade npm to 3.9.3 (Kat Marchán) #7030
  • npm/npm@42d71be npm/npm#12685 When using npm ls without a semver specifier, npm ls would skip any packages in your tree that matched by name, but had a prerelease version in their package.json. (@zkat)
  • npm/npm@f04e05 npm/npm#10013 [email protected]: Fixes an issue where npm install would fail if your node_modules was symlinked. (@iarna)
  • b894413 #12372 Changing a nested dependency in an npm-shrinkwrap.json and then running npm install would not get up the updated package. This corrects that. (@misterbyrne)
  • This release includes [email protected], which is the result of our Windows testing push -- the test suite (should) pass on Windows now. We're working on getting AppVeyor to a place where we can just rely on it like Travis.
  • tty: Default to blocking mode for stdio on OS X. A bug fix in libuv 1.9.0, introduced in Node.js v6.0.0, exposed problems with Node's use of non-blocking stdio, particularly on OS X which has a small output buffer. This change should fix CLI applications that have been having problems with output since Node.js v6.0.0 on OS X. The core team is continuing to address stdio concerns that exist across supported platforms and progress can be tracked at https://github.com/nodejs/node/issues/6980. (Jeremiah Senkpiel) #6895
  • V8: Upgrade to V8 5.0.71.52. This includes a fix that addresses problems experienced by users of node-inspector since Node.js v6.0.0, see https://github.com/node-inspector/node-inspector/issues/864 for details. (Michaël Zasso) #6928

New in Node.js 6.2.0 (May 22, 2016)

  • Notable Changes:
  • buffer: fix lastIndexOf and indexOf in various edge cases (Anna Henningsen) #6511
  • child_process: use /system/bin/sh on android (Ben Noordhuis) #6745
  • deps:
  • upgrade npm to 3.8.9 (Rebecca Turner) #6664
  • upgrade to V8 5.0.71.47 (Ali Ijaz Sheikh) #6572
  • upgrade libuv to 1.9.1 (Saúl Ibarra Corretgé) #6796
  • Intl: ICU 57 bump (Steven R. Loomis) #6088
  • repl:
  • copying tabs shouldn't trigger completion (Eugene Obrezkov) #5958
  • exports Recoverable (Blake Embrey) #3488
  • src: add O_NOATIME constant (Rich Trott) #6492
  • src,module: add --preserve-symlinks command line flag (James M Snell) #6537
  • util: adhere to noDeprecation set at runtime (Anna Henningsen) #6683

New in Node.js 6.1.0 (May 6, 2016)

  • Notable changes:
  • deps: update openssl to 1.0.2h. (Shigeki Ohtsu) #6551
  • Commits:
  • [f46952e727] - buffer: safeguard against accidental kNoZeroFill (Сковорода Никита Андреевич) nodejs/node-private#30
  • [4f1c82f995] - streams: support unlimited synchronous cork/uncork cycles (Matteo Collina) #6164
  • [1efd96c767] - deps: update openssl asm and asm_obsolete files (Shigeki Ohtsu) #6551
  • [c450f4a293] - deps: add -no_rand_screen to openssl s_client (Shigeki Ohtsu) nodejs/io.js#1836
  • [baedfbae6a] - openssl: fix keypress requirement in apps on win32 (Shigeki Ohtsu) iojs/io.js#1389
  • [ff3045e40b] - deps: fix asm build error of openssl in x86_win32 (Shigeki Ohtsu) iojs/io.js#1389
  • [dc8dc97db3] - deps: fix openssl assembly error on ia32 win32 (Fedor Indutny) iojs/io.js#1389
  • [2dfeb01213] - deps: copy all openssl header files to include dir (Shigeki Ohtsu) #6551
  • [72f9952516] - deps: upgrade openssl sources to 1.0.2h (Shigeki Ohtsu) #6551

New in Node.js 6.0.0 (Apr 26, 2016)

  • Buffer:
  • New Buffer constructors have been added #4682 and #5833.
  • Existing Buffer() and SlowBuffer() constructors have been deprecated in docs #4682 and #5833.
  • Previously deprecated Buffer APIs are removed #5048, #4594.
  • Improved error handling #4514.
  • The Buffer.prototype.lastIndexOf() method has been added #4846.
  • Cluster:
  • Worker emitted as first argument in 'message' event #5361.
  • The worker.exitedAfterDisconnect property replaces worker.suicide #3743.
  • Console:
  • Calling console.timeEnd() with an unknown label now emits a process warning rather than throwing #5901.
  • Crypto:
  • Improved error handling #3100, #5611.
  • Simplified Certificate class bindings #5382.
  • Improved control over FIPS mode #5181.
  • pbkdf2 digest overloading is deprecated #4047.
  • Dependencies:
  • Reintroduce shared c-ares build support #5775.
  • V8 updated to 5.0.71.35 #6372.
  • DNS:
  • Add dns.resolvePtr() API to query plain DNS PTR records #4921.
  • Domains:
  • Clear stack when no error handler #4659.
  • Events:
  • The EventEmitter.prototype._events object no longer inherits from Object.prototype #6092.
  • The EventEmitter.prototype.prependListener() and EventEmitter.prototype.prependOnceListener() methods have been added #6032.
  • File System:
  • The fs.realpath() and fs.realpathSync() methods have been updated to use a more efficient libuv-based implementation. This change includes the removal of the cache argument and the method can throw new errors #3594.
  • FS apis can now accept and return paths as Buffers #5616.
  • Error handling and type checking improvements #5616, #5590, #4518, #3917.
  • fs.read's string interface is deprecated #4525.
  • HTTP:
  • 'clientError' can now be used to return custom errors from an HTTP server #4557.
  • Modules:
  • Current directory is now prioritized for local lookups #5689.
  • Symbolic links are preserved when requiring modules #5950.
  • Net:
  • DNS hints no longer implicitly set #6021.
  • Improved error handling and type checking #5981, #5733, #2904.
  • OS X:
  • MACOSX_DEPLOYMENT_TARGET has been bumped up to 10.7 #6402.
  • Path:
  • Improved type checking #5348.
  • Process:
  • Introduce process warnings API #4782.
  • Throw exception when non-function passed to nextTick #3860.
  • Querystring:
  • The object returned by querystring.parse() no longer inherits from Object.prototype #6055.
  • Readline:
  • Key info is emitted unconditionally #6024.
  • History can now be explicitly disabled #6352.
  • REPL:
  • Assignment to _ will emit a warning #5535.
  • Expressions will no longer be completed when eval fails #6328.
  • Timers:
  • Fail early when callback is not a function #4362.
  • Streams:
  • null is now an invalid chunk to write in object mode #6170.
  • TLS:
  • Rename 'clientError' to 'tlsClientError' #4557.
  • SHA1 used for sessionIdContext #3866.
  • TTY:
  • Previously deprecated setRawMode wrapper is removed #2528.
  • URL:
  • Username and password will be dropped by url.resolve() if the host changes #1480.
  • Util:
  • Changes to Error object formatting #4582.
  • The util._extend() method has been deprecated #4903
  • The util.log() method has been deprecated #6161.
  • Windows:
  • Windows XP and Vista are no longer supported #5167.
  • Zlib:
  • Multiple improvements have been made to Zlib processing #5883 and #5707.
  • Semver-major Changes since v5.0.0:
  • [85ab4a5f12] - (SEMVER-MAJOR) buffer: add .from(), .alloc() and .allocUnsafe() (James M Snell) #4682
  • [2c55cc2d2c] - (SEMVER-MAJOR) buffer: remove deprecated Buffer.write branch ([email protected]) #5048
  • [101bca988c] - (SEMVER-MAJOR) buffer: remove deprecated buffer.get/.set methods (Feross Aboukhadijeh) #4594
  • [3b27dd5ce1] - (SEMVER-MAJOR) buffer: throw if both length and enc are passed (Mathias Buus) #4514
  • [3fe204c700] - (SEMVER-MAJOR) buffer: docs-only deprecate SlowBuffer (James M Snell) #5833
  • [627524973a] - (SEMVER-MAJOR) buffer: add Buffer.allocUnsafeSlow(size) (James M Snell) #5833
  • [204f3a8a0b] - (SEMVER-MAJOR) build: Bump MACOSX_DEPLOYMENT_TARGET to 10.7 (Сковорода Никита Андреевич) #6402
  • [90a5fc20be] - (SEMVER-MAJOR) build: remove lint/dotfiles from release tarball (Johan Bergström) #5695
  • [66f4586dd0] - (SEMVER-MAJOR) cluster: emit worker as first 'message' event arg (Ben Noordhuis) #5361
  • [4f619bde4c] - (SEMVER-MAJOR) cluster: migrate from worker.suicide (Evan Lucas) #3743
  • [a5cce79ec3] - (SEMVER-MAJOR) console: delete timers that have ended (Vladimir Varankin) #3562
  • [1c84579031] - (SEMVER-MAJOR) console: timeEnd() with no label emits warning (Eugene Obrezkov) #5901
  • [41feaa89e0] - (SEMVER-MAJOR) crypto: improve error messages (Sakthipriyan Vairamani) #3100
  • [f429fe1b88] - (SEMVER-MAJOR) crypto: fail early when loading crypto without openssl (James M Snell) #5611
  • [a37401e061] - (SEMVER-MAJOR) crypto: simplify Certificate class bindings (Alexander Makarenko) #5382
  • [7c48cb5601] - (SEMVER-MAJOR) crypto: Improve control of FIPS mode (Stefan Budeanu) #5181
  • [a1163582c5] - (SEMVER-MAJOR) crypto: pbkdf2 deprecate digest overload. (Tom Gallacher) #4047
  • [b010c87164] - (SEMVER-MAJOR) crypto, string_bytes: treat buffer str as utf8 (Fedor Indutny) #5522
  • [1d9451bb5a] - (SEMVER-MAJOR) crypto: better error message for createHash (Calvin Metcalf) #6042
  • [52af5c4eeb] - (SEMVER-MAJOR) deps: upgrade V8 to 5.0.71.32 (Ali Ijaz Sheikh) #6111
  • [2253be95d0] - (SEMVER-MAJOR) deps: reintroduce supporting shared c-ares builds (Johan Bergström) #5775
  • [4bc1cccb22] - (SEMVER-MAJOR) dgram: pass null as error on successful send() (cjihrig) #5929
  • [dbdbdd4998] - (SEMVER-MAJOR) dns: add resolvePtr to query plain DNS PTR records (Daniel Turing) #4921
  • [c4ab861a49] - (SEMVER-MAJOR) dns: add failure test for dns.resolveXXX (Daniel Turing) #4921
  • [f3be421c1c] - (SEMVER-MAJOR) dns: coerce port to number in lookupService (Evan Lucas) #4883
  • [4d4f3535a9] - (SEMVER-MAJOR) doc: general improvements to fs.markdown (James M Snell) #5616
  • [d8290286b3] - (SEMVER-MAJOR) doc: document deprecation of util._extend (Benjamin Gruenbaum) #4903
  • [236b7e8dd1] - (SEMVER-MAJOR) doc: doc-only deprecation for util.log() (Jackson Tian) #6161
  • [90204cc468] - (SEMVER-MAJOR) domains: clear stack when no error handler (Julien Gilli) #4659
  • [e38bade828] - (SEMVER-MAJOR) events: don't inherit from Object.prototype (Brian White) #6092
  • [53a95a5b12] - (SEMVER-MAJOR) fs: make fs.watch error message more useful (James M Snell) #5616
  • [060e5f0c00] - (SEMVER-MAJOR) fs: Buffer and encoding enhancements to fs API (James M Snell) #5616
  • [8bb60e3c8d] - (SEMVER-MAJOR) fs: improve error message for invalid flag (James M Snell) #5590
  • [1124de2d76] - (SEMVER-MAJOR) fs: deprecate fs.read's string interface (Sakthipriyan Vairamani) #4525
  • [2b15e68bbe] - (SEMVER-MAJOR) fs: fs.read into zero buffer should not throw exception (Feross Aboukhadijeh) #4518
  • [8b97249893] - (SEMVER-MAJOR) fs: fix the error report on fs.link(Sync) (yorkie) #3917
  • [b488b19eaf] - (SEMVER-MAJOR) fs: optimize realpath using uv_fs_realpath() (Yuval Brik) #3594
  • [5f76b24e5e] - (SEMVER-MAJOR) http: overridable clientError (Fedor Indutny) #4557
  • [d01eb6882f] - (SEMVER-MAJOR) lib: add 'pid' prefix in internal/util (Minwoo Jung) #3878
  • [20285ad177] - (SEMVER-MAJOR) lib: Consistent error messages in all modules (micnic) #3374
  • [94b9948d63] - (SEMVER-MAJOR) lib,src: ensure '(node:pid)' prefix for stdout logging (Minwoo Jung) #3833
  • [b70dc67828] - (SEMVER-MAJOR) lib,test: remove publicly exposed freelist (cjihrig) #3738
  • [d38503ab01] - (SEMVER-MAJOR) module: prioritize current dir for local lookups (Phillip Johnsen) #5689
  • [71470a8e45] - (SEMVER-MAJOR) module: pass v8::Object to linked module initialization function (Phillip Kovalev) #4771
  • [18490d3d5a] - (SEMVER-MAJOR) module: always decorate thrown errors (Brian White) #4287
  • [de1dc0ae2e] - (SEMVER-MAJOR) module: preserve symlinks when requiring (Alex Lamar) #5950
  • [b85a50b6da] - (SEMVER-MAJOR) net: remove implicit setting of DNS hints (cjihrig) #6021
  • [ec49fc8229] - (SEMVER-MAJOR) net: improve socket.write() error message (Phillip Johnsen) #5981
  • [d0edabecbf] - (SEMVER-MAJOR) net: strict checking for internal/net isLegalPort (James M Snell) #5733
  • [a78b3344f8] - (SEMVER-MAJOR) net: type check createServer options object (Sam Roberts) #2904
  • [02ac302b6d] - (SEMVER-MAJOR) net: Validate port in createServer().listen() (Dirceu Pereira Tiegs) #5732
  • [25751bedfe] - (SEMVER-MAJOR) node: deprecate process.EventEmitter (Evan Lucas) #5049
  • [08085c49b6] - (SEMVER-MAJOR) path: assert inputs are strings (Brian White) #5348
  • [d1000b4137] - (SEMVER-MAJOR) path: make format() consistent and more functional (Nathan Woltman) #2408
  • [c6656db352] - (SEMVER-MAJOR) process: add 'warning' event and process.emitWarning() (James M Snell) #4782
  • [72e3dd9f43] - (SEMVER-MAJOR) process: throw on non-function to nextTick() (yorkie) #3860
  • [5dafb435d8] - (SEMVER-MAJOR) querystring: using toString for objects on querystring.escape (Igor Kalashnikov) #5341
  • [dba245f796] - (SEMVER-MAJOR) querystring: don't inherit from Object.prototype (Brian White) #6055
  • [0a62f929da] - (SEMVER-MAJOR) readline: emit key info unconditionally (cjihrig) #6024
  • [3de9bc9429] - (SEMVER-MAJOR) readline: document emitKeypressEvents() (cjihrig) #6024
  • [ca2e8b292f] - (SEMVER-MAJOR) readline: deprecate undocumented exports (cjihrig) #3862
  • [0303a2552e] - (SEMVER-MAJOR) readline: allow history to be disabled (surya panikkal) #6352
  • [ad8257fa5b] - (SEMVER-MAJOR) repl: Assignment of _ allowed with warning (Lance Ball) #5535
  • [3ee68f794f] - (SEMVER-MAJOR) repl: don’t complete expressions when eval fails (Anna Henningsen) #6328
  • [757fbac64b] - (SEMVER-MAJOR) src: remove deprecated internal functions (Ben Noordhuis) #6053
  • [4e46931406] - (SEMVER-MAJOR) src: deprecate undocumented variables (Jackson Tian) #1838
  • [57003520f8] - (SEMVER-MAJOR) src: attach error to stack on displayErrors (cjihrig) #4874
  • [e7c077c610] - (SEMVER-MAJOR) stream: make null an invalid chunk to write in object mode (Calvin Metcalf) #6170
  • [cc0342a517] - (SEMVER-MAJOR) streams: update .readable/.writable to false (Brian White) #4083
  • [652782d137] - (SEMVER-MAJOR) test: update test-repl-require for local paths (Myles Borins) #5689
  • [a5aa7c1713] - (SEMVER-MAJOR) test: expand test case for unknown file open flags (James M Snell) #5590
  • [2c33819370] - (SEMVER-MAJOR) test: fix tests that check error messages (cjihrig) #3727
  • [ac153bd2a6] - (SEMVER-MAJOR) timers: fail early when callback is not a function (Anna Henningsen) #4362
  • [1ab6b21360] - (SEMVER-MAJOR) tls: rename clientError to tlsClientError (Fedor Indutny) #4557
  • [df268f97bc] - (SEMVER-MAJOR) tls: use SHA1 for sessionIdContext (Stefan Budeanu) #3866
  • [8ffa20c495] - (SEMVER-MAJOR) tools: do not rewrite npm shebang in install.py (Evan Lucas) #6098
  • [a2c0aa84e0] - (SEMVER-MAJOR) tty: Remove deprecated setRawMode wrapper (Wyatt Preul) #2528
  • [eb4201f07a] - (SEMVER-MAJOR) url: drop auth in url.resolve() if host changes (Alex Kocharin) #1480
  • [e2f47f5698] - (SEMVER-MAJOR) util: Change how Error objects are formatted (Mudit Ameta) #4582
  • [93d6b5fb68] - (SEMVER-MAJOR) util: use consistent Dates in inspect() (Xotic750) #4318
  • [24012a879d] - (SEMVER-MAJOR) util: make inspect more reliable (Evan Lucas) #4098
  • [007cfea308] - (SEMVER-MAJOR) util: remove pump (Wyatt Preul) #2531
  • [4cf19ad1bb] - (SEMVER-MAJOR) util: Remove exec, has been deprecated for years (Wyatt Preul) #2530
  • [34a35919e1] - (SEMVER-MAJOR) util: improve typed array formatting (Ben Noordhuis) #3793
  • [1cf26c036d] - (SEMVER-MAJOR) win: prevent node from running on Windows Vista or earlier (Alexis Campailla) #5167
  • [55db19074d] - (SEMVER-MAJOR) win,msi: prevent from installing on Windows Vista or earlier (Alexis Campailla) #5167
  • ['54a5287e3e'] - (SEMVER-MAJOR) zlib: fix gzip member head/buffer boundary issue (Anna Henningsen) #5883
  • [8b43d3f52d] - (SEMVER-MAJOR) zlib: do not emit event on *Sync() methods (Rich Trott) #5707
  • Semver-minor and patch commits since v5.11.0:
  • [6c1e5ad3ab] - (SEMVER-MINOR) buffer: add Buffer.prototype.lastIndexOf() ([email protected]) #4846
  • [dd67608bfd] - buffer: safeguard against accidental kNoZeroFill (Сковорода Никита Андреевич) nodejs/node-private#30
  • [a4b8000029] - build: update android-configure script for npm (Robert Chiras) #6349
  • [40ede46690] - cares: Support malloc(0) scenarios for AIX (Gireesh Punathil) #6305
  • [e5f1e2c1df] - deps: upgrade to V8 5.0.71.35 (Ali Ijaz Sheikh) #6372
  • [49e42c530b] - deps: upgrade to V8 5.0.71.34 (Ali Ijaz Sheikh) #6320
  • [2011f2c6dc] - doc: fix position of fs.readSync() (Jeremiah Senkpiel) #6399
  • [29a6c7c1f0] - doc: change references to Stable to Current (Myles Borins) #6318
  • [a026cd0fa5] - doc: update authors (James M Snell) #6373
  • [92a02d51dc] - doc: add JacksonTian to collaborators (Jackson Tian) #6388
  • [879aeb5e49] - doc: add Minqi Pan to collaborators (Minqi Pan) #6387
  • [be5d699055] - doc: add eljefedelrodeodeljefe to collaborators (Robert Jefe Lindstaedt) #6389
  • [916b1a1d44] - doc: add ronkorving to collaborators (ronkorving) #6385
  • [c7066fb853] - doc: add estliberitas to collaborators (Alexander Makarenko) #6386
  • [983a809456] - doc: fix broken references (Alexander Gromnitsky) #6350
  • [ae991e7577] - doc: add note for platform specific flags fs.open() (Robert Jefe Lindstaedt) #6136
  • [f85412d49b] - doc: improvements to child_process, process docs (Alexander Makarenko)
  • [f6d90a912b] - doc: fix a typo in the CONTRIBUTING.md (vsemozhetbyt) #6343
  • [6815a3b7f9] - doc: add vm example, be able to require modules (Robert Jefe Lindstaedt) #5323
  • [7f11634a46] - doc: note that process.config can and will be changed (James M Snell) #6266
  • [0e7d57af35] - (SEMVER-MINOR) events: add prependListener() and prependOnceListener() (James M Snell) #6032
  • [c1cd64481f] - events: make eventNames() use Reflect.ownKeys() (Luigi Pinca) #5822
  • [f1294f5bfd] - gyp: inherit parent for *.host (Johan Bergström) #6173
  • [d5922bd7a9] - querystring: fix comments (Brian White) #6365
  • [2c480bdae6] - src: fix check-imports.py linter errors (Sakthipriyan Vairamani) #6105
  • [5eb4ec090d] - src: squelch -Wunused-variable in non-icu builds (Ben Noordhuis) #6351
  • [a3b5b9cbf2] - src: fix out-of-bounds write in TwoByteValue (Anna Henningsen) #6330
  • [cdba9a6c02] - src: add intl and icu configs to process.binding('config') (James M Snell) #6266
  • [2e974cdd8c] - src: add process.binding('config') (James M Snell) #6266
  • [75e073f2b2] - test: increase the platform timeout for AIX (Michael Dawson) #6342
  • [84ebf2b40d] - test: add tests for console.assert (Evan Lucas) #6302
  • [a770a163ab] - test: v8-flags is sensitive to script caching (Ali Ijaz Sheikh) #6316
  • [1e4d053e6b] - test: don't assume IPv6 in test-regress-GH-5727 (cjihrig) #6319
  • [a7335bd1f0] - test,benchmark: use deepStrictEqual() (Rich Trott) #6213
  • [6781d917f4] - tools: rewrite check-install.sh in python (Sakthipriyan Vairamani) #6105
  • [e84c69310f] - tools: enforce deepStrictEqual over deepEqual (Rich Trott) #6213
  • [7940ecfa00] - v8: warn in Template::Set() on improper use (Ben Noordhuis) #6277

New in Node.js 5.11.0 (Apr 22, 2016)

  • NOTABLE CHANGES:
  • Buffer:
  • Buffer.prototype.compare can now compare sub-ranges of two Buffers. (James M Snell) #5880
  • deps:
  • update to http-parser 2.7.0 (Fedor Indutny) #6279
  • update ESLint to 2.7.0 (silverwind) #6132
  • net:
  • adds support for passing DNS lookup hints to createConnection() (Colin Ihrig) #6000
  • node:
  • Make the builtin libraries available for the --eval and --print CLI options (Anna Henningsen) #6207
  • npm:
  • upgrade npm to 3.8.6 (Kat Marchán) #6153
  • repl:
  • Pressing enter in the repl will repeat the last command by default if no input has been received. This behaviour was in node previously and was not removed intentionally. (Rich Trott) #6090
  • src:
  • add SIGINFO to supported signals (James Reggio) #6093
  • streams:
  • Fix a regression that caused by net streams requesting multiple chunks synchronously when combined with cork/uncork (Matteo Collina) #6164
  • zlib:
  • The flushing flag is now configurable allowing for decompression of partial data (Anna Henningsen) #6069
  • COMMITS:
  • [14fcb1dded] - assert: respect assert.doesNotThrow message. (Ilya Shaisultanov) #2407
  • [332f7382bb] - benchmark: add module loader benchmark parameter (Brian White) #5172
  • [473f086a94] - (SEMVER-MINOR) buffer: add Buffer.prototype.compare by offset (James M Snell) #5880
  • [d44540f5af] - buffer: standardize array index check (Trevor Norris) #6084
  • [bd12d72e0c] - build: fix make tar-headers for Linux (Gibson Fahnestock) #5978
  • [3c8d404a82] - build: allow test-ci to run tests in parallel (Johan Bergström) #6208
  • [a5f8d0c6ef] - build: remove -f{data,function}-sections flags (Ben Noordhuis) #6077
  • [adfb1a4bb0] - child_process: add nullptr checks after allocs (Anna Henningsen) #6256
  • [1fb40524ee] - (SEMVER-MINOR) debugger: run last command on presssing enter (Rich Trott) #6090
  • [5305831184] - deps: update to http-parser 2.7.0 (Fedor Indutny) #6279
  • [8ae200c768] - deps: floating fix for npm's test-node script (Kat Marchán) #6153
  • [e3e544eb96] - deps: upgrade npm to 3.8.6 (Kat Marchán) #6153
  • [a7104e4516] - deps: cherry-pick 1383d00 from v8 upstream (Fedor Indutny) #6179
  • [632e6b9617] - deps: backport 125ac66 from v8 upstream (Myles Borins) #6086
  • [4b8376986a] - doc: git mv to .md (Robert Jefe Lindstaedt) #4747
  • [e6f4a175d4] - doc: add full example for zlib.flush() (Anna Henningsen) #6172
  • [50f3f10ce6] - doc: note that zlib.flush acts after pending writes (Anna Henningsen) #6172
  • [985685d170] - doc: fix broken references (Alexander Gromnitsky) #6100
  • [d66d883a85] - doc: path.format provide more examples (John Eversole) #5838
  • [dc1552e321] - doc: replace functions with arrow functions (abouthiroppy) #6203
  • [fa04dfc307] - doc: DCO anchor that doesn't change (William Kapke) #6257
  • [b49a5b33b5] - doc: fix http response event, Agent#getName (Matthew Douglass) #5993
  • [3b00d7a5b1] - doc: document intention and dangers of fs module Buffer API (Nikolai Vavilov) #6020
  • [3bc31526bb] - doc: explain differences in console.assert between node and browsers (James M Snell) #6169
  • [3f73502662] - doc: native module reloading is not supported (Bryan English) #6168
  • [5f9c8297f1] - doc: clarify fs.watch() and inodes on linux, os x (Joran Dirk Greef) #6099
  • [f3c0b78ae4] - doc: add domain postmortem (Trevor Norris) #6159
  • [a91834e743] - doc: add stefanmb to collaborators (Stefan Budeanu) #6227
  • [117348d082] - doc: add iWuzHere to collaborators (Imran Iqbal) #6226
  • [a1c46b63e8] - doc: add santigimeno to collaborators (Santiago Gimeno) #6225
  • [976e4bb3da] - doc: add addaleax to collaborators (Anna Henningsen) #6224
  • [4fa949ef75] - doc: fix incorrect references in buffer docs (Amery) #6194
  • [b26fea1595] - doc: add copy about how to curl SHA256.txt (Myles Borins) #6120
  • [daaad47099] - doc: clarification for maxBuffer and Unicode output (James M Snell) #6030
  • [5e6915f374] - doc: describe child.kill() pitfalls on linux (Robert Jefe Lindstaedt) #2098
  • [a40d0e8f9d] - doc: fix scrolling on iOS devices (Luigi Pinca) #5878
  • [a81fca4f99] - doc: add topic - event loop, timers, nextTick() (Jeff Harris) #4936
  • [440d1172fd] - doc: add example using algorithms not directly exposed (Brad Hill) #6108
  • [96ad5c5303] - doc: update openssl LICENSE using license-builder.sh (Steven R. Loomis) #6065
  • [07829b0bc9] - doc: simple doc typo fix (Brendon Pierson) #6041
  • [bc0ee06226] - doc: note about Android support (Rich Trott) #6040
  • [60a73a2ed2] - doc: fix a typo in 5.10.1's changelog (Vladimir Varankin) #6076
  • [b57be92c1b] - gitignore: adding .vs/ directory to .gitignore (Mike Kaufman) #6070
  • [6e891c7ad4] - gitignore: ignore VS 2015 *.VC.opendb files (Mike Kaufman) #6070
  • [abd101be1a] - http: disallow sending obviously invalid status codes (Brian White) #6291
  • [16b23b2c28] - http: skip body and next message of CONNECT res (Fedor Indutny) #6279
  • [a259ee4018] - http: unref socket timer on parser execute (Fedor Indutny) #6286
  • [d4abca5b27] - lib: remove bootstrap global context indirection (Jeremiah Senkpiel) #5881
  • [c8783aff21] - lib,test,tools: alignment on variable assignments (Rich Trott) #6242
  • [d5d4f194f1] - net: replace defineGetter with defineProperty (Fedor Indutny) #6284
  • [6d9c0c9aa7] - (SEMVER-MINOR) net: support DNS hints in createConnection() (Colin Ihrig) #6000
  • [457f24f19c] - (SEMVER-MINOR) node: make builtin libs available for --eval (Anna Henningsen) #6207
  • [fc89d17656] - path: fixing a test that breaks on some machines. (Mike Kaufman) #6067
  • [1d408099b7] - process: fix incorrect usage of assert.fail() (Rich Trott) #6211
  • [07c9f981d6] - (SEMVER-MINOR) repl: keep the built-in modules non-enumerable (Anna Henningsen) #6207
  • [5382deaa18] - repl: don’t complete non-simple expressions (Anna Henningsen) #6192
  • [2254f1a175] - repl: refactor repl.js (Rich Trott) #6071
  • [7d54d85269] - (SEMVER-MINOR) src: add SIGINFO to supported signals (James Reggio) #6093
  • [fbc99ba4f1] - src: add missing 'inline' keywords (Ben Noordhuis) #6056
  • [20bb92f5c8] - src: use size_t for http parser array size fields (Ben Noordhuis) #5969
  • [2fd8be2dbe] - src: replace ARRAY_SIZE with typesafe arraysize (Ben Noordhuis) #5969
  • [4392b4aee0] - stream: Fix readableState.awaitDrain mechanism (Anna Henningsen) #6023
  • [20dcdd365b] - stream_base: expose bytesRead getter (Fedor Indutny) #6284
  • [f69416c06e] - streams: support unlimited synchronous cork/uncork cycles (Matteo Collina) #6164
  • [4bfed26d1a] - test: add zlib close-after-error regression test (Anna Henningsen) #6270
  • [99d0a61441] - test: move more tests from sequential to parallel (Santiago Gimeno) #6187
  • [96be986a77] - test: assert - fixed error messages to match the tests (surya panikkal) #6241
  • [4e4efb756e] - test: add test for responses to HTTP CONNECT req (Josh Leder) #6279
  • [5b42ef5dfe] - test: move debugger tests to sequential (Rich Trott) #6205
  • [9856b804e9] - test: move some test from sequential to parallel (Santiago Gimeno) #6087
  • [1d130d0203] - test: move the debugger tests back to parallel (Santiago Gimeno) #6246
  • [c0e9c94868] - test: fix issues for ESLint 2.7.0 (silverwind) #6132
  • [056a258173] - test: fix flaky test-http-set-timeout-server (Santiago Gimeno) #6248
  • [be993fcf6c] - test: fix test-net-settimeout flakiness (Santiago Gimeno) #6166
  • [a38b614ae9] - test: fix flaky test-child-process-fork-net (Rich Trott) #6138
  • [476535cc0e] - test: fix flaky test-http-client-abort (Rich Trott) #6124
  • [6bb7999bd6] - test: refactor test-file-write-stream3 (Rich Trott) #6050
  • [a27e95231e] - test: enforce strict mode for test-domain-crypto (Rich Trott) #6047
  • [8da4bad1c9] - test: fix pummel test failures (Rich Trott) #6012
  • [edd8a15508] - test,repl: use deepStrictEqual for false-y values (Jeremiah Senkpiel) #6196
  • [48ecc0b6b5] - test,tools: enable linting for undefined vars (Rich Trott) #6255
  • [d809c84bf8] - test,vm: enable strict mode for vm tests (Rich Trott) #6209
  • [4a1dfdcc0f] - tools: lint rule for assert.fail() (Rich Trott) #6261
  • [fff6a84da5] - tools: enable linting for v8_prof_processor.js (Rich Trott) #6262
  • [a2ca347803] - tools: move message listener to worker objects (Brian White) #6212
  • [f201b01bf7] - tools: improve js linter (Brian White) #5638
  • [be070d775f] - tools: lint for alignment of variable assignments (Rich Trott) #6242
  • [d9b8758f47] - tools: update ESLint to 2.7.0 (silverwind) #6132
  • [a6056c453e] - tools: fix license-builder.sh again for ICU (Steven R. Loomis) #6068
  • [fabc33a075] - tools: remove simplejson dependency (Sakthipriyan Vairamani) #6101
  • [d516412cd5] - tools,doc: parse types in braces everywhere (Alexander Makarenko) #5329
  • [69eb4a6834] - tools,doc: fix json for grouped optional params (firedfox) #5977
  • [a2dd848764] - tools,doc: fix incomplete json produced by doctool (firedfox) #5966
  • [bad006f2e1] - zlib: fix use after null when calling .close (James Lal) #5982
  • [83bc0a2ac9] - (SEMVER-MINOR) zlib: Make the finish flush flag configurable (Anna Henningsen) #6069
  • [2c23e14d5d] - (SEMVER-MINOR) zlib: detect gzip files when using unzip* (Anna Henningsen) #5884
  • [61167c3e23] - zlib: fix gzip member head/buffer boundary issue (Anna Henningsen) #5973

New in Node.js 5.10.1 (Apr 6, 2016)

  • NOTABLE CHANGES:
  • http:
  • Enclose IPv6 Host header in square brackets. This will enable proper seperation of the host adress from any port reference (Mihai Potra) #5314
  • path:
  • Make win32.isAbsolute more consistent (Brian White) #6028
  • COMMITS:
  • [0f5a51ae4b] - assert: Check typed array view type in deepEqual (Anna Henningsen) #5910
  • [e966d1f5db] - buffer: don't set kNoZeroFill flag in allocUnsafe (Vladimir Kurchatkin) #6007
  • [3f75751c2e] - build: introduce ci targets for lint/benchmark (Johan Bergström) #5921
  • [781290b61d] - doc: refine child_process detach behaviour (Robert Jefe Lindstaedt) #5330
  • [aa9fb03202] - doc: use HTTPS for links where possible (Rich Trott) #6019
  • [dd25984838] - doc: note assert.throws() pitfall (Rich Trott) #6029
  • [f879f5e68a] - doc: document unspecified behavior for buf.write* methods (James M Snell) #5925
  • [f12c3861e0] - doc: clarify stdout/stderr arguments to callback (James M Snell) #6015
  • [ce173716be] - doc: add 'Command Line Options' to 'View on single page' (firedfox) #6011
  • [7337ef6422] - doc: minor argument formatting in stream.markdown (James M Snell) #6016
  • [0ae5d027c6] - doc: clarify that __dirname is module local (James M Snell) #6018
  • [8bec8aa41f] - doc: consolidate timers docs in timers.markdown (Bryan English) #5837
  • [0a13099c42] - etw: add event messages (João Reis) #5936
  • [c6ac6f2ea1] - http: Corrects IPv6 address in Host header (Mihai Potra) #5314
  • [8317778925] - meta: add "joining a wg" section to WORKING_GROUPS.md (Matteo Collina) #5488
  • [f3f19ee5e2] - net: refactor self=this to arrow functions (Benjamin Gruenbaum) #5857
  • [1c4007927d] - path: fix win32.isAbsolute() inconsistency (Brian White) #6028
  • [059b607a4f] - test: make use of globals explicit (Rich Trott) #6014
  • [cc8fcc5a07] - test: be explicit about polluting of global (Rich Trott) #6017
  • [7db7a820b9] - test: make arch available in status files (Santiago Gimeno) #5997
  • [02f2ebd9b4] - test: explicitly set global in test-repl (Rich Trott) #6026
  • [2ab1237137] - test: fix flaky test-net-socket-timeout-unref (Rich Trott) #6003
  • [0127c2bd39] - test: fix test-dns.js flakiness (Rich Trott) #5996
  • [6052ced37f] - test: fix error message checks in test-module-loading (James M Snell) #5986
  • [a40b0cb673] - test: refactor http-end-throw-socket-handling (Santiago Gimeno) #5676
  • [96bb315262] - test: ensure _handle property existence (Rich Trott) #5916
  • [4f1fa2adeb] - test: fix offending max-len linter error (Sakthipriyan Vairamani) #5980
  • [f14d71ccea] - test: stdin is not always a net.Socket (Jeremiah Senkpiel) #5935
  • [50a062e691] - tools: remove obsolete lint config file (Rich Trott) #5959
  • [7491fdcfe9] - tools: remove disabling of already-disabled rule (Rich Trott) #6013

New in Node.js 5.10.0 (Apr 1, 2016)

  • HIGHLIGHTS:
  • fs: add the fs.mkdtemp() function. (Florian MARGAINE) #5333
  • net: emit host in lookup event (HUANG Wei) #5598
  • node: --no-browser-globals configure flag (Fedor Indutny) #5853
  • npm: Upgrade to v3.8.3. Fixes a security flaw in the use of authentication tokens in HTTP requests that would allow an attacker to set up a server that could collect tokens from users of the command-line interface. Authentication tokens have previously been sent with every request made by the CLI for logged-in users, regardless of the destination of the request. This update fixes this by only including those tokens for requests made against the registry or registries used for the current install. (Forrest L Norvell) npm/node#6
  • repl: support standalone blocks (Prince J Wesley) #5581
  • src: override v8 thread defaults using cli options (Tom Gallacher) #4344
  • buffer:
  • make byteLength work with ArrayBuffer & DataView (Jackson Tian) #5255
  • backport --zero-fill-buffers command line option (James M Snell) #5744
  • backport new buffer constructor APIs (James M Snell) #5763
  • add swap16() and swap32() methods (James M Snell) #5724

New in Node.js 5.9.1 (Mar 24, 2016)

  • HIGHLIGHTS:
  • vm: Fixed a contextify regression introduced in v5.9.0 (Ali Ijaz Sheikh) #5800.
  • buffer: Now properly throws RangeErrors on out-of-bounds writes (Matt Loring) #5605:
  • This effects write{Float|Double} when the noAssert option is not used.
  • timers:
  • Returned timeout objects now have a Timeout constructor name (Jeremiah Senkpiel) #5793.
  • Performance of Immediate processing is now ~20-40% faster (Brian White) #4169.

New in Node.js 5.9.0 (Mar 17, 2016)

  • contextify: Fixed a memory consumption issue related to heavy use of vm.createContext and vm.runInNewContext. (Ali Ijaz Sheikh) https://github.com/nodejs/node/pull/5392
  • lib: copy arguments object instead of leaking it (Nathan Woltman) https://github.com/nodejs/node/pull/4361
  • src: allow both -i and -e flags to be used at the same time (Rich Trott) https://github.com/nodejs/node/pull/5655
  • governance: The following members have been added as collaborators:
  • Andreas Madsen (@AndreasMadsen)
  • Benjamin Gruenbaum (@benjamingr)
  • Claudio Rodriguez (@claudiorodriguez)
  • Glen Keane (@thekemkid)
  • Jeremy Whitlock (@whitlockjc)
  • Matt Loring (@matthewloring)
  • Phillip Johnsen (@phillipj)
  • timers: Internal Node.js timeouts now use the same logic path as those created with setTimeout() (Jeremiah Senkpiel) #4007:
  • This may cause a slightly different performance profile in some situations. So far, it has shown to be positive in most cases.
  • v8: backport fb4ccae from v8 upstream (Vladimir Krivosheev) #4231:
  • breakout events from v8 to offer better support for external debuggers
  • zlib: add support for concatenated members (Kári Tristan Helgason) https://github.com/nodejs/node/pull/5120:
  • Previously, if multiple members were in the same archive, only the first would be read. The others are no longer thrown away.
  • Commits:
  • [03b99bf8b9] - build: don't install github templates (Johan Bergström) #5612
  • [a7819da15a] - Revert "build: run lint before tests" (Rich Trott) #5602
  • [5e9cac4333] - console: check that stderr is writable (Rich Trott) #5635
  • [0662fcf209] - contextify: cache sandbox and context in locals (Ali Ijaz Sheikh) #5392
  • [4f2c839d46] - contextify: replace deprecated SetWeak usage (Ali Ijaz Sheikh) #5392
  • [bfff07b4dd] - contextify: cleanup weak ref for sandbox (Ali Ijaz Sheikh) #5392
  • [93f60cdc54] - contextify: cleanup weak ref for global proxy (Ali Ijaz Sheikh) #5392
  • [b6c355de0d] - (SEMVER-MINOR) deps: backport fb4ccae from v8 upstream (develar) #4231
  • [29510aa4fd] - deps: update openssl config (Shigeki Ohtsu) #5630
  • [532d1bf9ce] - deps: sync deps/http_parser with nodejs/http_parser (James M Snell) #5600
  • [d5d64c327b] - doc: clarify commit message rules (Wyatt Preul) #5661
  • [8c4c84fe5b] - doc: add Testing WG (Rich Trott) #5461
  • [434af03825] - doc: Add note about use of JSON.stringify() (Mithun Patel) #5723
  • [62926d85bd] - doc: clarify type of first argument in zlib (Kirill Fomichev) #5685
  • [eb73574349] - doc: clarify when writable.write callback is called (Kevin Locke) #4810
  • [c579507034] - doc: fix typo in api/addons (Daijiro Wachi) #5678
  • [8e45c9d9ea] - doc: fix typo in api/dgram (Daijiro Wachi) #5678
  • [44a9b100c5] - doc: fix typo in api/fs (Daijiro Wachi) #5678
  • [b667573bcb] - doc: update fansworld-claudio username on README (Claudio Rodriguez) #5680
  • [9794abb5d1] - doc: add onboarding resources (Jeremiah Senkpiel) #3726
  • [31e39fbd7a] - doc: remove non-standard use of hyphens (Stefano Vozza)
  • [f3e9daa825] - doc: add clarification on birthtime in fs stat (Kári Tristan Helgason) #5479
  • [c379ec6522] - doc: move build instructions to a new document (Johan Bergström) #5634
  • [2a442b3dfc] - doc: update removeListener behaviour (Vaibhav) #5201
  • [f6ee0996e0] - doc: fix typo in child_process docs (Benjamin Gruenbaum) #5681
  • [dd12661173] - doc: include typo in 'unhandledRejection' example (Robert C Jensen) #5654
  • [f7aecd6e94] - doc: add thekemkid to collaborators (Glen Keane) #5667
  • [b81711acfb] - doc: add phillipj to collaborators (Phillip Johnsen) #5663
  • [a33f2486f0] - doc: add fansworld-claudio to collaborators (Claudio Rodriguez) #5668
  • [285d5e7ba6] - doc: add AndreasMadsen to collaborators (Andreas Madsen) #5666
  • [8e1f6706e3] - doc: add benjamingr to collaborator list (Benjamin Gruenbaum) #5664
  • [f7842cbb24] - doc: add whitlockjc to collaborators (Jeremy Whitlock) #5665
  • [dd6f4ec2e4] - doc: add mattloring to collaborators (Matt Loring) #5662
  • [9ebd559a55] - doc: fix markdown links (Steve Mao) #5641
  • [62d267e1ff] - doc: fix dns.resolveCname description typo (axvm) #5622
  • [9f8e2e2979] - doc: update release tweet template (Jeremiah Senkpiel) #5628
  • [4d6fe300fe] - doc: fix v5.8.0 changelog heading (Jeremiah Senkpiel) #5559
  • [4c1fdaeb2a] - docs: update link to iojs+release ci job (Myles Borins) #5632
  • [205bed0bec] - lib: copy arguments object instead of leaking it (Nathan Woltman) #4361
  • [b16f67a0b9] - net: make isIPv4 and isIPv6 more efficient (Vladimir Kurchatkin) #5478
  • [4ecd996baa] - (SEMVER-MINOR) src: allow combination of -i and -e cli flags (Rich Trott) #5655
  • [f225459496] - test: improve test-npm-install (Santiago Gimeno) #5613
  • [cceae5ae78] - test: eval a strict function (Kári Tristan Helgason) #5250
  • [9a44c8c337] - test: add batch of known issue tests (cjihrig) #5653
  • [1b7b1ed2c9] - timers: greatly improve code comments (Jeremiah Senkpiel) #4007
  • [769254b0ba] - timers: refactor timers (Jeremiah Senkpiel) #4007
  • [0b545fb3f8] - win,build: support Visual C++ Build Tools 2015 (João Reis) #5627
  • [ef774ff9a8] - (SEMVER-MINOR) zlib: add support for concatenated members (Kári Tristan Helgason) #5120

New in Node.js 5.8.0 (Mar 9, 2016)

  • HIGHLIGHTS:
  • repl: start() no longer requires an options parameter (cjihrig) #5388.
  • util: Improved format() performance 50-300% (Evan Lucas) #5360.
  • constants: ENGINE_METHOD_RSA is now correctly exposed (Sam Roberts) #5463.
  • Fixed two regressions which originated in v5.7.0:
  • http: Errors inside of http client callbacks now propagate correctly (Trevor Norris) #5591.
  • path: Fixed normalization of absolute paths (Evan Lucas) #5589.
  • child_process: send() now accepts an options parameter (cjihrig) #5283:
  • Currently the only option is keepOpen, which keeps the underlying socket open after the message is sent.

New in Node.js 5.7.1 (Mar 3, 2016)

  • governance: The Core Technical Committee (CTC) added four new members to help guide Node.js core development: Evan Lucas, Rich Trott, Ali Ijaz Sheikh and Сковорода Никита Андреевич (Nikita Skovoroda).
  • OPENSSL: UPGRADE FROM 1.0.2F TO 1.0.2G (BEN NOORDHUIS) #5507:
  • Fix a double-free defect in parsing malformed DSA keys that may potentially be used for DoS or memory corruption attacks. It is likely to be very difficult to use this defect for a practical attack and is therefore considered low severity for Node.js users. More info is available at CVE-2016-0705.
  • Fix a defect that can cause memory corruption in certain very rare cases relating to the internal BN_hex2bn() and BN_dec2bn() functions. It is believed that Node.js is not invoking the code paths that use these functions so practical attacks via Node.js using this defect are unlikely to be possible. More info is available at CVE-2016-0797.
  • Fix a defect that makes the CacheBleed Attack possible. This defect enables attackers to execute side-channel attacks leading to the potential recovery of entire RSA private keys. It only affects the Intel Sandy Bridge (and possibly older) microarchitecture when using hyper-threading. Newer microarchitectures, including Haswell, are unaffected. More info is available at CVE-2016-0702.
  • FIXED SEVERAL REGRESSIONS THAT APPEARED IN V5.7.0:
  • url: Fixed an off-by-one error with parse() (Brian White) #5394.
  • dgram: Now correctly handles a default address case when offset and length are specified (Matteo Collina) #5407.
  • path.relative():
  • Output is no longer unnecessarily verbose (Brian White) #5389.
  • Resolving UNC paths on Windows now works correctly (Owen Smith) #5456.
  • Resolving paths with prefixes now works correctly from the root directory (Owen Smith) #5490.

New in Node.js 5.7.0 (Feb 23, 2016)

  • NOTABLE CHANGES:
  • http_parser: Update to http-parser 2.6.2 to fix an unintentionally strict limitation of allowable header characters (James M Snell) #5237
  • dgram: socket.send() now supports accepts an array of Buffers or Strings as the first argument. See the API docs for details on how this works. (Matteo Collina) #4374
  • http: Fix a bug where handling headers will mistakenly trigger an 'upgrade' event where the server is just advertising its protocols. This bug can prevent HTTP clients from communicating with HTTP/2 enabled servers. (Fedor Indutny) #4337
  • net: Added a listening Boolean property to net and http servers to indicate whether the server is listening for connections. (José Moreira) #4743
  • node: The C++ node::MakeCallback() API is now reentrant and calling it from inside another MakeCallback() call no longer causes the nextTick queue or Promises microtask queue to be processed out of order. (Trevor Norris) #4507
  • tls: Add a new tlsSocket.getProtocol() method to get the negotiated TLS protocol version of the current connection. (Brian White) #4995
  • vm: Introduce new 'produceCachedData' and 'cachedData' options to new vm.Script() to interact with V8's code cache. When a new vm.Script object is created with the 'produceCachedData' set to true a Buffer with V8's code cache data will be produced and stored in cachedData property of the returned object. This data in turn may be supplied back to another vm.Script() object with a 'cachedData' option if the supplied source is the same. Successfully executing a script from cached data can speed up instantiation time. See the API docs for details. (Fedor Indutny) #4777
  • buffer:
  • You can now supply an encoding argument when filling a Buffer Buffer#fill(string[, start[, end]][, encoding]), supplying an existing Buffer will also work with Buffer#fill(buffer[, start[, end]]). See the API documentation for details on how this works. (Trevor Norris) #4935
  • Buffer#indexOf() no longer requires a byteOffset argument if you also wish to specify an encoding: Buffer#indexOf(val[, byteOffset][, encoding]). (Trevor Norris) #4803
  • child_process: spawn() and spawnSync() now support a 'shell' option to allow for optional execution of the given command inside a shell. If set to true, cmd.exe will be used on Windows and /bin/sh elsewhere. A path to a custom shell can also be passed to override these defaults. On Windows, this option allows .bat. and .cmd files to be executed with spawn() and spawnSync(). (Colin Ihrig) #4598
  • performance: Improvements in:
  • process.nextTick() (Ruben Bridgewater) #5092
  • path module (Brian White) #5123
  • querystring module (Brian White) #5012
  • streams module when processing small chunks (Matteo Collina) #4354
  • COMMITS:
  • [3a96fa0030] - async_wrap: add parent uid to init hook (Andreas Madsen) #4600
  • [4ef04c7c4c] - async_wrap: make uid the first argument in init (Andreas Madsen) #4600
  • [4afe801f90] - async_wrap: add uid to all asyncWrap hooks (Andreas Madsen) #4600
  • [edf8f8a7da] - benchmark: split path benchmarks (Brian White) #5123
  • [8d713d8d51] - benchmark: allow empty parameters (Brian White) #5123
  • [eb6d07327a] - (SEMVER-MINOR) buffer: add encoding parameter to fill() (Trevor Norris) #4935
  • [60d2048b6c] - (SEMVER-MINOR) buffer: properly retrieve binary length of needle (Trevor Norris) #4803
  • [4c67d74607] - (SEMVER-MINOR) buffer: allow encoding param to collapse (Trevor Norris) #4803
  • [5fa4117bfc] - build: add a help message and removed a TODO. (Ojas Shirekar) #5080
  • [09bfb865af] - build: remove redundant TODO in configure (Ojas Shirekar) #5080
  • [3dfc11c516] - build: remove Makefile.build (Ojas Shirekar) #5080
  • [fc78d3d6a7] - build: skip msi build if WiX is not found (Tsarevich Dmitry) #5220
  • [356acb39d7] - build: treat aarch64 as arm64 (Johan Bergström) #5191
  • [3b83d42b4a] - build: fix build when python path contains spaces (Felix Becker) #4841
  • [9e6ad2d8ff] - child_process: fix data loss with readable event (Brian White) #5036
  • [ecc797600f] - (SEMVER-MINOR) child_process: add shell option to spawn() (cjihrig) #4598
  • [efd6f68dce] - cluster: dont rely on this in fork (Igor Klopov) #5216
  • [df93d60caf] - console: apply null as this for util.format (Jackson Tian) #5222
  • [c397ba8fa3] - contextify: use offset/length from Uint8Array (Fedor Indutny) #4947
  • [3048ac0b57] - crypto: have fixed NodeBIOs return EOF (Adam Langley) #5105
  • [af074846f5] - debugger: remove unneeded callback check (Rich Trott) #5319
  • [7bac743f36] - debugger: assert test before accessing this.binding (Prince J Wesley) #5145
  • [18c94e5a8d] - deps: remove unnecessary files (Brian White) #5212
  • [967cf97bf0] - deps: cherry-pick 2e4da65 from v8's 4.8 upstream (Michael Dawson) #5293
  • [bbdf2684d5] - deps: update to http-parser 2.6.2 (James M Snell) #5237
  • [127dd6275a] - Revert "deps: sync with upstream c-ares/c-ares@4ef6817" (Ben Noordhuis) #5199
  • [35c3832994] - deps: sync with upstream c-ares/c-ares@4ef6817 (Fedor Indutny) #5199
  • [b4db31822f] - dgram: scope redeclared variables (Rich Trott) #4940
  • [368c1d1098] - (SEMVER-MINOR) dgram: support dgram.send with multiple buffers (Matteo Collina) #4374
  • [a8862f59eb] - doc: update repo docs to use 'CTC' (Alexis Campailla) #5304
  • [6cf8ec5bd1] - doc: s/http/https in Myles Borins' GitHub link (Rod Vagg) #5356
  • [0389e3803c] - doc: clarify child_process.execFile{,Sync} file arg (Kevin Locke) #5310
  • [c48290d9b7] - doc: fix buf.length slice example (Chinedu Francis Nwafili) #5259
  • [a6e437c619] - doc: fix buffer[index] example (Chinedu Francis Nwafili) #5253
  • [73ef1bd423] - doc: fix template string (Rafael Cepeda) #5240
  • [fa04daa384] - doc: clarify exceptions during uncaughtException (Noah Rose) #5180
  • [22f132e61d] - doc: improvements to console.markdown copy (Alexander Makarenko) #5225
  • [48fa6f6063] - doc: update process.send() signature (cjihrig) #5284
  • [35d89d4662] - doc: fix net.createConnection() example (Brian White) #5219
  • [149007c9f0] - doc: replace node-forward link in CONTRIBUTING.md (Ben Noordhuis) #5227
  • [a6aaf2caab] - doc: improve scrolling, various CSS tweaks (Roman Reiss) #5198
  • [18b00deeac] - doc: update DCO to v1.1 (Mikeal Rogers) #5170
  • [3955bc4cd0] - doc: fix minor inconsistencies in repl doc (Rich Trott) #5193
  • [287bce7b48] - doc: merging behavior of writeHead vs setHeader (Alejandro Oviedo) #5081
  • [529e749d88] - doc: fix type references for link gen, link css (Claudio Rodriguez) #4741
  • [275f6dbcbb] - (SEMVER-MINOR) doc: correct tlsSocket.getCipher() description (Brian White) #4995
  • [b706b0c2c5] - http: remove old, confusing comment (Brian White) #5233
  • [ed36235248] - http: remove unnecessary check (Brian White) #5233
  • [7e82a566b3] - (SEMVER-MINOR) http: allow async createConnection() (Brian White) #4638
  • [411d813323] - http: do not emit upgrade on advertisement (Fedor Indutny) #4337
  • [bbc786b50f] - http,util: fix typos in comments (Alexander Makarenko) #5279
  • [a2d198c702] - net: use _server for internal book-keeping (Fedor Indutny) #5262
  • [18d24e60c5] - (SEMVER-MINOR) net: add net.listening boolean property over a getter (José Moreira) #4743
  • [9cee86e3e9] - node: set process._eventsCount to 0 on startup (Evan Lucas) #5208
  • [f2e4f621c5] - node: improve process.nextTick performance (Ruben Bridgewater) #5092
  • [1c6f927bd1] - path: fix input type checking regression (Brian White) #5244
  • [4dae8caf7a] - path: performance improvements on all platforms (Brian White) #5123
  • [46be1f4d0c] - querystring: improve escape() performance (Brian White) #5012
  • [27e323e8c1] - querystring: improve unescapeBuffer() performance (Brian White) #5012
  • [301023b2b4] - querystring: improve parse() performance (Brian White) #5012
  • [98907c716b] - (SEMVER-MINOR) repl: allow multiline function call (Zirak) #3823
  • [c551da8cb4] - repl: handle quotes within regexp literal (Prince J Wesley) #5117
  • [15091ccca2] - src: remove unnecessary check (Brian White) #5233
  • [830bb04d90] - src: remove TryCatch in MakeCallback (Trevor Norris) #4507
  • [7f22c8c8a6] - src: remove unused TickInfo::in_tick() (Trevor Norris) #4507
  • [406eb1f516] - src: remove unused of TickInfo::last_threw() (Trevor Norris) #4507
  • [bcec2fecbd] - src: add AsyncCallbackScope (Trevor Norris) #4507
  • [2cb1594279] - src: fix MakeCallback error handling (Trevor Norris) #4507
  • [8d6e679a90] - src,test,tools: modify for more stringent linting (Rich Trott) #5214
  • [7684b0fcdf] - stream: fix no data on partial decode (Brian White) #5226
  • [f706cb0189] - streams: 5% throughput gain when sending small chunks (Matteo Collina) #4354
  • [25513a473a] - string_decoder: fix performance regression (Brian White) #5134
  • [0e85530d8c] - test: use String.prototype.repeat() for clarity (Rich Trott) #5311
  • [5683efb90a] - test: remove flaky mark for test-debug-no-context (Rich Trott) #5317
  • [c55bb79ace] - test: add test for https server close event (Braydon Fuller) #5106
  • [138ee983b0] - test: refactor test-http-destroyed-socket-write2 (Santiago Gimeno) #4970
  • [df7d91f36b] - test: mitigate flaky test-debug-no-context (Rich Trott) #5269
  • [d9177e7c26] - test: test-process-getactivehandles is flaky (Alexis Campailla) #5303
  • [f5cc04732f] - test: mark test-http-regr-gh-2928 flaky (Rich Trott) #5280
  • [78b349d5d1] - test: disable fs watch tests for AIX (Michael Dawson) #5187
  • [82ee5e94df] - test: mark test-http-agent flaky (Rich Trott) #5209
  • [1494d6f213] - test: minimal repl eval option test (Rich Trott) #5192
  • [e7bf951136] - test: add addons test for MakeCallback (Trevor Norris) #4507
  • [98596a94fa] - (SEMVER-MINOR) test: run v8 tests from node tree (Bryon Leung) #4704
  • [69c544f245] - test: fix flaky test-http-regr-gh-2928 (Rich Trott) #5154
  • [7c88410507] - test: fix child-process-fork-regr-gh-2847 again (Santiago Gimeno) #5179
  • [2c2cb6700d] - test: remove unneeded common.indirectInstanceOf() (Rich Trott) #5149
  • [6340974f21] - test: don't run test-tick-processor.js on Aix (Michael Dawson) #5093
  • [a8f4db236c] - test: improve path tests (Brian White) #5123
  • [8301773c1e] - test: fix child-process-fork-regr-gh-2847 (Santiago Gimeno) #5121
  • [f2bd86775b] - test: update arrow function style (cjihrig) #4813
  • [aed04b85c2] - tls: nullify .ssl on handle close (Fedor Indutny) #5168
  • [c3f8aab652] - (SEMVER-MINOR) tls: add getProtocol() to TLS sockets (Brian White) #4995
  • [7fc2e3161f] - tools: add Node.js-specific ESLint rules (Rich Trott) #5320
  • [983325cb0c] - tools: replace obsolete ESLint rules (Rich Trott) #5214
  • [f601d040b5] - tools: update ESLint to version 2.1.0 (Rich Trott) #5214
  • [13af565759] - tools: remove obsolete lint rules (Rich Trott) #5214
  • [c566f44f1b] - tools: add recommended ES6 lint rules (Rich Trott) #5210
  • [b611caa0ba] - tools: add recommended linting rules (Rich Trott) #5188
  • [b1a16d1202] - tools: remove excessive comments from .eslintrc (Rich Trott) #5151
  • [c4ed5ece4d] - tools: enable no-proto rule for linter (Jackson Tian) #5140
  • [86f8477b56] - tools: disallow mixed spaces and tabs for indents (Rich Trott) #5135
  • [21fd1496a9] - tools: alphabetize eslint stylistic issues section (Rich Trott)
  • [22c8d50a1f] - tools: parse types into links in doc html gen (Claudio Rodriguez) #4741
  • [5c54d4987d] - tools: enable no-redeclare rule for linter (Rich Trott) #5047
  • [a3a0cf603a] - tools: add arrow function rules to eslint (cjihrig) #4813
  • [bcc26f747f] - tools,doc: fix linting errors (Rich Trott) #5161
  • [47274704aa] - url: fix lint and deopt issues (Brian White) #5300
  • [729ad75860] - url: improve url.parse() performance (Brian White) #4892
  • [6c8378b15b] - vm: fix produceCachedData (Jiho Choi) #5343
  • [d1cacb814f] - (SEMVER-MINOR) vm: introduce cachedData/produceCachedData (Fedor Indutny) #4777

New in Node.js 5.6.0 (Feb 9, 2016)

  • Notable changes:
  • http: fix defects in HTTP header parsing for requests and responses that can allow request smuggling (CVE-2016-2086) or response splitting (CVE-2016-2216). HTTP header parsing now aligns more closely with the HTTP spec including restricting the acceptable characters.
  • http-parser: upgrade from 2.6.0 to 2.6.1
  • npm: upgrade npm from 3.3.12 to 3.6.0 (Rebecca Turner) #4958
  • openssl: upgrade from 1.0.2e to 1.0.2f. To mitigate against the Logjam attack, TLS clients now reject Diffie-Hellman handshakes with parameters shorter than 1024-bits, up from the previous limit of 768-bits.
  • Commits:
  • [3b6283c163] - benchmark: add a constant declaration for net (Minwoo Jung) #3950
  • [3175f7450e] - buffer: remove duplicated code in fromObject (HUANG Wei) #4948
  • [58d67e26a2] - buffer: validate list elements in Buffer.concat (Michaël Zasso) #4951
  • [bafc86f00e] - buffer: refactor redeclared variables (Rich Trott) #4886
  • [0fa4d90b94] - build: Add VARIATION variable to binary target (Stefan Budeanu) #4631
  • [ec62789152] - crypto: fix memory leak in LoadPKCS12 (Fedor Indutny) #5109
  • [d9e934c71f] - crypto: add pfx certs as CA certs too (Fedor Indutny) #5109
  • [0d4b538175] - crypto: use SSL_CTX_clear_extra_chain_certs. (Adam Langley) #4919
  • [abb0f6cd53] - crypto: fix build when OCSP-stapling not provided (Adam Langley) #4914
  • [755619c554] - crypto: use a const SSL_CIPHER (Adam Langley) #4913
  • [d5d2f86f89] - (SEMVER-MINOR) deps: update http-parser to version 2.6.1 (James M Snell)
  • [f0bd176d6d] - deps: reapply c-ares floating patch (Ben Noordhuis) #5090
  • [f1a0827417] - deps: sync with upstream bagder/c-ares@2bae2d5 (Fedor Indutny) #5090
  • [cbf36de8f1] - deps: upgrade npm to 3.6.0 (Rebecca Turner) #4958
  • [dd97d07a0d] - deps: backport 8d00c2c from v8 upstream (Gibson Fahnestock) #5024
  • [b75263094b] - deps: add -no_rand_screen to openssl s_client (Shigeki Ohtsu) #1836
  • [b312b7914f] - deps: upgrade openssl sources to 1.0.2f (Myles Borins) #4961
  • [fa0457ed04] - dns: throw a TypeError in lookupService with invalid port (Evan Lucas) #4839
  • [c4c8b3bf2e] - doc: fix dgram doc indentation (Rich Trott) #5118
  • [027cd2719f] - doc: clarify code of conduct reporting (Julie Pagano) #5107
  • [9f7aa6f868] - doc: clarify dgram socket.send() multi-buffer support (Matteo Collina) #5130
  • [a96ae2cb37] - doc: console is asynchronous unless it's a file (Ben Noordhuis) #5133
  • [4c54c8f309] - doc: fix typo in dgram doc (Rich Trott) #5114
  • [9c93ea3d51] - doc: fix links order in Buffer doc (Alexander Makarenko) #5076
  • [a0ba378880] - doc: minor improvement in OS docs (Alexander Makarenko) #5006
  • [1e2108a6b7] - doc: fix links in Addons docs (Alexander Makarenko) #5072
  • [e5134b1701] - doc: fix inconsistent styling (Brian White) #4996
  • [dde160378e] - doc: fix link in cluster documentation (Timothy Gu) #5068
  • [e5254c12f4] - doc: fix reference to API hash.final (Minwoo Jung) #5050
  • [87fd9968a8] - doc: clarify optional arguments of Buffer methods (Michaël Zasso) #5008
  • [9908eced24] - doc: uppercase 'RSA-SHA256' in crypto.markdown (Rainer Oviir) #5044
  • [bf0383bbea] - doc: apply consistent styling for functions (Rich Trott) #4974
  • [8c7f4bab2d] - doc: multiple improvements in Stream docs (Alexander Makarenko) #5009
  • [ee013715b9] - doc: improve styling consistency in VM docs (Alexander Makarenko) #5005
  • [9824b0d132] - doc: fix anchor links from stream to http and events (piepmatz) #5007
  • [2c85f79569] - doc: minor improvement to HTTPS doc (Alexander Makarenko) #5002
  • [9cf1370017] - doc: improve styling consistency in Buffer docs (Alexander Makarenko) #5001
  • [2750cb0613] - doc: consistent styling for functions in TLS docs (Alexander Makarenko) #5000
  • [4758bf13a5] - doc: update npm LICENSE using license-builder.sh (Rebecca Turner) #4958
  • [3b08b5d22c] - doc: fix minor typo in process doc (Prayag Verma) #5018
  • [129977c9c7] - doc: fix typo in Readme.md (Prayag Verma) #5017
  • [5de3dc557f] - doc: fix notDeepEqual API (Minwoo Jung) #4971
  • [d47dadcc1f] - doc: make buffer methods styles consistent (Timothy Gu) #4873
  • [17888b122c] - doc: fix JSON generation for aliased methods (Timothy Gu) #4871
  • [396e4b9199] - doc: add more details to process.env (Evan Lucas) #4924
  • [bc11bf4659] - doc: don't use "interface" as a variable name (ChALkeR) #4900
  • [bcf55d2f44] - doc: spell writable consistently (Peter Lyons) #4954
  • [4a6d0ac436] - doc: update eol handling in readline (Kári Tristan Helgason) #4927
  • [e65d3638c0] - doc: replace function expressions with arrows (Benjamin Gruenbaum) #4832
  • [423a58d66f] - doc: show links consistently in deprecations (Sakthipriyan Vairamani) #4907
  • [fd87659139] - doc: add docs working group (Bryan English) #4244
  • [19ed619cff] - doc: remove unnecessary bind(this) (Dmitriy Lazarev) #4797
  • [5129930786] - doc: keep the names in sorted order (Sakthipriyan Vairamani) #4876
  • [3c46c10d54] - doc: fix nonsensical grammar in Buffer::write (Jimb Esser) #4863
  • [a1af6fc1a7] - doc: add servername parameter docs (Alexander Makarenko) #4729
  • [f4eeba8467] - doc: fix code type of markdowns (Jackson Tian) #4858
  • [fa1d453359] - doc: check for errors in 'listen' event (Benjamin Gruenbaum) #4834
  • [f462320f74] - doc: undo move http.IncomingMessage.statusMessage (Jeff Harris) #4822
  • [711245e5ac] - doc: style fixes for the TOC (Roman Reiss) #4748
  • [611c2f6fdf] - doc: proper markdown escaping -> __, *, _ (Robert Jefe Lindstaedt) #4805
  • [5a860d9cb7] - doc: Examples work when data exceeds buffer size (Glen Arrowsmith) #4811
  • [71ba14de86] - doc: update list of personal traits in CoC (Kat Marchán) #4801
  • [97eedfc57a] - doc: harmonize $ node command line notation (Robert Jefe Lindstaedt) #4806
  • [2dde0f08c9] - doc: add buf.indexOf encoding param with example (Karl Skomski) #3373
  • [66c74548de] - doc: fenced all code blocks, typo fixes (Robert Jefe Lindstaedt) #4733
  • [54e8845b5e] - fs: refactor redeclared variables (Rich Trott) #4959
  • [fa940cf9bc] - fs: remove unused branches (Benjamin Gruenbaum) #4795
  • [a3b84a4c93] - (SEMVER-MINOR) http: strictly forbid invalid characters from headers (James M Snell)
  • [9b03af254a] - http: remove reference to onParserExecute (Tom Atkinson) #4773
  • [101de9de3f] - https: evict cached sessions on error (Fedor Indutny) #4982
  • [b2c8b7f6d3] - internal/child_process: call postSend on error (Fedor Indutny) #4752
  • [55030922e5] - lib: scope loop variables (Rich Trott) #4965
  • [725ad5b1ce] - lib: remove string_decoder.js var redeclarations (Rich Trott) #4978
  • [c09eb44a59] - module: refactor redeclared variable (Rich Trott) #4962
  • [612ce66c78] - net: refactor redeclared variables (Rich Trott) #4963
  • [c9b05dafe0] - net: move isLegalPort to internal/net (Evan Lucas) #4882
  • [7003a4e3d8] - node_contextify: do not incept debug context (Myles Borins) #4815
  • [5a77c095a6] - process: support symbol events (cjihrig) #4798
  • [85743c0e92] - querystring: check that maxKeys is finite (Myles Borins) #5066
  • [5a10fe932c] - querystring: use String.prototype.split's limit (Manuel Valls) #2288
  • [2844cc03dc] - repl: remove variable redeclaration (Rich Trott) #4977
  • [ac6627a0fe] - src: avoid compiler warning in node_revert.cc (James M Snell)
  • [459c5844c8] - (SEMVER-MINOR) src: add --security-revert command line flag (James M Snell)
  • [95615196de] - src: clean up usage of proto (Jackson Tian) #5069
  • [e93b024214] - src: remove no longer relevant comments (Chris911) #4843
  • [a2c257a3ef] - src: fix negative values in process.hrtime() (Ben Noordhuis) #4757
  • [b46f3b84d4] - src,deps: replace LoadLibrary by LoadLibraryW (Cheng Zhao) iojs/io.js#226
  • [ee8d4bb075] - stream: prevent object map change in TransformState (Evan Lucas) #5032
  • [c8b6de244e] - stream: refactor redeclared variables (Rich Trott) #4816
  • [9dcc45e9c5] - test: enable to work pkcs12 test in FIPS mode (Shigeki Ohtsu) #5150
  • [e4390664ae] - test: disable gh-5100 test when in FIPS mode (Fedor Indutny) #5144
  • [cf3aa911ec] - test: fix flaky test-dgram-pingpong (Rich Trott) #5125
  • [63884f57dd] - test: mark flaky tests on Raspberry Pi (Rich Trott) #5082
  • [09917c99d8] - test: fix net-socket-timeout-unref flakiness (Santiago Gimeno) #4772
  • [83da19aa48] - test: fix redeclared test-event-emitter-* vars (Rich Trott) #4985
  • [87b27c913d] - test: fix redeclared test-intl var (Rich Trott) #4988
  • [e98772d68e] - test: remove redeclared var in test-domain (Rich Trott) #4984
  • [443d0463ca] - test: add common.platformTimeout() to dgram test (Rich Trott) #4938
  • [90219c3398] - test: fix flaky cluster test on Windows 10 (Rich Trott) #4934
  • [3488fa81b5] - test: fix variable redeclarations (Rich Trott) #4992
  • [7dc0905d4d] - test: fix redeclared test-util-* vars (Rich Trott) #4994
  • [53e7d605c9] - test: fix redeclared vars in sequential tests (Rich Trott) #4999
  • [a62ace9f7e] - test: fix tls-no-rsa-key flakiness (Santiago Gimeno) #4043
  • [9b8f025816] - test: fix redeclared vars in test-url (Rich Trott) #4993
  • [51fb8845d5] - test: fix redeclared test-path vars (Rich Trott) #4991
  • [b16b360ae8] - test: fix var redeclarations in test-os (Rich Trott) #4990
  • [d6199773e8] - test: fix test-net-* variable redeclarations (Rich Trott) #4989
  • [9dd5b3e01b] - test: fix redeclared test-http-* vars (Rich Trott) #4987
  • [835bf13c1d] - test: fix var redeclarations in test-fs-* (Rich Trott) #4986
  • [71d7a4457d] - test: fix redeclared vars in test-vm-* (Rich Trott) #4997
  • [38459402a5] - test: fix inconsistent styling in test-url (Brian White) #5014
  • [4934798c0d] - test: pummel test fixes (Rich Trott) #4998
  • [3970504298] - test: remove var redeclarations in test-crypto-* (Rich Trott) #4981
  • [a2881e2187] - test: remove test-cluster-* var redeclarations (Rich Trott) #4980
  • [c3d93299c2] - test: fix test-http-extra-response flakiness (Santiago Gimeno) #4979
  • [0384a43885] - test: Add assertion for TLS peer certificate fingerprint (Alan Cohen) #4923
  • [48a353fe41] - test: scope redeclared vars in test-child-process* (Rich Trott) #4944
  • [89d1149467] - test: fix test-tls-zero-clear-in flakiness (Santiago Gimeno) #4888
  • [f7ed47341a] - test: remove Object.observe from tests (Vladimir Kurchatkin) #4769
  • [d95e53dc3b] - test: refactor switch (Rich Trott) #4870
  • [7f1e3e929a] - test: remove race condition in http flood test (Rich Trott) #4793
  • [6539c64e67] - test: scope redeclared variable (Rich Trott) #4854
  • [62fb941557] - test: fix irregular whitespace issue (Roman Reiss) #4864
  • [3b225209f0] - test: fs.link() test runs on same device (Drew Folta) #4861
  • [1860eae110] - test: refactor test-net-settimeout (Rich Trott) #4799
  • [ae9a8cd053] - test: mark test-tick-processor flaky (Rich Trott) #4809
  • [57cea9e421] - test: remove test-http-exit-delay (Rich Trott) #4786
  • [2119c76d5a] - test: refactor test-fs-watch (Rich Trott) #4776
  • [e487b72459] - test: move cluster tests to parallel (Rich Trott) #4774
  • [8c694a658c] - test: improve test-cluster-disconnect-suicide-race (Rich Trott) #4739
  • [14f5bb7a99] - test,buffer: refactor redeclarations (Rich Trott) #4893
  • [62479e3406] - tls: scope loop vars with let (Rich Trott) #4853
  • [d6fbd81a7a] - tls_wrap: reach error reporting for UV_EPROTO (Fedor Indutny) #4885
  • [f75d06bf10] - tools: lint for empty character classes in regex (Rich Trott) #5115
  • [53cbd0564f] - tools: lint for spacing around unary operators (Rich Trott) #5063
  • [7fa5959c59] - tools: fix redeclared vars in doc/json.js (Rich Trott) #5047
  • [e95fd6ae70] - tools: apply linting to doc tools (Rich Trott) #4973
  • [777ed82162] - tools: fix detecting constructor for JSON doc (Timothy Gu) #4966
  • [5d55f59c85] - tools: add property types in JSON documentation (Timothy Gu) #4884
  • [fd5c56698e] - tools: add support for subkeys in release tools (Myles Borins) #4807
  • [34df6a5c0c] - tools: enable assorted ESLint error rules (Roman Reiss) #4864
  • [386ad7e0b5] - tools: fix setting path containing an ampersand (Brian White) #4804
  • [e415eb27e5] - url: change scoping of variables with let (Kári Tristan Helgason) #4867

New in Node.js 5.5.0 (Jan 22, 2016)

  • events: make sure console functions exist (Dave) #4479
  • fs: add autoClose option to fs.createWriteStream (Saquib) #3679
  • http: improves expect header handling (Daniel Sellers) #4501
  • node: allow preload modules with -i (Evan Lucas) #4696
  • v8,src: expose statistics about heap spaces (v8.getHeapSpaceStatistics()) (Ben Ripkens) #4463
  • Minor performance improvements:
  • lib: Use arrow functions instead of bind where possible (Minwoo Jung) #3622 (Mistakenly missing from v5.4.0)
  • module: cache stat() results more aggressively (Ben Noordhuis) #4575
  • querystring: improve parse() performance (Brian White) #4675

New in Node.js 0.12.7 (Jul 10, 2015)

  • In addition to upgrading npm and fixing a couple of bugs, this release upgrades OpenSSL to version 1.0.1p, which fixes a security vulnerability (CVE-2015-1793).
  • openssl: upgrade to 1.0.1p (CVE-2015-1793)
  • npm: upgrade to 2.11.3
  • V8: cherry-pick JitCodeEvent patch from upstream (Ben Noordhuis)
  • win,msi: create npm folder in AppData directory (Steven Rockarts)

New in Node.js 0.12.6 (Jul 10, 2015)

  • Fixes a bug that triggers an out-of-band write in V8's utf-8 decoder. This bug impacts all Buffer to String conversions. This is an important security update as this bug can be used to cause a denial of service attack.

New in Node.js 0.12.5 (Jun 23, 2015)

  • openssl: upgrade to 1.0.1o (Addressing multiple CVEs)
  • npm: upgrade to 2.11.2
  • uv: upgrade to 1.6.1
  • V8: avoid deadlock when profiling is active (Dmitri Melikyan)
  • install: fix source path for openssl headers (Oguz Bastemur)
  • install: make sure opensslconf.h is overwritten (Oguz Bastemur)
  • timers: fix timeout when added in timer's callback (Julien Gilli)
  • windows: broadcast WM_SETTINGCHANGE after install (Mathias Küsel)

New in Node.js 0.12.4 (May 29, 2015)

  • npm: upgrade to 2.10.1
  • V8: revert v8 Array.prototype.values() removal (cjihrig)
  • win: bring back xp/2k3 support (Bert Belder)

New in Node.js 0.12.3 (May 29, 2015)

  • V8: update to 3.28.71.19
  • uv: upgrade to 1.5.0
  • npm: upgrade to 2.9.1
  • V8: don't busy loop in v8 cpu profiler thread (Mike Tunnicliffe)
  • V8: fix issue with let bindings in for loops (adamk)
  • debugger: don't spawn child process in remote mode (Jackson Tian)
  • net: do not set V4MAPPED on FreeBSD (Julien Gilli)
  • repl: make 'Unexpected token' errors recoverable (Julien Gilli)
  • src: backport ignore ENOTCONN on shutdown race (Ben Noordhuis)
  • src: fix backport of SIGINT crash fix on FreeBSD (Julien Gilli)

New in Node.js 0.12.2 (Apr 1, 2015)

  • uv: Upgrade to 1.4.2
  • npm: Upgrade to 2.7.4
  • V8: Fix --max_old_space_size=4096 integer overflow (Andrei Sedoi)
  • asyncwrap: fix constructor condition for early ret (Trevor Norris)
  • buffer: align chunks on 8-byte boundary (Fedor Indutny)
  • buffer: fix pool offset adjustment (Trevor Norris)
  • console: allow Object.prototype fields as labels (Colin Ihrig)
  • fs: make F_OK/R_OK/W_OK/X_OK not writable (Jackson Tian)
  • fs: properly handle fd passed to truncate() (Bruno Jouhier)
  • http: fix assert on data/end after socket error (Fedor Indutny)
  • lib: fix max size check in Buffer constructor (Ben Noordhuis)
  • lib: fix stdio/ipc sync i/o regression (Ben Noordhuis)
  • module: replace NativeModule.require (Herbert Vojčík)
  • net: allow port 0 in connect() (cjihrig)
  • net: unref timer in parent sockets (Fedor Indutny)
  • path: refactor for performance and consistency (Nathan Woltman)
  • smalloc: extend user API (Trevor Norris)
  • src: fix for SIGINT crash on FreeBSD (Fedor Indutny)
  • src: fix builtin modules failing with --use-strict (Julien Gilli)
  • watchdog: fix timeout for early polling return (Saúl Ibarra Corretgé)

New in Node.js 0.12.1 (Mar 24, 2015)

  • openssl: upgrade to 1.0.1m (Addressing multiple CVES)

New in Node.js 0.12.0 (Feb 7, 2015)

  • npm: Upgrade to 2.5.1
  • mdb_v8: update for v0.12 (Dave Pacheco)

New in Node.js 0.11.16 Beta (Jan 31, 2015)

  • openssl: Upgrade to 1.0.1l
  • npm: Upgrade to 2.3.0
  • url: revert support of `path` for url.format" (Julien Gilli)
  • assert: use util.inspect() to create error messages (cjihrig)
  • net: throw on invalid socket timeouts (cjihrig)
  • url: fix parsing of ssh urls (Evan Lucas)

New in Node.js 0.10.36 (Jan 27, 2015)

  • openssl: update to 1.0.1l
  • v8: Fix debugger and strict mode regression (Julien Gilli)
  • v8: don't busy loop in cpu profiler thread (Ben Noordhuis)

New in Node.js 0.11.15 Beta (Jan 21, 2015)

  • v8: Upgrade to 3.28.73
  • uv: Upgrade to 1.0.2
  • npm: Upgrade to v2.1.6
  • uv: float patch to revert tty breakage (Trevor Norris)
  • v8: re-implement debugger-agent (Fedor Indutny)
  • v8: apply floating irhydra patch (Fedor Indutny)
  • v8: fix postmortem-metadata generator (Refael Ackermann)
  • debugger: fix unhandled error in setBreakpoint (Miroslav Bajtoš)
  • async-wrap: add event hooks (Trevor Norris)
  • async-wrap: expose async-wrap as binding (Trevor Norris)
  • buffer, doc: misc. fix and cleanup (Trevor Norris)
  • buffer: add generic functions for (u)int ops (Yazhong Liu)
  • buffer: fix and cleanup fill() (Trevor Norris)
  • buffer: mv floating point read/write checks to JS (Trevor Norris)
  • build, i18n: improve Intl build, add "--with-intl" (Steven R. Loomis)
  • build: add small-icu support for binary packages (Julien Gilli)
  • build: do not generate support for libuv's probes (Julien Gilli)
  • build: i18n: add icu config options (Steven R. Loomis)
  • build: i18n: support little-endian machines (Steven Loomis)
  • build: vcbuild fix "The input line is too long." (Alexis Campailla)
  • child_process: improve spawn() argument handling (cjihrig)
  • cluster: avoid race enabling debugger in worker (Timothy J Fontaine)
  • cluster: cluster.disconnect() should check status (Sam Roberts)
  • cluster: do not signal children in debug mode (Fedor Indutny)
  • cluster: don't assert if worker has no handles (Sam Roberts)
  • core: fix usage of uv_cwd (Saúl Ibarra Corretgé)
  • core: replace uv_fs_readdir with uv_fs_scandir (Saúl Ibarra Corretgé)
  • crypto: createDiffieHellman throw for bad args (Trevor Norris)
  • crypto: lower RSS usage for TLSCallbacks (Fedor Indutny)
  • crypto: store thread id as pointer-sized (Alexis Campailla)
  • dns: propagate domain for c-ares methods (Chris Dickinson)
  • fs: fix symlink error message (Vladimir Kurchatkin)
  • http: Improve _addHeaderLines method (Jackson Tian)
  • http: cleanup setHeader() (Trevor Norris)
  • http: rename flush to flushHeaders (Timothy J Fontaine)
  • lib,src: fix spawnSync ignoring its 'env' option (Juanjo)
  • modules: adding load linked modules feature (Thorsten Lorenz)
  • net: Make server.connections un-enumerable (Patrick Mooney)
  • net: add pauseOnConnect option to createServer() (cjihrig)
  • net: make connect() input validation synchronous (cjihrig)
  • node: avoid automatic microtask runs (Vladimir Kurchatkin)
  • node: fix throws before timer module is loaded (Trevor Norris)
  • openssl: fix keypress requirement in apps on win32 (Fedor Indutny)
  • path: added parse() and format() functions (Rory Bradford)
  • path: allow calling platform specific methods (Timothy J Fontaine)
  • path: don't lower-cases drive letters (Bert Belder)
  • path: refactor normalizeArray() (Nathan Woltman)
  • process: pid can be a string in process.kill() (Sam Roberts)
  • readline: fix performance issue when large line (Jicheng Li)
  • readline: should not require an output stream. (Julien Gilli)
  • smalloc: check if obj has external data (Vladimir Kurchatkin)
  • smalloc: don't allow to dispose typed arrays (Vladimir Kurchatkin)
  • smalloc: fix bad assert for zero length data (Trevor Norris)
  • smalloc: fix copyOnto optimization (Vladimir Kurchatkin)
  • src: all wrap's now use actual FunctionTemplate (Trevor Norris)
  • src: fix VC++ warning C4244 (Rasmus Christian Pedersen)
  • src: remove Async Listener (Trevor Norris)
  • stream: switch _writableState.buffer to queue (Chris Dickinson)
  • streams: make setDefaultEncoding() throw (Brian White)
  • streams: set default encoding for writable streams (Johnny Ray)
  • tls: remove tls.createSecurePair code deprecation (Jackson Tian)
  • tls_wrap: ignore ZERO_RETURN after close_notify (Fedor Indutny)
  • url: change hostname regex to negate invalid chars (Jonathan Johnson)
  • url: fixed encoding for slash switching emulation. (Evan Rutledge Borden)
  • url: improve parsing speed (CGavrila)
  • url: make query() consistent (Gabriel Wicke)
  • url: support path for url.format (Yazhong Liu)
  • util: add es6 Symbol support for util.inspect (gyson)

New in Node.js 0.10.35 (Dec 27, 2014)

  • tls: re-add 1024-bit SSL certs removed by f9456a2 (Chris Dickinson)
  • timers: don't close interval timers when unrefd (Julien Gilli)
  • timers: don't mutate unref list while iterating it (Julien Gilli)

New in Node.js 0.10.34 (Dec 18, 2014)

  • uv: update to v0.10.30
  • zlib: upgrade to v1.2.8
  • child_process: check execFile args is an array (Sam Roberts)
  • child_process: check fork args is an array (Sam Roberts)
  • crypto: update root certificates (Ben Noordhuis)
  • domains: fix issues with abort on uncaught (Julien Gilli)
  • timers: Avoid linear scan in _unrefActive. (Julien Gilli)
  • timers: fix unref() memory leak (Trevor Norris)
  • v8: add api for aborting on uncaught exception (Julien Gilli)
  • debugger: fix when using "use strict" (Julien Gilli)

New in Node.js 0.10.33 (Dec 11, 2014)

  • This release handles the recent POODLE vulnerability by disabling SSLv2/SSLv3 by default for the most predominate uses of TLS in Node.js.
  • It took longer than expected to get this release accomplished in a way that would provide appropriate default security settings, while minimizing the surface area for the behavior change we were introducing. It was also important that we validated that our changes were being applied in the variety of configurations we support in our APIs.
  • With this release, we are confident that the only behavior change is that of the default allowed protocols do not include SSLv2 or SSLv3. Though you are still able to programatically consume those protocols if necessary.

New in Node.js 0.11.14 Beta (Sep 26, 2014)

  • uv: Upgrade to v1.0.0-rc1
  • http_parser: Upgrade to v2.3.0
  • npm: Upgrade to v2.0.0
  • openssl: Upgrade to v1.0.1i
  • v8: Upgrade to 3.26.33
  • Add fast path for simple URL parsing (Gabriel Wicke)
  • Added support for options parameter in console.dir() (Xavi Magrinyà)
  • Cluster: fix shared handles on Windows (Alexis Campailla)
  • buffer: Fix incorrect Buffer.compare behavior (Feross Aboukhadijeh)
  • buffer: construct new buffer from buffer toJSON() output (cjihrig)
  • buffer: improve Buffer constructor (Kang-Hao Kenny)
  • build: linking CoreFoundation framework for OSX (Thorsten Lorenz)
  • child_process: accept uid/gid everywhere (Fedor Indutny)
  • child_process: add path to spawn ENOENT Error (Ryan Cole)
  • child_process: copy spawnSync() cwd option to proper buffer (cjihrig)
  • child_process: do not access stderr when stdio set to 'ignore' (cjihrig)
  • child_process: don't throw on EAGAIN (Charles)
  • child_process: don't throw on EMFILE/ENFILE (Ben Noordhuis)
  • child_process: use full path for cmd.exe on Win32 (Ed Morley)
  • cluster: allow multiple calls to setupMaster() (Ryan Graham)
  • cluster: centralize removal from workers list. (Julien Gilli)
  • cluster: enable error/message events using .worker (cjihrig)
  • cluster: include settings object in 'setup' event (Ryan Graham)
  • cluster: restore v0.10.x setupMaster() behaviour (Ryan Graham)
  • cluster: support options in Worker constructor (cjihrig)
  • cluster: test events emit on cluster.worker (Sam Roberts)
  • console: console.dir() accepts options object (Xavi Magrinyà)
  • crypto: add honorCipherOrder argument (Fedor Indutny)
  • crypto: allow padding in RSA methods (Fedor Indutny)
  • crypto: clarify RandomBytes() error msg (Mickael van der Beek)
  • crypto: never store pointer to conn in SSL_CTX (Fedor Indutny)
  • crypto: unsigned value can't be negative (Brian White)
  • dgram: remove new keyword from errnoException (Jackson Tian)
  • dns: always set variable family in lookup() (cjihrig)
  • dns: include host name in error message if available (Maciej Małecki)
  • dns: introduce lookupService function (Saúl Ibarra Corretgé)
  • dns: send lookup c-ares errors to callback (Chris Dickinson)
  • dns: throw if hostname is not string or falsey (cjihrig)
  • events: Output the event that is leaking (Arnout Kazemier)
  • fs: close file if fstat() fails in readFile() (cjihrig)
  • fs: fs.readFile should not throw uncaughtException (Jackson Tian)
  • http: add 308 status_code, see RFC7238 (Yazhong Liu)
  • http: don't default OPTIONS to chunked encoding (Nick Muerdter)
  • http: fix bailout for writeHead (Alex Kocharin)
  • http: remove unused code block (Fedor Indutny)
  • http: write() after end() emits an error. (Julien Gilli)
  • lib, src: add vm.runInDebugContext() (Ben Noordhuis)
  • lib: noisy deprecation of child_process customFds (Ryan Graham)
  • module: don't require fs several times (Robert Kowalski)
  • net,dgram: workers can listen on exclusive ports (cjihrig)
  • net,stream: add isPaused, don't read() when paused (Chris Dickinson)
  • net: Ensure consistent binding to IPV6 if address is absent (Raymond Feng)
  • net: add remoteFamily for socket (Jackson Tian)
  • net: don't emit listening if handle is closed (Eli Skeggs)
  • net: don't prefer IPv4 addresses during resolution (cjihrig)
  • net: don't throw on net.Server.close() (cjihrig)
  • net: reset errorEmitted on reconnect (Ed Umansky)
  • node: set names for prototype methods (Trevor Norris)
  • node: support v8 microtask queue (Vladimir Kurchatkin)
  • path: fix slice OOB in trim (Lucio M. Tato)
  • path: isAbsolute() should always return boolean (Herman Lee)
  • process: throw TypeError if kill pid not a number (Sam Roberts)
  • querystring: custom encode and decode (fengmk2)
  • querystring: do not add sep for empty array (cjihrig)
  • querystring: remove prepended ? from query field (Ezequiel Rabinovich)
  • readline: fix close event of readline.Interface() (Yazhong Liu)
  • readline: fixes scoping bug (Dan Kaplun)
  • readline: implements keypress buffering (Dan Kaplun)
  • repl: fix multi-line input (Fedor Indutny)
  • repl: fix overwrite for this._prompt (Yazhong Liu)
  • repl: proper setPrompt() and multiline support (Fedor Indutny)
  • stream: don't try to finish if buffer is not empty (Vladimir Kurchatkin)
  • stream: only end reading on null, not undefined (Jonathan Reem)
  • streams: set default hwm properly for Duplex (Andrew Oppenlander)
  • string_bytes: ucs2 support big endian (Andrew Low)
  • tls, crypto: add DHE support (Shigeki Ohtsu)
  • tls: checkServerIdentity option (Trevor Livingston)
  • tls: add DHE-RSA-AES128-SHA256 to the def ciphers (Shigeki Ohtsu)
  • tls: better error reporting at cert validation (Fedor Indutny)
  • tls: support multiple keys/certs (Fedor Indutny)
  • tls: throw an error, not string (Jackson Tian)
  • udp: make it possible to receive empty udp packets (Andrius Bentkus)
  • url: treat the same as / (isaacs)

New in Node.js 0.10.32 (Sep 17, 2014)

  • npm: Update to 1.4.28
  • v8: fix a crash introduced by previous release (Fedor Indutny)
  • configure: add --openssl-no-asm flag (Fedor Indutny)
  • crypto: use domains for any callback-taking method (Chris Dickinson)
  • http: do not send `0\r\n\r\n` in TE HEAD responses (Fedor Indutny)
  • querystring: fix unescape override (Tristan Berger)
  • url: Add support for RFC 3490 separators (Mathias Bynens)

New in Node.js 0.10.31 (Aug 20, 2014)

  • v8: backport CVE-2013-6668
  • openssl: Update to v1.0.1i
  • npm: Update to v1.4.23
  • cluster: disconnect should not be synchronous
  • fs: fix fs.readFileSync fd leak when get RangeError
  • stream: fix Readable.wrap objectMode falsy values
  • timers: fix timers with non-integer delay hanging

New in Node.js 0.10.30 (Aug 1, 2014)

  • uv: Upgrade to v0.10.28
  • npm: Upgrade to v1.4.21
  • v8: Interrupts must not mask stack overflow.
  • Revert "stream: start old-mode read in a next tick" (Fedor Indutny)
  • buffer: fix sign overflow in `readUIn32BE` (Fedor Indutny)
  • buffer: improve {read,write}{U}Intmethods (Nick Apperson)
  • child_process: handle writeUtf8String error (Fedor Indutny)
  • deps: backport 4ed5fde4f from v8 upstream (Fedor Indutny)
  • deps: cherry-pick eca441b2 from OpenSSL (Fedor Indutny)
  • lib: remove and restructure calls to isNaN() (cjihrig)
  • module: eliminate double `getenv()` (Maciej Małecki)
  • stream2: flush extant data on read of ended stream (Chris Dickinson)
  • streams: remove unused require('assert') (Rod Vagg)
  • timers: backport f8193ab (Julien Gilli)
  • util.h: interface compatibility (Oguz Bastemur)
  • zlib: do not crash on write after close (Fedor Indutny)

New in Node.js 0.10.29 (Jun 12, 2014)

  • openssl: to 1.0.1h (CVE-2014-0224)
  • npm: upgrade to 1.4.10
  • utf8: Prevent Node from sending invalid UTF-8 (Felix Geisendörfer). NOTE: this introduces a breaking change, previously you could construct invalid UTF-8 and invoke an error in a client that was expecting valid UTF-8, now unmatched surrogate pairs are replaced with the unknown UTF-8 character. To restore the old functionality simply have NODE_INVALID_UTF8 environment variable set.
  • child_process: do not set args before throwing (Greg Sabia Tucker)
  • child_process: spawn() does not throw TypeError (Greg Sabia Tucker)
  • constants: export O_NONBLOCK (Fedor Indutny)
  • crypto: improve memory usage (Alexis Campailla)
  • fs: close file if fstat() fails in readFile() (cjihrig)
  • lib: name EventEmitter prototype methods (Ben Noordhuis)
  • tls: fix performance issue (Alexis Campailla)

New in Node.js 0.11.13 Beta (May 3, 2014)

  • v8: upgrade to 3.24.35.22
  • buffer: add compare and equals methods (Sean McArthur)
  • buffer: improve {read,write}{U}Intmethods (Nick Apperson)
  • buffer: return uint if MSB is 1 in readUInt32 (goussardg)
  • buffer: truncate buffer after string decode (Fedor Indutny)
  • child_process: fix assertion error in spawnSync (Shigeki Ohtsu)
  • crypto: fix memory leak in CipherBase::Final (Fedor Indutny)
  • crypto: improve error messages (Ingmar Runge)
  • crypto: move `createCredentials` to tls (Fedor Indutny)
  • crypto: work around OpenSSL oddness (Fedor Indutny)
  • dgram: introduce `reuseAddr` option (Fedor Indutny)
  • domain: don't crash on "throw null" (Alex Kocharin)
  • events: check if _events is an own property (Vladimir Kurchatkin)
  • fs: improve performance of all stat functions (James Pickard)
  • fs: return blksize on stats object (Trevor Norris)
  • http: add request.flush() method (Ben Noordhuis)
  • http: better client "protocol not supported" error (Nathan Rajlich)
  • http: use defaultAgent.protocol in protocol check (Nathan Rajlich)
  • main: Handle SIGINT properly. (Geir Hauge)
  • net: bind to `::` TCP address by default (Fedor Indutny)
  • readline: consider newlines for cursor position (Yazhong Liu)
  • stream: split `objectMode` for Duplex (Vladimir Kurchatkin)
  • tls: `getPeerCertificate(detailed)` (Fedor Indutny)
  • tls: do not call SNICallback unless present (Fedor Indutny)
  • tls: force readable/writable to `true` (Fedor Indutny)
  • tls: support OCSP on client and server (Fedor Indutny)
  • util: made util.isArray a direct alias for Array.isArray (Evan Carroll)

New in Node.js 0.10.27 (May 2, 2014)

  • npm: upgrade to v1.4.8
  • openssl: upgrade to 1.0.1g
  • uv: update to v0.10.27
  • dns: fix certain txt entries (Fedor Indutny)
  • assert: Ensure reflexivity of deepEqual (Mike Pennisi)
  • child_process: fix deadlock when sending handles (Fedor Indutny)
  • child_process: fix sending handle twice (Fedor Indutny)
  • crypto: do not lowercase cipher/hash names (Fedor Indutny)
  • dtrace: workaround linker bug on FreeBSD (Fedor Indutny)
  • http: do not emit EOF non-readable socket (Fedor Indutny)
  • http: invoke createConnection when no agent (Nathan Rajlich)
  • stream: remove useless check (Brian White)
  • timer: don't reschedule timer bucket in a domain (Greg Brail)
  • url: treat \ the same as / (isaacs)
  • util: format as Error if instanceof Error (Rod Vagg)

New in Node.js 0.11.12 Beta (Mar 12, 2014)

  • uv: Upgrade to v0.11.22 (Timothy J Fontaine)
  • buffer: allow toString to accept Infinity for end (Brian White)
  • child_process: add spawnSync/execSync (Bert Belder, Timothy J Fontaine)
  • cluster: handle bind errors on Windows (Alexis Campailla)
  • contextify: handle infinite recursion errors (Fedor Indutny)
  • crypto: allow custom generator for DiffieHellman (Brian White)
  • crypto: allow setting add'l authenticated data (Brian White)
  • crypto: fix CipherFinal return value check (Brian White)
  • crypto: make NewSessionDoneCb public (Fedor Indutny)
  • dgram: pass the bytes sent to the send callback (Timothy J Fontaine)
  • dns: validate arguments in resolver (Kenan Sulayman)
  • dns: verify argument is valid function in resolve (Kenan Sulayman)
  • http: avoid duplicate keys in writeHead (David Björklund)
  • net: add localPort to connect options (Timothy J Fontaine)
  • node: do not print SyntaxError hints to stderr (Fedor Indutny)
  • node: invoke `beforeExit` again if loop was active (Fedor Indutny)
  • node: make AsyncListenerInst field more explicit (Trevor Norris)
  • os: networkInterfaces include scopeid for ipv6 (Xidorn Quan)
  • process: allow changing `exitCode` in `on('exit')` (Fedor Indutny)
  • readline: fix `line` event, if input emit 'end' (Yazhong Liu)
  • src: add tracing.v8.on('gc') statistics hooks (Ben Noordhuis)
  • src: add v8.getHeapStatistics() function (Ben Noordhuis)
  • src: emit 'beforeExit' event on process object (Ben Noordhuis)
  • src: move AsyncListener from process to tracing (Trevor Norris)
  • tls: fix crash in SNICallback (Fedor Indutny)
  • tls: introduce asynchronous `newSession` (Fedor Indutny)
  • util: show meaningful values for boxed primitives (Nathan Rajlich)
  • vm: don't copy Proxy object from parent context (Ben Noordhuis)
  • windows: make stdout/sterr pipes blocking (Alexis Campailla)
  • zlib: add sync versions for convenience methods (Nikolai Vavilov)

New in Node.js 0.10.26 (Feb 20, 2014)

  • uv: Upgrade to v0.10.25 (Timothy J Fontaine)
  • npm: upgrade to 1.4.3 (isaacs)
  • v8: support compiling with VS2013 (Fedor Indutny)
  • cares: backport TXT parsing fix (Fedor Indutny)
  • crypto: throw on SignFinal failure (Fedor Indutny)
  • crypto: update root certificates (Ben Noordhuis)
  • debugger: Fix breakpoint not showing after restart (Farid Neshat)
  • fs: make unwatchFile() insensitive to path (iamdoron)
  • net: do not re-emit stream errors (Fedor Indutny)
  • net: make Socket destroy() re-entrance safe (Jun Ma)
  • net: reset `endEmitted` on reconnect (Fedor Indutny)
  • node: do not close stdio implicitly (Fedor Indutny)
  • zlib: avoid assertion in close (Fedor Indutny)

New in Node.js 0.11.11 Beta (Jan 29, 2014)

  • v8: Upgrade to 3.22.24.19
  • http_parser: Upgrade to 2.2.1
  • openssl: Upgrade to 1.0.1f
  • uv: Upgrade to 0.11.18
  • async-listener: revamp of subsystem (Trevor Norris)
  • node: do not ever close stdio (Fedor Indutny)
  • http: use writev on chunked encoding (Trevor Norris)
  • async_wrap/timers: remove Add/RemoveAsyncListener (Trevor Norris)
  • child_process: better error reporting for exec (Fedor Indutny)
  • crypto: add newline to cert and key if not present (Fedor Indutny)
  • crypto: clear error in GetPeerCertificate (Fedor Indutny)
  • crypto: honor default ciphers in client mode (Jacob Hoffman-Andrews)
  • crypto: introduce .setEngine(engine, [flags]) (Fedor Indutny)
  • crypto: support custom pbkdf2 digest methods (Ben Noordhuis)
  • domain: fix off-by-one in Domain.exit() (Ryan Graham)
  • http: concatenate duplicate headers by default (Alex Kocharin)
  • http: do not emit EOF non-readable socket (Fedor Indutny)
  • node: fix argument parsing with -p arg (Alexis Campailla)
  • path: improve POSIX path.join() performance (Jo Liss)
  • tls: emit `clientError` on early socket close (Fedor Indutny)
  • tls: introduce `.setMaxSendFragment(size)` (Fedor Indutny)
  • tls: make cert/pfx optional in tls.createServer() (Ben Noordhuis)
  • tls: process accumulated input (Fedor Indutny)
  • tls: show human-readable error messages (Ben Noordhuis)
  • util: handle escaped forward slashes correctly (Tom Gallacher)

New in Node.js 0.11.10 Beta (Jan 3, 2014)

  • http_parser: update to 2.2
  • uv: Upgrade to v0.11.17
  • v8: Upgrade to 3.22.24.10
  • buffer: optimize writeInt* methods (Paul Loyd)
  • child_process: better error handling (Alexis Campailla)
  • cluster: do not synchronously emit 'setup' event (Sam Roberts)
  • cluster: restore backwards compatibility and various fixes (Sam Roberts)
  • crypto: remove unnecessary OpenSSL_add_all_digests (Yorkie)
  • crypto: support GCM authenticated encryption mode. (Ingmar Runge)
  • dns: add resolveSoa and 'SOA' rrtype (Tuğrul Topuz)
  • events: move EE c'tor guts to EventEmitter.init (Bert Belder)
  • http: DELETE shouldn't default to chunked encoding (Lalit Kapoor)
  • http: parse the status message in a http response. (Cam Swords)
  • node: fix removing AsyncListener in callback (Vladimir Kurchatkin)
  • node: follow specification, zero-fill ArrayBuffers (Trevor Norris)
  • openssl: use ASM optimized routines (Fedor Indutny)
  • process: allow nextTick infinite recursion (Trevor Norris)
  • querystring: remove `name` from `stringify()` (Yorkie)
  • timers: setImmediate v8 optimization fix (pflannery)
  • tls: add serialNumber to getPeerCertificate() (Ben Noordhuis)
  • tls: reintroduce socket.encrypted (Fedor Indutny)
  • tls: fix handling of asterisk in SNI context (Fedor Indutny)
  • util: Format negative zero as '-0' (David Chan)
  • vm: fix race condition in timeout (Alexis Campailla)
  • windows: fix dns lookup of localhost with ipv6 (Alexis Campailla)

New in Node.js 0.10.24 (Dec 19, 2013)

  • uv: Upgrade to v0.10.21
  • npm: upgrade to 1.3.21
  • v8: backport fix for CVE-2013-{6639|6640}
  • build: unix install node and dep library headers (Timothy J Fontaine)
  • cluster, v8: fix --logfile=%p.log (Ben Noordhuis)
  • module: only cache package main (Wyatt Preul)

New in Node.js 0.10.23 (Dec 12, 2013)

  • uv: Upgrade to v0.10.20 (Timothy J Fontaine)
  • npm: Upgrade to 1.3.17 (isaacs)
  • gyp: update to 78b26f7 (Timothy J Fontaine)
  • build: include postmortem symbols on linux (Timothy J Fontaine)
  • crypto: Make Decipher._flush() emit errors. (Kai Groner)
  • dgram: fix abort when getting `fd` of closed dgram (Fedor Indutny)
  • events: do not accept NaN in setMaxListeners (Fedor Indutny)
  • events: avoid calling `once` functions twice (Tim Wood)
  • events: fix TypeError in removeAllListeners (Jeremy Martin)
  • fs: report correct path when EEXIST (Fedor Indutny)
  • process: enforce allowed signals for kill (Sam Roberts)
  • tls: emit 'end' on .receivedShutdown (Fedor Indutny)
  • tls: fix potential data corruption (Fedor Indutny)
  • tls: handle `ssl.start()` errors appropriately (Fedor Indutny)
  • tls: reset NPN callbacks after SNI (Fedor Indutny)

New in Node.js 0.11.9 Beta (Nov 21, 2013)

  • uv: upgrade to v0.11.15 (Timothy J Fontaine)
  • v8: upgrade to 3.22.24.5 (Timothy J Fontaine)
  • buffer: remove warning when no encoding is passed (Trevor Norris)
  • build: make v8 use random seed for hash tables (Ben Noordhuis)
  • crypto: build with shared openssl without NPN (Ben Noordhuis)
  • crypto: update root certificates (Ben Noordhuis)
  • debugger: pass on v8 debug switches (Ben Noordhuis)
  • domain: use AsyncListener API (Trevor Norris)
  • fs: add recursive subdirectory support to fs.watch (Nick Simmons)
  • fs: make fs.watch() non-recursive by default (Ben Noordhuis)
  • http: cleanup freeSockets when socket destroyed (fengmk2)
  • http: force socket encoding to be null (isaacs)
  • http: make DELETE requests set `req.method` (Nathan Rajlich)
  • node: add AsyncListener support (Trevor Norris)
  • src: remove global HandleScope that hid memory leaks (Ben Noordhuis)
  • tls: add ECDH ciphers support (Erik Dubbelboer)
  • tls: do not default to 'localhost' servername (Fedor Indutny)
  • tls: more accurate wrapping of connecting socket (Fedor Indutny)

New in Node.js 0.11.8 Beta (Nov 9, 2013)

  • uv: Upgrade to v0.11.14
  • v8: upgrade 3.21.18.3
  • assert: indicate if exception message is generated (Glen Mailer)
  • buffer: add buf.toArrayBuffer() API (Trevor Norris)
  • cluster: fix premature 'disconnect' event (Ben Noordhuis)
  • crypto: add SPKAC support (Jason Gerfen)
  • debugger: count space for line numbers correctly (Alex Kocharin)
  • debugger: make busy loops SIGUSR1-interruptible (Ben Noordhuis)
  • debugger: repeat last command (Alex Kocharin)
  • debugger: show current line, fix for #6150 (Alex Kocharin)
  • dgram: send() can accept strings (Trevor Norris)
  • dns: rename domain to hostname (Ben Noordhuis)
  • dns: set hostname property on error object (Ben Noordhuis)
  • dtrace, mdb_v8: support more string, frame types (Dave Pacheco)
  • http: add statusMessage (Patrik Stutz)
  • http: expose supported methods (Ben Noordhuis)
  • http: provide backpressure for pipeline flood (isaacs)
  • process: Add exitCode property (isaacs)
  • tls: socket.renegotiate(options, callback) (Fedor Indutny)
  • util: format as Error if instanceof Error (Rod Vagg)

New in Node.js 0.10.21 (Nov 9, 2013)

  • uv: Upgrade to v0.10.18
  • crypto: clear errors from verify failure (Timothy J Fontaine)
  • dtrace: interpret two byte strings (Dave Pacheco)
  • fs: fix fs.truncate() file content zeroing bug (Ben Noordhuis)
  • http: provide backpressure for pipeline flood (isaacs)
  • tls: fix premature connection termination (Ben Noordhuis)

New in Node.js 0.10.20 (Oct 1, 2013)

  • tls: fix sporadic hang and partial reads
  • fixes "npm ERR! cb() never called!"

New in Node.js 0.10.19 (Sep 25, 2013)

  • uv: Upgrade to v0.10.17
  • npm: upgrade to 1.3.11
  • readline: handle input starting with control chars (Eric Schrock)
  • configure: add mips-float-abi (soft, hard) option (Andrei Sedoi)
  • stream: objectMode transforms allow falsey values (isaacs)
  • tls: prevent duplicate values returned from read (Nathan Rajlich)
  • tls: NPN protocols are now local to connections (Fedor Indutny)

New in Node.js 0.10.18 (Sep 5, 2013)

  • uv: Upgrade to v0.10.15
  • stream: Don't crash on unset _events property (isaacs)
  • stream: Pass 'buffer' encoding with decoded writable chunks (isaacs)

New in Node.js 0.11.7 Beta (Sep 5, 2013)

  • uv: upgrade to v0.11.13
  • v8: upgrade to 3.20.17
  • buffer: adhere to INSPECT_MAX_BYTES (Timothy J Fontaine)
  • buffer: fix regression for large buffer creation (Trevor Norris)
  • buffer: don't throw if slice length too long (Trevor Norris)
  • buffer: Buffer(buf) constructor copies into the proper buffer (Ben Noordhuis)
  • cli: remove --max-stack-size (Ben Noordhuis)
  • cli: unknown command line options are errors (Ben Noordhuis)
  • child_process: exec accept buffer as an encoding (Seth Fitzsimmons)
  • crypto: make randomBytes/pbkdf2 callbacks domain aware (Ben Noordhuis)
  • domain: deprecate domain.dispose(). (Forrest L Norvell)
  • fs: Expose birthtime on stat objects (isaacs)
  • http: Only send connection:keep-alive if necessary (isaacs)
  • repl: Catch syntax errors better (isaacs, Nathan Rajlich)
  • stream: change default highWaterMark for objectMode to 16 (Mathias Buus)
  • stream: make setEncoding/pause/resume chainable (Julian Gruber, isaacs)
  • util: pass opts to custom inspect functions (Timothy J Fontaine)
  • vm: rewritten to behave like Contextify (Domenic Denicola)

New in Node.js 0.11.6 Beta (Aug 22, 2013)

  • uv: Upgrade to v0.11.8
  • v8: upgrade v8 to 3.20.14.1
  • build: disable SSLv2 by default (Ben Noordhuis)
  • build: don't auto-destroy existing configuration (Ben Noordhuis)
  • crypto: add TLS 1.1 and 1.2 to secureProtocol list (Matthias Bartelmeß)
  • crypto: fix memory leak in randomBytes() error path (Ben Noordhuis)
  • dgram: don't call into js when send cb is omitted (Ben Noordhuis)
  • dgram: fix regression in string argument handling (Ben Noordhuis)
  • domains: performance improvements (Trevor Norris)
  • events: EventEmitter = require('events') (Jake Verbaten)
  • http: Add write()/end() callbacks (isaacs)
  • http: Consistent 'finish' event semantics (isaacs)
  • http: Prefer 'binary' over 'ascii' (isaacs)
  • http: Support legacy agent.addRequest API (isaacs)
  • http: Write hex/base64 chunks properly (isaacs)
  • http: add agent.maxFreeSockets option (isaacs)
  • http: provide access to raw headers/trailers (isaacs)
  • http: removed headers stay removed (James Halliday)
  • http,timers: improve callback performance (Ben Noordhuis)
  • net: family option in net.connect (Vsevolod Strukchinsky)
  • readline: pause stdin before turning off terminal raw mode (Daniel Chatfield)
  • smalloc: allow different external array types (Trevor Norris)
  • smalloc: expose ExternalArraySize (Trevor Norris)
  • stream: Short-circuit buffer pushes when flowing (isaacs)
  • tls: handle errors on socket before releasing it (Fedor Indutny)
  • util: fix isPrimitive check (Trevor Norris)
  • util: isObject should always return boolean (Trevor Norris)

New in Node.js 0.10.17 (Aug 22, 2013)

  • uv: Upgrade v0.10.14
  • http_parser: Do not accept PUN/GEM methods as PUT/GET (Chris Dickinson)
  • tls: fix assertion when ssl is destroyed at read (Fedor Indutny)
  • stream: Throw on 'error' if listeners removed (isaacs)
  • dgram: fix assertion on bad send() arguments (Ben Noordhuis)
  • readline: pause stdin before turning off terminal raw mode (Daniel Chatfield)

New in Node.js 0.10.16 (Aug 17, 2013)

  • v8: back-port fix for CVE-2013-2882
  • npm: Upgrade to 1.3.8
  • crypto: fix assert() on malformed hex input (Ben Noordhuis)
  • crypto: fix memory leak in randomBytes() error path (Ben Noordhuis)
  • events: fix memory leak, don't leak event names (Ben Noordhuis)
  • http: Handle hex/base64 encodings properly (isaacs)
  • http: improve chunked res.write(buf) performance (Ben Noordhuis)
  • stream: Fix double pipe error emit (Eran Hammer)

New in Node.js 0.11.5 Beta (Aug 7, 2013)

  • v8: upgrade to 3.20.11
  • uv: upgrade to v0.11.7
  • buffer: return offset for end of last write (Trevor Norris)
  • build: embed the mdb_v8.so into the binary (Timothy J Fontaine)
  • build: fix --without-ssl build (Ben Noordhuis)
  • child_process: add 'shell' option to .exec() (Ben Noordhuis)
  • dgram: report send errors to cb, don't pass bytes (Ben Noordhuis)
  • fs: write strings directly to disk (Trevor Norris)
  • https: fix default port (Koichi Kobayashi)
  • openssl: use asm for sha, md5, rmd (Fedor Indutny)
  • os: add mac address to networkInterfaces() output (Brian White)
  • smalloc: introduce smalloc module (Trevor Norris)
  • stream: Simplify flowing, passive data listening (streams3) (isaacs)
  • tls: asynchronous SNICallback (Fedor Indutny)
  • tls: share tls tickets key between cluster workers (Fedor Indutny)
  • util: don't throw on circular %j input to format() (Ben Noordhuis)

New in Node.js 0.10.15 (Jul 26, 2013)

  • src: fix process.getuid() return value

New in Node.js 0.11.4 Beta (Jul 13, 2013)

  • npm: Upgrade to 1.3.4
  • v8: Upgrade to v3.20.2
  • c-ares: Upgrade to piscisaureus/cares@805d153
  • timers: setImmediate process full queue each turn (Ben Noordhuis)
  • http: Add agent.get/request methods (isaacs)
  • http: Proper KeepAlive behavior (isaacs)
  • configure: fix the --without-ssl option (Nathan Rajlich)
  • buffer: propagate originating parent (Trevor Norris)
  • tls_wrap: return Error not throw for missing cert (Timothy J Fontaine)
  • src: enable native v8 typed arrays (Ben Noordhuis)
  • stream: objectMode transform should allow falsey values (Jeff Barczewski)
  • slab_allocator: remove SlabAllocator (Trevor Norris)
  • crypto: fix memory leak in LoadPKCS12 (Fedor Indutny)
  • tls: export TLSSocket (Fedor Indutny)
  • zlib: allow changing of level and strategy (Brian White)
  • zlib: allow custom flush type for flush() (Brian White)

New in Node.js 0.10.13 (Jul 10, 2013)

  • uv: Upgrade to v0.10.12
  • npm: Upgrade to 1.3.2
  • windows: get proper errno (Ben Noordhuis)
  • tls: only wait for finish if we haven't seen it (Timothy J Fontaine)
  • http: Dump response when request is aborted (isaacs)
  • http: use an unref'd timer to fix delay in exit (Peter Rust)
  • zlib: level can be negative (Brian White)
  • zlib: allow zero values for level and strategy (Brian White)
  • buffer: add comment explaining buffer alignment (Ben Noordhuis)
  • string_bytes: properly detect 64bit (Timothy J Fontaine)
  • src: fix memory leak in UsingDomains() (Ben Noordhuis)

New in Node.js 0.11.3 Beta (Jun 27, 2013)

  • uv: Upgrade to v0.11.5
  • c-ares: upgrade to 1.10.0
  • v8: upgrade to v3.19.13
  • punycode: update to v1.2.3 (Mathias Bynens)
  • debugger: break on uncaught exception (Miroslav Bajtos)
  • child_process: emit 'disconnect' asynchronously (Ben Noordhuis)
  • dtrace: enable uv's probes if enabled (Timothy J Fontaine)
  • dtrace: unify dtrace and systemtap interfaces (Timothy J Fontaine)
  • buffer: New API for backing data store (Trevor Norris)
  • buffer: return this in fill() for chainability (Brian White)
  • build: fix include order for building on windows (Timothy J Fontaine)
  • build: add android support (Linus Mårtensson)
  • readline: strip ctrl chars for prompt width calc (Krzysztof Chrapka)
  • tls: introduce TLSSocket based on tls_wrap binding (Fedor Indutny)
  • tls: add localAddress and localPort properties (Ben Noordhuis)
  • crypto: free excessive memory in NodeBIO (Fedor Indutny)
  • process: remove maxTickDepth (Trevor Norris)
  • timers: use uv_now instead of Date.now (Timothy J Fontaine)
  • util: Add debuglog, deprecate console lookalikes (isaacs)
  • module: use path.sep instead of a custom solution (Robert Kowalski)
  • http: don't escape request path, reject bad chars (Ben Noordhuis)
  • net: emit dns 'lookup' event before connect (Ben Noordhuis)
  • dns: add getServers and setServers (Timothy J Fontaine)

New in Node.js 0.10.12 (Jun 19, 2013)

  • npm: Upgrade to 1.2.32
  • readline: make `ctrl + L` clear the screen (Yuan Chuan)
  • v8: add setVariableValue debugger command (Ben Noordhuis)
  • net: Do not destroy socket mid-write (isaacs)
  • v8: fix build for mips32r2 architecture (Andrei Sedoi)
  • configure: fix cross-compilation host_arch_cc() (Andrei Sedoi)

New in Node.js 0.10.11 (Jun 14, 2013)

  • uv: upgrade to 0.10.11
  • npm: Upgrade to 1.2.30
  • openssl: add missing configuration pieces for MIPS (Andrei Sedoi)
  • Revert "http: remove bodyHead from 'upgrade' events" (isaacs)
  • v8: fix pointer arithmetic undefined behavior (Trevor Norris)
  • crypto: fix utf8/utf-8 encoding check (Ben Noordhuis)
  • net: Fix busy loop on POLLERR|POLLHUP on older linux kernels (Ben Noordhuis, isaacs)

New in Node.js 0.10.10 (Jun 5, 2013)

  • uv: Upgrade to 0.10.10
  • npm: Upgrade to 1.2.25
  • url: Properly parse certain oddly formed urls (isaacs)
  • stream: unshift('') is a noop (isaacs)

New in Node.js 0.10.9 (May 31, 2013)

  • npm: Upgrade to 1.2.24
  • uv: Upgrade to v0.10.9
  • repl: fix JSON.parse error check (Brian White)
  • tls: proper .destroySoon (Fedor Indutny)
  • tls: invoke write cb only after opposite read end (Fedor Indutny)
  • tls: ignore .shutdown() syscall error (Fedor Indutny)

New in Node.js 0.10.8 (May 25, 2013)

  • v8: update to 3.14.5.9
  • uv: upgrade to 0.10.8
  • npm: Upgrade to 1.2.23
  • http: remove bodyHead from 'upgrade' events (Nathan Zadoks)
  • http: Return true on empty writes, not false (isaacs)
  • http: save roundtrips, convert buffers to strings (Ben Noordhuis)
  • configure: respect the --dest-os flag consistently (Nathan Rajlich)
  • buffer: throw when writing beyond buffer (Trevor Norris)
  • crypto: Clear error after DiffieHellman key errors (isaacs)
  • string_bytes: strip padding from base64 strings (Trevor Norris)

New in Node.js 0.10.7 (May 18, 2013)

  • uv: upgrade to v0.10.7
  • npm: Upgrade to 1.2.21
  • crypto: Don't ignore verify encoding argument (isaacs)
  • buffer, crypto: fix default encoding regression (Ben Noordhuis)
  • timers: fix setInterval() assert (Ben Noordhuis)

New in Node.js 0.10.6 (May 15, 2013)

  • module: Deprecate require.extensions (isaacs)
  • stream: make Readable.wrap support objectMode, empty streams (Daniel Moore)
  • child_process: fix handle delivery (Ben Noordhuis)
  • crypto: Fix performance regression (isaacs)
  • src: DRY string encoding/decoding (isaacs)

New in Node.js 0.11.2 Beta (May 14, 2013)

  • uv: Upgrade to 0.11.2
  • V8: Upgrade to 3.19.0
  • npm: Upgrade to 1.2.21
  • build: Makefile should respect configure --prefix (Timothy J Fontaine)
  • cluster: use round-robin load balancing (Ben Noordhuis)
  • debugger, cluster: each worker has new debug port (Miroslav Bajtoš)
  • debugger: `restart` with custom debug port (Miroslav Bajtoš)
  • debugger: breakpoints in scripts not loaded yet (Miroslav Bajtoš)
  • event: EventEmitter#setMaxListeners() returns this (Sam Roberts)
  • events: add EventEmitter.defaultMaxListeners (Ben Noordhuis)
  • install: Support $(PREFIX) install target directory prefix (Olof Johansson)
  • os: Include netmask in os.networkInterfaces() (Ben Kelly)
  • path: add path.isAbsolute(path) (Ryan Doenges)
  • stream: Guarantee ordering of 'finish' event (isaacs)
  • streams: introduce .cork/.uncork/._writev (Fedor Indutny)
  • vm: add support for timeout argument (Andrew Paprocki)

New in Node.js 0.10.5 (Apr 24, 2013)

  • uv: Upgrade to 0.10.5 (isaacs)
  • build: added support for Visual Studio 2012 (Miroslav Bajtoš)
  • http: Don't try to destroy nonexistent sockets (isaacs)
  • crypto: LazyTransform on properties, not methods (isaacs)
  • assert: put info in err.message, not err.name (Ryan Doenges)
  • dgram: fix no address bind() (Ben Noordhuis)
  • handle_wrap: fix NULL pointer dereference (Ben Noordhuis)
  • os: fix unlikely buffer overflow in os.type() (Ben Noordhuis)
  • stream: Fix unshift() race conditions (isaacs)

New in Node.js 0.11.1 Beta (Apr 20, 2013)

  • V8: upgrade to 3.18.0
  • uv: Upgrade to v0.11.1
  • http: split into multiple separate modules (Timothy J Fontaine)
  • http: escape unsafe characters in request path (Ben Noordhuis)
  • url: Escape all unwise characters (isaacs)
  • build: depend on v8 postmortem-metadata if enabled (Paddy Byers)
  • etw: update prototypes to match dtrace provider (Timothy J Fontaine)
  • buffer: change output of Buffer.prototype.toJSON() (David Braun)
  • dtrace: actually use the _handle.fd value (Timothy J Fontaine)
  • dtrace: pass more arguments to probes (Dave Pacheco)
  • build: allow building with dtrace on osx (Dave Pacheco)
  • zlib: allow passing options to convenience methods (Kyle Robinson Young)

New in Node.js 0.10.4 (Apr 12, 2013)

  • uv: Upgrade to 0.10.4
  • npm: Upgrade to 1.2.18
  • v8: Avoid excessive memory growth in JSON.parse (Fedor Indutny)
  • child_process, cluster: fix O(n*m) scan of cmd string (Ben Noordhuis)
  • net: fix socket.bytesWritten Buffers support (Fedor Indutny)
  • buffer: fix offset checks (Łukasz Walukiewicz)
  • stream: call write cb before finish event (isaacs)
  • http: Support write(data, 'hex') (isaacs)
  • crypto: dh secret should be left-padded (Fedor Indutny)
  • process: expose NODE_MODULE_VERSION in process.versions (Rod Vagg)
  • crypto: fix constructor call in crypto streams (Andreas Madsen)
  • net: account for encoding in .byteLength (Fedor Indutny)
  • net: fix buffer iteration in bytesWritten (Fedor Indutny)
  • crypto: zero is not an error if writing 0 bytes (Fedor Indutny)
  • tls: Re-enable check of CN-ID in cert verification (Tobias Müllerleile)

New in Node.js 0.10.3 (Apr 6, 2013)

  • npm: Upgrade to 1.2.17
  • child_process: acknowledge sent handles (Fedor Indutny)
  • etw: update prototypes to match dtrace provider (Timothy J Fontaine)
  • dtrace: pass more arguments to probes (Dave Pacheco)
  • build: allow building with dtrace on osx (Dave Pacheco)
  • http: Remove legacy ECONNRESET workaround code (isaacs)
  • http: Ensure socket cleanup on client response end (isaacs)
  • tls: Destroy socket when encrypted side closes (isaacs)
  • repl: isSyntaxError() catches "strict mode" errors (Nathan Rajlich)
  • crypto: Pass options to ctor calls (isaacs)
  • src: tie process.versions.uv to uv_version_string() (Ben Noordhuis)

New in Node.js 0.10.2 (Mar 29, 2013)

  • npm: Upgrade to 1.2.15
  • uv: Upgrade to 0.10.3
  • tls: handle SSL_ERROR_ZERO_RETURN (Fedor Indutny)
  • tls: handle errors before calling C++ methods (Fedor Indutny)
  • tls: remove harmful unnecessary bounds checking (Marcel Laverdet)
  • crypto: make getCiphers() return non-SSL ciphers (Ben Noordhuis)
  • crypto: check randomBytes() size argument (Ben Noordhuis)
  • timers: do not calculate Timeout._when property (Alexey Kupershtokh)
  • timers: fix off-by-one ms error (Alexey Kupershtokh)
  • timers: handle signed int32 overflow in enroll() (Fedor Indutny)
  • stream: Fix stall in Transform under very specific conditions (Gil Pedersen)
  • stream: Handle late 'readable' event listeners (isaacs)
  • stream: Fix early end in Writables on zero-length writes (isaacs)
  • domain: fix domain callback from MakeCallback (Trevor Norris)
  • child_process: don't emit same handle twice (Ben Noordhuis)
  • child_process: fix sending utf-8 to child process (Ben Noordhuis)

New in Node.js 0.11.0 Beta (Mar 29, 2013)

  • V8: update to 3.17.13
  • os: use %SystemRoot% or %windir% in os.tmpdir() (Suwon Chae)
  • util: fix util.inspect() line width calculation (Marcin Kostrzewa)
  • buffer: remove _charsWritten (Trevor Norris)
  • fs: uv_[fl]stat now reports subsecond resolution (Timothy J Fontaine)
  • fs: Throw if error raised and missing callback (bnoordhuis)
  • tls: expose SSL_CTX_set_timeout via tls.createServer (Manav Rathi)
  • tls: remove harmful unnecessary bounds checking (Marcel Laverdet)
  • buffer: write ascii strings using WriteOneByte (Trevor Norris)
  • dtrace: fix generation of v8 constants on freebsd (Fedor Indutny)
  • dtrace: x64 ustack helper (Fedor Indutny)
  • readline: handle wide characters properly (Nao Iizuka)
  • repl: Use a domain to catch async errors safely (isaacs)
  • repl: emit 'reset' event when context is reset (Sami Samhuri)
  • util: custom `inspect()` method may return an Object (Nathan Rajlich)
  • console: `console.dir()` bypasses inspect() methods (Nathan Rajlich)

New in Node.js 0.10.1 (Mar 22, 2013)

  • npm: upgrade to 1.2.15
  • crypto: Improve performance of non-stream APIs (Fedor Indutny)
  • tls: always reset this.ssl.error after handling (Fedor Indutny)
  • tls: Prevent mid-stream hangs (Fedor Indutny, isaacs)
  • net: improve arbitrary tcp socket support (Ben Noordhuis)
  • net: handle 'finish' event only after 'connect' (Fedor Indutny)
  • http: Don't hot-path end() for large buffers (isaacs)
  • fs: Missing cb errors are deprecated, not a throw (isaacs)
  • fs: make write/appendFileSync correctly set file mode (Raymond Feng)
  • stream: Return self from readable.wrap (isaacs)
  • stream: Never call decoder.end() multiple times (Gil Pedersen)
  • windows: enable watching signals with process.on('SIGXYZ') (Bert Belder)
  • node: revert removal of MakeCallback (Trevor Norris)
  • node: Unwrap without aborting in handle fd getter (isaacs)

New in Node.js 0.10.0 (Mar 12, 2013)

  • npm: Upgrade to 1.2.14
  • core: Append filename properly in dlopen on windows (isaacs)
  • zlib: Manage flush flags appropriately (isaacs)
  • domains: Handle errors thrown in nested error handlers (isaacs)
  • buffer: Strip high bits when converting to ascii (Ben Noordhuis)
  • child_process: support sending dgram socket (Andreas Madsen)
  • fs: Raise EISDIR on Windows when calling fs.read/write on a dir (isaacs)
  • unix: fix strict aliasing warnings, macro-ify functions (Ben Noordhuis)
  • unix: honor UV_THREADPOOL_SIZE environment var (Ben Noordhuis)

New in Node.js 0.8.22 (Mar 7, 2013)

  • npm: Update to 1.2.14
  • cluster: propagate bind errors (Ben Noordhuis)
  • crypto: don't assert when calling Cipher#final() twice (Ben Noordhuis)
  • build, windows: disable SEH (Ben Noordhuis)

New in Node.js 0.9.12 Beta (Mar 7, 2013)

  • stream: Allow strings in Readable.push/unshift (isaacs)
  • stream: Remove bufferSize option (isaacs)
  • stream: Increase highWaterMark on large reads (isaacs)
  • stream: _write: takes an encoding argument (isaacs)
  • stream: _transform: remove output() method, provide encoding (isaacs)
  • stream: Don't require read(0) to emit 'readable' event (isaacs)
  • node: Add --throw-deprecation (isaacs)
  • http: fix multiple timeout events (Eugene Girshov)
  • http: More useful setTimeout API on server (isaacs)
  • net: use close callback, not process.nextTick (Ben Noordhuis)
  • net: Provide better error when writing after FIN (isaacs)
  • dns: Support NAPTR queries (Pavel Lang)
  • dns: fix ReferenceError in resolve() error path (Xidorn Quan)
  • child_process: handle ENOENT correctly on Windows (Scott Blomquist)
  • cluster: Rename destroy() to kill(signal=SIGTERM) (isaacs)
  • build: define nightly tag external to build system (Timothy J Fontaine)
  • build: make msi build work when spaces are present in the path (Bert Belder)
  • build: fix msi build issue with WiX 3.7/3.8 (Raymond Feng)
  • repl: make compatible with domains (Dave Olszewski)
  • events: Code cleanup and performance improvements (Trevor Norris)

New in Node.js 0.9.11 Beta (Mar 2, 2013)

  • V8: downgrade 3.14.5
  • openssl: update to 1.0.1e
  • darwin: Make process.title work properly (Ben Noordhuis)
  • fs: Support mode/flag options to read/append/writeFile (isaacs)
  • stream: _read() no longer takes a callback (isaacs)
  • stream: Add stream.unshift(chunk) (isaacs)
  • stream: remove lowWaterMark feature (isaacs)
  • net: omit superfluous 'connect' event (Ben Noordhuis)
  • build, windows: disable SEH (Ben Noordhuis)
  • core: remove errno global (Ben Noordhuis)
  • core: Remove the nextTick for running the main file (isaacs)
  • core: Mark exit() calls with status codes (isaacs)
  • core: Fix debug signal handler race condition lock (isaacs)
  • crypto: clear error stack (Ben Noordhuis)
  • test: optionally set common.PORT via env variable (Timothy J Fontaine)
  • path: Throw TypeError on non-string args to path.resolve/join (isaacs, Arianit Uka)
  • crypto: fix uninitialized memory access in openssl (Ben Noordhuis)

New in Node.js 0.8.21 (Feb 26, 2013)

  • http: Do not free the wrong parser on socket close (isaacs)
  • http: Handle hangup writes more gently (isaacs)
  • zlib: fix assert on bad input (Ben Noordhuis)
  • test: add TAP output to the test runner (Timothy J Fontaine)
  • unix: Handle EINPROGRESS from domain sockets (Ben Noordhuis)

New in Node.js 0.9.10 Beta (Feb 20, 2013)

  • V8: Upgrade to 3.15.11.15
  • npm: Upgrade to 1.2.12
  • fs: Change default WriteStream config, increase perf (isaacs)
  • process: streamlining tick callback logic (Trevor Norris)
  • stream_wrap, udp_wrap: add read-only fd property (Ben Noordhuis)
  • buffer: accept negative indices in Buffer#slice() (Ben Noordhuis)
  • tls: Cycle data when underlying socket drains (isaacs)
  • stream: read(0) should not always trigger _read(n,cb) (isaacs)
  • stream: Empty strings/buffers do not signal EOF any longer (isaacs)
  • crypto: improve cipher/decipher error messages (Ben Noordhuis)
  • net: Respect the 'readable' flag on sockets (isaacs)
  • net: don't suppress ECONNRESET (Ben Noordhuis)
  • typed arrays: copy Buffer in typed array constructor (Ben Noordhuis)
  • typed arrays: make DataView throw on non-ArrayBuffer (Ben Noordhuis)
  • windows: MSI installer enhancements (Scott Blomquist, Jim Schubert)

New in Node.js 0.8.20 (Feb 19, 2013)

  • npm: Upgrade to v1.2.11
  • http: Do not let Agent hand out destroyed sockets (isaacs)
  • http: Raise hangup error on destroyed socket write (isaacs)
  • http: protect against response splitting attacks (Bert Belder)

New in Node.js 0.9.9 Beta (Feb 8, 2013)

  • tls: port CryptoStream to streams2 (Fedor Indutny)
  • typed arrays: only share ArrayBuffer backing store (Ben Noordhuis)
  • stream: make Writable#end() accept a callback function (Nathan Rajlich)
  • buffer: optimize 'hex' handling (Ben Noordhuis)
  • dns, cares: don't filter NOTIMP, REFUSED, SERVFAIL (Ben Noordhuis)
  • readline: treat bare \r as a line ending (isaacs)
  • readline: make \r\n emit one 'line' event (Ben Noordhuis)
  • cluster: support datagram sockets (Bert Belder)
  • stream: Correct Transform class backpressure (isaacs)
  • addon: Pass module object to NODE_MODULE init function (isaacs, Rod Vagg)
  • buffer: slow buffer copy compatibility fix (Trevor Norris)
  • Add bytesWritten to tls.CryptoStream (Andy Burke)

New in Node.js 0.8.19 (Feb 7, 2013)

  • npm: Upgrade to v1.2.10
  • zlib: pass object size hint to V8 (Ben Noordhuis)
  • zlib: reduce memory consumption, release early (Ben Noordhuis)
  • buffer: slow buffer copy compatibility fix (Trevor Norris)
  • zlib: don't assert on malformed dictionary (Ben Noordhuis)
  • zlib: don't assert on missing dictionary (Ben Noordhuis)
  • windows: better ipv6 support (Bert Belder)
  • windows: add error mappings related to unsupported protocols (Bert Belder)
  • windows: map ERROR_DIRECTORY to UV_ENOENT (Bert Belder)

New in Node.js 0.9.8 Beta (Jan 25, 2013)

  • npm: Upgrade to v1.2.3
  • V8: Upgrade to 3.15.11.10
  • streams: Support objects other than Buffers (Jake Verbaten)
  • buffer: remove float write range checks (Trevor Norris)
  • http: close connection on 304/204 responses with chunked encoding (Ben Noordhuis)
  • build: fix build with dtrace support on FreeBSD (Fedor Indutny)
  • console: Support formatting options in trace() (isaacs)
  • domain: empty stack on all exceptions (Dave Olszewski)
  • unix, windows: make uv_*_bind() error codes consistent (Andrius Bentkus)
  • linux: add futimes() fallback (Ben Noordhuis)

New in Node.js 0.9.7 Beta (Jan 19, 2013)

  • V8: Upgrade to 3.15.11.7
  • npm: Upgrade to 1.2.2
  • punycode: Upgrade to 1.2.0 (Mathias Bynens)
  • repl: make built-in modules available by default (Felix Böhm)
  • windows: add support for '_Total' perf counters (Scott Blomquist)
  • cluster: make --prof work for workers (Ben Noordhuis)
  • child_process: do not keep list of sent sockets (Fedor Indutny)
  • tls: Follow RFC6125 more strictly (Fedor Indutny)
  • buffer: floating point read/write improvements (Trevor Norris)
  • TypedArrays: Improve dataview perf without endian param (Dean McNamee)
  • module: assert require() called with a non-empty string (Felix Böhm, James Campos)
  • stdio: Set readable/writable flags properly (isaacs)
  • stream: Properly handle large reads from push-streams (isaacs)

New in Node.js 0.8.18 (Jan 19, 2013)

  • npm: Upgrade to v1.2.2
  • dns: make error message match errno (Dan Milon)
  • tls: follow RFC6125 more stricly (Fedor Indutny)
  • buffer: reject negative SlowBuffer offsets (Ben Noordhuis)
  • install: add simplejson fallback (Chris Dent)
  • http: fix "Cannot call method 'emit' of null" (Ben Noordhuis)

New in Node.js 0.9.6 Dev (Jan 12, 2013)

  • V8: update to 3.15.11.5
  • node: remove ev-emul.h (Ben Noordhuis)
  • path: make basename and extname ignore trailing slashes (Bert Belder)
  • typed arrays: fix sunos signed/unsigned char issue (Ben Noordhuis)
  • child_process: Fix {stdio:'inherit'} regression (Ben Noordhuis)
  • child_process: Fix pipe() from child stdio streams (Maciej Małecki)
  • child_process: make fork() execPath configurable (Bradley Meck)
  • stream: Add readable.push(chunk) method (isaacs)
  • dtrace: x64 ustack helper (Fedor Indutny)
  • repl: fix floating point number parsing (Nirk Niggler)
  • repl: allow overriding builtins (Ben Noordhuis)
  • net: add localAddress and localPort to Socket (James Hight)
  • fs: make pool size coincide with ReadStream bufferSize (Shigeki Ohtsu)
  • typed arrays: implement load and store swizzling (Dean McNamee)
  • windows: fix perfctr crash on XP and 2003 (Scott Blomquist)
  • dgram: fix double implicit bind error (Ben Noordhuis)

New in Node.js 0.9.5 Dev (Jan 3, 2013)

  • assert: improve support for new execution contexts (lukebayes)
  • domain: use camelCase instead of snake_case (isaacs)
  • domain: Do not use uncaughtException handler (isaacs)
  • fs: make 'end' work with ReadStream without 'start' (Ben Noordhuis)
  • https: optimize createConnection() (Ryunosuke SATO)
  • buffer: speed up base64 encoding by 20% (Ben Noordhuis)
  • doc: Colorize API stabilitity index headers in docs (Luke Arduini)
  • net: socket.readyState corrections (bentaber)
  • http: Performance enhancements for http under streams2 (isaacs)
  • stream: fix to emit end event on http.ClientResponse (Shigeki Ohtsu)
  • stream: fix event handler leak in readstream pipe and unpipe (Andreas Madsen)
  • build: Support ./configure --tag switch (Maciej Małecki)
  • repl: don't touch `require.cache` (Nathan Rajlich)
  • node: Emit 'exit' event when exiting for an uncaught exception (isaacs)

New in Node.js 0.9.4 Dev (Dec 22, 2012)

  • streams: Update all streaming interfaces to use new classes (isaacs)
  • node: remove idle gc (Ben Noordhuis)
  • http: protect against response splitting attacks (Bert Belder)
  • fs: Raise error when null bytes detected in paths (isaacs)
  • fs: fix 'object is not a function' callback errors (Ben Noordhuis)
  • fs: add autoClose=true option to fs.createReadStream (Farid Neshat)
  • process: add getgroups(), setgroups(), initgroups() (Ben Noordhuis)
  • openssl: optimized asm code on x86 and x64 (Bert Belder)
  • crypto: fix leak in GetPeerCertificate (Fedor Indutny)
  • add systemtap support (Jan Wynholds)
  • crypto: fix ssl error handling (Sergey Kholodilov)
  • node: remove eio-emul.h (Ben Noordhuis)
  • os: add os.endianness() function (Nathan Rajlich)
  • readline: don't emit "line" events with a trailing '\n' char (Nathan Rajlich)
  • build: add configure option to generate xcode build files (Timothy J Fontaine)
  • build: allow linking against system libuv, cares, http_parser (Stephen Gallagher)
  • typed arrays: add slice() support to ArrayBuffer (Anthony Pesch)
  • debugger: exit and kill child on SIGTERM or SIGHUP (Fedor Indutny)
  • url: url.format escapes delimiters in path and query (J. Lee Coltrane)

New in Node.js 0.8.16 (Dec 14, 2012)

  • npm: Upgrade to 1.1.69
  • fs: fix WriteStream/ReadStream fd leaks
  • crypto: fix leak in GetPeerCertificate
  • buffer: Don't double-negate numeric buffer arg
  • net: More accurate IP address validation and IPv6 dotted notation.

New in Node.js 0.8.15 (Nov 27, 2012)

  • npm: Upgrade to 1.1.66 (isaacs)
  • unix: do not set environ unless one is provided (Charlie McConnell)
  • domains: don't crash if domain is set to null (Bert Belder)
  • net, tls: fix connect() resource leak (Ben Noordhuis)

New in Node.js 0.8.14 (Oct 26, 2012)

  • events: Don't clobber pre-existing _events obj in EE ctor (isaacs)
  • V8: Upgrade to 3.11.10.25
  • npm: Upgrade to 1.1.65
  • url: parse hostnames that start with - or _ (Ben Noordhuis)
  • repl: Fix Windows 8 terminal issue (Bert Belder)
  • typed arrays: use signed char for signed int8s (Aaron Jacobs)
  • crypto: fix bugs in DiffieHellman (Ben Noordhuis)
  • configure: turn on VFPv3 on ARMv7 (Ben Noordhuis)
  • Re-enable OpenSSL UI for entering passphrases via tty (Ben Noordhuis)
  • repl: ensure each REPL instance gets its own "context" (Nathan Rajlich)

New in Node.js 0.9.3 Dev (Oct 25, 2012)

  • V8: Upgrade to 3.13.7.4
  • crypto: Default to buffers instead of binary strings (isaacs, Fedor Indutny)
  • crypto: add getHashes() and getCiphers() (Ben Noordhuis)
  • unix: add custom thread pool, remove libeio (Ben Noordhuis)
  • util: make `inspect()` accept an "options" argument (Nathan Rajlich)
  • https: fix renegotation attack protection (Ben Noordhuis)
  • cluster: make 'listening' handler see actual port (Aaditya Bhatia)
  • windows: use USERPROFILE to get the user's home dir (Bert Belder)
  • path: add platform specific path delimiter (Paul Serby)
  • http: add response.headersSent property (Pavel Lang)
  • child_process: make .fork()'d child auto-exit (Ben Noordhuis)
  • events: add 'removeListener' event (Ben Noordhuis)
  • string_decoder: Add 'end' method, do base64 properly (isaacs)
  • buffer: include encoding value in exception when invalid (Ricky Ng-Adam)
  • http: make http.ServerResponse no longer emit 'end' (isaacs)
  • streams: fix pipe is destructed by 'end' from destination (koichik)

New in Node.js 0.8.12 (Oct 15, 2012)

  • npm: Upgrade to 1.1.63
  • crypto: Reduce stability index to 2-Unstable (isaacs)
  • buffer: report proper retained size in profiler (Ben Noordhuis)
  • buffer: fix byteLength with UTF-16LE (koichik)
  • repl: make "end of input" JSON.parse() errors throw in the REPL (Nathan Rajlich)
  • repl: make invalid RegExp modifiers throw in the REPL (Nathan Rajlich)
  • http: handle multiple Proxy-Authenticate values (Willi Eggeling)

New in Node.js 0.8.11 (Sep 28, 2012)

  • fs: Fix stat() size reporting for large files (Ben Noordhuis)

New in Node.js 0.9.2 Dev (Sep 18, 2012)

  • http_parser: upgrade to ad3b631
  • openssl: upgrade 1.0.1c
  • darwin: use FSEvents to watch directory changes (Fedor Indutny)
  • unix: support missing API on NetBSD (Shigeki Ohtsu)
  • unix: fix EMFILE busy loop (Ben Noordhuis)
  • windows: un-break writable tty handles (Bert Belder)
  • windows: map WSAESHUTDOWN to UV_EPIPE (Bert Belder)
  • windows: make spawn with custom environment work again (Bert Belder)
  • windows: map ERROR_DIRECTORY to UV_ENOENT (Bert Belder)
  • tls, https: validate server certificate by default (Ben Noordhuis)
  • tls, https: throw exception on missing key/cert (Ben Noordhuis)
  • tls: async session storage (Fedor Indutny)
  • installer: don't install header files (Ben Noordhuis)
  • buffer: implement Buffer.prototype.toJSON() (Nathan Rajlich)
  • buffer: added support for writing NaN and Infinity (koichik)
  • http: make http.ServerResponse emit 'end' (Ben Noordhuis)
  • build: ./configure --ninja (Ben Noordhuis, Timothy J Fontaine)
  • installer: fix --without-npm (Ben Noordhuis)
  • cli: make -p equivalent to -pe (Ben Noordhuis)
  • url: Go much faster by using Url class (isaacs)

New in Node.js 0.8.9 (Sep 12, 2012)

  • v8: upgrade to 3.11.10.22
  • GYP: upgrade to r1477
  • npm: Upgrade to 1.1.61
  • npm: Don't create world-writable files (isaacs)
  • windows: fix single-accept mode for shared server sockets (Bert Belder)
  • windows: fix uninitialized memory access in uv_update_time() (Bert Belder)
  • windows: don't throw when a signal handler is attached (Bert Belder)
  • unix: fix memory leak in udp (Ben Noordhuis)
  • unix: map errno ESPIPE (Ben Noordhuis)
  • unix, windows: fix memory corruption in fs-poll.c (Ben Noordhuis)
  • sunos: fix os.cpus() on x86_64 (Ben Noordhuis)
  • child process: fix processes with IPC channel don't emit 'close' (Bert Belder)
  • build: add a "--dest-os" option to force a gyp "flavor" (Nathan Rajlich)
  • build: set process.platform to "sunos" on SunOS (Nathan Rajlich)
  • build: fix make -j fails after make clean (Bearice Ren)
  • build: fix openssl configuration for "arm" builds (Nathan Rajlich)
  • tls: support unix domain socket/named pipe in tls.connect (Shigeki Ohtsu)
  • https: make https.get() accept a URL (koichik)
  • http: respect HTTP/1.0 TE header (Ben Noordhuis)
  • crypto, tls: Domainify setSNICallback, pbkdf2, randomBytes (Ben Noordhuis)
  • stream.pipe: Don't call destroy() unless it's a function (isaacs)

New in Node.js 0.9.1 Dev (Aug 29, 2012)

  • buffer: Add Buffer.isEncoding(enc) to test for valid encoding values (isaacs)
  • Raise UV_ECANCELED on premature close. (Ben Noordhuis)
  • Remove c-ares from libuv, move to a top-level node dependency (Bert Belder)
  • ref/unref for all HandleWraps, timers, servers, and sockets (Timothy J Fontaine)
  • addon: remove node-waf, superseded by node-gyp (Ben Noordhuis)
  • child_process: emit error on exec failure (Ben Noordhuis)
  • cluster: do not use internal server API (Andreas Madsen)
  • constants: add O_DIRECT (Ian Babrou)
  • crypto: add sync interface to crypto.pbkdf2() (Ben Noordhuis)
  • darwin: emulate fdatasync() (Fedor Indutny)
  • dgram: make .bind() always asynchronous (Ben Noordhuis)
  • events: Make emitter.listeners() side-effect free (isaacs, Joe Andaverde)
  • fs: Throw early on invalid encoding args (isaacs)
  • fs: fix naming of truncate/ftruncate functions (isaacs)
  • http: bubble up parser errors to ClientRequest (Brian White)
  • linux: improve cpuinfo parser on ARM and MIPS (Ben Noordhuis)
  • net: add support for IPv6 addresses ending in :: (Josh Erickson)
  • net: support Server.listen(Pipe) (Andreas Madsen)
  • node: don't scan add-on for "init" symbol (Ben Noordhuis)
  • remove process.uvCounters() (Ben Noordhuis)
  • repl: console writes to repl rather than process stdio (Nathan Rajlich)
  • timers: implement setImmediate (Timothy J Fontaine)
  • tls: fix segfault in pummel/test-tls-ci-reneg-attack (Ben Noordhuis)
  • tools: Move gyp addon tools to node-gyp (Nathan Rajlich)
  • unix: preliminary signal handler support (Ben Noordhuis)
  • unix: remove dependency on ev_child (Ben Noordhuis)
  • unix: work around darwin bug, don't poll() on pipe (Fedor Indutny)
  • util: Formally deprecate util.pump() (Ben Noordhuis)

New in Node.js 0.8.8 (Aug 23, 2012)

  • V8: upgrade to 3.11.10.19
  • npm: upgrade to 1.1.59
  • unix, windows: fix memory corruption in fs-poll.c
  • unix: fix integer overflow in uv_hrtime
  • sunos: fix uv_cpu_info() on x86_64
  • tls: update default cipher list
  • unix: Fix llvm and older gcc duplicate symbol warnings
  • fs: fix use after free in stat watcher
  • build: Fix using manually compiled gcc on OS X

New in Node.js 0.8.7 (Aug 16, 2012)

  • npm: Upgrade to 1.1.49
  • website: download page (Golo Roden)
  • crypto: fix uninitialized memory access in openssl (Ben Noordhuis)
  • buffer, crypto: fix buffer decoding (Ben Noordhuis)
  • build: compile with -fno-tree-vrp when gcc >= 4.0 (Ben Noordhuis)
  • tls: handle multiple CN fields when verifying cert (Ben Noordhuis)
  • doc: remove unused util from child_process (Kyle Robinson Young)
  • build: rework -fvisibility=hidden detection (Ben Noordhuis)

New in Node.js 0.8.6 (Aug 8, 2012)

  • npm: Upgrade to v1.1.48
  • Add 'make binary' to build binary tarballs for all Unixes (Nathan Rajlich)
  • zlib: Emit 'close' on destroy(). (Dominic Tarr)
  • child_process: Fix stdout=null when stdio=['pipe'] (Tyler Neylon)
  • installer: prevent ETXTBSY errors (Ben Noordhuis)
  • installer: honor --without-npm, default install path (Ben Noordhuis)
  • net: make pause work with connecting sockets (Bert Belder)
  • installer: fix cross-compile installs (Ben Noordhuis)
  • net: fix .listen({fd:0}) (Ben Noordhuis)

New in Node.js 0.8.5 (Aug 3, 2012)

  • node: tag Encode and friends NODE_EXTERN (Ben Noordhuis)
  • fs: fix ReadStream / WriteStream missing callback (Gil Pedersen)
  • fs: fix readFileSync("/proc/cpuinfo") regression (Ben Noordhuis)
  • installer: don't assume bash is installed (Ben Noordhuis)
  • Report errors properly from --eval and stdin (isaacs)
  • assert: fix throws() throws an error without message property (koichik)
  • cluster: fix libuv assert in net.listen() (Ben Noordhuis)
  • build: always link sunos builds with libumem (Trent Mick)
  • build: improve armv7 / hard-float detection (Adam Malcontenti-Wilson)
  • https: Use host header as effective servername (isaacs)
  • sunos: work around OS bug to prevent fs.watch() from spinning (Bryan Cantrill)
  • linux: fix 'two watchers, one path' segfault (Ben Noordhuis)
  • windows: fix memory leaks in many fs functions (Bert Belder)
  • windows: don't allow directories to be opened for writing/appending (Bert Belder)
  • windows: make fork() work even when not all stdio handles are valid (Bert Belder)
  • windows: make unlink() not remove mount points, and improve performance (Bert Belder)
  • build: Sign pkg installer for OS X (isaacs)

New in Node.js 0.8.4 (Jul 30, 2012)

  • V8: Upgrade to 3.11.10.17
  • npm: Upgrade to 1.1.45
  • net: fix Socket({ fd: 42 }) api (Ben Noordhuis)
  • readline: Remove event listeners on close (isaacs)
  • windows: correctly prep long path for fs.exists(Sync) (Bert Belder)
  • debugger: wake up the event loop when a debugger command is dispatched (Peter Rybin)
  • tls: verify server's identity (Fedor Indutny)
  • net: ignore socket.setTimeout(Infinity or NaN) (Fedor Indutny)

New in Node.js 0.9.0 Dev (Jul 21, 2012)

  • punycode: update to v1.1.1 (Mathias Bynens)
  • c-ares: upgrade to 1.9.0 (Saúl Ibarra Corretgé)
  • dns: ignore rogue DNS servers reported by windows (Saúl Ibarra Corretgé)
  • unix: speed up uv_async_send() (Ben Noordhuis)
  • darwin: get cpu model correctly on mac (Xidorn Quan)
  • nextTick: Handle tick callbacks before any other I/O (isaacs)
  • Enable color customization of `util.inspect` (Pavel Lang)
  • tls: Speed and memory improvements (Fedor Indutny)
  • readline: Use one history item for reentered line (Vladimir Beloborodov)
  • Fix #3521 Make process.env more like a regular Object (isaacs)

New in Node.js 0.8.3 (Jul 20, 2012)

  • V8: upgrade to 3.11.10.15
  • npm: Upgrade to 1.1.43
  • net: fix net.Server.listen({fd:x}) error reporting (Ben Noordhuis)
  • net: fix bogus errno reporting (Ben Noordhuis)
  • build: Move npm shebang logic into an npm script (isaacs)
  • build: fix add-on loading on freebsd (Ben Noordhuis)
  • build: disable unsafe optimizations (Ben Noordhuis)
  • build: fix spurious mksnapshot crashes for good (Ben Noordhuis)
  • build: speed up genv8constants (Dave Pacheco)
  • fs: make unwatchFile() remove a specific listener (Ben Noordhuis)
  • domain: Remove first arg from intercepted fn (Toshihiro Nakamura)
  • domain: Fix memory leak on error (isaacs)
  • events: Fix memory leak from removeAllListeners (Nathan Rajlich)
  • zlib: Fix memory leak in Unzip class. (isaacs)
  • crypto: Fix memory leak in DecipherUpdate() (Ben Noordhuis)

New in Node.js 0.8.2 (Jul 11, 2012)

  • npm: Upgrade to 1.1.36
  • readline: don't use Function#call() (Nathan Rajlich)
  • Code cleanup to pass 'use strict' (Jonas Westerlund)
  • module: add filename to require() json errors (TJ Holowaychuk)
  • readline: fix for unicode prompts (Tim Macfarlane)
  • timers: fix handling of large timeouts (Ben Noordhuis)
  • repl: fix passing an empty line inserting "undefined" into the buffer (Nathan Rajlich)
  • repl: fix crashes when buffering command (Maciej Małecki)
  • build: rename strict_aliasing to node_no_strict_aliasing (Ben Noordhuis)
  • build: disable -fstrict-aliasing for any gcc < 4.6.0 (Ben Noordhuis)
  • build: detect cc version with -dumpversion (Ben Noordhuis)
  • build: handle output of localized gcc or clang (Ben Noordhuis)
  • unix: fix memory corruption in freebsd.c (Ben Noordhuis)
  • unix: fix 'zero handles, one request' busy loop (Ben Noordhuis)
  • unix: fix busy loop on unexpected tcp message (Ben Noordhuis)
  • unix: fix EINPROGRESS busy loop (Ben Noordhuis

New in Node.js 0.8.1 (Jul 4, 2012)

  • V8: upgrade to v3.11.10.12
  • Fix #3577 Un-break require('sys')
  • util: speed up formatting of large arrays/objects (Ben Noordhuis)
  • build: fix --shared-v8 option (Ben Noordhuis)
  • doc: `detached` is a boolean (Andreas Madsen)
  • build: use proper python interpreter (Ben Noordhuis)
  • build: expand ~ in `./configure --prefix=~/a/b/c` (Ben Noordhuis)
  • build: handle CC env var with spaces (Gabriel de Perthuis)
  • build: fix V8 build when compiling with gcc 4.5 (Ben Noordhuis)
  • build: fix --shared-v8 option (Ben Noordhuis)
  • unix: assume that dlopen() may clobber dlerror() (Ben Noordhuis)
  • sunos: fix memory corruption bugs (Ben Noordhuis)
  • npm: upgrade to v1.1.33
  • Support for parallel use of the cache folder
  • Retry on registry timeouts or network failures (Trent Mick)
  • Reduce 'engines' failures to a warning
  • Use new zsh completion if aviailable (Jeremy Cantrell)

New in Node.js 0.8.0 (Jun 26, 2012)

  • V8: upgrade to v3.11.10.10
  • npm: Upgrade to 1.1.32
  • Deprecate iowatcher (Ben Noordhuis)
  • http: Hush 'MUST NOT have a body' warnings to debug() (isaacs)
  • Move blog.nodejs.org content into repository (isaacs)
  • Fix #3503: stdin: resume() on pipe(dest) (isaacs)
  • crypto: fix error reporting in SetKey() (Fedor Indutny)
  • Add --no-deprecation and --trace-deprecation command-line flags (isaacs)
  • fs: fix fs.watchFile() (Ben Noordhuis)
  • fs: Fix fs.readfile() on pipes (isaacs)
  • Rename GYP variable node_use_system_openssl to be consistent (Ryan Dahl)

New in Node.js 0.7.12 Dev (Jun 20, 2012)

  • Shims to support deprecated ev_* and eio_* methods (Ben Noordhuis)
  • #3118 net.Socket: Delay pause/resume until after connect (isaacs)
  • #3465 Add ./configure --no-ifaddrs flag (isaacs)
  • child_process: add .stdin stream to forks (Fedor Indutny)
  • build: fix `make install DESTDIR=/path` (Ben Noordhuis)
  • tls: fix off-by-one error in renegotiation check (Ben Noordhuis)
  • crypto: Fix diffie-hellman key generation UTF-8 errors (Fedor Indutny)
  • node: change the constructor name of process from EventEmitter to process (Andreas Madsen)
  • net: Prevent property access throws during close (Reid Burke)
  • querystring: improved speed and code cleanup (Felix Böhm)
  • sunos: fix assertion errors breaking fs.watch() (Fedor Indutny)
  • unix: stat: detect sub-second changes (Ben Noordhuis)
  • add stat() based file watcher (Ben Noordhuis)
  • npm: Upgrade to 1.1.30
  • Improved 'npm init'
  • Fix the 'cb never called' error from 'oudated' and 'update'
  • Add --save-bundle|-B config
  • Fix isaacs/npm#2465: Make npm script and windows shims cygwin-aware
  • Fix isaacs/npm#2452 Use --save(-dev|-optional) in npm rm
  • `logstream` option to replace removed `logfd` (Rod Vagg)
  • Read default descriptions from README.md files

New in Node.js 0.7.11 Dev (Jun 16, 2012)

  • V8: Upgrade to v3.11.10
  • npm: Upgrade to 1.1.26
  • doc: Improve cross-linking in API docs markdown (Ben Kelly)
  • Fix #3425: removeAllListeners should delete array (Reid Burke)
  • cluster: don't silently drop messages when the write queue gets big (Bert Belder)
  • Add Buffer.concat method (isaacs)
  • windows: make symlinks tolerant to forward slashes (Bert Belder)
  • build: Add node.d and node.1 to installer (isaacs)
  • cluster: rename worker.unqiueID to worker.id (Andreas Madsen)
  • Windows: Enable ETW events on Windows for existing DTrace probes. (Igor Zinkovsky)
  • test: bundle node-weak in test/gc so that it doesn't need to be downloaded (Nathan Rajlich)
  • Make many tests pass on Windows (Bert Belder)
  • Fix #3388 Support listening on file descriptors (isaacs)
  • Fix #3407 Add os.tmpDir() (isaacs)
  • Unbreak the snapshotted build on Windows (Bert Belder)
  • Clean up child_process.kill throws (Bert Belder)
  • crypto: make cipher/decipher accept buffer args (Ben Noordhuis)

New in Node.js 0.7.10 Dev (Jun 12, 2012)

  • Roll V8 back to 3.9.24.31
  • build: x64 target should always pass -m64 (Robert Mustacchi)
  • add NODE_EXTERN to node::Start (Joel Brandt)
  • repl: Warn about running npm commands (isaacs)
  • slab_allocator: fix crash in dtor if V8 is dead (Ben Noordhuis)
  • slab_allocator: fix leak of Persistent handles (Shigeki Ohtsu)
  • domain: Fix #3379 domain.intercept no longer passes error arg to cb (Marc Harter)
  • fs: make callbacks run in global context (Ben Noordhuis)
  • fs: enable fs.realpath on windows (isaacs)
  • child_process: expose UV_PROCESS_DETACHED as options.detached (Charlie McConnell)
  • child_process: new stdio API for .spawn() method (Fedor Indutny)
  • child_process: spawn().ref() and spawn().unref() (Fedor Indutny)
  • Upgrade npm to 1.1.25:
  • Enable npm link on windows
  • Properly remove sh-shim on Windows
  • Abstract out registry client and logger

New in Node.js 0.6.18 (Jun 12, 2012)

  • crypto: add PKCS12/PFX support (Sambasiva Suda)
  • #3240: child_process: delete NODE_CHANNEL_FD from env in spawn (Ben Noordhuis)
  • fs: Automatically close FSWatcher on error (Bert Belder)
  • #3258: fs.ReadStream.pause() emits duplicate data event (koichik)
  • pipe_wrap: don't assert() on pipe accept errors (Ben Noordhuis)
  • Better exception output for module load and process.nextTick (Felix Geisendörfer)
  • zlib: fix error reporting (Ben Noordhuis)
  • http: Don't destroy on timeout (isaacs)
  • #3231: http: Don't try to emit error on a null'ed req object (isaacs)
  • #3236: http: Refactor ClientRequest.onSocket (isaacs)

New in Node.js 0.7.9 Dev (May 30, 2012)

  • Upgrade V8 to 3.11.1
  • Upgrade npm to 1.1.23
  • uv: rework reference counting scheme (Ben Noordhuis)
  • uv: add interface for joining external event loops (Bert Belder)
  • repl, readline: Handle Ctrl+Z and SIGCONT better (Nathan Rajlich)
  • fs: 64bit offsets for fs calls (Igor Zinkovsky)
  • fs: add sync open flags 'rs' and 'rs+' (Kevin Bowman)
  • Fix #3270 Escape url.parse delims (isaacs)
  • http: make http.get() accept a URL (Adam Malcontenti-Wilson)
  • Cleanup vm module memory leakage (Marcel Laverdet)
  • Optimize writing strings with Socket.write (Bert Belder)
  • add support for CESU-8 and UTF-16LE encodings (koichik)
  • path: add path.sep to get the path separator. (Yi, EungJun)
  • net, http: add backlog parameter to .listen() (Erik Dubbelboer)
  • debugger: support mirroring Date objects (Fedor Indutny)
  • addon: add AtExit() function (Ben Noordhuis)
  • net: signal localAddress bind failure in connect (Brian Schroeder)
  • util: handle non-string return value in .inspect() (Alex Kocharin)

New in Node.js 0.7.8 Dev (May 10, 2012)

  • Upgrade V8 to 3.9.24.9
  • Upgrade OpenSSL to 1.0.0f
  • Upgrade npm to 1.1.18
  • Show licenses in Binary installers
  • Domains (isaacs)
  • readline: rename "end" to "close" (Nathan Rajlich)
  • tcp: make getsockname() return address family as string (Shigeki Ohtsu)
  • http, https: fix .setTimeout() (ssuda)
  • os: add cross platform EOL character (Mustansir Golawala)
  • typed arrays: unexport SizeOfArrayElementForType() (Aaron Jacobs)
  • net: honor 'enable' flag in .setNoDelay() (Ben Noordhuis)
  • child_process: emit error when .kill fails (Andreas Madsen)
  • gyp: fix 'argument list too long' build error (Ben Noordhuis)
  • fs.WriteStream: Handle modifications to fs.open (isaacs)
  • repl, readline: Handle newlines better (Nathan Rajlich, Nathan Friedly)
  • build: target OSX 10.5 when building on darwin (Nathan Rajlich)
  • Fix #3052 Handle errors properly in zlib (isaacs)
  • build: add support for DTrace and postmortem (Dave Pacheco)
  • core: add reusable Slab allocator (Ben Noordhuis)

New in Node.js 0.6.17 (May 10, 2012)

  • Upgrade npm to 1.1.21
  • uv: Add support for EROFS errors (Ben Noordhuis, Maciej Małecki)
  • uv: Add support for EIO and ENOSPC errors (Fedor Indutny)
  • windows: Add support for EXDEV errors (Bert Belder)
  • http: Fix client memory leaks (isaacs, Vincent Voyer)
  • fs: fix file descriptor leak in sync functions (Ben Noordhuis)
  • fs: fix ReadStream / WriteStream double close bug (Ben Noordhuis)

New in Node.js 0.4.8 (Jun 18, 2011)

  • #974 Properly report traceless errors (isaacs)
  • #983 Better JSON.parse error detection in REPL (isaacs)
  • #836 Agent socket errors bubble up to req only if req exists
  • #1041 Fix event listener leak check timing (koichik)
  • #1038 Fix dns.resolve() with 'PTR' throws Error: Unknown type "PTR" (koichik)
  • #1073 Share SSL context between server connections (Fedor Indutny)
  • Disable compression with OpenSSL. Improves memory perf.
  • Implement os.totalmem() and os.freemem() for SunOS (Alexandre Marangone)
  • Fix a special characters in URL regression (isaacs)
  • Fix idle timeouts in HTTPS (Felix GeisendoÃàrfer)
  • SlowBuffer.write() with 'ucs2' throws ReferenceError. (koichik)
  • http.ServerRequest 'close' sometimes gets an error argument (Felix GeisendoÃàrfer)
  • Doc improvements
  • cleartextstream.destroy() should close(2) the socket. Previously was being mapped to a shutdown(2) syscall.
  • No longer compile out asserts and debug statements in normal build.
  • Debugger improvements.
  • Upgrade V8 to 3.1.8.16.