node/doc/changelogs/CHANGELOG_V16.md
RafaelGSS e272637d5e
2025-05-06, Version 24.0.0 (Current)
Semver-Major Commits:

assert,util:
  * (SEMVER-MAJOR) Revert "assert,util: revert recursive breaking change (Ruben Bridgewater) https://github.com/nodejs/node/pull/57622
buffer:
  * (SEMVER-MAJOR) move SlowBuffer to EOL (James M Snell) https://github.com/nodejs/node/pull/58008
  * (SEMVER-MAJOR) make `buflen` in integer range (zhenweijin) https://github.com/nodejs/node/pull/51821
build:
  * (SEMVER-MAJOR) update list of installed cppgc headers (Michaël Zasso) https://github.com/nodejs/node/pull/58070
  * (SEMVER-MAJOR) fix V8 TLS config for shared lib builds (Michaël Zasso) https://github.com/nodejs/node/pull/58070
  * (SEMVER-MAJOR) pass `-fPIC` to linker as well for shared builds (Michaël Zasso) https://github.com/nodejs/node/pull/58070
  * (SEMVER-MAJOR) add `/bigobj` to compile V8 on Windows (Michaël Zasso) https://github.com/nodejs/node/pull/58070
  * (SEMVER-MAJOR) enable shared RO heap with ptr compression (Michaël Zasso) https://github.com/nodejs/node/pull/58070
  * (SEMVER-MAJOR) remove support for s390 32-bit (Richard Lau) https://github.com/nodejs/node/pull/58070
  * (SEMVER-MAJOR) reset embedder string to "-node.0" (Michaël Zasso) https://github.com/nodejs/node/pull/58070
  * (SEMVER-MAJOR) downgrade armv7 support to experimental (Michaël Zasso) https://github.com/nodejs/node/pull/58071
  * (SEMVER-MAJOR) bump supported macOS version to 13.5 (Michaël Zasso) https://github.com/nodejs/node/pull/57115
  * (SEMVER-MAJOR) increase minimum Xcode version to 16.1 (Michaël Zasso) https://github.com/nodejs/node/pull/56824
  * (SEMVER-MAJOR) link V8 with atomic library (Michaël Zasso) https://github.com/nodejs/node/pull/55014
  * (SEMVER-MAJOR) remove support for ppc 32-bit (Michaël Zasso) https://github.com/nodejs/node/pull/55014
  * (SEMVER-MAJOR) reset embedder string to "-node.0" (Michaël Zasso) https://github.com/nodejs/node/pull/55014
build,src,tools:
  * (SEMVER-MAJOR) adapt build config for V8 13.3 (Michaël Zasso) https://github.com/nodejs/node/pull/58070
child_process:
  * (SEMVER-MAJOR) deprecate passing `args` to `spawn` and `execFile` (Daniel Venable) https://github.com/nodejs/node/pull/57199
deps:
  * (SEMVER-MAJOR) remove deps/simdutf (Michaël Zasso) https://github.com/nodejs/node/pull/58070
  * (SEMVER-MAJOR) V8: backport 954187bb1b87 (Joyee Cheung) https://github.com/nodejs/node/pull/58070
  * (SEMVER-MAJOR) patch V8 to support compilation with MSVC (StefanStojanovic) https://github.com/nodejs/node/pull/58070
  * (SEMVER-MAJOR) always define V8_EXPORT_PRIVATE as no-op (Michaël Zasso) https://github.com/nodejs/node/pull/58070
  * (SEMVER-MAJOR) disable V8 concurrent sparkplug compilation (Michaël Zasso) https://github.com/nodejs/node/pull/58070
  * (SEMVER-MAJOR) use std::map in MSVC STL for EphemeronRememberedSet (Joyee Cheung) https://github.com/nodejs/node/pull/58070
  * (SEMVER-MAJOR) patch V8 for illumos (Dan McDonald) https://github.com/nodejs/node/pull/58070
  * (SEMVER-MAJOR) remove problematic comment from v8-internal (Michaël Zasso) https://github.com/nodejs/node/pull/58070
  * (SEMVER-MAJOR) define V8_PRESERVE_MOST as no-op on Windows (Stefan Stojanovic) https://github.com/nodejs/node/pull/58070
  * (SEMVER-MAJOR) fix FP16 bitcasts.h (Stefan Stojanovic) https://github.com/nodejs/node/pull/58070
  * (SEMVER-MAJOR) patch V8 to avoid duplicated zlib symbol (Michaël Zasso) https://github.com/nodejs/node/pull/58070
  * (SEMVER-MAJOR) update V8 to 13.6.233.8 (Michaël Zasso) https://github.com/nodejs/node/pull/58070
  * (SEMVER-MAJOR) V8: cherry-pick f915fa4c9f41 (Olivier Flückiger) https://github.com/nodejs/node/pull/55014
  * (SEMVER-MAJOR) V8: cherry-pick 0d5d6e71bbb0 (Yagiz Nizipli) https://github.com/nodejs/node/pull/55014
  * (SEMVER-MAJOR) V8: cherry-pick 0c11feeeca4a (Michaël Zasso) https://github.com/nodejs/node/pull/55014
  * (SEMVER-MAJOR) define V8_PRESERVE_MOST as no-op on Windows (Stefan Stojanovic) https://github.com/nodejs/node/pull/55014
  * (SEMVER-MAJOR) always define V8_NODISCARD as no-op (Michaël Zasso) https://github.com/nodejs/node/pull/55014
  * (SEMVER-MAJOR) fix FP16 bitcasts.h (Stefan Stojanovic) https://github.com/nodejs/node/pull/55014
  * (SEMVER-MAJOR) patch V8 to support compilation with MSVC (StefanStojanovic) https://github.com/nodejs/node/pull/55014
  * (SEMVER-MAJOR) patch V8 to avoid duplicated zlib symbol (Michaël Zasso) https://github.com/nodejs/node/pull/55014
  * (SEMVER-MAJOR) disable V8 concurrent sparkplug compilation (Michaël Zasso) https://github.com/nodejs/node/pull/55014
  * (SEMVER-MAJOR) always define V8_EXPORT_PRIVATE as no-op (Michaël Zasso) https://github.com/nodejs/node/pull/55014
  * (SEMVER-MAJOR) update V8 to 13.0.245.25 (Michaël Zasso) https://github.com/nodejs/node/pull/55014
  * (SEMVER-MAJOR) upgrade npm to 11.0.0 (npm team) https://github.com/nodejs/node/pull/56274
  * (SEMVER-MAJOR) update undici to 7.0.0 (Node.js GitHub Bot) https://github.com/nodejs/node/pull/56070
fs:
  * (SEMVER-MAJOR) remove ability to call truncate with fd (Yagiz Nizipli) https://github.com/nodejs/node/pull/57567
  * (SEMVER-MAJOR) deprecate passing invalid types in `fs.existsSync` (Carlos Espa) https://github.com/nodejs/node/pull/55753
  * (SEMVER-MAJOR) runtime deprecate `fs.F_OK`, `fs.R_OK`, `fs.W_OK`, `fs.X_OK` (Livia Medeiros) https://github.com/nodejs/node/pull/49686
  * (SEMVER-MAJOR) remove `dirent.path` (Antoine du Hamel) https://github.com/nodejs/node/pull/55548
http:
  * (SEMVER-MAJOR) remove outgoingmessage _headers and _headersList (Yagiz Nizipli) https://github.com/nodejs/node/pull/57551
http2:
  * (SEMVER-MAJOR) session tracking and graceful server close (Kushagra Pandey) https://github.com/nodejs/node/pull/57586
lib:
  * (SEMVER-MAJOR) remove obsolete Cipher export (James M Snell) https://github.com/nodejs/node/pull/57266
  * (SEMVER-MAJOR) unexpose six process bindings (Michaël Zasso) https://github.com/nodejs/node/pull/57149
  * (SEMVER-MAJOR) make ALS default to AsyncContextFrame (Stephen Belanger) https://github.com/nodejs/node/pull/55552
  * (SEMVER-MAJOR) runtime deprecate SlowBuffer (Rafael Gonzaga) https://github.com/nodejs/node/pull/55175
net:
  * (SEMVER-MAJOR) make _setSimultaneousAccepts() end-of-life deprecated (Yagiz Nizipli) https://github.com/nodejs/node/pull/57550
readline:
  * (SEMVER-MAJOR) add stricter validation for functions called after closed (Dario Piotrowicz) https://github.com/nodejs/node/pull/57680
  * (SEMVER-MAJOR) fix unicode line separators being ignored (Dario Piotrowicz) https://github.com/nodejs/node/pull/57591
repl:
  * (SEMVER-MAJOR) runtime deprecate instantiating without new (Aviv Keller) https://github.com/nodejs/node/pull/54869
src:
  * (SEMVER-MAJOR) enable `Float16Array` on global object (Michaël Zasso) https://github.com/nodejs/node/pull/58154
  * (SEMVER-MAJOR) enable explicit resource management (Michaël Zasso) https://github.com/nodejs/node/pull/58154
  * (SEMVER-MAJOR) use non-deprecated WriteUtf8V2() method (Yagiz Nizipli) https://github.com/nodejs/node/pull/58070
  * (SEMVER-MAJOR) use non-deprecated Utf8LengthV2() method (Yagiz Nizipli) https://github.com/nodejs/node/pull/58070
  * (SEMVER-MAJOR) use V8-owned CppHeap (Joyee Cheung) https://github.com/nodejs/node/pull/58070
  * (SEMVER-MAJOR) use `v8::ExternalMemoryAccounter` (Michaël Zasso) https://github.com/nodejs/node/pull/58070
  * (SEMVER-MAJOR) replace uses of FastApiTypedArray (Michaël Zasso) https://github.com/nodejs/node/pull/58070
  * (SEMVER-MAJOR) update NODE_MODULE_VERSION to 137 (Michaël Zasso) https://github.com/nodejs/node/pull/58070
  * (SEMVER-MAJOR) update GetForegroundTaskRunner override (Etienne Pierre-doray) https://github.com/nodejs/node/pull/55014
  * (SEMVER-MAJOR) update NODE_MODULE_VERSION to 134 (Michaël Zasso) https://github.com/nodejs/node/pull/55014
  * (SEMVER-MAJOR) drop --experimental-permission in favour of --permission (Rafael Gonzaga) https://github.com/nodejs/node/pull/56240
  * (SEMVER-MAJOR) add async context frame to AsyncResource (Gerhard Stöbich) https://github.com/nodejs/node/pull/56082
  * (SEMVER-MAJOR) nuke deprecated and un-used enum members in `OptionEnvvarSettings` (Juan José) https://github.com/nodejs/node/pull/53079
src,test:
  * (SEMVER-MAJOR) unregister the isolate after disposal and before freeing (Joyee Cheung) https://github.com/nodejs/node/pull/58070
  * (SEMVER-MAJOR) add V8 API to test the hash seed (Michaël Zasso) https://github.com/nodejs/node/pull/58070
stream:
  * (SEMVER-MAJOR) catch and forward error from dest.write (jakecastelli) https://github.com/nodejs/node/pull/55270
test:
  * (SEMVER-MAJOR) fix test-fs-write for V8 13.6 (Michaël Zasso) https://github.com/nodejs/node/pull/58070
  * (SEMVER-MAJOR) handle explicit resource management globals (Michaël Zasso) https://github.com/nodejs/node/pull/58070
  * (SEMVER-MAJOR) adapt assert tests to stack trace changes (Michaël Zasso) https://github.com/nodejs/node/pull/58070
  * (SEMVER-MAJOR) update test-linux-perf-logger (Michaël Zasso) https://github.com/nodejs/node/pull/58070
  * (SEMVER-MAJOR) Revert "test: disable fast API call count checks (Michaël Zasso) https://github.com/nodejs/node/pull/58070
  * (SEMVER-MAJOR) disable fast API call count checks (Michaël Zasso) https://github.com/nodejs/node/pull/55014
test_runner:
  * (SEMVER-MAJOR) remove promises returned by t.test() (Colin Ihrig) https://github.com/nodejs/node/pull/56664
  * (SEMVER-MAJOR) remove promises returned by test() (Colin Ihrig) https://github.com/nodejs/node/pull/56664
  * (SEMVER-MAJOR) automatically wait for subtests to finish (Colin Ihrig) https://github.com/nodejs/node/pull/56664
timers:
  * (SEMVER-MAJOR) check for immediate instance in clearImmediate (Gürgün Dayıoğlu) https://github.com/nodejs/node/pull/57069
  * (SEMVER-MAJOR) set several methods EOL (Yagiz Nizipli) https://github.com/nodejs/node/pull/56966
tls:
  * (SEMVER-MAJOR) remove deprecated tls.createSecurePair (Jonas) https://github.com/nodejs/node/pull/57361
  * (SEMVER-MAJOR) make server.prototype.setOptions end-of-life (Yagiz Nizipli) https://github.com/nodejs/node/pull/57339
tools:
  * (SEMVER-MAJOR) update V8 gypfiles for 13.6 (Michaël Zasso) https://github.com/nodejs/node/pull/58070
  * (SEMVER-MAJOR) update V8 gypfiles for 13.5 (Michaël Zasso) https://github.com/nodejs/node/pull/58070
  * (SEMVER-MAJOR) update license-builder and LICENSE for V8 deps (Michaël Zasso) https://github.com/nodejs/node/pull/58070
  * (SEMVER-MAJOR) update V8 gypfiles for 13.4 (Michaël Zasso) https://github.com/nodejs/node/pull/58070
  * (SEMVER-MAJOR) update V8 gypfiles for 13.2 (Michaël Zasso) https://github.com/nodejs/node/pull/58070
  * (SEMVER-MAJOR) update V8 gypfiles for 13.1 (Michaël Zasso) https://github.com/nodejs/node/pull/58070
  * (SEMVER-MAJOR) update V8 gypfiles for 13.0 (Michaël Zasso) https://github.com/nodejs/node/pull/55014
url:
  * (SEMVER-MAJOR) expose urlpattern as global (Jonas) https://github.com/nodejs/node/pull/56950
  * (SEMVER-MAJOR) runtime deprecate url.parse (Yagiz Nizipli) https://github.com/nodejs/node/pull/55017
zlib:
  * (SEMVER-MAJOR) deprecate classes usage without `new` (Yagiz Nizipli) https://github.com/nodejs/node/pull/55718

PR-URL: https://github.com/nodejs/node/pull/57609
Signed-off-by: RafaelGSS <rafael.nunu@hotmail.com>
2025-05-06 11:26:35 -03:00

703 KiB
Raw Permalink Blame History

Node.js 16 ChangeLog

LTS 'Gallium' Current
16.20.2
16.20.1
16.20.0
16.19.1
16.19.0
16.18.1
16.18.0
16.17.1
16.17.0
16.16.0
16.15.1
16.15.0
16.14.2
16.14.1
16.14.0
16.13.2
16.13.1
16.13.0
16.12.0
16.11.1
16.11.0
16.10.0
16.9.1
16.9.0
16.8.0
16.7.0
16.6.2
16.6.1
16.6.0
16.5.0
16.4.2
16.4.1
16.4.0
16.3.0
16.2.0
16.1.0
16.0.0

2023-08-09, Version 16.20.2 'Gallium' (LTS), @RafaelGSS

This is a security release.

Notable Changes

The following CVEs are fixed in this release:

More detailed information on each of the vulnerabilities can be found in August 2023 Security Releases blog post.

Commits

2023-06-20, Version 16.20.1 'Gallium' (LTS), @RafaelGSS

This is a security release.

Notable Changes

The following CVEs are fixed in this release:

More detailed information on each of the vulnerabilities can be found in June 2023 Security Releases blog post.

Commits

2023-03-29, Version 16.20.0 'Gallium' (LTS), @BethGriggs

Notable Changes

  • deps:
    • update undici to 5.20.0 (Node.js GitHub Bot) #46711
    • update c-ares to 1.19.0 (Michaël Zasso) #46415
    • upgrade npm to 8.19.4 (npm team) #46677
    • update corepack to 0.17.0 (Node.js GitHub Bot) #46842
  • (SEMVER-MINOR) src: add support for externally shared js builtins (Michael Dawson) #44376

Commits

  • [de6dd67790] - crypto: avoid hang when no algorithm available (Richard Lau) #46237
  • [4617512788] - crypto: ensure auth tag set for chacha20-poly1305 (Ben Noordhuis) #46185
  • [24972164fc] - deps: update undici to 5.20.0 (Node.js GitHub Bot) #46711
  • [85f88c6a8d] - deps: V8: cherry-pick 90be99fab31c (Michaël Zasso) #46646
  • [b4ebe6d47b] - deps: update c-ares to 1.19.0 (Michaël Zasso) #46415
  • [56cbc7fdda] - deps: V8: cherry-pick c2792e58035f (Jiawen Geng) #44961
  • [7af9bdb31e] - deps: upgrade npm to 8.19.4 (npm team) #46677
  • [962a7471b5] - deps: update corepack to 0.17.0 (Node.js GitHub Bot) #46842
  • [748bc96e35] - deps: update corepack to 0.16.0 (Node.js GitHub Bot) #46710
  • [a467782499] - deps: update corepack to 0.15.3 (Node.js GitHub Bot) #46037
  • [1913b6763d] - deps: update corepack to 0.15.2 (Node.js GitHub Bot) #45635
  • [809371a15f] - module: require.resolve.paths returns null with node schema (MURAKAMI Masahiko) #45147
  • [086bb2f8d4] - Revert "src: let http2 streams end after session close" (Rich Trott) #46721
  • [6a01d39120] - (SEMVER-MINOR) src: add support for externally shared js builtins (Michael Dawson) #44376
  • [d081032a60] - test: fix test-net-connect-reset-until-connected (Vita Batrla) #46781
  • [efe1be47ec] - test: skip test depending on overlapped-checker when not available (Antoine du Hamel) #45015
  • [fc47d58abe] - test: remove cjs loader from stack traces (Geoffrey Booth) #44197
  • [cf76d0790d] - test: fix WPT title when no META title is present (Filip Skokan) #46804
  • [0d1485b924] - test: fix default WPT titles (Filip Skokan) #46778
  • [088e9cde3d] - test: add WPTRunner support for variants and generating WPT reports (Filip Skokan) #46498
  • [908c4dff44] - test: mark test-crypto-key-objects flaky on Linux (Richard Lau) #46684
  • [768e56227e] - tools: make utils.SearchFiles deterministic (Bruno Pitrus) #44496

2023-02-16, Version 16.19.1 'Gallium' (LTS), @richardlau

This is a security release.

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-23920: Node.js insecure loading of ICU data through ICU_DATA environment variable (Low)

Fixed by an update to undici:

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

2022-12-13, Version 16.19.0 'Gallium' (LTS), @richardlau

Notable Changes

OpenSSL 1.1.1s

This OpenSSL version does not address any security vulnerabilities.

Root certificates updated to NSS 3.85

Certificates added:

  • Autoridad de Certificacion Firmaprofesional CIF A62634068
  • Certainly Root E1
  • Certainly Root R1
  • D-TRUST BR Root CA 1 2020
  • D-TRUST EV Root CA 1 2020
  • DigiCert TLS ECC P384 Root G5
  • DigiCert TLS RSA4096 Root G5
  • E-Tugra Global Root CA ECC v3
  • E-Tugra Global Root CA RSA v3
  • HiPKI Root CA - G1
  • ISRG Root X2
  • Security Communication ECC RootCA1
  • Security Communication RootCA3
  • Telia Root CA v2
  • vTrus ECC Root CA
  • vTrus Root CA

Certificates removed:

  • Cybertrust Global Root
  • DST Root CA X3
  • GlobalSign Root CA - R2
  • Hellenic Academic and Research Institutions RootCA 2011

Time zone update to 2022f

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

  • [33707dcd03] - (SEMVER-MINOR) dgram: add dgram send queue info (theanarkh) #44149

Dependency updates:

Experimental features:

  • [1e0dcd1ee0] - (SEMVER-MINOR) cli: add --watch (Moshe Atlow) #44366
  • [8c73279ebb] - (SEMVER-MINOR) util: add default value option to parsearg (Manuel Spigolon) #44631

Commits

  • [bbef3c42f6] - build: add version info to timezone update PR (Darshan Sen) #45021
  • [cc2c7648e0] - build: support Python 3.11 (Luigi Pinca) #45191
  • [ac24c80663] - build: remove redundant condition from common.gypi (Richard Lau) #45076
  • [03dcbe3030] - build: fix bad upstream merge (Stephen Gallagher) #44642
  • [1e0dcd1ee0] - (SEMVER-MINOR) cli: add --watch (Moshe Atlow) #44366
  • [96d131665e] - cluster: use inspector utils (Moshe Atlow) #44592
  • [704836033a] - crypto: update root certificates (Luigi Pinca) #45490
  • [5a776d4a69] - deps: update timezone to 2022f (Richard Lau) #45613
  • [3b2b70d792] - deps: upgrade npm to 8.19.3 (npm team) #45322
  • [9fbc8b21db] - deps: update corepack to 0.15.1 (Node.js GitHub Bot) #45331
  • [87e3d002ca] - deps: update corepack to 0.15.0 (Node.js GitHub Bot) #45235
  • [e972ff7b13] - deps: V8: backport bbd800c6e359 (Chengzhong Wu) #44947
  • [af9d8217c0] - deps: V8: cherry-pick b95354290941 (Chengzhong Wu) #44947
  • [38202d321b] - deps: update undici to 5.12.0 (Node.js GitHub Bot) #45236
  • [7c0da6adf9] - deps: update archs files for OpenSSL-1.1.1s (RafaelGSS) #45274
  • [1149ead6f7] - deps: upgrade openssl sources to OpenSSL_1_1_1s (RafaelGSS) #45274
  • [cd54bce4f5] - deps: update timezone (Node.js GitHub Bot) #44950
  • [2901abe4f0] - deps: update undici to 5.11.0 (Node.js GitHub Bot) #44929
  • [c80cf97033] - deps: update corepack to 0.14.2 (Node.js GitHub Bot) #44775
  • [33707dcd03] - (SEMVER-MINOR) dgram: add dgram send queue info (theanarkh) #44149
  • [c708d9bb94] - doc: fix typo in parseArgs default value (Tobias Nießen) #45083
  • [5a0efa05d2] - node-api: handle no support for external buffers (Michael Dawson) #45181
  • [db31de634e] - readline: refactor to avoid unsafe regex primordials (Antoine du Hamel) #43475
  • [fbc52e5729] - src: disambiguate terms used to refer to builtins and addons (Joyee Cheung) #44135
  • [953072d3db] - src: let http2 streams end after session close (Santiago Gimeno) #45153
  • [54608d8dc3] - src: split property helpers from node::Environment (Chengzhong Wu) #44056
  • [6733556783] - test: add test to validate changelogs for releases (Richard Lau) #45325
  • [821d832cef] - test: mark test-watch-mode* as flaky on all platforms (Pierrick Bouvier) #45049
  • [02a18eac69] - test: fix test-runner-inspect (Moshe Atlow) #44620
  • [197df63f74] - test: add a test to ensure the correctness of timezone upgrades (Darshan Sen) #45299
  • [42e9d8016a] - test: fix textdecoder test for small-icu builds (Richard Lau) #45225
  • [6d736a56d8] - test: fix watch mode test flake (Moshe Atlow) #44739
  • [543d3d2bf3] - test: deflake watch mode tests (Moshe Atlow) #44621
  • [97f6caf4eb] - test: split watch mode inspector tests to sequential (Moshe Atlow) #44551
  • [499750ff7a] - test: update list of known globals (Antoine du Hamel) #45255
  • [64d343af74] - test_runner: support using --inspect with --test (Moshe Atlow) #44520
  • [99ee5e484d] - test_runner: fix duration_ms to be milliseconds (Moshe Atlow) #44450
  • [37e909251c] - test_runner: support programmatically running --test (Moshe Atlow) #44241
  • [0ae5694f88] - tools: update certdata.txt (Luigi Pinca) #45490
  • [891368cefd] - tools: remove faulty early termination logic from update-timezone.mjs (Darshan Sen) #44870
  • [543493c242] - tools: fix timezone update tool (Darshan Sen) #44870
  • [c77f660b75] - tools: fix create-or-update-pull-request-action hash on GHA (Antoine du Hamel) #45166
  • [58c30dd049] - tools: update gr2m/create-or-update-pull-request-action (Luigi Pinca) #45022
  • [749a4b3e5e] - tools: use Python 3.11 in GitHub Actions workflows (Luigi Pinca) #45191
  • [6f541d99a5] - tools: have test-asan use ubuntu-20.04 (Filip Skokan) #45581
  • [e7ed56f501] - tools: make license-builder.sh comply with shellcheck 0.8.0 (Rich Trott) #41258
  • [cc819b4bf8] - tools: fix typo in avoid-prototype-pollution lint rule (Antoine du Hamel) #44446
  • [254358c81e] - tools: refactor avoid-prototype-pollution lint rule (Antoine du Hamel) #43476
  • [8c73279ebb] - (SEMVER-MINOR) util: add default value option to parsearg (Manuel Spigolon) #44631

2022-11-04, Version 16.18.1 'Gallium' (LTS), @BethGriggs

This is a security release.

Notable changes

The following CVEs are fixed in this release:

  • 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

2022-10-12, Version 16.18.0 'Gallium' (LTS), @juanarbol

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.10.0(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 <unistd.h> 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 rollup@2.79.1 (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/plugin-node-resolve@14.1.0 (Node.js GitHub Bot) #44638
  • [f05ce2bff5] - tools: update lint-md-dependencies to @rollup/plugin-node-resolve@14.0.1 (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 rollup@2.79.0 (Node.js GitHub Bot) #44510
  • [255023f80a] - tools: don't use f-strings in test.py (Santiago Gimeno) #44407
  • [b3629daad7] - tools: update doc to unist-util-visit@4.1.1 (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 rollup@2.78.1 (Node.js GitHub Bot) #44320
  • [9391ebdc0d] - tools: update ESLint to 8.22.0 (Luigi Pinca) #44243
  • [df49c426f6] - tools: update lint-md-dependencies to rollup@2.78.0 (Node.js GitHub Bot) #44244
  • [e42227ad3e] - tools: update lint-md-dependencies to rollup@2.77.3 (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/plugin-commonjs@22.0.2 (Node.js GitHub Bot) #44160
  • [5d5971cda7] - tools: update undici CPE in vuln checking script (Facundo Tuesca) #44128
  • [606b0a08a8] - tools: update lint-md-dependencies to rollup@2.77.2 (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

2022-09-23, Version 16.17.1 'Gallium' (LTS), @ruyadorno

This is a security release.

Notable changes

The following CVEs are fixed in this release:

More detailed information on each of the vulnerabilities can be found in September 22nd 2022 Security Releases blog post.

Commits

2022-08-16, Version 16.17.0 'Gallium' (LTS), @targos

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<HookName>'s context as optional arg (Jacob Smith) #43553
  • [df3f5cb93e] - esm: fix chain advances when loader calls next<HookName> 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

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 highlight.js@11.6.0 (Node.js GitHub Bot) #43870
  • [51643323ba] - tools: update lint-md-dependencies to rollup@2.77.0 (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 rollup@2.76.0 (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 rollup@2.75.6 (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 rollup@2.75.5 (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 rollup@2.75.3 (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 rollup@2.75.1 (Node.js GitHub Bot) #43230
  • [4f7c7d260b] - tools: refactor build-addons.js to ESM (Feng Yu) #43099
  • [4817b1ff1b] - tools: update lint-md-dependencies to rollup@2.74.1 (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 rollup@2.73.0 (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 highlight.js@11.5.1 (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/plugin-commonjs@21.0.3 (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 be broken (mawaregetsuka) #41565
  • [3a2aa0a862] - tools: update GHA actions version (Antoine du Hamel) #42498
  • [a176b81f46] - tools: update eslint to 8.12.0 (Node.js GitHub Bot) #42489
  • [5ba38bb1b0] - tools: update lint-md-dependencies to vfile-reporter@7.0.4 (Node.js GitHub Bot) #42487
  • [34386895f3] - tools: refloat 7 Node.js patches to cpplint.py (Rich Trott) #42416
  • [5849f7628d] - tools: bump cpplint to 1.6.0 (Rich Trott) #42416
  • [4c0ddffaeb] - tools: fix skip PR if CI is still running (Xuguang Mei) #42377
  • [31a738ffba] - tools: make update-undici script executable (Michaël Zasso) #42406
  • [b9ec3b4367] - tools,doc: add guards against prototype pollution when creating proxies (Antoine du Hamel) #43391
  • [54e7d0d723] - typings: fix os.cpus invalid return type (Himself65) #43006

2022-07-07, Version 16.16.0 'Gallium' (LTS), @danielleadams

This is a security release.

Notable changes

  • deps:
    • upgrade openssl sources to OpenSSL_1_1_1q (RafaelGSS) #43692
  • src:
    • add OpenSSL config appname (Daniel Bevenius) #43124

Commits

2022-06-01, Version 16.15.1 'Gallium' (LTS), @BethGriggs prepared by @juanarbol

Notable Changes

Commits

2022-04-26, Version 16.15.0 'Gallium' (LTS), @danielleadams

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<bool> 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 rollup@2.70.1 (Node.js GitHub Bot) #42403
  • [1c1061549a] - tools: update doc to highlight.js@11.5.0 unified@10.1.2 (Node.js GitHub Bot) #42315
  • [97aa236083] - tools: update lint-md-dependencies to rollup@2.70.0 unified@10.1.2 (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 rollup@2.69.1 (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 rollup@2.67.3 (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 rollup@2.67.2 (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

2022-03-17, Version 16.14.2 'Gallium' (LTS), @richardlau

This is a security release.

Notable Changes

Update to OpenSSL 1.1.1n, which addresses the following vulnerability:

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

2022-03-15, Version 16.14.1 'Gallium' (LTS), @danielleadams

Notable changes

  • doc:
    • add release key for Bryan English (Bryan English) #42102

Commits

  • [2a24e763d5] - async_hooks: fix imports in context example (Yash Ladha) #39229
  • [c4a296f59b] - benchmark: enable no-empty ESLint rule (Rich Trott) #41831
  • [abe2eb9fc0] - benchmark: avoid input param manipulation (Jithil P Ponnan) #41741
  • [2c566a9830] - benchmark: use Object.hasOwn() instead of hasOwnProperty() (Rich Trott) #41769
  • [b77e72ab12] - benchmark: replace hasOwnProperty() with Object.hasOwn() (Rich Trott) #41724
  • [ec72cb4019] - benchmark: remove unreachable code from crypto/hash-stream-creation (Rich Trott) #41535
  • [14bb6f97f0] - buffer: fix atob/btoa no-arg case (Benjamin Gruenbaum) #41478
  • [79e2ab2a67] - build: remove windows-2022 from v16.x actions (Danielle Adams) #42299
  • [2893b4c85a] - build: check if python is a executable program (himself65) #36696
  • [5e4fc04821] - build: enable zoslib installation on z/OS (alexcfyung) #41493
  • [1e3c9ebaae] - build: fix libuv builds for android aarch64 (Darshan Sen) #41555
  • [46f714f92a] - crypto: check return code from EVP_DigestUpdate (Michael Dawson) #41800
  • [33abbf9f21] - crypto: fix webcrypto.subtle signature (Antoine du Hamel) #41761
  • [faceae486b] - crypto: revise variables for const use instead of let (Rich Trott) #41614
  • [fe0f9dc611] - crypto: remove wildcard options for checkEmail (Tobias Nießen) #41599
  • [188c3ab918] - crypto: adjust types for getRandomValues (LiviaMedeiros) #41481
  • [1ef28f1a3d] - crypto: remove checkIP options argument (Tobias Nießen) #41571
  • [74c0464572] - deps: upgrade npm to 8.5.0 (npm-robot) #41925
  • [b5783288d1] - deps: upgrade npm to 8.4.1 (npm-robot) #41836
  • [2b7c4b4afe] - deps: upgrade npm to 8.3.2 (npm team) #41621
  • [906247933c] - dgram: remove unreachable connectState assign (Rongjian Zhang) #38590
  • [330c1bc518] - doc: add comments to empty blocks in worker_threads text (Rich Trott) #41831
  • [125ed0c6b0] - doc: remove empty block from console.timeEnd() example (Rich Trott) #41831
  • [34d6f8e793] - doc: use the same case as the section heading (Mestery) #41876
  • [fd28d252fa] - doc: use Oxford comma in crypto docs (Tobias Nießen) #41875
  • [bf99ef8b57] - doc: use sentence case in readme introduction (Mestery) #41874
  • [b15d9c2cc6] - doc: add missing space before hyphen (Mestery) #41873
  • [77685d5ab0] - doc: add stream pipelining note on Http usage (Rafael Silva) #41796
  • [c7bae97755] - doc: improve SSL_OP_PRIORITIZE_CHACHA description (Tobias Nießen) #41866
  • [5cd38a4ff5] - doc: add missing commas in cluster docs (Tobias Nießen) #41865
  • [cf6b5e0e33] - doc: add history information for Corepack (Antoine du Hamel) #41813
  • [c742a1cc4d] - doc: feature management proposal (Michael Dawson) #41420
  • [3f000a2627] - doc: add overhead hints for heap snapshot generation (Gerhard Stöbich) #41822
  • [42c0a8353e] - doc: fix X509 CA acronym capitalization (Tobias Nießen) #41841
  • [f5b0a3be12] - doc: use sentence case for X509 error codes header (Tobias Nießen) #41829
  • [20d8fd1a83] - doc: add initial version of maintaining-http.md (Michael Dawson) #41798
  • [077fcee008] - doc: add registry numbers for Electron 19 and 20 (Keeley Hammond) #41814
  • [44b6927179] - doc: add note about resource type in async_hooks (Tony Gorez) #41797
  • [1be701c9ca] - doc: use example.com for examples (Ateş Göral) #41827
  • [4660c1fa7b] - doc: align tls port types with net port types (Tobias Nießen) #41799
  • [5cd8bdc4d7] - doc: use UDPv4/UDPv6 consistently with TCPv4/TCPv6 (Tobias Nießen) #41824
  • [3ef05a0216] - doc: improve wording surrounding TLS 1.3 ciphers (Tobias Nießen) #41778
  • [51d955368e] - doc: add format-md step to release guide (Danielle Adams) #41809
  • [8f00e5dcf7] - doc: add v16 changelog link to iojs changelog (Danielle Adams) #41808
  • [4f194f3094] - doc: add security-steward rotation information (Michael Dawson) #41707
  • [14ea8fcba8] - doc: use Object.hasOwn() in util doc (Rich Trott) #41780
  • [9f77692491] - doc: remove section on "recent" ECDH changes (Tobias Nießen) #41773
  • [211a3c4c4c] - doc: clarify that import also uses main (Ben McCann) #41720
  • [20d9c4a2c5] - doc: update modules.md wording (Tobias Hernstig) #41728
  • [e209f53ba2] - doc: update Mesteery email (Mestery) #41683
  • [db1ce43173] - doc: avoid incomplete sentence in cluster docs (Tobias Nießen) #41701
  • [ee79e53821] - doc: fix typo in contributing guides (Yoshiki Kurihara) #41723
  • [9616fd5913] - doc: improve docs to give descriptive info for the platform property (Harshil jain) #41650
  • [4d8ee8e3cd] - doc: fix link to npm documentation (Antoine du Hamel) #41712
  • [018ec32535] - doc: clarify treatment of non-string base in URL() (Rich Trott) #41685
  • [92e6cf03fe] - doc: fix typo in technical-priorities.md (Akhil Marsonya) #41694
  • [071fef50e5] - doc: remove unadvisable cluster example (Tobias Nießen) #41668
  • [b63fb0ffb8] - doc: document flow for supporting type generation (Michael Dawson) #41464
  • [364811aa8a] - doc: clarify parameter for napi_get_cb_info (Michael Dawson) #41635
  • [1bd286e978] - doc: revise url.resolve() text (Rich Trott) #41661
  • [59f95fe4dc] - doc: clarify treatment of non-string argument to new URL() (Rich Trott) #41658
  • [3e93cc392e] - doc: fix documentation for MODULE_NOT_FOUND and ERR_MODULE_NOT_FOUND (Antoine du Hamel) #41645
  • [b9d1cb7f8a] - doc: improve TLS/SSL introduction (Tobias Nießen) #41649
  • [5d9c83e2e9] - doc: modernize and simplify cluster example (Tobias Nießen) #41626
  • [d5efecd64d] - doc: simplify readline/stdin text (Rich Trott) #41583
  • [931be52589] - doc: suggest worker threads in cluster docs (Tobias Nießen) #41616
  • [b2a4614a0d] - doc: add 16 and 17 to previous versions (Antoine du Hamel) #41646
  • [5f0a017a02] - doc: improve 'hex' Buffer decoding description and examples (Giora Guttsait) #41598
  • [0805068add] - doc: add note for handling signal events in trace events (Gabriel Trujillo) #41438
  • [0388b9afc3] - doc: demonstrate dangers of buffer.slice() (Shalvah) #41628
  • [3cdd1d634b] - doc: add missing word in cluster.workers details (Tobias Nießen) #41624
  • [5d94bc676e] - doc: fix async_hooks example in api docs (Akhil Marsonya) #41609
  • [39f52e1130] - doc: fix deprecated alias description in cluster (Tobias Nießen) #41618
  • [55714cc777] - doc: update timingSafeEqual error case (Alex Agranov) #41507
  • [9f8e442dc7] - doc: simplify util.TextDecoder example (Rich Trott) #41574
  • [57dc5956b1] - doc: move Mesteery to collaborators (Tobias Nießen) #41597
  • [10320c2965] - doc: fix cjs example code for process.arch (Job) #41593
  • [f33e831fe3] - doc: remove redunant await calls from stream docs (Giora Guttsait) #41592
  • [1cf74beb57] - doc: make contributing info more discoverable (Michael Dawson) #41408
  • [214cf17db9] - doc: recommend package exports instead of requiring folders (Antoine du Hamel) #41381
  • [5c387a0d75] - doc: edit async_context context loss text (Rich Trott) #41550
  • [01283f6b25] - doc: use sentence case for Web Crypto headers (Tobias Nießen) #41577
  • [6b6d0c4914] - doc: make Web Crypto example spec compliant (Tobias Nießen) #41556
  • [8772d332d7] - doc: do not reference SSL when discussing SNI (Tobias Nießen) #41549
  • [82042d0094] - doc: fix typos in esm.md (Yu) #41499
  • [ff0069dc3e] - doc: adjust assignment in condition in stream doc (Rich Trott) #41510
  • [1128b1c216] - doc: improve Web Crypto headings related to ECC (Tobias Nießen) #41542
  • [a6758d12e3] - doc: clarify module system selection (Antoine du Hamel) #41383
  • [db17a529a8] - doc: add release key for Bryan English (Bryan English) #42102
  • [f2ca172a08] - doc: remove statement about (EC)DHE performance (Tobias Nießen) #41528
  • [227dea8dc1] - domain: pass opts to EventEmitter.init (Chen Gang) #41414
  • [bd717064b0] - esm: improve validation of resolved URLs (Jacob Smith) #41446
  • [e747ef5e45] - http2: fix pseudo-headers order (ofir) #41735
  • [2efe9cbd01] - http2: fix no response event on continue request (ofirbarak) #41739
  • [7bf2be51b3] - http2: fix memory leak on nghttp2 hd threshold (Rafael Silva) #41502
  • [acd8768802] - lib: add comments to empty catch statements (Rich Trott) #41831
  • [c90bb7cd93] - lib: refactor to use validateObject() validator (Mohammed Keyvanzadeh) #41845
  • [c93a9af82b] - lib: refactor source map stack trace prepare (Mohammed Keyvanzadeh) #41698
  • [0f3287dc44] - lib: fix consistency of methods that emit warnings (Yoshiki Kurihara) #41249
  • [7ee3cdf60a] - lib: remove erroneous JSDoc entry (Rich Trott) #41604
  • [70f6554403] - meta: update AUTHORS (Node.js GitHub Bot) #41868
  • [a44a8ff767] - meta: update AUTHORS (Node.js GitHub Bot) #41763
  • [ba0ba7c4b2] - meta: update mailmap/AUTHORS info for existing collaborator (Rich Trott) #41750
  • [30e3327b46] - meta: adjust mailmap/AUTHORS to reflect README change (Rich Trott) #41751
  • [6d268fd32e] - meta: update AUTHORS (Node.js GitHub Bot) #41659
  • [18e6316bf1] - meta: update AUTHORS (Node.js GitHub Bot) #41548
  • [e1e059a698] - perf_hooks: remove useless calls in Histogram (Michael Dawson) #41579
  • [08b3bd2fc5] - policy: revise manifest.js to avoid empty blocks (Rich Trott) #41831
  • [33f3391a8f] - policy: check for null instead of falsy in loop (Rich Trott) #41614
  • [b8b8e0bce6] - policy: replace entries with keys (Mohammed Keyvanzadeh) #41482
  • [ee61bc74b7] - process: unhandledRejection support more errors (Benjamin Gruenbaum) #41682
  • [f066246729] - process: check for null instead of falsy in while loop (Rich Trott) #41614
  • [77cb604c0d] - process: use validateString validator (Mohammed Keyvanzadeh) #41595
  • [76281f9a81] - process: ignore asyncId 0 in exception handler (Anatoli Papirovski) #41424
  • [dacffd3e9c] - repl: check for precise values rather than falsy in loops (Rich Trott) #41614
  • [5e595683ce] - src: slightly simplify URLHost::ToString (Anna Henningsen) #41747
  • [206c370d03] - src: slightly simplify V8CoverageConnection::GetFilename (Anna Henningsen) #41748
  • [1cfc63ebe3] - src: fix typo in js_native_api_v8.cc (Caio Agiani) #41764
  • [aebd82ea7c] - stream: remove empty block (Rich Trott) #41831
  • [46ed078607] - stream: resume stream on drain (Robert Nagy) #41848
  • [363c760c85] - stream: check for null instead of falsy in loops (Rich Trott) #41614
  • [4f4fec4b22] - stream: rename unknown primordial (Mohammed Keyvanzadeh) #40622
  • [1425e75093] - stream: avoid function call where possible (Rich Trott) #41534
  • [ecb52636a4] - test: renew certificates for specific test (Luigi Pinca) #42342
  • [c8e59cbf9e] - test: enable no-empty ESLint rule (Rich Trott) #41831
  • [20ec77688f] - test: remove eslint-disable comments from fixtures (Rich Trott) #41859
  • [a8e41837cc] - test: remove test-worker-memory flaky designation (Rich Trott) #41867
  • [673c1fd5ae] - test: avoid using Object.prototype methods directly on objects (Rich Trott) #41801
  • [3690d3402d] - test: exclude ibm i tests until we resolve (Michael Dawson) #41812
  • [1f65620543] - test: make worker-take-heapsnapshot non-flaky (Michael Dawson) #41684
  • [badab79527] - test: mark test-fs-rmdir-recursive flaky on win (Michael Dawson) #41533
  • [951d299aee] - test: make fs watch test more stable (Benjamin Gruenbaum) #41715
  • [acea61ba8e] - test: fix typo in MessageChannel test (Tobias Nießen) #41746
  • [081989b6b7] - test: replace commented out expectations with tests (Darshan Sen) #41667
  • [639130e635] - test: use Object.hasOwn() where applicable (Rich Trott) #41664
  • [cb362a3748] - test: remove unneeded test statement (Rich Trott) #41663
  • [2b87f9784f] - test: remove error allowance in debugger test (Jithil P Ponnan) #41640
  • [55fce66af6] - test: simplify test-gc-http-client (Luigi Pinca) #41620
  • [b06c33b14b] - test: prepare tests for no-cond-assign ESLint rule (Rich Trott) #41614
  • [950648db48] - test: move test-gc-http-client-onerror to sequential (Luigi Pinca) #41619
  • [1d3ef115ca] - test: improve test coverage of internal/worker/io (Yoshiki Kurihara) #41511
  • [122eb51c98] - test: add DataView test entry for whatwg (Mohammed Keyvanzadeh) #40622
  • [2c813d825f] - test: improve util-format code coverage (Rich Trott) #41572
  • [fab831a3fe] - test: fix typo in test_js_native_api_v8 (Tobias Nießen) #41584
  • [9e7cfbbcd9] - test: add missing await in fs-rm/fs-rmdir tests (Benjamin Coe) #41545
  • [a8558ecfcf] - test: add coverage for util.inspect() (Rich Trott) #41527
  • [23fc205586] - test: avoid deep comparisons with literals (Tobias Nießen) #40634
  • [63a67f8dad] - timers: check for nullish instead of falsy in loops (Rich Trott) #41614
  • [788e77cb37] - tools: enable no-empty ESLint rule (Rich Trott) #41831
  • [10e6c70d14] - tools: update lint-md-dependencies to rollup@2.67.0 (Node.js GitHub Bot) #41737
  • [20cdf78fd8] - tools: update doc to rehype-stringify@9.0.3 (Node.js GitHub Bot) #41854
  • [2eabfdd066] - tools: update eslint to 8.8.0 (Node.js GitHub Bot) #41738
  • [9d23a27268] - tools: use Set instead of { [key]: true } object (Tobias Nießen) #41695
  • [7e4d455fe4] - tools: add compile_commands to ignore file (Yash Ladha) #41580
  • [1cbdc984fb] - tools: use Set instead of { [key]: true } object (Tobias Nießen) #41675
  • [dc854c4f38] - tools: fix typo in tools/code_cache/README.md (Tobias Nießen) #41657
  • [b17aa25f12] - tools: enable no-cond-assign-ESLint rule (Rich Trott) #41614
  • [9601b8ddd6] - tools: update lint-md-dependencies to rollup@2.65.0 (Node.js GitHub Bot) #41638
  • [cdbe291e5b] - tools: increase maximum line length to 120 characters (Rich Trott) #41586
  • [7cbc472ed5] - tools: add missing .PHONY and .NOTPARALLEL targets in Makefile (Antoine du Hamel) #41515
  • [6fccd66b34] - tools: update lint-md-dependencies (Node.js GitHub Bot) #41440
  • [3163bd1ea0] - tools: bump eslint from 8.6.0 to 8.7.0 (Rich Trott) #41570
  • [e439f32a4b] - tools: update doc to highlight.js@11.4.0 to-vfile@7.2.3 (Node.js GitHub Bot) #41441
  • [66120564b2] - tools,test: enable no-prototype-builtins (Rich Trott) #41801
  • [4aee98b03c] - util: use hasOwnProperty() primordial (Rich Trott) #41692
  • [8218bab51d] - util: remove unused fast path in internal debuglog (Rich Trott) #41605
  • [a4ad26d4dc] - util: check for null instead of flasy in loop (Rich Trott) #41614

2022-02-08, Version 16.14.0 'Gallium' (LTS), @danielleadams

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 '<(python)' instead of 'python' (Cheng Zhao) #41146
  • [0b411c436a] - build: fix comment-labeled workflow (Mestery) #41176
  • [7756e1c692] - build: use gh cli in workflows file (Mestery) #40985
  • [d3289b2506] - build: fix commit-queue-rebase functionality (Rich Trott) #41140
  • [860d552431] - build: skip documentation generation if no ICU (Rich Trott) #41091
  • [c8625d18ba] - build: re-enable V8 concurrent marking (Michaël Zasso) #41013
  • [74557c3ac1] - build: add --without-corepack (Jonah Snider) #41060
  • [f826c866e9] - build: fail early in test-macos.yml (Rich Trott) #41035
  • [535bb5fb6b] - build: add tools/doc to tools.yml updates (Rich Trott) #41036
  • [20c4c6aa72] - build: update Actions versions (Mestery) #40987
  • [70fd4a15fc] - build: set persist-credentials: false on workflows (Rich Trott) #40972
  • [b72e50e5ef] - build: add OpenSSL gyp artifacts to .gitignore (Luigi Pinca) #40967
  • [066e0d6b44] - build: remove legacy -J test.py option from Makefile/vcbuild (Rich Trott) #40945
  • [f5233b004a] - build: ignore unrelated workflow changes in slow Actions tests (Rich Trott) #40928
  • [a905dfe8d5] - build: remove extraneous quotation marks from commit body (Rich Trott) #40963
  • [6971e5720b] - build: fix branch name for lint-md-dependencies update (Rich Trott) #40924
  • [a09bc8bf1d] - build: fix make invocation in tools.yml (Rich Trott) #40890
  • [323c058fed] - build: fix tools.yml errors (Rich Trott) #40870
  • [e354464c3e] - build: add GitHub Action to update tools modules (Rich Trott) #40644
  • [bfbb7fc24a] - build,tools: automate enforcement of emeritus criteria (Rich Trott) #41155
  • [fc38d15483] - build,tools,win: trim unused VCBUILD_PYTHON_LOCATION variable (David Sanders) #41235
  • [9086338549] - child_process: queue pending messages (Erick Wendel) #41221
  • [d25b17279f] - child_process: revise argument processing (Rich Trott) #41280
  • [15e5d7acf4] - (SEMVER-MINOR) child_process: add support for URL to cp.fork (Antoine du Hamel) #41225
  • [06b775cd5c] - cluster: use linkedlist for round_robin_handle (twchn) #40615
  • [a40989faea] - crypto: fix error capture when loading engine (Tobias Nießen) #41187
  • [3055edec2f] - crypto: add missing null check (Michael Dawson) #40598
  • [cf3423d8b6] - crypto: trim input for NETSCAPE_SPKI_b64_decode (Shelley Vohr) #40757
  • [e60841b598] - crypto: throw errors in SignTraits::DeriveBits (Tobias Nießen) #40796
  • [00fd7d28ef] - crypto: fix build without scrypt (Martin Jansa) #40613
  • [ebc370cac8] - deps: V8: cherry-pick cc9a8a37445e (Gus Caplan) #41825
  • [a59ade62cf] - deps: upgrade npm to 8.3.1 (npm-robot) #41503
  • [9dd097325a] - deps: V8: cherry-pick 3b6b21f595f6 (Michaël Zasso) #41457
  • [af6f1d512d] - deps: upgrade to libuv 1.43.0 (Colin Ihrig) #41398
  • [875fa40960] - deps: upgrade npm to 8.3.0 (npm team) #41127
  • [3c13bbd8aa] - deps: upgrade npm to 8.2.0 (npm team) #41065
  • [6c7088890e] - deps: update Acorn to v8.6.0 (Michaël Zasso) #40993
  • [e092fdebea] - deps: upgrade npm to 8.1.4 (npm team) #40865
  • [3e388ef28d] - deps: V8: cherry-pick cced52a97ee9 (Ray Wang) #40656
  • [58889e2463] - deps: V8: cherry-pick 7ae0b77628f6 (Ray Wang) #40882
  • [7cbbe0d982] - deps: V8: cherry-pick cced52a97ee9 (Ray Wang) #40656
  • [f260bbc0ab] - deps: V8: cherry-pick 7ae0b77628f6 (Ray Wang) #40882
  • [a3aa9bcaf8] - deps: update to uvwasi 0.0.12 (Colin Ihrig) #40847
  • [c0200e20a0] - deps: upgrade npm to 8.1.3 (npm team) #40726
  • [036650e046] - deps: V8: backport 77599ffe0a74 (Lu Yahan) #41566
  • [0b27486895] - deps: V8: cherry-pick e74d6918fb9f (Lu Yahan) #41566
  • [77ad5dd0ff] - deps: V8: cherry-pick 471f862954f3 (Lu Yahan) #41566
  • [dc6843cabe] - deps: V8: cherry-pick 3cab84c24723 (Lu Yahan) #41566
  • [e391da45cf] - deps: V8: cherry-pick d8dc66f92169 (Lu Yahan) #41566
  • [5aa45ae757] - deps: update ICU to 70.1 (Michaël Zasso) #40658
  • [0466400d7a] - deps: update archs files for OpenSSL-1.1.1m+quic (Richard Lau) #41175
  • [553246c1e4] - deps: upgrade openssl sources to OpenSSL_1_1_1m+quic (Richard Lau) #41175
  • [95c19c36a9] - deps: add -fno-strict-aliasing flag to libuv (Daniel Bevenius) #40631
  • [ce525e9661] - doc: align links in table to top (nikoladev) #41396
  • [1db154fa96] - doc: remove statement about client private keys (Tobias Nießen) #41505
  • [7ba53103a5] - doc: fix typo in onboarding.md (Antoine du Hamel) #41544
  • [0d009aebd5] - doc: add Mesteery to collaborators (Mestery) #41543
  • [2bea4bd9ee] - doc: add missing word in readable.read() text (Rich Trott) #41524
  • [d5ad2b7fcd] - doc: add missing YAML tag in esm.md (Antoine du Hamel) #41516
  • [c914d95494] - doc: expand fs.access() mode parameter docs (Colin Ihrig) #41484
  • [d4458162a4] - doc: correct checkHost behavior with wildcards etc (Tobias Nießen) #41468
  • [dea8895091] - doc: remove extraneous colon in legacy subject (Tobias Nießen) #41477
  • [e425f369ea] - doc: remove SameValue comparison reference (Rich Trott) #41460
  • [30cb6948f1] - doc: update mailmap entries for mhdawson (Michael Dawson) #41437
  • [2586f098ac] - doc: add guidance on order vulns are listed in (Michael Dawson) #41429
  • [790898eaae] - doc: update output in inspector examples (David Sanders) #41390
  • [00333fe737] - doc: add note regarding unfinished TLA (Antoine du Hamel) #41434
  • [fe24cb2cd9] - doc: add reference for === operator in assert.md (Rich Trott) #41442
  • [52a988bfb8] - doc: clarify uncaughtException origin for ESM (Antoine du Hamel) #41339
  • [91c3e28018] - doc: revise HTTPRequestOptions text (Rich Trott) #41407
  • [b281bf59ff] - doc: add reference for == and != operators (Rich Trott) #41413
  • [66b90f9d02] - doc: add @RaisinTen to the TSC (Michael Dawson) #41419
  • [14068f8728] - doc: update Abstract Equality Comparison text in assert.md (Rich Trott) #41375
  • [c95151247a] - doc: fix example commands for REPLACEME updates (Richard Lau) #41269
  • [04a81b3e21] - doc: document that require.main may be undefined (Antoine du Hamel) #41384
  • [71bc352328] - doc: clarify entry point behavior when using loader hooks (Antoine du Hamel) #41304
  • [add1184b74] - doc: clarify require behavior with non .js extensions (Antoine du Hamel) #41345
  • [7618b551dc] - doc: revise frozen-intrinsics text (Rich Trott) #41342
  • [41cfc32602] - doc: fix example description for worker_threads (Dmitry Petrov) #41341
  • [46c38eb5fc] - doc: make pull-request guide default branch agnostic (Antoine du Hamel) #41299
  • [1c0c140ae5] - doc: fix sync comment in observer snippet (Eric Jacobson) #41262
  • [081f72e4c0] - doc: remove section about amending commits in PR guide (Thiago Santos) #41287
  • [720fad8876] - doc: remove legacy in-page links in v8.md (Rich Trott) #41291
  • [9eb8233bf6] - doc: include stack trace difference in ES modules (Marcos Bérgamo) #41157
  • [f3b0dfc325] - doc: fix example in node-api docs (Michael Dawson) #41264
  • [aa04a2c562] - doc: add usage recommendation for writable._destroy (Rafael Gonzaga) #41040
  • [a6e7cf5bd4] - doc: make function signature comply with JSDoc comment (Rich Trott) #41242
  • [e7d57ac2cc] - doc: align maxHeaderSize default with current value (Gil Pedersen) #41183
  • [ad06e3d3e0] - doc: add unhandledRejection to strict mode (Colin Ihrig) #41194
  • [11a5f7a81f] - doc: adding estimated execution time (mawaregetsuka) #41142
  • [ba85147a33] - doc: fix syntax error in nested conditions example (Mateusz Burzyński) #41205
  • [8be5b66201] - doc: fix closing parenthesis (AlphaDio) #41190
  • [f0693cb5f9] - doc: add security steward on/offboarding steps (Michael Dawson) #41129
  • [ac025f17b2] - doc: align module resolve algorithm with implementation (Qingyu Deng) #38837
  • [f6bf74748d] - doc: update nodejs-sec managers (Michael Dawson) #41128
  • [c4a5db6e2c] - doc: move style guide to findable location (Rich Trott) #41119
  • [35d0a4eb92] - doc: fix comments in test-fs-watch.js (jakub-g) #41046
  • [22970c67fc] - doc: document support building with Python 3.10 on Windows (Christian Clauss) #41098
  • [f35bd5223f] - doc: add note about pip being required (Piotr Rybak) #40669
  • [179886fa1d] - doc: remove OpenJSF Slack nodejs from support doc (Rich Trott) #41108
  • [e401e6c1af] - doc: simplify major release preparation (Bethany Nicolle Griggs) #40816
  • [ecc086cc7f] - doc: clarify escaping for ES modules (notroid5) #41074
  • [7930725014] - doc: add @bnb as a collaborator (Tierney Cyren) #41100
  • [6a9db2ebdb] - doc: add explicit declaration of fd with null val (Henadzi) #40704
  • [084decdcf8] - doc: expand entries for isIP(), isIPv4(), and isIPv6() (Rich Trott) #41028
  • [3f6106c538] - doc: link to commit queue guide (Geoffrey Booth) #41030
  • [c52ce19c80] - doc: specify that message.socket can be nulled (Luigi Pinca) #41014
  • [341a999fdb] - doc: fix JSDoc in ESM loaders examples (Mestery) #40984
  • [268771c85b] - doc: remove legacy -J test.py option from BUILDING.md (Rich Trott) #40945
  • [90ac3dc85e] - doc: add information on suppressing initial break in debugger (Rich Trott) #40960
  • [d9fc06b158] - doc: improve grammar in API description (Tobias Nießen) #40959
  • [02e9c2e7fe] - doc: update BUILDING.md section on running tests (Rich Trott) #40933
  • [9f14f66009] - doc: remove experimental abortcontroller flag (FrankQiu) #38968
  • [d217809fba] - doc: clarify more optional parameters in node-api (Michael Dawson) #40888
  • [dead21c68c] - doc: define "types", "deno" community conditions (Guy Bedford) #40708
  • [019b25fa5d] - doc: document optional params in napi_get_cb_info (Michael Dawson) #40821
  • [38f02dc4c1] - doc: improve README.md lede section (Rich Trott) #40837
  • [1a2c80957b] - doc: add pref to using draft PR versus WIP label (Michael Dawson) #40824
  • [e70c3616c8] - doc: tweak guidance for modules in core (Michael Dawson) #40601
  • [c10b01e857] - doc: claim ABI version for Electron 18 (Keeley Hammond) #40768
  • [7fba4e5819] - doc: fix transform stream example (Evan Lucas) #40777
  • [a74673fc7c] - doc: fix linter-enforced formatting in crypto.md (Mohammed Keyvanzadeh) #40780
  • [d9ae43ef0e] - doc: fix corepack grammar for --force flag (Steven) #40762
  • [7f9bf21241] - doc: clarify getAuthTag with authTagLength (Tobias Nießen) #40713
  • [fbf732de4f] - doc: fix order of announce work (Michael Dawson) #40725
  • [ac56a114ad] - doc: add initial list of technical priorities (Michael Dawson) #40235
  • [f47d6a37f5] - doc: fix lint re-enabling comment in README.md (Rich Trott) #40647
  • [a9adbb680b] - doc: fix spelling of 'WebAssembly' (Geoffrey Booth) #40785
  • [9e68c00d8e] - doc: format v8.md in preparation for stricter linting (Rich Trott) #40647
  • [82facfbe3e] - doc: final round of markdown format changes (Rich Trott) #40645
  • [fe1b6fb0b5] - doc: simplify CHANGELOG.md (Rich Trott) #40475
  • [5c90975275] - doc: correct esm spec scope lookup definition (Guy Bedford) #40592
  • [ce2dc48588] - doc: use GFM footnotes in BUILDING.md (Rich Trott) #40474
  • [ab28dc5e7f] - doc: update maintaining ICU guide (Michaël Zasso) #40658
  • [f4493c1691] - doc: format changelog for v16.13.2 (Danielle Adams) #41483
  • [59d159f6c3] - doc,lib,tools: align multiline comments (Rich Trott) #41109
  • [3cfe85615c] - esm: make process.exit() default to exit code 0 (Gang Chen) #41388
  • [a0a8f4de58] - esm: reconcile JSDoc vs. actual parameter name (Rich Trott) #41238
  • [a554821f67] - (SEMVER-MINOR) esm: working mock test (Bradley Farias) #39240
  • [4e0502625b] - esm: refactor esm tests out of test/message (Geoffrey Booth) #41352
  • [1b8169a842] - (SEMVER-MINOR) esm: add support for JSON import assertion (Antoine du Hamel) #40250
  • [1280e191e2] - events: clarify JSDoc entries (Rich Trott) #41311
  • [24b40b3b05] - (SEMVER-MINOR) events: graduate capturerejections to supported (James M Snell) #41267
  • [3185772b66] - events: add jsdoc details for Event and EventTarget (James M Snell) #41274
  • [b79fdd5775] - (SEMVER-MINOR) events: add EventEmitterAsyncResource to core (James M Snell) #41246
  • [78a8c1b0bd] - (SEMVER-MINOR) events: propagate weak option for kNewListener (James M Snell) #40899
  • [b671194b85] - (SEMVER-MINOR) fs: accept URL as argument for fs.rm and fs.rmSync (Antoine du Hamel) #41132
  • [66556b39e0] - fs: use async directory processing in cp() (Colin Ihrig) #41351
  • [f4cef533c3] - fs: correct param names in JSDoc comments (Rich Trott) #41237
  • [eaab8d0498] - fs: fix error codes for fs.cp (Antoine du Hamel) #41106
  • [67c6170dc7] - fs: fix length option being ignored during read() (Shinho Ahn) #40906
  • [0377edcceb] - fs: nullish coalescing to respect zero positional reads (Omar El-Mihilmy) #40716
  • [d3839041f5] - http: remove duplicate code (Shaw) #39239
  • [0bf829192a] - http: don't write empty data on req/res end() (Santiago Gimeno) #41116
  • [86bbb427ce] - http: add missing initialization (Michael Dawson) #40555
  • [be53296a1d] - http: change totalSocketCount only on socket creation/close (Subhi Al Hasan) #40572
  • [3c99a4d7c0] - http2: handle existing socket data when creating HTTP/2 server sessions (Tim Perry) #41185
  • [5356dfd296] - inspector: add missing initialization (Michael Dawson) #41022
  • [283f1e8721] - lib: fix linting warnings and errors (Danielle Adams) #41805
  • [c776c7c531] - lib: include return types in JSDoc (Rich Trott) #41130
  • [f6cf39a2d5] - lib: remove spurious JSDoc entry (Rich Trott) #41240
  • [a47fc90c1a] - lib: fix checking syntax of esm module (Qingyu Deng) #41198
  • [438b9cfe02] - (SEMVER-MINOR) lib: make AbortSignal cloneable/transferable (James M Snell) #41050
  • [eda57a9160] - lib: use consistent types in JSDoc @returns (Rich Trott) #41089
  • [f40e099e35] - lib: do not lazy load EOL in blob (Ruben Bridgewater) #41004
  • [157753bf26] - (SEMVER-MINOR) lib: add AbortSignal.timeout (James M Snell) #40899
  • [e08df49d7a] - (SEMVER-MINOR) lib: add reason to AbortSignal (James M Snell) #40807
  • [4bcff4c5f8] - Revert "lib: use helper for readability" (Darshan Sen) #40741
  • [4cb1e7c9c2] - lib: fix typos in lib code comments (Yoshiki) #40792
  • [5e606b54b7] - (SEMVER-MINOR) lib: add unsubscribe method to non-active DC channels (simon-id) #40433
  • [594fe5502d] - (SEMVER-MINOR) lib: add return value for DC channel.unsubscribe (simon-id) #40433
  • [cf6379a543] - lib,test,tools: use consistent JSDoc types (Rich Trott) #40989
  • [4814667189] - lib,tools: remove empty lines between JSDoc tags (Rich Trott) #41147
  • [d422e585c8] - loader: fix package resolution for edge case (Gabriel Bota) #41218
  • [694dc12fab] - (SEMVER-MINOR) loader: return package format from defaultResolve if known (Gabriel Bota) #40980
  • [121199f971] - meta: move one or more collaborators to emeritus (Node.js GitHub Bot) #41456
  • [9467aa9bcf] - meta: update AUTHORS (Node.js GitHub Bot) #41475
  • [e83e41634a] - meta: correct my name in AUTHORS (Jacob Smith) #41444
  • [8dfc1434c2] - meta: update AUTHORS (Node.js GitHub Bot) #41449
  • [dc536f4d14] - meta: add required fields in issue templates (Rich Trott) #41378
  • [5d5c52fa67] - meta: update AUTHORS (Node.js GitHub Bot) #41374
  • [970de5331c] - meta: replace API docs issue template with form (Rich Trott) #41348
  • [08f5c8d131] - meta: move one or more collaborators to emeritus (Node.js GitHub Bot) #41336
  • [51e6ed014a] - meta: replace feature request template with form (Rich Trott) #41317
  • [bb997ff494] - meta: update AUTHORS (Node.js GitHub Bot) #41322
  • [9319fa3394] - meta: update node-api team name (Richard Lau) #41268
  • [93b5a2781b] - meta: move one or more collaborators to emeritus (Node.js GitHub Bot) #41248
  • [d3444a55aa] - meta: update AUTHORS (Node.js GitHub Bot) #41234
  • [115775fd12] - meta: remove community-committee from CODEOWNERS (Rich Trott) #41169
  • [5ac60276d6] - meta: move one or more collaborators to emeritus (Node.js GitHub Bot) #41154
  • [f8c6055af0] - meta: move to emeritus automatically after 18 months (Rich Trott) #41155
  • [7f3604aa5d] - meta: move silverwind to emeriti (Roman Reiss) #41171
  • [d8dbced939] - meta: update AUTHORS (Node.js GitHub Bot) #41144
  • [25d3103f38] - meta: update AUTHORS (Node.js GitHub Bot) #41088
  • [714efe431c] - meta: move one or more TSC members to emeritus (Node.js GitHub Bot) #40908
  • [f51ce33836] - meta: increase security policy response targets (Matteo Collina) #40968
  • [23e925e1fb] - meta: add feature request label for issue template (Mestery) #40970
  • [ad1056d29e] - meta: update AUTHORS (Node.js GitHub Bot) #40900
  • [317cd3fc2b] - meta: update name and email (Viero Fernando) #40848
  • [eb0106d61d] - meta: update AUTHORS (Node.js GitHub Bot) #40809
  • [3a435a3328] - meta: edit GOVERNANCE.md for minor updates (Rich Trott) #40798
  • [1626d17cbe] - meta: update AUTHORS (Node.js GitHub Bot) #40748
  • [442ad8d787] - module: import assertions improvements (Geoffrey Booth) #40785
  • [e7391ea1b3] - module: resolver & spec hardening /w refactoring (Guy Bedford) #40510
  • [03490cb311] - node-api: add missing initialization of last error (Michael Dawson) #41290
  • [375d04a455] - node-api,doc: document parms which can be optional (Michael Dawson) #41021
  • [c021b385c8] - (SEMVER-MINOR) perf_hooks: multiple fixes for Histogram (James M Snell) #41153
  • [7b6db6df39] - policy: add missing JSDoc @param entry (Rich Trott) #41239
  • [c60cff9091] - (SEMVER-MINOR) process: add getActiveResourcesInfo() (Darshan Sen) #40813
  • [f0860bc3c8] - process: support hrtime in the snapshot (Joyee Cheung) #40649
  • [ef337294cc] - readline: skip escaping characters again (Ruben Bridgewater) #41005
  • [370bfda154] - repl: fix and extend require/import tab complete (Mestery) #40216
  • [3c4e3c03ce] - src: gracefully handle errors in GetX509NameObject (Tobias Nießen) #41490
  • [b4d245446f] - src: fix out-of-bounds check of serialization indices (JoostK) #41452
  • [cb30038447] - src: do IWYU for some STL includes (David Sanders) #41236
  • [fe4158aa4e] - src: split out async stack corruption detection from inline fn (Anna Henningsen) #41331
  • [72921f4b31] - src: store native async execution resources as v8::Local (Anna Henningsen) #41331
  • [59625f70ad] - src: guard slightly costly check in MakeCallback more strongly (Anna Henningsen) #41331
  • [2ca37149ad] - src: fix limit calculation (Michael Dawson) #41026
  • [5f01d03acc] - src: use a higher limit in the NearHeapLimitCallback (Joyee Cheung) #41041
  • [7237bcc2d9] - src: reset error struct if error code is napi_ok (JckXia) #40552
  • [9cc2bb75e5] - src: prevent extra copies of TimerWrap::TimerCb (Darshan Sen) #40665
  • [bd9a6a0194] - (SEMVER-MINOR) src: add x509.fingerprint512 to crypto module (3nprob) #39809
  • [7681fdfd7d] - src: add and fix some preprocessor comments (Tobias Nießen) #40701
  • [a9826b09d4] - (SEMVER-MINOR) src: add flags for controlling process behavior (Cheng Zhao) #40339
  • [b1f785cd72] - src,crypto: remove uses of AllocatedBuffer from crypto_sig (Darshan Sen) #40895
  • [807536c541] - src,crypto: use ByteSource::ToBuffer() in crypto_dh (Darshan Sen) #40903
  • [51b86550ae] - src,crypto: remove AllocatedBuffers from crypto_spkac (Darshan Sen) #40752
  • [cebf40396f] - src,crypto: refactor crypto_tls.* (Darshan Sen) #40675
  • [df574f3109] - src,doc: add SyntaxError napi support (Idan Attias) #40736
  • [5e890be360] - stream: remove always-false condition check (Rich Trott) #41488
  • [ae30b391c2] - stream: fix error-path function call (Rich Trott) #41433
  • [5d27f4acbb] - stream: remove unused function argument (Rich Trott) #41403
  • [77c18680ae] - (SEMVER-MINOR) stream: add filter method to readable (Benjamin Gruenbaum) #41354
  • [7cef7699e3] - (SEMVER-MINOR) stream: add isReadable helper (Robert Nagy) #41199
  • [9c718f8af0] - (SEMVER-MINOR) stream: add map method to Readable (Benjamin Gruenbaum) #40815
  • [8cf507abf1] - stream: fix enqueue race condition on esm modules (Rafael Gonzaga) #40901
  • [4522216660] - stream: add isErrored helper (Robert Nagy) #41121
  • [2251bbae0d] - stream: remove whatwg streams experimental warning (James M Snell) #40971
  • [3b1c01216c] - stream: drain Transform with 0 highWaterMark (Robert Nagy) #40947
  • [436e07b36e] - stream: deprecate thenable support (Antoine du Hamel) #40860
  • [9811617b18] - stream: fix the ReadableStreamBYOBReader error message (James M Snell) #40846
  • [e110c96f48] - stream: pipeline with end option (Robert Nagy) #40886
  • [c9f1398faf] - stream: pipeline should drain empty readable (Robert Nagy) #40654
  • [55c9349afa] - stream: fix non readable Duplex readableAborted (Robert Nagy) #40801
  • [1f722a1c77] - stream: allow calling callback before promise (Robert Nagy) #40772
  • [1de552caeb] - test: add ignore for regex space rule (Danielle Adams) #41805
  • [40c09600fd] - test: improve test coverage of dns/promises (Yoshiki Kurihara) #41425
  • [fa425a1aa2] - test: remove broken wiki link from test/common doc (Yoshiki Kurihara) #41426
  • [9242c1900c] - test: do not OR F_OK in fs.access() test (Colin Ihrig) #41484
  • [3bd8e92bbb] - test: mark test-performance-eventloopdelay flaky (Michael Dawson) #41409
  • [874000ff6b] - test: mark test-repl-sigint-nested-eval as flaky (Michael Dawson) #41302
  • [404c8f5501] - test: use spawnSync() full name in test-stdio-pipe-stderr (Rich Trott) #41332
  • [256bf9e6b6] - test: improve expectWarning error message (Rich Trott) #41326
  • [b1e4387c92] - test: use spawnSync() full name (Rich Trott) #41327
  • [8d15bacf2b] - test: add comments explaining _setSimultaneousAccepts deprecation tests (Yoshiki Kurihara) #41307
  • [a53399edbb] - test: mark test-worker-take-heapsnapshot flaky (Michael Dawson) #41253
  • [e444b41093] - test: mark wpt/test-user-timing test flaky (Michael Dawson) #41203
  • [8926d956c1] - test: correct param name in JSDoc comment (Rich Trott) #41241
  • [2e133d5555] - test: mark test-crypto-keygen slow on windows (Michael Dawson) #41207
  • [28c52f60f6] - test: skip ESLint tests if no Intl (Rich Trott) #41105
  • [d6b15424da] - test: add missing JSDoc parameter name (Rich Trott) #41057
  • [3450227ba2] - test: deflake test-trace-atomics-wait (Luigi Pinca) #41018
  • [b9567d99fc] - test: add auth option case for url.format (Hirotaka Tagawa / wafuwafu13) #40516
  • [38fd30f34b] - Revert "test: skip different params test for OpenSSL 3.x" (Daniel Bevenius) #40640
  • [28a216a6dc] - test: mark test-fs-watch-non-recursive flaky on Windows (Luigi Pinca) #40916
  • [ab398b6c80] - test: deflake cluster-concurrent-disconnect (Luigi Pinca) #40877
  • [9e2e4437b9] - test: deflake fs-promises-watch (Luigi Pinca) #40863
  • [55678af57d] - test: fix argument order in assertion (Luigi Pinca) #40842
  • [4978689713] - test: deflake http2-pipe-named-pipe (Luigi Pinca) #40842
  • [f17789addf] - test: use descriptive name for destination file (Luigi Pinca) #40842
  • [48e2b60c44] - test: add AsyncLocalStorage tests using udp, tcp and tls sockets (Darshan Sen) #40741
  • [c002930a62] - test: add tests for invalid UTF-8 (git-srinivas) #40351
  • [25a166dd25] - test: fix flaky test-policy-integrity (Rich Trott) #40763
  • [25b3187021] - test: add semicolons for linter update (Rich Trott) #40720
  • [b4fea14cc3] - test: disable warnings to fix flaky test (Antoine du Hamel) #40739
  • [2c84c3eee8] - test: do not load absolute path crypto engines twice (Richard Lau) #41175
  • [b5b3750678] - timers: use ref counts to count timers (Darshan Sen) #41231
  • [c5f9e96ac4] - (SEMVER-MINOR) timers: add experimental scheduler api (James M Snell) #40909
  • [00abb811ac] - tls: use optional chaining to simplify checks (Antoine du Hamel) #41337
  • [ffca1a71ce] - tls: permit null as a pfx value (CallMeLaNN) #41170
  • [3b5b893abb] - tls: improve handling of shutdown (Jameson Nash) #36111
  • [99a90dbd4a] - tools: enable jsdoc/require-returns-type ESLint rule (Rich Trott) #41130
  • [66feaf429c] - tools: fix small not-quite-a-bug in find-inactive-tsc.mjs (Rich Trott) #41469
  • [7d5686dc9c] - tools: enable ESLint recommended configuration (Rich Trott) #41463
  • [ecf3b6db44] - tools: enable ESLint no-constant-condition rule (Rich Trott) #41463
  • [12ea18ded9] - tools: enable ESLint require-yield rule (Rich Trott) #41463
  • [609a310e2a] - tools: enable ESLint no-sparse-arrays rule (Rich Trott) #41463
  • [063abe52aa] - tools: enable ESLint no-loss-of-precision rule (Rich Trott) #41463
  • [86ece9843f] - tools: replace for loop with map() (Rich Trott) #41451
  • [70ea7462a6] - tools: use GITHUB_ACTIONS env var in inactivity scripts (Rich Trott) #41422
  • [62450d38a8] - tools: replace while+exec() with matchAll() (Rich Trott) #41406
  • [2bc381ee55] - tools: fix argv bug in find-inactive-tsc.mjs (Rich Trott) #41394
  • [3ecc964a29] - tools: remove conditional assignment in custom ESLint rule (Rich Trott) #41325
  • [a136d56aa6] - tools: update lint-md-dependencies to @rollup/plugin-node-resolve@13.1.2 (Node.js GitHub Bot) #41369
  • [003dd37717] - tools: update doc to rehype-raw@6.1.1 (Node.js GitHub Bot) #41367
  • [e8f00fd2ff] - tools: remove last of error-masking in commit-queue.sh (Rich Trott) #41356
  • [530c1275a0] - tools: update eslint to 8.6.0 (Node.js GitHub Bot) #41368
  • [9f2365c4e1] - tools: do not mask errors on multiple commit retrieval (Rich Trott) #41340
  • [f31a3a27bf] - tools: enable jsdoc/check-param-names lint rule (Rich Trott) #41311
  • [1d2e676f8d] - tools: improve section tag additions in HTML doc generator (Rich Trott) #41318
  • [12c5333546] - tools: simplify commit-queue.sh merge command (Rich Trott) #41314
  • [85438e367e] - tools: update lint-md-dependencies to rollup@2.62.0 (Node.js GitHub Bot) #41315
  • [f890582760] - tools: use Object.hasOwn() in alljson.mjs (Rich Trott) #41306
  • [b6a0afc99e] - tools: avoid generating duplicate id attributes (Rich Trott) #41291
  • [7815fbd751] - tools: be intentional about masking possible error in start-ci.sh (Rich Trott) #41284
  • [4011be0d19] - tools: use {N} for spaces in regex (Rich Trott) #41295
  • [599c119de8] - tools: consolidate update-authors.js logic (Rich Trott) #41255
  • [0f728e0825] - tools: update doc dependency mdast-util-gfm-table to 1.0.2 (Rich Trott) #41260
  • [ae32af308a] - tools: make license-builder.sh comply with shellcheck 0.8.0 (Rich Trott) #41258
  • [d51e8ffb22] - tools: use arrow function for callback in lint-sh.js (Rich Trott) #41256
  • [1523aa5a02] - tools: add double-quotes to make-v8.sh (Rich Trott) #41257
  • [49dc1f278e] - tools: enable prefer-object-has-own lint rule (Rich Trott) #41245
  • [f926a490e5] - tools: update eslint to 8.5.0 (Node.js GitHub Bot) #41228
  • [91fc85ae1b] - tools: enable jsdoc/tag-lines ESLint rule (Rich Trott) #41147
  • [de2140d851] - tools: update lint-md-dependencies to @rollup/plugin-node-resolve@13.1.1 (Node.js GitHub Bot) #41227
  • [433274ac2c] - tools: fix CQ and auto-start-ci jobs (Antoine du Hamel) #41230
  • [95568dc877] - tools: fix GitHub Actions status when CQ is empty (Antoine du Hamel) #41193
  • [719c39d230] - tools: update doc to remark-rehype@10.1.0 (Node.js GitHub Bot) #41149
  • [0b2144028f] - tools: update lint-md-dependencies to rollup@2.61.1 vfile-reporter@7.0.3 (Node.js GitHub Bot) #41150
  • [3dc8483345] - tools: update ESLint to 8.4.1 (Rich Trott) #41114
  • [33be3e8451] - tools: enable JSDoc check-alignment lint rule (Rich Trott) #41109
  • [2c28f86eb9] - tools: strip comments from lint-md rollup output (Rich Trott) #41092
  • [1ff152120e] - tools: update highlight.js to 11.3.1 (Rich Trott) #41091
  • [2c009ccc24] - tools: enable jsdoc/require-returns-check lint rule (Rich Trott) #41089
  • [4aae04bb1a] - tools: update ESLint to 8.4.0 (Luigi Pinca) #41085
  • [50420c654c] - tools: enable jsdoc/require-param-name lint rule (Rich Trott) #41057
  • [0983f6b29b] - tools: use jsdoc recommended rules (Rich Trott) #41057
  • [f9cf50f543] - tools: rollback highlight.js (Richard Lau) #41078
  • [5bfa0ea9c4] - tools: remove Babel from license-builder.sh (Rich Trott) #41049
  • [f74d8b56b8] - tools: udpate packages in tools/doc (Rich Trott) #41036
  • [af9b05fc11] - tools: install and enable JSDoc linting in ESLint (Rich Trott) #41027
  • [45e7affa9c] - tools: include JSDoc in ESLint updating tool (Rich Trott) #41027
  • [9e770d4cfd] - tools: ignore unrelated workflow changes in slow Actions tests (Antoine du Hamel) #40990
  • [e5cccdfd74] - tools: remove unneeded tool in update-eslint.sh (Rich Trott) #40995
  • [017cdcd76a] - tools: consolidate ESLint dependencies (Rich Trott) #40995
  • [83f946855f] - tools: update ESLint update script to consolidate dependencies (Rich Trott) #40995
  • [0ed4775069] - tools: run ESLint update to minimize diff on subsequent update (Rich Trott) #40995
  • [5527e9bfac] - tools: update gyp-next to v0.10.1 (Michaël Zasso) #40934
  • [307dd76a90] - tools: fix commit-lint GH Actions CI (Antoine du Hamel) #40845
  • [da35d4fc4b] - tools: ping TSC members identified as inactive (Rich Trott) #40915
  • [2ffe08dc3e] - tools: update lint-md-dependencies to rollup@2.60.1 (Node.js GitHub Bot) #40929
  • [5336e488f1] - tools: update lint-md dependencies (Rich Trott) #40894
  • [96cfab14d0] - tools: update ESLint to 8.3.0 (Luigi Pinca) #40917
  • [b54d53b9dd] - tools: add find-inactive-tsc (Rich Trott) #40884
  • [4ffbff25f3] - tools: update @babel/eslint-parser to 7.16.3 (Node.js GitHub Bot) #40889
  • [c5d0b3cf84] - tools: only validate first commit message of a PR (Antoine du Hamel) #40740
  • [6b6fb83673] - tools: improve update scripts (Rich Trott) #40644
  • [e915cec505] - tools: notify user if format-md needs to be run (Rich Trott) #40647
  • [ea75ef5fbd] - tools: update babel-eslint-parser to 7.16.0 (Rich Trott) #40720
  • [3580286818] - tools: avoid unnecessary escaping in markdown formatter (Rich Trott) #40645
  • [362f5edf8c] - tools,benchmark,lib,test: enable no-case-declarations lint rule (Rich Trott) #41385
  • [5d70195d56] - tools,lib,test: enable ESLint no-regex-spaces rule (Rich Trott) #41463
  • [53570a8a7a] - tools,test: make -J behavior default for test.py (Rich Trott) #40945
  • [5380de725c] - typings: add types for symbol and accessor properties on primordials (ExE Boss) #40992
  • [782dbbd38c] - typings: add JSDoc for string_decoder (Qingyu Deng) #38229
  • [08c2512bbf] - url: detect hostname more reliably in url.parse() (Rich Trott) #41031
  • [2c7f17c72c] - util: do not reduce to a single line if not appropriate using inspect (Ruben Bridgewater) #41083
  • [7b6c71ab1c] - util: display a present-but-undefined error cause (Jordan Harband) #41247
  • [2602c0ca62] - util: serialize falsy cause values while inspecting errors (Ruben Bridgewater) #41097
  • [89d955658b] - util: make sure error causes of any type may be inspected (Ruben Bridgewater) #41097
  • [8ce85882bd] - (SEMVER-MINOR) util: pass through the inspect function to custom inspect functions (Ruben Bridgewater) #41019
  • [4f300a5b00] - util: escape lone surrogate code points using .inspect() (Ruben Bridgewater) #41001
  • [45a3e2454d] - (SEMVER-MINOR) util: add numericSeparator to util.inspect (Ruben Bridgewater) #41003
  • [b15f5e48fa] - (SEMVER-MINOR) util: always visualize cause property in errors during inspection (Ruben Bridgewater) #41002
  • [e29bd4699d] - (SEMVER-MINOR) v8: multi-tenant promise hook api (Stephen Belanger) #39283

2022-01-10, Version 16.13.2 'Gallium' (LTS), @danielleadams

This is a security release.

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

2021-12-01, Version 16.13.1 'Gallium' (LTS), @BethGriggs

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

2021-10-26, Version 16.13.0 'Gallium' (LTS), @richardlau

Notable Changes

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.

2021-10-20, Version 16.12.0 (Current), @richardlau

Notable Changes

Experimental ESM Loader Hooks API

Node.js ESM Loader hooks have been consolidated to represent the steps involved needed to facilitate future loader chaining:

  1. resolve: resolve [+ getFormat]
  2. load: getFormat + getSource + transformSource

For consistency, getGlobalPreloadCode has been renamed to globalPreload.

A loader exporting obsolete hook(s) will trigger a single deprecation warning (per loader) listing the errant hooks.

Contributed by Jacob Smith, Geoffrey Booth, and Bradley Farias - https://github.com/nodejs/node/pull/37468

Other Notable Changes

  • [8fdabcb918] - deps: upgrade npm to 8.1.0 (npm team) #40463
  • [d1d9f2de30] - doc: deprecate (doc-only) http abort related (dr-js) #36670
  • [4116b6c907] - (SEMVER-MINOR) vm: add support for import assertions in dynamic imports (Antoine du Hamel) #40249

Commits

2021-10-12, Version 16.11.1 (Current), @danielleadams

This is a security release.

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 http parser 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

2021-10-08, Version 16.11.0 (Current), @danielleadams

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

2021-09-22, Version 16.10.0 (Current), @BethGriggs

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

2021-09-10, Version 16.9.1 (Current), @richardlau

Notable Changes

This release fixes a regression introduced by the V8 9.3 update in Node.js 16.9.0.

Commits

2021-09-07, Version 16.9.0 (Current), @targos

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.

Object.hasOwn

Object.hasOwn is a static alias for Object.prototype.hasOwnProperty.call:

Object.hasOwn({ value: 42 }, 'value'); // Returns `true`.

Error cause

Errors can now be optionally constructed with a cause option, pointing to another error. This adds a cause property on the new error:

const error1 = new Error('Error one');
const error2 = new Error('Error two', { cause: error1 });
// error2.cause === error1

Contributed by Michaël Zasso - #39947

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

2021-08-25, Version 16.8.0 (Current), @targos

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

2021-08-17, Version 16.7.0 (Current), @danielleadams

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 ffb34b6d5d (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

2021-08-11, Version 16.6.2 (Current), @BethGriggs

This is a security release.

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-22940: 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-22940.
  • 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

2021-08-03, Version 16.6.1 (Current), @targos

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

2021-07-29, Version 16.6.0 (Current), @BethGriggs

This is a security release.

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):

const array = [1, 2, 3];

console.log(array.at(-1));
// Prints: 3

Contributed by Michaël Zasso - #39470

Other notable changes

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 cjs-module-lexer@1.2.2 (Guy Bedford) #39402
  • [626eb07fda] - deps: extract gtest source files to deps/googletest (legendecas) #39386
  • [487c45ffd9] - doc: move lball@redhat.com 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

2021-07-14, Version 16.5.0 (Current), @targos

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

Commits

2021-07-05, Version 16.4.2 (Current), @BethGriggs

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

2021-07-01, Version 16.4.1 (Current), @BethGriggs

This is a security release.

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

2021-06-23, Version 16.4.0 (Current), @danielleadams

Notable changes

  • async_hooks:
    • stabilize part of AsyncLocalStorage (Vladimir de Turckheim) #37675
  • deps:
    • upgrade npm to 7.18.1 (npm team) #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 team) #39065
  • [c6aa68598d] - deps: upgrade npm to 7.17.0 (npm team) #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 team) #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

2021-06-02, Version 16.3.0 (Current), @danielleadams

Notable Changes

  • cli:
    • add -C alias for --conditions flag (Guy Bedford) #38755
  • deps:
    • add workspaces support to npm install commands (Ruy Adorno) #38750

Commits

2021-05-19, Version 16.2.0 (Current), @targos

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

2021-05-04, Version 16.1.0 (Current), @targos

Notable Changes

  • [8a90f55a05] - (SEMVER-MINOR) fs: allow no-params fsPromises fileHandle read (Nitzan Uziely) #38287

Commits

  • [28e16488cf] - async_hooks,doc: replace process.stdout.fd with 1 (Darshan Sen) #38382
  • [cbab7ec6e5] - benchmark: avoid using console.log() (Antoine du Hamel) #38370
  • [ba15b20062] - benchmark: use process.hrtime.bigint() (Antoine du Hamel) #38369
  • [bc6e719884] - bootstrap: freeze more intrinsics (Antoine du Hamel) #38217
  • [29faf0f12e] - build: fix label-pr workflow (Michaël Zasso) #38399
  • [b5d669a6ea] - build: label PRs with GitHub Action instead of nodejs-github-bot (Phillip Johnsen) #38301
  • [195f679331] - crypto: don't crash with some selfsigned certs (Nils Dralle) #37990
  • [4b073b0beb] - crypto: fix generateKeyPair type checks (Nitzan Uziely) #38364
  • [c1d9b5b386] - crypto: fix scrypt keylen validation (Antoine du Hamel) #38385
  • [7354479ad5] - crypto: fix DiffieHellman generator validation (eladkeyshawn) #38311
  • [0e446d6048] - debugger: enable linter on internal/inspector/inspect_client (Antoine du Hamel) #38417
  • [9f0e80aa4d] - debugger: refactor internal/inspector/_inspect to use more primordials (Antoine du Hamel) #38406
  • [a0c566f85a] - debugger: apply automatic lint fixes for inspect_repl.js (Rich Trott) #38411
  • [b884ea739b] - debugger: apply automatic lint fixes for _inspect.js (Rich Trott) #38411
  • [f946aa0360] - debugger: remove unused function argument (Rich Trott) #38400
  • [203a9689a3] - debugger: align message with Node.js standard (Rich Trott) #38400
  • [ef617dcbb0] - debugger: add usage example for --port (Rafael Gonzaga) #38400
  • [37b5ce2d5a] - debugger: fix race condition/deadlock on initialization (Rich Trott) #38161
  • [2a6203d155] - debugger: replace internal use of deprecated API (Rich Trott) #38161
  • [6fff9fff97] - debugger: allow longer time to connect (Rich Trott) #38161
  • [def85daace] - debugger: accommodate line chunking in Windows (Rich Trott) #38161
  • [07361e6b77] - debugger: fix inspect restart on Windows (Rich Trott) #38161
  • [d65615e119] - debugger: remove unused code (Rich Trott) #38161
  • [62b03bc4f6] - debugger: move node-inspect to internal library (Rich Trott) #38161
  • [e3b75cb5aa] - deps: V8: cherry-pick fd75c97d3f56 (Michaël Zasso) #38455
  • [aabddfbeb5] - deps: upgrade npm to 7.11.2 (Ruy Adorno) #38475
  • [7b9fb92d51] - deps: update to cjs-module-lexer@1.2.1 (Guy Bedford) #38450
  • [47626c52a3] - deps: patch V8 to 9.0.257.24 (Michaël Zasso) #38423
  • [f455e08621] - deps: patch V8 to 9.0.257.21 (Michaël Zasso) #38333
  • [dd61a26d8c] - deps: update llhttp to 6.0.1 (Fedor Indutny) #38359
  • [05f41cdbcc] - deps: patch V8 to 9.0.257.19 (Michaël Zasso) #38270
  • [224faa0a05] - Revert "doc: os.uptime() temporary bug notice" (Michaël Zasso) #38494
  • [3b0480dde8] - doc: document 'secureConnect' event limitation (James M Snell) #38447
  • [92586046ec] - doc: fix outdated util inspect documentation and layout example (Ruben Bridgewater) #37079
  • [13de4cf1ca] - doc: mark Node.js 10 as End-of-Life (Richard Lau) #38482
  • [3cbfde1f25] - doc: mark querystring api as legacy (James M Snell) #38436
  • [a5929c2487] - doc: update node-api support matrix (Michael Dawson) #38424
  • [f08650cefe] - doc: add arguments for stream event of Http2Server and Http2SecureServer (Qingyu Deng) #37892
  • [2d59273bed] - doc: indicate that abort tests do not generate core files (Rich Trott) #38422
  • [f1970127ee] - doc: add try/catch in http2 respondWithFile example (Matteo Collina) #38410
  • [f6f1317f43] - doc: note the system requirements for V8 tests (DeeDeeG) #38319
  • [4b19beaf3c] - doc: minor clarification to pathObject (James M Snell) #38437
  • [1eae4af6f7] - doc: clarify that fs.Dir async iterator closes automatically (James M Snell) #38438
  • [14afb39259] - doc: document new TCP_KEEPCNT and TCP_KEEPINTVL socket option defaults (Arnold Zokas) #38313
  • [ed5ef21690] - doc: do not mention TCP in the allowHalfOpen option description (Luigi Pinca) #38360
  • [042985c139] - doc: update message to match actual output (Rich Trott) #35271
  • [bcc5e2af76] - doc: request default snap track be updated for LTS (Rod Vagg) #37708
  • [dfd4c7ba93] - doc: mark process.hrtime() as legacy (Antoine du Hamel) #38371
  • [67cd88da00] - doc: fix typo in worker_threads.md (takayama) #38368
  • [a9314cda7d] - doc: fix version history for "exports" patterns (Antoine du Hamel) #38355
  • [76885cd578] - doc: fix package.json "imports" field history (Antoine du Hamel) #38356
  • [0e88ae7ec1] - doc: fix typo in buffer.md (divlo) #38323
  • [1cccc2da51] - doc: fix YAML comment opening tags (Jayden Seric) #38324
  • [25052dc987] - doc: add nodejs-sec email template (Daniel Bevenius) #38290
  • [3858029262] - doc: update TSC members list with three new members (Rich Trott) #38352
  • [2eef587674] - doc: use foo.prototype.bar notation in buffer.md (Voltrex) #38032
  • [8a90f55a05] - (SEMVER-MINOR) fs: allow no-params fsPromises fileHandle read (Nitzan Uziely) #38287
  • [a696f1080c] - inspector: remove redundant method for connection check (Yash Ladha) #37986
  • [fcac2e0363] - lib: harden lint checks for globals (Antoine du Hamel) #38419
  • [277122e1fa] - lib: fix and improve os typings (Akhil Marsonya) #38316
  • [f2c0258b4c] - lib: add support for JSTransferable as a mixin (James M Snell) #38383
  • [96f54d3446] - meta: post comment when pr labeled fast-track (James M Snell) #38446
  • [4711f57cf2] - perf_hooks: add toJSON to performance class (Yash Ladha) #37771
  • [013fa59602] - perf_hooks: fix PerformanceObserver 'gc' crash (James M Snell) #38414
  • [10147f191e] - readline: move utilities to internal modules (Antoine du Hamel) #38466
  • [620ee42ab4] - repl: document top level await limitation with const/let (James M Snell) #38449
  • [aa24681dcb] - repl: display prompt once after error callback (Anna Henningsen) #38314
  • [9c06103a4f] - src: fix validation of negative offset to avoid abort (James M Snell) #38421
  • [7d8cc2abf1] - src: use %progbits instead of @progbits (Stephen Gallagher) #38312
  • [17856f1f88] - src: print arbitrary javascript exception value in node report (legendecas) #38009
  • [769a210d55] - src: refactor to use THROW_* argument based snprintf (Filip Skokan) #38357
  • [e3538bbcd2] - src: fix abort in pbkdf2 (Tobias Nießen) #38354
  • [09cacd7418] - src: fix setting Converter sub char length (James M Snell) #38331
  • [3649ec5276] - src: avoid deferred gc/cleanup for Buffer.from (James M Snell) #38337
  • [f2ffaba78c] - stream: the position of _read() is wrong (helloyou2012) #38292
  • [7ce39b8608] - test: fix common.mustCall length and name properties (Antoine du Hamel) #38464
  • [d1cd1178e7] - test: address deprecation warning (Rich Trott) #38448
  • [67e9e71f75] - test: crypto KeyObject.from() ERR_INVALID_ARG_TYPE (pezhmanparsaee) #37890
  • [9ad611c0b2] - test: fix flaky test-crypto-timing-safe-dqual-benchmarks (Rich Trott) #38476
  • [10b6b4e244] - test: update url Web Platform Tests (Leko) #38435
  • [4f6c4eb144] - test: move abort test from pummel to abort directory (Rich Trott) #38396
  • [231ef4b0ce] - test: move slower tests into pummel and skip on slow devices (Rich Trott) #38395
  • [45322dfa12] - test: skip some pummel tests on slower machines (Rich Trott) #38394
  • [1bc47a4c0f] - test: fix test to allow quictls fork of OpenSSL 3 (Richard Lau) #38372
  • [6ac02755f5] - test: extend timeout on debugger tests for slower machines (Rich Trott) #38161
  • [93b0c78de0] - test: fix comment typo (Rich Trott) #38161
  • [6c3e5043b0] - test: fix test-inspector-cli-address (Rich Trott) #38161
  • [27d7588ad5] - test: add ancestor package.json checks for tmpdir (Richard Lau) #38285
  • [30de03630e] - test: replace function with arrow function and remove unused argument (Andres) #38235
  • [eb8f5ce44f] - test: use .test domain for not found address (Richard Lau) #38286
  • [a4084d66c6] - test,debugger: migrate node-inspect tests to core (Rich Trott) #38161
  • [16eb078aa8] - test,readline: improve tab completion coverage (Antoine du Hamel) #38465
  • [b3ca1b358e] - timers: remove redundant unref calls (Giora Guttsait) #38320
  • [5b393d9258] - tls: validate ticket keys buffer (Antoine du Hamel) #38308
  • [f6745e9370] - tls: fix tlsSocket.setMaxSendFragment abort (eladkeyshawn) #38170
  • [499da2d9e3] - tools: use mktemp to create the workspace directory (Luigi Pinca) #38432
  • [8a83bfd1bd] - tools: use a shallow clone of the npm/cli repository (Luigi Pinca) #38463
  • [bec959ef8b] - tools: disable LTO for "v8_cppgc_shared" target (Jesse Chan) #38346
  • [6350d35b3c] - tools: remove fixer for non-ascii-character ESLint custom rule (Rich Trott) #38413
  • [dce8d2968a] - tools: fix doc generation when version info is not available (Antoine du Hamel) #38398
  • [1033f6c8cb] - tools: add _depot_tools to PATH (for V8 tests) (DeeDeeG) #38299
  • [28f02cb8cf] - tools: update ESLint to 7.25.0 (Colin Ihrig) #38378
  • [f1ea2c8e2b] - tools: update markdown linter rules (Rich Trott) #38384
  • [02e875c645] - tools: remove node-inspect from license (Rich Trott) #38161
  • [d3bd4b4771] - tools: fix type mismatch in test runner (Richard Lau) #38289
  • [9a2651352b] - typings: add JSDoc typings for fs (Voltrex) #38306
  • [e389e86b6b] - typings: add JSDoc typings for util (Rohit Gohri) #38213
  • [ec5b06eae3] - util: fix infinite recursion during inspection (Ruben Bridgewater) #37079
  • [67bd0ec15c] - zlib: fix brotli flush range (Khaidi Chu) #38408

2021-04-20, Version 16.0.0 (Current), @BethGriggs

Notable Changes

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.

Contributed by James Snell - #38112

Toolchain and Compiler Upgrades

Node.js v16.0.0 will be the first release where we ship prebuilt binaries for Apple Silicon. While well 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.

Contributed by Michaël Zasso - #37587

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) http: use autoDestroy: true in incoming message (Daniele Belardi) #33035
  • (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 autocompletion 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 autocompletion 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