Node.js Changelog

What's new in Node.js 21.7.3 Current

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

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

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

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

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

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

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

New in Node.js 20.12.0 LTS (Mar 28, 2024)

  • NOTABLE CHANGES:
  • crypto: implement crypto.hash()
  • This patch introduces a helper crypto.hash() that computes
  • a digest from the input at one shot. This can be 1.2-2x faster
  • than the object-based createHash() for smaller inputs (

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

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

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

  • Text Styling:
  • util.styleText(format, text): This function returns a formatted text considering the format passed.
  • A new API has been created to format text based on util.inspect.colors, enabling you to style text in different colors (such as red, blue, ...) and emphasis (italic, bold, ...).
  • const { styleText } = require('node:util');
  • const errorMessage = styleText('red', 'Error! Error!');
  • console.log(errorMessage);
  • Loading and parsing environment variables:
  • process.loadEnvFile(path):
  • Use this function to load the .env file. If no path is specified, it automatically loads the .env file in the current directory. Example: process.loadEnvFile().
  • Load a specific .env file by specifying its path. Example: process.loadEnvFile('./development.env').
  • util.parseEnv(content):
  • Use this function to parse an existing string containing environment variable assignments.
  • Example usage: require('node:util').parseEnv('HELLO=world').
  • Support for multi-line values for .env file:
  • Node.js 21.7.0 will now support multi-line values in the .env file:
  • MULTI_LINE="HELLO
  • WORLD"
  • sea: support embedding assets:
  • Users can now include assets by adding a key-path dictionary to the configuration as the assets field. At build time, Node.js would read the assets from the specified paths and bundle them into the preparation blob. In the generated executable, users can retrieve the assets using the sea.getAsset() and sea.getAssetAsBlob() API.
  • "main": "/path/to/bundled/script.js",
  • "output": "/path/to/write/the/generated/blob.blob",
  • "assets": {
  • "a.jpg": "/path/to/a.jpg",
  • "b.txt": "/path/to/b.txt"
  • The single-executable application can access the assets as follows:
  • const { getAsset } = require('node:sea');
  • // Returns a copy of the data in an ArrayBuffer
  • const image = getAsset('a.jpg');
  • // Returns a string decoded from the asset as UTF8.
  • const text = getAsset('b.txt', 'utf8');
  • // Returns a Blob containing the asset without copying.
  • const blob = getAssetAsBlob('a.jpg');
  • vm: support using the default loader to handle dynamic import()
  • This patch adds support for using vm.constants.USE_MAIN_CONTEXT_DEFAULT_LOADER as the importModuleDynamically option in all vm APIs that take this option except vm.SourceTextModule. This allows users to have a shortcut to support dynamic import() in the compiled code without missing the compilation cache if they don't need customization of the loading process. We emit an experimental warning when the import() is actually handled by the default loader through this option instead of requiring --experimental-vm-modules.
  • const { Script, constants } = require('node:vm');
  • const { resolve } = require('node:path');
  • const { writeFileSync } = require('node:fs');
  • // Write test.js and test.txt to the directory where the current script
  • // being run is located.
  • writeFileSync(resolve(__dirname, 'test.mjs'),
  • 'export const filename = "./test.json";');
  • writeFileSync(resolve(__dirname, 'test.json'),
  • '{"hello": "world"}');
  • // Compile a script that loads test.mjs and then test.json
  • // as if the script is placed in the same directory.
  • const script = new Script(
  • `(async function() {
  • const { filename } = await import('./test.mjs');
  • return import(filename, { with: { type: 'json' } })
  • })();`,
  • filename: resolve(__dirname, 'test-with-default.js'),
  • importModuleDynamically: constants.USE_MAIN_CONTEXT_DEFAULT_LOADER,
  • });
  • // { default: { hello: 'world' } }
  • script.runInThisContext().then(console.log);
  • Contributed by Joyee Cheung in #51244
  • crypto: implement crypto.hash()
  • This patch introduces a helper crypto.hash() that computes a digest from the input at one shot. This can be 1.2-2x faster than the object-based createHash() for smaller inputs (

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

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

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

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

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

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

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

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

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

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

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

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

New in Node.js 18.19.0 LTS (Dec 2, 2023)

  • NOTABLE CHANGES:
  • npm updated to v10
  • After two months of baking time in Node.js 20, npm 10 is backported, so that all release lines include a supported version of npm. This release includes npm v10.2.3.
  • Refer to nodejs/Release#884 for the plan to land npm 10.
  • ESM and customization hook changes
  • Leverage loaders when resolving subsequent loaders
  • Loaders now apply to subsequent loaders, for example: --experimental-loader ts-node --experimental-loader loader-written-in-typescript.
  • New node:module API register for module customization hooks; new initialize hook
  • There is a new API register available on node:module to specify a file that exports module customization hooks, and pass data to the hooks, and establish communication channels with them. The “define the file with the hooks” part was previously handled by a flag --experimental-loader, but when the hooks moved into a dedicated thread in 20.0.0 there was a need to provide a way to communicate between the main (application) thread and the hooks thread. This can now be done by calling register from the main thread and passing data, including MessageChannel instances.
  • We encourage users to migrate to an approach that uses --import with register, such as:
  • node --import ./file-that-calls-register.js ./app.js
  • Using --import ensures that the customization hooks are registered before any application code runs, even the entry point.
  • Contributed by João Lenon and Jacob Smith in #46826, Izaak Schroeder and Jacob Smith in #48842 and #48559.
  • import.meta.resolve unflagged
  • In ES modules, import.meta.resolve(specifier)
  • can be used to get an absolute URL string to which specifier resolves, similar
  • to require.resolve in CommonJS. This aligns Node.js with browsers and other server-side runtimes.
  • --experimental-default-type flag to flip module defaults
  • The new flag --experimental-default-type can be used to flip the default module system used by Node.js. Input that is already explicitly defined as ES
  • modules or CommonJS, such as by a package.json "type" field or .mjs/.cjs
  • file extension or the --input-type flag, is unaffected. What is currently implicitly CommonJS would instead be interpreted as ES modules under
  • --experimental-default-type=module:
  • String input provided via --eval or STDIN, if --input-type is unspecified.
  • Files ending in .js or with no extension, if there is no package.json file present in the same folder or any parent folder.
  • Files ending in .js or with no extension, if the nearest parent
  • package.json field lacks a type field; unless the folder is inside a
  • node_modules folder.
  • In addition, extensionless files are interpreted as Wasm if
  • --experimental-wasm-modules is passed and the file contains the "magic bytes"
  • Wasm header.
  • Other ESM-related changes:
  • [ed2d46f4cc] - doc: move and rename loaders section (Geoffrey Booth) #49261
  • [92734d4480] - esm: use import attributes instead of import assertions (Antoine du Hamel) #50140
  • [e96f7ef881] - (SEMVER-MINOR) vm: use import attributes instead of import assertions (Antoine du Hamel) #50141
  • Test runner changes:
  • Many changes to the built-in test runner have been backported. This includes
  • the following additions:
  • [b283ae4238] - (SEMVER-MINOR) test_runner: accept testOnly in run (Moshe Atlow) #49753
  • [059b1945d8] - (SEMVER-MINOR) test_runner: add junit reporter (Moshe Atlow) #49614
  • [d61a505546] - (SEMVER-MINOR) test_runner: expose location of tests (Colin Ihrig) #48975
  • [b55eb2a8d1] - (SEMVER-MINOR) test_runner: add shards support (Raz Luvaton) #48639
  • [05e7f28b40] - (SEMVER-MINOR) test_runner: add initial draft for fakeTimers (Erick Wendel) #47775
  • [428301ad27] - (SEMVER-MINOR) test_runner, cli: add --test-concurrency flag (Colin Ihrig) #49996
  • OTHER NOTABLE CHANGES:
  • [0c4a84e8e9] - (SEMVER-MINOR) deps: update uvwasi to 0.0.19 (Node.js GitHub Bot) #49908
  • [fae60c5841] - stream: use bitmap in readable state (Benjamin Gruenbaum) #49745
  • [17246be158] - (SEMVER-MINOR) lib: add api to detect whether source-maps are enabled (翠 / green) #46391
  • [2e9f7284a1] - (SEMVER-MINOR) lib: add tracing channel to diagnostics_channel (Stephen Belanger) #44943
  • [cc7bf1f641] - (SEMVER-MINOR) src: add cjs_module_lexer_version base64_version (Jithil P Ponnan) #45629
  • [b5d16cd8f0] - (SEMVER-MINOR) tls: add ALPNCallback server option for dynamic ALPN negotiation (Tim Perry) #45190
  • COMMITS:
  • [0d0eb47e2a] - benchmark: add benchmarks for the test_runner (Raz Luvaton) #48931
  • [8bb03d10f4] - benchmark: differentiate whatwg and legacy url (Yagiz Nizipli) #47377
  • [3d7734cbe3] - benchmark: lower URL.canParse runs (Khafra) #47351
  • [24d3fcf415] - benchmark: stablize encode benchmark (Joyee Cheung) #46658
  • [e08fd98bcc] - bootstrap: use correct descriptor for Symbol.{dispose,asyncDispose} (Jordan Harband) #48703
  • [cf9ddcd6c8] - bootstrap: simplify initialization of source map handlers (Joyee Cheung) #48304
  • [12d731e431] - bootstrap: log isolate data info in mksnapshot debug logs (Joyee Cheung) #47768
  • [d66873871a] - bootstrap: store internal loaders in C++ via a binding (Joyee Cheung) #47215
  • [1a499c5082] - bootstrap: optimize modules loaded in the built-in snapshot (Joyee Cheung) #45849
  • [e0e09caafe] - bootstrap: make CJS loader snapshotable (Joyee Cheung) #45849
  • [5f37decd56] - bootstrap: include event_target into the built-in snapshot (Joyee Cheung) #45849
  • [c3f56a3dee] - bootstrap: support module_wrap binding in snapshot (Joyee Cheung) #45849
  • [6466acbc89] - bootstrap: lazy load non-essential modules (Joyee Cheung) #45659
  • [a0d4b69df4] - bootstrap: lazy-load Performance.prototype.timeOrigin (Joyee Cheung) #46425
  • [c1bc8118e3] - bootstrap: generate bootstrapper arguments in BuiltinLoader (Joyee Cheung) #44488
  • [075c57e88b] - build: add symlink to compile_commands.json file if needed (Juan José) #49260
  • [9e1c531b8d] - build: expand when we run internet tests (Michael Dawson) #49218
  • [a781d24624] - build: fix typo libray -> library (configure.py) (michalbiesek) #49106
  • [f2eccb7a04] - build: fix configure --link-module (Richard Lau) #48522
  • [a44d555494] - build: fix IBM i build with Python 3.9 (Richard Lau) #48056
  • [7f68e14ea2] - child_process: improve spawn performance on Linux (Keyhan Vakil) #48523
  • [76e4d4117c] - crypto: ensure valid point on elliptic curve in SubtleCrypto.importKey (Filip Skokan) #50234
  • [7af54279b5] - deps: V8: cherry-pick 70caf337c3f6 (kxxt) #50506
  • [49c5495339] - deps: update zlib to 1.2.13.1-motley-fef5869 (Node.js GitHub Bot) #50085
  • [e0fd52bf07] - deps: update googletest to 2dd1c13 (Node.js GitHub Bot) #50081
  • [1b103cc567] - deps: update googletest to e47544a (Node.js GitHub Bot) #49982
  • [736c869eeb] - deps: update googletest to d1467f5 (Node.js GitHub Bot) #49676
  • [cd99ee1f35] - deps: update googletest to 8a6feab (Node.js GitHub Bot) #49463
  • [5c338573ff] - deps: update zlib to 1.2.13.1-motley-f5fd0ad (Node.js GitHub Bot) #49252
  • [374ec3d623] - deps: update googletest to 7e33b6a (Node.js GitHub Bot) #49034
  • [c15dd6679b] - deps: update zlib to 1.2.13.1-motley-526382e (Node.js GitHub Bot) #49033
  • [588bd5e524] - deps: update googletest to c875c4e (Node.js GitHub Bot) #48964
  • [6059b59018] - deps: update zlib to 1.2.13.1-motley-61dc0bd (Node.js GitHub Bot) #48788
  • [e455dd4003] - deps: update googletest to cc36671 (Node.js GitHub Bot) #48789
  • [747fbb49ca] - deps: V8: cherry-pick 1a782f6543ae (Keyhan Vakil) #48523
  • [272e55c66f] - deps: upgrade npm to 10.2.3 (npm team) #50531
  • [3f6dcc62e5] - deps: update archs files for openssl-3.0.12+quic1 (Node.js GitHub Bot) #50411
  • [da26cdbe84] - deps: upgrade openssl sources to quictls/openssl-3.0.12+quic1 (Node.js GitHub Bot) #50411
  • [23069c34b2] - deps: V8: cherry-pick d69c7937c99d (Michaël Zasso) #46425
  • [5f852cc9fe] - deps: V8: cherry-pick f7d000a7ae7b (Luke Albao) #50344
  • [0c4a84e8e9] - (SEMVER-MINOR) deps: update uvwasi to 0.0.19 (Node.js GitHub Bot) #49908
  • [8682b90d02] - deps: update simdutf to 3.2.18 (Node.js GitHub Bot) #50091
  • [11ecd06aeb] - deps: update simdutf to 3.2.17 (Node.js GitHub Bot) #49019
  • [43bfe5f020] - deps: upgrade npm to 10.2.0 (npm team) #50027
  • [a140bc284b] - deps: upgrade npm to 10.1.0 (npm team) #49570
  • [65ca41c276] - (SEMVER-MINOR) deps: upgrade npm to 10.0.0 (npm team) #49423
  • [df1ff8e3da] - deps: fix call to undeclared functions 'ntohl' and 'htons' (MatteoBax) #49979
  • [f228dc7955] - deps: update corepack to 0.22.0 (Node.js GitHub Bot) #50325
  • [4324ebab67] - deps: update corepack to 0.21.0 (Node.js GitHub Bot) #50088
  • [1cabb77659] - deps: update corepack to 0.20.0 (Node.js GitHub Bot) #49464
  • [04227b287e] - deps: update c-ares to 1.20.1 (Node.js GitHub Bot) #50082
  • [13e69ee11c] - deps: update c-ares to 1.20.0 (Node.js GitHub Bot) #50082
  • [ac717df17e] - deps: update ada to 2.7.2 (Node.js GitHub Bot) #50338
  • [6885fc9386] - deps: update ada to 2.6.10 (Node.js GitHub Bot) #49984
  • [76c5f4039f] - deps: update ada to 2.6.9 (Node.js GitHub Bot) #49340
  • [597ea77422] - deps: update ada to 2.6.8 (Node.js GitHub Bot) #49340
  • [8e7dcba553] - deps: update ada to 2.6.7 (Node.js GitHub Bot) #49340
  • [9f2037e8ee] - deps: update ada to 2.6.5 (Node.js GitHub Bot) #49340
  • [4723976703] - deps: update ada to 2.6.3 (Node.js GitHub Bot) #49340
  • [7ccb478664] - deps: update undici to 5.26.4 (Node.js GitHub Bot) #50274
  • [88f9ebb770] - diagnostics_channel: fix ref counting bug when reaching zero subscribers (Stephen Belanger) #47520
  • [284a869540] - dns: call ada::idna::to_ascii directly from c++ (Yagiz Nizipli) #47920
  • [10968370b5] - doc: drop github actions check in sec release process (Rafael Gonzaga) #48978
  • [07c3b88c74] - doc: remove @anonrig from performance initiative (Yagiz Nizipli) #49641
  • [e26b89e8be] - doc: fix node-api call example (Chengzhong Wu) #49395
  • [4c93905f6c] - doc: add news issue for Diagnostics WG (Michael Dawson) #49306
  • [3f1a237a8f] - doc: add print results for examples in StringDecoder (Jungku Lee) #49326
  • [45caad82bb] - doc: update outdated reference to NIST SP 800-131A (Tobias Nießen) #49316
  • [62f823d5a2] - doc: use cjs as block code's type in MockTimers (Deokjin Kim) #49309
  • [0dda724d3f] - doc: update options.filter description for fs.cp (Shubham Pandey) #49289
  • [4ba11e352b] - doc: avoid "not currently recommended" (Tobias Nießen) #49300
  • [9ca85b58b3] - doc: modify param description for end(),write() in StringDecoder (Jungku Lee) #49285
  • [3f771cab67] - doc: use NODE_API_SUPPORTED_VERSION_MAX in release doc (Cheng Zhao) #49268
  • [f181c37e75] - doc: fix typo in stream.finished documentation (Antoine du Hamel) #49271
  • [c70945ddc2] - doc: update description for percent_encode sets in WHATWG API (Jungku Lee) #49258
  • [f9c2a3fb3e] - doc: clarify use of Uint8Array for n-api (Fedor Indutny) #48742
  • [bf22a5f66e] - doc: use same name in the doc as in the code (Hyunjin Kim) #49216
  • [72bd527fb6] - doc: add notable-change label mention to PR template (Rafael Gonzaga) #49188
  • [2247e52fe0] - doc: add h1 summary to security release process (Rafael Gonzaga) #49112
  • [3b82e9aed1] - doc: fix wording in napi_async_init (Tobias Nießen) #49180
  • [55171d88a0] - doc: fix Type notation in webstreams (Deokjin Kim) #49121
  • [79c0497398] - doc: make the NODE_VERSION_IS_RELEASE revert clear (Rafael Gonzaga) #49114
  • [7ee26fb8df] - doc: update with latest security release (Rafael Gonzaga) #49085
  • [9ce73964be] - doc: add description for --port flag of node inspect (Michael Bianco) #48785
  • [633b8cd181] - doc: add missing period (Rich Trott) #49094
  • [6daa9ec2a4] - doc: add ESM examples in http.md (btea) #47763
  • [12b83e81b9] - doc: detailed description of keystrokes Ctrl-Y and Meta-Y (Ray) #43529
  • [ead654f976] - doc: clarify use of process.env in worker threads on Windows (Daeyeon Jeong) #49008
  • [4047947838] - doc: remove v14 mention (Rafael Gonzaga) #49005
  • [833c643eb4] - doc: run license-builder (github-actions[bot]) #48898
  • [cb43717c97] - doc: add ver of 18.x where Node-api 9 is supported (Michael Dawson) #48876
  • [a8d5c16a2a] - doc: include experimental features assessment (Rafael Gonzaga) #48824
  • [e6d8735e2b] - doc: add new TSC members (Michael Dawson) #48841
  • [d4fe00d0c7] - doc: refactor node-api support matrix (Michael Dawson) #48774
  • [629132d84c] - doc: declare path on example of async_hooks.executionAsyncId() (Deokjin Kim) #48556
  • [dfd368ac9f] - doc: remove the . in the end to reduce confusing (Jason) #48719
  • [74d8f96413] - doc: nodejs-social over nodejs/tweet (Rafael Gonzaga) #48769
  • [73a7e00d06] - doc: add missing history info for import.meta.resolve (Antoine du Hamel) #49700
  • [c20fdb4e52] - doc: edit import.meta.resolve documentation (Antoine du Hamel) #49247
  • [1ac389ecef] - doc: update module hooks docs (Geoffrey Booth) #49265
  • [ed2d46f4cc] - doc: move and rename loaders section (Geoffrey Booth) #49261
  • [258df0e72d] - doc: add signature for module.register (Geoffrey Booth) #49251
  • [58eaf3f6ae] - doc: caveat unavailability of import.meta.resolve in custom loaders (Jacob Smith) #49242
  • [2fef28b2b9] - doc: fix name of the flag in initialize() docs (Antoine du Hamel) #49158
  • [15280fb42c] - doc: add steps about signing the binary in single-executable docs (Darshan Sen) #46764
  • [e374ba296c] - doc: add "type" to test runner event details (Phil Nash) #49014
  • [ec0a6c1f1b] - doc: add new reporter events to custom reporter examples (Chemi Atlow) #48903
  • [e8a32fb49b] - doc: change duration to duration_ms on test documentation (Ardi_Nugraha) #48892
  • [2b30c8b8a3] - doc: fix globalPreload example (bmacnaughton) #50300
  • [8a57182769] - doc,test: extend the list of platforms supported by single-executables (Darshan Sen) #47026
  • [92734d4480] - esm: use import attributes instead of import assertions (Antoine du Hamel) #50140
  • [c3c945e654] - esm: bypass CommonJS loader under --default-type (Geoffrey Booth) #49986
  • [fe691984b2] - esm: unflag extensionless javascript and wasm in module scope (Geoffrey Booth) #49974
  • [56bd9a88ac] - esm: --experimental-default-type flag to flip module defaults (Geoffrey Booth) #49869
  • [72644d62e7] - esm: improve JSDoc annotation of internal functions (Antoine du Hamel) #49959
  • [957725f601] - esm: require braces for modules code (Geoffrey Booth) #49657
  • [c12685f82d] - esm: fix cache collision on JSON files using file: URL (Antoine du Hamel) #49887
  • [ed8dd33493] - esm: identify parent importing a url with invalid host (Jacob Smith) #49736
  • [46d730ab75] - esm: fix return type of import.meta.resolve (Antoine du Hamel) #49698
  • [12cb700478] - esm: update loaders warning (Geoffrey Booth) #49633
  • [47193a347e] - esm: fix support for URL instances in register (Antoine du Hamel) #49655
  • [51ced0f1a1] - esm: clarify ERR_REQUIRE_ESM errors (Daniel Compton) #49521
  • [4be5612bae] - esm: remove return value for Module.register (Antoine du Hamel) #49529
  • [0875867e27] - esm: refactor test-esm-loader-resolve-type (Geoffrey Booth) #49493
  • [9b7c9d93e9] - esm: refactor test-esm-named-exports (Geoffrey Booth) #49493
  • [d1f5514917] - esm: refactor mocking test (Geoffrey Booth) #49465
  • [01ca6d277d] - esm: fix globalPreload warning (Antoine du Hamel) #49069
  • [c1a84398b4] - esm: unflag import.meta.resolve (Guy Bedford) #49028
  • [ef43f084e9] - esm: import.meta.resolve exact module not found errors should return (Guy Bedford) #49038
  • [385f24c9cc] - esm: protect ERR_UNSUPPORTED_DIR_IMPORT against prototype pollution (Antoine du Hamel) #49060
  • [10e7c3a376] - esm: add initialize hook, integrate with register (Izaak Schroeder) #48842
  • [f96b610268] - esm: fix typo parentUrl -> parentURL (Antoine du Hamel) #48999
  • [03c1b5e647] - esm: unflag Module.register and allow nested loader import() (Izaak Schroeder) #48559
  • [63aa5d7270] - esm: add back globalPreload tests and fix failing ones (Antoine du Hamel) #48779
  • [1c7be606f1] - esm: remove support for arrays in import internal method (Antoine du Hamel) #48296
  • [655111fa00] - esm: handle globalPreload hook returning a nullish value (Antoine du Hamel) #48249
  • [9938a8bf13] - esm: handle more error types thrown from the loader thread (Antoine du Hamel) #48247
  • [8cab32a5d1] - esm: do not use 'beforeExit' on the main thread (Antoine du Hamel) #47964
  • [b61efcce95] - esm: rename URLCanParse to be consistent (Antoine du Hamel) #47668
  • [ca20f5931d] - esm: remove support for deprecated hooks (Antoine du Hamel) #47580
  • [5de37a1e37] - esm: initialize import.meta on eval (Antoine du Hamel) #47551
  • [39fbce7313] - esm: propagate process.exit from the loader thread to the main thread (Antoine du Hamel) #47548
  • [2a528b76e6] - esm: avoid try/catch when validating urls (Yagiz Nizipli) #47541
  • [bac9b1758f] - esm: move hook execution to separate thread (Jacob Smith) #44710
  • [dfa444477a] - esm: skip file: URL conversion to path when possible (Antoine du Hamel) #46305
  • [45de8d1bd7] - esm: allow resolve to return import assertions (Geoffrey Booth) #46153
  • [5ffc90a06b] - esm: move hooks handling into separate class (Geoffrey Booth) #45869
  • [490b598dbf] - esm: leverage loaders when resolving subsequent loaders (Maël Nison) #43772
  • [acd987287c] - events: remove weak listener for event target (Raz Luvaton) #48952
  • [69b7f91a92] - fs: remove redundant code in readableWebStream() (Deokjin Kim) #49298
  • [ae8bb162b4] - fs: remove redundant nullCheck (Livia Medeiros) #48826
  • [48c25b154b] - fs: make mkdtemp accept buffers and URL (LiviaMedeiros) #48828
  • [edf46c1b59] - fs: move fs_use_promises_symbol to per-isolate symbols (Joyee Cheung) #47768
  • [fe41d22afc] - fs: use kResistStopPropagation (Chemi Atlow) #48521
  • [7c758f60ab] - fs: fix readdir recursive sync & callback (Ethan Arrowood) #48698
  • [8874b2e11d] - http: start connections checking interval on listen (Paolo Insogna) #48611
  • [29697229b6] - https: fix connection checking interval not clearing on server close (Nitzan Uziely) #48383
  • [981aa7866d] - lib: fix MIME overmatch in data URLs (André Alves) #49104
  • [fe26f8a860] - lib: merge cjs and esm package json reader caches (Yagiz Nizipli) #48477
  • [17246be158] - (SEMVER-MINOR) lib: add api to detect whether source-maps are enabled (翠 / green) #46391
  • [2e9f7284a1] - (SEMVER-MINOR) lib: add tracing channel to diagnostics_channel (Stephen Belanger) #44943
  • [04dad9c2f6] - lib: fix BroadcastChannel initialization location (Shelley Vohr) #46864
  • [671d2c0067] - lib: fix DOMException property descriptors after being lazy loaded (Filip Skokan) #46799
  • [9a4b57d6d4] - lib: improve esm resolve performance (Yagiz Nizipli) #46652
  • [c6b2f56723] - lib: lazy-load deps in modules/run_main.js (Joyee Cheung) #45849
  • [baa280a4f6] - lib: lazy-load deps in source_map_cache.js (Joyee Cheung) #45849
  • [00bdb72b6e] - lib: add getLazy() method to internal/util (Joyee Cheung) #45849
  • [b77a6b2376] - loader: use default loader as cascaded loader in the in loader worker (Joyee Cheung) #47620
  • [7778e190b0] - meta: move Trott to TSC regular member (Rich Trott) #50297
  • [5b9575dd30] - meta: ping TSC for offboarding (Tobias Nießen) #50147
  • [d24c3a0692] - meta: update website team with new name (Rich Trott) #49883
  • [332d2aedb4] - meta: fix linter error (Antoine du Hamel) #49755
  • [dc70c444f4] - meta: add primordials strategic initiative (Benjamin Gruenbaum) #49706
  • [213a9f8a4b] - meta: bump rtCamp/action-slack-notify from 2.2.0 to 2.2.1 (dependabot[bot]) #49437
  • [2827779faa] - meta: remove modules team from CODEOWNERS (Benjamin Gruenbaum) #49412
  • [5d6daf0d01] - meta: add test/reporters to codeowners (Chemi Atlow) #49186
  • [dee7dc5d54] - meta: bump actions/upload-artifact from 3.1.2 to 3.1.3 (dependabot[bot]) #50000
  • [98294fdeee] - meta: bump actions/cache from 3.3.1 to 3.3.2 (dependabot[bot]) #50003
  • [79270327d0] - meta: bump github/codeql-action from 2.21.5 to 2.21.9 (dependabot[bot]) #50002
  • [6591a03c89] - meta: bump github/codeql-action from 2.21.2 to 2.21.5 (dependabot[bot]) #49438
  • [3a107f80bc] - meta: bump actions/checkout from 3.6.0 to 4.1.0 (dependabot[bot]) #50001
  • [26c5c3c4a2] - meta: bump actions/checkout from 3.5.3 to 3.6.0 (dependabot[bot]) #49436
  • [0fc0b88d97] - meta: bump step-security/harden-runner from 2.5.0 to 2.5.1 (dependabot[bot]) #49435
  • [dad5785d5d] - meta: bump actions/setup-node from 3.7.0 to 3.8.1 (dependabot[bot]) #49434
  • [155a275acb] - meta: move one or more collaborators to emeritus (Node.js GitHub Bot) #49264
  • [bd17f0b992] - meta: mention nodejs/tsc when changing GH templates (Rafael Gonzaga) #49189
  • [f6e68a0238] - meta: bump github/codeql-action from 2.20.1 to 2.21.2 (dependabot[bot]) #48986
  • [5c352eeecb] - meta: bump step-security/harden-runner from 2.4.1 to 2.5.0 (dependabot[bot]) #48985
  • [42ac5a6e5f] - meta: bump actions/setup-node from 3.6.0 to 3.7.0 (dependabot[bot]) #48984
  • [b0d769fe7c] - meta: bump actions/setup-python from 4.6.1 to 4.7.0 (dependabot[bot]) #48983
  • [f62b24276c] - meta: add mailmap entry for atlowChemi (Chemi Atlow) #48810
  • [8c55f317a3] - module: move helpers out of cjs loader (Geoffrey Booth) #49912
  • [14e148ee6c] - module: ensure successful import returns the same result (Antoine du Hamel) #46662
  • [65dfe85f03] - module: implement register utility (João Lenon) #46826
  • [6f0458d0a6] - module: refactor to use normalizeRequirableId in the CJS module loader (Darshan Sen) #47896
  • [89ed24b94a] - module: do less CJS module loader initialization at run time (Joyee Cheung) #47194
  • [939c8764b8] - module: move callbacks and conditions into modules/esm/utils.js (Joyee Cheung) #45849
  • [a3b0f4cf55] - module: move modules/cjs/helpers.js to modules/helpers.js (Joyee Cheung) #45849
  • [97579895f2] - module, esm: jsdoc for modules files (Geoffrey Booth) #49523
  • [daca87bbef] - net: use asserts in JS Socket Stream to catch races in future (Tim Perry) #49400
  • [03063bd022] - net: fix crash due to simultaneous close/shutdown on JS Stream Sockets (Tim Perry) #49400
  • [67fe7d8822] - net: fix setting of value in 'setDefaultAutoSelectFamilyAttemptTimeout' (Deokjin Kim) #47012
  • [f449b222fd] - node-api: update headers for better wasm support (Toyo Li) #49037
  • [5148f030b8] - node-api: run finalizers directly from GC (Vladimir Morozov) #42651
  • [edef4fa668] - node-api: enable uncaught exceptions policy by default (Chengzhong Wu) #49313
  • [48a1b9336b] - node-api: fix compiler warning in node_api.h (Michael Graeb) #49103
  • [57966318fe] - node-api: avoid macro redefinition (Tobias Nießen) #48879
  • [d4f26f4651] - policy: fix path to URL conversion (Antoine du Hamel) #49133
  • [a625f22acb] - readline: add paste bracket mode (Jakub Jankiewicz) #47150
  • [bbafd42d75] - repl: display dynamic import variant in static import error messages (Hemanth HM) #48129
  • [b8634eeb16] - sea: allow requiring core modules with the "node:" prefix (Darshan Sen) #47779
  • [066d9d4492] - src: remove unused function GetName() in node_perf (Jungku Lee) #49244
  • [158c91a38a] - src: use ARES_SUCCESS instead of 0 (Jungku Lee) #49048
  • [8c33731ac6] - src: add a condition if the argument of DomainToUnicode is empty (Jungku Lee) #49097
  • [67dba57d77] - src: use ARES_SUCCESS instead of 0 (Hyunjin Kim) #48834
  • [97d87495c7] - src: remove unnecessary temporary creation (Jason) #48734
  • [f5384c3262] - src: fix nullptr access on realm (Jan Olaf Krems) #48802
  • [358273d77f] - src: remove OnScopeLeaveImpl's move assignment overload (Jason) #48732
  • [cc7bf1f641] - (SEMVER-MINOR) src: add cjs_module_lexer_version base64_version (Jithil P Ponnan) #45629
  • [0a950c3752] - src: add missing to_ascii method in dns queries (Daniel Lemire) #48354
  • [3552afb904] - src: fix duplication of externalized builtin code (Keyhan Vakil) #47079
  • [66e4ba5062] - src: fix AliasedBuffer memory attribution in heap snapshots (Joyee Cheung) #46817
  • [946f19b5e3] - src: move AliasedBuffer implementation to -inl.h (Joyee Cheung) #46817
  • [d35f8702c9] - src: bootstrap prepare stack trace callback in shadow realm (Chengzhong Wu) #47107
  • [3551a19205] - src: make BuiltinLoader threadsafe and non-global (Anna Henningsen) #45942
  • [92311a0801] - src: define per-isolate internal bindings registration callback (Chengzhong Wu) #45547
  • [629fc774ca] - src: use an array for faster binding data lookup (Joyee Cheung) #46620
  • [62e2e590fc] - src: fix TLSWrap lifetime bug in ALPN callback (Ben Noordhuis) #49635
  • [fae60c5841] - stream: use bitmap in readable state (Benjamin Gruenbaum) #49745
  • [ee4fc7d78c] - stream: use Buffer.from when constructor is a Buffer (Matthew Aitken) #49250
  • [651e4504ce] - stream: add highWaterMark for the map operator (Raz Luvaton) #49249
  • [d585d13127] - stream: improve WebStreams performance (Raz Luvaton) #49089
  • [7f39f8e805] - test: replace forEach with for..of in test-http-perf_hooks.js (Niya Shiyas) #49818
  • [2f0ffde842] - test: replace forEach with for..of in test-net-isipv4.js (Niya Shiyas) #49822
  • [bbd302b5ab] - test: replace forEach with for..of in test-http2-server (Niya Shiyas) #49819
  • [128ca3e213] - test: replace forEach with for..of in test-http2-client-destroy.js (Niya Shiyas) #49820
  • [a2ca1a605f] - test: print instruction for creating missing snapshot in assertSnapshot (Raz Luvaton) #48914
  • [a0bb30cdca] - test: set test-watch-mode-inspect as flaky (Yagiz Nizipli) #50259
  • [1047d95698] - test: set test-emit-after-on-destroyed as flaky (Yagiz Nizipli) #50246
  • [91a3b57962] - test: set inspector async stack test as flaky (Yagiz Nizipli) #50244
  • [b41aa7b82a] - test: set test-worker-nearheaplimit-deadlock flaky (StefanStojanovic) #50277
  • [e81b066fb1] - test: set test-cli-node-options as flaky (Yagiz Nizipli) #50296
  • [0c05c25c4e] - test: set crypto-timing test as flaky (Yagiz Nizipli) #50232
  • [83e339dbba] - test: set test-structuredclone-* as flaky (Yagiz Nizipli) #50261
  • [866a399488] - test: set inspector async hook test as flaky (Yagiz Nizipli) #50252
  • [cb0bd2116b] - test: set parallel http server test as flaky (Yagiz Nizipli) #50227
  • [54f3d877ae] - test: set test-worker-nearheaplimit-deadlock flaky (Stefan Stojanovic) #50238
  • [5953a255b6] - test: set test-runner-watch-mode as flaky (Yagiz Nizipli) #50221
  • [5820d7e14d] - test: deflake test-runner-output (Moshe Atlow) #49878
  • [1d75da43f2] - Revert "test: mark test-http-regr-gh-2928 as flaky" (Luigi Pinca) #49708
  • [5df23520e7] - test: mark test-runner-watch-mode as flaky (Joyee Cheung) #49627
  • [7e714e6497] - test: remove --no-warnings flag in test_runner fixtures (Raz Luvaton) #48989
  • [0fea550641] - test: reorder test files fixtures for better understanding (Raz Luvaton) #48787
  • [c5857bde42] - test: avoid copying test source files (Chengzhong Wu) #49515
  • [67cb6f9a34] - test: reduce length in crypto keygen tests (Joyee Cheung) #49221
  • [958e114655] - test: split JWK async elliptic curve keygen tests (Joyee Cheung) #49221
  • [344592dc00] - test: split test-crypto-keygen.js (Joyee Cheung) #49221
  • [5f1a1aeeed] - test: rename test-crypto-modp1-error (Tobias Nießen) #49348
  • [107015b45d] - test: migrate message source map tests from Python to JS (Yiyun Lei) #49238
  • [ddebd29515] - test: fix compiler warning in NodeCryptoEnv (Tobias Nießen) #49206
  • [0261c5de56] - test: make test-perf-hooks more robust and work with workers (Joyee Cheung) #49197
  • [e18de802c8] - test: use gcUntil() in test-v8-serialize-leak (Joyee Cheung) #49168
  • [52d5dd8dba] - test: add expectSyncExitWithoutError() and expectSyncExit() utils (Joyee Cheung) #49020
  • [67925bb914] - test: add Symbol.dispose support to mock timers (Benjamin Gruenbaum) #48549
  • [00c08539b6] - test: fix edge snapshot stack traces (Geoffrey Booth) #49659
  • [48f6d9a975] - test: refactor test-node-output-errors (Antoine du Hamel) #48992
  • [c1a8ae38c0] - test: deflake test-loaders-workers-spawned (Antoine du Hamel) #50251
  • [d5cc5d7956] - test: deflake test-esm-loader-resolve-type (Antoine du Hamel) #50273
  • [866d646b0e] - test: increase coverage of Module.register and initialize hook (Antoine du Hamel) #49532
  • [65201ab36b] - test: isolate globalPreload tests (Geoffrey Booth) #49545
  • [65058d9a35] - test: add tmpdir.fileURL() (Livia Medeiros) #49040
  • [e1c6f46926] - test: reduce flakiness of test-esm-loader-hooks (Antoine du Hamel) #49248
  • [e8d475ffc4] - test: refactor test-esm-loader-hooks for easier debugging (Antoine du Hamel) #49131
  • [26f01669fc] - test: reduce flakiness of test-esm-loader-hooks (Antoine du Hamel) #49105
  • [d5a1153970] - test: use fixtures.fileURL when appropriate (Antoine du Hamel) #48990
  • [3424793013] - test: fix snapshot tests when cwd contains spaces or backslashes (Antoine du Hamel) #48959
  • [a9347a4635] - test: order common.mjs in ASCII order (Antoine du Hamel) #48960
  • [adb9280d8e] - test: fix some assumptions in tests (Antoine du Hamel) #48958
  • [f02637e805] - test: fix es-module/test-esm-initialization (Antoine du Hamel) #48880
  • [8c918e5e59] - test: relax version check with shared OpenSSL (Luigi Pinca) #50505
  • [c6caf13ad5] - test: fix crypto-dh error message for OpenSSL 3.x (Kerem Kat) #50395
  • [65b41ebd1f] - test: split test-crypto-dh to avoid timeout on slow machines in the CI (Joyee Cheung) #49492
  • [7606921e1d] - test: fix testsuite against zlib version 1.3 (Dominique Leuenberger) #50364
  • [4f78233254] - test: verify tracePromise does not do runStores (Stephen Belanger) #47349
  • [cb6ef74cf2] - test: fix IPv6 checks on IBM i (Abdirahim Musse) #46546
  • [bcf97ab1b2] - test: fix flaky test-runner-exit-code.js (Colin Ihrig) #46138
  • [f0e8ff90eb] - test: use an array for WPT gloablThis initialization scripts (Joyee Cheung) #46425
  • [0e0dd1fe90] - test: adapt tests for OpenSSL 3.1 (OttoHollmann) #47859
  • [e3ea906988] - test: disambiguate AIX and IBM i (Richard Lau) #48056
  • [088460d80c] - test: add os setPriority, getPriority test coverage (Wael) #38771
  • [b011a498c5] - test,benchmark: use tmpdir.fileURL() (Livia Medeiros) #49138
  • [54168b7364] - test_runner: add test location for FileTests (Colin Ihrig) #49999
  • [1d9c37161d] - test_runner: replace spurious if with else (Colin Ihrig) #49943
  • [b283ae4238] - (SEMVER-MINOR) test_runner: accept testOnly in run (Moshe Atlow) #49753
  • [103c4a088a] - test_runner: catch reporter errors (Moshe Atlow) #49646
  • [e459598cf2] - test_runner: fix test runner watch mode when no positional arguments (Moshe Atlow) #49578
  • [059b1945d8] - (SEMVER-MINOR) test_runner: add junit reporter (Moshe Atlow) #49614
  • [76a35632d3] - test_runner: add jsdocs to mock.js (Caio Borghi) #49555
  • [ba57c24fde] - test_runner: fix invalid timer call (Erick Wendel) #49477
  • [5949ae016f] - test_runner: add jsdocs to MockTimers (Erick Wendel) #49476
  • [429846f258] - test_runner: fix typescript coverage (Moshe Atlow) #49406
  • [760c98280e] - test_runner: preserve original property descriptor (Erick Wendel) #49433
  • [95cc98e14b] - test_runner: expose spec reporter as newable function (Chemi Atlow) #49184
  • [d83964031b] - test_runner: reland run global after() hook earlier (Colin Ihrig) #49116
  • [d61a505546] - (SEMVER-MINOR) test_runner: expose location of tests (Colin Ihrig) #48975
  • [00c70e12f7] - test_runner: dont set exit code on todo tests (Moshe Atlow) #48929
  • [71f7ed728d] - test_runner: fix global after not failing the tests (Raz Luvaton) #48913
  • [11fbd924ed] - test_runner: add support for setImmediate (Erick Wendel) #49397
  • [fb64d415be] - test_runner: fix timeout in *Each hook failing further tests (Raz Luvaton) #48925
  • [67d7faddb2] - test_runner: cleanup test timeout abort listener (Raz Luvaton) #48915
  • [d217435cd3] - test_runner: fix todo and only in spec reporter (Moshe Atlow) #48929
  • [9f122be15a] - test_runner: unwrap error message in TAP reporter (Colin Ihrig) #48942
  • [3a74316624] - test_runner: add __proto__ null (Raz Luvaton) #48663
  • [66ea9bdb4d] - test_runner: fix global before not called when no global test exists (Raz Luvaton) #48877
  • [0bd9704018] - test_runner: use os.availableParallelism() (Colin Ihrig) #45969
  • [b55eb2a8d1] - (SEMVER-MINOR) test_runner: add shards support (Raz Luvaton) #48639
  • [c2575c8db0] - test_runner: fix test_runner test:fail event type (Ethan Arrowood) #48854
  • [6b186d41cd] - test_runner: fix async callback in describe not awaited (Raz Luvaton) #48856
  • [2d4511baab] - test_runner: call abort on test finish (Raz Luvaton) #48827
  • [05e7f28b40] - (SEMVER-MINOR) test_runner: add initial draft for fakeTimers (Erick Wendel) #47775
  • [428301ad27] - (SEMVER-MINOR) test_runner, cli: add --test-concurrency flag (Colin Ihrig) #49996
  • [4b2e258c76] - test_runner,test: fix flaky test-runner-cli-concurrency.js (Colin Ihrig) #50108
  • [b5d16cd8f0] - (SEMVER-MINOR) tls: add ALPNCallback server option for dynamic ALPN negotiation (Tim Perry) #45190
  • [a1c94037ab] - tools: fix --v8-non-optimized-debug for v18.x (Joyee Cheung) #50612
  • [3b65c61f5c] - tools: update lint-md-dependencies (Node.js GitHub Bot) #50083
  • [07941a3609] - tools: update lint-md-dependencies (Node.js GitHub Bot) #49983
  • [ad6e7a6270] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #49679
  • [3511b13c94] - tools: update lint-md-dependencies to [email protected] [email protected] (Node.js GitHub Bot) #49584
  • [b6522a2b6b] - tools: update lint-md-dependencies (Node.js GitHub Bot) #49342
  • [01b2588acf] - tools: update lint-md-dependencies (Node.js GitHub Bot) #49253
  • [0cb42ccb5c] - tools: update lint-md-dependencies (Node.js GitHub Bot) #49122
  • [caa7ecca30] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #49035
  • [42846a02b3] - tools: limit the number of auto start CIs (Antoine du Hamel) #49067
  • [9cc3b2061f] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #48965
  • [1cbb186039] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #48888
  • [f7d6e9ba43] - tools: update lint-md-dependencies to @rollup/[email protected] (Node.js GitHub Bot) #48791
  • [a98addb626] - tools: skip ruff on tools/node_modules (Moshe Atlow) #49838
  • [6cf8dd95d1] - tools: update eslint to 8.51.0 (Node.js GitHub Bot) #50084
  • [b8d2a29ff5] - tools: update eslint to 8.50.0 (Node.js GitHub Bot) #49989
  • [1c1cbf06f0] - tools: update eslint to 8.49.0 (Node.js GitHub Bot) #49586
  • [92d21864c5] - tools: update eslint to 8.48.0 (Node.js GitHub Bot) #49343
  • [0940de36ee] - tools: update eslint to 8.47.0 (Node.js GitHub Bot) #49124
  • [4880a05fa2] - tools: update eslint to 8.46.0 (Node.js GitHub Bot) #48966
  • [e9632454cd] - tools: update eslint to 8.45.0 (Node.js GitHub Bot) #48793
  • [ae49f319c4] - tools: drop support for osx notarization with gon (Ulises Gascón) #50291
  • [014b65e9b7] - tools: use osx notarytool for future releases (Ulises Gascon) #48701
  • [71c386a25c] - typings: update JSDoc for cwd in child_process (LiviaMedeiros) #49029
  • [4d70a2c344] - typings: sync JSDoc with the actual implementation (Hyunjin Kim) #48853
  • [945609487c] - typings: fix missing property in ExportedHooks (Antoine du Hamel) #49567
  • [2ef80f12b9] - typings: fix JSDoc in ESM loader modules (Antoine du Hamel) #48424
  • [7fc15b6d42] - url: fix isURL detection by checking path (Zhuo Zhang) #48928
  • [916a63b124] - url: improve isURL detection (Yagiz Nizipli) #47886
  • [ac27431372] - url: validate pathToFileURL(path) argument as string (LiviaMedeiros) #49161
  • [f256b160bf] - url: handle unicode hostname if empty (Yagiz Nizipli) #49396
  • [2441415c68] - url: reduce pathToFileURL cpp calls (Yagiz Nizipli) #48709
  • [227e749888] - url: validate URL constructor arg length (Matthew Aitken) #47513
  • [bf4ee17d18] - url: validate argument length in canParse (Matthew Aitken) #47513
  • [a67fa2a107] - util: add getCwdSafe internal util fn (João Lenon) #48434
  • [e96f7ef881] - (SEMVER-MINOR) vm: use import attributes instead of import assertions (Antoine du Hamel) #50141
  • [525de686a7] - (SEMVER-MINOR) wasi: updates required for latest uvwasi version (Michael Dawson) #49908
  • [f27d505805] - watch: decrease debounce rate (Moshe Atlow) #48926
  • [83a6d20d70] - watch: use debounce instead of throttle (Moshe Atlow) #48926
  • [879b958184] - worker: protect against user mutating well-known prototypes (Antoine du Hamel) #49270

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

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

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

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

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

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

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

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

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

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

New in Node.js 18.18.2 LTS (Oct 16, 2023)

  • NOTABLE CHANGES:
  • The following CVEs are fixed in this release:
  • [CVE-2023-44487](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2023-44487): `nghttp2` Security Release (High)
  • [CVE-2023-45143](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2023-45143): `undici` Security Release (High)
  • [CVE-2023-38552](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2023-38552): Integrity checks according to policies can be circumvented (Medium)
  • [CVE-2023-39333](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2023-39333): Code injection via WebAssembly export names (Low)
  • More detailed information on each of the vulnerabilities can be found in [October 2023 Security Releases](https://nodejs.org/en/blog/vulnerability/october-2023-security-releases/) blog post.
  • COMMITS:
  • [[`55028468db`](https://github.com/nodejs/node/commit/55028468db)] - **deps**: update undici to v5.26.3 (Matteo Collina) [#50153](https://github.com/nodejs/node/pull/50153)
  • [[`a792bbc515`](https://github.com/nodejs/node/commit/a792bbc515)] - **deps**: update nghttp2 to 1.57.0 (James M Snell) [#50121](https://github.com/nodejs/node/pull/50121)
  • [[`f6444defa4`](https://github.com/nodejs/node/commit/f6444defa4)] - **deps**: update nghttp2 to 1.56.0 (Node.js GitHub Bot) [#49582](https://github.com/nodejs/node/pull/49582)
  • [[`7e9b08dfd4`](https://github.com/nodejs/node/commit/7e9b08dfd4)] - **deps**: update nghttp2 to 1.55.1 (Node.js GitHub Bot) [#48790](https://github.com/nodejs/node/pull/48790)
  • [[`85672c153f`](https://github.com/nodejs/node/commit/85672c153f)] - **deps**: update nghttp2 to 1.55.0 (Node.js GitHub Bot) [#48746](https://github.com/nodejs/node/pull/48746)
  • [[`300a902422`](https://github.com/nodejs/node/commit/300a902422)] - **deps**: update nghttp2 to 1.53.0 (Node.js GitHub Bot) [#47997](https://github.com/nodejs/node/pull/47997)
  • [[`7d83ed0bf6`](https://github.com/nodejs/node/commit/7d83ed0bf6)] - _**Revert**_ "**deps**: update nghttp2 to 1.55.0" (Richard Lau) [#50151](https://github.com/nodejs/node/pull/50151)
  • [[`1193ca5fdb`](https://github.com/nodejs/node/commit/1193ca5fdb)] - **lib**: let deps require `node` prefixed modules (Matthew Aitken) [#50047](https://github.com/nodejs/node/pull/50047)
  • [[`eaf9083cf1`](https://github.com/nodejs/node/commit/eaf9083cf1)] - **module**: fix code injection through export names (Tobias Nießen) [nodejs-private/node-private#461](https://github.com/nodejs-private/node-private/pull/461)
  • [[`1c538938cc`](https://github.com/nodejs/node/commit/1c538938cc)] - **policy**: use tamper-proof integrity check function (Tobias Nießen) [nodejs-private/node-private#462](https://github.com/nodejs-private/node-private/pull/462)

New in Node.js 18.18.1 LTS (Oct 11, 2023)

  • Notable Changes
  • This release addresses some regressions that appeared in Node.js 18.18.0:
  • (Windows) FS can not handle certain characters in file name [#48673](https://github.com/nodejs/node/issues/48673)
  • 18 and 20 node images give error - Text file busy (after re-build images) [nodejs/docker-node#1968](https://github.com/nodejs/docker-node/issues/1968)
  • libuv update in 18.18.0 breaks webpack's thread-loader [#49911](https://github.com/nodejs/node/issues/49911)
  • The libuv 1.45.0 and 1.46.0 updates that were released in Node.js 18.18.0 have been temporarily reverted.
  • COMMITS:
  • _**Revert**_ "**build**: sync libuv header change" (Richard Lau) [#50036](https://github.com/nodejs/node/pull/50036)
  • _**Revert**_ "**deps**: upgrade to libuv 1.45.0" (Richard Lau) [#50036](https://github.com/nodejs/node/pull/50036)
  • _**Revert**_ "**deps**: upgrade to libuv 1.46.0" (Richard Lau) [#50036](https://github.com/nodejs/node/pull/50036)
  • _**Revert**_ "**deps**: add missing thread-common.c in uv.gyp" (Richard Lau) [#50036](https://github.com/nodejs/node/pull/50036)
  • **fs**: make sure to write entire buffer (Robert Nagy) [#49211](https://github.com/nodejs/node/pull/49211)
  • **test**: add `tmpdir.resolve()` (Livia Medeiros) [#49079](https://github.com/nodejs/node/pull/49079)

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

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

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

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

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

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

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

  • OTHER NOTABLE CHANGES:
  • [d6862b085c] - deps: V8: cherry-pick 93275031284c (Joyee Cheung) #48660
  • [00fc8bb8b3] - doc: add rluvaton to collaborators (Raz Luvaton) #49215
  • [d649339abd] - doc: add new TSC members (Michael Dawson) #48841
  • [67f9896247] - (SEMVER-MINOR) inspector: open add SymbolDispose (Chemi Atlow) #48765
  • [5aef593db3] - module: implement register utility (João Lenon) #46826
  • COMMITS:
  • [771abcb5da] - benchmark: add benchmarks for the test_runner (Raz Luvaton) #48931
  • [6b27bb0dab] - benchmark: add pm startup benchmark (Rafael Gonzaga) #48905
  • [1f35c0ca55] - child_process: harden against prototype pollution (Livia Medeiros) #48726
  • [d6862b085c] - deps: V8: cherry-pick 93275031284c (Joyee Cheung) #48660
  • [f71e383948] - deps: update simdutf to 3.2.17 (Node.js GitHub Bot) #49019
  • [e14f0456ae] - deps: update googletest to 7e33b6a (Node.js GitHub Bot) #49034
  • [bfaa0fb500] - deps: update zlib to 1.2.13.1-motley-526382e (Node.js GitHub Bot) #49033
  • [b79c652c85] - deps: update undici to 5.23.0 (Node.js GitHub Bot) #49021
  • [6ead86145c] - deps: update googletest to c875c4e (Node.js GitHub Bot) #48964
  • [4b0e50501e] - deps: update ada to 2.6.0 (Node.js GitHub Bot) #48896
  • [d960ee0ba3] - deps: upgrade npm to 9.8.1 (npm team) #48838
  • [d92b0139ca] - deps: update zlib to 1.2.13.1-motley-61dc0bd (Node.js GitHub Bot) #48788
  • [2a7835c376] - deps: V8: cherry-pick 9f4b7699f68e (Joyee Cheung) #48830
  • [c8e17829ac] - deps: V8: cherry-pick c1a54d5ffcd1 (Joyee Cheung) #48830
  • [318e075b6f] - deps: update googletest to cc36671 (Node.js GitHub Bot) #48789
  • [114e088267] - diagnostics_channel: fix last subscriber removal (Gabriel Schulhof) #48933
  • [00fc8bb8b3] - doc: add rluvaton to collaborators (Raz Luvaton) #49215
  • [21949c45b6] - doc: add print results for examples in WebStreams (Jungku Lee) #49143
  • [032107a6fe] - doc: fix Type notation in webstreams (Deokjin Kim) #49121
  • [91d41e7c5a] - doc: fix name of the flag in initialize() docs (Antoine du Hamel) #49158
  • [aa4caf810e] - doc: make the NODE_VERSION_IS_RELEASE revert clear (Rafael Gonzaga) #49114
  • [f888a1dbe3] - doc: update process.binding deprecation text (Tobias Nießen) #49086
  • [89fa3faf92] - doc: update with latest security release (Rafael Gonzaga) #49085
  • [3d36e7a941] - doc: add description for --port flag of node inspect (Michael Bianco) #48785
  • [e9d9ca12a3] - doc: add missing period (Rich Trott) #49094
  • [7e7b554de0] - doc: add ESM examples in http.md (btea) #47763
  • [48f8ccfd54] - doc: detailed description of keystrokes Ctrl-Y and Meta-Y (Ray) #43529
  • [195885c8f8] - doc: add "type" to test runner event details (Phil Nash) #49014
  • [6ce25f8415] - doc: reserve 118 for Electron 27 (David Sanders) #49023
  • [9c26c0f296] - doc: clarify use of process.env in worker threads on Windows (Daeyeon Jeong) #49008
  • [7186e02aa0] - doc: remove v14 mention (Rafael Gonzaga) #49005
  • [9641ac6c65] - doc: drop github actions check in sec release process (Rafael Gonzaga) #48978
  • [f3d62abb19] - doc: improved joinDuplicateHeaders definition (Matteo Bianchi) #48859
  • [0db104a08b] - doc: fix second parameter name of events.addAbortListener (Deokjin Kim) #48922
  • [5173c559b7] - doc: add new reporter events to custom reporter examples (Chemi Atlow) #48903
  • [660da785e6] - doc: run license-builder (github-actions[bot]) #48898
  • [092f9fe92a] - doc: change duration to duration_ms on test documentation (Ardi_Nugraha) #48892
  • [5e4730858d] - doc: improve requireHostHeader (Guido Penta) #48860
  • [045e3c549a] - doc: add ver of 18.x where Node-api 9 is supported (Michael Dawson) #48876
  • [c20d35df34] - doc: include experimental features assessment (Rafael Gonzaga) #48824
  • [d649339abd] - doc: add new TSC members (Michael Dawson) #48841
  • [aeac327f2b] - doc: refactor node-api support matrix (Michael Dawson) #48774
  • [388c7d9232] - doc: declare path on example of async_hooks.executionAsyncId() (Deokjin Kim) #48556
  • [fe20528c8e] - doc: remove the . in the end to reduce confusing (Jason) #48719
  • [e69c8e173f] - doc: nodejs-social over nodejs/tweet (Rafael Gonzaga) #48769
  • [ea547849fd] - doc: expand on squashing and rebasing to land a PR (Chengzhong Wu) #48751
  • [31442b96a5] - esm: fix globalPreload warning (Antoine du Hamel) #49069
  • [eb1215878b] - esm: unflag import.meta.resolve (Guy Bedford) #49028
  • [57b24a34e6] - esm: import.meta.resolve exact module not found errors should return (Guy Bedford) #49038
  • [f23b2a3066] - esm: protect ERR_UNSUPPORTED_DIR_IMPORT against prototype pollution (Antoine du Hamel) #49060
  • [386e826a56] - esm: add initialize hook, integrate with register (Izaak Schroeder) #48842
  • [74a2e1e0ab] - esm: fix typo parentUrl -> parentURL (Antoine du Hamel) #48999
  • [0a4f7c669a] - esm: unflag Module.register and allow nested loader import() (Izaak Schroeder) #48559
  • [a5597470ce] - esm: add back globalPreload tests and fix failing ones (Antoine du Hamel) #48779
  • [d568600b42] - events: remove weak listener for event target (Raz Luvaton) #48952
  • [3d942d9842] - fs: fix readdir recursive sync & callback (Ethan Arrowood) #48698
  • [c14ff69d69] - fs: mention URL in NUL character error message (LiviaMedeiros) #48828
  • [d634d781d7] - fs: make mkdtemp accept buffers and URL (LiviaMedeiros) #48828
  • [4515a285a4] - fs: remove redundant nullCheck (Livia Medeiros) #48826
  • [742597b14a] - http: start connections checking interval on listen (Paolo Insogna) #48611
  • [67f9896247] - (SEMVER-MINOR) inspector: open add SymbolDispose (Chemi Atlow) #48765
  • [b66a3c1c96] - lib: fix MIME overmatch in data URLs (André Alves) #49104
  • [dca8678a22] - lib: fix to add resolve() before return at Blob.stream()'s source.pull() (bellbind) #48935
  • [420b85c00f] - lib: remove invalid parameter to toASCII (Yagiz Nizipli) #48878
  • [a12ce11b09] - lib,permission: drop repl autocomplete when pm enabled (Rafael Gonzaga) #48920
  • [458eaf5e75] - meta: bump github/codeql-action from 2.20.1 to 2.21.2 (dependabot[bot]) #48986
  • [4f88cb10e0] - meta: bump step-security/harden-runner from 2.4.1 to 2.5.0 (dependabot[bot]) #48985
  • [22fc2a6ec6] - meta: bump actions/setup-node from 3.6.0 to 3.7.0 (dependabot[bot]) #48984
  • [40103adabd] - meta: bump actions/setup-python from 4.6.1 to 4.7.0 (dependabot[bot]) #48983
  • [84c0c6848c] - meta: add mailmap entry for atlowChemi (Chemi Atlow) #48810
  • [1a6e9450b8] - module: make CJS load from ESM loader (Antoine du Hamel) #47999
  • [a5322c4b4a] - module: ensure successful import returns the same result (Antoine du Hamel) #46662
  • [5aef593db3] - module: implement register utility (João Lenon) #46826
  • [015c4f788d] - node-api: avoid macro redefinition (Tobias Nießen) #48879
  • [53ee98566b] - permission: move PrintTree into unnamed namespace (Tobias Nießen) #48874
  • [30ea480135] - permission: fix data types in PrintTree (Tobias Nießen) #48770
  • [8380800375] - readline: add paste bracket mode (Jakub Jankiewicz) #47150
  • [bc009d0c10] - sea: add support for V8 bytecode-only caching (Darshan Sen) #48191
  • [f2f4ce9e29] - src: use effective cppgc wrapper id to deduce non-cppgc id (Joyee Cheung) #48660
  • [bf7ff369f6] - src: add built-in .env file support (Yagiz Nizipli) #48890
  • [8d6948f8e2] - src: remove duplicated code in GenerateSingleExecutableBlob() (Jungku Lee) #49119
  • [b030004cee] - src: refactor vector writing in snapshot builder (Joyee Cheung) #48851
  • [497df8288d] - src: add ability to overload fast api functions (Yagiz Nizipli) #48993
  • [e5b0dfa359] - src: remove redundant code for uv_handle_type (Jungku Lee) #49061
  • [f126b9e3d1] - src: modernize use-equals-default (Jason) #48735
  • [db4370fc3e] - src: avoid string copy in BuiltinLoader::GetBuiltinIds (Yagiz Nizipli) #48721
  • [9d13503c4e] - src: fix callback_queue.h missing header (Jason) #48733
  • [6c389df3aa] - src: cast v8::Object::GetInternalField() return value to v8::Value (Joyee Cheung) #48943
  • [7b9adff0be] - src: do not pass user input to format string (Antoine du Hamel) #48973
  • [e0fdb7b092] - src: remove ContextEmbedderIndex::kBindingDataStoreIndex (Joyee Cheung) #48836
  • [578c3d1e14] - src: use ARES_SUCCESS instead of 0 (Hyunjin Kim) #48834
  • [ed23426aac] - src: save the performance milestone time origin in the AliasedArray (Joyee Cheung) #48708
  • [5dec186663] - src: support snapshot in single executable applications (Joyee Cheung) #46824
  • [d759d4f631] - src: remove unnecessary temporary creation (Jason) #48734
  • [409cc692db] - src: fix nullptr access on realm (Jan Olaf Krems) #48802
  • [07d0fd61b1] - src: remove OnScopeLeaveImpl's move assignment overload (Jason) #48732
  • [41cc3efa23] - src: use string_view for utf-8 string creation (Yagiz Nizipli) #48722
  • [62a46d9335] - src,permission: restrict by default when pm enabled (Rafael Gonzaga) #48907
  • [099159ce04] - src,tools: initialize cppgc (Daryl Haresign) #48660
  • [600c08d197] - stream: improve WebStreams performance (Raz Luvaton) #49089
  • [609b25fa99] - stream: implement ReadableStream.from (Debadree Chatterjee) #48395
  • [750cca2738] - test: use tmpdir.resolve() (Livia Medeiros) #49128
  • [6595367649] - test: use tmpdir.resolve() (Livia Medeiros) #49127
  • [661b055e75] - test: use tmpdir.resolve() in fs tests (Livia Medeiros) #49126
  • [b3c56d206f] - test: use tmpdir.resolve() in fs tests (Livia Medeiros) #49125
  • [3ddb155d16] - test: fix assertion message in test_async.c (Tobias Nießen) #49146
  • [1d17c1032d] - test: refactor test-esm-loader-hooks for easier debugging (Antoine du Hamel) #49131
  • [13bd7a0293] - test: add tmpdir.resolve() (Livia Medeiros) #49079
  • [89b1bce56d] - test: document fixtures.fileURL() (Livia Medeiros) #49083
  • [2fcb855c76] - test: reduce flakiness of test-esm-loader-hooks (Antoine du Hamel) #49105
  • [7816e040df] - test: stabilize the inspector-open-dispose test (Chemi Atlow) #49000
  • [e70e9747e4] - test: print instruction for creating missing snapshot in assertSnapshot (Raz Luvaton) #48914
  • [669ac03520] - test: add tmpdir.fileURL() (Livia Medeiros) #49040
  • [b945d7be35] - test: use spawn and spawnPromisified instead of exec (Antoine du Hamel) #48991
  • [b3a7427583] - test: refactor test-node-output-errors (Antoine du Hamel) #48992
  • [6c3e5c4d69] - test: use fixtures.fileURL when appropriate (Antoine du Hamel) #48990
  • [9138b78bcb] - test: validate error code rather than message (Antoine du Hamel) #48972
  • [b4ca4a6f80] - test: fix snapshot tests when cwd contains spaces or backslashes (Antoine du Hamel) #48959
  • [d4398d458c] - test: order common.mjs in ASCII order (Antoine du Hamel) #48960
  • [b5991f5250] - test: fix some assumptions in tests (Antoine du Hamel) #48958
  • [62e23f83f9] - test: improve internal/worker/io.js coverage (Yoshiki Kurihara) #42387
  • [314bd6095c] - test: fix es-module/test-esm-initialization (Antoine du Hamel) #48880
  • [3680a66df4] - test: validate host with commas on url.parse (Yagiz Nizipli) #48878
  • [24c3742372] - test: delete test-net-bytes-per-incoming-chunk-overhead (Michaël Zasso) #48811
  • [e01cce50f5] - test: skip experimental test with pointer compression (Colin Ihrig) #48738
  • [d5e93b1074] - test: fix flaky test-string-decode.js on x86 (Stefan Stojanovic) #48750
  • [9136667d7d] - test_runner: dont set exit code on todo tests (Moshe Atlow) #48929
  • [52c94908c0] - test_runner: fix todo and only in spec reporter (Moshe Atlow) #48929
  • [5ccfb8d515] - test_runner: unwrap error message in TAP reporter (Colin Ihrig) #48942
  • [fa19b0ed05] - test_runner: add __proto__ null (Raz Luvaton) #48663
  • [65d23940bf] - test_runner: fix async callback in describe not awaited (Raz Luvaton) #48856
  • [4bd5e55b43] - test_runner: fix test_runner test:fail event type (Ethan Arrowood) #48854
  • [41058beed8] - test_runner: call abort on test finish (Raz Luvaton) #48827
  • [821b11a59f] - tls: fix bugs of double TLS (rogertyang) #48969
  • [4439327e73] - tools: update lint-md-dependencies (Node.js GitHub Bot) #49122
  • [21dc844309] - tools: use spec reporter in actions (Moshe Atlow) #49129
  • [3471758696] - tools: use @reporters/github when running in github actions (Moshe Atlow) #49129
  • [95a6e7661e] - tools: add @reporters/github to tools (Moshe Atlow) #49129
  • [995cbf93eb] - tools: update eslint to 8.47.0 (Node.js GitHub Bot) #49124
  • [ed065bc56e] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #49035
  • [a5f37178ad] - tools: limit the number of auto start CIs (Antoine du Hamel) #49067
  • [c1bd680f89] - tools: update eslint to 8.46.0 (Node.js GitHub Bot) #48966
  • [e09a6b4821] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #48965
  • [0cd2393bd9] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #48888
  • [41929a2906] - tools: update lint-md-dependencies to @rollup/[email protected] (Node.js GitHub Bot) #48791
  • [1761bdfbd9] - tools: update eslint to 8.45.0 (Node.js GitHub Bot) #48793
  • [b82f05cc4b] - typings: update JSDoc for cwd in child_process (LiviaMedeiros) #49029
  • [be7b511255] - typings: sync JSDoc with the actual implementation (Hyunjin Kim) #48853
  • [45c860035d] - url: overload canParse V8 fast api method (Yagiz Nizipli) #48993
  • [60d614157b] - url: fix isURL detection by checking path (Zhuo Zhang) #48928
  • [b12c3b5240] - url: ensure getter access do not mutate observable symbols (Antoine du Hamel) #48897
  • [30fb7b7535] - url: reduce pathToFileURL cpp calls (Yagiz Nizipli) #48709
  • [c3dbd0c1e4] - util: use primordials.ArrayPrototypeIndexOf instead of mutable method (DaisyDogs07) #48586
  • [b79b2927ca] - watch: decrease debounce rate (Moshe Atlow) #48926
  • [a12996298e] - watch: use debounce instead of throttle (Moshe Atlow) #48926

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

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

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

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

New in Node.js 18.17.0 LTS (Jul 18, 2023)

  • NOTABLE CHANGES:
  • Ada 2.0:
  • Node.js v18.17.0 comes with the latest version of the URL parser, Ada. This update brings significant performance improvements
  • to URL parsing, including enhancements to the url.domainToASCII and url.domainToUnicode functions in node:url.
  • Ada 2.0 has been integrated into the Node.js codebase, ensuring that all parts of the application can benefit from the
  • improved performance. Additionally, Ada 2.0 features a significant performance boost over its predecessor, Ada 1.0.4,
  • while also eliminating the need for the ICU requirement for URL hostname parsing.
  • Contributed by Yagiz Nizipli and Daniel Lemire in #47339
  • WEB CRYPTO API:
  • Web Crypto API functions' arguments are now coerced and validated as per their WebIDL definitions like in other Web Crypto API implementations.
  • This further improves interoperability with other implementations of Web Crypto API.
  • Contributed by Filip Skokan in #46067:
  • crypto:
  • update root certificates to NSS 3.89 (Node.js GitHub Bot) #47659
  • dns:
  • (SEMVER-MINOR) expose getDefaultResultOrder (btea) #46973
  • doc:
  • add ovflowd to collaborators (Claudio Wunder) #47844
  • add KhafraDev to collaborators (Matthew Aitken) #47510
  • events:
  • (SEMVER-MINOR) add getMaxListeners method (Matthew Aitken) #47039
  • fs:
  • (SEMVER-MINOR) add support for mode flag to specify the copy behavior (Tetsuharu Ohzeki) #47084
  • (SEMVER-MINOR) add recursive option to readdir and opendir (Ethan Arrowood) #41439
  • (SEMVER-MINOR) add support for mode flag to specify the copy behavior (Tetsuharu Ohzeki) #47084
  • (SEMVER-MINOR) implement byob mode for readableWebStream() (Debadree Chatterjee) #46933
  • http:
  • (SEMVER-MINOR) prevent writing to the body when not allowed by HTTP spec (Gerrard Lindsay) #47732
  • (SEMVER-MINOR) remove internal error in assignSocket (Matteo Collina) #47723
  • (SEMVER-MINOR) add highWaterMark opt in http.createServer (HinataKah0) #47405
  • lib:
  • (SEMVER-MINOR) add webstreams to Duplex.from() (Debadree Chatterjee) #46190
  • (SEMVER-MINOR) implement AbortSignal.any() (Chemi Atlow) #47821
  • module:
  • change default resolver to not throw on unknown scheme (Gil Tayar) #47824
  • node-api:
  • (SEMVER-MINOR) define version 9 (Chengzhong Wu) #48151
  • (SEMVER-MINOR) deprecate napi_module_register (Vladimir Morozov) #46319
  • stream:
  • (SEMVER-MINOR) preserve object mode in compose (Raz Luvaton) #47413
  • (SEMVER-MINOR) add setter & getter for default highWaterMark (#46929) (Robert Nagy) #46929
  • test:
  • unflake test-vm-timeout-escape-nexttick (Santiago Gimeno) #48078
  • test_runner:
  • (SEMVER-MINOR) add shorthands to test (Chemi Atlow) #47909
  • (SEMVER-MINOR) support combining coverage reports (Colin Ihrig) #47686
  • (SEMVER-MINOR) execute before hook on test (Chemi Atlow) #47586
  • (SEMVER-MINOR) expose reporter for use in run api (Chemi Atlow) #47238
  • tools:
  • update LICENSE and license-builder.sh (Santiago Gimeno) #48078
  • url:
  • (SEMVER-MINOR) implement URL.canParse (Matthew Aitken) #47179
  • wasi:
  • (SEMVER-MINOR) no longer require flag to enable wasi (Michael Dawson) #47286
  • COMMITS:
  • [2ba08ac002] - benchmark: use cluster.isPrimary instead of cluster.isMaster (Deokjin Kim) #48002
  • [60ca69d96c] - benchmark: add eventtarget creation bench (Rafael Gonzaga) #47774
  • [d8233d96bb] - benchmark: add a benchmark for defaultResolve (Antoine du Hamel) #47543
  • [a1aabb6912] - benchmark: fix invalid requirementsURL (Deokjin Kim) #47378
  • [394c61caf9] - bootstrap: support namespaced builtins in snapshot scripts (Joyee Cheung) #47467
  • [0165a765a0] - bootstrap: do not expand process.argv[1] for snapshot entry points (Joyee Cheung) #47466
  • [cca557cdd9] - buffer: combine checking range of sourceStart in buf.copy (Deokjin Kim) #47758
  • [4c69be467c] - buffer: use private properties for brand checks in File (Matthew Aitken) #47154
  • [d002f9b6e2] - build: revert unkonwn ruff selector (Moshe Atlow) #48753
  • [93f77cb762] - build: set v8_enable_webassembly=false when lite mode is enabled (Cheng Shao) #48248
  • [1662e894f3] - build: add action to close stale PRs (Michael Dawson) #48051
  • [5ca437b288] - build: use pathlib for paths (Mohammed Keyvanzadeh) #47581
  • [72443bc54b] - build: refactor configure.py (Mohammed Keyvanzadeh) #47667
  • [d4eecb5be9] - build: add devcontainer configuration (Tierney Cyren) #40825
  • [803ed41144] - build: bump ossf/scorecard-action from 2.1.2 to 2.1.3 (dependabot[bot]) #47367
  • [48468c4413] - build: replace Python linter flake8 with ruff (Christian Clauss) #47519
  • [3ceb2c4387] - build: add node-core-utils to setup (Jiawen Geng) #47442
  • [fdc59b8e14] - build: bump github/codeql-action from 2.2.6 to 2.2.9 (dependabot[bot]) #47366
  • [3924893023] - build: update stale action from v7 to v8 (Rich Trott) #47357
  • [753185c5b0] - build: remove Python pip --no-user option (Christian Clauss) #47372
  • [67af0a6a2b] - build: avoid usage of pipes library (Mohammed Keyvanzadeh) #47271
  • [db910dd6b2] - build, deps, tools: avoid excessive LTO (Konstantin Demin) #47313
  • [35d1def891] - child_process: use signal.reason in child process abort (Debadree Chatterjee) #47817
  • [7692d2e7b9] - cluster: use ObjectPrototypeHasOwnProperty (Daeyeon Jeong) #48141
  • [7617772762] - crypto: use openssl's own memory BIOs in crypto_context.cc (GauriSpears) #47160
  • [8cabfe7c6e] - crypto: fix setEngine() when OPENSSL_NO_ENGINE set (Tobias Nießen) #47977
  • [de1338da05] - crypto: fix webcrypto private/secret import with empty usages (Filip Skokan) #47877
  • [27a696fda9] - crypto: update root certificates to NSS 3.89 (Node.js GitHub Bot) #47659
  • [e2292f936e] - crypto: remove INT_MAX restriction in randomBytes (Tobias Nießen) #47559
  • [a5f214c00c] - crypto: replace THROW with CHECK for scrypt keylen (Tobias Nießen) #47407
  • [dd42214fd4] - crypto: unify validation of checkPrime checks (Tobias Nießen) #47165
  • [76e4d12fb3] - crypto: re-add padding for AES-KW wrapped JWKs (Filip Skokan) #46563
  • [9d894c17dd] - crypto: use WebIDL converters in WebCryptoAPI (Filip Skokan) #46067
  • [6f3a8b45a5] - deps: update ada to 2.5.0 (Node.js GitHub Bot) #48223
  • [075b6db919] - deps: update ada to 2.4.2 (Node.js GitHub Bot) #48092
  • [a4ee1f652c] - deps: update ada to 2.4.1 (Node.js GitHub Bot) #48036
  • [81b514d3f0] - deps: update ada to 2.4.0 (Node.js GitHub Bot) #47922
  • [575ddf694f] - deps: update ada to 2.3.1 (Node.js GitHub Bot) #47893
  • [2d03d5f458] - deps: update ada to 2.3.0 (Node.js GitHub Bot) #47737
  • [42e690f2d5] - deps: update ada to 2.2.0 (Node.js GitHub Bot) #47678
  • [08dd271521] - deps: update ada to 2.1.0 (Node.js GitHub Bot) #47598
  • [96c50ba71f] - deps: update ada to 2.0.0 (Node.js GitHub Bot) #47339
  • [4d1c38b758] - deps: update zlib to 337322d (Node.js GitHub Bot) #48218
  • [74206b2549] - deps: update histogram 0.11.8 (Marco Ippolito) #47742
  • [fbb4b3775d] - deps: update histogram to 0.11.7 (Marco Ippolito) #47742
  • [e88c079022] - deps: update simdutf to 3.2.12 (Node.js GitHub Bot) #48118
  • [48bd1248b9] - deps: update minimatch to 9.0.1 (Node.js GitHub Bot) #48094
  • [d4572d31fa] - deps: update corepack to 0.18.0 (Node.js GitHub Bot) #48091
  • [8090d29dc4] - deps: update uvwasi to 0.0.18 (Node.js GitHub Bot) #47866
  • [169c8eea2e] - deps: update uvwasi to 0.0.17 (Node.js GitHub Bot) #47866
  • [6acbb23380] - deps: upgrade npm to 9.6.7 (npm team) #48062
  • [e8f2c0a58b] - deps: update undici to 5.22.1 (Node.js GitHub Bot) #47994
  • [9309fd3120] - deps: update simdutf to 3.2.9 (Node.js GitHub Bot) #47983
  • [b796d3560a] - deps: upgrade npm to 9.6.6 (npm team) #47862
  • [cce372e14e] - deps: V8: cherry-pick c5ab3e4f0c5a (Richard Lau) #47736
  • [7283486adb] - deps: update undici to 5.22.0 (Node.js GitHub Bot) #47679
  • [2ea6e03003] - deps: add minimatch as a dependency (Moshe Atlow) #47499
  • [261e1d23d1] - deps: update ICU to 73.1 release (Steven R. Loomis) #47456
  • [f532f9df5f] - deps: update undici to 5.21.2 (Node.js GitHub Bot) #47508
  • [dcb8c038b9] - deps: update simdutf to 3.2.8 (Node.js GitHub Bot) #47507
  • [6c8456d61f] - deps: update undici to 5.21.1 (Node.js GitHub Bot) #47488
  • [d3b2e8a438] - deps: update simdutf to 3.2.7 (Node.js GitHub Bot) #47473
  • [64a5fe0499] - deps: update corepack to 0.17.2 (Node.js GitHub Bot) #47474
  • [6f0f61a7d3] - deps: upgrade npm to 9.6.4 (npm team) #47432
  • [443a72e207] - deps: update zlib to upstream 5edb52d4 (Luigi Pinca) #47151
  • [dc3bc46914] - deps: update simdutf to 3.2.3 (Node.js GitHub Bot) #47331
  • [b2f2bebbc2] - deps: update timezone to 2023c (Node.js GitHub Bot) #47302
  • [c10729ffa7] - deps: upgrade npm to 9.6.3 (npm team) #47325
  • [420deac1de] - deps: update corepack to 0.17.1 (Node.js GitHub Bot) #47156
  • [966ba28491] - deps: V8: cherry-pick 3e4952cb2a59 (Richard Lau) #47236
  • [fc6ab26824] - deps: update timezone to 2023b (Node.js GitHub Bot) #47256
  • [2700e70215] - deps: upgrade npm to 9.6.2 (npm team) #47108
  • [29ba98a0a5] - deps: V8: cherry-pick 975ff4dbfd1b (Debadree Chatterjee) #47209
  • [be34777be8] - deps: cherry-pick win/arm64/clang fixes (Cheng Zhao) #47011
  • [b52aacb614] - deps: update uvwasi to v0.0.16 (Michael Dawson) #46434
  • [27a76cf5e0] - deps,test: update postject to 1.0.0-alpha.6 (Node.js GitHub Bot) #48072
  • [b171c1a3a4] - dgram: convert macro to template (Tobias Nießen) #47891
  • [709bf1c758] - (SEMVER-MINOR) dns: expose getDefaultResultOrder (btea) #46973
  • [2f202c93e7] - doc: clarify array args to Buffer.from() (Bryan English) #48274
  • [27f195f8d8] - doc: document watch option for node:test run() (Moshe Atlow) #48256
  • [7558ef350a] - doc: update documentation for FIPS support (Richard Lau) #48194
  • [f2bb1919e5] - doc: improve the documentation of the stdio option (Kumar Arnav) #48110
  • [a2aa52ba92] - doc: update Buffer.allocUnsafe description (sinkhaha) #48183
  • [19ad471d52] - doc: update codeowners with website team (Claudio Wunder) #48197
  • [67b2c2a98f] - doc: fix broken link to new folder doc/contributing/maintaining (Andrea Fassina) #48205
  • [795ca70815] - doc: add atlowChemi to triagers (Chemi Atlow) #48104
  • [e437a0aff1] - doc: fix typo in readline completer function section (Vadym) #48188
  • [92e0ea496d] - doc: remove broken link for keygen (Rich Trott) #48176
  • [fe15dae8e6] - doc: add auto intrinsic height to prevent jitter/flicker (Daniel Holbert) #48195
  • [230335e21f] - doc: add version info on the SEA docs (Antoine du Hamel) #48173
  • [e6f37d1b80] - doc: add Ruy to list of TSC members (Michael Dawson) #48172
  • [69205a250c] - doc: update socket.remote* properties documentation (Saba Kharanauli) #48139
  • [e4a5d6298c] - doc: update outdated section on TLSv1.3-PSK (Tobias Nießen) #48123
  • [d14018ed99] - doc: improve HMAC key recommendations (Tobias Nießen) #48121
  • [e9d4baf770] - doc: clarify mkdir() recursive behavior (Stephen Odogwu) #48109
  • [3e4a469139] - doc: fix typo in crypto legacy streams API section (Tobias Nießen) #48122
  • [bdf366ab88] - doc: update SEA source link (Rich Trott) #48080
  • [2a4f79a75f] - doc: clarify tty.isRaw (Roberto Vidal) #48055
  • [98c6e4be03] - doc: use secure key length for HMAC generateKey (Tobias Nießen) #48052
  • [8ae5c8cf9d] - doc: update broken EVP_BytesToKey link (Rich Trott) #48064
  • [3c713e7caa] - doc: update broken spkac link (Rich Trott) #48063
  • [c22f739e94] - doc: document node-api version process (Chengzhong Wu) #47972
  • [ce859f9f9f] - doc: fix typo in binding functions (Deokjin Kim) #48003
  • [070c3457b7] - doc: mark Node.js 14 as End-of-Life (Richard Lau) #48023
  • [3611027d8e] - doc: clarify CRYPTO_CUSTOM_ENGINE_NOT_SUPPORTED (Tobias Nießen) #47976
  • [dbffad958c] - doc: add missing deprecated blocks to cluster (Tobias Nießen) #47981
  • [035356f711] - doc: update description of global (Tobias Nießen) #47969
  • [081a6ffaea] - doc: update measure memory rejection information (Yash Ladha) #41639
  • [3460cf9c23] - doc: fix broken link to TC39 import attributes proposal (Rich Trott) #47954
  • [3b018c8aa9] - doc: fix broken link (Rich Trott) #47953
  • [244db960a9] - doc: remove broken link (Rich Trott) #47942
  • [2cc8715bb9] - doc: document make lint-md-clean (Matteo Collina) #47926
  • [b80e006c17] - doc: mark global object as legacy (Mert Can Altın) #47819
  • [bf4eb058f3] - doc: ntfs junction points must link to directories (Ben Noordhuis) #47907
  • [49875f0d69] - doc: fix params names (Dmitry Semigradsky) #47853
  • [94b5eaaf17] - doc: update supported version of FreeBSD to 12.4 (Michaël Zasso) #47838
  • [0114201825] - doc: swap Matteo with Rafael in the stewards (Rafael Gonzaga) #47841
  • [8bcfcc0af9] - doc: add valgrind suppression details (Kevin Eady) #47760
  • [75d397ecab] - doc: replace EOL versions in README (Tobias Nießen) #47833
  • [2b0c57cb80] - doc: add ovflowd to collaborators (Claudio Wunder) #47844
  • [be4966977c] - doc: update BUILDING.md previous versions links (Tobias Nießen) #47835
  • [a9e8a20fb8] - doc: create maintaining folder for deps (Marco Ippolito) #47589
  • [fd0f362d7c] - doc: remove MoLow from Triagers (Moshe Atlow) #47792
  • [0927c67ab6] - doc: fix typo in webstreams.md (Christian Takle) #47766
  • [994be578da] - doc: move BethGriggs to regular member (Rich Trott) #47776
  • [64d19f4678] - doc: move addaleax to TSC emeriti (Anna Henningsen) #47752
  • [33ec10e6b8] - doc: add link to news for Node.js core (Michael Dawson) #47704
  • [2a682b5efe] - doc: async_hooks asynchronous content example add mjs code (btea) #47401
  • [4f541c3ca3] - doc: clarify concurrency model of test runner (Tobias Nießen) #47642
  • [ffcff68f0d] - doc: fix typos (Mohammed Keyvanzadeh) #47685
  • [290b2b7afc] - doc: fix capitalization of ASan (Mohammed Keyvanzadeh) #47676
  • [b4ca788878] - doc: fix typos in SECURITY.md (Mohammed Keyvanzadeh) #47677
  • [971c545a47] - doc: update error code of buffer (Deokjin Kim) #47617
  • [ec5c919928] - doc: change offset of example in Buffer.copyBytesFrom (Deokjin Kim) #47606
  • [980bf052c7] - doc: remove markdown link from heading (Tobias Nießen) #47585
  • [e96451ec5e] - doc: fix release-post script location (Rafael Gonzaga) #47517
  • [61ea15339c] - doc: add link for news from uvwasi team (Michael Dawson) #47531
  • [d40bcdd73e] - doc: add missing setEncoding call in ESM example (Anna Henningsen) #47558
  • [924dc909b3] - doc: fix typo in util.types.isNativeError() (Julian Dax) #47532
  • [a24d72a6fb] - doc: add KhafraDev to collaborators (Matthew Aitken) #47510
  • [b0196378b6] - doc: create maintaining-brotli.md (Marco Ippolito) #47380
  • [3902be8fe8] - doc: info on handling unintended breaking changes (Michael Dawson) #47426
  • [670f9a591d] - doc: add performance initiative (Yagiz Nizipli) #47424
  • [89a5d04a8e] - doc: do not create a backup file (Luigi Pinca) #47151
  • [7f2bccc5d6] - doc: add MoLow to the TSC (Colin Ihrig) #47436
  • [7db2e889ac] - doc: add a note about os.cpus() returning an empty list (codedokode) #47363
  • [289a8e30d6] - doc: clarify reports are only evaluated on active versions (Rafael Gonzaga) #47341
  • [dc22edb4d2] - doc: remove Vladimir de Turckheim from Security release stewards (Vladimir de Turckheim) #47318
  • [3e74a74da3] - doc: add importing util to example of `process.report.getReport' (Deokjin Kim) #47298
  • [ece029f64e] - doc: vm.SourceTextModule() without context option (Axel Kittenberger) #47295
  • [c7227204cc] - doc: document process for sharing project news (Michael Dawson) #47189
  • [2865cbb4bd] - doc: revise example of assert.CallTracker (Deokjin Kim) #47252
  • [81ebaf2670] - doc: fix typo in SECURITY.md (Rich Trott) #47282
  • [faabd48f11] - doc: use serial comma in cli docs (Tobias Nießen) #47262
  • [3a85794089] - doc: improve example for Error.captureStackTrace() (Julian Dax) #46886
  • [2114fa472b] - doc: clarify http error events after calling destroy() (Zach Bjornson) #46903
  • [d15f522d1f] - doc: update output of example in AbortController (Deokjin Kim) #47227
  • [ab6588e343] - doc: drop one-week branch sync on major releases (Rafael Gonzaga) #47149
  • [6ac52e3061] - doc: fix grammar in the collaborator guide (Mohammed Keyvanzadeh) #47245
  • [13175774a6] - doc: update stream.reduce concurrency note (Raz Luvaton) #47166
  • [1e97ccd6d4] - doc: remove use of DEFAULT_ENCODING in PBKDF2 docs (Tobias Nießen) #47181
  • [d562a7c461] - doc: fix typos in async_context.md (Shubham Sharma) #47155
  • [9a11788cdf] - doc: update collaborator guide to reflect TSC changes (Rich Trott) #47126
  • [5fc2bb763f] - doc: clarify that fs.create{Read,Write}Stream support AbortSignal (Antoine du Hamel) #47122
  • [2dd3b0213e] - doc: improve documentation for util.types.isNativeError() (Julian Dax) #46840
  • [ce4636e36b] - doc: rename the startup performance initiative to startup snapshot (#47111) (Joyee Cheung)
  • [309d017f15] - doc: fix "maintaining dependencies" heading typos (Keyhan Vakil) #47082
  • [230a984eb3] - doc: include webstreams in finished() and Duplex.from() parameters (Debadree Chatterjee) #46312
  • [8651ea822e] - doc,fs: update description of fs.stat() method (Mert Can Altın) #47654
  • [e4539e1f19] - doc,test: update the v8.startupSnapshot doc and test the example (Joyee Cheung) #47468
  • [3dddc0175f] - doc,test: fix concurrency option of test() (Tobias Nießen) #47734
  • [563f9fe06a] - doc,vm: clarify usage of cachedData in vm.compileFunction() (Darshan Sen) #48193
  • [316016ffac] - esm: avoid accessing lazy getters for urls (Yagiz Nizipli) #47542
  • [e5e385d2b2] - esm: increase test coverage of edge cases (Antoine du Hamel) #47033
  • [061fb20660] - (SEMVER-MINOR) events: add getMaxListeners method (Matthew Aitken) #47039
  • [ed0b62cc01] - (SEMVER-MINOR) fs: add support for mode flag to specify the copy behavior (Tetsuharu Ohzeki) #47084
  • [9b44c56c9a] - fs: make readdir recursive algorithm iterative (Ethan Arrowood) #47650
  • [7273ef53b3] - (SEMVER-MINOR) fs: add recursive option to readdir and opendir (Ethan Arrowood) #41439
  • [3f0636d2c1] - (SEMVER-MINOR) fs: add support for mode flag to specify the copy behavior (Tetsuharu Ohzeki) #47084
  • [a0b9853251] - (SEMVER-MINOR) fs: implement byob mode for readableWebStream() (Debadree Chatterjee) #46933
  • [709e368708] - http: send implicit headers on HEAD with no body (Matteo Collina) #48108
  • [dc318f26c0] - (SEMVER-MINOR) http: prevent writing to the body when not allowed by HTTP spec (Gerrard Lindsay) #47732
  • [4b2a015642] - (SEMVER-MINOR) http: remove internal error in assignSocket (Matteo Collina) #47723
  • [7cef6aa721] - (SEMVER-MINOR) http: add highWaterMark opt in http.createServer (HinataKah0) #47405
  • [9186f3a0ef] - http2: improve nghttp2 error callback (Tobias Nießen) #47840
  • [cc7e5dd4cd] - inspector: add tips for Session (theanarkh) #47195
  • [70c0e882d3] - inspector: log response and requests in the inspector for debugging (Joyee Cheung) #46941
  • [6099d2d08b] - inspector: fix session.disconnect crash (theanarkh) #46942
  • [156292d44a] - lib: create weakRef only if any signals provided (Chemi Atlow) #48448
  • [efaa073303] - (SEMVER-MINOR) lib: implement AbortSignal.any() (Chemi Atlow) #47821
  • [c46b31f3bf] - lib: support FORCE_COLOR for non TTY streams (Moshe Atlow) #48034
  • [286c358832] - lib: do not disable linter for entire files (Antoine du Hamel) #48299
  • [a2552ab7c0] - lib: use existing isWindows variable (sinkhaha) #48134
  • [2b65625281] - lib: update comment (sinkhaha) #47884
  • [fa447b5120] - lib: use webidl DOMString converter in EventTarget (Matthew Aitken) #47514
  • [33f32dc318] - lib: define Event.isTrusted in the prototype (Santiago Gimeno) #46974
  • [50789a5e4a] - lib: refactor to use validateBuffer (Deokjin Kim) #46489
  • [3658abea26] - (SEMVER-MINOR) lib: add webstreams to Duplex.from() (Debadree Chatterjee) #46190
  • [fcf3781d22] - lib,src,test: lint codebase according new rules for v18.x (Juan José Arboleda) #48697
  • [b55dc53422] - meta: bump github/codeql-action from 2.3.3 to 2.3.6 (dependabot[bot]) #48287
  • [8ac4579d85] - meta: bump actions/setup-python from 4.6.0 to 4.6.1 (dependabot[bot]) #48286
  • [b1854fe9c1] - meta: bump codecov/codecov-action from 3.1.3 to 3.1.4 (dependabot[bot]) #48285
  • [d9448b8d93] - meta: remove dont-land-on-v14 auto labeling (Shrujal Shah) #48031
  • [bb859768b6] - meta: move one or more collaborators to emeritus (Node.js GitHub Bot) #48010
  • [af90fb939b] - meta: bump step-security/harden-runner from 2.3.1 to 2.4.0 (Rich Trott) #47980
  • [4dcf5e2052] - meta: bump github/codeql-action from 2.3.2 to 2.3.3 (Rich Trott) #47979
  • [dab3186ea2] - meta: bump actions/setup-python from 4.5.0 to 4.6.0 (Rich Trott) #47968
  • [546224c13c] - meta: add security-wg ping to permission.js (Rafael Gonzaga) #47941
  • [353dfbd2d6] - meta: bump step-security/harden-runner from 2.2.1 to 2.3.1 (dependabot[bot]) #47808
  • [20a5cc27ec] - meta: bump actions/setup-python from 4.5.0 to 4.6.0 (dependabot[bot]) #47806
  • [eef6442d8d] - meta: bump actions/checkout from 3.3.0 to 3.5.2 (dependabot[bot]) #47805
  • [e30e6a718a] - meta: remove extra space in scorecard workflow (Mestery) #47805
  • [2d13cdebc4] - meta: bump github/codeql-action from 2.2.9 to 2.3.2 (dependabot[bot]) #47809
  • [f0d8352ed8] - meta: bump codecov/codecov-action from 3.1.1 to 3.1.3 (dependabot[bot]) #47807
  • [7e95fba0ff] - meta: fix dependabot commit message (Mestery) #47810
  • [d31d9c7c28] - meta: ping nodejs/startup for startup test changes (Joyee Cheung) #47771
  • [077686055b] - meta: add mailmap entry for KhafraDev (Rich Trott) #47512
  • [e50eb6570a] - meta: ping security-wg team on permission model changes (Rafael Gonzaga) #47483
  • [2df1a36214] - meta: ping startup and realm team on src/node_realm* changes (Joyee Cheung) #47448
  • [c7dc6e321b] - meta: fix notable-change comment label url (Filip Skokan) #47300
  • [e859ca44d5] - meta: clarify the threat model to explain the JSON.parse case (Matteo Collina) #47276
  • [1f08f4848d] - meta: update link to collaborators discussion page (Michaël Zasso) #47211
  • [3b524cbf86] - meta: automate description requests when notable change label is added (Danielle Adams) #47078
  • [da16ca7c59] - meta: move TSC voting member(s) to regular member(s) (Node.js GitHub Bot) #47180
  • [0c80e60d7e] - meta: move TSC voting member to regular membership (Node.js GitHub Bot) #46985
  • [0edcfed895] - meta: update GOVERNANCE.md to reflect TSC charter changes (Rich Trott) #47126
  • [baada5d035] - meta: ask expected behavior reason in bug template (Ben Noordhuis) #47049
  • [5d75ec402e] - module: reduce the number of URL initializations (Yagiz Nizipli) #48272
  • [c5af5a4f4f] - module: change default resolver to not throw on unknown scheme (Gil Tayar) #47824
  • [cf8845d001] - module: block requiring test/reporters without scheme (Moshe Atlow) #47831
  • [ce7e6c6765] - (SEMVER-MINOR) node-api: define version 9 (Chengzhong Wu) #48151
  • [53c02b20b8] - node-api: add status napi_cannot_run_js (Gabriel Schulhof) #47986
  • [4b280d5361] - node-api: napi_ref on all types is experimental (Vladimir Morozov) #47975
  • [e2553b12e7] - (NODE-API-SEMVER-MAJOR) node-api: get Node API version used by addon (Vladimir Morozov) #45715
  • [beaad7f692] - node-api: test passing NULL to napi_define_class (Gabriel Schulhof) #47567
  • [6ab892780c] - node-api: test passing NULL to number APIs (Gabriel Schulhof) #47549
  • [a67e5ea89c] - node-api: remove unused mark_arraybuffer_as_untransferable (Chengzhong Wu) #47557
  • [7019d48ba1] - (SEMVER-MINOR) node-api: deprecate napi_module_register (Vladimir Morozov) #46319
  • [395c56bd7c] - node-api: extend type-tagging to externals (Gabriel Schulhof) #47141
  • [6e66371eee] - node-api: document node-api shutdown finalization (Chengzhong Wu) #45903
  • [d8d2d33efb] - node-api: verify cleanup hooks order (Chengzhong Wu) #46692
  • [b34eaf393e] - path: indicate index of wrong resolve() parameter (sosoba) #47660
  • [13bc5488a1] - permission: remove unused function declaration (Deokjin Kim) #47957
  • [5f8aef477e] - quic: address recent coverity warning (Michael Dawson) #47753
  • [75d7024ecd] - quic: add more QUIC implementation (James M Snell) #47494
  • [24840832bd] - quic: add more QUIC impl (James M Snell) #47348
  • [114b8479b4] - readline: fix issue with newline-less last line (Ian Harris) #47317
  • [e668efac6b] - repl: preserve preview on ESCAPE key press (Xuguang Mei) #46878
  • [7306b0f733] - sea: fix memory leak detected by asan (Darshan Sen) #47309
  • [1f2c91f98a] - src: use std::array for passing argv in node::url (Anna Henningsen) #47035
  • [36bf06904f] - src: add Realm document in the src README.md (Chengzhong Wu) #47932
  • [5445835671] - src: check node_extra_ca_certs after openssl cfg (Raghu Saxena) #48159
  • [eb96856555] - src: include missing header in node_sea.h (Joyee Cheung) #48152
  • [2a35462045] - src: deduplicate X509Certificate::Fingerprint* (Tobias Nießen) #47978
  • [4c556816bd] - src: move BlobSerializerDeserializer to a separate header file (Darshan Sen) #47933
  • [4bad757012] - src: rename SKIP_CHECK_SIZE to SKIP_CHECK_STRLEN (Tobias Nießen) #47845
  • [33daa89dac] - src: register ext reference for Fingerprint512 (Tobias Nießen) #47892
  • [30b7133008] - src: clarify the parameter name in Permission::Apply (Daeyeon Jeong) #47874
  • [274c0f2e0a] - src: avoid strcmp() with Utf8Value (Tobias Nießen) #47827
  • [559c98f468] - src: prefer data accessor of string and vector (Mohammed Keyvanzadeh) #47750
  • [933673de61] - src: avoid copying string in fs_permission (Yagiz Nizipli) #47746
  • [77f2b97197] - src: fix typo in comment in quic/sessionticket.cc (Tobias Nießen) #47754
  • [8e6af9fcf4] - src: mark fatal error functions as noreturn (Chengzhong Wu) #47695
  • [d0ad873b0e] - src: prevent changing FunctionTemplateInfo after publish (Shelley Vohr) #46979
  • [71fb476781] - src: use v8::Boolean(b) over b ? True() : False() (Tobias Nießen) #47554
  • [175b78bc02] - src: fix typo in process.env accessor error message (Moritz Raho) #47014
  • [2c2b6d1661] - src: replace static const string_view by static constexpr (Daniel Lemire) #47524
  • [3840bb586e] - src: fix CSPRNG when length exceeds INT_MAX (Tobias Nießen) #47515
  • [f6aa38dc5f] - src: use correct variable in node_builtins.cc (Michaël Zasso) #47343
  • [e88e249838] - src: slim down stream_base-inl.h (lilsweetcaligula) #46972
  • [b34de64442] - src: allow simdutf::convert_* functions to return zero (Daniel Lemire) #47471
  • [ded4a5eb8f] - src: remove usage of std::shared_ptr::unique() (Darshan Sen) #47315
  • [0fbfb28cf5] - src: use stricter compile-time guidance (Tobias Nießen) #46509
  • [a8430ad211] - src: remove unused variable in crypto_x509.cc (Michaël Zasso) #47344
  • [24dabf8965] - src: don't reset embeder signal handlers (Dmitry Vyukov) #47188
  • [4add36872c] - src: replace impossible THROW with CHECK (Tobias Nießen) #47168
  • [e1007ff6a8] - src: remove dead comments about return_code_cache (Keyhan Vakil) #47083
  • [5501d12713] - src: remove SSL_CTX_get_tlsext_ticket_keys guards (Tobias Nießen) #47068
  • [716d289874] - src: fix clang 14 linker error (Keyhan Vakil) #47057
  • [8809adfdb6] - src: clarify OptionEnvvarSettings member names (Chengzhong Wu) #45057
  • [05f5c79574] - src: per-realm binding data (Chengzhong Wu) #46556
  • [a7620d19c8] - src,http2: ensure cleanup if a frame is not sent (ywave620) #47244
  • [585d62848e] - stream: deprecate asIndexedPairs (Chemi Atlow) #48102
  • [d3449ca010] - stream: prevent pipeline hang with generator functions (Debadree Chatterjee) #47712
  • [5e4b2434a6] - (SEMVER-MINOR) stream: preserve object mode in compose (Raz Luvaton) #47413
  • [912eb308ab] - (SEMVER-MINOR) stream: add setter & getter for default highWaterMark (#46929) (Robert Nagy) #46929
  • [c59887744a] - stream: expose stream symbols (Robert Nagy) #45671
  • [4edc1abf0b] - stream: dont wait for next item in take when finished (Raz Luvaton) #47132
  • [cfb18d816d] - stream: remove brandchecks from stream duplexify (Debadree Chatterjee) #46315
  • [9d4025c411] - test: mark test-child-process-pipe-dataflow as flaky (Moshe Atlow) #48334
  • [c29b6874d4] - test: unflake test-vm-timeout-escape-nexttick (Santiago Gimeno) #48078
  • [0e3312b01b] - test: fix zlib version regex (Luigi Pinca) #48227
  • [a9d0b8d005] - test: use lower security level in s_client (Luigi Pinca) #48192
  • [7250d8c2f1] - Revert "test: unskip negative-settimeout.any.js WPT" (Filip Skokan) #48182
  • [18476697bd] - test: mark test_cannot_run_js as flaky (Keyhan Vakil) #48181
  • [446f6118ff] - test: fix flaky test-runner-watch-mode (Moshe Atlow) #48144
  • [7fa144e3fe] - test: skip test-http-pipeline-flood on IBM i (Abdirahim Musse) #48048
  • [5c5b1d2867] - test: ignore helper files in WPTs (Filip Skokan) #48079
  • [3b2cee071b] - test: move test-cluster-primary-error flaky test (Yagiz Nizipli) #48039
  • [7b816b4922] - test: fix suite signal (Benjamin Gruenbaum) #47800
  • [ca4a0e3717] - test: fix parsing test flags (Daeyeon Jeong) #48012
  • [a3f0504556] - test: mark test-esm-loader-http-imports as flaky (Tobias Nießen) #47987
  • [ab36a30143] - test: unskip negative-settimeout.any.js WPT (Filip Skokan) #47946
  • [7c80439b21] - test: use appropriate usages for a negative import test (Filip Skokan) #47878
  • [81d8d95ba0] - test: fix webcrypto wrap unwrap tests (Filip Skokan) #47876
  • [1b84e85576] - test: fix output tests when path includes node version (Moshe Atlow) #47843
  • [95972aac8d] - test: migrate a pseudo_tty test to use assertSnapshot (Moshe Atlow) #47803
  • [f1e131283d] - test: fix WPT state when process exits but workers are still running (Filip Skokan) #47826
  • [03dcf7bc94] - test: migrate message tests to use assertSnapshot (Moshe Atlow) #47498
  • [dedbeee336] - test: refactor to use getEventListeners in timers (Deokjin Kim) #47759
  • [11a2d1c4e4] - test: add and use tmpdir.hasEnoughSpace() (Tobias Nießen) #47767
  • [d669714e57] - test: remove spaces from test runner test names (Tobias Nießen) #47733
  • [3a9c43a6d7] - test: mark test-cluster-primary-error flaky on asan (Yagiz Nizipli) #47422
  • [bd1eb14cb0] - test: remove unnecessary status check on test-release-npm (RafaelGSS) #47516
  • [914f68d953] - test: mark test/parallel/test-file-write-stream4 as flaky (Yagiz Nizipli) #47423
  • [7c4178cb11] - test: remove unused callback variables (angellovc) #47167
  • [d0bda902dc] - test: migrate test runner message tests to snapshot (Moshe Atlow) #47392
  • [095ca5ccf2] - test: remove stale entry from known_issues.status (Richard Lau) #47454
  • [8820d5415b] - test: move more inspector sequential tests to parallel (Joyee Cheung) #47412
  • [f6ef5c4ad3] - test: use random port in test-inspector-enabled (Joyee Cheung) #47412
  • [e97ceeca69] - test: use random port in test-inspector-debug-brk-flag (Joyee Cheung) #47412
  • [a2e4643981] - test: use random port in NodeInstance.startViaSignal() (Joyee Cheung) #47412
  • [a779261732] - test: fix flaky test-watch-mode-inspect (Moshe Atlow) #47403
  • [116df2ad3e] - test: move debugger tests with --port=0 to parallel (Joyee Cheung) #47274
  • [016b8bd27d] - test: use --port=0 in debugger tests that do not have to work on 9229 (Joyee Cheung) #47274
  • [3c157cb7a3] - test: run doctool tests in parallel (Joyee Cheung) #47273
  • [44f08ed941] - test: move test-shadow-realm-gc.js to known_issues (Joyee Cheung) #47355
  • [e2b5d968c3] - test: update wasm/jsapi WPT (Michaël Zasso) #47210
  • [53d9eb5950] - test: skip test-wasm-web-api on ARM (Michaël Zasso) #47299
  • [b620f5fcd6] - test: skip instantiateStreaming-bad-imports WPT (Michaël Zasso) #47292
  • [1e6fe56333] - test: fix test-child-process-exec-cwd (Stefan Stojanovic) #47235
  • [0dc4971aab] - test: skip broken tests win arm64 (Stefan Stojanovic) #47020
  • [6fee6050e3] - test: fix 'checks' validation test for checkPrime (Tobias Nießen) #47139
  • [6b85472f01] - test: update URL web-platform-tests (Yagiz Nizipli) #47135
  • [732a98e1ba] - test: reduce flakiness of test-http-remove-header-stays-removed.js (Debadree Chatterjee) #46855
  • [713b412ee9] - test: mark test-http-max-sockets as flaky on win32 (Tobias Nießen) #47134
  • [b3b7dbc395] - test: update web-platform tests for url (Xuguang Mei) #46860
  • [2edd0fdb5b] - test: mark test-child-process-stdio-reuse-readable-stdio flaky (Luigi Pinca) #48537
  • [fae240e492] - test: mark test-child-process-pipe-dataflow as flaky (Moshe Atlow) #48334
  • [9ca3cc0f2a] - test: remove useless require('../common') from WPTs (Filip Skokan) #46796
  • [4bece055a5] - test,crypto: update WebCryptoAPI WPT (Filip Skokan) #47921
  • [7ef169b706] - test,crypto: update WebCryptoAPI WPT (Filip Skokan) #47222
  • [873606b355] - test,crypto: update WebCryptoAPI WPT (Filip Skokan) #47131
  • [8f1fc0bc99] - test,doc,sea: run SEA tests on ppc64 (Darshan Sen) #48111
  • [5d910ca389] - test_runner: add enqueue and dequeue events (Moshe Atlow) #48428
  • [d795c0ab0c] - test_runner: dont split lines on test:stdout (Moshe Atlow) #48057
  • [04eb1f85da] - test_runner: pass FORCE_COLOR to child process (Moshe Atlow) #48057
  • [2262653148] - test_runner: apply runOnly on suites (Moshe Atlow) #48279
  • [033d0bb3e1] - test_runner: emit test:watch:drained event (Moshe Atlow) #48259
  • [618a9e1c09] - test_runner: stop watch mode when abortSignal aborted (Moshe Atlow) #48259
  • [6a82fbd006] - test_runner: fix global after hook (Moshe Atlow) #48231
  • [d1295d7b10] - test_runner: remove redundant check from coverage (Colin Ihrig) #48070
  • [47602fe73b] - test_runner: fix test deserialize edge cases (Moshe Atlow) #48106
  • [b18a78cd0b] - test_runner: delegate stderr and stdout formatting to reporter (Shiba) #48045
  • [e0d0b19c30] - test_runner: display dot report as wide as the terminal width (Raz Luvaton) #48038
  • [bdca468a79] - test_runner: use v8.serialize instead of TAP (Moshe Atlow) #47867
  • [866ed6a887] - (SEMVER-MINOR) test_runner: add shorthands to test (Chemi Atlow) #47909
  • [4737314865] - test_runner: fix ordering of test hooks (Phil Nash) #47931
  • [ea543d95f6] - test_runner: omit inaccessible files from coverage (Colin Ihrig) #47850
  • [8398bca842] - test_runner: fix --require with --experimental-loader (Moshe Atlow) #47751
  • [4c0036ba1b] - (SEMVER-MINOR) test_runner: support combining coverage reports (Colin Ihrig) #47686
  • [cb3abda9aa] - test_runner: remove no-op validation (Colin Ihrig) #47687
  • [323881f60b] - test_runner: fix test runner concurrency (Moshe Atlow) #47675
  • [3bbb1fc990] - test_runner: fix test counting (Moshe Atlow) #47675
  • [0ea63717ba] - test_runner: fix nested hooks (Moshe Atlow) #47648
  • [fa18b17d88] - test_runner: add testNamePatterns to run api (atlowChemi) #47648
  • [2033691bfc] - test_runner: support coverage of unnamed functions (Colin Ihrig) #47652
  • [882c6127ae] - test_runner: move coverage collection to root.postRun() (Colin Ihrig) #47651
  • [e97eefa538] - (SEMVER-MINOR) test_runner: execute before hook on test (Chemi Atlow) #47586
  • [4bce39108c] - test_runner: avoid reporting parents of failing tests in summary (Moshe Atlow) #47579
  • [688078b93a] - test_runner: fix spec skip detection (Moshe Atlow) #47537
  • [0b32a8c8a3] - test_runner: color errors only when colors are available (Moshe Atlow) #47394
  • [d5fc8236bf] - test_runner: hide failing tests title when all tests pass (Moshe Atlow) #47370
  • [1d453e4d31] - test_runner: stringify AssertError expected and actual (Moshe Atlow) #47088
  • [99312a55f2] - test_runner: add code coverage support to spec reporter (Pulkit Gupta) #46674
  • [2091b4718f] - (SEMVER-MINOR) test_runner: expose reporter for use in run api (Chemi Atlow) #47238
  • [9cbf89717e] - test_runner: report failing tests after summary (HinataKah0) #47164
  • [460bcc042e] - test_runner: count nested tests (Moshe Atlow) #47094
  • [c62e6b2e54] - test_runner: accept x1b as a escape symbol (Debadree Chatterjee) #47050
  • [ddf819f810] - test_runner: support defining test reporter in NODE_OPTIONS (Steve Herzog) #46688
  • [e049ce296a] - tls: reapply servername on happy eyeballs connect (Fedor Indutny) #48255
  • [19b0f244b2] - tls: accept SecureContext object in server.addContext() (HinataKah0) #47570
  • [7786d7cece] - tools: pin ruff version number (Rich Trott) #48505
  • [a2bfe02289] - tools: remove non-existing file from CODEOWNERS file (Juan José Arboleda) #48697
  • [87562c9af0] - tools: update rollup lint-md-dependencies (Node.js GitHub Bot) #48329
  • [1cde4a4299] - Revert "tools: open issue when update workflow fails" (Marco Ippolito) #48312
  • [361cf8cffc] - tools: don't gitignore base64 config.h (Ben Noordhuis) #48174
  • [0cfdb3affa] - tools: update LICENSE and license-builder.sh (Santiago Gimeno) #48078
  • [715cf81b4a] - tools: automate histogram update (Marco Ippolito) #48171
  • [d9afffab03] - tools: use shasum instead of sha256sum (Luigi Pinca) #48229
  • [1a5cddfc1f] - tools: harmonize dep_updaters scripts (Antoine du Hamel) #48201
  • [24abe07dda] - tools: log and verify sha256sum (Andrea Fassina) #48088
  • [9aed8683aa] - tools: open issue when update workflow fails (Marco Ippolito) #48018
  • [4c5c63fd82] - tools: alphabetize CODEOWNERS (Rich Trott) #48124
  • [9b849a7270] - tools: use latest upstream commit for zlib updates (Andrea Fassina) #48054
  • [e18c1258ae] - tools: add security-wg as dep updaters owner (Marco Ippolito) #48113
  • [999a289dd9] - tools: fix race condition when npm installing (Tobias Nießen) #48101
  • [25b0033b86] - tools: refloat 7 Node.js patches to cpplint.py (Rich Trott) #48098
  • [87b36b3a8a] - tools: update cpplint to 1.6.1 (Yagiz Nizipli) #48098
  • [64ff6fe443] - tools: update eslint to 8.41.0 (Node.js GitHub Bot) #48097
  • [739c314851] - tools: update lint-md-dependencies (Node.js GitHub Bot) #48096
  • [6674ed1901] - tools: update doc to [email protected] (Node.js GitHub Bot) #48095
  • [0b0818caab] - tools: add debug logs (Marco Ippolito) #48060
  • [168d080f40] - tools: fix zconf.h path (Luigi Pinca) #48089
  • [ccd2795f42] - tools: update remark-preset-lint-node to 4.0.0 (Node.js GitHub Bot) #47995
  • [89e068a550] - tools: debug log for nghttp3 (Marco Ippolito) #47992
  • [3bf2bd4ec6] - tools: automate icu-small update (Marco Ippolito) #47727
  • [fdf9681dc0] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #47903
  • [52532c2cb1] - tools: update eslint to 8.40.0 (Node.js GitHub Bot) #47906
  • [951cc7b624] - tools: update eslint to 8.39.0 (Node.js GitHub Bot) #47789
  • [706c87db50] - tools: fix jsdoc lint (Moshe Atlow) #47789
  • [8eef5f5f5f] - tools: update doc to [email protected] (Node.js GitHub Bot) #47786
  • [899eea6237] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #47787
  • [8ca50b6ac9] - tools: move update-npm to dep updaters (Marco Ippolito) #47619
  • [5ee554397d] - tools: fix update-v8-patch cache (Marco Ippolito) #47725
  • [4e0d19e1bd] - tools: automate v8 patch update (Marco Ippolito) #47594
  • [64c3154bdf] - tools: fix skip message in update-cjs-module-lexer (Tobias Nießen) #47701
  • [6535ab90d9] - tools: update lint-md-dependencies to @rollup/[email protected] (Node.js GitHub Bot) #47577
  • [7cfc00d072] - tools: keep PR titles/description up-to-date (Tobias Nießen) #47621
  • [d6b555e2c8] - tools: fix updating root certificates (Richard Lau) #47607
  • [0d3e3ddea6] - tools: update PR label config (Mohammed Keyvanzadeh) #47593
  • [fa52c472b8] - tools: add execution permission to uvwasi script (Mert Can Altın) #47600
  • [f6955a6b0c] - tools: add update script for googletest (Tobias Nießen) #47482
  • [4e1d87e752] - tools: add option to run workflow with specific tool id (Michaël Zasso) #47591
  • [e605402590] - tools: automate zlib update (Marco Ippolito) #47417
  • [b6ca57e8d0] - tools: add url and whatwg-url labels automatically (Yagiz Nizipli) #47545
  • [d5c9bc4f8e] - tools: add performance label to benchmark changes (Yagiz Nizipli) #47545
  • [c5227628a9] - tools: automate uvwasi dependency update (Ranieri Innocenti Spada) #47509
  • [5ffdb57302] - tools: add missing pinned dependencies (Mateo Nunez) #47346
  • [c7b898d4e4] - tools: automate ngtcp2 and nghttp3 update (Marco Ippolito) #47402
  • [e696a48225] - tools: move update-undici.sh to dep_updaters and create maintain md (Marco Ippolito) #47380
  • [056067286a] - tools: make js2c.py usable for other build systems (Cheng Zhao) #46930
  • [d11c6ba2eb] - tools: move update-acorn.sh to dep_updaters and create maintaining md (Marco Ippolito) #47382
  • [0a65c7c300] - tools: update eslint to 8.38.0 (Node.js GitHub Bot) #47475
  • [60dc249cd5] - tools: update eslint to 8.38.0 (Node.js GitHub Bot) #47475
  • [1271b0eded] - tools: automate cjs-module-lexer dependency update (Marco Ippolito) #47446
  • [26905572d4] - tools: fix notify-on-push Slack messages (Antoine du Hamel) #47453
  • [3c62663797] - tools: update lint-md-dependencies to @rollup/[email protected] (Node.js GitHub Bot) #47431
  • [c57dabe360] - tools: add root certificate update script (Richard Lau) #47425
  • [f27680e37c] - tools: fix update-openssl.yml compare version (Marco Ippolito) #47384
  • [35e6cf2944] - tools: use ref_name to get branch pushed on (Debadree Chatterjee) #47358
  • [28935a86f8] - tools: add a at here tag for slack messages (Debadree Chatterjee) #47358
  • [e1846ee4f1] - tools: disable Codecov commit statuses (Michaël Zasso) #47306
  • [d1c8229da4] - tools: update eslint to 8.37.0 (Node.js GitHub Bot) #47333
  • [6ab22151c4] - tools: fix duration_ms to be milliseconds (Moshe Atlow) #44490
  • [5d46c594a7] - tools: automate brotli update (Marco Ippolito) #47205
  • [d324c15227] - tools: fix typo in nghttp2 path (Marco Ippolito) #47330
  • [b1bcdceef5] - tools: add scorecard workflow (Mateo Nunez) #47254
  • [281362bcc2] - tools: pin actions by hash for auto-start-ci.yml (Gabriela Gutierrez) #46820
  • [6cae1bd377] - tools: standardize base64 update (Marco Ippolito) #47201
  • [a682bd0714] - tools: update codecov branch (Rich Trott) #47285
  • [1061e17c66] - tools: standardize update-llhttp.sh (Marco Ippolito) #47198
  • [9781185943] - tools: upgrade Windows digital signature to SHA256 (Tobias Nießen) #47206
  • [37638e43c5] - tools: add button to copy code example to clipboard (jakecastelli) #46928
  • [05cb503f02] - tools: standardize update-nghttp2.sh (Marco Ippolito) #47197
  • [816e215701] - tools: fix Slack notification action (Antoine du Hamel) #47237
  • [9ac01ecc59] - tools: notify on Slack when invalid commit lands (Antoine du Hamel) #47178
  • [13eb029b4f] - tools: update daily wpt actions summary (Filip Skokan) #47138
  • [e0a00ebfc5] - tools: allow test tap output to include unicode characters (Moshe Atlow) #47175
  • [fca3391d0b] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #47045
  • [c0fd6a3721] - tools: update eslint to 8.36.0 (Node.js GitHub Bot) #47046
  • [7d971daf29] - tools,meta: update README and tools to reflect changes in TSC charter (Rich Trott) #47126
  • [d078d66bdc] - typings: fix syntax error in tsconfig (Mohammed Keyvanzadeh) #47584
  • [889730512c] - url: handle URL.canParse without base parameter (Yagiz Nizipli) #47547
  • [0dc485eb28] - url: drop ICU requirement for parsing hostnames (Yagiz Nizipli) #47339
  • [b395b16c40] - url: use ada::url_aggregator for parsing urls (Yagiz Nizipli) #47339
  • [11f48e02a8] - (SEMVER-MINOR) url: implement URL.canParse (Matthew Aitken) #47179
  • [977a8bad35] - url: fix array overrun in node:url::SetArgs() (Yagiz Nizipli) #47001
  • [4784e64850] - url: allow extension of user provided URL objects (Antoine du Hamel) #46989
  • [f495cb6bf4] - url: backport non-major changes from #46904 (Yagiz Nizipli) #46904
  • [aa4f485388] - url: set formatUrl method as no side effect (Yagiz Nizipli) #46884
  • [c79e1b72f2] - url: offload URLSearchParams initialization (Yagiz Nizipli) #46867
  • [3db235b822] - url: remove unused kFormat from url (Yagiz Nizipli) #46867
  • [b9df1a9668] - url: clean vertical alignment of docs (Robin Ury) #48037
  • [9a2354d4a9] - url: do not use object as hashmap (Timothy Gu) #47415
  • [4850ba4bd4] - url: improve URLSearchParams creation performance (Yagiz Nizipli) #47190
  • [7fb1980fd9] - url: add pending-deprecation to url.parse() (Yagiz Nizipli) #47203
  • [b04ea5aa9b] - url: allow extension of user provided URL objects (Antoine du Hamel) #46989
  • [972c851918] - url: remove unnecessary call to FunctionPrototypeBind (Antoine du Hamel) #46870
  • [87ef1b2859] - util: fix inspecting error with a throwing getter for cause (Antoine du Hamel) #47163
  • [4729d30c1e] - v8: fix ERR_NOT_BUILDING_SNAPSHOT is not a constructor (Chengzhong Wu) #47721
  • [d9a68b821e] - vm: properly handle defining symbol props (Nicolas DUBIEN) #47572
  • [0d0fad8f0a] - vm: fix crash when setting __proto__ on context's globalThis (Feng Yu) #47939
  • [fb90b6b3fb] - vm: properly handle defining props on any value (Nicolas DUBIEN) #46615
  • [4b2aa3d27c] - vm,lib: refactor microtaskQueue assignment logic (Khaidi Chu) #47765
  • [58afcc27f6] - (SEMVER-MINOR) wasi: no longer require flag to enable wasi (Michael Dawson) #47286
  • [407af51cf5] - wasi: add wasi sock_accept stub (Michael Dawson) #46434
  • [d3e0229948] - watch: fix watch path with equals (Moshe Atlow) #47369
  • [78972d4696] - worker: support more cases when (de)serializing errors (Moshe Atlow) #47925

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

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

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

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

New in Node.js 18.16.1 LTS (Jun 21, 2023)

  • The following CVEs are fixed in this release:
  • [CVE-2023-30581](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2023-30581): `mainModule.__proto__` Bypass Experimental Policy Mechanism (High)
  • [CVE-2023-30585](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2023-30585): Privilege escalation via Malicious Registry Key manipulation during Node.js installer repair process (Medium)
  • [CVE-2023-30588](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2023-30588): Process interuption due to invalid Public Key information in x509 certificates (Medium)
  • [CVE-2023-30589](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2023-30589): HTTP Request Smuggling via Empty headers separated by CR (Medium)
  • [CVE-2023-30590](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2023-30590): DiffieHellman does not generate keys after setting a private key (Medium)
  • OpenSSL Security Releases
  • [OpenSSL security advisory 28th March](https://www.openssl.org/news/secadv/20230328.txt).
  • [OpenSSL security advisory 20th April](https://www.openssl.org/news/secadv/20230420.txt).
  • [OpenSSL security advisory 30th May](https://www.openssl.org/news/secadv/20230530.txt)
  • c-ares vulnerabilities:
  • [GHSA-9g78-jv2r-p7vc](https://github.com/c-ares/c-ares/security/advisories/GHSA-9g78-jv2r-p7vc)
  • [GHSA-8r8p-23f3-64c2](https://github.com/c-ares/c-ares/security/advisories/GHSA-8r8p-23f3-64c2)
  • [GHSA-54xr-f67r-4pc4](https://github.com/c-ares/c-ares/security/advisories/GHSA-54xr-f67r-4pc4)
  • [GHSA-x6mf-cxr9-8q6v](https://github.com/c-ares/c-ares/security/advisories/GHSA-x6mf-cxr9-8q6v)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • NOTABLE CHANGES:
  • The following CVEs are fixed in this release:
  • CVE-2023-23918: Node.js Permissions policies can be bypassed via process.mainModule (High)
  • CVE-2023-23919: Node.js OpenSSL error handling issues in nodejs crypto library (Medium)
  • CVE-2023-23936: Fetch API in Node.js did not protect against CRLF injection in host headers (Medium)
  • CVE-2023-24807: Regular Expression Denial of Service in Headers in Node.js fetch API (Low)
  • CVE-2023-23920: Node.js insecure loading of ICU data through ICU_DATA environment variable (Low)

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

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

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

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

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

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

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

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

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

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

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

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

New in Node.js 19.2.0 Current (Dec 5, 2022)

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

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

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

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

  • NOTABLE CHANGES:
  • The following CVEs are fixed in this release:
  • CVE-2022-3602: X.509 Email Address 4-byte Buffer Overflow (High)
  • CVE-2022-3786: X.509 Email Address Variable Length Buffer Overflow (High)
  • CVE-2022-43548: DNS rebinding in --inspect via invalid octal IP address (Medium)
  • COMMITS:
  • [39f8a672e3] - deps: update archs files for quictls/openssl-3.0.7+quic nodejs/node#45286
  • [80218127c8] - deps: upgrade openssl sources to quictls/openssl-3.0.7+quic nodejs/node#45286
  • [165342beac] - inspector: harden IP address validation again (Tobias Nießen) nodejs-private/node-private#354

New in Node.js 18.12.0 LTS (Oct 26, 2022)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

New in Node.js 18.7.0 Current (Aug 3, 2022)

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

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

  • 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
  • commits:
  • Semver-minor commits
  • [0bca7b722e] - (SEMVER-MINOR) dns: export error code constants from dns/promises (Feng Yu) #43176
  • [da61e2330f] - (SEMVER-MINOR) esm: add chaining to loaders (Jacob Smith) #42623
  • [8c97f63401] - (SEMVER-MINOR) http: add diagnostics channel for http client (theanarkh) #43580
  • [b27856d3d4] - (SEMVER-MINOR) http: add perf_hooks detail for http request and client (theanarkh) #43361
  • [9d918d9923] - (SEMVER-MINOR) module: add isBuiltIn method (hemanth.hm) #43396
  • [a0e7b9983c] - (SEMVER-MINOR) net: add drop event for net server (theanarkh) #43582
  • [4bda6e02a3] - (SEMVER-MINOR) test_runner: expose describe and it (Moshe Atlow) #43420
  • [34e83312a4] - (SEMVER-MINOR) v8: add v8.startupSnapshot utils (Joyee Cheung) #43329
  • Semver-patch commits
  • [ef174eac87] - assert: callTracker throw a specific error message when possible (Moshe Atlow) #43640
  • [07836637af] - bootstrap: move global initialization to js (Alena Khineika) #43625
  • [e9ee7e44be] - build,test: increase stack size limit on Windows (Tobias Nießen) #43632
  • [3ca9e653a6] - child_process: improve ipc write performance (rubikscraft) #42931
  • [cad6d990ec] - child_process: speed up 'advanced' ipc receiving (rubikscraft) #42931
  • [ce3a22a9e3] - cluster: fix closing dgram sockets in cluster workers throws errors (Ouyang Yadong) #43709
  • [5d8ee519db] - cluster: fix fd leak (theanarkh) #43650
  • [fa5c4643e2] - cluster, net: fix listen pipe with readable and writable in cluster (theanarkh) #43634
  • [4df96b501d] - crypto: don't disable TLS 1.3 without suites (Adam Majer) #43427
  • [a43928ae78] - crypto: use ByteSource::Builder in To*Copy (Tobias Nießen) #43477
  • [bb326f7ece] - crypto: handle webcrypto generateKey() usages edge case (Filip Skokan) #43454
  • [9bd13bbb3a] - crypto: update Wrapping and unwrapping keys webcrypto example (Filip Skokan) #43452
  • [679f19128e] - crypto: fix webcrypto generateKey() with empty usages (Filip Skokan) #43431
  • [64a9dd7b83] - crypto: fix webcrypto digest() invalid algorithm (Filip Skokan) #43431
  • [dedb22e965] - crypto: fix webcrypto RSA generateKey() use of publicExponent (Filip Skokan) #43431
  • [018f61cb4f] - crypto: fix webcrypto AES-KW keys accepting encrypt/decrypt usages (Filip Skokan) #43431
  • [3ee0bb8d03] - crypto: fix webcrypto deriveBits for non-byte lengths (Filip Skokan) #43431
  • [7fc075b23a] - deps: update undici to 5.7.0 (Node.js GitHub Bot) #43790
  • [d6a9e93426] - deps: patch V8 to 10.2.154.13 (Michaël Zasso) #43727
  • [428d03cb94] - deps: update corepack to 0.12.0 (Node.js GitHub Bot) #43748
  • [74914698e5] - deps: upgrade npm to 8.13.2 (npm team) #43622
  • [0636f86ecc] - deps: upgrade npm to 8.13.1 (npm team) #43552
  • [2149acda60] - dns: make promise API fully constructed from lib/internal/dns/promises (Feng Yu) #43227
  • [79ea19e5e2] - errors: extract type detection & use in ERR_INVALID_RETURN_VALUE (Jacob Smith) #43558
  • [80ced1ae31] - esm: treat 307 and 308 as redirects in HTTPS imports (Kid) #43689
  • [953fefe77b] - esm: restore next's context as optional arg (Jacob Smith) #43553
  • [10bcad5c6e] - esm: fix chain advances when loader calls next multiple times (Jacob Smith) #43303
  • [50d64edd49] - esm: refactor responseURL handling (Guy Bedford) #43164
  • [254efd9e3b] - esm: fix http(s) import via custom loader (Jacob Smith) #43130
  • [061ed0e76b] - events: improve Event compatibility (Daeyeon Jeong) #43461
  • [66fb059547] - events: improve EventListener validation (Daeyeon Jeong) #43491
  • [12a591a676] - fs: refactor realpath with Map and Set (LiviaMedeiros) #43569
  • [df501316c1] - fs: don't end fs promises on Isolate termination (Santiago Gimeno) #42910
  • [e6d4837fad] - http: fix failing test (Paolo Insogna) #43641
  • [491c7619c4] - http: defer reentrant execution of Parser::Execute (Paolo Insogna) #43369
  • [d71ba322b0] - http: fix http agent keep alive (theanarkh) #43380
  • [1f4f811de5] - http2: log debug only when in debug mode (Basit) #43626
  • [c8cbec4cef] - lib: make validateObject less affected by prototype tampering (Antoine du Hamel) #42929
  • [dc484b6f6f] - lib: implement safe alternatives to Promise static methods (Antoine du Hamel) #43728
  • [2233567331] - lib: use null-prototype objects for property descriptors (Antoine du Hamel) #43473
  • [b9198d977f] - lib: refactor to avoid unsafe regex primordials (Antoine du Hamel) #43475
  • [deaf4bb5cd] - lib: fix TODO in freeze_intrinsics (Antoine du Hamel) #43472
  • [61e6d7858a] - lib,src: add source map support for global eval (Chengzhong Wu) #43428
  • [58646eaad6] - loader: make require.resolve throw for unknown builtin modules (木杉) #43336
  • [e914185c44] - module: cjs-module-lexer WebAssembly fallback (Guy Bedford) #43612
  • [3ad4d37b3c] - module: also enable subpath imports in REPL (Ray) #43450
  • [bf4ac4c55f] - net: remove redundant connecting assignment (Ouyang Yadong) #43710
  • [ad1d0541c5] - net: fix net keepalive and noDelay (theanarkh) #43561
  • [f8bdc53e4f] - net: prevent /32 ipv4 mask from matching all ips (supriyo-biswas) #43381
  • [47a252257b] - net: fix net.Server keepalive and noDelay (theanarkh) #43497
  • [d834d216f2] - perf_hooks: add initiatorType getter (Rafael Gonzaga) #43593
  • [02009b7069] - perf_hooks: fix miscounted gc performance entry starttime (#43066) (Xuguang Mei) #43066
  • [e9574f3009] - readline: fix to not access a property on an undefined value (Kohei Ueno) #43543
  • [fe1f740f61] - src: merge RunInThisContext() with RunInContext() (Daeyeon Jeong) #43225
  • [0f6d19489a] - src: fix crash on FSReqPromise destructor (Santiago Gimeno) #43533
  • [4e6a844207] - src: delegate NodeArrayBufferAllocator to v8's allocator (Jeremy Rose) #43594
  • [5ae30bf17a] - src: remove a stale comment in async_hooks (Daeyeon Jeong) #43317
  • [0b432b957e] - src: fix compiler warning in src/heap_utils.cc (Darshan Sen) #43579
  • [d3fc791c3d] - src: improve and update ByteSource description (Tobias Nießen) #43478
  • [4e0afa4133] - src: remove CopyBuffer (Tobias Nießen) #43463
  • [0659d5e3b0] - src: change FormatSize to actually accept a size_t (Tobias Nießen) #43464
  • [66ee1f1e3c] - src: register StreamBase while registering LibuvStreamWrap (Darshan Sen) #43321
  • [48ee6b9dc9] - src,bootstrap: remove NodeMainInstance::registry_ (Darshan Sen) #43392
  • [2e181f68a3] - src,stream: change return type to Maybe (Daeyeon Jeong) #43575
  • [0f07abc80d] - stream: finish pipeline if dst closes before src (Robert Nagy) #43701
  • [1617a4621e] - stream: pass error on legacy destroy (Giacomo Gregoletto) #43519
  • [40f51d8e83] - test_runner: protect internals against prototype tampering (Antoine du Hamel) #43578
  • [ddf7518520] - test_runner: cancel on termination (Moshe Atlow) #43549
  • [e51d8c6004] - test_runner: wait for stderr and stdout to complete (Moshe Atlow) #43666
  • [dda64ddfbd] - test_runner: add Subtest to tap protocol output (Moshe Atlow) #43417
  • [a1f1d3a7b3] - url: update WHATWG URL parser to align with latest spec (Feng Yu) #43190
  • [5a5c4be5a3] - util: add AggregateError.prototype.errors to inspect output (LiviaMedeiros) #43646
  • [bdca4d3ccf] - util: remove unnecessary template string (Ruben Bridgewater) #41082
  • [6b16836448] - util: mark cwd grey while inspecting errors (Ruben Bridgewater) #41082
  • [baa22a7b7d] - util: avoid inline access to Symbol.iterator (Kohei Ueno) #43683
  • [a1f581a61e] - util: fix TypeError of symbol in template literals (cola119) #42790
  • [ba9b2f021f] - wasi: use WasmMemoryObject handle for perf (#43544) (snek) #43544
  • Documentation commits
  • [e0769554a5] - doc: remove bullet point referring to Node.js 12 (Luigi Pinca) #43744
  • [7ffcd85ace] - doc: include last security release date (Rafael Gonzaga) #43774
  • [4569d6ebcb] - doc: add details for July 2022 security releases (Beth Griggs) #43733
  • [1bd56339c5] - doc: remove openssl 1.x reference (Rafael Gonzaga) #43734
  • [bf62ffd848] - doc: remove node-report from support tiers (RafaelGSS) #43737
  • [ca5af0dbf7] - doc: update changelog-maker to the new flags (RafaelGSS) #43696
  • [088b9266d0] - doc: remove extra 'in's (Colin Ihrig) #43705
  • [7679c77347] - doc: add Geoffrey Booth to TSC (Rich Trott) #43706
  • [d46261ceed] - doc: improve readability of dns.md (0xSanyam) #43694
  • [ca0fbfd87f] - doc: add note regarding special case of 0 stat.size (Douglas Wilson) #43690
  • [267f66b5cc] - doc: fix default of duplex.allowHalfOpen (Vincent Weevers) #43665
  • [46ad2061db] - doc: fix typo in errors.md (Kazuma Ohashi) #43677
  • [3a8edb363e] - doc: improve description of --input-type (cola119) #43507
  • [b4b15b71d7] - doc: add daeyeon to triagers (Daeyeon Jeong) #43637
  • [cb77b3e3f7] - doc: remove appmetrics from tierlist (Tony Gorez) #43608
  • [0fe825ac07] - doc: remove systemtap from tierlist (Tony Gorez) #43605
  • [6fc5a13fe0] - doc: add single executable application initiative (Michael Dawson) #43611
  • [350e6ae04c] - doc: remove windows xperf from tierlist (Tony Gorez) #43607
  • [a6e98dfd65] - doc: remove lttng from tierlist (Tony Gorez) #43604
  • [22512427b3] - doc: remove dtrace from tierlist (Tony Gorez) #43606
  • [a3659e3547] - doc: promote 0x to tier 4 (Tony Gorez) #43609
  • [6ede1c2162] - doc: include CVSS mention (Rafael Gonzaga) #43602
  • [23c5de3579] - doc: fix icu-small example (Michael Dawson) #43591
  • [54a8a0c9c7] - doc: add backport-open-vN.x step to backporting guide (LiviaMedeiros) #43590
  • [60b949d8ff] - doc: move MylesBorins to TSC Emeritus (Myles Borins) #43524
  • [08ed28c31e] - doc: add Juan as a security steward (Michael Dawson) #43512
  • [2e799bcd35] - doc: update link to MDN page about dynamic imports (James Scott-Brown) #43530
  • [c8aafe2036] - doc: fix Visual Studio 2019 download link (Feng Yu) #43236
  • [d0c78d21e0] - doc: update link of ICU data slicer (Feng Yu) #43483
  • [324728094c] - doc: update v8 doc link to v8.dev (Feng Yu) #43482
  • [b111331c9c] - doc: add ESM version examples to events api doc (Feng Yu) #43226
  • [038decfbc3] - doc: update default branch name in test/** (Luigi Pinca) #43445
  • [a23051af84] - doc: add new useful V8 option (JialuZhang-intel) #42575
  • [7f406fd77b] - doc: remove branch name mention in src/README.md (Feng Yu) #43442
  • [06fe60a6f9] - doc: update default branch name in Makefile (Feng Yu) #43441
  • [9d61da0aef] - doc: update main branch name in release guide (Richard Lau) #43437
  • [739d3a35ed] - doc: update main branch name in onboarding.md (Feng Yu) #43443
  • [e0fedcfb18] - doc: fixup after rename of primary nodejs branch (Michael Dawson) #43453
  • [429e0f433b] - doc: update main branch name in doc/contributing/* (Luigi Pinca) #43438
  • [cbaf1207f4] - doc: add code examples to node test runner (Wassim Chegham) #43359
  • [462e526237] - doc,test: clarify timingSafeEqual semantics (Tobias Nießen) #43228
  • Other commits:
  • [7ee0be71f9] - benchmark: fix output regression (Brian White) #43635
  • [d90a6f9bda] - benchmark: fix fork detection (Paolo Insogna) #43601
  • [f9c30abcdc] - benchmark: forcefully close processes (Paolo Insogna) #43557
  • [ebf962c053] - build: enable GitPod prebuilds (Rich Trott) #43698
  • [482bd53357] - build: clarify missing clang-format tool (Tobias Nießen) #42762
  • [919c5ee5c2] - build: update main branch name in GH workflow (Feng Yu) #43481
  • [3b08dfdc5d] - meta: update AUTHORS (Node.js GitHub Bot) #43750
  • [508cbbcbf9] - meta: update AUTHORS (Node.js GitHub Bot) #43660
  • [d650c9c6b0] - meta: update AUTHORS (Node.js GitHub Bot) #43573
  • [b9204c9be8] - meta: update AUTHORS (Node.js GitHub Bot) #43480
  • [294f0ef4df] - test: mark test-net-connect-reset-until-connected flaky on freebsd (Feng Yu) #43613
  • [f2f7d7b207] - test: remove unnecessary .toString() calls in HTTP tests (Anna Henningsen) #43731
  • [38e92fd88f] - test: mark test-gc-http-client-timeout as flaky on arm (Chengzhong Wu) #43754
  • [b164848c55] - test: fix typo in file name (Antoine du Hamel) #43764
  • [a0b799f645] - test: add test for profile command of node inspect (Kohei Ueno) #43058
  • [c4d88b3345] - test: use Object for tests variable in fs trace test (Feng Yu) #43585
  • [c9f130e1cf] - test: improve code coverage for performance_entry (Kohei Ueno) #43434
  • [0b4956079a] - test: add test to ensure repl doesn't support --input-type (cola119) #43507
  • [2adf4e7727] - test: fix flaky test-perf-hooks-histogram (Santiago Gimeno) #43567
  • [043756d540] - test: fill DOMException names (LiviaMedeiros) #43615
  • [e718a6e913] - test: fix Buffer.from(ArrayBufferView) call (LiviaMedeiros) #43614
  • [ac72f4e812] - test: mark test-worker-http2-stream-terminate flaky on all platforms (Finn Yu) #43620
  • [dabccef69f] - test: mark flaky tests on smartos (Feng Yu) #43596
  • [705e85e736] - test: improve code coverage for SourceMap class (italo jose) #43285
  • [7c6f548382] - test: mark test-http-server-request-timeouts-mixed flaky on macOS (F3n67u) #43597
  • [bd91337988] - test: refactor to top-level await (Meek Simbule) #43500
  • [9940dc38c1] - test: skip test-v8-serialize-leak on IBM i (Richard Lau) #43511
  • [17b92f0679] - test: use unique file names in fs trace test (Ben Noordhuis) #43504
  • [7ca58b8ee7] - test: allow EOVERFLOW errors in fs position tests (Richard Lau) #43510
  • [eece34cddb] - test: add WPT tests for dom/events (Daiki Nishikawa) #43151
  • [70d297c271] - test: replace gc(true) with gc({ type: 'minor' }) (Tobias Nießen) #43493
  • [1022c0d0d4] - test: fix flaky test-https-server-close- tests (Santiago Gimeno) #43216
  • [a9ab41cb38] - test: refactor to top-level await (Meek Simbule) #43366
  • [b1a7798821] - test: skip test-net-connect-reset-until-connected on SmartOS (Filip Skokan) #43449
  • [3b0703fd0d] - test: rename test-eventtarget-whatwg-*.js (Daeyeon Jeong) #43467
  • [5c0a24d5be] - test: mark test-worker-http2-stream-terminate flaky on Windows (Darshan Sen) #43425
  • [48ae00c0b1] - test: improve coverage for load hooks (Antoine du Hamel) #43374
  • [2b55b606f7] - Revert "test: mark test_buffer/test_finalizer flaky" (Matteo Collina) #43418
  • [3948accbf4] - test: make node-api/test_buffer/test_finalizer not flaky (Matteo Collina) #43418
  • [c954bcd20b] - tools: remove rpm build scripts (Ben Noordhuis) #43647
  • [8a06b7b9d0] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #43749
  • [aafdf1239e] - tools: refactor tools/license2rtf to ESM (Feng Yu) #43232
  • [99ffabf2dd] - tools: update eslint to 8.19.0 (Node.js GitHub Bot) #43662
  • [c6396c179f] - tools: update lint-md-dependencies (Node.js GitHub Bot) #43572
  • [8d14d6e215] - tools: fix CJS/ESM toggle on small screens (Antoine du Hamel) #43506
  • [59d4da699e] - tools: update eslint to 8.18.0 (Node.js GitHub Bot) #43479
  • [752380a959] - tools: update main branch name (Feng Yu) #43440
  • [06c367ef8b] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #43386

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • NOTABLE CHANGES:
  • Fixed regression in url.resolve():
  • This release fixes an issue introduced in Node.js v17.7.0 with some URLs that contain @. This issue affected yarn 1. This version reverts the change that introduced the regression.
  • Commits:
  • [96a9e00fb3] - url: revert fix url.parse() for @hostname (Antoine du Hamel) #42280

New in Node.js 17.7.0 Current (Mar 10, 2022)

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

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

  • NOTABLE CHANGES:
  • doc: deprecate notice for process methods (Yash Ladha) #41587
  • stream: revert map spec compliance (Benjamin Gruenbaum) #41931
  • build: remove broken x32 arch support (Ben Noordhuis) #41905
  • (SEMVER-MINOR) esm: support https remotely and http locally under flag (Bradley Farias) #36328
  • (SEMVER-MINOR) fs: support copy of relative links with cp and cpSync (Marcos Bjoerkelund) #41819
  • (SEMVER-MINOR) lib: add FormData global when fetch is enabled (Michaël Zasso) #41956
  • (SEMVER-MINOR) readline: bind keystroke ctrl+6 to redo (Ray) #41662
  • process: deprecate multipleResolves (Benjamin Gruenbaum) #41872
  • Documentation-only.
  • DEPENDENCY UPDATES:
  • deps: upgrade npm to 8.5.1 (npm-robot) #42039
  • deps: update undici to 3e267ece5f (Michaël Zasso) #41955
  • deps: upgrade npm to 8.5.0 (npm-robot) #41925
  • NEW COLLABORATORS:
  • doc: add marsonya to collaborators (Akhil Marsonya) #41991
  • doc: add joesepi to collaborators (Joe Sepi) #41914
  • COMMITS:
  • build: cancel running CI jobs when a PR is updated (Michaël Zasso) #42017
  • build: increase operations and test tag (Michael Dawson) #42038
  • build: allow manual run of feature request action (Michael Dawson) #42037
  • build: add action to close stale feature requests (Michael Dawson) #41981
  • build: prevent concurrent CI and CQ workflow runs (Michaël Zasso) #42016
  • build: use zoslib_include_dir provided by node-gyp (alexcfyung) #41713
  • build: move tool updates workflow runtime a day later (Rich Trott) #41982
  • build: extend yamllint configuration (Mestery) #41756
  • build: remove broken x32 arch support (Ben Noordhuis) #41905
  • build: revert fast-track changes (Filip Skokan) #41892
  • build: improve consistency between workflows (Mestery) #41791
  • build,tools: change the quotes in YAML (Mestery) #41756
  • child_process: kHideConsoleWindows for spawnSync (Raymond Zhao) #41412
  • cluster: respect listen backlog set by workers (Elad Nava) #41623
  • crypto: check result of BIO_new in X509ToObject (Tobias Nießen) #41979
  • crypto: rename X509_NAME_FLAGS (Tobias Nießen) #42001
  • (SEMVER-MINOR) crypto: expose Web Crypto API on the global scope (Antoine du Hamel) #41938
  • crypto: do not advertise unsupported algorithms (Brian White) #41864
  • debugger: add debugger alias for exec(expr) (Xuguang Mei) #41907
  • debugger: remove duplicate setPauseOnException call (Balakrishna Avulapati) #41838
  • deps: upgrade npm to 8.5.1 (npm-robot) #42039
  • deps: update undici to 3e267ece5f (Michaël Zasso) #41955
  • deps: upgrade npm to 8.5.0 (npm-robot) #41925
  • doc: fix typo in http2 endAfterHeaders description (Alexandru Comanescu) #42060
  • doc: make minor fixes to contributing guides (T-O-R-U-S) #41966
  • doc: use openpgp.org for keyserver examples (Nick Schonning) #39227
  • doc: adjust a/an word usage (Derek Wolpert) #41915
  • doc: remove extra (Ray) #42006
  • doc: capitalize valgrind (T•Ø•R•Ü•S) #41986
  • doc: fix deprecation number (Antoine du Hamel) #41990
  • doc: add marsonya to collaborators (Akhil Marsonya) #41991
  • doc: deprecate notice for process methods (Yash Ladha) #41587
  • doc: fix bug in readable.unshift code example (Xuguang Mei) #41944
  • doc: add missing buffer in the stream/consumers import example (Mestery) #41961
  • doc: fix typo in readableStream.locked description (Tobias Nießen) #41923
  • doc: fix wrong indent in stream documentation (Xuguang Mei) #41943
  • doc: emphasize security warning in vm module doc (Rich Trott) #41916
  • doc: clarify tls.Server 'connection' event documentation (Austin Cheney) #41917
  • doc: improve scrollbar appearance in dark mode (Aaron Xie) #41890
  • doc: replace text with paths in toggle SVGs (Brian White) #41885
  • doc: edit process.config deprecation text (Rich Trott) #41889
  • doc: add joesepi to collaborators (Joe Sepi) #41914
  • doc: remove unneeded ellipsis in header (Rich Trott) #41888
  • doc: fix webstream close reject state state doc (Benjamin Gruenbaum) #41860
  • esm: improve fetch_module test coverage and remove hack (Antoine du Hamel) #41947
  • esm: remove erroneous context.parentURL property passed to load hook (Jacob Smith) #41975
  • esm: fix typo in fetch_module (Michael Scovetta) #41924
  • (SEMVER-MINOR) esm: support https remotely and http locally under flag (Bradley Farias) #36328
  • events: set default handler value (Benjamin Gruenbaum) #41970
  • fs: fix default length parameter for fs.read (wbt) #40349
  • [214d17650b] - (SEMVER-MINOR) fs: support copy of relative links with cp and cpSync (Marcos Bjoerkelund) #41819
  • fs: fix cb/sync writev empty array behavior (Benjamin Gruenbaum) #41932
  • fs: fix writev empty array error behavior (Benjamin Gruenbaum) #41919
  • fs: refactor to use ES2020 syntax (小菜) #41903
  • (SEMVER-MINOR) lib: add FormData global when fetch is enabled (Michaël Zasso) #41956
  • lib: stop installing webcrypto if no_browser_globals is true (Mestery) #41971
  • lib: allow respondWithNewView on byob auto allocated streams (Sean Quinlan) #41887
  • lib: stop installing fetch if no_browser_globals is true (Darshan Sen) #41969
  • lib: restrict usage of fetch related globals in core internals (Antoine du Hamel) #41957
  • lib: move kEnumerableProperty to internal/util (Mestery) #41877
  • lib: add internal genericNodeError() function (Rich Trott) #41879
  • meta: update AUTHORS (Node.js GitHub Bot) #42058
  • meta: use plain emojis instead of escape sequences (Mestery) #41989
  • meta: update AUTHORS and .mailmap (Rich Trott) #41953
  • perf_hooks: use arrays to store EntryBuffers (Xuguang Mei) #42032
  • process: deprecate multipleResolves (Benjamin Gruenbaum) #41872
  • (SEMVER-MINOR) readline: bind keystroke ctrl+6 to redo (Ray) #41662
  • repl: #41690 REPL gives wrong autocomplete on literals (Xuguang Mei) #41883
  • src: merge ToJsSet into ToV8Value (Anna Henningsen) #41757
  • src: remove separate definitions for static constexpr members (Anna Henningsen) #41755
  • src: use const reference instead of pointer in URL::SerializeURL (Anna Henningsen) #41759
  • src: reserve string allocation space early in URL::SerializeURL (Anna Henningsen) #41759
  • src: fix query/fragment serialization in URL::SerializeURL (Anna Henningsen) #41759
  • src: don't print interface if sin6_scope_id is 0 (Santiago Gimeno) #41547
  • src,buffer: evaluate THROW_AND_RETURN_IF_OOB() expression only once (Darshan Sen) #41945
  • stream: add more forEach tests (Benjamin Gruenbaum) #41937
  • stream: add more filter tests (Benjamin Gruenbaum) #41936
  • stream: revert map spec compliance (Benjamin Gruenbaum) #41931
  • stream: avoid usage of deprecated APIs (Mohammed Keyvanzadeh) #41871
  • stream: refactor to use more validators (Mohammed Keyvanzadeh) #41871
  • stream: use standard for loop instead of for..of (Mohammed Keyvanzadeh) #41871
  • est: remove test-stdout-close-catch flaky designation (Rich Trott) #42045
  • test: check that fetch globals are disabled by default (Michaël Zasso) #42015
  • test: improve vm test coverage (Yoshiki Kurihara) #41847
  • test: run webmessaging/broadcastchannel WPT (Ben Noordhuis) #41962
  • test: fix names of tests marked flaky on IBM i (Richard Lau) #41984
  • test: fix typographical error (Rich Trott) #41983
  • test: fix intl tests on small-icu builds (Antoine du Hamel) #41939
  • test: improve code coverage for streams/duplexify (Erick Wendel) #41862
  • test: remove lint rule for setTimeout() arguments (Rich Trott) #41901
  • test: move test-crypto-engine to addon (Michael Dawson) #41830
  • tls: avoid throw in onerror for bad TLSSocket obj (Valters Jansons) #41523
  • tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #42057
  • tools: enable es2022 env in ESLint config (Michaël Zasso) #42043
  • tools: add console to the list of restricted globals (Antoine du Hamel) #42012
  • tools: lint deprecation codes (Antoine du Hamel) #41992
  • tools: fix bugs in prefer-primordials linter rule (Antoine du Hamel) #42010
  • tools: add timers functions to the list of restricted globals (Antoine du Hamel) #42013
  • tools: reduce list of globals in ESLint config (Rich Trott) #41996
  • tools: update remark-preset-lint-node to 3.3.1 (Rich Trott) #41999
  • tools: update ESLint to 8.9.0 (Luigi Pinca) #41973
  • tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #41941
  • tools: fix typo in prefer-primordials.js (Ikko Ashimine) #41891
  • tools,lib: remove global and Intl from the list of globals (Antoine du Hamel) #42014
  • [ba35b6ccd1] - worker: fix typo in debug statement (Antoine du Hamel) #42011

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • NOTABLE CHANGES:
  • doc: add VoltrexMaster to collaborators (voltrexmaster) #40566
  • (SEMVER-MINOR) esm: add support for JSON import assertion (Antoine du Hamel) #40250
  • (SEMVER-MINOR) lib: add unsubscribe method to non-active DC channels (simon-id) #40433
  • (SEMVER-MINOR) lib: add return value for DC channel.unsubscribe (simon-id) #40433
  • (SEMVER-MINOR) v8: multi-tenant promise hook api (Stephen Belanger) #39283
  • COMMITS:
  • build: skip long-running Actions for README-only modifications (Rich Trott) #40571
  • build: disable v8 pointer compression on 32bit archs (Cheng Zhao) #40418
  • deps: patch V8 to 9.5.172.25 (Michaël Zasso) #40604
  • deps: upgrade npm to 8.1.2 (npm team) #40643
  • deps: update c-ares to 1.18.1 (Richard Lau) #40660
  • deps: upgrade npm to 8.1.1 (npm team) #40554
  • deps: V8: cherry-pick 422dc378a1da (Ray Wang) #40450
  • deps: add riscv64 config into openssl gypi (Lu Yahan) #40473
  • deps: attempt to suppress macro-redefined warning (Daniel Bevenius) #40518
  • deps: regenerate OpenSSL arch files (Daniel Bevenius) #40518
  • deps,build,tools: fix openssl-is-fips for ninja builds (Daniel Bevenius) #40518
  • dgram: fix send with out of bounds offset + length (Nitzan Uziely) #40568
  • doc: update cjs-module-lexer repo link (Guy Bedford) #40707
  • doc: fix lint re-enabling comment in README.md (Rich Trott) #40647
  • doc: format v8.md in preparation for stricter linting (Rich Trott) #40647
  • doc: final round of markdown format changes (Rich Trott) #40645
  • doc: remove --experimental-modules documentation (FrankQiu) #38974
  • doc: update tracking issues of startup performance (Joyee Cheung) #40629
  • doc: fix markdown syntax and HTML tag misses (ryan) #40608
  • doc: use 'GitHub Actions workflow' instead (Mestery) #40586
  • doc: ref OpenSSL legacy provider from crypto docs (Tobias Nießen) #40593
  • doc: add node: url scheme (Daniel Nalborczyk) #40573
  • doc: call cwd function (Daniel Nalborczyk) #40573
  • doc: remove unused imports (Daniel Nalborczyk) #40573
  • doc: simplify CHANGELOG.md (Rich Trott) #40475
  • doc: correct esm spec scope lookup definition (Guy Bedford) #40592
  • doc: update CHANGELOG.md for Node.js 16.13.0 (Richard Lau) #40617
  • doc: add info on project's usage of coverity (Michael Dawson) #40506
  • doc: fix typo in changelogs (Luigi Pinca) #40585
  • doc: update onboarding task (Rich Trott) #40570
  • doc: simplify ccache instructions (Rich Trott) #40550
  • doc: fix macOS environment variables for ccache (Rich Trott) #40550
  • oc: improve async_context introduction (Michaël Zasso) #40560
  • doc: use GFM footnotes in webcrypto.md (Rich Trott) #40477
  • doc: describe buffer limit of v8.serialize (Ray Wang) #40243
  • doc: run license-builder (Rich Trott) #40540
  • doc: use GFM footnotes in maintaining-V8.md (#40476) (Rich Trott) #40476
  • doc: use GFM footnotes in BUILDING.md (Rich Trott) #40474
  • doc: fix fs.symlink code example (Juan José Arboleda) #40414
  • doc: update for changed --dns-result-order default (Richard Lau) #40538
  • doc: add missing entry in globals.md (Antoine du Hamel) #40531
  • doc: explain backport labels (Stephen Belanger) #40520
  • doc: fix entry for Slack channel in onboarding.md (Rich Trott) #40563
  • doc: add VoltrexMaster to collaborators (voltrexmaster) #40566
  • doc: document considerations for inclusion in core (Rich Trott) #40338
  • doc: update link in onboarding doc (Rich Trott) #40539
  • doc: clarify behavior of napi_extended_error_info (Michael Dawson) #40458
  • doc: add updating expected assets to release guide (Richard Lau) #40470
  • [95e4d29eb4] - (SEMVER-MINOR) esm: add support for JSON import assertion (Antoine du Hamel) #40250
  • http: response should always emit 'close' (Robert Nagy) #40543
  • lib: fix regular expression to detect `/` and `` (Francesco Trotta) #40325
  • (SEMVER-MINOR) lib: add unsubscribe method to non-active DC channels (simon-id) #40433
  • (SEMVER-MINOR) lib: add return value for DC channel.unsubscribe (simon-id) #40433
  • meta: use form schema for flaky test template (Michaël Zasso) #40737
  • meta: update AUTHORS (Node.js GitHub Bot) #40668
  • meta: consolidate AUTHORS entries for brettkiefer (Rich Trott) #40599
  • meta: consolidate AUTHORS entries for alexzherdev (Rich Trott) #40620
  • meta: consolidate AUTHORS entries for Azard (Rich Trott) #40619
  • meta: move Fishrock123 to emeritus (Jeremiah Senkpiel) #40596
  • meta: consolidate AUTHORS entries for clakech (Rich Trott) #40589
  • meta: consolidate AUTHORS entries for darai0512 (Rich Trott) #40569
  • meta: update AUTHORS (Node.js GitHub Bot) #40580
  • meta: consolidate AUTHORS entries for dfabulich (Rich Trott) #40527
  • meta: move one or more collaborators to emeritus (Node.js GitHub Bot) #40464
  • meta: add Richard Lau to TSC list in README.md (Rich Trott) #40523
  • meta: consolidate AUTHORS entries for dguo (Rich Trott) #40517
  • meta: consolidate AUTHORS entries for cxreg (Rich Trott) #40490
  • module: resolver & spec hardening /w refactoring (Guy Bedford) #40510
  • policy: fix message for invalid manifest specifier (Rich Trott) #40574
  • process: refactor execution (Voltrex) #40664
  • src: make LoadEnvironment with string work with builtin modules path (Michaël Zasso) #40607
  • src: remove usage of AllocatedBuffer from node_http2 (Darshan Sen) #40584
  • src: fix #endif description in crypto_keygen.h (Tobias Nießen) #40639
  • src: throw error instead of assertion (Ray Wang) #40243
  • src: register external references in os bindings (Joyee Cheung) #40239
  • src: register external references in crypto bindings (Joyee Cheung) #40239
  • src,crypto: use std::variant in DH params (Darshan Sen) #40457
  • src,crypto: remove AllocatedBuffer from crypto_cipher.cc (Darshan Sen) #40400
  • src,fs: remove ToLocalChecked() call from fs::AfterMkdirp() (Darshan Sen) #40386
  • src,stream: remove *Check*() calls from non-Initialize() functions (Darshan Sen) #40425
  • stream: remove no longer necessary ComposeDuplex (Robert Nagy) #40545
  • test: disable warnings to fix flaky test (Antoine du Hamel) #40739
  • test: skip macos sandbox test with builtin modules path (Michaël Zasso) #40607
  • test: add semicolon after chunk size (Luigi Pinca) #40487
  • test: deflake http2-cancel-while-client-reading (Luigi Pinca) #40659
  • test: avoid deep comparisons with literals (Tobias Nießen) #40634
  • test: mark test-policy-integrity flaky on Windows (Rich Trott) #40684
  • test: fix test-datetime-change-notify after daylight change (Piotr Rybak) #40684
  • test: test crypto.setEngine() using an actual engine (Darshan Sen) #40481
  • test: use conventional argument order in assertion (Tobias Nießen) #40591
  • test: fix test description (Luigi Pinca) #40486
  • Test,doc: correct documentation for runBenchmark() (Rich Trott) #40683
  • test,tools: increase pummel/benchmark test timeout from 4x to 6x (Rich Trott) #40684
  • test,tools: increase timeout for benchmark tests (Rich Trott) #40684
  • tools: simplify and fix commit queue (Michaël Zasso) #40742
  • tools: ensure the PR was not pushed before merging (Antoine du Hamel) #40747
  • tools: update ESLint to 8.2.0 (Luigi Pinca) #40734
  • Tools: use GitHub Squash and Merge feature when using CQ (Antoine du Hamel) #40666
  • tools: fix bug in prefer-primordials ESLint rule (Antoine du Hamel) #40628
  • tools: add script to update c-ares (Richard Lau) #40660
  • tools: notify user if format-md needs to be run (Rich Trott) #40647
  • tools: abort CQ session when landing several commits (Antoine du Hamel) #40577
  • tools: fix commit-lint workflow (Antoine du Hamel) #40673
  • tools: avoid unnecessary escaping in markdown formatter (Rich Trott) #40645
  • tools: avoid fetch extra commits when validating commit messages (Antoine du Hamel) #39128
  • tools: update ESLint to 8.1.0 (Luigi Pinca) #40582
  • tools: fix formatting of warning message in update-authors.js (Rich Trott) #40600
  • tools: udpate doc tools to accommodate GFM footnotes (Rich Trott) #40477
  • tools: update license-builder.sh for OpenSSL (Rich Trott) #40540
  • [ools,meta: remove exclusions from AUTHORS (Rich Trott) #40648
  • tty: support more CI services in getColorDepth (Richie Bendall) #40385
  • typings: add more bindings typings (Mestery) #40415
  • typings: add JSDoc typings for inspector (Voltrex) #38390
  • typings: improve internal bindings typings (Mestery) #40411
  • typings: separate internalBinding typings (Mestery) #40409
  • (SEMVER-MINOR) v8: multi-tenant promise hook api (Stephen Belanger) #39283

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

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

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

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

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

  • Notable changes:
  • 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.
  • HTTP Request Smuggling when parsing the body (Medium)
  • The parse ignores chunk extensions when parsing the body of chunked requests. This leads to HTTP Request Smuggling (HRS) under certain conditions. More details will be available at CVE-2021-22960 after publication.
  • Commits:
  • deps: update llhttp to 6.0.4 (Matteo Collina) nodejs-private/node-private#284
  • http: add regression test for smuggling content length (Matteo Collina) nodejs-private/node-private#284
  • http: add regression test for chunked smuggling (Matteo Collina) nodejs-private/node-private#284

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

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

New in Node.js 14.18.0 LTS (Sep 28, 2021)

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

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

  • NOTABLE CHANGES:
  • (SEMVER-MINOR) crypto: add rsa-pss keygen parameters (Filip Skokan)
  • deps: upgrade npm to 7.24.0 (npm team)
  • deps: update Acorn to v8.5.0 (Micha?l Zasso)
  • doc: add Ayase-252 to collaborators (Qingyu Deng)
  • (SEMVER-MINOR) fs: make open and close stream override optional when unused (Antoine du Hamel)
  • (SEMVER-MINOR) http: limit requests per connection (Artur K)
  • The maximum number of requests a socket can handle before closing keep alive connection can be set with server.maxRequestsPerSocket.
  • (SEMVER-MINOR) src: add --no-global-search-paths cli option (Cheng Zhao)
  • Adds the --no-global-search-paths command-line option to not search modules from global paths like $HOME/.node_modules and $NODE_PATH.
  • (SEMVER-MINOR) src: make napi_create_reference accept symbol (JckXia)
  • (SEMVER-MINOR) stream: add signal support to pipeline generators (Robert Nagy)
  • COMMITS:
  • build: run modified internet tests on GitHub Actions (Rich Trott) #40100
  • build: add .mailmap/AUTHORS to paths-ignore for test-macos (Rich Trott) #40109
  • build: add .mailmap/AUTHORS to path-ignore for test-asan (Rich Trott) #40109
  • build: add paths-ignore for build-tarball workflow (Rich Trott) #40109
  • build: only lint version numbers for pull requests (Micha?l Zasso) #40027
  • build: add daily/on-demand internet test workflow (Rich Trott) #40086
  • build: add YAML linting to GitHub Actions (Rich Trott) #40007
  • build: add YAML linting (Rich Trott) #40007
  • build: run AUTHORS update weekly (Rich Trott) #40004
  • build: preserves symbols during LTO with macOS linker (Jesse Chan) #39839
  • crypto: fix webcrypto ed(25519|448) spki/pkcs8 import (Filip Skokan) #40131
  • crypto: use validateObject (Voltrex) #39872
  • rypto: fix RSA-PSS default saltLength (Tobias Nie?en) #39999
  • crypto: fix default MGF1 hash for OpenSSL 3 (Tobias Nie?en) #40031
  • crypto: check webcrypto asymmetric key types during importKey (Filip Skokan) #39962
  • (SEMVER-MINOR) crypto: add rsa-pss keygen parameters (Filip Skokan) #39927
  • deps: upgrade npm to 7.24.0 (npm team) #40167
  • deps: add riscv64 into openssl Makefile and gen openssl-riscv64 (Lu Yahan) #40063
  • deps: patch V8 to 9.3.345.19 (Micha?l Zasso) #40108
  • deps: upgrade npm to 7.23.0 (npm team) #40055
  • deps: patch v8 for vs2019 in std17 (Jiawen Geng) #40060
  • deps: patch for v8 on windows (Jiawen Geng) #40010
  • deps: update Acorn to v8.5.0 (Micha?l Zasso) #40015
  • dns: cleanup validation (Voltrex) #40061
  • doc: changes default values for fs.read fns (RISHABH BUDHIRAJA) #39163
  • doc: fix markdown indentation in lists (Micha?l Zasso) #40142
  • doc: prepare README.md for stricter linting (Rich Trott) #40137
  • doc: fix comma splice (Rich Trott) #40133
  • doc: clean up weird notes about reentrancy (Anna Henningsen) #40107
  • doc: correct parameters in fs and stream documentation (vipul kumar) #39984
  • doc: fix CJS-ESM selector in Safari (Bradley Farias) #40135
  • doc: add timeout.close (Nikita Galkin) #40036
  • doc: clarify that ObjectWrap requires manual cleanup on shutdown (Gerhard St?bich) #40074
  • doc: add full list of subsystems (FrankQiu) #39971
  • doc: add Ayase-252 to collaborators (Qingyu Deng) #40078
  • doc: fix CCM cipher example in MJS (Tobias Nie?en) #39949
  • doc: fix property name 'detail' of performanceEntry (Christian Boehlke) #40019
  • doc: fix list indentation in corepack.md (Alexey Ten) #40029
  • doc: fix missing history version in fs.md (Antoine du Hamel) #39972
  • events: fix duplicate require which cause performance penalty (wwwzbwcom) #39892
  • (SEMVER-MINOR) fs: make open and close stream override optional when unused (Antoine du Hamel) #40013
  • (SEMVER-MINOR) http: limit requests per connection (Artur K) #40082
  • http: remove CRLF variable (shfshanyue) #40101
  • ib: remove useless statement (Maledong) #39983
  • lib: avoid creating a throw away object in validateObject (Antoine du Hamel) #39807
  • lib: use standard property names (null) #39981
  • lib,repl: ignore non-canBeRequiredByUsers built-in (Khaidi Chu) #39942
  • meta: update AUTHORS (Node.js GitHub Bot) #40148
  • meta: update GeoffreyBooth email addresses in AUTHORS and .mailmap (Rich Trott) #40132
  • meta: add mailmap entry for LPardue (Rich Trott) #40129
  • meta: update GeoffreyBooth email address (Geoffrey Booth) #40102
  • meta: add .mailmap entry for arcanis (Rich Trott) #40103
  • meta: update AUTHORS (Node.js GitHub Bot) #40087
  • meta: consolidate AUTHORS entry for mikemaccana (Rich Trott) #40051
  • meta: add more mailmap entries for bajtos (Rich Trott) #40023
  • meta: consolidate AUTHORS entries for mithunsasidharan (Rich Trott) #40003
  • meta: update AUTHORS (Node.js GitHub Bot) #39957
  • module: support pattern trailers for imports field (Guy Bedford) #40041
  • module: deprecate trailing slash pattern mappings (Guy Bedford) #40039
  • module: fix $ pattern replacements (Guy Bedford) #40044
  • repl: fix top level await with surrogate characters (Mestery) #39931
  • (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
  • src: remove unnecessary comment and add a CHECK in crypto_tls.cc (Darshan Sen) #39991
  • src: register zlib external references for snapshot (Joyee Cheung) #40050
  • src: fix -Wunreachable-code-return error (Shelley Vohr) #40034
  • src: add option to disable loading native addons (Dominic Elm) #39977
  • Revert "src: skip test_fatal/test_threads for Debug builds" (Anna Henningsen) #39954
  • src: use Isolate::TryGetCurrent where appropriate (Anna Henningsen) #39954
  • (SEMVER-MINOR) src: make napi_create_reference accept symbol (JckXia) #39926
  • src: fix C4805 MSVC warning (Micha?l Zasso) #39998
  • src: register external references of PipeWrap for snapshot (Joyee Cheung) #39961
  • src: register external references of TTYWrap for snapshot (Joyee Cheung) #39961
  • src: register external references of TCPWrap for snapshot (Joyee Cheung) #39961
  • src: register external references of SignalWrap for snapshot (Joyee Cheung) #39961
  • src: register missing process methods external references (Joyee Cheung) #39961
  • src: register missing stream wrap external references (Joyee Cheung) #39961
  • src: register external references of BaseObject for snapshot (Joyee Cheung) #39961
  • src: register external references of node-report for snapshot (Joyee Cheung) #39961
  • src: register external references of dtrace for snapshot (Joyee Cheung) #39961
  • (SEMVER-MINOR) stream: add signal support to pipeline generators (Robert Nagy) #39067
  • test: fix test-dgram-udp6-link-local-address on Windows (Micha?l Zasso) #40005
  • test: do not run test-corepack-yarn-install with no internet (Antoine du Hamel) #40090
  • test: update OpenSSL3 error messages for 3.0.0+quic (Daniel Bevenius) #40093
  • test: mark test-crypto-timing-safe-equal-benchmarks flaky (Richard Lau) #40065
  • test: fix internet/test-dns (Rich Trott) #40083
  • test: make tests pass on Windows with Unix EOL (Micha?l Zasso) #40002
  • tools: update doc generator dependencies (Micha?l Zasso) #40042
  • tools: update ansi-regex in lint-md rollup (Rich Trott) #40112
  • tools: update all dependencies of markdown linter (Micha?l Zasso) #40035
  • tools: update remark-html to v13.0.2 (Micha?l Zasso) #40043
  • tools,build: update YAML files in preparation for linting (Rich Trott) #40007
  • tools,doc: fix misrendering of consecutive JS blocks (Rich Trott) #40146
  • worker: avoid potential deadlock on NearHeapLimit (Santiago Gimeno) #38403

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

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

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

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

New in Node.js 14.17.6 LTS (Sep 1, 2021)

  • These are vulnerabilities in the node-tar, arborist, and npm cli modules which are related to the initial reports and subsequent remediation of node-tar vulnerabilities CVE-2021-32803 and CVE-2021-32804. Subsequent internal security review of node-tar and additional external bounty reports have resulted in another 5 CVE being remediated in core npm CLI dependencies including node-tar, and npm arborist.
  • You can read more about it in:
  • CVE-2021-37701
  • CVE-2021-37712
  • CVE-2021-37713
  • CVE-2021-39134
  • CVE-2021-39135

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

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

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

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

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

  • 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-22930: Use after free on close http2 on stream canceling (High):
  • Node.js was vulnerable to a use after free attack where an attacker might be able to exploit memory corruption to change process behavior. This release includes a follow-up fix for CVE-2021-22930 as the issue was not completely resolved by the previous fix. You can read more about it at https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-22930.
  • CVE-2021-22939: Incomplete validation of rejectUnauthorized parameter (Low):
  • If the Node.js HTTPS API was used incorrectly and "undefined" was in passed for the "rejectUnauthorized" parameter, no error was returned and connections to servers with an expired certificate would have been accepted. You can read more about it at https://nvd.nist.gov/vuln/detail/CVE-2021-22939.
  • COMMITS:
  • deps: update c-ares to 1.17.2 (Beth Griggs) #39724
  • deps: reflect c-ares source tree (Beth Griggs) #39653
  • [deps: apply missed updates from c-ares 1.17.1 (Beth Griggs) #39653
  • http2: add tests for cancel event while client is paused reading (Akshay K) #39622
  • http2: update handling of rst_stream with error code NGHTTP2_CANCEL (Akshay K) #39622
  • tls: validate "rejectUnauthorized: undefined" (Matteo Collina) nodejs-private/node-private#276

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • assert:
  • Implement assert.match() and assert.doesNotMatch() (Ruben Bridgewater) #30929
  • events:
  • Add EventEmitter.on to async iterate over events (Matteo Collina) #27994
  • Allow monitoring error events (Gerhard Stoebich) #30932
  • fs:
  • Allow overriding fs for streams (Robert Nagy) #29083
  • perf_hooks:
  • Move perf_hooks out of experimental (legendecas) #31101
  • repl:
  • Implement ZSH-like reverse-i-search (Ruben Bridgewater) #31006
  • tls:
  • Add PSK (pre-shared key) support (Denys Otrishko) #23188

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

  • cli:
  • add --trace-exit cli option (legendecas) #30516
  • http,https:
  • increase server headers timeout (Tim Costa) #30071
  • readline:
  • update ansi-regex (Ruben Bridgewater) #30907
  • promote _getCursorPos to public api (Jeremy Albright) #30687
  • repl:
  • add completion preview (Ruben Bridgewater) #30907
  • util:
  • add Set and map size to inspect output (Ruben Bridgewater) #30225
  • wasi:
  • require CLI flag to require() wasi module (Colin Ihrig) #30963

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

  • fs:
  • Reworked experimental recursive rmdir() (cjihrig) #30644
  • The maxBusyTries option is renamed to maxRetries, and its default is set to 0. The emfileWait option has been removed, and EMFILE errors use the same retry logic as other errors. The retryDelay option is now supported. ENFILE errors are now retried.
  • http:
  • Make maximum header size configurable per-stream or per-server (Anna Henningsen) #30570
  • http2:
  • Make maximum tolerated rejected streams configurable (Denys Otrishko) #30534
  • Allow to configure maximum tolerated invalid frames (Denys Otrishko) #30534
  • wasi:
  • Introduce initial WASI support (cjihrig) #30258

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

  • cli:
  • Added a new flag (--trace-uncaught) that makes Node.js print the stack trace at the time of throwing uncaught exceptions, rather than at the creation of the Error object, if there is any. This is disabled by default because it affects GC behavior (Anna Henningsen) #30025.
  • crypto:
  • Added Hash.prototype.copy() method. It returns a new Hash object with its internal state cloned from the original one (Ben Noordhuis) #29910.
  • dgram:
  • Added source-specific multicast support. This adds methods to Datagram sockets to support RFC 4607 for IPv4 and IPv6 (Lucas Pardue) #15735.
  • fs:
  • Added a bufferSize option to fs.opendir(). It allows to control the number of entries that are buffered internally when reading from the directory (Anna Henningsen) #30114.
  • meta:
  • Added Chengzhong Wu to collaborators #30115.

New in Node.js 13.0.1 (Oct 28, 2019)

  • deps:
  • Fixed a bug in npm 6.12.0 where warnings are emitted on Node.js 13.x (Jordan Harband) #30079.
  • esm:
  • Changed file extension resolution order of --es-module-specifier-resolution=node to match that of the CommonJS loader (Myles Borins) #29974.

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

  • build:
  • Add --force-context-aware flag to prevent usage of native node addons that aren't context aware #29631
  • deprecations:
  • Add documentation-only deprecation for process._tickCallback() #29781
  • esm:
  • Using JSON modules is experimental again #29754
  • fs:
  • Introduce opendir() and fs.Dir to iterate through directories #29349
  • process:
  • Add source-map support to stack traces by using --enable-source-maps#29564
  • tls:
  • Honor pauseOnConnect option #29635
  • Add option for private keys for OpenSSL engines #28973

New in Node.js 12.11.0 (Sep 27, 2019)

  • crypto:
  • Add oaepLabel option #29489
  • deps:
  • Update V8 to 7.7.299.11 #28918
  • More efficient memory handling
  • Stack trace serialization got faster
  • The Intl.NumberFormat API gained new functionality
  • For more information: https://v8.dev/blog/v8-release-77
  • events:
  • Add support for EventTarget in once #29498
  • fs:
  • Expose memory file mapping flag UV_FS_O_FILEMAP #29260
  • inspector:
  • New API - Session.connectToMainThread #28870
  • process:
  • Initial SourceMap support via env.NODE_V8_COVERAGE #28960
  • stream:
  • Make _write() optional when _writev() is implemented #29639
  • tls:
  • Add option to override signature algorithms #29598
  • util:
  • Add encodeInto to TextEncoder #29524
  • worker:
  • The worker_thread module is now stable #29512

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

  • deps:
  • Update npm to 6.10.3 (isaacs) #29023
  • fs:
  • Add recursive option to rmdir() (cjihrig) #29168
  • Allow passing true to emitClose option (Giorgos Ntemiris) #29212
  • Add *timeNs properties to BigInt Stats objects (Joyee Cheung) #21387
  • net:
  • Allow reading data into a static buffer (Brian White) #25436

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

  • assert:
  • Legacy mode deprecation (DEP0089) is revoked (Colin Ihrig) #28892
  • crypto:
  • The outputLength option is added to crypto.createHash (Tobias Nießen) #28805
  • The maxmem range is increased from 32 to 53 bits (Tobias Nießen) #28799
  • n-api:
  • Added APIs for per-instance state management (Gabriel Schulhof) #28682
  • report:
  • Network interfaces get included in the report (Colin Ihrig) #28911
  • src:
  • v8.getHeapCodeStatistics() is now exported (Yuriy Vasiyarov) #27978

New in Node.js 12.7.0 (Jul 24, 2019)

  • deps:
  • Updated nghttp2 to 1.39.1 (gengjiawen) #28448.
  • Updated npm to 6.10.0 (isaacs) #28525.
  • esm:
  • Implemented experimental "pkg-exports" proposal. A new "exports" field can be added to a module's package.json file to provide custom subpath aliasing. See proposal-pkg-exports for more information (Guy Bedford) #28568.
  • http:
  • Added response.writableFinished (Robert Nagy) #28681.
  • Exposed headers, rawHeaders and other fields on an http.ClientRequest "information" event (Austin Wright) #28459.
  • inspector:
  • Added inspector.waitForDebugger() (Aleksei Koziatinskii) #28453.
  • policy:
  • Added --policy-integrity=sri CLI option to mitigate policy tampering. If a policy integrity is specified and the policy does not have that integrity, Node.js will error prior to running any code (Bradley Farias) #28734.
  • readline,tty:
  • Exposed stream API from various methods which write characters (cjihrig) #28674, #28721.
  • src:
  • Use cgroups to get memory limits. This improves the way we set the memory ceiling for a Node.js process. Previously we would use the physical memory size to estimate the necessary V8 heap sizes. The physical memory size is not necessarily the correct limit, e.g. if the process is running inside a docker container or is otherwise constrained. This change adds the ability to get a memory limit set by linux cgroups, which is used by docker containers to set resource constraints (Kelvin Jin) #27508.

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

  • build:
  • Experimental support for building Node.js on MIPS architecture is back #27992.
  • child_process:
  • The promisified versions of child_process.exec and child_process.execFile now both return a Promise which has the child instance attached to their child property #28325.
  • deps:
  • Updated libuv to 1.30.1 #28449, #28511.
  • Support for the Haiku platform has been added.
  • The maximum UV_THREADPOOL_SIZE has been increased from 128 to 1024.
  • uv_fs_copyfile() now works properly when the source and destination files are the same.
  • process:
  • A new method, process.resourceUsage() was added. It returns resource usage for the current process, such as CPU time #28018.
  • src:
  • Fixed an issue related to stdio that could lead to a crash of the process in some circumstances #28490.
  • stream:
  • Added a writableFinished property to writable streams. It indicates that all the data has been flushed to the underlying system #28007.
  • worker:
  • Fixed an issue that prevented worker threads to listen for data on stdin #28153.
  • meta:
  • Added Jiawen Geng to collaborators #28322.

New in Node.js 12.3.1 (May 28, 2019)

  • deps:
  • Fix handling of +0/-0 when constant field tracking is enabled (Michaël Zasso) #27792
  • Fix os.freemem() and os.totalmem correctness (cjihrig) #27718
  • src:
  • Fix v12.3.0 regression that prevents native addons from compiling #27804

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

  • intl:
  • Update ICU to 64.2. This adds support for Japanese Era (Reiwa) (Ujjwal Sharma) #27361.
  • Fixes a bug in ICU that affected Node.js 12.0.0 in the case where new Date().toLocaleString() was called with a non-default locale (Steven R. Loomis) #27415.
  • C++ API:
  • Added an overload EmitAsyncDestroy that can be used during garbage collection (Anna Henningsen) #27255.

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

  • assert:
  • validate required arguments (Ruben Bridgewater) #26641
  • adjust loose assertions (Ruben Bridgewater) #25008
  • async_hooks:
  • remove deprecated emitBefore and emitAfter (Matteo Collina) #26530
  • remove promise object from resource (Andreas Madsen) #23443
  • bootstrap: make Buffer and process non-enumerable (Ruben Bridgewater) #24874
  • buffer:
  • use stricter range checks (Ruben Bridgewater) #27045
  • harden SlowBuffer creation (ZYSzys) #26272
  • harden validation of buffer allocation size (ZYSzys) #26162
  • do proper error propagation in addon methods (Anna Henningsen) #23939
  • child_process:
  • remove options.customFds (cjihrig) #25279
  • harden fork arguments validation (ZYSzys) #27039
  • use non-infinite maxBuffer defaults (kohta ito) #23027
  • console: don't use ANSI escape codes when TERM=dumb (Vladislav Kaminsky) #26261
  • crypto:
  • remove legacy native handles (Tobias Nießen) #27011
  • decode missing passphrase errors (Tobias Nießen) #25208
  • remove Cipher.setAuthTag() and Decipher.getAuthTag() (Tobias Nießen) #26249
  • remove deprecated crypto._toBuf() (Tobias Nießen) #25338
  • set DEFAULT_ENCODING property to non-enumerable (Antoine du Hamel) #23222
  • deps:
  • update V8 to 7.4.288.13 (Michaël Zasso, cjihrig, Refael Ackermann, Anna Henningsen, Ujjwal Sharma) #26685
  • bump minimum icu version to 63 (Ujjwal Sharma) #25852
  • update OpenSSL to 1.1.1b (Sam Roberts, Shigeki Ohtsu) #26327
  • errors: update error name (Ruben Bridgewater) #26738
  • fs:
  • use proper .destroy() implementation for SyncWriteStream (Matteo Collina) #26690
  • improve mode validation (Ruben Bridgewater) #26575
  • harden validation of start option in createWriteStream() (ZYSzys) #25579
  • make writeFile consistent with readFile wrt fd (Sakthipriyan Vairamani (thefourtheye)) #23709
  • http:
  • validate timeout in ClientRequest() (cjihrig) #26214
  • return HTTP 431 on HPE_HEADER_OVERFLOW error (Albert Still) #25605
  • switch default parser to llhttp (Anna Henningsen) #24870
  • Runtime-deprecate outgoingMessage._headers and outgoingMessage._headerNames (Morgan Roderick) #24167
  • lib:
  • remove Atomics.wake() (Gus Caplan) #27033
  • move DTRACE_* probes out of global scope (James M Snell) #26541
  • deprecate _stream_wrap (Sam Roberts) #26245
  • use ES6 class inheritance style (Ruben Bridgewater) #24755
  • module:
  • remove unintended access to deps/ (Anna Henningsen) #25138
  • improve error message for MODULE_NOT_FOUND (Ali Ijaz Sheikh) #25690
  • requireStack property for MODULE_NOT_FOUND (Ali Ijaz Sheikh) #25690
  • remove dead code (Ruben Bridgewater) #26983
  • make require('.') never resolve outside the current directory (Ruben Bridgewater) #26973
  • throw an error for invalid package.json main entries (Ruben Bridgewater) #26823
  • don't search in require.resolve.paths (cjihrig) #23683
  • net:
  • remove Server.listenFD() (cjihrig) #27127
  • do not add .host and .port properties to DNS error (Ruben Bridgewater) #26751
  • emit "write after end" errors in the next tick (Ouyang Yadong) #24457
  • deprecate _setSimultaneousAccepts() undocumented function (James M Snell) #23760
  • os:
  • implement os.type() using uv_os_uname() (cjihrig) #25659
  • remove os.getNetworkInterfaces() (cjihrig) #25280
  • process:
  • make global.process, global.Buffer getters (Guy Bedford) #26882
  • move DEP0062 (node --debug) to end-of-life (Joyee Cheung) #25828
  • exit on --debug and --debug-brk after option parsing (Joyee Cheung) #25828
  • improve --redirect-warnings handling (Ruben Bridgewater) #24965
  • readline: support TERM=dumb (Vladislav Kaminsky) #26261
  • repl:
  • add welcome message (gengjiawen) #25947
  • fix terminal default setting (Ruben Bridgewater) #26518
  • check colors with .getColorDepth() (Vladislav Kaminsky) #26261
  • deprecate REPLServer.rli (Ruben Bridgewater) #26260
  • src:
  • remove unused INT_MAX constant (Sam Roberts) #27078
  • update NODE_MODULE_VERSION to 72 (Ujjwal Sharma) #26685
  • remove AddPromiseHook() (Anna Henningsen) #26574
  • clean up MultiIsolatePlatform interface (Anna Henningsen) #26384
  • properly configure default heap limits (Ali Ijaz Sheikh) #25576
  • remove icuDataDir from node config (GauthamBanasandra) #24780
  • tls:
  • support TLSv1.3 (Sam Roberts) #26209
  • return correct version from getCipher() (Sam Roberts) #26625
  • check arg types of renegotiate() (Sam Roberts) #25876
  • add code for ERR_TLS_INVALID_PROTOCOL_METHOD (Sam Roberts) #24729
  • emit a warning when servername is an IP address (Rodger Combs) #23329
  • disable TLS v1.0 and v1.1 by default (Ben Noordhuis) #23814
  • remove unused arg to createSecureContext() (Sam Roberts) #24241
  • deprecate Server.prototype.setOptions() (cjihrig) #23820
  • load NODE_EXTRA_CA_CERTS at startup (Ouyang Yadong) #23354
  • util:
  • remove util.print(), util.puts(), util.debug() and util.error() (cjihrig) #25377
  • change inspect compact and breakLength default (Ruben Bridgewater) #27109
  • improve inspect edge cases (Ruben Bridgewater) #27109
  • only the first line of the error message (Simon Zünd) #26685
  • don't set the prototype of callbackified functions (Ruben Bridgewater) #26893
  • rename callbackified function (Ruben Bridgewater) #26893
  • increase function length when using callbackify() (Ruben Bridgewater) #26893
  • prevent tampering with internals in inspect() (Ruben Bridgewater) #26577
  • prevent Proxy traps being triggered by .inspect() (Ruben Bridgewater) #26241
  • prevent leaking internal properties (Ruben Bridgewater) #24971
  • protect against monkeypatched Object prototype for inspect() (Rich Trott) #25953
  • treat format arguments equally (Roman Reiss) #23162
  • win, fs: detect if symlink target is a directory (Bartosz Sosnowski) #23724
  • zlib:
  • throw TypeError if callback is missing (Anna Henningsen) #24929
  • make “bare” constants un-enumerable (Anna Henningsen) #24824

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

  • hild_process: doc deprecate ChildProcess._channel (cjihrig) #26982
  • deps: update nghttp2 to 1.37.0 (gengjiawen) #26990
  • dns:
  • make dns.promises enumerable (cjihrig) #26592
  • remove dns.promises experimental warning (cjihrig) #26592
  • fs: remove experimental warning for fs.promises (Anna Henningsen) #26581
  • stream: make Symbol.asyncIterator support stable (Matteo Collina) #26989
  • worker: use copy of process.env (Anna Henningsen) #26544

New in Node.js 11.2.0 (Mar 19, 2019)

  • bootstrap:
  • Add experimental --frozen-intrinsics flag (Guy Bedford) #25685
  • build:
  • Enable v8's siphash for hash seed creation (Rod Vagg) #26367
  • deps:
  • Upgrade openssl to 1.1.1b (Sam Roberts) #26327
  • process:
  • Make process[Symbol.toStringTag] writable again (Ruben Bridgewater) #26488
  • repl:
  • Add util.inspect.replDefaults to customize the writer (Ruben Bridgewater) #26375
  • report:
  • Rename triggerReport() to writeReport() (Colin Ihrig) #26527

New in Node.js 11.10.1 (Mar 5, 2019)

  • A fix for the following CVE is included in this release:
  • Node.js: Slowloris HTTP Denial of Service with keep-alive (CVE-2019-5737)
  • Notable Changes:
  • http: Further prevention of "Slowloris" attacks on HTTP and HTTPS connections by consistently applying the receive timeout set by server.headersTimeout to connections in keep-alive mode. Reported by Marco Pracucci (Voxnest). (CVE-2019-5737 / Matteo Collina)
  • Commits:
  • [05534a24ca] - http: prevent slowloris with keepalive connections (Matteo Collina) nodejs-private/node-private#158

New in Node.js 11.10.0 (Feb 18, 2019)

  • deps:
  • Updated libuv to 1.26.0. #26037
  • Updated npm to 6.7.0. #25804 http, http2
  • response.writeHead now returns the response object. #25974 perf_hooks
  • Implemented a histogram based API. #25378 process
  • Exposed process.features.inspector. #25819 repl
  • Added repl.setupHistory for programmatic repl. #25895 tls
  • Introduced client "session" event. #25831
  • Commits:
  • [ccf60bbad2] - assert: add internal assert.fail() (Rich Trott) #26047
  • [0b4055e616] - assert: create internal/assert micro-module (Rich Trott) #25956
  • [37d207cc0c] - assert: refactor internal assert.js (Rich Trott) #25956
  • [2b1f88185f] - benchmark: remove unreachable return (ZYSzys) #25883
  • [c4d16e80b7] - benchmark: refactor for consistent style (Rich Trott) #25944
  • [c4e2bbbcab] - benchmark: use consistent coding style in assert/* (Rich Trott) #25865
  • [18b344c0d2] - benchmark: refactor benchmark/common.js (Rich Trott) #25805
  • [40398fd07a] - benchmark: refactor _http-benchmarkers.js (Rich Trott) #25803
  • [d5d163d8b9] - build: export deprecated OpenSSL symbols on Windows (Richard Lau) #25991
  • [197efb7f84] - child_process: close pipe ends that are re-piped (Gireesh Punathil) #21209
  • [f87352366a] - cluster: migrate round_robin_handle to internal assert (Rich Trott) #26047
  • [8c9800ce27] - crypto: include 'Buffer' in error output of Hash.update method (Amit Zur) #25533
  • [baa0865886] - crypto: don't crash X509ToObject on error (David Benjamin) #25717
  • [3e010aff83] - crypto: fix malloc mixing in X509ToObject (David Benjamin) #25717
  • [da46be2542] - crypto: fix public key encoding name in comment (David Benjamin) #25736
  • [8b5a2c4f61] - deps: upgrade to libuv 1.26.0 (cjihrig) #26037
  • [1c5fbeab34] - deps: upgrade npm to 6.7.0 (Kat Marchán) #25804
  • [3f8c22b4cb] - deps: update llhttp to 1.1.1 (Fedor Indutny) #25753
  • [823fd5b493] - (SEMVER-MINOR) deps: float fix for building HdrHistogram on Win x86 (jasnell) #25378
  • [c01bbc5258] - deps: update acorn to 6.0.7 (Michaël Zasso) #25844
  • [a6c8e40655] - deps: patch to fix *.onion MX query on c-ares (XadillaX) #25840
  • [8b71464711] - deps: remove OpenSSL git and travis configuration (Sam Roberts) #25689
  • [673e434714] - deps: v8, cherry-pick 9365d09, aac2f8c, 47d34a3 (Benjamin Coe) #25429
  • [411f6fe832] - deps: cherry-pick c736883 from upstream V8 (Yang Guo)
  • [4a254a6ce4] - doc: edit N-API introductory material in Collaborator Guide (Rich Trott) #26051
  • [44fc2f6094] - doc: clarify effect of stream.destroy() on write() (Sam Roberts) #25973
  • [21e6d353af] - doc: renamed remote's name (Thang Tran) #26050
  • [e629afa6ae] - doc: fix minor typo in dgram.md (Daniel Bevenius) #26055
  • [663b6251a0] - doc: fix some nits in perf_hooks (Vse Mozhet Byt) #26022
  • [9420a737fe] - doc: edit process.report related documentation (cjihrig) #25983
  • [eb4b5ea233] - doc: clarify http timeouts (Andrew Moss) #25748
  • [a225f99ea8] - doc: revise Introducing New Modules (Rich Trott) #25975
  • [f516f68032] - doc: add a sentence about REPLACEME in code changes (Lance Ball) #25961
  • [3b74cc6c26] - doc: revise Collaborator Guide on reverting (Rich Trott) #25942
  • [353de0f752] - doc: fix err_synthetic issue on v11.x (sreepurnajasti) #25770
  • [cc4ae20d20] - doc: improve doc on unintended breaking changes (Rich Trott) #25887
  • [1f6acbb279] - doc: document os.userInfo() throwing SystemError (Raido Kuli) #25724
  • [699d161f9e] - doc: fix machine field in example report (cjihrig) #25855
  • [618f641271] - doc: remove redundant LTS/Current information in Collaborator Guide (Rich Trott) #25842
  • [7a1f166cfa] - doc: add documentation for request.path (Kei Ito) #25788
  • [f5db5090bc] - doc: remove outdated COLLABORATOR_GUIDE sentence about breaking changes (Rich Trott) #25780
  • [accb8aec35] - doc: revise inspect security info in cli.md (Rich Trott) #25779
  • [fd98d62909] - doc: revise style guide (Rich Trott) #25778
  • [60c5099f4b] - domain: avoid circular memory references (Anna Henningsen) #25993
  • [2b48a381b9] - fs: remove redundant callback check (ZYSzys) #25160
  • [29c195e17f] - fs: remove useless internalFS (ZYSzys) #25161
  • [51982978eb] - http: improve performance for incoming headers (Weijia Wang) #26041
  • [90c9f1d323] - http: reduce multiple output arrays into one (Weijia Wang) #26004
  • [a5247cc180] - (SEMVER-MINOR) http: makes response.writeHead return the response (Mark S. Everitt) #25974
  • [b7fb49e70a] - http: remove redundant call to socket.setTimeout() (Luigi Pinca) #25928
  • [25c19eb1d8] - http: make timeout event work with agent timeout (Luigi Pinca) #25488
  • [0899c8bb32] - http2: improve compat performance (Matteo Collina) #25567
  • [237b5e65e4] - (SEMVER-MINOR) http2: makes response.writeHead return the response (Mark S. Everitt) #25974
  • [6967407b19] - inspector, trace_events: make sure messages are sent on a main thread (Eugene Ostroukhov) #24814
  • [d02ad40d42] - inspector,vm: remove --eval wrapper (Anna Henningsen) #25832
  • [32e6bb32b2] - lib: merge 'undefined' into one 'break' branch (MaleDong) #26039
  • [b2b37c631a] - lib: simplify 'umask' (MaleDong) #26035
  • [b1a8927adc] - lib: fix the typo error (MaleDong) #26032
  • [d5f4a1f2ac] - lib: save a copy of Symbol in primordials (Joyee Cheung) #26033
  • [bd932a347e] - lib: move per_context.js under lib/internal/bootstrap (Joyee Cheung) #26033
  • [f40e0fcdcb] - lib: replace 'assert' with 'internal/assert' for many built-ins (Rich Trott) #25956
  • [8ade433f51] - lib: move signal event handling into bootstrap/node.js (Joyee Cheung) #25859
  • [92ca50636c] - lib: save primordials during bootstrap and use it in builtins (Joyee Cheung) #25816
  • [1b8d2ca85f] - lib: remove dollar symbol for private function (MaleDong) #25590
  • [b06f2fafe7] - lib: use internal/options to query --abort-on-uncaught-exception (Joyee Cheung) #25862
  • [0b302e4520] - lib: fix a few minor issues flagged by lgtm (Robin Neatherway) #25873
  • [99bc0df74c] - lib: refactor ERR_SYNTHETIC (cjihrig) #25749
  • [1c6fadea31] - meta: clarify EoL platform support (João Reis) #25838
  • [03ffcf76b7] - n-api: finalize during second-pass callback (Gabriel Schulhof) #25992
  • [5f6a710d8d] - os,report: use UV_MAXHOSTNAMESIZE (cjihrig) #26038
  • [2cbb7a85db] - (SEMVER-MINOR) perf_hooks: implement histogram based api (James M Snell) #25378
  • [e81c6c81de] - perf_hooks: only enable GC tracking when it's requested (Joyee Cheung) #25853
  • [9d6291ad46] - process: refactor lib/internal/bootstrap/node.js (Joyee Cheung) #26033
  • [8d3eb47d48] - process: use primordials in bootstrap/node.js (Joyee Cheung) #26033
  • [85bc64a5c9] - process: document the bootstrap process in node.js (Joyee Cheung) #26033
  • [ae21fca36b] - process: normalize process.execPath in CreateProcessObject() (Joyee Cheung) #26002
  • [614bb9f3c8] - process: normalize process.argv before user code execution (Joyee Cheung) #26000
  • [9a7e883b83] - process: group main thread execution preparation code (Joyee Cheung) #26000
  • [d7bf070652] - process: move deprecation warning initialization into pre_execution.js (Joyee Cheung) #25825
  • [d7ed125fd1] - process: stub unsupported worker methods (cjihrig) #25587
  • [c8bf4327d8] - process: move process mutation into bootstrap/node.js (Joyee Cheung) #25821
  • [1d76ba1b3d] - (SEMVER-MINOR) process: expose process.features.inspector (Joyee Cheung) #25819
  • [e6a4fb6d01] - process: split execution into main scripts (Joyee Cheung) #25667
  • [f4cfbf4c9e] - process: move setup of process warnings into node.js (Anto Aravinth) #25263
  • [cc253b5f2d] - process: simplify report uncaught exception logic (cjihrig) #25744
  • [4c22d6eaa1] - (SEMVER-MINOR) repl: add repl.setupHistory for programmatic repl (Lance Ball) #25895
  • [2c737a89d5] - repl: remove obsolete buffer clearing (Ruben Bridgewater) #25731
  • [5aaeb01655] - repl: fix eval return value (Ruben Bridgewater) #25731
  • [e66cb58a9b] - repl: simplify and improve completion (Ruben Bridgewater) #25731
  • [dfd47aa1e8] - report: make more items programmatically accessible (Anna Henningsen) #26019
  • [88019b051c] - report: rename setDiagnosticReportOptions() (cjihrig) #25990
  • [c8ceece815] - report: refactor report option validation (cjihrig) #25990
  • [afb2d17c16] - report: use uv_getnameinfo() for socket endpoints (cjihrig) #25962
  • [3f400310bd] - report: widen scope of #ifndef (cjihrig) #25960
  • [8494a61d79] - report: remove unnecessary case block scopes (cjihrig) #25960
  • [7443288c68] - report: remove empty string stream insertion (cjihrig) #25960
  • [6c51ec3014] - report: include information about event loop itself (Anna Henningsen) #25906
  • [30a4e8900a] - report: print libuv handle addresses as hex (cjihrig) #25910
  • [6d39a54354] - report: use libuv calls for OS and machine info (cjihrig) #25900
  • [1007416596] - report: separate release metadata (Richard Lau) #25826
  • [b1e0c43abd] - report: disambiguate glibc versions (cjihrig) #25781
  • [f6c8820b46] - report: fix typo in error message (cjihrig) #25782
  • [d4631816ef] - report: use consistent format for dumpEventTime (Anna Henningsen) #25751
  • [cc22fd7be9] - report: split up osVersion and machine values (cjihrig) #25755
  • [f71d6762ca] - src: remove redundant cast in node_http2.h (gengjiawen) #25978
  • [adaa2ae70b] - src: add lock to inspector MainThreadHandle dtor (Anna Henningsen) #26010
  • [731c2731d2] - src: add WeakReference utility (Anna Henningsen) #25993
  • [7ab34ae421] - src: remove unused method in class Http2Stream (gengjiawen) #25979
  • [d7ae1054ef] - src: remove redundant cast in node_file.cc (gengjiawen) #25977
  • [6c6e678eaa] - src: remove unused class in node_errors.h (gengjiawen) #25980
  • [24d9e9c8b6] - src: remove redundant void (gengjiawen) #26003
  • [5de103430f] - src: use NULL check macros to check nullptr (ZYSzys) #25916
  • [c47eb932bc] - src: move process.reallyExit impl into node_process_methods.cc (Joyee Cheung) #25860
  • [01bb7b7559] - src: split ownsProcessState off isMainThread (Anna Henningsen) #25881
  • [fd6ce533aa] - src: remove main_isolate (Anna Henningsen) #25823
  • [b72ec23201] - src: move public C++ APIs into src/api/*.cc (Joyee Cheung) #25541
  • [0a154ff7ad] - src: move v8_platform implementation into node_v8_platform-inl.h (Joyee Cheung) #25541
  • [d342707fa7] - src: remove unused internalBinding('config') properties (Joyee Cheung) #25463
  • [756558617e] - src: pass cli options to bootstrap/loaders.js lexically (Joyee Cheung) #25463
  • [85d5f67efe] - src: fix return type in Hash (gengjiawen) #25936
  • [779a5773cf] - src: refactor macro to std::min in node_buffer.cc (gengjiawen) #25919
  • [76687dedce] - src: remove unused variable (cjihrig) #25481
  • [b280d90279] - src: simplify NativeModule caching and remove redundant data (Joyee Cheung) #25352
  • [469cdacd59] - src: pass along errors from StreamBase req obj creations (Anna Henningsen) #25822
  • [d6f3b8785f] - src: pass along errors from fs object creations (Anna Henningsen) #25822
  • [0672c24dc3] - src: pass along errors from http2 object creation (Anna Henningsen) #25822
  • [e3fd7520d0] - src: pass along errors from tls object creation (Anna Henningsen) #25822
  • [e0af205c98] - src: nullcheck on trace controller (Gireesh Punathil) #25943
  • [c72c4b041d] - src: allow --perf-prof-unwinding-info in NODE_OPTIONS (Tom Gallacher) #25565
  • [e6a2548807] - src: allow --perf-basic-prof-only-functions in NODE_OPTIONS (Tom Gallacher) #25565
  • [7cf484c656] - src: refactor SSLError case statement (Sam Roberts) #25861
  • [55a313bb31] - src: make watchdog async callback a lambda (Gireesh Punathil) #25945
  • [de9f37d314] - src: make deleted function public in agent.h (gengjiawen) #25909
  • [620d429343] - src: use bool instead of integer literal in connection_wrap.cc (gengjiawen) #25923
  • [8cedfb8196] - src: refactor to nullptr in cpp code (gengjiawen) #25888
  • [f5d50342b0] - src: clean unused code in agent.h (gengjiawen) #25914
  • [2d575044ff] - src: fix compiler warnings in node_buffer.cc (Daniel Bevenius) #25665
  • [015ed0b1d7] - src: remove redundant method in node_worker.h (gengjiawen) #25849
  • [44655e93dd] - src: delete unreachable code in node_perf.h (gengjiawen) #25850
  • [5a66e380ff] - src: fix data type in node_crypto.cc (gengjiawen) #25889
  • [d4c4f77d31] - src: const_cast is necessary for 1.1.1, not 0.9.7 (Sam Roberts) #25861
  • [b5a8376ffe] - src: organize TLSWrap declarations by parent (Sam Roberts) #25861
  • [0772ce35fb] - src: remove unused TLWrap::EnableTrace() (Sam Roberts) #25861
  • [703549665e] - src: add PrintLibuvHandleInformation debug helper (Anna Henningsen) #25905
  • [2e80b912ef] - src: use visibility("default") exports on POSIX (Jeremy Apthorp) #25893
  • [e28d891788] - src: fix race condition in ~NodeTraceBuffer (Anna Henningsen) #25896
  • [bd771d90fd] - src: remove unimplemented method in node_http2.h (gengjiawen) #25732
  • [00f8e86702] - src: use nullptr in node_buffer.cc (gengjiawen) #25820
  • [84358b5010] - src: handle errors while printing error objects (Anna Henningsen) #25834
  • [f027290542] - src: use struct as arguments to node::Assert (Anna Henningsen) #25869
  • [8a8c17880e] - src: remove unused AsyncResource constructor in node.h (gengjiawen) #25793
  • [7556994d83] - src: remove unused method in js_stream.h (gengjiawen) #25790
  • [882902c672] - src: pass along errors from PromiseWrap instantiation (Anna Henningsen) #25837
  • [998cea567f] - src: workaround MSVC compiler bug (Refael Ackermann) #25596
  • [b779c072d0] - src: make StreamPipe::Unpipe() more resilient (Anna Henningsen) #25716
  • [0b014d5299] - src: make deleted functions public in node.h (gengjiawen) #25764
  • [be499c3c7b] - src: simplify SlicedArguments (Anna Henningsen) #25745
  • [35454e0008] - src: fix indentation in a few node_http2 enums (Daniel Bevenius) #25761
  • [3f080d12f4] - src: add debug check for inspector uv_async_t (Anna Henningsen) #25777
  • [0949039d26] - src: add handle scope to OnFatalError() (Anna Henningsen) #25775
  • [d9c2690705] - src: turn ROUND_UP into an inline function (Anna Henningsen) #25743
  • [3cd134cec4] - src,lib: remove dead process.binding() code (Anna Henningsen) #25829
  • [cb86357d22] - test: replaced anonymous fn with arrow syntax (Pushkal B) #26029
  • [64cc234a84] - test: use emitter.listenerCount() in test-http-connect (Luigi Pinca) #26031
  • [6323a9fc57] - test: refactor two http client timeout tests (Luigi Pinca) #25473
  • [61330b2f84] - test: add assert test for position indicator (Rich Trott) #26024
  • [896962fd08] - test: add Worker + --prof regression test (Anna Henningsen) #26011
  • [3eb6f6130a] - test: capture stderr from child processes (Gireesh Punathil) #26007
  • [d123f944a2] - test: remove extraneous report validation argument (cjihrig) #25986
  • [de587bae8a] - test: refactor to block-scope (LakshmiSwethaG) #25532
  • [4dca3ab23d] - test: exit sequence sanity tests (Gireesh Punathil) #25085
  • [ef9139e5a0] - test: end tls gracefully, rather than destroy (Sam Roberts) #25508
  • [7e9f5ea295] - test: pin regression test for #8074 to TLS 1.2 (Sam Roberts) #25508
  • [1b9a608dca] - test: refactor test-http-agent-timeout-option (Luigi Pinca) #25886
  • [c457d007cd] - test: clarify confusion over "client" in comment (Sam Roberts) #25508
  • [1be867685c] - test: use mustCall(), not global state checks (Sam Roberts) #25508
  • [50d2c8e945] - test: use common.mustCall(), and log the events (Sam Roberts) #25508
  • [1b542e8ba0] - test: use mustCall in ephemeralkeyinfo test (Sam Roberts) #25508
  • [898cf782f8] - test: send a bad record only after connection done (Sam Roberts) #25508
  • [ace267b21c] - test: do not race connection and rejection (Sam Roberts) #25508
  • [639dc07ca0] - test: do not assume tls handshake order (Sam Roberts) #25508
  • [cc6b30f4b7] - test: do not assume server gets secure connection (Sam Roberts) #25508
  • [c17a37d95a] - test: wait for TCP connect, not TLS handshake (Sam Roberts) #25508
  • [1f8991fae6] - test: add util.isDeepStrictEqual edge case tests (Rich Trott) #25932
  • [baa10aeb75] - test: add BigInt test for isDeepStrictEqual (Rich Trott) #25932
  • [c866b52942] - test: remove obsolete code (Ruben Bridgewater) #25731
  • [ee3165d6e7] - test: relax expectations in test-icu-transcode (Yang Guo) #25866
  • [025a7c3e31] - test: do not fail SLOW tests if they are not slow (Yang Guo) #25868
  • [059d30e369] - test: add hasCrypto to worker-cleanexit-with-moduleload (Daniel Bevenius) #25811
  • [7cb943937f] - test: refactor test-http-agent-timeout-option (Luigi Pinca) #25854
  • [cdf3e84804] - test: exclude additional test for coverage (Michael Dawson) #25833
  • [704a440d52] - test: allow coverage threshold to be enforced (Benjamin Coe) #25675
  • [5bffcf6246] - test: run html/webappapis/timers WPT (Joyee Cheung) #25618
  • [579220815a] - test: pull html/webappapis/timers WPT (Joyee Cheung) #25618
  • [d683da7ffa] - test, tools: suppress addon function cast warnings (Daniel Bevenius) #25663
  • [2009f18064] - test,tracing: use close event to wait for stdio (Anna Henningsen) #25894
  • [8495a788c6] - tls: renegotiate should take care of its own state (Sam Roberts) #25997
  • [fb83f842a8] - tls: in-line comments and other cleanups (Sam Roberts) #25861
  • [4d0b56f3f7] - tls: don't shadow the tls global with a local (Sam Roberts) #25861
  • [7656d58eed] - (SEMVER-MINOR) tls: introduce client 'session' event (Sam Roberts) #25831
  • [6ca8d26020] - tools: apply more stringent lint rules for benchmark code (Rich Trott) #25944
  • [c55d662bd1] - tools: replace deprecated ESLint configuration (Rich Trott) #25877
  • [e13c1850d2] - tools: update ESLint to 5.13.0 (Rich Trott) #25877
  • [8d14870b15] - tools: update dmn in update-estlint.sh (Rich Trott) #25877
  • [988c7141d4] - tools: improve prerequisites for test-all-suites (Rich Trott) #25892
  • [f395728b32] - tools: exclude benchmark code from coverage report (Rich Trott) #25841
  • [9d2ea1802b] - tools: add test-all-suites to Makefile (Rich Trott) #25799
  • [9f1bcd44df] - tools: make test.py Python 3 compatible (Sakthipriyan Vairamani (thefourtheye)) #25767
  • [454278a701] - tools: refloat Node.js patches to cpplint.py (Refael Ackermann) #25771
  • [b9289f41af] - tools: bump cpplint.py to 3d8f6f876d (Refael Ackermann) #25771
  • [9c9aefe2a0] - worker: set stack size for worker threads (Anna Henningsen) #26049
  • [23868ba45e] - worker: keep stdio after exit (Anna Henningsen) #26017
  • [6c1e92817f] - worker: set up child Isolate inside Worker thread (Anna Henningsen) #26011
  • [1764aae193] - worker: pre-allocate thread id (Anna Henningsen) #26011
  • [f63817fd38] - worker: refactor thread id management (Anna Henningsen) #25796
  • [8db6b8a95a] - worker: move worker thread setup code into the main script (Joyee Cheung) #25667
  • [5d2e064973] - worker: no throw on property access/postMessage after termination (Christopher Jeffrey) #25871
  • [508a2e7f0f] - worker: use correct ctor for error serialization (Anna Henningsen) #25951
  • [52d4b7a928] - worker: remove undocumented .onclose property (Rich Trott) #25904
  • [e70aa30ebd] - worker: add mutex lock to MessagePort ctor (Anna Henningsen) #25911
  • [55c270253b] - worker: throw for duplicates in transfer list (Anna Henningsen) #25815
  • [c959d60242] - worker,etw: only enable ETW on the main thread (Anna Henningsen) #25907

New in Node.js 11.9.0 (Jan 31, 2019)

  • deps:
  • OpenSSL has been updated to 1.1.1a, which is API/ABI compatible with the previous OpenSSL 1.1.0j. Note that while OpenSSL 1.1.1a supports TLS1.3, Node.js still does not. #25381)
  • Commits:
  • [bc81a68f20] - build: make compress_json python3 compatible (Sakthipriyan Vairamani (thefourtheye)) #25582
  • [30949f8dba] - build: make configure.py compatible with python 3 (Sakthipriyan Vairamani (thefourtheye)) #25580
  • [d4ec110c65] - (SEMVER-MINOR) deps: update archs files for OpenSSL-1.1.1a (Sam Roberts) #25381
  • [5225214d07] - (SEMVER-MINOR) deps: fix for non GNU assembler in AIX (Shigeki Ohtsu) #25381
  • [ad04d7bea1] - (SEMVER-MINOR) deps: add only avx2 configs for OpenSSL-1.1.1 (Shigeki Ohtsu) #25381
  • [670f10053a] - (SEMVER-MINOR) deps: add s390 asm rules for OpenSSL-1.1.1 (Shigeki Ohtsu) #25381
  • [0a0f15f768] - (SEMVER-MINOR) deps: fix MacOS and Win build for OpenSSL-1.1.1 (Shigeki Ohtsu) #25381
  • [e2043999bd] - (SEMVER-MINOR) deps: fix gyp/gypi for openssl-1.1.1 (Shigeki Ohtsu) #25381
  • [c581b9a253] - (SEMVER-MINOR) deps: upgrade openssl sources to 1.1.1a (Sam Roberts) #25381
  • [c82f2445e5] - dns: use IDNA 2008 to encode non-ascii hostnames (Ben Noordhuis) #25679
  • [c56ddc7736] - doc: document uniqueness of worker.threadId (Anna Henningsen) #25644
  • [7c8d57d4a9] - doc: revise breaking changes material in COLLABORATOR_GUIDE (Rich Trott) #25730
  • [edc9ceb16e] - doc: fix issue with worker_threads docs (Lee Byron) #25712
  • [1d6e18b128] - doc: fix http.Agent timeout option description (Luigi Pinca) #25489
  • [5d5c528120] - (SEMVER-MINOR) doc: fix assembler requirement for OpenSSL-1.1.1 (Shigeki Ohtsu) #25381
  • [34bc69d376] - doc: fix file extension on ESM file example (Eric Whitebloom) #25692
  • [b218b1204a] - doc: remove outdated s_client information in tls.md (Rich Trott) #25678
  • [1aa7f4d72d] - doc: fix metadata for v11.8.0 doc changes (Richard Lau) #25709
  • [3c5a7a2f97] - doc: fix keyObject.symmetricSize to be keyObject.symmetricKeySize (Filip Skokan) #25670
  • [e47511943b] - doc: add metadata to report docs (Richard Lau) #25708
  • [237ec396d0] - doc: fix 11.8.0 changelog (Myles Borins) #25705
  • [48149cfa3a] - doc: clarify what dns.setResolvers() affects (Sam Roberts) #25570
  • [3488f0df3b] - doc: link nextTick docs to the nextTick guide (Sam Roberts) #25619
  • [c93e5e1f65] - doc: simplify process.binding() deprecation message (Rich Trott) #25654
  • [0640b09243] - lib: refactor policy code for readability (Anna Henningsen) #25629
  • [634cf131f4] - module: do not use process.exit() (Anna Henningsen) #25769
  • [143274af38] - module: silence ModuleJob unhandled rejection warnings (Anna Henningsen) #25769
  • [fc38b20c7c] - perf_hooks: clean up GC listeners (Anna Henningsen) #25647
  • [f3179f7701] - policy: ensure workers do not read fs for policy (Bradley Farias) #25710
  • [ee61ab6894] - repl: improve doc for disabling REPL history on Windows (Samuel D. Leslie) #25672
  • [ce28caf517] - report: represent numbers as numbers (Anna Henningsen) #25651
  • [1dfdbc6cf7] - report: refactor JSON writer (Anna Henningsen) #25651
  • [14bce1ea5a] - report: do not use uv_default_loop() as fallback (Anna Henningsen) #25652
  • [152d633366] - src: remove unused env_ field from env.h (Daniel Bevenius) #25784
  • [c0951062b9] - src: pass along errors from i18n converter instantiation (Anna Henningsen) #25734
  • [deebf10bd5] - src: pass along errors from vm data wrapper creation (Anna Henningsen) #25734
  • [8ee4810029] - src: pass along errors from KeyObject instantiation (Anna Henningsen) #25734
  • [ced4e71504] - src: pass along errors from perf obj instantiation (Anna Henningsen) #25734
  • [5add2b56ac] - src: pass along errors from process obj instantiation (Anna Henningsen) #25734
  • [2928672679] - src: pass along errors from stream obj instantiation (Anna Henningsen) #25734
  • [ebcdbebcee] - src: remove unused field in node_http2.h (gengjiawen) #25727
  • [6d9af41aef] - src: in-source comments and minor TLS cleanups (Sam Roberts) #25713
  • [09a10858f7] - src: remove unnecessary call to SSL_get_mode (Sam Roberts) #25711
  • [86e79a521d] - src: remove unused and unimplemented method in env.h (gengjiawen) #25699
  • [021d1975ff] - src: fix macro duplicate declaration in env.h (gengjiawen) #25703
  • [845bcfa1ce] - src: simplify inspector initialization in node::Start() (Joyee Cheung) #25612
  • [797111a69b] - src: avoid race condition in tracing code (Anna Henningsen) #25624
  • [b113332daf] - src: ensure no more platform foreground tasks after Deinit (Clemens Hammacher) #25653
  • [7cc51531a7] - src: remove has_experimental_policy option (Anna Henningsen) #25628
  • [4b43eeaf9a] - src,test: fix JSON escaping in node-report (Denys Otrishko) #25626
  • [af9592d6b1] - test: refactor test/common/report.js (cjihrig) #25754
  • [e2ee031060] - test: move client renegotiation tests to parallel (Rich Trott) #25757
  • [b174dd7280] - test: use fipsMode in test-crypto-fips (Daniel Bevenius) #25563
  • [fa2a857e6a] - test: refactor test-http-client-timeout-option-with-agent (Rich Trott) #25752
  • [15f6b8e25d] - test: add test for worker.terminate() + timeout fns (Anna Henningsen) #25735
  • [c2136348a1] - test: move heapdump tests to pummel (Rich Trott) #25181
  • [ae19f944f8] - test: exit sequence sanity tests (Gireesh Punathil) #25083
  • [af6e439ad8] - test: enable marking of failing coverage tests (Michael Dawson) #25671
  • [6203d05a3c] - test: fix zlib-brotli output assumptions (Adam Majer) #25697
  • [77274d07d2] - test: rewrite fs {f}utimes test file (Jeremiah Senkpiel) #25656
  • [29002ceb4e] - (SEMVER-MINOR) test: assert on client and server side seperately (Sam Roberts) #25381
  • [c7dbb72530] - test: remove pummel/test-exec (Rich Trott) #25722
  • [4b2a1eadbd] - test: replace s_client in test-https-ci-reneg-attack (Rich Trott) #25720
  • [7d682234a6] - test: remove unused uncaughtException handler (Anna Henningsen) #25641
  • [271126ad3b] - test: remove s_client from test-tls-ci-reneg-attack (Rich Trott) #25700
  • [190c063ecb] - test: replace Google servers with localhost (Rich Trott) #25694
  • [f33d705033] - test: fix sequential/test-performance delay (Anatoli Papirovski) #25695
  • [1905f8ef55] - test: remove common.isOSXMojave (Rich Trott) #25658
  • [9f1b5c6193] - test: remove known_issues/test-cluster-bind-privileged-port (Rich Trott) #25649
  • [d0705bd24b] - timers: truncate decimal values (Jeremiah Senkpiel) #24819
  • [d5b2135dde] - tls: fix malloc mismatch in SSL_set_tlsext_status_ocsp_resp call (David Benjamin) #25706
  • [6e80f6d9a1] - (SEMVER-MINOR) tls: workaround handshakedone in renegotiation (Shigeki Ohtsu) #25381
  • [c34c5694eb] - (SEMVER-MINOR) tls: make ossl 1.1.1 cipher list throw error (Sam Roberts) #25381
  • [8032969c69] - tools: make trailing commas consistent in .eslintrc (Rich Trott) #25739
  • [7ba66505e3] - tools: make test.py Queue part Python 3 compatible (gengjiawen) #25701
  • [e6ad7f4c9c] - tools: make mkssldef.py Python 3 compatible (Sakthipriyan Vairamani (thefourtheye)) #25584
  • [bc81fef988] - vm: mark scripts as shareable cross-origin (Jeremy Apthorp) #25380
  • [fb69b2bf14] - worker: export workerData to ESM workers (Anna Henningsen) #25768

New in Node.js 11.7.0 (Jan 21, 2019)

  • ompression / zlib:
  • Added brotli support (Anna Henningsen and Zach Vacura) #24938
  • console:
  • Added inspectOptions option (Ruben Bridgewater) #24978
  • crypto:
  • Always accept private keys as public keys (Tobias Nießen) #25217
  • deps:
  • Upgrade npm to v6.5.0 (Jordan Harband) #25234
  • fs:
  • Use internalBinding('fs') internally instead of process.binding('fs') (Masashi Hirano) #22478
  • http(s):
  • Support overriding https.globalAgent (Roy Sommer) #25170
  • util:
  • Inspect ArrayBuffers contents closely (Ruben Bridgewater) #25006
  • worker:
  • Expose workers by default and remove --experimental-worker flag (Anna Henningsen) #25361

New in Node.js 11.1.0 (Nov 8, 2018)

  • deps:
  • Updated ICU to 63.1. #23715
  • repl:
  • Top-level for-await-of is now supported in the REPL. #23841
  • timers:
  • Fixed an issue that could cause timers to enter an infinite loop. #23870

New in Node.js 11.0.0 (Oct 24, 2018)

  • Build
  • FreeBSD 10 is no longer supported. #22617
  • child_process
  • The default value of the windowsHide option has been changed to true. #21316
  • console
  • console.countReset() will emit a warning if the timer being reset does not exist. #21649
  • console.time() will no longer reset a timer if it already exists. #20442
  • Dependencies
  • V8 has been updated to 7.0. #22754
  • The fs.read() method now requires a callback. #22146
  • The previously deprecated fs.SyncWriteStream utility has been removed.#20735
  • http
  • The http, https, and tls modules now use the WHATWG URL parser by default. #20270
  • General
  • Use of process.binding() has been deprecated. Userland code using process.binding() should re-evaluate that use and begin migrating. If there are no supported API alternatives, please open an issue in the Node.js GitHub repository so that a suitable alternative may be discussed.
  • An experimental implementation of queueMicrotask() has been added. #22951
  • Internal
  • Windows performance-counter support has been removed. #22485
  • The --expose-http2 command-line option has been removed. #20887
  • Timers
  • Interval timers will be rescheduled even if previous interval threw an error. #20002
  • nextTick queue will be run after each immediate and timer. #22842
  • util
  • The WHATWG TextEncoder and TextDecoder are now globals. #22281
  • util.inspect() output size is limited to 128 MB by default. #22756
  • A runtime warning will be emitted when NODE_DEBUG is set for either http or http2. #21914

New in Node.js 10.12.0 (Oct 15, 2018)

  • assert
  • The diff output is now a tiny bit improved by sorting object properties when inspecting the values that are compared with each other. #22788
  • cli
  • The options parser now normalizes _ to - in all multi-word command-line flags, e.g. --no_warnings has the same effect as --no-warnings. #23020
  • Added bash completion for the node binary. To generate a bash completion script, run node --completion-bash. The output can be saved to a file which can be sourced to enable completion. #20713
  • crypto
  • Added support for PEM-level encryption. #23151
  • Added an API asymmetric key pair generation. The new methods crypto.generateKeyPair and crypto.generateKeyPairSync can be used to generate public and private key pairs. The API supports RSA, DSA and EC and a variety of key encodings (both PEM and DER). #22660
  • Added a recursive option to fs.mkdir and fs.mkdirSync. If this option is set to true, non-existing parent folders will be automatically created. #21875
  • http2
  • Added a 'ping' event to Http2Session that is emitted whenever a non-ack PING is received. #23009
  • Added support for the ORIGIN frame. #22956
  • Updated nghttp2 to 1.34.0. This adds RFC 8441 extended connect protocol support to allow use of WebSockets over HTTP/2. #23284
  • module
  • Added module.createRequireFromPath(filename). This new method can be used to create a custom require function that will resolve modules relative to the filename path. #19360
  • process
  • Added a 'multipleResolves' process event that is emitted whenever a Promise is attempted to be resolved multiple times, e.g. if the resolve and reject functions are both called in a Promise executor. #22218
  • url
  • Added url.fileURLToPath(url) and url.pathToFileURL(path). These methods can be used to correctly convert between file: URLs and absolute paths. #22506
  • util
  • Added the sorted option to util.inspect(). If set to true, all properties of an object and Set and Map entries will be sorted in the returned string. If set to a function, it is used as a compare function. #22788
  • The util.inspect.custom symbol is now defined in the global symbol registry as Symbol.for('nodejs.util.inspect.custom'). #20857
  • Added support for BigInt numbers in util.format(). #22097
  • V8 API
  • A number of V8 C++ APIs have been marked as deprecated since they have been removed in the upstream repository. Replacement APIs are added where necessary. #23159
  • Windows
  • The Windows msi installer now provides an option to automatically install the tools required to build native modules. #22645
  • Workers
  • Debugging support for Workers using the DevTools protocol has been implemented. #21364
  • The public inspector module is now enabled in Workers. #22769
  • Added new collaborators:
  • digitalinfinity - Hitesh Kanwathirtha

New in Node.js 10.7.0 (Jul 19, 2018)

  • console:
  • The console.timeLog() method has been implemented. #21312
  • deps:
  • Upgrade to libuv 1.22.0. #21731
  • Upgrade to ICU 62.1 (Unicode 11, CLDR 33.1). #21728
  • http:
  • Added support for passing both timeout and agent options to http.request. #21204
  • inspector:
  • Expose the original console API in require('inspector').console. #21659
  • napi:
  • Added experimental support for functions dealing with bigint numbers. #21226
  • process:
  • The process.hrtime.bigint() method has been implemented. #21256
  • Added the --title command line argument to set the process title on startup. #21477
  • trace_events:
  • Added process_name metadata. #21477
  • Added new collaborators
  • codebytere - Shelley Vohr

New in Node.js 10.6.0 (Jul 17, 2018)

  • dns:
  • An experimental promisified version of the dns module is now available. Give it a try with require('dns').promises. #21264
  • fs:
  • fs.lchown has been undeprecated now that libuv supports it. #21498
  • lib:
  • Atomics.wake is being renamed to Atomics.notify in the ECMAScript specification (reference). Since Node.js now has experimental support for worker threads, we are being proactive and added a notify alias, while emitting a warning if wake is used. #21413 #21518
  • n-api:
  • Add API for asynchronous functions. #17887
  • util:
  • util.inspect is now able to return a result instead of throwing when the maximum call stack size is exceeded during inspection. #20725
  • vm:
  • Add script.createCachedData(). This API replaces the produceCachedData option of the Script constructor that is now deprecated. #20300
  • worker:
  • Support for relative paths has been added to the Worker constructor. Paths are interpreted relative to the current working directory. #21407

New in Node.js 10.0.0 (Apr 26, 2018)

  • Full support for N-API
  • Easy getting started with Time-Travel Debugging via a new Visual Studio Code Extension
  • TTD support for generators and async functions
  • Support for Inspector protocol
  • Increased stability and other assorted improvements

New in Node.js 9.3.0 (Dec 27, 2017)

  • async_hooks:
  • add trace events to async_hooks (Andreas Madsen) #15538
  • add provider types for net server (Andreas Madsen) #17157
  • console:
  • console.debug can now be used outside of the inspector (Benjamin Zaslavsky) #17033
  • deps:
  • upgrade libuv to 1.18.0 (cjihrig) #17282
  • patch V8 to 6.2.414.46 (Myles Borins) #17206
  • module:
  • module.builtinModules will return a list of built in modules (Jon Moss) #16386
  • n-api:
  • add helper for addons to get the event loop (Anna Henningsen) #17109
  • process:
  • process.setUncaughtExceptionCaptureCallback can now be used to customize behavior for --abort-on-uncaught-exception (Anna Henningsen) #17159
  • A signal handler is now able to receive the signal code that triggered the handler. (Robert Rossmann) #15606
  • src:
  • embedders can now use Node::CreatePlatform to create an instance of NodePlatform (Cheng Zhao) #16981
  • stream:
  • writable.writableHighWaterMark and readable.readableHighWaterMark will return the values the stream object was instantiated with (Calvin Metcalf) #12860
  • Added new collaborators
  • maclover7 Jon Moss
  • guybedford Guy Bedford
  • hashseed Yang Guo

New in Node.js 9.2.0 (Nov 21, 2017)

  • crypto:
  • Support building with both 1.1.0 and 1.0.2 (David Benjamin) #16130
  • fs:
  • fs.realpathSync.native and fs.realpath.native are now exposed (Ben Noordhuis) #15776
  • process:
  • expose process.ppid (cjihrig) #16839

New in Node.js 8.8.1 (Oct 29, 2017)

  • net:
  • Fix timeout with null handle issue. This is a regression in Node 8.8.0 #16489
  • Commits
  • [db8c92fb42] - doc: fix spelling in v8.8.0 changelog (Myles Borins) #16477
  • [c8396b8370] - doc: remove loader hooks from unsupported features (Teppei Sato) #16465
  • [2b0bb57055] - doc: fix wrong URL (Jon Moss) #16470
  • [9ffc32974e] - doc: fix typo in changelog for 8.8.0 (Alec Perkins) #16462
  • [7facaa5031] - doc: fix missing newline character (Daijiro Wachi) #16447
  • [16eb7d3a5f] - doc: fix doc styles (Daijiro Wachi) #16385
  • [99fdc1d04f] - doc: add recommendations for first timers (Refael Ackermann) #16350
  • [6fbef7f350] - doc: fix typo in zlib.md (Luigi Pinca) #16480
  • [655e017e40] - net: fix timeout with null handle (Anatoli Papirovski) #16489
  • [7fad10cc7e] - test: make test-v8-serdes work without stdin (Anna Henningsen)
  • [12dc06e3e1] - test: call toLowerCase on the resolved module (Daniel Bevenius) #16486
  • [10894c3835] - test: allow for different nsswitch.conf settings (Daniel Bevenius) #16378
  • [2a53165aa0] - test: add missing assertion (cjihrig) #15519

New in Node.js 8.8.0 (Oct 25, 2017)

  • crypto:
  • expose ECDH class
  • http2:
  • http2 is now exposed by default without the need for a flag
  • a new environment variable NODE_NO_HTTP2 has been added to allow userland http2 to be required
  • support has been added for generic Duplex streams
  • module:
  • resolve and instantiate loader pipeline hooks have been added to the ESM lifecycle
  • zlib:
  • CVE-2017-14919 - In zlib v1.2.9, a change was made that causes an error to be raised when a raw deflate stream is initialized with windowBits set to 8. On some versions this crashes Node and you cannot recover from it, while on some versions it throws an exception. Node.js will now gracefully set windowBits to 9 replicating the legacy behavior to avoid a DOS vector. nodejs-private/node-private#95

New in Node.js 8.5.0 (Sep 18, 2017)

  • build:
  • Snapshots are now re-enabled in V8 #14875
  • console:
  • Implement minimal console.group(). #14910
  • deps:
  • upgrade libuv to 1.14.1 #14866
  • update nghttp2 to v1.25.0 #14955
  • dns:
  • Add verbatim option to dns.lookup(). When true, results from the DNS resolver are passed on as-is, without the reshuffling that Node.js otherwise does that puts IPv4 addresses before IPv6 addresses. #14731
  • fs:
  • add fs.copyFile and fs.copyFileSync which allows for more efficient copying of files. #15034
  • inspector:
  • Enable async stack traces #13870
  • module:
  • Add support for ESM. This is currently behind the --experimental-modules flag and requires the .mjs extension. node --experimental-modules index.mjs #14369
  • napi:
  • implement promise #14365
  • os:
  • Add support for CIDR notation to the output of the networkInterfaces() method. #14307
  • perf_hooks:
  • An initial implementation of the Performance Timing API for Node.js. This is the same Performance Timing API implemented by modern browsers with a number of Node.js specific properties. The User Timing mark() and measure() APIs are implemented. #14680
  • tls:
  • multiple PFX in createSecureContext #14793
  • Added new collaborators:
  • BridgeAR – Ruben Bridgewater

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

  • HTTP2:
  • Experimental support for the built-in http2 has been added via the --expose-http2 flag. #14239
  • Inspector:
  • require() is available in the inspector console now. #8837
  • Multiple contexts, as created by the vm module, are supported now. #14465
  • N-API:
  • New APIs for creating number values have been introduced. #14573
  • Stream:
  • For Duplex streams, the high water mark option can now be set independently for the readable and the writable side. #14636
  • Util:
  • util.format now supports the %o and %O specifiers for printing objects. #14558

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

  • The V8 engine has been upgraded to version 6.0, which has a significantly changed performance profile.
  • Other notable changes:
  • DNS:
  • Independent DNS resolver instances are supported now, with support for cancelling the corresponding requests.
  • N-API:
  • Multiple N-API functions for error handling have been changed to support assigning error codes.
  • REPL:
  • Autocompletion support for require() has been improved.
  • Utilities:
  • The WHATWG Encoding Standard (TextDecoder and TextEncoder) has been implemented as an experimental feature.

New in Node.js 8.2.1 (Jul 25, 2017)

  • http: Writes no longer abort if the Socket is missing.
  • process, async_hooks: Avoid problems when triggerAsyncId is undefined.
  • zlib: Streams no longer attempt to process data when destroyed.

New in Node.js 8.1.3 (Jun 30, 2017)

  • Stream Two regressions with the stream module have been fixed:
  • The finish event will now always be emitted after the error event if one is emitted: [0a9e96e86c] #13850
  • In object mode, readable streams can now use undefined again. [5840138e70] #13760

New in Node.js 8.1.2 (Jun 17, 2017)

  • Fix broken process.release properties in 8.1.1 causing failure to compile native add-ons on platforms other than Windows. This is a fix in the Node.js build process so there are no additional code commits included on top of 8.1.1.

New in Node.js 8.0.0 (Jun 12, 2017)

  • Async Hooks:
  • The async_hooks module has landed in core [4a7233c178] #12892.
  • Buffer:
  • Using the --pending-deprecation flag will cause Node.js to emit a deprecation warning when using new Buffer(num) or Buffer(num). [d2d32ea5a2] #11968.
  • new Buffer(num) and Buffer(num) will zero-fill new Buffer instances [7eb1b4658e] #12141.
  • Many Buffer methods now accept Uint8Array as input [beca3244e2] #10236.
  • Child Process:
  • Argument and kill signal validations have been improved [97a77288ce] #12348, [d75fdd96aa] #10423.
  • Child Process methods accept Uint8Array as input [627ecee9ed] #10653.
  • Console:
  • Error events emitted when using console methods are now supressed. [f18e08d820] #9744.
  • Dependencies:
  • The npm client has been updated to 5.0.0 [c58cea5] #13276.
  • V8 has been updated to 5.8 with forward ABI stability to 6.0 [60d1aac8d2] #12784.
  • Domains:
  • Native Promise instances are now Domain aware [84dabe8373] #12489.
  • Errors:
  • We have started assigning static error codes to errors generated by Node.js. This has been done through multiple commits and is still a work in progress.
  • File System:
  • The utility class fs.SyncWriteStream has been deprecated [7a55e34ef4] #10467.
  • The deprecated fs.read() string interface has been removed [3c2a9361ff] #9683.
  • HTTP:
  • Improved support for userland implemented Agents [90403dd1d0] #11567.
  • Outgoing Cookie headers are concatenated into a single string [d3480776c7] #11259.
  • The httpResponse.writeHeader() method has been deprecated [fb71ba4921] #11355.
  • New methods for accessing HTTP headers have been added to OutgoingMessage [3e6f1032a4] #10805.
  • Lib:
  • All deprecation messages have been assigned static identifiers [5de3cf099c] #10116.
  • The legacy linkedlist module has been removed [84a23391f6] #12113.
  • N-API:
  • Experimental support for the new N-API API has been added [56e881d0b0] #11975.
  • Process:
  • Process warning output can be redirected to a file using the --redirect-warnings command-line argument [03e89b3ff2] #10116.
  • Process warnings may now include additional detail [dd20e68b0f] #12725.
  • REPL:
  • REPL magic mode has been deprecated [3f27f02da0] #11599.
  • Src:
  • NODE_MODULE_VERSION has been updated to 57 [ec7cbaf266] #12995.
  • Add --pending-deprecation command-line argument and NODE_PENDING_DEPRECATION environment variable [a16b570f8c] #11968.
  • The --debug command-line argument has been deprecated. Note that using --debug will enable the new Inspector-based debug protocol as the legacy Debugger protocol previously used by Node.js has been removed. [010f864426] #12949.
  • Throw when the -c and -e command-line arguments are used at the same time [a5f91ab230] #11689.
  • Throw when the --use-bundled-ca and --use-openssl-ca command-line arguments are used at the same time. [8a7db9d4b5] #12087.
  • Stream:
  • Stream now supports destroy() and _destroy() APIs [b6e1d22fa6] #12925.
  • Stream now supports the _final() API [07c7f198db] #12828.
  • TLS:
  • The rejectUnauthorized option now defaults to true [348cc80a3c] #5923.
  • The tls.createSecurePair() API now emits a runtime deprecation [a2ae08999b] #11349.
  • A runtime deprecation will now be emitted when dhparam is less than 2048 bits [d523eb9c40] #11447.
  • URL:
  • The WHATWG URL implementation is now a fully-supported Node.js API [d080ead0f9] #12710.
  • Util:
  • Symbol keys are now displayed by default when using util.inspect() [5bfd13b81e] #9726.
  • toJSON errors will be thrown when formatting %j [455e6f1dd8] #11708.
  • Convert inspect.styles and inspect.colors to prototype-less objects [aab0d202f8] #11624.
  • The new util.promisify() API has been added [99da8e8e02] #12442.
  • Zlib:
  • Support Uint8Array in Zlib convenience methods [91383e47fd] #12001.
  • Zlib errors now use RangeError and TypeError consistently [b514bd231e] #11391.

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

  • [c8e34b61f6] - build: add missing src/tracing header files (Daniel Bevenius) #10851
  • [96f55f9e59] - src: move trace_event.h include to internal header (Ben Noordhuis) #10959
  • [30c80cbe6f] - src: fix TracingController cleanup (Jason Ginchereau) #10623
  • [b89b2a7d36] - src: always initialize tracing controller in agent (Matt Loring) #10507
  • [54e55e05ca] - test: make test-intl-no-icu-data more robust (Michaël Zasso) #10992
  • [7b253eb3ed] - test: increase strictness for test-trace-event (Rich Trott) #11065
  • [3dc4a5f1f4] - tracing: fix -Wunused-private-field warning (Santiago Gimeno) #10416
  • [8a918bf411] - tracing: fix -Wreorder warning (Santiago Gimeno) #10416

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

  • buffer:
  • Improve performance of Buffer allocation by ~11%. (Brian White) #10443
  • Improve performance of Buffer.from() by ~50%. (Brian White) #10443
  • events: Improve performance of EventEmitter.once() by ~27%. (Brian White) #10445
  • fs: Allow passing Uint8Array to fs methods where Buffers are supported. (Anna Henningsen) #10382
  • http: Improve performance of http server by ~7%. (Brian White) #6533
  • npm: Upgrade to v4.0.5 (Kat Marchán) #10330

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

  • buffer:
  • Reverted the runtime deprecation of calling Buffer() without new. (Anna Henningsen) #9529
  • Fixed buffer.transcode() for single-byte character encodings to UCS2. (Anna Henningsen) #9838
  • promise: --trace-warnings now produces useful stacktraces for Promise warnings. (Anna Henningsen) #9525
  • repl: Fixed a bug preventing correct parsing of generator functions. (Teddy Katz) #9852
  • V8: Fixed a significant instanceof performance regression. (Franziska Hinkelmann) #9730

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

  • crypto: The Decipher methods setAuthTag() and setAAD now return this.
  • dns: Implemented {ttl: true} for resolve4() and resolve6().
  • libuv: Upgrade to v1.10.1
  • Fixed a potential buffer overflow when writing data to console on Windows 10. (CVE-2016-9551)
  • process: Added a new external property to the data returned by memoryUsage().
  • tls: Fixed a memory leak when writes were queued on TLS connection that was destroyed during handshake.
  • V8 (dep): Upgrade to v5.4.500.43
  • v8: The data returned by getHeapStatistics() now includes three new fields: malloced_memory, peak_malloced_memory, and does_zap_garbage.

New in Node.js 6.4.0 (Aug 16, 2016)

  • build: zlib symbols and additional OpenSSL symbols are now exposed on Windows platforms. (Alex Hultman) #7983 and #7576
  • child_process, cluster: Forked child processes and cluster workers now support stdio configuration. (Colin Ihrig) #7811 and #7838
  • child_process: argv[0] can now be set to arbitrary values in spawned processes. (Pat Pannuto) #7696
  • fs: fs.ReadStream now exposes the number of bytes it has read so far. (Linus Unnebäck) #7942
  • repl: The REPL now supports editor mode. (Prince J Wesley) #7275
  • util: inspect() can now be configured globally using util.inspect.defaultOptions. (Roman Reiss) #8013

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

  • buffer: Added buffer.swap64() to complement swap16() & swap32(). (Zach Bjornson) #7157
  • build: New configure options have been added for building Node.js as a shared library. (Stefan Budeanu) #6994
  • The options are: --shared, --without-v8-platform & --without-bundled-v8.
  • crypto: Root certificates have been updated. (Ben Noordhuis) #7363
  • debugger: The server address is now configurable via --debug=:. (Ben Noordhuis) #3316
  • npm: Upgraded npm to v3.10.3 (Kat Marchán) #7515 & (Rebecca Turner) #7410
  • readline: Added the prompt option to the readline constructor. (Evan Lucas) #7125
  • repl / vm: sigint/ctrl+c will now break out of infinite loops without stopping the Node.js instance. (Anna Henningsen) #6635
  • src:
  • Added a node::FreeEnvironment public C++ API. (Cheng Zhao) #3098
  • Refactored require('constants'), constants are now available directly from their respective modules. (James M Snell) #6534
  • stream: Improved readable.read() performance by up to 70%. (Brian White) #7077
  • timers: setImmediate() is now up to 150% faster in some situations. (Andras) #6436
  • util: Added a breakLength option to util.inspect() to control how objects are formatted across lines. (cjihrig) #7499
  • v8-inspector: Experimental support has been added for debugging Node.js over the inspector protocol. (Ali Ijaz Sheikh) #6792
  • Note: This feature is experimental, and it could be altered or removed.
  • You can try this feature by running Node.js with the --inspect flag.

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

  • Buffer:
  • New Buffer constructors have been added #4682 and #5833.
  • Existing Buffer() and SlowBuffer() constructors have been deprecated in docs #4682 and #5833.
  • Previously deprecated Buffer APIs are removed #5048, #4594.
  • Improved error handling #4514.
  • The Buffer.prototype.lastIndexOf() method has been added #4846.
  • Cluster:
  • Worker emitted as first argument in 'message' event #5361.
  • The worker.exitedAfterDisconnect property replaces worker.suicide #3743.
  • Console:
  • Calling console.timeEnd() with an unknown label now emits a process warning rather than throwing #5901.
  • Crypto:
  • Improved error handling #3100, #5611.
  • Simplified Certificate class bindings #5382.
  • Improved control over FIPS mode #5181.
  • pbkdf2 digest overloading is deprecated #4047.
  • Dependencies:
  • Reintroduce shared c-ares build support #5775.
  • V8 updated to 5.0.71.35 #6372.
  • DNS:
  • Add dns.resolvePtr() API to query plain DNS PTR records #4921.
  • Domains:
  • Clear stack when no error handler #4659.
  • Events:
  • The EventEmitter.prototype._events object no longer inherits from Object.prototype #6092.
  • The EventEmitter.prototype.prependListener() and EventEmitter.prototype.prependOnceListener() methods have been added #6032.
  • File System:
  • The fs.realpath() and fs.realpathSync() methods have been updated to use a more efficient libuv-based implementation. This change includes the removal of the cache argument and the method can throw new errors #3594.
  • FS apis can now accept and return paths as Buffers #5616.
  • Error handling and type checking improvements #5616, #5590, #4518, #3917.
  • fs.read's string interface is deprecated #4525.
  • HTTP:
  • 'clientError' can now be used to return custom errors from an HTTP server #4557.
  • Modules:
  • Current directory is now prioritized for local lookups #5689.
  • Symbolic links are preserved when requiring modules #5950.
  • Net:
  • DNS hints no longer implicitly set #6021.
  • Improved error handling and type checking #5981, #5733, #2904.
  • OS X:
  • MACOSX_DEPLOYMENT_TARGET has been bumped up to 10.7 #6402.
  • Path:
  • Improved type checking #5348.
  • Process:
  • Introduce process warnings API #4782.
  • Throw exception when non-function passed to nextTick #3860.
  • Querystring:
  • The object returned by querystring.parse() no longer inherits from Object.prototype #6055.
  • Readline:
  • Key info is emitted unconditionally #6024.
  • History can now be explicitly disabled #6352.
  • REPL:
  • Assignment to _ will emit a warning #5535.
  • Expressions will no longer be completed when eval fails #6328.
  • Timers:
  • Fail early when callback is not a function #4362.
  • Streams:
  • null is now an invalid chunk to write in object mode #6170.
  • TLS:
  • Rename 'clientError' to 'tlsClientError' #4557.
  • SHA1 used for sessionIdContext #3866.
  • TTY:
  • Previously deprecated setRawMode wrapper is removed #2528.
  • URL:
  • Username and password will be dropped by url.resolve() if the host changes #1480.
  • Util:
  • Changes to Error object formatting #4582.
  • The util._extend() method has been deprecated #4903
  • The util.log() method has been deprecated #6161.
  • Windows:
  • Windows XP and Vista are no longer supported #5167.
  • Zlib:
  • Multiple improvements have been made to Zlib processing #5883 and #5707.

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

  • Buffer:
  • Buffer.prototype.compare can now compare sub-ranges of two Buffers. (James M Snell) #5880
  • deps:
  • update to http-parser 2.7.0 (Fedor Indutny) #6279
  • update ESLint to 2.7.0 (silverwind) #6132
  • net:
  • adds support for passing DNS lookup hints to createConnection() (Colin Ihrig) #6000
  • node:
  • Make the builtin libraries available for the --eval and --print CLI options (Anna Henningsen) #6207
  • npm:
  • upgrade npm to 3.8.6 (Kat Marchán) #6153
  • repl:
  • Pressing enter in the repl will repeat the last command by default if no input has been received. This behaviour was in node previously and was not removed intentionally. (Rich Trott) #6090
  • src:
  • add SIGINFO to supported signals (James Reggio) #6093
  • streams:
  • Fix a regression that caused by net streams requesting multiple chunks synchronously when combined with cork/uncork (Matteo Collina) #6164
  • zlib:
  • The flushing flag is now configurable allowing for decompression of partial data (Anna Henningsen) #6069

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

  • http:
  • Enclose IPv6 Host header in square brackets. This will enable proper seperation of the host adress from any port reference (Mihai Potra) #5314
  • path:
  • Make win32.isAbsolute more consistent (Brian White) #6028

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

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

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

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

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

  • contextify: Fixed a memory consumption issue related to heavy use of vm.createContext and vm.runInNewContext. (Ali Ijaz Sheikh) https://github.com/nodejs/node/pull/5392
  • governance: The following members have been added as collaborators:
  • Andreas Madsen (@AndreasMadsen)
  • Benjamin Gruenbaum (@benjamingr)
  • Claudio Rodriguez (@claudiorodriguez)
  • Glen Keane (@thekemkid)
  • Jeremy Whitlock (@whitlockjc)
  • Matt Loring (@matthewloring)
  • Phillip Johnsen (@phillipj)
  • lib: copy arguments object instead of leaking it (Nathan Woltman) https://github.com/nodejs/node/pull/4361
  • src: allow both -i and -e flags to be used at the same time (Rich Trott) https://github.com/nodejs/node/pull/5655
  • timers: Internal Node.js timeouts now use the same logic path as those created with setTimeout() (Jeremiah Senkpiel) #4007
  • This may cause a slightly different performance profile in some situations. So far, it has shown to be positive in most cases.
  • v8: backport fb4ccae from v8 upstream (Vladimir Krivosheev) #4231
  • breakout events from v8 to offer better support for external debuggers
  • zlib: add support for concatenated members (Kári Tristan Helgason) https://github.com/nodejs/node/pull/5120
  • Previously, if multiple members were in the same archive, only the first would be read. The others are no longer thrown away.

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

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

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

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

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

  • http: fix defects in HTTP header parsing for requests and responses that can allow request smuggling (CVE-2016-2086) or response splitting (CVE-2016-2216). HTTP header parsing now aligns more closely with the HTTP spec including restricting the acceptable characters.
  • http-parser: upgrade from 2.6.0 to 2.6.1
  • npm: upgrade npm from 3.3.12 to 3.6.0 (Rebecca Turner) #4958
  • openssl: upgrade from 1.0.2e to 1.0.2f. To mitigate against the Logjam attack, TLS clients now reject Diffie-Hellman handshakes with parameters shorter than 1024-bits, up from the previous limit of 768-bits.

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

  • events: make sure console functions exist
  • fs: add autoClose option to fs.createWriteStream
  • http: improves expect header handling
  • node: allow preload modules with -i
  • v8,src: expose statistics about heap spaces (v8.getHeapSpaceStatistics())
  • Minor performance improvements:
  • lib: Use arrow functions instead of bind where possible
  • module: cache stat() results more aggressively
  • querystring: improve parse() performance

New in Node.js 5.3.0 (Dec 17, 2015)

  • buffer:
  • Buffer.prototype.includes() has been added to keep parity with TypedArrays. (Alexander Martin) #3567.
  • domains:
  • Fix handling of uncaught exceptions. (Julien Gilli) #3654.
  • https:
  • Added support for disabling session caching. (Fedor Indutny) #4252.
  • repl:
  • Allow third party modules to be imported using require(). This corrects a regression from 5.2.0. (Ben Noordhuis) #4215.
  • deps:
  • Upgrade libuv to 1.8.0. (Saúl Ibarra Corretgé) #4276.

New in Node.js 5.2.0 (Dec 10, 2015)

  • build:
  • Add support for Intel's VTune JIT profiling when compiled with --enable-vtune-profiling. For more information about VTune, see https://software.intel.com/en-us/node/544211. (Chunyang Dai) #3785.
  • Properly enable V8 snapshots by default. Due to a configuration error, snapshots have been kept off by default when the intention is for the feature to be enabled. (Fedor Indutny) #3962.
  • crypto:
  • Simplify use of ECDH (Elliptic Curve Diffie-Hellman) objects (created via crypto.createECDH(curve_name)) with private keys that are not dynamically generated via generateKeys(). The public key is now computed when explicitly setting a private key. Added validity checks to reduce the possibility of computing weak or invalid shared secrets. Also, deprecated the setPublicKey() method for ECDH objects as its usage is unnecessary and can lead to inconsistent state. (Michael Ruddy) #3511.
  • Update root certificates from the current list stored maintained by Mozilla NSS. (Ben Noordhuis) #3951.
  • Multiple CA certificates can now be passed with the ca option to TLS methods as an array of strings or in a single new-line separated string. (Ben Noordhuis) #4099
  • tools: Include a tick processor in core, exposed via the --prof-process command-line argument which can be used to process V8 profiling output files generated when using the --prof command-line argument. (Matt Loring) #4021.

New in Node.js 5.1.1 (Dec 4, 2015)

  • http: Fix a bug where an HTTP socket may no longer have an associated parser but a pipelined request triggers a pause or resume, a potential denial-of-service vector. (Fedor Indutny)
  • openssl: Upgrade to 1.0.2e, containing fixes for:
  • CVE-2015-3193 "BN_mod_exp may produce incorrect results on x86_64", an attack may be feasible against a Node.js TLS server using DHE key exchange. Details are available at http://openssl.org/news/secadv/20151203.txt.
  • CVE-2015-3194 "Certificate verify crash with missing PSS parameter", a potential denial-of-service vector for Node.js TLS servers using client authentication; TLS clients are also impacted. Details are available at http://openssl.org/news/secadv/20151203.txt. (Shigeki Ohtsu) #4134
  • v8: Backport fixes for a bug in JSON.stringify() that can result in out-of-bounds reads for arrays. (Ben Noordhuis)

New in Node.js 5.0.0 (Oct 30, 2015)

  • buffer: (Breaking) Removed both 'raw' and 'raws' encoding types from Buffer, these have been deprecated for a long time (Sakthipriyan Vairamani) #2859.
  • console: (Breaking) Values reported by console.time() now have 3 decimals of accuracy added (Michaël Zasso) #3166.
  • fs:
  • fs.readFile*(), fs.writeFile*(), and fs.appendFile*() now also accept a file descriptor as their first argument (Johannes Wüller) #3163.
  • (Breaking) In fs.readFile(), if an encoding is specified and the internal toString() fails the error is no longer thrown but is passed to the callback (Evan Lucas) #3485.
  • (Breaking) In fs.read() (using the fs.read(fd, length, position, encoding, callback) form), if the internal toString() fails the error is no longer thrown but is passed to the callback (Evan Lucas) #3503.
  • http:
  • Fixed a bug where pipelined http requests would stall (Fedor Indutny) #3342.
  • (Breaking) When parsing HTTP, don't add duplicates of the following headers: Retry-After, ETag, Last-Modified, Server, Age, Expires. This is in addition to the following headers which already block duplicates: Content-Type, Content-Length, User-Agent, Referer, Host, Authorization, Proxy-Authorization, If-Modified-Since, If-Unmodified-Since, From, Location, Max-Forwards (James M Snell) #3090.
  • (Breaking) The callback argument to OutgoingMessage#setTimeout() must be a function or a TypeError is thrown (James M Snell) #3090.
  • (Breaking) HTTP methods and header names must now conform to the RFC 2616 "token" rule, a list of allowed characters that excludes control characters and a number of separator characters. Specifically, methods and header names must now match /^[a-zA-Z0-9_!#$%&'*+.^`|~-]+$/ or a TypeError will be thrown (James M Snell) #2526.
  • node:
  • (Breaking) Deprecated the _linklist module (Rich Trott) #3078.
  • (Breaking) Removed require.paths and require.registerExtension(), both had been previously set to throw Error when accessed (Sakthipriyan Vairamani) #2922.
  • npm: Upgraded to version 3.3.6 from 2.14.7, see https://github.com/npm/npm/releases/tag/v3.3.6 for more details. This is a major version bump for npm and it has seen a significant amount of change. Please see the original npm v3.0.0 release notes for a list of major changes (Rebecca Turner) #3310.
  • src: (Breaking) Bumped NODE_MODULE_VERSION to 47 from 46, this is necessary due to the V8 upgrade. Native add-ons will need to be recompiled (Rod Vagg) #3400.
  • timers: Attempt to reuse the timer handle for setTimeout().unref(). This fixes a long-standing known issue where unrefed timers would perviously hold beforeExit open (Fedor Indutny) #3407.
  • tls:
  • Added ALPN Support (Shigeki Ohtsu) #2564.
  • TLS options can now be passed in an object to createSecurePair() (Коренберг Марк) #2441.
  • (Breaking) The default minimum DH key size for tls.connect() is now 1024 bits and a warning is shown when DH key size is less than 2048 bits. This a security consideration to prevent "logjam" attacks. A new minDHSize TLS option can be used to override the default. (Shigeki Ohtsu) #1831.
  • util:
  • (Breaking) util.p() was deprecated for years, and has now been removed (Wyatt Preul) #3432.
  • (Breaking) util.inherits() can now work with ES6 classes. This is considered a breaking change because of potential subtle side-effects caused by a change from directly reassigning the prototype of the constructor using ctor.prototype = Object.create(superCtor.prototype, { constructor: { ... } }) to using Object.setPrototypeOf(ctor.prototype, superCtor.prototype) (Michaël Zasso) #3455.
  • v8: (Breaking) Upgraded to 4.6.85.25 from 4.5.103.35 (Ali Ijaz Sheikh) #3351.
  • Implements the spread operator, see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Spread_operator for further information.
  • Implements new.target, see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/new.target for further information.
  • zlib: Decompression now throws on truncated input (e.g. unexpected end of file) (Yuval Brik) #2595.

New in Node.js 4.2.1 (Oct 14, 2015)

  • Includes fixes for two regressions:
  • Assertion error in WeakCallback
  • Undefined timeout regression

New in Node.js 4.2.0 (Oct 13, 2015)

  • icu: Updated to version 56 with significant performance improvements (Steven R. Loomis) #3281
  • node:
  • Added new -c (or --check) command line argument for checking script syntax without executing the code (Dave Eddy) #2411
  • Added process.versions.icu to hold the current ICU library version (Evan Lucas) #3102
  • Added process.release.lts to hold the current LTS codename when the binary is from an active LTS release line (Rod Vagg) #3212
  • npm: Upgraded to npm 2.14.7 from 2.14.4, see release notes for full details (Kat Marchán) #3299

New in Node.js 4.1.2 (Oct 6, 2015)

  • http:
  • Fix out-of-order 'finish' event bug in pipelining that can abort execution, fixes DoS vulnerability CVE-2015-7384 (Fedor Indutny) #3128
  • Account for pending response data instead of just the data on the current request to decide whether pause the socket or not (Fedor Indutny) #3128
  • libuv: Upgraded from v1.7.4 to v1.7.5, see release notes for details (Saúl Ibarra Corretgé) #3010
  • A better rwlock implementation for all Windows versions
  • Improved AIX support
  • v8:
  • Upgraded from v4.5.103.33 to v4.5.103.35 (Ali Ijaz Sheikh) #3117
  • Backported f782159 from v8's upstream to help speed up Promise introspection (Ben Noordhuis) #3130
  • Backported c281c15 from v8's upstream to add JSTypedArray length in post-mortem metadata (Julien Gilli) #3031

New in Node.js 4.1.1 (Sep 24, 2015)

  • buffer: Fixed a bug introduced in v4.1.0 where allocating a new zero-length buffer can result in the next allocation of a TypedArray in JavaScript not being zero-filled. In certain circumstances this could result in data leakage via reuse of memory space in TypedArrays, breaking the normally safe assumption that TypedArrays should be always zero-filled. (Trevor Norris) #2931.
  • http: Guard against response-splitting of HTTP trailing headers added via response.addTrailers() by removing new-line ([\r\n]) characters from values. Note that standard header values are already stripped of new-line characters. The expected security impact is low because trailing headers are rarely used. (Ben Noordhuis) #2945.
  • npm: Upgrade to npm 2.14.4 from 2.14.3, see release notes for full details (Kat Marchán) #2958
  • Upgrades graceful-fs on multiple dependencies to no longer rely on monkey-patching fs
  • Fix npm link for pre-release / RC builds of Node
  • v8: Update post-mortem metadata to allow post-mortem debugging tools to find and inspect:
  • JavaScript objects that use dictionary properties (Julien Gilli) #2959
  • ScopeInfo and thus closures (Julien Gilli) #2974

New in Node.js 4.0.0 (Sep 16, 2015)

  • child_process: ChildProcess.prototype.send() and process.send() operate asynchronously across all platforms so an optional callback parameter has been introduced that will be invoked once the message has been sent, i.e. .send(message[, sendHandle][, callback]) (Ben Noordhuis) #2620.
  • node: Rename "io.js" code to "Node.js" (cjihrig) #2367.
  • node-gyp: This release bundles an updated version of node-gyp that works with all versions of Node.js and io.js including nightly and release candidate builds. From io.js v3 and Node.js v4 onward, it will only download a headers tarball when building addons rather than the entire source. (Rod Vagg) #2700
  • npm: Upgrade to version 2.14.2 from 2.13.3, includes a security update, see https://github.com/npm/npm/releases/tag/v2.14.2 for more details, (Kat Marchán) #2696.
  • timers: Improved timer performance from porting the 0.12 implementation, plus minor fixes (Jeremiah Senkpiel) #2540, (Julien Gilli) nodejs/node-v0.x-archive#8751 nodejs/node-v0.x-archive#8905
  • util: The util.is*() functions have been deprecated, beginning with deprecation warnings in the documentation for this release, users are encouraged to seek more robust alternatives in the npm registry, (Sakthipriyan Vairamani) #2447.
  • v8: Upgrade to version 4.5.103.30 from 4.4.63.30 (Ali Ijaz Sheikh) #2632.
  • Implement new TypedArray prototype methods: copyWithin(), every(), fill(), filter(), find(), findIndex(), forEach(), indexOf(), join(), lastIndexOf(), map(), reduce(), reduceRight(), reverse(), slice(), some(), sort(). See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray for further information.
  • Implement new TypedArray.from() and TypedArray.of() functions. See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray for further information.
  • Implement arrow functions, see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/Arrow_functions for further information.

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

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

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

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

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

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

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

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

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

  • Streams 3:
  • The Streams implementation now works the way you thought it already should, without introducing any changes to the API. Basically this means no more getting stuck in "old mode", there are only streams that are flowing or not.
  • Streams now support the use of cork and uncork mechanisms to prevent flushing writes out to the system if an application is going to be performing many writes in a row. There is an implicit uncork performed when you end a writable stream.
  • HTTP:
  • maxSockets are no longer limited to 5. The default is now set to Infinity with the developer and the operating system given control over how many simultaneous connections an application can keep open to a given host.
  • Proper KeepAlive support means that sockets will stay open until they timeout at the configured time, are closed by the remote side, or the process exits. Developer's no longer have to make sure requests have been pipelined to keep the socket open, or use an alternative module to get that support.
  • Developers can also now explicitly flushHeaders to ensure time to first byte is low and proxied connections are held open.
  • Cluster:
  • Now has two modes of operation, the new default is a round robin distribution mechanism where the master accepts new connections and distributes them to your workers. If you want you can still opt back into the old method where your workers are responsible for acception connections.
  • TLS
  • We have the new TLSWrap mechanism under the hood, this eliminates quite a few of the hops back and forth between JavaScript and our C++ implementations.
  • Added APIs for asynchronous SNI callbacks, OCSP stapling, and storage events.
  • Buffer:
  • We use a more accurate mechanism for allocating memory for buffers now, which means you'll see less overhead and impact from holding onto to small slices of Buffers. This reduces the amount of memory pressure on the system, which means GC runs are quicker, which means Node.js is on CPU less, and thus lower latency for your applications.
  • child_process:
  • spawnSync/execSync have been added to facilitate synchronous child processes, warning your node process won't make forward progress while waiting for the child to exit, caveat emptor!
  • Crypto:
  • Added APIs for loading custom engines for use with compiled in OpenSSL.
  • More APIs support supplying the pass phrases.
  • Added APIs for RSA public/private key encryption/decryption.
  • VM:
  • The module is now based on the Contextify module, which shares values from the sandbox to avoid missing changes inside the execution from appearing in the parent context.
  • Initial support for ECMAScript Internationalization API 1.0 (ECMA-402):
  • By default, Node.js v0.12.0 binaries are shipped with ECMA-402 support, but only for the English language. In other words, the ECMA-402 API is working as you would expect, but only data for the English language is included.

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

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

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

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

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

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

New in Node.js 0.10.33 (Oct 24, 2014)

  • openssl: Update to 1.0.1j (Addressing multiple CVEs)
  • uv: Update to v0.10.29
  • child_process: properly support optional args (cjihrig)
  • crypto: Disable autonegotiation for SSLv2/3 by default (Fedor Indutny, Timothy J Fontaine, Alexis Campailla)

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

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

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

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

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

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

New in Node.js 0.10.25 (Jan 25, 2014)

  • uv: Upgrade to v0.10.23
  • npm: Upgrade to v1.3.24
  • v8: Fix enumeration for objects with lots of properties
  • child_process: fix spawn() optional arguments (Sam Roberts)
  • cluster: report more errors to workers (Fedor Indutny)
  • domains: exit() only affects active domains (Ryan Graham)
  • src: OnFatalError handler must abort() (Timothy J Fontaine)
  • stream: writes may return false but forget to emit drain (Yang Tianyang)

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

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

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

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

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

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

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

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

New in Node.js 0.10.22 (Nov 13, 2013)

  • npm: Upgrade to 1.3.14
  • uv: Upgrade to v0.10.19
  • child_process: don't assert on stale file descriptor events (Fedor Indutny)
  • darwin: Fix "Not Responding" in Mavericks activity monitor (Fedor Indutny)
  • debugger: Fix bug in sb() with unnamed script (Maxim Bogushevich)
  • repl: do not insert duplicates into completions (Maciej Małecki)
  • src: Fix memory leak on closed handles (Timothy J Fontaine)
  • tls: prevent stalls by using read(0) (Fedor Indutny)
  • v8: use correct timezone information on Solaris (Maciej Małecki)

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

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

New in Node.js 0.10.21 (Oct 22, 2013)

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

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

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

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

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

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

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

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

  • Streams - Added base classes for Readable, Writable, Duplex, and Transform
  • Streaming interfaces for Crypto API
  • process: add getgroups(), setgroups(), initgroups()
  • crypto: getHashes() getCiphers()
  • http: add response.headersSent property
  • events: 'removeListener' event
  • setImmediate() and clearImmediate() functions
  • string_decoder: the decoder.end() function was added

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

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