New in Node.js 21.7.3 Current (Apr 11, 2024)
- Notable Changes:
- CVE-2024-27980 - Command injection via args parameter of child_process.spawn without shell option enabled on Windows
- Commits:
- [9095c914ed] - src: disallow direct .bat and .cmd file spawning (Ben Noordhuis) nodejs-private/node-private#562
New in Node.js 20.12.2 LTS (Apr 11, 2024)
- Notable Changes:
- CVE-2024-27980 - Command injection via args parameter of child_process.spawn without shell option enabled on Windows
- Commits:
- [69ffc6d50d] - src: disallow direct .bat and .cmd file spawning (Ben Noordhuis) nodejs-private/node-private#563
New in Node.js 21.7.2 Current (Apr 8, 2024)
- Notable changes:
- CVE-2024-27983 - Assertion failed in node::http2::Http2Session::~Http2Session() leads to HTTP/2 server crash- (High)
- CVE-2024-27982 - HTTP Request Smuggling via Content Length Obfuscation- (Medium)
- llhttp version 9.2.1
- undici version 6.11.1
- Commits:
- [3dfc10c851] - deps: update undici to 6.11.1 (Node.js GitHub Bot) #52328
- [aceea1c5e7] - deps: update undici to 6.10.2 (Node.js GitHub Bot) #52227
- [5f0f96b275] - deps: update llhttp to 9.2.0 (Node.js GitHub Bot) #51719
- [1a65e98e22] - http: do not allow OBS fold in headers by default (Paolo Insogna) nodejs-private/node-private#556
- [3bd39fb474] - src: ensure to close stream when destroying session (RafaelGSS) nodejs-private/node-private#561
New in Node.js 20.12.1 LTS (Apr 8, 2024)
- Notable Changes:
- CVE-2024-27983 - Assertion failed in node::http2::Http2Session::~Http2Session() leads to HTTP/2 server crash- (High)
- CVE-2024-27982 - HTTP Request Smuggling via Content Length Obfuscation - (Medium)
- llhttp version 9.2.1
- undici version 5.28.4
- Commits:
- [bd8f10a257] - deps: update undici to v5.28.4 (Matteo Collina) nodejs-private/node-private#576
- [5e34540a96] - http: do not allow OBS fold in headers by default (Paolo Insogna) nodejs-private/node-private#557
- [ba1ae6d188] - src: ensure to close stream when destroying session (Anna Henningsen) nodejs-private/node-private#561
New in Node.js 21.7.1 Current (Mar 10, 2024)
- Notable Changes:
- This release reverts #51389, which landed in Node.js 21.7.0. It is a documented feature that t.after() hooks are run even if a test has no subtests. The hook can be used to clean up the test itself.
- Commits:
- [0dfe810ac7] - benchmark: update iterations of benchmark/async_hooks/async-local- (Lei Shi) #51420
- [625c9e0ac9] - benchmark: update iterations of benchmark/domain/domain-fn-args.js (Lei Shi) #51408
- [7ff3551bad] - build: fix arm64 host cross-compilation in GN (Cheng Zhao) #51903
- [fd86ea8b71] - Revert "build: workaround for node-core-utils" (Richard Lau) #51975
- [23c32ab3a7] - build: respect the NODE env variable in Makefile (Antoine du Hamel) #51743
- [9617adc064] - Revert "build: fix warning in cares under GN build" (Luigi Pinca) #51865
- [5864534095] - deps: update nghttp2 to 1.60.0 (Node.js GitHub Bot) #51948
- [fcf235d623] - doc: add policy for distribution (Geoffrey Booth) #51918
- [87d2acc8b1] - doc: fix actual result of example is different in events (Deokjin Kim) #51925
- [5908c121c6] - doc: clarify Corepack threat model (Antoine du Hamel) #51917
- [20e0ba3b94] - doc,module: clarify hook chain execution sequence (Jacob Smith) #51884
- [4d997971ac] - lib: make sure close net server (theanarkh) #51929
- [fcc6d54aa3] - lib: return directly if udp socket close before lookup (theanarkh) #51914
- [10aaabd158] - meta: bump github/codeql-action from 3.23.2 to 3.24.6 (dependabot[bot]) #51942
- [78f38a0143] - meta: bump actions/upload-artifact from 4.3.0 to 4.3.1 (dependabot[bot]) #51941
- [42ca5452c4] - meta: bump codecov/codecov-action from 4.0.1 to 4.1.0 (dependabot[bot]) #51940
- [015a157375] - meta: bump actions/cache from 4.0.0 to 4.0.1 (dependabot[bot]) #51939
- [e476cb4a32] - meta: bump actions/download-artifact from 4.1.1 to 4.1.3 (dependabot[bot]) #51938
- [67e8001790] - meta: bump actions/setup-node from 4.0.1 to 4.0.2 (dependabot[bot]) #51937
- [50343636e8] - src: fix --disable-single-executable-application (Joyee Cheung) #51808
- [a48c9ca0db] - stream: do not defer construction by one microtick (Matteo Collina) #52005
- [bee3b364f9] - test: add regression test for test_runner after hook (Colin Ihrig) #51998
- [fff7f48f50] - test: reduce flakiness of test-runner-output (Antoine du Hamel) #51952
- [57ba8f5acb] - test: fix flaky http-chunk-extensions-limit test (Ethan Arrowood) #51943
- [9d2c03990a] - test: remove flaky designation (Luigi Pinca) #51736
- [e992af81d3] - test: skip SEA tests when SEA generation fails (Joyee Cheung) #51887
- [85aa6ca850] - Revert "test_runner: do not invoke after hook when test is empty" (Colin Ihrig) #51998
New in Node.js 21.7.0 Current (Mar 7, 2024)
- Text Styling:
- util.styleText(format, text): This function returns a formatted text considering the format passed.
- A new API has been created to format text based on util.inspect.colors, enabling you to style text in different colors (such as red, blue, ...) and emphasis (italic, bold, ...).
- Loading and parsing environment variables:
- process.loadEnvFile(path):
- Use this function to load the .env file. If no path is specified, it automatically loads the .env file in the current directory. Example: process.loadEnvFile().
- Load a specific .env file by specifying its path. Example: process.loadEnvFile('./development.env').
- util.parseEnv(content):
- Use this function to parse an existing string containing environment variable assignments.
- Example usage: require('node:util').parseEnv('HELLO=world').
- Support for multi-line values for .env file:
- Node.js 21.7.0 will now support multi-line values in the .env file.
- sea: support embedding assets:
- Users can now include assets by adding a key-path dictionary to the configuration as the assets field. At build time, Node.js would read the assets from the specified paths and bundle them into the preparation blob. In the generated executable, users can retrieve the assets using the sea.getAsset() and sea.getAssetAsBlob() API.
- vm: support using the default loader to handle dynamic import():
- This patch adds support for using vm.constants.USE_MAIN_CONTEXT_DEFAULT_LOADER as the importModuleDynamically option in all vm APIs that take this option except vm.SourceTextModule. This allows users to have a shortcut to support dynamic import() in the compiled code without missing the compilation cache if they don't need customization of the loading process. We emit an experimental warning when the import() is actually handled by the default loader through this option instead of requiring --experimental-vm-modules.
- crypto: implement crypto.hash():
- This patch introduces a helper crypto.hash() that computes a digest from the input at one shot. This can be 1.2-2x faster than the object-based createHash() for smaller inputs (
New in Node.js 21.6.2 Current (Feb 15, 2024)
- Notable changes:
- CVE-2024-21892 - Code injection and privilege escalation through Linux capabilities- (High)
- CVE-2024-22019 - http: Reading unprocessed HTTP request with unbounded chunk extension allows DoS attacks- (High)
- CVE-2024-21896 - Path traversal by monkey-patching Buffer internals- (High)
- CVE-2024-22017 - setuid() does not drop all privileges due to io_uring - (High)
- CVE-2023-46809 - Node.js is vulnerable to the Marvin Attack (timing variant of the Bleichenbacher attack against PKCS#1 v1.5 padding) - (Medium)
- CVE-2024-21891 - Multiple permission model bypasses due to improper path traversal sequence sanitization - (Medium)
- CVE-2024-21890 - Improper handling of wildcards in --allow-fs-read and --allow-fs-write (Medium)
- CVE-2024-22025 - Denial of Service by resource exhaustion in fetch() brotli decoding - (Medium)
- undici version 5.28.3
- libuv version 1.48.0
- OpenSSL version 3.0.13+quic1
- Commits:
- [8344719369] - crypto: disable PKCS#1 padding for privateDecrypt (Michael Dawson) nodejs-private/node-private#525
- [d093600ac4] - deps: update archs files for openssl-3.0.13+quic1 (Node.js GitHub Bot) #51614
- [6cd930e5e8] - deps: upgrade openssl sources to quictls/openssl-3.0.13+quic1 (Node.js GitHub Bot) #51614
- [9590c15d3d] - deps: upgrade libuv to 1.48.0 (Santiago Gimeno) #51698
- [666096298c] - deps: disable io_uring support in libuv by default (Tobias Nießen) nodejs-private/node-private#528
- [a4edd22e30] - fs: protect against modified Buffer internals in possiblyTransformPath (Tobias Nießen) nodejs-private/node-private#497
- [6155a1ffaf] - http: add maximum chunk extension size (Paolo Insogna) nodejs-private/node-private#518
- [777509495e] - lib: use cache fs internals against path traversal (RafaelGSS) nodejs-private/node-private#516
- [9d2ac2b3fc] - lib: update undici to v5.28.3 (Matteo Collina) nodejs-private/node-private#538
- [208b3940c7] - src: fix HasOnly(capability) in node::credentials (Tobias Nießen) nodejs-private/node-private#505
- [fc2454f29c] - src,deps: disable setuid() etc if io_uring enabled (Tobias Nießen) nodejs-private/node-private#528
- [ef3eea20be] - test,doc: clarify wildcard usage (RafaelGSS) nodejs-private/node-private#517
- [8547196964] - zlib: pause stream if outgoing buffer is full (Matteo Collina) nodejs-private/node-private#540
New in Node.js 20.11.1 LTS (Feb 15, 2024)
- Notable changes:
- CVE-2024-21892 - Code injection and privilege escalation through Linux capabilities- (High)
- CVE-2024-22019 - http: Reading unprocessed HTTP request with unbounded chunk extension allows DoS attacks- (High)
- CVE-2024-21896 - Path traversal by monkey-patching Buffer internals- (High)
- CVE-2024-22017 - setuid() does not drop all privileges due to io_uring - (High)
- CVE-2023-46809 - Node.js is vulnerable to the Marvin Attack (timing variant of the Bleichenbacher attack against PKCS#1 v1.5 padding) - (Medium)
- CVE-2024-21891 - Multiple permission model bypasses due to improper path traversal sequence sanitization - (Medium)
- CVE-2024-21890 - Improper handling of wildcards in --allow-fs-read and --allow-fs-write (Medium)
- CVE-2024-22025 - Denial of Service by resource exhaustion in fetch() brotli decoding - (Medium)
- undici version 5.28.3
- libuv version 1.48.0
- OpenSSL version 3.0.13+quic1
- Commits:
- [7079c062bb] - crypto: disable PKCS#1 padding for privateDecrypt (Michael Dawson) nodejs-private/node-private#525
- [186a6e1ffb] - deps: fix GHSA-f74f-cvh7-c6q6/CVE-2024-24806 (Santiago Gimeno) #51737
- [686da19abb] - deps: disable io_uring support in libuv by default (Tobias Nießen) nodejs-private/node-private#529
- [f7b44bfbce] - deps: update archs files for openssl-3.0.13+quic1 (Node.js GitHub Bot) #51614
- [7a30fecea2] - deps: upgrade openssl sources to quictls/openssl-3.0.13+quic1 (Node.js GitHub Bot) #51614
- [480fc169a8] - fs: protect against modified Buffer internals in possiblyTransformPath (Tobias Nießen) nodejs-private/node-private#497
- [77ac7c3153] - http: add maximum chunk extension size (Paolo Insogna) nodejs-private/node-private#519
- [ed7d149675] - lib: use cache fs internals against path traversal (RafaelGSS) nodejs-private/node-private#516
- [89bd5fc38f] - lib: update undici to v5.28.3 (Matteo Collina) nodejs-private/node-private#539
- [d01dd4291d] - permission: fix wildcard when children > 1 (Rafael Gonzaga) #51209
- [40ff37dfcc] - src: fix HasOnly(capability) in node::credentials (Tobias Nießen) nodejs-private/node-private#505
- [3f6addd590] - src,deps: disable setuid() etc if io_uring enabled (Tobias Nießen) nodejs-private/node-private#529
- [d6da413aa4] - test,doc: clarify wildcard usage (RafaelGSS) nodejs-private/node-private#517
- [c213910aea] - zlib: pause stream if outgoing buffer is full (Matteo Collina) nodejs-private/node-private#541
New in Node.js 21.6.1 Current (Jan 23, 2024)
- Notable Changes:
- This release fixes a bug in undici using WebStreams
- Commits:
- [662ac95729] - Revert "stream: fix cloned webstreams not being unref'd" (Matteo Collina) #51491
- [1b8bba8aee] - test: add regression test for 51586 (Matteo Collina) #51491
New in Node.js 21.6.0 Current (Jan 16, 2024)
- New connection attempt events:
- Three new events were added in the net.createConnection flow:
- connectionAttempt: Emitted when a new connection attempt is established. In case of Happy Eyeballs, this might emitted multiple times.
- connectionAttemptFailed: Emitted when a connection attempt failed. In case of Happy Eyeballs, this might emitted multiple times.
- connectionAttemptTimeout: Emitted when a connection attempt timed out. In case of Happy Eyeballs, this will not be emitted for the last attempt. This is not emitted at all if Happy Eyeballs is not used.
- Additionally, a previous bug has been fixed where a new connection attempt could have been started after a previous one failed and after the connection was destroyed by the user. This led to a failed assertion.
- Changes to the Permission Model:
- Node.js 21.6.0 comes with several fixes for the experimental permission model and two new semver-minor commits. We're adding a new flag --allow-addons to enable addon usage when using the Permission Model.
- $ node --experimental-permission --allow-addons
- And relative paths are now supported through the --allow-fs-* flags. Therefore, with this release one can use:
- $ node --experimental-permission --allow-fs-read=./index.js
- To give only read access to the entrypoint of the application.
- Support configurable snapshot through --build-snapshot-config flag:
- We are adding a new flag --build-snapshot-config to configure snapshots through a custom JSON configuration file.
- $ node --build-snapshot-config=/path/to/myconfig.json
- When using this flag, additional script files provided on the command line will not be executed and instead be interpreted as regular command line arguments.
- Other Notable Changes:
- [c31ed51373] - (SEMVER-MINOR) timers: export timers.promises (Marco Ippolito) #51246
- Commits:
- [13a1241b83] - assert,crypto: make KeyObject and CryptoKey testable for equality (Filip Skokan) #50897
- [4dcc5114aa] - benchmark: remove dependency on unshipped tools (Adam Majer) #51146
- [2eb41f86b3] - build: fix for VScode "Reopen in Container" (Serg Kryvonos) #51271
- [e03ac83c19] - build: fix arm64 cross-compilation (Michaël Zasso) #51256
- [cd61fce34e] - build: add -flax-vector-conversions to V8 build (Michaël Zasso) #51257
- [e5017a522e] - crypto: update CryptoKey symbol properties (Filip Skokan) #50897
- [c0d2e8be11] - deps: update corepack to 0.24.0 (Node.js GitHub Bot) #51318
- [24a9a72492] - deps: update acorn to 8.11.3 (Node.js GitHub Bot) #51317
- [e53cbb22c2] - deps: update ngtcp2 and nghttp3 (James M Snell) #51291
- [f00f1204f1] - deps: update brotli to 1.1.0 (Node.js GitHub Bot) #50804
- [a41dca0c51] - deps: update zlib to 1.3.0.1-motley-40e35a7 (Node.js GitHub Bot) #51274
- [efa12a89c6] - deps: update simdutf to 4.0.8 (Node.js GitHub Bot) #51000
- [25eba3d20b] - deps: V8: cherry-pick de611e69ad51 (Keyhan Vakil) #51200
- [a07d6e23e4] - deps: update simdjson to 3.6.3 (Node.js GitHub Bot) #51104
- [6d1bfcb2dd] - deps: update googletest to 530d5c8 (Node.js GitHub Bot) #51191
- [75e5615c43] - deps: update acorn-walk to 8.3.1 (Node.js GitHub Bot) #50457
- [3ecc7dcc00] - deps: update acorn-walk to 8.3.0 (Node.js GitHub Bot) #50457
- [e2f8d741c8] - deps: update zlib to 1.3.0.1-motley-dd5fc13 (Node.js GitHub Bot) #51105
- [4a5d3bda72] - doc: the GN files should use Node's license (Cheng Zhao) #50694
- [84127514ba] - doc: improve localWindowSize event descriptions (Davy Landman) #51071
- [8ee882a49c] - doc: mark --jitless as experimental (Antoine du Hamel) #51247
- [876743ece1] - doc: run license-builder (github-actions[bot]) #51199
- [ec6fcff009] - doc: fix limitations and known issues in pm (Rafael Gonzaga) #51184
- [c13a5c0373] - doc: mention node:wasi in the Threat Model (Rafael Gonzaga) #51211
- [4b19e62444] - doc: remove ambiguous 'considered' (Rich Trott) #51207
- [5453abd6ad] - doc: set exit code in custom test runner example (Matteo Collina) #51056
- [f9d4e07faf] - doc: remove version from maintaining-dependencies.md (Antoine du Hamel) #51195
- [df8927a073] - doc: mention native addons are restricted in pm (Rafael Gonzaga) #51185
- [e636d83914] - doc: correct note on behavior of stats.isDirectory (Nick Reilingh) #50946
- [1c71435c2a] - doc: fix TestsStream parent class (Jungku Lee) #51181
- [2c227b0d64] - doc: fix simdjson wrong link (Marco Ippolito) #51177
- [efa13e1943] - (SEMVER-MINOR) doc: add documentation for --build-snapshot-config (Anna Henningsen) #50453
- [941aedc6fc] - errors: fix stacktrace of SystemError (uzlopak) #49956
- [47548d9e61] - esm: fix hint on invalid module specifier (Antoine du Hamel) #51223
- [091098f40a] - fs: fix fs.promises.realpath for long paths on Windows (翠 / green) #51032
- [e5a8fa01aa] - fs: make offset, position & length args in fh.read() optional (Pulkit Gupta) #51087
- [c87e5d51cc] - fs: add missing jsdoc parameters to readSync (Yagiz Nizipli) #51225
- [e24249cf37] - fs: remove internalModuleReadJSON binding (Yagiz Nizipli) #51224
- [7421467812] - fs: improve mkdtemp performance for buffer prefix (Yagiz Nizipli) #51078
- [5b229d775f] - fs: validate fd synchronously on c++ (Yagiz Nizipli) #51027
- [c7a135962d] - http: remove misleading warning (Luigi Pinca) #51204
- [a325746ff4] - http: do not override user-provided options object (KuthorX) #33633
- [89eee7763f] - http2: addtl http/2 settings (Marten Richter) #49025
- [624142947f] - lib: fix use of --frozen-intrinsics with --jitless (Antoine du Hamel) #51248
- [8f845eb001] - lib: move function declaration outside of loop (Sanjaiyan Parthipan) #51242
- [ed7305e49b] - lib: reduce overhead of SafePromiseAllSettledReturnVoid calls (Antoine du Hamel) #51243
- [291265ce27] - lib: expose default prepareStackTrace (Chengzhong Wu) #50827
- [8ff6bc45ca] - lib,permission: handle buffer on fs.symlink (Rafael Gonzaga) #51212
- [416b4f8063] - (SEMVER-MINOR) lib,src,permission: port path.resolve to C++ (Rafael Gonzaga) #50758
- [6648a5c576] - meta: notify tsc on changes in SECURITY.md (Rafael Gonzaga) #51259
- [83a99ccedd] - meta: update artifact actions to v4 (Michaël Zasso) #51219
- [b621ada69a] - module: move the CJS exports cache to internal/modules/cjs/loader (Joyee Cheung) #51157
- [e4be5b60f0] - (SEMVER-MINOR) net: add connection attempt events (Paolo Insogna) #51045
- [3a492056e2] - node-api: type tag external values without v8::Private (Chengzhong Wu) #51149
- [b2135ae7dc] - node-api: segregate nogc APIs from rest via type system (Gabriel Schulhof) #50060
- [8f4325dcd5] - permission: fix wildcard when children > 1 (Rafael Gonzaga) #51209
- [7ecf99404e] - quic: update quic impl to use latest ngtcp2/nghttp3 (James M Snell) #51291
- [5b32e21f3b] - quic: add quic internalBinding, refine Endpoint, add types (James M Snell) #51112
- [3310095bea] - repl: fix prepareStackTrace frames array order (Chengzhong Wu) #50827
- [a0ff00b526] - src: avoid draining platform tasks at FreeEnvironment (Chengzhong Wu) #51290
- [115e0585cd] - src: add fast api for Histogram (James M Snell) #51296
- [29b81576c6] - src: refactor GetCreationContext calls (Yagiz Nizipli) #51287
- [54dd978400] - src: enter isolate before destructing IsolateData (Ben Noordhuis) #51138
- [864ecb0dfa] - src: do not treat all paths ending with node_modules as such (Michaël Zasso) #51269
- [df31c8114c] - src: eliminate duplicate code in histogram.cc (James M Snell) #51263
- [17c73e6d0c] - src: fix unix abstract socket path for trace event (theanarkh) #50858
- [96d64edc94] - src: use BignumPointer and use BN_clear_free (James M Snell) #50454
- [8a2dd93a14] - src: implement FastByteLengthUtf8 with simdutf::utf8_length_from_latin1 (Daniel Lemire) #50840
- [e54ddf898f] - (SEMVER-MINOR) src: support configurable snapshot (Joyee Cheung) #50453
- [a69c7d7bc3] - (SEMVER-MINOR) src,permission: add --allow-addon flag (Rafael Gonzaga) #51183
- [e7925e66fc] - src,stream: improve WriteString (ywave620) #51155
- [82de6603af] - stream: fix code style (Mattias Buelens) #51168
- [e443953656] - stream: fix cloned webstreams not being unref'd (James M Snell) #51255
- [757a84c9ea] - test: fix flaky conditions for ppc64 SEA tests (Richard Lau) #51422
- [85ee2f7255] - test: replace forEach() with for...of (Alexander Jones) #50608
- [549e4b4142] - test: replace forEach with for...of (Ospite Privilegiato) #50787
- [ef44f9bef2] - test: replace foreach with for of (lucacapocci94-dev) #50790
- [652af45485] - test: replace forEach() with for...of (Jia) #50610
- [684dd9db2f] - test: fix inconsistency write size in test-fs-readfile-tostring-fail (Jungku Lee) #51141
- [aaf710f535] - test: replace forEach test-http-server-multiheaders2 (Marco Mac) #50794
- [57c64550cc] - test: replace forEach with for-of in test-webcrypto-export-import-ec (Chiara Ricciardi) #51249
- [88e865181b] - test: move to for of loop in test-http-hostname-typechecking.js (Luca Del Puppo) #50782
- [3db376f67a] - test: skip test-watch-mode-inspect on arm (Michael Dawson) #51210
- [38232d1c52] - test: replace forEach with for of in file test-trace-events-net.js (Ianna83) #50789
- [f1cb58355a] - test: replace forEach() with for...of in test/parallel/test-util-log.js (Edoardo Dusi) #50783
- [9bfd84c117] - test: replace forEach with for of in test-trace-events-api.js (Andrea Pavone) #50784
- [7e9834915a] - test: replace forEach with for-of in test-v8-serders.js (Mattia Iannone) #50791
- [b6f232e841] - test: add URL tests to fs-read in pm (Rafael Gonzaga) #51213
- [8a2178c5f5] - test: use tmpdir.refresh() in test-esm-loader-resolve-type.mjs (Luigi Pinca) #51206
- [7e9a0b192a] - test: use tmpdir.refresh() in test-esm-json.mjs (Luigi Pinca) #51205
- [d7c2572fe0] - test: fix flakiness in worker*.test-free-called (Jithil P Ponnan) #51013
- [979cebc955] - test_runner: fixed test object is incorrectly passed to setup() (Pulkit Gupta) #50982
- [63db82abe6] - test_runner: fixed to run after hook if before throws an error (Pulkit Gupta) #51062
- [c31ed51373] - (SEMVER-MINOR) timers: export timers.promises (Marco Ippolito) #51246
- [fc10f889eb] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #51320
- [d5a5f12d15] - tools: fix dep_updaters dir updates (Michaël Zasso) #51294
- [bdcb5ed510] - tools: update inspector_protocol to c488ba2 (cola119) #51293
- [69a46add77] - tools: update inspector_protocol to 9b4a4aa (cola119) #51293
- [e325f49d19] - tools: update inspector_protocol to 2f51e05 (cola119) #51293
- [60d804851b] - tools: update inspector_protocol to d7b099b (cola119) #51293
- [d18168489f] - tools: update inspector_protocol to 912eb68 (cola119) #51293
- [ef4f46fc39] - tools: update inspector_protocol to 547c5b8 (cola119) #51293
- [c3126fc016] - tools: update inspector_protocol to ca525fc (cola119) #51293
- [917d887dde] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #51276
- [37594918e0] - tools: check timezone current version (Marco Ippolito) #51178
- [d0d2faf899] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #51193
- [c96ef6533c] - tools: update eslint to 8.56.0 (Node.js GitHub Bot) #51194
- [f4f781d493] - util: pass invalidSubtypeIndex instead of trimmedSubtype to error (Gaurish Sethia) #51264
- [867b484429] - watch: clarify that the fileName parameter can be null (Luigi Pinca) #51305
- [56e8969b65] - watch: fix null fileName on windows systems (vnc5) #49891
- [3f4fd6efbb] - watch: fix infinite loop when passing --watch=true flag (Pulkit Gupta) #51160
New in Node.js 21.5.0 Current (Dec 20, 2023)
- Notable Changes:
- [0dd53da722] - (SEMVER-MINOR) deps: add simdjson (Yagiz Nizipli) #50322
- [9f54987fbc] - module: merge config with package_json_reader (Yagiz Nizipli) #50322
- [45e4f82912] - src: move package resolver to c++ (Yagiz Nizipli) #50322
- Deprecations:
- [26ed4ad01f] - doc: deprecate hash constructor (Marco Ippolito) #51077
- [58ca66a1a7] - doc: deprecate dirent.path (Antoine du Hamel) #51020
- Commits:
- [1bbdbdfbeb] - benchmark: update iterations in benchmark/perf_hooks (Lei Shi) #50869
- [087fb0908e] - benchmark: update iterations in benchmark/crypto/aes-gcm-throughput.js (Lei Shi) #50929
- [53b16c71fb] - benchmark: update iteration and size in benchmark/crypto/randomBytes.js (Lei Shi) #50868
- [38fd0ca753] - benchmark: add undici websocket benchmark (Chenyu Yang) #50586
- [b148c43244] - benchmark: add create-hash benchmark (Joyee Cheung) #51026
- [fdd8c18f96] - benchmark: update interations and len in benchmark/util/text-decoder.js (Lei Shi) #50938
- [a9972057ac] - benchmark: update iterations of benchmark/util/type-check.js (Lei Shi) #50937
- [b80bb1329b] - benchmark: update iterations in benchmark/util/normalize-encoding.js (Lei Shi) #50934
- [dbee03d646] - benchmark: update iterations in benchmark/util/inspect-array.js (Lei Shi) #50933
- [f2d83a3a84] - benchmark: update iterations in benchmark/util/format.js (Lei Shi) #50932
- [2581fce553] - bootstrap: improve snapshot unsupported builtin warnings (Joyee Cheung) #50944
- [735bad3694] - build: fix warnings from uv for gn build (Cheng Zhao) #51069
- [8da9d969f9] - deps: V8: cherry-pick 0fd478bcdabd (Joyee Cheung) #50572
- [429fbb37c1] - deps: update simdjson to v3.6.2 (Yagiz Nizipli) #50986
- [9950103253] - deps: update zlib to 1.3-22124f5 (Node.js GitHub Bot) #50910
- [0b61823e8b] - deps: update undici to 5.28.2 (Node.js GitHub Bot) #51024
- [95d8a273cc] - deps: cherry-pick bfbe4e38d7 from libuv upstream (Abdirahim Musse) #50650
- [06038a489e] - deps: update libuv to 1.47.0 (Node.js GitHub Bot) #50650
- [0dd53da722] - (SEMVER-MINOR) deps: add simdjson (Yagiz Nizipli) #50322
- [04eaa5cdd7] - doc: run license-builder (github-actions[bot]) #51111
- [26ed4ad01f] - doc: deprecate hash constructor (Marco Ippolito) #51077
- [637ffce4c4] - doc: add note regarding --experimental-detect-module (Shubherthi Mitra) #51089
- [838179b096] - doc: correct tracingChannel.traceCallback() (Gerhard Stöbich) #51068
- [539bee4f0a] - doc: use length argument in pbkdf2Key (Tobias Nießen) #51066
- [c45a9a3187] - doc: add deprecation notice to dirent.path (Antoine du Hamel) #51059
- [58ca66a1a7] - doc: deprecate dirent.path (Antoine du Hamel) #51020
- [c2b6edf9ab] - esm: fix hook name in error message (Bruce MacNaughton) #50466
- [35e8f26f07] - fs: throw fchownSync error from c++ (Yagiz Nizipli) #51075
- [c3c8237089] - fs: update params in jsdoc for createReadStream and createWriteStream (Jungku Lee) #51063
- [3f7f3ce8c9] - fs: improve error performance of readvSync (IlyasShabi) #50100
- [7f95926f17] - http: handle multi-value content-disposition header (Arsalan Ahmad) #50977
- [7a8a2d5632] - lib: don't parse windows drive letters as schemes (华) #50580
- [aa2be4bb76] - module: load source maps in commonjs translator (Hiroki Osame) #51033
- [c0e5e74876] - module: document parentURL in register options (Hiroki Osame) #51039
- [4eedf5e694] - module: fix recently introduced coverity warning (Michael Dawson) #50843
- [9f54987fbc] - module: merge config with package_json_reader (Yagiz Nizipli) #50322
- [5f95dca638] - node-api: introduce experimental feature flags (Gabriel Schulhof) #50991
- [3fb7fc909e] - quic: further implementation details (James M Snell) #48244
- [fa25e069fc] - src: implement countObjectsWithPrototype (Joyee Cheung) #50572
- [abe90527e4] - src: register udp_wrap external references (Joyee Cheung) #50943
- [84e2f51d14] - src: register spawn_sync external references (Joyee Cheung) #50943
- [2cfee53d7b] - src: register process_wrap external references (Joyee Cheung) #50943
- [9b7f79a8bd] - src: fix double free reported by coverity (Michael Dawson) #51046
- [fc5503246e] - src: remove unused headers in node_file.cc (Jungku Lee) #50927
- [c3abdc58af] - src: implement --trace-promises (Joyee Cheung) #50899
- [f90fc83e97] - src: fix dynamically linked zlib version (Richard Lau) #51007
- [9bf144379f] - src: omit bool values of package.json main field (Yagiz Nizipli) #50965
- [45e4f82912] - src: move package resolver to c++ (Yagiz Nizipli) #50322
- [71acd36778] - stream: implement TransformStream cleanup using "transformer.cancel" (Debadree Chatterjee) #50126
- [5112306064] - stream: fix fd is null when calling clearBuffer (kylo5aby) #50994
- [ed070755ec] - test: deflake test-diagnostics-channel-memory-leak (Joyee Cheung) #50572
- [aee01ff1b4] - test: test syncrhnous methods of child_process in snapshot (Joyee Cheung) #50943
- [cc949869a3] - test: handle relative https redirect (Richard Lau) #51121
- [048349ed4c] - test: fix test runner colored output test (Moshe Atlow) #51064
- [7f5291d783] - test: resolve path of embedtest binary correctly (Cheng Zhao) #50276
- [4ddd0daf5f] - test: escape cwd in regexp (Jérémy Lal) #50980
- [3ccd5faabb] - test_runner: format coverage report for tap reporter (Pulkit Gupta) #51119
- [d5c9adf3df] - test_runner: fix infinite loop when files are undefined in test runner (Pulkit Gupta) #51047
- [328a41701c] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #51106
- [297cb6f5c2] - tools: update doc to [email protected] [email protected] (Node.js GitHub Bot) #50459
- [4705023343] - tools: fix simdjson updater (Yagiz Nizipli) #50986
- [c9841583db] - tools: update eslint to 8.55.0 (Node.js GitHub Bot) #51025
- [2b4671125e] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #51022
- [cd891b37f6] - util: improve performance of function areSimilarFloatArrays (Liu Jia) #51040
- [e178a43509] - vm: use v8::DeserializeInternalFieldsCallback explicitly (Joyee Cheung) #50984
- [fd028e146f] - win,tools: upgrade Windows signing to smctl (Stefan Stojanovic) #50956
New in Node.js 21.4.0 Current (Dec 6, 2023)
- Notable Changes:
- This release fixes a regression introduced in v21.3.0 that caused the fs.writeFileSync method to throw when called with 'utf8' encoding, no flag option, and if the target file didn't exist yet.
- [32acafeeb6] - (SEMVER-MINOR) fs: introduce dirent.parentPath (Antoine du Hamel) #50976
- [724548674d] - fs: use default w flag for writeFileSync with utf8 encoding (Murilo Kakazu) #50990
- Commits:
- [b24ee15fb2] - benchmark: update iterations in benchmark/crypto/hkdf.js (Lei Shi) #50866
- [f79b54e60e] - benchmark: update iterations in benchmark/crypto/get-ciphers.js (Lei Shi) #50863
- [dc049acbbb] - benchmark: update number of iterations for util.inspect (kylo5aby) #50651
- [d7c562ae38] - deps: update googletest to 76bb2af (Node.js GitHub Bot) #50555
- [59a45ddbef] - deps: update googletest to b10fad3 (Node.js GitHub Bot) #50555
- [099ebdb781] - deps: update undici to 5.28.1 (Node.js GitHub Bot) #50975
- [4b1bed04f7] - deps: update undici to 5.28.0 (Node.js GitHub Bot) #50915
- [b281e98b1e] - doc: add additional details about --input-type (Shubham Pandey) #50796
- [b7036f2028] - doc: add procedure when CVEs don't get published (Rafael Gonzaga) #50945
- [7adf239af0] - doc: fix some errors in esm resolution algorithms (Christopher Jeffrey (JJ)) #50898
- [759ebcaead] - doc: reserve 121 for Electron 29 (Shelley Vohr) #50957
- [cedc3427fa] - doc: run license-builder (github-actions[bot]) #50926
- [30a6f19769] - doc: document non-node_modules-only runtime deprecation (Joyee Cheung) #50748
- [eecab883f0] - doc: add doc for Unix abstract socket (theanarkh) #50904
- [ec74b93b38] - doc: remove flicker on page load on dark theme (Dima Demakov) #50942
- [724548674d] - fs: use default w flag for writeFileSync with utf8 encoding (Murilo Kakazu) #50990
- [32acafeeb6] - (SEMVER-MINOR) fs: introduce dirent.parentPath (Antoine du Hamel) #50976
- [c1ee506454] - fs: remove workaround for esm package (Yagiz Nizipli) #50907
- [1cf087dfb3] - lib: refactor to use validateFunction in diagnostics_channel (Deokjin Kim) #50955
- [c37d18d5e1] - lib: streamline process.binding() handling (Joyee Cheung) #50773
- [246cf73631] - lib,src: replace toUSVString with toWellFormed() (Yagiz Nizipli) #47342
- [9bc79173a0] - loader: speed up line length calc used by moduleProvider (Mudit) #50969
- [812ab9e4f8] - meta: bump step-security/harden-runner from 2.6.0 to 2.6.1 (dependabot[bot]) #50999
- [1dbe1af19a] - meta: bump github/codeql-action from 2.22.5 to 2.22.8 (dependabot[bot]) #50998
- [bed1b93f8a] - meta: move one or more collaborators to emeritus (Node.js GitHub Bot) #50931
- [1e7d101428] - src: make ModifyCodeGenerationFromStrings more robust (Joyee Cheung) #50763
- [709ac479eb] - src: disable uncaught exception abortion for ESM syntax detection (Yagiz Nizipli) #50987
- [f6ff11c9f9] - src: fix backtrace with tail [[noreturn]] abort (Chengzhong Wu) #50849
- [74f5a1cbc9] - src: print MKSNAPSHOT debug logs to stderr (Joyee Cheung) #50759
- [3a1c664a97] - test: replace forEach to for.. test-webcrypto-export-import-cfrg.js (Angelo Parziale) #50785
- [ac3a6eefe3] - test: log more information in SEA tests (Joyee Cheung) #50759
- [94462d42f5] - test: consolidate utf8 text fixtures in tests (Joyee Cheung) #50732
- [8e1a70a347] - tools: add triggers to update release links workflow (Moshe Atlow) #50974
- [ca10cbb774] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #50913
- [1e40c4a366] - tools: fix current version check (Marco Ippolito) #50951
- [3faed331e1] - typings: fix JSDoc in internal/modules/esm/hooks (Alex Yang) #50887
- [6a087ceffa] - url: throw error if argument length of revokeObjectURL is 0 (DylanTet) #50433
New in Node.js 21.3.0 Current (Dec 3, 2023)
- Notable Changes:
- New --disable-warning flag
- This version adds a new --disable-warning option that allows users to disable specific warnings either by code (i.e. DEP0025) or type (i.e. DeprecationWarning, ExperimentalWarning).
- This option works alongside existing --warnings and --no-warnings.
- For example, the following script will not emit DEP0025 require('node:sys') when executed with node --disable-warning=DEP0025:
- import sys from 'node:sys';
- Update Root Certificates to NSS 3.95:
- This is the certdata.txt from NSS 3.95, released on 2023-11-16.
- This is the version of NSS that will ship in Firefox 121 on 2023-12-19.
- Certificates added:
- TrustAsia Global Root CA G3
- TrustAsia Global Root CA G4
- CommScope Public Trust ECC Root-01
- CommScope Public Trust ECC Root-02
- CommScope Public Trust RSA Root-01
- CommScope Public Trust RSA Root-02
- Certificates removed:
- Autoridad de Certificacion Firmaprofesional CIF A62634068
- Fast fs.writeFileSync with UTF-8 Strings:
- Enhanced writeFileSync functionality by implementing a highly efficient fast path primarily in C++ for UTF8-encoded string data. Additionally, optimized the appendFileSync method by leveraging the improved writeFileSync functionality. For simplicity and performance considerations, the current implementation supports only string data, as benchmark results raise concerns about the efficacy of using Buffer for this purpose. Future optimizations and expansions may be explored, but for now, the focus is on maximizing efficiency for string data operations.
- Other Notable Changes:
- [c7a7493ca2] - (SEMVER-MINOR) module: bootstrap module loaders in shadow realm (Chengzhong Wu) #48655
- [bc3f7b5401] - (SEMVER-MINOR) module: remove useCustomLoadersIfPresent flag (Chengzhong Wu) #48655
- [aadff07e59] - (SEMVER-MINOR) src: create per isolate proxy env template (Chengzhong Wu) #48655
- [91aa9dd23a] - (SEMVER-MINOR) src: create fs_dir per isolate properties (Chengzhong Wu) #48655
- [5c5834190a] - (SEMVER-MINOR) src: create worker per isolate properties (Chengzhong Wu) #48655
- [4a1ce45181] - (SEMVER-MINOR) src: make process binding data weak (Chengzhong Wu) #48655
- Commits:
- [4a20912279] - benchmark: update iterations in benchmark/util/splice-one.js (Liu Jia) #50698
- [36380eb53d] - benchmark: increase the iteration number to an appropriate value (Lei Shi) #50766
- [23f56d8bb3] - benchmark: rewrite import.meta benchmark (Joyee Cheung) #50683
- [f7245d73d9] - benchmark: add misc/startup-cli-version benchmark (Joyee Cheung) #50684
- [c81d2acfe0] - benchmark: remove punycode from require-builtins fixture (Joyee Cheung) #50689
- [5849f09874] - build: add GN configurations for simdjson (Cheng Zhao) #50831
- [12605e8f7d] - build: add configuration flag to enable Maglev (Keyhan Vakil) #50692
- [43da9ea9e5] - build: fix GN configuration for deps/base64 (Cheng Zhao) #50696
- [465f75b58a] - build: disable flag v8_scriptormodule_legacy_lifetime (Chengzhong Wu) #50616
- [d2c0dfb1b7] - crypto: update root certificates to NSS 3.95 (Node.js GitHub Bot) #50805
- [8d3a1d8911] - deps: update zlib to 1.2.13.1-motley-5daffc7 (Node.js GitHub Bot) #50803
- [e02f304de7] - deps: V8: cherry-pick 0f9ebbc672c7 (Chengzhong Wu) #50867
- [c31ad5ceaa] - deps: update icu to 74.1 (Node.js GitHub Bot) #50515
- [3ff2bda34e] - deps: update ada to 2.7.4 (Node.js GitHub Bot) #50815
- [221f02df6d] - deps: update undici to 5.27.2 (Node.js GitHub Bot) #50813
- [ee69c613a2] - deps: update minimatch to 9.0.3 (Node.js GitHub Bot) #50806
- [00dab30fd2] - deps: V8: cherry-pick 475c8cdf9a95 (Keyhan Vakil) #50680
- [a0c01b23b4] - deps: update simdutf to 4.0.4 (Node.js GitHub Bot) #50772
- [071e46ae56] - deps: upgrade npm to 10.2.4 (npm team) #50751
- [5d28f8d18f] - deps: escape Python strings correctly (Michaël Zasso) #50695
- [3731f836ed] - deps: V8: cherry-pick 8f0b94671ddb (Lu Yahan) #50654
- [6dfe1023c3] - dns: call handle.setServers() with a valid array (Luigi Pinca) #50811
- [2f13db475e] - doc: make theme consistent across api and other docs (Dima Demakov) #50877
- [8c4976b732] - doc: add a section regarding instanceof in primordials.md (Antoine du Hamel) #50874
- [6485687642] - doc: update email to reflect affiliation (Yagiz Nizipli) #50856
- [bc31375a09] - doc: shard not supported with watch mode (Pulkit Gupta) #50640
- [08c3b0ab20] - doc: get rid of unnecessary eslint-skip comments (Antoine du Hamel) #50829
- [98fb1faff1] - doc: create deprecation code for isWebAssemblyCompiledModule (Marco Ippolito) #50486
- [e116fcdb01] - doc: add CanadaHonk to triagers (CanadaHonk) #50848
- [a37d9ee1e3] - doc: fix typos in --allow-fs-* (Tobias Nießen) #50845
- [8468daf1a9] - doc: update Crypto API doc for x509.keyUsage (Daniel Meechan) #50603
- [b4935dde60] - doc: fix fs.writeFileSync return value documentation (Ryan Zimmerman) #50760
- [ead9879a04] - doc: update print results(detail) in PerformanceEntry (Jungku Lee) #50723
- [6b7403c5df] - doc: fix Buffer.allocUnsafe documentation (Mert Can Altın) #50686
- [713fdf1fc3] - doc: run license-builder (github-actions[bot]) #50691
- [50f336c06f] - esm: fallback to getSource when load returns nullish source (Antoine du Hamel) #50825
- [bd58870556] - esm: do not call getSource when format is commonjs (Francesco Trotta) #50465
- [e59268a076] - fs: add c++ fast path for writeFileSync utf8 (CanadaHonk) #49884
- [483200f68f] - fs: improve error performance for rmdirSync (CanadaHonk) #49846
- [e4e0add0de] - fs: fix glob returning duplicates (Moshe Atlow) #50881
- [45b2bb09f2] - fs: fix to not return for void function (Jungku Lee) #50769
- [492e3e30b7] - fs: replace deprecated path._makeLong in copyFile (CanadaHonk) #50844
- [9dc4cde75b] - fs: improve error perf of sync lstat+fstat (CanadaHonk) #49868
- [c3eee590be] - inspector: use private fields instead of symbols (Yagiz Nizipli) #50776
- [1a0069b13d] - meta: clarify nomination process according to Node.js charter (Matteo Collina) #50834
- [65a811a86d] - meta: clarify recommendation for bug reproductions (Antoine du Hamel) #50882
- [5811a59016] - meta: move cjihrig to TSC regular member (Colin Ihrig) #50816
- [c7a7493ca2] - (SEMVER-MINOR) module: bootstrap module loaders in shadow realm (Chengzhong Wu) #48655
- [bc3f7b5401] - (SEMVER-MINOR) module: remove useCustomLoadersIfPresent flag (Chengzhong Wu) #48655
- [9197b0f2fc] - net: check pipe mode and path (theanarkh) #50770
- [673de300b4] - node-api: factor out common code into macros (Gabriel Schulhof) #50664
- [aebe2fc702] - perf_hooks: implement performance.now() with fast API calls (Joyee Cheung) #50492
- [3fdecc4a8b] - permission: do not create symlinks if target is relative (Tobias Nießen) #49156
- [27a4f58640] - permission: mark const functions as such (Tobias Nießen) #50705
- [feb8ff9427] - src: assert return value of BN_bn2binpad (Tobias Nießen) #50860
- [fd9195d750] - src: fix coverity warning (Michael Dawson) #50846
- [adcab85c0c] - src: fix compatility with upcoming V8 12.1 APIs (Cheng Zhao) #50709
- [79ef39b8c8] - (SEMVER-MINOR) src: add --disable-warning option (Ethan Arrowood) #50661
- [faf6a04ba6] - src: add IsolateScopes before using isolates (Keyhan Vakil) #50680
- [eacf4ba485] - src: iterate on import attributes array correctly (Michaël Zasso) #50703
- [0fb35b6a67] - src: avoid copying strings in FSPermission::Apply (Tobias Nießen) #50662
- [83ad272fa6] - src: remove erroneous default argument in RadixTree (Tobias Nießen) #50736
- [2e8e237ce2] - src: fix JSONParser leaking internal V8 scopes (Keyhan Vakil) #50688
- [0d3aa725cf] - src: return error --env-file if file is not found (Ardi Nugraha) #50588
- [aadff07e59] - (SEMVER-MINOR) src: create per isolate proxy env template (Chengzhong Wu) #48655
- [91aa9dd23a] - (SEMVER-MINOR) src: create fs_dir per isolate properties (Chengzhong Wu) #48655
- [5c5834190a] - (SEMVER-MINOR) src: create worker per isolate properties (Chengzhong Wu) #48655
- [4a1ce45181] - (SEMVER-MINOR) src: make process binding data weak (Chengzhong Wu) #48655
- [8746073664] - src: avoid silent coercion to signed/unsigned int (Tobias Nießen) #50663
- [57587de1fa] - src: handle errors from uv_pipe_connect2() (Deokjin Kim) #50657
- [e5cce004e8] - stream: fix enumerability of ReadableStream.from (Mattias Buelens) #50779
- [4522e229c0] - stream: fix enumerability of ReadableStream.prototype.values (Mattias Buelens) #50779
- [2e0abed973] - stream: yield expected Error class on zlib errors (Filip Skokan) #50712
- [a275155e81] - stream: add Symbol.toStringTag to Compression Streams (Filip Skokan) #50712
- [146ad9cab0] - stream: treat compression web stream format per its WebIDL definition (Filip Skokan) #50631
- [087cffc7c2] - test: fix message v8 not normalising alphanumeric paths (Jithil P Ponnan) #50730
- [7de900a442] - test: fix dns test case failures after c-ares update to 1.21.0+ (Brad House) #50743
- [b1b6c44712] - test: replace forEach with for of (Conor Watson) #50594
- [7f44164ad4] - test: replace forEach to for at test-webcrypto-sign-verify-ecdsa.js (Alessandro Di Nisio) #50795
- [9d76de1993] - test: replace foreach with for in test-https-simple.js (Shikha Mehta) #49793
- [ce8fc56ee4] - test: add note about unresolved spec issue (Mattias Buelens) #50779
- [628a12ac18] - test: add note about readable streams with type owning (Mattias Buelens) #50779
- [82f0882ce0] - test: replace forEach with for-of in test-url-relative (vitosorriso) #50788
- [3b7998305d] - test: replace forEach() with for ... of in test-tls-getprotocol.js (Steve Goode) #50600
- [0e4d25eb5c] - test: use requires instead of flaky in console WPT status (Filip Skokan) #50812
- [221952a88e] - test: use ppc and ppc64 to skip SEA tests on PowerPC (Joyee Cheung) #50828
- [0e3b714069] - test: enable idlharness tests for encoding (Mattias Buelens) #50778
- [c8d4cd68b4] - test: replace forEach in whatwg-encoding-custom-interop (Honza Machala) #50607
- [f25637b5c9] - test: update WPT files for WebIDL tests (Filip Skokan) #50712
- [f2e0fce389] - test: replace forEach() with for-loop (Jan) #50596
- [4b26f14a53] - test: improve test-bootstrap-modules.js (Joyee Cheung) #50708
- [28d78de0dd] - test: skip parallel/test-macos-app-sandbox if disk space < 120MB (Joyee Cheung) #50764
- [4088b750e7] - test: mark SEA tests as flaky on PowerPC (Joyee Cheung) #50750
- [6475cee6a4] - test: give more time to GC in test-shadow-realm-gc-* (Joyee Cheung) #50735
- [0e8275b610] - test: replace foreach with for (Markus Muschol) #50599
- [377deded59] - test: test streambase has already has a consumer (Jithil P Ponnan) #48059
- [342a83e728] - test: change forEach to for...of in path extname (Kyriakos Markakis) #50667
- [75265e491d] - test: replace forEach with for...of (Ryan Williams) #50611
- [982b57651b] - test: migrate message v8 tests from Python to JS (Joshua LeMay) #50421
- [7ebc8c2aed] - test,stream: enable compression WPTs (Filip Skokan) #50631
- [0bd694ab64] - test_runner: add tests for various mock timer issues (Mika Fischer) #50384
- [dee8039c9b] - tls: fix order of setting cipher before setting cert and key (Kumar Rishav) #50186
- [5de30531b8] - tools: add macOS notarization verification step (Ulises Gascón) #50833
- [a12d9e03f2] - tools: use macOS keychain to notarize the releases (Ulises Gascón) #50715
- [f21637717f] - tools: update eslint to 8.54.0 (Node.js GitHub Bot) #50809
- [daa933d93a] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #50807
- [52830b71cc] - tools: add workflow to update release links (Michaël Zasso) #50710
- [db8ce5bbdd] - tools: recognize GN files in dep_updaters (Cheng Zhao) #50693
- [5ef6729b66] - tools: remove unused file (Ulises Gascon) #50622
- [c49483820a] - tools: change minimatch install strategy (Marco Ippolito) #50476
- [0d556d9a59] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #50675
- [eaa4c14e6b] - util: improve performance of normalizeEncoding (kylo5aby) #50721
- [a5d959b765] - v8,tools: expose necessary V8 defines (Cheng Zhao) #50820
New in Node.js 20.10.0 LTS (Dec 3, 2023)
- Notable Changes:
- --experimental-default-type flag to flip module defaults
- The new flag --experimental-default-type can be used to flip the default module system used by Node.js. Input that is already explicitly defined as ES modules or CommonJS, such as by a package.json "type" field or .mjs/.cjs file extension or the --input-type flag, is unaffected. What is currently implicitly CommonJS would instead be interpreted as ES modules under --experimental-default-type=module:
- String input provided via --eval or STDIN, if --input-type is unspecified.
- Files ending in .js or with no extension, if there is no package.json file present in the same folder or any parent folder.
- Files ending in .js or with no extension, if the nearest parent package.json field lacks a type field; unless the folder is inside a node_modules folder.
- In addition, extensionless files are interpreted as Wasm if --experimental-wasm-modules is passed and the file contains the "magic bytes" Wasm header.
- Detect ESM syntax in ambiguous JavaScript:
- The new flag --experimental-detect-module can be used to automatically run ES modules when their syntax can be detected. For “ambiguous” files, which are .js or extensionless files with no package.json with a type field, Node.js will parse the file to detect ES module syntax; if found, it will run the file as an ES module, otherwise it will run the file as a CommonJS module. The same applies to string input via --eval or STDIN.
- We hope to make detection enabled by default in a future version of Node.js. Detection increases startup time, so we encourage everyone—especially package authors—to add a type field to package.json, even for the default "type": "commonjs". The presence of a type field, or explicit extensions such as .mjs or .cjs, will opt out of detection.
- New flush option in file system functions:
- When writing to files, it is possible that data is not immediately flushed to permanent storage. This allows subsequent read operations to see stale data. This PR adds a 'flush' option to the fs.writeFile family of functions which forces the data to be flushed at the end of a successful write operation.
- Experimental WebSocket client:
- Adds a --experimental-websocket flag that adds a WebSocket global, as standardized by WHATWG.
- vm: fix V8 compilation cache support for vm.Script:
- Previously repeated compilation of the same source code using vm.Script stopped hitting the V8 compilation cache after v16.x when support for importModuleDynamically was added to vm.Script, resulting in a performance regression that blocked users (in particular Jest users) from upgrading from v16.x.
- The recent fixes allow the compilation cache to be hit again for vm.Script when --experimental-vm-modules is not used even in the presence of the importModuleDynamically option, so that users affected by the performance regression can now upgrade. Ongoing work is also being done to enable compilation cache support for vm.CompileFunction.
- Other notable changes:
- [21453ae555] - (SEMVER-MINOR) deps: update uvwasi to 0.0.19 (Node.js GitHub Bot) #49908
- [ee65e44c31] - esm: use import attributes instead of import assertions (Antoine du Hamel) #50140
- [ffdc357167] - (SEMVER-MINOR) stream: allow passing stream class to stream.compose (Alex Yang) #50187
- [4861ad6431] - stream: improve performance of readable stream reads (Raz Luvaton) #50173
- [4b27087b30] - stream: optimize Writable (Robert Nagy) #50012
- [709c6c0cab] - (SEMVER-MINOR) test_runner, cli: add --test-concurrency flag (Colin Ihrig) #49996
- [57efd5292c] - (SEMVER-MINOR) vm: use import attributes instead of import assertions (Antoine du Hamel) #50141
- Commits:
- [73757a5f42] - benchmark: fix race condition on fs benchs (Vinicius Lourenço) #50035
- [23269717bb] - benchmark: add warmup to accessSync bench (Rafael Gonzaga) #50073
- [88611d199a] - benchmark: improved config for blob,file benchmark (Vinícius Lourenço) #49730
- [b70757476c] - benchmark: added new benchmarks for blob (Vinícius Lourenço) #49730
- [458d9a82e3] - buffer: remove unnecessary assignment in fromString (Tobias Nießen) #50199
- [878c0b332e] - build: fix IBM i build with Python 3.9 (Richard Lau) #48056
- [773320e1de] - crypto: ensure valid point on elliptic curve in SubtleCrypto.importKey (Filip Skokan) #50234
- [edb0ffd7d4] - crypto: use X509_ALGOR accessors instead of reaching into X509_ALGOR (David Benjamin) #50057
- [3f98c06dbb] - crypto: account for disabled SharedArrayBuffer (Shelley Vohr) #50034
- [55485ff1cc] - crypto: return clear errors when loading invalid PFX data (Tim Perry) #49566
- [68ec1e5eeb] - deps: upgrade npm to 10.2.3 (npm team) #50531
- [b00c11ad7c] - deps: V8: cherry-pick d90d4533b053 (Michaël Zasso) #50077
- [e63aef91b4] - deps: V8: cherry-pick f7d000a7ae7b (Luke Albao) #50077
- [4b243b553a] - deps: V8: cherry-pick 9721082687c9 (Shi Pujin) #50077
- [9d3cdcbebf] - deps: V8: cherry-pick 840650f2ff4e (Michaël Zasso) #50077
- [0c40b513fd] - deps: V8: cherry-pick a1efa5343880 (Michaël Zasso) #50077
- [68cddd79f7] - deps: update archs files for openssl-3.0.12+quic1 (Node.js GitHub Bot) #50411
- [3308189180] - deps: upgrade openssl sources to quictls/openssl-3.0.12+quic1 (Node.js GitHub Bot) #50411
- [b61707e535] - deps: update ada to 2.7.2 (Node.js GitHub Bot) #50338
- [1aecf0c17b] - deps: update corepack to 0.22.0 (Node.js GitHub Bot) #50325
- [f5924f174c] - deps: update c-ares to 1.20.1 (Node.js GitHub Bot) #50082
- [b705e19a95] - deps: update c-ares to 1.20.0 (Node.js GitHub Bot) #50082
- [f72cbb7e02] - deps: V8: cherry-pick 25902244ad1a (Joyee Cheung) #50156
- [6547bd2493] - deps: V8: cherry-pick ea996ad04a68 (Antoine du Hamel) #50183
- [16fd730e95] - deps: V8: cherry-pick a0fd3209dda8 (Antoine du Hamel) #50183
- [614c3620c3] - deps: update corepack to 0.21.0 (Node.js GitHub Bot) #50088
- [545aa74ae2] - deps: update simdutf to 3.2.18 (Node.js GitHub Bot) #50091
- [9302806c0a] - deps: update zlib to 1.2.13.1-motley-fef5869 (Node.js GitHub Bot) #50085
- [03bf5c5d9a] - deps: update googletest to 2dd1c13 (Node.js GitHub Bot) #50081
- [cd8e90690b] - deps: update googletest to e47544a (Node.js GitHub Bot) #49982
- [40672cfe53] - deps: update ada to 2.6.10 (Node.js GitHub Bot) #49984
- [34c7eb0eb2] - deps: fix call to undeclared functions 'ntohl' and 'htons' (MatteoBax) #49979
- [03654b44b6] - deps: update ada to 2.6.9 (Node.js GitHub Bot) #49340
- [4c740b1dd8] - deps: update ada to 2.6.8 (Node.js GitHub Bot) #49340
- [759cf5a760] - deps: update ada to 2.6.7 (Node.js GitHub Bot) #49340
- [31a4e9781a] - deps: update ada to 2.6.5 (Node.js GitHub Bot) #49340
- [2ca867f2ab] - deps: update ada to 2.6.3 (Node.js GitHub Bot) #49340
- [21453ae555] - (SEMVER-MINOR) deps: update uvwasi to 0.0.19 (Node.js GitHub Bot) #49908
- [7ca1228be8] - deps: V8: cherry-pick 8ec2651fbdd8 (Abdirahim Musse) #49862
- [3cc41d253c] - deps: upgrade npm to 10.2.0 (npm team) #50027
- [61b4afb7dd] - deps: update undici to 5.26.4 (Node.js GitHub Bot) #50274
- [ea28738336] - doc: add loong64 info into platform list (Shi Pujin) #50086
- [00c12b7a20] - doc: update release process LTS step (Richard Lau) #50299
- [a9ba29ba10] - doc: fix release process table of contents (Richard Lau) #50216
- [4b5033519e] - doc: update api stream.compose (Alex Yang) #50206
- [d4659e2080] - doc: add ReflectConstruct to known perf issues (Vinicius Lourenço) #50111
- [ffa94612fd] - doc: fix typo in dgram docs (Peter Johnson) #50211
- [f37b577b14] - doc: fix H4ad collaborator sort (Vinicius Lourenço) #50218
- [c75264b1f9] - doc: add H4ad to collaborators (Vinícius Lourenço) #50217
- [5025e24ac7] - doc: update release-stewards with last sec-release (Rafael Gonzaga) #50179
- [63379313d5] - doc: add command to keep major branch sync (Rafael Gonzaga) #50102
- [85de4b8254] - doc: add loong64 to list of architectures (Shi Pujin) #50172
- [ff8e1b860e] - doc: update security release process (Michael Dawson) #50166
- [33470d965c] - doc: improve ccache explanation (Chengzhong Wu) #50133
- [7b97c44e2a] - doc: move danielleadams to TSC non-voting member (Danielle Adams) #50142
- [3d03ca9f31] - doc: fix description of fs.readdir recursive option (RamdohokarAngha) #48902
- [aab045ec4b] - doc: mention files read before env setup (Rafael Gonzaga) #50072
- [26a7608a24] - doc: move permission model to Active Development (Rafael Gonzaga) #50068
- [d7bbf7f2c4] - doc: add command to get patch minors and majors (Rafael Gonzaga) #50067
- [9830165e34] - doc: use precise promise terminology in fs (Benjamin Gruenbaum) #50029
- [585cbb211d] - doc: use precise terminology in test runner (Benjamin Gruenbaum) #50028
- [2862f07124] - doc: clarify explaination text on how to run the example (Anshul Sinha) #39020
- [fe47c8ad91] - doc: reserve 119 for Electron 28 (David Sanders) #50020
- [36ecd2c588] - doc: update Collaborator pronouns (Tierney Cyren) #50005
- [315d82a73e] - doc: update link to Abstract Modules Records spec (Rich Trott) #49961
- [f63a92bb6c] - doc: updated building docs for windows (Claudio W) #49767
- [ad17126501] - doc: update CHANGELOG_V20 about vm fixes (Joyee Cheung) #49951
- [24458e2ac3] - doc: document dangerous symlink behavior (Tobias Nießen) #49154
- [337a676d1f] - doc: add main ARIA landmark to API docs (Rich Trott) #49882
- [959ef7ac6b] - doc: add navigation ARIA landmark to doc ToC (Rich Trott) #49882
- [a60fbf2ab3] - doc: mark Node.js 19 as End-of-Life (Richard Lau) #48283
- [c255575699] - errors: improve performance of determine-specific-type (Aras Abbasi) #49696
- [e66991e6b2] - errors: improve formatList in errors.js (Aras Abbasi) #49642
- [c71e548b65] - errors: improve performance of instantiation (Aras Abbasi) #49654
- [3b867e4256] - esm: do not give wrong hints when detecting file format (Antoine du Hamel) #50314
- [a589a1a905] - (SEMVER-MINOR) esm: detect ESM syntax in ambiguous JavaScript (Geoffrey Booth) #50096
- [c64490e9aa] - esm: improve check for ESM syntax (Geoffrey Booth) #50127
- [ee65e44c31] - esm: use import attributes instead of import assertions (Antoine du Hamel) #50140
- [4de838fdeb] - esm: bypass CommonJS loader under --default-type (Geoffrey Booth) #49986
- [27e02b633d] - esm: unflag extensionless javascript and wasm in module scope (Geoffrey Booth) #49974
- [1e762ddf63] - esm: improve getFormatOfExtensionlessFile speed (Yagiz Nizipli) #49965
- [112cc7f9f2] - esm: improve JSDoc annotation of internal functions (Antoine du Hamel) #49959
- [c48cd84188] - esm: fix cache collision on JSON files using file: URL (Antoine du Hamel) #49887
- [dc80ccef25] - esm: --experimental-default-type flag to flip module defaults (Geoffrey Booth) #49869
- [01039795a2] - esm: require braces for modules code (Geoffrey Booth) #49657
- [e49ebf8f9a] - fs: improve error performance for readSync (Jungku Lee) #50033
- [eb33f70260] - fs: improve error performance for fsyncSync (Jungku Lee) #49880
- [8d0edc6399] - fs: improve error performance for mkdirSync (CanadaHonk) #49847
- [36df27509e] - fs: improve error performance of realpathSync (Yagiz Nizipli) #49962
- [4242cb7d7f] - fs: improve error performance of lchownSync (Yagiz Nizipli) #49962
- [89e7878e44] - fs: improve error performance of symlinkSync (Yagiz Nizipli) #49962
- [af6a0611fe] - fs: improve error performance of readlinkSync (Yagiz Nizipli) #49962
- [12cda31c52] - fs: improve error performance of mkdtempSync (Yagiz Nizipli) #49962
- [9dba771acb] - fs: improve error performance of linkSync (Yagiz Nizipli) #49962
- [ea7902de13] - fs: improve error performance of chownSync (Yagiz Nizipli) #49962
- [39f31a38cf] - fs: improve error performance of renameSync (Yagiz Nizipli) #49962
- [35164fa466] - (SEMVER-MINOR) fs: add flush option to appendFile() functions (Colin Ihrig) #50095
- [06aa4b9fe9] - fs: improve error performance of readdirSync (Yagiz Nizipli) #50131
- [b5aecebcd6] - fs: fix unlinkSync typings (Yagiz Nizipli) #49859
- [6ddea07225] - fs: improve error perf of sync chmod+fchmod (CanadaHonk) #49859
- [841367078e] - fs: improve error perf of sync *times (CanadaHonk) #49864
- [eb52f73e3e] - fs: improve error performance of writevSync (IlyasShabi) #50038
- [d1aa62f1f5] - fs: add flush option to createWriteStream() (Colin Ihrig) #50093
- [57eb06edff] - fs: improve error performance for ftruncateSync (André Alves) #50032
- [22e3eb659a] - fs: add flush option to writeFile() functions (Colin Ihrig) #50009
- [d7132d9214] - fs: improve error performance for fdatasyncSync (Jungku Lee) #49898
- [bc2c0410d3] - fs: throw errors from sync branches instead of separate implementations (Joyee Cheung) #49913
- [f46bcf1749] - http: refactor to make servername option normalization testable (Rongjian Zhang) #38733
- [1bfcf817af] - http2: allow streams to complete gracefully after goaway (Michael Lumish) #50202
- [5c66ec9e66] - inspector: simplify dispatchProtocolMessage (Daniel Lemire) #49780
- [251ae1dd72] - lib: improve performance of validateStringArray and validateBooleanArray (Aras Abbasi) #49756
- [d9c791a508] - lib: fix compileFunction throws range error for negative numbers (Jithil P Ponnan) #49855
- [24cbc550c2] - lib: reduce overhead of validateObject (Vinicius Lourenço) #49928
- [b80e9497f3] - lib: make fetch sync and return a Promise (Matthew Aitken) #49936
- [d9eda6761b] - lib: fix primordials typings (Sam Verschueren) #49895
- [3e0d47c1f4] - lib: update params in jsdoc for HTTPRequestOptions (Jungku Lee) #49872
- [a01050dec4] - (SEMVER-MINOR) lib: add WebSocket client (Matthew Aitken) #49830
- [5bca8feed2] - lib,test: do not hardcode Buffer.kMaxLength (Michaël Zasso) #49876
- [e8ebed7a24] - meta: move Trott to TSC regular member (Rich Trott) #50297
- [27e957cea8] - meta: ping TSC for offboarding (Tobias Nießen) #50147
- [fab39062d5] - meta: bump actions/upload-artifact from 3.1.2 to 3.1.3 (dependabot[bot]) #50000
- [46ec82496c] - meta: bump actions/cache from 3.3.1 to 3.3.2 (dependabot[bot]) #50003
- [a634fb431e] - meta: bump github/codeql-action from 2.21.5 to 2.21.9 (dependabot[bot]) #50002
- [c221f72911] - meta: bump actions/checkout from 3.6.0 to 4.1.0 (dependabot[bot]) #50001
- [d356e5e395] - meta: update website team with new name (Rich Trott) #49883
- [2ff4e71452] - module: move helpers out of cjs loader (Geoffrey Booth) #49912
- [142ac3f82d] - module, esm: jsdoc for modules files (Geoffrey Booth) #49523
- [e2f0ef2a60] - node-api: update headers for better wasm support (Toyo Li) #49037
- [db2a07fcd6] - node-api: run finalizers directly from GC (Vladimir Morozov) #42651
- [c25716be8b] - os: cache homedir, remove getCheckedFunction (Aras Abbasi) #50037
- [e8f024b4db] - perf_hooks: reduce overhead of new user timings (Vinicius Lourenço) #49914
- [a517be0a5a] - perf_hooks: reducing overhead of performance observer entry list (Vinicius Lourenço) #50008
- [42e49ec381] - perf_hooks: reduce overhead of new resource timings (Vinicius Lourenço) #49837
- [c99e51ed1b] - src: generate default snapshot with --predictable (Joyee Cheung) #48749
- [47164e238f] - src: fix TLSWrap lifetime bug in ALPN callback (Ben Noordhuis) #49635
- [e1df69e73e] - src: set port in node_options to uint16_t (Yagiz Nizipli) #49151
- [1eb2af29b4] - src: name scoped lock (Mohammed Keyvanzadeh) #50010
- [5131fde655] - src: use exact return value for uv_os_getenv (Yagiz Nizipli) #49149
- [ba169be5ca] - src: move const variable in node_file.h to node_file.cc (Jungku Lee) #49688
- [5a2351d3ab] - src: remove unused variable (Michaël Zasso) #49665
- [f2f993a32f] - stream: simplify prefinish (Robert Nagy) #50204
- [6d7274e3ca] - stream: reduce scope of readable bitmap details (Robert Nagy) #49963
- [ffdc357167] - (SEMVER-MINOR) stream: allow pass stream class to stream.compose (Alex Yang) #50187
- [4861ad6431] - stream: call helper function from push and unshift (Raz Luvaton) #50173
- [e60b3ab31b] - stream: use private symbol for bitmap state (Robert Nagy) #49993
- [ecbfb23f6b] - stream: lazy allocate back pressure buffer (Robert Nagy) #50013
- [88c739bef4] - stream: avoid unnecessary drain for sync stream (Robert Nagy) #50014
- [4b27087b30] - stream: optimize Writable (Robert Nagy) #50012
- [def55f80a1] - stream: avoid tick in writable hot path (Robert Nagy) #49966
- [35ec93115d] - stream: writable state bitmap (Robert Nagy) #49899
- [6e0f0fafe4] - test: use ppc and ppc64 to skip SEA tests on PowerPC (Joyee Cheung) #50828
- [a528bbceca] - test: mark SEA tests as flaky on PowerPC (Joyee Cheung) #50750
- [4e34f9a26e] - test: relax version check with shared OpenSSL (Luigi Pinca) #50505
- [41ca1132eb] - test: fix crypto-dh error message for OpenSSL 3.x (Kerem Kat) #50395
- [a6a05e8a88] - test: fix testsuite against zlib version 1.3 (Dominique Leuenberger) #50364
- [8dd895e574] - test: replace forEach with for..of in test-process-env (Niya Shiyas) #49825
- [81886c66d1] - test: replace forEach with for..of in test-http-url (Niya Shiyas) #49840
- [7d8a18b257] - test: improve watch mode test (Moshe Atlow) #50319
- [baa04b79ca] - test: set test-watch-mode-inspect as flaky (Yagiz Nizipli) #50259
- [3d9130bc2e] - Revert "test: set test-esm-loader-resolve-type as flaky" (Antoine du Hamel) #50315
- [72626f9a35] - test: replace forEach with for..of in test-http-perf_hooks.js (Niya Shiyas) #49818
- [379a7255e8] - test: replace forEach with for..of in test-net-isipv4.js (Niya Shiyas) #49822
- [b55fcd75da] - test: deflake test-esm-loader-resolve-type (Antoine du Hamel) #50273
- [0134af3eeb] - test: replace forEach with for..of in test-http2-server (Niya Shiyas) #49819
- [8c15281d06] - test: replace forEach with for..of in test-http2-client-destroy.js (Niya Shiyas) #49820
- [c37a75a898] - test: update url web platform tests (Yagiz Nizipli) #50264
- [ab5985d0e9] - test: set test-emit-after-on-destroyed as flaky (Yagiz Nizipli) #50246
- [50181a19b8] - test: set inspector async stack test as flaky (Yagiz Nizipli) #50244
- [b9e0fed995] - test: set test-worker-nearheaplimit-deadlock flaky (StefanStojanovic) #50277
- [2cfc4007d1] - test: set test-cli-node-options as flaky (Yagiz Nizipli) #50296
- [788714b28f] - test: reduce the number of requests and parsers (Luigi Pinca) #50240
- [0dce19c8f6] - test: set crypto-timing test as flaky (Yagiz Nizipli) #50232
- [5d4b5ff1b8] - test: set test-structuredclone-* as flaky (Yagiz Nizipli) #50261
- [5c56081d67] - test: deflake test-loaders-workers-spawned (Antoine du Hamel) #50251
- [3441e1982d] - test: improve code coverage of diagnostics_channel (Jithil P Ponnan) #50053
- [696ba93329] - test: set test-esm-loader-resolve-type as flaky (Yagiz Nizipli) #50226
- [8b260c5d6b] - test: set inspector async hook test as flaky (Yagiz Nizipli) #50252
- [f3296d25e8] - test: skip test-benchmark-os.js on IBM i (Abdirahim Musse) #50208
- [fefe17b02e] - test: set parallel http server test as flaky (Yagiz Nizipli) #50227
- [228c87f329] - test: set test-worker-nearheaplimit-deadlock flaky (Stefan Stojanovic) #50238
- [c2c2506eab] - test: set test-runner-watch-mode as flaky (Yagiz Nizipli) #50221
- [16a07983d4] - test: set sea snapshot tests as flaky (Yagiz Nizipli) #50223
- [7cd406a0b8] - test: fix defect path traversal tests (Tobias Nießen) #50124
- [1cf3f8da32] - test: replace forEach with for..of in test-net-isipv6.js (Niya Shiyas) #49823
- [214997a99e] - test: reduce number of repetition in test-heapdump-shadowrealm.js (Chengzhong Wu) #50104
- [9d836516e6] - test: replace forEach with for..of in test-parse-args.mjs (Niya Shiyas) #49824
- [fee8b24603] - test: replace forEach() in test-net-perf_hooks with for of (Narcisa Codreanu) #49831
- [4c58b92ba8] - test: change forEach to for...of (Tiffany Lastimosa) #49799
- [01b01527d7] - test: update skip for moved test-wasm-web-api (Richard Lau) #49958
- [179e293103] - Revert "test: mark test-runner-output as flaky" (Luigi Pinca) #49905
- [829eb99afd] - test: disambiguate AIX and IBM i (Richard Lau) #48056
- [126407d438] - test: deflake test-perf-hooks.js (Joyee Cheung) #49892
- [393fd5b7c9] - test: migrate message error tests from Python to JS (Yiyun Lei) #49721
- [5dfe4236f8] - test: fix edge snapshot stack traces (Geoffrey Booth) #49659
- [d164e537bf] - test,crypto: update WebCryptoAPI WPT (Filip Skokan) #50039
- [55a03fedae] - test_runner: add test location for FileTests (Colin Ihrig) #49999
- [10b35cfb6e] - test_runner: replace spurious if with else (Colin Ihrig) #49943
- [27558c4314] - test_runner: catch reporter errors (Moshe Atlow) #49646
- [709c6c0cab] - (SEMVER-MINOR) test_runner, cli: add --test-concurrency flag (Colin Ihrig) #49996
- [64ef108dd9] - test_runner,test: fix flaky test-runner-cli-concurrency.js (Colin Ihrig) #50108
- [d2def152d9] - tls: reduce TLS 'close' event listener warnings (Tim Perry) #50136
- [294b650f5c] - tls: handle cases where the raw socket is destroyed (Luigi Pinca) #49980
- [52b5693949] - tls: ciphers allow bang syntax (Chemi Atlow) #49712
- [05ee35028b] - tools: update comment in update-uncidi.sh and acorn_version.h (Jungku Lee) #50175
- [35b160e6a3] - tools: refactor checkimports.py (Mohammed Keyvanzadeh) #50011
- [b959d36b77] - tools: fix comments referencing dep_updaters scripts (Keksonoid) #50165
- [bd5d5331b0] - tools: remove no-return-await lint rule (翠 / green) #50118
- [b9adf3d66e] - tools: update lint-md-dependencies (Node.js GitHub Bot) #50083
- [4978bdc4ec] - tools: update eslint to 8.51.0 (Node.js GitHub Bot) #50084
- [e323a367fd] - tools: remove genv8constants.py (Ben Noordhuis) #50023
- [1cc6cbff26] - tools: update eslint to 8.50.0 (Node.js GitHub Bot) #49989
- [924231be2a] - tools: update lint-md-dependencies (Node.js GitHub Bot) #49983
- [732b5661ea] - tools: add navigation ARIA landmark to generated API ToC (Rich Trott) #49882
- [353a14278e] - tools: update github_reporter to 1.5.3 (Node.js GitHub Bot) #49877
- [0aaab45d7c] - tools: improve macOS notarization process output readability (Ulises Gascón) #50389
- [ad326033e2] - tools: remove unused version function (Ulises Gascón) #50390
- [2f32472544] - tools: drop support for osx notarization with gon (Ulises Gascón) #50291
- [3b1c15aeb0] - tools: use osx notarytool for future releases (Ulises Gascon) #48701
- [0ddb87ede3] - typings: use Symbol.dispose and Symbol.asyncDispose in types (Niklas Mollenhauer) #50123
- [bf5b2115a0] - util: remove internal mime fns from benchmarks (Aras Abbasi) #50201
- [ac02cdb0ad] - util: lazy parse mime parameters (Aras Abbasi) #49889
- [9853fd96df] - vm: reject in importModuleDynamically without --experimental-vm-modules (Joyee Cheung) #50137
- [3697c19c80] - vm: use internal versions of compileFunction and Script (Joyee Cheung) #50137
- [56bbc30a44] - vm: unify host-defined option generation in vm.compileFunction (Joyee Cheung) #50137
- [57efd5292c] - (SEMVER-MINOR) vm: use import attributes instead of import assertions (Antoine du Hamel) #50141
- [17581c2716] - vm: use default HDO when importModuleDynamically is not set (Joyee Cheung) #49950
- [65e18aa8e7] - wasi: address coverity warning (Michael Dawson) #49866
- [5b695d6a8d] - wasi: fix up wasi tests for ibmi (Michael Dawson) #49953
- [b86e1f5cbd] - (SEMVER-MINOR) wasi: updates required for latest uvwasi version (Michael Dawson) #49908
- [b4d149b4d6] - worker: handle detached MessagePort from a different context (Juan José) #49150
- [f564ed4e05] - zlib: fix discovery of cpu-features.h for android (MatteoBax) #49828
New in Node.js 21.1.0 Current (Oct 24, 2023)
- Notable Changes:
- Automatically detect and run ESM syntax:
- The new flag --experimental-detect-module can be used to automatically run ES modules when their syntax can be detected. For “ambiguous” files, which are .js or extensionless files with no package.json with a type field, Node.js will parse the file to detect ES module syntax; if found, it will run the file as an ES module, otherwise it will run the file as a CommonJS module. The same applies to string input via --eval or STDIN.
- We hope to make detection enabled by default in a future version of Node.js. Detection increases startup time, so we encourage everyone — especially package authors — to add a type field to package.json, even for the default "type": "commonjs". The presence of a type field, or explicit extensions such as .mjs or .cjs, will opt out of detection.
- Other Notable Changes:
- [3729e33358] - doc: add H4ad to collaborators (Vinícius Lourenço) #50217
- [18862e4d5d] - (SEMVER-MINOR) fs: add flush option to appendFile() functions (Colin Ihrig) #50095
- [5a52c518ef] - (SEMVER-MINOR) lib: add navigator.userAgent (Yagiz Nizipli) #50200
- [789372a072] - (SEMVER-MINOR) stream: allow pass stream class to stream.compose (Alex Yang) #50187
- [f3a9ea0bc4] - stream: improve performance of readable stream reads (Raz Luvaton) #50173
- [dda33c2bf1] - vm: reject in importModuleDynamically without --experimental-vm-modules (Joyee Cheung) #50137
- [3999362c59] - vm: use internal versions of compileFunction and Script (Joyee Cheung) #50137
- [a54179f0e0] - vm: unify host-defined option generation in vm.compileFunction (Joyee Cheung) #50137
- Commits:
- [9cd68b9083] - buffer: remove unnecessary assignment in fromString (Tobias Nießen) #50199
- [a362c276ec] - crypto: ensure valid point on elliptic curve in SubtleCrypto.importKey (Filip Skokan) #50234
- [f4da308f8d] - deps: V8: cherry-pick f7d000a7ae7b (Luke Albao) #50302
- [269e268c38] - deps: update ada to 2.7.2 (Node.js GitHub Bot) #50338
- [03a31ce41e] - deps: update corepack to 0.22.0 (Node.js GitHub Bot) #50325
- [000531781b] - deps: update undici to 5.26.4 (Node.js GitHub Bot) #50274
- [f050668c14] - deps: update c-ares to 1.20.1 (Node.js GitHub Bot) #50082
- [ba258b682b] - deps: update c-ares to 1.20.0 (Node.js GitHub Bot) #50082
- [571f7ef1fa] - deps: patch V8 to 11.8.172.15 (Michaël Zasso) #50114
- [943047e800] - deps: V8: cherry-pick 25902244ad1a (Joyee Cheung) #50156
- [db2a1cf1cb] - doc: fix navigator.hardwareConcurrency example (Tobias Nießen) #50278
- [6e537aeb44] - doc: explain how to disable navigator (Geoffrey Booth) #50310
- [c40de82d62] - doc: add loong64 info into platform list (Shi Pujin) #50086
- [1c21a1880b] - doc: update release process LTS step (Richard Lau) #50299
- [2473aa3672] - doc: fix release process table of contents (Richard Lau) #50216
- [ce9d84eae3] - doc: update api stream.compose (Alex Yang) #50206
- [dacee4d9b5] - doc: add ReflectConstruct to known perf issues (Vinicius Lourenço) #50111
- [82363be2ac] - doc: fix typo in dgram docs (Peter Johnson) #50211
- [8c1a46c751] - doc: fix H4ad collaborator sort (Vinicius Lourenço) #50218
- [3729e33358] - doc: add H4ad to collaborators (Vinícius Lourenço) #50217
- [bac872cbd0] - doc: update release-stewards with last sec-release (Rafael Gonzaga) #50179
- [06b7724f14] - doc: add command to keep major branch sync (Rafael Gonzaga) #50102
- [47633ab086] - doc: add loong64 to list of architectures (Shi Pujin) #50172
- [1f40ca1b91] - doc: update security release process (Michael Dawson) #50166
- [998feda118] - esm: do not give wrong hints when detecting file format (Antoine du Hamel) #50314
- [e375063e01] - (SEMVER-MINOR) esm: detect ESM syntax in ambiguous JavaScript (Geoffrey Booth) #50096
- [c76eb27971] - esm: improve check for ESM syntax (Geoffrey Booth) #50127
- [7740bf820c] - esm: rename error code related to import attributes (Antoine du Hamel) #50181
- [0cc176ef25] - fs: improve error performance for readSync (Jungku Lee) #50033
- [5942edb774] - fs: improve error performance for fsyncSync (Jungku Lee) #49880
- [6ec5abadc0] - fs: improve error performance for mkdirSync (CanadaHonk) #49847
- [c5ff000cb1] - fs: improve error performance of realpathSync (Yagiz Nizipli) #49962
- [6eeaa02f5c] - fs: improve error performance of lchownSync (Yagiz Nizipli) #49962
- [dc9ac8d41c] - fs: improve error performance of symlinkSync (Yagiz Nizipli) #49962
- [bc6f279261] - fs: improve error performance of readlinkSync (Yagiz Nizipli) #49962
- [275987841e] - fs: improve error performance of mkdtempSync (Yagiz Nizipli) #49962
- [81f15274e2] - fs: improve error performance of linkSync (Yagiz Nizipli) #49962
- [f766c04856] - fs: improve error performance of chownSync (Yagiz Nizipli) #49962
- [610036c67d] - fs: improve error performance of renameSync (Yagiz Nizipli) #49962
- [18862e4d5d] - (SEMVER-MINOR) fs: add flush option to appendFile() functions (Colin Ihrig) #50095
- [3f8cbb15cb] - http2: allow streams to complete gracefully after goaway (Michael Lumish) #50202
- [1464eba1a0] - lib: improve performance of validateStringArray and validateBooleanArray (Aras Abbasi) #49756
- [5a52c518ef] - (SEMVER-MINOR) lib: add navigator.userAgent (Yagiz Nizipli) #50200
- [b6021ab8f6] - lib: reduce overhead of blob clone (Vinicius Lourenço) #50110
- [be19d9baa1] - meta: move Trott to TSC regular member (Rich Trott) #50297
- [91e373f8e9] - node-api: return napi_exception_pending on proxy handlers (Chengzhong Wu) #48607
- [531a3ae4b5] - stream: simplify prefinish (Robert Nagy) #50204
- [514ac86579] - stream: reduce scope of readable bitmap details (Robert Nagy) #49963
- [789372a072] - (SEMVER-MINOR) stream: allow pass stream class to stream.compose (Alex Yang) #50187
- [f3a9ea0bc4] - stream: call helper function from push and unshift (Raz Luvaton) #50173
- [a9ca7b32e7] - test: improve watch mode test (Moshe Atlow) #50319
- [63b7059efd] - test: set test-watch-mode-inspect as flaky (Yagiz Nizipli) #50259
- [7f87084b05] - Revert "test: set test-esm-loader-resolve-type as flaky" (Antoine du Hamel) #50315
- [4d390e2de4] - test: replace forEach with for..of in test-http-perf_hooks.js (Niya Shiyas) #49818
- [67c599ec39] - test: replace forEach with for..of in test-net-isipv4.js (Niya Shiyas) #49822
- [19d3ce2494] - test: deflake test-esm-loader-resolve-type (Antoine du Hamel) #50273
- [2d8d6c5701] - test: replace forEach with for..of in test-http2-server (Niya Shiyas) #49819
- [af31d51e5a] - test: replace forEach with for..of in test-http2-client-destroy.js (Niya Shiyas) #49820
- [465ad2a5ce] - test: update url web platform tests (Yagiz Nizipli) #50264
- [3b80a6894c] - test: set test-emit-after-on-destroyed as flaky (Yagiz Nizipli) #50246
- [57adbdd156] - test: set inspector async stack test as flaky (Yagiz Nizipli) #50244
- [6507f66404] - test: set test-worker-nearheaplimit-deadlock flaky (StefanStojanovic) #50277
- [21a6ba548d] - test: set test-cli-node-options as flaky (Yagiz Nizipli) #50296
- [c55f8f30cb] - test: reduce the number of requests and parsers (Luigi Pinca) #50240
- [5129bedfa2] - test: set crypto-timing test as flaky (Yagiz Nizipli) #50232
- [9bc5ab5e07] - test: set test-structuredclone-* as flaky (Yagiz Nizipli) #50261
- [317e447ddc] - test: deflake test-loaders-workers-spawned (Antoine du Hamel) #50251
- [0c710daae2] - test: improve code coverage of diagnostics_channel (Jithil P Ponnan) #50053
- [7c6e4d7ec3] - test: set test-esm-loader-resolve-type as flaky (Yagiz Nizipli) #50226
- [c8744909b0] - test: set inspector async hook test as flaky (Yagiz Nizipli) #50252
- [3e38001739] - test: skip test-benchmark-os.js on IBM i (Abdirahim Musse) #50208
- [dd66fdfb7b] - test: set parallel http server test as flaky (Yagiz Nizipli) #50227
- [a38d1311bf] - test: set test-worker-nearheaplimit-deadlock flaky (Stefan Stojanovic) #50238
- [8efb75fd80] - test: set test-runner-watch-mode as flaky (Yagiz Nizipli) #50221
- [143ddded74] - test: set sea snapshot tests as flaky (Yagiz Nizipli) #50223
- [ae905a8f35] - test: fix defect path traversal tests (Tobias Nießen) #50124
- [ce27ee701b] - tls: reduce TLS 'close' event listener warnings (Tim Perry) #50136
- [ab4bae8e1f] - tools: drop support for osx notarization with gon (Ulises Gascón) #50291
- [5df3d5abcc] - tools: update comment in update-uncidi.sh and acorn_version.h (Jungku Lee) #50175
- [bf7b94f0b3] - tools: refactor checkimports.py (Mohammed Keyvanzadeh) #50011
- [5dc454a837] - util: remove internal mime fns from benchmarks (Aras Abbasi) #50201
- [8f7eb15603] - vm: use import attributes instead of import assertions (Antoine du Hamel) #50141
- [dda33c2bf1] - vm: reject in importModuleDynamically without --experimental-vm-modules (Joyee Cheung) #50137
- [3999362c59] - vm: use internal versions of compileFunction and Script (Joyee Cheung) #50137
- [a54179f0e0] - vm: unify host-defined option generation in vm.compileFunction (Joyee Cheung) #50137
- [87be790fa9] - worker: handle detached MessagePort from a different context (Juan José) #49150
New in Node.js 21.0.0 Current (Oct 17, 2023)
- We're excited to announce the release of Node.js 21! Highlights include updates of the V8 JavaScript engine to 11.8, stable fetch and WebStreams, a new experimental flag to change the interpretation of ambiguous code from CommonJS to ES modules (--experimental-default-type), many updates to our test runner, and more!
- Node.js 21 will replace Node.js 20 as our ‘Current’ release line when Node.js 20 enters long-term support (LTS) later this month. As per the release schedule, Node.js 21 will be ‘Current' release for the next 6 months, until April 2024.
- Other Notable Changes:
- [740ca5423a] - doc: promote fetch/webstreams from experimental to stable (Steven) #45684
- [85301803e1] - esm: --experimental-default-type flag to flip module defaults (Geoffrey Booth) #49869
- [705e623ac4] - esm: remove globalPreload hook (superseded by initialize) (Jacob Smith) #49144
- [e01c1d700d] - fs: add flush option to writeFile() functions (Colin Ihrig) #50009
- [1948dce707] - (SEMVER-MAJOR) fs: add globSync implementation (Moshe Atlow) #47653
- [e28dbe1c2b] - (SEMVER-MINOR) lib: add WebSocket client (Matthew Aitken) #49830
- [95b8f5dcab] - stream: optimize Writable (Robert Nagy) #50012
- [7cd4e70948] - (SEMVER-MAJOR) test_runner: support passing globs (Moshe Atlow) #47653
- [1d220b55ac] - vm: use default HDO when importModuleDynamically is not set (Joyee Cheung) #49950
- Semver-Major Commits:
- [ac2a68c76b] - (SEMVER-MAJOR) build: drop support for Visual Studio 2019 (Michaël Zasso) #49051
- [4e3983031a] - (SEMVER-MAJOR) build: bump supported macOS and Xcode versions (Michaël Zasso) #49164
- [5a0777776d] - (SEMVER-MAJOR) crypto: do not overwrite _writableState.defaultEncoding (Tobias Nießen) #49140
- [162a0652ab] - (SEMVER-MAJOR) deps: bump minimum ICU version to 73 (Michaël Zasso) #49639
- [17a74ddd3d] - (SEMVER-MAJOR) deps: update V8 to 11.8.172.13 (Michaël Zasso) #49639
- [e9ff81016d] - (SEMVER-MAJOR) deps: update llhttp to 9.1.2 (Paolo Insogna) #48981
- [7ace5aba75] - (SEMVER-MAJOR) events: validate options of on and once (Deokjin Kim) #46018
- [b3ec13d449] - (SEMVER-MAJOR) fs: adjust position validation in reading methods (Livia Medeiros) #42835
- [1948dce707] - (SEMVER-MAJOR) fs: add globSync implementation (Moshe Atlow) #47653
- [d68d0eacaa] - (SEMVER-MAJOR) http: reduce parts in chunked response when corking (Robert Nagy) #50167
- [c5b0b894ed] - (SEMVER-MAJOR) lib: mark URL/URLSearchParams as uncloneable and untransferable (Chengzhong Wu) #47497
- [3205b1936a] - (SEMVER-MAJOR) lib: remove aix directory case for package reader (Yagiz Nizipli) #48605
- [b40f0c3074] - (SEMVER-MAJOR) lib: add navigator.hardwareConcurrency (Yagiz Nizipli) #47769
- [4b08c4c047] - (SEMVER-MAJOR) lib: runtime deprecate punycode (Yagiz Nizipli) #47202
- [3ce51ae9c0] - (SEMVER-MAJOR) module: harmonize error code between ESM and CJS (Antoine du Hamel) #48606
- [7202859402] - (SEMVER-MAJOR) net: do not treat server.maxConnections=0 as Infinity (ignoramous) #48276
- [c15bafdaf4] - (SEMVER-MAJOR) net: only defer _final call when connecting (Jason Zhang) #47385
- [6ffacbf0f9] - (SEMVER-MAJOR) node-api: rename internal NAPI_VERSION definition (Chengzhong Wu) #48501
- [11af089b14] - (SEMVER-MAJOR) src: update NODE_MODULE_VERSION to 120 (Michaël Zasso) #49639
- [d920b7c94b] - (SEMVER-MAJOR) src: throw DOMException on cloning non-serializable objects (Chengzhong Wu) #47839
- [64549731b6] - (SEMVER-MAJOR) src: throw DataCloneError on transfering untransferable objects (Chengzhong Wu) #47604
- [dac8de689b] - (SEMVER-MAJOR) stream: use private properties for strategies (Yagiz Nizipli) #47218
- [1fa084ecdf] - (SEMVER-MAJOR) stream: use private properties for encoding (Yagiz Nizipli) #47218
- [4e93247079] - (SEMVER-MAJOR) stream: use private properties for compression (Yagiz Nizipli) #47218
- [527589b755] - (SEMVER-MAJOR) test_runner: disallow array in run options (Raz Luvaton) #49935
- [7cd4e70948] - (SEMVER-MAJOR) test_runner: support passing globs (Moshe Atlow) #47653
- [2ef170254b] - (SEMVER-MAJOR) tls: use validateNumber for options.minDHSize (Deokjin Kim) #49973
- [092fb9f541] - (SEMVER-MAJOR) tls: use validateFunction for options.checkServerIdentity (Deokjin Kim) #49896
- [ccca547e28] - (SEMVER-MAJOR) util: runtime deprecate promisify-ing a function returning a Promise (Antoine du Hamel) #49609
- [4038cf0513] - (SEMVER-MAJOR) vm: freeze dependencySpecifiers array (Antoine du Hamel) #49720
- Semver-Minor Commits:
- [3227d7327c] - (SEMVER-MINOR) deps: update uvwasi to 0.0.19 (Node.js GitHub Bot) #49908
- [e28dbe1c2b] - (SEMVER-MINOR) lib: add WebSocket client (Matthew Aitken) #49830
- [9f9c58212e] - (SEMVER-MINOR) test_runner, cli: add --test-concurrency flag (Colin Ihrig) #49996
- [d37b0d267f] - (SEMVER-MINOR) wasi: updates required for latest uvwasi version (Michael Dawson) #49908
- Semver-Patch Commits:
- [33c87ec096] - benchmark: fix race condition on fs benchs (Vinicius Lourenço) #50035
- [3c0ec61c4b] - benchmark: add warmup to accessSync bench (Rafael Gonzaga) #50073
- [1a839f388e] - benchmark: improved config for blob,file benchmark (Vinícius Lourenço) #49730
- [86fe5a80f3] - benchmark: added new benchmarks for blob (Vinícius Lourenço) #49730
- [6322d4f587] - build: fix IBM i build with Python 3.9 (Richard Lau) #48056
- [17c55d176b] - build: reset embedder string to "-node.0" (Michaël Zasso) #49639
- [f10928f926] - crypto: use X509_ALGOR accessors instead of reaching into X509_ALGOR (David Benjamin) #50057
- [136a96722a] - crypto: account for disabled SharedArrayBuffer (Shelley Vohr) #50034
- [17b9925393] - crypto: return clear errors when loading invalid PFX data (Tim Perry) #49566
- [ca25d564c6] - deps: upgrade npm to 10.2.0 (npm team) #50027
- [f23a9353ae] - deps: update corepack to 0.21.0 (Node.js GitHub Bot) #50088
- [ceedb3a509] - deps: update simdutf to 3.2.18 (Node.js GitHub Bot) #50091
- [0522ac086c] - deps: update zlib to 1.2.13.1-motley-fef5869 (Node.js GitHub Bot) #50085
- [4f8c5829da] - deps: update googletest to 2dd1c13 (Node.js GitHub Bot) #50081
- [588784ea30] - deps: update undici to 5.25.4 (Node.js GitHub Bot) #50025
- [c9eef0c3c4] - deps: update googletest to e47544a (Node.js GitHub Bot) #49982
- [23cb478398] - deps: update ada to 2.6.10 (Node.js GitHub Bot) #49984
- [61411bb323] - deps: fix call to undeclared functions 'ntohl' and 'htons' (MatteoBax) #49979
- [49cf182e30] - deps: update ada to 2.6.9 (Node.js GitHub Bot) #49340
- [ceb6df0f22] - deps: update ada to 2.6.8 (Node.js GitHub Bot) #49340
- [b73e18b5dc] - deps: update ada to 2.6.7 (Node.js GitHub Bot) #49340
- [baf2256617] - deps: update ada to 2.6.5 (Node.js GitHub Bot) #49340
- [a20a328a9b] - deps: update ada to 2.6.3 (Node.js GitHub Bot) #49340
- [3838b579e4] - deps: V8: cherry-pick 8ec2651fbdd8 (Abdirahim Musse) #49862
- [668437ccad] - deps: V8: cherry-pick b60a03df4ceb (Joyee Cheung) #49491
- [f970087147] - deps: V8: backport 93b1a74cbc9b (Joyee Cheung) #49419
- [4531c154e5] - deps: V8: cherry-pick 8ec2651fbdd8 (Michaël Zasso) #49639
- [9ad0e2cacc] - deps: V8: cherry-pick 89b3702c92b0 (Michaël Zasso) #49639
- [dfc9c86868] - deps: V8: cherry-pick de9a5de2274f (Michaël Zasso) #49639
- [186b36efba] - deps: V8: cherry-pick b5b5d6c31bb0 (Michaël Zasso) #49639
- [867586ce95] - deps: V8: cherry-pick 93b1a74cbc9b (Michaël Zasso) #49639
- [4ad3479ba7] - deps: V8: cherry-pick 1a3ecc2483b2 (Michaël Zasso) #49639
- [660f902f16] - deps: patch V8 to avoid duplicated zlib symbol (Michaël Zasso) #49639
- [f7c1d410ad] - deps: remove usage of a C++20 feature from V8 (Michaël Zasso) #49639
- [9c4030bfb9] - deps: avoid compilation error with ASan (Michaël Zasso) #49639
- [5f05cc15e6] - deps: disable V8 concurrent sparkplug compilation (Michaël Zasso) #49639
- [42cd952dbd] - deps: silence irrelevant V8 warning (Michaël Zasso) #49639
- [88cf90f9c4] - deps: always define V8_EXPORT_PRIVATE as no-op (Michaël Zasso) #49639
- [8609915951] - doc: improve ccache explanation (Chengzhong Wu) #50133
- [91d21324a9] - doc: move danielleadams to TSC non-voting member (Danielle Adams) #50142
- [34fa7043a2] - doc: fix description of fs.readdir recursive option (RamdohokarAngha) #48902
- [81e4d2ec2f] - doc: mention files read before env setup (Rafael Gonzaga) #50072
- [0ce37ed8e9] - doc: move permission model to Active Development (Rafael Gonzaga) #50068
- [3c430212c3] - doc: add command to get patch minors and majors (Rafael Gonzaga) #50067
- [e43bf4c31d] - doc: use precise promise terminology in fs (Benjamin Gruenbaum) #50029
- [d3a5f1fb5f] - doc: use precise terminology in test runner (Benjamin Gruenbaum) #50028
- [24dea2348d] - doc: clarify explaination text on how to run the example (Anshul Sinha) #39020
- [f3ed57bd8b] - doc: reserve 119 for Electron 28 (David Sanders) #50020
- [85c09f178c] - doc: update Collaborator pronouns (Tierney Cyren) #50005
- [099e2f7bce] - doc: update link to Abstract Modules Records spec (Rich Trott) #49961
- [47b2883673] - doc: updated building docs for windows (Claudio W) #49767
- [7b624c30b2] - doc: update CHANGELOG_V20 about vm fixes (Joyee Cheung) #49951
- [1dc0667aa6] - doc: document dangerous symlink behavior (Tobias Nießen) #49154
- [bc056c2426] - doc: add main ARIA landmark to API docs (Rich Trott) #49882
- [f416a0f555] - doc: add navigation ARIA landmark to doc ToC (Rich Trott) #49882
- [740ca5423a] - doc: promote fetch/webstreams from experimental to stable (Steven) #45684
- [f802aa0645] - doc: fix 'partial' typo (Colin Ihrig) #48657
- [6fda81d4f5] - doc: mention Navigator is a partial implementation (Moshe Atlow) #48656
- [6aa2aeedcb] - doc: mark Node.js 19 as End-of-Life (Richard Lau) #48283
- [0ee9c83ffc] - errors: improve performance of determine-specific-type (Aras Abbasi) #49696
- [4f84a3d200] - errors: improve formatList in errors.js (Aras Abbasi) #49642
- [cc725a653a] - errors: improve performance of instantiation (Aras Abbasi) #49654
- [d1ef6aa2db] - esm: use import attributes instead of import assertions (Antoine du Hamel) #50140
- [19b470f866] - esm: bypass CommonJS loader under --default-type (Geoffrey Booth) #49986
- [9c683204db] - esm: unflag extensionless javascript and wasm in module scope (Geoffrey Booth) #49974
- [05be31d5de] - esm: improve getFormatOfExtensionlessFile speed (Yagiz Nizipli) #49965
- [aadfea4979] - esm: improve JSDoc annotation of internal functions (Antoine du Hamel) #49959
- [7f0e36af52] - esm: fix cache collision on JSON files using file: URL (Antoine du Hamel) #49887
- [85301803e1] - esm: --experimental-default-type flag to flip module defaults (Geoffrey Booth) #49869
- [f42a103991] - esm: require braces for modules code (Geoffrey Booth) #49657
- [705e623ac4] - esm: remove globalPreload hook (superseded by initialize) (Jacob Smith) #49144
- [18a818744f] - fs: improve error performance of readdirSync (Yagiz Nizipli) #50131
- [d3985296a9] - fs: fix unlinkSync typings (Yagiz Nizipli) #49859
- [6bc7fa7906] - fs: improve error perf of sync chmod+fchmod (CanadaHonk) #49859
- [6bd77db41f] - fs: improve error perf of sync *times (CanadaHonk) #49864
- [bf0f0789da] - fs: improve error performance of writevSync (IlyasShabi) #50038
- [8a49735bae] - fs: add flush option to createWriteStream() (Colin Ihrig) #50093
- [ed49722a8a] - fs: improve error performance for ftruncateSync (André Alves) #50032
- [e01c1d700d] - fs: add flush option to writeFile() functions (Colin Ihrig) #50009
- [f7a160d5b4] - fs: improve error performance for fdatasyncSync (Jungku Lee) #49898
- [813713f211] - fs: throw errors from sync branches instead of separate implementations (Joyee Cheung) #49913
- [b866e38192] - http: refactor to make servername option normalization testable (Rongjian Zhang) #38733
- [2990390359] - inspector: simplify dispatchProtocolMessage (Daniel Lemire) #49780
- [d4c5fe488e] - lib: fix compileFunction throws range error for negative numbers (Jithil P Ponnan) #49855
- [589ac5004c] - lib: faster internal createBlob (Vinícius Lourenço) #49730
- [952cf0d17a] - lib: reduce overhead of validateObject (Vinicius Lourenço) #49928
- [fa250fdec1] - lib: make fetch sync and return a Promise (Matthew Aitken) #49936
- [1b96975f27] - lib: fix primordials typings (Sam Verschueren) #49895
- [6aa7101960] - lib: update params in jsdoc for HTTPRequestOptions (Jungku Lee) #49872
- [a4fdb1abe0] - lib,test: do not hardcode Buffer.kMaxLength (Michaël Zasso) #49876
- [fd21429ef5] - lib: update usage of always on Atomics API (Michaël Zasso) #49639
- [bac85be22d] - meta: ping TSC for offboarding (Tobias Nießen) #50147
- [609b13e6c2] - meta: bump actions/upload-artifact from 3.1.2 to 3.1.3 (dependabot[bot]) #50000
- [3825464ef4] - meta: bump actions/cache from 3.3.1 to 3.3.2 (dependabot[bot]) #50003
- [49f0f9ca11] - meta: bump github/codeql-action from 2.21.5 to 2.21.9 (dependabot[bot]) #50002
- [f156427244] - meta: bump actions/checkout from 3.6.0 to 4.1.0 (dependabot[bot]) #50001
- [0fe673c7e6] - meta: update website team with new name (Rich Trott) #49883
- [51f4ff2450] - module: move helpers out of cjs loader (Geoffrey Booth) #49912
- [7517c9f95b] - module, esm: jsdoc for modules files (Geoffrey Booth) #49523
- [b55adfb4f1] - node-api: update headers for better wasm support (Toyo Li) #49037
- [b38e312486] - node-api: run finalizers directly from GC (Vladimir Morozov) #42651
- [0f0dd1a493] - os: cache homedir, remove getCheckedFunction (Aras Abbasi) #50037
- [0e507d30ac] - perf_hooks: reduce overhead of new user timings (Vinicius Lourenço) #49914
- [328bdac7f0] - perf_hooks: reducing overhead of performance observer entry list (Vinicius Lourenço) #50008
- [e6e320ecc7] - perf_hooks: reduce overhead of new resource timings (Vinicius Lourenço) #49837
- [971af4b211] - quic: fix up coverity warning in quic/session.cc (Michael Dawson) #49865
- [546797f2b1] - quic: prevent copying ngtcp2_cid (Tobias Nießen) #48561
- [ac6f594c97] - quic: address new coverity warning (Michael Dawson) #48384
- [4ee8ef269b] - quic: prevent copying ngtcp2_cid_token (Tobias Nießen) #48370
- [6d2811fbf2] - quic: add additional implementation (James M Snell) #47927
- [0b3fcfcf35] - quic: fix typo in endpoint.h (Tobias Nießen) #47911
- [76044c4e2b] - quic: add additional QUIC implementation (James M Snell) #47603
- [78a15702dd] - src: avoid making JSTransferable wrapper object weak (Chengzhong Wu) #50026
- [387e2929fe] - src: generate default snapshot with --predictable (Joyee Cheung) #48749
- [1643adf771] - src: fix TLSWrap lifetime bug in ALPN callback (Ben Noordhuis) #49635
- [66776d8665] - src: set port in node_options to uint16_t (Yagiz Nizipli) #49151
- [55ff64001a] - src: name scoped lock (Mohammed Keyvanzadeh) #50010
- [b903a710f4] - src: use exact return value for uv_os_getenv (Yagiz Nizipli) #49149
- [43500fa646] - src: move const variable in node_file.h to node_file.cc (Jungku Lee) #49688
- [36ab510da7] - src: remove unused variable (Michaël Zasso) #49665
- [23d65e7281] - src: revert IS_RELEASE to 0 (Rafael Gonzaga) #49084
- [38dee8a1c0] - src: distinguish HTML transferable and cloneable (Chengzhong Wu) #47956
- [586fcff061] - src: fix logically dead code reported by Coverity (Mohammed Keyvanzadeh) #48589
- [7f2c810814] - src,tools: initialize cppgc (Daryl Haresign) #45704
- [aad8002b88] - stream: use private symbol for bitmap state (Robert Nagy) #49993
- [a85e4186e5] - stream: reduce overhead of transfer (Vinicius Lourenço) #50107
- [e9bda11761] - stream: lazy allocate back pressure buffer (Robert Nagy) #50013
- [557044af40] - stream: avoid unnecessary drain for sync stream (Robert Nagy) #50014
- [95b8f5dcab] - stream: optimize Writable (Robert Nagy) #50012
- [5de25deeb9] - stream: avoid tick in writable hot path (Robert Nagy) #49966
- [53b5545672] - stream: writable state bitmap (Robert Nagy) #49899
- [d4e99b1a66] - stream: remove asIndexedPairs (Chemi Atlow) #48150
- [41e4174945] - test: replace forEach with for..of in test-net-isipv6.js (Niya Shiyas) #49823
- [f0e720a7fa] - test: add EOVERFLOW as an allowed error (Abdirahim Musse) #50128
- [224f3ae974] - test: reduce number of repetition in test-heapdump-shadowrealm.js (Chengzhong Wu) #50104
- [76004f3e56] - test: replace forEach with for..of in test-parse-args.mjs (Niya Shiyas) #49824
- [fce8fbadcd] - test: replace forEach with for..of in test-process-env (Niya Shiyas) #49825
- [24492476a7] - test: replace forEach with for..of in test-http-url (Niya Shiyas) #49840
- [2fe511ba23] - test: replace forEach() in test-net-perf_hooks with for of (Narcisa Codreanu) #49831
- [42c37f28e6] - test: change forEach to for...of (Tiffany Lastimosa) #49799
- [6c9625dca4] - test: update skip for moved test-wasm-web-api (Richard Lau) #49958
- [f05d6d090c] - Revert "test: mark test-runner-output as flaky" (Luigi Pinca) #49905
- [035e06317a] - test: disambiguate AIX and IBM i (Richard Lau) #48056
- [4d0aeed4a6] - test: deflake test-perf-hooks.js (Joyee Cheung) #49892
- [853f57239c] - test: migrate message error tests from Python to JS (Yiyun Lei) #49721
- [a71e3a65bb] - test: fix edge snapshot stack traces (Geoffrey Booth) #49659
- [6b76b7782c] - test: skip v8-updates/test-linux-perf (Michaël Zasso) #49639
- [c13c98dd38] - test: skip test-tick-processor-arguments on SmartOS (Michaël Zasso) #49639
- [738aa304b3] - test: adapt REPL test to V8 changes (Michaël Zasso) #49639
- [de5c009252] - test: adapt test-fs-write to V8 internal changes (Michaël Zasso) #49639
- [8c36168b42] - test: update flag to disable SharedArrayBuffer (Michaël Zasso) #49639
- [6ccb15f7ef] - test: adapt debugger tests to V8 11.4 (Philip Pfaffe) #49639
- [c5de3b49e8] - test,crypto: update WebCryptoAPI WPT (Filip Skokan) #50039
- [4b35a9cfda] - test_runner: add test location for FileTests (Colin Ihrig) #49999
- [c935d4c8fa] - test_runner: replace spurious if with else (Colin Ihrig) #49943
- [a4c7f81241] - test_runner: catch reporter errors (Moshe Atlow) #49646
- [bb52656fc6] - Revert "test_runner: run global after() hook earlier" (Joyee Cheung) #49110
- [6346bdc526] - test_runner: run global after() hook earlier (Colin Ihrig) #49059
- [0d8faf2952] - test_runner,test: fix flaky test-runner-cli-concurrency.js (Colin Ihrig) #50108
- [b1ada0ad55] - tls: handle cases where the raw socket is destroyed (Luigi Pinca) #49980
- [fae1af0a75] - tls: ciphers allow bang syntax (Chemi Atlow) #49712
- [766198b9e1] - tools: fix comments referencing dep_updaters scripts (Keksonoid) #50165
- [760b5dd259] - tools: remove no-return-await lint rule (翠 / green) #50118
- [a0a5b751fb] - tools: update lint-md-dependencies (Node.js GitHub Bot) #50083
- [69fb55e6b9] - tools: update eslint to 8.51.0 (Node.js GitHub Bot) #50084
- [f73650ea52] - tools: remove genv8constants.py (Ben Noordhuis) #50023
- [581434e54f] - tools: update eslint to 8.50.0 (Node.js GitHub Bot) #49989
- [344d3c4b7c] - tools: update lint-md-dependencies (Node.js GitHub Bot) #49983
- [7f06c270c6] - tools: add navigation ARIA landmark to generated API ToC (Rich Trott) #49882
- [e97d25687b] - tools: use osx notarytool for future releases (Ulises Gascon) #48701
- [3f1936f698] - tools: update github_reporter to 1.5.3 (Node.js GitHub Bot) #49877
- [8568de3da6] - tools: add new V8 headers to distribution (Michaël Zasso) #49639
- [86cb23d09f] - tools: update V8 gypfiles for 11.8 (Michaël Zasso) #49639
- [9c6219c7e2] - tools: update V8 gypfiles for 11.7 (Michaël Zasso) #49639
- [73ddf50163] - tools: update V8 gypfiles for 11.6 (Michaël Zasso) #49639
- [817ef255ea] - tools: update V8 gypfiles for 11.5 (Michaël Zasso) #49639
- [f34a3a9861] - tools: update V8 gypfiles for 11.4 (Michaël Zasso) #49639
- [9df864ddeb] - typings: use Symbol.dispose and Symbol.asyncDispose in types (Niklas Mollenhauer) #50123
- [54bb691c0b] - util: lazy parse mime parameters (Aras Abbasi) #49889
- [1d220b55ac] - vm: use default HDO when importModuleDynamically is not set (Joyee Cheung) #49950
- [c1a3a98560] - wasi: address coverity warning (Michael Dawson) #49866
- [9cb8eb7177] - wasi: fix up wasi tests for ibmi (Michael Dawson) #49953
- [16ac5e1ca8] - zlib: fix discovery of cpu-features.h for android (MatteoBax) #49828
New in Node.js 20.8.1 Current (Oct 16, 2023)
- Notable Changes:
- The following CVEs are fixed in this release:
- CVE-2023-44487: nghttp2 Security Release (High)
- CVE-2023-45143: undici Security Release (High)
- CVE-2023-39332: Path traversal through path stored in Uint8Array (High)
- CVE-2023-39331: Permission model improperly protects against path traversal (High)
- CVE-2023-38552: Integrity checks according to policies can be circumvented (Medium)
- CVE-2023-39333: Code injection via WebAssembly export names (Low)
- Commits:
- [c86883e844] - deps: update nghttp2 to 1.57.0 (James M Snell) #50121
- [2860631359] - deps: update undici to v5.26.3 (Matteo Collina) #50153
- [cd37838bf8] - lib: let deps require node prefixed modules (Matthew Aitken) #50047
- [f5c90b2951] - module: fix code injection through export names (Tobias Nießen) nodejs-private/node-private#461
- [fa5dae1944] - permission: fix Uint8Array path traversal (Tobias Nießen) nodejs-private/node-private#456
- [cd35275111] - permission: improve path traversal protection (Tobias Nießen) nodejs-private/node-private#456
- [a4cb7fc7c0] - policy: use tamper-proof integrity check function (Tobias Nießen) nodejs-private/node-private#462
New in Node.js 20.8.0 Current (Sep 30, 2023)
- Notable Changes:
- Stream performance improvements:
- Performance improvements to writable and readable streams, improving the creation and destruction by ±15% and reducing the memory overhead each stream takes in Node.js
- Contributed by Benjamin Gruenbaum in #49745 and Raz Luvaton in #49834.
- Performance improvements for readable webstream, improving readable stream async iterator consumption by ±140% and improving readable stream pipeTo consumption by ±60%
- Contributed by Raz Luvaton in #49662 and #49690.
- Rework of memory management in vm APIs with the importModuleDynamically option
- This rework addressed a series of long-standing memory leaks and use-after-free issues in the following APIs that support importModuleDynamically:
- vm.Script
- vm.compileFunction
- vm.SyntheticModule
- vm.SourceTextModule
- This should enable affected users to upgrade from older versions of Node.js.
- Contributed by Joyee Cheung in #48510.
- Other notable changes:
- [32d4d29d02] - deps: add v8::Object::SetInternalFieldForNodeCore() (Joyee Cheung) #49874
- [0e686d096b] - doc: deprecate fs.F_OK, fs.R_OK, fs.W_OK, fs.X_OK (Livia Medeiros) #49683
- [a5dd057540] - doc: deprecate util.toUSVString (Yagiz Nizipli) #49725
- [7b6a73172f] - doc: deprecate calling promisify on a function that returns a promise (Antoine du Hamel) #49647
- [1beefd5f16] - esm: set all hooks as release candidate (Geoffrey Booth) #49597
- [b0ce78a75b] - module: fix the leak in SourceTextModule and ContextifySript (Joyee Cheung) #48510
- [4e578f8ab1] - module: fix leak of vm.SyntheticModule (Joyee Cheung) #48510
- [69e4218772] - module: use symbol in WeakMap to manage host defined options (Joyee Cheung) #48510
- [14ece0aa76] - (SEMVER-MINOR) src: allow embedders to override NODE_MODULE_VERSION (Cheng Zhao) #49279
- [9fd67fbff0] - stream: use bitmap in writable state (Raz Luvaton) #49834
- [0ccd4638ac] - stream: use bitmap in readable state (Benjamin Gruenbaum) #49745
- [7c5e322346] - stream: improve webstream readable async iterator performance (Raz Luvaton) #49662
- [80b342cc38] - (SEMVER-MINOR) test_runner: accept testOnly in run (Moshe Atlow) #49753
- [17a05b141d] - (SEMVER-MINOR) test_runner: add junit reporter (Moshe Atlow) #49614
- Commits:
- [4879e3fbbe] - benchmark: add a benchmark for read() of ReadableStreams (Debadree Chatterjee) #49622
- [78a6c73157] - benchmark: shorten pipe-to by reducing number of chunks (Raz Luvaton) #49577
- [4126a6e4c9] - benchmark: fix webstream pipe-to (Raz Luvaton) #49552
- [6010a91825] - bootstrap: do not expand argv1 for snapshots (Joyee Cheung) #49506
- [8480280c4b] - bootstrap: only use the isolate snapshot when compiling code cache (Joyee Cheung) #49288
- [b30754aa87] - build: run embedtest using node executable (Joyee Cheung) #49506
- [31db0b8e2b] - build: add --write-snapshot-as-array-literals to configure.py (Joyee Cheung) #49312
- [6fcb51d3ba] - debugger: use internal/url.URL instead of url.parse (LiviaMedeiros) #49590
- [32d4d29d02] - deps: add v8::Object::SetInternalFieldForNodeCore() (Joyee Cheung) #49874
- [ad37cadc3f] - deps: V8: backport de9a5de2274f (Joyee Cheung) #49703
- [cdd1c66222] - deps: V8: cherry-pick b33bf2dfd261 (Joyee Cheung) #49703
- [61d18d6473] - deps: update undici to 5.24.0 (Node.js GitHub Bot) #49559
- [b8a4fef393] - deps: remove pthread-fixes.c from uv.gyp (Ben Noordhuis) #49744
- [6c86c0683c] - deps: update googletest to d1467f5 (Node.js GitHub Bot) #49676
- [1424404742] - deps: update nghttp2 to 1.56.0 (Node.js GitHub Bot) #49582
- [15b54ff95d] - deps: update googletest to 8a6feab (Node.js GitHub Bot) #49463
- [2ceab877c2] - deps: update corepack to 0.20.0 (Node.js GitHub Bot) #49464
- [4814872ddc] - doc: fix DEP0176 number (LiviaMedeiros) #49858
- [0e686d096b] - doc: deprecate fs.F_OK, fs.R_OK, fs.W_OK, fs.X_OK (Livia Medeiros) #49683
- [5877c403a2] - doc: add mertcanaltin as a triager (mert.altin) #49826
- [864fe56432] - doc: add git node backport way to the backporting guide (Raz Luvaton) #49760
- [e0f93492d5] - doc: improve documentation about ICU data fallback (Joyee Cheung) #49666
- [a5dd057540] - doc: deprecate util.toUSVString (Yagiz Nizipli) #49725
- [774c1cfd52] - doc: add missing function call to example for util.promisify (Jungku Lee) #49719
- [fe78a34845] - doc: update output of example in mimeParams.set() (Deokjin Kim) #49718
- [4175ea33bd] - doc: add missed inspect with numericSeparator to example (Deokjin Kim) #49717
- [3a88571972] - doc: fix history comments (Antoine du Hamel) #49701
- [db4ab1ccbb] - doc: add missing history info for import.meta.resolve (Antoine du Hamel) #49700
- [a304d1ee19] - doc: link maintaining deps to pull-request.md (Marco Ippolito) #49716
- [35294486ad] - doc: fix print results in events (Jungku Lee) #49548
- [9f0b0e15c9] - doc: alphabetize cli.md sections (Geoffrey Booth) #49668
- [7b6a73172f] - doc: deprecate calling promisify on a function that returns a promise (Antoine du Hamel) #49647
- [d316b32fff] - doc: update corepack.md to account for 0.20.0 changes (Antoine du Hamel) #49486
- [c2eac7dc7c] - doc: remove @anonrig from performance initiative (Yagiz Nizipli) #49641
- [3d839fbf87] - doc: mark Node.js 16 as End-of-Life (Richard Lau) #49651
- [53fb5aead8] - doc: save user preference for JS flavor (Vidar Eldøy) #49526
- [e3594d5658] - doc: update documentation for node:process warning (Shubham Pandey) #49517
- [8e033c3963] - doc: rename possibly confusing variable and CSS class (Antoine du Hamel) #49536
- [d0e0eb4bb3] - doc: update outdated history info (Antoine du Hamel) #49530
- [b4724e2e3a] - doc: close a parenthesis (Sébastien Règne) #49525
- [0471c5798e] - doc: cast GetInternalField() return type to v8::Value in addons.md (Joyee Cheung) #49439
- [9f8bea3dda] - doc: fix documentation for input option in child_process (Ariel Weiss) #49481
- [f3fea92f8a] - doc: fix missing imports in test.run code examples (Oshri Asulin) #49489
- [e426b77b67] - doc: fix documentation for fs.createWriteStream highWaterMark option (Mert Can Altın) #49456
- [2b119108ff] - doc: updated releasers instructions for node.js website (Claudio W) #49427
- [b9d4a80183] - doc: edit import.meta.resolve documentation (Antoine du Hamel) #49247
- [f67433f666] - doc,tools: switch to @node-core/utils (Michaël Zasso) #49851
- [142e256fc5] - errors: improve classRegExp in errors.js (Uzlopak) #49643
- [6377f1bce2] - errors: use determineSpecificType in more error messages (Antoine du Hamel) #49580
- [05f0fcb4c4] - esm: identify parent importing a url with invalid host (Jacob Smith) #49736
- [8a6f5fb8f3] - esm: fix return type of import.meta.resolve (Antoine du Hamel) #49698
- [a6140f1b8c] - esm: update loaders warning (Geoffrey Booth) #49633
- [521a9327e0] - esm: fix support for URL instances in register (Antoine du Hamel) #49655
- [3a9ea0925a] - esm: clarify ERR_REQUIRE_ESM errors (Daniel Compton) #49521
- [1beefd5f16] - esm: set all hooks as release candidate (Geoffrey Booth) #49597
- [be48267888] - esm: remove return value for Module.register (Antoine du Hamel) #49529
- [e74a075124] - esm: refactor test-esm-loader-resolve-type (Geoffrey Booth) #49493
- [17823b3533] - esm: refactor test-esm-named-exports (Geoffrey Booth) #49493
- [f34bd15ac1] - esm: refactor mocking test (Geoffrey Booth) #49465
- [ec323bbd99] - fs: replace SetMethodNoSideEffect in node_file (CanadaHonk) #49857
- [6acf800123] - fs: improve error performance for unlinkSync (CanadaHonk) #49856
- [31702c9403] - fs: improve readFileSync with file descriptors (Yagiz Nizipli) #49691
- [835f9fe7b9] - fs: fix file descriptor validator (Yagiz Nizipli) #49752
- [b618fe262f] - fs: improve error performance of opendirSync (Yagiz Nizipli) #49705
- [938471ef55] - fs: improve error performance of sync methods (Yagiz Nizipli) #49593
- [db3fc6d087] - fs: fix readdir and opendir recursive with unknown file types (William Marlow) #49603
- [0f020ed22d] - gyp: put cctest filenames in variables (Cheng Zhao) #49178
- [0ce1e94d12] - lib: update encoding sets in WHATWG API (Jungku Lee) #49610
- [efd6815a7a] - lib: fix internalBinding typings (Yagiz Nizipli) #49742
- [1287d5b74e] - lib: allow byob reader for 'blob.stream()' (Debadree Chatterjee) #49713
- [bbc710522d] - lib: reset the cwd cache before execution (Maël Nison) #49684
- [f62d649e4d] - lib: use internal fileURLToPath (Deokjin Kim) #49558
- [e515046941] - lib: use internal pathToFileURL (Livia Medeiros) #49553
- [00608e8070] - lib: check SharedArrayBuffer availability in freeze_intrinsics.js (Milan Burda) #49482
- [8bfbe7079c] - meta: fix linter error (Antoine du Hamel) #49755
- [58f7a9e096] - meta: add primordials strategic initiative (Benjamin Gruenbaum) #49706
- [5366027756] - meta: bump github/codeql-action from 2.21.2 to 2.21.5 (dependabot[bot]) #49438
- [fe26b74082] - meta: bump rtCamp/action-slack-notify from 2.2.0 to 2.2.1 (dependabot[bot]) #49437
- [b0ce78a75b] - module: fix the leak in SourceTextModule and ContextifySript (Joyee Cheung) #48510
- [4e578f8ab1] - module: fix leak of vm.SyntheticModule (Joyee Cheung) #48510
- [69e4218772] - module: use symbol in WeakMap to manage host defined options (Joyee Cheung) #48510
- [96874e8fbc] - node-api: enable uncaught exceptions policy by default (Chengzhong Wu) #49313
- [b931aeadfd] - perf_hooks: reduce overhead of new performance_entries (Vinicius Lourenço) #49803
- [ad043bac31] - process: add custom dir support for heapsnapshot-signal (Jithil P Ponnan) #47854
- [8a7c10194c] - repl: don't accumulate excess indentation in .load (Daniel X Moore) #49461
- [10a2adeed5] - src: improve error message when ICU data cannot be initialized (Joyee Cheung) #49666
- [ce37688bac] - src: remove unnecessary todo (Rafael Gonzaga) #49227
- [f611583b71] - src: use SNAPSHOT_SERDES to log snapshot ser/deserialization (Joyee Cheung) #49637
- [a597cb8457] - src: port Pipe to uv_pipe_bind2, uv_pipe_connect2 (Geoff Goodman) #49667
- [fb21062338] - src: set --rehash-snapshot explicitly (Joyee Cheung) #49556
- [14ece0aa76] - (SEMVER-MINOR) src: allow embedders to override NODE_MODULE_VERSION (Cheng Zhao) #49279
- [4b5e23c71b] - src: set ModuleWrap internal fields only once (Joyee Cheung) #49391
- [2d3f5c7cab] - src: fix fs_type_to_name default value (Mustafa Ateş Uzun) #49239
- [cfbcb1059c] - src: fix comment on StreamResource (rogertyang) #49193
- [39fb83ad16] - src: do not rely on the internal field being default to undefined (Joyee Cheung) #49413
- [9fd67fbff0] - stream: use bitmap in writable state (Raz Luvaton) #49834
- [0ccd4638ac] - stream: use bitmap in readable state (Benjamin Gruenbaum) #49745
- [b29d927010] - stream: improve readable webstream pipeTo (Raz Luvaton) #49690
- [7c5e322346] - stream: improve webstream readable async iterator performance (Raz Luvaton) #49662
- [be211ef818] - test: deflake test-vm-contextified-script-leak (Joyee Cheung) #49710
- [355f10dab2] - test: use checkIfCollectable in vm leak tests (Joyee Cheung) #49671
- [17cfc531aa] - test: add checkIfCollectable to test/common/gc.js (Joyee Cheung) #49671
- [e49a573752] - test: add os setPriority, getPriority test coverage (Wael) #38771
- [5f02711522] - test: deflake test-runner-output (Moshe Atlow) #49878
- [cd9754d6a7] - test: mark test-runner-output as flaky (Joyee Cheung) #49854
- [5ad00424dd] - test: use mustSucceed instead of mustCall (SiddharthDevulapalli) #49788
- [3db9b40081] - test: refactor test-readline-async-iterators into a benchmark (Shubham Pandey) #49237
- [2cc5ad7859] - Revert "test: mark test-http-regr-gh-2928 as flaky" (Luigi Pinca) #49708
- [e5185b053c] - test: use fs.constants for fs.access constants (Livia Medeiros) #49685
- [b9e5b43462] - test: deflake test-http-regr-gh-2928 (Luigi Pinca) #49574
- [1fffda504e] - test: fix argument computation in embedtest (Joyee Cheung) #49506
- [6e56f2db52] - test: skip test-child-process-stdio-reuse-readable-stdio on Windows (Joyee Cheung) #49621
- [ab3afb330d] - test: mark test-runner-watch-mode as flaky (Joyee Cheung) #49627
- [185d9b50db] - test: deflake test-tls-socket-close (Luigi Pinca) #49575
- [c70c74a9e6] - test: show more info on failure in test-cli-syntax-require.js (Joyee Cheung) #49561
- [ed7c6d1114] - test: mark test-http-regr-gh-2928 as flaky (Joyee Cheung) #49565
- [3599eebab9] - test: use spawnSyncAndExitWithoutError in sea tests (Joyee Cheung) #49543
- [f79b153e89] - test: use spawnSyncAndExitWithoutError in test/common/sea.js (Joyee Cheung) #49543
- [c079c73769] - test: use setImmediate() in test-heapdump-shadowrealm.js (Joyee Cheung) #49573
- [667a92493c] - test: skip test-child-process-pipe-dataflow.js on Windows (Joyee Cheung) #49563
- [91af0a9a3c] - Revert "test: ignore the copied entry_point.c" (Chengzhong Wu) #49515
- [567afc71b8] - test: avoid copying test source files (Chengzhong Wu) #49515
- [ced25a976d] - test: increase coverage of Module.register and initialize hook (Antoine du Hamel) #49532
- [be02fbdb8a] - test: isolate globalPreload tests (Geoffrey Booth) #49545
- [f214428845] - test: split test-crypto-dh to avoid timeout on slow machines in the CI (Joyee Cheung) #49492
- [3987094569] - test: make test-dotenv-node-options locale-independent (Livia Medeiros) #49470
- [34c1741792] - test: add test for urlstrings usage in node:fs (Livia Medeiros) #49471
- [c3c6c4f007] - test: make test-worker-prof more robust (Joyee Cheung) #49274
- [843df1a4da] - test,crypto: update WebCryptoAPI WPT (Filip Skokan) #49714
- [80b342cc38] - (SEMVER-MINOR) test_runner: accept testOnly in run (Moshe Atlow) #49753
- [76865515b9] - test_runner: fix test runner watch mode when no positional arguments (Moshe Atlow) #49578
- [17a05b141d] - (SEMVER-MINOR) test_runner: add junit reporter (Moshe Atlow) #49614
- [5672e38457] - test_runner: add jsdocs to mock.js (Caio Borghi) #49555
- [b4d42a8f2b] - test_runner: fix invalid timer call (Erick Wendel) #49477
- [f755e6786b] - test_runner: add jsdocs to MockTimers (Erick Wendel) #49476
- [e7285d4bf0] - test_runner: fix typescript coverage (Moshe Atlow) #49406
- [07a2e29bf3] - tools: support updating @reporters/github manually (Moshe Atlow) #49871
- [5ac6722031] - tools: skip ruff on tools/node_modules (Moshe Atlow) #49838
- [462228bd24] - tools: fix uvwasi updater (Michael Dawson) #49682
- [ff81bfb958] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #49679
- [08ffc6344c] - tools: restrict internal code from using public url module (LiviaMedeiros) #49590
- [728ebf6c97] - tools: update eslint to 8.49.0 (Node.js GitHub Bot) #49586
- [20d038ffb1] - tools: update lint-md-dependencies to [email protected] [email protected] (Node.js GitHub Bot) #49584
- [210c15bd12] - tools: allow passing absolute path of config.gypi in js2c (Cheng Zhao) #49162
- [e341efe173] - tools: configure never-stale label correctly (Michaël Zasso) #49498
- [a8a8a498ce] - tools: update doc dependencies (Node.js GitHub Bot) #49467
- [ac06607f9e] - typings: fix missing property in ExportedHooks (Antoine du Hamel) #49567
- [097b59807a] - url: improve invalid url performance (Yagiz Nizipli) #49692
- [7c2060cfac] - util: add getCwdSafe internal util fn (João Lenon) #48434
- [c23c60f545] - zlib: disable CRC32 SIMD optimization (Luigi Pinca) #49511
New in Node.js 20.6.1 Current (Sep 10, 2023)
- Commits:
- [8acbe6d8e8] - esm: fix loading of CJS modules from ESM (Antoine du Hamel) #49500
New in Node.js 20.6.0 Current (Sep 6, 2023)
- Notable changes:
- built-in .env file support:
- Starting from Node.js v20.6.0, Node.js supports .env files for configuring environment variables.
- Your configuration file should follow the INI file format, with each line containing a key-value pair for an environment variable. To initialize your Node.js application with predefined configurations, use the following CLI command: node --env-file=config.env index.js.
- For example, you can access the following environment variable using process.env.PASSWORD when your application is initialized: PASSWORD=nodejs
- In addition to environment variables, this change allows you to define your NODE_OPTIONS directly in the .env file, eliminating the need to include it in your package.json.
- This feature was contributed by Yagiz Nizipli in #48890.
- import.meta.resolve unflagged:
- In ES modules, import.meta.resolve(specifier) can be used to get an absolute URL string to which specifier resolves, similar to require.resolve in CommonJS. This aligns Node.js with browsers and other server-side runtimes.
- This feature was contributed by Guy Bedford in #49028
- New node:module API register for module customization hooks; new initialize hook:
- There is a new API register available on node:module to specify a file that exports module customization hooks, and pass data to the hooks, and establish communication channels with them. The “define the file with the hooks” part was previously handled by a flag --experimental-loader, but when the hooks moved into a dedicated thread in 20.0.0 there was a need to provide a way to communicate between the main (application) thread and the hooks thread. This can now be done by calling register from the main thread and passing data, including MessageChannel instances.
- We encourage users to migrate to an approach that uses --import with register, such as: node --import ./file-that-calls-register.js ./app.js
- Using --import ensures that the customization hooks are registered before any application code runs, even the entry point.
- This feature was contributed by Izaak Schroeder in #48842 and #48559
- Module customization load hook can now support CommonJS:
- Authors of module customization hooks can how handle both ES module and CommonJS sources in the load hook. This works for CommonJS modules referenced via either import or require, so long as the main entry point of the application is handled by the ES module loader (such as because the entry point is an ES module file, or if the --import flag is passed). This should simplify the customization of the Node.js module loading process, as package authors can customize more of Node.js without relying on deprecated APIs such as require.extensions.
- This feature was contributed by Antoine du Hamel in #47999
- Node.js C++ addons now have experimental support for cppgc (Oilpan), a C++ garbage collection library in V8:
- Now when Node.js starts up, it makes sure that there is a v8::CppHeap attached to the V8 isolate. This enables users to allocate in the v8::CppHeap using headers from V8, which are now also included into the Node.js headers available to addons. Note that since Node.js only bundles the cppgc library coming from V8, the ABI stability of cppgc is currently not guaranteed in semver-minor and -patch updates, but we do not expect the ABI to break often, as it has been stable and battle-tested in Chromium for years. We may consider including cppgc into the ABI stability guarantees when it gets enough adoption internally and externally.
- To help addon authors create JavaScript-to-C++ references of which V8's garbage collector can be aware, a helper function node::SetCppgcReference(isolate, js_object, cppgc_object) has been added to node.h. V8 may provide a native alternative in the future, which could then replace this Node.js-specific helper. In the mean time, users can use this API to avoid having to hard-code the layout of JavaScript wrapper objects. An example of how to create garbage-collected C++ objects in the unified heap and wrap it in a JavaScript object can be found in the Node.js addon tests.
- The existing node::ObjectWrap helper would continue to work, while cppgc-based object management serves as an alternative with some advantages mentioned in the V8 blog post about Oilpan.
- This feature was contributed by Daryl Haresign and Joyee Cheung in #48660 and #45704.
- Other notable changes:
- [d6862b085c] - deps: V8: cherry-pick 93275031284c (Joyee Cheung) #48660
- [00fc8bb8b3] - doc: add rluvaton to collaborators (Raz Luvaton) #49215
- [d649339abd] - doc: add new TSC members (Michael Dawson) #48841
- [67f9896247] - (SEMVER-MINOR) inspector: open add SymbolDispose (Chemi Atlow) #48765
- [5aef593db3] - module: implement register utility (João Lenon) #46826
- Commits:
- [771abcb5da] - benchmark: add benchmarks for the test_runner (Raz Luvaton) #48931
- [6b27bb0dab] - benchmark: add pm startup benchmark (Rafael Gonzaga) #48905
- [1f35c0ca55] - child_process: harden against prototype pollution (Livia Medeiros) #48726
- [d6862b085c] - deps: V8: cherry-pick 93275031284c (Joyee Cheung) #48660
- [f71e383948] - deps: update simdutf to 3.2.17 (Node.js GitHub Bot) #49019
- [e14f0456ae] - deps: update googletest to 7e33b6a (Node.js GitHub Bot) #49034
- [bfaa0fb500] - deps: update zlib to 1.2.13.1-motley-526382e (Node.js GitHub Bot) #49033
- [b79c652c85] - deps: update undici to 5.23.0 (Node.js GitHub Bot) #49021
- [6ead86145c] - deps: update googletest to c875c4e (Node.js GitHub Bot) #48964
- [4b0e50501e] - deps: update ada to 2.6.0 (Node.js GitHub Bot) #48896
- [d960ee0ba3] - deps: upgrade npm to 9.8.1 (npm team) #48838
- [d92b0139ca] - deps: update zlib to 1.2.13.1-motley-61dc0bd (Node.js GitHub Bot) #48788
- [2a7835c376] - deps: V8: cherry-pick 9f4b7699f68e (Joyee Cheung) #48830
- [c8e17829ac] - deps: V8: cherry-pick c1a54d5ffcd1 (Joyee Cheung) #48830
- [318e075b6f] - deps: update googletest to cc36671 (Node.js GitHub Bot) #48789
- [114e088267] - diagnostics_channel: fix last subscriber removal (Gabriel Schulhof) #48933
- [00fc8bb8b3] - doc: add rluvaton to collaborators (Raz Luvaton) #49215
- [21949c45b6] - doc: add print results for examples in WebStreams (Jungku Lee) #49143
- [032107a6fe] - doc: fix Type notation in webstreams (Deokjin Kim) #49121
- [91d41e7c5a] - doc: fix name of the flag in initialize() docs (Antoine du Hamel) #49158
- [aa4caf810e] - doc: make the NODE_VERSION_IS_RELEASE revert clear (Rafael Gonzaga) #49114
- [f888a1dbe3] - doc: update process.binding deprecation text (Tobias Nießen) #49086
- [89fa3faf92] - doc: update with latest security release (Rafael Gonzaga) #49085
- [3d36e7a941] - doc: add description for --port flag of node inspect (Michael Bianco) #48785
- [e9d9ca12a3] - doc: add missing period (Rich Trott) #49094
- [7e7b554de0] - doc: add ESM examples in http.md (btea) #47763
- [48f8ccfd54] - doc: detailed description of keystrokes Ctrl-Y and Meta-Y (Ray) #43529
- [195885c8f8] - doc: add "type" to test runner event details (Phil Nash) #49014
- [6ce25f8415] - doc: reserve 118 for Electron 27 (David Sanders) #49023
- [9c26c0f296] - doc: clarify use of process.env in worker threads on Windows (Daeyeon Jeong) #49008
- [7186e02aa0] - doc: remove v14 mention (Rafael Gonzaga) #49005
- [9641ac6c65] - doc: drop github actions check in sec release process (Rafael Gonzaga) #48978
- [f3d62abb19] - doc: improved joinDuplicateHeaders definition (Matteo Bianchi) #48859
- [0db104a08b] - doc: fix second parameter name of events.addAbortListener (Deokjin Kim) #48922
- [5173c559b7] - doc: add new reporter events to custom reporter examples (Chemi Atlow) #48903
- [660da785e6] - doc: run license-builder (github-actions[bot]) #48898
- [092f9fe92a] - doc: change duration to duration_ms on test documentation (Ardi_Nugraha) #48892
- [5e4730858d] - doc: improve requireHostHeader (Guido Penta) #48860
- [045e3c549a] - doc: add ver of 18.x where Node-api 9 is supported (Michael Dawson) #48876
- [c20d35df34] - doc: include experimental features assessment (Rafael Gonzaga) #48824
- [d649339abd] - doc: add new TSC members (Michael Dawson) #48841
- [aeac327f2b] - doc: refactor node-api support matrix (Michael Dawson) #48774
- [388c7d9232] - doc: declare path on example of async_hooks.executionAsyncId() (Deokjin Kim) #48556
- [fe20528c8e] - doc: remove the . in the end to reduce confusing (Jason) #48719
- [e69c8e173f] - doc: nodejs-social over nodejs/tweet (Rafael Gonzaga) #48769
- [ea547849fd] - doc: expand on squashing and rebasing to land a PR (Chengzhong Wu) #48751
- [31442b96a5] - esm: fix globalPreload warning (Antoine du Hamel) #49069
- [eb1215878b] - esm: unflag import.meta.resolve (Guy Bedford) #49028
- [57b24a34e6] - esm: import.meta.resolve exact module not found errors should return (Guy Bedford) #49038
- [f23b2a3066] - esm: protect ERR_UNSUPPORTED_DIR_IMPORT against prototype pollution (Antoine du Hamel) #49060
- [386e826a56] - esm: add initialize hook, integrate with register (Izaak Schroeder) #48842
- [74a2e1e0ab] - esm: fix typo parentUrl -> parentURL (Antoine du Hamel) #48999
- [0a4f7c669a] - esm: unflag Module.register and allow nested loader import() (Izaak Schroeder) #48559
- [a5597470ce] - esm: add back globalPreload tests and fix failing ones (Antoine du Hamel) #48779
- [d568600b42] - events: remove weak listener for event target (Raz Luvaton) #48952
- [3d942d9842] - fs: fix readdir recursive sync & callback (Ethan Arrowood) #48698
- [c14ff69d69] - fs: mention URL in NUL character error message (LiviaMedeiros) #48828
- [d634d781d7] - fs: make mkdtemp accept buffers and URL (LiviaMedeiros) #48828
- [4515a285a4] - fs: remove redundant nullCheck (Livia Medeiros) #48826
- [742597b14a] - http: start connections checking interval on listen (Paolo Insogna) #48611
- [67f9896247] - (SEMVER-MINOR) inspector: open add SymbolDispose (Chemi Atlow) #48765
- [b66a3c1c96] - lib: fix MIME overmatch in data URLs (André Alves) #49104
- [dca8678a22] - lib: fix to add resolve() before return at Blob.stream()'s source.pull() (bellbind) #48935
- [420b85c00f] - lib: remove invalid parameter to toASCII (Yagiz Nizipli) #48878
- [a12ce11b09] - lib,permission: drop repl autocomplete when pm enabled (Rafael Gonzaga) #48920
- [458eaf5e75] - meta: bump github/codeql-action from 2.20.1 to 2.21.2 (dependabot[bot]) #48986
- [4f88cb10e0] - meta: bump step-security/harden-runner from 2.4.1 to 2.5.0 (dependabot[bot]) #48985
- [22fc2a6ec6] - meta: bump actions/setup-node from 3.6.0 to 3.7.0 (dependabot[bot]) #48984
- [40103adabd] - meta: bump actions/setup-python from 4.6.1 to 4.7.0 (dependabot[bot]) #48983
- [84c0c6848c] - meta: add mailmap entry for atlowChemi (Chemi Atlow) #48810
- [1a6e9450b8] - module: make CJS load from ESM loader (Antoine du Hamel) #47999
- [a5322c4b4a] - module: ensure successful import returns the same result (Antoine du Hamel) #46662
- [5aef593db3] - module: implement register utility (João Lenon) #46826
- [015c4f788d] - node-api: avoid macro redefinition (Tobias Nießen) #48879
- [53ee98566b] - permission: move PrintTree into unnamed namespace (Tobias Nießen) #48874
- [30ea480135] - permission: fix data types in PrintTree (Tobias Nießen) #48770
- [8380800375] - readline: add paste bracket mode (Jakub Jankiewicz) #47150
- [bc009d0c10] - sea: add support for V8 bytecode-only caching (Darshan Sen) #48191
- [f2f4ce9e29] - src: use effective cppgc wrapper id to deduce non-cppgc id (Joyee Cheung) #48660
- [bf7ff369f6] - src: add built-in .env file support (Yagiz Nizipli) #48890
- [8d6948f8e2] - src: remove duplicated code in GenerateSingleExecutableBlob() (Jungku Lee) #49119
- [b030004cee] - src: refactor vector writing in snapshot builder (Joyee Cheung) #48851
- [497df8288d] - src: add ability to overload fast api functions (Yagiz Nizipli) #48993
- [e5b0dfa359] - src: remove redundant code for uv_handle_type (Jungku Lee) #49061
- [f126b9e3d1] - src: modernize use-equals-default (Jason) #48735
- [db4370fc3e] - src: avoid string copy in BuiltinLoader::GetBuiltinIds (Yagiz Nizipli) #48721
- [9d13503c4e] - src: fix callback_queue.h missing header (Jason) #48733
- [6c389df3aa] - src: cast v8::Object::GetInternalField() return value to v8::Value (Joyee Cheung) #48943
- [7b9adff0be] - src: do not pass user input to format string (Antoine du Hamel) #48973
- [e0fdb7b092] - src: remove ContextEmbedderIndex::kBindingDataStoreIndex (Joyee Cheung) #48836
- [578c3d1e14] - src: use ARES_SUCCESS instead of 0 (Hyunjin Kim) #48834
- [ed23426aac] - src: save the performance milestone time origin in the AliasedArray (Joyee Cheung) #48708
- [5dec186663] - src: support snapshot in single executable applications (Joyee Cheung) #46824
- [d759d4f631] - src: remove unnecessary temporary creation (Jason) #48734
- [409cc692db] - src: fix nullptr access on realm (Jan Olaf Krems) #48802
- [07d0fd61b1] - src: remove OnScopeLeaveImpl's move assignment overload (Jason) #48732
- [41cc3efa23] - src: use string_view for utf-8 string creation (Yagiz Nizipli) #48722
- [62a46d9335] - src,permission: restrict by default when pm enabled (Rafael Gonzaga) #48907
- [099159ce04] - src,tools: initialize cppgc (Daryl Haresign) #48660
- [600c08d197] - stream: improve WebStreams performance (Raz Luvaton) #49089
- [609b25fa99] - stream: implement ReadableStream.from (Debadree Chatterjee) #48395
- [750cca2738] - test: use tmpdir.resolve() (Livia Medeiros) #49128
- [6595367649] - test: use tmpdir.resolve() (Livia Medeiros) #49127
- [661b055e75] - test: use tmpdir.resolve() in fs tests (Livia Medeiros) #49126
- [b3c56d206f] - test: use tmpdir.resolve() in fs tests (Livia Medeiros) #49125
- [3ddb155d16] - test: fix assertion message in test_async.c (Tobias Nießen) #49146
- [1d17c1032d] - test: refactor test-esm-loader-hooks for easier debugging (Antoine du Hamel) #49131
- [13bd7a0293] - test: add tmpdir.resolve() (Livia Medeiros) #49079
- [89b1bce56d] - test: document fixtures.fileURL() (Livia Medeiros) #49083
- [2fcb855c76] - test: reduce flakiness of test-esm-loader-hooks (Antoine du Hamel) #49105
- [7816e040df] - test: stabilize the inspector-open-dispose test (Chemi Atlow) #49000
- [e70e9747e4] - test: print instruction for creating missing snapshot in assertSnapshot (Raz Luvaton) #48914
- [669ac03520] - test: add tmpdir.fileURL() (Livia Medeiros) #49040
- [b945d7be35] - test: use spawn and spawnPromisified instead of exec (Antoine du Hamel) #48991
- [b3a7427583] - test: refactor test-node-output-errors (Antoine du Hamel) #48992
- [6c3e5c4d69] - test: use fixtures.fileURL when appropriate (Antoine du Hamel) #48990
- [9138b78bcb] - test: validate error code rather than message (Antoine du Hamel) #48972
- [b4ca4a6f80] - test: fix snapshot tests when cwd contains spaces or backslashes (Antoine du Hamel) #48959
- [d4398d458c] - test: order common.mjs in ASCII order (Antoine du Hamel) #48960
- [b5991f5250] - test: fix some assumptions in tests (Antoine du Hamel) #48958
- [62e23f83f9] - test: improve internal/worker/io.js coverage (Yoshiki Kurihara) #42387
- [314bd6095c] - test: fix es-module/test-esm-initialization (Antoine du Hamel) #48880
- [3680a66df4] - test: validate host with commas on url.parse (Yagiz Nizipli) #48878
- [24c3742372] - test: delete test-net-bytes-per-incoming-chunk-overhead (Michaël Zasso) #48811
- [e01cce50f5] - test: skip experimental test with pointer compression (Colin Ihrig) #48738
- [d5e93b1074] - test: fix flaky test-string-decode.js on x86 (Stefan Stojanovic) #48750
- [9136667d7d] - test_runner: dont set exit code on todo tests (Moshe Atlow) #48929
- [52c94908c0] - test_runner: fix todo and only in spec reporter (Moshe Atlow) #48929
- [5ccfb8d515] - test_runner: unwrap error message in TAP reporter (Colin Ihrig) #48942
- [fa19b0ed05] - test_runner: add __proto__ null (Raz Luvaton) #48663
- [65d23940bf] - test_runner: fix async callback in describe not awaited (Raz Luvaton) #48856
- [4bd5e55b43] - test_runner: fix test_runner test:fail event type (Ethan Arrowood) #48854
- [41058beed8] - test_runner: call abort on test finish (Raz Luvaton) #48827
- [821b11a59f] - tls: fix bugs of double TLS (rogertyang) #48969
- [4439327e73] - tools: update lint-md-dependencies (Node.js GitHub Bot) #49122
- [21dc844309] - tools: use spec reporter in actions (Moshe Atlow) #49129
- [3471758696] - tools: use @reporters/github when running in github actions (Moshe Atlow) #49129
- [95a6e7661e] - tools: add @reporters/github to tools (Moshe Atlow) #49129
- [995cbf93eb] - tools: update eslint to 8.47.0 (Node.js GitHub Bot) #49124
- [ed065bc56e] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #49035
- [a5f37178ad] - tools: limit the number of auto start CIs (Antoine du Hamel) #49067
- [c1bd680f89] - tools: update eslint to 8.46.0 (Node.js GitHub Bot) #48966
- [e09a6b4821] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #48965
- [0cd2393bd9] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #48888
- [41929a2906] - tools: update lint-md-dependencies to @rollup/[email protected] (Node.js GitHub Bot) #48791
- [1761bdfbd9] - tools: update eslint to 8.45.0 (Node.js GitHub Bot) #48793
- [b82f05cc4b] - typings: update JSDoc for cwd in child_process (LiviaMedeiros) #49029
- [be7b511255] - typings: sync JSDoc with the actual implementation (Hyunjin Kim) #48853
- [45c860035d] - url: overload canParse V8 fast api method (Yagiz Nizipli) #48993
- [60d614157b] - url: fix isURL detection by checking path (Zhuo Zhang) #48928
- [b12c3b5240] - url: ensure getter access do not mutate observable symbols (Antoine du Hamel) #48897
- [30fb7b7535] - url: reduce pathToFileURL cpp calls (Yagiz Nizipli) #48709
- [c3dbd0c1e4] - util: use primordials.ArrayPrototypeIndexOf instead of mutable method (DaisyDogs07) #48586
- [b79b2927ca] - watch: decrease debounce rate (Moshe Atlow) #48926
- [a12996298e] - watch: use debounce instead of throttle (Moshe Atlow) #48926
New in Node.js 20.5.1 Current (Aug 9, 2023)
- Notable Changes:
- The following CVEs are fixed in this release:
- CVE-2023-32002: Policies can be bypassed via Module._load (High)
- CVE-2023-32558: process.binding() can bypass the permission model through path traversal (High)
- CVE-2023-32004: Permission model can be bypassed by specifying a path traversal sequence in a Buffer (High)
- CVE-2023-32006: Policies can be bypassed by module.constructor.createRequire (Medium)
- CVE-2023-32559: Policies can be bypassed via process.binding (Medium)
- CVE-2023-32005: fs.statfs can bypass the permission model (Low)
- CVE-2023-32003: fs.mkdtemp() and fs.mkdtempSync() can bypass the permission model (Low)
- OpenSSL Security Releases:
- OpenSSL security advisory 14th July.
- OpenSSL security advisory 19th July.
- OpenSSL security advisory 31st July
- Commits:
- [92300b51b4] - deps: update archs files for openssl-3.0.10+quic1 (Node.js GitHub Bot) #49036
- [559698abf2] - deps: upgrade openssl sources to quictls/openssl-3.0.10+quic1 (Node.js GitHub Bot) #49036
- [1bf3429e8e] - lib,permission: restrict process.binding when pm is enabled (RafaelGSS) nodejs-private/node-private#438
- [98a83a67e6] - permission: ensure to resolve path when calling mkdtemp (RafaelGSS) nodejs-private/node-private#464
- [1f0cde466b] - permission: handle buffer path on fs calls (RafaelGSS) nodejs-private/node-private#439
- [bd094d60ea] - permission: handle fstatfs and add pm supported list (RafaelGSS) nodejs-private/node-private#441
- [7337d21484] - policy: handle Module.constructor and main.extensions bypass (RafaelGSS) nodejs-private/node-private#417
- [cf348ec640] - policy: disable process.binding() when enabled (Tobias Nießen) nodejs-private/node-private#397
New in Node.js 20.5.0 Current (Jul 23, 2023)
- Notable Changes:
- [45be29d89f] - doc: add atlowChemi to collaborators (atlowChemi) #48757
- [a316808136] - (SEMVER-MINOR) events: allow safely adding listener to abortSignal (Chemi Atlow) #48596
- [986b46a567] - fs: add a fast-path for readFileSync utf-8 (Yagiz Nizipli) #48658
- [0ef73ff6f0] - (SEMVER-MINOR) test_runner: add shards support (Raz Luvaton) #48639
- Commits:
- [eb0aba59b8] - bootstrap: use correct descriptor for Symbol.{dispose,asyncDispose} (Jordan Harband) #48703
- [e2d0195dcf] - bootstrap: hide experimental web globals with flag kNoBrowserGlobals (Chengzhong Wu) #48545
- [67a1018389] - build: do not pass target toolchain flags to host toolchain (Ivan Trubach) #48597
- [7d843bb942] - child_process: use addAbortListener (atlowChemi) #48550
- [4e08160f8c] - child_process: support Symbol.dispose (Moshe Atlow) #48551
- [ef7728bf36] - deps: update nghttp2 to 1.55.1 (Node.js GitHub Bot) #48790
- [1454f02499] - deps: update nghttp2 to 1.55.0 (Node.js GitHub Bot) #48746
- [fa94debf46] - deps: update minimatch to 9.0.3 (Node.js GitHub Bot) #48704
- [c73cfcc144] - deps: update acorn to 8.10.0 (Node.js GitHub Bot) #48713
- [b7a076a052] - deps: V8: cherry-pick cb00db4dba6c (Keyhan Vakil) #48671
- [150e15536b] - deps: upgrade npm to 9.8.0 (npm team) #48665
- [c47b2cbd35] - dgram: socket add asyncDispose (atlowChemi) #48717
- [002ce31cca] - dgram: use addAbortListener (atlowChemi) #48550
- [45be29d89f] - doc: add atlowChemi to collaborators (atlowChemi) #48757
- [69b55d2261] - doc: fix ambiguity in http.md and https.md (an5er) #48692
- [caccb051c7] - doc: clarify transform._transform() callback argument logic (Rafael Sofi-zada) #48680
- [999ae0c8c3] - doc: fix copy node executable in Windows (Yoav Vainrich) #48624
- [7daefaeb44] - doc: drop of v20 changelog (Rafael Gonzaga) #48649
- [dd7ea3e1df] - doc: mention git node release prepare (Rafael Gonzaga) #48644
- [cc7809df21] - esm: fix emit deprecation on legacy main resolve (Antoine du Hamel) #48664
- [67b13d1dba] - events: fix bug listenerCount don't compare wrapped listener (yuzheng14) #48592
- [a316808136] - (SEMVER-MINOR) events: allow safely adding listener to abortSignal (Chemi Atlow) #48596
- [986b46a567] - fs: add a fast-path for readFileSync utf-8 (Yagiz Nizipli) #48658
- [e4333ac41f] - http2: use addAbortListener (atlowChemi) #48550
- [4a0b66e4f9] - http2: send RST code 8 on AbortController signal (Devraj Mehta) #48573
- [1295c76fce] - lib: use addAbortListener (atlowChemi) #48550
- [dff6c25a36] - meta: bump actions/checkout from 3.5.2 to 3.5.3 (dependabot[bot]) #48625
- [b5cb69ceaa] - meta: bump step-security/harden-runner from 2.4.0 to 2.4.1 (dependabot[bot]) #48626
- [332e480b46] - meta: bump ossf/scorecard-action from 2.1.3 to 2.2.0 (dependabot[bot]) #48628
- [25c5a0aaee] - meta: bump github/codeql-action from 2.3.6 to 2.20.1 (dependabot[bot]) #48627
- [6406f50ab1] - module: add SourceMap.lineLengths (Isaac Z. Schlueter) #48461
- [cfa69bd48c] - net: server add asyncDispose (atlowChemi) #48717
- [ac11264cc5] - net: use addAbortListener (atlowChemi) #48550
- [82d6b13bf6] - permission: add debug log when inserting fs nodes (Rafael Gonzaga) #48677
- [f4333b1cdd] - permission: v8.writeHeapSnapshot and process.report (Rafael Gonzaga) #48564
- [f691dca6c9] - readline: use addAbortListener (atlowChemi) #48550
- [227e6bd898] - src: pass syscall on fs.readFileSync fail operation (Yagiz Nizipli) #48815
- [a9a4b73653] - src: make BaseObject iteration order deterministic (Joyee Cheung) #48702
- [d99ea4845a] - src: remove kEagerCompile for CompileFunction (Keyhan Vakil) #48671
- [df363d0010] - src: deduplicate X509 getter implementations (Tobias Nießen) #48563
- [9cf2e1f55b] - src,lib: reducing C++ calls of esm legacy main resolve (Vinicius Lourenço) #48325
- [daeb21dde9] - stream: fix deadlock when pipeing to full sink (Robert Nagy) #48691
- [5a382d02d6] - stream: use addAbortListener (atlowChemi) #48550
- [6e82077dd4] - test: deflake test-net-throttle (Luigi Pinca) #48599
- [d378b2c822] - test: move test-net-throttle to parallel (Luigi Pinca) #48599
- [dfa0aee5bf] - Revert "test: remove test-crypto-keygen flaky designation" (Luigi Pinca) #48652
- [0ef73ff6f0] - (SEMVER-MINOR) test_runner: add shards support (Raz Luvaton) #48639
- [e2442bb7ef] - timers: support Symbol.dispose (Moshe Atlow) #48633
- [4398ade426] - tools: run fetch_deps.py with Python 3 (Richard Lau) #48729
- [38ce95d054] - tools: update doc to [email protected] [email protected] (Node.js GitHub Bot) #48714
- [b25e78a998] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #48705
- [a1f4ff7c59] - tools: update eslint to 8.44.0 (Node.js GitHub Bot) #48632
- [42dc6eb698] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #48631
- [07bfcc45ab] - url: fix canParse false value when v8 optimizes (Yagiz Nizipli) #48817
New in Node.js 20.3.1 Current (Jun 21, 2023)
- Notable Changes:
- The following CVEs are fixed in this release:
- CVE-2023-30581: mainModule.__proto__ Bypass Experimental Policy Mechanism (High)
- CVE-2023-30584: Path Traversal Bypass in Experimental Permission Model (High)
- CVE-2023-30587: Bypass of Experimental Permission Model via Node.js Inspector (High)
- CVE-2023-30582: Inadequate Permission Model Allows Unauthorized File Watching (Medium)
- CVE-2023-30583: Bypass of Experimental Permission Model via fs.openAsBlob() (Medium)
- CVE-2023-30585: Privilege escalation via Malicious Registry Key manipulation during Node.js installer repair process (Medium)
- CVE-2023-30586: Bypass of Experimental Permission Model via Arbitrary OpenSSL Engines (Medium)
- CVE-2023-30588: Process interuption due to invalid Public Key information in x509 certificates (Medium)
- CVE-2023-30589: HTTP Request Smuggling via Empty headers separated by CR (Medium)
- CVE-2023-30590: DiffieHellman does not generate keys after setting a private key (Medium)
- OpenSSL Security Releases:
- OpenSSL security advisory 28th March.
- OpenSSL security advisory 20th April.
- OpenSSL security advisory 30th May
- Commits:
- [dac08dafc9] - crypto: handle cert with invalid SPKI gracefully (Tobias Nießen) nodejs-private/node-private#393
- [d274c3babc] - crypto,https,tls: disable engines if perms enabled (Tobias Nießen) nodejs-private/node-private#409
- [5621c1de38] - deps: update archs files for openssl-3.0.9-quic1 (Node.js GitHub Bot) #48402
- [771caa9f1c] - deps: upgrade openssl sources to quictls/openssl-3.0.9-quic1 (Node.js GitHub Bot) #48402
- [0459bf9c99] - doc,test: clarify behavior of DH generateKeys (Tobias Nießen) nodejs-private/node-private#426
- [27e20501aa] - http: disable request smuggling via empty headers (Paolo Insogna) nodejs-private/node-private#427
- [9c17e335f1] - msi: do not create AppDataRoamingnpm (Tobias Nießen) nodejs-private/node-private#408
- [b51124c637] - permission: handle fs path traversal (RafaelGSS) nodejs-private/node-private#403
- [ebc5927adc] - permission: handle fs.openAsBlob (RafaelGSS) nodejs-private/node-private#405
- [c39a43bff5] - permission: handle fs.watchFile (RafaelGSS) nodejs-private/node-private#404
- [d0a8264ec9] - policy: handle mainModule.__proto__ bypass (RafaelGSS) nodejs-private/node-private#416
- [3df13d5a79] - src,permission: restrict inspector when pm enabled (RafaelGSS) nodejs-private/node-private#410
New in Node.js 20.0.0 Current (Apr 19, 2023)
- Notable Changes:
- Permission Model:
- Node.js now has an experimental feature called the Permission Model. It allows developers to restrict access to specific resources during program execution, such as file system operations, child process spawning, and worker thread creation. The API exists behind a flag --experimental-permission which when enabled will restrict access to all available permissions. By using this feature, developers can prevent their applications from accessing or modifying sensitive data or running potentially harmful code. More information about the Permission Model can be found in the Node.js documentation.
- The Permission Model was a contribution by Rafael Gonzaga in #44004.
- Custom ESM loader hooks run on dedicated thread:
- ESM hooks supplied via loaders (--experimental-loader=foo.mjs) now run in a dedicated thread, isolated from the main thread. This provides a separate scope for loaders and ensures no cross-contamination between loaders and application code.
- Synchronous import.meta.resolve():
- In alignment with browser behavior, this function now returns synchronously. Despite this, user loader resolve hooks can still be defined as async functions (or as sync functions, if the author prefers). Even when there are async resolve hooks loaded, import.meta.resolve will still return synchronously for application code.
- Contributed by Anna Henningsen, Antoine du Hamel, Geoffrey Booth, Guy Bedford, Jacob Smith, and Michaël Zasso in #44710
- V8 11.3:
- The V8 engine is updated to version 11.3, which is part of Chromium 113. This version includes three new features to the JavaScript API:
- String.prototype.isWellFormed and toWellFormed
- Methods that change Array and TypedArray by copy
- Resizable ArrayBuffer and growable SharedArrayBuffer
- RegExp v flag with set notation + properties of strings
- WebAssembly Tail Call
- The V8 update was a contribution by Michaël Zasso in #47251.
- Stable Test Runner:
- The recent update to Node.js, version 20, includes an important change to the test_runner module. The module has been marked as stable after a recent update. Previously, the test_runner module was experimental, but this change marks it as a stable module that is ready for production use.
- Contributed by Colin Ihrig in #46983
- Ada 2.0:
- Node.js v20 comes with the latest version of the URL parser, Ada. This update brings significant performance improvements to URL parsing, including enhancements to the url.domainToASCII and url.domainToUnicode functions in node:url.
- Ada 2.0 has been integrated into the Node.js codebase, ensuring that all parts of the application can benefit from the improved performance. Additionally, Ada 2.0 features a significant performance boost over its predecessor, Ada 1.0.4, while also eliminating the need for the ICU requirement for URL hostname parsing.
- Contributed by Yagiz Nizipli and Daniel Lemire in #47339
- Preparing single executable apps now requires injecting a Blob:
- Building a single executable app now requires injecting a blob prepared by Node.js from a JSON config instead of injecting the raw JS file. This opens up the possibility of embedding multiple co-existing resources into the SEA (Single Executable Apps).
- Contributed by Joyee Cheung in #47125
- Web Crypto API:
- Web Crypto API functions' arguments are now coerced and validated as per their WebIDL definitions like in other Web Crypto API implementations. This further improves interoperability with other implementations of Web Crypto API.
- This change was made by Filip Skokan in #46067.
- Official support for ARM64 Windows:
- Node.js now includes binaries for ARM64 Windows, allowing for native execution on the platform. The MSI, zip/7z packages, and executable are available from the Node.js download site along with all other platforms. The CI system was updated and all changes are now fully tested on ARM64 Windows, to prevent regressions and ensure compatibility.
- ARM64 Windows was upgraded to tier 2 support by Stefan Stojanovic in #47233.
- WASI version must now be specified:
- When new WASI() is called, the version option is now required and has no default value. Any code that relied on the default for the version will need to be updated to request a specific version.
- This change was made by Michael Dawson in #47391.
- Deprecations and Removals:
- [3bed5f11e0] - (SEMVER-MAJOR) url: runtime-deprecate url.parse() with invalid ports (Rich Trott) #45526
- url.parse() accepts URLs with ports that are not numbers. This behavior might result in host name spoofing with unexpected input. These URLs will throw an error in future versions of Node.js, as the WHATWG URL API does already. Starting with Node.js 20, these URLS cause url.parse() to emit a warning.
- Semver-Major Commits:
- [9fafb0a090] - (SEMVER-MAJOR) async_hooks: deprecate the AsyncResource.bind asyncResource property (James M Snell) #46432
- [1948d37595] - (SEMVER-MAJOR) buffer: check INSPECT_MAX_BYTES with validateNumber (Umuoy) #46599
- [7bc0e6a4e7] - (SEMVER-MAJOR) buffer: graduate File from experimental and expose as global (Khafra) #47153
- [671ffd7825] - (SEMVER-MAJOR) buffer: use min/max of validateNumber (Deokjin Kim) #45796
- [ab1614d280] - (SEMVER-MAJOR) build: reset embedder string to "-node.0" (Michaël Zasso) #47251
- [c1bcdbcf79] - (SEMVER-MAJOR) build: warn for gcc versions earlier than 10.1 (Richard Lau) #46806
- [649f68fc1e] - (SEMVER-MAJOR) build: reset embedder string to "-node.0" (Yagiz Nizipli) #45579
- [9374700d7a] - (SEMVER-MAJOR) crypto: remove DEFAULT_ENCODING (Tobias Nießen) #47182
- [1640aeb680] - (SEMVER-MAJOR) crypto: remove obsolete SSL_OP_* constants (Tobias Nießen) #47073
- [c2e4b1fa9a] - (SEMVER-MAJOR) crypto: remove ALPN_ENABLED (Tobias Nießen) #47028
- [3ef38c4bd7] - (SEMVER-MAJOR) crypto: use WebIDL converters in WebCryptoAPI (Filip Skokan) #46067
- [08af023b1f] - (SEMVER-MAJOR) crypto: runtime deprecate replaced rsa-pss keygen parameters (Filip Skokan) #45653
- [7eb0ac3cb6] - (SEMVER-MAJOR) deps: patch V8 to support compilation on win-arm64 (Michaël Zasso) #47251
- [a7c129f286] - (SEMVER-MAJOR) deps: silence irrelevant V8 warning (Michaël Zasso) #47251
- [6f5655a18e] - (SEMVER-MAJOR) deps: always define V8_EXPORT_PRIVATE as no-op (Michaël Zasso) #47251
- [f226350fcb] - (SEMVER-MAJOR) deps: update V8 to 11.3.244.4 (Michaël Zasso) #47251
- [d6dae7420e] - (SEMVER-MAJOR) deps: V8: cherry-pick f1c888e7093e (Michaël Zasso) #45579
- [56c436533e] - (SEMVER-MAJOR) deps: fix V8 build on Windows with MSVC (Michaël Zasso) #45579
- [51ab98c71b] - (SEMVER-MAJOR) deps: silence irrelevant V8 warning (Michaël Zasso) #45579
- [9f84d3eea8] - (SEMVER-MAJOR) deps: V8: fix v8-cppgc.h for MSVC (Jiawen Geng) #45579
- [f2318cd4b5] - (SEMVER-MAJOR) deps: fix V8 build issue with inline methods (Jiawen Geng) #45579
- [16e03e7968] - (SEMVER-MAJOR) deps: update V8 to 10.9.194.4 (Yagiz Nizipli) #45579
- [6473f5e7f7] - (SEMVER-MAJOR) doc: update toolchains used for Node.js 20 releases (Richard Lau) #47352
- [cc18fd9608] - (SEMVER-MAJOR) events: refactor to use validateNumber (Deokjin Kim) #45770
- [ff92b40ffc] - (SEMVER-MAJOR) http: close the connection after sending a body without declared length (Tim Perry) #46333
- [2a29df6464] - (SEMVER-MAJOR) http: keep HTTP/1.1 conns alive even if the Connection header is removed (Tim Perry) #46331
- [391dc74a10] - (SEMVER-MAJOR) http: throw error if options of http.Server is array (Deokjin Kim) #46283
- [ed3604cd64] - (SEMVER-MAJOR) http: server check Host header, to meet RFC 7230 5.4 requirement (wwwzbwcom) #45597
- [88d71dc301] - (SEMVER-MAJOR) lib: refactor to use min/max of validateNumber (Deokjin Kim) #45772
- [e4d641f02a] - (SEMVER-MAJOR) lib: refactor to use validators in http2 (Debadree Chatterjee) #46174
- [0f3e531096] - (SEMVER-MAJOR) lib: performance improvement on readline async iterator (Thiago Oliveira Santos) #41276
- [5b5898ac86] - (SEMVER-MAJOR) lib,src: update exit codes as per todos (Debadree Chatterjee) #45841
- [55321bafd1] - (SEMVER-MAJOR) net: enable autoSelectFamily by default (Paolo Insogna) #46790
- [2d0d99733b] - (SEMVER-MAJOR) process: remove process.exit(), process.exitCode coercion to integer (Daeyeon Jeong) #43716
- [dc06df31b6] - (SEMVER-MAJOR) readline: refactor to use validateNumber (Deokjin Kim) #45801
- [295b2f3ff4] - (SEMVER-MAJOR) src: update NODE_MODULE_VERSION to 115 (Michaël Zasso) #47251
- [3803b028dd] - (SEMVER-MAJOR) src: share common code paths for SEA and embedder script (Anna Henningsen) #46825
- [e8bddac3e9] - (SEMVER-MAJOR) src: apply ABI-breaking API simplifications (Anna Henningsen) #46705
- [f84de0ad4c] - (SEMVER-MAJOR) src: use uint32_t for process initialization flags enum (Anna Henningsen) #46427
- [a6242772ec] - (SEMVER-MAJOR) src: fix ArrayBuffer::Detach deprecation (Michaël Zasso) #45579
- [dd5c39a808] - (SEMVER-MAJOR) src: update NODE_MODULE_VERSION to 112 (Yagiz Nizipli) #45579
- [63eca7fec0] - (SEMVER-MAJOR) stream: validate readable defaultEncoding (Marco Ippolito) #46430
- [9e7093f416] - (SEMVER-MAJOR) stream: validate writable defaultEncoding (Marco Ippolito) #46322
- [fb91ee4f26] - (SEMVER-MAJOR) test: make trace-gc-flag tests less strict (Yagiz Nizipli) #45579
- [eca618071e] - (SEMVER-MAJOR) test: adapt test-v8-stats for V8 update (Michaël Zasso) #45579
- [c03354d3e0] - (SEMVER-MAJOR) test: test case for multiple res.writeHead and res.getHeader (Marco Ippolito) #45508
- [c733cc0c7f] - (SEMVER-MAJOR) test_runner: mark module as stable (Colin Ihrig) #46983
- [7ce223273d] - (SEMVER-MAJOR) tools: update V8 gypfiles for 11.1 (Michaël Zasso) #47251
- [ca4bd3023e] - (SEMVER-MAJOR) tools: update V8 gypfiles for 11.0 (Michaël Zasso) #47251
- [58b06a269a] - (SEMVER-MAJOR) tools: update V8 gypfiles (Michaël Zasso) #45579
- [027841c964] - (SEMVER-MAJOR) url: use private properties for brand check (Yagiz Nizipli) #46904
- [3bed5f11e0] - (SEMVER-MAJOR) url: runtime-deprecate url.parse() with invalid ports (Rich Trott) #45526
- [7c76fddf25] - (SEMVER-MAJOR) util,doc: mark parseArgs() as stable (Colin Ihrig) #46718
- [4b52727976] - (SEMVER-MAJOR) wasi: make version non-optional (Michael Dawson) #47391
- Semver-Minor Commits:
- [d4b440bfac] - (SEMVER-MINOR) fs: implement byob mode for readableWebStream() (Debadree Chatterjee) #46933
- [00c222593e] - (SEMVER-MINOR) src,process: add permission model (Rafael Gonzaga) #44004
- [978b57d750] - (SEMVER-MINOR) wasi: no longer require flag to enable wasi (Michael Dawson) #47286
- Semver-Patch Commits:
- [e50c6b9a22] - bootstrap: do not expand process.argv[1] for snapshot entry points (Joyee Cheung) #47466
- [c81e1143e4] - bootstrap: store internal loaders in C++ via a binding (Joyee Cheung) #47215
- [8e673bdb84] - build: add node-core-utils to setup (Jiawen Geng) #47442
- [5b561d72a6] - build: sync cares source change (Jiawen Geng) #47359
- [8e6ee53e4e] - build: remove non-exist build file (Jiawen Geng) #47361
- [9a4d21d1d9] - build, deps, tools: avoid excessive LTO (Konstantin Demin) #47313
- [48c01485cd] - crypto: replace THROW with CHECK for scrypt keylen (Tobias Nießen) #47407
- [4c1a27716b] - crypto: re-add padding for AES-KW wrapped JWKs (Filip Skokan) #46563
- [b66eb15d12] - deps: update simdutf to 3.2.7 (Node.js GitHub Bot) #47473
- [3fc11477ba] - deps: update corepack to 0.17.2 (Node.js GitHub Bot) #47474
- [c1776531ab] - deps: upgrade npm to 9.6.4 (npm team) #47432
- [e7ca09f310] - deps: update zlib to upstream 5edb52d4 (Luigi Pinca) #47151
- [88387ccd12] - deps: update ada to 2.0.0 (Node.js GitHub Bot) #47339
- [9f468cc37e] - deps: cherry-pick Windows ARM64 fix for openssl (Richard Lau) #46570
- [eeab210b1b] - deps: update archs files for quictls/openssl-3.0.8+quic (RafaelGSS) #46570
- [d93d7716c7] - deps: upgrade openssl sources to quictls/openssl-3.0.8+quic (RafaelGSS) #46571
- [0f69ec4dd7] - deps: patch V8 to 10.9.194.9 (Michaël Zasso) #45995
- [5890d09644] - deps: patch V8 to 10.9.194.6 (Michaël Zasso) #45748
- [c02a7e7e93] - diagnostics_channel: fix ref counting bug when reaching zero subscribers (Stephen Belanger) #47520
- [c7ad5bb37d] - doc: info on handling unintended breaking changes (Michael Dawson) #47426
- [7d2d40ed0d] - doc: add performance initiative (Yagiz Nizipli) #47424
- [d56c0f7318] - doc: do not create a backup file (Luigi Pinca) #47151
- [412d27b65b] - doc: add MoLow to the TSC (Colin Ihrig) #47436
- [f131cca0c0] - doc: reserve 116 for Electron 25 (Keeley Hammond) #47375
- [1022c6f424] - doc: add experimental stages (Geoffrey Booth) #46100
- [42d3d74717] - doc: clarify release notes for Node.js 16.19.0 (Richard Lau) #45846
- [533c6512da] - doc: clarify release notes for Node.js 14.21.2 (Richard Lau) #45846
- [97165fc1a6] - doc: fix doc metadata for Node.js 16.19.0 (Richard Lau) #45863
- [a266b8b702] - doc: add registry number for Electron 23 & 24 (Keeley Hammond) #45661
- [2613a9ced9] - esm: move hook execution to separate thread (Jacob Smith) #44710
- [841f6b3abf] - esm: increase test coverage of edge cases (Antoine du Hamel) #47033
- [0d575fe61a] - gyp: put filenames in variables (Cheng Zhao) #46965
- [41b186722c] - lib: distinguish webidl interfaces with the extended property "Exposed" (Chengzhong Wu) #46809
- [9b7db62276] - lib: makeRequireFunction patch when experimental policy (RafaelGSS) nodejs-private/node-private#358
- [d43b532789] - lib: refactor to use validateBuffer (Deokjin Kim) #46489
- [9a76a2521b] - meta: ping security-wg team on permission model changes (Rafael Gonzaga) #47483
- [a4dadde1ba] - meta: ping startup and realm team on src/node_realm* changes (Joyee Cheung) #47448
- [631c3ef3de] - module: do less CJS module loader initialization at run time (Joyee Cheung) #47194
- [8bcf0a42f7] - permission: fix chmod,chown improve fs coverage (Rafael Gonzaga) #47529
- [54d17ff4b5] - permission: support fs.mkdtemp (Rafael Gonzaga) #47470
- [b441b5dc65] - permission: drop process.permission.deny (Rafael Gonzaga) #47335
- [aa30e16716] - permission: fix some vulnerabilities in fs (Tobias Nießen) #47091
- [1726da9300] - permission: add path separator to loader check (Rafael Gonzaga) #47030
- [b164038c86] - permission: fix spawnSync permission check (RafaelGSS) #46975
- [af91400886] - policy: makeRequireFunction on mainModule.require (RafaelGSS) nodejs-private/node-private#358
- [f8b4e26aee] - quic: add more QUIC impl (James M Snell) #47348
- [d65ae9f678] - quic: add additional quic implementation utilities (James M Snell) #47289
- [9b104be502] - quic: do not dereference shared_ptr after move (Tobias Nießen) #47294
- [09a4bb152f] - quic: add multiple internal utilities (James M Snell) #47263
- [2bde0059ca] - sea: use JSON configuration and blob content for SEA (Joyee Cheung) #47125
- [78c7475493] - src: allow simdutf::convert_* functions to return zero (Daniel Lemire) #47471
- [5250947a53] - src: track ShadowRealm native objects correctly in the heap snapshot (Joyee Cheung) #47389
- [8059764621] - src: use the internal field to determine if an object is a BaseObject (Joyee Cheung) #47217
- [698508afa8] - src: bootstrap prepare stack trace callback in shadow realm (Chengzhong Wu) #47107
- [e6b4d30a2f] - src: bootstrap Web [Exposed=*] APIs in the shadow realm (Chengzhong Wu) #46809
- [3646a66044] - src: fix AliasedBuffer memory attribution in heap snapshots (Joyee Cheung) #46817
- [8b2126f63f] - src: move AliasedBuffer implementation to -inl.h (Joyee Cheung) #46817
- [3abbc3829a] - src: fix useless call in permission.cc (Tobias Nießen) #46833
- [7b1e153530] - src: simplify exit code accesses (Daeyeon Jeong) #45125
- [7359b92a41] - test: remove unnecessary status check on test-release-npm (RafaelGSS) #47516
- [a5a5d2fb7e] - test: mark test/parallel/test-file-write-stream4 as flaky (Yagiz Nizipli) #47423
- [81ad73a205] - test: remove unused callback variables (angellovc) #47167
- [757a586ead] - test: migrate test runner message tests to snapshot (Moshe Atlow) #47392
- [86f890539f] - test: remove stale entry from known_issues.status (Richard Lau) #47454
- [1f3773d0c1] - test: move more inspector sequential tests to parallel (Joyee Cheung) #47412
- [617b8d44c6] - test: use random port in test-inspector-enabled (Joyee Cheung) #47412
- [ade0170c4f] - test: use random port in test-inspector-debug-brk-flag (Joyee Cheung) #47412
- [1a78632cd3] - test: use random port in NodeInstance.startViaSignal() (Joyee Cheung) #47412
- [23f66b137e] - test: move test-shadow-realm-gc.js to known_issues (Joyee Cheung) #47355
- [9dfd0394c5] - test: remove useless WPT init scripts (Khafra) #47221
- [1cfe058778] - test: fix test-permission-deny-fs-wildcard (win32) (Tobias Nießen) #47095
- [b8ef1b476e] - test: add coverage for custom loader hooks with permission model (Antoine du Hamel) #46977
- [4a7c3e9c50] - test: fix file path in permission symlink test (Livia Medeiros) #46859
- [10005de6a8] - tools: make js2c.py usable for other build systems (Cheng Zhao) #46930
- [1e2f9aca72] - tools: move update-acorn.sh to dep_updaters and create maintaining md (Marco Ippolito) #47382
- [174662a463] - tools: update eslint to 8.38.0 (Node.js GitHub Bot) #47475
- [a58ca61f35] - tools: update eslint to 8.38.0 (Node.js GitHub Bot) #47475
- [37d12730ab] - tools: automate cjs-module-lexer dependency update (Marco Ippolito) #47446
- [4fbfa3c9f2] - tools: fix notify-on-push Slack messages (Antoine du Hamel) #47453
- [b1f2ff1242] - tools: update lint-md-dependencies to @rollup/[email protected] (Node.js GitHub Bot) #47431
- [26b2584b84] - tools: add root certificate update script (Richard Lau) #47425
- [553b052648] - tools: remove targets for individual test suites in Makefile (Antoine du Hamel) #46892
- [747ff43e5b] - url: more sophisticated brand check for URLSearchParams (Timothy Gu) #47414
- [e727eb066f] - url: do not use object as hashmap (Timothy Gu) #47415
- [81c7875eb7] - url: drop ICU requirement for parsing hostnames (Yagiz Nizipli) #47339
- [a4895df94a] - url: use ada::url_aggregator for parsing urls (Yagiz Nizipli) #47339
New in Node.js 19.8.1 Current (Mar 16, 2023)
- Notable Changes:
- This release contains a single revert of a change that was introduced in v19.8.0 and introduced application crashes.
- Fixes: #47096
- Commits:
- [f7c8aa4cf1] - Revert "vm: fix leak in vm.compileFunction when importModuleDynamically is used" (Michaël Zasso) #47101
New in Node.js 19.8.0 Current (Mar 15, 2023)
- Notable Changes:
- [2fece54ca1] - (SEMVER-MINOR) buffer: add Buffer.copyBytesFrom(...) (James M Snell) #46500
- [2eb887549a] - (SEMVER-MINOR) events: add listener argument to listenerCount (Paolo Insogna) #46523
- [c1651bea41] - (SEMVER-MINOR) lib: add AsyncLocalStorage.bind() and .snapshot() (flakey5) #46387
- [36f36b99b0] - (SEMVER-MINOR) src: add fs.openAsBlob to support File-backed Blobs (James M Snell) #45258
- [bb9b1c637d] - (SEMVER-MINOR) tls: support automatic DHE (Tobias Nießen) #46978
- [1e20b05acd] - (SEMVER-MINOR) url: implement URLSearchParams size getter (James M Snell) #46308
- [60e5f45141] - (SEMVER-MINOR) wasi: add support for version when creating WASI (Michael Dawson) #46469
- [a646a22d0f] - (SEMVER-MINOR) worker: add support for worker name in inspector and trace_events (Debadree Chatterjee) #46832
- [bd5ef380a5] - doc: add marco-ippolito to collaborators (Marco Ippolito) #46816
- Commits:
- [e11f08e2c2] - assert: fix exception message for assert(0) on try catch block (hidecology) #46760
- [a38de61e87] - assert: remove deprecated getFunction() usage (Ruben Bridgewater) #46661
- [e07c9b82b7] - assert,util: revert recursive breaking change (Ruben Bridgewater) #46593
- [7f85a2cb6f] - assert,util: improve deep equal comparison performance (Ruben Bridgewater) #46593
- [7cfd31a753] - benchmark: add a benchmark for URLSearchParams creation and toString() (Debadree Chatterjee) #46810
- [258d5f7b3c] - benchmark: replace table in docs with description of file tree structure (Theodor Steiner) #46991
- [0617c5e81b] - benchmark: stablize encode benchmark (Joyee Cheung) #46658
- [04166fe2fa] - benchmark: split Buffer.byteLength benchmark (Joyee Cheung) #46616
- [760a35144f] - benchmark: add benchmark for EventTarget add and remove (Debadree Chatterjee) #46779
- [9890eaa23d] - benchmark: fix worker startup benchmark (Joyee Cheung) #46680
- [86b36212f6] - benchmark: rework assert benchmarks for correctness (Ruben Bridgewater) #46593
- [cc74821477] - bootstrap: print stack trace during environment creation failure (Joyee Cheung) #46533
- [2fece54ca1] - (SEMVER-MINOR) buffer: add Buffer.copyBytesFrom(...) (James M Snell) #46500
- [b3e1034660] - buffer: use v8 fast API calls for Buffer.byteLength implementation (Joyee Cheung) #46616
- [4b3b009afd] - build: fix Visual Studio installation detection for Arm64 (Radek Bartoň) #46420
- [d4899b2b75] - build,test: add proper support for IBM i (Xu Meng) #46739
- [81592ff073] - child_process: add trailing commas in source files (Antoine du Hamel) #46758
- [16bbbacba8] - cluster: add trailing commas in source files (Antoine du Hamel) #46695
- [2b7eb56e9b] - debugger: improve validations and documents for watch and unwatch (Eungyu Lee) #46947
- [afbd818669] - debugger: add a command to set which lines to check for context (Eungyu Lee) #46812
- [83b529ff27] - debugger: add trailing commas in source files (Antoine du Hamel) #46714
- [84f5a1f942] - deps: update undici to 5.21.0 (Node.js GitHub Bot) #47063
- [fb1ac98900] - deps: update simdutf to 3.2.2 (Node.js GitHub Bot) #46841
- [7ab7f97c4e] - deps: update uvwasi to v0.0.16 (Michael Dawson) #46434
- [b825e2db65] - deps: update ada to 1.0.4 (Node.js GitHub Bot) #46853
- [8b1afe3f45] - deps: update corepack to 0.17.0 (Node.js GitHub Bot) #46842
- [151fb60b28] - deps: update simdutf to 3.2.1 (Node.js GitHub Bot) #46800
- [92f2f1910e] - deps: upgrade npm to 9.5.1 (npm team) #46783
- [4e18e0a43a] - deps: update ada to 1.0.3 (Node.js GitHub Bot) #46784
- [68dde38c8e] - deps: update nghttp2 to 1.52.0 (Michaël Zasso) #46636
- [d9069e7614] - deps: fix libuv for android (Julian Dropmann) #46746
- [c786ed3ecc] - deps: V8: cherry-pick 90be99fab31c (Michaël Zasso) #46646
- [fb146ee741] - deps: update simdutf to 3.2.0 (Node.js GitHub Bot) #46621
- [adff278c47] - deps,test: update postject to 1.0.0-alpha.5 (Node.js GitHub Bot) #46934
- [247dfb7d73] - dgram: fix unhandled exception aborting a closed udp socket (Ramana Venkata) #46770
- [c310a32857] - doc: remove remaining SSL_OP_NETSCAPE_*_BUG (Tobias Nießen) #47066
- [89f31a1c7f] - doc: fix typo in test.md (Victor Hiairrassary) #47053
- [94882f579f] - doc: amend support tier qualifier (Gireesh Punathil) #42805
- [cbdaaf6197] - doc: fix typo on esm loaders example (Ruy Adorno) #47015
- [17d3eb02f7] - doc: add missing test runner flags to man page (Colin Ihrig) #46982
- [5f0f1c4197] - doc: fix history information for node:diagnostics_channel (Thomas Hunter II) #46984
- [67e20f53cd] - doc: fix myUrl is not defined in url (Youngmin Yoo) #46968
- [f903ea502c] - doc: remove useless SSL_OP_* options (Tobias Nießen) #46954
- [5fdd3f454f] - doc: fix description of TLS dhparam option (Tobias Nießen) #46949
- [ba5ff15b38] - doc: improve fs code example quality (jakecastelli) #46948
- [6f18b947be] - doc: fix port of destination server is not defined in http2 (Deokjin Kim) #46940
- [1b555ae72d] - doc: use number which is bigger than 1024 as port in http2 (Deokjin Kim) #46938
- [07036cf1af] - doc: add release key for Juan Arboleda (Juan José) #46922
- [553fd5b90a] - doc: fix links to SSL_CTX_set_options (Tobias Nießen) #46953
- [282bf29884] - doc: fix fs missing import (jakecastelli) #46907
- [f9739a85cb] - doc: add request to hold off publicising sec releases (Michael Dawson) #46702
- [92a61388de] - doc: fix stream iterator helpers examples (Benjamin Gruenbaum) #46897
- [8aca3cf410] - doc: add history info for node:test (Antoine du Hamel) #46851
- [c0b6413086] - doc: sort import order (jakecastelli) #46847
- [9d2532e2bb] - doc: use destructing import (jakecastelli) #46847
- [48cf9845fe] - doc: add steps about signing the binary in single-executable docs (Darshan Sen) #46764
- [bd5ef380a5] - doc: add marco-ippolito to collaborators (Marco Ippolito) #46816
- [60d1a4887f] - doc: document how to use the tls.DEFAULT_CIPHERS (Andreas Martens) #46482
- [00edc50874] - doc: add document for profiling and heap snapshot (cola119) #46787
- [fc319d6a4f] - doc: add test:coverage event to custom reporter examples (Richie McColl) #46752
- [1b3a25ef22] - doc: include context on .toWeb() parameters (Debadree Chatterjee) #46617
- [88057dda3b] - doc: add in security steward for recent release (Michael Dawson) #46701
- [d627164819] - doc: clarify semver-minor notable changes approach (Beth Griggs) #46592
- [7806cae4fa] - doc: maintaining nghttp2 (Marco Ippolito) #46539
- [dd66c48a74] - doc: add emit to NodeEventTarget (Deokjin Kim) #46356
- [458671daeb] - doc,test: extend the list of platforms supported by single-executables (Darshan Sen) #47026
- [18f0398242] - esm: allow resolve to return import assertions (Geoffrey Booth) #46153
- [5eb5be8c71] - esm: move hooks handling into separate class (Geoffrey Booth) #45869
- [9d4d916fe8] - esm: fix import assertion warning (Antoine du Hamel) #46971
- [2c621d6e3a] - esm: add a runtime warning when using import assertions (Antoine du Hamel) #46901
- [1a23eab614] - events: add trailing commas in source files (Antoine du Hamel) #46759
- [2eb887549a] - (SEMVER-MINOR) events: add listener argument to listenerCount (Paolo Insogna) #46523
- [4c12e6eeeb] - fs: add trailing commas in source files (Antoine du Hamel) #46696
- [774eb1995c] - http: use listenerCount when adding noop event (Paolo Insogna) #46769
- [aac5c28091] - http: correctly calculate strict content length (Robert Nagy) #46601
- [e08514e337] - http: fix validation of "Link" header (Steve Herzog) #46466
- [6f9cb982a1] - http: unify header treatment (Marco Ippolito) #46528
- [05614f8cf6] - lib: enforce use of trailing commas (Antoine du Hamel) #46881
- [5c7fc9290e] - lib: add trailing commas to all public core modules (Antoine du Hamel) #46848
- [08bf01593f] - lib: fix BroadcastChannel initialization location (Shelley Vohr) #46864
- [4e1865126c] - lib: rename internal module declaration as internal bindings (okmttdhr, okp) #46663
- [f914bfff7d] - lib: add trailing commas to more internal files (Antoine du Hamel) #46811
- [281f176ba4] - lib: fix DOMException property descriptors after being lazy loaded (Filip Skokan) #46799
- [1c6a92b543] - lib: update punycode to 2.3.0 (Yagiz Nizipli) #46719
- [7b5c00aacd] - lib: add trailing commas in internal/perf (Antoine du Hamel) #46697
- [c1651bea41] - (SEMVER-MINOR) lib: add AsyncLocalStorage.bind() and .snapshot() (flakey5) #46387
- [345c8c343b] - lib,src: fix a few typos in comments (Tobias Nießen) #46835
- [4219c1e893] - meta: add single-executable labels and code owners (Joyee Cheung) #47004
- [b199acd95c] - meta: remove AUTHORS file (Rich Trott) #46845
- [c7f056cbe2] - meta: remove unnecessary onboarding step (Rich Trott) #46793
- [4e0b93222c] - meta: update CODEOWNERS of url implementations (Yagiz Nizipli) #46775
- [9d63ac2724] - meta: update AUTHORS (Node.js GitHub Bot) #46726
- [40a7b0b993] - net: fix setting of value in 'setDefaultAutoSelectFamilyAttemptTimeout' (Deokjin Kim) #47012
- [e0d098bd21] - net: rework autoSelectFamily implementation (Paolo Insogna) #46587
- [58b1f33bd7] - node-api: add __wasm32__ guards on async works (Chengzhong Wu) #46633
- [e5b8597f78] - os: improve network interface performance (Ruben Bridgewater) #46598
- [d3d76c33ea] - punycode: add pending deprecation (Antoine du Hamel) #46719
- [56dbb15e7c] - repl: remove lastInputPreview conditional check (Duy Mac Van) #46857
- [c7d4ff3f72] - repl: fix .load infinite loop caused by shared use of lineEnding RegExp (Theodor Steiner) #46742
- [4f2bf8c384] - repl: add trailing commas in source files (Antoine du Hamel) #46757
- [ed31316c2e] - src: use std::array for passing argv in node::url (Anna Henningsen) #47035
- [815d2af34d] - src: remove TLSEXT_TYPE_alpn guard (Tobias Nießen) #46956
- [b051ac7220] - src: remove use of SSL_OP_SINGLE_DH_USE (Tobias Nießen) #46955
- [9e65996d16] - src: remove unused v8::Uint32Array from encoding (Yagiz Nizipli) #47003
- [6b60f38676] - src: use AliasedUint32Array for encodeInto results (Joyee Cheung) #46658
- [dcba3a0673] - src: move encoding bindings to a new binding (Joyee Cheung) #46658
- [6740679965] - src: fix negative nodeTiming milestone values (Chengzhong Wu) #46588
- [074692a6f0] - src: fix missing trailing , (Cheng Zhao) #46909
- [32bd38fb05] - src: make util.h self-containted (Joyee Cheung) #46817
- [0d9c345f4d] - src: remove shadowed variable in OptionsParser (Shelley Vohr) #46672
- [578a2c53a5] - src: do not track BaseObjects directly in Realm (Joyee Cheung) #46470
- [9fab228115] - src: fix cb scope bugs involved in termination (ywave620) #45596
- [c0fcad3827] - src: use an array for faster binding data lookup (Joyee Cheung) #46620
- [973287a462] - src: per-realm binding data (Chengzhong Wu) #46556
- [ad5f42d1e9] - src: add SetFastMethodNoSideEffect() (Joyee Cheung) #46619
- [518b890f59] - Revert "src: let http2 streams end after session close" (Rich Trott) #46721
- [19b5d0750c] - src: use string_view for report and related code (Anna Henningsen) #46723
- [36f36b99b0] - (SEMVER-MINOR) src: update Blob implementation to use DataQueue / File-backed Blobs (James M Snell) #45258
- [9b6270afe2] - (SEMVER-MINOR) src: implement DataQueue (James M Snell) #45258
- [d48ed95a66] - (SEMVER-MINOR) src, lib: fixup lint and format issues for DataQueue/Blob (James M Snell) #45258
- [f8866812fd] - stream: enable usage of webstreams on compose() (Debadree Chatterjee) #46675
- [4ad48d9cb9] - stream: always delay construct callback by a nextTick (Matteo Collina) #46818
- [93e91f3dde] - stream: fix respondWithNewView() errors when view.byteOffset != 0 (Debadree Chatterjee) #46465
- [1f386570af] - stream: fix pipeline callback not called on ended stream (Debadree Chatterjee) #46600
- [c972612c9d] - test: fix flakyness in test-runner reporter test (Moshe Atlow) #45930
- [11509a4a2d] - test: move test-tls-autoselectfamily-servername to test/internet (Antoine du Hamel) #47029
- [9556d98054] - test: fallback to IPv4 if IPv6 is unavailable (Abdirahim Musse) #47017
- [5b81689efa] - test: simplify test-tls-ecdh-multiple (Tobias Nießen) #46963
- [c8d528e979] - test: update WPT resources, common, streams, FileAPI, broadcastchannel (Filip Skokan) #46912
- [acfd9b8879] - test: improve test coverage of lib/dns (Anderson Paiva) #46910
- [21153f164d] - test: simplify test-tls-ecdh-auto (Tobias Nießen) #46911
- [e5b8896186] - test: move testPath from CWD to temporary directory (Livia Medeiros) #46890
- [db2ace1f94] - test: assume priv ports start at 1024 if it can't be changed (KrayzeeKev) #46536
- [0e45470fd3] - test: update web-platform tests for url (Xuguang Mei) #46860
- [6fa142d8f8] - test: move socket from CWD to temporary directory (Livia Medeiros) #46863
- [df155b8fd5] - test: fix os-release check for Ubuntu in SEA test (Anna Henningsen) #46838
- [e585a11fd5] - test: fix test-net-connect-reset-until-connected (Vita Batrla) #46781
- [f21ed3a63f] - test: simplify test-tls-alert (Tobias Nießen) #46805
- [e5fa7a139a] - test: fix WPT title when no META title is present (Filip Skokan) #46804
- [bd097ca4bf] - test: update encoding WPTs (Filip Skokan) #46802
- [3ab1aabb3f] - test: remove useless WPT init scripts (Filip Skokan) #46801
- [323415535b] - test: remove useless require('../common') from WPTs (Filip Skokan) #46796
- [76a9634305] - test: isolate hr-time specific wpt global init (Filip Skokan) #46795
- [3daf508993] - test: stop faking performance idlharness (Filip Skokan) #46794
- [e52ad92b08] - test: remove unreachable return (jakecastelli) #46807
- [9c7a2e30fb] - test: fix test-v8-collect-gc-profile-in-worker.js (theanarkh) #46735
- [a92be13dad] - test: improve control flow in test-tls-dhe (Tobias Nießen) #46751
- [4e9915e383] - test: include strace openat test (Rafael Gonzaga) #46150
- [2c4f670c6b] - test: fix IPv6 checks on IBM i (Abdirahim Musse) #46546
- [b2cfcf9cd8] - test: fix default WPT titles (Filip Skokan) #46778
- [f4cdc6f20f] - test: remove OpenSSL 1.0.2 error message compat (Tobias Nießen) #46709
- [d5784c79bc] - test: fix flaky test-watch-mode-files_watcher (Moshe Atlow) #46738
- [abba45e120] - test: remove obsolete util.isDeepStrictEqual tests (Ruben Bridgewater) #46593
- [3401315e4e] - test: use newish OpenSSL feature in test-tls-dhe (Tobias Nießen) #46708
- [95bbd0f7d6] - test: update web-platform tests for url (Yagiz Nizipli) #46547
- [13f14a5efa] - test,crypto: update WebCryptoAPI WPT (Filip Skokan) #47010
- [5e31599c26] - test_runner: default to spec reporter when on TTY environment (Moshe Atlow) #46969
- [18146fc8c1] - test_runner: handle errors not bound to tests (Colin Ihrig) #46962
- [7960ccb61e] - test_runner: throw if harness is not bootstrapped (Colin Ihrig) #46962
- [b832d77500] - test_runner: track bootstrapping process (Colin Ihrig) #46962
- [debc0adcf0] - test_runner: avoid running twice tests in describe (Moshe Atlow) #46888
- [0923cbcfe6] - test_runner: fix reconstruction of errors extracted from YAML (Moshe Atlow) #46872
- [ecf714e1d5] - test_runner: reset count on watch mode (Moshe Atlow) #46577
- [6d32a16319] - test_runner: bootstrap reporters before running tests (Moshe Atlow) #46737
- [ffa86f7fa9] - test_runner: emit test-only diagnostic warning (Richie McColl) #46540
- [3a1a7fa741] - test_runner: flatten TAP output when running using --test (Moshe Atlow) #46440
- [069ff1cc63] - test_runner: remove root tracking set (Colin Ihrig) #46961
- [4b7198c3cb] - test_runner: give the root test a harness reference (Colin Ihrig) #46962
- [762dc7cb7a] - test_runner: align behavior of it and test (Moshe Atlow) #46889
- [aa41f27d53] - test_runner: add describe.only and it.only shorthands (Richie McColl) #46604
- [dfe529b709] - test_runner: better handle async bootstrap errors (Colin Ihrig) #46720
- [320ddc0a0c] - test_runner: centralize CLI option handling (Colin Ihrig) #46707
- [66016e2a29] - test_runner: display skipped tests in spec reporter output (Richie McColl) #46651
- [25069a60c7] - timers: use V8 fast API calls (Joyee Cheung) #46579
- [bb9b1c637d] - (SEMVER-MINOR) tls: support automatic DHE (Tobias Nießen) #46978
- [4df008457d] - tls: add trailing commas in source files (Antoine du Hamel) #46715
- [36c48eab31] - tools: add daily WPT Report workflow step summary (Filip Skokan) #46763
- [12a561875b] - tools: add undici WPTs to daily WPT Report (Filip Skokan) #46763
- [0f1ecbccca] - tools: dont use cached node versions in daily wpt (Filip Skokan) #47024
- [2e7ba3159b] - tools: automate cares update (Marco Ippolito) #46993
- [8723844f29] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #46935
- [f4a59b723d] - tools: add automation for updating OpenSSL dependency (Facundo Tuesca) #45605
- [ecce6475b9] - tools: refactor dep_updaters (Tony Gorez) #46488
- [132fc45d16] - tools: fix daily wpt nightly version selection (Filip Skokan) #46891
- [078600c130] - tools: update eslint to 8.35.0 (Node.js GitHub Bot) #46854
- [724f9d61a3] - tools: create llhttp update action (Marco Ippolito) #46766
- [f558797744] - tools: fix linter message when using global DOMException (Antoine du Hamel) #46822
- [f4cbe4ea4b] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #46843
- [4b91420307] - tools: upload daily WPT Report to both staging and production (Filip Skokan) #46803
- [2f09d3f9a1] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #46771
- [f6bd145768] - tools: run format-cpp on node-api test c files (Chengzhong Wu) #46694
- [694659cecb] - tools: cleanup WPT refs in daily-wpt-fyi.yml (Filip Skokan) #46740
- [1756830e36] - tools: use actions pinned by commit hash in coverage-linux (Gabriela Gutierrez) #46294
- [25ccaa7b3a] - tools: fix regex strings in Python tools (Jan Osusky) #46671
- [dd400341ad] - tools: fixed path (Marco Ippolito) #46700
- [a560a78962] - tools: update nghttp2 action (Marco Ippolito) #46700
- [2ff9b20c3c] - tools: update-nghttp2 preserve config.h (Marco Ippolito) #46698
- [6ff0b801f1] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #46712
- [b7e027af4d] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #46712
- [617b5b106a] - tools: update wpt.fyi used daily checkout ref (Filip Skokan) #46730
- [63a83b4451] - typings: improve primordials typings (Antoine du Hamel) #46970
- [1fa6352853] - url: offload URLSearchParams initialization (Yagiz Nizipli) #46867
- [e754277a44] - url: fix array overrun in node:url::SetArgs() (Yagiz Nizipli) #47001
- [b1747feb57] - url: set formatUrl method as no side effect (Yagiz Nizipli) #46884
- [b8560ec8cc] - url: remove unnecessary call to FunctionPrototypeBind (Antoine du Hamel) #46870
- [f8765be197] - url: remove unused kFormat from url (Yagiz Nizipli) #46867
- [b10fe5856b] - url: improve isURLThis detection (Yagiz Nizipli) #46866
- [1e20b05acd] - (SEMVER-MINOR) url: implement URLSearchParams size getter (James M Snell) #46308
- [5a3ad8763b] - url: simplify and improve url formatting (Yagiz Nizipli) #46736
- [a52405599c] - url: improve performance by removing host (Yagiz Nizipli) #46547
- [9d55a5e5bb] - url: fix url spec compliance issues (Yagiz Nizipli) #46547
- [77b4aca2cc] - vm: fix leak in vm.compileFunction when importModuleDynamically is used (Joyee Cheung) #46785
- [b2a80d788a] - wasi: add wasi sock_accept stub (Michael Dawson) #46434
- [60e5f45141] - (SEMVER-MINOR) wasi: add support for version when creating WASI (Michael Dawson) #46469
- [a646a22d0f] - (SEMVER-MINOR) worker: add support for worker name in inspector and trace_events (Debadree Chatterjee) #46832
New in Node.js 18.15.0 LTS (Mar 15, 2023)
- Notable Changes:
- [63563f8a7a] - doc,lib,src,test: rename --test-coverage (Colin Ihrig) #46017
- [28a775b32f] - test_runner: add initial code coverage support (Colin Ihrig) #46017
- [4d50db14b3] - (SEMVER-MINOR) test_runner: add reporters (Moshe Atlow) #45712
- [643545ab79] - (SEMVER-MINOR) fs: add statfs() functions (Colin Ihrig) #46358
- [110ead9abb] - (SEMVER-MINOR) vm: expose cachedDataRejected for vm.compileFunction (Anna Henningsen) #46320
- [02632b42cf] - (SEMVER-MINOR) v8: support gc profile (theanarkh) #46255
- [f09b838408] - (SEMVER-MINOR) src,lib: add constrainedMemory API for process (theanarkh) #46218
- [cb5bb12422] - (SEMVER-MINOR) buffer: add isAscii method (Yagiz Nizipli) #46046
- Commits:
- [6f91c8e2ae] - benchmark: add trailing commas (Antoine du Hamel) #46370
- [d0b9be21eb] - benchmark: remove buffer benchmarks redundancy (Brian White) #45735
- [6468f30d0d] - benchmark: introduce benchmark combination filtering (Brian White) #45735
- [cb5bb12422] - (SEMVER-MINOR) buffer: add isAscii method (Yagiz Nizipli) #46046
- [ec61bb04c0] - build: export more OpenSSL symbols on Windows (Mohamed Akram) #45486
- [7bae4333ce] - build: fix MSVC 2022 Release compilation (Vladimir Morozov (REDMOND)) #46228
- [0f5f2d4470] - crypto: include hmac.h in crypto_util.h (Adam Langley) #46279
- [91ece4161b] - crypto: avoid hang when no algorithm available (Richard Lau) #46237
- [492fc95bdf] - deps: V8: cherry-pick 90be99fab31c (Michaël Zasso) #46646
- [732c77e3d9] - deps: update acorn to 8.8.2 (Node.js GitHub Bot) #46363
- [8582f99ffb] - deps: update to uvwasi 0.0.15 (Colin Ihrig) #46253
- [5453cd9940] - deps: V8: cherry-pick bf0bd4868dde (Michaël Zasso) #45908
- [3ea53c5dc8] - deps: V8: cherry-pick c875e86df1d7 (sepehrst) #46501
- [c04808de4b] - doc: correct the sed command for macOS in release process docs (Juan José) #46397
- [8113220690] - doc: pass string to textEncoder.encode as input (Deokjin Kim) #46421
- [129dccf5d2] - doc: add tip for session.post function (theanarkh) #46354
- [919e581732] - doc: add documentation for socket.destroySoon() (Luigi Pinca) #46337
- [fc15ac95a5] - doc: fix commit message using test instead of deps (Tony Gorez) #46313
- [d153a93200] - doc: add v8 fast api contribution guidelines (Yagiz Nizipli) #46199
- [dbf082d082] - doc: fix small typo error (0xflotus) #46186
- [94421b4cfe] - doc: mark some parameters as optional in webstreams (Deokjin Kim) #46269
- [5adb743511] - doc: update output of example in events.getEventListeners (Deokjin Kim) #46268
- [63563f8a7a] - doc,lib,src,test: rename --test-coverage (Colin Ihrig) #46017
- [4e88c7c813] - esm: delete preload mock test (Geoffrey Booth) #46402
- [643545ab79] - (SEMVER-MINOR) fs: add statfs() functions (Colin Ihrig) #46358
- [5019b5473f] - http: res.setHeaders first implementation (Marco Ippolito) #46109
- [76622c4c60] - inspector: allow opening inspector when NODE_V8_COVERAGE is set (Moshe Atlow) #46113
- [92f0747e03] - meta: update AUTHORS (Node.js GitHub Bot) #46399
- [795251bc6f] - meta: update AUTHORS (Node.js GitHub Bot) #46303
- [8865424c31] - meta: add .mailmap entry (Rich Trott) #46303
- [5ed679407b] - meta: move evanlucas to emeritus (Evan Lucas) #46274
- [403df210ac] - module: move test reporter loading (Geoffrey Booth) #45923
- [2f7319e387] - readline: fix detection of carriage return (Antoine du Hamel) #46306
- [73a8f46c4d] - Revert "src: let http2 streams end after session close" (Santiago Gimeno) #46721
- [30d783f91a] - src: stop tracing agent before shutting down libuv (Santiago Gimeno) #46380
- [1508d90fda] - src: get rid of fp arithmetic in ParseIPv4Host (Tobias Nießen) #46326
- [bdb793a082] - src: use UNREACHABLE instead of CHECK(falsy) (Tobias Nießen) #46317
- [116a33649b] - src: add support for ETW stack walking (José Dapena Paz) #46203
- [b06298c98e] - src: refactor EndsInANumber in node_url.cc and adds IsIPv4NumberValid (Miguel Teixeira) #46227
- [26f41b041c] - src: fix c++ exception on bad command line arg (Ben Noordhuis) #46290
- [14da89f41a] - src: remove unreachable UNREACHABLE (Tobias Nießen) #46281
- [18c4dd004b] - src: replace custom ASCII validation with simdutf one (Anna Henningsen) #46271
- [cde375510f] - src: replace unreachable code with static_assert (Tobias Nießen) #46250
- [f389b2f3fc] - src: use explicit C++17 fallthrough (Tobias Nießen) #46251
- [8adaa1333c] - src: use CreateEnvironment instead of inlining its code where possible (Anna Henningsen) #45886
- [f09b838408] - (SEMVER-MINOR) src,lib: add constrainedMemory API for process (theanarkh) #46218
- [63e92eae63] - stream: remove brandchecks from stream duplexify (Debadree Chatterjee) #46315
- [3acfe9bf92] - stream: fix readable stream as async iterator function (Erick Wendel) #46147
- [de64315ccb] - test: fix WPT title when no META title is present (Filip Skokan) #46804
- [162e3400ff] - test: fix default WPT titles (Filip Skokan) #46778
- [5f422c4d70] - test: add WPTRunner support for variants and generating WPT reports (Filip Skokan) #46498
- [4f5aff2557] - test: fix tap parser fails if a test logs a number (Pulkit Gupta) #46056
- [32b020cf84] - test: fix tap escaping with and without --test (Pulkit Gupta) #46311
- [f2bba1bcdb] - test: add trailing commas in test/node-api (Antoine du Hamel) #46384
- [f2ebe66fda] - test: add trailing commas in test/message (Antoine du Hamel) #46372
- [ed564a9985] - test: add trailing commas in test/pseudo-tty (Antoine du Hamel) #46371
- [e4437dd409] - test: set common.bits to 64 for loong64 (Shi Pujin) #45383
- [9d40aef736] - test: s390x zlib test case fixes (Adam Majer) #46367
- [ed3fb52716] - test: fix logInTimeout is not function (theanarkh) #46348
- [d05b0771be] - test: avoid trying to call sysctl directly (Adam Majer) #46366
- [041aac3bbd] - test: avoid left behind child processes (Richard Lau) #46276
- [837ddcb322] - test: add failing test for readline with carriage return (Alec Mev) #46075
- [75b8db41c6] - test: reduce fs-write-optional-params flakiness (LiviaMedeiros) #46238
- [c0d3fdaf63] - test,crypto: add CFRG curve vectors to wrap/unwrap tests (Filip Skokan) #46406
- [f328f7b15e] - test,crypto: update WebCryptoAPI WPT (Filip Skokan) #46267
- [1ef3c53e24] - test_runner: better handle async bootstrap errors (Colin Ihrig) #46720
- [0a690efb76] - test_runner: add describe.only and it.only shorthands (Richie McColl) #46604
- [28a1317efe] - test_runner: bootstrap reporters before running tests (Moshe Atlow) #46737
- [cd3aaa8fac] - test_runner: emit test-only diagnostic warning (Richie McColl) #46540
- [c19fa45a65] - test_runner: centralize CLI option handling (Colin Ihrig) #46707
- [0898145e37] - test_runner: display skipped tests in spec reporter output (Richie McColl) #46651
- [894d7117fa] - test_runner: parse non-ascii character correctly (Mert Can Altın) #45736
- [5b3c606626] - test_runner: flatten TAP output when running using --test (Moshe Atlow) #46440
- [391ff0dba4] - test_runner: allow nesting test within describe (Moshe Atlow) #46544
- [ba784e87b4] - test_runner: fix missing test diagnostics (Moshe Atlow) #46450
- [c5f16fb5fb] - test_runner: top-level diagnostics not ommited when running with --test (Pulkit Gupta) #46441
- [28a775b32f] - test_runner: add initial code coverage support (Colin Ihrig) #46017
- [0d999e373a] - test_runner: make built in reporters internal (Colin Ihrig) #46092
- [79f4b426fe] - test_runner: report file in test runner events (Moshe Atlow) #46030
- [4d50db14b3] - (SEMVER-MINOR) test_runner: add reporters (Moshe Atlow) #45712
- [5fdf374c74] - test_runner: avoid swallowing of asynchronously thrown errors (MURAKAMI Masahiko) #45264
- [23b875806c] - test_runner: update comment to comply with eslint no-fallthrough rule (Antoine du Hamel) #46258
- [00c5495aa3] - tools: update eslint to 8.33.0 (Node.js GitHub Bot) #46400
- [37a6ce1120] - tools: update doc to [email protected] [email protected] (Node.js GitHub Bot) #46364
- [1eaafc7db4] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #46398
- [a97774603b] - tools: require more trailing commas (Antoine du Hamel) #46346
- [03e244a59b] - tools: update lint-md-dependencies (Node.js GitHub Bot) #46302
- [60d714e0c3] - tools: allow icutrim.py to run on python2 (Michael Dawson) #46263
- [b7950f50de] - tools: update eslint to 8.32.0 (Node.js GitHub Bot) #46258
- [08bafc84f6] - url: refactor to use more primordials (Antoine du Hamel) #45966
- [02632b42cf] - (SEMVER-MINOR) v8: support gc profile (theanarkh) #46255
- [110ead9abb] - (SEMVER-MINOR) vm: expose cachedDataRejected for vm.compileFunction (Anna Henningsen) #46320
New in Node.js 19.7.0 Current (Feb 22, 2023)
- Notable Changes:
- [60a612607e] - deps: upgrade npm to 9.5.0 (npm team) #46673
- [7d6c27eab1] - deps: add ada as a dependency (Yagiz Nizipli) #46410
- [a79a8bf85a] - doc: add debadree25 to collaborators (Debadree Chatterjee) #46716
- [0c2c322ee6] - doc: add deokjinkim to collaborators (Deokjin Kim) #46444
- [9b23309f53] - doc,lib,src,test: rename --test-coverage (Colin Ihrig) #46017
- [8590eb4830] - (SEMVER-MINOR) lib: add aborted() utility function (Debadree Chatterjee) #46494
- [164bfe82cc] - (SEMVER-MINOR) src: add initial support for single executable applications (Darshan Sen) #45038
- [f3908411fd] - (SEMVER-MINOR) src: allow optional Isolate termination in node::Stop() (Shelley Vohr) #46583
- [c34bac2fed] - (SEMVER-MINOR) src: allow blobs in addition to FILE*s in embedder snapshot API (Anna Henningsen) #46491
- [683a1f8f3e] - (SEMVER-MINOR) src: allow snapshotting from the embedder API (Anna Henningsen) #45888
- [658d2f4710] - (SEMVER-MINOR) src: make build_snapshot a per-Isolate option, rather than a global one (Anna Henningsen) #45888
- [6801d3753c] - (SEMVER-MINOR) src: add snapshot support for embedder API (Anna Henningsen) #45888
- [e77d538d32] - (SEMVER-MINOR) src: allow embedder control of code generation policy (Shelley Vohr) #46368
- [633d3f292d] - (SEMVER-MINOR) stream: add abort signal for ReadableStream and WritableStream (Debadree Chatterjee) #46273
- [6119289251] - test_runner: add initial code coverage support (Colin Ihrig) #46017
- [a51fe3c663] - url: replace url-parser with ada (Yagiz Nizipli) #46410
- Commits:
- [731a7ae9da] - async_hooks: add async local storage propagation benchmarks (Chengzhong Wu) #46414
- [05ad792a07] - async_hooks: remove experimental onPropagate option (James M Snell) #46386
- [6b21170b10] - benchmark: add trailing commas in benchmark/path (Antoine du Hamel) #46628
- [4b89ec409f] - benchmark: add trailing commas in benchmark/http (Antoine du Hamel) #46609
- [ff95eb7386] - benchmark: add trailing commas in benchmark/crypto (Antoine du Hamel) #46553
- [638d9b8d4b] - benchmark: add trailing commas in benchmark/url (Antoine du Hamel) #46551
- [7524871a9b] - benchmark: add trailing commas in benchmark/http2 (Antoine du Hamel) #46552
- [9d9b3f856f] - benchmark: add trailing commas in benchmark/process (Antoine du Hamel) #46481
- [6c69ad6d43] - benchmark: add trailing commas in benchmark/misc (Antoine du Hamel) #46474
- [7f8b292bee] - benchmark: add trailing commas in benchmark/buffers (Antoine du Hamel) #46473
- [897e3c2782] - benchmark: add trailing commas in benchmark/module (Antoine du Hamel) #46461
- [7760d40c04] - benchmark: add trailing commas in benchmark/net (Antoine du Hamel) #46439
- [8b88d605ca] - benchmark: add trailing commas in benchmark/util (Antoine du Hamel) #46438
- [2c8c9f978d] - benchmark: add trailing commas in benchmark/async_hooks (Antoine du Hamel) #46424
- [b364b9bd60] - benchmark: add trailing commas in benchmark/fs (Antoine du Hamel) #46426
- [e15ddba7e7] - build: add GitHub Action for coverage with --without-intl (Rich Trott) #37954
- [c781a48097] - build: do not disable inspector when intl is disabled (Rich Trott) #37954
- [b4deb2fcd5] - crypto: don't assume FIPS is disabled by default (Michael Dawson) #46532
- [60a612607e] - deps: upgrade npm to 9.5.0 (npm team) #46673
- [6c997035fc] - deps: update corepack to 0.16.0 (Node.js GitHub Bot) #46710
- [2ed3875eee] - deps: update undici to 5.20.0 (Node.js GitHub Bot) #46711
- [20cb13bf7f] - deps: update ada to v1.0.1 (Yagiz Nizipli) #46550
- [c0983cfc06] - deps: copy postject-api.h and LICENSE to the deps folder (Darshan Sen) #46582
- [7d6c27eab1] - deps: add ada as a dependency (Yagiz Nizipli) #46410
- [7e7e2d037b] - deps: update c-ares to 1.19.0 (Michaël Zasso) #46415
- [a79a8bf85a] - doc: add debadree25 to collaborators (Debadree Chatterjee) #46716
- [6a8b04d709] - doc: move bcoe to emeriti (Benjamin Coe) #46703
- [a0a6ee0f54] - doc: add response.strictContentLength to documentation (Marco Ippolito) #46627
- [ffdd64dce3] - doc: remove unused functions from example of streamConsumers.text (Deokjin Kim) #46581
- [c771d66864] - doc: fix test runner examples (Richie McColl) #46565
- [375bb22df9] - doc: update test concurrency description / default values (richiemccoll) #46457
- [a7beac04ba] - doc: enrich test command with executable (Tony Gorez) #44347
- [aef57cd290] - doc: fix wrong location of requestTimeout's default value (Deokjin Kim) #46423
- [0c2c322ee6] - doc: add deokjinkim to collaborators (Deokjin Kim) #46444
- [31d3e3c486] - doc: fix -C flag usage (三咲智子 Kevin Deng) #46388
- [905a6756a3] - doc: add note about major release rotation (Rafael Gonzaga) #46436
- [33a98c42fa] - doc: update threat model based on discussions (Michael Dawson) #46373
- [9b23309f53] - doc,lib,src,test: rename --test-coverage (Colin Ihrig) #46017
- [f192b83800] - esm: misc test refactors (Geoffrey Booth) #46631
- [7f2cdd36cf] - http: add note about clientError event (Paolo Insogna) #46584
- [d8c527f24f] - http: use v8::Array::New() with a prebuilt vector (Joyee Cheung) #46447
- [fa600fe003] - lib: add trailing commas in internal/process (Antoine du Hamel) #46687
- [4aebee63f0] - lib: do not crash using workers with disabled shared array buffers (Ruben Bridgewater) #41023
- [a740908588] - lib: delete module findPath unused params (sinkhaha) #45371
- [8b46c763d9] - lib: enforce use of trailing commas in more files (Antoine du Hamel) #46655
- [aae0020e27] - lib: enforce use of trailing commas for functions (Antoine du Hamel) #46629
- [da9ebaf138] - lib: predeclare Event.isTrusted prop descriptor (Santiago Gimeno) #46527
- [35570e970e] - lib: tighten AbortSignal.prototype.throwIfAborted implementation (Antoine du Hamel) #46521
- [8590eb4830] - (SEMVER-MINOR) lib: add aborted() utility function (Debadree Chatterjee) #46494
- [5d1a729f76] - meta: update AUTHORS (Node.js GitHub Bot) #46624
- [cb9b9ad879] - meta: move one or more collaborators to emeritus (Node.js GitHub Bot) #46513
- [17b82c85d9] - meta: update AUTHORS (Node.js GitHub Bot) #46504
- [bb14a2b098] - meta: move one or more collaborators to emeritus (Node.js GitHub Bot) #46411
- [152a3c7d1d] - process: print versions by sort (Himself65) #46428
- [164bfe82cc] - (SEMVER-MINOR) src: add initial support for single executable applications (Darshan Sen) #45038
- [f3908411fd] - (SEMVER-MINOR) src: allow optional Isolate termination in node::Stop() (Shelley Vohr) #46583
- [bdba600d32] - src: remove icu usage from node_string.cc (Yagiz Nizipli) #46548
- [31fb2e22a0] - src: add fflush() to SnapshotData::ToFile() (Anna Henningsen) #46531
- [c34bac2fed] - (SEMVER-MINOR) src: allow blobs in addition to FILE*s in embedder snapshot API (Anna Henningsen) #46491
- [c3325bfc0d] - src: make edge names in BaseObjects more descriptive in heap snapshots (Joyee Cheung) #46492
- [3c5db8f419] - src: avoid leaking snapshot fp on error (Tobias Nießen) #46497
- [1a808a4aad] - src: check return value of ftell() (Tobias Nießen) #46495
- [f72f643549] - src: remove unused includes from main thread (Yagiz Nizipli) #46471
- [60c2a863da] - src: use string_view instead of std::string& (Yagiz Nizipli) #46471
- [f35f6d2218] - src: use simdutf utf8 to utf16 instead of icu (Yagiz Nizipli) #46471
- [00b81c7afe] - src: replace icu with simdutf for char counts (Yagiz Nizipli) #46472
- [683a1f8f3e] - (SEMVER-MINOR) src: allow snapshotting from the embedder API (Anna Henningsen) #45888
- [658d2f4710] - (SEMVER-MINOR) src: make build_snapshot a per-Isolate option, rather than a global one (Anna Henningsen) #45888
- [6801d3753c] - (SEMVER-MINOR) src: add snapshot support for embedder API (Anna Henningsen) #45888
- [95065c3185] - src: add additional utilities to crypto::SecureContext (James M Snell) #45912
- [efc59d0843] - src: add KeyObjectHandle::HasInstance (James M Snell) #45912
- [a8a2d0e2b1] - src: add GetCurrentCipherName/Version to crypto_common (James M Snell) #45912
- [6cf860d3d6] - src: back snapshot I/O with a std::vector sink (Joyee Cheung) #46463
- [e77d538d32] - (SEMVER-MINOR) src: allow embedder control of code generation policy (Shelley Vohr) #46368
- [7756438c81] - stream: add trailing commas in webstream source files (Antoine du Hamel) #46685
- [6b64a945c6] - stream: add trailing commas in stream source files (Antoine du Hamel) #46686
- [633d3f292d] - (SEMVER-MINOR) stream: add abort signal for ReadableStream and WritableStream (Debadree Chatterjee) #46273
- [f91260b32a] - stream: refactor to use validateAbortSignal (Antoine du Hamel) #46520
- [6bf7388b62] - stream: allow transfer of readable byte streams (MrBBot) #45955
- [c2068537fa] - stream: add pipeline() for webstreams (Debadree Chatterjee) #46307
- [4cf4b41c56] - stream: add suport for abort signal in finished() for webstreams (Debadree Chatterjee) #46403
- [b844a09fa5] - stream: dont access Object.prototype.type during TransformStream init (Debadree Chatterjee) #46389
- [6ad01fd7b5] - test: fix test-net-autoselectfamily for kernel without IPv6 support (Livia Medeiros) #45856
- [2239e24306] - test: fix assertions in test-snapshot-dns-lookup* (Tobias Nießen) #46618
- [c4ca98e786] - test: cover publicExponent validation in OpenSSL (Tobias Nießen) #46632
- [e60d3f2b1d] - test: add WPTRunner support for variants and generating WPT reports (Filip Skokan) #46498
- [217f2f6e2a] - test: add trailing commas in test/pummel (Antoine du Hamel) #46610
- [641e1771c8] - test: enable api-invalid-label.any.js in encoding WPTs (Filip Skokan) #46506
- [89aa161173] - test: fix tap parser fails if a test logs a number (Pulkit Gupta) #46056
- [faba8d4a30] - test: add trailing commas in test/js-native-api (Antoine du Hamel) #46385
- [d556ccdd26] - test: make more crypto tests work with BoringSSL (Shelley Vohr) #46429
- [c7f29b24a6] - test: add trailing commas in test/known_issues (Antoine du Hamel) #46408
- [a66e7ca6c5] - test: add trailing commas in test/internet (Antoine du Hamel) #46407
- [0f75633086] - test,crypto: update WebCryptoAPI WPT (Filip Skokan) #46575
- [ddf5002782] - test_runner: parse non-ascii character correctly (Mert Can Altın) #45736
- [5b748114d2] - test_runner: allow nesting test within describe (Moshe Atlow) #46544
- [c526f9f70a] - test_runner: fix missing test diagnostics (Moshe Atlow) #46450
- [b31aabb101] - test_runner: top-level diagnostics not ommited when running with --test (Pulkit Gupta) #46441
- [6119289251] - test_runner: add initial code coverage support (Colin Ihrig) #46017
- [6f24f0621e] - timers: cleanup no-longer relevant TODOs in timers/promises (James M Snell) #46499
- [1cd22e7d19] - tools: fix bug in prefer-primordials lint rule (Antoine du Hamel) #46659
- [87df34ac28] - tools: fix update-ada script (Yagiz Nizipli) #46550
- [f62b58a623] - tools: add a daily wpt.fyi synchronized report upload (Filip Skokan) #46498
- [803f00aa32] - tools: update eslint to 8.34.0 (Node.js GitHub Bot) #46625
- [f87216bdb2] - tools: update lint-md-dependencies to [email protected] [email protected] (Node.js GitHub Bot) #46623
- [8ee9e48560] - tools: update doc to [email protected] [email protected] (Node.js GitHub Bot) #46622
- [148c5d9239] - tools: update lint-md-dependencies to [email protected] [email protected] (Node.js GitHub Bot) #46503
- [51c6c61a58] - tools: update ESLint custom rules to not use the deprecated format (Antoine du Hamel) #46460
- [a51fe3c663] - url: replace url-parser with ada (Yagiz Nizipli) #46410
- [129c9e7180] - url: remove unused URL::ToFilePath() (Yagiz Nizipli) #46487
- [9a604d67c3] - url: remove unused URL::toObject (Yagiz Nizipli) #46486
- [d6fbebda54] - url: remove unused setURLConstructor function (Yagiz Nizipli) #46485
- [17b3ee33c2] - vm: properly support symbols on globals (Nicolas DUBIEN) #46458
New in Node.js 18.14.2 LTS (Feb 22, 2023)
- Notable Changes:
- [f864bef32a] - deps: upgrade npm to 9.5.0 (npm team) #46673
- Commits:
- [880a65d7ff] - build: delete snapshot.blob file from the project (Juan José Arboleda) #46626
- [cbea56efda] - deps: update undici to 5.20.0 (Node.js GitHub Bot) #46711
- [f864bef32a] - deps: upgrade npm to 9.5.0 (npm team) #46673
- [648041d568] - deps: upgrade npm to 9.4.0 (npm team) #46353
- [5e1f213f3c] - deps: patch V8 to 10.2.154.26 (Michaël Zasso) #46446
New in Node.js 18.14.1 LTS (Feb 17, 2023)
- Notable Changes:
- The following CVEs are fixed in this release:
- CVE-2023-23918: Node.js Permissions policies can be bypassed via process.mainModule (High)
- CVE-2023-23919: Node.js OpenSSL error handling issues in nodejs crypto library (Medium)
- CVE-2023-23936: Fetch API in Node.js did not protect against CRLF injection in host headers (Medium)
- CVE-2023-24807: Regular Expression Denial of Service in Headers in Node.js fetch API (Low)
- CVE-2023-23920: Node.js insecure loading of ICU data through ICU_DATA environment variable (Low)
- More detailed information on each of the vulnerabilities can be found in February 2023 Security Releases blog post.
- This security release includes OpenSSL security updates as outlined in the recent OpenSSL security advisory.
- Commits:
- [8393ebc72d] - build: build ICU with ICU_NO_USER_DATA_OVERRIDE (RafaelGSS) nodejs-private/node-private#379
- [004e34d046] - crypto: clear OpenSSL error on invalid ca cert (RafaelGSS) #46572
- [5e0142a852] - deps: cherry-pick Windows ARM64 fix for openssl (Richard Lau) #46572
- [f71fe278a6] - deps: update archs files for quictls/openssl-3.0.8+quic (RafaelGSS) #46572
- [2c6817e42b] - deps: upgrade openssl sources to quictls/openssl-3.0.8+quic (RafaelGSS) #46572
- [f0afa0bfe5] - deps: update undici to 5.19.1 (Node.js GitHub Bot) #46634
- [c26a34c13e] - deps: update undici to 5.18.0 (Node.js GitHub Bot) #46634
- [db93ee4a15] - deps: update undici to 5.17.1 (Node.js GitHub Bot) #46634
- [b4e49fb02c] - deps: update undici to 5.16.0 (Node.js GitHub Bot) #46634
- [90994e6a2c] - deps: update undici to 5.15.1 (Node.js GitHub Bot) #46634
- [00302fc7ac] - deps: update undici to 5.15.0 (Node.js GitHub Bot) #46634
- [0e3b796cc5] - lib: makeRequireFunction patch when experimental policy (RafaelGSS) nodejs-private/node-private#371
- [7cccd5565f] - policy: makeRequireFunction on mainModule.require (RafaelGSS) nodejs-private/node-private#371
New in Node.js 18.14.0 LTS (Feb 17, 2023)
- Notable changes:
- Updated npm to 9.3.1:
- Based on the list of guidelines we've established on integrating npm and node, here is a grouped list of the breaking changes with the reasoning as to why they fit within the guidelines linked above. Note that all the breaking changes were made in 9.0.0. All subsequent minor and patch releases after [email protected] do not contain any breaking changes.
- Engines:
- Explanation: the node engines supported by npm@9 make it safe to allow npm@9 as the default in any LTS version of 14 or 16, as well as anything later than or including 18.0.0
- npm is now compatible with the following semver range for node: ^14.17.0 || ^16.13.0 || >=18.0.0
- Filesystem:
- Explanation: when run as root previous versions of npm attempted to manage file ownership automatically on the user's behalf. this behavior was problematic in many cases and has been removed in favor of allowing users to manage their own filesystem permissions
- npm will no longer attempt to modify ownership of files it creates.
- Auth:
- Explanation: any errors thrown from users having unsupported auth configurations will show npm config fix in the remediation instructions, which will allow the user to automatically have their auth config fixed.
- The presence of auth related settings that are not scoped to a specific registry found in a config file is no longer supported and will throw errors.
- Login:
- Explanation: the default auth-type has changed and users can opt back into the old behavior with npm config set auth-type=legacy. login and adduser have also been seperated making each command more closely match it's name instead of being aliases for each other.
- Legacy auth types sso, saml & legacy have been consolidated into "legacy".
- auth-type defaults to "web"
- login and adduser are now separate commands that send different data to the registry.
- auth-type config values web and legacy only try their respective methods, npm no longer tries them all and waits to see which one doesn't fail.
- Tarball Packing:
- Explanation: previously using multiple ignore/allow lists when packing was an undefined behavior, and now the order of operations is strictly defined when packing a tarball making it easier to follow and should only affect users relying on the previously undefined behavior.
- npm pack now follows a strict order of operations when applying ignore rules. If a files array is present in the package.json, then rules in .gitignore and .npmignore files from the root will be ignored.
- Display/Debug/Timing Info:
- Explanation: these changes center around the display of information to the terminal including timing and debug log info. We do not anticipate these changes breaking any existing workflows.
- Links generated from git urls will now use HEAD instead of master as the default ref.
- timing has been removed as a value for --loglevel.
- --timing will show timing information regardless of --loglevel, except when --silent.
- When run with the --timing flag, npm now writes timing data to a file alongside the debug log data, respecting the logs-dir option and falling back to /_logs/ dir, instead of directly inside the cache directory.
- The timing file data is no longer newline delimited JSON, and instead each run will create a uniquely named -timing.json file, with the portion being the same as the debug log.
- npm now outputs some json errors on stdout. Previously npm would output all json formatted errors on stderr, making it difficult to parse as the stderr stream usually has logs already written to it.
- Config/Command Deprecations or Removals:
- Explanation: install-links is the only config or command in the list that has an effect on package installs. We fixed a number of issues that came up during prereleases with this change. It will also only be applied to new package trees created without a package-lock.json file. Any install with an existing lock file will not be changed.
- Deprecate boolean install flags in favor of --install-strategy.
- npm config set will no longer accept deprecated or invalid config options.
- install-links config defaults to "true".
- node-version config has been removed.
- npm-version config has been removed.
- npm access subcommands have been renamed.
- npm birthday has been removed.
- npm set-script has been removed.
- npm bin has been removed (use npx or npm exec to execute binaries).
- Other notable changes:
- doc:
- add parallelism note to os.cpus() (Colin Ihrig) #45895
- http:
- join authorization headers (Marco Ippolito) #45982
- improved timeout defaults handling (Paolo Insogna) #45778
- stream:
- implement finished() for ReadableStream and WritableStream (Debadree Chatterjee) #46205
- Commits:
- [1352f08778] - assert: remove assert.snapshot (Moshe Atlow) #46112
- [4ee3238643] - async_hooks: refactor to use validateObject (Deokjin Kim) #46004
- [79e0bf9b64] - benchmark: include webstreams benchmark (Rafael Gonzaga) #45876
- [ed1ac82469] - benchmark,tools: use os.availableParallelism() (Deokjin Kim) #46003
- [16ee02f2eb] - (SEMVER-MINOR) buffer: add buffer.isUtf8 for utf8 validation (Yagiz Nizipli) #45947
- [3bf2371a57] - build: add extra semi check (Jiawen Geng) #46194
- [560ee24157] - build: fix arm64 cross-compile from powershell (Stefan Stojanovic) #45890
- [48e3ad3aca] - build: add option to disable shared readonly heap (Anna Henningsen) #45887
- [52a7887b94] - (SEMVER-MINOR) crypto: add CryptoKey Symbol.toStringTag (Filip Skokan) #46042
- [a558774a40] - crypto: add cipher update/final methods encoding validation (vitpavlenko) #45990
- [599d1dc841] - crypto: ensure auth tag set for chacha20-poly1305 (Ben Noordhuis) #46185
- [24a101698c] - crypto: return correct bit length in KeyObject's asymmetricKeyDetails (Filip Skokan) #46106
- [2de50fef84] - (SEMVER-MINOR) crypto: add KeyObject Symbol.toStringTag (Filip Skokan) #46043
- [782b6f6f9f] - crypto: ensure exported webcrypto EC keys use uncompressed point format (Ben Noordhuis) #46021
- [7a97f3f43b] - crypto: fix CryptoKey prototype WPT (Filip Skokan) #45857
- [1a8aa50aa2] - crypto: fix CryptoKey WebIDL conformance (Filip Skokan) #45855
- [c6436450ee] - crypto: fix error when getRandomValues is called without arguments (Filip Skokan) #45854
- [4cdf0002c5] - debugger: refactor console in lib/internal/debugger/inspect.js (Debadree Chatterjee) #45847
- [b7fe8c70fa] - deps: update simdutf to 3.1.0 (Node.js GitHub Bot) #46257
- [eaeb870cd7] - deps: upgrade npm to 9.3.1 (npm team) #46242
- [7c03a3d676] - deps: upgrade npm to 9.3.0 (npm team) #46193
- [340d76accb] - deps: cherrypick simdutf patch (Jiawen Geng) #46194
- [cce2af4306] - deps: bump googletest to 2023.01.13 (Jiawen Geng) #46198
- [d251a66bed] - deps: add /deps/**/.github/ to .gitignore (Luigi Pinca) #46091
- [874054f469] - deps: add simdutf version to metadata (Mike Roth) #46145
- [2497702b82] - deps: update simdutf to 2.1.0 (Node.js GitHub Bot) #46128
- [c8492b7f4c] - deps: update corepack to 0.15.3 (Node.js GitHub Bot) #46037
- [d148f357fd] - deps: update simdutf to 2.0.9 (Node.js GitHub Bot) #45975
- [422a98199c] - deps: update to uvwasi 0.0.14 (Colin Ihrig) #45970
- [7812752db0] - deps: fix updater github workflow job (Yagiz Nizipli) #45972
- [4063cdcef6] - Revert "deps: disable avx512 for simutf on benchmark ci" (Yagiz Nizipli) #45948
- [64d3e3f3ba] - deps: disable avx512 for simutf on benchmark ci (Yagiz Nizipli) #45803
- [c9845fc334] - deps: add simdutf dependency (Yagiz Nizipli) #45803
- [6963c96547] - deps: update timezone to 2022g (Node.js GitHub Bot) #45731
- [874f6c340b] - deps: update undici to 5.14.0 (Node.js GitHub Bot) #45812
- [7599b913d5] - deps: upgrade npm to 9.2.0 (npm team) #45780
- [4844935ff3] - deps: upgrade npm to 9.1.3 (npm team) #45693
- [8dce62c7fe] - deps: V8: cherry-pick 5fe919f78321 (Richard Lau) #45587
- [8de642517e] - dgram: sync the old handle state to new handle (theanarkh) #46041
- [de2b7a9640] - doc: fix mismatched arguments of NodeEventTarget (Deokjin Kim) #45678
- [6317502d10] - doc: update events API example to have runnable code (Deokjin Kim) #45760
- [a9db45eee1] - doc: add note to tls docs about secureContext availability (Tim Gerk) #46224
- [5294371063] - doc: add text around collaborative expectations (Michael Dawson) #46121
- [be85d5a6eb] - doc: update to match changed --dns-result-order default (Mordy Tikotzky) #46148
- [4f2d9ea6da] - doc: add Node-API media link (Kevin Eady) #46189
- [9bfd40466f] - doc: update http.setMaxIdleHTTPParsers arguments (Debadree Chatterjee) #46168
- [d7a8c076e1] - doc: use "file system" instead of "filesystem" (Rich Trott) #46178
- [e54483cd2b] - doc: https update default request timeout (Marco Ippolito) #46184
- [335110b0fb] - doc: make options of readableStream.pipeTo as optional (Deokjin Kim) #46180
- [ec34cad712] - doc: add PerformanceObserver.supportedEntryTypes to doc (theanarkh) #45962
- [d0f905bd6f] - doc: duplex and readable from uncaught execption warning (Marco Ippolito) #46135
- [512feaafa4] - doc: remove outdated sections from maintaining-v8 (Antoine du Hamel) #46137
- [849a3e2ce7] - doc: fix (EC)DHE remark in TLS docs (Tobias Nießen) #46114
- [a3c9c1b4e6] - doc: fix ERR_TLS_RENEGOTIATION_DISABLED text (Tobias Nießen) #46122
- [1834e94ebb] - doc: fix spelling in SECURITY.md (Vaishno Chaitanya) #46124
- [3968698af5] - doc: abort controller emits error in child process (Debadree Chatterjee) #46072
- [1ec14c2c61] - doc: fix event.cancelBubble documentation (Deokjin Kim) #45986
- [5539977f80] - doc: add personal pronouns option (Filip Skokan) #46118
- [1fabef3a81] - doc: mention how to run ncu-ci citgm (Rafael Gonzaga) #46090
- [84dc65ab87] - doc: include updating release optional step (Rafael Gonzaga) #46089
- [76c7ea1e74] - doc: describe argument of Symbol.for (Deokjin Kim) #46019
- [2307a74990] - doc: update isUtf8 description (Yagiz Nizipli) #45973
- [fa5b65ea24] - doc: use console.error for error case in timers and tls (Deokjin Kim) #46002
- [29d509c100] - doc: fix wrong output of example in url.protocol (Deokjin Kim) #45954
- [61dbca2690] - doc: use os.availableParallelism() in async_context and cluster (Deokjin Kim) #45979
- [86b2c8cea2] - doc: make EventEmitterAsyncResource's options as optional (Deokjin Kim) #45985
- [335acf7748] - doc: replace single executable champion in strategic initiatives doc (Darshan Sen) #45956
- [aab35a9388] - doc: update error message of example in repl (Deokjin Kim) #45920
- [53a94a95ff] - doc: fix typos in packages.md (Eric Mutta) #45957
- [83875f46cf] - doc: remove port from example in url.hostname (Deokjin Kim) #45927
- [162d3a94e3] - doc: show output of example in http (Deokjin Kim) #45915
- [53684e4506] - (SEMVER-MINOR) doc: add parallelism note to os.cpus() (Colin Ihrig) #45895
- [546e083d36] - doc: fix wrong output of example in url.password (Deokjin Kim) #45928
- [14c95ecd23] - doc: fix some history entries in deprecations.md (Antoine du Hamel) #45891
- [d94dba973b] - doc: add tip for NODE_MODULE (theanarkh) #45797
- [662f574c5b] - doc: reduce likelihood of mismerges during release (Richard Lau) #45864
- [48ea28aa30] - doc: add backticks to webcrypto rsaOaepParams (Filip Skokan) #45883
- [726b285163] - doc: remove release cleanup step (Michaël Zasso) #45858
- [5eb93f1de9] - doc: add stream/promises pipeline and finished to doc (Marco Ippolito) #45832
- [f874d0ba74] - doc: remove Juan Jose keys (Rafael Gonzaga) #45827
- [67efe2a55e] - doc: fix wrong output of example in util (Deokjin Kim) #45825
- [b709af31e0] - doc: sort http.createServer() options alphabetically (Luigi Pinca) #45680
- [ebe292113a] - doc,crypto: fix WebCryptoAPI import keyData and export return (Filip Skokan) #46076
- [204757719c] - errors: refactor to use a method that formats a list string (Daeyeon Jeong) #45793
- [463bb9602e] - esm: mark importAssertions as required (Antoine du Hamel) #46164
- [0bdf2db079] - esm: rewrite loader hooks test (Geoffrey Booth) #46016
- [297773c6d1] - events: change status of event.returnvalue to legacy (Deokjin Kim) #46175
- [d088d6e5c3] - events: change status of event.cancelBubble to legacy (Deokjin Kim) #46146
- [36be0c4ee2] - events: change status of event.srcElement to legacy (Deokjin Kim) #46085
- [b239f0684a] - events: fix violation of symbol naming convention (Deokjin Kim) #45978
- [aec340b312] - fs: refactor to use validateInteger (Deokjin Kim) #46008
- [e620de6444] - http: refactor to use validateHeaderName (Deokjin Kim) #46143
- [3e70b7d863] - http: writeHead if statusmessage is undefined dont override headers (Marco Ippolito) #46173
- [3d1dd96c4f] - http: refactor to use min of validateNumber for maxTotalSockets (Deokjin Kim) #46115
- [4df1fcc9db] - (SEMVER-MINOR) http: join authorization headers (Marco Ippolito) #45982
- [8c06e2f645] - http: replace var with const on code of comment (Deokjin Kim) #45951
- [3c0c5e0567] - (SEMVER-MINOR) http: improved timeout defaults handling (Paolo Insogna) #45778
- [edcd4fc576] - lib: use kEmptyObject and update JSDoc in webstreams (Deokjin Kim) #46183
- [d6fc855b8a] - lib: refactor to use validate function (Deokjin Kim) #46101
- [bc17f37b98] - lib: reuse invalid state errors on webstreams (Rafael Gonzaga) #46086
- [86554bf27c] - lib: fix incorrect use of console intrinsic (Colin Ihrig) #46044
- [7fc7b19124] - lib: update JSDoc of getOwnPropertyValueOrDefault (Deokjin Kim) #46010
- [c1cc1f9e12] - lib: use kEmptyObject as default value for options (Deokjin Kim) #46011
- [db617222da] - meta: update AUTHORS (Node.js GitHub Bot) #46215
- [10afecd0d8] - meta: update AUTHORS (Node.js GitHub Bot) #46130
- [d8ce990ce6] - meta: update comment in CODEOWNERS to better reflect current policy (Antoine du Hamel) #45944
- [e3f0194168] - meta: update AUTHORS (Node.js GitHub Bot) #46040
- [d31c478929] - meta: update AUTHORS (Node.js GitHub Bot) #45968
- [10a276a3e0] - meta: add nodejs/loaders to CODEOWNERS (Geoffrey Booth) #45940
- [56247d7c87] - meta: add nodejs/test_runner to CODEOWNERS (Antoine du Hamel) #45935
- [3bef8bc743] - meta: update AUTHORS (Node.js GitHub Bot) #45899
- [baf30ee935] - module: fix unintended mutation (Antoine du Hamel) #46108
- [3ad584c357] - net: handle socket.write(cb) edge case (Santiago Gimeno) #45922
- [2ab35cf0cc] - node-api: disambiguate napi_add_finalizer (Chengzhong Wu) #45401
- [6e9676e986] - node-api: generalize finalizer second pass callback (Chengzhong Wu) #44141
- [b2faceff0a] - (SEMVER-MINOR) os: add availableParallelism() (Colin Ihrig) #45895
- [8fac4c5684] - perf_hooks: fix checking range of options.figures in createHistogram (Deokjin Kim) #45999
- [ea73702847] - process,worker: ensure code after exit() effectless (ywave620) #45620
- [784ed594ea] - repl: improve robustness wrt to prototype pollution (Antoine du Hamel) #45604
- [fcfde3412e] - src: rename internal module declaration as internal bindings (Chengzhong Wu) #45551
- [646cadccd0] - src: fix endianness of simdutf (Yagiz Nizipli) #46257
- [94605b1665] - src: replace unreachable code with static_assert (Tobias Nießen) #46209
- [3ce39bbcb7] - src: hide kMaxDigestMultiplier outside HKDF impl (Tobias Nießen) #46206
- [9648b06e09] - src: distinguish env stopping flags (Chengzhong Wu) #45907
- [53ecd20bbd] - src: remove return after abort (Shelley Vohr) #46172
- [c4c8931b9d] - src: remove unnecessary semicolons (Shelley Vohr) #46171
- [fab72b1677] - src: use simdutf for converting externalized builtins to UTF-16 (Anna Henningsen) #46119
- [67729961e7] - src: use constant strings for memory info names (Chengzhong Wu) #46087
- [0ac4e5dd34] - src: fix typo in node_snapshotable.cc (Vadim) #46103
- [b454a7665d] - src: keep PipeWrap::Open function consistent with TCPWrap (theanarkh) #46064
- [41f5a29cca] - src: speed up process.getActiveResourcesInfo() (Darshan Sen) #46014
- [02a61dd6bd] - src: fix typo in node_file.cc (Vadim) #45998
- [99c033ed98] - src: fix crash on OnStreamRead on Windows (Santiago Gimeno) #45878
- [27d6a8b2b1] - src: fix creating Isolates from addons (Anna Henningsen) #45885
- [9ca31cdba3] - src: use string_view for FastStringKey implementation (Anna Henningsen) #45914
- [e4fc3abfd5] - src: fix UB in overflow checks (Ben Noordhuis) #45882
- [574afac26a] - src: check size of args before using for exec_path (A. Wilcox) #45902
- [f0692468cd] - src: fix tls certificate root store data race (Ben Noordhuis) #45767
- [a749ceda2e] - src: add undici and acorn to process.versions (Debadree Chatterjee) #45621
- [08a6a61575] - src,lib: the handle keeps loop alive in cluster rr mode (theanarkh) #46161
- [a87963de6b] - stream: fix pipeline calling end on destination more than once (Debadree Chatterjee) #46226
- [cde59606cd] - (SEMVER-MINOR) stream: implement finished() for ReadableStream and WritableStream (Debadree Chatterjee) #46205
- [441d9de33e] - stream: refactor to use validateFunction (Deokjin Kim) #46007
- [325fc08d48] - stream: fix typo in JSDoc (Deokjin Kim) #45991
- [536322fa1c] - test: update postject to 1.0.0-alpha.4 (Node.js GitHub Bot) #46212
- [a3056f4125] - test: refactor to avoid mutation of global by a loader (Michaël Zasso) #46220
- [1790569518] - test: improve test coverage for WHATWG TextDecoder (Juan José) #45241
- [896027c006] - test: add fix so that test exits if port 42 is unprivileged (Suyash Nayan) #45904
- [257224da0e] - test: use os.availableParallelism() (Deokjin Kim) #46003
- [7e1462dd02] - test: update Web Events WPT (Deokjin Kim) #46051
- [40d52fbc5f] - test: add test to once() in event lib (Jonathan Diaz) #46126
- [f3518f3337] - test: use process.hrtime.bigint instead of process.hrtime (Deokjin Kim) #45877
- [4d6dd10464] - test: print failed JS/parallel tests (Geoffrey Booth) #45960
- [7cb6fef6d6] - test: fix test broken under --node-builtin-modules-path (Geoffrey Booth) #45894
- [55e4140c34] - test: fix mock.method to support class instances (Erick Wendel) #45608
- [286acaa6fe] - test: update encoding wpt to latest (Yagiz Nizipli) #45850
- [22c1e918ce] - test: update url wpt to latest (Yagiz Nizipli) #45852
- [5fa6a70bbd] - test: add CryptoKey transferring tests (Filip Skokan) #45811
- [4aaec07266] - test: add postject to fixtures (Darshan Sen) #45298
- [da78f9cbb8] - test,crypto: update WebCryptoAPI WPT (Filip Skokan) #45860
- [3269423032] - test,esm: validate more edge cases for dynamic imports (Antoine du Hamel) #46059
- [cade2fccf4] - test_runner: run t.after() if test body throws (Colin Ihrig) #45870
- [87a0e86604] - test_runner: parse yaml (Moshe Atlow) #45815
- [757a022443] - tls: don't treat fatal TLS alerts as EOF (David Benjamin) #44563
- [c6457cbf8d] - tls: fix re-entrancy issue with TLS close_notify (David Benjamin) #44563
- [fcca2d5ea6] - tools: update lint-md-dependencies (Node.js GitHub Bot) #46214
- [09adb86c19] - tools: fix macro name in update-undici (Almeida) #46217
- [1b0cc79785] - tools: add automation for updating postject dependency (Darshan Sen) #46157
- [38df662119] - tools: update create-or-update-pull-request-action (Michaël Zasso) #46169
- [3f4c0c0de1] - tools: update eslint to 8.31.0 (Node.js GitHub Bot) #46131
- [f3dc4329e6] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #46129
- [fafbd1ca72] - tools: move update-eslint.sh to dep_updaters/ (Luigi Pinca) #46088
- [609df01fa9] - tools: make update-eslint.sh work with npm@9 (Luigi Pinca) #46088
- [31b8cf1a4d] - tools: fix lint rule recommendation (Colin Ihrig) #46044
- [0a80cbdcb1] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #46039
- [18503fa7ba] - tools: update doc to [email protected] (Node.js GitHub Bot) #46038
- [b48e82ec1d] - tools: add release host var to promotion script (Ruy Adorno) #45913
- [3b93b0c1f5] - tools: add url to AUTHORS update automation (Antoine du Hamel) #45971
- [623b0eba81] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #45967
- [b0e88377fe] - tools: update GitHub workflow action (Mohammed Keyvanzadeh) #45937
- [974442e69d] - tools: update lint-md dependencies (Node.js GitHub Bot) #45813
- [5aaa8c3bbf] - tools: enforce use of trailing commas in tools/ (Antoine du Hamel) #45889
- [1e32520f72] - tools: add ArrayPrototypeConcat to the list of primordials to avoid (Antoine du Hamel) #44445
- [e0cda56204] - tools: fix incorrect version history order (Fabien Michel) #45728
- [7438ff175a] - tools: update eslint to 8.29.0 (Node.js GitHub Bot) #45733
- [1e11247b91] - Revert "tools: update V8 gypfiles for RISC-V" (Lu Yahan) #46156
- [0defe4effa] - trace_events: refactor to use validateStringArray (Deokjin Kim) #46012
- [f1dcbe7652] - util: add fast path for text-decoder fatal flag (Yagiz Nizipli) #45803
- [277d9da876] - vm: refactor to use validate function (Deokjin Kim) #46176
- [96f1b2e731] - vm: refactor to use validateStringArray (Deokjin Kim) #46020
New in Node.js 19.6.1 Current (Feb 17, 2023)
- Notable Changes:
- The following CVEs are fixed in this release:
- CVE-2023-23919: OpenSSL errors not cleared in error stack (Medium)
- CVE-2023-23918: Experimental Policies bypass via process.mainModule.require(High)
- CVE-2023-23920: Insecure loading of ICU data through ICU_DATA environment variable (Low)
- More detailed information on each of the vulnerabilities can be found in February 2023 Security Releases blog post.
- This security release includes OpenSSL security updates as outlined in the recent OpenSSL security advisory and undici security update.
- Commits:
- [97d9d55d2f] - build: build ICU with ICU_NO_USER_DATA_OVERRIDE (RafaelGSS) nodejs-private/node-private#374
- [8ac90e6372] - crypto: clear OpenSSL error on invalid ca cert (RafaelGSS) nodejs-private/node-private#368
- [10a4c47e3a] - deps: update undici to 5.19.1 (Node.js GitHub Bot) #46634
- [b10fc75e4a] - deps: update undici to 5.18.0 (Node.js GitHub Bot) #46502
- [e9b64ea8b9] - deps: update undici to 5.17.1 (Node.js GitHub Bot) #46502
- [66a24cec47] - deps: cherry-pick Windows ARM64 fix for openssl (Richard Lau) #46573
- [d8559aa6f5] - deps: update archs files for quictls/openssl-3.0.8+quic (RafaelGSS) #46573
- [dc477f547d] - deps: upgrade openssl sources to quictls/openssl-3.0.8+quic (RafaelGSS) #46573
- [2aae197670] - lib: makeRequireFunction patch when experimental policy (RafaelGSS) nodejs-private/node-private#358
- [6d17b693ec] - policy: makeRequireFunction on mainModule.require (RafaelGSS) nodejs-private/node-private#358
New in Node.js 19.6.0 Current (Feb 2, 2023)
- Notable changes:
- ESM: Leverage loaders when resolving subsequent loaders:
- Loaders now apply to subsequent loaders, for example: --experimental-loader ts-node --experimental-loader loader-written-in-typescript.
- Upgrade npm to 9.4.0:
- Added --install-strategy=linked option for installations similar to pnpm.
- Other notable changes:
- [a7c9daa497] - (SEMVER-MINOR) fs: add statfs() functions (Colin Ihrig) #46358
- [34d70ce615] - (SEMVER-MINOR) vm: expose cachedDataRejected for vm.compileFunction (Anna Henningsen) #46320
- [b4ac794923] - (SEMVER-MINOR) v8: support gc profile (theanarkh) #46255
- [d52f60009a] - (SEMVER-MINOR) src,lib: add constrainedMemory API for process (theanarkh) #46218
- [5ad6c2088e] - (SEMVER-MINOR) buffer: add isAscii method (Yagiz Nizipli) #46046
- [fbdc3f7316] - (SEMVER-MINOR) test_runner: add reporters (Moshe Atlow) #45712
- Commits:
- [524eec70e2] - benchmark: add trailing commas (Antoine du Hamel) #46370
- [f318a85408] - benchmark: remove buffer benchmarks redundancy (Brian White) #45735
- [6186b3ea14] - benchmark: introduce benchmark combination filtering (Brian White) #45735
- [5ad6c2088e] - (SEMVER-MINOR) buffer: add isAscii method (Yagiz Nizipli) #46046
- [8c6c4338a6] - build: export more OpenSSL symbols on Windows (Mohamed Akram) #45486
- [d795d93901] - build: fix MSVC 2022 Release compilation (Vladimir Morozov (REDMOND)) #46228
- [8e363cf8e8] - crypto: include hmac.h in crypto_util.h (Adam Langley) #46279
- [c1f3e13c65] - deps: update acorn to 8.8.2 (Node.js GitHub Bot) #46363
- [813b160bd7] - deps: upgrade npm to 9.4.0 (npm team) #46353
- [9c2f3cea70] - deps: update undici to 5.15.0 (Node.js GitHub Bot) #46213
- [312e10c1e3] - deps: update to uvwasi 0.0.15 (Colin Ihrig) #46253
- [c7024eec16] - doc: correct the sed command for macOS in release process docs (Juan José) #46397
- [996bac044b] - doc: include webstreams in finished() and Duplex.from() parameters (Debadree Chatterjee) #46312
- [891d18d55c] - doc: pass string to textEncoder.encode as input (Deokjin Kim) #46421
- [968db213f8] - doc: add tip for session.post function (theanarkh) #46354
- [a64d7f4e31] - doc: add documentation for socket.destroySoon() (Luigi Pinca) #46337
- [975788899f] - doc: fix commit message using test instead of deps (Tony Gorez) #46313
- [1d44017f52] - doc: add v8 fast api contribution guidelines (Yagiz Nizipli) #46199
- [e2698c05fb] - doc: fix small typo error (0xflotus) #46186
- [f39fb8c001] - doc: mark some parameters as optional in webstreams (Deokjin Kim) #46269
- [7a9af38128] - doc: update output of example in events.getEventListeners (Deokjin Kim) #46268
- [729642f30b] - esm: delete preload mock test (Geoffrey Booth) #46402
- [7aac21e90a] - esm: leverage loaders when resolving subsequent loaders (Maël Nison) #43772
- [a7c9daa497] - (SEMVER-MINOR) fs: add statfs() functions (Colin Ihrig) #46358
- [1ec6270efa] - http: res.setHeaders first implementation (Marco Ippolito) #46109
- [d4370259e9] - inspector: allow opening inspector when NODE_V8_COVERAGE is set (Moshe Atlow) #46113
- [b966ef9a42] - lib: remove unnecessary ObjectGetValueSafe (Chengzhong Wu) #46335
- [2b06d66289] - lib: cache parsed source maps to reduce memory footprint (Chengzhong Wu) #46225
- [c38673df91] - meta: update AUTHORS (Node.js GitHub Bot) #46399
- [c10e602547] - meta: update AUTHORS (Node.js GitHub Bot) #46303
- [9dc026b14a] - meta: add .mailmap entry (Rich Trott) #46303
- [7c514574f7] - meta: move evanlucas to emeritus (Evan Lucas) #46274
- [3a3a6d87f1] - module: move test reporter loading (Geoffrey Booth) #45923
- [4ae2492a33] - readline: fix detection of carriage return (Antoine du Hamel) #46306
- [43cad78b7a] - src: stop tracing agent before shutting down libuv (Santiago Gimeno) #46380
- [360a3f3094] - src: get rid of fp arithmetic in ParseIPv4Host (Tobias Nießen) #46326
- [e7b507a8cf] - src: use UNREACHABLE instead of CHECK(falsy) (Tobias Nießen) #46317
- [4c59b60ee8] - src: add support for ETW stack walking (José Dapena Paz) #46203
- [640d111f95] - src: refactor EndsInANumber in node_url.cc and adds IsIPv4NumberValid (Miguel Teixeira) #46227
- [fb7bee2b6e] - src: fix c++ exception on bad command line arg (Ben Noordhuis) #46290
- [18c95ec4bd] - src: remove unreachable UNREACHABLE (Tobias Nießen) #46281
- [35bf93b01a] - src: replace custom ASCII validation with simdutf one (Anna Henningsen) #46271
- [8307a4bbcd] - src: replace unreachable code with static_assert (Tobias Nießen) #46250
- [7cf0da020a] - src: use explicit C++17 fallthrough (Tobias Nießen) #46251
- [d52f60009a] - (SEMVER-MINOR) src,lib: add constrainedMemory API for process (theanarkh) #46218
- [2e5e7a9261] - stream: remove brandchecks from stream duplexify (Debadree Chatterjee) #46315
- [9675863461] - stream: fix readable stream as async iterator function (Erick Wendel) #46147
- [232bdd5d16] - test: add trailing commas in test/node-api (Antoine du Hamel) #46384
- [4cc081815d] - test: add trailing commas in test/message (Antoine du Hamel) #46372
- [b83c5d9deb] - test: add trailing commas in test/pseudo-tty (Antoine du Hamel) #46371
- [8a45c9d231] - test: fix tap escaping with and without --test (Pulkit Gupta) #46311
- [367dc41299] - test: set common.bits to 64 for loong64 (Shi Pujin) #45383
- [7385edc7d0] - test: s390x zlib test case fixes (Adam Majer) #46367
- [d5d837bdee] - test: fix logInTimeout is not function (theanarkh) #46348
- [a1d79546ac] - test: avoid trying to call sysctl directly (Adam Majer) #46366
- [747f3689e0] - test: avoid left behind child processes (Richard Lau) #46276
- [940484b7aa] - test: add failing test for readline with carriage return (Alec Mev) #46075
- [d13116a719] - test,crypto: add CFRG curve vectors to wrap/unwrap tests (Filip Skokan) #46406
- [398a7477b3] - test,crypto: update WebCryptoAPI WPT (Filip Skokan) #46267
- [8b473affe8] - test_runner: make built in reporters internal (Colin Ihrig) #46092
- [a49e17e22b] - test_runner: report file in test runner events (Moshe Atlow) #46030
- [fbdc3f7316] - test_runner: add reporters (Moshe Atlow) #45712
- [6579de8c47] - tools: update eslint to 8.33.0 (Node.js GitHub Bot) #46400
- [bf62da55ad] - tools: update doc to [email protected] [email protected] (Node.js GitHub Bot) #46364
- [b0acf55197] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #46398
- [88b904cf24] - tools: require more trailing commas (Antoine du Hamel) #46346
- [4440b3ef87] - tools: update lint-md-dependencies (Node.js GitHub Bot) #46302
- [e75faff4bd] - tools: allow icutrim.py to run on python2 (Michael Dawson) #46263
- [e460d16d73] - url: refactor to use more primordials (Antoine du Hamel) #45966
- [b4ac794923] - (SEMVER-MINOR) v8: support gc profile (theanarkh) #46255
- [34d70ce615] - (SEMVER-MINOR) vm: expose cachedDataRejected for vm.compileFunction (Anna Henningsen) #46320
New in Node.js 18.13.0 LTS (Jan 6, 2023)
- Notable changes:
- Add support for externally shared js builtins:
- By default Node.js is built so that all dependencies are bundled into the Node.js binary itself. Some Node.js distributions prefer to manage dependencies externally. There are existing build options that allow dependencies with native code to be externalized. This commit adds additional options so that dependencies with JavaScript code (including WASM) can also be externalized. This addition does not affect binaries shipped by the Node.js project but will allow other distributions to externalize additional dependencies when needed.
- Contributed by Michael Dawson in #44376
- Introduce File:
- The File class is part of the FileAPI. It can be used anywhere a Blob can, for example in URL.createObjectURL and FormData. It contains two properties that Blobs do not have: lastModified, the last time the file was modified in ms, and name, the name of the file.
- Contributed by Khafra in #45139
- Support function mocking on Node.js test runner:
- The node:test module supports mocking during testing via a top-level mock object.
- Contributed by Colin Ihrig in #45326
- Other notable changes:
- build:
- disable v8 snapshot compression by default (Joyee Cheung) #45716
- crypto:
- update root certificates (Luigi Pinca) #45490
- deps:
- update ICU to 72.1 (Michaël Zasso) #45068
- doc:
- add doc-only deprecation for headers/trailers setters (Rich Trott) #45697
- add Rafael to the tsc (Michael Dawson) #45691
- deprecate use of invalid ports in url.parse (Antoine du Hamel) #45576
- add lukekarrys to collaborators (Luke Karrys) #45180
- add anonrig to collaborators (Yagiz Nizipli) #45002
- deprecate url.parse() (Rich Trott) #44919
- lib:
- drop fetch experimental warning (Matteo Collina) #45287
- net:
- (SEMVER-MINOR) add autoSelectFamily and autoSelectFamilyAttemptTimeout options (Paolo Insogna) #44731
- src:
- (SEMVER-MINOR) add uvwasi version (Jithil P Ponnan) #45639
- (SEMVER-MINOR) add initial shadow realm support (Chengzhong Wu) #42869
- test_runner:
- (SEMVER-MINOR) add t.after() hook (Colin Ihrig) #45792
- (SEMVER-MINOR) don't use a symbol for runHook() (Colin Ihrig) #45792
- tls:
- (SEMVER-MINOR) add "ca" property to certificate object (Ben Noordhuis) #44935
- remove trustcor root ca certificates (Ben Noordhuis) #45776
- tools:
- update certdata.txt (Luigi Pinca) #45490
- util:
- add fast path for utf8 encoding (Yagiz Nizipli) #45412
- improve textdecoder decode performance (Yagiz Nizipli) #45294
- (SEMVER-MINOR) add MIME utilities (#21128) (Bradley Farias) #21128
- Commits:
- [40123a6bb0] - (SEMVER-MINOR) async_hooks: add hook to stop propagation (Gerhard Stöbich) #45386
- [9925d20ed8] - benchmark: add variety of inputs to text-encoder (Yagiz Nizipli) #45787
- [5e167bd658] - benchmark: make benchmarks runnable in older versions of Node.js (Joyee Cheung) #45746
- [a1421623ac] - benchmark: add v8 serialize benchmark (Yagiz Nizipli) #45476
- [fcf61884cc] - benchmark: add text-encoder benchmark (Yagiz Nizipli) #45450
- [762d285c98] - benchmark: add parameters to text-decoder benchmark (Yagiz Nizipli) #45363
- [ab891ecbff] - benchmark: fix text-decoder benchmark (Yagiz Nizipli) #45363
- [1ed312a737] - benchmark: add blob benchmark (Yagiz Nizipli) #44990
- [2ee3d81277] - bootstrap: merge main thread and worker thread initializations (Joyee Cheung) #44869
- [e638ea4f48] - bootstrap: check more metadata when loading the snapshot (Joyee Cheung) #44132
- [bfcf4f0046] - buffer: make decodeUTF8 params loose (Yagiz Nizipli) #45610
- [3a7f3d5993] - (SEMVER-MINOR) buffer: introduce File (Khafra) #45139
- [345b847aa6] - buffer: fix validation of options in Blob constructor (Antoine du Hamel) #45156
- [1ddc438444] - build: disable v8 snapshot compression by default (Joyee Cheung) #45716
- [bd1a2fbd91] - build: add python 3.11 support for android (Mohammed Keyvanzadeh) #45765
- [2b0ace302d] - build: rework gyp files for zlib (Richard Lau) #45589
- [5ab7a30a06] - build: avoid redefined macro (Michaël Zasso) #45544
- [f58b32c22e] - build: fix env.h for cpp20 (Jiawen Geng) #45516
- [1de1f679ec] - Revert "build: remove precompiled header and debug information for host builds" (Stefan Stojanovic) #45432
- [89d1eb58b0] - build: add --v8-disable-object-print flag (MURAKAMI Masahiko) #45458
- [f2a4def232] - build: make scripts in gyp run with right python (Jiawen Geng) #45435
- [473a879c91] - build: workaround for node-core-utils (Jiawen Geng) #45199
- [abcc034c61] - build: fix icu-small build with ICU 72.1 (Steven R. Loomis) #45195
- [8a99221a21] - build: remove unused language files (Ben Noordhuis) #45138
- [3fb44f9413] - build: add GitHub token to auto-start-ci workflow (Richard Lau) #45185
- [2aac993bb2] - build: add version info to timezone update PR (Darshan Sen) #45021
- [0db19b3c60] - build: support Python 3.11 (Luigi Pinca) #45191
- [fb008a2e9b] - build,deps,src: fix Intel VTune profiling support (Shi Lei) #45248
- [61bc27a5b4] - build,win: pass --debug-nghttp2 to configure (Santiago Gimeno) #45209
- [7b68c06988] - child_process: validate arguments for null bytes (Darshan Sen) #44782
- [bac6b7d900] - crypto: simplify lazy loading of internal modules (Antoine du Hamel) #45809
- [2fbf95662c] - crypto: fix CipherBase Update int32 overflow (Marco Ippolito) #45769
- [0100fd445b] - crypto: refactor ArrayBuffer to bigint conversion utils (Antoine du Hamel) #45567
- [fa0a2d8e5d] - crypto: refactor verify acceptable key usage functions (Filip Skokan) #45569
- [ef64b86d0d] - crypto: fix ECDH webcrypto public CryptoKey usages (Filip Skokan) #45569
- [b92b80424a] - crypto: validate CFRG webcrypto JWK import "d" and "x" are a pair (Filip Skokan) #45569
- [621e3c9cd4] - crypto: use DataError for CFRG webcrypto raw and jwk import key checks (Filip Skokan) #45569
- [8fcfbeffe1] - crypto: use DataError for webcrypto keyData import failures (Filip Skokan) #45569
- [a976a63138] - crypto: fix X25519 and X448 webcrypto public CryptoKey usages (Filip Skokan) #45569
- [27adcc9c4b] - crypto: ensure "x" is present when importing private CFRG webcrypto keys (Filip Skokan) #45569
- [f27ebab56c] - crypto: clear OpenSSL error queue after calling X509_check_private_key() (Filip Skokan) #45495
- [319ae095fb] - crypto: update root certificates (Luigi Pinca) #45490
- [dae92e78d6] - crypto: clear OpenSSL error queue after calling X509_verify() (Takuro Sato) #45377
- [1ba1809dfd] - crypto: handle more webcrypto errors with OperationError (Filip Skokan) #45320
- [b54f8761ae] - crypto: handle unsupported AES ciphers in webcrypto (Filip Skokan) #45321
- [57f507f1dd] - crypto: fix webcrypto HMAC "get key length" in deriveKey and generateKey (Filip Skokan) #44917
- [7565a75ee5] - crypto: remove webcrypto HKDF and PBKDF2 default-applied lengths (Filip Skokan) #44945
- [631421e8d0] - crypto: simplify webcrypto ECDH deriveBits (Filip Skokan) #44946
- [c4f665f528] - deps: V8: cherry-pick d1d4c648e7ff (Danielle Adams) #46098
- [c04e1df396] - Revert "deps: fix zlib compilation for CPUs without SIMD features" (Luigi Pinca) #45589
- [34e708cded] - deps: update undici to 5.13.0 (Node.js GitHub Bot) #45634
- [33b0664bbe] - deps: update corepack to 0.15.2 (Node.js GitHub Bot) #45635
- [7b6d2a8ec0] - deps: update nghttp2 to 1.51.0 (Yagiz Nizipli) #45537
- [02eabaf409] - deps: update base64 to 0.5.0 (Facundo Tuesca) #45509
- [7d26bf3c08] - deps: V8: cherry-pick 9df5ef70ff18 (Yagiz Nizipli) #45474
- [43419ad6bc] - deps: fix zlib compilation for CPUs without SIMD features (Anna Henningsen) #45387
- [978cfad005] - deps: update zlib to upstream 8bbd6c31 (Luigi Pinca) #45387
- [72362f348c] - deps: update acorn to 8.8.1 (Node.js GitHub Bot) #45441
- [17a89d1f4e] - deps: V8: cherry-pick 031b98b25cba (Michaël Zasso) #45375
- [bbe67c484a] - deps: upgrade npm to 8.19.3 (npm team) #45322
- [a274d6bc0d] - deps: update corepack to 0.15.1 (Node.js GitHub Bot) #45331
- [c9c958e188] - deps: upgrade to libuv 1.44.2 (Luigi Pinca) #42340
- [07b47ad58c] - deps: update corepack to 0.15.0 (Node.js GitHub Bot) #45235
- [bb6e8b1972] - deps: update undici to 5.12.0 (Node.js GitHub Bot) #45236
- [596e3a8f2f] - deps: V8: cherry-pick c2792e58035f (Jiawen Geng) #44961
- [2088cb4744] - deps: patch V8 to 10.2.154.23 (Michaël Zasso) #45997
- [6ea555e8ac] - deps: V8: cherry-pick 2ada52cffbff (Michaël Zasso) #45573
- [6d8c0f0efd] - deps: update timezone to 2022f (Node.js GitHub Bot) #45289
- [3b73aa416f] - deps: update ICU to 72.1 (Michaël Zasso) #45068
- [555d1723b1] - deps: update timezone (Node.js GitHub Bot) #44950
- [5c0fcc13f7] - deps: patch V8 to 10.2.154.19 (Michaël Zasso) #45229
- [1a47a7bbed] - diagnostics_channel: fix diagnostics channel memory leak (theanarkh) #45633
- [40a29aabbc] - diagnostics_channel: built-in channels should remain experimental (Stephen Belanger) #45423
- [2752f543bc] - diagnostics_channel: mark as stable (Stephen Belanger) #45290
- [9ceed7a1cc] - dns: fix port validation (Antoine du Hamel) #45135
- [108220cb05] - doc: buffer.fill empty value (Marco Ippolito) #45794
- [b5ad92fea2] - doc: add args of filter option of fs.cp (MURAKAMI Masahiko) #45739
- [899ba3d3c2] - doc: disambiguate native module to addon (Daeyeon Jeong) #45673
- [6e35803789] - doc: using console.error for error cases in crypto and events (emirgoren) #45640
- [fcd0f71979] - doc: fix actual result of example is different in events (Deokjin Kim) #45656
- [8203c021dc] - doc: add doc-only deprecation for headers/trailers setters (Rich Trott) #45697
- [c1f90a5b7b] - doc: add detail on how api docs are published (Michael Dawson) #45626
- [90e9951d30] - doc: use console.error for error case in child_process and dgram (Deokjin Kim) #45690
- [d9593ce98b] - doc: move streaming instruc to doc/contributing (Michael Dawson) #45582
- [a3eb2dd9b4] - doc: add Rafael to the tsc (Michael Dawson) #45691
- [fa8caa328f] - doc: add missing line in debugger (Deokjin Kim) #45632
- [3fb5c6d3c5] - doc: fix actual result of example is different in stream (Deokjin Kim) #45619
- [8a1e556899] - doc: add options parameter to eventTarget.removeEventListener (Deokjin Kim) #45667
- [6881188f0f] - doc: define "react-native" community condition (Alex Hunt) #45367
- [53e01f650f] - doc: move os.machine() docs to sorted position (Colin Ihrig) #45647
- [0669712cbd] - doc: use console.error for error case in fs, https, net and process (Deokjin Kim) #45606
- [ebc89f15fe] - doc: add link to doc with social processes (Michael Dawson) #45584
- [b771fdb6f8] - doc: deprecate use of invalid ports in url.parse (Antoine du Hamel) #45576
- [6a36159764] - doc: clarify changes in readableFlowing (Kohei Ueno) #45554
- [30a8604143] - doc: use console.error for error case in http2 (Deokjin Kim) #45577
- [8e94339891] - doc: add version description about fsPromise.constants (chlorine) #45556
- [203ca494a1] - doc: add missing documentation for paramEncoding (Tobias Nießen) #45523
- [31233b2064] - doc: fix typo in threat model (Tobias Nießen) #45558
- [e851c43c54] - doc: add Node.js Threat Model (Rafael Gonzaga) #45223
- [34c2876541] - doc: run license-builder (github-actions[bot]) #45553
- [dde8740af3] - doc: add async_hooks migration note (Geoffrey Booth) #45335
- [e304628fb5] - doc: fix RESOLVE_ESM_MATCH in modules.md (翠 / green) #45280
- [8b44c6121e] - doc: add arm64 to os.machine() (Carter Snook) #45374
- [009adc7e21] - doc: add lint rule to enforce trailing commas (Antoine du Hamel) #45471
- [c6b89abc5f] - doc: adjust wording to eliminate awkward typography (Konv) #45398
- [785817e341] - doc: fix typo in maintaining-dependencies.md (Tobias Nießen) #45428
- [00e02bda3a] - doc: allow for holidays in triage response (Michael Dawson) #45267
- [bef5206b84] - doc: include last security release date (Juan José Arboleda) #45368
- [846b1aefac] - doc: fix email for Ashley (Michael Dawson) #45364
- [913b669a2b] - doc: fix test runner's only tests section header (Colin Ihrig) #45343
- [691da886f1] - doc: run license-builder (github-actions[bot]) #45349
- [90a28920de] - doc: add more info for timer.setInterval (theanarkh) #45232
- [d2fc2aa666] - doc: use module names in stability overview table (Filip Skokan) #45312
- [3f69d21b5c] - doc: add node: prefix for examples (Daeyeon Jeong) #45328
- [a5c9b3c112] - doc: update name of Node.js core Slack channel (Rich Trott) #45293
- [2bfd60b06f] - doc: fix "task_processor.js" typo (andreysoktoev) #45257
- [248de57278] - doc: add history section to fetch-related globals (Antoine du Hamel) #45198
- [1f5975ef50] - doc: clarify moderation in onboarding.md (Benjamin Gruenbaum) #41930
- [4e87c36570] - doc: change make lint to make lint-md (RafaelGSS) #45197
- [3381a17d2c] - doc: add more lts update steps to release guide (Ruy Adorno) #45177
- [64b0495310] - doc: add bmuenzenmeyer to triagers (Brian Muenzenmeyer) #45155
- [6ebdb76727] - doc: update process.release (Filip Skokan) #45170
- [05d89c4722] - doc: add link to triage guide (Brian Muenzenmeyer) #45154
- [f1aa82fd3c] - doc: mark Node.js 12 as End-of-Life (Rafael Gonzaga) #45186
- [da6f308612] - doc: add lukekarrys to collaborators (Luke Karrys) #45180
- [17380a1e6a] - doc: update mark release line lts on release guide (Ruy Adorno) #45101
- [3ddb6ccb2a] - doc: be more definite and present tense-y (Ben Noordhuis) #45120
- [b09c386208] - doc: add major version note to release guide (Ruy Adorno) #45054
- [896b48b549] - doc: fix v14.x link maintaining openssl guide (RafaelGSS) #45071
- [33b3d8646b] - doc: add note about latest GitHub release (Michaël Zasso) #45111
- [5e76bf5cd5] - doc: mention v18.x openssl maintaining guide (Rafael Gonzaga) #45070
- [b4e3f3f095] - doc: fix display of "problematic" ASCII characters (John Gardner) #44373
- [8bb23a4da3] - doc: mark Node.js v17.x as EOL (KaKa) #45110
- [3f89dcabdb] - doc: update Node.js 16 End-of-Life date (Richard Lau) #45103
- [7b23ec47b0] - doc: fix typo in parseArgs default value (Tobias Nießen) #45083
- [7da66ef9e7] - doc: updated security stewards (Michael Dawson) #45005
- [e5f9a520e2] - doc: fix http and http2 writeEarlyHints() parameter (Fabian Meyer) #45000
- [e41a39c2b9] - doc: run license-builder (github-actions[bot]) #45034
- [875de23ee9] - doc: improve the workflow to test release binaries (Rafael Gonzaga) #45004
- [d7fc12f647] - doc: fix undici version in changelog (Michael Dawson) #44982
- [4494cb2e82] - doc: add info on fixup to security release process (Michael Dawson) #44807
- [88351b9758] - doc: add anonrig to collaborators (Yagiz Nizipli) #45002
- [aebf7453d7] - doc: add notable changes to latest v18.x release changelog (Danielle Adams) #44996
- [b4cc30e18c] - doc: deprecate url.parse() (Rich Trott) #44919
- [4fcbc92788] - doc: fix backticks in fs API docs (Livia Medeiros) #44962
- [cc1f41a57e] - doc, async_hooks: improve and add migration hints (Gerhard Stöbich) #45369
- [6fb74a995d] - doc, http: add Uint8Array as allowed type (Gerhard Stöbich) #45167
- [066993a10a] - esm: add JSDoc property descriptions for loader (Rich Trott) #45370
- [fa210f91df] - esm: add JSDoc property descriptions for fetch (Rich Trott) #45370
- [2f27d058c2] - esm: protect ESM loader from prototype pollution (Antoine du Hamel) #45175
- [46ded6b96e] - esm: protect ESM loader from prototype pollution (Antoine du Hamel) #45044
- [3bb764a58a] - events: add unique events benchmark (Yagiz Nizipli) #44657
- [b305ad46fd] - fs: fix fs.rm support for loop symlinks (Nathanael Ruf) #45439
- [c2f0377b8f] - fs: update todo message (Yagiz Nizipli) #45265
- [1db20c84e1] - fs: fix opts.filter issue in cpSync (Tho) #45143
- [da302ce15b] - fs: trace more fs api (theanarkh) #45095
- [9ab00f5fbd] - gyp: fix v8 canary build on aix (Vasili Skurydzin) #45496
- [cbd710bbf4] - http: make OutgoingMessage more streamlike (Robert Nagy) #45672
- [209e7e3cff] - http: add debug log for ERR_UNESCAPED_CHARACTERS (Aidan Temple) #45420
- [3937118f5e] - http: add JSDoc property descriptions (Rich Trott) #45370
- [f222c95209] - http: add priority to common http headers (James M Snell) #45045
- [2882e6042e] - Revert "http: do not leak error listeners" (Luigi Pinca) #44921
- [b45878b2f1] - http2: improve session close/destroy procedures (Santiago Gimeno) #45115
- [a534175aa5] - http2: fix crash on Http2Stream::diagnostic_name() (Santiago Gimeno) #45123
- [0b9f11bcbe] - http2: fix debugStream method (Santiago Gimeno) #45129
- [bbaca8442a] - lib: allow Writeable.toWeb() to work on http.Outgoing message (Debadree Chatterjee) #45642
- [1284789371] - lib: check number of arguments in EventTarget's function (Deokjin Kim) #45668
- [6297e77b1f] - lib: disambiguate native module to binding (Daeyeon Jeong) #45673
- [f7c101555a] - lib: disambiguate native module to builtin module (Daeyeon Jeong) #45673
- [55f800b806] - lib: added SuiteContext class (Debadree Chatterjee) #45687
- [1ff8f689fa] - lib: add missing type of removeEventListener in question (Deokjin Kim) #45676
- [2c595da5dc] - lib: do not throw if global property is no longer configurable (Antoine du Hamel) #45344
- [b9d4ac2c7e] - lib: fix eslint early return (RafaelGSS) #45409
- [4ef86b59b5] - lib: fix JSDoc issues (Rich Trott) #45243
- [9ccf8b2ccc] - lib: use process.nextTick() instead of setImmediate() (Luigi Pinca) #42340
- [8616e9b58b] - lib: drop fetch experimental warning (Matteo Collina) #45287
- [57897f80cd] - lib: fix TypeError when converting a detached buffer source (Kohei Ueno) #44020
- [ba0e7ae3dd] - lib: fix AbortSignal.timeout parameter validation (dnalborczyk) #42856
- [385d795816] - lib: fix typo in pre_execution.js (Antoine du Hamel) #45039
- [4ab1530b9b] - lib: promise version of streams.finished call clean up (Naor Tedgi (Abu Emma)) #44862
- [2a3bd11edd] - lib: make properties on Blob and URL enumerable (Khafra) #44918
- [f412834151] - lib: support more attributes for early hint link (Yagiz Nizipli) #44874
- [1019209306] - meta: update AUTHORS (Node.js GitHub Bot) #45814
- [dc862fe786] - meta: update AUTHORS (Node.js GitHub Bot) #45732
- [dc5340018f] - meta: add .mailmap entry for Stefan Stojanovic (Rich Trott) #45703
- [775f659380] - meta: update AUTHORS info for nstepien (Nicolas Stepien) #45692
- [e2da381609] - meta: update AUTHORS (Node.js GitHub Bot) #45637
- [29e51e72f9] - meta: update AUTHORS (Node.js GitHub Bot) #45531
- [6f8759bc51] - meta: update VoltrexMaster's username (Mohammed Keyvanzadeh) #45503
- [404172bb7c] - meta: update AUTHORS (Node.js GitHub Bot) #45443
- [221f298078] - meta: be more proactive about removing from teams (Rich Trott) #45352
- [28b937ae38] - meta: update AUTHORS (Node.js GitHub Bot) #45333
- [255e89dc8c] - meta: update collaborator email address in README (Rich Trott) #45251
- [1a726e9dff] - meta: fix email address typo in README (Rich Trott) #45250
- [ffd059328b] - meta: remove dont-land-on-v12 auto labeling (Moshe Atlow) #45233
- [d7fe2eac07] - meta: update AUTHORS (Node.js GitHub Bot) #45238
- [5aa4ea931a] - meta: move a collaborator to emeritus (Rich Trott) #45160
- [4fe060e957] - meta: move one or more collaborators to emeritus (Node.js GitHub Bot) #45036
- [9ec6117b65] - meta: update AUTHORS (Node.js GitHub Bot) #45020
- [3197b913aa] - module: require.resolve.paths returns null with node schema (MURAKAMI Masahiko) #45147
- [bf8d48a881] - module: ensure relative requires work from deleted directories (Bradley Farias) #42384
- [2c0f7d47e4] - module: fix segment deprecation for imports field (Guy Bedford) #44883
- [a1831dacbf] - net: check autoSelectFamilyAttemptTimeout is positive (Deokjin Kim) #45740
- [048795dab0] - (SEMVER-MINOR) net: add autoSelectFamily and autoSelectFamilyAttemptTimeout options (Paolo Insogna) #44731
- [e4f7bcff8b] - net: remove _readableState from debug statement (Rich Trott) #45063
- [cd4b0626c2] - node-api: address coverity warning (Michael Dawson) #45563
- [581b38af13] - node-api: declare type napi_cleanup_hook (Chengzhong Wu) #45391
- [44766c6522] - node-api: fix immediate napi_remove_wrap test (Chengzhong Wu) #45406
- [746175a272] - node-api: handle no support for external buffers (Michael Dawson) #45181
- [b5811c44cb] - node-api,test: fix test_reference_double_free crash (Vladimir Morozov) #44927
- [bc5140383c] - os: convert uid and gid to 32-bit signed integers (Luigi Pinca) #42340
- [ff03ed1c22] - readline: improve robustness against prototype mutation (Antoine du Hamel) #45614
- [b999983c30] - repl: do not define wasi on global with no flag (Kohei Ueno) #45595
- [a186a4d7ef] - report: add more memory info (theanarkh) #45254
- [a880568afd] - report: add rss and use/kernel cpu usage fields (theanarkh) #45043
- [49da5cd0ee] - report,doc: define report version semantics (Gireesh Punathil) #45050
- [ae61740325] - src: add internal isArrayBufferDetached (Yagiz Nizipli) #45568
- [a58bf148b3] - (SEMVER-MINOR) src: add uvwasi version (Jithil P Ponnan) #45639
- [8e1138d354] - src: simplify NodeBIO::GetMethod initialization (Anna Henningsen) #45799
- [b88ee545f2] - src: make structuredClone work for process.env (Ben Noordhuis) #45698
- [94e6f08606] - src: mark generated snapshot_data as const (Anna Henningsen) #45786
- [29f2dabca2] - src: cleanup on disambiguating native modules (Michael Dawson) #45665
- [ed0a867a4e] - src: use enum class instead of enum in node_i18n (Deokjin Kim) #45646
- [1e48a5a5b0] - src: address coverity warning in node_file.cc (Michael Dawson) #45565
- [3f6f8f920f] - src: use qualified std::move call in node_http2 (Michaël Zasso) #45555
- [5e63bf3726] - src: avoid unused variables and functions (Michaël Zasso) #45542
- [3f5a23281c] - src: add missing include for std::all_of (Michaël Zasso) #45541
- [0328208f6c] - src: set an appropriate thread pool size if given --v8-pool-size=0 (Daeyeon Jeong) #45513
- [fbfd26da7d] - src: move FsStatsOffset and kFsStatsBufferLength to node_file.h (Joyee Cheung) #45498
- [2c6a4fd6fa] - src: don't run tasks on isolate termination (Santiago Gimeno) #45444
- [9c39b5ec48] - src: remove the unused PackageConfig class (Joyee Cheung) #45478
- [70ca26a858] - src: add --max-semi-space-size to the options allowed in NODE_OPTIONS (Emanuel Hoogeveen) #44436
- [5544ce4bdf] - src: condense experimental warning message (Rich Trott) #45424
- [9ac7df1c6a] - src: track contexts in the Environment instead of AsyncHooks (Joyee Cheung) #45282
- [89b3336120] - src: resolve TODO related to inspector CVEs (Tobias Nießen) #45341
- [e05ebe8f9b] - src: print nghttp2 logs when using --debug-nghttp2 (Santiago Gimeno) #45209
- [4634aa987d] - src: trace threadpool event (theanarkh) #44458
- [bf028a66ef] - src: lock-free init_process_flags (Jérémy Lal) #45221
- [8c4ac6dcf5] - src: call uv_library_shutdown before DisposePlatform (theanarkh) #45226
- [614d646767] - src: fix crypto.privateEncrypt fails first time (liuxingbaoyu) #42793
- [dee882e94f] - src: let http2 streams end after session close (Santiago Gimeno) #45153
- [325254cc2c] - src: remap invalid file descriptors using dup2 (Obiwac) #44461
- [f748f5df56] - src: remove unused contextify_global_private_symbol (Daeyeon Jeong) #45128
- [169b33a24c] - src: forbid running watch mode in REPL (Moshe Atlow) #45058
- [57b7023257] - src: fix test runner coverage (Moshe Atlow) #45055
- [bf17f8dcb8] - src: optimize ALPN callback (Ben Noordhuis) #44875
- [d433d34765] - src: simplify ALPN code, remove indirection (Ben Noordhuis) #44875
- [33c78e2340] - src: iwyu in cleanup_queue.cc (Shelley Vohr) #44983
- [23aa41394f] - (SEMVER-MINOR) src: add support for externally shared js builtins (Michael Dawson) #44376
- [2d2e71c189] - src: refactor BaseObject methods (Joyee Cheung) #44796
- [7b992cc229] - src: create BaseObject with node::Realm (Chengzhong Wu) #44348
- [a7f3bc0dbc] - src: introduce node::Realm (Chengzhong Wu) #44179
- [b11616be6b] - src: support WeakReference in snapshot (Joyee Cheung) #44193
- [1ca575501a] - src: iterate over base objects to prepare for snapshot (Joyee Cheung) #44192
- [f071028a45] - src: fix cppgc incompatibility in v8 (Shelley Vohr) #43521
- [b8290ff7e9] - (SEMVER-MINOR) src: add initial shadow realm support (Chengzhong Wu) #42869
- [90e8418e58] - src,lib: group properties used as constants from util binding (Daeyeon Jeong) #45539
- [12779b3e02] - src,lib: retrieve parsed source map url from v8 (Chengzhong Wu) #44798
- [c5630e2699] - src,node-api: update napi_is_detached_arraybuffer (Daeyeon Jeong) #45538
- [122c51b595] - stream: use structuredClone instead of v8 (Yagiz Nizipli) #45611
- [2bde576822] - stream: use ArrayBufferPrototypeGetByteLength (Yagiz Nizipli) #45528
- [7984e066ca] - stream: add primordials to adapters (Yagiz Nizipli) #45511
- [ac9a4aba5d] - stream: avoid premature close when will not emit close (Robert Nagy) #45301
- [6f080e2968] - stream: fix typo in adapters.js (#45515) (Kohei Ueno) #45515
- [d2998b6166] - stream: add fast path for utf8 (Yagiz Nizipli) #45483
- [5f7d2b5c64] - stream: add compose operator (Raz Luvaton) #44937
- [70244d0b57] - stream: fix duplexify premature destroy (Robert Nagy) #45133
- [1fb6e82f84] - stream: fix web streams have no Symbol.toStringTag (Jithil P Ponnan) #45117
- [c514751ff3] - stream: don't push null from closed promise #42694 (David Halls) #45026
- [8c2d0f9294] - stream: fix size function returned from QueuingStrategies (Daeyeon Jeong) #44867
- [7e386f8cb9] - test: remove flaky parallel/test-process-wrap test (Ben Noordhuis) #45806
- [38fb2c1cc8] - test: fix invalid output TAP if there newline in test name (Pulkit Gupta) #45742
- [c1162535ae] - test: fix -Wunused-variable on report-fatalerror (Santiago Gimeno) #45747
- [13d2df3c20] - test: fix test-watch-mode (Stefan Stojanovic) #45585
- [3a5a2ae2ea] - test: fix test-watch-mode-inspect (Stefan Stojanovic) #45586
- [7dbc742bca] - test: fix typos in test/parallel (Deokjin Kim) #45583
- [3e87834ac7] - test: add trailing commas in event tests (Rich Trott) #45466
- [8f7109aea3] - test: add trailing commas in async-hooks tests (#45549) (Antoine du Hamel) #45549
- [d5b0844fce] - test: add trailing commas in addons test (#45548) (Antoine du Hamel) #45548
- [b1e17b4590] - test: add trailing commas in test/common (#45550) (Antoine du Hamel) #45550
- [305d4de72f] - test: revise pull request guide text about code (Rich Trott) #45519
- [9f1e5b6a89] - test: enable the WPT for structuredClone (Daeyeon Jeong) #45482
- [fac1f1bcd6] - test: add lint rule to enforce trailing commas (Antoine du Hamel) #45468
- [cac449f0a0] - test: update uses of _jabber._tcp.google.com (Colin Ihrig) #45451
- [19eabd7870] - test: add test to validate changelogs for releases (Richard Lau) #45325
- [85c634d899] - test: remove flaky designation for test-worker-http2-stream-terminate (Rich Trott) #45438
- [4283af48b0] - test: fix flaky test-repl-sigint-nested-eval (Rich Trott) #45354
- [7e0332a46b] - test: skip test-fs-largefile if not enough disk space (Rich Trott) #45339
- [ad3b41c858] - test: fix catching failed assertion (Pavel Horal) #45222
- [12764fc725] - test: defer invocation checks (Luigi Pinca) #42340
- [facb606084] - test: fix test-socket-write-after-fin-error (Luigi Pinca) #42340
- [ab9c2df11b] - test: make test-eventemitter-asyncresource.js shorter (Juan José) #45146
- [03a3f30cb1] - test: convert test-debugger-pid to async/await (Luke Karrys) #45179
- [d718c675d8] - test: improve test coverage in test-event-capture-rejections.js (Juan José) #45148
- [fe91ac15be] - test: fix timeout of test-heap-prof.js in riscv devices (Yu Gu) #42674
- [a110cac4f3] - test: deflake test-http2-empty-frame-without-eof (Santiago Gimeno) #45212
- [c890136934] - test: use common/tmpdir in watch-mode ipc test (Richard Lau) #45211
- [7b8380dd73] - test: use uv_sleep() where possible (Santiago Gimeno) #45124
- [7a7dab4160] - test: fix typo in test/parallel/test-fs-rm.js (Tim Shilov) #44882
- [c87770b39b] - test: remove a snapshot blob from test-inspect-address-in-use.js (Daeyeon Jeong) #45132
- [a0f8d8b806] - test: add test for Module._stat (Darshan Sen) #44713
- [a8030b9517] - test: watch mode inspect restart repeatedly (Moshe Atlow) #45060
- [52808d7d71] - test: remove experimental-wasm-threads flag (Michaël Zasso) #45074
- [b3c4265a95] - test: remove unnecessary noop function args to mustCall() (Antoine du Hamel) #45047
- [868b4a3d67] - test: mark test-watch-mode* as flaky on all platforms (Pierrick Bouvier) #45049
- [0d9ccc850e] - test: wrap missing common.mustCall (Moshe Atlow) #45064
- [8fffd05b85] - test: remove mentions of --experimental-async-stack-tagging-api flag (Simon) #45051
- [fc58b61e82] - test: improve assertions in test-repl-unsupported-option.js (Juan José) #44953
- [e5928abef7] - test: remove unnecessary noop function args to mustCall() (Rich Trott) #45027
- [d86fcbfd6e] - test: update WPT resources (Khaidi Chu) #44948
- [d103d779d3] - test: skip test depending on overlapped-checker when not available (Antoine du Hamel) #45015
- [5544c55600] - test: improve test coverage for os package (Juan José) #44959
- [6e3227b0fd] - test: add test to improve coverage in http2-compat-serverresponse (Cesar Mario Diaz) #44970
- [dfc2419ab4] - test: improve test coverage in test-child-process-spawn-argv0.js (Juan José) #44955
- [89a1c57436] - test: use CHECK instead of EXPECT where necessary (Tobias Nießen) #44795
- [657756fc06] - test: refactor promises to async/await (Madhuri) #44980
- [55cf4b5042] - test: fix textdecoder test for small-icu builds (Richard Lau) #45225
- [e2df332ea7] - test: add a test to ensure the correctness of timezone upgrades (Darshan Sen) #45299
- [a2e5126227] - test,crypto: update WebCryptoAPI WPT (Filip Skokan) #45569
- [69c1f2a021] - test,crypto: update WebCryptoAPI WPT (Filip Skokan) #45165
- [24e2a4fbd7] - test_runner: refactor tap_lexer to use more primordials (Antoine du Hamel) #45744
- [3cee3ca5ae] - test_runner: refactor tap_parser to use more primordials (Antoine du Hamel) #45745
- [449326639d] - (SEMVER-MINOR) test_runner: add t.after() hook (Colin Ihrig) #45792
- [370ad455d6] - (SEMVER-MINOR) test_runner: don't use a symbol for runHook() (Colin Ihrig) #45792
- [500024384a] - test_runner: add resetCalls to MockFunctionContext (MURAKAMI Masahiko) #45710
- [ed9246f6fc] - test_runner: don't parse TAP from stderr (Colin Ihrig) #45618
- [a56560f6fc] - test_runner: add getter and setter to MockTracker (MURAKAMI Masahiko) #45506
- [20f6fa3edd] - test_runner: remove stdout and stderr from error (Colin Ihrig) #45592
- [16bedbabce] - test_runner: add initial TAP parser (Wassim Chegham) #43525
- [55b64e0b14] - test_runner: support watch mode (Moshe Atlow) #45214
- [92909f6855] - test_runner: support function mocking (Colin Ihrig) #45326
- [0f69b6c26d] - test_runner: fix afterEach not running on test failures (Jithil P Ponnan) #45204
- [a67da59313] - test_runner: report tap subtest in order (Moshe Atlow) #45220
- [a59c907e14] - test_runner: call {before,after}Each() on suites (Colin Ihrig) #45161
- [64860dd01f] - test_runner: add extra fields in AssertionError YAML (Bryan English) #44952
- [979d8376bd] - tls: remove trustcor root ca certificates (Ben Noordhuis) #45776
- [10cc827ebf] - (SEMVER-MINOR) tls: add "ca" property to certificate object (Ben Noordhuis) #44935
- [8336e32713] - tools: update lint-md-dependencies (Node.js GitHub Bot) #45730
- [aa57f6c362] - tools: add GitHub token permissions to label flaky-test issues (Gabriela Gutierrez) #45308
- [79b3ee14a5] - tools: remove dependency vulnerability checker (Facundo Tuesca) #45675
- [496a528149] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #45638
- [346132926d] - tools: update doc to [email protected] (Node.js GitHub Bot) #45636
- [610341f241] - tools: update eslint to 8.28.0 (Node.js GitHub Bot) #45532
- [682a730131] - tools: add automation for updating libuv dependency (Facundo Tuesca) #45362
- [360c7be315] - tools: add missing step in update-base64.sh script (Facundo Tuesca) #45509
- [e52f0472bb] - tools: update certdata.txt (Luigi Pinca) #45490
- [ad8c6c91b5] - tools: include current release in the list of released versions (Antoine du Hamel) #45463
- [7641044eff] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #45442
- [f5a4c52278] - tools: do not run CQ on non-fast-tracked PRs open for less than 2 days (Moshe Atlow) #45407
- [0f45c90533] - tools: simplify .eslintrc.js (Rich Trott) #45397
- [172cbfefa8] - tools: simplify regex in ESLint config (Rich Trott) #45399
- [456f048e0e] - tools: enable jsdoc/require-property-description rule (Rich Trott) #45370
- [6fafec351a] - tools: dynamically determine parallelism on GitHub Actions macOS (Rich Trott) #45350
- [2ca30cacee] - tools: add automation for updating acorn dependency (Facundo Tuesca) #45357
- [04f213b44c] - tools: add documentation regarding our api tooling (Claudio Wunder) #45270
- [c63d825681] - tools: allow scripts to run from anywhere (Luigi Pinca) #45361
- [1b0b68037a] - tools: update eslint to 8.27.0 (Node.js GitHub Bot) #45358
- [398ca2496b] - tools: update eslint to 8.26.0 (Node.js GitHub Bot) #45243
- [3053c65fb1] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #45332
- [510506027b] - tools: fix stability index generation (Antoine du Hamel) #45346
- [e0a8effbc1] - tools: increase macOS cores to 3 on GitHub CI (Rich Trott) #45340
- [75a146f436] - tools: add automation for updating base64 dependency (Facundo Tuesca) #45300
- [13390e94af] - tools: fix request-ci-failed comment (Antoine du Hamel) #45291
- [a93c4f7e41] - tools: update lint-md-dependencies (Node.js GitHub Bot) #45237
- [078be3ba21] - tools: fix request-ci-failed comment (Antoine du Hamel) #45218
- [62c233c221] - tools: keep Emeriti lists case-insensitive alphabetic (Rich Trott) #45159
- [d07a5e25b0] - tools: update actions/setup-python to v4 (Yagiz Nizipli) #45178
- [48cf8905f7] - tools: update V8 gypfiles for RISC-V (Andreas Schwab) #45149
- [0cbd2c6f8d] - tools: fix create-or-update-pull-request-action hash on GHA (Antoine du Hamel) #45166
- [cd911d72ab] - tools: update gr2m/create-or-update-pull-request-action (Luigi Pinca) #45022
- [ee78e2e0ec] - tools: do not use the set-output command in workflows (Luigi Pinca) #45024
- [f98a6967e6] - tools: update lint-md-dependencies (Node.js GitHub Bot) #45019
- [71433f3127] - tools: refactor dynamic strings creation in shell scripts (Antoine du Hamel) #45240
- [f08c129144] - tools: use Python 3.11 in GitHub Actions workflows (Luigi Pinca) #45191
- [76897430ed] - tools: have test-asan use ubuntu-20.04 (Filip Skokan) #45581
- [210cbcbf89] - trace_events: add new categories (theanarkh) #45266
- [20a39a34e0] - trace_events: fix getCategories (theanarkh) #45092
- [597c7fcbab] - url: remove unnecessary object call to kFormat (Yagiz Nizipli) #45492
- [5d964cd4d4] - url: remove t n r in url.parse() similar to WHATWG (Rich Trott) #45116
- [eb81b6f0fb] - url: improve url.parse() compliance with WHATWG URL (Rich Trott) #45011
- [3f18a833ff] - util: use private symbols in JS land directly (Joyee Cheung) #45379
- [32a3859a90] - util: add fast path for utf8 encoding (Yagiz Nizipli) #45412
- [cd740d0b0d] - util: improve text decoder performance (Yagiz Nizipli) #45388
- [1dc91abddf] - util: improve text-decoder performance (Yagiz Nizipli) #45363
- [4730850972] - util: improve textdecoder decode performance (Yagiz Nizipli) #45294
- [717b604da7] - (SEMVER-MINOR) util: add MIME utilities (#21128) (Bradley Farias) #21128
- [39cf8b4f16] - vm: make ContextifyContext a BaseObject (Joyee Cheung) #44796
- [09ea75823c] - watch: add CLI flag to preserve output (Debadree Chatterjee) #45717
- [24bfe543c5] - watch: watch for missing dependencies (Moshe Atlow) #45348
New in Node.js 19.3.0 Current (Dec 14, 2022)
- Notable Changes:
- Updated npm to 9.2.0:
- Based on the list of guidelines we've established on integrating npm and node, here is a grouped list of the breaking changes with the reasoning as to why they fit within the guidelines linked above. Note that all the breaking changes were made in 9.0.0. All subsequent minor and patch releases after [email protected] do not contain any breaking changes.
- Engines
- Explanation: the node engines supported by npm@9 make it safe to allow npm@9 as the default in any LTS version of 14 or 16, as well as anything later than or including 18.0.0
- npm is now compatible with the following semver range for node: ^14.17.0 || ^16.13.0 || >=18.0.0
- Filesystem:
- Explanation: when run as root previous versions of npm attempted to manage file ownership automatically on the user's behalf. this behavior was problematic in many cases and has been removed in favor of allowing users to manage their own filesystem permissions
- npm will no longer attempt to modify ownership of files it creates.
- Auth:
- Explanation: any errors thrown from users having unsupported auth configurations will show npm config fix in the remediation instructions, which will allow the user to automatically have their auth config fixed.
- The presence of auth related settings that are not scoped to a specific registry found in a config file is no longer supported and will throw errors.
- Login:
- Explanation: the default auth-type has changed and users can opt back into the old behavior with npm config set auth-type=legacy. login and adduser have also been seperated making each command more closely match it's name instead of being aliases for each other.
- Legacy auth types sso, saml & legacy have been consolidated into "legacy".
- auth-type defaults to "web"
- login and adduser are now separate commands that send different data to the registry.
- auth-type config values web and legacy only try their respective methods, npm no longer tries them all and waits to see which one doesn't fail.
- Tarball Packing:
- Explanation: previously using multiple ignore/allow lists when packing was an undefined behavior, and now the order of operations is strictly defined when packing a tarball making it easier to follow and should only affect users relying on the previously undefined behavior.
- npm pack now follows a strict order of operations when applying ignore rules. If a files array is present in the package.json, then rules in .gitignore and .npmignore files from the root will be ignored.
- Display/Debug/Timing Info:
- Explanation: these changes center around the display of information to the terminal including timing and debug log info. We do not anticipate these changes breaking any existing workflows.
- Links generated from git urls will now use HEAD instead of master as the default ref.
- timing has been removed as a value for --loglevel.
- --timing will show timing information regardless of --loglevel, except when --silent.
- When run with the --timing flag, npm now writes timing data to a file alongside the debug log data, respecting the logs-dir option and falling back to /_logs/ dir, instead of directly inside the cache directory.
- The timing file data is no longer newline delimited JSON, and instead each run will create a uniquely named -timing.json file, with the portion being the same as the debug log.
- npm now outputs some json errors on stdout. Previously npm would output all json formatted errors on stderr, making it difficult to parse as the stderr stream usually has logs already written to it.
- Config/Command Deprecations or Removals:
- Explanation: install-links is the only config or command in the list that has an effect on package installs. We fixed a number of issues that came up during prereleases with this change. It will also only be applied to new package trees created without a package-lock.json file. Any install with an existing lock file will not be changed.
- Deprecate boolean install flags in favor of --install-strategy.
- npm config set will no longer accept deprecated or invalid config options.
- install-links config defaults to "true".
- node-version config has been removed.
- npm-version config has been removed.
- npm access subcommands have been renamed.
- npm birthday has been removed.
- npm set-script has been removed.
- npm bin has been removed (use npx or npm exec to execute binaries).
- Other notable changes:
- [03db415540] - build: disable v8 snapshot compression by default (Joyee Cheung) #45716
- [9f51b9e50d] - doc: add doc-only deprecation for headers/trailers setters (Rich Trott) #45697
- [b010820c4e] - doc: add Rafael Gonzaga to the TSC (Michael Dawson) #45691
- [b8b13dccd9] - (SEMVER-MINOR) net: add autoSelectFamily and autoSelectFamilyAttemptTimeout options (Paolo Insogna) #44731
- [5d7cd363ab] - (SEMVER-MINOR) src: add uvwasi version (Jithil P Ponnan) #45639
- [4165dcddf0] - (SEMVER-MINOR) test_runner: add t.after() hook (Colin Ihrig) #45792
- [d1bd7796ad] - (SEMVER-MINOR) test_runner: don't use a symbol for runHook() (Colin Ihrig) #45792
- [691f58e76c] - tls: remove trustcor root ca certificates (Ben Noordhuis) #45776
- Commits
- [382efdf460] - benchmark: add variety of inputs to text-encoder (Yagiz Nizipli) #45787
- [102c2dc071] - benchmark: make benchmarks runnable in older versions of Node.js (Joyee Cheung) #45746
- [e2caf7ced9] - bootstrap: lazy load non-essential modules (Joyee Cheung) #45659
- [49840d443c] - buffer: remove unnecessary lazy loading (Antoine du Hamel) #45807
- [17847683dc] - buffer: make decodeUTF8 params loose (Yagiz Nizipli) #45610
- [03db415540] - build: disable v8 snapshot compression by default (Joyee Cheung) #45716
- [95a23e24f3] - build: add python 3.11 support for android (Mohammed Keyvanzadeh) #45765
- [09bc89daba] - build: rework gyp files for zlib (Richard Lau) #45589
- [b5b56b6b45] - crypto: simplify lazy loading of internal modules (Antoine du Hamel) #45809
- [2e4d37e3f0] - crypto: fix CipherBase Update int32 overflow (Marco Ippolito) #45769
- [573eab9235] - crypto: refactor ArrayBuffer to bigint conversion utils (Antoine du Hamel) #45567
- [845f805490] - crypto: refactor verify acceptable key usage functions (Filip Skokan) #45569
- [7cc9998737] - crypto: fix ECDH webcrypto public CryptoKey usages (Filip Skokan) #45569
- [d030963f37] - crypto: validate CFRG webcrypto JWK import "d" and "x" are a pair (Filip Skokan) #45569
- [9cd106efdc] - crypto: use DataError for CFRG webcrypto raw and jwk import key checks (Filip Skokan) #45569
- [9e2e3de6ce] - crypto: use DataError for webcrypto keyData import failures (Filip Skokan) #45569
- [40037b4e79] - crypto: fix X25519 and X448 webcrypto public CryptoKey usages (Filip Skokan) #45569
- [de2b6b97b9] - crypto: ensure "x" is present when importing private CFRG webcrypto keys (Filip Skokan) #45569
- [75dbce9a07] - deps: upgrade npm to 9.2.0 (npm team) #45780
- [677eb62bf2] - deps: upgrade npm to 9.1.3 (npm team) #45693
- [1d823a6d30] - Revert "deps: fix zlib compilation for CPUs without SIMD features" (Luigi Pinca) #45589
- [6b15994597] - deps: update undici to 5.13.0 (Node.js GitHub Bot) #45634
- [fbd2d27789] - deps: update corepack to 0.15.2 (Node.js GitHub Bot) #45635
- [60c9ac5178] - deps: update nghttp2 to 1.51.0 (Yagiz Nizipli) #45537
- [c8421204b0] - deps: patch V8 to 10.8.168.21 (Michaël Zasso) #45749
- [c5277417c9] - diagnostics_channel: fix diagnostics channel memory leak (theanarkh) #45633
- [8a90f5c784] - doc: buffer.fill empty value (Marco Ippolito) #45794
- [9d6af617ea] - doc: add args of filter option of fs.cp (MURAKAMI Masahiko) #45739
- [8c728d2f02] - doc: disambiguate native module to addon (Daeyeon Jeong) #45673
- [7718ff82a4] - doc: using console.error for error cases in crypto and events (emirgoren) #45640
- [029060e6e4] - doc: fix actual result of example is different in events (Deokjin Kim) #45656
- [9f51b9e50d] - doc: add doc-only deprecation for headers/trailers setters (Rich Trott) #45697
- [801fe30488] - doc: add detail on how api docs are published (Michael Dawson) #45626
- [e124e2a6ee] - doc: use console.error for error case in child_process and dgram (Deokjin Kim) #45690
- [1b920287b6] - doc: move streaming instruc to doc/contributing (Michael Dawson) #45582
- [b010820c4e] - doc: add Rafael to the tsc (Michael Dawson) #45691
- [4fb7cf88e2] - doc: add missing line in debugger (Deokjin Kim) #45632
- [c0df265fea] - doc: fix actual result of example is different in stream (Deokjin Kim) #45619
- [027e738064] - doc: add options parameter to eventTarget.removeEventListener (Deokjin Kim) #45667
- [23ff5057b2] - doc: define "react-native" community condition (Alex Hunt) #45367
- [2e767bf18b] - doc: move os.machine() docs to sorted position (Colin Ihrig) #45647
- [aabfdef861] - doc: use console.error for error case in fs, https, net and process (Deokjin Kim) #45606
- [3a02d50d35] - doc: add link to doc with social processes (Michael Dawson) #45584
- [e4316124fa] - fs: fix nonNativeWatcher watching folder with existing files (Moshe Atlow) #45500
- [d272faa54d] - fs: fix nonNativeWatcher leak of StatWatchers (Moshe Atlow) #45501
- [d64e773168] - http: make OutgoingMessage more streamlike (Robert Nagy) #45672
- [ed8ae88f30] - lib: remove unnecessary lazy loading in internal/encoding (Antoine du Hamel) #45810
- [302c5240c5] - lib: allow Writeable.toWeb() to work on http.Outgoing message (Debadree Chatterjee) #45642
- [e8745083b9] - lib: check number of arguments in EventTarget's function (Deokjin Kim) #45668
- [9f7bb5ce0e] - lib: disambiguate native module to binding (Daeyeon Jeong) #45673
- [353339a552] - lib: disambiguate native module to builtin module (Daeyeon Jeong) #45673
- [99410efd19] - lib: added SuiteContext class (Debadree Chatterjee) #45687
- [a79f37a0a7] - lib: add missing type of removeEventListener in question (Deokjin Kim) #45676
- [e0750467e8] - meta: update AUTHORS (Node.js GitHub Bot) #45814
- [376f3468b9] - meta: update AUTHORS (Node.js GitHub Bot) #45732
- [a6e2cf2d6f] - meta: add .mailmap entry for Stefan Stojanovic (Rich Trott) #45703
- [eb9a383d2a] - meta: update AUTHORS info for nstepien (Nicolas Stepien) #45692
- [049ef342c6] - meta: update AUTHORS (Node.js GitHub Bot) #45637
- [b9c2fc7623] - net: check autoSelectFamilyAttemptTimeout is positive (Deokjin Kim) #45740
- [b8b13dccd9] - (SEMVER-MINOR) net: add autoSelectFamily and autoSelectFamilyAttemptTimeout options (Paolo Insogna) #44731
- [6962ef0df1] - readline: improve robustness against prototype mutation (Antoine du Hamel) #45614
- [7892e23e68] - repl: do not define wasi on global with no flag (Kohei Ueno) #45595
- [349b4f8817] - src: add internal isArrayBufferDetached (Yagiz Nizipli) #45568
- [5d7cd363ab] - (SEMVER-MINOR) src: add uvwasi version (Jithil P Ponnan) #45639
- [8a03684018] - src: simplify NodeBIO::GetMethod initialization (Anna Henningsen) #45799
- [b35ebebc0e] - src: make structuredClone work for process.env (Ben Noordhuis) #45698
- [81ab54035f] - src: mark generated snapshot_data as const (Anna Henningsen) #45786
- [79edf257bb] - src: cleanup on disambiguating native modules (Michael Dawson) #45665
- [c9cba2e873] - src: use enum class instead of enum in node_i18n (Deokjin Kim) #45646
- [818028caba] - src: rename internal module declaration as internal bindings (Chengzhong Wu) #45551
- [2fbe2f9f0a] - src,lib: group properties used as constants from util binding (Daeyeon Jeong) #45539
- [56eee72abb] - stream: use structuredClone instead of v8 (Yagiz Nizipli) #45611
- [b297dd5393] - test: remove flaky parallel/test-process-wrap test (Ben Noordhuis) #45806
- [924f6ab3a1] - test: order list alphabetically in test-bootstrap-modules (Antoine du Hamel) #45808
- [5c4475dab9] - test: fix invalid output TAP if there newline in test name (Pulkit Gupta) #45742
- [4c51c5c97a] - test: fix -Wunused-variable on report-fatalerror (Santiago Gimeno) #45747
- [764725040c] - test: fix test-watch-mode (Stefan Stojanovic) #45585
- [cd36250fcb] - test: fix test-watch-mode-inspect (Stefan Stojanovic) #45586
- [b55bd6e8c1] - test: fix typos in test/parallel (Deokjin Kim) #45583
- [358e2fe217] - test,crypto: update WebCryptoAPI WPT (Filip Skokan) #45569
- [424419c2b4] - test_runner: refactor tap_lexer to use more primordials (Antoine du Hamel) #45744
- [ffc0f3d7be] - test_runner: refactor tap_parser to use more primordials (Antoine du Hamel) #45745
- [4165dcddf0] - (SEMVER-MINOR) test_runner: add t.after() hook (Colin Ihrig) #45792
- [d1bd7796ad] - (SEMVER-MINOR) test_runner: don't use a symbol for runHook() (Colin Ihrig) #45792
- [6bc7b7e6f4] - test_runner: add resetCalls to MockFunctionContext (MURAKAMI Masahiko) #45710
- [3e485365ec] - test_runner: don't parse TAP from stderr (Colin Ihrig) #45618
- [efc44567c9] - test_runner: add getter and setter to MockTracker (MURAKAMI Masahiko) #45506
- [c9cbd1d396] - test_runner: remove stdout and stderr from error (Colin Ihrig) #45592
- [691f58e76c] - tls: remove trustcor root ca certificates (Ben Noordhuis) #45776
- [d384b73f76] - tools: update lint-md-dependencies (Node.js GitHub Bot) #45730
- [324ae3d5dd] - tools: add GitHub token permissions to label flaky-test issues (Gabriela Gutierrez) #45308
- [418ae9be56] - tools: remove dependency vulnerability checker (Facundo Tuesca) #45675
- [238fc64c38] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #45638
- [1b98f17876] - tools: update doc to [email protected] (Node.js GitHub Bot) #45636
- [470384e7be] - util: use private symbols in JS land directly (Joyee Cheung) #45379
- [cee6f382d8] - watch: add CLI flag to preserve output (Debadree Chatterjee) #45717
New in Node.js 19.1.0 Current (Nov 14, 2022)
- Notable changes:
- Support function mocking on Node.js test runner:
- The node:test module supports mocking during testing via a top-level mock object.
- fs.watch recursive support on Linux:
- fs.watch supports recursive watch using the recursive: true option.
- Other notable changes:
- deps:
- update ICU to 72.1 (Michaël Zasso) #45068
- doc:
- add lukekarrys to collaborators (Luke Karrys) #45180
- add anonrig to collaborators (Yagiz Nizipli) #45002
- lib:
- drop fetch experimental warning (Matteo Collina) #45287
- util:
- (SEMVER-MINOR) add MIME utilities (Bradley Farias) #21128
- improve textdecoder decode performance (Yagiz Nizipli) #45294
- Commits:
- [c9cf399ec7] - benchmark: add parameters to text-decoder benchmark (Yagiz Nizipli) #45363
- [79f6bb061d] - benchmark: fix text-decoder benchmark (Yagiz Nizipli) #45363
- [a27c994ced] - benchmark: add blob benchmark (Yagiz Nizipli) #44990
- [c45b6aee78] - bootstrap: merge main thread and worker thread initializations (Joyee Cheung) #44869
- [33691208df] - buffer: fix validation of options in Blob constructor (Antoine du Hamel) #45156
- [7b938df296] - build: support Python 3.11 (Luigi Pinca) #45191
- [75e0a2d109] - build: workaround for node-core-utils (Jiawen Geng) #45199
- [f598edbdf4] - build: fix icu-small build with ICU 72.1 (Steven R. Loomis) #45195
- [29b9f4f90c] - build: remove unused language files (Ben Noordhuis) #45138
- [3a1ee940d1] - build: add GitHub token to auto-start-ci workflow (Richard Lau) #45185
- [17349a2f42] - build: restore Windows resource file (Richard Lau) #45042
- [24e24bd063] - build: add version info to timezone update PR (Darshan Sen) #45021
- [8d7aa53e6b] - build,win: pass --debug-nghttp2 to configure (Santiago Gimeno) #45209
- [b2e60480f3] - child_process: validate arguments for null bytes (Darshan Sen) #44782
- [1f0edde412] - crypto: handle more webcrypto errors with OperationError (Filip Skokan) #45320
- [13fb05e12b] - crypto: handle unsupported AES ciphers in webcrypto (Filip Skokan) #45321
- [c168cbfbb3] - deps: V8: cherry-pick 56816d76c121 (Shi Pujin) #45353
- [1432474abf] - deps: upgrade npm to 8.19.3 (npm team) #45322
- [f35d56200d] - deps: update corepack to 0.15.1 (Node.js GitHub Bot) #45331
- [44de2321aa] - deps: patch V8 to 10.7.193.20 (Michaël Zasso) #45228
- [bfe3819f08] - deps: upgrade to libuv 1.44.2 (Luigi Pinca) #42340
- [0d41df96b3] - deps: update corepack to 0.15.0 (Node.js GitHub Bot) #45235
- [0d241638ca] - deps: update undici to 5.12.0 (Node.js GitHub Bot) #45236
- [f58996188a] - Revert "deps: make V8 compilable with older glibc" (Michaël Zasso) #45162
- [8cda730e58] - deps: update ICU to 72.1 (Michaël Zasso) #45068
- [0a6ed6f710] - Revert "deps: V8: forward declaration of Rtl*FunctionTable" (Michaël Zasso) #45119
- [2f7518ada2] - deps: update timezone (Node.js GitHub Bot) #44950
- [3bfba6df79] - deps: patch V8 to 10.7.193.16 (Michaël Zasso) #45023
- [b5baaa61b3] - dns: fix port validation (Antoine du Hamel) #45135
- [0e9bad97cc] - doc: allow for holidays in triage response (Michael Dawson) #45267
- [d4aabb9d3d] - doc: include last security release date (Juan José Arboleda) #45368
- [ba45373164] - doc: fix email for Ashley (Michael Dawson) #45364
- [d5e5c75b13] - doc: fix test runner's only tests section header (Colin Ihrig) #45343
- [a7c5f31c47] - doc: run license-builder (github-actions[bot]) #45349
- [3de125743e] - doc: add more info for timer.setInterval (theanarkh) #45232
- [5a1252d9b4] - doc: use module names in stability overview table (Filip Skokan) #45312
- [4d38bf2c5f] - doc: add node: prefix for examples (Daeyeon Jeong) #45328
- [b4b6b95f48] - doc: update name of Node.js core Slack channel (Rich Trott) #45293
- [7d7e7c316b] - doc: fix "task_processor.js" typo (andreysoktoev) #45257
- [b9039a54af] - doc: add history section to fetch-related globals (Antoine du Hamel) #45198
- [d9163f1632] - doc: clarify moderation in onboarding.md (Benjamin Gruenbaum) #41930
- [c179c1478b] - doc: change make lint to make lint-md (RafaelGSS) #45197
- [58bec56fab] - doc: add more lts update steps to release guide (Ruy Adorno) #45177
- [8f8d7e76ac] - doc: add bmuenzenmeyer to triagers (Brian Muenzenmeyer) #45155
- [de2df550f6] - doc: update process.release (Filip Skokan) #45170
- [916e8760ba] - doc: add link to triage guide (Brian Muenzenmeyer) #45154
- [54d806853e] - doc: mark Node.js 12 as End-of-Life (Rafael Gonzaga) #45186
- [3a26347649] - doc: add lukekarrys to collaborators (Luke Karrys) #45180
- [85cb4d795c] - doc: update mark release line lts on release guide (Ruy Adorno) #45101
- [c23e023a2d] - doc: be more definite and present tense-y (Ben Noordhuis) #45120
- [519002152b] - doc: add major version note to release guide (Ruy Adorno) #45054
- [809e8dcbd2] - doc: fix v14.x link maintaining openssl guide (RafaelGSS) #45071
- [9d449d389d] - doc: add note about latest GitHub release (Michaël Zasso) #45111
- [ee34a3a1bc] - doc: mention v18.x openssl maintaining guide (Rafael Gonzaga) #45070
- [3e4033a90d] - doc: fix display of "problematic" ASCII characters (John Gardner) #44373
- [533e38b0b8] - doc: mark Node.js v17.x as EOL (KaKa) #45110
- [93a34faa39] - doc: update Node.js 16 End-of-Life date (Richard Lau) #45103
- [b4beddef79] - doc: fix typo in parseArgs default value (Tobias Nießen) #45083
- [e8103fd33b] - doc: updated security stewards (Michael Dawson) #45005
- [5fbccae4f0] - doc: fix http and http2 writeEarlyHints() parameter (Fabian Meyer) #45000
- [d47f83251a] - doc: run license-builder (github-actions[bot]) #45034
- [e6bbc5033d] - doc: improve the workflow to test release binaries (Rafael Gonzaga) #45004
- [f0c18f04f0] - doc: fix undici version in changelog (Michael Dawson) #44982
- [ffba3218ec] - doc: add info on fixup to security release process (Michael Dawson) #44807
- [edb92f4510] - doc: add anonrig to collaborators (Yagiz Nizipli) #45002
- [58334a38e8] - doc, async_hooks: improve and add migration hints (Gerhard Stöbich) #45369
- [7225a7d46b] - doc, http: add Uint8Array as allowed type (Gerhard Stöbich) #45167
- [40a5e22328] - esm: protect ESM loader from prototype pollution (Antoine du Hamel) #45175
- [2e5d8e7239] - esm: protect ESM loader from prototype pollution (Antoine du Hamel) #45044
- [c3dd696081] - events: add unique events benchmark (Yagiz Nizipli) #44657
- [daff3b8b09] - fs: update todo message (Yagiz Nizipli) #45265
- [670def3d6f] - fs: fix opts.filter issue in cpSync (Tho) #45143
- [34bfef91a9] - (SEMVER-MINOR) fs: add recursive watch to linux (Yagiz Nizipli) #45098
- [d89ca1b443] - fs: trace more fs api (theanarkh) #45095
- [1a04881494] - http: headers(Distinct), trailers(Distinct) setters to be no-op (Madhuri) #45176
- [8abc3f732a] - http: add priority to common http headers (James M Snell) #45045
- [316354e3d3] - http2: improve session close/destroy procedures (Santiago Gimeno) #45115
- [1635140952] - http2: fix crash on Http2Stream::diagnostic_name() (Santiago Gimeno) #45123
- [94b7f5338c] - http2: fix debugStream method (Santiago Gimeno) #45129
- [3db37e7d1b] - inspector: refactor inspector/promises to be more robust (Antoine du Hamel) #45041
- [0478e4063f] - lib: add options to the heap snapshot APIs (Joyee Cheung) #44989
- [a8e901555a] - lib: fix JSDoc issues (Rich Trott) #45243
- [74352842bc] - lib: use process.nextTick() instead of setImmediate() (Luigi Pinca) #42340
- [9f3d2f6879] - lib: drop fetch experimental warning (Matteo Collina) #45287
- [e2181e057b] - lib: fix eslint early return (RafaelGSS) #45409
- [d1726692ee] - lib: fix TypeError when converting a detached buffer source (Kohei Ueno) #44020
- [d7470ad986] - lib: fix AbortSignal.timeout parameter validation (dnalborczyk) #42856
- [c7b7f2bec2] - lib: add lint rule to protect against Object.prototype.then pollution (Antoine du Hamel) #45061
- [9ed9aa8233] - lib: add ability to add separate event name to defineEventHandler (James M Snell) #45032
- [8b4a41e23d] - lib: fix typo in pre_execution.js (Antoine du Hamel) #45039
- [cc2393c9fe] - lib: promise version of streams.finished call clean up (Naor Tedgi (Abu Emma)) #44862
- [17ef1bbc8e] - lib: make properties on Blob and URL enumerable (Khafra) #44918
- [8199841e9c] - lib: support more attributes for early hint link (Yagiz Nizipli) #44874
- [88c3bb609b] - meta: update AUTHORS (Node.js GitHub Bot) #45333
- [a866e8c163] - meta: update collaborator email address in README (Rich Trott) #45251
- [bfbfacad79] - meta: fix email address typo in README (Rich Trott) #45250
- [0d58bb9531] - meta: remove dont-land-on-v12 auto labeling (Moshe Atlow) #45233
- [b41b5ba658] - meta: update AUTHORS (Node.js GitHub Bot) #45238
- [ad9a5bb61f] - meta: move a collaborator to emeritus (Rich Trott) #45160
- [ec8683052b] - meta: move one or more collaborators to emeritus (Node.js GitHub Bot) #45036
- [7900810fb3] - meta: update AUTHORS (Node.js GitHub Bot) #45020
- [738144c311] - module: ensure relative requires work from deleted directories (Bradley Farias) #42384
- [36acf8a13e] - net: remove _readableState from debug statement (Rich Trott) #45063
- [aaca54c5c0] - node-api: handle no support for external buffers (Michael Dawson) #45181
- [2105f099ea] - node-api,test: fix test_reference_double_free crash (Vladimir Morozov) #44927
- [2fcf851a91] - os: convert uid and gid to 32-bit signed integers (Luigi Pinca) #42340
- [dfe4237d77] - perf_hooks: align toStringTag with other Web Performance implementations (Daeyeon Jeong) #45157
- [9d15da3341] - report: add more memory info (theanarkh) #45254
- [a2620acad7] - report: add rss and use/kernel cpu usage fields (theanarkh) #45043
- [66e1dc4979] - report,doc: define report version semantics (Gireesh Punathil) #45050
- [86e22b4e19] - src: track contexts in the Environment instead of AsyncHooks (Joyee Cheung) #45282
- [326d19af3d] - src: resolve TODO related to inspector CVEs (Tobias Nießen) #45341
- [4e45585ca2] - src: revert is_release to 0 (RafaelGSS) #45315
- [5d480118fb] - src: print nghttp2 logs when using --debug-nghttp2 (Santiago Gimeno) #45209
- [3e46ebda3c] - src: trace threadpool event (theanarkh) #44458
- [97547bcd14] - src: lock-free init_process_flags (Jérémy Lal) #45221
- [42db84913b] - src: call uv_library_shutdown before DisposePlatform (theanarkh) #45226
- [aa4152a1b6] - src: fix crypto.privateEncrypt fails first time (liuxingbaoyu) #42793
- [243c141b69] - src: clarify OptionEnvvarSettings member names (Chengzhong Wu) #45057
- [5335e29ce7] - src: let http2 streams end after session close (Santiago Gimeno) #45153
- [8d5682266e] - src: remap invalid file descriptors using dup2 (Obiwac) #44461
- [4e14ed8878] - src: remove unused contextify_global_private_symbol (Daeyeon Jeong) #45128
- [a8412f5677] - src: forbid running watch mode in REPL (Moshe Atlow) #45058
- [162bf0ddff] - src: fix test runner coverage (Moshe Atlow) #45055
- [e5b1179630] - src: optimize ALPN callback (Ben Noordhuis) #44875
- [9dc21a1f86] - src: simplify ALPN code, remove indirection (Ben Noordhuis) #44875
- [5fce8e3495] - src: iwyu in cleanup_queue.cc (Shelley Vohr) #44983
- [824dcfc422] - src: return void in InitializeInspector() (Joyee Cheung) #44903
- [7a31ae8ab1] - src,lib: retrieve parsed source map url from v8 (Chengzhong Wu) #44798
- [ccb1c1e9a2] - stream: add compose operator (Raz Luvaton) #44937
- [e60d9053bc] - stream: fix duplexify premature destroy (Robert Nagy) #45133
- [bc0ae3e74e] - stream: fix web streams have no Symbol.toStringTag (Jithil P Ponnan) #45117
- [1655532fd2] - stream: don't push null from closed promise #42694 (David Halls) #45026
- [717db1d46a] - test: skip test-fs-largefile if not enough disk space (Rich Trott) #45339
- [4a80aff16e] - test: fix catching failed assertion (Pavel Horal) #45222
- [66e7821506] - test: defer invocation checks (Luigi Pinca) #42340
- [43db0fbd49] - test: fix test-socket-write-after-fin-error (Luigi Pinca) #42340
- [d5f4d98847] - test: make test-eventemitter-asyncresource.js shorter (Juan José) #45146
- [7428651100] - test: convert test-debugger-pid to async/await (Luke Karrys) #45179
- [f10f2c1121] - test: fix textdecoder test for small-icu builds (Richard Lau) #45225
- [eed799bd31] - test: improve test coverage in test-event-capture-rejections.js (Juan José) #45148
- [069747bfdd] - test: fix timeout of test-heap-prof.js in riscv devices (Yu Gu) #42674
- [ddb7df76de] - test: deflake test-http2-empty-frame-without-eof (Santiago Gimeno) #45212
- [02ebde39d3] - test: use common/tmpdir in watch-mode ipc test (Richard Lau) #45211
- [f9bc40a1fc] - test: use uv_sleep() where possible (Santiago Gimeno) #45124
- [3c7ea23b8f] - test: fix typo in test/parallel/test-fs-rm.js (Tim Shilov) #44882
- [b39dcde056] - test: remove a snapshot blob from test-inspect-address-in-use.js (Daeyeon Jeong) #45132
- [fabed9bdc8] - test: add test for Module._stat (Darshan Sen) #44713
- [2b3b291c97] - test: watch mode inspect restart repeatedly (Moshe Atlow) #45060
- [17e86e4188] - test: remove experimental-wasm-threads flag (Michaël Zasso) #45074
- [f0480d68e9] - test: remove unnecessary noop function args to mustCall() (Antoine du Hamel) #45047
- [82e6043118] - test: mark test-watch-mode* as flaky on all platforms (Pierrick Bouvier) #45049
- [26a2ae2489] - test: wrap missing common.mustCall (Moshe Atlow) #45064
- [8662399cda] - test: remove mentions of --experimental-async-stack-tagging-api flag (Simon) #45051
- [71b8d506ed] - test: improve assertions in test-repl-unsupported-option.js (Juan José) #44953
- [dbc696d363] - test: remove unnecessary noop function args to mustCall() (Rich Trott) #45027
- [c1ca19fb06] - test: update WPT resources (Khaidi Chu) #44948
- [43677e5a34] - test: skip test depending on overlapped-checker when not available (Antoine du Hamel) #45015
- [3519d74e87] - test: improve test coverage for os package (Juan José) #44959
- [ea0cfc9a83] - test: add test to improve coverage in http2-compat-serverresponse (Cesar Mario Diaz) #44970
- [482578682c] - test: improve test coverage in test-child-process-spawn-argv0.js (Juan José) #44955
- [a618dc3c3e] - test: use CHECK instead of EXPECT where necessary (Tobias Nießen) #44795
- [c59d3b76e6] - test: refactor promises to async/await (Madhuri) #44980
- [36c5927c60] - test,crypto: update WebCryptoAPI WPT (Filip Skokan) #45165
- [6158d740f3] - test_runner: support function mocking (Colin Ihrig) #45326
- [920804dc46] - test_runner: avoid swallowing of asynchronously thrown errors (MURAKAMI Masahiko) #45264
- [8e7f9de45e] - test_runner: fix afterEach not running on test failures (Jithil P Ponnan) #45204
- [0040030443] - test_runner: report tap subtest in order (Moshe Atlow) #45220
- [afa8291c7c] - test_runner: call {before,after}Each() on suites (Colin Ihrig) #45161
- [ff174b0937] - test_runner: add extra fields in AssertionError YAML (Bryan English) #44952
- [bf868fdfab] - (SEMVER-MINOR) tls: add "ca" property to certificate object (Ben Noordhuis) #44935
- [e8075fd1f8] - tools: add automation for updating acorn dependency (Facundo Tuesca) #45357
- [9aa305ff3e] - tools: add documentation regarding our api tooling (Claudio Wunder) #45270
- [76cbc07f9b] - tools: allow scripts to run from anywhere (Luigi Pinca) #45361
- [aa875a4d6a] - tools: update eslint to 8.27.0 (Node.js GitHub Bot) #45358
- [4b71db13ae] - tools: update eslint to 8.26.0 (Node.js GitHub Bot) #45243
- [63267dfefb] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #45332
- [e275859138] - tools: fix stability index generation (Antoine du Hamel) #45346
- [97fe8bacb1] - tools: increase macOS cores to 3 on GitHub CI (Rich Trott) #45340
- [eda4ae51ca] - tools: add automation for updating base64 dependency (Facundo Tuesca) #45300
- [2ee052f794] - tools: fix request-ci-failed comment (Antoine du Hamel) #45291
- [e118dd88fd] - tools: refactor dynamic strings creation in shell scripts (Antoine du Hamel) #45240
- [ba89cea683] - tools: update lint-md-dependencies (Node.js GitHub Bot) #45237
- [786f086800] - tools: use Python 3.11 in GitHub Actions workflows (Luigi Pinca) #45191
- [0738d14fa4] - tools: fix request-ci-failed comment (Antoine du Hamel) #45218
- [49be13ccd8] - tools: keep Emeriti lists case-insensitive alphabetic (Rich Trott) #45159
- [6e30d2231b] - tools: update actions/setup-python to v4 (Yagiz Nizipli) #45178
- [a4158692d7] - tools: update V8 gypfiles for RISC-V (Andreas Schwab) #45149
- [c43bc2169f] - tools: fix create-or-update-pull-request-action hash on GHA (Antoine du Hamel) #45166
- [2ccc03ec32] - tools: update gr2m/create-or-update-pull-request-action (Luigi Pinca) #45022
- [a70b27629f] - tools: do not use the set-output command in workflows (Luigi Pinca) #45024
- [025e616662] - tools: update lint-md-dependencies (Node.js GitHub Bot) #45019
- [732f9a78d3] - trace_events: fix getCategories (theanarkh) #45092
- [1bc84ce52c] - url: remove t n r in url.parse() similar to WHATWG (Rich Trott) #45116
- [84e7388160] - url: improve port validation (Rich Trott) #45012
- [02cff4a3d3] - url: improve url.parse() compliance with WHATWG URL (Rich Trott) #45011
- [89390a6be2] - util: improve text-decoder performance (Yagiz Nizipli) #45363
- [0deed8daeb] - util: improve textdecoder decode performance (Yagiz Nizipli) #45294
- [d41f8ffc36] - (SEMVER-MINOR) util: add MIME utilities (#21128) (Bradley Farias) #21128
New in Node.js 19.0.1 Current (Nov 6, 2022)
- Notable changes:
- The following CVEs are fixed in this release:
- CVE-2022-3602: X.509 Email Address 4-byte Buffer Overflow (High)
- CVE-2022-3786: X.509 Email Address Variable Length Buffer Overflow (High)
- CVE-2022-43548: DNS rebinding in --inspect via invalid octal IP address (Medium)
- More detailed information on each of the vulnerabilities can be found in November 2022 Security Releases blog post.
- Commits:
- [e58e8d70a8] - deps: update archs files for quictls/openssl-3.0.7+quic (RafaelGSS) #45286
- [85f4548d57] - deps: upgrade openssl sources to quictls/openssl-3.0.7+quic (RafaelGSS) #45286
- [43403f56f7] - inspector: harden IP address validation again (Tobias Nießen) nodejs-private/node-private#354
New in Node.js 18.12.1 LTS (Nov 6, 2022)
- Notable changes:
- The following CVEs are fixed in this release:
- CVE-2022-3602: X.509 Email Address 4-byte Buffer Overflow (High)
- CVE-2022-3786: X.509 Email Address Variable Length Buffer Overflow (High)
- CVE-2022-43548: DNS rebinding in --inspect via invalid octal IP address (Medium)
- More detailed information on each of the vulnerabilities can be found in November 2022 Security Releases blog post.
- Commits:
- [39f8a672e3] - deps: update archs files for quictls/openssl-3.0.7+quic nodejs/node#45286
- [80218127c8] - deps: upgrade openssl sources to quictls/openssl-3.0.7+quic nodejs/node#45286
- [165342beac] - inspector: harden IP address validation again (Tobias Nießen) nodejs-private/node-private#354
New in Node.js 19.0.0 Current (Oct 18, 2022)
- Node.js 19 is here! Highlights include the update of the V8 JavaScript engine to 10.7, HTTP(s)/1.1 KeepAlive enabled by default, and ESM Resolution adjusts.
- Node.js 19 will replace Node.js 18 as our ‘Current’ release line when Node.js 18 enters long-term support (LTS) later this month. As per the release schedule, Node.js 19 will be ‘Current' release for the next 6 months, until April 2023.
- Notable Changes:
- Deprecations and Removals:
- [7dd2f41c73] - (SEMVER-MAJOR) module: runtime deprecate exports double slash maps (Guy Bedford) #44495
- [ada2d053ae] - (SEMVER-MAJOR) process: runtime deprecate coercion to integer in process.exit() (Daeyeon Jeong) #44711
- HTTP(S)/1.1 KeepAlive by default:
- Starting with this release, Node.js sets keepAlive to true by default. This means that any outgoing HTTP(s) connection will automatically use HTTP 1.1 Keep-Alive. The default waiting window is 5 seconds. Enable keep-alive will deliver better throughput as connections are reused by default.
- Additionally the agent is now able to parse the response Keep-Alive which the servers might send. This header instructs the client on how much to stay connected. On the other side, the Node.js HTTP server will now automatically disconnect idle clients (which are using HTTP Keep-Alive to reuse the connection) when close() is invoked).
- Node.js HTTP(S)/1.1 requests may experience a better throughput/performance by default.
- Contributed by Paolo Insogna in #43522:
- DTrace/SystemTap/ETW Support were removed:
- The main reason is the lack of resources from Node.js team. The complexity to keep the support up-to-date has been proved not worth it without a clear plan to support those tools. Hence, an issue was raised in the Node.js repository to assess a better support, for DTrace in specific.
- Contributed by Ben Noordhuis in #43651 and #43652:
- V8 10.7:
- The V8 engine is updated to version 10.7, which is part of Chromium 107. This version include a new feature to the JavaScript API: Intl.NumberFormat.
- Intl.NumberFormat v3 API is a new TC39 ECMA402 stage 3 proposal extend the pre-existing Intl.NumberFormat.
- The V8 update was a contribution by Michaël Zasso in #44741.
- llhttp 8.1.0:
- llhttp has been updated to version 8.1.0.Collectively, this version brings many update to the llhttp API, introducing new callbacks and allow all callback to be pausable.
- Contributed by Paolo Insogna in #44967:
- Other Notable Changes:
- [46a3afb579] - doc: graduate webcrypto to stable (Filip Skokan) #44897
- [f594cc85b7] - esm: remove specifier resolution flag (Geoffrey Booth) #44859
- Semver-Major Commits:
- [53f73d1cfe] - (SEMVER-MAJOR) build: enable V8's trap handler on Windows (Michaël Zasso) #44741
- [06aaf8a1c4] - (SEMVER-MAJOR) build: reset embedder string to "-node.0" (Michaël Zasso) #44741
- [aa3a572e6b] - (SEMVER-MAJOR) build: remove dtrace & etw support (Ben Noordhuis) #43652
- [38f1e2793c] - (SEMVER-MAJOR) build: remove systemtap support (Ben Noordhuis) #43651
- [2849283c4c] - (SEMVER-MAJOR) crypto: remove non-standard webcrypto.Crypto.prototype.CryptoKey (Antoine du Hamel) #42083
- [a1653ac715] - (SEMVER-MAJOR) crypto: do not allow to call setFips from the worker thread (Sergey Petushkov) #43624
- [fd36a8dadb] - (SEMVER-MAJOR) deps: update llhttp to 8.1.0 (Paolo Insogna) #44967
- [89ecdddaab] - (SEMVER-MAJOR) deps: bump minimum ICU version to 71 (Michaël Zasso) #44741
- [66fe446efd] - (SEMVER-MAJOR) deps: V8: cherry-pick 0cccb6f27d78 (Michaël Zasso) #44741
- [88ed027d57] - (SEMVER-MAJOR) deps: V8: cherry-pick 7ddb8399f9f1 (Michaël Zasso) #44741
- [26c651c34e] - (SEMVER-MAJOR) deps: V8: cherry-pick 1b3a4f0c34a1 (Michaël Zasso) #44741
- [c8ff2dfd11] - (SEMVER-MAJOR) deps: V8: cherry-pick b161a0823165 (Michaël Zasso) #44741
- [7a8fa2d517] - (SEMVER-MAJOR) deps: fix V8 build on Windows with MSVC (Michaël Zasso) #44741
- [83b0aaa800] - (SEMVER-MAJOR) deps: fix V8 build on SmartOS (Michaël Zasso) #44741
- [7a952e8ea5] - (SEMVER-MAJOR) deps: silence irrelevant V8 warning (Michaël Zasso) #44741
- [6bd756d7c6] - (SEMVER-MAJOR) deps: update V8 to 10.7.193.13 (Michaël Zasso) #44741
- [03fb789fb9] - (SEMVER-MAJOR) events: add null check for the signal of EventTarget (Masashi Hirano) #43153
- [a4fa526ddc] - (SEMVER-MAJOR) fs: add directory autodetection to fsPromises.symlink() (Livia Medeiros) #42894
- [bb4891d8d4] - (SEMVER-MAJOR) fs: add validateBuffer to improve error (Hirotaka Tagawa / wafuwafu13) #44769
- [950a4411fa] - (SEMVER-MAJOR) fs: remove coercion to string in writing methods (Livia Medeiros) #42796
- [41a6d82968] - (SEMVER-MAJOR) fs: harden fs.readSync(buffer, options) typecheck (LiviaMedeiros) #42772
- [2275faac2b] - (SEMVER-MAJOR) fs: harden fs.read(params, callback) typecheck (LiviaMedeiros) #42772
- [29953a0b88] - (SEMVER-MAJOR) fs: harden filehandle.read(params) typecheck (LiviaMedeiros) #42772
- [4267b92604] - (SEMVER-MAJOR) http: use Keep-Alive by default in global agents (Paolo Insogna) #43522
- [0324529e0f] - (SEMVER-MAJOR) inspector: introduce inspector/promises API (Erick Wendel) #44250
- [80270994d6] - (SEMVER-MAJOR) lib: enable global CustomEvent by default (Daeyeon Jeong) #44860
- [f529f73bd7] - (SEMVER-MAJOR) lib: brand check event handler property receivers (Chengzhong Wu) #44483
- [6de2673a9f] - (SEMVER-MAJOR) lib: enable global WebCrypto by default (Antoine du Hamel) #42083
- [73ba8830d5] - (SEMVER-MAJOR) lib: use private field in AbortController (Joyee Cheung) #43820
- [7dd2f41c73] - (SEMVER-MAJOR) module: runtime deprecate exports double slash maps (Guy Bedford) #44495
- [22c39b1ddd] - (SEMVER-MAJOR) path: the dot will be added(path.format) if it is not specified in ext (theanarkh) #44349
- [587367d107] - (SEMVER-MAJOR) perf_hooks: expose webperf global scope interfaces (Chengzhong Wu) #44483
- [364c0e196c] - (SEMVER-MAJOR) perf_hooks: fix webperf idlharness (Chengzhong Wu) #44483
- [ada2d053ae] - (SEMVER-MAJOR) process: runtime deprecate coercion to integer in process.exit() (Daeyeon Jeong) #44711
- [e0ab8dd637] - (SEMVER-MAJOR) process: make process.config read only (Sergey Petushkov) #43627
- [481a959adb] - (SEMVER-MAJOR) readline: remove question method from InterfaceConstructor (Antoine du Hamel) #44606
- [c9602ce212] - (SEMVER-MAJOR) src: use new v8::OOMErrorCallback API (Michaël Zasso) #44741
- [19a70c11e4] - (SEMVER-MAJOR) src: override CreateJob instead of PostJob (Clemens Backes) #44741
- [fd52c62bee] - (SEMVER-MAJOR) src: use V8_ENABLE_SANDBOX macro (Michaël Zasso) #44741
- [c10988db44] - (SEMVER-MAJOR) src: use non-deprecated V8 inspector API (Michaël Zasso) #44741
- [3efe901dd6] - (SEMVER-MAJOR) src: update NODE_MODULE_VERSION to 111 (Michaël Zasso) #44741
- [77e585657f] - (SEMVER-MAJOR) src: turn embedder api overload into default argument (Alena Khineika) #43629
- [dabda03ea9] - (SEMVER-MAJOR) src: per-environment time origin value (Chengzhong Wu) #43781
- [2e49b99cc2] - (SEMVER-MAJOR) src,test: disable freezing V8 flags on initialization (Clemens Backes) #44741
- [2b32985c62] - (SEMVER-MAJOR) stream: use null for the error argument (Luigi Pinca) #44312
- [36805e8524] - (SEMVER-MAJOR) test: adapt test-repl for V8 update (Michaël Zasso) #44741
- [96ef25793d] - (SEMVER-MAJOR) test: adapt test-repl-pretty-*stack to V8 changes (Michaël Zasso) #44741
- [71c193e581] - (SEMVER-MAJOR) test: adapt to new JSON SyntaxError messages (Michaël Zasso) #44741
- [b5f1564880] - (SEMVER-MAJOR) test: rename always-opt flag to always-turbofan (Michaël Zasso) #44741
- [1acf0339dd] - (SEMVER-MAJOR) test: fix test-hash-seed for new V8 versions (Michaël Zasso) #44741
- [57ff476c33] - (SEMVER-MAJOR) test: remove duplicate test (Luigi Pinca) #44051
- [77def91bf9] - (SEMVER-MAJOR) tls,http2: send fatal alert on ALPN mismatch (Tobias Nießen) #44031
- [4860ad99b9] - (SEMVER-MAJOR) tools: update V8 gypfiles for 10.7 (Michaël Zasso) #44741
- Semver-Minor Commits:
- [af0921d877] - (SEMVER-MINOR) esm: add --import flag (Moshe Atlow) #43942
- [0633e9a0b5] - (SEMVER-MINOR) lib: add diagnostics channel for process and worker (theanarkh) #44045
- [ca5be26b31] - (SEMVER-MINOR) src: add support for externally shared js builtins (Michael Dawson) #44376
- [e86a638305] - (SEMVER-MINOR) src: add initial shadow realm support (Chengzhong Wu) #42869
- [71ca6d7d6a] - (SEMVER-MINOR) util: add maxArrayLength option to Set and Map (Kohei Ueno) #43576
- Semver-Patch Commits:
- [78508028e3] - bootstrap: generate bootstrapper arguments in BuiltinLoader (Joyee Cheung) #44488
- [5291096ca2] - bootstrap: check more metadata when loading the snapshot (Joyee Cheung) #44132
- [d0f73d383d] - build: go faster, drop -fno-omit-frame-pointer (Ben Noordhuis) #44452
- [214354fc9f] - crypto: fix webcrypto HMAC "get key length" in deriveKey and generateKey (Filip Skokan) #44917
- [40a0757b21] - crypto: remove webcrypto HKDF and PBKDF2 default-applied lengths (Filip Skokan) #44945
- [eeec3eb16a] - crypto: simplify webcrypto ECDH deriveBits (Filip Skokan) #44946
- [0be1c57281] - deps: V8: cherry-pick c2792e58035f (Jiawen Geng) #44961
- [488474618c] - deps: V8: cherry-pick c3dffe6e2bda (Michaël Zasso) #44958
- [34ba631a0b] - deps: V8: cherry-pick e7f0f26f5ef3 (Michaël Zasso) #44958
- [690a837f4f] - deps: V8: cherry-pick 3d59a3c2c164 (Michaël Zasso) #44958
- [bab8b3aad6] - deps: V8: cherry-pick 8b8703953616 (Michaël Zasso) #44958
- [37e5152245] - doc: add notable changes to latest v18.x release changelog (Danielle Adams) #44996
- [19a909902a] - doc: deprecate url.parse() (Rich Trott) #44919
- [6686d9000b] - doc: fix backticks in fs API docs (Livia Medeiros) #44962
- [46a3afb579] - doc: graduate webcrypto to stable (Filip Skokan) #44897
- [6e3c55cc35] - doc: fix v16.17.1 security release changelog (Ruy Adorno) #44759
- [77cb88b91c] - doc: mark --import as experimental (Moshe Atlow) #44067
- [46dcfb3c7b] - doc,crypto: update webcrypto docs for global access (Filip Skokan) #44723
- [f594cc85b7] - esm: remove specifier resolution flag (Geoffrey Booth) #44859
- [3c040348fe] - Revert "esm: convert resolve hook to synchronous" (Jacob Smith) #43526
- [90b634a5a5] - esm: convert resolve hook to synchronous (Jacob Smith) #43363
- [7c06eab1dc] - Revert "http: do not leak error listeners" (Luigi Pinca) #44921
- [464d1c1558] - lib: reset RegExp statics before running user code (Antoine du Hamel) #43741
- [15f10515e3] - module: fix segment deprecation for imports field (Guy Bedford) #44883
- [7cdf745fdd] - perf_hooks: convert maxSize to IDL value in setResourceTimingBufferSize (Chengzhong Wu) #44902
- [be525d7d04] - src: consolidate exit codes in the code base (Joyee Cheung) #44746
- [d5ce285c8b] - src: refactor BaseObject methods (Joyee Cheung) #44796
- [717465433c] - src: create BaseObject with node::Realm (Chengzhong Wu) #44348
- [45f2258f74] - src: restore IS_RELEASE to 0 (Bryan English) #44758
- [1f54fc25cb] - src: use automatic memory mgmt in SecretKeyGen (Tobias Nießen) #44479
- [7371d335ac] - src: use V8 entropy source if RAND_bytes() != 1 (Tobias Nießen) #44493
- [81d9cdb8cd] - src: introduce node::Realm (Chengzhong Wu) #44179
- [ad41c919df] - src: remove v8abbr.h (Tobias Nießen) #44402
- [fddc701d3c] - src: support diagnostics channel in the snapshot (Joyee Cheung) #44193
- [d70aab663c] - src: support WeakReference in snapshot (Joyee Cheung) #44193
- [4ca398a617] - src: iterate over base objects to prepare for snapshot (Joyee Cheung) #44192
- [8b0e5b19bd] - src: fix cppgc incompatibility in v8 (Shelley Vohr) #43521
- [3fdf6cfad9] - stream: fix size function returned from QueuingStrategies (Daeyeon Jeong) #44867
- [331088f4a4] - Revert "tools: refactor tools/license2rtf to ESM" (Richard Lau) #43214
- [30cb1bf8b8] - tools: refactor tools/license2rtf to ESM (Feng Yu) #43101
- [a3ff4bfc66] - url: revert "validate ipv4 part length" (Antoine du Hamel) #42940
- [87d0d7a069] - url: validate ipv4 part length (Yagiz Nizipli) #42915
- [5b1bcf82f1] - vm: make ContextifyContext a BaseObject (Joyee Cheung) #44796
New in Node.js 16.18.0 LTS (Oct 14, 2022)
- Notable changes:
- [1cc050eaa8] - (SEMVER-MINOR) assert: add getCalls and reset to callTracker (Moshe Atlow) #44191
- [e5c9975f11] - (SEMVER-MINOR) crypto: allow zero-length secret KeyObject (Filip Skokan) #44201
- [317cd051ce] - (SEMVER-MINOR) crypto: allow zero-length IKM in HKDF and in webcrypto PBKDF2 (Filip Skokan) #44201
- [f80bdc5ef3] - (SEMVER-MINOR) doc: deprecate modp1, modp2, and modp5 groups (Tobias Nießen) #44588
- [8398e98b1b] - (SEMVER-MINOR) http: make idle http parser count configurable (theanarkh) #43974
- [2cd2f56962] - (SEMVER-MINOR) http: throw error on content-length mismatch (sidwebworks) #44378
- [6be761e8a9] - (SEMVER-MINOR) lib: add diagnostics channel for process and worker (theanarkh) #44045
- [1400796cef] - (SEMVER-MINOR) net,tls: pass a valid socket on tlsClientError (Daeyeon Jeong) #44021
- [092239a7f1] - (SEMVER-MINOR) net: add local family (theanarkh) #43975
- [381e11e18e] - (SEMVER-MINOR) report: expose report public native apis (Chengzhong Wu) #44255
- [2ba547aa5b] - (SEMVER-MINOR) src: expose environment RequestInterrupt api (Chengzhong Wu) #44362
- [6ed3367155] - (SEMVER-MINOR) stream: add ReadableByteStream.tee() (Daeyeon Jeong) #44505
- [0fbedac6ce] - (SEMVER-MINOR) test_runner: add before/after/each hooks (Moshe Atlow) #43730
- [70563b53c5] - (SEMVER-MINOR) util: add maxArrayLength option to Set and Map (Kohei Ueno) #43576
- More detailed information on each of the vulnerabilities can be found in September 22nd 2022 Security Releases blog post.
- Commits:
- [1cc050eaa8] - (SEMVER-MINOR) assert: add getCalls and reset to callTracker (Moshe Atlow) #44191
- [2e87cdd1e6] - benchmark: fix startup benchmark (Evan Lucas) #44727
- [29c0f9ef30] - benchmark: add stream destroy benchmark (SindreXie) #44533
- [f01bb58c1e] - bootstrap: update comments in bootstrap/node.js (Joyee Cheung) #44726
- [db151e182f] - bootstrap: stop delaying instantiation of maps in per-context scripts (Darshan Sen) #42934
- [f700074c57] - buffer: fix atob input validation (Austin Kelleher) #42662
- [e10095a759] - build: update timezone-update.yml (Alex) #44717
- [bec2ede687] - build: remove redundant entry in crypto (Jiawen Geng) #44604
- [7b3a2c3353] - build: rewritten the Android build system (BuShe Pie) #44207
- [e96bb14942] - build: add --libdir flag to configure (Stephen Gallagher) #44361
- [2a4491b34d] - build: added NINJA env to customize ninja binary (Jeff Dickey) #44293
- [aaad7a64b4] - build: enable pointer authentication for branch protection on arm64 (Jeremiah Gowdy) #43200
- [041bb54143] - build: add workflow to label flaky-test platform (Rafael Gonzaga) #44042
- [58d85c1109] - build: optimized and fixed building configuration to Android (BuShe) #44016
- [5cd8b7bc8b] - build: allow test-internet on forks if not scheduled (Rich Trott) #44073
- [9698be9347] - build: skip test-internet run on forks (Rich Trott) #44054
- [25e6f48e4a] - child_process: remove lookup of undefined property (Colin Ihrig) #44766
- [a3bdd07321] - cluster: fix cluster rr distribute error (theanarkh) #44202
- [317cd051ce] - (SEMVER-MINOR) crypto: allow zero-length IKM in HKDF and in webcrypto PBKDF2 (Filip Skokan) #44201
- [e5c9975f11] - (SEMVER-MINOR) crypto: allow zero-length secret KeyObject (Filip Skokan) #44201
- [7e705d8d74] - crypto: fix webcrypto deriveBits validations (Filip Skokan) #44173
- [7ad2a268b9] - crypto: fix webcrypto EC key namedCurve validation errors (Filip Skokan) #44172
- [2c938d73ff] - crypto: fix webcrypto operation errors to be OperationError (Filip Skokan) #44171
- [a6e2cb40a6] - crypto: fix webcrypto generateKey() AES key length validation error (Filip Skokan) #44170
- [7e07cce24b] - crypto: use EVP_PKEY_CTX_set_dsa_paramgen_q_bits when available (David Benjamin) #44561
- [1fc6394741] - crypto: restrict PBKDF2 args to signed int (Tobias Nießen) #44575
- [9a52ee7577] - crypto: handle invalid prepareAsymmetricKey JWK inputs (Filip Skokan) #44475
- [7100baee40] - crypto: use actual option name in error message (Tobias Nießen) #44455
- [579e066c3a] - crypto: add digest name to INVALID_DIGEST errors (Tobias Nießen) #44468
- [566d80f622] - crypto: improve RSA-PSS digest error messages (Tobias Nießen) #44307
- [f717c1e06a] - debugger: decrease timeout used to wait for the port to be free (Joyee Cheung) #44359
- [0f2fcaf771] - deps: update to ngtcp2 0.8.1 and nghttp3 0.7.0 (Tobias Nießen) #44622
- [1a8aada69d] - deps: update corepack to 0.14.1 (Node.js GitHub Bot) #44704
- [e4f18b4f34] - deps: update ngtcp2 update instructions (Tobias Nießen) #44619
- [21b5ab1494] - deps: upgrade npm to 8.19.2 (npm team) #44632
- [916b319e7a] - deps: update to uvwasi 0.0.13 (Colin Ihrig) #44524
- [67cbbcc902] - deps: update corepack to 0.14.0 (Node.js GitHub Bot) #44509
- [9f14dc1a8f] - deps: update Acorn to v8.8.0 (Michaël Zasso) #44437
- [1811a6aaa8] - deps: update icu tzdata to 2022b (Matías Zúñiga) #44283
- [0c4953cbd1] - deps: update undici to 5.9.1 (Node.js GitHub Bot) #44319
- [8a921fea74] - deps: upgrade npm to 8.19.1 (npm team) #44486
- [763a63c14b] - deps: update corepack to 0.13.0 (Node.js GitHub Bot) #44318
- [fdb699c84a] - deps: upgrade npm to 8.18.0 (npm team) #44263
- [2a44872f96] - deps: update corepack to 0.12.3 (Node.js GitHub Bot) #44229
- [48967e4b34] - deps: upgrade npm to 8.17.0 (npm team) #44205
- [0484122f71] - deps: update undici to 5.8.2 (Node.js GitHub Bot) #44187
- [e404ac7eed] - deps: update undici to 5.8.1 (Node.js GitHub Bot) #44158
- [9a5ee5e9e3] - deps: update corepack to 0.12.2 (Node.js GitHub Bot) #44159
- [3657cb277b] - deps: remove unnecessary file (Brian White) #44133
- [d66a807596] - deps: upgrade npm to 8.16.0 (npm team) #44119
- [ec998be61c] - deps: upgrade npm to 8.15.1 (npm team) #44013
- [e9e856ae95] - deps: upgrade base64 to dc6a41ce36e (Brian White) #44032
- [8ea9a71b15] - deps,src: use SIMD for normal base64 encoding (Brian White) #39775
- [969a12be4b] - doc: remove "currently" and comma splice from child_process.md (Rich Trott) #44789
- [5e4a2e94a1] - doc: mention git node backport (RafaelGSS) #44764
- [618c9c8260] - doc: ensure to revert node_version changes (Rafael Gonzaga) #44760
- [e0fe11c189] - doc: fix description for napi_get_cb_info() in n-api.md (Daeyeon Jeong) #44761
- [895719da65] - doc: fix v16.17.1 security release changelog (Ruy Adorno) #44759
- [fe832a0647] - doc: update the deprecation for exit code to clarify its scope (Daeyeon Jeong) #44714
- [3872abd9a6] - doc: update guidance for adding new modules (Michael Dawson) #44576
- [f381a1e86a] - doc: add registry number for Electron 22 (Keeley Hammond) #44748
- [8d3cb6c08a] - doc: include code examples for webstreams consumers (Lucas Santos) #44387
- [9e83c00e0b] - doc: mention where to push security commits (RafaelGSS) #44691
- [bc9f8d24ce] - doc: remove extra space on threadpool usage (Connor Burton) #44734
- [3e38ba53cc] - doc: make legacy banner slightly less bright (Rich Trott) #44665
- [0f88588f52] - doc: improve building doc for Windows Powershell (Brian Muenzenmeyer) #44625
- [5ee0127540] - doc: maintain only one list of MODP groups (Tobias Nießen) #44644
- [6881ecb0e2] - doc: add legendecas to TSC list (Michael Dawson) #44662
- [3614f5ace3] - doc: remove comma in README.md (Taha-Chaudhry) #44599
- [c9af43616c] - doc: use serial comma in report docs (Daeyeon Jeong) #44608
- [ff9ef61646] - doc: use serial comma in stream docs (Daeyeon Jeong) #44609
- [90eaae3ef1] - doc: remove empty line in YAML block (Claudio Wunder) #44617
- [f80bdc5ef3] - (SEMVER-MINOR) doc: deprecate modp1, modp2, and modp5 groups (Tobias Nießen) #44588
- [9fac6dd1c1] - doc: remove old OpenSSL ENGINE constants (Tobias Nießen) #44589
- [53543c6d81] - doc: fix heading levels for test runner hooks (Fabian Meyer) #44603
- [2084ad61a7] - doc: fix errors in http.md (Luigi Pinca) #44587
- [cc55e84ddc] - doc: fix vm.Script createCachedData example (Chengzhong Wu) #44487
- [8187f03834] - doc: mention how to get commit release (Rafael Gonzaga) #44572
- [d068978933] - doc: fix link in process.md (Antoine du Hamel) #44594
- [0747facb63] - doc: do not use weak MODP group in example (Tobias Nießen) #44585
- [e26d95ef9a] - doc: remove ebpf from supported tooling list (Rafael Gonzaga) #44549
- [9d24c7a8c7] - doc: emphasize that createCipher is never secure (Tobias Nießen) #44538
- [6d881b8611] - doc: document attribute Script.cachedDataRejected (Chengzhong Wu) #44451
- [d846e5bac5] - doc: move policy docs to the permissions scope (Rafael Gonzaga) #44222
- [5c721a33c3] - doc: add performance note to --enable-source-maps docs (Saurabh Daware) #43817
- [1998bc80b5] - doc: fix release guide example consistency (Ruy Adorno) #44385
- [7b691729b1] - doc: note on release guide to update main branch (Ruy Adorno) #44384
- [7ec097fa99] - doc: mention cherry-pick edge-case on release (RafaelGSS) #44408
- [4a4025181c] - doc: fix spacing issue in --build-snapshot help text (Shohei YOSHIDA) #44435
- [a5906a09dc] - doc: apply scroll-margin-top to h2, h3 elements (metonym) #44414
- [0e99139df4] - doc: use serial comma in addons docs (Tobias Nießen) #44482
- [8ea3e6f839] - doc: do not use "Returns:" for crypto.constants (Tobias Nießen) #44481
- [a1dbe4bc79] - doc: add history for net.createServer() options (Luigi Pinca) #44326
- [eb90d650d4] - doc: fix typo in test runner code examples (Moshe Atlow) #44351
- [17c5b978a5] - doc: add daeyeon to collaborators (Daeyeon Jeong) #44355
- [c1458063ee] - doc: fix style of n-api.md (theanarkh) #44377
- [cf60c6bc74] - doc: add missing imports in events sample code (Brian Evans) #44337
- [89e5ac9676] - doc: add missing parenthesis in TLSSocket section (Tobias Nießen) #44512
- [5ac344b2a2] - doc: fix optionality of callback arg of checkPrime (Tobias Nießen) #44311
- [87cc487e28] - doc: fix typo (Hana) #44262
- [5978eb1ae8] - doc: add TypeScript execution requirements (Michael Dawson) #44030
- [42948364e2] - doc: add cola119 to collaborators (cola119) #44248
- [6196bcedd0] - doc: improved building doc for Android (BuShe) #44166
- [afe6c87bb5] - doc: add MoLow to collaborators (Moshe Atlow) #44214
- [82ff3dabc5] - doc: update tags in adding-new-napi-api.md (Chengzhong Wu) #44190
- [16d6d45ee8] - doc: fix typo in diagnostics_channel (Evan Lucas) #44199
- [ed1d0c9203] - doc: add Retry CI in collaborator guide (Livia Medeiros) #44130
- [1022ece43f] - doc: remove unused code in call tracker example (Colin Ihrig) #44127
- [0c95d45410] - doc: add theanarkh to collaborators (theanarkh) #44131
- [97ad1a0f03] - doc: clarify tls.tlsSocket.getCipher().version (Adam Majer) #44086
- [9e10ee70a3] - doc: update repository list in onboarding doc (Rich Trott) #44089
- [3171d55ef8] - doc: add ErickWendel to collaborators (Erick Wendel) #44088
- [c9c2114a75] - doc: update collaborator email (Ruy Adorno) #44044
- [1f9246a24f] - doc: copyedit test.md (Antoine du Hamel) #44061
- [76e9cf2a46] - doc: add kvakil to triagers (Keyhan Vakil) #43996
- [5a34c575ad] - doc: clarify part of onboarding guide regarding adding to teams (Darshan Sen) #44024
- [5d3b8ab2d6] - doc: fix code examples in crypto.md (Antoine du Hamel) #44053
- [e59c095b23] - doc: claim ABI version for Electron 21 (Keeley Hammond) #44034
- [88b0d406ac] - doc: remove old reference from crypto/README.md (Tobias Nießen) #44012
- [58c97216ee] - doc: add missing env vars to man page (cola119) #43492
- [c07159215d] - doc: list supported MODP groups explicitly (Tobias Nießen) #43986
- [be2feec1f0] - doc: fix typo in packages.md (Dominic Saadi) #44005
- [9f7a728168] - doc: fix typos in test.md (Antoine du Hamel) #43997
- [21a29d4584] - doc: add missing test runner option (Moshe Atlow) #43989
- [6758c63eba] - doc,crypto: cleanup removed pbkdf2 behaviours (Filip Skokan) #44733
- [891c4e742f] - doc,inspector: document changes of inspector.close (Chengzhong Wu) #44628
- [4308d95d1d] - doc,report: document special filenames (Chengzhong Wu) #44257
- [89c837a48d] - doc,worker: document resourceLimits overrides (Keyhan Vakil) #43992
- [8f6bd5a402] - doc,worker: deprecate --trace-atomics-wait (Keyhan Vakil) #44093
- [9593c37984] - errors: refactor to use optional chaining (SindreXie) #44184
- [7cead5968e] - esm: fix duplicated test (Geoffrey Booth) #44779
- [5d33dfd787] - esm: do not bind loader hook functions (Antoine du Hamel) #44122
- [ec7bf32350] - esm: move package config helpers (Geoffrey Booth) #43967
- [42a91e36dd] - esm,loader: tidy ESMLoader internals (Jacob Smith) #44701
- [d4e9384ccb] - events: use bitset to save memory (Basit Chonka) #43700
- [14ec52b949] - fs: don't hard code name in validatePosition() (Colin Ihrig) #44767
- [83cf979a0d] - fs: fix typo in mkdir example (SergeyTsukanov) #44791
- [bbbb4460ee] - fs: remove unused option in fs.fstatSync() (Livia Medeiros) #44613
- [bf217f8029] - fs: add encoding parameter to benchmarks (Yagiz Nizipli) #44278
- [1308e68a16] - gyp: libnode for ios app embedding (chexiongsheng) #44210
- [2cee039070] - http: disable chunked encoding when OBS fold is used (Paolo Insogna) #341
- [2cd2f56962] - (SEMVER-MINOR) http: throw error on content-length mismatch (sidwebworks) #44378
- [8398e98b1b] - (SEMVER-MINOR) http: make idle http parser count configurable (theanarkh) #43974
- [fa6183fc7e] - http: add max for http keepalive (theanarkh) #44217
- [2f87ba4e03] - http: trace http request / response (theanarkh) #44102
- [5f406a3a53] - http: reuse socket only when it is drained (ywave620) #43902
- [4e49d5d1b4] - inspector: expose inspector.close on workers (Chengzhong Wu) #44489
- [c736927b0b] - inspector: prevent integer overflow in open() (Tobias Nießen) #44367
- [a021f1974a] - lib: fix reference leak (falsandtru) #44499
- [6be761e8a9] - (SEMVER-MINOR) lib: add diagnostics channel for process and worker (theanarkh) #44045
- [ac8d2de3b0] - lib: reset RegExp statics before running user code (Antoine du Hamel) #43741
- [4968ebfbe1] - lib: refactor validateInt32 and validateUint32 (mawaregetsuka) #43071
- [acff743113] - lib: make validateObject less affected by prototype tampering (Antoine du Hamel) #42929
- [59be5f89ca] - lib: use safe Promise alternatives when available (Antoine du Hamel) #43476
- [9dad4b0d11] - lib: add diagnostics channel and perf hooks detail (Danielle Adams) #43984
- [a99e2368ea] - lib: refactor to avoid prototype pollution (Antoine du Hamel) #43474
- [121c54718d] - lib: fix diagnostics channel (theanarkh) #44154
- [594d9436c3] - lib: pass env variables to child process on z/OS (alexcfyung) #42255
- [9c656c89fc] - lib: add missing env vars to --help (cola119) #43492
- [3aaa4109a0] - lib: add Promise methods to avoid-prototype-pollution lint rule (Antoine du Hamel) #43849
- [debf7301aa] - lib,test: fix bug in InternalSocketAddress (Tobias Nießen) #44618
- [c1d1ed5ae4] - meta: update AUTHORS (Node.js GitHub Bot) #44777
- [fe91711ed5] - meta: add mailmap entry for dnlup (Rich Trott) #44716
- [b9deb1e84d] - meta: update AUTHORS (Node.js GitHub Bot) #44705
- [3564da1c94] - meta: move dnlup to emeriti (dnlup) #44667
- [af5d49f186] - meta: update test_runner in label-pr-config (Shrujal Shah) #44615
- [7ac9bafd10] - meta: update AUTHORS (Node.js GitHub Bot) #44591
- [aa68a31804] - meta: update AUTHORS (Node.js GitHub Bot) #44511
- [edb0851539] - meta: update AUTHORS (Node.js GitHub Bot) #44422
- [4bdd4a3641] - meta: update AUTHORS (Node.js GitHub Bot) #44321
- [dc5478ad12] - meta: update web streams in label-pr-config (Daeyeon Jeong) #44235
- [d535190086] - meta: update AUTHORS (Node.js GitHub Bot) #44231
- [24e3ad069d] - meta: update AUTHORS (Node.js GitHub Bot) #44161
- [1924d897ad] - meta: add codeowner for src/node_snapshot* (Chengzhong Wu) #44113
- [1988be9acf] - meta: update AUTHORS (Node.js GitHub Bot) #44065
- [261e5acc6b] - meta: shorten PowerShell snippet for bug-report template (NicoNekoru) #44011
- [1bb394e691] - module: open stat/readPackage to mutations (Maël Nison) #44537
- [b665171911] - module: protect against prototype mutation (Antoine du Hamel) #44007
- [092239a7f1] - (SEMVER-MINOR) net: add local family (theanarkh) #43975
- [4e0710c3a3] - net: remove unused callback (theanarkh) #44204
- [1400796cef] - (SEMVER-MINOR) net,tls: pass a valid socket on tlsClientError (Daeyeon Jeong) #44021
- [adae66cbd4] - node-api: add deprecation code of uncaught exception (Chengzhong Wu) #44624
- [f38987edcc] - node-api: avoid calling virtual methods in base's dtor (Chengzhong Wu) #44424
- [5b5d95d312] - node-api: cleanup redundant static modifiers (Chengzhong Wu) #44301
- [8f3e8bb1fd] - (SEMVER-MINOR) os: add machine method (theanarkh) #44416
- [3cb28bdde0] - path: change basename() argument from ext to suffix (Rich Trott) #44774
- [7c5ce59dba] - perf_hooks: fix gc elapsed time (theanarkh) #44058
- [0e2c2064bb] - report: get stack trace with cross origin contexts (Chengzhong Wu) #44398
- [5355a46840] - report: fix missing section javascriptHeap on OOMError (Chengzhong Wu) #44398
- [381e11e18e] - (SEMVER-MINOR) report: expose report public native apis (Chengzhong Wu) #44255
- [30cfe0a156] - report: print javascript stack on fatal error (Chengzhong Wu) #44242
- [779761d914] - report: add queue info for udp (theanarkh) #44345
- [ff34d48d70] - report: skip report if uncaught exception is handled (Chengzhong Wu) #44208
- [3e8569cfbc] - src: remove ParseIP() in cares_wrap.cc (Tobias Nießen) #44771
- [916f2c5783] - src: avoid using v8 on Isolate termination (Santiago Gimeno) #44669
- [4f056b57e9] - src: remove from node_os.cc (Tobias Nießen) #44668
- [24172ca6fe] - src: avoid copy when creating Blob (Tobias Nießen) #44616
- [eda1f4531a] - src: make ReqWrap weak (Rafael Gonzaga) #44074
- [ea2957fe77] - src: make NearHeapLimitCallback() more robust (Joyee Cheung) #44581
- [eaf2ffc23a] - src: dump isolate stats when process exits (daomingq) #44534
- [49cf3459d1] - src: rename misleading arg in ClientHelloParser (Tobias Nießen) #44500
- [2ba547aa5b] - (SEMVER-MINOR) src: expose environment RequestInterrupt api (Chengzhong Wu) #44362
- [70662f4058] - src: fix cppgc incompatibility in v8 (Shelley Vohr) #43521
- [91ef427d2d] - src: nest namespace report in namespace node (Chengzhong Wu) #44069
- [e7d30b4b49] - src: use a typed array internally for process._exiting (Darshan Sen) #43883
- [d76e7e4e84] - src: improve error handling in CloneSSLCerts (Tobias Nießen) #44410
- [cae9c5d5c3] - src: fix incorrect comments in crypto (Tobias Nießen) #44470
- [c0875d1f00] - src: avoid casting std::trunc(... / ...) to size_t (Tobias Nießen) #44467
- [8f3ed25e08] - src: add error handling to uv_uptime call (Juan José Arboleda) #44386
- [c7713f19de] - src: remove base64_select_table and base64_table (Tobias Nießen) #44425
- [a3dc7e18ed] - src: fix uv_err_name memory leak (theanarkh) #44421
- [a711080061] - src: make Endianness an enum class (Tobias Nießen) #44411
- [aa80826651] - src: fix ssize_t error from nghttp2.h (Darshan Sen) #44393
- [6b8ed279fd] - src: trace fs async api (theanarkh) #44057
- [dd08d6cc57] - src: simplify and optimize GetOpenSSLVersion() (Tobias Nießen) #44395
- [4c27d77e5c] - src: simplify ECDH::GetCurves() (Tobias Nießen) #44309
- [a6ce1de833] - src: remove KeyObjectData::symmetric_key_len_ (Tobias Nießen) #44346
- [f0d841fd7d] - src: fix multiple format string bugs (Tobias Nießen) #44314
- [2f3502f345] - src: make minor improvements to SecureBuffer (Tobias Nießen) #44302
- [525fbfd122] - src: use imported namespaces in node_contextify.cc (Juan José) #44299
- [ac2edbcd8c] - src: refactor to avoid using a moved object (Tobias Nießen) #44269
- [b186684b22] - src: extract common context embedder tag checks (Chengzhong Wu) #44258
- [8195c8108c] - src: avoid copying BaseObjectPtrs in loop (Tobias Nießen) #44270
- [c045faf1ea] - src: fix --heapsnapshot-near-heap-limit error hint (Chengzhong Wu) #44216
- [4ee8ac3b6b] - src: prevent copying ArrayBufferViewContents (Keyhan Vakil) #44091
- [8f5fd2f06c] - src: fix to use replacement character (Kohei Ueno) #43999
- [78c846265f] - src: fix typo in src/README.md (Anna Henningsen) #44009
- [ec1645b1f0] - src: fix regression that a source marker is lost (cola119) #43086
- [0c01922ff7] - src: remove dead code in base64_encode (Tobias Nießen) #43979
- [28911e21b6] - src,buffer: remove unused chars_written parameter (Keyhan Vakil) #44092
- [37010cb862] - src,fs: refactor duplicated code in fs.readdir (Daeyeon Jeong) #43204
- [1635503704] - src,test: fix typos (SADIK KUZU) #44110
- [ffb1c85784] - stream: refactor use es2020 statement (SindreXie) #44533
- [6ed3367155] - (SEMVER-MINOR) stream: add ReadableByteStream.tee() (Daeyeon Jeong) #44505
- [14c7f4a290] - test: update WPT runner (Filip Skokan) #43455
- [4368acd01a] - test: don't clobber RegExp.$_ on startup (Ben Noordhuis) #44864
- [5854abc176] - test: use async/await in test-debugger-auto-resume (samyuktaprabhu) #44675
- [a7666abe31] - test: migrated from Promise chains to Async/Await (Rathi N Das) #44674
- [5bed2d1f46] - test: change promises to async/await in test-debugger-backtrace.js (Juliet Zhang) #44677
- [f630881f9b] - test: use async/await in test-debugger-sb-before-load (Hope Olaidé) #44697
- [fada3a2ce7] - test: add extra tests for basename with ext option (Connor Burton) #44772
- [9386c8581c] - test: refactor to async/await (Divya Mohan) #44694
- [af2aa5be45] - test: modify test-debugger-custom-port.js to use async-await (Priya Shastri) #44680
- [e9e130925c] - test: update test-debugger-breakpoint-exists.js to use async/await (Archana Kamath) #44682
- [510365a036] - test: use async/await in test-debugger-preserve-breaks (poorvitusam) #44696
- [2baa3c3ce5] - test: use async/await in test-debugger-profile (surbhirjain) #44684
- [ffc4fadf5e] - test: change the promises to async/await in test-debugger-exec-scope.js (Ankita Khiratkar) #44685
- [8b8d18ab4e] - test: verify napi_remove_wrap with napi_delete_reference (Chengzhong Wu) #44754
- [863361928e] - test: change promises to async/await (Madhulika Sharma) #44683
- [2e3aa39c94] - test: use async/await in test-debugger-invalid-args (Nupur Chauhan) #44678
- [095cb7eba1] - test: update test-debugger-low-level to use await/async (Meghana Ramesh) #44688
- [2752d7c22a] - test: check that sysconf returns a positive value (Tobias Nießen) #44666
- [fc1edaf0d7] - test: change promise to async/await in debugger-watcher (“Pooja) #44687
- [aae8ff6ace] - test: fix test-performance-measure (smitley) #44637
- [f13e06ab85] - test: improve lib/readline.js coverage (MURAKAMI Masahiko) #42686
- [a46dd370d7] - test: fix test-repl not validating leaked globals properly (Antoine du Hamel) #44640
- [31f809acca] - test: ignore stale process cleanup failures on Windows (Joyee Cheung) #44480
- [370b0ec5a1] - test: use python3 instead of python (Luigi Pinca) #44545
- [88dfd50079] - test: fix DebugSymbolsTest.ReqWrapList on PPC64LE (Daniel Bevenius) #44341
- [371804752a] - test: add more cases for parse-encoding (Tony Gorez) #44427
- [0c76e01876] - test: split report OOM tests (Joyee Cheung) #44389
- [5af3a5d37e] - test: avoid race in file write stream handle tests (Joyee Cheung) #44380
- [edb3335ff2] - test: deflake child process exec timeout tests (Joyee Cheung) #44390
- [c3429ab2e3] - test: make the vm timeout escape tests more lenient (Joyee Cheung) #44433
- [b5901a0c26] - test: split heap prof tests (Joyee Cheung) #44388
- [a139f5d4e0] - test: fix multiple incorrect mustNotCall() uses (Tobias Nießen) #44022
- [6990833a4c] - test: raise sleep times in child process tests (Joyee Cheung) #44375
- [b2b9de98a2] - test: remove duplicate test (Luigi Pinca) #44313
- [c397bb93ad] - test: make tmpdir.js importable from esm (Geoffrey Booth) #44322
- [03b8cb8c4c] - test: deflake test-diagnostics-channel-net (Keyhan Vakil) #44144
- [73cd9dd860] - test: add coverage for invalid RSA-PSS digests (Tobias Nießen) #44271
- [003ab59fcc] - test: move "errors" test to "parallel" (Michaël Zasso) #44233
- [4485adeaeb] - test: mark connection leak test flaky on IBM i (Richard Lau) #44215
- [8725a87fd9] - test: use mustSucceed instead of mustCall with assert.ifError (MURAKAMI Masahiko) #44196
- [41ea42bd82] - test: update hr-time web platform tests (Yagiz Nizipli) #44100
- [dd4db8e724] - test: update console web platform tests (Yagiz Nizipli) #44100
- [940e31784e] - test: move tests with many workers to sequential (Keyhan Vakil) #44139
- [03c0819dd9] - test: deflake gc-http-client tests by restricting number of requests (Nick Sia) #44146
- [3d0a3fe246] - test: move test-vm-break-on-sigint to sequential (Keyhan Vakil) #44140
- [4cfa9bac90] - test: remove test-http-client-response-timeout flaky designation (Luigi Pinca) #44145
- [2f036c857e] - test: s390x z15 accelerated zlib fixes (Adam Majer) #44117
- [5ed4f431cf] - test: tune down parallelism for some flaky tests (Keyhan Vakil) #44090
- [ec7b932945] - test: fix internet/test-inspector-help-page (Daeyeon Jeong) #44025
- [dff6615bbe] - test: remove test-gc-http-client-timeout from flaky list (Feng Yu) #43971
- [6c3228361b] - test: reduce loop times for preventing test from timeout (theanarkh) #43981
- [a33daadc41] - test: fix test-cluster-concurrent-disconnect (Daeyeon Jeong) #43961
- [e009a35d6e] - test: change misleading variable name (Tobias Nießen) #43990
- [72fb0133f5] - test: use common.mustNotMutateObjectDeep() in fs tests (LiviaMedeiros) #43819
- [4ebb3ef508] - test,crypto: update WebCryptoAPI WPT (Filip Skokan) #44223
- [9a469bef2c] - test_runner: include stack of uncaught exceptions (Moshe Atlow) #44614
- [56dc4b3848] - test_runner: fix test runner hooks failure stack (Moshe Atlow) #44284
- [cefb0586d8] - test_runner: refactor to use more primordials (Antoine du Hamel) #44062
- [64b07a9d14] - test_runner: verbous error when entire test tree is canceled (Moshe Atlow) #44060
- [bfdee2597a] - test_runner: empty pending tests queue post running (Moshe Atlow) #44059
- [0fbedac6ce] - (SEMVER-MINOR) test_runner: add before/after/each hooks (Moshe Atlow) #43730
- [6ad7a86af6] - test_runner: fix top level describe queuing (Moshe Atlow) #43998
- [a2881b7a85] - test_runner: graceful termination on --test only (Moshe Atlow) #43977
- [72a8faa087] - test_runner: validate concurrency option (Antoine du Hamel) #43976
- [8118fc2980] - tls: fix out-of-bounds read in ClientHelloParser (Tobias Nießen) #44580
- [b53ea08d7b] - tls: remove SecureContext setFreeListLength (Tobias Nießen) #44300
- [c35a0713b0] - tls: use OpenSSL constant for client random size (Tobias Nießen) #44305
- [e4b4b370a1] - tls: use logical OR operator (Mohammed Keyvanzadeh) #44236
- [18e1766346] - tools: increase timeout of running WPT (Joyee Cheung) #44574
- [006d7f1f2a] - tools: refactor deprecated format in no-unescaped-regexp-dot (Madhuri) #44763
- [c6289d632a] - tools: update eslint-check.js to object style (andiemontoyeah) #44706
- [b06a78e85d] - tools: update eslint to 8.24.0 (Node.js GitHub Bot) #44778
- [ce3397223b] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #44776
- [1079c8099d] - tools: add update-llhttp.sh (Paolo Insogna) #44652
- [0b3f49c749] - tools: fix typo in update-nghttp2.sh (Luigi Pinca) #44664
- [d190e716ad] - tools: add timezone update workflow (Lenvin Gonsalves) #43988
- [b6c232f288] - tools: update eslint to 8.23.1 (Node.js GitHub Bot) #44639
- [2c0d9ffb65] - tools: update lint-md-dependencies to @rollup/[email protected] (Node.js GitHub Bot) #44638
- [f05ce2bff5] - tools: update lint-md-dependencies to @rollup/[email protected] (Node.js GitHub Bot) #44590
- [657fa792f4] - tools: increase timeout of running WPT (Joyee Cheung) #44574
- [602ecaa42f] - tools: fix shebang to use python3 by default (Himself65) #44531
- [bad8ecc27f] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #44510
- [255023f80a] - tools: don't use f-strings in test.py (Santiago Gimeno) #44407
- [b3629daad7] - tools: update doc to [email protected] (Node.js GitHub Bot) #44370
- [2891d9fd0a] - tools: update eslint to 8.23.0 (Node.js GitHub Bot) #44419
- [0bf57df711] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #44320
- [9391ebdc0d] - tools: update ESLint to 8.22.0 (Luigi Pinca) #44243
- [df49c426f6] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #44244
- [e42227ad3e] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #44230
- [1b6d294e78] - tools: update eslint to 8.21.0 (Node.js GitHub Bot) #44162
- [f3dcaaf087] - tools: update lint-md-dependencies to @rollup/[email protected] (Node.js GitHub Bot) #44160
- [5d5971cda7] - tools: update undici CPE in vuln checking script (Facundo Tuesca) #44128
- [606b0a08a8] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #44064
- [8a8c7cf6b5] - tools: add verbose flag to find-inactive-collaborators (Rich Trott) #43964
- [cb6b57f777] - trace_events: add example (theanarkh) #43253
- [be863b7a97] - tty: fix TypeError when stream is closed (Antoine du Hamel) #43803
- [a08cdead0b] - typings: add JSDoc for internal/validators (Yagiz Nizipli) #44181
- [a6a655de35] - util: increase robustness with primordials (Jordan Harband) #41212
- [70563b53c5] - (SEMVER-MINOR) util: add maxArrayLength option to Set and Map (Kohei Ueno) #43576
- [0beedb7f1c] - v8: add setHeapSnapshotNearHeapLimit (theanarkh) #44420
- [8d259e6086] - win: fix fs.realpath.native for long paths (StefanStojanovic) #44536
New in Node.js 18.10.0 Current (Sep 29, 2022)
- Notable changes:
- doc:
- (SEMVER-MINOR) deprecate modp1, modp2, and modp5 groups (Tobias Nießen) #44588
- add legendecas to TSC list (Michael Dawson) #44662
- move policy docs to the permissions scope (Rafael Gonzaga) #44222
- gyp:
- libnode for ios app embedding (chexiongsheng) #44210
- http:
- (SEMVER-MINOR) throw error on content-length mismatch (sidwebworks) #44588
- stream:
- (SEMVER-MINOR) add ReadableByteStream.tee() (Daeyeon Jeong) #44505
- Commits:
- [f497368679] - benchmark: fix startup benchmark (Evan Lucas) #44727
- [0c9a94684e] - benchmark: add stream destroy benchmark (SindreXie) #44533
- [9c5c1459a8] - bootstrap: clean up inspector console methods during serialization (Joyee Cheung) #44279
- [19f67dba8a] - bootstrap: remove unused global parameter in per-context scripts (Joyee Cheung) #44472
- [9da11426f6] - build: remove redundant entry in crypto (Jiawen Geng) #44604
- [70898b4e67] - build: rewritten the Android build system (BuShe Pie) #44207
- [a733f7faac] - Revert "build: go faster, drop -fno-omit-frame-pointer" (Ben Noordhuis) #44566
- [1315a83333] - build: fix bad upstream merge (Stephen Gallagher) #44642
- [993bd9b134] - crypto: restrict PBKDF2 args to signed int (Tobias Nießen) #44575
- [ca5fb67b4e] - deps: update to ngtcp2 0.8.1 and nghttp3 0.7.0 (Tobias Nießen) #44622
- [8da1d6ebc4] - deps: update corepack to 0.14.1 (Node.js GitHub Bot) #44704
- [d36c4a3088] - deps: update ngtcp2 update instructions (Tobias Nießen) #44619
- [7129106aa0] - deps: upgrade npm to 8.19.2 (npm team) #44632
- [3cc8f4bb56] - deps: update to uvwasi 0.0.13 (Colin Ihrig) #44524
- [4686579d4b] - dns: remove unnecessary parameter from validateOneOf (Yagiz Nizipli) #44635
- [729dd95f1f] - dns: refactor default resolver (Joyee Cheung) #44541
- [6dc038262a] - doc: mention git node backport (RafaelGSS) #44764
- [fd971f5176] - doc: ensure to revert node_version changes (Rafael Gonzaga) #44760
- [f274b08f8e] - doc: fix description for napi_get_cb_info() in n-api.md (Daeyeon Jeong) #44761
- [2502f2353d] - doc: update the deprecation for exit code to clarify its scope (Daeyeon Jeong) #44714
- [064543d0ae] - doc: update guidance for adding new modules (Michael Dawson) #44576
- [33a2f17534] - doc: add registry number for Electron 22 (Keeley Hammond) #44748
- [10a0d75c26] - doc: include code examples for webstreams consumers (Lucas Santos) #44387
- [4dbe4a010c] - doc: mention where to push security commits (RafaelGSS) #44691
- [82cb8151ad] - doc: remove extra space on threadpool usage (Connor Burton) #44734
- [6ef9af2748] - doc: make legacy banner slightly less bright (Rich Trott) #44665
- [b209c83e66] - doc: improve building doc for Windows Powershell (Brian Muenzenmeyer) #44625
- [05b17e9250] - doc: maintain only one list of MODP groups (Tobias Nießen) #44644
- [ec1cbdb69b] - doc: add legendecas to TSC list (Michael Dawson) #44662
- [9341fb4446] - doc: remove comma in README.md (Taha-Chaudhry) #44599
- [3dabb44dda] - doc: use serial comma in report docs (Daeyeon Jeong) #44608
- [226d90a95a] - doc: use serial comma in stream docs (Daeyeon Jeong) #44609
- [3f710fa636] - doc: remove empty line in YAML block (Claudio Wunder) #44617
- [4ad1b0abc3] - (SEMVER-MINOR) doc: deprecate modp1, modp2, and modp5 groups (Tobias Nießen) #44588
- [2d92610525] - doc: remove old OpenSSL ENGINE constants (Tobias Nießen) #44589
- [03705639c4] - doc: fix heading levels for test runner hooks (Fabian Meyer) #44603
- [6c557346a7] - doc: fix errors in http.md (Luigi Pinca) #44587
- [48d944b71c] - doc: fix vm.Script createCachedData example (Chengzhong Wu) #44487
- [2813323120] - doc: mention how to get commit release (Rafael Gonzaga) #44572
- [ea7b44d474] - doc: fix link in process.md (Antoine du Hamel) #44594
- [39b65d2fb7] - doc: do not use weak MODP group in example (Tobias Nießen) #44585
- [f5549afd90] - doc: remove ebpf from supported tooling list (Rafael Gonzaga) #44549
- [a3360b1f4f] - doc: emphasize that createCipher is never secure (Tobias Nießen) #44538
- [4e6f7862ba] - doc: document attribute Script.cachedDataRejected (Chengzhong Wu) #44451
- [01e584ecab] - doc: move policy docs to the permissions scope (Rafael Gonzaga) #44222
- [57dac53c22] - doc,crypto: cleanup removed pbkdf2 behaviours (Filip Skokan) #44733
- [c209bd6fb9] - doc,inspector: document changes of inspector.close (Chengzhong Wu) #44628
- [9b3b7d6978] - esm,loader: tidy ESMLoader internals (Jacob Smith) #44701
- [daf63d2fa3] - fs: fix typo in mkdir example (SergeyTsukanov) #44791
- [85ab2f857f] - fs: remove unused option in fs.fstatSync() (Livia Medeiros) #44613
- [a6091f5496] - gyp: libnode for ios app embedding (chexiongsheng) #44210
- [f158656e4c] - (SEMVER-MINOR) http: throw error on content-length mismatch (sidwebworks) #44378
- [1b160517f5] - inspector: expose inspector.close on workers (Chengzhong Wu) #44489
- [a2eb55a2c9] - lib: don't match sourceMappingURL in strings (Alan Agius) #44658
- [2baf532518] - lib: fix reference leak (falsandtru) #44499
- [d8d34ae6bc] - lib: reset RegExp statics before running user code (Antoine du Hamel) #44247
- [eb3635184b] - lib,test: fix bug in InternalSocketAddress (Tobias Nießen) #44618
- [74dc4d198f] - meta: update AUTHORS (Node.js GitHub Bot) #44777
- [97d2ed7296] - meta: add mailmap entry for dnlup (Rich Trott) #44716
- [35fbd2cc14] - meta: update AUTHORS (Node.js GitHub Bot) #44705
- [c5c1bc40a2] - meta: move dnlup to emeriti (dnlup) #44667
- [c62dfe0427] - meta: update test_runner in label-pr-config (Shrujal Shah) #44615
- [fe56efd0bc] - meta: update AUTHORS (Node.js GitHub Bot) #44591
- [4436ffb536] - module: open stat/readPackage to mutations (Maël Nison) #44537
- [f8ec946c82] - module: exports & imports map invalid slash deprecation (Guy Bedford) #44477
- [64cb43a2b6] - node-api: add deprecation code of uncaught exception (Chengzhong Wu) #44624
- [ce1704c2c7] - src: avoid using v8 on Isolate termination (Santiago Gimeno) #44669
- [3036b85d71] - src: remove from node_os.cc (Tobias Nießen) #44668
- [29f57b7899] - src: avoid copy when creating Blob (Tobias Nießen) #44616
- [75cfb13ea6] - src: make ReqWrap weak (Rafael Gonzaga) #44074
- [c12abb5ece] - src: make NearHeapLimitCallback() more robust (Joyee Cheung) #44581
- [81ea507e8e] - src: dump isolate stats when process exits (daomingq) #44534
- [687844822f] - src: consolidate environment cleanup queue (Chengzhong Wu) #44379
- [3d42aaaac0] - stream: handle a pending pull request from a released reader (Daeyeon Jeong) #44702
- [73ad9db6c5] - stream: refactor use es2020 statement (SindreXie) #44533
- [0af6e420b3] - stream: remove abortReason from WritableStreamDefaultController (Daeyeon Jeong) #44540
- [2f2f8d5821] - (SEMVER-MINOR) stream: add ReadableByteStream.tee() (Daeyeon Jeong) #44505
- [667e8bf3fb] - stream: fix writableStream.abort() (Daeyeon Jeong) #44327
- [3112d5dae0] - test: verify napi_remove_wrap with napi_delete_reference (Chengzhong Wu) #44754
- [b512436841] - test: change promises to async/await (Madhulika Sharma) #44683
- [858631f720] - test: use async/await in test-debugger-invalid-args (Nupur Chauhan) #44678
- [6c9ded810c] - test: update test-debugger-low-level to use await/async (Meghana Ramesh) #44688
- [945aa74e57] - test: check that sysconf returns a positive value (Tobias Nießen) #44666
- [79f0f48a6f] - test: change promise to async/await in debugger-watcher (“Pooja) #44687
- [a56cb65bd6] - test: fix addon tests compilation with OpenSSL 1.1.1 (Adam Majer) #44725
- [8a68a80a06] - test: fix test-performance-measure (smitley) #44637
- [55de0136b3] - test: improve lib/readline.js coverage (MURAKAMI Masahiko) #42686
- [a3095d217f] - test: fix test-repl not validating leaked globals properly (Antoine du Hamel) #44640
- [7db2974692] - test: ignore stale process cleanup failures on Windows (Joyee Cheung) #44480
- [6c35f338c3] - test: use python3 instead of python (Luigi Pinca) #44545
- [20e04c6d44] - test: fix DebugSymbolsTest.ReqWrapList on PPC64LE (Daniel Bevenius) #44341
- [eb25fe73b0] - test: add more cases for parse-encoding (Tony Gorez) #44427
- [5ab3bc9419] - test_runner: include stack of uncaught exceptions (Moshe Atlow) #44614
- [752e1472e1] - tls: fix out-of-bounds read in ClientHelloParser (Tobias Nießen) #44580
- [0cddb0af99] - tools: add update-llhttp.sh (Paolo Insogna) #44652
- [ef0dc47df9] - tools: fix typo in update-nghttp2.sh (Luigi Pinca) #44664
- [0df181a5a1] - tools: add timezone update workflow (Lenvin Gonsalves) #43988
- [dd4348900d] - tools: update eslint to 8.23.1 (Node.js GitHub Bot) #44639
- [b9cfb71e12] - tools: update lint-md-dependencies to @rollup/[email protected] (Node.js GitHub Bot) #44638
- [5ae142d7ad] - tools: update gyp-next to v0.13.0 (Jiawen Geng) #44605
- [5dd86c3faf] - tools: update lint-md-dependencies to @rollup/[email protected] (Node.js GitHub Bot) #44590
- [caad4748cf] - tools: increase timeout of running WPT (Joyee Cheung) #44574
- [5db9779f14] - tools: fix shebang to use python3 by default (Himself65) #44531
- [9aa6a560e9] - v8: add setHeapSnapshotNearHeapLimit (theanarkh) #44420
- [360b74e94f] - win: fix fs.realpath.native for long paths (StefanStojanovic) #44536
New in Node.js 18.9.1 Current (Sep 23, 2022)
- Notable changes:
- The following CVEs are fixed in this release:
- CVE-2022-32212: DNS rebinding in --inspect on macOS (High)
- Insufficient fix for macOS devices on v18.5.0
- CVE-2022-32222: Node 18 reads openssl.cnf from /home/iojs/build/ upon startup on MacOS (Medium)
- CVE-2022-32213: HTTP Request Smuggling - Flawed Parsing of Transfer-Encoding (Medium)
- Insufficient fix on v18.5.0
- CVE-2022-32215: HTTP Request Smuggling - Incorrect Parsing of Multi-line Transfer-Encoding (Medium)
- Insufficient fix on v18.5.0
- CVE-2022-35256: HTTP Request Smuggling - Incorrect Parsing of Header Fields (Medium)
- CVE-2022-35255: Weak randomness in WebCrypto keygen
- More detailed information on each of the vulnerabilities can be found in September 22nd 2022 Security Releases blog post.
- llhttp updated to 6.0.10:
- llhttp is updated to 6.0.10 which includes fixes for the following vulnerabilities.
- HTTP Request Smuggling - CVE-2022-32213 bypass via obs-fold mechanic (Medium)(CVE-2022-32213 ): The llhttp parser in the http module does not correctly parse and validate Transfer-Encoding headers. This can lead to HTTP Request Smuggling (HRS).
- HTTP Request Smuggling - Incorrect Parsing of Multi-line Transfer-Encoding (Medium)(CVE-2022-32215): The llhttp parser in the http module does not correctly handle multi-line Transfer-Encoding headers. This can lead to HTTP Request Smuggling (HRS).
- HTTP Request Smuggling - Incorrect Parsing of Header Fields (Medium)(CVE-35256): The llhttp parser in the http does not correctly handle header fields that are not terminated with CLRF. This can lead to HTTP Request Smuggling (HRS).
- Commits:
- [0c2a5723be] - crypto: fix weak randomness in WebCrypto keygen (Ben Noordhuis) nodejs-private/node-private#
- [ffb6f4d51d] - deps: MacOS - fix location of OpenSSL config file (Michael Dawson) nodejs-private/node-private#345
- [01bffcdd93] - http: disable chunked encoding when OBS fold is used (Paolo Insogna) nodejs-private/node-private#341
- [2c379d341d] - src: fix IPv4 non routable validation (RafaelGSS) nodejs-private/node-private#337
New in Node.js 16.17.1 LTS (Sep 23, 2022)
- Notable changes:
- The following CVEs are fixed in this release:
- CVE-2022-32212: DNS rebinding in --inspect on macOS (High)
- CVE-2022-32213: bypass via obs-fold mechanic (Medium)
- CVE-2022-35255: Weak randomness in WebCrypto keygen
- CVE-2022-35256: HTTP Request Smuggling - Incorrect Parsing of Header Fields (Medium)
- More detailed information on each of the vulnerabilities can be found in September 22nd 2022 Security Releases blog post.
- Commits:
- [a54283a638] - crypto: fix weak randomness in WebCrypto keygen (Ben Noordhuis) nodejs-private/node-private#346
- [0713e21240] - http: disable chunked encoding when using OBS fold is used (Paolo Insogna) nodejs-private/node-private#341
- [77fe2f32e4] - src: fix IPv4 non routable validation (RafaelGSS) nodejs-private/node-private#337
New in Node.js 18.8.0 Current (Aug 25, 2022)
- Notable changes:
- bootstrap: implement run-time user-land snapshots via --build-snapshot and --snapshot-blob
- This patch introduces --build-snapshot and --snapshot-blob options for creating and using user land snapshots.
- To generate a snapshot using snapshot.js as an entry point and write the snapshot blob to snapshot.blob:
- echo "globalThis.foo = 'I am from the snapshot'" > snapshot.js
- node --snapshot-blob snapshot.blob --build-snapshot snapshot.js
- To restore application state from snapshot.blob, with index.js as the entry point script for the deserialized application:
- echo "console.log(globalThis.foo)" > index.js
- node --snapshot-blob snapshot.blob index.js
- # => I am from the snapshot
- Users can also use the v8.startupSnapshot API to specify an entry point at snapshot building time, thus avoiding the need of an additional entry script at deserialization time:
- echo "require('v8').startupSnapshot.setDeserializeMainFunction(() => console.log('I am from the snapshot'))" > snapshot.js
- node --snapshot-blob snapshot.blob --build-snapshot snapshot.js
- node --snapshot-blob snapshot.blob
- # => I am from the snapshot
- Contributed by Joyee Cheung in #38905
- Other notable changes:
- crypto:
- (SEMVER-MINOR) allow zero-length IKM in HKDF and in webcrypto PBKDF2 (Filip Skokan) #44201
- (SEMVER-MINOR) allow zero-length secret KeyObject (Filip Skokan) #44201
- deps:
- upgrade npm to 8.18.0 (npm team) #44263 - Adds a new npm query command
- doc:
- add Erick Wendel to collaborators (Erick Wendel) #44088
- add theanarkh to collaborators (theanarkh) #44131
- add MoLow to collaborators (Moshe Atlow) #44214
- add cola119 to collaborators (cola119) #44248
- deprecate --trace-atomics-wait (Keyhan Vakil) #44093
- http:
- (SEMVER-MINOR) make idle http parser count configurable (theanarkh) #43974
- net:
- (SEMVER-MINOR) add local family (theanarkh) #43975
- src:
- (SEMVER-MINOR) print source map error source on demand (Chengzhong Wu) #43875
- tls:
- (SEMVER-MINOR) pass a valid socket on tlsClientError (Daeyeon Jeong) #44021
- Commits:
- [0e20072e32] - assert: add getCalls and reset to callTracker (Moshe Atlow) #44191
- [126fbbab74] - assert: add assert.Snapshot (Moshe Atlow) #44095
- [87d7845b4f] - bootstrap: fixup Error.stackTraceLimit for user-land snapshot (Joyee Cheung) #44203
- [597a5171ee] - (SEMVER-MINOR) bootstrap: clean up warning setup during serialization (Joyee Cheung) #38905
- [3561514ff5] - (SEMVER-MINOR) bootstrap: implement --snapshot-blob and --build-snapshot (Joyee Cheung) #38905
- [123b2d6795] - bootstrap: turn on FunctionCodeHandling::kKeep in the snapshot builder (Joyee Cheung) #44104
- [e7d101fbd4] - bootstrap: support more builtins in the embedded code cache (Joyee Cheung) #44018
- [2ae2828040] - build: enable pointer authentication for branch protection on arm64 (Jeremiah Gowdy) #43200
- [fecec4d3ba] - build: add workflow to label flaky-test platform (Rafael Gonzaga) #44042
- [c975c4f674] - build: optimized and fixed building configuration to Android (BuShe) #44016
- [ec1b31e6ad] - build: allow test-internet on forks if not scheduled (Rich Trott) #44073
- [ea48c5673b] - build: skip test-internet run on forks (Rich Trott) #44054
- [1c0d66e927] - (SEMVER-MINOR) crypto: allow zero-length IKM in HKDF and in webcrypto PBKDF2 (Filip Skokan) #44201
- [07d90c8a71] - (SEMVER-MINOR) crypto: allow zero-length secret KeyObject (Filip Skokan) #44201
- [ac2b10e0c7] - crypto: fix webcrypto deriveBits validations (Filip Skokan) #44173
- [4c902be5a5] - crypto: fix webcrypto EC key namedCurve validation errors (Filip Skokan) #44172
- [81e1ec4f6f] - crypto: fix webcrypto generateKey() AES key length validation error (Filip Skokan) #44170
- [ad8ef3a56c] - crypto: fix webcrypto operation errors to be OperationError (Filip Skokan) #44171
- [c270b9a0aa] - deps: update corepack to 0.13.0 (Node.js GitHub Bot) #44318
- [bce8041d67] - deps: upgrade npm to 8.18.0 (npm team) #44263
- [a26997263b] - deps: update corepack to 0.12.3 (Node.js GitHub Bot) #44229
- [b1590bbca2] - deps: upgrade npm to 8.17.0 (npm team) #44205
- [818271c1c3] - deps: update undici to 5.8.2 (Node.js GitHub Bot) #44187
- [d09bc5402d] - deps: update undici to 5.8.1 (Node.js GitHub Bot) #44158
- [a92d90b482] - deps: update corepack to 0.12.2 (Node.js GitHub Bot) #44159
- [52a516a281] - deps: V8: cherry-pick 9861ce1deae2 (Milad Fa) #44115
- [763b956f07] - deps: remove unnecessary file (Brian White) #44133
- [194587e767] - deps: upgrade npm to 8.16.0 (npm team) #44119
- [116dcccc79] - deps: upgrade base64 to dc6a41ce36e (Brian White) #44032
- [b7aaf3d4ca] - deps: upgrade npm to 8.15.1 (npm team) #44013
- [a0c57837c4] - deps: cherry-pick 00704f5a from V8 upstream (Keyhan Vakil) #43921
- [19557ad6a4] - dgram: add dgram send queue info (theanarkh) #44149
- [a93371205b] - doc: fix optionality of callback arg of checkPrime (Tobias Nießen) #44311
- [d3f3bf602d] - doc: fix typo (Hana) #44262
- [7a567875b0] - doc: add TypeScript execution requirements (Michael Dawson) #44030
- [e8916fa758] - doc: add cola119 to collaborators (cola119) #44248
- [8c1fe86026] - doc: fix added version for readable.closed/destroyed (Matthew Peveler) #44033
- [f39a0514d3] - doc: improved building doc for Android (BuShe) #44166
- [4d26cb9bb2] - doc: add MoLow to collaborators (Moshe Atlow) #44214
- [6bff14b6f1] - doc: update tags in adding-new-napi-api.md (Chengzhong Wu) #44190
- [721639a1d4] - doc: fix typo in diagnostics_channel (Evan Lucas) #44199
- [0fffc24caa] - doc: add Retry CI in collaborator guide (Livia Medeiros) #44130
- [fb11643e31] - doc: add performance note to --enable-source-maps docs (Saurabh Daware) #43817
- [cb7a9e78fd] - doc: remove unused code in call tracker example (Colin Ihrig) #44127
- [8c26daff7c] - doc: add theanarkh to collaborators (theanarkh) #44131
- [46f8fb8e53] - doc: clarify tls.tlsSocket.getCipher().version (Adam Majer) #44086
- [02236032f0] - doc: update repository list in onboarding doc (Rich Trott) #44089
- [58f2739e32] - doc: add Erick Wendel to collaborators (Erick Wendel) #44088
- [fe83d514b2] - doc: update collaborator email (Ruy Adorno) #44044
- [76011dd7f7] - doc: copyedit test.md (Antoine du Hamel) #44061
- [1d6029aa3d] - doc: add kvakil to triagers (Keyhan Vakil) #43996
- [7f7a0eb2f5] - doc: clarify part of onboarding guide regarding adding to teams (Darshan Sen) #44024
- [2ae5d853a7] - doc: fix code examples in crypto.md (Antoine du Hamel) #44053
- [1b9537b6a5] - doc: claim ABI version for Electron 21 (Keeley Hammond) #44034
- [d23dfa4dcb] - doc: remove old reference from crypto/README.md (Tobias Nießen) #44012
- [222ecd6e14] - doc: add missing env vars to man page (cola119) #43492
- [374b77619b] - doc: list supported MODP groups explicitly (Tobias Nießen) #43986
- [72a9ecf94f] - doc: fix typo in packages.md (Dominic Saadi) #44005
- [1b328305f0] - doc: fix typos in test.md (Antoine du Hamel) #43997
- [7af55dbc40] - doc: add missing test runner option (Moshe Atlow) #43989
- [e8441a2864] - doc,report: document special filenames (Chengzhong Wu) #44257
- [da7bc5acdf] - doc,worker: deprecate --trace-atomics-wait (Keyhan Vakil) #44093
- [37a9d7a754] - errors: refactor to use optional chaining (SindreXie) #44184
- [a6dccc969f] - esm: do not bind loader hook functions (Antoine du Hamel) #44122
- [5e9c197d85] - esm: fix loader hooks accepting too many arguments (Jacob Smith) #44109
- [e072c3aa70] - esm: move package config helpers (Geoffrey Booth) #43967
- [d57178cdfc] - events: use bitset to save memory (Basit Chonka) #43700
- [4ec3f671af] - fs: add encoding parameter to benchmarks (Yagiz Nizipli) #44278
- [851264ca90] - http: add max for http keepalive (theanarkh) #44217
- [340ca4d8fe] - http: fix error message when specifying headerTimeout for createServer (Nick Sia) #44163
- [c340344641] - http: trace http request / response (theanarkh) #44102
- [a2cd8b316c] - (SEMVER-MINOR) http: make idle http parser count configurable (theanarkh) #43974
- [5dc39a10bd] - http: reuse socket only when it is drained (ywave620) #43902
- [8c2d19b2d6] - http: do not leak error listeners (Paolo Insogna) #43587
- [1a44fbc19e] - lib: add diagnostics channel and perf hooks detail (Danielle Adams) #43984
- [8cfc8b0e7b] - lib: refactor to avoid prototype pollution (Antoine du Hamel) #43474
- [04007f2f51] - lib: fix diagnostics channel (theanarkh) #44154
- [c02bbdd921] - lib: pass env variables to child process on z/OS (alexcfyung) #42255
- [617ea4af1c] - lib: add missing env vars to --help (cola119) #43492
- [94912bb09c] - lib: add Promise methods to avoid-prototype-pollution lint rule (Antoine du Hamel) #43849
- [8977a87504] - meta: update AUTHORS (Node.js GitHub Bot) #44321
- [f7be92fe86] - meta: update web streams in label-pr-config (Daeyeon Jeong) #44235
- [2c72ded880] - meta: update AUTHORS (Node.js GitHub Bot) #44231
- [c59dc7a4c1] - meta: update AUTHORS (Node.js GitHub Bot) #44161
- [e0efd9af50] - meta: add codeowner for src/node_snapshot* (Chengzhong Wu) #44113
- [a996f53c78] - meta: update AUTHORS (Node.js GitHub Bot) #44065
- [697dbfb174] - meta: shorten PowerShell snippet for bug-report template (NicoNekoru) #44011
- [05802c2877] - module: protect against prototype mutation (Antoine du Hamel) #44007
- [1b3fcf765f] - (SEMVER-MINOR) net: create diagnostics channels lazily (Joyee Cheung) #38905
- [aa7c053926] - net: remove unused callback (theanarkh) #44204
- [b6b632c09c] - (SEMVER-MINOR) net: add local family (theanarkh) #43975
- [c3d87564d4] - net, dns: socket should handle its output as input (Adam Majer) #44083
- [3ba75b341b] - (SEMVER-MINOR) net,tls: pass a valid socket on tlsClientError (Daeyeon Jeong) #44021
- [0e38fba552] - perf_hooks: add resourcetiming buffer limit (Chengzhong Wu) #44220
- [b9fd240f63] - perf_hooks: fix gc elapsed time (theanarkh) #44058
- [8cf64998e2] - report: print javascript stack on fatal error (Chengzhong Wu) #44242
- [c842ab36b6] - report: skip report if uncaught exception is handled (Chengzhong Wu) #44208
- [ab73cc8706] - src: disambiguate terms used to refer to builtins and addons (Joyee Cheung) #44135
- [e9d19ac64c] - src: use imported namespaces in node_contextify.cc (Juan José) #44299
- [3dadc95cd2] - src: refactor to avoid using a moved object (Tobias Nießen) #44269
- [3765c6335b] - src: extract common context embedder tag checks (Chengzhong Wu) #44258
- [d2dce59729] - src: avoid copying BaseObjectPtrs in loop (Tobias Nießen) #44270
- [9614907104] - src: remove usage on ScriptCompiler::CompileFunctionInContext (Chengzhong Wu) #44198
- [4e1ffd932e] - src: fix --heapsnapshot-near-heap-limit error hint (Chengzhong Wu) #44216
- [960a20928f] - src: prevent copying ArrayBufferViewContents (Keyhan Vakil) #44091
- [4755ad5495] - src: remove usages of GetBackingStore in crypto (Keyhan Vakil) #44079
- [a2022e5aff] - src: remove unowned usages of GetBackingStore (Keyhan Vakil) #44080
- [8e1b7e2b8f] - src: remove usages of GetBackingStore in node-api (Keyhan Vakil) #44075
- [cddf3eda28] - src: remove usages of GetBackingStore in modules (Keyhan Vakil) #44076
- [a54e4d4170] - src: remove usages of GetBackingStore in WASI (Keyhan Vakil) #44077
- [38cdb1f9b6] - src: remove usages of GetBackingStore in startup (Keyhan Vakil) #44078
- [c4783e37d7] - src: nest namespace report in namespace node (Chengzhong Wu) #44069
- [04bcdf63a0] - src: use a typed array internally for process._exiting (Darshan Sen) #43883
- [b90b8abdd5] - src: fix bug in GetErrorSource() (Tobias Nießen) #44019
- [728e18e025] - src: fix to use replacement character (Kohei Ueno) #43999
- [cc6e0fc8ff] - src: improve SPKAC::ExportChallenge() (Tobias Nießen) #44002
- [9763e2fba9] - src: fix typo in src/README.md (Anna Henningsen) #44009
- [460397709b] - src: remove unnecessary cast in crypto_sig.cc (Tobias Nießen) #44001
- [68ee8e9089] - src: split property helpers from node::Environment (Chengzhong Wu) #44056
- [9990dc7d18] - src,buffer: remove unused chars_written parameter (Keyhan Vakil) #44092
- [ecf82186e0] - src,fs: refactor duplicated code in fs.readdir (Daeyeon Jeong) #43204
- [ee6412a992] - src,lib: print prinstine source when source map source not found (Chengzhong Wu) #44052
- [4249276783] - (SEMVER-MINOR) src,lib: print source map error source on demand (Chengzhong Wu) #43875
- [1dabdbf05c] - src,test: fix typos (SADIK KUZU) #44110
- [a3ac445198] - stream: fix isDetachedBuffer validations (Daeyeon Jeong) #44114
- [c079abe017] - stream: improve views validation on BYOBRequest (Daeyeon Jeong) #44155
- [2f904bc8bf] - stream: update TextEncoderStream to align the latest spec (Kohei Ueno) #44101
- [40b817cfb9] - (SEMVER-MINOR) test: test snapshotting TypeScript compiler (Joyee Cheung) #38905
- [d4189ab609] - (SEMVER-MINOR) test: add UMD module test with marked (Joyee Cheung) #38905
- [514e5162d2] - test: deflake test-diagnostics-channel-net (Keyhan Vakil) #44144
- [a2707d0f48] - test: add coverage for invalid RSA-PSS digests (Tobias Nießen) #44271
- [7b6126a59a] - test: update Web Streams WPT (Daeyeon Jeong) #44234
- [a02492f96c] - test: move "errors" test to "parallel" (Michaël Zasso) #44233
- [b4224dd192] - test: reduce http-server-request-timeouts-mixed flakiness (Nick Sia) #44169
- [f5e2f6c362] - test: remove cjs loader from stack traces (Geoffrey Booth) #44197
- [e37314497a] - test: add filesystem check to test-fs-stat-date.mjs (Livia Medeiros) #44174
- [9755b1f979] - test: mark connection leak test flaky on IBM i (Richard Lau) #44215
- [beaf5f5776] - test: use mustSucceed instead of mustCall with assert.ifError (MURAKAMI Masahiko) #44196
- [11f74e72a7] - test: update WPT runner (Filip Skokan) #43455
- [b2a15b6275] - test: update wpt url status (Kohei Ueno) #44175
- [6b84451d70] - test: update wasm/jsapi web platform tests (Yagiz Nizipli) #44100
- [537d52fa0f] - test: update hr-time web platform tests (Yagiz Nizipli) #44100
- [79445cb215] - test: update console web platform tests (Yagiz Nizipli) #44100
- [70267a0eeb] - test: move tests with many workers to sequential (Keyhan Vakil) #44139
- [86a7fb0c8a] - test: deflake gc-http-client tests by restricting number of requests (Nick Sia) #44146
- [e17117dfda] - test: move test-vm-break-on-sigint to sequential (Keyhan Vakil) #44140
- [e5113fab05] - test: remove test-http-client-response-timeout flaky designation (Luigi Pinca) #44145
- [f1b5f933d7] - test: s390x z15 accelerated zlib fixes (Adam Majer) #44117
- [86bbd5e61a] - test: tune down parallelism for some flaky tests (Keyhan Vakil) #44090
- [40e2ca7f66] - test: fix internet/test-inspector-help-page (Daeyeon Jeong) #44025
- [b19564b9d2] - test: refactor ESM tests to improve performance (Jacob Smith) #43784
- [d964b308ae] - test: remove test-gc-http-client-timeout from flaky list (Feng Yu) #43971
- [2cab7bb791] - test: reduce loop times for preventing test from timeout (theanarkh) #43981
- [9244d6d416] - test: fix test-cluster-concurrent-disconnect (Daeyeon Jeong) #43961
- [3c8037a9fa] - test: change misleading variable name (Tobias Nießen) #43990
- [82164344e2] - test,crypto: update WebCryptoAPI WPT (Filip Skokan) #44223
- [c0b160c842] - test_runner: fix test runner hooks failure stack (Moshe Atlow) #44284
- [8ed39397d5] - test_runner: refactor to use more primordials (Antoine du Hamel) #44062
- [d8749c3b87] - test_runner: verbous error when entire test tree is canceled (Moshe Atlow) #44060
- [0d007471fa] - test_runner: empty pending tests queue post running (Moshe Atlow) #44059
- [c3fa82f007] - test_runner: add before/after/each hooks (Moshe Atlow) #43730
- [50c854bbfe] - test_runner: fix top level describe queuing (Moshe Atlow) #43998
- [04fdc3e1fa] - test_runner: graceful termination on --test only (Moshe Atlow) #43977
- [51a0310398] - test_runner: validate concurrency option (Antoine du Hamel) #43976
- [ecf7b0720a] - tls: use logical OR operator (Mohammed Keyvanzadeh) #44236
- [f7c1b838ba] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #44320
- [36b39db74d] - tools: update ESLint to 8.22.0 (Luigi Pinca) #44243
- [87f75a27fb] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #44244
- [a3cc8ce959] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #44230
- [873941a43e] - tools: update eslint to 8.21.0 (Node.js GitHub Bot) #44162
- [6be7e6d136] - tools: update lint-md-dependencies to @rollup/[email protected] (Node.js GitHub Bot) #44160
- [b252f389d7] - tools: update undici CPE in vuln checking script (Facundo Tuesca) #44128
- [3eacf25789] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #44064
- [1175d9036a] - tools: add verbose flag to find-inactive-collaborators (Rich Trott) #43964
- [2cf3ce83d8] - trace_events: add example (theanarkh) #43253
- [2efce0fe5b] - typings: add JSDoc for internal/validators (Yagiz Nizipli) #44181
New in Node.js 16.17.0 LTS (Aug 22, 2022)
- Notable Changes:
- Experimental command-line argument parser API:
- Adds util.parseArgs helper for higher level command-line argument parsing.
- Contributed by Benjamin Coe, John Gee, Darcy Clarke, Joe Sepi, Kevin Gibbons, Aaron Casanova, Jessica Nahulan, and Jordan Harband - #42675
- Experimental ESM Loader Hooks API:
- Node.js ESM Loader hooks now support multiple custom loaders, and composition is achieved via "chaining": foo-loader calls bar-loader calls qux-loader (a custom loader must now signal a short circuit when intentionally not calling the next). See the ESM docs for details.
- Real-world use-cases are laid out for end-users with working examples in the article Custom ESM loaders: Who, what, when, where, why, how.
- Contributed by Jacob Smith, Geoffrey Booth, and Bradley Farias - #42623
- Experimental test runner:
- The node:test module, which was initially introduced in Node.js v18.0.0, is now available with all the changes done to it up to Node.js v18.7.0.
- Improved interoperability of the Web Crypto API
- To better align Node.js' experimental implementation of the Web Crypto API with other runtimes, several changes were made:
- Support for CFRG curves was added, with the 'Ed25519', 'Ed448', 'X25519', and 'X448' algorithms.
- The proprietary 'NODE-DSA', 'NODE-DH', 'NODE-SCRYPT', 'NODE-ED25519', 'NODE-ED448', 'NODE-X25519', and 'NODE-X448' algorithms were removed.
- The proprietary 'node.keyObject' import/export format was removed.
- Contributed by Filip Skokan - #42507, #43310
- Dependency updates:
- Updated Corepack to 0.12.1 - #43965
- Updated ICU to 71.1 - #42655
- Updated npm to 8.15.0 - #43917
- Updated Undici to 5.8.0 - #43886
- Other notable changes:
- [5f1e9e2030] - (SEMVER-MINOR) crypto: make authTagLength optional for CC20P1305 (Tobias Nießen) #42427
- [934077a137] - (SEMVER-MINOR) crypto: align webcrypto RSA key import/export with other implementations (Filip Skokan) #42816
- [7683e9623c] - (SEMVER-MINOR) dns: export error code constants from dns/promises (Feng Yu) #43176
- [302a134b83] - doc: deprecate coercion to integer in process.exit (Daeyeon Jeong) #43738
- [4884f18ce5] - (SEMVER-MINOR) doc: deprecate diagnostics_channel object subscribe method (Stephen Belanger) #42714
- [90f395dda9] - (SEMVER-MINOR) errors: add support for cause in aborterror (James M Snell) #41008
- [7a5de2cc0c] - (SEMVER-MINOR) events: expose CustomEvent on global with CLI flag (Daeyeon Jeong) #43885
- [087adbb7a3] - (SEMVER-MINOR) events: add CustomEvent (Daeyeon Jeong) #43514
- [979c98a3cb] - (SEMVER-MINOR) events: propagate abortsignal reason in new AbortError ctor in events (James M Snell) #41008
- [e04c8a4921] - (SEMVER-MINOR) fs: propagate abortsignal reason in new AbortSignal constructors (James M Snell) #41008
- [464830993e] - (SEMVER-MINOR) fs: make params in writing methods optional (LiviaMedeiros) #42601
- [3d7808ec3f] - (SEMVER-MINOR) fs: add read(buffer[, options]) versions (LiviaMedeiros) #42768
- [082a2630fd] - (SEMVER-MINOR) http: add drop request event for http server (theanarkh) #43806
- [5a74939770] - (SEMVER-MINOR) http: add diagnostics channel for http client (theanarkh) #43580
- [f05fd1a423] - (SEMVER-MINOR) http: add perf_hooks detail for http request and client (theanarkh) #43361
- [9d1b4b7e29] - (SEMVER-MINOR) http: add uniqueHeaders option to request and createServer (Paolo Insogna) #41397
- [fa5ac5a2eb] - (SEMVER-MINOR) http2: propagate abortsignal reason in new AbortError constructor (James M Snell) #41008
- [94070f152e] - (SEMVER-MINOR) http2: compat support for array headers (OneNail) #42901
- [36dd39dec0] - (SEMVER-MINOR) lib: propagate abortsignal reason in new AbortError constructor in blob (James M Snell) #41008
- [8adf7d5e91] - (SEMVER-MINOR) lib: add abortSignal.throwIfAborted() (James M Snell) #40951
- [3c1ed86840] - (SEMVER-MINOR) lib: improved diagnostics_channel subscribe/unsubscribe (Stephen Belanger) #42714
- [e6186af5cc] - (SEMVER-MINOR) module: add isBuiltIn method (hemanth.hm) #43396
- [3d851d6d6b] - (SEMVER-MINOR) module,repl: support 'node:'-only core modules (Colin Ihrig) #42325
- [303bd08d88] - (SEMVER-MINOR) net: add drop event for net server (theanarkh) #43582
- [da03e9f484] - (SEMVER-MINOR) net: add ability to reset a tcp socket (pupilTong) #43112
- [73f852e1e3] - (SEMVER-MINOR) node-api: emit uncaught-exception on unhandled tsfn callbacks (Chengzhong Wu) #36510
- [6dcdcd7f50] - (SEMVER-MINOR) perf_hooks: add PerformanceResourceTiming (RafaelGSS) #42725
- [5750358872] - (SEMVER-MINOR) report: add more heap infos in process report (theanarkh) #43116
- [e7b99e8c8d] - (SEMVER-MINOR) src: add --openssl-legacy-provider option (Daniel Bevenius) #40478
- [1281a48b89] - (SEMVER-MINOR) src: define fs.constants.S_IWUSR & S_IRUSR for Win (Liviu Ionescu) #42757
- [9ea9797d34] - (SEMVER-MINOR) src,doc,test: add --openssl-shared-config option (Daniel Bevenius) #43124
- [046debaee0] - (SEMVER-MINOR) stream: use cause options in AbortError constructors (James M Snell) #41008
- [6641fda10a] - (SEMVER-MINOR) stream: add iterator helper find (Nitzan Uziely) #41849
- [edec73032c] - (SEMVER-MINOR) stream: add writableAborted (Robert Nagy) #40802
- [2aae868fa2] - (SEMVER-MINOR) timers: propagate signal.reason in awaitable timers (James M Snell) #41008
- [513f52445b] - (SEMVER-MINOR) v8: add v8.startupSnapshot utils (Joyee Cheung) #43329
- [a8eca74450] - (SEMVER-MINOR) v8: export more fields in getHeapStatistics (theanarkh) #42784
- [845279e331] - (SEMVER-MINOR) worker: add hasRef() to MessagePort (Darshan Sen) #42849
- Commits:
- Semver-minor commits:
- [58279d5b76] - (SEMVER-MINOR) buffer: graduate Blob from experimental (James M Snell) #41270
- [72a0c5c743] - (SEMVER-MINOR) crypto: remove Node.js-specific webcrypto extensions (Filip Skokan) #43310
- [2e3a69a2ba] - (SEMVER-MINOR) crypto: add CFRG curves to Web Crypto API (Filip Skokan) #42507
- [5f1e9e2030] - (SEMVER-MINOR) crypto: make authTagLength optional for CC20P1305 (Tobias Nießen) #42427
- [934077a137] - (SEMVER-MINOR) crypto: align webcrypto RSA key import/export with other implementations (Filip Skokan) #42816
- [7683e9623c] - (SEMVER-MINOR) dns: export error code constants from dns/promises (Feng Yu) #43176
- [4884f18ce5] - (SEMVER-MINOR) doc: deprecate diagnostics_channel object subscribe method (Stephen Belanger) #42714
- [90f395dda9] - (SEMVER-MINOR) errors: add support for cause in aborterror (James M Snell) #41008
- [247a6f6e85] - (SEMVER-MINOR) esm: add chaining to loaders (Jacob Smith) #42623
- [7a5de2cc0c] - (SEMVER-MINOR) events: expose CustomEvent on global with CLI flag (Daeyeon Jeong) #43885
- [087adbb7a3] - (SEMVER-MINOR) events: add CustomEvent (Daeyeon Jeong) #43514
- [979c98a3cb] - (SEMVER-MINOR) events: propagate abortsignal reason in new AbortError ctor in events (James M Snell) #41008
- [e04c8a4921] - (SEMVER-MINOR) fs: propagate abortsignal reason in new AbortSignal constructors (James M Snell) #41008
- [464830993e] - (SEMVER-MINOR) fs: make params in writing methods optional (LiviaMedeiros) #42601
- [3d7808ec3f] - (SEMVER-MINOR) fs: add read(buffer[, options]) versions (LiviaMedeiros) #42768
- [082a2630fd] - (SEMVER-MINOR) http: add drop request event for http server (theanarkh) #43806
- [5a74939770] - (SEMVER-MINOR) http: add diagnostics channel for http client (theanarkh) #43580
- [f05fd1a423] - (SEMVER-MINOR) http: add perf_hooks detail for http request and client (theanarkh) #43361
- [9d1b4b7e29] - (SEMVER-MINOR) http: add uniqueHeaders option to request and createServer (Paolo Insogna) #41397
- [fa5ac5a2eb] - (SEMVER-MINOR) http2: propagate abortsignal reason in new AbortError constructor (James M Snell) #41008
- [94070f152e] - (SEMVER-MINOR) http2: compat support for array headers (OneNail) #42901
- [36dd39dec0] - (SEMVER-MINOR) lib: propagate abortsignal reason in new AbortError constructor in blob (James M Snell) #41008
- [8adf7d5e91] - (SEMVER-MINOR) lib: add abortSignal.throwIfAborted() (James M Snell) #40951
- [3c1ed86840] - (SEMVER-MINOR) lib: improved diagnostics_channel subscribe/unsubscribe (Stephen Belanger) #42714
- [e6186af5cc] - (SEMVER-MINOR) module: add isBuiltIn method (hemanth.hm) #43396
- [3d851d6d6b] - (SEMVER-MINOR) module,repl: support 'node:'-only core modules (Colin Ihrig) #42325
- [303bd08d88] - (SEMVER-MINOR) net: add drop event for net server (theanarkh) #43582
- [da03e9f484] - (SEMVER-MINOR) net: add ability to reset a tcp socket (pupilTong) #43112
- [73f852e1e3] - (SEMVER-MINOR) node-api: emit uncaught-exception on unhandled tsfn callbacks (Chengzhong Wu) #36510
- [6dcdcd7f50] - (SEMVER-MINOR) perf_hooks: add PerformanceResourceTiming (RafaelGSS) #42725
- [5750358872] - (SEMVER-MINOR) report: add more heap infos in process report (theanarkh) #43116
- [e7b99e8c8d] - (SEMVER-MINOR) src: add --openssl-legacy-provider option (Daniel Bevenius) #40478
- [1281a48b89] - (SEMVER-MINOR) src: define fs.constants.S_IWUSR & S_IRUSR for Win (Liviu Ionescu) #42757
- [9ea9797d34] - (SEMVER-MINOR) src,doc,test: add --openssl-shared-config option (Daniel Bevenius) #43124
- [046debaee0] - (SEMVER-MINOR) stream: use cause options in AbortError constructors (James M Snell) #41008
- [6641fda10a] - (SEMVER-MINOR) stream: add iterator helper find (Nitzan Uziely) #41849
- [edec73032c] - (SEMVER-MINOR) stream: add writableAborted (Robert Nagy) #40802
- [9a530832cb] - (SEMVER-MINOR) test: add initial test module (Colin Ihrig) #42325
- [61a2ddc597] - (SEMVER-MINOR) test_runner: expose describe and it (Moshe Atlow) #43420
- [cd6f24be4c] - (SEMVER-MINOR) test_runner: add initial CLI runner (Colin Ihrig) #42658
- [a4b277cb4d] - (SEMVER-MINOR) test_runner: support 'only' tests (Colin Ihrig) #42514
- [2aae868fa2] - (SEMVER-MINOR) timers: propagate signal.reason in awaitable timers (James M Snell) #41008
- [432e3054be] - (SEMVER-MINOR) util: add tokens to parseArgs (John Gee) #43459
- [a1e122be62] - (SEMVER-MINOR) util: add parseArgs module (Benjamin Coe) #42675
- [513f52445b] - (SEMVER-MINOR) v8: add v8.startupSnapshot utils (Joyee Cheung) #43329
- [a8eca74450] - (SEMVER-MINOR) v8: export more fields in getHeapStatistics (theanarkh) #42784
- [845279e331] - (SEMVER-MINOR) worker: add hasRef() to MessagePort (Darshan Sen) #42849
- Semver-patch commits:
- [480a754ddc] - assert: callTracker throw a specific error message when possible (Moshe Atlow) #43640
- [ebb334b124] - assert: fix CallTracker wraps the function causes the length to be lost (OneNail) #42909
- [7f8f83d4d0] - assert: make assert.fail less affected by prototype tampering (Antoine du Hamel) #42918
- [a6a46f9578] - async_hooks: use kEmptyObject (LiviaMedeiros) #43159
- [84075821be] - async_hooks: remove destroyed symbol on Promises (Gerhard Stöbich) #42402
- [b69396a41a] - async_hooks: avoid decrementing iterator after erase (Gabriel Bota) #42749
- [6b7c6192ff] - bootstrap: move global initialization to js (Alena Khineika) #43625
- [4fbe24588a] - bootstrap: use the isolate snapshot in workers (Joyee Cheung) #42702
- [3a83e5cfd9] - bootstrap: move embedded snapshot to SnapshotBuilder (Joyee Cheung) #42702
- [b4201ace9b] - bootstrap: reset process._exit and process.exitCode in pre-execution (Joyee Cheung) #42466
- [f8f7c1e5bd] - bootstrap: run inspector and event loop in snapshot builder (Joyee Cheung) #42466
- [2d79480fcb] - bootstrap: make I/O streams work with user-land snapshot (Joyee Cheung) #42466
- [1b2946b1a4] - bootstrap: refresh options in pre-execution (Joyee Cheung) #42466
- [ca57563522] - bootstrap: use SnapshotData to pass snapshot data around (Joyee Cheung) #42360
- [60d032b89c] - buffer: do not leak memory if buffer is too big (Keyhan Vakil) #43938
- [5ddd367bec] - buffer: improve Blob constructor error message when passing a string (Xuguang Mei) #42338
- [691e5d8bf3] - buffer: fix atob input validation (Antoine du Hamel) #42539
- [a948fb8b56] - build: add .gitattributes for npm and other shims (Hrishikesh Kadam) #43879
- [623dd2a70b] - build: remove precompiled header and debug information for host builds (Niyas Sait) #42538
- [129b05e0c5] - build: fix various shared library build issues (William Marlow) #41850
- [fba6e96326] - build: fix indeterminacy of icu_locales value (Sergey Nazaryev) #42865
- [74bce1c448] - build: improve reliability of find_python.cmd script (Luigi Pinca) #42810
- [637af6c068] - build: windows/arm64 native compilation support (Niyas Sait) #42408
- [fe661fadad] - build: add --node-snapshot-main configure option (Joyee Cheung) #42466
- [daadd58baa] - build,test: increase stack size limit on Windows (Tobias Nießen) #43632
- [1e1634ae99] - child_process: do not need to count length when maxBuffer is Infinity (theanarkh) #43822
- [2b6e98b6b2] - child_process: improve ipc write performance (rubikscraft) #42931
- [7aac430b3f] - child_process: speed up 'advanced' ipc receiving (rubikscraft) #42931
- [6844930290] - child_process: use kEmptyObject (LiviaMedeiros) #43159
- [72400b7a7b] - child_process: add env contents types in JSDoc (Rich Trott) #42494
- [fe57e5685d] - cluster: send connection to other server when worker drop it (theanarkh) #43747
- [61b5d4a999] - cluster: fix closing dgram sockets in cluster workers throws errors (Ouyang Yadong) #43709
- [97f4cc7766] - cluster: fix fd leak (theanarkh) #43650
- [1cb19ec96a] - cluster: use kEmptyObject (LiviaMedeiros) #43159
- [c8706f3a7f] - cluster, net: fix listen pipe with readable and writable in cluster (theanarkh) #43634
- [35fc1c205e] - console: fix console.dir crash on a revoked proxy (Daeyeon Jeong) #43100
- [3449472f3d] - crypto: remove unneeded guard (Rich Trott) #43856
- [a3a845b8ba] - crypto: don't disable TLS 1.3 without suites (Adam Majer) #43427
- [588a84e11d] - crypto: handle webcrypto generateKey() usages edge case (Filip Skokan) #43454
- [224d3f40dc] - crypto: update Wrapping and unwrapping keys webcrypto example (Filip Skokan) #43452
- [8dca8d7805] - crypto: fix webcrypto generateKey() with empty usages (Filip Skokan) #43431
- [bef600e787] - crypto: fix webcrypto digest() invalid algorithm (Filip Skokan) #43431
- [077ad7e90d] - crypto: fix webcrypto RSA generateKey() use of publicExponent (Filip Skokan) #43431
- [04572ec914] - crypto: fix webcrypto AES-KW keys accepting encrypt/decrypt usages (Filip Skokan) #43431
- [52ea86908d] - crypto: fix webcrypto deriveBits for non-byte lengths (Filip Skokan) #43431
- [97b2fef24a] - crypto: fix webcrypto import of cfrg raw public keys (Filip Skokan) #43404
- [a57149d14e] - crypto: fix webcrypto JWK EC and OKP import crv check (Filip Skokan) #43346
- [1cb267261c] - crypto: test webcrypto ec raw public key import (Filip Skokan) #43405
- [02cf57b8d6] - crypto: use kEmptyObject (LiviaMedeiros) #43159
- [4600892a45] - crypto: adjust minimum length in generateKey('hmac', ...) (LiviaMedeiros) #42944
- [baaf77898b] - crypto: clean up parameter validation in HKDF (Tobias Nießen) #42924
- [3f43dadeda] - crypto: validate this in all webcrypto methods and getters (Filip Skokan) #42815
- [297e374565] - crypto: do not add undefined hash in webcrypto normalizeAlgorithm (Filip Skokan) #42559
- [c764e81a69] - crypto: cleanup webcrypto jwk code (Filip Skokan) #42562
- [c605ad1343] - crypto: fix webcrypto derive key lengths (Filip Skokan) #42542
- [0b1b616a9c] - crypto: improve prime size argument validation (Tobias Nießen) #42234
- [f1c12aa6df] - debugger: throw a more useful error when the frame is missing (Kohei Ueno) #42776
- [f75a5a92ec] - debugger: fix inconsistent inspector output of exec new Map() (Kohei Ueno) #42423
- [e3d8893265] - deps: V8: backport 22698d267667 (Chengzhong Wu) #43751
- [06a6bdaf7a] - deps: update corepack to 0.12.1 (Node.js GitHub Bot) #43965
- [c7be356dd7] - deps: update hast-util-raw (Moshe Atlow) #43927
- [62c27d0d84] - deps: update undici to 5.8.0 (Node.js GitHub Bot) #43886
- [92051cb4a1] - deps: cherry-pick libuv/libuv@3a7b955 (Ben Noordhuis) #43950
- [8835898e43] - deps: cherry-pick libuv/libuv@abb109f (Ben Noordhuis) #43950
- [1566854218] - deps: upgrade npm to 8.15.0 (npm team) #43917
- [e6baa8a113] - deps: upgrade npm to 8.14.0 (npm team) #43826
- [aa137caac3] - deps: update corepack to 0.12.0 (Node.js GitHub Bot) #43748
- [04188e54f5] - deps: update undici to 5.7.0 (Node.js GitHub Bot) #43790
- [09f9060f7d] - deps: upgrade npm to 8.13.2 (npm team) #43622
- [1343615224] - deps: upgrade npm to 8.13.1 (npm team) #43552
- [49080bc42f] - deps: patch V8 to 9.4.146.26 (Michaël Zasso) #43778
- [705a8afd81] - deps: update Corepack to 0.11.2 (Maël Nison) #43402
- [552e91121b] - deps: update undici to 5.5.1 (Node.js GitHub Bot) #43412
- [0ff00945d5] - deps: update undici to 5.4.0 (Node.js GitHub Bot) #43262
- [170bec811b] - deps: update undici to 5.3.0 (Node.js GitHub Bot) #43197
- [b97075dfec] - deps: update undici to 5.2.0 (Node.js GitHub Bot) #43059
- [4d4e00a6b0] - deps: update undici to 5.1.1 (Michaël Zasso) #42939
- [cba4f6c8a0] - deps: update Acorn to v8.7.0 (Michaël Zasso) #42667
- [a5507fd409] - deps: update ICU to 71.1 (Michaël Zasso) #42655
- [cbb253e61e] - deps: upgrade npm to 8.12.1 (npm team) #43301
- [01e7d1f349] - deps: cherry-pick 4ab70f6 from V8 upstream (Khaidi Chu) #43328
- [fea892a168] - dns: fix getServers return undefined (jiahao.si) #43922
- [43a3239d85] - dns: fix cares memory leak (theanarkh) #43912
- [8d2a256bf4] - dns: make promise API fully constructed from lib/internal/dns/promises (Feng Yu) #43227
- [71f7b00fca] - domain: fix vm promise tracking while keeping isolation (Stephen Belanger) #43556
- [9f75f26ad9] - errors: extract type detection & use in ERR_INVALID_RETURN_VALUE (Jacob Smith) #43558
- [f5115b4abc] - errors,console: refactor to use ES2021 syntax (小菜) #42872
- [85ba4e069d] - errors,vm: update error and use cause (Gus Caplan) #42820
- [ae157d9098] - esm: fix loader hooks accepting too many arguments (Jacob Smith) #44109
- [3139c110dc] - esm: remove superfluous argument (Rich Trott) #43884
- [63228efe08] - esm: throw on any non-2xx response (LiviaMedeiros) #43742
- [a6d4d31da5] - esm: fix erroneous re-initialization of ESMLoader (Jacob Smith) #43763
- [953e663e58] - esm: treat 307 and 308 as redirects in HTTPS imports (Kid) #43689
- [33a2902a33] - esm: restore next's context as optional arg (Jacob Smith) #43553
- [df3f5cb93e] - esm: fix chain advances when loader calls next multiple times (Jacob Smith) #43303
- [eac4e20525] - esm: refactor responseURL handling (Guy Bedford) #43164
- [e114ed0cda] - esm: fix http(s) import via custom loader (Jacob Smith) #43130
- [6564e69c78] - esm: fix imports from non-file module (Antoine du Hamel) #42881
- [e1bc88764d] - esm: graduate top-level-await to stable (Antoine du Hamel) #42875
- [14a929b0b0] - esm: emit experimental warnings in common place (Jacob Smith) #42314
- [0167988ce3] - events: improve Event compatibility (Daeyeon Jeong) #43461
- [e51c0e9939] - events: improve EventListener validation (Daeyeon Jeong) #43491
- [393c021d7f] - events: fix adding abort listener in events.once (Daeyeon Jeong) #43373
- [a7eaf3981d] - events: use kEmptyObject (LiviaMedeiros) #43159
- [fcf74c53d8] - fs: refactor realpath with Map and Set (LiviaMedeiros) #43569
- [bfb8a0bfac] - fs: don't end fs promises on Isolate termination (Santiago Gimeno) #42910
- [ca4157ea40] - fs: use kEmptyObject (LiviaMedeiros) #43159
- [835056cbcb] - fs: remove unnecessary ?? operator (Morgan Roderick) #43073
- [8b89c7fbab] - fs: export constants from fs/promises (Feng Yu) #43177
- [b0d9915bc6] - fs: add trailing commas (LiviaMedeiros) #43127
- [637820d1e3] - fs: fix write methods param validation and docs (LiviaMedeiros) #41677
- [5d8b2cb51d] - fs: fix mkdirSync so ENOSPC is correctly reported (Santiago Gimeno) #42811
- [58eebaf717] - http: defer reentrant execution of Parser::Execute (Paolo Insogna) #43369
- [ea3ca874da] - http: fix http agent keep alive (theanarkh) #43380
- [85d93f0bf6] - http: use kEmptyObject (LiviaMedeiros) #43159
- [1bfff396ac] - http: document that ClientRequest inherits from OutgoingMessage (K.C.Ashish Kumar) #42642
- [db53e9b387] - http2: log debug only when in debug mode (Basit) #43626
- [95083cb0ad] - http2: use kEmptyObject (LiviaMedeiros) #43159
- [367454205d] - http2: set origin name correctly when servername is empty (ofirbarak) #42838
- [c73f739acd] - http2: improve tests and docs (Daeyeon Jeong) #42858
- [4fbedffb55] - https: use kEmptyObject (LiviaMedeiros) #43159
- [5879642260] - inspector: set sampling interval before start (Shelley Vohr) #43779
- [096f7fc59a] - inspector: add missing initialization (Michael Dawson) #43254
- [a8c24185f8] - lib: refactor to avoid unsafe regex primordials (Antoine du Hamel) #43475
- [2a5d5e0726] - lib: modify DOMException to pass WPT (Khaidi Chu) #41517
- [26d63f004f] - lib: implement safe alternatives to Promise static methods (Antoine du Hamel) #43728
- [aab5adbcbe] - lib: use null-prototype objects for property descriptors (Antoine du Hamel) #43473
- [a97d0ba3af] - lib: fix TODO in freeze_intrinsics (Antoine du Hamel) #43472
- [519cdd94c0] - lib: use kEmptyObject in various places (LiviaMedeiros) #43159
- [7d5e7b43f6] - lib: give names to promisified methods (LiviaMedeiros) #43218
- [cd55e221b5] - lib: use null-prototype objects for property descriptors (Antoine du Hamel) #43270
- [9e613f7f3d] - lib: prepare files for no-var lint rule (Rich Trott) #42573
- [327da6acde] - lib: source maps filter null prefix (Fabian Cook) #42522
- [58f80b0dcc] - lib: improve the coverage of the validator (mawaregetsuka) #42443
- [e48ccf5934] - lib: update JSDoc for linting (Rich Trott) #42489
- [abc134cacc] - lib,src: add source map support for global eval (Chengzhong Wu) #43428
- [288d9fbe5a] - loader: make require.resolve throw for unknown builtin modules (木杉) #43336
- [7c4e1ad1ed] - module: also enable subpath imports in REPL (Ray) #43450
- [c284eb3745] - module: ensure 'node:'-only modules can access node_modules (Colin Ihrig) #42430
- [70a4033841] - module: cjs-module-lexer WebAssembly fallback (Guy Bedford) #43612
- [abda05a3a7] - module: prefer async/await in https imports (Benjamin Gruenbaum) #41950
- [f66872e36c] - net: fix socket._getpeername (Daeyeon Jeong) #43010
- [b2d02bc2c0] - net: remove redundant connecting assignment (Ouyang Yadong) #43710
- [ff5310a9c7] - net: fix net keepalive and noDelay (theanarkh) #43561
- [265810a1e5] - net: prevent /32 ipv4 mask from matching all ips (supriyo-biswas) #43381
- [e4a5bd1cf8] - net: fix net.Server keepalive and noDelay (theanarkh) #43497
- [d766cfaca9] - net,dns: move hasObserver out of perf function (theanarkh) #43217
- [b240868960] - net,dns: trace tcp connection and dns by perf_hooks (theanarkh) #42390
- [112bce394d] - node-api: explicitly set __cdecl for API functions (Vladimir Morozov) #42780
- [49103e3240] - node-api: fix napi_get_all_property_names (Vladimir Morozov) #42463
- [5a1e1b3f33] - node-api: format Node-API related code (Vladimir Morozov) #42396
- [31ee218eff] - node-api,src: fix module registration in MSVC C++ (Vladimir Morozov) #42459
- [e7899ba1f7] - os: avoid unnecessary usage of var (Mohammed Keyvanzadeh) #42563
- [463f9a6c4f] - perf_hooks: add initiatorType getter (Rafael Gonzaga) #43593
- [096a2d9434] - perf_hooks: fix miscounted gc performance entry starttime (#43066) (Xuguang Mei) #43066
- [f08a282098] - perf_hooks: use kEmptyObject (LiviaMedeiros) #43159
- [8b0ae63316] - perf_hooks: fix start_time of perf_hooks (theanarkh) #43069
- [7a5972fe9e] - perf_hooks: fix function wrapped by timerify to work correctly (Kohei Ueno) #43330
- [5ab3da3f26] - perf_hooks: return different functions in timerify (Himself65) #42854
- [15da462cea] - process: use defineProperty instead of assignment (Mark S. Miller) #43907
- [67e91aa20f] - readline: fix to not access a property on an undefined value (Kohei Ueno) #43543
- [37066f0319] - readline: use kEmptyObject (LiviaMedeiros) #43159
- [d260569b85] - repl: fix overzealous top-level await (Tobias Nießen) #43827
- [0bd4a04c42] - repl: use SafePromiseAll and SafePromiseRace (Antoine du Hamel) #43758
- [bef9a36024] - repl: make autocomplete case-insensitive (Sergey Petushkov) #41632
- [0dc96e4474] - src: pass only Isolate* and env_vars to EnabledDebugList::Parse() (Darshan Sen) #43668
- [be3343aed3] - src: use named struct instead of typedef (Tobias Nießen) #43881
- [eaa611c53a] - src: use named enum instead of typedef (Tobias Nießen) #43880
- [3a32f0ecb2] - src: fix node watchdog race condition (theanarkh) #43780
- [67ecd274b7] - src: fix napi_check_object_type_tag() (Daeyeon Jeong) #43788
- [364b67cf7e] - src: slim down env-inl.h (Ben Noordhuis) #43745
- [ccac1fc2e7] - src: improve and update ByteSource description (Tobias Nießen) #43478
- [a1f1ff197e] - src: merge RunInThisContext() with RunInContext() (Daeyeon Jeong) #43225
- [3e21ae8733] - src: fix crash on FSReqPromise destructor (Santiago Gimeno) #43533
- [b9649a4959] - src: delegate NodeArrayBufferAllocator to v8's allocator (Jeremy Rose) #43594
- [26e4dc83a8] - src: remove a stale comment in async_hooks (Daeyeon Jeong) #43317
- [733739dd3f] - src: remove CopyBuffer (Tobias Nießen) #43463
- [bf553fd26a] - src: register StreamBase while registering LibuvStreamWrap (Darshan Sen) #43321
- [f18867b2c0] - src: fix static analysis warning and use smart ptr (Tobias Nießen) #43117
- [094d5fc31a] - src: fix json utils escapes for U+000B (Chengzhong Wu) #43206
- [c82d992b77] - src: convey potential exceptions during StreamPipe construction (Darshan Sen) #43240
- [07b7f8375e] - src: make SecureContext fields private (Tobias Nießen) #43173
- [eb2c504542] - src: reuse GetServerName (Tobias Nießen) #43168
- [7bdd31929c] - src: remove SecureContext::operator* (Tobias Nießen) #43121
- [438c4723f6] - src: replace TraceEventScope with sync events (Chengzhong Wu) #42977
- [32446d8c8a] - src: delete AllocatedBuffer (Darshan Sen) #43008
- [4cfcb6f883] - src: remove unnecessary comment (Kohei Ueno) #42952
- [6adbb062e6] - src: fix memory leak for v8.serialize (liuxingbaoyu) #42695
- [e769a0f19b] - src: use node: prefix in example (Antoine du Hamel) #42794
- [b19018468c] - src: large page attributing an id on Linux (David CARLIER) #42644
- [a26fd031bf] - src: fix coverity report (Michael Dawson) #42663
- [8687ba8732] - src: fix alphabetically sorted binding list (Tobias Nießen) #42687
- [4e1378b2d6] - src: fix typo in InspectorIoDelegate constructor (Kohei Ueno) #42520
- [1dc912ebdc] - src: remove unnecessary static qualifier in crypto_dh.cc (Darshan Sen) #42492
- [a280f88266] - src: address 3 useless call coverity warnings (Michael Dawson) #42426
- [5195ea3cd2] - src: properly report exceptions from AddressToJS() (Darshan Sen) #42054
- [a8553151ee] - src: suppress false coverity warning (Michael Dawson) #42284
- [1e8611f048] - src: refactor IsSupportedAuthenticatedMode (Tobias Nießen) #42368
- [7778ebecaa] - src: turn SSL_CTX_new CHECK/segfault into JS exception (Anna Henningsen) #42799
- [4ffc08861a] - src: add proper mutexes for accessing FIPS state (Anna Henningsen) #42278
- [6353a4dc8a] - src,bootstrap: remove NodeMainInstance::registry_ (Darshan Sen) #43392
- [1a98f166bf] - src,crypto: remove uses of AllocatedBuffer from crypto_rsa.cc (Darshan Sen) #42852
- [c336ffc059] - src,crypto: remove uses of AllocatedBuffer from crypto_ec.cc (Darshan Sen) #42766
- [1669b94cd6] - src,crypto: remove uses of AllocatedBuffer from crypto_tls.cc (Darshan Sen) #42589
- [6d98a51970] - src,crypto: handle empty maybe correctly in crypto_dh.cc (Darshan Sen) #42492
- [5a2e277f93] - src,crypto: remove uses of AllocatedBuffer from crypto_dh.cc (Darshan Sen) #42492
- [4a6649cb28] - src,stream: change return type to Maybe (Daeyeon Jeong) #43575
- [99a3b19974] - stream: fix 0 transform hwm backpressure (Robert Nagy) #43685
- [c4dc8b6297] - stream: add more filter tests (Benjamin Gruenbaum) #41936
- [4b17a94b67] - stream: port more test262 tests (Benjamin Gruenbaum) #41974
- [3bc12c69a4] - stream: avoid usage of deprecated APIs (Mohammed Keyvanzadeh) #41871
- [4ad5a28b54] - stream: refactor to use more validators (Mohammed Keyvanzadeh) #41871
- [545b2cd4c2] - stream: use standard for loop instead of for..of (Mohammed Keyvanzadeh) #41871
- [3ef9f8da30] - stream: initial port of test262 tests (Benjamin Gruenbaum) #41775
- [f793ed550a] - stream: use synchronous error validation & validate abort signal option (iMoses) #41777
- [31cee4f914] - stream: never flatten on toArray (Benjamin Gruenbaum) #41615
- [d63c4c68a0] - stream: use kEmptyObject (LiviaMedeiros) #43159
- [6f9c62206b] - test_runner: add support for boolean values for concurrency option (Lenvin Gonsalves) #43887
- [e33f6bd384] - test_runner: validate timeout option (Antoine du Hamel) #43843
- [a167daa311] - test_runner: pass signal on timeout (Moshe Atlow) #43911
- [b1db85023e] - test_runner: do not report an error when tests are passing (Antoine du Hamel) #43919
- [f193ac6cd5] - test_runner: recieve and pass AbortSignal (Moshe Atlow) #43554
- [f8f1d16097] - test_runner: fix it concurrency (Moshe Atlow) #43757
- [e9ca1efe67] - test_runner: support timeout for tests (Moshe Atlow) #43505
- [5dca44d5eb] - test_runner: catch errors thrown within describe (Moshe Atlow) #43729
- [0bdc141dd0] - test_runner: protect internals against prototype tampering (Antoine du Hamel) #43578
- [4d4dcade90] - test_runner: cancel on termination (Moshe Atlow) #43549
- [dccbd9ee95] - test_runner: wait for stderr and stdout to complete (Moshe Atlow) #43666
- [27841bee3d] - test_runner: use kEmptyObject (LiviaMedeiros) #43159
- [1a4235961e] - test_runner: add Subtest to tap protocol output (Moshe Atlow) #43417
- [3fbc5e441c] - timers: use kEmptyObject (LiviaMedeiros) #43159
- [444d77391c] - tls: use kEmptyObject (LiviaMedeiros) #43159
- [ba3cf5d59e] - tls: fix performance regression in convertALPNProtocols() (LiviaMedeiros) #43250
- [4a3a8a6164] - tls: fix convertALPNProtocols accepting ArrayBufferViews (LiviaMedeiros) #43211
- [a6710f50c4] - trace_events: trace net connect event (theanarkh) #43903
- [8cda4156a5] - url: update WHATWG URL parser to align with latest spec (Feng Yu) #43190
- [69f9a3a78e] - url,lib: pass urlsearchparams-constructor.any.js (Khaidi Chu) #41197
- [24cabbf32f] - util: remove unicode support todo for perf implications (Rhys) #43762
- [0f9d5ac0b0] - util: refactor to use validateObject (Kohei Ueno) #43769
- [5edfccfc4c] - util: add AggregateError.prototype.errors to inspect output (LiviaMedeiros) #43646
- [fa89a617bc] - util: remove unnecessary template string (Ruben Bridgewater) #41082
- [fa74d45e09] - util: mark cwd grey while inspecting errors (Ruben Bridgewater) #41082
- [053368c3d0] - util: avoid inline access to Symbol.iterator (Kohei Ueno) #43683
- [3959dffc7d] - util: fix TypeError of symbol in template literals (cola119) #42790
- [053347ca55] - util: freeze kEnumerableProperty (LiviaMedeiros) #43390
- [2cdae4332d] - util: add kEmptyObject to internal/util (LiviaMedeiros) #43159
- [49cbed6ced] - v8: serialize BigInt64Array and BigUint64Array (Ben Noordhuis) #43571
- [ca8da5f3f8] - vm: use kEmptyObject (LiviaMedeiros) #43159
- [3ccf5acd23] - wasi: use WasmMemoryObject handle for perf (#43544) (snek) #43544
- [4ff19daf54] - wasi: use kEmptyObject (LiviaMedeiros) #43159
- [bbbc54f8d4] - wasi: remove unecessary null check (Michael Dawson) #42819
- [51633a23c7] - worker: use kEmptyObject (LiviaMedeiros) #43159
- [c4caf20ec3] - worker: fix heap snapshot crash on exit (Chengzhong Wu) #43123
- [c583508324] - worker: fix stream racing with terminate (Keyhan Vakil) #42874
- [293bab7684] - worker: add hasRef() to the handle object (Darshan Sen) #42756
- Documentation commits:
- [1bd581678c] - doc: update email and mailmap for BethGriggs (Beth Griggs) #43985
- [c37f90415b] - doc: inspector.close undefined in worker threads (Keyhan Vakil) #43867
- [bd0e463d27] - doc: improve documentation for safe Promise statics alternatives (Antoine du Hamel) #43759
- [3022958abd] - doc: recommend git-node-v8 (Keyhan Vakil) #43934
- [d528c55c13] - doc: clarify subprocess.stdout/in/err property (Kohei Ueno) #43910
- [067d69f051] - doc: fix typo in src/crypto/README.md (Jianru Lin) #43968
- [3c85e0c88b] - doc: remind backporter about v8_embedder_string (Keyhan Vakil) #43924
- [86fb313fe8] - doc: fix typo in http.md (Airing) #43933
- [37cf3b9551] - doc: add F3n67u to collaborators (Feng Yu) #43953
- [da6041c89f] - doc: mention Win 32-bit openssl build issue (RafaelGSS) #43853
- [c6e2eaec2b] - doc: add security release specifics to releases.md (Beth Griggs) #43835
- [7a44613819] - doc: add history info for global.performance (Antoine du Hamel) #43841
- [1685332371] - doc: add platform-windows-arm to who to CC (Michael Dawson) #43808
- [fcfb2c95c1] - doc: document ES2022's Error "cause" property (James Ide) #43830
- [a0d055e945] - doc: add link to diagnostic tools (Rafael Gonzaga) #43736
- [8c4cf710a5] - doc: update links to MDN page about dynamic imports (Jannis R) #43847
- [302a134b83] - doc: deprecate coercion to integer in process.exit (Daeyeon Jeong) #43738
- [2a410975c6] - doc: add MoLow to triagers (Moshe Atlow) #43799
- [44291afca4] - doc: revert anachronistic 'node:' module require()s in API history notes (DeeDeeG) #43768
- [97bda1fa57] - doc: clarify release process for new releasers (Rafael Gonzaga) #43739
- [f7b8340efe] - doc: fix typo in ngtcp2 readme (Dan Castillo) #43767
- [c6bdb5cb22] - doc: fix typo in errors.md (Kazuma Ohashi) #43677
- [20fa30c871] - doc: add new useful V8 option (JialuZhang-intel) #42575
- [2b498fe7f5] - doc: fix typo in util.parseArgs usage example (Michael Ficarra) #43332
- [3244217e9a] - doc: improve test runner timeout docs (Tobias Nießen) #43836
- [65699a2132] - doc: add code examples to node test runner (Wassim Chegham) #43359
- [c7c769fe67] - doc: include last security release date (Rafael Gonzaga) #43774
- [3cda9686bd] - doc: remove node-report from support tiers (RafaelGSS) #43737
- [ae70ada8cb] - doc: update changelog-maker to the new flags (RafaelGSS) #43696
- [f42d674225] - doc: remove extra 'in's (Colin Ihrig) #43705
- [cfb236e6ba] - doc: add Geoffrey Booth to TSC (Rich Trott) #43706
- [c941798e88] - doc: improve readability of dns.md (0xSanyam) #43694
- [a8980b2468] - doc: add note regarding special case of 0 stat.size (Douglas Wilson) #43690
- [26cd4e2ae6] - doc: fix default of duplex.allowHalfOpen (Vincent Weevers) #43665
- [a8d1670ffa] - doc: improve description of --input-type (cola119) #43507
- [50a1b26605] - doc: add daeyeon to triagers (Daeyeon Jeong) #43637
- [ee10320c9e] - doc: remove appmetrics from tierlist (Tony Gorez) #43608
- [352628244b] - doc: remove systemtap from tierlist (Tony Gorez) #43605
- [407beb2bc6] - doc: add single executable application initiative (Michael Dawson) #43611
- [e5a7b0ff7c] - doc: remove windows xperf from tierlist (Tony Gorez) #43607
- [d514ee763f] - doc: remove lttng from tierlist (Tony Gorez) #43604
- [8f475e6d00] - doc: remove dtrace from tierlist (Tony Gorez) #43606
- [31f45288f5] - doc: promote 0x to tier 4 (Tony Gorez) #43609
- [78bedcd158] - doc: include CVSS mention (Rafael Gonzaga) #43602
- [c1ea44db51] - doc: fix icu-small example (Michael Dawson) #43591
- [a649d0175d] - doc: add backport-open-vN.x step to backporting guide (LiviaMedeiros) #43590
- [267e493448] - doc: move MylesBorins to TSC Emeritus (Myles Borins) #43524
- [444c1a6dcd] - doc: add Juan as a security steward (Michael Dawson) #43512
- [1da1722be8] - doc: update link to MDN page about dynamic imports (James Scott-Brown) #43530
- [70ab660107] - doc: fix Visual Studio 2019 download link (Feng Yu) #43236
- [23ec1a8727] - doc: update link of ICU data slicer (Feng Yu) #43483
- [cda04013a0] - doc: update v8 doc link to v8.dev (Feng Yu) #43482
- [982e99eb6c] - doc: add ESM version examples to events api doc (Feng Yu) #43226
- [3d271f16b4] - doc: update default branch name in test/** (Luigi Pinca) #43445
- [18789d5b4a] - doc: remove branch name mention in src/README.md (Feng Yu) #43442
- [f2dfe9b708] - doc: update default branch name in Makefile (Feng Yu) #43441
- [8d0bca586f] - doc: update main branch name in release guide (Richard Lau) #43437
- [1945e9ba4a] - doc: update main branch name in onboarding.md (Feng Yu) #43443
- [98b27e7f4d] - doc: fixup after rename of primary nodejs branch (Michael Dawson) #43453
- [d5832e29b6] - doc: update main branch name in doc/contributing/* (Luigi Pinca) #43438
- [3f1ec10a66] - doc: packages documentation updates for 12 EOL (Guy Bedford) #43375
- [82dc48d36c] - doc: fix specifier example in esm.md (hiroki osame) #43351
- [143186145c] - doc: add missing require to stream api doc (Feng Yu) #43237
- [7feff014c4] - doc: use serial comma in worker_threads docs (Tobias Nießen) #43220
- [c41bf4dc59] - doc: use serial comma in assert docs (Tobias Nießen) #43154
- [b6469537e4] - doc: use consistent method symbol (Paolo Insogna) #42974
- [a61b7fabc3] - doc: use serial comma in fs docs (Tobias Nießen) #43104
- [14c8f46091] - doc: use serial comma in http docs (Tobias Nießen) #43026
- [751f09eb28] - doc: fix examples in cluster.md (OneNail) #42889
- [cc398a829b] - doc: add node: prefix for all core modules (Antoine du Hamel) #42752
- [2922fbb9b2] - doc: clarify some default values in fs.md (LiviaMedeiros) #42892
- [10e9868cbb] - doc: fix napi version for node_api_symbol_for (Danielle Adams) #42878
- [3ccb5b4f3f] - doc: add initial doc on how to update cjs-module-lexer (Michael Dawson) #43255
- [9515ca6f0a] - doc: clarify use of deps/icu-small (Michael Dawson) #43287
- [7de20b518a] - doc: remove llnode from diag tierlist (Tony Gorez) #43289
- [5b0ad85fde] - doc: remove ETW from diag tierlist (Tony Gorez) #43295
- [5d2a4bd886] - doc: use serial comma in report docs (Tobias Nießen) #43394
- [18c6d17f4f] - doc: add fspromises mkdir example (Tierney Cyren) #40843
- [e44427954f] - doc: add F3n67u to triagers (Feng Yu) #43350
- [fb1566101c] - doc: fix typo in globals.md (Daeyeon Jeong) #43365
- [12e7a24b48] - doc: use serial comma in webstreams docs (Tobias Nießen) #43353
- [f7bfa10a29] - doc: add undici to glossary (F3n67u) #43327
- [961aeffffd] - doc: change glossary link in pull request guide to node's glossary doc (Feng Yu) #43318
- [759861d0d4] - doc: improve description of TZ (Tobias Nießen) #43334
- [288f6c0c04] - doc: use serial comma in net docs (Tobias Nießen) #43335
- [3d47c6655b] - doc: make clear the result of comparison between Symbol.for (Kohei Ueno) #43309
- [5029fc3beb] - doc: add CIGTM to glossary.md (Feng Yu) #43316
- [7e4dab6ad9] - doc: use serial comma in pull request doc (Feng Yu) #43319
- [f94d4ea73b] - doc: use serial comma in ESM docs (Tobias Nießen) #43322
- [2f831105a3] - doc: promote cdt to tier 3 (Tony Gorez) #43290
- [3e50a1a9e5] - doc: fix chromium document link in pull-requests.md (rikapo) #43265
- [b20cd1b756] - doc: fix 404 link of BUILDING.md (Feng Yu) #43234
- [b34fce7ad5] - doc: add src/crypto to CC list for nodejs/crypto (Tobias Nießen) #43286
- [d50c5585b6] - doc: use serial comma in console docs (Tobias Nießen) #43257
- [f453918086] - doc: use serial comma in errors docs (Tobias Nießen) #43242
- [ed9e3b7007] - doc: add note regarding %Array.prototype.concat% in primordials.md (Antoine du Hamel) #43166
- [1867462f15] - doc: document signal option for EventTarget#addEventListener (Antoine du Hamel) #43170
- [ffee27216f] - doc: make minor adjustments (LiviaMedeiros) #43175
- [1b97800c2c] - doc: use serial comma in dgram docs (Tobias Nießen) #43191
- [a51bdf6f91] - doc: use serial comma in process docs (Tobias Nießen) #43179
- [4b4ce99b63] - doc: improved parallel specification (mawaregetsuka) #42679
- [c591a2964c] - doc: improve callback params for fs.mkdir (Daeyeon Jeong) #43016
- [086f8f426a] - doc: fix errors in Performance hooks doc (OneNail) #43152
- [fb18ade83b] - doc: use serial comma in dns docs (Tobias Nießen) #43145
- [2071b57666] - doc: use ASCII apostrophes consistently (Tobias Nießen) #43114
- [ae2ec73a69] - doc: add strategic initiative for shadow realm (Chengzhong Wu) #43037
- [cccc45653a] - doc: use serial comma in events docs (Tobias Nießen) #43113
- [6f3d6596b7] - doc: use serial comma in modules docs (Tobias Nießen) #43103
- [0eb8c46db6] - doc: use serial comma in util docs (Tobias Nießen) #43063
- [2a72a8ae66] - doc: remove git:// protocol, adjust nits in onboarding.md (LiviaMedeiros) #43045
- [b559dfe177] - doc: add maintaining info for shared libary option (Michael Dawson) #42517
- [9101aa89ce] - doc: add detail for how to update llhttp (Michael Dawson) #43028
- [c6f87e7987] - doc: use serial comma in buffer docs (Tobias Nießen) #43048
- [f0f3f1c1ec] - doc: add Rafael to the security steward for NearForm (Matteo Collina) #42966
- [e913dbf9e7] - doc: mark some node-api functions as experimental (NickNaso) #42987
- [65a5d49268] - doc: add LiviaMedeiros to collaborators (LiviaMedeiros) #43039
- [5129127db5] - doc: add the preferred name for @himself65 (Himself65) #43024
- [d0a95c97b5] - doc: rename N-API to Node-API in test/README.md (Daeyeon Jeong) #42946
- [48f6d0b19b] - doc: use serial comma in tls docs (Tobias Nießen) #43001
- [14569c7e9d] - doc: improve commit message example for releases (Juan José) #42954
- [78a08ab4c0] - doc: use serial comma in cluster docs (Tobias Nießen) #42989
- [42783cc205] - doc: fix errors in Web Streams doc (OneNail) #42862
- [40f552c4d8] - doc: add additional step to security release process (Michael Dawson) #42916
- [cbb20bea42] - doc: add section regarding property definition in primordials.md (Antoine du Hamel) #42921
- [841b690359] - doc: reword "test directory" (LiviaMedeiros) #42817
- [e1127b6154] - doc: remove legacy -J test.py option from BUILDING.md (LiviaMedeiros) #42817
- [64919a59b5] - doc: http2.createServer options as optional (Daeyeon Jeong) #42832
- [54ac0102c1] - doc: record March 2022 security release steward (Richard Lau) #42876
- [ca117b2fb0] - doc: initial version of security-model-strategy.md (Michael Dawson) #42709
- [e45861ff36] - doc: clarify guide on testing internal errors (LiviaMedeiros) #42813
- [cf8620394d] - doc: fix markdown formatting in primordials.md (Tobias Nießen) #42877
- [619414567f] - doc: add primordials guidelines (Antoine du Hamel) #38635
- [92d7214eb2] - doc: elevate node-clinic diagnostic tier (RafaelGSS) #42802
- [9ab641ee26] - doc: update WebAssembly strategy with Wasm Web API (Tobias Nießen) #42836
- [2c447b4f30] - doc: order vm.Module linker arguments correctly (Simen Bekkhus) #42797
- [2974f4042e] - doc: add @kuriyosh to collaborators (Yoshiki Kurihara) #42824
- [da97b86a99] - doc: add maintaining-webassembly.md (Michael Dawson) #42660
- [2178ccfd77] - doc: delete heapdump from diagnostic tooling support tiers (Tony Gorez) #42783
- [b5cac3a4b7] - doc: fix example in assert.md (LiviaMedeiros) #42786
- [6e8285a27b] - doc: fix version history for Loaders API (Antoine du Hamel) #42778
- [b5a3c0499b] - doc: clarify core modules that can be loaded without a prefix (Antoine du Hamel) #42753
- [41ad6fa020] - doc: consolidate use of multiple-byte units (Antoine du Hamel) #42587
- [36c0e47bf5] - doc: add documentation for inherited methods (Luigi Pinca) #42691
- [665fb3d269] - doc: close tag in n-api.md (LiviaMedeiros) #42751
- [3c97384527] - doc: copyedit http.OutgoingMessage documentation (Luigi Pinca) #42733
- [2f319825cc] - doc: improve fragment (:target) anchors behavior on HTML version (Antoine du Hamel) #42739
- [1b88868adc] - doc: fix added: info for outgoingMessage.writable* (Luigi Pinca) #42737
- [0238239de0] - doc: delete mdb_v8 from diagnostic tooling support tiers (Tony Gorez) #42626
- [b4b2a0f8b7] - doc: document the 'close' and 'finish' events (Luigi Pinca) #42704
- [d7265d8ae4] - doc: fix added: info for outgoingMessage.{,un}cork() (Luigi Pinca) #42711
- [1b668d4be6] - doc: revise data imports and node: imports sections (Rich Trott) #42734
- [b6c23b0312] - doc: fix ESM JSON/data URL import example (Rich Trott) #42728
- [806711346d] - doc: improve doc for http.ServerResponse inheritance (Luigi Pinca) #42693
- [7c881b218f] - doc: add RafaelGSS to collaborators (RafaelGSS) #42718
- [654e71c29c] - doc: add NodeEdKeyGenParams to CryptoKey.algorithm (Tobias Nießen) #42629
- [e566e5c3e4] - doc: fix the example for embedders (Momtchil Momtchev) #42671
- [47f7b34831] - doc: change AES-GCM IV recommendation in WebCrypto (Tobias Nießen) #42611
- [0a64b14343] - doc: fix added: info for some methods (Luigi Pinca) #42661
- [0c9038020a] - doc: remove unneeded new in Buffer example (Niklas Mischkulnig) #42682
- [06f7aeb2d2] - doc: mark worker.id as integer in cluster docs (Tobias Nießen) #42684
- [1c579ecb78] - doc: recommend fh.createWriteStream for fsPromises methods (Antoine du Hamel) #42653
- [3ba17b184d] - doc: fix outgoingMessage.removeHeader() signature (Luigi Pinca) #42652
- [ba1f864159] - doc: mark tlsSocket.authorized as boolean property (Tobias Nießen) #42647
- [85aeae2cd2] - doc: add missing punctuation in Web Streams doc (Tobias Nießen) #42672
- [630cadbc3f] - doc: add missing article in session ticket section (Tobias Nießen) #42632
- [b636996499] - doc: link to dynamic import function (Tobias Nießen) #42634
- [70f61a57d0] - doc: add note about header values encoding (Paolo Insogna) #42624
- [608d777cf8] - doc: add missing word in rootCertificates section (Tobias Nießen) #42633
- [dbc993294f] - doc: fix brackets position (LiviaMedeiros) #42649
- [a9e97fcc3f] - doc: copyedit corepack.md (Rich Trott) #42620
- [6209e295bb] - doc: delete chakra tt from diagnostic tooling support tiers (Tony Gorez) #42627
- [198f22d3da] - doc: simplify Http2Stream encoding text (Rich Trott) #42597
- [9129f024dc] - doc: remove obsolete stream API selection text (Rich Trott) #42586
- [88108da2c1] - doc: remove faulty justification for 128-bit AES (Tobias Nießen) #42578
- [8072adf41e] - doc: fix documentation of FileHandle.prototype.appendFile (Antoine du Hamel) #42588
- [300b9d15ea] - doc: change "OCSP Request" to "OCSP request" (Tobias Nießen) #42582
- [5ee6b07a6b] - doc: aes webcrypto unwrap is not a node-specific extensions (Filip Skokan) #42561
- [8850cf99f7] - doc: simplify recommendations in process.md (Rich Trott) #42556
- [c361129d7b] - doc: clarify recommendations in stream.md (Rich Trott) #42555
- [3bec01f1b9] - doc: simplify recommendation in webcrypto.md (Rich Trott) #42554
- [9c307937b4] - doc: update DEP0102 text (Rich Trott) #42553
- [73ce20162b] - doc: add introduction sentence for CJS (Antoine du Hamel) #42491
- [5783865894] - doc: add @meixg to collaborators (Xuguang Mei) #42576
- [a8a075b48b] - doc: consolidate CI sections (Rich Trott) #42534
- [816cc5ed8a] - doc: remove extraneous comma (Rich Trott) #42548
- [7476fe9431] - doc: guide towards x509.fingerprint256 (Tobias Nießen) #42516
- [a6af500919] - doc: fix internal link in collaborator-guide.md (Daeyeon Jeong) #42551
- [9a70c3b843] - doc: add suggestion for OpenSSL only sec releases (Michael Dawson) #42456
- [28208311bf] - doc: fix comment text in async_hooks example (Rich Trott) #42499
- [8fd7ab5d1f] - doc: add stability class to legacy status description (Daniel Roe) #42525
- [37366d4ec4] - doc: suggest checkHost in checkServerIdentity docs (Tobias Nießen) #42495
- [981d602d8c] - doc: update security release onboarding (Joe Sepi) #42333
- [33b14263e9] - doc: remove comma splice in events.md (Rich Trott) #42484
- [89e3cedb1a] - doc: clarify napi_finalize behavior (Alba Mendez) #42461
- [40b61dbf1b] - doc: expand history for conditional exports changes in v12 (Greg Poole) #42339
- [70f982a8fe] - doc: change comma-splice to two sentences (Rich Trott) #42455
- [69a4daaa09] - doc: add link to section (Rich Trott) #42428
- [7a7030af79] - doc: fix typo in async_context.md (Anupama Codippily) #42444
- [3cf80254c7] - doc: add trace_gc to diagnostic tooling support document (Tony Gorez) #42346
- [d9ae6c7829] - doc: make header smaller and dropdown click-driven when JS is on (Paolo Insogna) #42165
- [01eb1dc8eb] - doc: standardize typography for _semantic versioning_ (Rich Trott) #42401
- [d70f9cb2a3] - doc: unify import order in CCM example (Tobias Nießen) #42394
- [165ee28853] - doc: update property name (Rich Trott) #42398
- [b3a7a689f9] - doc: document breaking change in http.IncomingMessage 'close' event (Paolo Insogna) #42521
- [7be07c719c] - doc,test: clarify timingSafeEqual semantics (Tobias Nießen) #43228
- [6c00369083] - doc,test: clarify ChaCha20-Poly1305 usage (Tobias Nießen) #42323
- Other commits:
- [3b10a94a95] - benchmark: fix output regression (Brian White) #43635
- [f4c4113434] - benchmark: fix fork detection (Paolo Insogna) #43601
- [04f651186d] - benchmark: forcefully close processes (Paolo Insogna) #43557
- [986fb3e9ae] - benchmark: add node-error benchmark (RafaelGSS) #43077
- [c36b02f666] - benchmark: fix misc/startup failure (Antoine du Hamel) #42746
- [391e16235c] - build: make GitPod less noisy (Rich Trott) #43829
- [5315d9741c] - build: add GitHub token permissions for workflows (Varun Sharma) #43743
- [025248bfb0] - build: enable GitPod prebuilds (Rich Trott) #43698
- [d9664c3040] - build: clarify missing clang-format tool (Tobias Nießen) #42762
- [600505ee71] - build: update main branch name in GH workflow (Feng Yu) #43481
- [ab55ff4a52] - build: add nonpm and nocorepack to vcbuild.bat (Darshan Sen) #43219
- [cf68280548] - build: set ASAN workaround (Richard Lau) #43085
- [c4f7e93964] - build: fix format-cpp (Darshan Sen) #42764
- [dd97a9d1fa] - build: improve the format-cpp error message (Darshan Sen) #42765
- [fc55a6798f] - build: run clang-format on CI (Darshan Sen) #42681
- [46bc3c1af1] - build: consolidate JS and md linting GitHub Actions (Rich Trott) #42572
- [dd7aa2d51f] - build: set stale action back to running nightly (Michael Dawson) #42549
- [dda77aa63b] - build: bump actions/checkout (Eliaz Bobadilla) #42460
- [0d93b425cf] - meta: update AUTHORS (Node.js GitHub Bot) #43966
- [7a974457df] - meta: update node-api in label-pr-config (Daeyeon Jeong) #43794
- [dff6068c9a] - meta: update AUTHORS (Node.js GitHub Bot) #43872
- [80d562b051] - meta: use platform dropdown on flaky template (Rafael Gonzaga) #43855
- [162c7cbb54] - meta: enable blank issues (Matteo Collina) #43775
- [becfcb4d97] - meta: move one or more collaborators to emeritus (Node.js GitHub Bot) #43770
- [78bb3ab8e8] - meta: update AUTHORS (Node.js GitHub Bot) #43750
- [b62574c4bd] - meta: update AUTHORS (Node.js GitHub Bot) #43660
- [965367f586] - meta: update AUTHORS (Node.js GitHub Bot) #43573
- [3760490c3a] - meta: update AUTHORS (Node.js GitHub Bot) #43480
- [5c6021772f] - meta: move one or more collaborators to emeritus (Node.js GitHub Bot) #43399
- [a544a09662] - meta: update AUTHORS (Node.js GitHub Bot) #43387
- [d0084daa8a] - meta: move one or more collaborators to emeritus (#43183) (Node.js GitHub Bot) #43183
- [bb7b1dcb7a] - meta: update AUTHORS (Node.js GitHub Bot) #43312
- [aa868efe15] - meta: update AUTHORS (Node.js GitHub Bot) #43231
- [fb5d9b7fb5] - meta: add mailmap entry for legendecas (Chengzhong Wu) #43156
- [06578724bd] - meta: add mailmap entry for npm team (Luigi Pinca) #43143
- [bd6912def5] - meta: add mailmap entry for Morgan Roderick (Luigi Pinca) #43144
- [3db25bfc63] - meta: add mailmap entry for ShogunPanda (Paolo Insogna) #43094
- [0ce67e22fb] - meta: update .mailmap for recent README name change (Rich Trott) #43027
- [74ed25ddf5] - meta: update AUTHORS (Node.js GitHub Bot) #43004
- [72e9ca1a45] - meta: move one or more collaborators to emeritus (Node.js GitHub Bot) #42937
- [c351bf682a] - meta: update AUTHORS (Node.js GitHub Bot) #42848
- [54d94d04ca] - meta: move one or more collaborators to emeritus (Node.js GitHub Bot) #42769
- [412b3313c9] - meta: update AUTHORS (Node.js GitHub Bot) #42760
- [499d0100a6] - meta: move mmarchini to emeritus (mary marchini) #42750
- [7f857d16b8] - meta: update AUTHORS (Node.js GitHub Bot) #42677
- [0994001a51] - meta: move one or more collaborators to emeritus (Node.js GitHub Bot) #42599
- [ac1c0122e4] - meta: update .mailmap and AUTHORS (Rich Trott) #42602
- [c7264b712b] - meta: move one or more collaborators to emeritus (Node.js GitHub Bot) #42500
- [bc4bd92bb8] - meta: update AUTHORS (Node.js GitHub Bot) #42585
- [bcd8a55f37] - meta: update AUTHORS (Node.js GitHub Bot) #42488
- [e6db8099f8] - test: refactor ESM tests to improve performance (Jacob Smith) #43784
- [0046b9a478] - test: add test on worker process.exit in async modules (Chengzhong Wu) #43751
- [3a6df62cfd] - test: update WPT encoding tests (Kohei Ueno) #43958
- [ca747ccb7e] - test: remove test-whatwg-events-add-event-listener-options-once.js (Feng Yu) #43877
- [e22041734a] - test: work scheduled in process.nextTick can keep the event loop alive (Andreu Botella) #43787
- [2730a10a58] - test: simplify test-tls-set-secure-context (Tobias Nießen) #43878
- [ec3c331c73] - test: fix test http upload timeout (theanarkh) #43935
- [19397a0488] - test: simplify ReplStream.wait() (Tobias Nießen) #43857
- [918448e239] - test: ensure NODE_EXTRA_CA_CERTS not set before tests (KrayzeeKev) #43858
- [f4cd579ae1] - test: add check to test-fs-readfile-tostring-fail (Richard Lau) #43850
- [e271e3403e] - test: use common.mustNotMutateObjectDeep() in immutability tests (LiviaMedeiros) #43196
- [409158c919] - test: add common.mustNotMutateObjectDeep() (LiviaMedeiros) #43196
- [75e6933a39] - test: fix coverity warning in test (Michael Dawson) #43631
- [087fc8dddf] - test: mark test-http-client-response-timeout flaky (Tobias Nießen) #43792
- [993bf7b671] - test: mark flaky tests on smartos (Feng Yu) #43596
- [a3a2a9ede5] - test: mark test-http-server-request-timeouts-mixed flaky on macOS (F3n67u) #43597
- [7cb71c0c7e] - test: skip test-net-connect-reset-until-connected on SmartOS (Filip Skokan) #43449
- [b5eb55646f] - test: add test for short-option followed by its value (Kohei Ueno) #43358
- [8bd2f4e2b8] - test: use assert.match() instead of assert(regex.test()) (Antoine du Hamel) #42803
- [f99b0d02e7] - test: fix typo in test-stream-toArray (Tobias Nießen) #41634
- [95a823dc26] - test: fix typo in file name (Antoine du Hamel) #43764
- [c291233955] - test: improve lib/internal/test_runner/test.js coverage (MURAKAMI Masahiko) #42745
- [a5e16203a3] - test: mark test-net-connect-reset-until-connected flaky on freebsd (Feng Yu) #43613
- [42610cc8e2] - test: mark test-gc-http-client-timeout as flaky on arm (Chengzhong Wu) #43754
- [cc5f17f128] - test: add test for profile command of node inspect (Kohei Ueno) #43058
- [11df17c2f9] - test: use Object for tests variable in fs trace test (Feng Yu) #43585
- [61ddd50c38] - test: improve code coverage for performance_entry (Kohei Ueno) #43434
- [341799a0c3] - test: add test to ensure repl doesn't support --input-type (cola119) #43507
- [9bc4ad0483] - test: fix flaky test-perf-hooks-histogram (Santiago Gimeno) #43567
- [4d8daae236] - test: fix Buffer.from(ArrayBufferView) call (LiviaMedeiros) #43614
- [8c7597373f] - test: mark test-worker-http2-stream-terminate flaky on all platforms (Finn Yu) #43620
- [e8754f3557] - test: improve code coverage for SourceMap class (italo jose) #43285
- [93de96f844] - test: refactor to top-level await (Meek Simbule) #43500
- [f3e9fd7a00] - test: skip test-v8-serialize-leak on IBM i (Richard Lau) #43511
- [65c3e901eb] - test: use unique file names in fs trace test (Ben Noordhuis) #43504
- [7ce80d81ed] - test: allow EOVERFLOW errors in fs position tests (Richard Lau) #43510
- [bf5adf37f3] - test: add WPT tests for dom/events (Daiki Nishikawa) #43151
- [a5df207c2b] - test: replace gc(true) with gc({ type: 'minor' }) (Tobias Nießen) #43493
- [222a6e94ed] - test: improve coverage for load hooks (Antoine du Hamel) #43374
- [9c1fffc93e] - test: refactor to top-level await (Meek Simbule) #43366
- [4ff1c32f44] - test: rename test-eventtarget-whatwg-*.js (Daeyeon Jeong) #43467
- [68a138333b] - test: mark test-worker-http2-stream-terminate flaky on Windows (Darshan Sen) #43425
- [6fcb349fda] - Revert "test: mark test_buffer/test_finalizer flaky" (Matteo Collina) #43418
- [38336403d2] - test: make node-api/test_buffer/test_finalizer not flaky (Matteo Collina) #43418
- [8e5e5a10c1] - test: reduce flakiness of test-fs-read-position-validation.mjs (LiviaMedeiros) #42999
- [b750ff1452] - test: remove the legacy url parser function (Kohei Ueno) #42656
- [01c9f5b2ae] - test: only skip slow tests on Raspberry Pi devices (Richard Lau) #42645
- [d2a615f31d] - test: fix typos in test/parallel (Daeyeon Jeong) #42502
- [147f99c42c] - test: improve code coverage for streams/duplexify (Erick Wendel) #41862
- [339d2e1282] - test: remove unused argument in test-util-inspect.js (Colin Ihrig) #43395
- [f49d66be2e] - test: mark test_buffer/test_finalizer flaky (Michael Dawson) #43414
- [36f16728a5] - test: fix address in use error (Caleb Everett) #43199
- [cd1c1d53e8] - test: fix common.mustNotCall error message (Antoine du Hamel) #42917
- [b72b217dec] - test: convert then to async/await (Meek Simbule) #43292
- [94f60ec0f3] - test: add BigInts to common.getArrayBufferViews() (LiviaMedeiros) #43235
- [fa70c99564] - test: improve code coverage for inspector connection errors (Kohei Ueno) #42310
- [43e55c6380] - test: use mustSucceed instead of mustCall with assert.ifError (MURAKAMI Masahiko) #43188
- [79b6a8cc4a] - test: improve readline/emitKeypressEvents.js coverage (OneNail) #42908
- [c37c8723b0] - test: fix dangerous .map in test/parallel/test-http-set-trailers.js (LiviaMedeiros) #43087
- [c4d35b0941] - test: rename handlewrap.hasref tests (Daeyeon Jeong) #42754
- [41028fb0d6] - test: improve observable ICU behaviour coverage (LiviaMedeiros) #42683
- [53cbcf0202] - test: validate webstream encoder/decoder inspector (Yoshiki Kurihara) #42747
- [fc6456ed54] - test: usemustSucceed instead of mustCall with assert.ifError (MURAKAMI Masahiko) #42806
- [24c4f76873] - test: improve lib/internal/webstreams/readablestream.js coverage (MURAKAMI Masahiko) #42823
- [eceb318796] - test: add test for position validation in fs.read() and fs.readSync() (LiviaMedeiros) #42837
- [1e473de619] - test: add tests for extracting function name (Kohei Ueno) #42399
- [4a68984fa6] - test: simplify test-gc-{http-client,net}-* (Luigi Pinca) #42782
- [64097a4fdd] - test: check ecdsa psychic signature (Filip Skokan) #42863
- [53fb735bfa] - test: fix port in net-perf_hooks (LiviaMedeiros) #42761
- [3d9975e932] - test: skip test that cannot pass under --node-builtin-modules-path (Geoffrey Booth) #42834
- [6e0c0768de] - test: fix calculations in test-worker-resource-limits (Joyee Cheung) #42702
- [f67c53f778] - test: improve test coverage of internal/blob (Yoshiki Kurihara) #41513
- [2db988a20e] - test: improve internal/url.js coverage (Yoshiki Kurihara) #42650
- [a38c122685] - test: allow numeric string for lookupService test (Daeyeon Jeong) #42596
- [11650df453] - test: remove an unnecessary undefined in wpt (Khaidi Chu) #41470
- [faebca4459] - test: simplify test-http-write-callbacks.js (Tobias Nießen) #42628
- [9e945439a5] - test: pass data into napi_create_external (Joyee Cheung) #42532
- [a7b865ca8d] - test: improve FileHandle.prototype.write coverage (Antoine du Hamel) #42541
- [82d5e57ac0] - test: add test for exception handlings in debugger (Kohei Ueno) #42327
- [b51e5fe06f] - test: fix typo in common/wpt.js (Ikko Ashimine) #42567
- [bc60c5d902] - test: add trace-gc flag test (Tony Gorez) #42471
- [1641ff5db7] - test,fs: add fs.rm() tests for .git directories (Darshan Sen) #42410
- [3e33e905a8] - tools: report unsafe string and regex primordials as lint errors (Antoine du Hamel) #43393
- [1d09407840] - tools: add avoid-prototype-pollution lint rule (Antoine du Hamel) #43308
- [e9b647a288] - tools: add more options to track flaky tests (Antoine du Hamel) #43954
- [01a44348e0] - tools: add verbose flag to inactive TSC finder (Rich Trott) #43913
- [420c9bb084] - tools: add support for using API key to vuln checking script (Facundo Tuesca) #43909
- [7145125051] - tools: support versioned node shared libs on z/OS (alexcfyung) #42256
- [ff20308475] - tools: update doc to [email protected] (Node.js GitHub Bot) #43870
- [51643323ba] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #43871
- [b57758b710] - tools: update eslint to 8.20.0 (Node.js GitHub Bot) #43873
- [5fd26da477] - tools: add script for vulnerability checking (Facundo Tuesca) #43362
- [987efcb504] - tools: remove rpm build scripts (Ben Noordhuis) #43647
- [4a2422ae38] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #43749
- [8a69cdaa65] - tools: refactor tools/license2rtf to ESM (Feng Yu) #43232
- [d39fd4e5ce] - tools: update eslint to 8.19.0 (Node.js GitHub Bot) #43662
- [d615f3b181] - tools: update lint-md-dependencies (Node.js GitHub Bot) #43572
- [a5089c9b6d] - tools: fix CJS/ESM toggle on small screens (Antoine du Hamel) #43506
- [aeffe5f956] - tools: update main branch name (Feng Yu) #43440
- [d9a4a8519e] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #43386
- [29976a356b] - tools: update eslint to 8.18.0 (Node.js GitHub Bot) #43479
- [2ceb19dbc2] - tools: fix create-or-update-pull-request-action hash on GHA (Antoine du Hamel) #43378
- [ddea965f48] - tools: fix find-inactive actions (LiviaMedeiros) #43377
- [7730f0cb81] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #43313
- [e6dbdb19b5] - tools: update eslint to 8.17.0 (Node.js GitHub Bot) #43314
- [2bd60b1fad] - tools: use hashes instead of tags for external actions (#43284) (Antoine du Hamel) #43284
- [ab45ba5f92] - tools: update codecov/codecov-action version (Antoine du Hamel) #43297
- [276dff1523] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #43261
- [9c03ddb731] - tools: update clang-format 1.7.0 to 1.8.0 (Darshan Sen) #43241
- [5a9047eb6b] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #43230
- [4f7c7d260b] - tools: refactor build-addons.js to ESM (Feng Yu) #43099
- [4817b1ff1b] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #43172
- [c89512a5c7] - tools: update eslint to 8.16.0 (Node.js GitHub Bot) #43174
- [3bb46f9cd9] - tools: refactor update-authors.js to ESM (Feng Yu) #43098
- [3fa2c3ce85] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #43107
- [4b82cb66ed] - tools: update eslint to 8.15.0 (Node.js GitHub Bot) #43005
- [54e36f5883] - tools: refactor lint-sh.js to esm module (Feng Yu) #42942
- [1e7d6bd99c] - tools: update lint-md-dependencies (Node.js GitHub Bot) #43003
- [7b6ed2cec9] - tools: update lint-md-dependencies (Node.js GitHub Bot) #42932
- [e8ef4f2b47] - tools: bump jsdoccomment from 0.22.1 to 0.29.0 (Rich Trott) #42857
- [7a7491a8c2] - tools: update eslint to 8.14.0 (Node.js GitHub Bot) #42845
- [a3d4579135] - tools: update doc to [email protected] (Node.js GitHub Bot) #42758
- [f29a1a04ed] - tools: update lint-md-dependencies (Node.js GitHub Bot) #42759
- [534369402c] - tools: lint osx shell scripts (LiviaMedeiros) #42712
- [3370ef9c85] - tools: update clang-format 1.6.0 to 1.7.0 (Rich Trott) #42724
- [ed41eb2b0d] - tools: update clang-format from 1.2.3 to 1.6.0 (Rich Trott) #42685
- [9ba37645c3] - tools: update eslint to 8.13.0 (Node.js GitHub Bot) #42678
- [348876e964] - tools: update gyp-next to v0.12.1 (Michaël Zasso) #42625
- [ec5548b3aa] - tools: update lint-md-dependencies to @rollup/[email protected] (Node.js GitHub Bot) #42584
- [36ddc6102f] - tools: enable no-var ESLint rule for lib (Rich Trott) #42573
- [282b449d90] - tools: fixed bug causing JSON format to b
New in Node.js 18.6.0 Current (Jul 14, 2022)
- Notable changes:
- deps:
- upgrade openssl sources to OpenSSL_1_1_1q (RafaelGSS) #43692
- src:
- add OpenSSL config appname (Daniel Bevenius) #43124
- Commits:
- [2303fd3fe5] - deps: update archs files for OpenSSL-1.1.1q (RafaelGSS) #43692
- [b219a63c28] - deps: upgrade openssl sources to OpenSSL_1_1_1q (RafaelGSS) #43692
- [c6553a4ef5] - deps: update archs files for OpenSSL-1.1.1p+quic (RafaelGSS) #43535
- [e9084a3e90] - deps: upgrade openssl sources to OpenSSL_1_1_1p+quic (RafaelGSS) #43535
- [1da22eb482] - http: stricter Transfer-Encoding and header separator parsing (Paolo Insogna) nodejs-private/node-private#315
- [754c9bfde0] - src: fix IPv4 validation in inspector_socket (Tobias Nießen) nodejs-private/node-private#320
- [447cf680b0] - (SEMVER-MAJOR) src,deps,build,test: add OpenSSL config appname (Daniel Bevenius) #43124
New in Node.js 18.5.0 Current (Jul 8, 2022)
- Notable Changes:
- [3f0c3e142d] - (SEMVER-MAJOR) src,deps,build,test: add OpenSSL config appname (Daniel Bevenius) #43124
- [9578158ff8] - (SEMVER-MAJOR) src,doc,test: add --openssl-shared-config option (Daniel Bevenius) #43124
- Node.js now reads nodejs_conf section in the openssl config
- [dc7af13486] - deps: update archs files for quictls/openssl-3.0.5+quic (RafaelGSS) #43693
- [fa72c534eb] - deps: upgrade openssl sources to quictls/openssl-3.0.5+quic (RafaelGSS) #43693
- Commits:
- [dc7af13486] - deps: update archs files for quictls/openssl-3.0.5+quic (RafaelGSS) #43693
- [fa72c534eb] - deps: upgrade openssl sources to quictls/openssl-3.0.5+quic (RafaelGSS) #43693
- [a5fc2deb43] - deps: update default openssl.cnf directory (Michael Dawson) nodejs-private/node-private#335
- [f2407748e3] - http: stricter Transfer-Encoding and header separator parsing (Paolo Insogna) nodejs-private/node-private#315
- [e4af5eba95] - src: fix IPv4 validation in inspector_socket (Tobias Nießen) nodejs-private/node-private#320
- [3f0c3e142d] - (SEMVER-MAJOR) src,deps,build,test: add OpenSSL config appname (Daniel Bevenius) #43124
- [9578158ff8] - (SEMVER-MAJOR) src,doc,test: add --openssl-shared-config option (Daniel Bevenius) #43124
New in Node.js 16.16.0 LTS (Jul 8, 2022)
- Notable changes:
- deps:
- upgrade openssl sources to OpenSSL_1_1_1q (RafaelGSS) #43692
- src:
- add OpenSSL config appname (Daniel Bevenius) #43124
- Commits:
- [2303fd3fe5] - deps: update archs files for OpenSSL-1.1.1q (RafaelGSS) #43692
- [b219a63c28] - deps: upgrade openssl sources to OpenSSL_1_1_1q (RafaelGSS) #43692
- [c6553a4ef5] - deps: update archs files for OpenSSL-1.1.1p+quic (RafaelGSS) #43535
- [e9084a3e90] - deps: upgrade openssl sources to OpenSSL_1_1_1p+quic (RafaelGSS) #43535
- [1da22eb482] - http: stricter Transfer-Encoding and header separator parsing (Paolo Insogna) nodejs-private/node-private#315
- [754c9bfde0] - src: fix IPv4 validation in inspector_socket (Tobias Nießen) nodejs-private/node-private#320
- [447cf680b0] - (SEMVER-MAJOR) src,deps,build,test: add OpenSSL config appname (Daniel Bevenius) #43124
New in Node.js 18.3.0 Current (Jun 2, 2022)
- Notable Changes:
- [dc3b91f351] - deps: update undici to 5.4.0 (Node.js GitHub Bot) #43262
- [d6cf409d78] - (SEMVER-MINOR) util: add parseArgs module (Benjamin Coe) #42675
- [9539cfa358] - (SEMVER-MINOR) http: add uniqueHeaders option to request and createServer (Paolo Insogna) #41397
- [41fdc2617d] - deps: upgrade npm to 8.11.0 (npm team) #43210
- [0000654e47] - deps: patch V8 to 10.2.154.4 (Michaël Zasso) #43067
- [b3c8e609fd] - (SEMVER-MINOR) deps: update V8 to 10.2.154.2 (Michaël Zasso) #42740
- [3e89b7336d] - (SEMVER-MINOR) fs: make params in writing methods optional (LiviaMedeiros) #42601
- [9539cfa358] - (SEMVER-MINOR) http: add uniqueHeaders option to request and createServer (Paolo Insogna) #41397
- [8f5b4570e5] - (SEMVER-MINOR) net: add ability to reset a tcp socket (pupilTong) #43112
- [5eff7b4a6a] - (SEMVER-MINOR) Revert "build: make x86 Windows support temporarily experimental" (Michaël Zasso) #42740
- This means 32-bit Windows binaries are back with this release.
- Commits:
- [aefc9dda9a] - benchmark: add node-error benchmark (RafaelGSS) #43077
- [85d81a764f] - bootstrap: include code cache in the embedded snapshot (Joyee Cheung) #43023
- [5eff7b4a6a] - (SEMVER-MINOR) Revert "build: make x86 Windows support temporarily experimental" (Michaël Zasso) #42740
- [d6634707c5] - (SEMVER-MINOR) build: run V8 tests with detected Python version (Richard Lau) #42740
- [b8b5e6df67] - (SEMVER-MINOR) build: reset embedder string to "-node.0" (Michaël Zasso) #42740
- [285ef30877] - console: fix console.dir crash on a revoked proxy (Daeyeon Jeong) #43100
- [920d8c5300] - crypto: align webcrypto RSA key import/export with other implementations (Filip Skokan) #42816
- [c76caadf2e] - debugger: throw a more useful error when the frame is missing (Kohei Ueno) #42776
- [dc3b91f351] - deps: update undici to 5.4.0 (Node.js GitHub Bot) #43262
- [35250bf2f6] - deps: regenerate OpenSSL archs files (Daniel Bevenius) #42973
- [ecacc3a727] - deps: exclude linker scripts for windows builds (Daniel Bevenius) #42973
- [41fdc2617d] - deps: upgrade npm to 8.11.0 (npm team) #43210
- [87b248e27e] - deps: update undici to 5.3.0 (Node.js GitHub Bot) #43197
- [d42de132a7] - deps: upgrade npm to 8.10.0 (npm team) #43061
- [0000654e47] - deps: patch V8 to 10.2.154.4 (Michaël Zasso) #43067
- [742ffefb44] - (SEMVER-MINOR) deps: make V8 10.2 ABI-compatible with 10.1 (Michaël Zasso) #42740
- [c626a533c7] - deps: make V8 compilable with older glibc (Michaël Zasso) #42657
- [76546b12a2] - deps: V8: fix v8-cppgc.h for MSVC (Jiawen Geng) #42657
- [45e1fd4473] - deps: silence V8's warning on CompileFunction (Michaël Zasso) #40907
- [2130891a9a] - (SEMVER-MINOR) deps: disable trap handler for Windows cross-compiler (Michaël Zasso) #40488
- [e678b6c63d] - deps: fix V8 build issue with inline methods (Jiawen Geng) #38807
- [f83323f304] - deps: V8: forward declaration of Rtl*FunctionTable (Refael Ackermann) #32116
- [4be7584ca6] - deps: V8: un-cherry-pick bd019bd (Refael Ackermann) #32116
- [b3c8e609fd] - (SEMVER-MINOR) deps: update V8 to 10.2.154.2 (Michaël Zasso) #42740
- [0afdc3e9a8] - doc: use serial comma in errors docs (Tobias Nießen) #43242
- [00989338b3] - doc: add note regarding %Array.prototype.concat% in primordials.md (Antoine du Hamel) #43166
- [badf72dd0a] - doc: use serial comma in worker_threads docs (Tobias Nießen) #43220
- [776e746f0a] - doc: fix napi version for node_api_symbol_for (Danielle Adams) #42878
- [76b46801f8] - doc: document signal option for EventTarget#addEventListener (Antoine du Hamel) #43170
- [3082c75efd] - doc: make minor adjustments (LiviaMedeiros) #43175
- [598c1f102e] - doc: use serial comma in dgram docs (Tobias Nießen) #43191
- [b772c13a62] - doc: use serial comma in process docs (Tobias Nießen) #43179
- [f90a3d7a54] - doc: improved parallel specification (mawaregetsuka) #42679
- [71074eedef] - doc: improve callback params for fs.mkdir (Daeyeon Jeong) #43016
- [2b8b224077] - doc: remove outdated footnote (Python 2 --> 3 for V8 tests) (DeeDeeG) #43105
- [945f228cf1] - doc: add release key for RafaelGSS (Rafael Gonzaga) #43131
- [56fc712f93] - doc: use serial comma in assert docs (Tobias Nießen) #43154
- [093a3cf2f1] - doc: fix errors in Performance hooks doc (OneNail) #43152
- [4d9f43a8a7] - doc: use serial comma in dns docs (Tobias Nießen) #43145
- [4e9393e32f] - doc: use ASCII apostrophes consistently (Tobias Nießen) #43114
- [b3181851d7] - doc: add strategic initiative for shadow realm (Chengzhong Wu) #43037
- [6f48dfb499] - fs: add trailing commas (LiviaMedeiros) #43127
- [3e89b7336d] - (SEMVER-MINOR) fs: make params in writing methods optional (LiviaMedeiros) #42601
- [9539cfa358] - (SEMVER-MINOR) http: add uniqueHeaders option to request and createServer (Paolo Insogna) #41397
- [b187060f76] - http2: set origin name correctly when servername is empty (ofirbarak) #42838
- [a07f5f28f3] - http2: improve tests and docs (Daeyeon Jeong) #42858
- [701d40496d] - lib: refactor validateInt32 and validateUint32 (mawaregetsuka) #43071
- [09da76493a] - meta: update AUTHORS (Node.js GitHub Bot) #43231
- [1da6b7c32b] - meta: add mailmap entry for legendecas (Chengzhong Wu) #43156
- [1be254b24e] - meta: add mailmap entry for npm team (Luigi Pinca) #43143
- [7d8d9d625a] - meta: add mailmap entry for Morgan Roderick (Luigi Pinca) #43144
- [8f5b4570e5] - (SEMVER-MINOR) net: add ability to reset a tcp socket (pupilTong) #43112
- [11c783fa63] - net: remoteAddress always undefined called before connected (OneNail) #43011
- [9c4e070567] - (SEMVER-MINOR) node-api: emit uncaught-exception on unhandled tsfn callbacks (Chengzhong Wu) #36510
- [54d68b1afd] - perf_hooks: fix start_time of perf_hooks (theanarkh) #43069
- [baa5d0005a] - src: refactor GetCipherValue and related functions (Tobias Nießen) #43171
- [6ee9fb14e4] - src: make SecureContext fields private (Tobias Nießen) #43173
- [1e2552ba6c] - src: reuse GetServerName (Tobias Nießen) #43168
- [d8a14a2486] - src: fix static analysis warning and use smart ptr (Tobias Nießen) #43117
- [72a767b7ca] - src: remove SecureContext::operator* (Tobias Nießen) #43121
- [82fb037388] - src: move context snapshot index to SnapshotData (Joyee Cheung) #43023
- [9577878258] - src: replace TraceEventScope with sync events (Chengzhong Wu) #42977
- [41b69e3cf4] - src,lib: migrate to console on context's extra binding (Chengzhong Wu) #43142
- [3e1ed1ee0c] - test: improve code coverage for inspector connection errors (Kohei Ueno) #42310
- [d7ca2234dc] - test: use mustSucceed instead of mustCall with assert.ifError (MURAKAMI Masahiko) #43188
- [9cc5ce6a24] - test: improve readline/emitKeypressEvents.js coverage (OneNail) #42908
- [447bbd0d66] - tls: fix convertALPNProtocols accepting ArrayBufferViews (LiviaMedeiros) #43211
- [df691464aa] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #43230
- [d9fb25c936] - tools: refactor build-addons.js to ESM (Feng Yu) #43099
- [0efeceb4a6] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #43172
- [ed352a945c] - tools: update eslint to 8.16.0 (Node.js GitHub Bot) #43174
- [1183058908] - tools: refactor update-authors.js to ESM (Feng Yu) #43098
- [5228028962] - (SEMVER-MINOR) tools: update V8 gypfiles for 10.2 (Michaël Zasso) #42740
- [d6cf409d78] - (SEMVER-MINOR) util: add parseArgs module (Benjamin Coe) #42675
- [d91b489784] - worker: fix heap snapshot crash on exit (Chengzhong Wu) #43123
New in Node.js 16.15.1 LTS (Jun 2, 2022)
- Notable Changes:
- deps:
- upgrade npm to 8.11.0 ([email protected]) #43210
- docs:
- add release key for RafaelGSS (Rafael Gonzaga) #43131
- add release key for Juan Arboleda (Juan José) #42961
- Commits:
- [f7c4ce2255] - deps: V8: cherry-pick 3ebf2052a1b2 (Liu Yu) #43147
- [447f9a0e2e] - deps: upgrade npm to 8.11.0 ([email protected]) #43210
- [68572bdea2] - deps: upgrade npm to 8.10.0 ([email protected]) #43061
- [3dfc632f12] - deps: upgrade npm to 8.9.0 (npm-robot) #42968
- [a746943fcb] - deps: update archs files for OpenSSL-1.1.1o (RafaelGSS) #42957
- [6efc844922] - deps: upgrade openssl sources to OpenSSL_1_1_1o (RafaelGSS) #42957
- [3ceeb574c3] - deps: upgrade npm to 8.8.0 (npm-robot) #42886
- [f8b2156e07] - deps: upgrade npm to 8.7.0 ([email protected]) #42744
- [898b4751e9] - deps: upgrade npm to 8.6.0 (npm team) #42550
- [617f64a1cd] - doc: add release key for RafaelGSS (Rafael Gonzaga) #43131
- [e1b47e6e3d] - doc: add release key for Juan Arboleda (Juan José) #42961
- [4185f1f466] - src,inspector: fix empty MaybeLocal crash (Darshan Sen) #42409
- [f11b3cfc6a] - test: delete test/pummel/test-repl-empty-maybelocal-crash.js (Darshan Sen) #42720
- [feac215e4e] - tools: disable trap handler for Windows cross-compiler (Michaël Zasso) #40488
- [47cdddf59b] - tools: update V8 gypfiles for 9.6 (Michaël Zasso) #40488
New in Node.js 18.2.0 Current (May 18, 2022)
- OpenSSL 3.0.3:
- This update can be treated as a security release as the issues addressed in OpenSSL 3.0.3 slightly affect Node.js 18. See https://nodejs.org/en/blog/vulnerability/openssl-fixes-in-regular-releases-may2022/ for more information on how the May 2022 OpenSSL releases affect other Node.js release lines.
- [8e54c19a6e] - deps: update archs files for quictls/openssl-3.0.3+quic (RafaelGSS) #43022
- [6365bf808e] - deps: upgrade openssl sources to quictls/openssl-3.0.3 (RafaelGSS) #43022
- Other Notable Changes:
- [13c333e533] - Revert "deps: add template for generated headers" (Daniel Bevenius) #42978
- [d128356a7f] - deps: update undici to 5.2.0 (Node.js GitHub Bot) #43059
- [2df1624f80] - deps: upgrade npm to 8.9.0 (npm team) #42968
- [6365bf808e] - deps: upgrade openssl sources to quictls/openssl-3.0.3 (RafaelGSS) #43022
- [4a3f678e70] - doc: add LiviaMedeiros to collaborators (LiviaMedeiros) #43039
- [686c4c1f6f] - doc: add release key for Juan Arboleda (Juan José) #42961
- [784d84cf34] - (SEMVER-MINOR) fs: add read(buffer[, options]) versions (LiviaMedeiros) #42768
- [2f192c4be0] - (SEMVER-MINOR) http: added connection closing methods (Paolo Insogna) #42812
- [c92e291beb] - (SEMVER-MINOR) perf_hooks: add PerformanceResourceTiming (RafaelGSS) #42725
- Commits:
- [7cac7bb806] - assert: fix CallTracker wraps the function causes the length to be lost (OneNail) #42909
- [e74a8da287] - assert: make assert.fail less affected by prototype tampering (Antoine du Hamel) #42918
- [1146806673] - bootstrap: stop delaying instantiation of maps in per-context scripts (Darshan Sen) #42934
- [a20310d171] - bootstrap: use a context snapshotted with primordials in workers (Joyee Cheung) #42867
- [9ee7d9eb15] - bootstrap: fix wasm_web_api external reference registration (Joyee Cheung) #42903
- [cec678a00e] - build: set ASAN workaround (Richard Lau) #43085
- [7c4df42caa] - build: disable windows-2022 temporarily (Jiawen Geng) #43093
- [0eb32ed976] - build: fix various shared library build issues (William Marlow) #41850
- [48f4a714b2] - build: fix indeterminacy of icu_locales value (Sergey Nazaryev) #42865
- [19c060fd84] - crypto: adjust minimum length in generateKey('hmac', ...) (LiviaMedeiros) #42944
- [183bcc0699] - crypto: clean up parameter validation in HKDF (Tobias Nießen) #42924
- [946f57c7bc] - debugger: fix inconsistent inspector output of exec new Map() (Kohei Ueno) #42423
- [d128356a7f] - deps: update undici to 5.2.0 (Node.js GitHub Bot) #43059
- [a9703a55ef] - deps: remove opensslconf template headers (Daniel Bevenius) #43035
- [a4a4f7134b] - deps: fix llhttp version number (Michael Dawson) #43029
- [8e54c19a6e] - deps: update archs files for quictls/openssl-3.0.3+quic (RafaelGSS) #43022
- [6365bf808e] - deps: upgrade openssl sources to quictls/openssl-3.0.3 (RafaelGSS) #43022
- [e8121ae7fe] - deps: regenerate OpenSSL archs files (Daniel Bevenius) #42978
- [13c333e533] - Revert "deps: add template for generated headers" (Daniel Bevenius) #42978
- [2df1624f80] - deps: upgrade npm to 8.9.0 (npm team) #42968
- [f53ed9d1bb] - doc: use serial comma in fs docs (Tobias Nießen) #43104
- [839824aca8] - doc: use serial comma in events docs (Tobias Nießen) #43113
- [9629c74080] - doc: use serial comma in modules docs (Tobias Nießen) #43103
- [76096c2d4a] - doc: use serial comma in util docs (Tobias Nießen) #43063
- [1e9de0dd5a] - doc: remove git:// protocol, adjust nits in onboarding.md (LiviaMedeiros) #43045
- [eb630d7ef9] - doc: add maintaining info for shared libary option (Michael Dawson) #42517
- [3816a97bae] - doc: add detail for how to update llhttp (Michael Dawson) #43028
- [330e267a57] - doc: use serial comma in buffer docs (Tobias Nießen) #43048
- [0957212390] - doc: use consistent method symbol (Paolo Insogna) #42974
- [22cb7104cb] - doc: add Rafael to the security steward for NearForm (Matteo Collina) #42966
- [ef177da3f1] - doc: mark some node-api functions as experimental (NickNaso) #42987
- [4a3f678e70] - doc: add LiviaMedeiros to collaborators (LiviaMedeiros) #43039
- [c988a0ed26] - doc: use serial comma in http docs (Tobias Nießen) #43026
- [4de918b4c1] - doc: add the preferred name for @himself65 (Himself65) #43024
- [686c4c1f6f] - doc: add release key for Juan Arboleda (Juan José) #42961
- [64e0aa116d] - doc: rename N-API to Node-API in test/README.md (Daeyeon Jeong) #42946
- [65d64553c0] - doc: use serial comma in tls docs (Tobias Nießen) #43001
- [840e61e745] - doc: improve commit message example for releases (Juan José) #42954
- [ba3ad7c665] - doc: use serial comma in cluster docs (Tobias Nießen) #42989
- [3ab3086008] - doc: fix errors in Web Streams doc (OneNail) #42862
- [1fbfee2497] - doc: fix examples in cluster.md (OneNail) #42889
- [1237c742f4] - doc: add additional step to security release process (Michael Dawson) #42916
- [88692d8fd6] - doc: add section regarding property definition in primordials.md (Antoine du Hamel) #42921
- [924670f3af] - doc: clarify some default values in fs.md (LiviaMedeiros) #42892
- [becca06f9b] - fs: remove unnecessary ?? operator (Morgan Roderick) #43073
- [784d84cf34] - (SEMVER-MINOR) fs: add read(buffer[, options]) versions (LiviaMedeiros) #42768
- [2f192c4be0] - (SEMVER-MINOR) http: added connection closing methods (Paolo Insogna) #42812
- [bfbf965eb0] - http2: compat support for array headers (OneNail) #42901
- [46a44b3011] - lib: move WebAssembly Web API into separate file (Tobias Nießen) #42993
- [c64b8d3282] - lib,test: enable wasm/webapi/empty-body WPT (Tobias Nießen) #42960
- [ddd271ec2b] - meta: add mailmap entry for ShogunPanda (Paolo Insogna) #43094
- [174ff972f0] - meta: update .mailmap for recent README name change (Rich Trott) #43027
- [16df8ad7c3] - meta: update AUTHORS (Node.js GitHub Bot) #43004
- [0ec32d0715] - meta: move one or more collaborators to emeritus (Node.js GitHub Bot) #42937
- [037ff3da6d] - node-api: explicitly set __cdecl for API functions (Vladimir Morozov) #42780
- [e2462a2f98] - node-api: fix napi_get_all_property_names (Vladimir Morozov) #42463
- [c92e291beb] - (SEMVER-MINOR) perf_hooks: add PerformanceResourceTiming (RafaelGSS) #42725
- [c535db1195] - src: delete AllocatedBuffer (Darshan Sen) #43008
- [5dc79298e1] - src: remove unnecessary comment (Kohei Ueno) #42952
- [38e4c15534] - src: always signal V8 for intercepted properties (Michaël Zasso) #42963
- [cacff07e75] - src: fix memory leak for v8.serialize (liuxingbaoyu) #42695
- [8cfc18e4db] - src,crypto: remove uses of AllocatedBuffer from crypto_rsa.cc (Darshan Sen) #42852
- [0670843b24] - test: fix dangerous .map in test/parallel/test-http-set-trailers.js (LiviaMedeiros) #43087
- [9eb8bf1d26] - test: reduce flakiness of test-fs-read-position-validation.mjs (LiviaMedeiros) #42999
- [41d2f6e8c5] - test: rename handlewrap.hasref tests (Daeyeon Jeong) #42754
- [e058f47277] - test: improve observable ICU behaviour coverage (LiviaMedeiros) #42683
- [d23debb4cb] - test: validate webstream encoder/decoder inspector (Yoshiki Kurihara) #42747
- [b1c18edaa9] - test: usemustSucceed instead of mustCall with assert.ifError (MURAKAMI Masahiko) #42806
- [2dc795687a] - test: improve lib/internal/webstreams/readablestream.js coverage (MURAKAMI Masahiko) #42823
- [d746207dc2] - test: fix test-crypto-fips.js under shared OpenSSL (Vita Batrla) #42947
- [56c47b5101] - test: use consistent timeouts (Paolo Insogna) #42893
- [68ed3c88d9] - test: add test for position validation in fs.read() and fs.readSync() (LiviaMedeiros) #42837
- [72b90fd5f5] - test: reduce impact of flaky HTTP server tests (Tobias Nießen) #42926
- [531a0a9980] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #43107
- [64daaca46d] - tools: update eslint to 8.15.0 (Node.js GitHub Bot) #43005
- [79872382ef] - tools: refactor lint-sh.js to esm module (Feng Yu) #42942
- [265ecdfe07] - tools: update lint-md-dependencies (Node.js GitHub Bot) #43003
- [e9e1f1e194] - typings: fix os.cpus invalid return type (Himself65) #43006
- [55ef6e81cb] - wasm: add missing init reported by coverity (Michael Dawson) #42897
- [5470578008] - worker: fix stream racing with terminate (Keyhan Vakil) #42874
New in Node.js 18.1.0 Current (May 3, 2022)
- Notable Changes:
- [c46e7bbf69] - doc: add @kuriyosh to collaborators (Yoshiki Kurihara) #42824
- [b0f7c4c8f9] - (SEMVER-MINOR) lib,src: implement WebAssembly Web API (Tobias Nießen) #42701
- [78a860ae58] - (SEMVER-MINOR) test_runner: add initial CLI runner (Colin Ihrig) #42658
- [bf9240ae8c] - (SEMVER-MINOR) worker: add hasRef() to MessagePort (Darshan Sen) #42849
- Commits:
- [4694f5bb96] - async_hooks: avoid decrementing iterator after erase (Gabriel Bota) #42749
- [459546b4f0] - benchmark: fix misc/startup failure (Antoine du Hamel) #42746
- [6bd24204ea] - bootstrap: use the isolate snapshot in workers (Joyee Cheung) #42702
- [29c8411f99] - bootstrap: move embedded snapshot to SnapshotBuilder (Joyee Cheung) #42702
- [4050b0d64f] - build: enable V8's shared read-only heap (Michaël Zasso) #42809
- [f9994e2029] - build: improve reliability of find_python.cmd script (Luigi Pinca) #42810
- [5d15eb1a14] - build: fix format-cpp (Darshan Sen) #42764
- [7c973474bf] - build: improve the format-cpp error message (Darshan Sen) #42765
- [7681e60829] - crypto: validate this in all webcrypto methods and getters (Filip Skokan) #42815
- [2a4c8263c3] - deps: update undici to 5.1.1 (Michaël Zasso) #42939
- [1102922ef9] - deps: upgrade npm to 8.8.0 (npm team) #42886
- [279892987b] - deps: remove linux-ppc64 architecture (Daniel Bevenius) #42616
- [4abe9879ae] - deps: remove linux-ppc architecture (Daniel Bevenius) #42616
- [8dc71f2266] - deps: remove aix-gcc architecture (Daniel Bevenius) #42616
- [6dc1f82384] - deps: remove archs/aix64-gcc (Daniel Bevenius) #42616
- [e8734a4771] - deps: add note about removing asm archs (Daniel Bevenius) #42616
- [7fae2c9d6e] - deps: add template for generated headers (Daniel Bevenius) #42616
- [294664e32c] - deps: upgrade npm to 8.7.0 (npm team) #42744
- [60e461c45d] - doc: reword "test directory" (LiviaMedeiros) #42817
- [227a45ba60] - doc: remove legacy -J test.py option from BUILDING.md (LiviaMedeiros) #42817
- [e313dc6ed9] - doc: http2.createServer options as optional (Daeyeon Jeong) #42832
- [8f2b2280cd] - doc: record March 2022 security release steward (Richard Lau) #42876
- [e15d22c024] - doc: initial version of security-model-strategy.md (Michael Dawson) #42709
- [fe65996790] - doc: clarify guide on testing internal errors (Livia Medeiros) #42813
- [2f849a460f] - doc: fix markdown formatting in primordials.md (Tobias Nießen) #42877
- [cd2f5a4fd4] - doc: add primordials guidelines (Antoine du Hamel) #38635
- [2d76f72665] - doc: elevate node-clinic diagnostic tier (RafaelGSS) #42802
- [9b61ac2617] - doc: update WebAssembly strategy with Wasm Web API (Tobias Nießen) #42836
- [c6c1dc5833] - doc: order vm.Module linker arguments correctly (Simen Bekkhus) #42797
- [c46e7bbf69] - doc: add @kuriyosh to collaborators (Yoshiki Kurihara) #42824
- [59da1339b4] - doc: add maintaining-webassembly.md (Michael Dawson) #42660
- [d9f3f05cab] - doc: fix outdated documentation for family property (Antoine du Hamel) #42789
- [6fa080cb48] - doc: delete heapdump from diagnostic tooling support tiers (Tony Gorez) #42783
- [c32f76d49e] - doc: fix example in assert.md (Livia Medeiros) #42786
- [6225370b2e] - doc: fix version history for Loaders API (Antoine du Hamel) #42778
- [3d65a3b13e] - doc: add node: prefix for all core modules (Antoine du Hamel) #42752
- [46c880b99b] - doc: clarify core modules that can be loaded without a prefix (Antoine du Hamel) #42753
- [025b3e786a] - doc: consolidate use of multiple-byte units (Antoine du Hamel) #42587
- [962d80b7a1] - doc: add documentation for inherited methods (Luigi Pinca) #42691
- [222b3e6674] - doc: close tag in n-api.md (Livia Medeiros) #42751
- [4c30936065] - doc: copyedit http.OutgoingMessage documentation (Luigi Pinca) #42733
- [d77c59d0f2] - doc: improve fragment (:target) anchors behavior on HTML version (Antoine du Hamel) #42739
- [c50309cb39] - doc: fix added: info for outgoingMessage.writable* (Luigi Pinca) #42737
- [6b7c35e807] - doc: delete mdb_v8 from diagnostic tooling support tiers (Tony Gorez) #42626
- [2a07a9fc3a] - doc: document the 'close' and 'finish' events (Luigi Pinca) #42704
- [ef5ab8179b] - doc: fix added: info for outgoingMessage.{,un}cork() (Luigi Pinca) #42711
- [a6e1e7a5d7] - doc,test: add tests and docs for duplex.fromWeb and duplex.toWeb (Erick Wendel) #42738
- [336242a7c6] - errors,console: refactor to use ES2021 syntax (小菜) #42872
- [0e16120d0d] - errors,vm: update error and use cause (Gus Caplan) #42820
- [a0638a23b0] - esm: fix imports from non-file module (Antoine du Hamel) #42881
- [dab15f69e3] - esm: graduate top-level-await to stable (Antoine du Hamel) #42875
- [48bbb73f36] - fs: fix mkdirSync so ENOSPC is correctly reported (Santiago Gimeno) #42811
- [d33cbabd79] - lib: remove experimental warning from FormData (Xuguang Mei) #42807
- [ad8269450a] - lib,src: use Response URL as WebAssembly location (Tobias Nießen) #42842
- [b0f7c4c8f9] - (SEMVER-MINOR) lib,src: implement WebAssembly Web API (Tobias Nießen) #42701
- [fdc65032a7] - meta: update AUTHORS (Node.js GitHub Bot) #42848
- [33ac027fdf] - meta: move one or more collaborators to emeritus (Node.js GitHub Bot) #42769
- [14893c5984] - meta: update AUTHORS (Node.js GitHub Bot) #42760
- [2f38b4812c] - meta: move mmarchini to emeritus (mary marchini) #42750
- [718d11fdb0] - perf_hooks: return different functions in timerify (Himself65) #42854
- [e8083664e1] - src: turn SSL_CTX_new CHECK/segfault into JS exception (Anna Henningsen) #42799
- [37ca1102c4] - src: make --no-node-snapshot a per-process option (Joyee Cheung) #42864
- [1976284a92] - src: define fs.constants.S_IWUSR & S_IRUSR for Win (Liviu Ionescu) #42757
- [b7e9dd0278] - src: use node: prefix in example (Antoine du Hamel) #42794
- [1a7af6364d] - src: large page attributing an id on Linux (David CARLIER) #42644
- [494650c09f] - src,crypto: remove uses of AllocatedBuffer from crypto_ec.cc (Darshan Sen) #42766
- [8e0e576669] - test: add tests for extracting function name (Kohei Ueno) #42399
- [fbda87d966] - test: simplify test-gc-{http-client,net}-* (Luigi Pinca) #42782
- [3c796f8328] - test: fix parallel/test-dgram-udp6-link-local-address (Antoine du Hamel) #42795
- [b85a11c28e] - test: improve lib/internal/test_runner/test.js coverage (MURAKAMI Masahiko) #42745
- [59c07a99fb] - test: check ecdsa psychic signature (Filip Skokan) #42863
- [0725064695] - test: fix port in net-perf_hooks (Livia Medeiros) #42761
- [7b701442de] - test: skip test that cannot pass under --node-builtin-modules-path (Geoffrey Booth) #42834
- [37364abc58] - test: fix flaky HTTP server tests (Tobias Nießen) #42846
- [8476ffb85a] - test: use assert.match() instead of assert(regex.test()) (Antoine du Hamel) #42803
- [d311916f37] - test: fix calculations in test-worker-resource-limits (Joyee Cheung) #42702
- [deb3cf49c7] - test: remove the legacy url parser function (Kohei Ueno) #42656
- [be44b1ffcb] - test: improve test coverage of internal/blob (Yoshiki Kurihara) #41513
- [78a860ae58] - (SEMVER-MINOR) test_runner: add initial CLI runner (Colin Ihrig) #42658
- [1e7479d34c] - tools: update lint-md-dependencies (Node.js GitHub Bot) #42932
- [c3c5fe78dc] - tools: bump jsdoccomment from 0.22.1 to 0.29.0 (Rich Trott) #42857
- [97fc00a06e] - tools: update eslint to 8.14.0 (Node.js GitHub Bot) #42845
- [93fd77a16f] - tools: update doc to [email protected] (Node.js GitHub Bot) #42758
- [47c04813f7] - tools: update lint-md-dependencies (Node.js GitHub Bot) #42759
- [18ae2c39d5] - tools: lint osx shell scripts (Livia Medeiros) #42712
- [4af0fbd41e] - v8: export cpu_profiler_metadata_size in getHeapCodeStatistics (theanarkh) #42818
- [a19fb609d8] - v8: export more fields in getHeapStatistics (theanarkh) #42784
- [1b5856a2a9] - wasi: remove unecessary null check (Michael Dawson) #42819
- [bf9240ae8c] - (SEMVER-MINOR) worker: add hasRef() to MessagePort (Darshan Sen) #42849
- [c3922afa1c] - worker: add hasRef() to the handle object (Darshan Sen) #42756
New in Node.js 16.15.0 LTS (Apr 28, 2022)
- Notable changes:
- Add fetch API:
- Adds experimental support to the fetch API. This adds the --experimental-fetch flag that installs the fetch, Request, Response, Headers, and FormData globals.
- (SEMVER-MINOR) add fetch (Michaël Zasso) #41749
- (SEMVER-MINOR) add FormData global when fetch is enabled (Michaël Zasso) #41956
- Other notable changes:
- build:
- remove broken x32 arch support (Ben Noordhuis) #41905
- crypto:
- (SEMVER-MINOR) add KeyObject.prototype.equals method (Filip Skokan) #42093
- doc:
- add @ShogunPanda to collaborators (Paolo Insogna) #42362
- add JakobJingleheimer to collaborators list (Jacob Smith) #42185
- add joesepi to collaborators (Joe Sepi) #41914
- add marsonya to collaborators (Akhil Marsonya) #41991
- deprecate string coercion in fs.write, fs.writeFileSync (Livia Medeiros) #42149
- deprecate notice for process methods (Yash Ladha) #41587
- esm:
- (SEMVER-MINOR) support https remotely and http locally under flag (Bradley Farias) #36328
- module:
- (SEMVER-MINOR) unflag esm json modules (Geoffrey Booth) #41736
- node-api:
- (SEMVER-MINOR) add node_api_symbol_for() (Darshan Sen) #41329
- process:
- deprecate multipleResolves (Benjamin Gruenbaum) #41872
- stream:
- (SEMVER-MINOR) support some and every (Benjamin Gruenbaum) #41573
- (SEMVER-MINOR) add toArray (Benjamin Gruenbaum) #41553
- (SEMVER-MINOR) add forEach method (Benjamin Gruenbaum) #41445
- Commits:
- [3d4df9cd70] - (SEMVER-MINOR) benchmark: add subarray to buffer-slice (Benjamin Gruenbaum) #41596
- [d40f5a177a] - buffer: improve blob read performance (Xuguang Mei) #42117
- [84752a495f] - (SEMVER-MINOR) buffer: alias subarray and slice (Benjamin Gruenbaum) #41596
- [c5da1dda4a] - build: use ccache in make-v8.sh on ppc64le and s390x (Richard Lau) #42204
- [ba56e41953] - build: drop shortened URL from lint-commit-message (Richard Lau) #42168
- [b2c88ec69c] - build: fix usage of input in feature action (Michael Dawson) #42150
- [bcabd70d93] - build: increase max ops for stale feature action (Michael Dawson) #42130
- [042fb6f4d5] - build: add corepack to the auto-updated dependencies (Maël Nison) #42090
- [611cbf13a6] - build: last test of the stale feature action (Michael Dawson) #42085
- [0d8f76ff2f] - build: update feature close action for testing (Michael Dawson) #42082
- [bc3d8a752f] - build: cancel running CI jobs when a PR is updated (Michaël Zasso) #42017
- [e049173bce] - build: increase operations and test tag (Michael Dawson) #42038
- [4c47d59e9b] - build: allow manual run of feature request action (Michael Dawson) #42037
- [692ee2ae06] - build: add action to close stale feature requests (Michael Dawson) #41981
- [290a2bfd81] - build: prevent concurrent CI and CQ workflow runs (Michaël Zasso) #42016
- [d2c1624279] - build: use zoslib_include_dir provided by node-gyp (alexcfyung) #41713
- [db4a3dc1a6] - build: move tool updates workflow runtime a day later (Rich Trott) #41982
- [24d0c32af4] - build: extend yamllint configuration (Mestery) #41756
- [428b967ea4] - build: remove broken x32 arch support (Ben Noordhuis) #41905
- [51847e0d24] - build: revert fast-track changes (Filip Skokan) #41892
- [1452f8d6f1] - build: improve consistency between workflows (Mestery) #41791
- [9677da4b46] - (SEMVER-MINOR) build: add --v8-enable-hugepage flag (Daoming Qiu) #41487
- [5468de5317] - build,tools: change the quotes in YAML (Mestery) #41756
- [f32c39762c] - child_process: kHideConsoleWindows for spawnSync (Raymond Zhao) #41412
- [914f9071ba] - cluster: respect listen backlog set by workers (Elad Nava) #41623
- [f990308972] - crypto: fix auth tag length error when mode != GCM (Tobias Nießen) #42383
- [7f43f94304] - crypto: fix fingerprint string size calculation (Tobias Nießen) #42175
- [602f34eeb8] - crypto: add CHECKs to remaining BIO_s_mem allocs (Tobias Nießen) #42155
- [4eecb25125] - crypto: validate this value for webcrypto.getRandomValues (Antoine du Hamel) #41760
- [b7599d8b14] - (SEMVER-MINOR) crypto: add KeyObject.prototype.equals method (Filip Skokan) #42093
- [70ae0ae8a0] - crypto: check result of BIO_new in X509ToObject (Tobias Nießen) #41979
- [36b9028f4f] - crypto: rename X509_NAME_FLAGS (Tobias Nießen) #42001
- [a592442218] - (SEMVER-MINOR) crypto: expose Web Crypto API on the global scope (Antoine du Hamel) #41938
- [46dda316df] - crypto: do not advertise unsupported algorithms (Brian White) #41864
- [adb88fcb46] - (SEMVER-MINOR) crypto: support RFC 2818 compatible checkHost (Tobias Nießen) #41569
- [e9d7af1cc6] - debugger: correct typo in inspect_repl.js (Kohei Ueno) #42267
- [e6019a4cc0] - debugger: add debugger alias for exec(expr) (Xuguang Mei) #41907
- [83691ada5b] - debugger: remove duplicate setPauseOnException call (Balakrishna Avulapati) #41838
- [7e73e5e46b] - deps: upgrade npm to 8.5.5 (npm team) #42382
- [8d734cbde6] - deps: cares: cherry-pick b5a3d96 (bradh352) #42216
- [ba1d949ce0] - deps: V8: cherry-pick c6f6626deb14 (Lu Yahan) #42240
- [6b721d7103] - deps: upgrade npm to 8.5.3 (npm team) #42205
- [baeb66a35a] - deps: update nghttp2 to 1.47.0 (Yash Ladha) #42127
- [1a0f26f55c] - deps: upgrade npm to 8.5.2 (npm team) #42122
- [396240bf80] - deps: V8: cherry-pick 77d515484864 (Lu Yahan) #42067
- [3f09a6d227] - deps: V8: cherry-pick b66334313c8b (Lu Yahan) #42067
- [a73536b286] - deps: upgrade npm to 8.5.1 (npm-robot) #42039
- [c64b0381ee] - deps: update undici to 5.0.0 (Node.js GitHub Bot) #42583
- [a670c1fb5f] - deps: update undici to 4.16.0 (Node.js GitHub Bot) #42414
- [721d10751b] - deps: update undici to 4.15.1 (Michaël Zasso) #42246
- [83a667621b] - deps: update undici to 3e267ece5f (Michaël Zasso) #41955
- [208ab5723e] - doc: improve README.md usability (Rich Trott) #42378
- [682248c980] - doc: add that chacha20-poly1305 is IETF version (Tobias Nießen) #42370
- [83391d185c] - doc: document goal to have examples (Michael Dawson) #42274
- [7073017efb] - doc: fix Embedder's Guide link to V8 official docs (Aroyan) #42373
- [cb07930bda] - doc: remove unneeded lint disable comment (Rich Trott) #42374
- [fb42f99514] - doc: revise async_hooks docs (Rich Trott) #42337
- [835e65b78e] - doc: add @ShogunPanda to collaborators (Paolo Insogna) #42362
- [df1909982d] - doc: update base branch name for nodejs/nodejs.org (Danielle Adams) #42355
- [4f6b187059] - doc: fix async iterable pipeline signal examples (Randall Leeds) #42258
- [3188dcb390] - doc: clarify path search in child_process.spawn (Damjan Cvetko) #41418
- [f53b454e2e] - doc: clarify the meaning of legacy status (Darshan Sen) #42269
- [43b8a4fc57] - doc: improve pipe description (Mikael Finstad) #42295
- [9fa6e445d5] - doc: remove outdated timeout.unref content (Xuguang Mei) #42241
- [a84896ea2c] - doc: deprecate string coercion in fs.write, fs.writeFileSync (Livia Medeiros) #42149
- [436bdde654] - doc: remove refs to old OpenSSL list-* commands (Tobias Nießen) #42235
- [6763bede4c] - doc: readline 'line' event emits final line (Matt Probert) #42214
- [6545094a94] - doc: update stale feature messages (Michael Dawson) #42217
- [275b66d54e] - doc: remove erroneous comma in cluster explainer (Tobias Nießen) #42238
- [cda623cc1d] - doc: remove "considered" for clarity (Rich Trott) #42218
- [17172fef20] - doc: clarify that some modules don't work when compiled without ssl (Antoine du Hamel) #42198
- [126045356a] - doc: add note about nghttp2 hd pair size (Rafael Silva) #42172
- [63b468f753] - doc: use parenthesis instead of em dash (Antoine du Hamel) #42202
- [19b62ddd68] - doc: add next-10 to strategic initiatives (Michael Dawson) #42167
- [993a943f2c] - doc: add missing single-quotes to http.OutgoingMessage (Juan José Arboleda) #42162
- [d0ce089622] - doc: fix typos (apeltop) #42146
- [88e67b8ec3] - doc: add JakobJingleheimer to collaborators list (Jacob Smith) #42185
- [5322c73241] - doc: remove reference to obsolete security program (Rich Trott) #42144
- [5980b6d133] - doc: remove repeated a word (apeltop) #42138
- [a70a1ce3a9] - doc: make building with ninja more discoverable (Balakrishna Avulapati) #41840
- [bc457c2339] - doc: document change to IncomingMessage.headers enumerability (Arnold Zokas) #42095
- [1eb4d8b89c] - doc: add meixg to triagers (Xuguang Mei) #42066
- [3d75c8748c] - doc: clarify persistent ref behavior (Michael Dawson) #42035
- [8c26d8cea1] - doc: move bnoordhuis back to collaborators (Ben Noordhuis) #42064
- [0c21b58d57] - doc: clarify supported versus enabled TLS ciphers (Tobias Nießen) #42063
- [a658437c64] - doc: add missing api entries on performance (legendecas) #42018
- [51cb78022e] - doc: fix typo in http2 endAfterHeaders description (Alexandru Comanescu) #42060
- [40ddfa4e69] - doc: make minor fixes to contributing guides (T-O-R-U-S) #41966
- [60d6409af0] - doc: use openpgp.org for keyserver examples (Nick Schonning) #39227
- [9800719237] - doc: adjust a/an word usage (Derek Wolpert) #41915
- [43894b1bc4] - doc: capitalize valgrind (T•Ø•R•Ü•S) #41986
- [a34cc75026] - doc: fix deprecation number (Antoine du Hamel) #41990
- [dd88f54d57] - doc: add marsonya to collaborators (Akhil Marsonya) #41991
- [8858950a9f] - doc: deprecate notice for process methods (Yash Ladha) #41587
- [d77db88386] - doc: fix bug in readable.unshift code example (Xuguang Mei) #41944
- [81e56c9178] - doc: add missing buffer in the stream/consumers import example (Mestery) #41961
- [c08efba968] - doc: fix typo in readableStream.locked description (Tobias Nießen) #41923
- [e21831bad1] - doc: fix wrong indent in stream documentation (Xuguang Mei) #41943
- [e55f340052] - doc: emphasize security warning in vm module doc (Rich Trott) #41916
- [ce15007fd7] - doc: clarify tls.Server 'connection' event documentation (Austin Cheney) #41917
- [6fc0a25b64] - doc: improve scrollbar appearance in dark mode (Aaron Xie) #41890
- [90d955100d] - doc: replace text with paths in toggle SVGs (Brian White) #41885
- [6fd538331d] - doc: edit process.config deprecation text (Rich Trott) #41889
- [55caa10c54] - doc: add joesepi to collaborators (Joe Sepi) #41914
- [73f3a2cf96] - doc: remove unneeded ellipsis in header (Rich Trott) #41888
- [b950f5db84] - doc: fix webstream close reject state state doc (Benjamin Gruenbaum) #41860
- [e46c7d6f69] - (SEMVER-MINOR) doc: deprecate buffer.slice (Benjamin Gruenbaum) #41596
- [83129729c6] - doc: fix backticks around 'default' (Tobias Nießen) #41613
- [f8819e86fd] - doc: fix version history for net.Socket and net.Server (Antoine du Hamel) #42268
- [12bf85a606] - doc,tools: improve navigability of API docs (Paolo Insogna) #41404
- [37f6f92905] - errors: do not access .stack in debug (Benjamin Coe) #42096
- [166eb782f9] - esm: fix base URL for network imports (Bradley Farias) #42131
- [b68db72746] - esm: fix relative imports for https (Bradley Farias) #42119
- [c777cb3368] - esm: make extension-less errors in type:module actionable (Bradley Farias) #42301
- [2e42ccf1a5] - esm: improve typings and code coverage (Bradley Farias) #42305
- [25017ca107] - esm: add runtime warning for specifier resolution flag (Geoffrey Booth) #42252
- [1324023fea] - esm: improve fetch_module test coverage and remove hack (Antoine du Hamel) #41947
- [9b8c927d29] - esm: remove erroneous context.parentURL property passed to load hook (Jacob Smith) #41975
- [47cefec5c9] - esm: fix typo in fetch_module (Michael Scovetta) #41924
- [0d185f7930] - (SEMVER-MINOR) esm: support https remotely and http locally under flag (Bradley Farias) #36328
- [b0a83115db] - events: set default handler value (Benjamin Gruenbaum) #41970
- [6b55ba2fa2] - fs: adjust default length for fs.readSync and fsPromises/read (Livia Medeiros) #42128
- [da87c731b8] - fs: fix default length parameter for fs.read (wbt) #40349
- [33e4a32f9e] - (SEMVER-MINOR) fs: support copy of relative links with cp and cpSync (Marcos Bjoerkelund) #41819
- [571eb6dc74] - fs: fix cb/sync writev empty array behavior (Benjamin Gruenbaum) #41932
- [257a7a5802] - fs: fix writev empty array error behavior (Benjamin Gruenbaum) #41919
- [2d165652f1] - fs: refactor to use ES2020 syntax (小菜) #41903
- [39fb114dde] - (SEMVER-MINOR) http: trace http client by perf_hooks (theanarkh) #42345
- [16c00c6ac8] - http: add default argument for Agent.prototype.getName (小菜) #41906
- [d301a8825b] - http2: fix potential integer overflow (Michael Dawson) #42248
- [ddef6bbcb8] - http2: add edge case to GOAWAY request (Rafael Silva) #42190
- [28af75ef65] - http2: close stream and session on frameError (Rafael Silva) #42147
- [ebe2b6d21e] - lib: refactor to use primordials in lib/assert.js (Akhil Marsonya) #41702
- [dcebb99dfc] - lib: fix AsyncResource.bind not using 'this' from the caller by default (Roch Devost) #42177
- [e1704407ae] - lib: clean after the cancel algorithm throw error (Chen Gang) #41366
- [91a06bd629] - lib: add legacy built-in functions to primordials (Antoine du Hamel) #42049
- [e80043fb61] - lib: stop installing webcrypto if no_browser_globals is true (Mestery) #41971
- [9946b9bceb] - lib: allow respondWithNewView on byob auto allocated streams (Sean Quinlan) #41887
- [f4e39171de] - lib: restrict usage of fetch related globals in core internals (Antoine du Hamel) #41957
- [b1f0cc6412] - lib: move kEnumerableProperty to internal/util (Mestery) #41877
- [2a85e0ac00] - lib: add internal genericNodeError() function (Rich Trott) #41879
- [647805a747] - (SEMVER-MINOR) lib: add FormData global when fetch is enabled (Michaël Zasso) #41956
- [f17ce913c9] - (SEMVER-MINOR) lib: add fetch (Michaël Zasso) #41749
- [2cbf45b8a5] - loader: fix esm resolve for symlink file (Xuguang Mei) #42197
- [a363842261] - meta: update AUTHORS (Node.js GitHub Bot) #42404
- [a122eb1989] - meta: update AUTHORS (Node.js GitHub Bot) #42317
- [c56e15a0eb] - meta: add dependencies label to label-pr-config (Mestery) #42129
- [137ca4e1d4] - meta: update AUTHORS (Node.js GitHub Bot) #42227
- [09ab04696f] - meta: update AUTHORS (Node.js GitHub Bot) #42142
- [d4d9c00949] - meta: correct link to feature request document (Simen Bekkhus) #42092
- [2135f8e6cb] - meta: move one or more collaborators to emeritus (Node.js GitHub Bot) #42068
- [b969a278eb] - meta: remove collaborator (Rich Trott) #42073
- [de035bceda] - meta: update AUTHORS (Node.js GitHub Bot) #42058
- [f5ffa34f77] - meta: use plain emojis instead of escape sequences (Mestery) #41989
- [6f1adf1f3e] - meta: update AUTHORS and .mailmap (Rich Trott) #41953
- [363028c887] - (SEMVER-MINOR) module: unflag esm json modules (Geoffrey Booth) #41736
- [b3afb20b44] - (SEMVER-MINOR) net: add new options to net.Socket and net.Server (Paolo Insogna) #41310
- [bd48ad9c16] - node-api: fix typo in node_api.cc (Austin Kelleher) #42110
- [11ec3345e7] - (SEMVER-MINOR) node-api: add node_api_symbol_for() (Darshan Sen) #41329
- [7c0b8ca5ac] - perf_hooks: do not return all entries with getEntriesBy[Name|Type] (Xuguang Mei) #42104
- [b7a307f0ed] - perf_hooks: use arrays to store EntryBuffers (Xuguang Mei) #42032
- [61ecdf8f12] - process: fix named report export (madflow) #41861
- [bc08165953] - process: deprecate multipleResolves (Benjamin Gruenbaum) #41872
- [a88d4a2e2c] - repl: remove preview when press escape (meixg) #42053
- [83267aaa7f] - repl: #41690 REPL gives wrong autocomplete on literals (Xuguang Mei) #41883
- [73ce911a6f] - src: convert hex2bin() into a regular function (Darshan Sen) #42321
- [7fe16ecc7a] - src: fix coverity warnings in node_file.cc (Michael Dawson) #42272
- [5b30e28eb4] - src: check EC_POINT_get_affine_coordinates result (Tobias Nießen) #42304
- [57b619da46] - src: simplify bound check in ParseArrayIndex (Tobias Nießen) #42306
- [0e3e3fda22] - src: avoid returning invalid value from hex2bin (Tobias Nießen) #42307
- [5eaa59159f] - src: check return value of HMAC_Final (Tobias Nießen) #42303
- [376b3c4293] - src: include internal/options in the snapshot (Joyee Cheung) #42203
- [268fd97925] - src: remove redundant buffer size check (Tobias Nießen) #42257
- [90ce5c9fc5] - src: perform minor cleanups on zlib code (Anna Henningsen) #42247
- [de3748a7e7] - src: use emplace_back instead of push_back (Yash Ladha) #42159
- [830f93d892] - src: fix unchecked return warning from coverity (Michael Dawson) #42176
- [db9f7752a9] - src: return proper URLs from node_api_get_module_file_name (Anna Henningsen) #41758
- [d4b1b5cf85] - src: skip revoke_data_object if uuid is not found (Xuguang Mei) #42212
- [3026449009] - src: remove dead code in AddFingerprintDigest (Tobias Nießen) #42145
- [29fd5ff37d] - src: combine GetCurveASN1Name and GetCurveNistName (Tobias Nießen) #42118
- [447ae8c5a3] - src: simplify TLSWrap::SetSession (Tobias Nießen) #42087
- [2fe17f3891] - src: prefer bool over int in crypto_common (Tobias Nießen) #42097
- [237f47e38e] - src: simplify arg type of AddFingerprintDigest (Tobias Nießen) #42101
- [4244b1a0bb] - src: do not ignore return value of BIO_reset (Tobias Nießen) #42103
- [e77a7cf985] - src: simplify GetExponentString (Tobias Nießen) #42121
- [c811b8a1cb] - (SEMVER-MINOR) src: allow preventing InitializeInspector in env (Shelley Vohr) #35025
- [af73a853f5] - src: use const reference instead of pointer in URL::SerializeURL (Anna Henningsen) #41759
- [703593ab2a] - src: reserve string allocation space early in URL::SerializeURL (Anna Henningsen) #41759
- [170a6cb33e] - src: fix query/fragment serialization in URL::SerializeURL (Anna Henningsen) #41759
- [86b9d3af98] - src: don't print interface if sin6_scope_id is 0 (Santiago Gimeno) #41547
- [fdea60e958] - src,buffer: evaluate THROW_AND_RETURN_IF_OOB() expression only once (Darshan Sen) #41945
- [bf1f485c8d] - src,crypto: avoid tristate Maybe in ExportJWKEcKey() (Darshan Sen) #42223
- [a5b189cda7] - stream: use .chunk when calling adapters's writev (Xuguang Mei) #42161
- [0c690456cf] - stream: add more forEach tests (Benjamin Gruenbaum) #41937
- [f12cf6db47] - (SEMVER-MINOR) stream: add reduce (Benjamin Gruenbaum) #41669
- [4b6343964e] - stream: use synchronous error validation on iteration helpers (iMoses) #41652
- [60e28ba507] - stream: add asIndexedPairs (Benjamin Gruenbaum) #41681
- [88a48197c4] - stream: add drop and take (Benjamin Gruenbaum) #41630
- [205c018ab4] - (SEMVER-MINOR) stream: support flatMap (Benjamin Gruenbaum) #41612
- [0be2321d53] - (SEMVER-MINOR) stream: support some and every (Benjamin Gruenbaum) #41573
- [ac8526e9a5] - (SEMVER-MINOR) stream: add toArray (Benjamin Gruenbaum) #41553
- [dcc58314b9] - (SEMVER-MINOR) stream: add forEach method (Benjamin Gruenbaum) #41445
- [f21f104c7c] - string_decoder: fix crash when calling __proto__.write() (Darshan Sen) #42062
- [e3bced182c] - test: give slow tests more time on Rasberry PIs (Michael Dawson) #42380
- [04243a85c7] - test: improve https_renew_cert.sh script (Tobias Nießen) #42343
- [6d422ad807] - test: improve _http_incoming.js coverage (Yoshiki Kurihara) #42211
- [3d37efe588] - test: improve _http_outgoing coverage (Yoshiki Kurihara) #42213
- [245577e15c] - test: add test case for reverted 17.7 regression (Rich Trott) #42283
- [3cc06de597] - test: use global webcrypto for WPT tests (Antoine du Hamel) #42236
- [623be18fa3] - test: cover 32-bit sizes in generatePrime (Tobias Nießen) #42207
- [70281e17ad] - test: fix test-process-env-tz.js by using RegExp (Khaidi Chu) #42113
- [33b11a3548] - test: update V8 trace events test expectations (Nikolaos Papaspyrou) #42120
- [978b50fe44] - test: deflake test-common-expect-warning (Luigi Pinca) #42046
- [629d06ace8] - test: validate EventEmitterAsyncResource methods throw on invalid this (Yoshiki Kurihara) #42041
- [17af006e38] - test: increase Fibonacci argument to 40 (Rich Trott) #42055
- [b06780801c] - test: remove test-stdout-close-catch flaky designation (Rich Trott) #42045
- [9ae6982387] - test: check that fetch globals are disabled by default (Michaël Zasso) #42015
- [2a1a94bbbb] - test: improve vm test coverage (Yoshiki Kurihara) #41847
- [3e354da097] - test: run webmessaging/broadcastchannel WPT (Ben Noordhuis) #41962
- [711e863084] - test: fix names of tests marked flaky on IBM i (Richard Lau) #41984
- [95eb03c298] - test: fix typographical error (Rich Trott) #41983
- [31def41391] - test: fix intl tests on small-icu builds (Antoine du Hamel) #41939
- [11e76fcba4] - test: remove lint rule for setTimeout() arguments (Rich Trott) #41901
- [fd8bf09608] - test: move test-crypto-engine to addon (Michael Dawson) #41830
- [25109a6471] - test: improve stability of oom test (Benjamin Gruenbaum) #41681
- [ad17c9ce0c] - test,crypto: add and update empty passphrase regression tests (Darshan Sen) #42319
- [9649d656ba] - tls: avoid throw in onerror for bad TLSSocket obj (Valters Jansons) #41523
- [789e6041a6] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #42403
- [1c1061549a] - tools: update doc to [email protected] [email protected] (Node.js GitHub Bot) #42315
- [97aa236083] - tools: update lint-md-dependencies to [email protected] [email protected] (Node.js GitHub Bot) #42316
- [7636370bdb] - tools: update eslint to 8.11.0 (Node.js GitHub Bot) #42318
- [359395393f] - tools: fix web streams API links (Brian White) #42153
- [fe5578b627] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #42226
- [8532f83c8e] - tools: update lint-md rollup dependencies (Node.js GitHub Bot) #42141
- [f2a16158a0] - tools: update eslint to 8.10.0 (Node.js GitHub Bot) #42143
- [11f747b0e4] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #42057
- [c47b436bd0] - tools: enable es2022 env in ESLint config (Michaël Zasso) #42043
- [bbdf285a39] - tools: add console to the list of restricted globals (Antoine du Hamel) #42012
- [aace6c2626] - tools: lint deprecation codes (Antoine du Hamel) #41992
- [c229889022] - tools: fix bugs in prefer-primordials linter rule (Antoine du Hamel) #42010
- [410d0ce44a] - tools: add timers functions to the list of restricted globals (Antoine du Hamel) #42013
- [06d8c53e62] - tools: reduce list of globals in ESLint config (Rich Trott) #41996
- [82b64f44fc] - tools: update remark-preset-lint-node to 3.3.1 (Rich Trott) #41999
- [1db9cc7e59] - tools: update ESLint to 8.9.0 (Luigi Pinca) #41973
- [f8c6232f90] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #41941
- [57d5576c4d] - tools: fix typo in prefer-primordials.js (Ikko Ashimine) #41891
- [4bba27935a] - tools,lib: remove global and Intl from the list of globals (Antoine du Hamel) #42014
- [e918570d10] - url: preserve null char in WHATWG URL errors (Rich Trott) #42263
- [962a8ec350] - url: trim leading and trailing C0 control chars (Rich Trott) #42196
- [78647edba7] - url, src: modify one special_back_slash (Khaidi Chu) #42112
- [a458fbf949] - worker: do not send message if port is closing (Rich Trott) #42357
- [604621a275] - worker: fix typo in debug statement (Antoine du Hamel) #42011
- [237affc951] - (SEMVER-MINOR) worker: graduate get/setEnvironmentData APIs (James M Snell) #41272
New in Node.js 18.0.0 Current (Apr 20, 2022)
- Node.js 18 is here! Highlights include the update of the V8 JavaScript engine to 10.1, global fetch enabled by default, and a core test runner module.
- Initially, Node.js 18 will replace Node.js 17 as our ‘Current’ release line. As per the release schedule, Node.js 18 will be the ‘Current’ release for the next 6 months and then promoted to Long-term Support (LTS) in October 2022. Once promoted to long-term support the release will be designated the codename ‘Hydrogen’. Node.js 18 will be supported until April 2025.
- Notable Changes:
- Deprecations and Removals:
- (SEMVER-MAJOR) fs: runtime deprecate string coercion in fs.write, fs.writeFileSync (Livia Medeiros) #42607
- (SEMVER-MAJOR) dns: remove dns.lookup and dnsPromises.lookup options type coercion (Antoine du Hamel) #41431
- (SEMVER-MAJOR) process: runtime deprecate multipleResolves (Benjamin Gruenbaum) #41896
- (SEMVER-MAJOR) stream: remove thenable support (Robert Nagy) #40773
- (SEMVER-MAJOR) tls: move tls.parseCertString to end-of-life (Tobias Nießen) #41479
- fetch (experimental):
- An experimental fetch API is available on the global scope by default. The implementation is based upon undici, an HTTP/1.1 client written for Node.js by contributors to the project.
- Through this addition, the following globals are made available: fetch, FormData, Headers, Request, Response.
- Disable this API with the --no-experimental-fetch command-line flag.
- Contributed by Michaël Zasso in #41811.
- HTTP Timeouts:
- server.headersTimeout which limits the amount of time the parser will wait to receive the complete HTTP headers is now set to 60000 (60 seconds) by default.
- server.requestTimeout which sets the timeout value in milliseconds for receiving the entire request from the client is now set to 300000 (5 minutes) by default.
- If these timeouts expire, the server responds with status 408 without forwarding the request to the request listener and then closes the connection.
- Both timeouts must be set to a non-zero value to protect against potential Denial-of-Service attacks in case the server is deployed without a reverse proxy in front.
- Contributed by Paolo Insogna in #41263.
- Test Runner module (experimental):
- The node:test module facilitates the creation of JavaScript tests that report results in TAP format. To access it:
- import test from 'node:test';
- This module is only available under the node: scheme.
- Contributed by Colin Ihrig in #42325.
- Toolchain and Compiler Upgrades:
- Prebuilt binaries for Linux are now built on Red Hat Enterprise Linux (RHEL) 8 and are compatible with Linux distributions based on glibc 2.28 or later, for example, Debian 10, RHEL 8, Ubuntu 20.04.
- Prebuilt binaries for macOS now require macOS 10.15 or later.
- For AIX the minimum supported architecture has been raised from Power 7 to Power 8.
- Prebuilt binaries for 32-bit Windows will initially not be available due to issues building the V8 dependency in Node.js. We hope to restore 32-bit Windows binaries for Node.js 18 with a future V8 update.
- Node.js does not support running on operating systems that are no longer supported by their vendor. For operating systems where their vendor has planned to end support earlier than April 2025, such as Windows 8.1 (January 2023) and Windows Server 2012 R2 (October 2023), support for Node.js 18 will end at the earlier date.
- Full details about the supported toolchains and compilers are documented in the Node.js BUILDING.md file.
- Contributed by Richard Lau in #42292, #42604 and #42659,and Michaël Zasso in #42105 and #42666.
- V8 10.1:
- The V8 engine is updated to version 10.1, which is part of Chromium 101. Compared to the version included in Node.js 17.9.0, the following new features are included:
- The findLast and findLastIndex array methods.
- Improvements to the Intl.Locale API.
- The Intl.supportedValuesOf function.
- Improved performance of class fields and private class methods (the initialization of them is now as fast as ordinary property stores).
- The data format returned by the serialization API (v8.serialize(value)) has changed, and cannot be deserialized by earlier versions of Node.js. On the other hand, it is still possible to deserialize the previous format, as the API is backwards-compatible.
- Contributed by Michaël Zasso in #42657.
- Web Streams API (experimental):
- Node.js now exposes the experimental implementation of the Web Streams API on the global scope. This means the following APIs are now globally available:
- ReadableStream, ReadableStreamDefaultReader, ReadableStreamBYOBReader, ReadableStreamBYOBRequest, ReadableByteStreamController, ReadableStreamDefaultController, TransformStream, TransformStreamDefaultController, WritableStream, WritableStreamDefaultWriter, WritableStreamDefaultController, ByteLengthQueuingStrategy, CountQueuingStrategy, TextEncoderStream, TextDecoderStream, CompressionStream, DecompressionStream.
- Contributed James Snell in #39062, and Antoine du Hamel in #42225.
- Other Notable Changes:
- (SEMVER-MAJOR) buffer: expose Blob as a global (James M Snell) #41270
- (SEMVER-MAJOR) child_process: improve argument validation (Rich Trott) #41305
- doc: add RafaelGSS to collaborators (RafaelGSS) #42718
- (SEMVER-MAJOR) http: make TCP noDelay enabled by default (Paolo Insogna) #42163
- (SEMVER-MAJOR) net: make server.address() return an integer for family (Antoine du Hamel) #41431
- (SEMVER-MAJOR) worker: expose BroadcastChannel as a global (James M Snell) #41271
- (SEMVER-MAJOR) worker: graduate BroadcastChannel to supported (James M Snell) #41271
- Semver-Major Commits:
- [dab8ab2837] - (SEMVER-MAJOR) assert,util: compare RegExp.lastIndex while using deep equal checks (Ruben Bridgewater) #41020
- [cff14bcaef] - (SEMVER-MAJOR) buffer: refactor byteLength to remove outdated optimizations (Rongjian Zhang) #38545
- [cea76dbf33] - (SEMVER-MAJOR) buffer: expose Blob as a global (James M Snell) #41270
- [99c18f4786] - (SEMVER-MAJOR) buffer: graduate Blob from experimental (James M Snell) #41270
- [35d72bf4ec] - (SEMVER-MAJOR) build: make x86 Windows support temporarily experimental (Michaël Zasso) #42666
- [1134d8faf8] - (SEMVER-MAJOR) build: bump macOS deployment target to 10.15 (Richard Lau) #42292
- [27eb91d378] - (SEMVER-MAJOR) build: downgrade Windows 8.1 and server 2012 R2 to experimental (Michaël Zasso) #42105
- [26c973d4b3] - (SEMVER-MAJOR) child_process: improve argument validation (Rich Trott) #41305
- [38007df999] - (SEMVER-MAJOR) cluster: make kill to be just process.kill (Bar Admoni) #34312
- [aed18dfe59] - (SEMVER-MAJOR) crypto: cleanup validation (Mohammed Keyvanzadeh) #39841
- [e1fb6ae02f] - (SEMVER-MAJOR) crypto: prettify othername in PrintGeneralName (Tobias Nießen) #42123
- [36fb79030e] - (SEMVER-MAJOR) crypto: fix X509Certificate toLegacyObject (Tobias Nießen) #42124
- [563b2ed000] - (SEMVER-MAJOR) crypto: use RFC2253 format in PrintGeneralName (Tobias Nießen) #42002
- [18365d8ee6] - (SEMVER-MAJOR) crypto: change default check(Host|Email) behavior (Tobias Nießen) #41600
- [58f3fdcccd] - (SEMVER-MAJOR) deps: V8: cherry-pick semver-major commits from 10.2 (Michaël Zasso) #42657
- [fd4f80ce54] - (SEMVER-MAJOR) deps: update V8 to 10.1.124.6 (Michaël Zasso) #42657
- [974ab4060f] - (SEMVER-MAJOR) deps: update V8 to 9.8.177.9 (Michaël Zasso) #41610
- [270253c4e2] - (SEMVER-MAJOR) deps: update V8 to 9.7.106.18 (Michaël Zasso) #40907
- [08773e3c04] - (SEMVER-MAJOR) dns: remove dns.lookup and dnsPromises.lookup options type coercion (Antoine du Hamel) #41431
- [3671cc0432] - (SEMVER-MAJOR) doc: update minimum glibc requirements for Linux (Richard Lau) #42659
- [646e057680] - (SEMVER-MAJOR) doc: update AIX minimum supported arch (Richard Lau) #42604
- [0bac5478eb] - (SEMVER-MAJOR) fs: runtime deprecate string coercion in fs.write, fs.writeFileSync (Livia Medeiros) #42607
- [3caa2c1a00] - (SEMVER-MAJOR) http: refactor headersTimeout and requestTimeout logic (Paolo Insogna) #41263
- [eacd45656a] - (SEMVER-MAJOR) http: make TCP noDelay enabled by default (Paolo Insogna) #42163
- [4944ad0b9e] - (SEMVER-MAJOR) lib: enable fetch by default (Michaël Zasso) #41811
- [8c4b8b201a] - (SEMVER-MAJOR) lib: replace validator and error (Mohammed Keyvanzadeh) #41678
- [3c4ee5267a] - (SEMVER-MAJOR) module,repl: support 'node:'-only core modules (Colin Ihrig) #42325
- [3a26db9697] - (SEMVER-MAJOR) net: make server.address() return an integer for family (Antoine du Hamel) #41431
- [e6a7300a10] - (SEMVER-MAJOR) process: disallow some uses of Object.defineProperty() on process.env (Himself65) #28006
- [60b8e79599] - (SEMVER-MAJOR) process: runtime deprecate multipleResolves (Benjamin Gruenbaum) #41896
- [d36b60e69a] - (SEMVER-MAJOR) readline: fix question still called after closed (Xuguang Mei) #42464
- [58e645de63] - (SEMVER-MAJOR) stream: remove thenable support (Robert Nagy) #40773
- [560cbc5849] - (SEMVER-MAJOR) stream: expose web streams globals, remove runtime experimental warning (Antoine du Hamel) #42225
- [9fb7ac3bbd] - (SEMVER-MAJOR) stream: need to cleanup event listeners if last stream is readable (Xuguang Mei) #41954
- [ceaa299958] - (SEMVER-MAJOR) stream: revert revert map spec compliance (Benjamin Gruenbaum) #41933
- [fe7ca085a7] - (SEMVER-MAJOR) stream: throw invalid arg type from End Of Stream (Jithil P Ponnan) #41766
- [48e784043d] - (SEMVER-MAJOR) stream: don't emit finish after destroy (Robert Nagy) #40852
- [f2170253b6] - (SEMVER-MAJOR) stream: add errored and closed props (Robert Nagy) #40696
- [432d1b50e0] - (SEMVER-MAJOR) test: add initial test module (Colin Ihrig) #42325
- [92567283f4] - (SEMVER-MAJOR) timers: refactor internal classes to ES2015 syntax (Rabbit) #37408
- [65910c0d6c] - (SEMVER-MAJOR) tls: represent registeredID numerically always (Tobias Nießen) #41561
- [807c7e14f4] - (SEMVER-MAJOR) tls: move tls.parseCertString to end-of-life (Tobias Nießen) #41479
- [f524306077] - (SEMVER-MAJOR) url: throw on NULL in IPv6 hostname (Rich Trott) #42313
- [0187bc5cdc] - (SEMVER-MAJOR) v8: make v8.writeHeapSnapshot() error codes consistent (Darshan Sen) #42577
- [74b9baa426] - (SEMVER-MAJOR) v8: make writeHeapSnapshot throw if fopen fails (Antonio Román) #41373
- [ce4d3adf50] - (SEMVER-MAJOR) worker: expose BroadcastChannel as a global (James M Snell) #41271
- [6486a304d3] - (SEMVER-MAJOR) worker: graduate BroadcastChannel to supported (James M Snell) #41271
- Semver-Minor Commits:
- [415726b8c4] - (SEMVER-MINOR) stream: add writableAborted (Robert Nagy) #40802
- [54819f08e0] - (SEMVER-MINOR) test_runner: support 'only' tests (Colin Ihrig) #42514
- Semver-Patch Commits:
- [7533d08b94] - buffer: fix atob input validation (Austin Kelleher) #42662
- [96673bcb96] - build: run clang-format on CI (Darshan Sen) #42681
- [d5462e4558] - build: reset embedder string to "-node.0" (Michaël Zasso) #42657
- [aa52873887] - build: add configure option --v8-enable-short-builtin-calls (daomingq) #42109
- [7ee8a7a463] - build: reset embedder string to "-node.0" (Michaël Zasso) #41610
- [a189dee52a] - build: reset embedder string to "-node.0" (Michaël Zasso) #40907
- [e8697cfe38] - crypto: improve prime size argument validation (Tobias Nießen) #42234
- [a9c0689786] - crypto: fix return type prob reported by coverity (Michael Dawson) #42135
- [e938515b41] - deps: patch V8 to 10.1.124.8 (Michaël Zasso) #42730
- [eba7d2db7f] - deps: V8: cherry-pick ad21d212fc14 (Michaël Zasso) #42657
- [004137e269] - deps: V8: cherry-pick 4c29cf1b7885 (Michaël Zasso) #42657
- [a052c03033] - deps: V8: cherry-pick ca2a787a0b49 (Michaël Zasso) #42657
- [01cea9a8d8] - deps: V8: cherry-pick a2cae2180a7a (Michaël Zasso) #42657
- [d9d26b08ef] - deps: V8: cherry-pick 87ce4f5d98a5 (Michaël Zasso) #42657
- [64a6328505] - deps: make V8 compilable with older glibc (Michaël Zasso) #42657
- [fde59217b9] - deps: V8: fix v8-cppgc.h for MSVC (Jiawen Geng) #42657
- [cdcc82cced] - deps: silence V8's warning on CompileFunction (Michaël Zasso) #40907
- [2f51e121da] - deps: update Acorn to v8.7.0 (Michaël Zasso) #42667
- [6d4b01774b] - deps: update ICU to 71.1 (Michaël Zasso) #42655
- [2d84620f86] - deps: upgrade npm to 8.6.0 (npm team) #42550
- [c7ac11fa25] - deps: update undici to 5.0.0 (Node.js GitHub Bot) #42583
- [468fffdf66] - deps: V8: cherry-pick 50d5fb7a457c (Michaël Zasso) #41610
- [48708be57b] - deps: V8: cherry-pick 79a9d2eb3477 (Michaël Zasso) #41610
- [3c8782f70e] - deps: silence V8's warning on CompileFunction (Michaël Zasso) #40907
- [9318408c49] - deps: silence V8's warning on CompileFunction (Michaël Zasso) #40907
- [e23e345b6c] - deps: V8: cherry-pick 80bbbb143c24 (Michaël Zasso) #40907
- [696ce7df26] - deps: V8: cherry-pick 1cc12b278e22 (Michaël Zasso) #40907
- [aa88e5e4b9] - doc: revise data imports and node: imports sections (Rich Trott) #42734
- [a058cefe29] - doc: fix ESM JSON/data URL import example (Rich Trott) #42728
- [e61b62b9d4] - doc: improve doc for http.ServerResponse inheritance (Luigi Pinca) #42693
- [6669b3857f] - doc: add RafaelGSS to collaborators (RafaelGSS) #42718
- [f825341bab] - doc: add NodeEdKeyGenParams to CryptoKey.algorithm (Tobias Nießen) #42629
- [d4d78361f2] - doc: fix the example for embedders (Momtchil Momtchev) #42671
- [6706be1cdb] - doc: change AES-GCM IV recommendation in WebCrypto (Tobias Nießen) #42611
- [4508c8caa4] - doc: fix added: info for some methods (Luigi Pinca) #42661
- [951dbc045a] - doc: remove unneeded new in Buffer example (Niklas Mischkulnig) #42682
- [65e838071b] - doc: mark worker.id as integer in cluster docs (Tobias Nießen) #42684
- [a82713cbb6] - doc: recommend fh.createWriteStream for fsPromises methods (Antoine du Hamel) #42653
- [13ad8d4e09] - doc: fix outgoingMessage.removeHeader() signature (Luigi Pinca) #42652
- [a0461255c0] - doc: mark tlsSocket.authorized as boolean property (Tobias Nießen) #42647
- [3ac7f86c2b] - doc: add missing punctuation in Web Streams doc (Tobias Nießen) #42672
- [b98386c977] - doc: add missing article in session ticket section (Tobias Nießen) #42632
- [a113468383] - doc: link to dynamic import function (Tobias Nießen) #42634
- [dfc2dc8b65] - doc: add note about header values encoding (Shogun) #42624
- [ec5a359ffd] - doc: add missing word in rootCertificates section (Tobias Nießen) #42633
- [c08a361f70] - doc: add history entries for DEP0162 on fs.md (Antoine du Hamel) #42608
- [4fade6acb4] - doc: fix brackets position (Livia Medeiros) #42649
- [8055c7ba5d] - doc: copyedit corepack.md (Rich Trott) #42620
- [85a65c3260] - doc: delete chakra tt from diagnostic tooling support tiers (Tony Gorez) #42627
- [63bb6dcf0f] - doc: align links in table to top (nikoladev) #41396
- [28d8614add] - http: document that ClientRequest inherits from OutgoingMessage (K.C.Ashish Kumar) #42642
- [c37fdacb34] - lib: use class fields in observe.js (Joyee Cheung) #42361
- [ea0668a27e] - lib: use class fields in Event and EventTarget (Joyee Cheung) #42361
- [eb7b89c829] - lib: update class fields TODO in abort_controller.js (Joyee Cheung) #42361
- [d835b1f1c1] - meta: update AUTHORS (Node.js GitHub Bot) #42677
- [29492496e8] - meta: move one or more collaborators to emeritus (Node.js GitHub Bot) #42599
- [93c4dc5e5a] - module: ensure 'node:'-only modules can access node_modules (Colin Ihrig) #42430
- [3a26db9697] - net: make server.address() return an integer for family (Antoine du Hamel) #41431
- [44fdf953ba] - node-api,src: fix module registration in MSVC C++ (Vladimir Morozov) #42459
- [3026ca0bf2] - src: fix coverity report (Michael Dawson) #42663
- [01fd048c6e] - src: update NODE_MODULE_VERSION to 108 (Michaël Zasso) #42657
- [75a71dc7ae] - src: fix alphabetically sorted binding list (Tobias Nießen) #42687
- [457567f72c] - src: include crypto in the bootstrap snapshot (Joyee Cheung) #42203
- [aa7dc808f5] - src: update ImportModuleDynamically (Camillo Bruni) #41610
- [fa0439e66c] - src: update NODE_MODULE_VERSION to 105 (Michaël Zasso) #41610
- [6ec1664dc8] - src: update NODE_MODULE_VERSION to 104 (Michaël Zasso) #40907
- [a706342368] - src: add kNoBrowserGlobals flag for Environment (Cheng Zhao) #40532
- [0c57a37dd0] - src,crypto: remove uses of AllocatedBuffer from crypto_tls.cc (Darshan Sen) #42589
- [be01185844] - src,inspector: fix empty MaybeLocal crash (Darshan Sen) #42409
- [340b770d3f] - stream: unify writableErrored and readableErrored (Robert Nagy) #40799
- [19064bec34] - test: delete test/pummel/test-repl-empty-maybelocal-crash.js (Darshan Sen) #42720
- [9d6af7d1fe] - test: improve internal/url.js coverage (Yoshiki Kurihara) #42650
- [d49df5ca8d] - test: adapt message tests for V8 10.2 (Michaël Zasso) #42657
- [c6b4e9604f] - test: adapt test-worker-debug for V8 10.0 (Michaël Zasso) #42657
- [0854fce8bc] - test: adapt test-v8-serdes for V8 9.9 (Michaël Zasso) #42657
- [73d53fe9f5] - test: only skip slow tests on Raspberry Pi devices (Richard Lau) #42645
- [db7fa9f4b7] - test: allow numeric string for lookupService test (Daeyeon Jeong) #42596
- [0525a147b2] - test: remove an unnecessary undefined in wpt (Khaidi Chu) #41470
- [bb762c5bd0] - test: simplify test-http-write-callbacks.js (Tobias Nießen) #42628
- [1600869eb7] - test: fix comments in test files (Daeyeon Jeong) #42536
- [82181bb9b8] - test: fix failure in test/sequential/test-heapdump.js (Darshan Sen) #41772
- [ba5b5acaf1] - test: improve worker_threads coverage (Erick Wendel) #41818
- [f076c36335] - tools: update clang-format 1.6.0 to 1.7.0 (Rich Trott) #42724
- [45162bf9e7] - tools: update clang-format from 1.2.3 to 1.6.0 (Rich Trott) #42685
- [40bc08089d] - tools: update V8 gypfiles for 10.1 (Michaël Zasso) #42657
- [09513cd1a3] - tools: update eslint to 8.13.0 (Node.js GitHub Bot) #42678
- [b99bb57416] - tools: update gyp-next to v0.12.1 (Michaël Zasso) #42625
- [2468db1f53] - tools: update lint-md-dependencies to @rollup/[email protected] (Node.js GitHub Bot) #42584
- [8a3f28a05c] - tools: add v8-embedder-state-scope.h to distributed headers (Michaël Zasso) #41610
- [30c4e1d952] - tools: update V8 gypfiles for 9.8 (Michaël Zasso) #41610
- [1ad44094a2] - tools: update V8 gypfiles for 9.7 (Michaël Zasso) #40907
- [86b77f7d0f] - tools,doc: use V8::DisposePlatform (Michaël Zasso) #41610
- [62e62757b3] - tools,test: fix V8 initialization order (Camillo Bruni) #42657
- [0187bc5cdc] - v8: make v8.writeHeapSnapshot() error codes consistent (Darshan Sen) #42577
- [74b9baa426] - v8: make writeHeapSnapshot throw if fopen fails (Antonio Román) #41373
New in Node.js 17.9.0 Current (Apr 8, 2022)
- Notable Changes:
- [7124f91cbf] - (SEMVER-MINOR) crypto: make authTagLength optional for CC20P1305 (Tobias Nießen) #42427
- [30dc6dd3fb] - deps: update undici to 4.16.0 (Node.js GitHub Bot) #42414
- [f0fc2744a5] - doc: add @meixg to collaborators (Xuguang Mei) #42576
- Commits:
- [bb71433334] - async_hooks: remove destroyed symbol on Promises (Gerhard Stöbich) #42402
- [b48a6cb3f9] - bootstrap: reset process._exit and process.exitCode in pre-execution (Joyee Cheung) #42466
- [b89f038537] - bootstrap: run inspector and event loop in snapshot builder (Joyee Cheung) #42466
- [177558600e] - bootstrap: make I/O streams work with user-land snapshot (Joyee Cheung) #42466
- [e3683cb34d] - bootstrap: refresh options in pre-execution (Joyee Cheung) #42466
- [d302d2f0d2] - bootstrap: use SnapshotData to pass snapshot data around (Joyee Cheung) #42360
- [eb3dfc00f0] - buffer: improve Blob constructor error message when passing a string (Xuguang Mei) #42338
- [f45d5537c1] - buffer: fix atob input validation (Antoine du Hamel) #42539
- [fb6a5ba8d7] - build: remove precompiled header and debug information for host builds (Niyas Sait) #42538
- [1f7d2e800c] - build: windows/arm64 native compilation support (Niyas Sait) #42408
- [d9a1d7866c] - build: consolidate JS and md linting GitHub Actions (Rich Trott) #42572
- [ecb5be845d] - build: set stale action back to running nightly (Michael Dawson) #42549
- [f9fb7f6d96] - build: add --node-snapshot-main configure option (Joyee Cheung) #42466
- [c6808f088b] - build: bump actions/checkout (Eliaz Bobadilla) #42460
- [9a54acb7c6] - child_process: add env contents types in JSDoc (Rich Trott) #42494
- [a2f07380ea] - crypto: do not add undefined hash in webcrypto normalizeAlgorithm (Filip Skokan) #42559
- [9b4bd7d031] - crypto: cleanup webcrypto jwk code (Filip Skokan) #42562
- [541a1328b0] - crypto: fix webcrypto derive key lengths (Filip Skokan) #42542
- [7124f91cbf] - (SEMVER-MINOR) crypto: make authTagLength optional for CC20P1305 (Tobias Nießen) #42427
- [30dc6dd3fb] - deps: update undici to 4.16.0 (Node.js GitHub Bot) #42414
- [6e56924274] - doc: simplify Http2Stream encoding text (Rich Trott) #42597
- [261672b1da] - doc: remove obsolete stream API selection text (Rich Trott) #42586
- [beffed1880] - doc: remove faulty justification for 128-bit AES (Tobias Nießen) #42578
- [71f4a39086] - doc: fix documentation of FileHandle.prototype.appendFile (Antoine du Hamel) #42588
- [c83ea22f7c] - doc: change "OCSP Request" to "OCSP request" (Tobias Nießen) #42582
- [71ab0dea35] - doc: aes webcrypto unwrap is not a node-specific extensions (Filip Skokan) #42561
- [1c614184da] - doc: simplify recommendations in process.md (Rich Trott) #42556
- [c036800ddc] - doc: clarify recommendations in stream.md (Rich Trott) #42555
- [dcf0abf8c7] - doc: simplify recommendation in webcrypto.md (Rich Trott) #42554
- [8333fa063b] - doc: update DEP0102 text (Rich Trott) #42553
- [8b08bff682] - doc: remove util.promisify() content in readline.md (Rich Trott) #42552
- [94492424ba] - doc: add introduction sentence for CJS (Antoine du Hamel) #42491
- [f0fc2744a5] - doc: add @meixg to collaborators (Xuguang Mei) #42576
- [d935fef594] - doc: consolidate CI sections (Rich Trott) #42534
- [fd45df314b] - doc: document breaking change in http.IncomingMessage 'close' event (Paolo Insogna) #42521
- [53584fa750] - doc: remove extraneous comma (Rich Trott) #42548
- [b819af6509] - doc: guide towards x509.fingerprint256 (Tobias Nießen) #42516
- [f2355e41ed] - doc: fix internal link in collaborator-guide.md (Daeyeon Jeong) #42551
- [ffc6776996] - doc: add suggestion for OpenSSL only sec releases (Michael Dawson) #42456
- [1454c0297d] - doc: fix comment text in async_hooks example (Rich Trott) #42499
- [b9ab9867f4] - doc: add stability class to legacy status description (Daniel Roe) #42525
- [6c13988d53] - doc: suggest checkHost in checkServerIdentity docs (Tobias Nießen) #42495
- [28665a9dd6] - doc: update security release onboarding (Joe Sepi) #42333
- [d335addf0c] - doc: fix question promise API example (Xuguang Mei) #42465
- [7cf9febcb4] - doc: remove comma splice in events.md (Rich Trott) #42484
- [3c3684d9f1] - doc: clarify napi_finalize behavior (Alba Mendez) #42461
- [334cc1936b] - doc: expand history for conditional exports changes in v12 (Greg Poole) #42339
- [fb146f9eaf] - doc: change comma-splice to two sentences (Rich Trott) #42455
- [ce4b823946] - doc: add link to section (Rich Trott) #42428
- [5869275479] - doc: fix typo in async_context.md (Anupama Codippily) #42444
- [48bd9fa2c7] - doc: add trace_gc to diagnostic tooling support document (Tony Gorez) #42346
- [00f693b6b1] - doc: make header smaller and dropdown click-driven when JS is on (Paolo Insogna) #42165
- [abbb23620a] - doc: standardize typography for _semantic versioning_ (Rich Trott) #42401
- [e763e575c6] - doc: unify import order in CCM example (Tobias Nießen) #42394
- [10d638a735] - doc: update property name (Rich Trott) #42398
- [5589a448b7] - doc,test: clarify ChaCha20-Poly1305 usage (Tobias Nießen) #42323
- [902776e674] - esm: emit experimental warnings in common place (Jacob Smith) #42314
- [8009cb0a78] - fs: fix write methods param validation and docs (Livia Medeiros) #42631
- [a9dc3a92d9] - lib: prepare files for no-var lint rule (Rich Trott) #42573
- [3306fee824] - lib: source maps filter null prefix (Fabian Cook) #42522
- [3bac969655] - lib: improve the coverage of the validator (mawaregetsuka) #42443
- [b74de21cc3] - lib: update JSDoc for linting (Rich Trott) #42489
- [7766bf954f] - meta: update .mailmap and AUTHORS (Rich Trott) #42602
- [93ffc5535a] - meta: move one or more collaborators to emeritus (Node.js GitHub Bot) #42500
- [256509056d] - meta: update AUTHORS (Node.js GitHub Bot) #42585
- [41c2a32390] - meta: update AUTHORS (Node.js GitHub Bot) #42488
- [b71a8107c0] - net,dns: trace tcp connection and dns by perf_hooks (theanarkh) #42390
- [f9f3b6e45d] - node-api: format Node-API related code (Vladimir Morozov) #42396
- [0bd9d9e24f] - os: avoid unnecessary usage of var (Mohammed Keyvanzadeh) #42563
- [e798e26dfd] - src: add proper mutexes for accessing FIPS state (Anna Henningsen) #42278
- [a1fe0d2222] - src: fix typo in InspectorIoDelegate constructor (Kohei Ueno) #42520
- [0c54f3637b] - src: remove unnecessary static qualifier in crypto_dh.cc (Darshan Sen) #42492
- [2e6a66d7d7] - src: address 3 useless call coverity warnings (Michael Dawson) #42426
- [ce9d840079] - src: properly report exceptions from AddressToJS() (Darshan Sen) #42054
- [c6a558c61b] - src: suppress false coverity warning (Michael Dawson) #42284
- [878148c266] - src: refactor IsSupportedAuthenticatedMode (Tobias Nießen) #42368
- [970483ffd3] - src,crypto: handle empty maybe correctly in crypto_dh.cc (Darshan Sen) #42492
- [a348f8ac1a] - src,crypto: remove uses of AllocatedBuffer from crypto_dh.cc (Darshan Sen) #42492
- [fb25ba435c] - test: improve lib/internal/readline/promises.js coverage (MURAKAMI Masahiko) #42420
- [4cbb1ea910] - test: remove hack for atob and btoa WPT tests (Antoine du Hamel) #42540
- [f41a4780d5] - test: pass data into napi_create_external (Joyee Cheung) #42532
- [90554572b5] - test: improve FileHandle.prototype.write coverage (Antoine du Hamel) #42541
- [797994e4c0] - test: add test for exception handlings in debugger (Kohei Ueno) #42327
- [8c9b5e9a36] - test: fix typo in common/wpt.js (Ikko Ashimine) #42567
- [2f682091cd] - test: fix typos in test/parallel (Daeyeon Jeong) #42502
- [52d1c8d6d9] - test: add trace-gc flag test (Tony Gorez) #42471
- [19c933c79a] - test,fs: add fs.rm() tests for .git directories (Darshan Sen) #42410
- [d64c4fb94d] - tools: enable no-var ESLint rule for lib (Rich Trott) #42573
- [a9f2636d12] - tools: fixed bug causing JSON format to be broken (mawaregetsuka) #41565
- [bff9cae16a] - tools: update GHA actions version (Antoine du Hamel) #42498
- [c6bfb225cd] - tools: update eslint to 8.12.0 (Node.js GitHub Bot) #42489
- [464e57ffc7] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #42487
- [13dd8e73df] - tools: refloat 7 Node.js patches to cpplint.py (Rich Trott) #42416
- [3a1b0e5b87] - tools: bump cpplint to 1.6.0 (Rich Trott) #42416
- [9344a06d9c] - tools: fix skip PR if CI is still running (Xuguang Mei) #42377
New in Node.js 17.8.0 Current (Mar 22, 2022)
- Notable Changes:
- [3bd0078457] - doc: add @ShogunPanda to collaborators (Shogun) #42362
- [23354673be] - doc: deprecate string coercion in fs.write, fs.writeFileSync (Livia Medeiros) #42149
- [da42ffb85e] - (SEMVER-MINOR) http: trace http client by perf_hooks (theanarkh) #42345
- [84fd6e54b0] - deps: upgrade npm to 8.5.5 (npm team) #42382
- [b60262ee9f] - deps: update undici to 4.15.1 (Michaël Zasso) #42246
- Commits:
- [1796f035c7] - build: rename tools workflow and add undici to it (Michaël Zasso) #42246
- [f27bcec2ea] - build: use ccache in make-v8.sh on ppc64le and s390x (Richard Lau) #42204
- [f48c3baf5a] - crypto: fix auth tag length error when mode != GCM (Tobias Nießen) #42383
- [1d0468f749] - crypto: fix fingerprint string size calculation (Tobias Nießen) #42175
- [a4632a3dc2] - crypto: add CHECKs to remaining BIO_s_mem allocs (Tobias Nießen) #42155
- [3b55946452] - debugger: correct typo in inspect_repl.js (Kohei Ueno) #42267
- [84fd6e54b0] - deps: upgrade npm to 8.5.5 (npm team) #42382
- [f2178fcc1a] - deps: cares: cherry-pick b5a3d96 (bradh352) #42216
- [063ff08cb1] - deps: V8: cherry-pick c6f6626deb14 (Lu Yahan) #42240
- [b60262ee9f] - deps: update undici to 4.15.1 (Michaël Zasso) #42246
- [70c0758308] - deps: upgrade npm to 8.5.3 (npm team) #42205
- [fd51e78963] - doc: fix version history for net.Socket and net.Server (Antoine du Hamel) #42268
- [db83c4d6dc] - doc: improve README.md usability (Rich Trott) #42378
- [88d3401329] - doc: add that chacha20-poly1305 is IETF version (Tobias Nießen) #42370
- [04a7c0061b] - doc: update instructions for openssl updates (Michael Dawson) #42353
- [78b858dd4b] - doc: document goal to have examples (Michael Dawson) #42274
- [a5e42f0113] - doc: fix Embedder's Guide link to V8 official docs (Aroyan) #42373
- [6c265e7243] - doc: remove unneeded lint disable comment (Rich Trott) #42374
- [46d3d23e64] - doc: revise async_hooks docs (Rich Trott) #42337
- [3bd0078457] - doc: add @ShogunPanda to collaborators (Shogun) #42362
- [e7e8eb9f03] - doc: update base branch name for nodejs/nodejs.org (Danielle Adams) #42355
- [fd7e4ab654] - doc: fix async iterable pipeline signal examples (Randall Leeds) #42258
- [96dc591b55] - doc: clarify path search in child_process.spawn (Damjan Cvetko) #41418
- [72dd50016a] - doc: clarify the meaning of legacy status (Darshan Sen) #42269
- [8b99099063] - doc: improve pipe description (Mikael Finstad) #42295
- [701dc14fdf] - doc: remove outdated timeout.unref content (Xuguang Mei) #42241
- [23354673be] - doc: deprecate string coercion in fs.write, fs.writeFileSync (Livia Medeiros) #42149
- [f3c6c00963] - doc: remove refs to old OpenSSL list-* commands (Tobias Nießen) #42235
- [19851f8d2d] - doc: readline 'line' event emits final line (Matt Probert) #42214
- [e55283b978] - esm: make extension-less errors in type:module actionable (Bradley Farias) #42301
- [e17db8f0fa] - esm: improve typings and code coverage (Bradley Farias) #42305
- [4829a1047f] - esm: add runtime warning for specifier resolution flag (Geoffrey Booth) #42252
- [da42ffb85e] - (SEMVER-MINOR) http: trace http client by perf_hooks (theanarkh) #42345
- [88dee3c6b5] - http2: fix potential integer overflow (Michael Dawson) #42248
- [1fe0b69c31] - lib: refactor to use primordials in lib/assert.js (Akhil Marsonya) #41702
- [69a3792540] - lib: fix AsyncResource.bind not using 'this' from the caller by default (Roch Devost) #42177
- [1c87ce6a32] - meta: update AUTHORS (Node.js GitHub Bot) #42404
- [e7b8d83acd] - meta: update AUTHORS (Node.js GitHub Bot) #42317
- [7fc4b9f08d] - meta: add dependencies label to label-pr-config (Mestery) #42129
- [e96042442b] - src: convert hex2bin() into a regular function (Darshan Sen) #42321
- [21198c1407] - src: fix coverity warnings in node_file.cc (Michael Dawson) #42272
- [846b074075] - src: check EC_POINT_get_affine_coordinates result (Tobias Nießen) #42304
- [8b84e68cbd] - src: simplify bound check in ParseArrayIndex (Tobias Nießen) #42306
- [9500e5862e] - src: avoid returning invalid value from hex2bin (Tobias Nießen) #42307
- [08e2d8ab86] - src: check return value of HMAC_Final (Tobias Nießen) #42303
- [9fc4b9b04e] - src: include internal/options in the snapshot (Joyee Cheung) #42203
- [e43aa30982] - src: remove redundant buffer size check (Tobias Nießen) #42257
- [d06e92dba0] - src: perform minor cleanups on zlib code (Anna Henningsen) #42247
- [9af908305d] - src: use emplace_back instead of push_back (Yash Ladha) #42159
- [62d9a7f5db] - src: fix unchecked return warning from coverity (Michael Dawson) #42176
- [58763d7f9d] - src,crypto: avoid tristate Maybe in ExportJWKEcKey() (Darshan Sen) #42223
- [5367002bc8] - stream: do cleanup when iterator is destroyed (Khoo Hao Yit) #42320
- [3492a0eb1e] - string_decoder: fix crash when calling __proto__.write() (Darshan Sen) #42062
- [d9a5c2b284] - test: give slow tests more time on Rasberry PIs (Michael Dawson) #42380
- [b82bac09ff] - test: improve https_renew_cert.sh script (Tobias Nießen) #42343
- [dfdce7c182] - test: improve _http_incoming.js coverage (Yoshiki Kurihara) #42211
- [4941791f29] - test: improve _http_outgoing coverage (Yoshiki Kurihara) #42213
- [94e5eaa7e9] - test: add test case for reverted 17.7 regression (Rich Trott) #42283
- [a4aa9eb97f] - test: use global webcrypto for WPT tests (Antoine du Hamel) #42236
- [26d4a2d489] - test,crypto: add and update empty passphrase regression tests (Darshan Sen) #42319
- [4fd2aff42e] - tools: make update-undici script executable (Michaël Zasso) #42406
- [38e7681ac7] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #42403
- [b7a4b4b1fd] - tools: update doc to [email protected] [email protected] (Node.js GitHub Bot) #42315
- [30ea1889d5] - tools: update lint-md-dependencies to [email protected] [email protected] (Node.js GitHub Bot) #42316
- [eb0e1a1147] - tools: update eslint to 8.11.0 (Node.js GitHub Bot) #42318
- [e95426fd3a] - tools: fix web streams API links (Brian White) #42153
- [fe01940f35] - url: preserve null char in WHATWG URL errors (Rich Trott) #42263
- [b89f4d5c17] - url: trim leading and trailing C0 control chars (Rich Trott) #42196
- [229fb40edc] - worker: do not send message if port is closing (Rich Trott) #42357
New in Node.js 17.7.2 Current (Mar 18, 2022)
- Notable Changes:
- Update to OpenSSL 3.0.2, which addresses the following vulnerability:
- Infinite loop in BN_mod_sqrt() reachable when parsing certificates (High)(CVE-2022-0778) More details are available at https://www.openssl.org/news/secadv/20220315.txt
- Commits:
- [55e293e05f] - deps: update archs files for quictls/openssl-3.0.2+quic (Hassaan Pasha) #42356
- [b8d090603d] - deps: upgrade openssl sources to quictls/openssl-3.0.2+quic (Hassaan Pasha) #42356
- [c8b6d92af0] - test: fix tests affected by OpenSSL update (Michael Dawson) #42356
- [457e31ea09] - test: renew certificates for specific test (Luigi Pinca) #42342
New in Node.js 16.14.2 LTS (Mar 18, 2022)
- Notable Changes:
- Update to OpenSSL 1.1.1n, which addresses the following vulnerability:
- Infinite loop in BN_mod_sqrt() reachable when parsing certificates (High)(CVE-2022-0778) More details are available at https://www.openssl.org/news/secadv/20220315.txt
- Commits:
- [3924618c74] - deps: update archs files for OpenSSL-1.1.1 (Hassaan Pasha) #42352
- [7a6a870d58] - deps: upgrade openssl sources to OpenSSL_1_1_1n (Hassaan Pasha) #42352
- [c533b430f4] - test: fix tests affected by OpenSSL update (Michael Dawson) #42352
New in Node.js 17.7.1 Current (Mar 14, 2022)
- Notable Changes:
- Fixed regression in url.resolve():
- This release fixes an issue introduced in Node.js v17.7.0 with some URLs that contain @. This issue affected yarn 1. This version reverts the change that introduced the regression.
- Commits:
- [96a9e00fb3] - url: revert fix url.parse() for @hostname (Antoine du Hamel) #42280
- 2022-03-09, Version 17.7.0 (Current), @BethGriggs prepared by @sxa
- Notable Changes:
- [2b354223d4] - (SEMVER-MINOR) crypto: add KeyObject.prototype.equals method (Filip Skokan) #42093
- [a2926c477a] - (SEMVER-MINOR) net: add new options to net.Socket and net.Server (Paolo Insogna) #41310
- [86248f1178] - (SEMVER-MINOR) src: allow preventing InitializeInspector in env (Shelley Vohr) #35025
- [a4969d5c37] - doc: add release key for Bryan English (Bryan English) #42102
- Dependency Updates:
- [0b8efea182] - deps: update nghttp2 to 1.47.0 (Yash Ladha) #42127
- [ccacf99e5c] - deps: upgrade npm to 8.5.2 (npm team) #42122
- New Collaborators:
- [3df001fa93] - doc: add JakobJingleheimer to collaborators list (Jacob Smith) #42185
- [0ce00ca5e1] - doc: move bnoordhuis back to collaborators (Ben Noordhuis) #42064
- Commits:
- [d05758f79f] - buffer: improve blob read performance (Xuguang Mei) #42117
- [0bbb44741b] - build: drop shortened URL from lint-commit-message (Richard Lau) #42168
- [4e9fac6539] - build: fix usage of input in feature action (Michael Dawson) #42150
- [853cbd99b8] - build: increase max ops for stale feature action (Michael Dawson) #42130
- [3fc3f521d6] - build: add corepack to the auto-updated dependencies (Maël Nison) #42090
- [ec4c0de6d1] - build: last test of the stale feature action (Michael Dawson) #42085
- [03ebca86d9] - build: update feature close action for testing (Michael Dawson) #42082
- [c9ea6a9261] - crypto: validate this value for webcrypto.getRandomValues (Antoine du Hamel) #41760
- [2b354223d4] - (SEMVER-MINOR) crypto: add KeyObject.prototype.equals method (Filip Skokan) #42093
- [288f627c46] - crypto: clarify require("crypto").getRandomValues is Node.js specific (Antoine du Hamel) #41782
- [0b8efea182] - deps: update nghttp2 to 1.47.0 (Yash Ladha) #42127
- [ccacf99e5c] - deps: upgrade npm to 8.5.2 (npm team) #42122
- [1359f60338] - deps: V8: cherry-pick 77d515484864 (Lu Yahan) #42067
- [769e2a486f] - deps: V8: cherry-pick b66334313c8b (Lu Yahan) #42067
- [fc7d429516] - doc: update stale feature messages (Michael Dawson) #42217
- [6183749861] - doc: remove erroneous comma in cluster explainer (Tobias Nießen) #42238
- [555da9b658] - doc: remove "considered" for clarity (Rich Trott) #42218
- [05c3ff5e76] - doc: clarify that some modules don't work when compiled without ssl (Antoine du Hamel) #42198
- [a6c1abf7e1] - doc: add note about nghttp2 hd pair size (Rafael Silva) #42172
- [04d2c74c8a] - doc: use parenthesis instead of em dash (Antoine du Hamel) #42202
- [6a74fa91bb] - doc: add next-10 to strategic initiatives (Michael Dawson) #42167
- [ee027391e7] - doc: add missing single-quotes to http.OutgoingMessage (Juan José Arboleda) #42162
- [84859c4029] - doc: fix typos (apeltop) #42146
- [3df001fa93] - doc: add JakobJingleheimer to collaborators list (Jacob Smith) #42185
- [ce86fc3006] - doc: remove reference to obsolete security program (Rich Trott) #42144
- [5d010bcde2] - doc: remove repeated a word (apeltop) #42138
- [a32ec983c6] - doc: make building with ninja more discoverable (Balakrishna Avulapati) #41840
- [26fe61b6ad] - doc: document change to IncomingMessage.headers enumerability (Arnold Zokas) #42095
- [eb622a0761] - doc: add meixg to triagers (Xuguang Mei) #42066
- [bd04fc89da] - doc: clarify persistent ref behavior (Michael Dawson) #42035
- [0ce00ca5e1] - doc: move bnoordhuis back to collaborators (Ben Noordhuis) #42064
- [8b531dadb1] - doc: clarify supported versus enabled TLS ciphers (Tobias Nießen) #42063
- [3789d668f7] - doc: add missing api entries on performance (legendecas) #42018
- [a4969d5c37] - doc: add release key for Bryan English (Bryan English) #42102
- [8b94ea6e1c] - doc,tools: improve navigability of API docs (Paolo Insogna) #41404
- [2e1231b831] - errors: do not access .stack in debug (Benjamin Coe) #42096
- [8dd4878850] - esm: fix base URL for network imports (Bradley Farias) #42131
- [2bc136d3cb] - esm: fix relative imports for https (Bradley Farias) #42119
- [576c1aea8e] - fs: adjust default length for fs.readSync and fsPromises/read (Livia Medeiros) #42128
- [041373696f] - http: add default argument for Agent.prototype.getName (小菜) #41906
- [1de80872e8] - http2: add edge case to GOAWAY request (Rafael Silva) #42190
- [9bc7a954fd] - http2: close stream and session on frameError (Rafael Silva) #42147
- [384872fdbd] - lib: clean after the cancel algorithm throw error (Chen Gang) #41366
- [f7ea75fd0a] - lib: add legacy built-in functions to primordials (Antoine du Hamel) #42049
- [7f1c83e674] - loader: fix esm resolve for symlink file (Xuguang Mei) #42197
- [5b23e67ad5] - meta: update AUTHORS (Node.js GitHub Bot) #42227
- [cad7dde9af] - meta: update AUTHORS (Node.js GitHub Bot) #42142
- [7ed2c19cbb] - meta: correct link to feature request document (Simen Bekkhus) #42092
- [e0448da9a9] - meta: move one or more collaborators to emeritus (Node.js GitHub Bot) #42068
- [e3347dbaa8] - meta: remove collaborator (Rich Trott) #42073
- [96510b3411] - module: prefer async/await in https imports (Benjamin Gruenbaum) #41950
- [a2926c477a] - (SEMVER-MINOR) net: add new options to net.Socket and net.Server (Paolo Insogna) #41310
- [f107f8bf40] - node-api: fix typo in node_api.cc (Austin Kelleher) #42110
- [c72c3f4bb1] - perf_hooks: do not return all entries with getEntriesBy[Name|Type] (Xuguang Mei) #42104
- [7c49785348] - process: fix named report export (madflow) #41861
- [d6b1a4a235] - repl: remove preview when press escape (meixg) #42053
- [98b1be0ec2] - src: return proper URLs from node_api_get_module_file_name (Anna Henningsen) #41758
- [0abc20b6cf] - src: skip revoke_data_object if uuid is not found (Xuguang Mei) #42212
- [ce409279d8] - src: remove dead code in AddFingerprintDigest (Tobias Nießen) #42145
- [4c9f2b5d83] - src: combine GetCurveASN1Name and GetCurveNistName (Tobias Nießen) #42118
- [f0558d88fb] - src: simplify TLSWrap::SetSession (Tobias Nießen) #42087
- [97f5ceda84] - src: prefer bool over int in crypto_common (Tobias Nießen) #42097
- [382ffdade0] - src: simplify arg type of AddFingerprintDigest (Tobias Nießen) #42101
- [07de4ed641] - src: do not ignore return value of BIO_reset (Tobias Nießen) #42103
- [3366618ce2] - src: simplify GetExponentString (Tobias Nießen) #42121
- [86248f1178] - (SEMVER-MINOR) src: allow preventing InitializeInspector in env (Shelley Vohr) #35025
- [06e5c0ee39] - stream: use .chunk when calling adapters's writev (Xuguang Mei) #42161
- [53338fe65c] - stream: allow returning null from pipeline tail (Robert Nagy) #42078
- [8431fb90dc] - stream: port more test262 tests (Benjamin Gruenbaum) #41974
- [0be3c61ae9] - test: cover 32-bit sizes in generatePrime (Tobias Nießen) #42207
- [ceb47d13ff] - test: fix test-process-env-tz.js by using RegExp (Khaidi Chu) #42113
- [f21fbeec2e] - test: update V8 trace events test expectations (Nikolaos Papaspyrou) #42120
- [d0f68a398e] - test: deflake test-common-expect-warning (Luigi Pinca) #42046
- [482b2205b2] - test: validate EventEmitterAsyncResource methods throw on invalid this (Yoshiki Kurihara) #42041
- [99301469ed] - test: increase Fibonacci argument to 40 (Rich Trott) #42055
- [c01134ed27] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #42226
- [41b6d9e95a] - tools: update lint-md rollup dependencies (Node.js GitHub Bot) #42141
- [28f636422e] - tools: update eslint to 8.10.0 (Node.js GitHub Bot) #42143
- [9aeda47d9c] - url: fix url.parse() for @hostname (Rich Trott) #42136
- [ecb5980e2f] - url, src: modify one special_back_slash (Khaidi Chu) #42112
New in Node.js 16.14.0 LTS (Feb 11, 2022)
- Notable changes:
- Importing JSON modules now requires experimental import assertions syntax
- This release adds experimental support for the import assertions stage 3 proposal.
- To keep Node.js ESM implementation as compatible as possible with the HTML spec, import assertions are now required to import JSON modules (still behind the --experimental-json-modules CLI flag):
- import info from './package.json' assert { type: 'json' };
- Or use dynamic import:
- const info = await import('./package.json', { assert: { type: 'json' } });
- Contributed by Antoine du Hamel and Geoffrey Booth #40250
- Other notable changes:
- async_hooks:
- (SEMVER-MINOR) expose async_wrap providers (Rafael Gonzaga) #40760
- child_process:
- (SEMVER-MINOR) add support for URL to cp.fork (Antoine du Hamel) #41225
- doc:
- add @Mesteery to collaborators (Mestery) #41543
- add @bnb as a collaborator (Tierney Cyren) #41100
- esm:
- (SEMVER-MINOR) graduate capturerejections to supported (James M Snell) #41267
- (SEMVER-MINOR) add EventEmitterAsyncResource to core (James M Snell) #41246
- events:
- (SEMVER-MINOR) propagate weak option for kNewListener (James M Snell) #40899
- fs:
- (SEMVER-MINOR) accept URL as argument for fs.rm and fs.rmSync (Antoine du Hamel) #41132
- lib:
- (SEMVER-MINOR) make AbortSignal cloneable/transferable (James M Snell) #41050
- (SEMVER-MINOR) add AbortSignal.timeout (James M Snell) #40899
- (SEMVER-MINOR) add reason to AbortSignal (James M Snell) #40807
- (SEMVER-MINOR) add unsubscribe method to non-active DC channels (simon-id) #40433
- (SEMVER-MINOR) add return value for DC channel.unsubscribe (simon-id) #40433
- loader:
- (SEMVER-MINOR) return package format from defaultResolve if known (Gabriel Bota) #40980
- perf_hooks:
- (SEMVER-MINOR) multiple fixes for Histogram (James M Snell) #41153
- process:
- (SEMVER-MINOR) add getActiveResourcesInfo() (Darshan Sen) #40813
- src:
- (SEMVER-MINOR) add x509.fingerprint512 to crypto module (3nprob) #39809
- (SEMVER-MINOR) add flags for controlling process behavior (Cheng Zhao) #40339
- stream:
- (SEMVER-MINOR) add filter method to readable (Benjamin Gruenbaum) #41354
- (SEMVER-MINOR) add isReadable helper (Robert Nagy) #41199
- (SEMVER-MINOR) add map method to Readable (Benjamin Gruenbaum) #40815
- deprecate thenable support (Antoine du Hamel) #40860
- util:
- (SEMVER-MINOR) pass through the inspect function to custom inspect functions (Ruben Bridgewater) #41019
- (SEMVER-MINOR) add numericSeparator to util.inspect (Ruben Bridgewater) #41003
- (SEMVER-MINOR) always visualize cause property in errors during inspection (Ruben Bridgewater) #41002
- timers:
- (SEMVER-MINOR) add experimental scheduler api (James M Snell) #40909
- v8:
- (SEMVER-MINOR) multi-tenant promise hook api (Stephen Belanger) #39283
- Commits:
- [336010341f] - assert: prefer reference comparison over string comparison (Darshan Sen) #41015
- [2d471e47a0] - assert: use stricter stack frame detection in .ifError() (Ruben Bridgewater) #41006
- [f788a47b8b] - async_hooks: add missing initialization (Michael Dawson) #41288
- [b688f201df] - async_hooks: fix AsyncLocalStorage in unhandledRejection cases (Bradley Farias) #41202
- [6af3e34b6b] - Revert "async_hooks: merge resource_symbol with owner_symbol" (Darshan Sen) #40741
- [85a02ec979] - async_hooks: eliminate require side effects (Stephen Belanger) #40782
- [078a0c996f] - (SEMVER-MINOR) async_hooks: expose async_wrap providers (Rafael Gonzaga) #40760
- [4a09904d05] - benchmark: simplify http benchmarker regular expression (Rich Trott) #38206
- [bc48ed2834] - benchmark: fix benchmark/run.js handling of --set (Rich Trott) #41334
- [e68bf84e31] - benchmark,test: use Object.hasOwn() where applicable (Rich Trott) #41229
- [799cf57581] - buffer: fix Blob constructor on various TypedArrays (Irakli Gozalishvili) #40706
- [5c1dc5f307] - build: fix npm version detection (Michaël Zasso) #41575
- [3e4d977c28] - build: fix node build failures in WSL Ubuntu (MrJithil) #41476
- [6ffb1e878c] - build: fix workflow access to git history (Rich Trott) #41472
- [c49a651e67] - build: start build on z/OS (alexcfyung) #41273
- [c65ac72b6c] - build: use list for mutable retval rather than tuple (Rich Trott) #41372
- [ff48705372] - build: remove Python 2 workaround (Rich Trott) #41357
- [c10fcb1f05] - build: improve readability of texts in workflows (Mestery) #40988
- [93450e5e8e] - build: use '
New in Node.js 17.4.0 Current (Jan 18, 2022)
- Notable Changes:
- [ef6f98c2e3] - (SEMVER-MINOR) child_process: add support for URL to cp.fork (Antoine du Hamel) #41225
- [d62fe315c2] - (SEMVER-MINOR) crypto: alias webcrypto.subtle and webcrypto.getRandomValues on crypto (James M Snell) #41266
- [fcb37e9ce5] - doc: add Mesteery to collaborators (Mestery) #41543
- [4079fc42b7] - (SEMVER-MINOR) events: graduate capturerejections to supported (James M Snell) #41267
- [fe21607901] - (SEMVER-MINOR) events: add EventEmitterAsyncResource to core (James M Snell) #41246
- [6d8eb6ace6] - (SEMVER-MINOR) loader: return package format from defaultResolve if known (Gabriel Bota) #40980
- [27c619140a] - (SEMVER-MINOR) perf_hooks: multiple fixes for Histogram (James M Snell) #41153
- [09c25bb224] - (SEMVER-MINOR) stream: add filter method to readable (Benjamin Gruenbaum, Robert Nagy) #41354
- [1150963217] - (SEMVER-MINOR) stream: add isReadable helper (Robert Nagy) #41199
- [9f5a873965] - (SEMVER-MINOR) stream: add map method to Readable (Benjamin Gruenbaum, Robert Nagy) #40815
- Commits:
- [314102b14d] - async_hooks: add missing initialization (Michael Dawson) #41288
- [56345a3f63] - async_hooks: fix AsyncLocalStorage in unhandledRejection cases (Bradley Farias) #41202
- [fa84353952] - benchmark: simplify http benchmarker regular expression (Rich Trott) #38206
- [88d760c559] - benchmark: fix benchmark/run.js handling of --set (Rich Trott) #41334
- [dcf1ea0a3f] - benchmark,test: use Object.hasOwn() where applicable (Rich Trott) #41229
- [4958c800da] - build: fix npm version detection (Michaël Zasso) #41575
- [e8538c3751] - build: fix node build failures in WSL Ubuntu (MrJithil) #41476
- [3d88ea195e] - build: fix workflow access to git history (Rich Trott) #41472
- [b0f0ad1004] - build: start build on z/OS (alexcfyung) #41273
- [80a3766ac7] - build: use list for mutable retval rather than tuple (Rich Trott) #41372
- [afe1e00509] - build: remove Python 2 workaround (Rich Trott) #41357
- [011c5f6498] - build: improve readability of texts in workflows (Mestery) #40988
- [2233f31069] - build,tools,win: trim unused VCBUILD_PYTHON_LOCATION variable (David Sanders) #41235
- [d9465ae614] - child_process: queue pending messages (Erick Wendel) #41221
- [ed41fd110d] - child_process: revise argument processing (Rich Trott) #41280
- [ef6f98c2e3] - (SEMVER-MINOR) child_process: add support for URL to cp.fork (Antoine du Hamel) #41225
- [d62fe315c2] - (SEMVER-MINOR) crypto: alias webcrypto.subtle and webcrypto.getRandomValues on crypto (James M Snell) #41266
- [8ea56a9606] - crypto: fix error capture when loading engine (Tobias Nießen) #41187
- [f5b8aee1a1] - deps: upgrade npm to 8.3.1 (npm-robot) #41503
- [af3acecd7e] - deps: V8: cherry-pick 3b6b21f595f6 (Michaël Zasso) #41457
- [02ca5d7c7c] - deps: upgrade to libuv 1.43.0 (Colin Ihrig) #41398
- [48e4780fd7] - doc: remove statement about client private keys (Tobias Nießen) #41505
- [ba7160e815] - doc: fix typo in onboarding.md (Antoine du Hamel) #41544
- [fcb37e9ce5] - doc: add Mesteery to collaborators (Mestery) #41543
- [abbfed8789] - doc: add missing word in readable.read() text (Rich Trott) #41524
- [712dfdc11f] - doc: add missing YAML tag in esm.md (Antoine du Hamel) #41516
- [f443a4e8fa] - doc: expand fs.access() mode parameter docs (Colin Ihrig) #41484
- [5c0c459976] - doc: correct checkHost behavior with wildcards etc (Tobias Nießen) #41468
- [c632241440] - doc: remove extraneous colon in legacy subject (Tobias Nießen) #41477
- [b7b0631b10] - doc: remove SameValue comparison reference (Rich Trott) #41460
- [524103d6bf] - doc: update mailmap entries for mhdawson (Michael Dawson) #41437
- [62aa190c01] - doc: add guidance on order vulns are listed in (Michael Dawson) #41429
- [d721a758b2] - doc: update output in inspector examples (David Sanders) #41390
- [60025bde16] - doc: add note regarding unfinished TLA (Antoine du Hamel) #41434
- [10bdb5969e] - doc: add reference for === operator in assert.md (Rich Trott) #41442
- [edc6a7af42] - doc: clarify uncaughtException origin for ESM (Antoine du Hamel) #41339
- [4a369d03b4] - doc: revise HTTPRequestOptions text (Rich Trott) #41407
- [f43bfe2e16] - doc: add reference for == and != operators (Rich Trott) #41413
- [d3111bf0cc] - doc: add @RaisinTen to the TSC (Michael Dawson) #41419
- [e6bed4e972] - doc: update Abstract Equality Comparison text in assert.md (Rich Trott) #41375
- [19db19bb80] - doc: fix example commands for REPLACEME updates (Richard Lau) #41269
- [16c0bea91d] - doc: document that require.main may be undefined (Antoine du Hamel) #41384
- [014d4836ec] - doc: clarify entry point behavior when using loader hooks (Antoine du Hamel) #41304
- [6460b1b32d] - doc: clarify require behavior with non .js extensions (Antoine du Hamel) #41345
- [0d18a8c232] - doc: revise frozen-intrinsics text (Rich Trott) #41342
- [c267bb2192] - doc: fix example description for worker_threads (Dmitry Petrov) #41341
- [ffe17a84f2] - doc: make pull-request guide default branch agnostic (Antoine du Hamel) #41299
- [5cfc547997] - doc: fix sync comment in observer snippet (Eric Jacobson) #41262
- [3a80104b29] - doc: remove section about amending commits in PR guide (Thiago Santos) #41287
- [23f97ec04e] - doc: remove legacy in-page links in v8.md (Rich Trott) #41291
- [e819685cec] - doc: include stack trace difference in ES modules (Marcos Bérgamo) #41157
- [dac8407944] - doc: fix example in node-api docs (Michael Dawson) #41264
- [29563abd85] - doc: add usage recommendation for writable._destroy (Rafael Gonzaga) #41040
- [e27e8272f7] - doc: make function signature comply with JSDoc comment (Rich Trott) #41242
- [d83a02994c] - doc: align maxHeaderSize default with current value (Gil Pedersen) #41183
- [730e25d7dd] - doc: add unhandledRejection to strict mode (Colin Ihrig) #41194
- [74742c3618] - doc: adding estimated execution time (mawaregetsuka) #41142
- [34ef5a7d4d] - doc: fix syntax error in nested conditions example (Mateusz Burzyński) #41205
- [c9a4603913] - esm: make process.exit() default to exit code 0 (Gang Chen) #41388
- [8a94ca7a69] - esm: refactor esm tests out of test/message (Geoffrey Booth) #41352
- [5ebe086ea6] - esm: reconcile JSDoc vs. actual parameter name (Rich Trott) #41238
- [9fe304b8e8] - events: clarify JSDoc entries (Rich Trott) #41311
- [4079fc42b7] - (SEMVER-MINOR) events: graduate capturerejections to supported (James M Snell) #41267
- [e3a0a9cb3a] - events: add jsdoc details for Event and EventTarget (James M Snell) #41274
- [fe21607901] - (SEMVER-MINOR) events: add EventEmitterAsyncResource to core (James M Snell) #41246
- [d4a6f2caf1] - fs: use async directory processing in cp() (Colin Ihrig) #41351
- [0951bd94db] - fs: correct param names in JSDoc comments (Rich Trott) #41237
- [1d75436a1c] - http: remove duplicate code (Shaw) #39239
- [0aacd4926d] - http2: handle existing socket data when creating HTTP/2 server sessions (Tim Perry) #41185
- [24fbbf2747] - lib: remove spurious JSDoc entry (Rich Trott) #41240
- [e457ec05d6] - lib: fix checking syntax of esm module (Qingyu Deng) #41198
- [f176124e8b] - lib,tools: remove empty lines between JSDoc tags (Rich Trott) #41147
- [68fd2ac999] - loader: fix package resolution for edge case (Gabriel Bota) #41218
- [6d8eb6ace6] - (SEMVER-MINOR) loader: return package format from defaultResolve if known (Gabriel Bota) #40980
- [a6146c7e27] - meta: move one or more collaborators to emeritus (Node.js GitHub Bot) #41456
- [07353e9b8b] - meta: update AUTHORS (Node.js GitHub Bot) #41475
- [e1ff4521d7] - meta: correct my name in AUTHORS (Jacob Smith) #41444
- [da1d5d6563] - meta: update AUTHORS (Node.js GitHub Bot) #41449
- [0f9afa58d5] - meta: add required fields in issue templates (Rich Trott) #41378
- [da04408075] - meta: update AUTHORS (Node.js GitHub Bot) #41374
- [1f6c4e819b] - meta: replace API docs issue template with form (Rich Trott) #41348
- [253c3e5488] - meta: move one or more collaborators to emeritus (Node.js GitHub Bot) #41336
- [3e188cacc2] - meta: replace feature request template with form (Rich Trott) #41317
- [e339220511] - meta: update AUTHORS (Node.js GitHub Bot) #41322
- [d0d595f8f2] - meta: update node-api team name (Richard Lau) #41268
- [a53fa2010b] - meta: move one or more collaborators to emeritus (Node.js GitHub Bot) #41248
- [edefb41ec1] - meta: update AUTHORS (Node.js GitHub Bot) #41234
- [6da7909797] - meta: remove community-committee from CODEOWNERS (Rich Trott) #41169
- [5fe011a24d] - node-api: add missing initialization of last error (Michael Dawson) #41290
- [27c619140a] - (SEMVER-MINOR) perf_hooks: multiple fixes for Histogram (James M Snell) #41153
- [e60187d8ab] - policy: add missing JSDoc @param entry (Rich Trott) #41239
- [ec9071f55d] - src: use std::optional for Worker thread id (Anna Henningsen) #41453
- [6aec92f959] - src: gracefully handle errors in GetX509NameObject (Tobias Nießen) #41490
- [7ac126b75c] - src: fix out-of-bounds check of serialization indices (JoostK) #41452
- [93b3664b9a] - src: do IWYU for some STL includes (David Sanders) #41236
- [337ebfcd53] - src: split out async stack corruption detection from inline fn (Anna Henningsen) #41331
- [250e197a62] - src: store native async execution resources as v8::Local (Anna Henningsen) #41331
- [6187e81a8e] - src: guard slightly costly check in MakeCallback more strongly (Anna Henningsen) #41331
- [51d86fe6a0] - stream: remove always-false condition check (Rich Trott) #41488
- [b08138f367] - stream: fix error-path function call (Rich Trott) #41433
- [d79f8c2987] - stream: remove unused function argument (Rich Trott) #41403
- [09c25bb224] - (SEMVER-MINOR) stream: add filter method to readable (Benjamin Gruenbaum) #41354
- [1150963217] - (SEMVER-MINOR) stream: add isReadable helper (Robert Nagy) #41199
- [9f5a873965] - (SEMVER-MINOR) stream: add map method to Readable (Benjamin Gruenbaum) #40815
- [3dc65646c8] - stream: fix enqueue race condition on esm modules (Rafael Gonzaga) #40901
- [09f2fd36a4] - test: improve test coverage of dns/promises (Yoshiki Kurihara) #41425
- [106ef0cef4] - test: remove broken wiki link from test/common doc (Yoshiki Kurihara) #41426
- [9d8d7c63cb] - test: do not OR F_OK in fs.access() test (Colin Ihrig) #41484
- [3e2154deda] - test: mark test-performance-eventloopdelay flaky (Michael Dawson) #41409
- [e808ee68d0] - test: mark test-repl-sigint-nested-eval as flaky (Michael Dawson) #41302
- [f97f6c585d] - test: use spawnSync() full name in test-stdio-pipe-stderr (Rich Trott) #41332
- [75c565bf18] - test: improve expectWarning error message (Rich Trott) #41326
- [c136d597f0] - test: use spawnSync() full name (Rich Trott) #41327
- [b2a87f770d] - test: add comments explaining _setSimultaneousAccepts deprecation tests (Yoshiki Kurihara) #41307
- [fac0871102] - test: mark test-worker-take-heapsnapshot flaky (Michael Dawson) #41253
- [90617b9303] - test: mark wpt/test-user-timing test flaky (Michael Dawson) #41203
- [8f08328a01] - test: correct param name in JSDoc comment (Rich Trott) #41241
- [367ab2a55e] - test: mark test-crypto-keygen slow on windows (Michael Dawson) #41207
- [f067876338] - test: improve test coverage of dns/promises (Yoshiki Kurihara) #41133
- [2e92f6f5d9] - timers: use ref counts to count timers (Darshan Sen) #41231
- [3c8b25bec8] - tls: use optional chaining to simplify checks (Antoine du Hamel) #41337
- [a11ff31bca] - tls: permit null as a pfx value (CallMeLaNN) #41170
- [5129b7c802] - tools: fix small not-quite-a-bug in find-inactive-tsc.mjs (Rich Trott) #41469
- [258ee4ba64] - tools: enable ESLint recommended configuration (Rich Trott) #41463
- [090a674a81] - tools: enable ESLint no-constant-condition rule (Rich Trott) #41463
- [1f4369a106] - tools: enable ESLint require-yield rule (Rich Trott) #41463
- [8090ce7a6c] - tools: enable ESLint no-sparse-arrays rule (Rich Trott) #41463
- [afa4f37faf] - tools: enable ESLint no-loss-of-precision rule (Rich Trott) #41463
- [ec337b2019] - tools: replace for loop with map() (Rich Trott) #41451
- [c91ac205a5] - tools: use GITHUB_ACTIONS env var in inactivity scripts (Rich Trott) #41422
- [4a57d476a8] - tools: replace while+exec() with matchAll() (Rich Trott) #41406
- [583f8d969a] - tools: fix argv bug in find-inactive-tsc.mjs (Rich Trott) #41394
- [dcada80f30] - tools: remove conditional assignment in custom ESLint rule (Rich Trott) #41325
- [e15e1cb030] - tools: update lint-md-dependencies to @rollup/[email protected] (Node.js GitHub Bot) #41369
- [07683021b7] - tools: update doc to [email protected] (Node.js GitHub Bot) #41367
- [bd8b95a5e8] - tools: remove last of error-masking in commit-queue.sh (Rich Trott) #41356
- [9284d24df6] - tools: update eslint to 8.6.0 (Node.js GitHub Bot) #41368
- [5fc886f68e] - tools: do not mask errors on multiple commit retrieval (Rich Trott) #41340
- [0ca7cda962] - tools: enable jsdoc/check-param-names lint rule (Rich Trott) #41311
- [75ff8e6505] - tools: improve section tag additions in HTML doc generator (Rich Trott) #41318
- [9c4124706e] - tools: simplify commit-queue.sh merge command (Rich Trott) #41314
- [137c814848] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #41315
- [58da5d9b43] - tools: use Object.hasOwn() in alljson.mjs (Rich Trott) #41306
- [c12cbf2020] - tools: avoid generating duplicate id attributes (Rich Trott) #41291
- [80a114d1b7] - tools: be intentional about masking possible error in start-ci.sh (Rich Trott) #41284
- [198528426d] - tools: use {N} for spaces in regex (Rich Trott) #41295
- [46b364a684] - tools: consolidate update-authors.js logic (Rich Trott) #41255
- [c546cef4bc] - tools: update doc dependency mdast-util-gfm-table to 1.0.2 (Rich Trott) #41260
- [60c059e4bc] - tools: make license-builder.sh comply with shellcheck 0.8.0 (Rich Trott) #41258
- [62e28f19f7] - tools: use arrow function for callback in lint-sh.js (Rich Trott) #41256
- [e2df381da9] - tools: add double-quotes to make-v8.sh (Rich Trott) #41257
- [dae2e5fffa] - tools: enable prefer-object-has-own lint rule (Rich Trott) #41245
- [aa7d14768d] - tools: update eslint to 8.5.0 (Node.js GitHub Bot) #41228
- [0c14e7e7c8] - tools: enable jsdoc/tag-lines ESLint rule (Rich Trott) #41147
- [c486da1715] - tools: update lint-md-dependencies to @rollup/[email protected] (Node.js GitHub Bot) #41227
- [82f492bbb0] - tools: fix CQ and auto-start-ci jobs (Antoine du Hamel) #41230
- [c44185ca37] - tools: fix GitHub Actions status when CQ is empty (Antoine du Hamel) #41193
- [800640adf9] - tools,benchmark,lib,test: enable no-case-declarations lint rule (Rich Trott) #41385
- [4518fdda24] - tools,lib,test: enable ESLint no-regex-spaces rule (Rich Trott) #41463
- [c8e8fc0ecb] - typings: add types for symbol and accessor properties on primordials (ExE Boss) #40992
- [d733b56101] - typings: add JSDoc for string_decoder (Qingyu Deng) #38229
- [01ad8debd3] - url,lib: pass urlsearchparams-constructor.any.js (Khaidi Chu) #41197
- [5ed8a1c017] - util: do not reduce to a single line if not appropriate using inspect (Ruben Bridgewater) #41083
- [ab5e94c832] - util: display a present-but-undefined error cause (Jordan Harband) #41247
New in Node.js 17.3.1 Current (Jan 11, 2022)
- Notable changes:
- Improper handling of URI Subject Alternative Names (Medium)(CVE-2021-44531):
- Accepting arbitrary Subject Alternative Name (SAN) types, unless a PKI is specifically defined to use a particular SAN type, can result in bypassing name-constrained intermediates. Node.js was accepting URI SAN types, which PKIs are often not defined to use. Additionally, when a protocol allows URI SANs, Node.js did not match the URI correctly.
- Versions of Node.js with the fix for this disable the URI SAN type when checking a certificate against a hostname. This behavior can be reverted through the --security-revert command-line option.
- More details will be available at CVE-2021-44531 after publication.
- Certificate Verification Bypass via String Injection (Medium)(CVE-2021-44532):
- Node.js converts SANs (Subject Alternative Names) to a string format. It uses this string to check peer certificates against hostnames when validating connections. The string format was subject to an injection vulnerability when name constraints were used within a certificate chain, allowing the bypass of these name constraints.
- Versions of Node.js with the fix for this escape SANs containing the problematic characters in order to prevent the injection. This behavior can be reverted through the --security-revert command-line option.
- More details will be available at CVE-2021-44532 after publication.
- Incorrect handling of certificate subject and issuer fields (Medium)(CVE-2021-44533):
- Node.js did not handle multi-value Relative Distinguished Names correctly. Attackers could craft certificate subjects containing a single-value Relative Distinguished Name that would be interpreted as a multi-value Relative Distinguished Name, for example, in order to inject a Common Name that would allow bypassing the certificate subject verification.
- Affected versions of Node.js do not accept multi-value Relative Distinguished Names and are thus not vulnerable to such attacks themselves. However, third-party code that uses node's ambiguous presentation of certificate subjects may be vulnerable.
- More details will be available at CVE-2021-44533 after publication.
- Prototype pollution via console.table properties (Low)(CVE-2022-21824):
- Due to the formatting logic of the console.table() function it was not safe to allow user controlled input to be passed to the properties parameter while simultaneously passing a plain object with at least one property as the first parameter, which could be __proto__. The prototype pollution has very limited control, in that it only allows an empty string to be assigned numerical keys of the object prototype.
- Versions of Node.js with the fix for this use a null protoype for the object these properties are being assigned to.
- More details will be available at CVE-2022-21824 after publication.
- Thanks to Patrik Oldsberg (rugvip) for reporting this vulnerability.
- Commits:
- [8dd4ca4537] - console: fix prototype pollution via console.table (Tobias Nießen) nodejs-private/node-private#307
- [e52882da4c] - crypto,tls: implement safe x509 GeneralName format (Tobias Nießen) nodejs-private/node-private#300
- [9a0a189b0b] - src: add cve reverts and associated tests (Michael Dawson) nodejs-private/node-private#300
- [4a262d42bc] - src: remove unused x509 functions (Tobias Nießen) nodejs-private/node-private#300
- [965536fe3d] - tls: fix handling of x509 subject and issuer (Tobias Nießen) nodejs-private/node-private#300
- [a2cbfa95ff] - tls: drop support for URI alternative names (Tobias Nießen) nodejs-private/node-private#300
New in Node.js 16.13.2 LTS (Jan 11, 2022)
- Notable changes:
- Improper handling of URI Subject Alternative Names (Medium)(CVE-2021-44531):
- Accepting arbitrary Subject Alternative Name (SAN) types, unless a PKI is specifically defined to use a particular SAN type, can result in bypassing name-constrained intermediates. Node.js was accepting URI SAN types, which PKIs are often not defined to use. Additionally, when a protocol allows URI SANs, Node.js did not match the URI correctly.
- Versions of Node.js with the fix for this disable the URI SAN type when checking a certificate against a hostname. This behavior can be reverted through the --security-revert command-line option.
- More details will be available at CVE-2021-44531 after publication.
- Certificate Verification Bypass via String Injection (Medium)(CVE-2021-44532):
- Node.js converts SANs (Subject Alternative Names) to a string format. It uses this string to check peer certificates against hostnames when validating connections. The string format was subject to an injection vulnerability when name constraints were used within a certificate chain, allowing the bypass of these name constraints.
- Versions of Node.js with the fix for this escape SANs containing the problematic characters in order to prevent the injection. This behavior can be reverted through the --security-revert command-line option.
- More details will be available at CVE-2021-44532 after publication.
- Incorrect handling of certificate subject and issuer fields (Medium)(CVE-2021-44533):
- Node.js did not handle multi-value Relative Distinguished Names correctly. Attackers could craft certificate subjects containing a single-value Relative Distinguished Name that would be interpreted as a multi-value Relative Distinguished Name, for example, in order to inject a Common Name that would allow bypassing the certificate subject verification.
- Affected versions of Node.js do not accept multi-value Relative Distinguished Names and are thus not vulnerable to such attacks themselves. However, third-party code that uses node's ambiguous presentation of certificate subjects may be vulnerable.
- More details will be available at CVE-2021-44533 after publication.
- Prototype pollution via console.table properties (Low)(CVE-2022-21824):
- Due to the formatting logic of the console.table() function it was not safe to allow user controlled input to be passed to the properties parameter while simultaneously passing a plain object with at least one property as the first parameter, which could be __proto__. The prototype pollution has very limited control, in that it only allows an empty string to be assigned numerical keys of the object prototype.
- Versions of Node.js with the fix for this use a null protoype for the object these properties are being assigned to.
- More details will be available at CVE-2022-21824 after publication.
- Thanks to Patrik Oldsberg (rugvip) for reporting this vulnerability.
- Commits:
- [8dd4ca4537] - console: fix prototype pollution via console.table (Tobias Nießen) nodejs-private/node-private#307
- [e52882da4c] - crypto,tls: implement safe x509 GeneralName format (Tobias Nießen) nodejs-private/node-private#300
- [9a0a189b0b] - src: add cve reverts and associated tests (Michael Dawson) nodejs-private/node-private#300
- [4a262d42bc] - src: remove unused x509 functions (Tobias Nießen) nodejs-private/node-private#300
- [965536fe3d] - tls: fix handling of x509 subject and issuer (Tobias Nießen) nodejs-private/node-private#300
- [a2cbfa95ff] - tls: drop support for URI alternative names (Tobias Nießen) nodejs-private/node-private#300
New in Node.js 17.3.0 Current (Dec 19, 2021)
- Notable changes:
- OpenSSL-3.0.1:
- OpenSSL-3.0.1 contains a fix for CVE-2021-4044: Invalid handling of X509_verify_cert() internal errors in libssl (Moderate). This is a vulnerability in OpenSSL that may be exploited through Node.js. More information can be read here: https://www.openssl.org/news/secadv/20211214.txt.
- Contributed by Richard Lau #41177.
- Other Notable Changes:
- lib:
- make AbortSignal cloneable/transferable (James M Snell) #41050
- deps:
- upgrade npm to 8.3.0 (npm team) #41127
- doc:
- add @bnb as a collaborator (Tierney Cyren) #41100
- process:
- add getActiveResourcesInfo() (Darshan Sen) #40813
- timers:
- add experimental scheduler api (James M Snell) #40909
- Commits:
- [99fb6d48eb] - assert: prefer reference comparison over string comparison (Darshan Sen) #41015
- [a7dfa43dc7] - assert: use stricter stack frame detection in .ifError() (Ruben Bridgewater) #41006
- [28761de6d4] - buffer: fix Blob constructor on various TypedArrays (Irakli Gozalishvili) #40706
- [8fcb71a5ab] - build: update openssl config generator Dockerfile (Richard Lau) #41177
- [3a9ffa86db] - build: use '
New in Node.js 17.1.0 Current (Nov 14, 2021)
- Notable Changes:
- [89b34ecffb] - doc: add VoltrexMaster to collaborators (voltrexmaster) #40566
- [95e4d29eb4] - (SEMVER-MINOR) esm: add support for JSON import assertion (Antoine du Hamel) #40250
- [1ddbae2d76] - (SEMVER-MINOR) lib: add unsubscribe method to non-active DC channels (simon-id) #40433
- [aa61551b49] - (SEMVER-MINOR) lib: add return value for DC channel.unsubscribe (simon-id) #40433
- [fbeb895ca6] - (SEMVER-MINOR) v8: multi-tenant promise hook api (Stephen Belanger) #39283
- Commits:
- [8a00dc5add] - build: skip long-running Actions for README-only modifications (Rich Trott) #40571
- [9f46fca124] - build: disable v8 pointer compression on 32bit archs (Cheng Zhao) #40418
- [5bef74395d] - deps: patch V8 to 9.5.172.25 (Michaël Zasso) #40604
- [3805b806ee] - deps: upgrade npm to 8.1.2 (npm team) #40643
- [c003ba131b] - deps: update c-ares to 1.18.1 (Richard Lau) #40660
- [841f35cc52] - deps: upgrade npm to 8.1.1 (npm team) #40554
- [8d16f0d2d3] - deps: V8: cherry-pick 422dc378a1da (Ray Wang) #40450
- [cdf5c44d62] - deps: add riscv64 config into openssl gypi (Lu Yahan) #40473
- [2b9fcdfe26] - deps: attempt to suppress macro-redefined warning (Daniel Bevenius) #40518
- [d2839bfaa9] - deps: regenerate OpenSSL arch files (Daniel Bevenius) #40518
- [5df8ce5cbe] - deps,build,tools: fix openssl-is-fips for ninja builds (Daniel Bevenius) #40518
- [79bf429405] - dgram: fix send with out of bounds offset + length (Nitzan Uziely) #40568
- [c29658fda7] - doc: update cjs-module-lexer repo link (Guy Bedford) #40707
- [e374f3ddd9] - doc: fix lint re-enabling comment in README.md (Rich Trott) #40647
- [ecccf48106] - doc: format v8.md in preparation for stricter linting (Rich Trott) #40647
- [95a7117037] - doc: final round of markdown format changes (Rich Trott) #40645
- [c104f5a9ab] - doc: remove --experimental-modules documentation (FrankQiu) #38974
- [ac81f89bbf] - doc: update tracking issues of startup performance (Joyee Cheung) #40629
- [65effa11fc] - doc: fix markdown syntax and HTML tag misses (ryan) #40608
- [c78d708a16] - doc: use 'GitHub Actions workflow' instead (Mestery) #40586
- [71bac70bf2] - doc: ref OpenSSL legacy provider from crypto docs (Tobias Nießen) #40593
- [8f410229ac] - doc: add node: url scheme (Daniel Nalborczyk) #40573
- [35dbed21f2] - doc: call cwd function (Daniel Nalborczyk) #40573
- [4870a23ccc] - doc: remove unused imports (Daniel Nalborczyk) #40573
- [5951ccc12e] - doc: simplify CHANGELOG.md (Rich Trott) #40475
- [6ae134ecb7] - doc: correct esm spec scope lookup definition (Guy Bedford) #40592
- [09239216f6] - doc: update CHANGELOG.md for Node.js 16.13.0 (Richard Lau) #40617
- [46ec5ac4df] - doc: add info on project's usage of coverity (Michael Dawson) #40506
- [7eb1a44410] - doc: fix typo in changelogs (Luigi Pinca) #40585
- [132f6cba05] - doc: update onboarding task (Rich Trott) #40570
- [5e2d0ed61e] - doc: simplify ccache instructions (Rich Trott) #40550
- [c1c1738bfc] - doc: fix macOS environment variables for ccache (Rich Trott) #40550
- [6e3e50f2ab] - doc: improve async_context introduction (Michaël Zasso) #40560
- [1587fe62d4] - doc: use GFM footnotes in webcrypto.md (Rich Trott) #40477
- [305c022db4] - doc: describe buffer limit of v8.serialize (Ray Wang) #40243
- [6e39e0e10a] - doc: run license-builder (Rich Trott) #40540
- [556e49ccb5] - doc: use GFM footnotes in maintaining-V8.md (#40476) (Rich Trott) #40476
- [9c6a9fd5b1] - doc: use GFM footnotes in BUILDING.md (Rich Trott) #40474
- [fd946215cc] - doc: fix fs.symlink code example (Juan José Arboleda) #40414
- [404730ac1b] - doc: update for changed --dns-result-order default (Richard Lau) #40538
- [acc22c7c4a] - doc: add missing entry in globals.md (Antoine du Hamel) #40531
- [0375d958ef] - doc: explain backport labels (Stephen Belanger) #40520
- [4993d87c49] - doc: fix entry for Slack channel in onboarding.md (Rich Trott) #40563
- [89b34ecffb] - doc: add VoltrexMaster to collaborators (voltrexmaster) #40566
- [6357ef15d0] - doc: document considerations for inclusion in core (Rich Trott) #40338
- [ed04827373] - doc: update link in onboarding doc (Rich Trott) #40539
- [34e244b8e9] - doc: clarify behavior of napi_extended_error_info (Michael Dawson) #40458
- [5a588ff047] - doc: add updating expected assets to release guide (Richard Lau) #40470
- [95e4d29eb4] - (SEMVER-MINOR) esm: add support for JSON import assertion (Antoine du Hamel) #40250
- [825a683423] - http: response should always emit 'close' (Robert Nagy) #40543
- [81cd7f3751] - lib: fix regular expression to detect `/` and `` (Francesco Trotta) #40325
- [1ddbae2d76] - (SEMVER-MINOR) lib: add unsubscribe method to non-active DC channels (simon-id) #40433
- [aa61551b49] - (SEMVER-MINOR) lib: add return value for DC channel.unsubscribe (simon-id) #40433
- [d97872dd98] - meta: use form schema for flaky test template (Michaël Zasso) #40737
- [c2fabdbce8] - meta: update AUTHORS (Node.js GitHub Bot) #40668
- [aa98c6bdce] - meta: consolidate AUTHORS entries for brettkiefer (Rich Trott) #40599
- [18296c3d8e] - meta: consolidate AUTHORS entries for alexzherdev (Rich Trott) #40620
- [88d812793d] - meta: consolidate AUTHORS entries for Azard (Rich Trott) #40619
- [d81b65ca0e] - meta: move Fishrock123 to emeritus (Jeremiah Senkpiel) #40596
- [ec02e7b68a] - meta: consolidate AUTHORS entries for clakech (Rich Trott) #40589
- [08e7a2ff24] - meta: consolidate AUTHORS entries for darai0512 (Rich Trott) #40569
- [488ee51f90] - meta: update AUTHORS (Node.js GitHub Bot) #40580
- [ba9a6c5d06] - meta: consolidate AUTHORS entries for dfabulich (Rich Trott) #40527
- [bd06e9945e] - meta: move one or more collaborators to emeritus (Node.js GitHub Bot) #40464
- [7cee125dcf] - meta: add Richard Lau to TSC list in README.md (Rich Trott) #40523
- [6a771f8bcb] - meta: consolidate AUTHORS entries for dguo (Rich Trott) #40517
- [e4c740646d] - meta: consolidate AUTHORS entries for cxreg (Rich Trott) #40490
- [075cfbf941] - module: resolver & spec hardening /w refactoring (Guy Bedford) #40510
- [b320387c83] - policy: fix message for invalid manifest specifier (Rich Trott) #40574
- [ea968d54c5] - process: refactor execution (Voltrex) #40664
- [fb7c437b0b] - src: make LoadEnvironment with string work with builtin modules path (Michaël Zasso) #40607
- [e9388c87bf] - src: remove usage of AllocatedBuffer from node_http2 (Darshan Sen) #40584
- [7a22f913b0] - src: fix #endif description in crypto_keygen.h (Tobias Nießen) #40639
- [396342e26d] - src: throw error instead of assertion (Ray Wang) #40243
- [accab383a1] - src: register external references in os bindings (Joyee Cheung) #40239
- [a11f9ea4f0] - src: register external references in crypto bindings (Joyee Cheung) #40239
- [ef1ace7e88] - src,crypto: use std::variant in DH params (Darshan Sen) #40457
- [4433852f62] - src,crypto: remove AllocatedBuffer from crypto_cipher.cc (Darshan Sen) #40400
- [814126c3ed] - src,fs: remove ToLocalChecked() call from fs::AfterMkdirp() (Darshan Sen) #40386
- [d4b45cc249] - src,stream: remove *Check*() calls from non-Initialize() functions (Darshan Sen) #40425
- [bac7fe0797] - stream: remove no longer necessary ComposeDuplex (Robert Nagy) #40545
- [e58cce49fd] - test: disable warnings to fix flaky test (Antoine du Hamel) #40739
- [8c103ab2ff] - test: skip macos sandbox test with builtin modules path (Michaël Zasso) #40607
- [ac3bc6eed0] - test: add semicolon after chunk size (Luigi Pinca) #40487
- [95fe9bb922] - test: deflake http2-cancel-while-client-reading (Luigi Pinca) #40659
- [dfd0215266] - test: avoid deep comparisons with literals (Tobias Nießen) #40634
- [5020f634b8] - test: mark test-policy-integrity flaky on Windows (Rich Trott) #40684
- [8fa1c61e40] - test: fix test-datetime-change-notify after daylight change (Piotr Rybak) #40684
- [179a5c5436] - test: test crypto.setEngine() using an actual engine (Darshan Sen) #40481
- [cf6ded4db5] - test: use conventional argument order in assertion (Tobias Nießen) #40591
- [aefb097d6a] - test: fix test description (Luigi Pinca) #40486
- [126e669b84] - test,doc: correct documentation for runBenchmark() (Rich Trott) #40683
- [1844463ce2] - test,tools: increase pummel/benchmark test timeout from 4x to 6x (Rich Trott) #40684
- [f731f5ffb5] - test,tools: increase timeout for benchmark tests (Rich Trott) #40684
- [bbc10f1849] - tools: simplify and fix commit queue (Michaël Zasso) #40742
- [a3df50d810] - tools: ensure the PR was not pushed before merging (Antoine du Hamel) #40747
- [306d953c15] - tools: update ESLint to 8.2.0 (Luigi Pinca) #40734
- [b7e736843c] - tools: use GitHub Squash and Merge feature when using CQ (Antoine du Hamel) #40666
- [50d102ec08] - tools: fix bug in prefer-primordials ESLint rule (Antoine du Hamel) #40628
- [ec2cadef85] - tools: add script to update c-ares (Richard Lau) #40660
- [5daa313215] - tools: notify user if format-md needs to be run (Rich Trott) #40647
- [0787c781ce] - tools: abort CQ session when landing several commits (Antoine du Hamel) #40577
- [ddc44ddfd9] - tools: fix commit-lint workflow (Antoine du Hamel) #40673
- [47eddd7076] - tools: avoid unnecessary escaping in markdown formatter (Rich Trott) #40645
- [c700de3705] - tools: avoid fetch extra commits when validating commit messages (Antoine du Hamel) #39128
- [716963484b] - tools: update ESLint to 8.1.0 (Luigi Pinca) #40582
- [9cb2116608] - tools: fix formatting of warning message in update-authors.js (Rich Trott) #40600
- [507f1dbc8d] - tools: udpate doc tools to accommodate GFM footnotes (Rich Trott) #40477
- [c2265a92c3] - tools: update license-builder.sh for OpenSSL (Rich Trott) #40540
- [16624b404c] - tools,meta: remove exclusions from AUTHORS (Rich Trott) #40648
- [a95e344fe5] - tty: support more CI services in getColorDepth (Richie Bendall) #40385
- [b4194ff349] - typings: add more bindings typings (Mestery) #40415
- [da859b56cb] - typings: add JSDoc typings for inspector (Voltrex) #38390
- [90aa96dc44] - typings: improve internal bindings typings (Mestery) #40411
- [1e9f3cc522] - typings: separate internalBinding typings (Mestery) #40409
- [fbeb895ca6] - (SEMVER-MINOR) v8: multi-tenant promise hook api (Stephen Belanger) #39283
New in Node.js 16.13.0 LTS (Nov 14, 2021)
- This release marks the transition of Node.js 16.x into Long Term Support (LTS) with the codename 'Gallium'. The 16.x release line now moves into "Active LTS" and will remain so until October 2022. After that time, it will move into "Maintenance" until end of life in April 2024.
New in Node.js 17.0.1 Current (Oct 21, 2021)
- Notable Changes:
- Fixed distribution for native addon builds:
- This release fixes an issue introduced in Node.js v17.0.0, where some V8 headers were missing from the distributed tarball, making it impossible to build native addons. These headers are now included. #40526
- Fixed stream issues:
- Fixed a regression in stream.promises.pipeline, which was introduced in version 16.10.0, is fixed. It is now possible again to pass an array of streams to the function. #40193
- Fixed a bug in stream.Duplex.from, which didn't work properly when an async generator function was passed to it. #40499
- Commits:
- [3f033556c3] - build: include missing V8 headers in distribution (Michaël Zasso) #40526
- [adbd92ef1d] - crypto: avoid double free (Michael Dawson) #40380
- [8dce85aadc] - doc: format doc/api/*.md with markdown formatter (Rich Trott) #40403
- [977016a72f] - doc: specify that maxFreeSockets is per host (Luigi Pinca) #40483
- [f9f2442739] - src: add missing inialization in agent.h (Michael Dawson) #40379
- [111f0bd9b6] - stream: fix fromAsyncGen (Robert Nagy) #40499
- [b84f101049] - stream: support array of streams in promises pipeline (Mestery) #40193
- [3f7c503b69] - test: adjust CLI flags test to ignore blank lines in doc (Rich Trott) #40403
- [7c42d9fcc6] - test: split test-crypto-dh.js (Joyee Cheung) #40451
New in Node.js 17.0.0 Current (Oct 20, 2021)
- Notable Changes:
- Deprecations and Removals:
- [f182b9b29f] - (SEMVER-MAJOR) dns: runtime deprecate type coercion of dns.lookup options (Antoine du Hamel) #39793
- [4b030d0573] - doc: deprecate (doc-only) http abort related (dr-js) #36670
- [36e2ffe6dc] - (SEMVER-MAJOR) module: subpath folder mappings EOL (Guy Bedford) #40121
- [64287e4d45] - (SEMVER-MAJOR) module: runtime deprecate trailing slash patterns (Guy Bedford) #40117
- OpenSSL 3.0:
- Node.js now includes OpenSSL 3.0, specifically quictls/openssl which provides QUIC support. With OpenSSL 3.0 FIPS support is again available using the new FIPS module. For details about how to build Node.js with FIPS support please see BUILDING.md.
- While OpenSSL 3.0 APIs should be mostly compatible with those provided by OpenSSL 1.1.1, we do anticipate some ecosystem impact due to tightened restrictions on the allowed algorithms and key sizes.
- If you hit an ERR_OSSL_EVP_UNSUPPORTED error in your application with Node.js 17, it’s likely that your application or a module you’re using is attempting to use an algorithm or key size which is no longer allowed by default with OpenSSL 3.0. A command-line option, --openssl-legacy-provider, has been added to revert to the legacy provider as a temporary workaround for these tightened restrictions.
- For details about all the features in OpenSSL 3.0 please see the OpenSSL 3.0 release blog.
- Contributed in https://github.com/nodejs/node/pull/38512, https://github.com/nodejs/node/pull/40478
- V8 9.5:
- The V8 JavaScript engine is updated to V8 9.5. This release comes with additional supported types for the Intl.DisplayNames API and Extended timeZoneName options in the Intl.DateTimeFormat API.
- You can read more details in the V8 9.5 release post - https://v8.dev/blog/v8-release-95.
- Contributed by Michaël Zasso - https://github.com/nodejs/node/pull/40178
- Readline Promise API:
- The readline module provides an interface for reading data from a Readable stream (such as process.stdin) one line at a time.
- Other Notable Changes:
- [1b2749ecbe] - (SEMVER-MAJOR) dns: default to verbatim=true in dns.lookup() (treysis) #39987
- [59d3d542d6] - (SEMVER-MAJOR) errors: print Node.js version on fatal exceptions that cause exit (Divlo) #38332
- [a35b7e0427] - deps: upgrade npm to 8.1.0 (npm team) #40463
- [6cd12be347] - (SEMVER-MINOR) fs: add FileHandle.prototype.readableWebStream() (James M Snell) #39331
- [d0a898681f] - (SEMVER-MAJOR) lib: add structuredClone() global (Ethan Arrowood) #39759
- [e4b1fb5e64] - (SEMVER-MAJOR) lib: expose DOMException as global (Khaidi Chu) #39176
- [0738a2b7bd] - (SEMVER-MAJOR) stream: finished should error on errored stream (Robert Nagy) #39235
- Semver-Major Commits:
- [9dfa30bdd5] - (SEMVER-MAJOR) build: compile with C++17 (MSVC) (Richard Lau) #38807
- [9f0bc602e4] - (SEMVER-MAJOR) build: compile with --gnu++17 (Richard Lau) #38807
- [62719c5fd2] - (SEMVER-MAJOR) deps: update V8 to 9.5.172.19 (Michaël Zasso) #40178
- [66da32c045] - (SEMVER-MAJOR) deps,test,src,doc,tools: update to OpenSSL 3.0 (Daniel Bevenius) #38512
- [40c6e838df] - (SEMVER-MAJOR) dgram: tighten address validation in socket.send (Voltrex) #39190
- [f182b9b29f] - (SEMVER-MAJOR) dns: runtime deprecate type coercion of dns.lookup options (Antoine du Hamel) #39793
- [1b2749ecbe] - (SEMVER-MAJOR) dns: default to verbatim=true in dns.lookup() (treysis) #39987
- [ae876d420c] - (SEMVER-MAJOR) doc: update minimum supported FreeBSD to 12.2 (Michaël Zasso) #40179
- [59d3d542d6] - (SEMVER-MAJOR) errors: print Node.js version on fatal exceptions that cause exit (Divlo) #38332
- [f9447b71a6] - (SEMVER-MAJOR) fs: fix rmsync error swallowing (Nitzan Uziely) #38684
- [f27b7cf95c] - (SEMVER-MAJOR) fs: aggregate errors in fsPromises to avoid error swallowing (Nitzan Uziely) #38259
- [d0a898681f] - (SEMVER-MAJOR) lib: add structuredClone() global (Ethan Arrowood) #39759
- [e4b1fb5e64] - (SEMVER-MAJOR) lib: expose DOMException as global (Khaidi Chu) #39176
- [36e2ffe6dc] - (SEMVER-MAJOR) module: subpath folder mappings EOL (Guy Bedford) #40121
- [64287e4d45] - (SEMVER-MAJOR) module: runtime deprecate trailing slash patterns (Guy Bedford) #40117
- [707dd77d86] - (SEMVER-MAJOR) readline: validate AbortSignals and remove unused event listeners (Antoine du Hamel) #37947
- [8122d243ae] - (SEMVER-MAJOR) readline: introduce promise-based API (Antoine du Hamel) #37947
- [592d1c3d44] - (SEMVER-MAJOR) readline: refactor Interface to ES2015 class (Antoine du Hamel) #37947
- [3f619407fe] - (SEMVER-MAJOR) src: allow CAP_NET_BIND_SERVICE in SafeGetenv (Daniel Bevenius) #37727
- [0a7f850123] - (SEMVER-MAJOR) src: return Maybe from a couple of functions (Darshan Sen) #39603
- [bdaf51bae7] - (SEMVER-MAJOR) src: allow custom PageAllocator in NodePlatform (Shelley Vohr) #38362
- [0c6f345cda] - (SEMVER-MAJOR) stream: fix highwatermark threshold and add the missing error (Rongjian Zhang) #38700
- [0e841b45c2] - (SEMVER-MAJOR) stream: don't emit 'data' after 'error' or 'close' (Robert Nagy) #39639
- [ef992f6de9] - (SEMVER-MAJOR) stream: do not emit end on readable error (Szymon Marczak) #39607
- [efd40eadab] - (SEMVER-MAJOR) stream: forward errored to callback (Robert Nagy) #39364
- [09d8c0c8d2] - (SEMVER-MAJOR) stream: destroy readable on read error (Robert Nagy) #39342
- [a5dec3a470] - (SEMVER-MAJOR) stream: validate abort signal (Robert Nagy) #39346
- [bb275ef2a4] - (SEMVER-MAJOR) stream: unify stream utils (Robert Nagy) #39294
- [b2ae12d422] - (SEMVER-MAJOR) stream: throw on premature close in Readable[AsyncIterator] (Darshan Sen) #39117
- [0738a2b7bd] - (SEMVER-MAJOR) stream: finished should error on errored stream (Robert Nagy) #39235
- [954217adda] - (SEMVER-MAJOR) stream: error Duplex write/read if not writable/readable (Robert Nagy) #34385
- [f4609bdf3f] - (SEMVER-MAJOR) stream: bypass legacy destroy for pipeline and async iteration (Robert Nagy) #38505
- [e1e669b109] - (SEMVER-MAJOR) url: throw invalid this on detached accessors (James M Snell) #39752
- [70157b9cb7] - (SEMVER-MAJOR) url: forbid certain confusable changes from being introduced by toASCII (Timothy Gu) #38631
- Semver-Minor Commits:
- [6cd12be347] - (SEMVER-MINOR) fs: add FileHandle.prototype.readableWebStream() (James M Snell) #39331
- [341312d78a] - (SEMVER-MINOR) readline: add autoCommit option (Antoine du Hamel) #37947
- [1d2f37d970] - (SEMVER-MINOR) src: add --openssl-legacy-provider option (Daniel Bevenius) #40478
- [3b72788afb] - (SEMVER-MINOR) src: add flags for controlling process behavior (Cheng Zhao) #40339
- [8306051001] - (SEMVER-MINOR) stream: add readableDidRead (Robert Nagy) #36820
- [08ffbd115e] - (SEMVER-MINOR) vm: add support for import assertions in dynamic imports (Antoine du Hamel) #40249
- Semver-Patch Commits:
- [ed01811e71] - benchmark: increase crypto DSA keygen params (Brian White) #40416
- [cb93fdbba5] - build: reset embedder string to "-node.0" (Michaël Zasso) #40178
- [ed76b49834] - build: fix actions pull request's branch (Mestery) #40494
- [6baea14506] - build: avoid run find inactive authors on forked repo (Jiawen Geng) #40465
- [f9996d5b80] - build: include new public V8 headers in distribution (Michaël Zasso) #40423
- [983b757f3f] - build: update codeowners-validator to 0.6 (FrankQiu) #40307
- [73c3885e10] - build: remove duplicate check for authors.yml (Rich Trott) #40393
- [92090d3435] - build: make scripts in gyp run with right python (Cheng Zhao) #39730
- [28f711b552] - crypto: remove incorrect constructor invocation (gc) #40300
- [228e703ded] - deps: workaround debug link error on Windows (Richard Lau) #38807
- [a35b7e0427] - deps: upgrade npm to 8.1.0 (npm team) #40463
- [d434c5382a] - deps: regenerate OpenSSL arch files (Daniel Bevenius) #40478
- [2cebd5f02b] - deps: add missing legacyprov.c source (Daniel Bevenius) #40478
- [bf82dcd5ba] - deps: patch V8 to 9.5.172.21 (Michaël Zasso) #40432
- [795108a63d] - deps: V8: make V8 9.5 ABI-compatible with 9.6 (Michaël Zasso) #40422
- [5d7bd8616e] - deps: suppress zlib compiler warnings (Daniel Bevenius) #40343
- [fe84cd453d] - deps: upgrade Corepack to 0.10 (Maël Nison) #40374
- [2d503ed3ff] - deps: V8: backport 239898ef8c77 (Felix Yan) #39827
- [c9296b190f] - deps: V8: cherry-pick 2a0bc36dec12 (Michaël Zasso) #40178
- [5b358370ad] - deps: V8: cherry-pick cf21eb36b975 (Michaël Zasso) #40178
- [228e703ded] - deps: workaround debug link error on Windows (Richard Lau) #38807
- [cca9b95523] - dgram: add nread assertion to UDPWrap::OnRecv (Darshan Sen) #40295
- [7c77db0243] - dns: refactor and use validators (Voltrex) #40022
- [a278117f28] - doc: update Collaborator guide to reflect GitHub web UI update (Antoine du Hamel) #40456
- [4cf5563147] - doc: indicate n-api out params that may be NULL (Isaac Brodsky) #40371
- [15ce81a464] - doc: remove ESLint comments which were breaking the CJS/ESM toggles (Mark Skelton) #40408
- [54a85d6bb5] - doc: add pronouns for tniessen to README (Tobias Nießen) #40412
- [40db88b7b5] - doc: format changelogs (Rich Trott) #40388
- [4f68839910] - doc: fix missing variable in deepStrictEqual example (OliverOdo) #40396
- [ca6adcf37e] - doc: fix asyncLocalStorage.run() description (Constantine Kim) #40381
- [7dd3adf6dd] - doc: fix typos in n-api docs (Ignacio Carbajo) #40402
- [eb65871ab4] - doc: format doc/guides using format-md task (Rich Trott) #40358
- [0d50dfdf61] - doc: improve phrasing in fs.md (Arslan Ali) #40255
- [7723148758] - doc: add link to core promises tracking issue (Michael Dawson) #40355
- [ccee352630] - doc: esm resolver spec refactoring for deprecations (Guy Bedford) #40314
- [1fc1b0f5f2] - doc: claim ABI version for Electron v17 (Milan Burda) #40320
- [0d2b6aca60] - doc: assign missing deprecation number (Michaël Zasso) #40324
- [4bd8e0efa0] - doc: fix typo in ESM example (Tobias Nießen) #40275
- [03d25fe816] - doc: fix typo in esm.md (Mason Malone) #40273
- [6199441b00] - doc: correct ESM load hook table header (Jacob) #40234
- [78962d1ca1] - doc: mark readline promise implementation as experimental (Antoine du Hamel) #40211
- [4b030d0573] - doc: deprecate (doc-only) http abort related (dr-js) #36670
- [bbd4c6eee9] - doc: claim ABI version for Electron v15 and v16 (Samuel Attard) #39950
- [3e774a0500] - doc: fix history for fs.WriteStream open event (Antoine du Hamel) #39972
- [6fdd5827f0] - doc: anchor link parity between markdown and html-generated docs (foxxyz) #39304
- [7b7a0331f4] - doc: reset added: version to REPLACEME (Luigi Pinca) #39901
- [58257b7c61] - doc: fix typo in webstreams.md (Luigi Pinca) #39898
- [df22736d80] - esm: consolidate ESM loader hooks (Jacob) #37468
- [ac4f5e2437] - lib: refactor to use let (gdccwxx) #40364
- [3d11bafaa0] - lib: make structuredClone spec compliant (voltrexmaster) #40251
- [48655e17e1] - lib,url: correct URL's argument to pass idlharness (Khaidi Chu) #39848
- [c0a70203de] - meta: update AUTHORS (Node.js GitHub Bot) #40485
- [cbc7b5d424] - meta: consolidate AUTHORS entries for emanuelbuholzer (Rich Trott) #40469
- [881174e016] - meta: consolidate AUTHORS entries for ebickle (Rich Trott) #40447
- [b80b85e130] - meta: add typings to label-pr-config (Mestery) #40401
- [95cf944736] - meta: consolidate AUTHORS entries for evantorrie (Rich Trott) #40430
- [c350c217f4] - meta: consolidate AUTHORS entries for gabrielschulhof (Rich Trott) #40420
- [a9411891cf] - meta: consolidate AUTHORS information for geirha (Rich Trott) #40406
- [0cc37209fa] - meta: consolidate duplicate AUTHORS entries for hassaanp (Rich Trott) #40391
- [49b7ec96a4] - meta: update AUTHORS (Node.js GitHub Bot) #40392
- [a3c0713d9e] - meta: consolidate AUTHORS entry for thw0rted (Rich Trott) #40387
- [eaa59571e0] - meta: update label-pr-config (Mestery) #40199
- [6a205d7a56] - meta: use .mailmap to consolidate AUTHORS entries for ide (Rich Trott) #40367
- [f570109094] - net: check if option is undefined (Daijiro Wachi) #40344
- [119558b6a2] - net: remove unused ObjectKeys (Daijiro Wachi) #40344
- [c7cd8ef6c6] - net: check objectMode first and then readble || writable (Daijiro Wachi) #40344
- [46446623f5] - net: throw error to object mode in Socket (Daijiro Wachi) #40344
- [38aa7cc7c7] - src: get embedder options on-demand (Joyee Cheung) #40357
- [ad4e70c817] - src: ensure V8 initialized before marking milestone (Shelley Vohr) #40405
- [a784258444] - src: remove usage of AllocatedBuffer from stream_* (Darshan Sen) #40293
- [f11493dfc9] - src: add missing initialization (Michael Dawson) #40370
- [5e248eceb6] - src: update NODE_MODULE_VERSION to 102 (Michaël Zasso) #40178
- [3f0b62375b] - stream: convert premature close to AbortError (Robert Nagy) #39524
- [79f4d5a345] - stream: fix toWeb typo (Robert Nagy) #39496
- [44ee6c2623] - stream: call done() in consistent fashion (Rich Trott) #39475
- [09ad64d66d] - stream: add CompressionStream and DecompressionStream (James M Snell) #39348
- [a99c230305] - stream: implement streams to webstreams adapters (James M Snell) #39134
- [a5ba28dda2] - stream: fix performance regression (Brian White) #39254
- [ce00381751] - stream: use finished for async iteration (Robert Nagy) #39282
- [e0faf8c3e9] - test: replace common port with specific number (Daijiro Wachi) #40344
- [8068f40313] - test: fix typos in whatwg-webstreams explanations (Tobias Nießen) #40389
- [eafdeab97b] - test: add test for readStream.path when fd is specified (Qingyu Deng) #40359
- [24f045dae2] - test: replace .then chains with await (gdccwxx) #40348
- [5b4ba52786] - test: fix "test/common/debugger" identify async function (gdccwxx) #40348
- [1d84e916d6] - test: improve test coverage of fs.ReadStream with FileHandle (Antoine du Hamel) #40018
- [b63e449b2e] - test: pass URL's toascii.window.js WPT (Khaidi Chu) #39910
- [842fd234b7] - test: adapt test-repl to V8 9.5 (Michaël Zasso) #40178
- [d7b9b9f8d7] - test: remove test-v8-untrusted-code-mitigations (Ross McIlroy) #40178
- [7624917069] - tools: update tools/lint-md dependencies to support GFM footnotes (Rich Trott) #40445
- [350a95b89f] - tools: update lint-md dependencies (Rich Trott) #40404
- [012152d7d6] - tools: udpate @babel/eslint-parser (Rich Trott) #40394
- [43c780e741] - tools: remove @babel/plugin-syntax-import-assertions (Rich Trott) #40394
- [b39db95737] - tools: remove @bable/plugin-syntax-class-properties (Rich Trott) #40394
- [a6fd39f44f] - tools: remove @babel/plugin-syntax-top-level-await (Rich Trott) #40394
- [8ca76eba73] - tools: update ESLint to 8.0.0 (Rich Trott) #40394
- [dd8e219d71] - tools: prepare ESLint rules for 8.0.0 requirements (Rich Trott) #40394
- [0a1b399781] - tools: fix ESLint update scripts (Rich Trott) #40394
- [d6d6b050ff] - tools: warn about duplicates when generating AUTHORS file (Rich Trott) #40304
- [1fd984581c] - tools: update V8 gypfiles for 9.5 (Michaël Zasso) #40178
- [a8a86387fa] - tty: enable buffering (Robert Nagy) #39253
- [9467cbadcb] - typings: define types for os binding (Michaël Zasso) #40222
- [70a5b86049] - typings: add missing types to options and util bindings (Michaël Zasso) #40222
- [3815a21beb] - typings: define types for timers binding (Michaël Zasso) #40222
- [9e64336fbf] - typings: fix declaration of primordials (Michaël Zasso) #40222
- [f581f6da94] - url: fix performance regression (Brian White) #39778
- [02de40246f] - v8: remove --harmony-top-level-await (Geoffrey Booth) #40226
New in Node.js 16.11.1 Current (Oct 12, 2021)
- Notable changes:
- CVE-2021-22959: HTTP Request Smuggling due to spaced in headers (Medium):
- The http parser accepts requests with a space (SP) right after the header name before the colon. This can lead to HTTP Request Smuggling (HRS). More details will be available at CVE-2021-22959 after publication.
- CVE-2021-22960: HTTP Request Smuggling when parsing the body (Medium):
- The parse ignores chunk extensions when parsing the body of chunked requests. This leads to HTTP Request Smuggling (HRS) under certain conditions. More details will be available at CVE-2021-22960 after publication.
- Commits:
- [af488f8dc8] - deps: update llhttp to 6.0.4 (Matteo Collina) nodejs-private/node-private#284
- [2d1eefad98] - http: add regression test for smuggling content length (Matteo Collina) nodejs-private/node-private#284
- [45d419ab1c] - http: add regression test for chunked smuggling (Matteo Collina) nodejs-private/node-private#284
New in Node.js 14.18.1 LTS (Oct 12, 2021)
- Notable changes:
- CVE-2021-22959: HTTP Request Smuggling due to spaced in headers (Medium):
- The http parser accepts requests with a space (SP) right after the header name before the colon. This can lead to HTTP Request Smuggling (HRS). More details will be available at CVE-2021-22959 after publication.
- CVE-2021-22960: HTTP Request Smuggling when parsing the body (Medium):
- The parse ignores chunk extensions when parsing the body of chunked requests. This leads to HTTP Request Smuggling (HRS) under certain conditions. More details will be available at CVE-2021-22960 after publication.
- Commits:
- [8c254ca7e4] - deps: update llhttp to 2.1.4 (Fedor Indutny) nodejs-private/node-private#285
- [9b92ae2499] - http: add regression test for smuggling content length (Matteo Collina) nodejs-private/node-private#285
- [f467539719] - http: add regression test for chunked smuggling (Matteo Collina) nodejs-private/node-private#285
New in Node.js 16.9.1 Current (Sep 12, 2021)
- Notable Changes:
- This release fixes a regression introduced by the V8 9.3 update in Node.js 16.9.0.
- Commits:
- [04f1943109] - deps: V8: cherry-pick 9a607043cb31 (Jiawen Geng) #40046
New in Node.js 16.9.0 Current (Sep 7, 2021)
- Notable Changes:
- Corepack:
- Node.js now includes Corepack, a script that acts as a bridge between Node.js projects and the package managers they are intended to be used with during development. In practical terms, Corepack will let you use Yarn and pnpm without having to install them - just like what currently happens with npm, which is shipped in Node.js by default. Please head over to the Corepack documentation page for more information on how to use it.
- Contributed by Maël Nison - #39608
- V8 9.3:
- V8 is updated to version 9.3, which includes performance improvements and new JavaScript features.
- Other Notable Changes:
- [34c627e4bc] - (SEMVER-MINOR) crypto: add RSA-PSS params to asymmetricKeyDetails (Tobias Nießen) #39851
- [20da0a5379] - (SEMVER-MINOR) module: support pattern trailers (Guy Bedford) #39635
- [cb44781371] - (SEMVER-MINOR) stream: add stream.compose (Robert Nagy) #39029
- Commits:
- [2343c394fb] - async_hooks: use resource stack for AsyncLocalStorage run (Stephen Belanger) #39890
- [00951827cd] - Revert "build: add windows-2022 to GitHub test matrix" (Michaël Zasso) #39982
- [e7834535b3] - build: add windows-2022 to GitHub test matrix (Michaël Zasso) #39857
- [c49b0c0dd4] - build: add support for Visual Studio 2022 (Michaël Zasso) #39857
- [afdb665e57] - build: fix find-inactive-collaborators workflow token (Rich Trott) #39909
- [0ff88f362f] - build: update token used for pull requests (Rich Trott) #39907
- [beca890330] - build: adapt v8_pch.h to V8 9.3 (Michaël Zasso) #39469
- [2170346aa3] - build: reset embedder string to "-node.0" (Michaël Zasso) #39947
- [d33ab968ab] - cluster: fix comment regarding child_process file (Yash Ladha) #39308
- [585199497f] - crypto: fix regression in RSA-PSS keygen (Tobias Nießen) #39937
- [34c627e4bc] - (SEMVER-MINOR) crypto: add RSA-PSS params to asymmetricKeyDetails (Tobias Nießen) #39851
- [1dd91582da] - crypto: fix rsa-pss one-shot sign/verify error handling (Filip Skokan) #39830
- [20cf47004e] - crypto: fix JWK RSA-PSS SubtleCrypto.exportKey (Filip Skokan) #39828
- [e25dc8e470] - deps: upgrade npm to 7.21.1 (npm team) #39904
- [9270684837] - deps: update archs files for OpenSSL-1.1.1l+quic (Richard Lau) #39867
- [4b5bbec6cc] - deps: upgrade openssl sources to OpenSSL_1_1_1l+quic (Richard Lau) #39867
- [71659fd4ba] - (SEMVER-MINOR) deps: add corepack (Maël Nison) #39608
- [7470db0dfb] - deps: restore minimum ICU version to 68 (Michaël Zasso) #39470
- [92d83d18d2] - deps: make V8 9.3 abi-compatible with 9.0 (Michaël Zasso) #39947
- [0140face81] - deps: V8: cherry-pick 00bb1a77c03e (Darshan Sen) #39829
- [3e1053e755] - deps: V8: cherry-pick 81814ed44574 (Stephen Belanger) #39719
- [d9d0104878] - deps: silence irrelevant V8 warning (Michaël Zasso) #38990
- [cd9b03ea40] - deps: silence irrelevant V8 warnings (Michaël Zasso) #37587
- [b83cab712f] - deps: fix V8 build issue with inline methods (Jiawen Geng) #35415
- [068824d754] - deps: make v8.h compatible with VS2015 (Joao Reis) #32116
- [54f4f1af50] - deps: V8: forward declaration of Rtl*FunctionTable (Refael Ackermann) #32116
- [10ba1cb8b2] - deps: V8: patch register-arm64.h (Refael Ackermann) #32116
- [3ce6f72124] - deps: V8: un-cherry-pick bd019bd (Refael Ackermann) #32116
- [f43c292520] - (SEMVER-MINOR) deps: update V8 to 9.3.345.16 (Michaël Zasso) #39947
- [9e782eb758] - doc: remove {C,Dec}ompressionStream documentation (Luigi Pinca) #39899
- [7857e9cc77] - doc: add descriptions about when options.mode is ignored (Ray) #39881
- [d43b555047] - doc: remove danbev from TSC member list (Daniel Bevenius) #39978
- [fc01dd916e] - doc: add missing changes to generateKeyPair(Sync) (Tobias Nießen) #39963
- [953f2e9f88] - doc: add nodejs/tweet issue creation to sec. doc (Daniel Bevenius) #39940
- [29c4b07716] - doc: update WASI example to use import.meta.url (Guy Bedford) #39925
- [9eb4a70c14] - doc: move reference to OpenSSL flags SSL_OP_* (Tobias Nießen) #39935
- [8ea4befc82] - doc: add docs for duplex.allowHalfOpen property (Tim Perry) #39126
- [bc2b73ec9b] - doc: add FrankQiu to a triager (FrankQiu) #39922
- [8b68f8ec38] - doc: add VoltrexMaster to triagers (voltrexmaster) #39920
- [3a8f77ac0d] - doc: document JavaScript tool for benchmark comparison (Michaël Zasso) #39835
- [4ac703ca8e] - doc: add Mesteery to triagers (Mestery) #39887
- [d059a5186b] - doc: update maintaining openssl guide (Richard Lau) #39878
- [486150580c] - doc: move ERR_WORKER_UNSPPORTED_EXTENSION to legacy (Qingyu Deng) #39788
- [a4b8c13798] - events: protect property defs against prototype polution (James M Snell) #39773
- [cfbe9065ae] - events: add brand checks for detached accessors (James M Snell) #39773
- [112af69194] - fs: add docs and tests for AsyncIterable support in fh.writeFile (Antoine du Hamel) #39836
- [402071bc45] - meta: remove duplicate AUTHORS entry for NigelKibodeaux (Rich Trott) #39967
- [3588f07603] - meta: add mailmap entry for Ethan-Arrowood (Rich Trott) #39930
- [259e0cf4d7] - meta: add mailmap entry for branisha (Rich Trott) #39889
- [bc236a6714] - meta: update .mailmap to remove duplicate AUTHORS entry for addaleax (Rich Trott) #39880
- [20da0a5379] - (SEMVER-MINOR) module: support pattern trailers (Guy Bedford) #39635
- [879dc4658e] - src: remove usage of AllocatedBuffer from src/node_buffer.cc (Darshan Sen) #39941
- [79ce096470] - src: remove extra semicolons outside fns (Shelley Vohr) #39800
- [cb44781371] - (SEMVER-MINOR) stream: add stream.compose (Robert Nagy) #39029
- [ca9b781d20] - test: use assert.match instead of regexp.test (Michaël Zasso) #39928
- [007e2855af] - test: use error code mapping in place of raw errno (Darshan Sen) #38675
- [00529b0ef2] - test: add test to verify other extension can be loaded by worker (Qingyu Deng) #39788
- [4e7212c88c] - test: update error message keywords (leeight) #39826
- [549d717722] - test: adapt test-fs-read to V8 9.3 (Michaël Zasso) #39469
- [644b25e068] - test: adapt test-util-inspect to V8 9.3 (Michaël Zasso) #39469
- [105bff9ea5] - test: adapt test-v8-flags to V8 9.3 (Michaël Zasso) #39469
- [d92bd9a982] - tools: add support for import assertions in linter (Antoine du Hamel) #39924
- [9763561e30] - tools: update gyp-next to v0.10.0 (Michaël Zasso) #39857
- [9f105c73fc] - tools: update V8 gypfiles for 9.3 (Michaël Zasso) #39469
- [16271d2f50] - worker: remove file extension check (Qingyu Deng) #39788
- [3b1ce93e03] - worker: add brand checks for detached MessageEvent accessors (James M Snell) #39773
New in Node.js 16.8.0 Current (Aug 27, 2021)
- Notable Changes:
- [2e90b10f35] - doc: deprecate type coercion for dns.lookup options (Antoine du Hamel) #38906
- [a6d50a18a0] - (SEMVER-MINOR) stream: add stream.Duplex.from utility (Robert Nagy) #39519
- [af7047a815] - (SEMVER-MINOR) stream: add isDisturbed helper (Robert Nagy) #39628
- [66400374de] - (SEMVER-MINOR) util: expose toUSVString (Robert Nagy) #39814
- Commits:
- [90bf247a55] - build: fix update authors commit (Mestery) #39858
- [c968372e37] - build: add authors.yml (Tierney Cyren) #35831
- [3f284cf65c] - build: add option to hide console window (Cheng Zhao) #39712
- [a01e3ab41d] - deps: V8: cherry-pick 00bb1a77c03e (Darshan Sen) #39829
- [cce95c4c5b] - deps: upgrade npm to 7.21.0 (Myles Borins) #39813
- [254810a22e] - doc: add duplicate CVE check in sec. release doc (Daniel Bevenius) #39845
- [8c50d16712] - doc: improve description of the triagers team (Michaël Zasso) #39833
- [c02165d992] - doc: update instructions for cc (Michael Dawson) #39674
- [208305fd8f] - doc: move util.toUSVString() outside of deprecated group (Luigi Pinca) #39840
- [2e90b10f35] - doc: deprecate type coercion for dns.lookup options (Antoine du Hamel) #38906
- [8460a3216c] - doc: deprecate using non-boolean values in the verbatim option (Antoine du Hamel) #38906
- [3041d57201] - doc: fix malformed changelog entries (Rich Trott) #39791
- [2b02f747c3] - doc: fix lint errors in packages.md (Rich Trott) #39792
- [a387600d8f] - doc: add example of self-reference in scoped packages (Jesús Leganés-Combarro 'piranna) #37630
- [7a25bf3a6d] - doc: add himadriganguly as a triager (Himadri Ganguly) #39757
- [d1900f43ce] - fs: combine require() and destructure (Colin Ihrig) #39806
- [158d4464d2] - meta: add gyp as owner of gyp files and tools/gyp (Mary Marchini) #34847
- [8fa38500f2] - policy: canonicalize before resolving specifiers (Bradley Farias) #37863
- [a7a217be13] - repl: fix tla function hoisting (Don Jayamanne) #39745
- [3a8399ee61] - src: return Maybe from InitializeContextRuntime() (Darshan Sen) #39695
- [a704c9dfce] - (SEMVER-MINOR) src: call overload ctor from the original ctor (Darshan Sen) #39768
- [0918ea0683] - (SEMVER-MINOR) src: add a constructor overload for CallbackScope (Darshan Sen) #39768
- [a6d50a18a0] - (SEMVER-MINOR) stream: duplexify (Robert Nagy) #39519
- [af7047a815] - (SEMVER-MINOR) stream: add isDisturbed helper (Robert Nagy) #39628
- [f98311a7c8] - tools: update workflow to open a pull request (Rich Trott) #39825
- [d33f897509] - tools: use find-inactive-collaborators to modify README.md (Rich Trott) #39825
- [d82ee96861] - tools: update gyp-next to v0.9.5 (Jiawen Geng) #39818
- [79079ea01b] - tools: fix markdown linting (Rich Trott) #39832
- [01093b07cc] - tools: update markdown linter dependencies and move to ESM (Antoine du Hamel) #39801
- [9dc0c91392] - tools: update rollup to latest version in markdown linter (Rich Trott) #39797
- [c34e2534ab] - tools: update markdown lint dependencies (Rich Trott) #39770
- [66400374de] - (SEMVER-MINOR) util: expose toUSVString (Robert Nagy) #39814
New in Node.js 16.6.2 Current (Aug 12, 2021)
- Notable Changes:
- CVE-2021-3672/CVE-2021-22931: Improper handling of untypical characters in domain names (High)
- Node.js was vulnerable to Remote Code Execution, XSS, application crashes due to missing input validation of hostnames returned by Domain Name Servers in the Node.js DNS library which can lead to the output of wrong hostnames (leading to Domain Hijacking) and injection vulnerabilities in applications using the library. You can read more about it at https://nvd.nist.gov/vuln/detail/CVE-2021-22931.
- CVE-2021-22930: Use after free on close http2 on stream canceling (High)
- Node.js was vulnerable to a use after free attack where an attacker might be able to exploit memory corruption to change process behavior. This release includes a follow-up fix for CVE-2021-22930 as the issue was not completely resolved by the previous fix. You can read more about it at https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-22930.
- CVE-2021-22939: Incomplete validation of rejectUnauthorized parameter (Low)
- If the Node.js HTTPS API was used incorrectly and "undefined" was in passed for the "rejectUnauthorized" parameter, no error was returned and connections to servers with an expired certificate would have been accepted. You can read more about it at https://nvd.nist.gov/vuln/detail/CVE-2021-22939.
- Commits:
- [054537cdc2] - deps: update c-ares to 1.17.2 (Beth Griggs) #39724
- [ac544905b6] - deps: reflect c-ares source tree (Beth Griggs) #39653
- [a914b23cbc] - deps: apply missed updates from c-ares 1.17.1 (Beth Griggs) #39653
- [31d5773654] - http2: add tests for cancel event while client is paused reading (Akshay K) #39622
- [a3c33d4ce7] - http2: update handling of rst_stream with error code NGHTTP2_CANCEL (Akshay K) #39622
- [6c7fff6f1d] - tls: validate "rejectUnauthorized: undefined" (Matteo Collina) nodejs-private/node-private#276
New in Node.js 14.17.5 LTS (Aug 12, 2021)
- Notable Changes:
- CVE-2021-3672/CVE-2021-22931: Improper handling of untypical characters in domain names (High)
- Node.js was vulnerable to Remote Code Execution, XSS, application crashes due to missing input validation of hostnames returned by Domain Name Servers in the Node.js DNS library which can lead to the output of wrong hostnames (leading to Domain Hijacking) and injection vulnerabilities in applications using the library. You can read more about it at https://nvd.nist.gov/vuln/detail/CVE-2021-22931.
- CVE-2021-22930: Use after free on close http2 on stream canceling (High)
- Node.js was vulnerable to a use after free attack where an attacker might be able to exploit memory corruption to change process behavior. This release includes a follow-up fix for CVE-2021-22930 as the issue was not completely resolved by the previous fix. You can read more about it at https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-22930.
- CVE-2021-22939: Incomplete validation of rejectUnauthorized parameter (Low)
- If the Node.js HTTPS API was used incorrectly and "undefined" was in passed for the "rejectUnauthorized" parameter, no error was returned and connections to servers with an expired certificate would have been accepted. You can read more about it at https://nvd.nist.gov/vuln/detail/CVE-2021-22939.
- Commits:
- [4923b59e0b] - deps: update c-ares to 1.17.2 (Beth Griggs) #39724
- [847a4c6a8a] - deps: reflect c-ares source tree (Beth Griggs) #39653
- [33208e2f89] - deps: apply missed updates from c-ares 1.17.1 (Beth Griggs) #39653
- [af5c1af9a4] - http2: add tests for cancel event while client is paused reading (Akshay K) #39622
- [434872e838] - http2: update handling of rst_stream with error code NGHTTP2_CANCEL (Akshay K) #39622
- [35b86110e4] - tls: validate "rejectUnauthorized: undefined" (Matteo Collina) nodejs-private/node-private#276
New in Node.js 16.6.1 Current (Aug 4, 2021)
- Notable Changes:
- Updated npm to 7.20.3 (npm team) #39579
- Reverted an ABI-breaking change from V8 9.2 that could impact some native modules (Michaël Zasso) #39624
- Fixed a bug in error handling known to affect at least Webpack and Jest (Guy Bedford) #39593
- Commits:
- [6c769ccedf] - build: override python executable path on configure (legendecas) #39465
- [cbf6a01c17] - crypto: fix generateKeyPair with encoding 'jwk' (himself65) #39319
- [3091295609] - deps: revert ABI-breaking change from V8 9.2 (Michaël Zasso) #39624
- [06d7b8e8c8] - deps: upgrade npm to 7.20.3 (npm team) #39579
- [7b612fadc2] - doc: fix crypto.hkdf callback derivedKey type (Filip Skokan) #39453
- [7a731efd97] - doc,lib,test: rename HKDF 'key' argument (Tobias Nießen) #39474
- [93bbaa0ce9] - module: fix ERR_REQUIRE_ESM error for null frames (Guy Bedford) #39593
- [e13162de09] - module: refine enrichCJSError (Antoine du Hamel) #39507
- [815fbec6f1] - repl: do not include legacy getter/setter methods in completion (Anna Henningsen) #39576
- [0405c8d3f0] - zlib: avoid converting Uint8Array instances to Buffer (Antoine du Hamel) #39492
New in Node.js 16.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.3.0 Current (Jun 3, 2021)
- Notable Changes:
- cli:
- add -C alias for --conditions flag (Guy Bedford) #38755
- deps:
- add workspaces support to npm install commands (Ruy Adorno) #38750
- Commits:
- [4e58ec4aa6] - benchmark: output JSON-compatible numbers (Michaël Zasso) #38778
- [7a9d0fd5a9] - benchmark: fix http elapsed time (Antoine du Hamel) #38743
- [a98d631905] - bootstrap: include vm and contextify binding into the snapshot (Joyee Cheung) #38677
- [f1628960e1] - build: remove outdated dont-land-on-v6.x label (Michaël Zasso) #38886
- [6986154b30] - build: work around bug in MSBuild v16.10.0 (Michaël Zasso) #38873
- [24cca7c5ea] - build: add lto build to CI (Jiawen Geng) #38567
- [80c32b7a9a] - build: allow LTO with Clang 3.9.1+ (Jesse Chan) #38751
- [e9be2095cf] - build: replace non-POSIX test -a|o (Issam E. Maghni) #38731
- [717a8b63e1] - child_process: retain reference to data with advanced serialization (Anna Henningsen) #38728
- [bc8400122c] - (SEMVER-MINOR) cli: add -C alias for --conditions flag (Guy Bedford) #38755
- [eb7c932a6d] - debugger: revise async iterator usage to comply with lint rules (Rich Trott) #38847
- [f1000e0e52] - debugger: removed unused function argument (Rich Trott) #38850
- [ee1056da60] - debugger: wait for V8 debugger to be enabled (Michaël Zasso) #38811
- [47ad448def] - deps: upgrade npm to 7.15.1 (npm-robot) #38880
- [e8192b5e89] - deps: upgrade npm to 7.14.0 (Ruy Adorno) #38750
- [15aaf14690] - deps: update llhttp to 6.0.2 (Fedor Indutny) #38665
- [108ffdb68f] - doc: fixed typo in n-api.md (julianjany) #38822
- [131a6918dd] - doc: use "Long Term Support" in collaborator guide (Rich Trott) #38841
- [4844337cd7] - doc: use "Long Term Support" in technical values doc (Rich Trott) #38841
- [f1e823b679] - doc: use "Long Term Support" in README (Philip) #38839
- [4e11971a76] - doc: fix grammar in fs.md (yotamselementor) #38818
- [e2f28c80d1] - doc: fixup code sample in http.md (TodorTotev) #38776
- [96fa387082] - doc: document null target pattern (Guy Bedford) #38724
- [5553be3f4e] - doc: update code examples for node:url module (fisker Cheung) #38645
- [0c063a1258] - doc,url: clarify domainTo* when built without ICU (Darshan Sen) #38789
- [2054efa02c] - events: refactor to use primordials in lib/events (Akhil Marsonya) #38117
- [4884991a12] - lib: include url in bootstrap snapshot and remove unnecessary lazy-loads (Joyee Cheung) #38826
- [08ad2f6c18] - lib: fix typos (bl-ue) #38846
- [7d3a8cb854] - lib: remove unnecessary lazy loads (Joyee Cheung) #38737
- [5d9442a024] - lib: load internal/fs/watchers and internal/fs/read_file_context early (Joyee Cheung) #38737
- [2268d1cf4c] - lib: refactor to reuse validators (Rongjian Zhang) #38608
- [496f7eae92] - node-api: fix shutdown crashes (Michael Dawson) #38492
- [e1195312b9] - (SEMVER-MINOR) os: add os.devNull (Luigi Pinca) #38569
- [7ba305552f] - src: set PromiseHooks by Environment (Bryan English) #38821
- [74205b3542] - src: replace autos in node_api.cc (Khaidi Chu) #38852
- [120849f609] - src: cache necessary isolate & context in api/* (Khaidi Chu) #38366
- [f25cd4f377] - src: fix typos (bl-ue) #38845
- [a1b0e64187] - src: support fs_event_wrap binding in the snapshot (Joyee Cheung) #38737
- [36d4a4331d] - src: remove redundant v8 namespaces in env.cc (Juan José Arboleda) #38792
- [3e6b3b22c5] - src: use SPrintF in ProcessEmitWarning (Darshan Sen) #38758
- [9ca5c0e29e] - src: fix compiler warnings in node_buffer.cc (Darshan Sen) #38722
- [3741595289] - src: set CONF_MFLAGS_DEFAULT_SECTION for OpenSSL 3 (Daniel Bevenius) #38732
- [4e3353223e] - src: use HandleScope in StreamReq::Done() (Darshan Sen) #38720
- [c576311954] - src: remove commented code in node_file.cc (Juan José Arboleda) #38693
- [61c95f08b3] - src: write named pipe info in diagnostic report (legendecas) #38637
- [ba96f14233] - src: remove unused iostream library (Juan José Arboleda) #38694
- [f5dd85bbe6] - src: remove more extra semis from member fns (Shelley Vohr) #38744
- [a47fd67154] - src: replace autos in node_contextify.cc (Khaidi Chu) #38644
- [9054d25acc] - stream: add a non-destroying iterator to Readable (Nitzan Uziely) #38526
- [4131f94ca8] - stream: allow empty string as source of pipeline (Qingyu Deng) #38723
- [0aa3cb5c0e] - test: improve coverage of fs internal utils (Rongjian Zhang) #38746
- [48ebebd2a8] - test: remove unnecessary --pending-deprecation flag (Antoine du Hamel) #38819
- [3c492baa51] - test: fix writefile with fd (Nitzan Uziely) #38820
- [e91d14c57c] - test: simplify test-path-resolve.js (himself65) #38671
- [1f5baaa2e7] - test: improve coverage for question in readline (Qingyu Deng) #38799
- [6d86f8afd5] - test: os, replace custom flatten method with built-in Array.flat (Wael Almattar) #38770
- [c7a58578dc] - test: set locale for datetime-change-notify test (ZiJian Liu) #38741
- [695e982a42] - test: improve coverage of lib/fs.js (Rongjian Zhang) #38604
- [11ac9c6fcc] - test: improve coverage of lib/_http_outgoing.js (Rongjian Zhang) #38734
- [6da4aa30c6] - test: give js-native-api tests consistent names (Gabriel Schulhof) #38692
- [929e8df1c0] - test: improve coverage of stream.Readable (Rongjian Zhang) #38702
- [36ffd58105] - tools: refloat 7 Node.js patches to cpplint.py (Rich Trott) #38851
- [6b8c712247] - tools: bump cpplint to 1.5.5 (Rich Trott) #38851
- [be8d934679] - tools: remove exception for Node.js 8 and earlier (Rich Trott) #38840
- [c0bde0cd4a] - tools: update setup-node to setup-node@v2 (pengjie) #38825
- [21ce3af904] - tools: update ESLint to 7.27.0 (Luigi Pinca) #38764
- [ab44106555] - tools: use PrintCaughtException in the snapshot builder (Joyee Cheung) #38745
- [30c0020885] - typings: add JSDoc typings for https (Voltrex) #38589
- [7fb809b475] - typings: add JSDoc typings for events (Voltrex) #38712
- [7773d58f1a] - url: exit early when : delimiter is seen in hostname (Timothy Gu) #38742
- [a2da9e254c] - worker: use rwlock for sibling group (Anna Henningsen) #38783
- [18f3ba3674] - worker: leave TODO comments for using std::variant when possible (Anna Henningsen) #38788
New in Node.js 16.2.0 Current (May 19, 2021)
- Notable Changes:
- [36b948560c] - (SEMVER-MINOR) async_hooks: use new v8::Context PromiseHook API (Stephen Belanger) #36394
- [c0deeeacb2] - lib: support setting process.env.TZ on windows (James M Snell) #38642
- [4c4902748c] - (SEMVER-MINOR) module: add support for URL to import.meta.resolve (Antoine du Hamel) #38587
- [c182198c44] - (SEMVER-MINOR) process: add 'worker' event (James M Snell) #38659
- [fbf02e3198] - (SEMVER-MINOR) util: add util.types.isKeyObject and util.types.isCryptoKey (Filip Skokan) #38619
- Commits:
- [36b948560c] - (SEMVER-MINOR) async_hooks: use new v8::Context PromiseHook API (Stephen Belanger) #36394
- [dcae03203e] - buffer: remove TODOs in atob / btoa (Khaidi Chu) #38548
- [48b557e904] - buffer: remove unreachable code (Rongjian Zhang) #38537
- [b0df28dea5] - build: add workaround for V8 builds (Richard Lau) #38632
- [3bb12db255] - build: remove dependency on distutils.spawn (Richard Lau) #38600
- [10aaf30da1] - build: add missing torque output sources (Richard Lau) #38576
- [03b4a3a5bf] - build: compile with -std=gnu++14 (Darshan Sen) #38504
- [4296591154] - build,src,test,doc: enable FIPS for OpenSSL 3.0 (Daniel Bevenius) #38633
- [36bb8daba5] - crypto: forbid NODE-ED25519 and NODE-ED448 "raw" key export (Filip Skokan) #38668
- [36bb7243ff] - debugger: refactor inspect_repl to use primordials (Antoine du Hamel) #38551
- [16a6c8d5a6] - debugger: refactor to use internal modules (Antoine du Hamel) #38550
- [11dd9a6838] - debugger: disable only the lint rules required by current file state (Rich Trott) #38529
- [e79f540fa0] - debugger: avoid non-ASCII char in code file (Rich Trott) #38529
- [d9867b9358] - debugger: wrap lines longer than 80 chars (Rich Trott) #38529
- [352a600142] - debugger: rename inspector-cli test module to debugger (Rich Trott) #38530
- [608d0e11f3] - deps: upgrade npm to 7.13.0 (Ruy Adorno) #38682
- [5c71f49d3f] - deps: upgrade npm to 7.12.1 (Ruy Adorno) #38628
- [ec2dbfb200] - deps: patch V8 to 9.0.257.25 (Michaël Zasso) #38556
- [ab298723b5] - (SEMVER-MINOR) deps: V8: cherry-pick fa4cb172cde2 (Stephen Belanger) #36394
- [a84e9b3e7d] - (SEMVER-MINOR) deps: V8: cherry-pick 4c074516397b (Stephen Belanger) #36394
- [043b1aaa3f] - (SEMVER-MINOR) deps: V8: cherry-pick 5f4413194480 (Stephen Belanger) #36394
- [1a104bac74] - (SEMVER-MINOR) deps: V8: cherry-pick 272445f10927 (Stephen Belanger) #36394
- [827ae05538] - (SEMVER-MINOR) deps: V8: backport c0fceaa0669b (Stephen Belanger) #36394
- [f31a6114a4] - deps: V8: cherry-pick 530080c44af2 (Milad Fa) #38489
- [4001dd28ba] - dgram: extract cluster lazy loading method to make it testable (Rongjian Zhang) #38563
- [a0dc194e31] - doc: document buffer.kStringMaxLength (Tobias Nießen) #38688
- [8590c151cd] - doc: update abort signal in fs promise api example (Moritz Kneilmann) #38669
- [0100a3b026] - doc: add documentation for fs.WriteStream.close() (Hitesh Sharma) #38610
- [5c38a554ec] - doc: clarify synchronous blocking of Worker stdio (James M Snell) #38658
- [1765e32c45] - doc: update contact info (Gabriel Schulhof) #38689
- [c4b161cb89] - doc: change color of doctag on night mode (Qingyu Deng) #38652
- [6620a3182e] - doc: add ESM code examples in url.md (Antoine du Hamel) #38651
- [d3de0ef5d4] - doc: fix fs.openSync() signature (Luigi Pinca) #38591
- [56bf6c1bcd] - doc: typo stats() should be stat(); clarity (Bryan Field) #38541
- [1d9fd49f41] - doc: fix code example in ecdh.setPublicKey() (Jordan Baczuk) #38542
- [4c70e42928] - doc: use HEAD instead of master for links (Antoine du Hamel) #38518
- [ae9128ec61] - doc: clarify DiffieHellmanGroup class docs (Nitzan Uziely) #38363
- [e59131d97f] - doc: fix broken AHAFS link in fs doc (Rich Trott) #38534
- [e9d4c8587a] - doc: use AIX instead of Aix in fs.md (Rich Trott) #38535
- [e0118f347a] - doc: remove extraneous dash from flag prefix (Rodolfo Carvalho) #38532
- [9e10e1a76f] - doc: corrected workload name as per the latest VS Installer (MrJithil) #38500
- [38644d6f96] - doc: use sentence case in headers in src/crypto/README.md (Rich Trott) #38524
- [347b9f2304] - errors: remove input from ERR_INVALID_URL message (moander) #38614
- [5b40e2f596] - events: use nullish coalencing operator (Voltrex) #38328
- [3a5856cbc3] - fs: fix async iterator partial writes (Nitzan Uziely) #38615
- [e8761186a5] - fs: fix error when writing buffers > INT32_MAX (Zach Bjornson) #38546
- [47080bcfc8] - fs: use assert in fsCall argument checking (Rongjian Zhang) #38519
- [3d8b8e133f] - http: refactor to remove redundant argument of _deferToConnect (Rongjian Zhang) #38598
- [c0deeeacb2] - lib: support setting process.env.TZ on windows (James M Snell) #38642
- [cf4dc80d5f] - lib: make IterableWeakMap safe to iterate (Antoine du Hamel) #38523
- [90b640efb1] - meta: add v8 team (Jiawen Geng) #38566
- [4c4902748c] - (SEMVER-MINOR) module: add support for URL to import.meta.resolve (Antoine du Hamel) #38587
- [14a2a00cda] - node-api: faster threadsafe_function (Fedor Indutny) #38506
- [be4b3a4164] - path: inline conditions (Voltrex) #38613
- [c182198c44] - (SEMVER-MINOR) process: add 'worker' event (James M Snell) #38659
- [e2b8454582] - repl: fix Ctrl+C on top level await (Antoine du Hamel) #38656
- [718ad105e5] - src: fix fatal errors when a current isolate not exist (legendecas) #38624
- [524a9d6fcd] - src: update cares_wrap OpenBSD defines (Anna Henningsen) #38670
- [6b409cf664] - src: remove extra semi after member fn (Shelley Vohr) #38686
- [bfec80fd66] - src: make workers messaging more resilient (Juan José Arboleda) #38510
- [ff1b4322f5] - test: refactor test-readline-interface to be shorter (Juan José Arboleda) #38691
- [8eea317227] - test: stream.finished detects a destroyed IncomingMessage (Nitzan Uziely) #38661
- [5b25fbe266] - test: set common.bits to 64 for riscv64 (Andreas Schwab) #38626
- [5a0b52120a] - test: improve coverage of lib/_http_client.js (Rongjian Zhang) #38599
- [3d0fad3840] - test: improve coverage of lib/os.js (Rongjian Zhang) #38653
- [16b2fb4e0c] - test: increase coverage for repl (ZiJian Liu) #38559
- [8f78c6646e] - test: call functions internally (Voltrex) #38560
- [178fe215a4] - test: increase coverage for Histogram (ZiJian Liu) #38555
- [95db7d5afc] - test: improve fs coverage (Rongjian Zhang) #38517
- [f2f768f261] - test: complete coverage of querystring (Rongjian Zhang) #38520
- [5b44107ae9] - test: increase coverage for AbortController (ZiJian Liu) #38514
- [662265074c] - test: increase coverage for Blob (ZiJian Liu) #38515
- [89e1daccf3] - test: run message and pseudo-tty tests in parallel (Richard Lau) #38502
- [727c2bcc24] - test: move test-net-connect-econnrefused from pummel to sequential (Rich Trott) #38462
- [e64ebac2da] - test: fix flaky inspector-cli tests when breakpionts are restored (Rich Trott) #38431
- [b51b4feece] - test: skip tests for openssl-3.0.0-alpha15 (Daniel Bevenius) #38451
- [db5ee23edf] - test: update OpenSSL 3.0.0-alpha15 error messages (Daniel Bevenius) #38451
- [24472d9e0c] - test,repl: fix tests when inspector is disabled (Antoine du Hamel) #38564
- [267a84f5e1] - tools: remove redundant v8 config (Jiawen Geng) #38565
- [a028805f1b] - tools: update ESLint to 7.26.0 (Colin Ihrig) #38605
- [ec8ab22ce6] - (SEMVER-MINOR) tools: add Worker to type-parser (James M Snell) #38659
- [151488539b] - tools: make GH Actions workflows work if default branch is not master (Antoine du Hamel) #38516
- [c0f0c9a92d] - typings: add JSDoc typings for readline (Voltrex) #38253
- [fbf02e3198] - (SEMVER-MINOR) util: add util.types.isKeyObject and util.types.isCryptoKey (Filip Skokan) #38619
- [070ee4bb94] - Revert "worker: remove ERR_CLOSED_MESSAGE_PORT" (Juan José Arboleda) #38510
New in Node.js 14.17.0 LTS (May 19, 2021)
- Notable Changes:
- Diagnostics channel (experimental module):
- diagnostics_channel is a new experimental module that provides an API to create named channels to report arbitrary message data for diagnostics purposes.
- The module was initially introduced in Node.js v15.1.0 and is backported to v14.17.0 to enable testing it at a larger scale.
- With diagnostics_channel, Node.js core and module authors can publish contextual data about what they are doing at a given time. This could be the hostname and query string of a mysql query, for example. Just create a named channel with dc.channel(name) and call channel.publish(data) to send the data to any listeners to that channel.
- Channels are like one big global event emitter but are split into separate objects to ensure they get the best performance. If nothing is listening to the channel, the publishing overhead should be as close to zero as possible. Consuming channel data is as easy as using channel.subscribe(listener) to run a function whenever a message is published to that channel.
- The data captured can be used to provide context for what an app is doing at a given time. This can be used for things like augmenting tracing data, tracking network and filesystem activity, logging queries, and many other things. It's also a very useful data source for diagnostics tools to provide a clearer picture of exactly what the application is doing at a given point in the data they are presenting.
- UUID support in the crypto module:
- The new crypto.randomUUID() method now allows to generate random RFC 4122 Version 4 UUID strings
- Experimental support for AbortController and AbortSignal:
- Node.js 14.17.0 adds experimental partial support for AbortController and AbortSignal.
- Both constructors can be enabled globally using the --experimental-abortcontroller flag.
- Additionally, several Node.js APIs have been updated to support AbortSignal for cancellation. It is not mandatory to use the built-in constructors with them. Any spec-compliant third-party alternatives should be compatible.
- AbortSignal support was added to the following methods:
- child_process.exec
- child_process.execFile
- child_process.fork
- child_process.spawn
- dgram.createSocket
- events.on
- events.once
- fs.readFile
- fs.watch
- fs.writeFile
- http.request
- https.request
- http2Session.request
- The promisified variants of setImmediate and setTimeout
- Other notable changes:
- doc:
- revoke deprecation of legacy url, change status to legacy (James M Snell) #37784
- add legacy status to stability index (James M Snell) #37784
- upgrade stability status of report API (Gireesh Punathil) #35654
- deps:
- V8: Backport various patches for Apple Silicon support (BoHong Li) #38051
- update ICU to 68.1 (Michaël Zasso) #36187
- upgrade to libuv 1.41.0 (Colin Ihrig) #37360
- http:
- add http.ClientRequest.getRawHeaderNames() (simov) #37660
- report request start and end with diagnostics_channel (Stephen Belanger) #34895
- util:
- add getSystemErrorMap() impl (eladkeyshawn) #38101
- Commits:
- [9fb10dc4e7] - assert,util: fix commutativity edge case (Ruben Bridgewater) #37711
- [2bbf253b00] - benchmark: changed fstat to fstatSync (Narasimha Prasanna HN) #36206
- [c00c31c3c5] - benchmark: improve compare.R output (Brian White) #38118
- [a191bc7761] - benchmark: add benchmark for fsPromises.writeFile (Nitzan Uziely) #37610
- [d2770a5608] - benchmark: add benchmark for NODE_V8_COVERAGE (Benjamin Coe) #36972
- [4318e708b8] - benchmark: make output RFC 4180 compliant (Tobias Nießen) #37038
- [0fbeab7a95] - benchmark: improve explanations in R script (Tobias Nießen) #36995
- [c22efc5191] - benchmark: fix http2 benchmarks (Rich Trott) #36871
- [682d0a92db] - benchmark: fix http/headers.js with test-double (Rich Trott) #36794
- [3a11ee88a2] - benchmark: add simple https benchmark (Andrey Pechkurov) #36612
- [681c4afc51] - benchmark: reduce code duplication (Rich Trott) #36568
- [f28eea0896] - benchmark,child_process: remove failing benchmark parameter (Antoine du Hamel) #36295
- [bf2d9f25d4] - (SEMVER-MINOR) buffer: implement btoa and atob (James M Snell) #37529
- [0544410328] - buffer,errors: add missing n literal in range error string (Cactysman) #37750
- [5667d0a540] - build: don't run test workflow on doc dir on macOS (ycjcl868) #37999
- [079d90b9f3] - build: package release changelog for releases (Richard Lau) #38033
- [5c74dc7227] - build: refactor Makefile (raisinten) #36759
- [38921b3805] - build: do not "exit" a script meant to be "source"d (François-Denis Gonthier) #35520
- [dcbcd9e045] - build: run some workflows only on nodejs/node (Michaël Zasso) #36507
- [cda0a80713] - build: fix typo in Makefile (raisinten) #36176
- [d8f8719415] - build: do not pass mode option to test-v8 command (Michaël Zasso) #38275
- [f62b138278] - build: fix label-pr workflow (Michaël Zasso) #38399
- [1250db9206] - build: label PRs with GitHub Action instead of nodejs-github-bot (Phillip Johnsen) #38301
- [9ccf7dbe2d] - build,lib,test: change whitelist to allowlist (Michaël Zasso) #36406
- [385e8e8d7b] - (SEMVER-MINOR) child_process: support AbortSignal in fork (Benjamin Gruenbaum) #36603
- [0b691ce57e] - (SEMVER-MINOR) child_process: add signal support to spawn (Benjamin Gruenbaum) #36432
- [6c08c9de4a] - child_process: clean event listener correctly (Benjamin Gruenbaum) #36424
- [a5c0f39197] - (SEMVER-MINOR) child_process: add AbortSignal support (Benjamin Gruenbaum) #36308
- [aa5b726f83] - (SEMVER-MINOR) child_process: add ChildProcess 'spawn' event (Matthew Francis Brunetti) #35369
- [723977feaa] - crypto: reduce range of size to int max (Qingyu Deng) #38096
- [46ece20fe3] - crypto: fix DiffieHellman argument validation (Antoine du Hamel) #37810
- [00659a9218] - crypto: fix randomInt bias (Tobias Nießen) #36894
- [08f9130888] - (SEMVER-MINOR) crypto: implement randomuuid (James M Snell) #36729
- [8951c19e72] - deps: V8: cherry-pick 501482cbc704 (Colin Ihrig) #38121
- [ea0b0697c3] - deps: update nghttp2 to 1.42.0 (Michaël Zasso) #36842
- [5747dff04e] - deps: update to c-ares 1.17.1 (Danny Sonnenschein) #36207
- [329ee8bbc3] - deps: V8: cherry-pick bbc59d124ef3 (Michaël Zasso) #38275
- [bda15149f8] - deps: V8: cherry-pick be91c6c50818 (Michaël Zasso) #38275
- [16a005cfa0] - deps: V8: cherry-pick 4e24c353d812 (Michaël Zasso) #38275
- [42140a12f2] - deps: V8: cherry-pick eddb82330975 (Michaël Zasso) #38275
- [4d0bc3839a] - deps: V8: cherry-pick 6771d3e31883 (Michaël Zasso) #38275
- [982937893e] - deps: V8: cherry-pick f44fcbf803ac (Michaël Zasso) #38275
- [fa45d6a358] - deps: V8: cherry-pick 93b2105fbe44 (Michaël Zasso) #38275
- [c5fe3a226a] - deps: V8: cherry-pick 1a7d55a9a427 (Michaël Zasso) #38275
- [7dd68ac5b6] - deps: V8: cherry-pick 8ebd894186ed (Michaël Zasso) #38275
- [a4a9246ea1] - deps: V8: cherry-pick 1e35f6472510 (Michaël Zasso) #38275
- [9bfb0f33e9] - deps: V8: cherry-pick 3066b7b2fcb3 (Michaël Zasso) #38275
- [5dc82469d5] - deps: V8: cherry-pick 254c7945eea2 (Michaël Zasso) #38275
- [77b7a3b710] - deps: V8: cherry-pick 5678ebe8f6c4 (Michaël Zasso) #38275
- [0bd8e14501] - deps: V8: cherry-pick 813066946968 (Michaël Zasso) #38275
- [d221cdc97c] - deps: V8: cherry-pick d2283ba066ba (Michaël Zasso) #38275
- [26cc160565] - deps: V8: cherry-pick 53c4d057974a (Michaël Zasso) #38275
- [05530e8333] - deps: V8: cherry-pick e527ba4bf8af (Michaël Zasso) #38275
- [fdb4a0c170] - deps: V8: cherry-pick 5c6c99a8dc72 (Michaël Zasso) #38275
- [42552a7eda] - deps: V8: cherry-pick ad2c5dae4688 (Michaël Zasso) #38275
- [aff53dd8b3] - deps: V8: cherry-pick 482e5c7750b3 (Michaël Zasso) #38275
- [931d31a2cb] - deps: V8: cherry-pick 412ac52d8246 (Michaël Zasso) #38275
- [e99e456757] - deps: V8: cherry-pick c449afa1953b (Michaël Zasso) #38275
- [18a4cbfb52] - deps: V8: cherry-pick 3ba21a17ce2f (Michaël Zasso) #38275
- [70f622b542] - deps: V8: cherry-pick 8c725f7b5bbf (Michaël Zasso) #38275
- [0e6976f5ee] - deps: V8: cherry-pick ed3eedae33d0 (Michaël Zasso) #38275
- [86c7c0ae4e] - deps: V8: cherry-pick 6a4cd97d6691 (Michaël Zasso) #38275
- [b10cce1b87] - deps: V8: cherry-pick d724820c1d5d (Michaël Zasso) #38275
- [aaeeb75a99] - deps: V8: cherry-pick 33f4064dbad3 (Michaël Zasso) #38275
- [b0d1a060e2] - deps: V8: cherry-pick abb4d0a431c0 (Michaël Zasso) #38275
- [5372f1ff5b] - deps: V8: cherry-pick a59e3ac1d7fa (Michaël Zasso) #38275
- [31154a5611] - deps: V8: cherry-pick 516b5d3f9cfe (Michaël Zasso) #38275
- [fc8f1b7f0a] - deps: upgrade npm to 6.14.13 (Ruy Adorno) #38214
- [0c1e878c4c] - deps: backport v8 f19142e6 (Guy Bedford) #37864
- [dd5da301c8] - deps: backport v8 5f90cfd7 (Guy Bedford) #37973
- [d56079ab9b] - deps: update to [email protected] (Guy Bedford) #38002
- [866e3244da] - deps: V8: Backport various patches for Apple Silicon support (BoHong Li) #38051
- [16b59c62ff] - deps: cherry-pick 8957d4677aa794c230577f234071af0 from V8 upstream (Antoine du Hamel) #37471
- [5707adaf33] - deps: V8: cherry-pick 0c8b6e415c30 (Matin Zadehdolatabad) #37276
- [7d247f1691] - deps: V8: cherry-pick 1d0f426311d4 (Ole André Vadla Ravnås) #35986
- [14a87a5a01] - deps: V8: cherry-pick 4e077ff0444a (Ole André Vadla Ravnås) #35986
- [507c2f2101] - deps: V8: cherry-pick 086eecbd96b6 (Ole André Vadla Ravnås) #35986
- [31f8610a02] - deps: V8: cherry-pick 27e1ac1a79ff (Ole André Vadla Ravnås) #35986
- [6b115d762d] - deps: patch V8 to 8.4.371.23 (Michaël Zasso) #38001
- [a92ecf0081] - deps: v8 backport 9689b17687b (Guy Bedford) #37865
- [3e8ceed0eb] - deps: update ICU to 68.2 (Michaël Zasso) #36980
- [2d7e0b6912] - deps: update ICU to 68.1 (Michaël Zasso) #36187
- [bfba66dbd6] - deps: upgrade to libuv 1.41.0 (Colin Ihrig) #37360
- [e446d82394] - deps: V8: cherry-pick beebee4f80ff (Peter Marshall) #37293
- [ae1fa98496] - deps: cherry-pick f4376ec801e1ded from V8 upstream (Daniel Bevenius) #37225
- [81cd06b3c6] - (SEMVER-MINOR) dgram: support AbortSignal in createSocket (Nitzan Uziely) #37026
- [46651b63c1] - dns: refactor cares_wrap internals (James M Snell) #38172
- [8715462f47] - (SEMVER-MINOR) dns: add a cancel() method to the promise Resolver (Szymon Marczak) #33099
- [0f126d0e05] - dns: fix trace_events name for resolveCaa() (Rich Trott) #35979
- [ed79c98683] - (SEMVER-MINOR) dns: add setLocalAddress to Resolver (Josh Dague) #34824
- [2e7f74c8a5] - doc: harmonize changes list ordering (Antoine du Hamel) #35454
- [885ed96540] - doc: fix typo in repl.md (Arkerone) #38244
- [92650278eb] - doc: change "oject" to "object" (Arkerone) #38256
- [5dfe5af155] - doc: revise TLS minVersion/maxVersion text (Rich Trott) #38202
- [e6c599b680] - doc: standardize command flag notes (Ferdi) #38199
- [bb8db846b3] - doc: clarify child_process close event (Nitzan Uziely) #38181
- [be28376140] - doc: add command flag to import.meta.resolve (Ferdi) #38171
- [c7c8722ba3] - doc: update links in ICU guide (Michaël Zasso) #38177
- [4350bf5a0b] - doc: mention cryptographic prng in description of randomUUID (Serkan Özel) #38074
- [424c8e1eb9] - doc: add link to V8 (Voltrex) #38144
- [ecc85516cf] - doc: improve security text in collaborators guide (Rich Trott) #38107
- [6c970ba2d4] - doc: apply consistent punctuation to header contributing guide (Akhil Marsonya) #38047
- [aff0cd3ea6] - doc: sending http request to localhost to avoid https redirect (Hassaan Pasha) #38036
- [56aaf7010c] - doc: apply sentence case to backporting-to-release-lines.md headers (marsonya) #37617
- [8615fa1983] - doc: add parentheses to function and move reference (Rich Trott) #38066
- [5d2f0d0c4e] - doc: change wording in doc/api/domain.md comment (Akhil Marsonya) #38044
- [ac59022106] - doc: fix asyncLocalStorage.run() description (Darkripper214) #38023
- [df54edc668] - doc: document how to unref stdin when using readline.Interface (Anu Pasumarthy) #38019
- [21bc5d4bd4] - doc: move psmarshall to collaborators emeriti (Peter Marshall) #37994
- [69c4bfd750] - doc: add distinctive color for code elements inside links (Antoine du Hamel) #37950
- [35a382e814] - doc: add Windows-specific info to subprocess.kill() (João Lucas Lucchetta) #34867
- [2a5f21f9cd] - doc: fix typos in lib/internal/bootstrap/pre_execution.js (marsonya) #37658
- [9f1f2153e9] - doc: add more commands for cherry-picking and changelog to release docs (Danielle Adams) #37785
- [dd1c47bbf3] - doc: spell out ICU acronym on first occurrence (Rich Trott) #37942
- [585f1119a3] - doc: update GOVERNANCE.md for TSC Charter changes (Rich Trott) #37888
- [b51651cfc5] - doc: reduce header nesting in async_hooks.md (Rich Trott) #37839
- [7789159009] - doc: add examples for WHATWG URL objects (James M Snell) #37822
- [b31bb72c10] - doc: clarify when child process 'spawn' event is *not* emitted (Matthew Francis Brunetti) #37833
- [9166653aef] - doc: fix legacy stability indicator display (Rich Trott) #37838
- [2e0266de5b] - doc: use sentence-style capitlaztion in template header (Rich Trott) #37837
- [1b83242772] - doc: add Ayase-252 to triagers (Qingyu Deng) #37781
- [89418e8758] - doc: use sentence case in issues.md headers (marsonya) #37537
- [66502fc186] - doc: move Derek Lewis back to collaborators (Derek Lewis) #37726
- [0d720a4a5c] - doc: apply style for legacy status (James M Snell) #37784
- [c8383dd99f] - doc: revoke deprecation of legacy url, change status to legacy (James M Snell) #37784
- [e34aace62b] - doc: add legacy status to stability index (James M Snell) #37784
- [b2d3ac835c] - doc: add @linkgoron to collaborators (Nitzan Uziely) #37817
- [a27534e883] - doc: fix AbortError example for timers (dbachko) #37738
- [14a160ae04] - doc: fix typo in stream docs (Ian Kerins) #37716
- [fe0f6a53a6] - doc: add gyp maintain info (Jiawen Geng) #37765
- [6d7c7bc8d9] - doc: add marsonya as a triager (marsonya) #37667
- [5f2da5af42] - doc: add hints to http.request() options (Luigi Pinca) #37745
- [02cd4044da] - doc: fix link to googletest fixtures (Tobias Nießen) #37698
- [85a293bdfc] - doc: fix typo in description of close event (Tobias Nießen) #37662
- [3a6e40530c] - doc: use sentence case in README.md headers (marsonya) #37645
- [c51a60cd05] - doc: add localPort to http.request() options (Luigi Pinca) #37586
- [b0840ac680] - doc: fix typo in doc/guides/collaborator-guide.md (marsonya) #37643
- [5ef2a8de25] - doc: document that module.evaluate fulfills as undefined (James M Snell) #37663
- [b192227a95] - doc: add return type of readline.createInterface (Darshan Sen) #37600
- [68d5cb80de] - doc: apply sentence case to headers in pull-requests.md (marsonya) #37602
- [183dba0dd8] - doc: add top-level await syntax in vm.md (Antoine du Hamel) #37077
- [1dc7f426aa] - doc: clarify that columnOffset applies only to the first line (James M Snell) #37563
- [c21731b39f] - doc: document that NODE_EXTRA_CA_CERTS is read only once (James M Snell) #37562
- [0255ed7e8e] - doc: fix typo in doc/api/packages.md (marsonya) #37536
- [52c0f0bf0f] - doc: revise LTS text in collaborator guide (Rich Trott) #37527
- [fdc6a96d49] - doc: revise CI text in collaborator guide (Rich Trott) #37526
- [c62a1345bb] - doc: revise objections section of collaborator guide (Rich Trott) #37525
- [adc75368ba] - doc: revise premature disclosure text in collaborator guide (Rich Trott) #37524
- [1b851461b1] - doc: change links to use HEAD in top level docs (Michael Dawson) #37494
- [64ed65ecc4] - doc: apply sentence case to headers in doc/guides (marsonya) #37506
- [ff1990c409] - doc: add url.resolve replacement example (Antoine du Hamel) #37501
- [52b3b54c14] - doc: apply sentence case to guides headers (marsonya) #37497
- [da2cd4a48a] - doc: update CI requirements for landing pull requests (Antoine du Hamel) #37308
- [2082f5bd68] - doc: recommend queueMicrotask over process.nextTick (James M Snell) #37484
- [099eef6a84] - doc: apply sentence case to headers in doc/guides (marsonya) #37478
- [a0bab6915e] - doc: fix typo in doc/api/http2/md (marsonya) #37479
- [3e82263877] - doc: alphabetize vm Module class properties (Rich Trott) #37451
- [e6f804b0af] - doc: alphabetize crypto Cipher class entries (Rich Trott) #37450
- [bb434a983c] - doc: use HEAD for links in api docs (Michael Dawson) #37437
- [39ef3bd155] - doc: fix alignment of parameters (Michael Dawson) #37422
- [8b60e66982] - doc: fix typo in doc/api/esm.md (marsonya) #37400
- [605cb4cd4c] - doc: fix typo in esm.md (Jay Tailor) #37417
- [74f0760a9b] - doc: use HEAD in links where possible (Michael Dawson) #37421
- [4785755014] - doc: clarify that async_hook callbacks cannot be async (James M Snell) #37384
- [07130c038f] - doc: add dmabupt to collaborators (Xu Meng) #37377
- [2a3feff2f0] - doc: optimize HTML rendering (Antoine du Hamel) #37301
- [8b5e42e031] - doc: fix quotes in stream docs (Tobias Nießen) #37269
- [d426143f54] - doc: link PACKAGE_EXPORTS_RESOLVE to ESM section (Utku Gultopu) #37135
- [debffd9b41] - doc: use sentence case in benchmark doc (Rich Trott) #37351
- [f28a5c6e1e] - doc: apply sentence-consistently in C++ style guide (Rich Trott) #37350
- [569ad98b9a] - doc: apply sentence case to release doc headers (Rich Trott) #37349
- [7cf4a4b2b8] - doc: fix performanceEntry.flags style format (Cheng Liu) #37274
- [5ade2fd207] - doc: fix typo in deprecations.md (marsonya) #37282
- [5bc0a0d9f7] - doc: add version metadata for packages features (Antoine du Hamel) #37289
- [b485a3e2d2] - doc: fix typo in /api/dns.md (marsonya) #37312
- [a99456ce69] - doc: fix description of hasSubscribers (Tobias Nießen) #37324
- [b7c9366979] - doc: discourage error event (Benjamin Gruenbaum) #37264
- [8c41bc953e] - doc: fix misnamed SHASUMS256.txt name in README.md (marsonya) #37260
- [b2ee1afb2e] - doc: fix typo in console.md (marsonya) #37279
- [281d75cebb] - doc: use sentence case in README headers (Rich Trott) #37251
- [8cffab6571] - doc: use sentence case for headers in BUILDING.md (Rich Trott) #37250
- [0eaeaea454] - doc: rename N-API to Node-API (Gabriel Schulhof) #37259
- [cb632e4040] - doc: fix version number for DEP006 (Antoine du Hamel) #37231
- [e7415c374b] - doc: fix CHANGELOG_ARCHIVE table of contents (Antoine du Hamel) #37232
- [2959c65632] - doc: fix typo in globals.md (Darshan Sen) #37228
- [ad80e3de1e] - doc: fix 404 links in module.md (Antoine du Hamel) #37202
- [e7ca9b6d71] - doc: fix color contrast on elements (Antoine du Hamel) #37185
- [11d3e71f80] - doc: improve promise terminology (Benjamin Gruenbaum) #37181
- [35cf86c83b] - doc: fix list format in Developer's Certificate of Origin (Akash Negi) #37138
- [6264ac187a] - doc: clarify ERR_INVALID_REPL_INPUT usage (Rich Trott) #37143
- [d340dca940] - doc: clarify repl exception conditions (Rich Trott) #37142
- [26ec20a9b6] - doc: add example for test structure (Turner Jabbour) #35046
- [8099bfb35c] - doc: remove TOC summary for pages with no TOC (Rich Trott) #37043
- [b0c9b1fdfb] - doc: update Buffer encoding option count (Dave Cardwell) #37102
- [af313a8495] - doc: update BUILDING.md previous versions links (Richard Lau) #37082
- [b353549f7c] - doc: mention adding Fixes to collaborator onboarding PR (Joyee Cheung) #37097
- [8ed0c17bee] - doc: add Zijian Liu to collaborators (ZiJian Liu) #37075
- [87fcda8d3e] - doc: add tooltip for light/dark mode toggle (Rich Trott) #37044
- [49f13743e5] - doc: improve AsyncLocalStorage introduction (Romuald Brillout) #36946
- [b8080134a2] - doc: add missing comma in tty (Matthew Mario Di Pasquale) #37039
- [1e2beeea99] - doc: list Unsupported Directory Import resolve err (Guy Bedford) #37032
- [fb4eee132e] - doc: add missing ARIA label for button (Rich Trott) #37031
- [f260f4a12f] - doc: add @RaisinTen to collaborators (Darshan Sen) #36998
- [00075986f0] - doc: fix typo in http.server.requestTimout docs (alexbs) #36987
- [b25b69418a] - doc: add performance notes for fs.readFile (James M Snell) #36880
- [385d0df02d] - doc: clarify maxSockets option of http.Agent (Pooja D P) #36941
- [792bea4e78] - doc: remove pull-requests.md preamble (Rich Trott) #36960
- [d43492ee42] - doc: fix percentile range in perf_hooks.md (raisinten) #36938
- [f39ee90c94] - doc: improve perf_hooks docs (Juan José Arboleda) #36909
- [e990b11672] - doc: fix invalid HTML in doc template (Rich Trott) #36930
- [e1c62dd977] - doc: remove issue template duplication from contributing docs (Rich Trott) #36908
- [3c70f6842d] - doc: remove resolving-a-bug-report from contributing docs (Rich Trott) #36905
- [308d361a79] - doc: use ESM syntax for WASI example (Antoine du Hamel) #36848
- [189fae8618] - doc: add iansu to collaborators (Ian Sutherland) #36951
- [28c80b514f] - doc: add alternative version links to the packages page (Filip Skokan) #36915
- [ed5bb7673f] - doc: add miladfarca to collaborators (Milad Fa) #36934
- [580b647ee4] - doc: update tls test to use better terminology (Michael Dawson) #36851
- [fa82cbc4f7] - doc: remove unnecessary contributing.md section (Rich Trott) #36891
- [583b2192d9] - doc: wrap TOC in a tag (Mattia Pontonio) #36896
- [9a3cfa7069] - doc: fix indentation on http2 doc entry (Rich Trott) #36869
- [7fbbdb831a] - doc: define "browser", "production", "development" (Guy Bedford) #36856
- [5770ae057e] - doc: fix module syncBuiltinESMExports example (Bruce A. MacNaughton) #34284
- [099d776e29] - doc: update release key for Danielle Adams (Danielle Adams) #36793
- [57e27a3824] - doc: clarify child_process.exec inherits cwd (ugultopu) #36809
- [f605bc00ae] - doc: clarify descriptions of _writev chunks argument (James M Snell) #36822
- [cf0fa7fa2f] - doc: document buffer's "Uint" aliases clearly (Michaël Zasso) #36796
- [5f36ff80b9] - doc: add dnlup to collaborators (Daniele Belardi) #36849
- [c1ea23c55d] - doc: clarify subprocess.stdout/in/err/io properties (James M Snell) #36784
- [19e61206f2] - doc: add dark mode (Ajay Poshak) #36313
- [8620458966] - doc: revise method text in async_hooks.md (Rich Trott) #36736
- [a800b5b698] - doc: clarify when messageerror is emitted (James M Snell) #36780
- [e973bdc14e] - doc: avoid memory leak warning in async_hooks example (James M Snell) #36783
- [1521a59002] - doc: clarify that --require only supports cjs (James M Snell) #36806
- [dc15608661] - doc: clarify Buffer.from when using ArrayBuffer (James M Snell) #36785
- [67a6e9c516] - doc: fix broken link for ChildProcess (James M Snell) #36788
- [31039dbf63] - doc: revise exit() and run() text in async_hooks.md (Rich Trott) #36738
- [844a15622f] - doc: clarify that N-API addons are context-aware (Alba Mendez) #36640
- [8f48e77217] - doc: fix typo in esm documentation (Mohamed Kamagate) #36800
- [095c69dce3] - doc: add panva to collaborators (Filip Skokan) #36802
- [8bda9f4dce] - doc: reduce abbreviations in async_hooks.md (Rich Trott) #36737
- [1a65b442f0] - doc: simplify pull request template (Rich Trott) #36739
- [71b94e1ff7] - doc: clarify undocumented stream properties (James M Snell) #36715
- [bcca52c11a] - doc: document common warning types (James M Snell) #36713
- [97faeeb115] - doc: improve ALS.enterWith and exit descriptions (Andrey Pechkurov) #36705
- [535bbc294a] - doc: add yashLadha to collaborator (Yash Ladha) #36666
- [6293aea1d1] - doc: alphabetize http response properties (Rich Trott) #36631
- [afb9534d65] - doc: correct callback parameter type for createPushResponse() (Rich Trott) #36631
- [f65b842ee1] - doc: use _code name_ rather than _codename_ (Rich Trott) #36611
- [12dc0e6a28] - doc: document return value of https.request (Michael Chen) #36370
- [317a1d7a0d] - doc: remove replication of GitHub template (Rich Trott) #36590
- [653492f2d4] - doc: remove "Related Issues" from pull request template (Rich Trott) #36590
- [b57785d89b] - doc: update and run license-builder for Babel (Michaël Zasso) #36504
- [e3c2d112eb] - doc: add remark about Collaborators discussion page (FrankQiu) #36420
- [8b349187b8] - doc: add two tips for speeding the dev builds (Momtchil Momtchev) #36452
- [6198d74cd3] - doc: add note about timingSafeEqual for TypedArray (Tobias Nießen) #36323
- [d27028040e] - doc: move Derek Lewis to emeritus (Rich Trott) #36514
- [cf9d476948] - doc: add issue reference to github pr template (Chinmoy Chakraborty) #36440
- [760e593968] - doc: update url.md (Rock) #36147
- [c32c109450] - doc: make explicit reverting node_version.h changes (Richard Lau) #36461
- [647ec70419] - doc: add license info to the README (FrankQiu) #36278
- [2ec839d974] - doc: revise addon mulitple initializations text (Rich Trott) #36457
- [050b52f16b] - doc: add PoojaDurgad to collaborators (Pooja D P) #36511
- [681d2a7176] - doc: edit addon text about event loop blocking (Rich Trott) #36448
- [afad5e6be6] - doc: update terminology (Michael Dawson) #36475
- [615a0aaf86] - doc: reword POSIX threads text in addons.md (Rich Trott) #36436
- [94d41f22f0] - doc: add RaisinTen as a triager (raisinten) #36404
- [cd065210a5] - doc: provide more context on techinical values (Michael Dawson) #36201
- [f515156fab] - doc: add Powershell oneliner to get Windows version (Michael Bashurov) #30289
- [280d1b09be] - doc: add process for handling premature disclosure (Michael Dawson) #36155
- [9269352e45] - doc: add table header in intl.md (Rich Trott) #36261
- [6201f23e12] - doc: adding example to Buffer.isBuffer method (naortedgi) #36233
- [1d78d50127] - doc: fix typo in events.md (Luigi Pinca) #36231
- [9b32c9c575] - doc: fix --experimental-wasm-modules text location (Colin Ihrig) #36220
- [28149cff23] - doc: add missing version to update cmd (Ruy Adorno) #36204
- [2d6494775b] - doc: fix invalid link in worker_threads.md (Rich Trott) #36109
- [ec140d7160] - doc: fix events.getEventListeners example (Dmitry Semigradsky) #36085
- [34d8a64c56] - doc: fix incorrect heading level (Bryan Field) #35965
- [d9d7ebd0b4] - doc: make globals Extends usage consistent (Colin Ihrig) #33777
- [2f7afd11a4] - doc: make perf_hooks Extends usage consistent (Colin Ihrig) #33777
- [810b1d0cbb] - doc: make events Extends usage consistent (Colin Ihrig) #33777
- [cf4fa79f17] - doc: recommend checking abortSignal.aborted first (James M Snell) #37714
- [e93615c5e3] - doc: make AbortSignal text consistent in events.md (Rich Trott) #35005
- [1a362d8d4b] - doc: revise AbortSignal text and example using events.once() (Rich Trott) #35005
- [a7da993cff] - doc: stabilize packages features (Myles Borins) #35742
- [b133034735] - doc: stabilize subpath patterns (Guy Bedford) #36177
- [5a3e12b1ee] - doc: update fs.l/statSync API history for throwIfNoEntry (Andrew Casey) #36882
- [7c9f3a9d0c] - doc: fix module.isPreloading documentation (Antoine du Hamel) #36944
- [c1af59384d] - doc: mark modules implementation as stable (Guy Bedford) #35781
- [9930b6b825] - doc: update buffer.constants.MAX_LENGTH (Qingyu Deng) #38109
- [c975a8ded1] - doc: fix maintaining ICU guide (Michaël Zasso) #36980
- [d1004d26e4] - doc: fix typo in BUILDING.md (raisinten) #35807
- [f41c28cf4b] - doc: fix YAML lint error on master (Rich Trott) #35709
- [4a768bc13b] - doc: upgrade stability status of report API (Gireesh Punathil) #35654
- [a3c564bead] - doc,child_process: pid can be undefined when ENOENT (dr-js) #37014
- [404327563a] - doc,tools: allow stability table to be updated (Richard Lau) #38048
- [eb6ea8501b] - doc,tools: use only one level 1 header per page (Rich Trott) #37839
- [73c1999d0c] - docs: add references to punycode.md (Isaac Levy) #36761
- [bd38dfbfcc] - domain: add name to monkey-patched emit function (Colin Ihrig) #37550
- [13d972dd86] - domain: show falsy names as anonymous for DEP0097 (Colin Ihrig) #37550
- [3f43743c9d] - domain: make node resilient to Array prototype tempering (Antoine du Hamel) #36676
- [4807499d21] - domain: improve deprecation warning text for DEP0097 (Anna Henningsen) #36136
- [b01c496e34] - errors: do not call resolve on URLs with schemes (Benjamin Coe) #35903
- [3c37f896a4] - errors: print original exception context (Benjamin Coe) #33491
- [3006302372] - (SEMVER-MINOR) events: add max listener warning for EventTarget (James M Snell) #36001
- [6e734a8a61] - (SEMVER-MINOR) events: getEventListeners static (Benjamin Gruenbaum) #35991
- [64cd54be57] - events: disabled manual construction AbortSignal (raisinten) #36094
- [daad5214c4] - events: fire handlers in correct oder (Benjamin Gruenbaum) #35931
- [7c95cfc164] - events: define abort on prototype (Benjamin Gruenbaum) #35931
- [bdad1bc4fc] - events: support event handlers on prototypes (Benjamin Gruenbaum) #35931
- [6e21e8283f] - events: define event handler as enumerable (Benjamin Gruenbaum) #35931
- [e51d7c535f] - events: support emit on nodeeventtarget (Benjamin Gruenbaum) #35851
- [6558ffa76b] - events: add a few tests (Benjamin Gruenbaum) #35806
- [bf728b5439] - events: make abort_controller event trusted (Benjamin Gruenbaum) #35811
- [3f33b5a89e] - (SEMVER-MINOR) events: allow use of AbortController with on (James M Snell) #34912
- [1fefb5cb75] - (SEMVER-MINOR) events: allow use of AbortController with once (James M Snell) #34911
- [85987450df] - fs: fix chown abort (Darshan Sen) #38004
- [dd1fe6d8ba] - fs: add promisified readFile benchmark (Nitzan Uziely) #37608
- [f2279f856e] - fs: fix writeFile signal does not close file (Nitzan Uziely) #37402
- [92348a9216] - (SEMVER-MINOR) fs: use a default callback for fs.close() (James M Snell) #37174
- [e582832643] - fs: only use Buffer.concat in promises.readFile when necessary (Anna Henningsen) #37127
- [a1ee9b3680] - fs: add explicit note about undefined path when recursive (Sebastian Silbermann) #37010
- [fe6e5e4c0e] - fs: accept non-32-bit length in writeBuffer (raisinten) #36667
- [455243667a] - fs: move method definition from header (Yash Ladha) #36256
- [1bffd8d7bb] - fs: pass ERR_DIR_CLOSED asynchronously to dir.close (Zijian Liu) #36243
- [9b8596a67f] - fs: fix when path is buffer on fs.symlinkSync (himself65) #34540
- [026941381b] - fs: fix pre-aborted writeFile AbortSignal file leak (Nitzan Uziely) #37393
- [7aa2e5d8dc] - (SEMVER-MINOR) fs: add AbortSignal support to watch (Benjamin Gruenbaum) #37190
- [219cd000c0] - (SEMVER-MINOR) fs: support abortsignal in writeFile (Benjamin Gruenbaum) #35993
- [5f88b644f8] - (SEMVER-MINOR) fs: add support for AbortSignal in readFile (Benjamin Gruenbaum) #35911
- [443cacee5f] - fs: remove custom Buffer pool for streams (Robert Nagy) #33981
- [d0115f14f6] - (SEMVER-MINOR) http: add http.ClientRequest.getRawHeaderNames() (simov) #37660
- [105b8630b9] - http: explain the possibilty of refactor unused argument (Qingyu Deng) #37275
- [926bb4fd17] - http: explain the unused argument in IncomingMessage._read (Qingyu Deng) #37275
- [e7bc37909c] - http: cleanup ClientRequest oncreate (Robert Nagy) #36862
- [5064822f24] - http: make HEAD method to work with keep-alive (Joseph Hackman) #34231
- [8163f3179b] - http: remove dead code from internal/http.js (ZiJian Liu) #36630
- [ad39b37974] - (SEMVER-MINOR) http: enable call chaining with setHeader() (pooja d.p) #35924
- [623099db4b] - (SEMVER-MINOR) http: report request start and end with diagnostics_channel (Stephen Belanger) #34895
- [524b7134e8] - (SEMVER-MINOR) http: add support for abortsignal to http.request (Benjamin Gruenbaum) #36048
- [f70aee03ab] - (SEMVER-MINOR) http: set lifo as the default scheduling strategy in Agent (Matteo Collina) #36685
- [16a16508c4] - http2: fix typos in core.js (Pranshu Jethmalani) #36719
- [2e259220cb] - (SEMVER-MINOR) http2: add updateSettings to both http2 servers (Vincent Boivin) #35383
- [336fb18b44] - http2: add support for AbortSignal to http2Session.request (Madara Uchiha) #36070
- [f44b3c12e5] - https: add abortcontroller test (Benjamin Gruenbaum) #36307
- [b5ad655c6b] - lib: properly process JavaScript exceptions on async_hooks fatal error (legendecas) #38106
- [1d8269302e] - lib: change wording in lib/domain.js comment (Akhil Marsonya) #37933
- [a61fd37786] - lib: change wording in lib/internal/child_process comment (Akhil Marsonya) #37903
- [13ac680cdb] - lib: fix typo in internal/modules/esm/module_job.js (marsonya) #37773
- [eea4f3bf82] - lib: fix typo in lib/internal/bootstrap/loaders.js (marsonya) #37644
- [fe47563bed] - lib: simplify check in child_process (Darshan Sen) #37367
- [d78e2ed82c] - lib: remove non used getter in lib/perf_hooks.js (Juan José Arboleda) #36907
- [08b69fb1e8] - lib: fix diagnostics_channel hasSubscribers error (ZiJian Liu) #36599
- [3ee0423dfa] - (SEMVER-MINOR) lib: support BigInt in querystring.stringify (raisinten) #36499
- [e71eed620a] - lib: fix typo in internal/errors.js (raisinten) #36426
- [be537fe877] - lib: remove primordials.SafePromise (Antoine du Hamel) #36149
- [60ef53cc14] - (SEMVER-MINOR) lib: create diagnostics_channel module (Stephen Belanger) #34895
- [b1507c41e7] - lib: add brand checks to AbortController and AbortSignal (Mattias Buelens) #37720
- [448a6a22cf] - (SEMVER-MINOR) lib: implement AbortSignal.abort() (James M Snell) #37693
- [4cd9f39066] - lib: set abort-controller toStringTag (Benjamin Gruenbaum) #36115
- [b2f8e8dd28] - lib: let abort_controller target be EventTarget (Daijiro Wachi) #35869
- [f30f9314c8] - (SEMVER-MINOR) lib: initial experimental AbortController implementation (James M Snell) #33527
- [5e77bcd3dc] - (SEMVER-MINOR) lib: add throws option to fs.f/l/statSync (Andrew Casey) #33716
- [e0df3bc751] - meta: notify slack when someone force pushes (Mary Marchini) #35131
- [079671d3c1] - module: improve error message for invalid data URL (Antoine du Hamel) #37701
- [4cdd9b63b4] - module: make synthetic module evaluation steps return a Promise to support top level await (Daniel Clark) #37300
- [2413907a12] - (SEMVER-MINOR) module: add isPreloading indicator (James M Snell) #36263
- [fd08c37d98] - (SEMVER-MINOR) net: add support for resolving DNS CAA records (Danny Sonnenschein) #35466
- [8413759d84] - node-api: fix crash in finalization (Michael Dawson) #37876
- [6e018559db] - node-api: stop ref gc during environment teardown (Gabriel Schulhof) #37616
- [b5b1ad39dd] - node-api: force env shutdown deferring behavior (Gabriel Schulhof) #37303
- [36abc1802c] - (SEMVER-MINOR) node-api: define version 8 (Gabriel Schulhof) #37652
- [991251fbb2] - os: performance improvement in vector allocation (Yash Ladha) #36748
- [395b9a69a1] - perf_hooks: make nodeTiming a first-class object (Momtchil Momtchev) #35977
- [506f1d4044] - policy: fix cascade getting scope (Bradley Meck) #37298
- [e9110d56d2] - process: do not lazily load AsyncResource (Michaël Zasso) #38041
- [43057595e2] - process: passing -1 to setuid/setgid should not abort (James M Snell) #36786
- [70cbe4a565] - readline: fix behaviour of Interface plugged to a non-terminal output (Antoine du Hamel) #36774
- [ffaa1149e1] - (SEMVER-MINOR) readline: add getPrompt to get the current prompt (Mattias Runge-Broberg) #33675
- [8d4936da2c] - repl: fix error message printing (Anna Henningsen) #38209
- [1ac07b2aee] - repl: disable blocking completions by default (Anna Henningsen) #36564
- [5ed770e1b7] - src: cache some context in locals (Khaidi Chu) #37473
- [ec4be2d7e1] - src: fix finalization crash (James M Snell) #38250
- [854a2a9c8a] - src: fix typo for initialization (Yash Ladha) #37974
- [b0f8f8d637] - src: fix typo in node_mutex (Tobias Nießen) #38011
- [e4f614100f] - src: document newer values for --unhandled-rejections flag (David Glasser) #37899
- [d0cb129cdb] - src: fix typo in src code guide (Tobias Nießen) #37956
- [6aa1ed20fa] - src: report idle time correctly (Stephen Belanger) #37868
- [eb0faa12df] - src: add .note.GNU-stack section (James Addison) #37688
- [ec5d7b1ec0] - src: fix variable name of OnCloseReceived callback (Tobias Nießen) #37521
- [fc0d6e4008] - src: add error formatting support (Gus Caplan) #37598
- [512ae7e125] - src: adjust THP sysfs config token retrieval and file closure (James Addison) #37187
- [bf16d288e2] - src: fix return type of method in string_search.h (Darshan Sen) #37167
- [f476c6dc0c] - src: refactor v8 binding (Joyee Cheung) #37112
- [33ebf5d9ef] - src: rename binding_data_name to type_name in BindingData (Joyee Cheung) #37112
- [88d9676e74] - src: use make_shared for safe allocation (Yash Ladha) #37139
- [ec7e5bc786] - src: fix warning in string_search.h (Darshan Sen) #37146
- [00309eea27] - src: read exactly two tokens from Linux THP sysfs config (James Addison) #37065
- [1ecdb66299] - src: expose BaseObject::kInternalFieldCount in post-mortem metadata (Joyee Cheung) #37111
- [93517dce78] - src: replace push_back with emplace_back in debug_utils (raisinten) #36897
- [dcba374604] - src: fix leading backslash bug in URL (raisinten) #36613
- [c308b06483] - src: remove unnecessary ToLocalChecked node_errors (Daniel Bevenius) #36547
- [e8f8c70911] - src: remove unnecessary ToLocalChecked call (Daniel Bevenius) #36523
- [a356f32e66] - src: remove empty name check in node_env_var.cc (raisinten) #36133
- [308cb93304] - src: remove duplicate V macros in node_v8.cc (Daniel Bevenius) #36454
- [6df1132c85] - src: guard against env != null in node_errors.cc (Anna Henningsen) #36414
- [3701e5d14f] - src: add typedef for CleanupHookCallback callback (Daniel Bevenius) #36442
- [bd90752a7e] - src: fix indentation in memory_tracker-inl.h (Daniel Bevenius) #36425
- [05bb3e14cf] - src: remove identical V macro (Daniel Bevenius) #36427
- [4b386e3dbe] - src: add missing context scopes (Anna Henningsen) #36413
- [685ed2c275] - src: use ToLocal in DeserializeProperties (Daniel Bevenius) #36279
- [d8cb34158b] - src: update node.rc file description (devsnek) #36197
- [bacd432f34] - src: move all base64.h inline methods into -inl.h header file (Anna Henningsen) #35432
- [b1d5160828] - src: guard against nullptr deref in TimerWrapHandle::Stop (Anna Henningsen) #34460
- [cf2475ca09] - src: refactor TimerWrap lifetime management (Anna Henningsen) #34252
- [b8bccc3132] - src: remove user_data from TimerWrap (Anna Henningsen) #34252
- [8e1e3b563f] - src: replace InspectorTimer with TimerWrap utility (James M Snell) #34186
- [a3a4d2c283] - src: add TimerWrap utility (James M Snell) #34186
- [ae9bd89329] - src: perform bounds checking on error source line (Anna Henningsen) #33645
- [44868010f7] - (SEMVER-MINOR) src: add loop idle time in diagnostic report (Gireesh Punathil) #35940
- [4793f165dc] - stream: fix pipe deadlock when starting with needDrain (Robert Nagy) #36563
- [617f2dc0cf] - (SEMVER-MINOR) stream: writableNeedDrain (Robert Nagy) #35348
- [26e9c39cea] - stream: remove isPromise utility function (Antoine du Hamel) #35925
- [7858de4f63] - stream,util: fix "the the" typo in comments (Luigi Pinca) #37674
- [93c917c1ce] - test: move buffer-as-path symlink test to its own test file (Rich Trott) #34569
- [cd95bf3dd7] - test: change Fixes: to Refs: (Rich Trott) #34568
- [2e81ded71e] - test: fix flaky test-dns and test-dns-lookup (Rich Trott) #38282
- [ea1183c6ec] - test: fixup failing test/internet/test-dns.js (James M Snell) #38241
- [ae44e5f5b5] - test: add tests for missing https agent options (Rich Trott) #38202
- [796007ba07] - test: fix test-https-agent-additional-options.js (Rich Trott) #38202
- [a4275eec79] - test: fix typo in comment in binding.c (Tobias Nießen) #38220
- [95c7dabbb4] - test: fix typo in gtest-all.cc (Ikko Ashimine) #38224
- [605f830672] - test: add undefined fatalException exit code test (Nitzan Uziely) #38119
- [ce70ea8a85] - test: skip fs.watch() test on IBMi (Rich Trott) #38192
- [058abbece1] - test: skip test-vm-memleak in ASAN (Rich Trott) #34289
- [c7981daf09] - test: skip test-hash-seed on armv6 and armv7 (Rich Trott) #34289
- [552c945c7c] - test: remove unneeded m flag on regular expressions (Rich Trott) #38124
- [e999da7004] - test: fix flaky test-zlib-unused-weak.js (Ouyang Yadong) #38149
- [aa0d8146e9] - test: add regression test for serdes readDouble() (Colin Ihrig) #38121
- [dd8c9ad65b] - test: skip test-crypto-dh-keys on armv6 and armv7 (Rich Trott) #38076
- [7d85617484] - test: fix skip message for test-macos-app-sandbox (Tobias Nießen) #38114
- [f1aae43349] - test: correct test comment (Evan Lucas) #38095
- [d6ab9bf1ad] - test: fix flaky test-net-timeout (Rich Trott) #38060
- [1cb3d89bf1] - test: fix flaky timeout-delayed-body and headers tests (Nitzan Uziely) #38045
- [8590720489] - test: add extra space in test failure output (Qingyu Deng) #37957
- [d6346e1486] - test: deflake test-fs-read-optional-params (Luigi Pinca) #37991
- [abec939c58] - test: improve clarity of ALS-enable-disable.js (Darkripper214) #38008
- [2e3305d1b3] - test: add DataView test case for v8 serdes (Rich Trott) #37955
- [7b0e4e23f2] - test: fix typeof comparison (Rich Trott) #37924
- [4c5eff91ef] - test: increase wiggle room for memory in test-worker-resource-limits (Rich Trott) #37901
- [939f5541fa] - test: fix deprecation warning in test-doctool-html (Antoine du Hamel) #37858
- [f5334881f2] - test: fix ibmi skip message (Tobias Nießen) #37821
- [cd71199cdb] - test: fix flaky test-vm-timeout-escape-promise-module-2 (Rich Trott) #37842
- [b858e12fca] - test: remove duplicated test for eventtarget (himself65) #37853
- [e57e532d28] - test: relax Y2K38 check in test-fs-utimes-y2K38 (Richard Lau) #37825
- [08d32e18b7] - test: remove skip for fixed test-benchmark-fs (Rich Trott) #37803
- [3f86dc1d9b] - test: improve test-arm-math-illegal-instruction (marsonya) #37670
- [5c60087132] - (SEMVER-MINOR) test: app atob web platform tests (James M Snell) #37529
- [02916edbdd] - test: add known_issues test for #13683 (Rich Trott) #37744
- [62292031a8] - test: fix test-fs-utimes on non-Y2K38 file systems (Rich Trott) #37707
- [e29905441e] - test: remove unnecessary V8 flag (Antoine du Hamel) #37671
- [27d4fedca3] - test: improve error reporting in test-child-process-pipe-dataflow (Rich Trott) #37632
- [376fcc75c6] - test: remove FLAKY status for test-async-hooks-http-parser-destroy (Rich Trott) #37636
- [a91a200be0] - test: remove FLAKY status for fixed test (Rich Trott) #37633
- [102d12f308] - test: clear flaky designation for test-stream-pipeline-http2 (Rich Trott) #37631
- [ed30e52ee8] - test: clear FLAKY designation for test-http2-pipe (Rich Trott) #37631
- [df93cb47da] - test: fix wasi/test-return-on-exit on 32-bit systems (Colin Ihrig) #37615
- [097f638fde] - test: remove FLAKY status for test-http2-multistream-destroy-on-read-tls (Rich Trott) #37533
- [0726192c94] - test: make status file names consistent (Rich Trott) #37532
- [bcc4f1773c] - test: remove FLAKY for test-http2-compat-client-upload-reject (Rich Trott) #37462
- [d168cdea50] - test: validate no debug info for http2 (Michael Dawson) #37447
- [2f2f83fc4c] - test: remove FLAKY designation for test-http2-client-upload-reject (Rich Trott) #37461
- [776ef11732] - test: clarify usage of tmpdir.refresh() (Darshan Sen) #37383
- [8386b88c7f] - test: fix test-doctool-html (Antoine du Hamel) #37397
- [03752c0412] - test: remove flaky designation for test-http2-large-file (Rich Trott) #37156
- [db44b92c58] - test: increase inspect coverage (Emil Sivervik) #36755
- [21e7b021a0] - test: skip tests consistently in parallel.status (Rich Trott) #37035
- [8f580df5ac] - test: increase read file abort coverage (Moshe vilner) #36716
- [55a7b0c2e1] - test: increase coverage for assert/calltracker (ZiJian Liu) #36728
- [ec7ee61af0] - test: improve assertion message for test-vm-memleak (Rich Trott) #37034
- [456fd758f3] - test: process.nextTick for before exit (ttzztztz) #37012
- [d99f1755d3] - test: log error in test-fs-realpath-pipe (Joyee Cheung) #36996
- [0e1963c486] - test: test mode passed as an options object in mkdir/mkdirSync (Darshan Sen) #37008
- [5408f51684] - test: mark flaky tests on IBM i (Richard Lau) #36986
- [e72b2b4639] - test: increase buffer list coverage (Emil Sivervik) #36688
- [90122d87c9] - test: fix warning in test_environment.cc (raisinten) #36846
- [2cbd72e17d] - test: skip internet for test-npm-install (Ruy Adorno) #36933
- [2896219613] - test: add coverage for breakLength one-column array (Rich Trott) #36657
- [ff212f44b7] - test: increase coverage for diagnostics_channel (ZiJian Liu) #36602
- [35c388ab1f] - test: increase coverage for internal/error_serdes.js (ZiJian Liu) #36628
- [581a95f0ea] - test: improve coverage for util.inspect() with classes (Rich Trott) #36625
- [e82a2e8ad5] - test: increase runInAsyncScope() coverage (Rich Trott) #36624
- [064144db89] - test: redirect stderr EnvironmentWithNoESMLoader (Daniel Bevenius) #36548
- [cf8d025207] - test: increase abort logic coverage (Moshe vilner) #36586
- [eba2dc5330] - test: increase coverage for worker (ZiJian Liu) #36491
- [5ef609af3e] - test: specify global object for globals (Rich Trott) #36498
- [829213f624] - test: increase coverage for fs/dir read (Zijian Liu) #36388
- [c0604c9958] - test: remove test-http2-client-upload as flaky (Rich Trott) #36496
- [dabbd6d8ad] - test: make executable name more general (Shelley Vohr) #36489
- [44603b7535] - test: increased externalized string length (Shelley Vohr) #36451
- [2d0b6ca1c6] - test: fix flaky test-repl (Rich Trott) #36415
- [fee0389c12] - test: check null proto-of-proto in util.inspect() (Rich Trott) #36399
- [0e821ff337] - test: fix child-process-pipe-dataflow (Santiago Gimeno) #36366
- [736b575b7e] - test: fix comment misspellings of transferred (Rich Trott) #36360
- [5fc0f5eabb] - test: increase coverage for readline (Zijian Liu) #36389
- [f5e8f12c1e] - test: fix typo in comment (inokawa) #36312
- [72b3e5a6d9] - test: replace anonymous functions by arrows (Aleksandr Krutko) #36125
- [b11e3ea1e6] - test: fix flaky sequential/test-fs-watch (Rich Trott) #36249
- [cb530d2372] - test: increase coverage for util.inspect() (Rich Trott) #36228
- [94a877b0a4] - test: improve test coverage SourceMap API (Juan José Arboleda) #36089
- [6c62e15c36] - test: move test-worker-eventlooputil to sequential (Rich Trott) #35996
- [16f6f1a0c2] - test: add missing test coverage for setLocalAddress() (Rich Trott) #36039
- [23835012e0] - test: fix races in test-performance-eventlooputil (Gerhard Stoebich) #36028
- [d63747de5a] - test: fix error in test/internet/test-dns.js (Rich Trott) #35969
- [00b9d955e9] - test: run test-benchmark-napi on arm (Rich Trott) #34502
- [de654bf5b4] - test: fix unreliable test-fs-write-file.js (Rich Trott) #36102
- [397d9372c2] - (SEMVER-MINOR) test: update dom/abort tests (James M Snell) #37693
- [dc63ca686e] - test: increase execFile abort coverage (Moshe vilner) #36429
- [88f42617dd] - test: integrate abort_controller tests from wpt (Daijiro Wachi) #35869
- [cd1da67295] - test: fix flaky test-http2-respond-file-error-pipe-offset (Rich Trott) #36305
- [db04ae6b02] - test: add SIGTRAP to test-signal-handler (Ash Cripps) #36368
- [48e3f592a0] - test: refactor coverage logic (Benjamin Coe) #35767
- [01ba1c9a9c] - test: correct test-worker-eventlooputil (Gerhard Stoebich) #35891
- [89046d7840] - test: add cpu-profiler-crash test (Santiago Gimeno) #37293
- [6961be5ed1] - test: add arm64 arch to test-worker-prof status (Daniel Bevenius) #37225
- [98f08c06e4] - test,benchmark: stop requiring URL and URLSearchParams (raisinten) #36927
- [51ef745975] - test,child_process: add check for subProcess.pid (dr-js) #37014
- [8476537aa4] - test,http: check that http server is robust from handler abuse (Rich Trott) #37958
- [e4d10426c4] - timers: fix arbitrary object clearImmediate errors (Nitzan Uziely) #37824
- [1b74a08eba] - timers: refactor to use validateAbortSignal (ZiJian Liu) #36604
- [4b04bb87f6] - timers: use AbortController with correct name/message (Anna Henningsen) #34763
- [9660a78278] - (SEMVER-MINOR) timers: move promisified timers implementations (James M Snell) #33950
- [59a8425d04] - timers: fix multipleResolves in promisified timeouts/immediates (Denys Otrishko) #33949
- [84b2863f00] - (SEMVER-MINOR) timers: allow promisified timeouts/immediates to be canceled (James M Snell) #33833
- [08ed2337ea] - tls: forward new SecureContext options (Alba Mendez) #36416
- [2c49953fc9] - tools: update glob-parent to 5.1.2 (Rich Trott) #37646
- [b76aa10aa8] - tools: update remark-preset-lint-node to 2.1.1 (Rich Trott) #37604
- [5afaeafabe] - tools: bump remark-present-lint-node from 2.0.0 to 2.0.1 (Rich Trott) #37270
- [abd45d3355] - tools: update all lint-md rollup dependencies (Michaël Zasso) #36843
- [c8f77f2e1d] - tools: update ini in tools/node-lint-md-cli-rollup (Myles Borins) #36474
- [ac70a59056] - tools: bump remark-lint-preset-node to 2.0.0 (Rich Trott) #35905
- [cbb0a458b5] - tools: bump remark-lint-preset-node to 1.17.1 (Rich Trott) #35668
- [ed7c0d7c1b] - tools: skip macOS GitHub Actions test on doc-only changes (Rich Trott) #38296
- [4254315ebe] - tools: improve valid-typeof lint rule (Rich Trott) #37924
- [f055faf647] - tools: improve macos-firewall.sh output (Rich Trott) #37846
- [2551bb1a61] - tools: make genv8constants.py Python3-compatible (Michaël Zasso) #37835
- [e6a79802d3] - tools: update gitignore for CMake (Jiawen Geng) #37793
- [e4975d9057] - tools: fix object name in prefer-assert-methods.js (Tobias Nießen) #37544
- [77eb45aad4] - tools: fix compiler warning in inspector_protocol (Darshan Sen) #37573
- [af8b3852a8] - tools: fix lint-pr-url message (Antoine du Hamel) #37304
- [2ba6db3c3e] - tools: avoid pending deprecation in doc generator (Michaël Zasso) #37267
- [981659c7b9] - tools: add GitHub Action linter for pr-url (Antoine du Hamel) #37221
- [2e5994dcd8] - tools: remove commented code from stability.js (Colin Ihrig) #37092
- [ef1aab1239] - tools: add support for top-level await syntax in linter (Antoine du Hamel) #36911
- [aef769745b] - tools: update doc tool dependencies (Michaël Zasso) #36844
- [dd10afc45a] - tools: revise install.py for minor improvements (Rich Trott) #36626
- [d85ea61c7e] - tools: correct usage message for genv8constants.py (Rich Trott) #36606
- [9990ec7423] - tools: call close() explicitly in genv8constants.py (Rich Trott) #36606
- [26d5965c77] - tools: use is None consistently in Python (Rich Trott) #36606
- [bb07a767c0] - tools: revise line in configure.py for clarity (Rich Trott) #36551
- [5ac21bceba] - tools: fix make-v8.sh (Richard Lau) #36594
- [3cac041b97] - tools: fix release script sign function (Antoine du Hamel) #36556
- [b398e4044c] - tools: fix update-eslint.sh (Yongsheng Zhang) #36579
- [471da7dc88] - tools: fix release script (Antoine du Hamel) #36540
- [1f3c129f05] - tools: remove unused variable in configure.py (Rich Trott) #36525
- [9b13ddc6a6] - tools: lint shell scripts (Antoine du Hamel) #36099
- [7ac8ab8e26] - tools: update doc tool dependencies (Michaël Zasso) #36407
- [e8b2c776f7] - tools: upgrade to @babel/eslint-parser 7.12.1 (Antoine du Hamel) #36321
- [a0339101ba] - tools: remove bashisms from macOS release scripts (Antoine du Hamel) #36121
- [9434bb3cfd] - tools: remove bashisms from release script (Antoine du Hamel) #36123
- [2183a2be51] - tools: update stability index linking logic (Rich Trott) #36280
- [2677fe9dcb] - tools: update highlight.js to 10.1.2 (Myles Borins) #36309
- [17f942ffc0] - tools: fix undeclared identifier FALSE (Antoine du Hamel) #36276
- [4bb5c10915] - tools: cleanup old ICU version-specific fixes (Michaël Zasso) #36980
- [77f32ee8f7] - tools: fix md5 hash for ICU 68.1 src (Richard Lau) #36777
- [5d29781491] - tools: add msvc /P output to .gitignore (Jiawen Geng) #35735
- [571afd3c30] - tools,doc: add "legacy" badge in the TOC (Antoine du Hamel) #37949
- [15d66fbc0c] - tools,doc: list the stability status of each API (Zijian Liu) #36223
- [d89d55ab36] - tty: validate file descriptor to avoid int32 overflow (Antoine du Hamel) #37809
- [face4b86dd] - typings: add JSDoc to os module functions (David Brownman) #38197
- [599434a61d] - typings: add JSDoc Types to lib/querystring (Simon Knott) #38185
- [60c7591af2] - typings: add JSDoc typings for http (Voltrex) #38191
- [530e69e145] - typings: add JSDoc typings for assert (Voltrex) #38188
- [e2c2f2b7a5] - typings: add JSDoc types to lib/path (Simon Knott) #38186
- [d13fc6ed68] - url: align url format behavior with browsers (ZiJian Liu) #36903
- [2aff77f358] - url: fix url.format with ipv6 hostname (ZiJian Liu) #36665
- [08a6d9effd] - (SEMVER-MINOR) util: add getSystemErrorMap() impl (eladkeyshawn) #38101
- [e6c64bf0c7] - util: remove unreachable inspect code (Rich Trott) #37941
- [b5c5bd1f51] - util: inspect __proto__ key as written in object literal (Anna Henningsen) #37713
- [2bfe185c3f] - util: use assert for unreachable code (Rich Trott) #37249
- [ba4788dd9f] - (SEMVER-MINOR) v8: fix native serdes constructors (ExE Boss) #36549
- [16606d05b7] - vm: add SafeForTerminationScopes for SIGINT interruptions (Anna Henningsen) #36344
- [b6f4d790d3] - worker: fix exit code for error thrown in handler (Nitzan Uziely) #38012
- [9460f2cd83] - (SEMVER-MINOR) worker: add eventLoopUtilization() (Trevor Norris) #35664
- [78ad8b4c44] - workers: fix spawning from preload scripts (James M Snell) #37481
New in Node.js 16.1.0 Current (May 4, 2021)
- Notable Changes:
- Vulnerabilities fixed:
- CVE-2021-3450: OpenSSL - CA certificate check bypass with X509_V_FLAG_X509_STRICT (High)
- This is a vulnerability in OpenSSL which may be exploited through Node.js. You can read more about it in https://www.openssl.org/news/secadv/20210325.txt
- Impacts:
- All versions of the 15.x, 14.x, 12.x and 10.x releases lines
- CVE-2021-3449: OpenSSL - NULL pointer deref in signature_algorithms processing (High)
- This is a vulnerability in OpenSSL which may be exploited through Node.js. You can read more about it in https://www.openssl.org/news/secadv/20210325.txt
- Impacts:
- All versions of the 15.x, 14.x, 12.x and 10.x releases lines
- CVE-2020-7774: npm upgrade - Update y18n to fix Prototype-Pollution (High)
- This is a vulnerability in the y18n npm module which may be exploited by prototype pollution. You can read more about it in https://github.com/advisories/GHSA-c4w7-xm78-47vh
- Impacts:
- All versions of the 14.x, 12.x and 10.x releases lines
- Commits:
- [467be7a950] - deps: upgrade npm to 6.14.12 (Ruy Adorno) #37918
- [6bc8f58182] - deps: update archs files for OpenSSL-1.1.1k (Tobias Nießen) #37938
- [403a014ef6] - deps: upgrade openssl sources to 1.1.1k (Tobias Nießen) #37938
New in Node.js 16.0.0 Current (Apr 21, 2021)
- Deprecations and Removals:
- (SEMVER-MAJOR) fs: remove permissive rmdir recursive (Antoine du Hamel) #37216
- (SEMVER-MAJOR) fs: runtime deprecate rmdir recursive option (Antoine du Hamel) #37302
- (SEMVER-MAJOR) lib: runtime deprecate access to process.binding('http_parser') (James M Snell) #37813
- (SEMVER-MAJOR) lib: runtime deprecate access to process.binding('url') (James M Snell) #37799
- (SEMVER-MAJOR) lib: make process.binding('util') return only type checkers (Anna Henningsen) #37819
- (SEMVER-MAJOR) lib: runtime deprecate access to process.binding('crypto') (James M Snell) #37790
- (SEMVER-MAJOR) lib: runtime deprecate access to process.binding('signal_wrap') (James M Snell) #37800
- (SEMVER-MAJOR) lib: runtime deprecate access to process.binding('v8') (James M Snell) #37789
- (SEMVER-MAJOR) lib: runtime deprecate access to process.binding('async_wrap') (James M Snell) #37576
- (SEMVER-MAJOR) module: remove module.createRequireFromPath (Antoine du Hamel) #37201
- (SEMVER-MAJOR) module: runtime deprecate subpath folder mappings (Antoine du Hamel) #37215
- (SEMVER-MAJOR) module: runtime deprecate "main" index and extension lookups (Antoine du Hamel) #37206
- (SEMVER-MAJOR) module: runtime deprecate invalid package.json main entries (Antoine du Hamel) #37204
- (SEMVER-MAJOR) process: runtime deprecate changing process.config (James M Snell) #36902
- Stable Timers Promises API:
- The Timers Promises API provides an alternative set of timer functions that return Promise objects. Added in Node.js v15.0.0, in this release they graduate from experimental status to stable.
- Toolchain and Compiler Upgrades:
- Node.js v16.0.0 will be the first release where we ship prebuilt binaries for Apple Silicon. While we’ll be providing separate tarballs for the Intel (darwin-x64) and ARM (darwin-arm64) architectures the macOS installer (.pkg) will be shipped as a ‘fat’ (multi-architecture) binary.
- (SEMVER-MAJOR) build: remove support for Python 2 (Christian Clauss) #36691
- (SEMVER-MAJOR) build: default PYTHON to python3 in Makefile (Michaël Zasso) #37764
- build: update Makefile to support fat binary (Ash Cripps) #37861
- (SEMVER-MAJOR) build: enable ASLR (PIE) on OS X (woodfairy) #35704
- build: warn for gcc versions earlier than 8.3.0 (Richard Lau) #37935
- (SEMVER-MAJOR) doc: update minimum supported Xcode to 11 (Michaël Zasso) #37872
- (SEMVER-MAJOR) doc: update minimum supported GCC to 8.3 (Michaël Zasso) #37871
- (SEMVER-MAJOR) doc: update AIX to GCC8 for v16.x (Ash Cripps) #37677
- tools: set arch in Distribution.xml (Ash Cripps) #38261
- V8 9.0:
- The V8 JavaScript engine is updated to V8 9.0, including performance tweaks and improvements.
- This update also brings the ECMAScript RegExp Match Indices, which provide the start and end indices of the captured string. The indices array is available via the .indices property on match objects when the regular expression has the /d flag.
- Other Notable Changes:
- (SEMVER-MINOR) assert: graduate assert.match and assert.doesNotMatch (James M Snell) #38111
- (SEMVER-MAJOR) buffer: expose btoa and atob as globals (James M Snell) #37786
- (SEMVER-MAJOR) deps: bump minimum ICU version to 68 (Michaël Zasso) #37330
- deps: update ICU to 69.1 (Michaël Zasso) #38178
- deps: update llhttp to 6.0.0 (Fedor Indutny) #38277
- deps: upgrade npm to 7.10.0 (Ruy Adorno) #38254
- (SEMVER-MINOR) http: add http.ClientRequest.getRawHeaderNames() (simov) #37660
- (SEMVER-MAJOR) lib,src: update cluster to use Parent (Michael Dawson) #36478
- (SEMVER-MINOR) module: add support for node:‑prefixed require(…) calls (ExE Boss) #37246
- (SEMVER-MINOR) perf_hooks: add histogram option to timerify (James M Snell) #37475
- (SEMVER-MINOR) repl: add auto‑completion for node:‑prefixed require(…) calls (ExE Boss) #37246
- (SEMVER-MINOR) util: add getSystemErrorMap() impl (eladkeyshawn) #38101
- Semver-Major Commits:
- [324a6c235a] - (SEMVER-MAJOR) async_hooks: add thisArg to AsyncResource.bind (James M Snell) #36782
- [d1e2184c8e] - (SEMVER-MAJOR) buffer: expose btoa and atob as globals (James M Snell) #37786
- [4268fae04a] - (SEMVER-MAJOR) build: remove support for Python 2 (Christian Clauss) #36691
- [c3a5e15ebe] - (SEMVER-MAJOR) build: default PYTHON to python3 in Makefile (Michaël Zasso) #37764
- [1d8c022544] - (SEMVER-MAJOR) build: update Makefile to support fat binary (Ash Cripps) #37861
- [38f32386c1] - (SEMVER-MAJOR) build: include minimal V8 headers in distribution (Michaël Zasso) #37570
- [a19af5ee71] - (SEMVER-MAJOR) build: use C++11 ABI with libstdc++ (Anna Henningsen) #36634
- [8d6b74d347] - (SEMVER-MAJOR) build: enable ASLR (PIE) on OS X (woodfairy) #35704
- [732ad99e47] - (SEMVER-MAJOR) deps: update V8 to 9.0.257.11 (Michaël Zasso) #37587
- [43cc8e4b2e] - (SEMVER-MAJOR) deps: bump minimum ICU version to 68 (Michaël Zasso) #37330
- [c5ff019a4e] - (SEMVER-MAJOR) deps: update V8 to 8.9.255.19 (Michaël Zasso) #37330
- [c7b3292251] - (SEMVER-MAJOR) deps: update V8 to 8.8.278.17 (Michaël Zasso) #36139
- [48db20f6f5] - (SEMVER-MAJOR) deps: update V8 to 8.7.220 (Michaël Zasso) #35700
- [d85e1f0703] - (SEMVER-MAJOR) dns: use url module instead of punycode for IDNA (Antoine du Hamel) #35091
- [290c158018] - (SEMVER-MAJOR) doc: update minimum supported Xcode to 11 (Michaël Zasso) #37872
- [1ff2918d80] - (SEMVER-MAJOR) doc: update minimum supported GCC to 8.3 (Michaël Zasso) #37871
- [2706e67116] - (SEMVER-MAJOR) doc: update AIX to GCC8 for v16.x (Ash Cripps) #37677
- [5ae5ca90ef] - (SEMVER-MAJOR) doc: add http.IncomingMessage#connection (Pranshu Srivastava) #33768
- [83d6e63aee] - (SEMVER-MAJOR) events: change EventTarget handler exception behavior (Nitzan Uziely) #37237
- [9948036ee0] - (SEMVER-MAJOR) fs: remove permissive rmdir recursive (Antoine du Hamel) #37216
- [d4693ff430] - (SEMVER-MAJOR) fs: add validation for fd and path (Dylan Elliott) #35187
- [0ddd75bcd8] - (SEMVER-MAJOR) fs: runtime deprecate rmdir recursive option (Antoine du Hamel) #37302
- [da217d0773] - (SEMVER-MAJOR) fs: fix flag and mode validation (James M Snell) #37480
- [2ef9a76ece] - (SEMVER-MAJOR) http: use objects with null prototype in Agent (Michaël Zasso) #36409
- [25e30005b8] - (SEMVER-MAJOR) lib: runtime deprecate access to process.binding('http_parser') (James M Snell) #37813
- [8bb4e048af] - (SEMVER-MAJOR) lib: runtime deprecate access to process.binding('url') (James M Snell) #37799
- [fe73e4d578] - (SEMVER-MAJOR) lib: make process.binding('util') return only type checkers (Anna Henningsen) #37819
- [3bee6d8aad] - (SEMVER-MAJOR) lib: runtime deprecate access to process.binding('crypto') (James M Snell) #37790
- [ac00df112e] - (SEMVER-MAJOR) lib: runtime deprecate access to process.binding('signal_wrap') (James M Snell) #37800
- [ae595d76e3] - (SEMVER-MAJOR) lib: runtime deprecate access to process.binding('v8') (James M Snell) #37789
- [104dac79cc] - (SEMVER-MAJOR) lib: aggregate errors to avoid error swallowing (Antoine du Hamel) #37460
- [1468c9ff7c] - (SEMVER-MAJOR) lib: runtime deprecate access to process.binding('async_wrap') (James M Snell) #37576
- [295e766c27] - (SEMVER-MAJOR) lib: remove usage of url.parse (raisinten) #36853
- [cb3020d824] - (SEMVER-MAJOR) lib: add error handling for input stream (rexagod) #31603
- [15164cebce] - (SEMVER-MAJOR) lib,src: update cluster to use Parent (Michael Dawson) #36478
- [3cc9aec988] - (SEMVER-MAJOR) module: runtime deprecate subpath folder mappings (Antoine du Hamel) #37215
- [9fab73c73b] - (SEMVER-MAJOR) module: runtime deprecate "main" index and extension lookups (Antoine du Hamel) #37206
- [76a073b67e] - (SEMVER-MAJOR) module: runtime deprecate invalid package.json main entries (Antoine du Hamel) #37204
- [674614b3f5] - (SEMVER-MAJOR) module: remove module.createRequireFromPath (Antoine du Hamel) #37201
- [aecd5ebf49] - (SEMVER-MAJOR) module: only set cache when finding module succeeds (Yongsheng Zhang) #36642
- [f0bf373176] - (SEMVER-MAJOR) perf_hooks: make performance a global (James M Snell) #37970
- [f3eb224c83] - (SEMVER-MAJOR) perf_hooks: complete overhaul of the implementation (James M Snell) #37136
- [f1753d4c76] - (SEMVER-MAJOR) process: disallow adding options to process.allowedNodeEnvironmentFlags (Antoine du Hamel) #36660
- [96f3977ded] - (SEMVER-MAJOR) process: runtime deprecate changing process.config (James M Snell) #36902
- [45dbcbef90] - (SEMVER-MAJOR) readline: cursorTo throw error on NaN (Zijian Liu) #36379
- [bf79987433] - (SEMVER-MAJOR) src: mark internally exported functions as explicitly internal (Tyler Ang-Wanek) #37000
- [1fe571aa0c] - (SEMVER-MAJOR) src: inline AsyncCleanupHookHandle in headers (Tyler Ang-Wanek) #37000
- [dfc288e7fd] - (SEMVER-MAJOR) src: clean up embedder API (Anna Henningsen) #35897
- [65e8864fa3] - (SEMVER-MAJOR) worker: send correct error status for worker init (Yash Ladha) #36242
- Semver-Minor Commits:
- [944a956087] - (SEMVER-MINOR) assert: graduate assert.match and assert.doesNotMatch (James M Snell) #38111
- [6a1986d50a] - (SEMVER-MINOR) deps: update llhttp to 5.1.0 (Fedor Indutny) #38146
- [069b5df4f6] - (SEMVER-MINOR) module: add support for node:‑prefixed require(…) calls (ExE Boss) #37246
- [b803bca4fa] - (SEMVER-MINOR) perf_hooks: add histogram option to timerify (James M Snell) #37475
- [95391fe689] - (SEMVER-MINOR) repl: add auto‑completion for node:‑prefixed require(…) calls (ExE Boss) #37246
- [15b8e6b1c4] - (SEMVER-MINOR) timers: graduate awaitable timers and improve docs (James M Snell) #38112
- [802171057f] - (SEMVER-MINOR) util: add getSystemErrorMap() impl (eladkeyshawn) #38101
- Semver-Patch Commits:
- [8930eba199] - assert: change status of legacy asserts (James M Snell) #38113
- [0180fc5b9b] - benchmark: improve compare.R output (Brian White) #38118
- [8d9d8236b7] - bootstrap: mksnapshot should show JS error (Bradley Meck) #38174
- [6cb314bbe5] - bootstrap: print information for snapshot at environment exit in debug (Joyee Cheung) #37967
- [14aed60941] - buffer,errors: add missing n literal in range error string (Cactysman) #37750
- [049b703a28] - build: sync generation of v8_build_config.json (Richard Lau) #38263
- [1d21a8d140] - build: add riscv64 configure (luyahan) #37980
- [f5eea1744d] - build: don't run test workflow on doc dir on macOS (ycjcl868) #37999
- [2853b76e20] - build: add pummel tests to ci runs (Rich Trott) #34289
- [24426cd8c4] - build: prepare Windows coverage GitHub Action for pummel tests (Rich Trott) #34289
- [7df0fc5c5c] - build: move OPENSSL_API_COMPAT to else clause (Daniel Bevenius) #38126
- [9cfb418e1f] - build: package release changelog for releases (Richard Lau) #38033
- [558d1e6c22] - build: warn for gcc versions earlier than 8.3.0 (Richard Lau) #37935
- [a572a4e34e] - build: reset embedder string to "-node.0" (Michaël Zasso) #37587
- [f3c7078245] - build: reset embedder string to "-node.0" (Michaël Zasso) #37330
- [842389839b] - build: reset embedder string to "-node.0" (Michaël Zasso) #36139
- [98d1ae47cf] - build: reset embedder string to "-node.0" (Michaël Zasso) #35700
- [993ed19f9c] - crypto: reduce range of size to int max (Qingyu Deng) #38096
- [896dc39951] - crypto: fix webcrypto derive(Bits|Key) resolve values and docs (Filip Skokan) #38148
- [d2f116c6bb] - crypto: fixup randomFill size and offset handling (James M Snell) #38138
- [dfe3f952a3] - crypto: fix crash in CCM mode without data (Tobias Nießen) #38102
- [e8cb6446ef] - crypto: reconcile oneshot sign/verify sync and async implementations (Filip Skokan) #37816
- [1e4a2bcbee] - crypto: remove check for condition that is always true (Rich Trott) #38072
- [64d5be25ab] - deps: V8: cherry-pick 1648e050cade (Michaël Zasso) #37587
- [621b544909] - deps: silence irrelevant V8 warnings (Michaël Zasso) #37587
- [0d78bc3101] - deps: fix V8 build issue with inline methods (Jiawen Geng) #35415
- [5214918856] - deps: make v8.h compatible with VS2015 (Joao Reis) #32116
- [6b3caf77b2] - deps: V8: forward declaration of Rtl*FunctionTable (Refael Ackermann) #32116
- [d0a032fafb] - deps: V8: patch register-arm64.h (Refael Ackermann) #32116
- [c8b2fa642e] - deps: V8: un-cherry-pick bd019bd (Refael Ackermann) #32116
- [8eeecc19ae] - deps: V8: cherry-pick 8957d4677aa7 (Michaël Zasso) #37330
- [b186142a0b] - deps: V8: backport a11395433dbd (Michaël Zasso) #37330
- [290f2d8d3e] - deps: V8: cherry-pick deb0813166f3 (Michaël Zasso) #36139
- [63ed0b8bfe] - deps: V8: cherry-pick 9a6a22874c81 (Michaël Zasso) #36139
- [47f1c5257a] - deps: silence irrelevant V8 warning (Michaël Zasso) #37330
- [19d975241f] - deps: workaround stod() limitations on SmartOS (Colin Ihrig) #37330
- [70f928c6a6] - deps: fix V8 build issue with inline methods (Jiawen Geng) #35415
- [b045e39513] - deps: patch V8 to run on Xcode 8 (Mary Marchini) #32116
- [32725d2224] - deps: make v8.h compatible with VS2015 (Joao Reis) #32116
- [fe3cee7b37] - deps: V8: forward declaration of Rtl*FunctionTable (Refael Ackermann) #32116
- [b2d05f7349] - deps: V8: patch register-arm64.h (Refael Ackermann) #32116
- [c7a0ab4e3d] - deps: patch V8 to run on older XCode versions (Ujjwal Sharma) #32116
- [60b623ee90] - deps: V8: un-cherry-pick bd019bd (Refael Ackermann) #32116
- [577ff9fee5] - deps: V8: cherry-pick deb0813166f3 (Michaël Zasso) #36139
- [00e1c7ea83] - deps: V8: cherry-pick 9a6a22874c81 (Michaël Zasso) #36139
- [ee01d6b7fc] - deps: V8: cherry-pick 2059ee813359 (Michaël Zasso) #36139
- [2dad8d43cc] - deps: V8: cherry-pick bde7ee5473d6 (Michaël Zasso) #36139
- [3046131ea0] - deps: V8: cherry-pick 9a712984025e (Michaël Zasso) #36139
- [d178d0738f] - deps: V8: cherry-pick 0b96e5b0bfb2 (Michaël Zasso) #36139
- [5c71ea151a] - deps: V8: cherry-pick fbb28902e049 (Michaël Zasso) #36139
- [c8e15cd2c6] - deps: V8: cherry-pick 821fb3883a8e (Michaël Zasso) #35700
- [b0d67426af] - deps: workaround stod() limitations on SmartOS (Colin Ihrig) #36139
- [c8a658ac53] - deps: fix V8 build issue with inline methods (Jiawen Geng) #35415
- [153b8cea36] - deps: patch V8 to run on Xcode 8 (Mary Marchini) #32116
- [a785984133] - deps: V8: silence irrelevant warnings (Michaël Zasso) #32116
- [246c9b8c31] - deps: make v8.h compatible with VS2015 (Joao Reis) #32116
- [96a567f9e9] - deps: V8: forward declaration of Rtl*FunctionTable (Refael Ackermann) #32116
- [e74383cecb] - deps: V8: patch register-arm64.h (Refael Ackermann) #32116
- [732847f1eb] - deps: patch V8 to run on older XCode versions (Ujjwal Sharma) #32116
- [70171d186f] - deps: V8: un-cherry-pick bd019bd (Refael Ackermann) #32116
- [15c91c6dd5] - deps: V8: cherry-pick 821fb3883a8e (Michaël Zasso) #35700
- [40b2fa4832] - deps: V8: cherry-pick 45e49775f5a3 (Michaël Zasso) #35700
- [cd91ab5865] - deps: V8: cherry-pick 7b3a27b7ae65 (Michaël Zasso) #35700
- [f4fc099080] - deps: V8: cherry-pick d76abfed3512 (Michaël Zasso) #35415
- [6200176ef0] - deps: fix V8 build issue with inline methods (Jiawen Geng) #35415
- [bd5642deb9] - deps: update V8 postmortem metadata script (Colin Ihrig) #35415
- [9ae7159216] - deps: update V8 postmortem metadata script (Colin Ihrig) #33579
- [f4b4e21b2f] - deps: patch V8 to run on Xcode 8 (Mary Marchini) #32116
- [f6a84540d8] - deps: V8: silence irrelevant warnings (Michaël Zasso) #32116
- [bbc3f46572] - deps: make v8.h compatible with VS2015 (Joao Reis) #32116
- [0c988642dc] - deps: V8: forward declaration of Rtl*FunctionTable (Refael Ackermann) #32116
- [703bf933d4] - deps: V8: patch register-arm64.h (Refael Ackermann) #32116
- [5451975b18] - deps: patch V8 to run on older XCode versions (Ujjwal Sharma) #32116
- [c460f7af4d] - deps: V8: un-cherry-pick bd019bd (Refael Ackermann) #32116
- [bfee9daaa5] - deps: update llhttp to 6.0.0 (Fedor Indutny) #38277
- [94405650ae] - deps: upgrade npm to 7.10.0 (Ruy Adorno) #38254
- [8e80fc7ff8] - deps: patch V8 to 9.0.257.17 (Michaël Zasso) #38237
- [5b358d57e1] - deps: patch V8 to 9.0.257.16 (Michaël Zasso) #38218
- [ee669a0d29] - deps: update ICU to 69.1 (Michaël Zasso) #38178
- [2468e4ed3e] - deps: V8: backport d59db06bf542 (Antoine du Hamel) #38162
- [c748668704] - deps: upgrade npm to 7.9.0 (Ruy Adorno) #38156
- [ca13f7aaf3] - deps: V8: cherry-pick 501482cbc704 (Colin Ihrig) #38121
- [bc531d1860] - deps: upgrade npm to 7.8.0 (Darcy Clarke) #38030
- [d639321acd] - deps: patch V8 to 9.0.257.13 (Michaël Zasso) #37830
- [bc31dc0e0f] - dns: refactor cares_wrap internals (James M Snell) #38172
- [36decec87f] - doc: remove superfluous await from fsPromises.readdir example (Michael Rommel) #38293
- [ac2c8c530d] - doc: fixup http.IncomingMessage deprecation code (Guy Bedford) #36917
- [767643fc19] - doc: restore minimum Xcode version for macOS (Richard Lau) #38266
- [e541032276] - doc: fix typo in repl.md (Arkerone) #38244
- [fb93b71307] - doc: fix typo in buffer.md (Arkerone) #38243
- [7d688d4b36] - doc: fix missing backtick in fs.md (Siddharth) #38260
- [6d04cc6849] - doc: change "oject" to "object" (Arkerone) #38256
- [b4363f726c] - doc: revise TLS minVersion/maxVersion text (Rich Trott) #38202
- [98c2067f13] - doc: update BUILDING.md for Apple Silicon (Ash Cripps) #38227
- [4def7c4418] - doc: standardize on pseudorandom (Rich Trott) #38196
- [f1027ecf29] - doc: standardize command flag notes (Ferdi) #38199
- [756d2e48d8] - doc: update buffer.constants.MAX_LENGTH (Qingyu Deng) #38109
- [474fbb5f6e] - doc: clarify child_process close event (Nitzan Uziely) #38181
- [eee2c331ef] - doc: add command flag to import.meta.resolve (Ferdi) #38171
- [f46d29360c] - doc: advise against using randomFill on floats (Tobias Nießen) #38150
- [5823fc79ba] - doc: update links in ICU guide (Michaël Zasso) #38177
- [993a1da47c] - doc: mention cryptographic prng in description of randomUUID (Serkan Özel) #38074
- [5ba5cc8619] - doc: fix typos in doc/api/cli.md (Arkerone) #38163
- [6a2314acd7] - doc: add link to V8 (Voltrex) #38144
- [093b527b25] - doc: fix typo in assert.md (Arkerone) #38152
- [0fa579ac2a] - doc: add missing comma in crypto doc (Tobias Nießen) #38142
- [4bc8f7542f] - doc: fix typo in crypto (Arkerone) #38130
- [005ebafbd1] - doc: improve security text in collaborators guide (Rich Trott) #38107
- [54322b8d8b] - doc: apply consistent punctuation to header contributing guide (Akhil Marsonya) #38047
- [0d34767c4c] - doc: sending http request to localhost to avoid https redirect (Hassaan Pasha) #38036
- [f851efd2e1] - doc: apply sentence case to backporting-to-release-lines.md headers (marsonya) #37617
- [36bc8b905c] - doc: fix typo in fs.md (Antoine du Hamel) #38100
- [f52c92134c] - doc: internal/test/binding for testing (Bradley Meck) #38026
- [ab42ef3930] - doc: add parentheses to function and move reference (Rich Trott) #38066
- [2861778ecd] - doc: change wording in doc/api/domain.md comment (Akhil Marsonya) #38044
- [361632dab1] - doc: fix lint error in modules.md (Rich Trott) #37811
- [b3f35e2c70] - doc,lib: add missing deprecation code (Colin Ihrig) #37541
- [cbe3b27166] - doc,tools: allow stability table to be updated (Richard Lau) #38048
- [8dd06850ae] - esm: use correct URL for error decoration (Bradley Meck) #37854
- [6bbe28552c] - fs: use byteLength to handle ArrayBuffer views (Michaël Zasso) #38187
- [8e76397fab] - fs: validate encoding to binding.writeString() (Colin Ihrig) #38183
- [24fd791184] - fs: move constants to internal/fs/utils.js (Darshan Sen) #38061
- [40ace47396] - http: fixup perf regression (James M Snell) #38110
- [f4d3d12327] - http: use CRLF conistently in _http_outgoing.js (Daniel Bevenius) #37851
- [ee9e2a2eb6] - lib: revert primordials in a hot path (Antoine du Hamel) #38248
- [d756d2b99c] - lib: enforce using primordials.globalThis instead of global (Antoine du Hamel) #38230
- [09c9e5dea4] - lib: avoid mutating Error.stackTraceLimit when it is not writable (Antoine du Hamel) #38215
- [23d2c54bab] - lib: add globalThis to primordials (Antoine du Hamel) #38211
- [78343bbdc5] - lib: add WeakRef and FinalizationRegistry to primordials (ExE Boss) #37263
- [656fb4657a] - lib: add tsconfig for code completions (Bradley Meck) #38042
- [d86132488d] - lib: properly process JavaScript exceptions on async_hooks fatal error (legendecas) #38106
- [a9332e84bf] - lib: refactor to use primordials in lib/internal/cli_table (Akhil Marsonya) #38046
- [8d78d9ef27] - lib: load v8_prof_processor dependencies as ESM (Michaël Zasso) #37587
- [7b2bad4005] - module: clarify CJS global-like variables not defined error message (Antoine du Hamel) #37852
- [7869761c2e] - net: fix typo (Luigi Pinca) #38127
- [4afcd55274] - node-api: make reference weak parameter an indirect link to references (Chengzhong Wu) #38000
- [e38d62a8c9] - path: fix POSIX path.resolve() perf regression (Brian White) #38064
- [b0d5e036d8] - path: fix posix.relative() on Windows (Rich Trott) #37747
- [548cbf0625] - perf_hooks: fix loop delay resolution validation (Antoine du Hamel) #38166
- [13c931a9dc] - process: add range validation to debugPort (Colin Ihrig) #38205
- [8dd5dd8a4b] - process: do not lazily load AsyncResource (Michaël Zasso) #38041
- [4e833b6059] - process,doc: add missing deprecation code (Colin Ihrig) #37091
- [d6669645c0] - repl: fix declaring a variable with the name util (eladkeyshawn) #38141
- [e7391967c2] - repl: fix error message printing (Anna Henningsen) #38209
- [4e9212bb7b] - src: cache some context in locals (Khaidi Chu) #37473
- [fc20e833ca] - src: fix finalization crash (James M Snell) #38250
- [6c9b19a7af] - src: refactor SecureContext Initialization (James M Snell) #38116
- [8d63aa828e] - src: fix typo for initialization (Yash Ladha) #37974
- [66c8f76c2c] - src: remove KeyObjectData::CreateSecret overload (Tobias Nießen) #38067
- [87dc152229] - src: fix node version (Richard Lau) #36460
- [e929d1f2c8] - src: fix node version (Brian White) #36385
- [8e8dea36cc] - src: use non-deprecated GetCreationContext from V8 (Michaël Zasso) #37587
- [b1c1c4695c] - src: remove V8_FT_ADAPTOR for V8 update (Colin Ihrig) #37587
- [8f5cce6862] - src: use non-deprecated V8 module APIs (Michaël Zasso) #37587
- [497f6ca5b4] - src: update NODE_MODULE_VERSION to 93 (Michaël Zasso) #37587
- [001dc16cf1] - src: use non-deprecated V8 module and script APIs (Michaël Zasso) #37330
- [47a90d9f37] - src: update NODE_MODULE_VERSION to 92 (Michaël Zasso) #37330
- [5259d17309] - src: update NODE_MODULE_VERSION to 91 (Michaël Zasso) #36139
- [6f9cbcf6a6] - src: fix v8 api deprecation (Jiawen Geng) #35700
- [9d4d55bd94] - src: update NODE_MODULE_VERSION to 90 (Michaël Zasso) #35700
- [369f239503] - stream: fix multiple Writable.destroy() calls (Robert Nagy) #38221
- [4ad46e2fef] - stream: refactor to avoid unsafe array iteration (Antoine du Hamel) #37126
- [419686cdfb] - stream: refactor to use more primordials (Antoine du Hamel) #36346
- [c704faa0f9] - test: fix flaky test-dns and test-dns-lookup (Rich Trott) #38282
- [5e588c1c7c] - test: fixup failing test/internet/test-dns.js (James M Snell) #38241
- [18c9913ce1] - test: add tests for missing https agent options (Rich Trott) #38202
- [4ad8e83a3d] - test: fix test-https-agent-additional-options.js (Rich Trott) #38202
- [05df701e70] - test: remove common.disableCrashOnUnhandledRejection (Michaël Zasso) #38210
- [8f4850d5c7] - test: fix typo in comment in binding.c (Tobias Nießen) #38220
- [9498e97015] - test: fix typo in gtest-all.cc (Ikko Ashimine) #38224
- [c8bbd83ab2] - test: add undefined fatalException exit code test (Nitzan Uziely) #38119
- [db9cf52dcf] - test: check the different error code on IBM i (Xu Meng) #38159
- [95ca351fd8] - test: skip fs.watch() test on IBMi (Rich Trott) #38192
- [8cee28465c] - test: fix test-dh-regr for OpenSSL 3 (Rich Trott) #34289
- [213ae4f4c6] - test: skip test-vm-memleak in ASAN (Rich Trott) #34289
- [50208915a0] - test: skip test-hash-seed on armv6 and armv7 (Rich Trott) #34289
- [7216eb67df] - test: update OpenSSL 3.x expected error message (Daniel Bevenius) #38164
- [7e516aaac0] - test: remove unneeded m flag on regular expressions (Rich Trott) #38124
- [269f5132cc] - test: skip different params test for OpenSSL 3.x (Daniel Bevenius) #38165
- [f96dffb7ae] - test: fix flaky test-zlib-unused-weak.js (Ouyang Yadong) #38149
- [e96773b94b] - test: add regression test for serdes readDouble() (Colin Ihrig) #38121
- [cc4ee6cba8] - test: deflake test-http-many-ended-pipelines (Luigi Pinca) #38018
- [098a4d6551] - test: skip test-crypto-dh-keys on armv6 and armv7 (Rich Trott) #38076
- [f9b63b8530] - test: update parallel/test-crypto-keygen for OpenSSL 3 (Richard Lau) #38136
- [6a6cdfad03] - test: fix skip message for test-macos-app-sandbox (Tobias Nießen) #38114
- [e155b1f2f7] - test: correct test comment (Evan Lucas) #38095
- [d61977f03e] - test: remove dead code (Luigi Pinca) #38016
- [8b05e32519] - test: fix flaky test-net-timeout (Rich Trott) #38060
- [a0492ba391] - test: fix test-vm-memleak for high baseline platforms (Rich Trott) #38062
- [30d7f05fef] - test: improve code coverage in webcrypto API (Juan José Arboleda) #38052
- [d75543d8b5] - test: fix flaky timeout-delayed-body and headers tests (Nitzan Uziely) #38045
- [4f387c25cb] - test: fix flaky test-vm-memleak (Rich Trott) #38054
- [330f25ef82] - test: prepare for consistent comma-dangle lint rule (Rich Trott) #37930
- [31fe3b215f] - test: make sure http pipelining does not emit a warning (Matteo Collina) #37964
- [978bbf987c] - test: fix flaky test-http2-pack-end-stream-flag (James M Snell) #37814
- [ecc584251e] - test: fixup flaky test-performance-function-async test (James M Snell) #37493
- [32482a828b] - test: remove FLAKY for test-domain-error-types (Rich Trott) #37458
- [501ae0e6e3] - test: remove outdated V8 flag (Michaël Zasso) #37151
- [fa3997d75a] - test: mark test-return-on-exit as flaky (Michaël Zasso) #36139
- [896ae96a15] - test: mark WASI's test-return-on-exit as flaky (Colin Ihrig) #36139
- [0da7a11e54] - test,http: check that http server is robust from handler abuse (Rich Trott) #37958
- [a0261d231c] - Revert "timers: refactor to use optional chaining" (Matteo Collina) #38245
- [3da003cc1c] - tls: fix session and keylog add listener segfault (Nitzan Uziely) #38180
- [eb20447407] - tls: extract out SecureContext configuration (James M Snell) #38116
- [b16e79e05b] - tls: fix typo (Arkerone) #38129
- [d4f33f109e] - tools: skip macOS GitHub Actions test on doc-only changes (Rich Trott) #38296
- [13d0de5954] - tools: set arch in Distribution.xml (Ash Cripps) #38261
- [28bca33f28] - tools: update ESLint to 7.24.0 (Colin Ihrig) #38179
- [038608d401] - tools: relax max-len lint rule for template strings (Rich Trott) #38097
- [e67fb569f4] - tools: apply consistent comma-dangle lint rule (Rich Trott) #37930
- [9843361c07] - tools: update V8 gypfiles for 9.0 (Michaël Zasso) #37587
- [017661768a] - tools: update V8 gypfiles for 8.9 (Michaël Zasso) #37330
- [79da253473] - tools: update V8 gypfiles for 8.8 (Michaël Zasso) #36139
- [770d9e2542] - tools: update V8 gypfiles for 8.7 (Michaël Zasso) #35700
- [b87f1be92d] - typings: add types for "http_parser" and "options" bindings (Michaël Zasso) #38239
- [1c8b2956d1] - typings: add types for internalBinding('serdes') (Michaël Zasso) #38204
- [d97787fccc] - typings: add JSDoc to os module functions (David Brownman) #38197
- [8acfe5c2a4] - typings: add JSDoc Types to lib/querystring (Simon Knott) #38185
- [d3162da8dd] - typings: add JSDoc typings for http (Voltrex) #38191
- [82d59882b1] - typings: add JSDoc typings for assert (Voltrex) #38188
- [f1a21e5c91] - typings: add JSDoc types to lib/path (Simon Knott) #38186
- [3377eb9641] - typings: add types for internalBinding('util') (Michaël Zasso) #38200
- [cb2bdc632a] - typings: add types for internalBinding('fs') (Michaël Zasso) #38198
- [26eed3e0ed] - vm: add import assertion support (Gus Caplan) #37176
- [6986fa07eb] - worker: fix exit code for error thrown in handler (Nitzan Uziely) #38012
New in Node.js 14.16.1 LTS (Apr 21, 2021)
- Vulnerabilities fixed:
- CVE-2021-3450: OpenSSL - CA certificate check bypass with X509_V_FLAG_X509_STRICT (High)
- This is a vulnerability in OpenSSL which may be exploited through Node.js. You can read more about it in https://www.openssl.org/news/secadv/20210325.txt
- Impacts:
- All versions of the 15.x, 14.x, 12.x and 10.x releases lines
- CVE-2021-3449: OpenSSL - NULL pointer deref in signature_algorithms processing (High)
- This is a vulnerability in OpenSSL which may be exploited through Node.js. You can read more about it in https://www.openssl.org/news/secadv/20210325.txt
- Impacts:
- All versions of the 15.x, 14.x, 12.x and 10.x releases lines
- CVE-2020-7774: npm upgrade - Update y18n to fix Prototype-Pollution (High)
- This is a vulnerability in the y18n npm module which may be exploited by prototype pollution. You can read more about it in https://github.com/advisories/GHSA-c4w7-xm78-47vh
- Impacts:
- All versions of the 14.x, 12.x and 10.x releases lines
New in Node.js 15.14.0 Current (Apr 8, 2021)
- Vulerabilties fixed:
- OpenSSL - CA certificate check bypass with X509_V_FLAG_X509_STRICT (High)
- This is a vulnerability in OpenSSL which may be exploited through Node.js. You can read more about it in
- OpenSSL - NULL pointer deref in signature_algorithms processing (High)
- This is a vulnerability in OpenSSL which may be exploited through Node.js.
- npm upgrade - Update y18n to fix Prototype-Pollution (High)
- This is a vulnerability in the y18n npm module which may be exploited by prototype pollution.
New in Node.js 15.13.0 Current (Apr 1, 2021)
- Notable Changes:
- buffer:
- implement btoa and atob (James M Snell) #37529
- deps:
- upgrade npm to 7.7.6 (Ruy Adorno) #37968
- This update adds workspaces support to npm run and npm exec
- doc:
- add legacy status to stability index (James M Snell) #37784
- add @linkgoron to collaborators (Nitzan Uziely) #37817
- http:
- add http.ClientRequest.getRawHeaderNames() (simov) #37660
- Commits:
- [dc9cd43d8f] - (SEMVER-MINOR) buffer: implement btoa and atob (James M Snell) #37529
- [377830fd28] - child_process: remove unused argument (Rich Trott) #37923
- [cdfc1c8692] - child_process: cleanup AbortSignal duplication (Nitzan Uziely) #37823
- [95aa032413] - (SEMVER-MINOR) child_process: add timeout to spawn and fork (Nitzan Uziely) #37256
- [50fc6b9df0] - crypto: clear errors in SignTraits::DeriveBits (Filip Skokan) #37820
- [79259389a1] - crypto: fix DiffieHellman argument validation (Antoine du Hamel) #37810
- [11d45855cd] - crypto: fix header name (Jiawen Geng) #37792
- [c37806d0ba] - crypto: use macro map for NodeCryptoError (Darshan Sen) #37758
- [bfe3f21ee0] - crypto: fix crypto.verify callback invocation with a private keyobject (Filip Skokan) #37795
- [f09c033faf] - deps: backport v8 f19142e6 (Guy Bedford) #37864
- [2fd97ce687] - deps: v8 backport 9689b17687b (Guy Bedford) #37865
- [f2cef54b6f] - deps: upgrade npm to 7.7.6 (Ruy Adorno) #37968
- [ec82feb728] - deps: upgrade npm to 7.7.5 (Ruy Adorno) #37919
- [649e04c4a5] - deps: upgrade npm to 7.7.4 (Ruy Adorno) #37897
- [d5b472b70d] - deps: upgrade npm to 7.7.0 (Ruy Adorno) #37879
- [9e6aa190e3] - deps: add ngtcp2 and nghttp3 (James M Snell) #37682
- [659fc5d684] - doc: fix typos in lib/internal/bootstrap/pre_execution.js (marsonya) #37658
- [ac60d018e2] - doc: add more commands for cherry-picking and changelog to release docs (Danielle Adams) #37785
- [0fe3c7edd3] - doc: spell out ICU acronym on first occurrence (Rich Trott) #37942
- [364c8ac40d] - doc: update GOVERNANCE.md for TSC Charter changes (Rich Trott) #37888
- [e84252b35d] - doc: reduce header nesting in async_hooks.md (Rich Trott) #37839
- [a6f21e2cfc] - doc: fix wording in outgoingMessage.write (Tobias Nießen) #37894
- [30bc2e43e4] - doc: add examples for WHATWG URL objects (James M Snell) #37822
- [c0a424f3e9] - doc: clarify when child process 'spawn' event is *not* emitted (Matthew Francis Brunetti) #37833
- [9defe10371] - doc: fix legacy stability indicator display (Rich Trott) #37838
- [f97a5dd22f] - doc: use sentence-style capitlaztion in template header (Rich Trott) #37837
- [71fde07274] - doc: add Ayase-252 to triagers (Qingyu Deng) #37781
- [8f18133de0] - doc: use sentence case in issues.md headers (marsonya) #37537
- [3376051a0e] - doc: fix JS flavor selection (Antoine du Hamel) #37791
- [b09d032683] - doc: move Derek Lewis back to collaborators (Derek Lewis) #37726
- [6da0a0e85a] - doc: apply style for legacy status (James M Snell) #37784
- [185d4cd4aa] - doc: revoke deprecation of legacy url, change status to legacy (James M Snell) #37784
- [9d160daa89] - doc: add legacy status to stability index (James M Snell) #37784
- [4700042a9b] - doc: add @linkgoron to collaborators (Nitzan Uziely) #37817
- [c4183bbea4] - doc: fix AbortError example for timers (dbachko) #37738
- [50f3ad1946] - doc: fix typo in stream docs (Ian Kerins) #37716
- [2e82a97520] - doc: add gyp maintain info (Jiawen Geng) #37765
- [3925458df7] - doc,tools: use only one level 1 header per page (Rich Trott) #37839
- [e9c161ce12] - http: fix double AbortSignal registration (Nitzan Uziely) #37730
- [a5205819d8] - (SEMVER-MINOR) http: add http.ClientRequest.getRawHeaderNames() (simov) #37660
- [1c043272ea] - http2: treat non-EOF empty frames like other invalid frames (Anna Henningsen) #37875
- [a5bf7de6eb] - http2: fix setting options before handle exists (Anna Henningsen) #37875
- [af7489cb6c] - lib: add brand checks to AbortController and AbortSignal (Mattias Buelens) #37720
- [6e2b60931c] - lib: fix typo in internal/modules/esm/module_job.js (marsonya) #37773
- [3a440ecdf8] - lib: fix typo in lib/internal/crypto/certificate.js (marsonya) #37741
- [3ab223dd32] - node-api: fix crash in finalization (Michael Dawson) #37876
- [d1a3e0efb6] - node-api: stop ref gc during environment teardown (Gabriel Schulhof) #37616
- [e60bd1a7dc] - (SEMVER-MINOR) perf_hooks: make Performance extend EventTarget (Michaël Zasso) #37621
- [b6ad8e4cc1] - src: indent long help text properly (David Glasser) #37911
- [13ecff63d6] - src: document newer values for --unhandled-rejections flag (David Glasser) #37899
- [bd87e195ed] - src: fix typo in src code guide (Tobias Nießen) #37956
- [2da532cef8] - src: report idle time correctly (Stephen Belanger) #37868
- [836cb67945] - src: add .note.GNU-stack section (James Addison) #37688
- [9557dda2eb] - (SEMVER-MINOR) stream: pipeline accept Buffer as a valid first argument (Nitzan Uziely) #37739
- [43c3b43ea3] - stream: make Readable.from performance better (wwwzbwcom) #37609
- [b0226b39f2] - test: split promisified timers test for coverage purposes (Rich Trott) #37943
- [e256c4d11d] - test: fix typeof comparison (Rich Trott) #37924
- [76ebc4bbd9] - test: increase wiggle room for memory in test-worker-resource-limits (Rich Trott) #37901
- [5cdeb76708] - test: add OpenSSL 3.0 checks to tls-passphrase (Daniel Bevenius) #37860
- [33c35a38dc] - test: add OpenSSL 3.0 checks to test-crypto-keygen (Daniel Bevenius) #37860
- [86bf341a35] - test: fix deprecation warning in test-doctool-html (Antoine du Hamel) #37858
- [aa529b73b7] - test: fix ibmi skip message (Tobias Nießen) #37821
- [d9ab1d56ce] - test: fix flaky test-vm-timeout-escape-promise-module-2 (Rich Trott) #37842
- [5d4c610727] - test: remove duplicated test for eventtarget (himself65) #37853
- [44490af948] - test: relax Y2K38 check in test-fs-utimes-y2K38 (Richard Lau) #37825
- [9bc6fe7eb3] - test: remove references to unsupported AIX versions (Richard Lau) #37826
- [f07428ae51] - test: remove skip for fixed test-benchmark-fs (Rich Trott) #37803
- [9f61cbd1fd] - test: account for OOM risks in heapsnapshot-near-heap-limit tests (Joyee Cheung) #37761
- [e85f311cf2] - test: refactor code to use AbortSignal.abort() (Wassim Chegham) #37798
- [6ed9e0bd81] - test: improve test-arm-math-illegal-instruction (marsonya) #37670
- [505f9c95d1] - (SEMVER-MINOR) test: app atob web platform tests (James M Snell) #37529
- [a8edf1aafe] - test: add known_issues test for #13683 (Rich Trott) #37744
- [4487483d9d] - test: fix test-fs-utimes on non-Y2K38 file systems (Rich Trott) #37707
- [d44b268910] - timers: fix arbitrary object clearImmediate errors (Nitzan Uziely) #37824
- [b7e7384109] - tools: improve valid-typeof lint rule (Rich Trott) #37924
- [ca93e52783] - tools: simplify eslint comma-dangle configuration (tools) (Rich Trott) #37883
- [b5879efef1] - tools: improve macos-firewall.sh output (Rich Trott) #37846
- [dbc4804468] - tools: simplify eslint comma-dangle configuration (Rich Trott) #37850
- [0f2e142946] - tools: make genv8constants.py Python3-compatible (Michaël Zasso) #37835
- [b6be472456] - tools: update gitignore for CMake (Jiawen Geng) #37793
- [2227aa61ea] - tools: partially detect quic support in shared_openssl (James M Snell) #37682
- [01dcf4d1d8] - tools: update ESLint to 7.22.0 (Colin Ihrig) #37734
- [3452618905] - tty: validate file descriptor to avoid int32 overflow (Antoine du Hamel) #37809
- [d33f446abd] - util: remove unreachable inspect code (Rich Trott) #37941
New in Node.js 15.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.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.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 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.2.1 Current (Nov 17, 2020)
- Notable changes:
- This is a security release.
- Vulnerabilities fixed:
- CVE-2020-8277: Denial of Service through DNS request (High). A Node.js application that allows an attacker to trigger a DNS request for a host of their choice could trigger a Denial of service by getting the application to resolve a DNS record with a larger number of responses.
- Commits:
- [2a44836eeb] - deps: cherry-pick 0d252eb from upstream c-ares (Michael Dawson) nodejs-private/node-private#231
- [b1f5518a0a] - doc: fix events.getEventListeners example (Dmitry Semigradsky) #36085
- [b477447a55] - doc: fix added: info for stream._construct() (Luigi Pinca) #36067
- [df211208c0] - test: add missing test coverage for setLocalAddress() (Rich Trott) #36039
- [f5191f5bd2] - test: remove flaky designation for fixed test (Rich Trott) #35961
- [a2f652f7c5] - test: move test-worker-eventlooputil to sequential (Rich Trott) #35996
- [b0b43b27d6] - test: fix unreliable test-fs-write-file.js (Rich Trott) #36102
New in Node.js 14.15.1 LTS (Nov 17, 2020)
- Notable changes:
- This is a security release.
- Vulnerabilities fixed:
- CVE-2020-8277: Denial of Service through DNS request (High). A Node.js application that allows an attacker to trigger a DNS request for a host of their choice could trigger a Denial of Service by getting the application to resolve a DNS record with a larger number of responses.
- Commits:
- [1fd2c8142b] - deps: cherry-pick 0d252eb from upstream c-ares (Michael Dawson) nodejs-private/node-private#231
New in Node.js 15.2.0 Current (Nov 11, 2020)
- Notable changes:
- events:
- getEventListeners static (Benjamin Gruenbaum) #35991
- fs:
- support abortsignal in writeFile (Benjamin Gruenbaum) #35993
- add support for AbortSignal in readFile (Benjamin Gruenbaum) #35911
- stream:
- fix thrown object reference (Gil Pedersen) #36065
- Commits:
- [9d9a044c1b] - benchmark: ignore build artifacts for napi addons (Richard Lau) #35970
- [4c6de854be] - benchmark: remove modules that require intl (Richard Lau) #35968
- [292915a6a8] - bootstrap: refactor to use more primordials (Antoine du Hamel) #35999
- [10c9ea771d] - build: fix zlib inlining for IA-32 (raisinten) #35679
- [6ac9c8f31b] - build, tools: look for local installation of NASM (Richard Lau) #36014
- [9757b47c44] - console: use more primordials (Antoine du Hamel) #35734
- [0d7422651b] - crypto: refactor to use more primordials (Antoine du Hamel) #36012
- [dc4936ba50] - crypto: fix comment in ByteSource (Tobias Nießen) #35972
- [7cb5c0911e] - deps: cherry-pick 9a49b22 from V8 upstream (Daniel Bevenius) #35939
- [4b03670877] - dns: fix trace_events name for resolveCaa() (Rich Trott) #35979
- [dcb27600da] - doc: escape asterisk in cctest gtest-filter (raisinten) #36034
- [923276ca53] - doc: move v8.getHeapCodeStatistics() (Rich Trott) #36027
- [71fa9c6b24] - doc: add note regarding file structure in src/README.md (Denys Otrishko) #35000
- [99cb36238d] - doc: advise users to import the full set of trusted release keys (Reşat SABIQ) #32655
- [06cc400160] - doc: fix crypto doc linter errors (Antoine du Hamel) #36035
- [01129a7b39] - doc: revise v8.getHeapSnapshot() (Rich Trott) #35849
- [77d33c9b2f] - doc: update core-validate-commit link in guide (Daijiro Wachi) #35938
- [6d56ba03e2] - doc: update benchmark CI test indicator in README (Rich Trott) #35945
- [8bd364a9b3] - doc: add new wordings to the API description (Pooja D.P) #35588
- [acd3617e1a] - doc: option --prof documentation help added (krank2me) #34991
- [6968b0fd49] - doc: fix release-schedule link in backport guide (Daijiro Wachi) #35920
- [efbfeff62b] - doc: fix incorrect heading level (Bryan Field) #35965
- [9c4b360d08] - doc,crypto: added sign/verify method changes about dsaEncoding (Filip Skokan) #35480
- [85cf30541d] - doc,fs: document value of stats.isDirectory on symbolic links (coderaiser) #27413
- [d6bd78ff82] - doc,net: document socket.timeout (Brandon Kobel) #34543
- [36c20d939a] - doc,stream: write(chunk, encoding, cb) encoding can be null (dev-script) #35372
- [9d26c4d496] - domain: refactor to use more primordials (Antoine du Hamel) #35885
- [d83e253065] - errors: refactor to use more primordials (Antoine du Hamel) #35944
- [567f8d8caf] - (SEMVER-MINOR) events: getEventListeners static (Benjamin Gruenbaum) #35991
- [9e673723e3] - events: fire handlers in correct oder (Benjamin Gruenbaum) #35931
- [ff59fcdf7b] - events: define abort on prototype (Benjamin Gruenbaum) #35931
- [ab0eb4f2c9] - events: support event handlers on prototypes (Benjamin Gruenbaum) #35931
- [33e2ee58a7] - events: define event handler as enumerable (Benjamin Gruenbaum) #35931
- [a7d0c76f86] - events: support emit on nodeeventtarget (Benjamin Gruenbaum) #35851
- [76332a0439] - events: port some wpt tests (Benjamin Gruenbaum) #33621
- [ccf9f0e62e] - (SEMVER-MINOR) fs: support abortsignal in writeFile (Benjamin Gruenbaum) #35993
- [7ef9c707e9] - fs: replace finally with PromisePrototypeFinally (Baruch Odem (Rothkoff)) #35995
- [ccbe267515] - fs: remove unnecessary Function#bind() in fs/promises (Ben Noordhuis) #35208
- [6011bfdec5] - fs: remove unused assignment (Rich Trott) #35882
- [92bdfd141b] - (SEMVER-MINOR) fs: add support for AbortSignal in readFile (Benjamin Gruenbaum) #35911
- [11f592450b] - http2: add has method to proxySocketHandler (masx200) #35197
- [28ed7d062e] - http2: centralise socket event binding in Http2Session (Momtchil Momtchev) #35772
- [429113ebfb] - http2: move events to the JSStreamSocket (Momtchil Momtchev) #35772
- [1dd744a420] - http2: fix error stream write followed by destroy (David Halls) #35951
- [af2a560c42] - lib: add %TypedArray% abstract constructor to primordials (ExE Boss) #36016
- [b700900d02] - lib: refactor to use more primordials (Antoine du Hamel) #35875
- [7a375902ff] - module: refactor to use more primordials (Antoine du Hamel) #36024
- [8d76db86b5] - module: refactor to use iterable-weak-map (Benjamin Coe) #35915
- [9b6512f7de] - n-api: unlink reference during its destructor (Gabriel Schulhof) #35933
- [1b277d97f3] - src: remove ERR prefix in crypto status enums (Daniel Bevenius) #35867
- [9774b4cc72] - stream: fix thrown object reference (Gil Pedersen) #36065
- [359a6590b0] - stream: writableNeedDrain (Robert Nagy) #35348
- [b7aa5e2296] - stream: remove isPromise utility function (Antoine du Hamel) #35925
- [fdae9ad188] - test: fix races in test-performance-eventlooputil (Gerhard Stoebich) #36028
- [0a4c96a7df] - test: use global.EventTarget instead of internals (Antoine du Hamel) #36002
- [f73b8d84db] - test: improve error message for policy failures (Bradley Meck) #35633
- [cb6f0d3d89] - test: update old comment style test_util.cc (raisinten) #35884
- [23f0d0c45c] - test: fix error in test/internet/test-dns.js (Rich Trott) #35969
- [77e4f19701] - timers: cleanup abort listener on awaitable timers (James M Snell) #36006
- [a7350b3a8f] - tools: don't print gold linker warning w/o flag (Myles Borins) #35955
- [1f27214480] - tools: add new ESLint rule: prefer-primordials (Leko) #35448
- [da3c2ab828] - tools,doc: enable ecmaVersion 2021 in acorn parser (Antoine du Hamel) #35994
- [f8098c3e43] - tools,lib: recommend using safe primordials (Antoine du Hamel) #36026
- [eea7e3b0d0] - tools,lib: tighten prefer-primordials rules for Error statics (Antoine du Hamel) #36017
- [7a2edea7ed] - win, build: fix build time on Windows (Bartosz Sosnowski) #35932
New in Node.js 15.1.0 Current (Nov 5, 2020)
- Notable Changes:
- Diagnostics channel (experimental module):
- diagnostics_channel is a new experimental module that provides an API to create named channels to report arbitrary message data for diagnostics purposes.
- With diagnostics_channel, Node.js core and module authors can publish contextual data about what they are doing at a given time. This could be the hostname and query string of a mysql query, for example. Just create a named channel with dc.channel(name) and call channel.publish(data) to send the data to any listeners to that channel.
- Channels are like one big global event emitter but are split into separate objects to ensure they get the best performance. If nothing is listening to the channel, the publishing overhead should be as close to zero as possible. Consuming channel data is as easy as using channel.subscribe(listener) to run a function whenever a message is published to that channel.
- The data captured can be used to provide context for what an app is doing at a given time. This can be used for things like augmenting tracing data, tracking network and filesystem activity, logging queries, and many other things. It's also a very useful data source for diagnostics tools to provide a clearer picture of exactly what the application is doing at a given point in the data they are presenting.
- Contributed by Stephen Belanger #34895.
- New child process 'spawn' event:
- Instances of ChildProcess now emit a new 'spawn' event once the child process has spawned successfully.
- If emitted, the 'spawn' event comes before all other events and before any data is received via stdout or stderr.
- The 'spawn' event will fire regardless of whether an error occurs within the spawned process. For example, if bash some-command spawns successfully, the 'spawn' event will fire, though bash may fail to spawn some-command. This caveat also applies when using { shell: true }.
- Contributed by Matthew Francis Brunetti #35369.
- Set the local address for DNS resolution:
- It is now possible to set the local IP address used by a Resolver instance to send its requests. This allows programs to specify outbound interfaces when used on multi-homed systems.
- The resolver will use the v4 local address when making requests to IPv4 DNS servers, and the v6 local address when making requests to IPv6 DNS servers.
- Contributed by Josh Dague #34824.
- Control V8 coverage at runtime:
- The v8 module includes two new methods to control the V8 coverage started by the NODE_V8_COVERAGE environment variable.
- With v8.takeCoverage(), it is possible to write a coverage report to disk on demand. This can be done multiple times during the lifetime of the process, and the execution counter will be reset on each call. When the process is about to exit, one last coverage will still be written to disk, unless v8.stopCoverage() was invoked before.
- The v8.stopCoverage() method allows to stop the coverage collection, so that V8 can release the execution counters and optimize code.
- Contributed by Joyee Cheung #33807.
- Analyze Worker's event loop utilization:
- Worker instances now have a performance property, with a single eventLoopUtilization method that can be used to gather information about the worker's event loop utilization between the 'online' and 'exit' events.
- The method works the same way as perf_hooks eventLoopUtilization().
- Contributed by Trevor Norris #35664.
- Take a V8 heap snapshot just before running out of memory (experimental):
- With the new --heapsnapshot-near-heap-limit=max_count experimental command line flag, it is now possible to automatically generate a heap snapshot when the V8 heap usage is approaching the heap limit. count should be a non-negative integer (in which case Node.js will write no more than max_count snapshots to disk).
- When generating snapshots, garbage collection may be triggered and bring the heap usage down, therefore multiple snapshots may be written to disk before the Node.js instance finally runs out of memory. These heap snapshots can be compared to determine what objects are being allocated during the time consecutive snapshots are taken.
- Generating V8 snapshots takes time and memory (both memory managed by the V8 heap and native memory outside the V8 heap). The bigger the heap is, the more resources it needs. Node.js will adjust the V8 heap to accommondate the additional V8 heap memory overhead, and try its best to avoid using up all the memory avialable to the process.
- Contributed by Joyee Cheung #33010.
- Commits:
- Semver-minor commits:
- [8169902b40] - (SEMVER-MINOR) child_process: add ChildProcess 'spawn' event (Matthew Francis Brunetti) #35369
- [548f91af2c] - (SEMVER-MINOR) dns: add setLocalAddress to Resolver (Josh Dague) #34824
- [f861733bac] - (SEMVER-MINOR) http: report request start and end with diagnostics_channel (Stephen Belanger) #34895
- [883ed4b7f1] - (SEMVER-MINOR) http2: add updateSettings to both http2 servers (Vincent Boivin) #35383
- [b38a43d5d9] - (SEMVER-MINOR) lib: create diagnostics_channel module (Stephen Belanger) #34895
- [a7f37bc725] - (SEMVER-MINOR) src: add --heapsnapshot-near-heap-limit option (Joyee Cheung) #33010
- [7bfa872013] - (SEMVER-MINOR) v8: implement v8.stopCoverage() (Joyee Cheung) #33807
- [15ffed5319] - (SEMVER-MINOR) v8: implement v8.takeCoverage() (Joyee Cheung) #33807
- [221e28311f] - (SEMVER-MINOR) worker: add eventLoopUtilization() (Trevor Norris) #35664
- Semver-patch commits:
- [d95013f399] - assert,repl: enable ecmaVersion 2021 in acorn parser (Michaël Zasso) #35827
- [b11c7378e3] - build: fix lint-js-fix target (Antoine du Hamel) #35927
- [a5fa849631] - build: add vcbuilt test-doc target (Antoine du Hamel) #35708
- [34281cdaba] - build: turn off Codecov comments (bcoe) #35800
- [a9c09246bb] - build: add license-builder GitHub Action (Tierney Cyren) #35712
- [4447ff1162] - build,tools: gitHub Actions: use Node.js Fermium (Antoine du Hamel) #35840
- [273e147017] - build,tools: add lint-js-doc target (Antoine du Hamel) #35708
- [0ebf44b466] - crypto: pass empty passphrases to OpenSSL properly (Tobias Nießen) #35914
- [644c416389] - crypto: rename check to createJob (Daniel Bevenius) #35858
- [79a8fb62e6] - crypto: fixup scrypt regressions (James M Snell) #35821
- [abd7c9447c] - crypto: fix webcrypto ECDH JWK import (Filip Skokan) #35855
- [d3f1cde908] - deps: upgrade npm to 7.0.8 (Myles Borins) #35953
- [55adee0947] - deps: upgrade npm to 7.0.7 (Luigi Pinca) #35908
- [5cb77f2e79] - deps: upgrade to [email protected] (Guy Bedford) #35928
- [1303a1fca8] - deps: update to [email protected] (Guy Bedford) #35901
- [20accb08fa] - deps: upgrade to [email protected] (Guy Bedford) #35871
- [52a77db759] - deps: update acorn to v8.0.4 (Michaël Zasso) #35791
- [e0a1541260] - deps: update to [email protected] (Guy Bedford) #35745
- [894419c1f4] - deps: V8: backport 4263f8a5e8e0 (Brian 'bdougie' Douglas) #35650
- [564aadedac] - doc,src,test: revise C++ code for linter update (Rich Trott) #35719
- [7c8b5e5e0e] - errors: do not call resolve on URLs with schemes (bcoe) #35903
- [1cdfaa80f8] - events: add a few tests (Benjamin Gruenbaum) #35806
- [f08e2c0213] - events: make abort_controller event trusted (Benjamin Gruenbaum) #35811
- [438d9debfd] - events: make eventTarget.removeAllListeners() return this (Luigi Pinca) #35805
- [b6b7a3b86a] - http: lazy create IncomingMessage.headers (Robert Nagy) #35281
- [86ed87b6b7] - http2: fix reinjection check (Momtchil Momtchev) #35678
- [5833007eb0] - http2: reinject data received before http2 is attached (Momtchil Momtchev) #35678
- [cfe61b8714] - http2: remove unsupported %.* specifier (Momtchil Momtchev) #35694
- [d2f574b5be] - lib: let abort_controller target be EventTarget (Daijiro Wachi) #35869
- [b1e531a70b] - lib: use primordials when calling methods of Error (Antoine du Hamel) #35837
- [0f5a8c55c2] - module: runtime deprecate subpath folder mappings (Guy Bedford) #35747
- [d16e2fa69a] - n-api: napi_make_callback emit async init with resource of async_context (legendecas) #32930
- [0c17dbd201] - n-api: revert change to finalization (Michael Dawson) #35777
- [fb7196434e] - src: remove redundant OpenSSLBuffer (James M Snell) #35663
- [c9225789d3] - src: remove ERR prefix in WebCryptoKeyExportStatus (Daniel Bevenius) #35639
- [4128eefcb3] - src: remove ignore GCC -Wcast-function-type for v8 (Daniel Bevenius) #35768
- [4b8b5fee6a] - src: use MaybeLocal.ToLocal instead of IsEmpty (Daniel Bevenius) #35716
- [01d7c46776] - Revert "src: ignore GCC -Wcast-function-type for v8.h" (Daniel Bevenius) #35758
- [2868f52a5c] - stream: fix regression on duplex end (Momtchil Momtchev) #35941
- [70c41a830d] - stream: remove redundant context from comments (Yash Ladha) #35728
- [88eb6191e4] - stream: fix duplicate logic in stream destroy (Yash Ladha) #35727
- [a41e3ebc3a] - timers: correct explanation in comment (Turner Jabbour) #35437
- [ee15142fef] - tls: allow reading data into a static buffer (Andrey Pechkurov) #35753
- [102d7dfe02] - zlib: test BrotliCompress throws invalid arg value (raisinten) #35830
- Documentation commits:
- [7937fbe3bc] - doc: update tables in README files for linting changes (Rich Trott) #35905
- [c5b94220c5] - doc: temporarily disable list-item-bullet-indent (Nick Schonning) #35647
- [59b36af8d5] - doc: disable no-undefined-references workarounds (Nick Schonning) #35647
- [eb55462a75] - doc: adjust table alignment for remark v13 (Nick Schonning) #35647
- [0ac4a6ab16] - doc: update crypto.createSecretKey history (Ben Turner) #35874
- [4899998855] - doc: move bnoordhuis to emeritus (Ben Noordhuis) #35865
- [337bfcf614] - doc: add on statement in the APIs docs (Pooja D.P) #35610
- [9703219fdb] - doc: fix a typo in CHANGELOG_V15 (Takuya Noguchi) #35804
- [c14889bcc1] - doc: move ronkorving to emeritus (Rich Trott) #35828
- [8c2b17926c] - doc: recommend test-doc instead of lint-md (Antoine du Hamel) #35708
- [0580258449] - doc: fix reference to googletest test fixture (Tobias Nießen) #35813
- [d291e3abd9] - doc: stabilize packages features (Myles Borins) #35742
- [5e8d821b4c] - doc: add conditional example for setBreakpoint() (Chris Opperwall) #35823
- [8074f69f82] - doc: make small improvements to REPL doc (Rich Trott) #35808
- [4e76a3c106] - doc: update MessagePort documentation for EventTarget inheritance (Anna Henningsen) #35839
- [3db4354cc8] - doc: use case-sensitive in the example (Pooja D.P) #35624
- [b07f4a3f7a] - doc: consolidate and clarify breakOnSigInt text (Rich Trott) #35787
- [c2e6a4b081] - doc: fix _construct example params order (Alejandro Oviedo) #35790
- [6513a589fe] - doc: add a subsystems header in pull-requests.md (Pooja D.P) #35718
- [c365867c60] - doc: fix typo in BUILDING.md (raisinten) #35807
- [6211ffd2f7] - doc: add require statement in the example (Pooja D.P) #35554
- [7b3743d8dd] - doc: modified memory set statement set size (Pooja D.P) #35517
- [afbe23d800] - doc: use kbd element in readline doc prose (Rich Trott) #35737
- [c0a4fac040] - doc: fix a typo in CHANGELOG_V12 (Shubham Parihar) #35786
- [0e9acf83f7] - doc: fix header level in fs.md (ax1) #35771
- [f49afb5e10] - doc: remove stability warning in v8 module doc (Rich Trott) #35774
- [368ae952b2] - doc: mark optional parameters in timers.md (Vse Mozhe Buty) #35764
- [f6aa7c82c5] - doc: add a example code to API doc property (Pooja D.P) #35738
- [55b7a6cea3] - doc: document changes for */promises alias modules (ExE Boss) #34002
- [4b7708a316] - doc: update console.error example (Lee, Bonggi) #34964
- [292b529dfa] - doc: add missing link in Node.js 14 Changelog (Antoine du Hamel) #35782
- [890b03ecd6] - doc: improve text for breakOnSigint (Rich Trott) #35692
- [1892532ee8] - doc: this prints replaced with this is printed (Pooja D.P) #35515
- [6590f8cb4a] - doc: update package.json field definitions (Myles Borins) #35741
- [f269c6cbe2] - doc: add Installing Node.js header in BUILDING.md (Pooja D.P) #35710
- [05a888a8c3] - doc,esm: document experimental warning removal (Antoine du Hamel) #35750
- [092c6c4f8f] - doc,test: update v8 method doc and comment (Rich Trott) #35795
- Other commits:
- [76ebae4c05] - benchmark: make the benchmark tool work with Node 10 (Joyee Cheung) #35817
- [9b549c1691] - benchmark: add startup benchmark for loading public modules (Joyee Cheung) #35816
- [5d61e3db4b] - test: add missing ref comments to parallel.status (Rich Trott) #35896
- [231af88001] - test: correct test-worker-eventlooputil (Gerhard Stoebich) #35891
- [da612dfc20] - test: integrate abort_controller tests from wpt (Daijiro Wachi) #35869
- [66ad4be2c1] - test: add test to fs/promises setImmediate (tyankatsu) #35852
- [830b789299] - test: mark test-worker-eventlooputil flaky (Myles Borins) #35886
- [7691b673dc] - test: mark test-http2-respond-file-error-pipe-offset flaky (Myles Borins) #35883
- [de3dcd7356] - test: fix reference to WPT testharness.js (Tobias Nießen) #35814
- [8958af4aa0] - test: add onerror test cases to policy (Daijiro Wachi) #35797
- [dd3cbb455a] - test: add upstream test cases to encoding (Daijiro Wachi) #35794
- [76991c039f] - test: add upstream test cases to urlsearchparam (Daijiro Wachi) #35792
- [110ef8aa50] - test: refactor coverage logic (bcoe) #35767
- [0c5e8ed651] - test: add additional deprecation warning tests for rmdir recursive (Ian Sutherland) #35683
- [11eca36e83] - test: add windows and C++ coverage (Benjamin Coe) #35670
- [fd027cd61a] - tools: bump remark-lint-preset-node to 2.0.0 (Rich Trott) #35905
- [c09fdba786] - tools: refloat 7 Node.js patches to cpplint.py (Rich Trott) #35866
- [3955ccd305] - tools: bump cpplint to 1.5.1 (Rich Trott) #35866
- [a07d1af4ea] - tools: update ESLint to 7.12.1 (cjihrig) #35799
- [d20b318c58] - tools: update ESLint to 7.12.0 (cjihrig) #35799
- [31753ec8aa] - tools: add msvc /P output to .gitignore (Jiawen Geng) #35735
- [afb3e24cb0] - tools: add update-npm script (Myles Borins) #35822
- [66da122d46] - tools: refloat 7 Node.js patches to cpplint.py (Rich Trott) #35719
- [042d4dd71c] - tools: bump cpplint to 1.5.0 (Rich Trott) #35719
New in Node.js 14.15.0 LTS (Nov 5, 2020)
- Notable Changes:
- This release marks the transition of Node.js 14.x into Long Term Support (LTS) with the codename 'Fermium'. The 14.x release line now moves into "Active LTS" and will remain so until October 2021. After that time, it will move into "Maintenance" until end of life in April 2023.
- Commits:
- [5b7a08c902] - doc: add missing link in Node.js 14 Changelog (Antoine du Hamel) #35782
- [90a5d59824] - doc: fix Node.js 14.x changelogs (Richard Lau) #35756
- [7f788573b3] - Revert "test: mark test-webcrypto-encrypt-decrypt-aes flaky" (Myles Borins) #35666
New in Node.js 15.0.1 Current (Oct 22, 2020)
- Notable changes:
- crypto: fix regression on randomFillSync (James M Snell) #35723
- This fixes issue https://github.com/nodejs/node/issues/35722.
- deps: upgrade npm to 7.0.3 (Ruy Adorno) #35724
- doc: add release key for Danielle Adams (Danielle Adams) #35545
- Commits:
- [c509485c19] - build: use make functions instead of echo (Antoine du Hamel) #35707
- [f5acc2d030] - crypto: fix regression on randomFillSync (James M Snell) #35723
- [595c8df48d] - deps: upgrade npm to 7.0.3 (Ruy Adorno) #35724
- [69e7f20f2d] - deps: V8: set correct V8 version patch number (Michaël Zasso) #35732
- [b78294dc00] - doc: use kbd element in readline doc (Rich Trott) #35698
- [1efa87082b] - doc: add release key for Danielle Adams (Danielle Adams) #35545
- [6e91d644e3] - doc: use kbd element in os doc (Rich Trott) #35656
- [5a48a7b6f8] - doc: add a statement in the documentation. (Pooja D.P) #35585
- [6a7a61be7c] - src: mark/pop OpenSSL errors in NewRootCertStore (Daniel Bevenius) #35514
- [d54edece99] - test: refactor test-crypto-pbkdf2 (Tobias Nießen) #35693
New in Node.js 15.0.0 Current (Oct 22, 2020)
- Notable Changes:
- Deprecations and Removals:
- [a11788736a] - (SEMVER-MAJOR) build: remove --build-v8-with-gn configure option (Yang Guo) #27576
- [89428c7a2d] - (SEMVER-MAJOR) build: drop support for VS2017 (Michaël Zasso) #33694
- [c25cf34ac1] - (SEMVER-MAJOR) doc: move DEP0018 to End-of-Life (Rich Trott) #35316
- [2002d90abd] - (SEMVER-MAJOR) fs: deprecation warning on recursive rmdir (Ian Sutherland) #35562
- [eee522ac29] - (SEMVER-MAJOR) lib: add EventTarget-related browser globals (Anna Henningsen) #35496
- [41796ebd30] - (SEMVER-MAJOR) net: remove long deprecated server.connections property (James M Snell) #33647
- [a416692e93] - (SEMVER-MAJOR) repl: remove deprecated repl.memory function (Ruben Bridgewater) #33286
- [f217b2dfb0] - (SEMVER-MAJOR) repl: remove deprecated repl.turnOffEditorMode() function (Ruben Bridgewater) #33286
- [a1bcad8dc0] - (SEMVER-MAJOR) repl: remove deprecated repl.parseREPLKeyword() function (Ruben Bridgewater) #33286
- [4ace010b53] - (SEMVER-MAJOR) repl: remove deprecated bufferedCommand property (Ruben Bridgewater) #33286
- [37524307fe] - (SEMVER-MAJOR) repl: remove deprecated .rli (Ruben Bridgewater) #33286
- [a85ce885bd] - (SEMVER-MAJOR) src: remove deprecated node debug command (James M Snell) #33648
- [a8904e8eee] - (SEMVER-MAJOR) timers: introduce timers/promises (James M Snell) #33950
- [1211b9a72f] - (SEMVER-MAJOR) util: change default value of maxStringLength to 10000 (unknown) #32744
- [ca8f3ef2e5] - (SEMVER-MAJOR) wasi: drop --experimental-wasm-bigint requirement (Colin Ihrig) #35415
- npm 7 - #35631:
- Node.js 15 comes with a new major release of npm, npm 7. npm 7 comes with many new features - including npm workspaces and a new package-lock.json format. npm 7 also includes yarn.lock file support. One of the big changes in npm 7 is that peer dependencies are now installed by default.
- Throw On Unhandled Rejections - #33021:
- As of Node.js 15, the default mode for unhandledRejection is changed to throw (from warn). In throw mode, if an unhandledRejection hook is not set, the unhandledRejection is raised as an uncaught exception. Users that have an unhandledRejection hook should see no change in behavior, and it’s still possible to switch modes using the --unhandled-rejections=mode process flag.
- QUIC - #32379:
- Node.js 15 comes with experimental support QUIC, which can be enabled by compiling Node.js with the --experimental-quic configuration flag. The Node.js QUIC implementation is exposed by the core net module.
- V8 8.6 - #35415:
- The V8 JavaScript engine has been updated to V8 8.6 (V8 8.4 is the latest available in Node.js 14). Along with performance tweaks and improvements the V8 update also brings the following language features:
- Promise.any() (from V8 8.5)
- AggregateError (from V8 8.5)
- String.prototype.replaceAll() (from V8 8.5)
- Logical assignment operators &&=, ||=, and ??= (from V8 8.5)
- Other Notable Changes:
- [50228cf6ff] - (SEMVER-MAJOR) assert: add assert/strict alias module (ExE Boss) #34001
- [039cd00a9a] - (SEMVER-MAJOR) dns: add dns/promises alias (shisama) #32953
- [54b36e401d] - (SEMVER-MAJOR) fs: reimplement read and write streams using stream.construct (Robert Nagy) #29656
- [f5c0e282cc] - (SEMVER-MAJOR) http2: allow Host in HTTP/2 requests (Alba Mendez) #34664
- [eee522ac29] - (SEMVER-MAJOR) lib: add EventTarget-related browser globals (Anna Henningsen) #35496
- [a8b26d72c5] - (SEMVER-MAJOR) lib: unflag AbortController (James M Snell) #33527
- [74ca960aac] - (SEMVER-MAJOR) lib: initial experimental AbortController implementation (James M Snell) #33527
- [efefdd668d] - (SEMVER-MAJOR) net: autoDestroy Socket (Robert Nagy) #31806
- [0fb91acedf] - (SEMVER-MAJOR) src: disallow JS execution inside FreeEnvironment (Anna Henningsen) #33874
- [21782277c2] - (SEMVER-MAJOR) src: use node:moduleName as builtin module filename (Michaël Zasso) #35498
- [fb8cc72e73] - (SEMVER-MAJOR) stream: construct (Robert Nagy) #29656
- [705d888387] - (SEMVER-MAJOR) worker: make MessageEvent class more Web-compatible (Anna Henningsen) #35496
- Semver-Major Commits:
- [50228cf6ff] - (SEMVER-MAJOR) assert: add assert/strict alias module (ExE Boss) #34001
- [d701247165] - (SEMVER-MAJOR) build: reset embedder string to "-node.0" (Michaël Zasso) #35415
- [a11788736a] - (SEMVER-MAJOR) build: remove --build-v8-with-gn configure option (Yang Guo) #27576
- [89428c7a2d] - (SEMVER-MAJOR) build: drop support for VS2017 (Michaël Zasso) #33694
- [dae283d96f] - (SEMVER-MAJOR) crypto: refactoring internals, add WebCrypto (James M Snell) #35093
- [ba77dc8597] - (SEMVER-MAJOR) crypto: move node_crypto files to src/crypto (James M Snell) #35093
- [9378070da0] - (SEMVER-MAJOR) deps: V8: cherry-pick d76abfed3512 (Michaël Zasso) #35415
- [efee8341ad] - (SEMVER-MAJOR) deps: V8: cherry-pick 717543bbf0ef (Michaël Zasso) #35415
- [b006fa8730] - (SEMVER-MAJOR) deps: V8: cherry-pick 6be2f6e26e8d (Michaël Zasso) #35415
- [3c23af4cb7] - (SEMVER-MAJOR) deps: fix V8 build issue with inline methods (Jiawen Geng) #35415
- [b803b3f48b] - (SEMVER-MAJOR) deps: fix platform-embedded-file-writer-win for ARM64 (Michaël Zasso) #35415
- [47cb9f14e8] - (SEMVER-MAJOR) deps: update V8 postmortem metadata script (Colin Ihrig) #35415
- [a1d639ba5d] - (SEMVER-MAJOR) deps: update V8 to 8.6.395 (Michaël Zasso) #35415
- [3ddcad55fb] - (SEMVER-MAJOR) deps: upgrade npm to 7.0.0 (Myles Borins) #35631
- [2e54524955] - (SEMVER-MAJOR) deps: update npm to 7.0.0-rc.3 (Myles Borins) #35474
- [e983b1cece] - (SEMVER-MAJOR) deps: V8: cherry-pick 0d6debcc5f08 (Gus Caplan) #33600
- [039cd00a9a] - (SEMVER-MAJOR) dns: add dns/promises alias (shisama) #32953
- [c25cf34ac1] - (SEMVER-MAJOR) doc: move DEP0018 to End-of-Life (Rich Trott) #35316
- [8bf37ee496] - (SEMVER-MAJOR) doc: update support macos version for 15.x (Ash Cripps) #35022
- [2002d90abd] - (SEMVER-MAJOR) fs: deprecation warning on recursive rmdir (Ian Sutherland) #35562
- [54b36e401d] - (SEMVER-MAJOR) fs: reimplement read and write streams using stream.construct (Robert Nagy) #29656
- [32b641e528] - (SEMVER-MAJOR) http: fixed socket.setEncoding fatal error (iskore) #33405
- [8a6fab02ad] - (SEMVER-MAJOR) http: emit 'error' on aborted server request (Robert Nagy) #33172
- [d005f490a8] - (SEMVER-MAJOR) http: cleanup end argument handling (Robert Nagy) #31818
- [f5c0e282cc] - (SEMVER-MAJOR) http2: allow Host in HTTP/2 requests (Alba Mendez) #34664
- [1e4187fcf4] - (SEMVER-MAJOR) http2: add invalidheaders test (Pranshu Srivastava) #33161
- [d79c330186] - (SEMVER-MAJOR) http2: refactor state code validation for the http2Stream class (rickyes) #33535
- [df31f71f1e] - (SEMVER-MAJOR) http2: header field valid checks (Pranshu Srivastava) #33193
- [1428db8a1f] - (SEMVER-MAJOR) lib: refactor Socket._getpeername and Socket._getsockname (himself65) #32969
- [eee522ac29] - (SEMVER-MAJOR) lib: add EventTarget-related browser globals (Anna Henningsen) #35496
- [c66e6471e7] - (SEMVER-MAJOR) lib: remove ERR_INVALID_OPT_VALUE and ERR_INVALID_OPT_VALUE_ENCODING (Denys Otrishko) #34682
- [b546a2b469] - (SEMVER-MAJOR) lib: handle one of args case in ERR_MISSING_ARGS (Denys Otrishko) #34022
- [a86a295fd7] - (SEMVER-MAJOR) lib: remove NodeError from the prototype of errors with code (Michaël Zasso) #33857
- [a8b26d72c5] - (SEMVER-MAJOR) lib: unflag AbortController (James M Snell) #33527
- [74ca960aac] - (SEMVER-MAJOR) lib: initial experimental AbortController implementation (James M Snell) #33527
- [78ca61e2cf] - (SEMVER-MAJOR) net: check args in net.connect() and socket.connect() calls (Denys Otrishko) #34022
- [41796ebd30] - (SEMVER-MAJOR) net: remove long deprecated server.connections property (James M Snell) #33647
- [efefdd668d] - (SEMVER-MAJOR) net: autoDestroy Socket (Robert Nagy) #31806
- [6cfba9f7f6] - (SEMVER-MAJOR) process: update v8 fast api calls usage (Maya Lekova) #35415
- [3b10f7f933] - (SEMVER-MAJOR) process: change default --unhandled-rejections=throw (Dan Fabulich) #33021
- [d8eef83757] - (SEMVER-MAJOR) process: use v8 fast api calls for hrtime (Gus Caplan) #33600
- [49745cdef0] - (SEMVER-MAJOR) process: delay throwing an error using throwDeprecation (Ruben Bridgewater) #32312
- [a416692e93] - (SEMVER-MAJOR) repl: remove deprecated repl.memory function (Ruben Bridgewater) #33286
- [f217b2dfb0] - (SEMVER-MAJOR) repl: remove deprecated repl.turnOffEditorMode() function (Ruben Bridgewater) #33286
- [a1bcad8dc0] - (SEMVER-MAJOR) repl: remove deprecated repl.parseREPLKeyword() function (Ruben Bridgewater) #33286
- [4ace010b53] - (SEMVER-MAJOR) repl: remove deprecated bufferedCommand property (Ruben Bridgewater) #33286
- [37524307fe] - (SEMVER-MAJOR) repl: remove deprecated .rli (Ruben Bridgewater) #33286
- [b65e5aeaa7] - (SEMVER-MAJOR) src: implement NodePlatform::PostJob (Clemens Backes) #35415
- [b1e8e0e604] - (SEMVER-MAJOR) src: update NODE_MODULE_VERSION to 88 (Michaël Zasso) #35415
- [eeb6b473fd] - (SEMVER-MAJOR) src: error reporting on CPUUsage (Yash Ladha) #34762
- [21782277c2] - (SEMVER-MAJOR) src: use node:moduleName as builtin module filename (Michaël Zasso) #35498
- [05771279af] - (SEMVER-MAJOR) src: enable wasm trap handler on windows (Gus Caplan) #35033
- [b7cf823410] - (SEMVER-MAJOR) src: update NODE_MODULE_VERSION to 86 (Michaël Zasso) #33579
- [0fb91acedf] - (SEMVER-MAJOR) src: disallow JS execution inside FreeEnvironment (Anna Henningsen) #33874
- [53fb2b6b41] - (SEMVER-MAJOR) src: remove _third_party_main support (Anna Henningsen) #33971
- [a85ce885bd] - (SEMVER-MAJOR) src: remove deprecated node debug command (James M Snell) #33648
- [ac3714637e] - (SEMVER-MAJOR) src: remove unused CancelPendingDelayedTasks (Anna Henningsen) #32859
- [a65218f5e8] - (SEMVER-MAJOR) stream: try to wait for flush to complete before 'finish' (Robert Nagy) #34314
- [4e3f6f355b] - (SEMVER-MAJOR) stream: cleanup and fix Readable.wrap (Robert Nagy) #34204
- [527e2147af] - (SEMVER-MAJOR) stream: add promises version to utility functions (rickyes) #33991
- [c7e55c6b72] - (SEMVER-MAJOR) stream: fix writable.end callback behavior (Robert Nagy) #34101
- [fb8cc72e73] - (SEMVER-MAJOR) stream: construct (Robert Nagy) #29656
- [4bc7025309] - (SEMVER-MAJOR) stream: write should throw on unknown encoding (Robert Nagy) #33075
- [ea87809bb6] - (SEMVER-MAJOR) stream: fix _final and 'prefinish' timing (Robert Nagy) #32780
- [0bd5595509] - (SEMVER-MAJOR) stream: simplify Transform stream implementation (Robert Nagy) #32763
- [8f86986985] - (SEMVER-MAJOR) stream: use callback to properly propagate error (Robert Nagy) #29179
- [94dd7b9f94] - (SEMVER-MAJOR) test: update tests after increasing typed array size to 4GB (Kim-Anh Tran) #35415
- [d9e98df01b] - (SEMVER-MAJOR) test: fix tests for npm 7.0.0 (Myles Borins) #35631
- [c87641aa97] - (SEMVER-MAJOR) test: fix test suite to work with npm 7 (Myles Borins) #35474
- [eb9d7a437e] - (SEMVER-MAJOR) test: update WPT harness and tests (Michaël Zasso) #33770
- [a8904e8eee] - (SEMVER-MAJOR) timers: introduce timers/promises (James M Snell) #33950
- [c55f661551] - (SEMVER-MAJOR) tools: disable x86 safe exception handlers in V8 (Michaël Zasso) #35415
- [80e8aec4a5] - (SEMVER-MAJOR) tools: update V8 gypfiles for 8.6 (Ujjwal Sharma) #35415
- [faeb9607c6] - (SEMVER-MAJOR) tools: update V8 gypfiles for 8.5 (Ujjwal Sharma) #35415
- [bb62f4ad9e] - (SEMVER-MAJOR) url: file URL path normalization (Daijiro Wachi) #35477
- [69ef4c2375] - (SEMVER-MAJOR) url: verify domain is not empty after "ToASCII" (Michaël Zasso) #33770
- [4831278a16] - (SEMVER-MAJOR) url: remove U+0000 case in the fragment state (Michaël Zasso) #33770
- [0d08d5ae7c] - (SEMVER-MAJOR) url: remove gopher from special schemes (Michaël Zasso) #33325
- [9be51ee9a1] - (SEMVER-MAJOR) url: forbid lt and gt in url host code point (Yash Ladha) #33328
- [1211b9a72f] - (SEMVER-MAJOR) util: change default value of maxStringLength to 10000 (unknown) #32744
- [ca8f3ef2e5] - (SEMVER-MAJOR) wasi: drop --experimental-wasm-bigint requirement (Colin Ihrig) #35415
- [abd8cdfc4e] - (SEMVER-MAJOR) win, child_process: sanitize env variables (Bartosz Sosnowski) #35210
- [705d888387] - (SEMVER-MAJOR) worker: make MessageEvent class more Web-compatible (Anna Henningsen) #35496
- [7603c7e50c] - (SEMVER-MAJOR) worker: set trackUnmanagedFds to true by default (Anna Henningsen) #34394
- [5ef5116311] - (SEMVER-MAJOR) worker: rename error code to be more accurate (Anna Henningsen) #33872
- Semver-Minor Commits:
- [1d5fa88eb8] - (SEMVER-MINOR) cli: add --node-memory-debug option (Anna Henningsen) #35537
- [095be6a01f] - (SEMVER-MINOR) crypto: add getCipherInfo method (James M Snell) #35368
- [df1023bb22] - (SEMVER-MINOR) events: allow use of AbortController with on (James M Snell) #34912
- [883fc779b6] - (SEMVER-MINOR) events: allow use of AbortController with once (James M Snell) #34911
- [e876c0c308] - (SEMVER-MINOR) http2: add support for sensitive headers (Anna Henningsen) #34145
- [6f34498148] - (SEMVER-MINOR) net: add support for resolving DNS CAA records (Danny Sonnenschein) #35466
- [37a8179673] - (SEMVER-MINOR) net: make blocklist family case insensitive (James M Snell) #34864
- [1f9b20b637] - (SEMVER-MINOR) net: introduce net.BlockList (James M Snell) #34625
- [278d38f4cf] - (SEMVER-MINOR) src: add maybe versions of EmitExit and EmitBeforeExit (Anna Henningsen) #35486
- [2310f679a1] - (SEMVER-MINOR) src: move node_binding to modern THROW_ERR* (James M Snell) #35469
- [744a284ccc] - (SEMVER-MINOR) stream: support async for stream impl functions (James M Snell) #34416
- [bfbdc84738] - (SEMVER-MINOR) timers: allow promisified timeouts/immediates to be canceled (James M Snell) #33833
- [a8971f87d3] - (SEMVER-MINOR) url: support non-special URLs (Daijiro Wachi) #34925
- Semver-Patch Commits:
- [d10c59fc60] - benchmark,test: remove output from readable-async-iterator benchmark (Rich Trott) #34411
- [8a12e9994f] - bootstrap: use file URL instead of relative url (Daijiro Wachi) #35622
- [f8bde7ce06] - bootstrap: build fast APIs in pre-execution (Joyee Cheung) #32984
- [b18651bcd2] - build: do not pass mode option to test-v8 command (Michaël Zasso) #35705
- [bb2945ed6b] - build: add GitHub Action for code coverage (Benjamin Coe) #35653
- [cfbbeea4a1] - build: use GITHUB_ENV file to set env variables (Michaël Zasso) #35638
- [8a93b371a3] - build: do not install jq in workflows (Michaël Zasso) #35638
- [ccbd1d5efa] - build: add quic to github action (gengjiawen) #34336
- [f4f191bbc2] - build: define NODE_EXPERIMENTAL_QUIC in mkcodecache and node_mksnapshot (Joyee Cheung) #34454
- [5b2c263ba8] - deps: fix typo in zlib.gyp that break arm-fpu-neon build (lucasg) #35659
- [5b9593f727] - deps: upgrade npm to 7.0.2 (Myles Borins) #35667
- [dabc6ddddc] - deps: upgrade npm to 7.0.0-rc.4 (Myles Borins) #35576
- [757bac6711] - deps: update nghttp3 (James M Snell) #34752
- [c788be2e6e] - deps: update ngtcp2 (James M Snell) #34752
- [7816e5f7b9] - deps: fix indenting of sources in ngtcp2.gyp (James M Snell) #34033
- [f5343d1b40] - deps: re-enable OPENSSL_NO_QUIC guards (James M Snell) #34033
- [9de95f494e] - deps: temporary fixup for ngtcp2 to build on windows (James M Snell) #34033
- [ec7ad1d0ec] - deps: cherry-pick akamai/openssl/commit/bf4b08ecfbb7a26ca4b0b9ecaee3b31d18d7bda9 (Tatsuhiro Tsujikawa) #34033
- [c3d85b7637] - deps: cherry-pick akamai/openssl/commit/a5a08cb8050bb69120e833456e355f482e392456 (Benjamin Kaduk) #34033
- [bad1a150ea] - deps: cherry-pick akamai/openssl/commit/d5a13ca6e29f3ff85c731770ab0ee2f2487bf8b3 (Benjamin Kaduk) #34033
- [74cbfd3f36] - deps: cherry-pick akamai/openssl/commit/a6282c566d88db11300c82abc3c84a4e2e9ea568 (Benjamin Kaduk) #34033
- [8a9763a8ea] - deps: update nghttp3 (James M Snell) #34033
- [6b27d07779] - deps: update ngtcp2 (James M Snell) #34033
- [a041723774] - deps: fix indentation for sources in nghttp3.gyp (Daniel Bevenius) #33942
- [a0cbd676e7] - deps: add defines to nghttp3/ngtcp2 gyp configs (Daniel Bevenius) #33942
- [bccb514936] - deps: maintaining ngtcp2 and nghttp3 (James M Snell) #32379
- [834fa8f23f] - deps: add ngtcp2 and nghttp3 (James M Snell) #32379
- [f96b981528] - deps: details for updating openssl quic support (James M Snell) #32379
- [98c8498552] - deps: update archs files for OpenSSL-1.1.0 (James M Snell) #32379
- [2c549e505e] - deps: add support for BoringSSL QUIC APIs (Todd Short) #32379
- [1103b15af6] - doc: fix YAML lint error on master (Rich Trott) #35709
- [7798e59e98] - doc: upgrade stability status of report API (Gireesh Punathil) #35654
- [ce03a182cf] - doc: clarify experimental API elements in vm.md (Rich Trott) #35594
- [89defff3b9] - doc: correct order of metadata for deprecation (Rich Trott) #35668
- [ee85eb9f8a] - doc: importModuleDynamically gets Script, not Module (Simen Bekkhus) #35593
- [9e5a27a9d3] - doc: fix EventEmitter examples (Sourav Shaw) #33513
- [2c2c87e291] - doc: fix stability indicator in webcrypto doc (Rich Trott) #35672
- [f59d4e05a2] - doc: add example code for process.getgroups() (Pooja D.P) #35625
- [8a3808dc37] - doc: use kbd element in tty doc (Rich Trott) #35613
- [4079bfd462] - doc: Remove reference to io.js (Hussaina Begum Nandyala) #35618
- [e6d5af3c95] - doc: fix typos in quic.md (Luigi Pinca) #35444
- [524123fbf0] - doc: update releaser in v12.18.4 changelog (Beth Griggs) #35217
- [ccdd1bd82a] - doc: fix incorrectly marked Buffer in quic.md (Rich Trott) #35075
- [cc754f2985] - doc: make AbortSignal text consistent in events.md (Rich Trott) #35005
- [f9c362ff6c] - doc: revise AbortSignal text and example using events.once() (Rich Trott) #35005
- [7aeff6b8c8] - doc: claim ABI version for Electron v12 (Shelley Vohr) #34816
- [7a1220a1d7] - doc: fix headings in quic.md (Anna Henningsen) #34717
- [d5c7aec3cb] - doc: use _can_ to describe actions in quic.md (Rich Trott) #34613
- [319c275b26] - doc: use _can_ to describe actions in quic.md (Rich Trott) #34613
- [2c30920886] - doc: use sentence-case in quic.md headers (Rich Trott) #34453
- [8ada27510d] - doc: add missing backticks in timers.md (vsemozhetbyt) #34030
- [862d005e60] - doc: make globals Extends usage consistent (Colin Ihrig) #33777
- [85dbd17bde] - doc: make perf_hooks Extends usage consistent (Colin Ihrig) #33777
- [2e49010bc8] - doc: make events Extends usage consistent (Colin Ihrig) #33777
- [680fb8fc62] - doc: fix deprecation "End-of-Life" capitalization (Colin Ihrig) #33691
- [458677f5ef] - errors: print original exception context (Benjamin Coe) #33491
- [b1831fed3a] - events: simplify event target agnostic logic in on and once (Denys Otrishko) #34997
- [7f25fe8b67] - fs: remove unused assignment (Rich Trott) #35642
- [2c4f30deea] - fs: fix when path is buffer on fs.symlinkSync (himself65) #34540
- [db0e991d52] - fs: remove custom Buffer pool for streams (Robert Nagy) #33981
- [51a2df4439] - fs: document why isPerformingIO is required (Robert Nagy) #33982
- [999e7d7b44] - gyp,build: consistent shared library location (Rod Vagg) #35635
- [30cc54275d] - http: don't emit error after close (Robert Nagy) #33654
- [ddff2b2b22] - lib: honor setUncaughtExceptionCaptureCallback (Gireesh Punathil) #35595
- [a8806535d9] - lib: use Object static properties from primordials (Michaël Zasso) #35380
- [11f1ad939f] - module: only try to enrich CJS syntax errors (Michaël Zasso) #35691
- [aaf225a2a0] - module: add setter for module.parent (Antoine du Hamel) #35522
- [109a296e2a] - quic: fix typo in code comment (Ikko Ashimine) #35308
- [186230527b] - quic: fix error message on invalid connection ID (Rich Trott) #35026
- [e5116b304f] - quic: remove unused function arguments (Rich Trott) #35010
- [449f73e05f] - quic: remove undefined variable (Rich Trott) #35007
- [44e6a6af67] - quic: use qlog fin flag (James M Snell) #34752
- [2a80737278] - quic: fixups after ngtcp2/nghttp3 update (James M Snell) #34752
- [c855c3e8ca] - quic: use net.BlockList for limiting access to a QuicSocket (James M Snell) #34741
- [bfc35354c1] - quic: consolidate stats collecting in QuicSession (James M Snell) #34741
- [94aa291348] - quic: clarify TODO statements (James M Snell) #34741
- [19e712b9b2] - quic: resolve InitializeSecureContext TODO comment (James M Snell) #34741
- [240592228b] - quic: fixup session ticket app data todo comments (James M Snell) #34741
- [c17eaa3f3f] - quic: add natRebinding argument to docs (James M Snell) #34669
- [442968c92a] - quic: check setSocket natRebinding argument, extend test (James M Snell) #34669
- [10d5047a4f] - quic: fixup set_socket, fix skipped test (James M Snell) #34669
- [344c5e4e50] - quic: limit push check to http/3 (James M Snell) #34655
- [34165f03aa] - quic: resolve some minor TODOs (James M Snell) #34655
- [1e6e5c3ef3] - quic: resolve minor TODO in QuicSocket (James M Snell) #34655
- [ba5c64bf45] - quic: use AbortController with correct name/message (Anna Henningsen) #34763
- [a7477704c4] - quic: prefer modernize-make-unique (gengjiawen) #34692
- [5b6cd6fa1a] - quic: use the SocketAddressLRU to track validation status (James M Snell) #34618
- [f75e69a94b] - quic: use SocketAddressLRU to track known SocketAddress info (James M Snell) #34618
- [6b0b33cd4c] - quic: cleanup some outstanding todo items (James M Snell) #34618
- [6e65f26b73] - quic: use QuicCallbackScope consistently for QuicSession (James M Snell) #34541
- [d96083bad5] - quic: introduce QuicCallbackScope (James M Snell) #34541
- [4b0275ab87] - quic: refactor clientHello (James M Snell) #34541
- [a97b5f9c6a] - quic: use OpenSSL built-in cert and hostname validation (James M Snell) #34533
- [7a5fbafe96] - quic: fix build for macOS (gengjiawen) #34336
- [1f94b89309] - quic: refactor ocsp to use async function rather than event/callback (James M Snell) #34498
- [06664298fa] - quic: remove no-longer relevant TODO statements (James M Snell) #34498
- [2fb92f4cc6] - quic: remove extraneous unused debug property (James M Snell) #34498
- [b06fe33de1] - quic: use async _construct for QuicStream (James M Snell) #34351
- [8bd61d4c38] - quic: documentation updates (James M Snell) #34351
- [086c916997] - quic: extensive refactoring of QuicStream lifecycle (James M Snell) #34351
- [cf28f8a7dd] - quic: gitignore qlog files (James M Snell) #34351
- [83bf0d7e8c] - quic: remove unneeded quicstream.aborted and fixup docs (James M Snell) #34351
- [a65296db2c] - quic: remove stream pending code (James M Snell) #34351
- [da20287e1a] - quic: simplify QuicStream construction logic (James M Snell) #34351
- [6e30fe7a7f] - quic: convert openStream to Promise (James M Snell) #34351
- [89453cfc08] - quic: fixup quic.md (James M Snell) #34283
- [4523d4a813] - quic: fixup closing/draining period timing (James M Snell) #34283
- [ed4882241c] - quic: properly pass readable/writable constructor options (James M Snell) #34283
- [57c1129508] - quic: implement QuicSession close as promise (James M Snell) #34283
- [8e5c5b16ab] - quic: cleanup QuicClientSession constructor (James M Snell) #34283
- [fe4e7e4598] - quic: use promisified dns lookup (James M Snell) #34283
- [346aeaf874] - quic: eliminate "ready"/"not ready" states for QuicSession (James M Snell) #34283
- [6665dda9f6] - quic: implement QuicSocket Promise API, part 2 (James M Snell) #34283
- [79c0e892dd] - quic: implement QuicSocket Promise API, part 1 (James M Snell) #34283
- [53b12f0c7b] - quic: implement QuicEndpoint Promise API (James M Snell) #34283
- [16b32eae3e] - quic: handle unhandled rejections on QuicSession (James M Snell) #34283
- [e5d963e24d] - quic: fixup kEndpointClose (James M Snell) #34283
- [9f552df5b4] - quic: fix endpointClose error handling, document (James M Snell) #34283
- [b80108c033] - quic: restrict addEndpoint to before QuicSocket bind (James M Snell) #34283
- [81c01bbdba] - quic: use a getter for stream options (James M Snell) #34283
- [b8945ba2ab] - quic: clarifying code comments (James M Snell) #34283
- [429ab1dce6] - quic: minor reduction in code duplication (James M Snell) #34283
- [aafdc2fcad] - quic: replace ipv6Only option with 'udp6-only' type (James M Snell) #34283
- [fbc38ee134] - quic: clear clang warning (gengjiawen) #34335
- [c176d5fac2] - quic: set destroyed at timestamps for duration calculation (James M Snell) #34262
- [48a349efd9] - quic: use Number instead of BigInt for more stats (James M Snell) #34262
- [5e769b2eaf] - quic: use less specific error codes (James M Snell) #34262
- [26493c02a2] - quic: remove no longer valid CHECK (James M Snell) #34247
- [458d243f20] - quic: proper custom inspect for QuicStream (James M Snell) #34247
- [0860b11655] - quic: proper custom inspect for QuicSession (James M Snell) #34247
- [b047930d76] - quic: proper custom inspect for QuicSocket (James M Snell) #34247
- [511f8c1138] - quic: proper custom inspect for QuicEndpoint (James M Snell) #34247
- [fe11f6bf7c] - quic: cleanup QuicSocketFlags, used shared state struct (James M Snell) #34247
- [d08e99de24] - quic: use getter/setter for stateless reset toggle (James M Snell) #34247
- [f2753c7695] - quic: unref timers again (Anna Henningsen) #34247
- [71236097d0] - quic: use Number() instead of bigint for QuicSocket stats (James M Snell) #34247
- [94372b124a] - quic: refactor/improve/document QuicSocket listening event (James M Snell) #34247
- [afc9390ae5] - quic: refactor/improve QuicSocket ready event handling (James M Snell) #34247
- [e3813261b8] - quic: add tests confirming error handling for QuicSocket close event (James M Snell) #34247
- [cc89aac5f7] - quic: refactor/improve error handling for busy event (James M Snell) #34247
- [edc71ef008] - quic: handle errors thrown / rejections in the session event (James M Snell) #34247
- [bcde849be9] - quic: remove unnecessary bool conversion (James M Snell) #34247
- [c535131627] - quic: additional minor cleanups in node_quic_session.h (James M Snell) #34247
- [0f97d6066a] - quic: use TimerWrap for idle and retransmit timers (James M Snell) #34186
- [1b1e985478] - quic: add missing memory tracker fields (James M Snell) #34160
- [5a87e9b0a5] - quic: cleanup timers if they haven't been already (James M Snell) #34160
- [3837d9cf1f] - quic: fixup lint issues (James M Snell) #34160
- [7b062ca015] - quic: refactor qlog handling (James M Snell) #34160
- [e4d369e96e] - quic: remove onSessionDestroy callback (James M Snell) #34160
- [3acdd6aac7] - quic: refactor QuicSession shared state to use AliasedStruct (James M Snell) #34160
- [f9c2245fb5] - quic: refactor QuicSession close/destroy flow (James M Snell) #34160
- [f7510ca439] - quic: additional cleanups on the c++ side (James M Snell) #34160
- [b5bf5bb20f] - quic: refactor native object flags for better readability (James M Snell) #34160
- [b1750a4d53] - quic: continued refactoring for quic_stream/quic_session (James M Snell) #34160
- [31d6d9d0f7] - quic: reduce duplication of code (James M Snell) #34137
- [b5fe31ef19] - quic: avoid using private JS fields for now (James M Snell) #34137
- [2afc1abd05] - quic: fixup constant exports, export all protocol error codes (James M Snell) #34137
- [b1fab88ff0] - quic: remove unused callback function (James M Snell) #34137
- [3bae2d5073] - quic: consolidate onSessionClose and onSessionSilentClose (James M Snell) #34137
- [def8e76999] - quic: fixup set_final_size (James M Snell) #34137
- [d6034186d6] - quic: cleanups for QuicSocket (James M Snell) #34137
- [73a51bb9dc] - quic: cleanups in JS API (James M Snell) #34137
- [204f20f2d1] - quic: minor cleanups in quic_buffer (James M Snell) #34087
- [68634d2592] - quic: remove redundant cast (gengjiawen) #34086
- [213cac0b94] - quic: temporarily skip quic-ipv6only test (James M Snell) #34033
- [99f7c4bb5e] - quic: possibly resolve flaky assertion failure in ipv6only test (James M Snell) #34033
- [2a5922e483] - quic: temporarily disable packetloss tests (James M Snell) #34033
- [86e67aaa69] - quic: updates to implement for h3-29 (James M Snell) #34033
- [adf14e2617] - quic: fix lint error in node_quic_crypto (Daniel Bevenius) #34019
- [9f2e00fb99] - quic: temporarily disable preferred address tests (James M Snell) #33934
- [0e7c8bdc0c] - quic: return 0 from SSL_CTX_sess_set_new_cb callback (Anna Henningsen) #33931
- [c7d859e756] - quic: refactor and improve ipv6Only (James M Snell) #33935
- [1b7434dfc0] - quic: set up FunctionTemplates more cleanly (Anna Henningsen) #33968
- [8ef86a920c] - quic: fix clang warning (gengjiawen) #33963
- [013cd1ac6f] - quic: use Check instead of FromJust in node_quic.cc (Daniel Bevenius) #33937
- [09330fc155] - quic: fix clang-tidy performance-faster-string-find issue (gengjiawen) #33975
- [9743624c0b] - quic: fix typo in comments (gengjiawen) #33975
- [88ef15812c] - quic: remove unused string include http3_application (Daniel Bevenius) #33926
- [1bd88a3ac6] - quic: fix up node_quic_stream includes (Daniel Bevenius) #33921
- [d7d79f2163] - quic: avoid memory fragmentation issue (James M Snell) #33912
- [16116f5f5f] - quic: remove noop code (Robert Nagy) #33914
- [272b46e04d] - quic: skip test-quic-preferred-address-ipv6.js when no ipv6 (James M Snell) #33919
- [4b70f95d64] - quic: use Check instead of FromJust in QuicStream (Daniel Bevenius) #33909
- [133a97f60d] - quic: always copy stateless reset token (Anna Henningsen) #33917
- [14d012ef96] - quic: fix minor linting issue (James M Snell) #33913
- [55360443ce] - quic: initial QUIC implementation (James M Snell) #32379
- [a12a2d892f] - repl: update deprecation codes (Antoine du HAMEL) #33430
- [2b3acc44f0] - src: large pages support in illumos/solaris systems (David Carlier) #34320
- [84a7880749] - src: minor cleanup and simplification of crypto::Hash (James M Snell) #35651
- [bfc906906f] - src: combine TLSWrap/SSLWrap (James M Snell) #35552
- [9fd6122659] - src: add embedding helpers to reduce boilerplate code (Anna Henningsen) #35597
- [f7ed5f4ae3] - src: remove toLocalChecked in crypto_context (James M Snell) #35509
- [17d5d94921] - src: replace more toLocalCheckeds in crypto_* (James M Snell) #35509
- [83eaaf9731] - src: remove unused AsyncWrapObject (James M Snell) #35511
- [ee5f849fda] - src: fix compiler warning in env.cc (Anna Henningsen) #35547
- [40364b181d] - src: add check against non-weak BaseObjects at process exit (Anna Henningsen) #35490
- [bc0c094b74] - src: unset NODE_VERSION_IS_RELEASE from master (Antoine du Hamel) #35531
- [fdf0a84e82] - src: move all base64.h inline methods into -inl.h header file (Anna Henningsen) #35432
- [ff4cf817a3] - src: create helper for reading Uint32BE (Juan José Arboleda) #34944
- [c6e1edcc28] - src: add Update(const sockaddr*) variant (James M Snell) #34752
- [1c14810edc] - src: allow instances of net.BlockList to be created internally (James M Snell) #34741
- [6d1f0aed52] - src: add SocketAddressLRU Utility (James M Snell) #34618
- [feb93c4e84] - src: guard against nullptr deref in TimerWrapHandle::Stop (Anna Henningsen) #34460
- [7a447bcd54] - src: snapshot node (Joyee Cheung) #32984
- [c943cb4809] - src: reset zero fill toggle at pre-execution (Joyee Cheung) #32984
- [0b8ae5f2cd] - src: snapshot loaders (Joyee Cheung) #32984
- [7ecb285842] - src: make code cache test work with snapshots (Joyee Cheung) #32984
- [1faf6f459f] - src: snapshot Environment upon instantiation (Joyee Cheung) #32984
- [ef9964f4c1] - src: add an ExternalReferenceRegistry class (Joyee Cheung) #32984
- [404302fff5] - src: split the main context initialization from Environemnt ctor (Joyee Cheung) #32984
- [874460a1d1] - src: refactor TimerWrap lifetime management (Anna Henningsen) #34252
- [e2f9dc6e5a] - src: remove user_data from TimerWrap (Anna Henningsen) #34252
- [e19a251824] - src: replace InspectorTimer with TimerWrap utility (James M Snell) #34186
- [d4f69002b4] - src: add TimerWrap utility (James M Snell) #34186
- [52de4cb107] - src: minor updates to FastHrtime (Anna Henningsen) #33851
- [4678e44bb2] - src: perform bounds checking on error source line (Anna Henningsen) #33645
- [7232c2a160] - src: use getauxval in node_main.cc (Daniel Bevenius) #33693
- [6be80e1893] - stream: fix legacy pipe error handling (Robert Nagy) #35257
- [2b9003b165] - stream: don't destroy on async iterator success (Robert Nagy) #35122
- [9c62e0e384] - stream: move to internal/streams (Matteo Collina) #35239
- [e0d3b758a0] - stream: improve Writable.destroy performance (Robert Nagy) #35067
- [02c4869bee] - stream: fix Duplex._construct race (Robert Nagy) #34456
- [5aeaff6499] - stream: refactor lazyLoadPromises (rickyes) #34354
- [a55b77d2d3] - stream: finished on closed OutgoingMessage (Robert Nagy) #34313
- [e10e292c5e] - stream: remove unused _transformState (Robert Nagy) #33105
- [f5c11a1a0a] - stream: don't emit finish after close (Robert Nagy) #32933
- [089d654dd8] - test: fix addons/dlopen-ping-pong for npm 7.0.1 (Myles Borins) #35667
- [9ce5a03148] - test: add test for listen callback runtime binding (H Adinarayana) #35657
- [a3731309cc] - test: refactor test-https-host-headers (himself65) #32805
- [30fb4a015d] - test: add common.mustSucceed (Tobias Nießen) #35086
- [c143266b55] - test: add a few uncovered url tests from wpt (Daijiro Wachi) #35636
- [6751b6dc3d] - test: check for AbortController existence (James M Snell) #35616
- [9f2e19fa30] - test: update url test for win (Daijiro Wachi) #35622
- [c88d845db3] - test: update wpt status for url (Daijiro Wachi) #35335
- [589dbf1392] - test: update wpt tests for url (Daijiro Wachi) #35329
- [46bef7b771] - test: add Actions annotation output (Mary Marchini) #34590
- [a9c5b873ca] - test: move buffer-as-path symlink test to its own test file (Rich Trott) #34569
- [31ba9a20bd] - test: run test-benchmark-napi on arm (Rich Trott) #34502
- [2c4ebe0426] - test: use .then(common.mustCall()) for all async IIFEs (Anna Henningsen) #34363
- [772fdb0cd3] - test: fix flaky test-fs-stream-construct (Rich Trott) #34203
- [9b8d317d99] - test: fix flaky test-http2-invalidheaderfield (Rich Trott) #34173
- [2ccf15b2bf] - test: ensure finish is emitted before destroy (Robert Nagy) #33137
- [27f3530da3] - test: remove unnecessary eslint-disable comment (Rich Trott) #34000
- [326a79ebb9] - test: fix typo in test-quic-client-empty-preferred-address.js (gengjiawen) #33976
- [b0b268f5a2] - test: fix flaky fs-construct test (Robert Nagy) #33625
- [cbe955c227] - test: add net regression test (Robert Nagy) #32794
- [5d179cb2ec] - timers: use AbortController with correct name/message (Anna Henningsen) #34763
- [64d22c320c] - timers: fix multipleResolves in promisified timeouts/immediates (Denys Otrishko) #33949
- [fbe33aa52e] - tools: bump remark-lint-preset-node to 1.17.1 (Rich Trott) #35668
- [35a6946193] - tools: update gyp-next to v0.6.2 (Michaël Zasso) #35690
- [be80faa0c8] - tools: update gyp-next to v0.6.0 (Ujjwal Sharma) #35635
- [2d83e743d9] - tools: update ESLint to 7.11.0 (Colin Ihrig) #35578
- [0eca660948] - tools: update ESLint to 7.7.0 (Colin Ihrig) #34783
- [77b68f9a29] - tools: add linting rule for async IIFEs (Anna Henningsen) #34363
- [f04538761f] - tools: enable Node.js command line flags in node_mksnapshot (Joyee Cheung) #32984
- [b0d4eb37c7] - tools: update ESLint to 7.4.0 (Colin Ihrig) #34205
- [076e4ed2d1] - tools: update ESLint from 7.2.0 to 7.3.1 (Rich Trott) #34000
- [7afe3af200] - url: fix file url reparse (Daijiro Wachi) #35671
New in Node.js 14.14.0 Current (Oct 16, 2020)
- Notable Changes:
- [7e7afc5186] - crypto: update certdata to NSS 3.56 (Shelley Vohr) #35546
- [8877430530] - doc: add aduh95 to collaborators (Antoine du Hamel) #35542
- [1610728d7c] - (SEMVER-MINOR) fs: add rm method (Ian Sutherland) #35494
- [6ff152cc67] - (SEMVER-MINOR) http: allow passing array of key/val into writeHead (Robert Nagy) #35274
- [93f947af0a] - (SEMVER-MINOR) src: expose v8::Isolate setup callbacks (Shelley Vohr) #35512
- Commits:
- [16c17ddd88] - build: fix Commit Queue failure comment (Antoine du Hamel) #35599
- [b7305284e2] - build: gitHub actions: Python 3.9 and actions/setup-python@v2 (Christian Clauss) #35521
- [e8fcbc8318] - build: fix landed message for multiple commits in commit-queue (Denys Otrishko) #35226
- [84c0adefa0] - build: add Commit Queue actions url to failure comment (Denys Otrishko) #35206
- [9c74d4598d] - build: fuzzer that targets node::LoadEnvironment() (davkor) #34844
- [f552e5c251] - build: improved release lint error message (Shelley Vohr) #35523
- [7e7afc5186] - crypto: update certdata to NSS 3.56 (Shelley Vohr) #35546
- [b8529a7104] - deps: V8: cherry-pick 3176bfd447a9 (Anna Henningsen) #35612
- [0c877762ea] - doc: document Buffer.concat may use internal pool (Andrey Pechkurov) #35541
- [6284f0dbc2] - doc: use test username instead of real (Pooja D.P) #35611
- [78259b6519] - doc: add doc for starting ci job via label (Juan José Arboleda) #35551
- [41d7500bf9] - doc: fix unit of size argument of readable.read (Tobias Nießen) #35051
- [00eff4a534] - doc: add missing deprecation number (Benjamin Coe) #35630
- [9288f9d74b] - doc: harmonize YAML comments (Antoine du Hamel) #35575
- [16f8298170] - doc: revise description of process.ppid (Pooja D.P) #35589
- [cad86d40de] - doc: add symlink information for process.execpath (Pooja D.P) #35590
- [4025fc811d] - doc: add PoojaDurgad as a triager (Pooja D.P) #35153
- [809cd07968] - doc: document rmdir/recursive deprecation (Benjamin Coe) #35579
- [9d1b7ac334] - doc: edit fs.md for minor style changes (Rich Trott) #35505
- [c1bb364105] - doc: run license builder (Myles Borins) #35577
- [970975b588] - doc: use kbd element in process doc (Rich Trott) #35584
- [64ebbddb5f] - doc: fixup perf_hooks (Antoine du Hamel) #35527
- [b074717af7] - doc: remove incorrect synchronous label (Colin Ihrig) #35561
- [ddf13e0df0] - doc: make fs.rm()'s force docs consistent (Colin Ihrig) #35561
- [4164477b43] - doc: simplify wording in tracing APIs doc (Pooja D.P) #35556
- [c865b02397] - doc: improve SIGINT error text (Rich Trott) #35558
- [7d1cdd411f] - doc: move package.import content higher (Myles Borins) #35535
- [62755b6230] - doc: harmonize changes list ordering (Antoine du Hamel) #35454
- [8cacca0f62] - doc: changes description must end with a period (Antoine du Hamel) #35454
- [28c94ca123] - doc: harmonize version list style in YAML comments (Antoine du Hamel) #35454
- [b3f15b7d89] - doc: fix missing PR-URLs in YAML comments (Antoine du Hamel) #35454
- [02bf73e239] - doc: remove outstanding YAML comment (Antoine du Hamel) #35454
- [a5552468d2] - doc: harmonize YAML comments style in deprecations.md (Antoine du Hamel) #35454
- [863ba4b7da] - doc: refactor the n-api matrix (Michael Dawson) #35345
- [85dc84d1bb] - doc: use sentence case for class property (Rich Trott) #35540
- [01c9c59c85] - doc: add history entry for exports patterns (Antoine du Hamel) #35410
- [51b988ba0f] - doc: fix deprecation history (Antoine du Hamel) #35455
- [328c624cdf] - doc: fix util.inspect change history (Antoine du Hamel) #35528
- [d53cfcd9e7] - doc: improve kbd element rendering (Rich Trott) #35497
- [8877430530] - doc: add aduh95 to collaborators (Antoine du Hamel) #35542
- [8cdc59b34c] - doc: fix YAML syntax errors (Antoine du Hamel) #35529
- [3c90b1a278] - errors: support possible deletion of globalThis.Error (Michaël Zasso) #35499
- [a3c7f8e576] - fs: rimraf should not recurse on failure (Benjamin Coe) #35566
- [939f8e8bfa] - fs: throw rm() validation errors (Colin Ihrig) #35602
- [3a401b8695] - fs: update rm/rmdir validation messages (Colin Ihrig) #35565
- [937fa5d292] - fs: use validateBoolean() in rm/rmdir validation (Colin Ihrig) #35565
- [1ad9aca194] - fs: remove extraneous assignments in rmdir() (Colin Ihrig) #35567
- [1fadcf2163] - fs: simplify validateRmOptions() error handling (Colin Ihrig) #35567
- [8e3b11adb3] - fs: use errno constant with ERR_FS_EISDIR (Colin Ihrig) #35563
- [1610728d7c] - (SEMVER-MINOR) fs: add rm method (Ian Sutherland) #35494
- [6ff152cc67] - (SEMVER-MINOR) http: allow passing array of key/val into writeHead (Robert Nagy) #35274
- [2f1319967c] - http: make response.setTimeout() work (Ben Noordhuis) #34913
- [59a2cb5ebb] - inspector: do not hardcode Debugger.CallFrameId in tests (Dmitry Gozman) #35570
- [cd0b1365ae] - lib: fix readFile flag option typo (Daniil Demidovich) #35292
- [70927560f6] - lib: change http client path assignment (Yohanan Baruchel) #35508
- [fa171dbb7f] - lib: use remaining typed arrays from primordials (Michaël Zasso) #35499
- [7e8fdd399f] - lib: use Number.parseFloat from primordials (Michaël Zasso) #35499
- [5d727f0308] - lib: use Number.parseInt from primordials (Michaël Zasso) #35499
- [77f1e1ea57] - lib: use global Error constructors from primordials (Michaël Zasso) #35499
- [30c6b3e809] - lib: replace String global with primordials (Sebastien Ahkrin) #35397
- [ebf3900795] - lib: replace Int8Array global with primordials (Sebastien Ahkrin) #35397
- [d6ba4ecc4d] - lib: replace Int32Array global with primordials (Sebastien Ahkrin) #35397
- [f544f7a102] - lib: replace Float64Array global with primordials (Sebastien Ahkrin) #35397
- [b82fc409ca] - module: [email protected] big endian fix (Guy Bedford) #35634
- [cb2f6ffd3e] - module: use Wasm CJS lexer when available (Guy Bedford) #35583
- [c995242068] - n-api: support for object freeze/seal (Shelley Vohr) #35359
- [4d1d3f454d] - src: reduced substring calls (Yash Ladha) #34808
- [5946b1ee23] - (SEMVER-MINOR) src: move node_contextify to modern THROW_ERR_* (James M Snell) #35470
- [541082ccd9] - (SEMVER-MINOR) src: move node_process to modern THROW_ERR* (James M Snell) #35472
- [2e67d650bb] - src: fix freeing unintialized pointer bug in ParseSoaReply (Aastha Gupta) #35502
- [93f947af0a] - (SEMVER-MINOR) src: expose v8::Isolate setup callbacks (Shelley Vohr) #35512
- [573410fb69] - (SEMVER-MINOR) stream: multiple stream backports (Robert Nagy) #34887
- [775af7af4f] - test: add regression test for v8.getHeapSnapshot() crash (Anna Henningsen) #35612
- [3d21792f86] - test: mark test-webcrypto-encrypt-decrypt-aes flaky (James M Snell) #35587
- [4a2ba4384b] - test: do not use the same EventEmitter instance (Luigi Pinca) #35560
- [768529736a] - test: add ALPNProtocols option to clientOptions (Luigi Pinca) #35482
- [3a77d1e208] - test: adjust comments for upcoming lint rule (Rich Trott) #35485
- [2992d0b82c] - tools: refloat 7 Node.js patches to cpplint.py (Rich Trott) #35569
- [a19b320a31] - tools: bump cpplint.py to 1.4.6 (Rich Trott) #35569
- [bd344108eb] - Revert "tools: add missing uv_setup_argv() calls" (Beth Griggs) #35641
- [e8434d88fe] - tools,test: enable multiline-comment-style rule in tests (Rich Trott) #35485
New in Node.js 14.13.1 Current (Oct 8, 2020)
- Notable Changes
- fs:
- remove experimental from rmdir recursive (Benjamin Coe) #35171
- Commits
- [f36476d9d6] - build: fix CQ after latest ncu release (Mary Marchini) #35468
- [7dc6b2fac7] - build: add support for section ordering (Gabriel Schulhof) #35272
- [05e08bdf13] - console: add Symbol.toStringTag property (Leko) #35399
- [a01154e3fd] - crypto: fix KeyObject garbage collection (Anna Henningsen) #35481
- [1f15e34dc8] - crypto: set env values in KeyObject Deserialize method (ThakurKarthik) #35416
- [85062b3aad] - deps: update llhttp to 2.1.3 (Fedor Indutny) #35435
- [a995dd7a89] - doc: revise introductory child_process text (Rich Trott) #35344
- [6585b161ba] - doc: improve eventLoopUtilization documentation (Andrey Pechkurov) #35479
- [f08577c4a6] - doc: update AUTHORS list (Anna Henningsen) #35280
- [91ef862365] - doc: mention adding YAML for APIs in PR contributing guide (Denys Otrishko) #35459
- [885840b543] - doc: adopt MDN style for kbd elements (Rich Trott) #35460
- [1313c8c33a] - doc: update sxa's email address to Red Hat from IBM (Stewart X Addison) #35442
- [3f95440334] - doc: fix conditional exports flag removal version (Antoine du Hamel) #35428
- [e40876a5e5] - doc: specify how to detect EOF (Luigi Pinca) #35445
- [541ce17386] - doc: add entry to console.timeEnd() changes array (Luigi Pinca) #35441
- [38a5715c1a] - doc: avoid using deprecated connection property (Luigi Pinca) #35439
- [862b75d35e] - doc: added details around console.timeEnd changes (Yash Ladha) #35027
- [4dbb3a91fe] - doc: copyedit packages.md (Rich Trott) #35427
- [368a3ae415] - doc: update contact information for @BethGriggs (Beth Griggs) #35451
- [a11ddee8b9] - doc: update contact information for richardlau (Richard Lau) #35450
- [35b62ef0a7] - doc: importable node protocol URLs (Bradley Meck) #35434
- [95c62a1dca] - doc: copyedit esm.md (Rich Trott) #35414
- [86f2f83a2f] - doc: implement fancier rendering for keys (Rich Trott) #35400
- [d6427886b8] - doc: unhide resolver spec (Guy Bedford) #35358
- [5a730b5def] - doc: sort md references in ASCII order (Antoine du Hamel) #35191
- [ce789f1ca4] - doc: use .md extension for internal links (Antoine du Hamel) #35191
- [79e3e5008d] - doc: update example ICU URL (Daijiro Wachi) #35373
- [998b24ef17] - doc: align to function signature (anlex N) #34930
- [af360ace37] - doc: make minor edits for consistency (Rich Trott) #35377
- [53e27b3f67] - doc,esm: add history support info (Antoine du Hamel) #35395
- [91b820e939] - esm: use "node:" namespace for builtins (Guy Bedford) #35387
- [541be526c3] - fs: do not throw exception after creating FSReqCallback (Anna Henningsen) #35487
- [f29451dece] - fs: simplify realpathSync (himself65) #35413
- [fcbdb0686d] - fs: remove experimental from rmdir recursive (Benjamin Coe) #35171
- [e4a4f81d19] - fs: use Promise.resolve from primordials (Michaël Zasso) #35379
- [8e3a81eed9] - http2,tls: store WriteWrap using BaseObjectPtr (Anna Henningsen) #35488
- [62ddc77a5b] - meta: add nodejs/streams to CODEOWNERS (Matteo Collina) #35411
- [23022066ec] - meta: add startup team in CODEOWNERS (Joyee Cheung) #35406
- [0ac5fa703e] - module: update to [email protected] (Guy Bedford) #35501
- [5c879a97e6] - module: fix builtin reexport tracing (Guy Bedford) #35500
- [f23a0e250c] - module: refine module type mismatch error cases (Guy Bedford) #35426
- [3f62f997a2] - src: more idiomatic error pattern in node_wasi (James M Snell) #35493
- [392c8815fe] - src: use env->ThrowUVException in pipe_wrap (James M Snell) #35493
- [e09f7f023a] - src: limit GetProcessTitle() result to 1MB (Anna Henningsen) #35492
- [fbb9dd9ac9] - src: fix aliased buffer import warning in env.h (Yash Ladha) #35436
- [7bbf8ee256] - src: remove invalid ToLocalChecked in EmitBeforeExit (Anna Henningsen) #35484
- [5a85d4f2c6] - src: make MakeCallback() check can_call_into_js before getting method (Anna Henningsen) #35424
- [4aed176b68] - src: document required else block at src/node_platform.cc (Juan José Arboleda) #34688
- [552ebafd06] - test: update wpt tests for encoding (Daijiro Wachi) #35330
- [27cd99b217] - test: improve test coverage for eventtarget (Juan José Arboleda) #33733
- [5790c40c32] - tools: add missing uv_setup_argv() calls (Anna Henningsen) #35491
- [f499302ac0] - tools: fix typo in error message (Antoine du Hamel) #35417
- [5f1d792a09] - tools: update gyp to v0.5.0 (Ujjwal Sharma) #32698
- [ad8fce6e61] - tools: update gyp to v0.4.0 (Ujjwal Sharma) #32698
- [3e75907dea] - tools: update gyp-next to v0.3.0 (Ujjwal Sharma) #32698
- [7361a3fd1a] - tools: update gyp-next to v0.2.1 (Ujjwal Sharma) #32698
- [190d46bdde] - tools: update gyp to 0.2.0 (Ujjwal Sharma) #32698
- [166f14ac98] - tools: check links in api docs (Antoine du Hamel) #35191
- [a4e5a3af85] - tools: exclude gyp from markdown link checker (Michaël Zasso) #35423
- [4d29fb56f2] - tools: add pythonenv to .gitignore (Michaël Zasso) #35389
- [6e9e5c3381] - tools,doc: fix broken link in module.html (Rich Trott) #35446
New in Node.js 12.19.0 LTS (Oct 8, 2020)
- Notable Changes:
- [d065334d42] - (SEMVER-MINOR) module: package "imports" field (Guy Bedford) #34117
- [b9d0f73c7c] - (SEMVER-MINOR) n-api: create N-API version 7 (Gabriel Schulhof) #35199
- [53c9975673] - (SEMVER-MINOR) crypto: add randomInt function (Oli Lalonde) #34600
- [9b53b4ddf2] - deps: upgrade to libuv 1.39.0 (Colin Ihrig) #34915
- [e9a8f0c127] - doc: add Ricky Zhou to collaborators (rickyes) #34676
- [260914c432] - doc: add release key for Ruy Adorno (Ruy Adorno) #34628
- [39f90346f8] - doc: add DerekNonGeneric to collaborators (Derek Lewis) #34602
- [7ef1f6a71d] - deps: upgrade npm to 6.14.7 (claudiahdz) #34468
- [437b092eed] - doc: add AshCripps to collaborators (Ash Cripps) #34494
- [319d570a47] - doc: add HarshithaKP to collaborators (Harshitha K P) #34417
- [d60b13f2e3] - zlib: switch to lazy init for zlib streams (Andrey Pechkurov) #34048
- [ae60f50a69] - doc: add rexagod to collaborators (Pranshu Srivastava) #34457
- [39dea8f70d] - doc: add release key for Richard Lau (Richard Lau) #34397
- [a2107101be] - doc: add danielleadams to collaborators (Danielle Adams) #34360
- [c4f0cb65a1] - doc: add sxa as collaborator (Stewart X Addison) #34338
- [e9a514d13e] - deps: upgrade to libuv 1.38.1 (Colin Ihrig) #34187
- [a04d76d2ad] - doc: add ruyadorno to collaborators (Ruy Adorno) #34297
- [c9bd1a7d8a] - (SEMVER-MINOR) module: deprecate module.parent (Antoine du HAMEL) #32217
- [0a927216cf] - (SEMVER-MAJOR) doc: deprecate process.umask() with no arguments (Colin Ihrig) #32499
- Commits:
- [27ceec0bc6] - Forces Powershell to use tls1.2 (Bartosz Sosnowski) #33609
- [d73b8346b8] - (SEMVER-MINOR) assert: port common.mustCall() to assert (ConorDavenport) #31982
- [148383fdc3] - async_hooks: avoid GC tracking of AsyncResource in ALS (Gerhard Stoebich) #34653
- [0a4401713a] - async_hooks: avoid unneeded AsyncResource creation (Gerhard Stoebich) #34616
- [07968ac456] - async_hooks: improve property descriptors in als.bind (Gerhard Stoebich) #34620
- [45d2f4dd3c] - (SEMVER-MINOR) async_hooks: add AsyncResource.bind utility (James M Snell) #34574
- [61683e1763] - async_hooks: don't read resource if ALS is disabled (Gerhard Stoebich) #34617
- [95e0f8ef52] - async_hooks: execute destroy hooks earlier (Gerhard Stoebich) #34342
- [cfc769b048] - async_hooks: fix resource stack for deep stacks (Anna Henningsen) #34573
- [b2241e9fc1] - async_hooks: improve resource stack performance (Anna Henningsen) #34319
- [24fddba59b] - benchmark: add benchmark script for resourceUsage (Yash Ladha) #34691
- [145691b83e] - benchmark: always throw the same Error instance (Anna Henningsen) #34523
- [7bc26c2e8c] - bootstrap: correct --frozen-intrinsics override fix (Guy Bedford) #35041
- [6ee800f0c3] - (SEMVER-MINOR) buffer: also alias BigUInt methods (Anna Henningsen) #34960
- [9d07217d2c] - (SEMVER-MINOR) buffer: alias UInt ➡️ Uint in buffer methods (Anna Henningsen) #34729
- [8f2d2aa9e3] - build: increase API requests for stale action (Phillip Johnsen) #35235
- [ff0b1000d1] - build: filter issues & PRs to auto close by matching on stalled label (Phillip Johnsen) #35159
- [06c5120eef] - (SEMVER-MINOR) build: add build flag for OSS-Fuzz integration (davkor) #34761
- [9107595acd] - build: comment about auto close when stalled via with github action (Phillip Johnsen) #34555
- [60774c08e3] - build: close stalled issues and PRs with github action (Phillip Johnsen) #34555
- [9bb681458c] - build: use autorebase option for git node land (Denys Otrishko) #34969
- [8d27998bd6] - build: use latest node-core-utils from npm (Denys Otrishko) #34969
- [d2f44a74f8] - build: add support for build on arm64 (Evan Lucas) #34238
- [ea56aea452] - build: run link checker in linter workflow (Richard Lau) #34810
- [9e1f8fcb65] - build: implement a Commit Queue in Actions (Mary Marchini) #34112
- [380600dbe5] - build: set --v8-enable-object-print by default (Mary Marchini) #34705
- [191d0ae311] - build: add flag to build V8 with OBJECT_PRINT (Mary Marchini) #32834
- [f6ad59b60f] - build: do not run auto-start-ci on forks (Evan Lucas) #34650
- [90a44e198b] - build: increase startCI verbosity and fix job name (Mary Marchini) #34635
- [7886e763f5] - build: don't run auto-start-ci on push (Mary Marchini) #34588
- [544a722de4] - build: fix auto-start-ci script path (Mary Marchini) #34588
- [e51b2680a8] - build: auto start Jenkins CI via PR labels (Mary Marchini) #34089
- [343894f990] - build: toolchain.gypi and node_gyp.py cleanup (iandrc) #34268
- [e7252df0b9] - build: fix test-ci-js task in Makefile (Rich Trott) #34433
- [833474f844] - build: do not run benchmark tests on 'make test' (Rich Trott) #34434
- [f14775e492] - build: add benchmark tests to CI runs (Rich Trott) #34288
- [acf63b009d] - build,deps: add gen-openssl target (Evan Lucas) #34642
- [b977672edc] - build,tools: fix cmd_regen_makefile (Daniel Bevenius) #34255
- [17a098b9e6] - (SEMVER-MINOR) cli: add alias for report-directory to make it consistent (Ash Cripps) #33587
- [b329a95c01] - console: document the behavior of console.assert() (iandrc) #34501
- [ed72d83802] - crypto: simplify KeyObject constructor (Rich Trott) #35064
- [b828560908] - (SEMVER-MINOR) crypto: allow KeyObjects in postMessage (Tobias Nießen) #33360
- [2b7273b2ad] - crypto: improve invalid arg type message for randomInt() (Rich Trott) #35089
- [bf5a85b43a] - crypto: improve randomInt out-of-range error message (Rich Trott) #35088
- [5ef9ee4254] - crypto: fix randomInt range check (Tobias Nießen) #35052
- [921129c1d8] - crypto: align parameter names with documentation (Rich Trott) #35054
- [53c9975673] - (SEMVER-MINOR) crypto: add randomInt function (Oli Lalonde) #34600
- [39dc4086fe] - crypto: avoid unitializing ECDH objects on error (Tobias Nießen) #34302
- [865f8e85c4] - crypto: add OP flag constants added in OpenSSL v1.1.1 (Mateusz Krawczuk) #33929
- [bf4e778e50] - crypto: move typechecking for timingSafeEqual into C++ (Anna Henningsen) #34141
- [4ff6c77e17] - deps: V8: cherry-pick e06ace6b5cdb (Anna Henningsen) #34673
- [5db8b357ce] - deps: V8: cherry-pick eec10a2fd8fa (Stephen Belanger) #33778
- [e9e3390b18] - deps: V8: backport 3f071e3e7e15 (Milad Fa) #35305
- [57564eb86d] - deps: V8: cherry-pick 71736859756b2bd0444bdb0a87a (Daniel Bevenius) #35205
- [481cced20e] - deps: update brotli to v1.0.9 (Anna Henningsen) #34937
- [f6c0b270e0] - deps: add openssl support for arm64 (Evan Lucas) #34238
- [9b53b4ddf2] - deps: upgrade to libuv 1.39.0 (Colin Ihrig) #34915
- [f87b6c0f7c] - deps: upgrade npm to 6.14.8 (Ruy Adorno) #34834
- [f710dbf1b7] - deps: update to uvwasi 0.0.10 (Colin Ihrig) #34623
- [7ef1f6a71d] - deps: upgrade npm to 6.14.7 (claudiahdz) #34468
- [e9a514d13e] - deps: upgrade to libuv 1.38.1 (Colin Ihrig) #34187
- [60b697de30] - deps: V8: cherry-pick 7889803e82d3 (Zhao Jiazhong) #34214
- [de174cd1bc] - (SEMVER-MINOR) dgram: add IPv6 scope id suffix to received udp6 dgrams (Pekka Nikander) #14500
- [be6aee9f53] - (SEMVER-MINOR) dgram: allow typed arrays in .send() (Sarat Addepalli) #22413
- [1a8669d6ec] - (SEMVER-MINOR) doc: Add maxTotalSockets option to agent constructor (rickyes) #33617
- [05da376c05] - doc: remove errors that were never released (Rich Trott) #34197
- [831328bdb2] - doc: add note about multiple sync events and once (James M Snell) #34220
- [a9f0fc9896] - doc: document behavior for once(ee, 'error') (James M Snell) #34225
- [ed055c010d] - doc: replace http to https of link urls (sapics) #34158
- [cef9921c74] - doc: specify how fs.WriteStream/ReadStreams are created (James M Snell) #34188
- [4277d952c0] - doc: mark assert.CallTracker experimental (Ruben Bridgewater) #33124
- [1a7082052f] - (SEMVER-MINOR) doc: add basic embedding example documentation (Anna Henningsen) #30467
- [55dc7aaaa3] - doc: standardize on _backward_ (Rich Trott) #35243
- [746517aad5] - doc: revise stability section of values doc (Rich Trott) #35242
- [1018e520d6] - doc: remove excessive formatting in dgram.md (Rich Trott) #35234
- [e026ce9b82] - doc: sort repl references in ASCII order (Rich Trott) #35230
- [6669effc4d] - doc: clarify use of NAPI_EXPERIMENTAL (Michael Dawson) #35195
- [89636e3257] - doc: update attributes used by n-api samples (#35220) (Gerhard Stoebich)
- [e21d1cd58f] - doc: add issue labels sections to release guide (Michaël Zasso) #35224
- [f050ecc3b1] - doc: fix small grammatical issues in timers.md (Turner Jabbour) #35203
- [d81db1dcb9] - doc: add technical values document (Michael Dawson) #35145
- [ee1bcdbe0d] - doc: remove "end user" (Rich Trott) #35200
- [3ffaf66886] - doc: replace "you should do X" with "do X" (Rich Trott) #35194
- [c606ed761c] - doc: fix missing word in dgram.md (Tom Atkinson) #35231
- [3094ace6b0] - doc: fix deprecation documentation inconsistencies (Antoine du HAMEL) #35082
- [2b86032728] - doc: fix broken link in crypto.md (Rich Trott) #35181
- [4af4a809c2] - doc: remove problematic auto-linking of curl man pages (Rich Trott) #35174
- [d94dac467b] - doc: update process.release (schamberg97) #35167
- [52eba5b542] - doc: add missing copyFile change history (Shelley Vohr) #35056
- [799fad73e9] - doc: perform cleanup on security-release-process.md (Rich Trott) #35154
- [62436e6bab] - doc: fix minor punctuation issue in path.md (Amila Welihinda) #35127
- [23dcfe52ac] - doc: fix left nav color contrast (Rich Trott) #35141
- [745987e9f5] - doc: update contact info for Ash Cripps (Ash Cripps) #35139
- [f3f72fd951] - doc: update my email address (Michael Dawson) #35121
- [0f9908beef] - doc: add missing changes entry for breakEvalOnSigint REPL option (Anna Henningsen) #35143
- [f0b9866a93] - doc: update security process (Michael Dawson) #35107
- [255d47a6b1] - doc: fix broken link in perf_hooks.md (Rich Trott) #35113
- [1e3982047d] - doc: fix broken link in http2.md (Rich Trott) #35112
- [ec5a0ada51] - doc: fix broken link in fs.md (Rich Trott) #35111
- [55b8caa958] - doc: fix broken links in deprecations.md (Rich Trott) #35109
- [3954b8f12d] - doc: add note about path.basename on Windows (Tobias Nießen) #35065
- [bf39354cbc] - doc: add link to safe integer definition (Tobias Nießen) #35049
- [8ed4ab5ac4] - doc: format exponents better (Tobias Nießen) #35050
- [b117467a77] - doc: improve link-local text in dgram.md (Rich Trott) #34868
- [14d4bfa7c8] - doc: use _Static method_ instead of _Class Method_ (Rich Trott) #34659
- [d05f615896] - doc: tidy some addons.md text (Rich Trott) #34654
- [5846befacb] - doc: use _Class Method_ in async_hooks.md (Rich Trott) #34626
- [2302dff635] - doc: fix typo in cli.md for report-dir (Ash Cripps) #33725
- [65b7bf40b8] - doc: restore color for visited links (Rich Trott) #35108
- [ef8d3731eb] - doc: change stablility-2 color for accessibility (Rich Trott) #35061
- [7c947b26e8] - doc: add deprecated badge to legacy URL methods (Antoine du HAMEL) #34931
- [fb1a1339de] - doc: spruce up user journey to local docs browsing (Derek Lewis) #34986
- [08b56130db] - doc: update syntax highlighting color for accessibility (Rich Trott) #35063
- [1ce26fe50c] - doc: remove style for empty links (Antoine du HAMEL) #35034
- [3c984115a0] - doc: fix certificate display in tls doc (Rich Trott) #35032
- [d7989bd1d7] - doc: use consistent header typography (Rich Trott) #35030
- [80fa1f5722] - doc: fix malformed hashes in assert.md (Rich Trott) #35028
- [2529ba261b] - doc: change color contrast for accessibility (Rich Trott) #35047
- [8cc7a730a5] - doc: revise commit-queue.md (Rich Trott) #35006
- [e7c74ebee2] - doc: change effected to affected (Turner Jabbour) #34989
- [c68c6cd485] - doc: drop the --production flag for installing windows-build-tools (DeeDeeG) #34979
- [4d28435104] - doc: fix broken link to response.writableFinished in deprecations doc (Rich Trott) #34983
- [23389a082f] - doc: fix broken link to response.finished in deprecations doc (Rich Trott) #34982
- [4e2415fc6a] - doc: fix broken link to writableEnded in deprecations doc (Rich Trott) #34984
- [b575e6341c] - doc: fix typos in buffer doc (Robert Williams) #34981
- [0695e243de] - doc: make minor improvements to query string sentence in http2.md (Rich Trott) #34929
- [a5b4526f5d] - doc: simplify "make use of" to "use" (Rich Trott) #34861
- [1e33bfcc6a] - doc: make minor fixes to maintaining-openssl.md (Rich Trott) #34926
- [533d00d05d] - doc: fix CHANGELOG.md parsing issue (Juan José Arboleda) #34923
- [1b27f098bd] - doc: provide more guidance about process.version (Rich Trott) #34909
- [f50fec605d] - doc: use consistent typography for node-addon-api (Rich Trott) #34910
- [222fcb1e66] - doc: use "previous"/"preceding" instead of "above" as modifier (Rich Trott) #34877
- [961844d25b] - doc: improve fs doc intro (James M Snell) #34843
- [26b060f4cd] - doc: indicate the format of process.version (Danny Guo) #34872
- [da150f4e1e] - doc: fix ESM/CJS wrapper example (Maksim Sinik) #34853
- [3ea7e03ae4] - doc: adopt Microsoft Style Guide officially (Rich Trott) #34821
- [5f09f45d1f] - doc: use 'console' info string for console output (Rich Trott) #34837
- [9d52480396] - doc: move addaleax to TSC emeritus (Anna Henningsen) #34809
- [6d9e6f6186] - doc: remove space above version picker (Justice Almanzar) #34768
- [c53c34c045] - doc: reorder deprecated tls docs (Jerome T.K. Covington) #34687
- [edda492a94] - doc: fix file name to main.mjs and not main.js in esm.md (Frank Lemanschik) #34786
- [3abcc74882] - doc: improve async_hooks snippets (Andrey Pechkurov) #34829
- [fd4f561ce4] - doc: fix some typos and grammar mistakes (Hilla Shahrabani) #34800
- [7a983f5f1d] - doc: remove "is recommended from crypto legacy API text (Rich Trott) #34697
- [c7fc16e10a] - doc: fix broken links in commit-queue.md (Luigi Pinca) #34789
- [09687b85f7] - doc: avoid _may_ in collaborator guide (Rich Trott) #34749
- [f295869ba3] - doc: use sentence-casing for headers in collaborator guide (Rich Trott) #34713
- [94039b75d3] - doc: edit (general) collaborator guide (Rich Trott) #34712
- [653d88ac13] - doc: reduce repetitiveness on Consensus Seeking (Mary Marchini) #34702
- [b28a6a57c4] - doc: remove typo in crypto.md (Rich Trott) #34698
- [c189832647] - doc: n-api environment life cycle APIs are stable (Jim Schlight) #34641
- [898947b5b1] - doc: add padding in the sidebar column (Antoine du HAMEL) #34665
- [75ea463c25] - doc: use semantically appropriate tag for lines (Antoine du HAMEL) #34660
- [0da5ac805c] - doc: add HPE_UNEXPECTED_CONTENT_LENGTH error description (Nikolay Krashnikov) #34596
- [75ed2f6e2e] - doc: update http server response 'close' event (Renato Mariscal) #34472
- [0ba9052b57] - doc: add writable and readable options to Duplex docs (Priyank Singh) #34383
- [d0bf0f9c00] - doc: harden policy around objections (Mary Marchini) #34639
- [e9a8f0c127] - doc: add Ricky Zhou to collaborators (rickyes) #34676
- [fc612d5635] - doc: edit process.title note for brevity and clarity (Rich Trott) #34627
- [3dda55aedf] - doc: update fs.watch() availability for IBM i (iandrc) #34611
- [dc6e7f8584] - doc: fix typo in path.md (aetheryx) #34550
- [260914c432] - doc: add release key for Ruy Adorno (Ruy Adorno) #34628
- [e67bd9e050] - doc: clarify process.title inconsistencies (Corey Butler) #34557
- [c56a29178b] - doc: document the connection event for HTTP2 & TLS servers (Tim Perry) #34531
- [059db0591c] - doc: mention null special-case for napi_typeof (Renée Kooi) #34577
- [39f90346f8] - doc: add DerekNonGeneric to collaborators (Derek Lewis) #34602
- [65a0ddbfc3] - doc: use consistent spelling for "falsy" (Rich Trott) #34545
- [261fd11d4b] - doc: simplify and clarify console.assert() documentation (Rich Trott) #34544
- [b4b2057fb6] - doc: use consistent capitalization for addons (Rich Trott) #34536
- [2410a0f7cb] - doc: add mmarchini pronouns (Mary Marchini) #34586
- [de03d635d4] - doc: update mmarchini contact info (Mary Marchini) #34586
- [873e84366c] - doc: update .mailmap for mmarchini (Mary Marchini) #34586
- [f350b512e7] - doc: use sentence-case for headers in SECURITY.md (Rich Trott) #34525
- [057613c464] - Revert "doc: move ronkorving to emeritus" (Rich Trott) #34507
- [9c725919fc] - doc: use sentence-case for GOVERNANCE.md headers (Rich Trott) #34503
- [c95964afd6] - doc: revise onboarding-extras (Rich Trott) #34496
- [3db13a8043] - doc: remove breaking-change-helper from onboarding-extras (Rich Trott) #34497
- [cef1284a22] - doc: add Triagers section to table of contents in GOVERNANCE.md (Rich Trott) #34504
- [8c0a781ee0] - doc: onboarding process extras (Gireesh Punathil) #34455
- [b37b3f017f] - doc: mention triage in GOVERNANCE.md (Gireesh Punathil) #34426
- [dfdedfd67a] - doc: move thefourtheye to emeritus (Rich Trott) #34471
- [56d5ba852f] - doc: move ronkorving to emeritus (Rich Trott) #34471
- [f70cbc63b8] - doc: match link text in index to doc headline (Rich Trott) #34449
- [437b092eed] - doc: add AshCripps to collaborators (Ash Cripps) #34494
- [c91e31ded2] - doc: add author-ready label ref to onboarding doc (Ruy Adorno) #34381
- [319d570a47] - doc: add HarshithaKP to collaborators (Harshitha K P) #34417
- [ae60f50a69] - doc: add rexagod to collaborators (Pranshu Srivastava) #34457
- [8ee83a9d58] - doc: add statement of purpose to documentation style guide (Rich Trott) #34424
- [39dea8f70d] - doc: add release key for Richard Lau (Richard Lau) #34397
- [e15dc5f6ea] - doc: use correct identifier for callback argument (Rich Trott) #34405
- [88bd124d5c] - doc: add changes metadata to TLS newSession event (Tobias Nießen) #34294
- [0f050d4597] - doc: introduce a triager role (Gireesh Punathil) #34295
- [857ba90138] - doc: strengthen suggestion in errors.md (Rich Trott) #34390
- [7c7d3e3697] - doc: strengthen wording about fs.access() misuse (Rich Trott) #34352
- [1d64c2c345] - doc: fix typo in assert.md (Ye-hyoung Kang) #34316
- [7be8dded52] - doc: clarify conditional exports guidance (Guy Bedford) #34306
- [c1b5c89e60] - doc: reword warnings about sockets passed to subprocesses (Rich Trott) #34273
- [a2107101be] - doc: add danielleadams to collaborators (Danielle Adams) #34360
- [eff1febe9e] - doc: buffer documentation improvements (James M Snell) #34230
- [ba7ba4fe14] - doc: improve text in fs docs about omitting callbacks (Rich Trott) #34307
- [c4f0cb65a1] - doc: add sxa as collaborator (Stewart X Addison) #34338
- [513ad146c8] - doc: move sebdeckers to emeritus (Rich Trott) #34298
- [a04d76d2ad] - doc: add ruyadorno to collaborators (Ruy Adorno) #34297
- [3064755d31] - doc: move kfarnung to collaborator emeriti list (Rich Trott) #34258
- [ea33e738fb] - doc: specify encoding in text/html examples (James M Snell) #34222
- [2615e55d93] - doc: document the ready event for Http2Stream (James M Snell) #34221
- [fbb36ed5c4] - doc: add comment to example about 2xx status codes (James M Snell) #34223
- [f2f1537ea0] - doc: document that whitespace is ignored in base64 decoding (James M Snell) #34227
- [0ebb30bb88] - doc: document security issues with url.parse() (James M Snell) #34226
- [b60b6d7404] - doc: move digitalinfinity to emeritus (Rich Trott) #34191
- [e65d6fddaf] - doc: move gibfahn to emeritus (Rich Trott) #34190
- [c62941e84c] - doc: remove parenthetical rn comment in http and http2 docs (Rich Trott) #34178
- [9bb70a498d] - doc: remove stability from unreleased errors (Rich Trott) #33764
- [a7a564b418] - doc: util.debuglog callback (Bradley Meck) #33856
- [089a4479a4] - doc: update wording in "Two reading modes" (Julien Poissonnier) #34119
- [32ef1b3347] - doc: clarify that the ctx argument is optional (Luigi Pinca) #34097
- [8960a63312] - doc: add a reference to the list of OpenSSL flags. (Mateusz Krawczuk) #34050
- [4ac0df9160] - doc: no longer maintain a CNA structure (Sam Roberts) #33639
- [75637e6867] - doc: use consistent naming in stream doc (Saleem) #30506
- [71664158fc] - doc: clarify how to read process.stdin (Anentropic) #27350
- [25939ccded] - doc: fix entry for napi_create_external_buffer (Gabriel Schulhof) #34125
- [5f131f71e9] - doc: fix source link margin to sub-header mark (Rodion Abdurakhimov) #33664
- [f12c6f406a] - doc: improve async_hooks asynchronous context example (Denys Otrishko) #33730
- [8fb265d03c] - doc: clarify esm conditional exports prose (Derek Lewis) #33886
- [49383c8a25] - doc: improve triaging text in issues.md (Rich Trott) #34164
- [a9302b50c9] - doc: simply dns.ADDRCONFIG language (Rich Trott) #34155
- [1d25e70392] - doc: remove "considered" in errors.md (Rich Trott) #34152
- [f6dff0a57e] - doc: simplify and clarify ReferenceError material in errors.md (Rich Trott) #34151
- [e2fff1b1b0] - doc: add http highlight grammar (Derek Lewis) #33785
- [19bfc012d1] - doc: move sam-github to TSC Emeriti (Sam Roberts) #34095
- [c78ef2d35c] - doc: change "considered experimental" to "experimental" in n-api.md (Rich Trott) #34129
- [3d5f7674e7] - doc: changed "considered experimental" to "experimental" in cli.md (Rich Trott) #34128
- [6c739aac55] - doc: improve text in issues.md (falguniraina) #33973
- [0672384be9] - doc: change "currently not considered public" to "not supported" (Rich Trott) #34114
- [64e182553e] - doc: clarify that APIs are no longer experimental (Rich Trott) #34113
- [e4ac393383] - doc: clarify O_EXCL text in fs.md (Rich Trott) #34096
- [d67cb7ed0f] - doc: clarify ambiguous rdev description (Rich Trott) #34094
- [c6ea3d6616] - doc: make minor improvements to paragraph in child_process.md (Rich Trott) #34063
- [21b0132eec] - doc: improve paragraph in esm.md (Rich Trott) #34064
- [66cd7bf69d] - doc: clarify require/import mutual exclusivity (Guy Bedford) #33832
- [5ba0ba4b69] - doc: add dynamic source code links (Alec Davidson) #33996
- [51cdd10ea5] - doc: mention errors thrown by methods called on an unbound dgram.Socket (Mateusz Krawczuk) #33983
- [6d22ae3630] - doc: document n-api callback scope usage (Gabriel Schulhof) #33915
- [e4854de18c] - doc: standardize constructor doc header layout (Rich Trott) #33781
- [79c4c73f4c] - doc: split process.umask() entry into two (Rich Trott) #32711
- [0a927216cf] - (SEMVER-MAJOR) doc: deprecate process.umask() with no arguments (Colin Ihrig) #32499
- [05dae0231b] - doc,lib: remove unused error code (Rich Trott) #34792
- [e8ddaa3f0e] - doc,n-api: add link to n-api tutorial website (Jim Schlight) #34870
- [b47172d2ed] - doc,test: specify and test CLI option precedence rules (Anna Henningsen) #35106
- [3975dd3525] - doc,tools: remove malfunctioning Linux manpage linker (Rich Trott) #34985
- [f57104bb1a] - doc,tools: annotate broken links in actions workflow (Richard Lau) #34810
- [7b29c91944] - doc,tools: syntax highlight api docs at compile-time (Francisco Ryan Tolmasky I) #34148
- [7a8f59f1d6] - (SEMVER-MINOR) embedding: make Stop() stop Workers (Anna Henningsen) #32531
- [ff0a0366f7] - (SEMVER-MINOR) embedding: provide hook for custom process.exit() behaviour (Anna Henningsen) #32531
- [5c968a0f92] - errors: use ErrorPrototypeToString from primordials object (ExE Boss) #34891
- [bf7b796491] - esm: better package.json parser errors (Guy Bedford) #35117
- [9159649395] - esm: shorten ERR_UNSUPPORTED_ESM_URL_SCHEME message (Rich Trott) #34836
- [551be2aeb9] - esm: improve error message of ERR_UNSUPPORTED_ESM_URL_SCHEME (Denys Otrishko) #34795
- [5c3c8b3029] - events: variable originalListener is useless (fuxingZhang) #33596
- [ff7fbc38f1] - events: improve listeners() performance (Brian White) #33863
- [830574f199] - events: improve arrayClone performance (Brian White) #33774
- [a19933f7fc] - (SEMVER-MINOR) fs: implement lutimes (Maël Nison) #33399
- [3d1bdc254c] - (SEMVER-MINOR) http: add maxTotalSockets to agent class (rickyes) #33617
- [fb68487b8c] - (SEMVER-MINOR) http: return this from IncomingMessage#destroy() (Colin Ihrig) #32789
- [388d125a64] - (SEMVER-MINOR) http: expose host and protocol on ClientRequest (wenningplus) #33803
- [756ac65218] - http: fix crash for sync write errors during header parsing (Anna Henningsen) #34251
- [10815c4eff] - http: provide keep-alive timeout response header (Robert Nagy) #34561
- [e52cc24e31] - http: don't write error to socket (Robert Nagy) #34465
- [4e07faa7cf] - http: add note about timer unref (Robert Nagy) #34143
- [1a09b4d2ca] - http: fixes memory retention issue with FreeList and HTTPParser (John Leidegren) #33190
- [ec1df7b4c9] - http: fix incorrect headersTimeout measurement (Alex R) #32329
- [ca836344fa] - http: don't throw on Uint8Arrays for http.ServerResponse#write (Pranshu Srivastava) #33155
- [4079cdd5f2] - http2: fix Http2Response.sendDate (João Lucas Lucchetta) #34850
- [7551a8be47] - (SEMVER-MINOR) http2: return this for Http2ServerRequest#setTimeout (Pranshu Srivastava) #33994
- [4d0129aefb] - (SEMVER-MINOR) http2: do not modify explicity set date headers (Pranshu Srivastava) #33160
- [45d712c6f6] - http2: add maxHeaderSize option to http2 (Priyank Singh) #33636
- [4a2accb3d0] - internal: rename error-serdes for consistency (Evan Lucas) #33793
- [9f16b7f332] - lib: improve debuglog() performance (Brian White) #32260
- [efd46e3b61] - lib: always initialize esm loader callbackMap (Shelley Vohr) #34127
- [f29ab4092f] - lib: add UNC support to url.pathToFileURL() (Matthew McEachen) #34743
- [176f8c35c5] - lib: use non-symbols in isURLInstance check (Shelley Vohr) #34622
- [633b4d5e62] - lib: absorb path error cases (Gireesh Punathil) #34519
- [6054e213f9] - lib: simplify assignment (sapics) #33718
- [32c51c6c7d] - lib: replace http to https of comment link urls (sapics) #34158
- [d1be44c705] - meta: update module pages in CODEOWNERS (Antoine du Hamel) #34932
- [09100ce4ce] - meta: add links to OpenJSF Slack (Mary Marchini) #35128
- [c7eb462bde] - meta: update my collab entry (devsnek) #35160
- [2b3d4bd550] - meta: remove non-existent quic from CODEOWNERS (Richard Lau) #34947
- [36c705d83b] - meta: enable wasi for CODEOWNERS (gengjiawen) #34889
- [fb98e762ce] - meta: fix codeowners docs path (Mary Marchini) #34811
- [5119586c0b] - meta: add TSC as owner of governance-related docs (Mary Marchini) #34737
- [6d6bd2dc3b] - meta: uncomment all codeowners (Mary Marchini) #34670
- [ac0b9496e5] - meta: enable http2 team for CODEOWNERS (Rich Trott) #34534
- [2ac653dc1a] - meta: make issue template mobile friendly and address nits (Derek Lewis) #34243
- [6319c8f8bb] - meta: add N-API to codeowners coverage (Michael Dawson) #34039
- [78ee480469] - meta: fixup CODEOWNERS so it hopefully works (James M Snell) #34147
- [ed3278d55d] - module: fix crash on multiline named cjs imports (Christoph Tavan) #35275
- [89a58f61d7] - module: use isURLInstance instead of instanceof (Antoine du HAMEL) #34951
- [fc93cc95d8] - module: drop -u alias for --conditions (Richard Lau) #34935
- [740c95819f] - module: fix check for package.json at volume root (Derek Lewis) #34595
- [cecc193abc] - module: share CJS/ESM resolver fns, refactoring (Guy Bedford) #34744
- [d9857fdbc2] - module: custom --conditions flag option (Guy Bedford) #34637
- [3ad146d474] - module: use cjsCache over esm injection (Guy Bedford) #34605
- [00aa935f5c] - module: self referential modules in repl or -r (Daniele Belardi) #32261
- [d065334d42] - (SEMVER-MINOR) module: package "imports" field (Guy Bedford) #34117
- [c9bd1a7d8a] - (SEMVER-MINOR) module: deprecate module.parent (Antoine du HAMEL) #32217
- [b9d0f73c7c] - (SEMVER-MINOR) n-api: create N-API version 7 (Gabriel Schulhof) #35199
- [a5aa3ddacf] - n-api: re-implement async env cleanup hooks (Gabriel Schulhof) #34819
- [c440748779] - n-api: fix use-after-free with napi_remove_async_cleanup_hook (Anna Henningsen) #34662
- [e7486d4df6] - (SEMVER-MINOR) n-api: support type-tagging objects (Gabriel Schulhof) #28237
- [a6b655614f] - n-api: handle weak no-finalizer refs correctly (Gabriel Schulhof) #34839
- [02fe75026e] - n-api: simplify bigint-from-word creation (Gabriel Schulhof) #34554
- [ba2e341f1d] - n-api: run all finalizers via SetImmediate() (Gabriel Schulhof) #34386
- [2cf231678b] - (SEMVER-MINOR) n-api,src: provide asynchronous cleanup hooks (Anna Henningsen) #34572
- [3c4abe0e91] - net: replace usage of internal stream state with public api (Denys Otrishko) #34885
- [6b5d679c80] - net: validate custom lookup() output (Colin Ihrig) #34813
- [09056fdf38] - net: don't return the stream object from onStreamRead (Robey Pointer) #34375
- [76ba129151] - net: allow wider regex in interface name (Stewart X Addison) #34364
- [ce5d0db34b] - net: fix bufferSize (Robert Nagy) #34088
- [2c409a2853] - (SEMVER-MINOR) perf_hooks: add idleTime and event loop util (Trevor Norris) #34938
- [35ff592613] - policy: increase tests via permutation matrix (Bradley Meck) #34404
- [0ede223fa8] - policy: add startup benchmark and make SRI lazier (Bradley Farias) #29527
- [53eae0dafd] - process: correctly parse Unicode in NODE_OPTIONS (Bartosz Sosnowski) #34476
- [6ccacdfddb] - querystring: manage percent character at unescape (Daijiro Wachi) #35013
- [b7be751447] - repl: support --loader option in builtin REPL (Michaël Zasso) #33437
- [63cd05b1d6] - src: fix ParseEncoding (sapics) #33957
- [090f86955f] - src: fix minor comment typo in KeyObjectData (Daniel Bevenius) #34167
- [50b1cde872] - (SEMVER-MINOR) src: store key data in separate class (Tobias Nießen) #33360
- [bf3aaa31d0] - (SEMVER-MINOR) src: add NativeKeyObject base class (Tobias Nießen) #33360
- [91978820fa] - (SEMVER-MINOR) src: rename internal key handles to KeyObjectHandle (Tobias Nießen) #33360
- [667d520148] - (SEMVER-MINOR) src: introduce BaseObject base FunctionTemplate (Anna Henningsen) #33772
- [3e21dd91c1] - (SEMVER-MINOR) src: add option to track unmanaged file descriptors (Anna Henningsen) #34303
- [0affe8622e] - (SEMVER-MINOR) src: add public APIs to manage v8::TracingController (Anna Henningsen) #33850
- [b7e4d5fc0e] - src: shutdown libuv before exit() (Anna Henningsen) #35021
- [5e28660121] - (SEMVER-MINOR) src: allow embedders to disable esm loader (Shelley Vohr) #34060
- [7e2cd728bb] - src: add callback scope for native immediates (Anna Henningsen) #34366
- [147440510f] - src: flush V8 interrupts from Environment dtor (Anna Henningsen) #32523
- [29620c41fb] - src: use env->RequestInterrupt() for inspector MainThreadInterface (Anna Henningsen) #32523
- [2e4536e701] - src: use env->RequestInterrupt() for inspector io thread start (Anna Henningsen) #32523
- [4704e586dc] - src: fix cleanup hook removal for InspectorTimer (Anna Henningsen) #32523
- [4513b6a3df] - src: make Environment::interrupt_data_ atomic (Anna Henningsen) #32523
- [1066341cd9] - src: initialize inspector before RunBootstrapping() (Anna Henningsen) #32672
- [b8c9048a87] - (SEMVER-MINOR) src: shutdown platform from FreePlatform() (Anna Henningsen) #30467
- [a28c990061] - (SEMVER-MINOR) src: fix what a dispose without checking (Jichan) #30467
- [2f8f76736b] - (SEMVER-MINOR) src: allow non-Node.js TracingControllers (Anna Henningsen) #30467
- [9b84ee6480] - (SEMVER-MINOR) src: add ability to look up platform based on Environment* (Anna Henningsen) #30467
- [a770a35f61] - (SEMVER-MINOR) src: make InitializeNodeWithArgs() official public API (Anna Henningsen) #30467
- [8005e637b1] - (SEMVER-MINOR) src: add unique_ptr equivalent of CreatePlatform (Anna Henningsen) #30467
- [4a6748d2c3] - (SEMVER-MINOR) src: add LoadEnvironment() variant taking a string (Anna Henningsen) #30467
- [c5aa3f4adb] - (SEMVER-MINOR) src: provide a variant of LoadEnvironment taking a callback (Anna Henningsen) #30467
- [808dedc4b3] - (SEMVER-MINOR) src: align worker and main thread code with embedder API (Anna Henningsen) #30467
- [e809a5cd6b] - (SEMVER-MINOR) src: associate is_main_thread() with worker_context() (Anna Henningsen) #30467
- [b7350e8c6e] - (SEMVER-MINOR) src: move worker_context from Environment to IsolateData (Anna Henningsen) #30467
- [9a5cec3466] - (SEMVER-MINOR) src: fix memory leak in CreateEnvironment when bootstrap fails (Anna Henningsen) #30467
- [7d92ac7a35] - (SEMVER-MINOR) src: make FreeEnvironment() perform all necessary cleanup (Anna Henningsen) #30467
- [1d3638b189] - src: use enum for refed flag on native immediates (Anna Henningsen) #33444
- [18e8687923] - (SEMVER-MINOR) src: allow preventing SetPromiseRejectCallback (Shelley Vohr) #34387
- [403deb71d5] - (SEMVER-MINOR) src: allow setting a dir for all diagnostic output (Ash Cripps) #33584
- [19b55be03b] - (SEMVER-MINOR) src: add equality operators for BaseObjectPtr (Anna Henningsen) #33772
- [5eb1c9cee0] - src: add get/set pair for env context awareness (Shelley Vohr) #35024
- [00e020b841] - src: disallow JS execution during exit() (Anna Henningsen) #35020
- [26a596bf29] - src: fix abort on uv_loop_init() failure (Ben Noordhuis) #34874
- [d953fa3038] - src: usage of modernize-use-equals-default (Yash Ladha) #34807
- [541fb1b001] - src: prefer C++ empty() in boolean expressions (Tobias Nießen) #34432
- [1549048307] - src: spin shutdown loop while immediates are pending (Anna Henningsen) #34662
- [dabd04d79b] - src: fix size underflow in CallbackQueue (Anna Henningsen) #34662
- [c0a961efc7] - src: fix unused namespace member in node_util (Andrey Pechkurov) #34565
- [9f465009b1] - src: skip weak references for memory tracking (Anna Henningsen) #34469
- [c302cae814] - src: remove unused variable in node_file.cc (sapics) #34317
- [5a16a671ef] - src: avoid strcmp in SecureContext::Init (Tobias Nießen) #34329
- [007b4c1ac9] - src: refactor CertCbDone to avoid goto statement (Tobias Nießen) #34325
- [a2141d32ed] - src: remove redundant snprintf (Anna Henningsen) #34282
- [6ddeee4b8d] - src: use FromMaybe instead of ToLocal in GetCert (Daniel Bevenius) #34276
- [3901c7fd30] - src: add GetCipherValue function (Daniel Bevenius) #34287
- [c1901896b7] - src: add encoding_type variable in WritePrivateKey (Daniel Bevenius) #34181
- [00835434ef] - src: fix unused namespace member (Nikola Glavina) #34212
- [88d12c00da] - src: remove unnecessary ToLocalChecked call (Daniel Bevenius) #33902
- [a1da012f6b] - src: do not crash if ToggleAsyncHook fails during termination (Anna Henningsen) #34362
- [2a7c65acaf] - src,doc: fix wording to refer to context, not environment (Turner Jabbour) #34880
- [302d38974d] - src,doc: rephrase for clarity (Turner Jabbour) #34879
- [4af336d741] - (SEMVER-MINOR) src,test: add full-featured embedder API test (Anna Henningsen) #30467
- [d44b05b18c] - stream: allow using .push()/.unshift() during once('data') (Anna Henningsen) #34957
- [2e77a10d9c] - stream: pipeline should use req.abort() to destroy response (Robert Nagy) #31054
- [2f67e99a0b] - test: add arrayOfStreams to pipeline (rickyes) #34156
- [3598056ac1] - test: add vm crash regression test (Anna Henningsen) #34673
- [8545fb2aa9] - test: add common/udppair utility (James M Snell) #33380
- [232f6e1154] - test: AsyncLocalStorage works with thenables (Gerhard Stoebich) #34008
- [4cd7f5f147] - test: add non-ASCII character embedding test (Anna Henningsen) #33972
- [b0c1acafda] - test: verify threadId in reports (Dylan Coakley) #31556
- [bd71cdf153] - test: use common.buildType in embedding test (Anna Henningsen) #32422
- [bdf6d41c72] - test: use InitializeNodeWithArgs in cctest (Anna Henningsen) #32406
- [61eec0c6c7] - test: wait for message from parent in embedding cctest (Anna Henningsen) #32563
- [cb635c2dc0] - (SEMVER-MINOR) test: add extended embedder cctest (Anna Henningsen) #30467
- [f325c9544f] - (SEMVER-MINOR) test: re-enable cctest that was commented out (Anna Henningsen) #30467
- [5a6bdd040d] - test: improve assertions in pummel/test-timers (Rich Trott) #35216
- [942551e46f] - test: improve pummel/test-timers.js (Rich Trott) #35175
- [43c0174867] - test: revise test-policy-integrity (Rich Trott) #35101
- [d60c487c53] - test: remove setMaxListeners in test-crypto-random (Tobias Nießen) #35079
- [867c4516af] - test: add regression tests for HTTP parser crash (Anna Henningsen) #34251
- [627e484e62] - test: use mustCall() in test-http-timeout (Pooja D.P) #34996
- [cd4b2aa891] - test: change var to let (Pooja D.P) #34902
- [0bd176896e] - test: remove incorrect debug() in test-policy-integrity (Rich Trott) #34961
- [327d00997d] - test: fix typo in test/parallel/test-icu-punycode.js (Daijiro Wachi) #34934
- [3fd7889e30] - test: add readline test for escape sequence (Rich Trott) #34952
- [46f94f9111] - test: make test-tls-reuse-host-from-socket pass without internet (Rich Trott) #34953
- [76d991cf6b] - test: simplify test-vm-memleak (Rich Trott) #34881
- [d016cdcaa9] - test: fix test-cluster-net-listen-relative-path.js to run in / (Rich Trott) #34820
- [cc98103802] - test: run REPL preview test regardless of terminal type (Rich Trott) #34798
- [4661b887cf] - test: modernize test-cluster-master-error (Anna Henningsen) #34685
- [a4d50de661] - test: move test-inspector-already-activated-cli to parallel (Rich Trott) #34755
- [4b22d335d1] - test: move execution of WPT to worker threads (Michaël Zasso) #34796
- [ac776f43f4] - test: convert assertion that always fails to assert.fail() (Rich Trott) #34793
- [a0ba41685b] - test: remove common.rootDir (Rich Trott) #34772
- [5352cde7ee] - test: allow ENOENT in test-worker-init-failure (Rich Trott) #34769
- [238d01f62f] - test: allow ENFILE in test-worker-init-failure (Rich Trott) #34769
- [9cde4eb73a] - test: use process.env.PYTHON to spawn python (Anna Henningsen) #34700
- [b4d9e0da6b] - test: remove error message checking in test-worker-init-failure (Rich Trott) #34727
- [335b61ac74] - test: skip node-api/test_worker_terminate_finalization (Anna Henningsen) #34732
- [e23f7ee1b9] - test: fix test_worker_terminate_finalization (Anna Henningsen) #34726
- [b77309fe37] - test: split test-crypto-dh-hash (Rich Trott) #34631
- [aa24b4a69d] - test: use block-scoping in test/pummel/test-timers.js (Rich Trott) #34630
- [e30ddacddb] - test: remove test-child-process-fork-args flaky designation (Rich Trott) #34684
- [7eb80403b5] - test: add debugging for callbacks in test-https-foafssl.js (Rich Trott) #34603
- [4dbc787a2f] - test: add debugging for test-https-foafssl.js (Rich Trott) #34603
- [71ee48863a] - test: change Fixes: to Refs: (Rich Trott) #34568
- [09a6cefa94] - test: remove unneeded flag check in test-vm-memleak (Rich Trott) #34528
- [17973b7d7c] - test: add ref comment to test-regress-GH-814_2 (Rich Trott) #34516
- [f6c674029d] - test: add ref comment to test-regress-GH-814 (Rich Trott) #34516
- [d8c5bdaa08] - test: remove superfluous check in pummel/test-timers (Rich Trott) #34488
- [afd6e46772] - test: fix test-heapdump-zlib (Andrey Pechkurov) #34499
- [72e0df3734] - test: remove duplicate checks in pummel/test-timers (Rich Trott) #34473
- [4d4aa9a859] - test: delete invalid test (Anna Henningsen) #34445
- [967334b9dc] - test: fixup worker + source map test (Anna Henningsen) #34446
- [26c5f9febd] - test: force resigning of app (Colin Ihrig) #34331
- [8cb306e5a4] - test: fix flaky test-watch-file (Rich Trott) #34420
- [cc2643188f] - test: fix flaky test-heapdump-http2 (Rich Trott) #34415
- [2137024a55] - test: do not write to fixtures dir in test-watch-file (Rich Trott) #34376
- [95b2a39cf6] - test: remove common.localhostIPv6 (Rich Trott) #34373
- [2ab3fccdbc] - test: fix test-net-pingpong pummel test for non-IPv6 hosts (Rich Trott) #34359
- [c3ac5e945c] - test: fix flaky test-net-connect-econnrefused (Rich Trott) #34330
- [bd3cef7e0f] - test: use mustCall() in pummel test (Rich Trott) #34327
- [9741510336] - test: fix flaky test-http2-reset-flood (Rich Trott) #34318
- [ed651374a4] - test: add n-api null checks for conversions (Gabriel Schulhof) #34142
- [55ba743600] - test: add WASI test for file resizing (Colin Ihrig) #31617
- [4ae34e8ea8] - test: skip an ipv6 test on IBM i (Xu Meng) #34209
- [b7ae73bfe2] - test: add regression test for C++-created Buffer transfer (Anna Henningsen) #34140
- [235417039f] - test: replace deprecated function call from test-repl-history-navigation (Rich Trott) #34199
- [44246e6701] - test: skip some IBM i unsupported test cases (Xu Meng) #34118
- [bb542176b0] - test: report actual error code on failure (Richard Lau) #34134
- [09a12892e1] - test: update test-child-process-spawn-loop for Python 3 (Richard Lau) #34071
- [26ede7f295] - test,doc: add missing uv_setup_args() calls (Colin Ihrig) #34751
- [987e0cb785] - (SEMVER-MINOR) timers: allow timers to be used as primitives (Denys Otrishko) #34017
- [9b27933549] - (SEMVER-MINOR) tls: make 'createSecureContext' honor more options (Mateusz Krawczuk) #33974
- [c059d3d287] - tls: enable renegotiation when using BoringSSL (Jeremy Rose) #34832
- [bcc0913564] - tls: remove setMaxSendFragment guards (Tobias Nießen) #34323
- [68654da30d] - tls: remove unnecessary close listener (Robert Nagy) #34105
- [55ed2d2280] - tools: update ESLint to 7.9.0 (Colin Ihrig) #35170
- [a3c59d8707] - tools: fix docopen target (Antoine du HAMEL) #35062
- [6d6c6fa929] - tools: fix doc build targets (Antoine du HAMEL) #35060
- [1dce35d04a] - tools: add banner to lint-md.js by rollup.config.js (KuthorX) #34233
- [0f6102065e] - tools: update ESLint to 7.8.1 (Colin Ihrig) #35004
- [eeb8a4aaa0] - tools: update ESLint to 7.8.0 (Colin Ihrig) #35004
- [b4b0dcd43e] - tools: add debug entitlements for macOS 10.15+ (Gabriele Greco) #34378
- [a92aec137e] - tools: update ESLint to 7.6.0 (Colin Ihrig) #34589
- [155f706ad0] - tools: add meta.fixable to fixable lint rules (Colin Ihrig) #34589
- [aa15abb2be] - tools: update ESLint to 7.5.0 (Colin Ihrig) #34423
- [0507535277] - tools: remove lint-js.js (Rich Trott) #30955
- [fed08a8e49] - tools,doc: allow page titles to contain inline code (Antoine du HAMEL) #35003
- [0ec3e6138e] - tools,doc: fix global table of content active element (Antoine du Hamel) #34976
- [4a0c01e3d5] - tools,doc: remove "toc" anchor name (Rich Trott) #34893
- [8d0c21fd24] - util: restrict custom inspect function + vm.Context interaction (Anna Henningsen) #33690
- [9027a87f62] - util: print External address from inspect (unknown) #34398
- [58cd76cb04] - util: improve getStringWidth performance (Ruben Bridgewater) #33674
- [7f51e79511] - vm: add tests for function declarations using [[DefineOwnProperty]] (ExE Boss) #34032
- [4913051ba6] - wasi: add __wasi_fd_filestat_set_times() test (Colin Ihrig) #34623
- [2e95550476] - wasi: add reactor support (Gus Caplan) #34046
- [139442c34e] - (SEMVER-MINOR) worker: add public method for marking objects as untransferable (Anna Henningsen) #33979
- [44864d7385] - worker: do not crash when JSTransferable lists untransferable value (Anna Henningsen) #34766
- [dafa380732] - (SEMVER-MINOR) worker: emit 'messagerror' events for failed deserialization (Anna Henningsen) #33772
- [0d35eaa034] - (SEMVER-MINOR) worker: allow passing JS wrapper objects via postMessage (Anna Henningsen) #33772
- [8e1698a784] - (SEMVER-MINOR) worker: allow transferring/cloning generic BaseObjects (Anna Henningsen) #33772
- [b4819dba5c] - (SEMVER-MINOR) worker: add option to track unmanaged file descriptors (Anna Henningsen) #34303
- [5e9f0cfa62] - worker: fix --abort-on-uncaught-exception handling (Anna Henningsen) #34724
- [9173b09445] - (SEMVER-MINOR) worker: add stack size resource limit option (Anna Henningsen) #33085
- [18ecaebdbb] - worker: unify custom error creation (Anna Henningsen) #33084
- [c31b6bff34] - worker: fix nested uncaught exception handling (Anna Henningsen) #34310
- [dd51ba3f93] - (SEMVER-MINOR) worker,fs: make FileHandle transferable (Anna Henningsen) #33772
- [1b24d3a552] - zlib: remove redundant variable in zlibBufferOnEnd (Andrey Pechkurov) #34072
- [33b22d7c4f] - (SEMVER-MINOR) zlib: add maxOutputLength option (unknown) #33516
- [cda459ecb0] - zlib: replace usage of internal stream state with public api (Denys Otrishko) #34884
- [d60b13f2e3] - zlib: switch to lazy init for zlib streams (Andrey Pechkurov) #34048
New in Node.js 14.13.0 Current (Oct 6, 2020)
- Notable Changes:
- [19b95a7fa9] - (SEMVER-MINOR) deps: upgrade to libuv 1.40.0 (Colin Ihrig) #35333
- [f551f52f83] - (SEMVER-MINOR) module: named exports for CJS via static analysis (Guy Bedford) #35249
- [505731871e] - (SEMVER-MINOR) module: exports pattern support (Guy Bedford) #34718
- [0d8eaa3942] - (SEMVER-MINOR) src: allow N-API addon in AddLinkedBinding() (Anna Henningsen) #35301
- Commits:
- [19b95a7fa9] - (SEMVER-MINOR) deps: upgrade to libuv 1.40.0 (Colin Ihrig) #35333
- [353a567235] - deps: upgrade to c-ares v1.16.1 (Shelley Vohr) #35324
- [2e10616d48] - doc: remove http2 non-link anchor tags (Rich Trott) #35161
- [02db136c49] - doc: alphabetize error list (Rich Trott) #35219
- [46a4154cab] - doc: packages docs feedback (Guy Bedford) #35370
- [70ad69ba46] - doc: outline when origin is set to unhandledRejection (Matthieu Larcher) #35294
- [010173a4b7] - doc: edit n-api.md for minor improvements (Rich Trott) #35361
- [86ac7497e0] - doc: add history entry for breaking destroy() change (Gil Pedersen) #35326
- [857e321baf] - doc: set encoding to hex before piping hash (Victor Antonio Barzana Crespo) #35338
- [87dfed012c] - doc: add gpg key export directions to releases doc (Danielle Adams) #35298
- [1758ac8237] - doc: added version 7 to N-API version matrix (NickNaso) #35319
- [5da5d41b1c] - doc: refine require/import conditions constraints (Guy Bedford) #35311
- [482ce6ce1d] - doc: improve N-API string-to-native doc (Gabriel Schulhof) #35322
- [6dc6dadfc6] - doc: avoid referring to C array size (Tobias Nießen) #35300
- [0a847ca729] - doc: update napi_make_callback documentation (Gerhard Stoebich) #35321
- [a8d3a7f742] - doc: put landing specifics in details tag (Rich Trott) #35296
- [dd530364d0] - doc: fixup lutimes metadata (Anna Henningsen) #35328
- [d7282c0ae3] - doc: edit subpath export patterns introduction (Rich Trott) #35254
- [1d1ce1fc2c] - doc: document support for package.json fields (Antoine du HAMEL) #34970
- [ef0d2ef5a2] - doc: move package config docs to separate page (Antoine du HAMEL) #34748
- [b9d767c4d5] - doc: change type of child_process.signalCode to string (Linn Dahlgren) #35223
- [b4514d464d] - doc: replace "this guide" link text with guide title (Rich Trott) #35283
- [1893449724] - doc: revise dependency redirection text in policy.md (Rich Trott) #35276
- [0c4540b050] - doc: fix heading space bug in assert.md (Thomas Hunter II) #35310
- [ec6b78ae73] - doc: add socket.readyState (Clark Kozak) #35262
- [2a4ae0926d] - doc: update crypto.createSecretKey accepted types (Filip Skokan) #35246
- [c09f3dc2f3] - doc: put release script specifics in details (Myles Borins) #35260
- [99a79e32a6] - fs: fix fs.promises.writeFile with typed arrays (Michaël Zasso) #35376
- [ab7d0e92b1] - meta: update module pages in CODEOWNERS (Antoine du Hamel) #34932
- [f551f52f83] - (SEMVER-MINOR) module: named exports for CJS via static analysis (Guy Bedford) #35249
- [505731871e] - (SEMVER-MINOR) module: exports pattern support (Guy Bedford) #34718
- [68ea7f5560] - module: fix crash on multiline named cjs imports (Christoph Tavan) #35275
- [0f4ecaa741] - repl: standardize Control key indications (Rich Trott) #35270
- [1e1cb94e69] - src: fix incorrect SIGSEGV handling in NODE_USE_V8_WASM_TRAP_HANDLER (Anatoly Korniltsev) #35282
- [0d8eaa3942] - (SEMVER-MINOR) src: allow N-API addon in AddLinkedBinding() (Anna Henningsen) #35301
- [f2635b317e] - test: replace annonymous functions with arrow (Pooja D.P) #34921
- [d7c28c9243] - test,child_process: add tests for signalCode value (Rich Trott) #35327
- [80eb22185e] - tools: update ESLint to 7.10.0 (Colin Ihrig) #35366
- [7f355735df] - tools: ignore build folder when checking links (Ash Cripps) #35315
- [c5d27e1e29] - tools,doc: enforce alphabetical order for md refs (Antoine du Hamel) #35244
- [9d91842a9d] - tools,doc: upgrade dependencies (Antoine du Hamel) #35244
New in Node.js 12.18.4 LTS (Oct 6, 2020)
- Notable Changes:
- This is a security release.
- Vulnerabilities fixed:
- CVE-2020-8201: HTTP Request Smuggling due to CR-to-Hyphen conversion (High).
- CVE-2020-8252: fs.realpath.native on may cause buffer overflow (Medium).
- Commits:
- [2ea6d255f8] - deps: libuv: cherry-pick 0e6e8620 (cjihrig) nodejs-private/node-private#221
- [65415049af] - deps: update llhttp to 2.1.2 (Fedor Indutny) nodejs-private/node-private#219
- [edad52e243] - test: modify tests to support the latest llhttp (Fedor Indutny) nodejs-private/node-private#219
New in Node.js 14.12.0 Current (Sep 23, 2020)
- Notable changes:
- deps:
- update to uvwasi 0.0.11 (Colin Ihrig) #35104
- n-api:
- create N-API version 7 (Gabriel Schulhof) #35199
- add more property defaults (Gerhard Stoebich) #35214
- Commits:
- [5229ffadcf] - buffer: adjust validation to account for buffer.kMaxLength (Anna Henningsen) #35134
- [3d78686987] - build: increase API requests for stale action (Phillip Johnsen) #35235
- [f2cc1c22c1] - build: filter issues & PRs to auto close by matching on stalled label (Phillip Johnsen) #35159
- [f3c45a1cef] - Revert "build: require "allow edits" to be checked" (Rich Trott) #35094
- [1bb0ed3c6a] - crypto: improve invalid arg type message for randomInt() (Rich Trott) #35089
- [3573545315] - crypto: improve randomInt out-of-range error message (Rich Trott) #35088
- [d4389b59b4] - deps: update to uvwasi 0.0.11 (Colin Ihrig) #35104
- [836680a4ea] - doc: use present tense in error messages (Rich Trott) #35164
- [b860a7f61c] - doc: standardize on _backward_ (Rich Trott) #35243
- [d82dd0c773] - doc: revise stability section of values doc (Rich Trott) #35242
- [2bc335dcf6] - doc: clarify napi_property_attributes text (Rich Trott) #35253
- [b62d9b47be] - doc: remove excessive formatting in dgram.md (Rich Trott) #35234
- [b9161f408f] - doc: sort repl references in ASCII order (Rich Trott) #35230
- [d195d20dbc] - doc: relax prohibition on personal pronouns (Rich Trott) #34353
- [6119e9511c] - doc: clarify use of NAPI_EXPERIMENTAL (Michael Dawson) #35195
- [6d4ab36175] - doc: update attributes used by n-api samples (#35220) (Gerhard Stoebich)
- [7610fe500e] - doc: add issue labels sections to release guide (Michaël Zasso) #35224
- [2308be06b3] - doc: fix header level for error code (Rich Trott) #35219
- [64ac5c68aa] - doc: fix small grammatical issues in timers.md (Turner Jabbour) #35203
- [92a14d3c72] - doc: add technical values document (Michael Dawson) #35145
- [dbfd3b261d] - doc: remove "end user" (Rich Trott) #35200
- [c1c93a6cde] - doc: use command-line/command line consistently (Rich Trott) #35198
- [70ec369b76] - doc: replace "you should do X" with "do X" (Rich Trott) #35194
- [e5fffe2f8f] - doc: fix missing word in dgram.md (Tom Atkinson) #35231
- [c1e16d15dd] - doc: fix deprecation documentation inconsistencies (Antoine du HAMEL) #35082
- [910deff2de] - doc: fix broken link in crypto.md (Rich Trott) #35181
- [066148d229] - doc: remove problematic auto-linking of curl man pages (Rich Trott) #35174
- [aea3f77c8d] - doc: update eventLoopUtilization documentation (Anna Henningsen) #35155
- [32d1731ae1] - doc: update process.release (schamberg97) #35167
- [176e9e4054] - doc: fix broken links in modules.md (Rich Trott) #35182
- [dc4c5696da] - doc: add missing copyFile change history (Shelley Vohr) #35056
- [e8d479ed67] - doc: perform cleanup on security-release-process.md (Rich Trott) #35154
- [99785e48ea] - doc: fix minor punctuation issue in path.md (Amila Welihinda) #35127
- [ae85228e54] - doc: perform minor cleanup on cli.md (Rich Trott) #35152
- [e4105140e7] - doc: improve table accessibility (Rich Trott) #35146
- [7dbcd24541] - doc: fix left nav color contrast (Rich Trott) #35141
- [331142ca25] - doc: update contact info for Ash Cripps (Ash Cripps) #35139
- [df70861863] - doc: simplify circular dependencies text in modules.md (Rich Trott) #35126
- [f4e714aaf5] - doc: update my email address (Michael Dawson) #35121
- [46b9f4b376] - doc: add missing changes entry for breakEvalOnSigint REPL option (Anna Henningsen) #35143
- [122edad98b] - doc: update security process (Michael Dawson) #35107
- [aa93c1c22d] - doc: fix broken link in perf_hooks.md (Rich Trott) #35113
- [5c8d2083c5] - doc: fix broken link in http2.md (Rich Trott) #35112
- [f4e958fc0c] - doc: fix broken link in fs.md (Rich Trott) #35111
- [79c6d92e49] - doc: fix broken links in deprecations.md (Rich Trott) #35109
- [93e4d545d8] - doc: add note about path.basename on Windows (Tobias Nießen) #35065
- [0a2610a7aa] - doc: avoid double-while sentence in perf_hooks.md (Rich Trott) #35078
- [1cf9934e4e] - doc: make minor improvements to module.md (Rich Trott) #35083
- [fb89be63be] - doc: use correct Error type for EventEmitter.defaultMaxListener (Rich Trott) #35069
- [b75822dd93] - doc,test: specify and test CLI option precedence rules (Anna Henningsen) #35106
- [4bde865145] - errors: simplify ERR_REQUIRE_ESM message generation (Rich Trott) #35123
- [6e622d6337] - esm: better package.json parser errors (Guy Bedford) #35117
- [beb75bd031] - fs: loosen validation to allow objects with an own toString function (Jordan Harband) #34993
- [8ea28536d0] - http: only set keep-alive when not exists ([email protected]) #35138
- [977b0ed865] - http: allow Content-Length header for 304 responses (Arnaud Lefebvre) #34835
- [d8b57140b4] - https: set requestTimeout default to 0 (Robert Nagy) #35264
- [12f2934224] - meta: add links to OpenJSF Slack (Mary Marchini) #35128
- [f21a5c6200] - meta: update my collab entry (devsnek) #35160
- [76e24f9aa9] - module: use isURLInstance instead of instanceof (Antoine du HAMEL) #34951
- [314483cd09] - module: fix specifier resolution option value (himself65) #35098
- [ca1181615e] - (SEMVER-MINOR) n-api: create N-API version 7 (Gabriel Schulhof) #35199
- [7f3b2b2a1f] - (SEMVER-MINOR) n-api: add more property defaults (Gerhard Stoebich) #35214
- [4f4faa8e3c] - readline: fix key name for function keys with modifiers (DrunkenPoney) #35268
- [e29e2daf4c] - test: improve assertions in pummel/test-timers (Rich Trott) #35216
- [8357b56984] - test: add wasi readdir() test (Colin Ihrig) #35202
- [49da459ce6] - test: improve pummel/test-timers.js (Rich Trott) #35175
- [379c5cefd7] - test: revise test-policy-integrity (Rich Trott) #35101
- [6627c1f8e4] - test: remove setMaxListeners in test-crypto-random (Tobias Nießen) #35079
- [bc38485fb1] - test: fix comment about DNS lookup test (Tobias Nießen) #35080
- [9faaa659b2] - test: separate the test fixtures between ICU and URL (Leko) #35077
- [25f93f3ec3] - test: add more valid results to test-trace-atomics-wait (Anna Henningsen) #35066
- [0a97f44b50] - tools: update ESLint to 7.9.0 (Colin Ihrig) #35170
New in Node.js 14.11.0 Current (Sep 16, 2020)
- Notable Changes:
- This is a security release.
- Vulnerabilities fixed:
- CVE-2020-8251: Denial of Service by resource exhaustion CWE-400 due to unfinished HTTP/1.1 requests (Critical).
- CVE-2020-8201: HTTP Request Smuggling due to CR-to-Hyphen conversion (High).
- Commits:
- [dd828376a0] - deps: update llhttp to 2.1.2 (Fedor Indutny) nodejs-private/node-private#215
- [753f3b247a] - http: add requestTimeout (Matteo Collina, Paolo Insogna, Robert Nagy) nodejs-private/node-private#208
New in Node.js 14.10.1 Current (Sep 11, 2020)
- Notable Changes:
- Node.js 14.10.0 included a streams regression with async generators and a docs rendering regression that are being fixed in this release.
- Commits:
- [3c92f93b44] - doc: restore color for visited links (Rich Trott) #35108
- [0f94c6b4e4] - Revert "stream: simpler and faster Readable async iterator" (Richard Lau)
New in Node.js 14.10.0 (Sep 9, 2020)
- Notable Changes:
- [2ab33c58ae] - (SEMVER-MINOR) buffer: also alias BigUInt methods (Anna Henningsen) #34960
- [44d89a9faa] - (SEMVER-MINOR) crypto: add randomInt function (Oli Lalonde) #34600
- [8aac42caf2] - (SEMVER-MINOR) perf_hooks: add idleTime and event loop util (Trevor Norris) #34938
- [4bb40078da] - (SEMVER-MINOR) stream: simpler and faster Readable async iterator (Robert Nagy) #34035
- [ffae5f3809] - (SEMVER-MINOR) stream: save error in state (Robert Nagy) #34103
- Commits:
- [1fdfaa578f] - bootstrap: correct --frozen-intrinsics override fix (Guy Bedford) #35041
- [2ab33c58ae] - (SEMVER-MINOR) buffer: also alias BigUInt methods (Anna Henningsen) #34960
- [1be6956ee0] - build: require "allow edits" to be checked (Jordan Harband) #35002
- [7b7299012e] - build: comment about auto close when stalled via with github action (Phillip Johnsen) #34555
- [d6c796b4ab] - build: close stalled issues and PRs with github action (Phillip Johnsen) #34555
- [46766a10df] - build: use autorebase option for git node land (Denys Otrishko) #34969
- [7afb67f491] - build: use latest node-core-utils from npm (Denys Otrishko) #34969
- [d06e158253] - build: add support for build on arm64 (Evan Lucas) #34238
- [755f9e4bc8] - build,deps: add gen-openssl target (Evan Lucas) #34642
- [178a740caf] - crypto: simplify KeyObject constructor (Rich Trott) #35064
- [a12d92c97b] - crypto: fix randomInt range check (Tobias Nießen) #35052
- [6d0d5b2ec2] - crypto: align parameter names with documentation (Rich Trott) #35054
- [44d89a9faa] - (SEMVER-MINOR) crypto: add randomInt function (Oli Lalonde) #34600
- [791a85b880] - deps: V8: cherry-pick 6be2f6e26e8d (Benjamin Coe) #35055
- [96ae05a770] - deps: V8: backport 3f071e3e7e15 (Milad Farazmand) #35036
- [90f9348297] - deps: update brotli to v1.0.9 (Anna Henningsen) #34937
- [f1fcd6646d] - deps: add openssl support for arm64 (Evan Lucas) #34238
- [bbf7b925a2] - doc: use present tense in events.md (Rich Trott) #35068
- [f6b2286e12] - doc: change stablility-2 color for accessibility (Rich Trott) #35061
- [8044533e87] - doc: add link to safe integer definition (Tobias Nießen) #35049
- [f03a4d78a2] - doc: format exponents better (Tobias Nießen) #35050
- [1a9ca52716] - doc: add ESM examples in module API doc page (Antoine du HAMEL) #34875
- [0ac7d5423f] - doc: add deprecated badge to legacy URL methods (Antoine du HAMEL) #34931
- [a08e853edc] - doc: spruce up user journey to local docs browsing (Derek Lewis) #34986
- [83a3e3b681] - doc: update syntax highlighting color for accessibility (Rich Trott) #35063
- [5bd0e0803d] - doc: fix incorrect URL in cli.md (Rich Trott) #35043
- [28e89f6766] - doc: remove style for empty links (Antoine du HAMEL) #35034
- [cdc1198a62] - doc: fix certificate display in tls doc (Rich Trott) #35032
- [72d03cd802] - doc: remove duplicate error code entry (Rich Trott) #35031
- [680782ea64] - doc: use consistent header typography (Rich Trott) #35030
- [1ae674c67a] - doc: fix malformed hashes in assert.md (Rich Trott) #35028
- [c3a3cb69aa] - doc: fix a typo of microtaskMode (Shigma) #34980
- [a846a9f116] - doc: change 'be will' to 'will be' (Victory Osikwemhe) #34999
- [593236ad33] - doc: change color contrast for accessibility (Rich Trott) #35047
- [8c207c67d1] - doc: refactor deprecation anchors (Antoine du HAMEL) #34955
- [cc0aaf2384] - doc: error code fix in resolver spec (Guy Bedford) #34998
- [a4201843e7] - doc: use period consistently in man page (Rich Trott) #34939
- [f1217d6d8b] - doc: revise commit-queue.md (Rich Trott) #35006
- [9aba579acb] - doc: change effected to affected (Turner Jabbour) #34989
- [2598527112] - doc: drop the --production flag for installing windows-build-tools (DeeDeeG) #34979
- [287ce7b810] - doc: fix broken link to response.writableFinished in deprecations doc (Rich Trott) #34983
- [a0656ff863] - doc: fix broken link to response.finished in deprecations doc (Rich Trott) #34982
- [f4524b8936] - doc: fix broken link to writableEnded in deprecations doc (Rich Trott) #34984
- [514a538f64] - doc: fix typos in buffer doc (Robert Williams) #34981
- [df76c89b78] - doc: recommend URL() over url.parse() in http2 doc (Rich Trott) #34978
- [ca0302e4f1] - doc: arrange perf_hooks entries alphabetically (Rich Trott) #34973
- [94c6e09367] - doc: replace require() with reference links in http2.md (Rich Trott) #34956
- [2407a7a671] - doc: add a note about possible missing lines to readline.asyncIterator (Igor Mikhalev) #34675
- [31098a4c0e] - doc: make minor improvements to query string sentence in http2.md (Rich Trott) #34929
- [1589f0e6f4] - doc: make general copy-edit changes to policy.md (Rich Trott) #34943
- [aee3b8510b] - doc: simplify "make use of" to "use" (Rich Trott) #34861
- [0e09ff8ab1] - doc: make minor fixes to maintaining-openssl.md (Rich Trott) #34926
- [b091681d25] - doc: fix CHANGELOG.md parsing issue (Juan José Arboleda) #34923
- [fbd18be459] - doc: provide more guidance about process.version (Rich Trott) #34909
- [4782ec7b3b] - doc: use consistent typography for node-addon-api (Rich Trott) #34910
- [2fe95094fd] - doc: improve link-local text in dgram.md (Rich Trott) #34868
- [657292e2dd] - doc: fix broken markdown/display in cli.html (Rich Trott) #34892
- [4cf93bb3cf] - doc: use "previous"/"preceding" instead of "above" as modifier (Rich Trott) #34877
- [29b048b06b] - doc: use links to MS guide in style guide (Rich Trott) #34871
- [52be37cf39] - doc,tools: remove malfunctioning Linux manpage linker (Rich Trott) #34985
- [fffba3a270] - errors: use ErrorPrototypeToString from primordials object (ExE Boss) #34891
- [db8c66b8c2] - esm: shorten ERR_UNSUPPORTED_ESM_URL_SCHEME message (Rich Trott) #34836
- [be71e717c5] - meta: enable wasi for CODEOWNERS (gengjiawen) #34889
- [a43b7ff72e] - meta: remove non-existent quic from CODEOWNERS (Richard Lau) #34947
- [3c32fe09e9] - n-api: re-implement async env cleanup hooks (Gabriel Schulhof) #34819
- [fcb211f38a] - net: replace usage of internal stream state with public api (Denys Otrishko) #34885
- [8aac42caf2] - (SEMVER-MINOR) perf_hooks: add idleTime and event loop util (Trevor Norris) #34938
- [18b04ab4c8] - policy: implement scopes field (Bradley Farias) #34552
- [1bf5d1a39b] - querystring: manage percent character at unescape (Daijiro Wachi) #35013
- [f21d78d537] - src: shutdown libuv before exit() (Anna Henningsen) #35021
- [789798bedf] - src: add get/set pair for env context awareness (Shelley Vohr) #35024
- [73ef3f2f05] - src: disallow JS execution during exit() (Anna Henningsen) #35020
- [f6a5999a9d] - src,doc: fix wording to refer to context, not environment (Turner Jabbour) #34880
- [bcc1d431f8] - src,doc: fix grammar due to missing 'is' (Turner Jabbour) #34897
- [044297ff10] - src,doc: rephrase for clarity (Turner Jabbour) #34879
- [4bb40078da] - (SEMVER-MINOR) stream: simpler and faster Readable async iterator (Robert Nagy) #34035
- [ffae5f3809] - (SEMVER-MINOR) stream: save error in state (Robert Nagy) #34103
- [5f24cea11a] - stream: fix Readable stream state properties (Denys Otrishko) #34886
- [f537c868b9] - stream: allow using .push()/.unshift() during once('data') (Anna Henningsen) #34957
- [4d533858cf] - test: make .out checks embedder-friendly (Shelley Vohr) #35040
- [a756b92c4a] - test: use mustCall() in test-http-timeout (Pooja D.P) #34996
- [9011c87c1c] - test: change var to let (Pooja D.P) #34902
- [b698d2ec81] - test: remove incorrect debug() in test-policy-integrity (Rich Trott) #34961
- [ee6a583b9f] - test: fix typo in test/parallel/test-icu-punycode.js (Daijiro Wachi) #34934
- [9057a1644d] - test: add readline test for escape sequence (Rich Trott) #34952
- [75d16125e1] - test: make test-tls-reuse-host-from-socket pass without internet (Rich Trott) #34953
- [971b7ac087] - test: simplify test-vm-memleak (Rich Trott) #34881
- [577978a96c] - tools: fix docopen target (Antoine du HAMEL) #35062
- [2b445bb3ee] - tools: fix doc build targets (Antoine du HAMEL) #35060
- [3d41ff25b7] - tools: add banner to lint-md.js by rollup.config.js (KuthorX) #34233
- [62cc3b8249] - tools: update ESLint to 7.8.1 (cjihrig) #35004
- [c47d319ac6] - tools: update ESLint to 7.8.0 (cjihrig) #35004
- [b6f3ae8ffc] - tools,doc: allow page titles to contain inline code (Antoine du HAMEL) #35003
- [fb2111e300] - tools,doc: fix global table of content active element (Antoine du Hamel) #34976
- [7ad629e4e4] - tools,doc: remove "toc" anchor name (Rich Trott) #34893
- [94528f510e] - zlib: replace usage of internal stream state with public api (Denys Otrishko) #34884
New in Node.js 14.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.5.0 (Jul 1, 2020)
- Notable Changes:
- V8 engine is updated to version 8.3:
- This version includes performance improvements and now allows WebAssembly modules to request memories up to 4GB in size.
- For more information, have a look at the official V8 blog post.
- Contributed by Matheus Marchini and Michaël Zasso - #33376.
- Initial experimental implementation of EventTarget:
- This version introduces an new experimental API EventTarget, which provides a DOM interface implemented by objects that can receive events and may have listeners for them.
- It is an adaptation of the Web API EventTarget.
- Semver-Minor Commits:
- [4ccaa537d4] - (SEMVER-MINOR) build: reset embedder string to "-node.0" (Michaël Zasso) #33376
- [d194d20828] - (SEMVER-MINOR) cli: add alias for report-directory to make it consistent (AshCripps) #33587
- [70398dbf60] - (SEMVER-MINOR) crypto: allow KeyObjects in postMessage (Tobias Nießen) #33360
- [9b7ba87aa6] - (SEMVER-MINOR) deps: V8: cherry-pick 0d6debcc5f08 (Michaël Zasso) #33376
- [ce1a1ae621] - (SEMVER-MINOR) deps: V8: cherry-pick 74d50c5063b3 (Michaël Zasso) #32831
- [aa7267a344] - (SEMVER-MINOR) deps: V8: cherry-pick e29c62b74854 (Michaël Zasso) #32831
- [1512757a22] - (SEMVER-MINOR) deps: V8: cherry-pick 3f8dc4b2e5ba (Michaël Zasso) #32831
- [3d9cf4bde6] - (SEMVER-MINOR) deps: V8: cherry-pick e1eac1b16c96 (Milad Farazmand) #32831
- [cdeade308e] - (SEMVER-MINOR) deps: fix V8 8.3 on SmartOS (Colin Ihrig) #32831
- [883840bc17] - (SEMVER-MINOR) deps: patch V8 to run on Xcode 8 (Matheus Marchini) #32831
- [3831a541fb] - (SEMVER-MINOR) deps: V8: silence irrelevant warnings (Michaël Zasso) #32831
- [e2fc08f216] - (SEMVER-MINOR) deps: make v8.h compatible with VS2015 (Joao Reis) #32831
- [74b623bd51] - (SEMVER-MINOR) deps: V8: forward declaration of Rtl*FunctionTable (Refael Ackermann) #32831
- [0f5764aec2] - (SEMVER-MINOR) deps: V8: patch register-arm64.h (Refael Ackermann) #32831
- [be773fc3cf] - (SEMVER-MINOR) deps: patch V8 to run on older XCode versions (Ujjwal Sharma) #32831
- [7aa41c6e6f] - (SEMVER-MINOR) deps: V8: un-cherry-pick bd019bd (Refael Ackermann) #32831
- [ce901e3906] - (SEMVER-MINOR) deps: update V8 dtrace & postmortem metadata (Colin Ihrig) #32831
- [1123425dd1] - (SEMVER-MINOR) deps: update V8 to 8.3.110.9 (Michaël Zasso) #33376
- [1c70b18da8] - (SEMVER-MINOR) events: initial implementation of experimental EventTarget (James M Snell) #33556
- [cf97c56dab] - (SEMVER-MINOR) fs: implement lutimes (Maël Nison) #33399
- [a24b8df7fb] - (SEMVER-MINOR) http: expose host and protocol on ClientRequest (wenningplus) #33803
- [507a2ef31c] - (SEMVER-MINOR) http: add maxTotalSockets to agent class (rickyes) #33617
- [e1e3ae1567] - (SEMVER-MINOR) http: return this from OutgoingMessage#destroy() (Colin Ihrig) #32789
- [d87031def4] - (SEMVER-MINOR) http: return this from ClientRequest#destroy() (Colin Ihrig) #32789
- [c7959557db] - (SEMVER-MINOR) http: return this from IncomingMessage#destroy() (Colin Ihrig) #32789
- [a3a0c0e0fc] - (SEMVER-MINOR) http: added scheduling option to http agent (delvedor) #33278
- [e3fd2f5a48] - (SEMVER-MINOR) http2: return this for Http2ServerRequest#setTimeout (Pranshu Srivastava) #33994
- [7ccb021ffc] - (SEMVER-MINOR) http2: do not modify explicity set date headers (Pranshu Srivastava) #33160
- [f66bb57c13] - (SEMVER-MINOR) process: add unhandled-rejection throw and warn-with-error-code (Dan Fabulich) #33475
- [33020256de] - (SEMVER-MINOR) src: store key data in separate class (Tobias Nießen) #33360
- [44b9d08344] - (SEMVER-MINOR) src: add NativeKeyObject base class (Tobias Nießen) #33360
- [13e633873e] - (SEMVER-MINOR) src: rename internal key handles to KeyObjectHandle (Tobias Nießen) #33360
- [a3d0b0e2d7] - (SEMVER-MINOR) src: add equality operators for BaseObjectPtr (Anna Henningsen) #33772
- [0720d1ff24] - (SEMVER-MINOR) src: introduce BaseObject base FunctionTemplate (Anna Henningsen) #33772
- [5362fef3f5] - (SEMVER-MINOR) src: add public APIs to manage v8::TracingController (Anna Henningsen) #33850
- [db2d1ca51b] - (SEMVER-MINOR) stream: runtime deprecate Transform._transformState (Robert Nagy) #32763
- [b6da77756e] - (SEMVER-MINOR) test: stop testing --interpreted-frames-native-stack for s390x (Michaël Zasso) #32831
- [5cad007408] - (SEMVER-MINOR) test: fix test-zlib-unused-weak on V8 8.2 (Matheus Marchini) #32831
- [2c59f9bbe2] - (SEMVER-MINOR) tools: update V8 gypfiles for V8 8.3 (Michaël Zasso) #32831
- [0ef6e0426f] - (SEMVER-MINOR) win: allow skipping the supported platform check (João Reis) #33176
- [4e42eb5e14] - (SEMVER-MINOR) worker: add public method for marking objects as untransferable (Anna Henningsen) #33979
- [4a37180b09] - (SEMVER-MINOR) worker: emit 'messagerror' events for failed deserialization (Anna Henningsen) #33772
- [9692208a91] - (SEMVER-MINOR) worker: allow passing JS wrapper objects via postMessage (Anna Henningsen) #33772
- [eaccf842eb] - (SEMVER-MINOR) worker: allow transferring/cloning generic BaseObjects (Anna Henningsen) #33772
- [5b1fd10048] - (SEMVER-MINOR) worker,fs: make FileHandle transferable (Anna Henningsen) #33772
- [c1f625fe1f] - (SEMVER-MINOR) zlib: add maxOutputLength option (unknown) #33516
- Semver-Patch Commits:
- [ef05e1526a] - async_hooks: callback trampoline for MakeCallback (Stephen Belanger) #33801
- [0eed22d6ed] - benchmark: fix EventTarget benchmark (Brian White) #34015
- [bf56decc79] - benchmark: fix async-resource benchmark (Anna Henningsen) #33642
- [26269be510] - benchmark: fixing http_server_for_chunky_client.js (Adrian Estrada) #33271
- [c31d5145d9] - buffer: remove hoisted variable (Nikolai Vavilov) #33470
- [43fd4746e9] - build: configure byte order for mips targets (Ben Noordhuis) #33898
- [ebb2fb81fa] - build: add target specific build_type variable (Daniel Bevenius) #33925
- [e8f7670b77] - build: add LINT_CPP_FILES to checkimports check (Daniel Bevenius) #33697
- [1355d35a61] - build: output dots in "Build from tarball" action (Michaël Zasso) #33696
- [153f5eda0e] - build: fix compiling addons with older versions of Node.js (Richard Lau) #33688
- [7a4c689912] - build: fix node.gyp config (gengjiawen) #33685
- [1f7a65529d] - build: add --v8-lite-mode flag (Maciej Kacper Jagiełło) #33541
- [3ac05b75ca] - build: zlib build error on Windows on Arm (Richard Townsend) #33511
- [fc032247e0] - build: fix GetCurrentThreadStackLimits error on Windows on Arm (Richard Townsend) #33511
- [e393e879cf] - build: fix python-version selection with actions (Richard Lau) #33589
- [8ed25eda60] - build: fix inability to detect correct python command in configure (Eli Schwartz) #32925
- [8b887c4462] - build: fix makefile script on windows (Thomas) #33136
- [85ce30fe57] - build: run full test suite in ASAN action (Anna Henningsen) #33170
- [71c4d9174e] - build,win: add support for MSVC cross-compilation (Richard Townsend) #32867
- [ac7946eb08] - build,win: add support for MSVC cross-compilation (Richard Townsend) #32867
- [22b5ec19a2] - cli: support --experimental-top-level-await in NODE_OPTIONS (Dan Fabulich) #33495
- [0a7f13e26b] - configure: account for CLANG_VENDOR when checking for llvm version (Nathan Blair) #33860
- [a6a74ae1d5] - console: name console functions appropriately (Ruben Bridgewater) #33524
- [9d24f71d45] - console: mark special console properties as non-enumerable (Ruben Bridgewater) #33524
- [bce99867f7] - console: remove dead code (Ruben Bridgewater) #33524
- [134ed0eea3] - crypto: fix wrong error message (Ben Bucksch) #33482
- [5957afc31a] - deps: V8: cherry-pick 767e65f945e7 (Gus Caplan) #33859
- [162092ea2a] - deps: V8: cherry-pick eec10a2fd8fa (Stephen Belanger) #33778
- [499c7402b1] - deps: V8: cherry-pick 4e1bf2bc92bd (Milad Farazmand) #33702
- [0524c7ad5d] - deps: V8: cherry-pick b5939c758924 (Milad Farazmand) #33702
- [7ad6cfa005] - deps: V8: backport 22014de00115 (Joyee Cheung) #33300
- [817befde11] - deps: V8: backport bb9f0c2b2fe9 (Joyee Cheung) #33300
- [8f82692999] - deps: V8: backport ea0719b8ed08 (Joyee Cheung) #33300
- [773d76ea04] - deps: uvwasi: cherry-pick 9e75217 (Colin Ihrig) #33521
- [748720e7b6] - deps: V8: cherry-pick 548f6c81d424 (Dominykas Blyžė) #33484
- [b0bce9b2a4] - deps: update node-inspect to v2.0.0 (Jan Krems) #33447
- [ac459b34e7] - deps: V8: cherry-pick fa3e37e511ee (Anna Henningsen) #32885
- [2bc79f5b50] - deps: V8: cherry-pick 2db93c023379 (Anna Henningsen) #32885
- [8d47e8bf7b] - deps: update to uvwasi 0.0.9 (Colin Ihrig) #33445
- [9d6fd4599d] - deps: upgrade to libuv 1.38.0 (Colin Ihrig) #33446
- [33a662ad2d] - deps: update icu to include tzdata2020a (Shelley Vohr) #33362
- [f151bde312] - (SEMVER-MINOR) dgram: allow typed arrays in .send() (Sarat Addepalli) #22413
- [d4442b15bf] - dns: make dns.Resolver timeout configurable (Ben Noordhuis) #33472
- [eb55d9e4b1] - dns: use ternary operator simplify statement (Wenning Zhang) #33234
- [d61de303c9] - doc: specify maxHeaderCount alias for maxHeaderListPairs (Pranshu Srivastava) #33519
- [4323346f5a] - doc: add allowed info strings to style guide (Derek Lewis) #34024
- [0dbad26db4] - doc: fix lexical sorting of bottom-references in http doc (Pranshu Srivastava) #34007
- [ec07e61f6a] - doc: clarify thread-safe function references (legendecas) #33871
- [5a4dcfcf4c] - doc: use npm team for npm upgrades in collaborator guide (Rich Trott) #33999
- [319707add2] - doc: correct default values in http2 docs (Rich Trott) #33997
- [b4d0eebe7c] - doc: use a single space between sentences (Rich Trott) #33995
- [24105a7f44] - doc: piping from async generators using pipeline() (WilliamConnatser) #33992
- [9590d81349] - doc: revise text in dns module documentation introduction (Rich Trott) #33986
- [ed26e8e2fb] - doc: update fs.md (Shakil-Shahadat) #33820
- [6dc541778e] - doc: warn that tls.connect() doesn't set SNI (Alba Mendez) #33855
- [d9c78ac270] - doc: fix lexical sorting of bottom-references in dns doc (Rich Trott) #33987
- [98228b25af] - doc: change "GitHub Repo" to "Code repository" (Rich Trott) #33985
- [645cd481e9] - doc: use Class: consistently (Rich Trott) #33978
- [72e2fd315e] - doc: update WASM code sample (Pragyan Das) #33626
- [894ec7d5c6] - doc: standardize on sentence case for headers (Rich Trott) #33889
- [61de26a2f3] - doc: link readable._read in stream.md (Pranshu Srivastava) #33767
- [76fe2a93a9] - doc: specify default encoding in writable.write (Pranshu Srivastava) #33765
- [2427d6544b] - doc: move --force-context-aware option in cli.md (Daniel Bevenius) #33823
- [fdaf0ca550] - doc: add snippet for AsyncResource and EE integration (Andrey Pechkurov) #33751
- [8f5ac3865c] - doc: use single quotes in --tls-cipher-list (Daniel Bevenius) #33709
- [922c13c6bb] - doc: fix misc. mislabeled code block info strings (Derek Lewis) #33548
- [114d77e30b] - doc: standardize constructor doc header layout (Rich Trott) #33781
- [b10d20385e] - doc: update V8 inspector example (Colin Ihrig) #33758
- [785760448b] - doc: fix linting in doc-style-guide.md (Pranshu Srivastava) #33787
- [2288840a8f] - doc: remove "currently" from repl.md (Rich Trott) #33756
- [cc0f827182] - doc: remove "currently" from events.md (Rich Trott) #33756
- [4a738e6462] - doc: remove "currently" from vm.md (Rich Trott) #33756
- [bb29a8177f] - doc: remove "currently" from addons.md (Rich Trott) #33756
- [f0597d9a6e] - doc: remove "currently" from util.md (Rich Trott) #33756
- [095efac2ef] - doc: add formatting for version numbers to doc-style-guide.md (Rich Trott) #33755
- [843ab3eb94] - doc: change "pre Node.js v0.10" to "prior to Node.js 0.10" (Rich Trott) #33754
- [b565897996] - doc: remove default parameter value from header (Rich Trott) #33752
- [ebf2378731] - doc: fix typo in cli.md for report-dir (AshCripps) #33725
- [16b69818ba] - doc: remove shell dollar signs without output (Nick Schonning) #33692
- [b3d500f949] - doc: add lint disabling comment for collaborator list (Rich Trott) #33719
- [61bb789fa0] - doc: use consistent Default: in events (Colin Ihrig) #33678
- [1e4edd8d75] - doc: remove "it is important" (Colin Ihrig) #33678
- [cb8b9ec98a] - doc: fix urls to avoid redirection (sapics) #33614
- [c184929975] - doc: improve buffer.md a tiny bit (Tom Nagle) #33547
- [6d25b5753a] - doc: normalize Markdown code block info strings (Derek Lewis) #33542
- [e7c3890901] - doc: normalize JavaScript code block info strings (Derek Lewis) #33531
- [352adcb437] - doc: outline when origin is set to unhandledRejection (Ruben Bridgewater) #33530
- [94177dae8e] - doc: add --experimental-top-level-await to man page (Colin Ihrig) #33529
- [8e3a0d7773] - doc: update txt fandamental and ```raw code blocks (Zeke Sikelianos) #33028
- [4cc391b495] - doc: normalize shell code block info strings (Derek Lewis) #33486
- [24ada7acd4] - doc: normalize C code block info strings (Derek Lewis) #33507
- [8c04e61f16] - doc: normalize Bash code block info strings (Derek Lewis) #33510
- [7c87fc1c48] - doc: correct tls.rootCertificates to match implementation (Eric Bickle) #33313
- [0c2b7c0adf] - doc: fix Buffer.from(object) documentation (Nikolai Vavilov) #33327
- [de608c3124] - doc: fix typo in pathToFileURL example (Antoine du HAMEL) #33418
- [23cf39ab78] - doc: eliminate dead space in API section's sidebar (John Gardner) #33469
- [95e7a80cbf] - doc: mention --experimental-top-level-await flag (dfabulich) #33473
- [64410f206e] - doc: normalize C++ code block info strings (Derek Lewis) #33483
- [c8f79d80a4] - doc: fixed a grammatical error in path.md (Deep310) #33489
- [500bad1103] - doc: correct CommonJS self-resolve spec (Guy Bedford) #33391
- [4e74f050a7] - doc: fix readline key binding documentation (Ruben Bridgewater) #33361
- [7c553cd4f6] - doc: claim ABI version 85 for Electron 11 (Shelley Vohr) #33375
- [4cc5e9668f] - doc: document module.path (Antoine du Hamel) #33323
- [c1fe152132] - doc: add fs.open() multiple constants example (Ethan Arrowood) #33281
- [b02cfef510] - doc: fix typos in handle scope descriptions (Tobias Nießen) #33267
- [d4e871424f] - doc: update function description for decipher.setAAD (Jonathan Buhacoff) #33095
- [e2484b24cb] - doc: add comment about highWaterMark limit (Benjamin Gruenbaum) #33432
- [b8c88891a6] - doc: clarify about the Node.js-only extensions in perf_hooks (Joyee Cheung) #33199
- [d1efdb29b4] - doc: document ICU time zone data update process (Andrew Paprocki) #30364
- [1d918b67ca] - doc,stream: split finish and end events into separate entries (Rich Trott) #33881
- [af9fb5969d] - doc,tools: properly syntax highlight API ref docs (Derek Lewis) #33442
- [122d2b5c02] - domain: remove native domain code (Stephen Belanger) #33801
- [e060060aa2] - errors: fully inspect errors on exit (Ruben Bridgewater) #33523
- [aca07f428e] - errors: skip fatal error highlighting on windows (Thomas) #33132
- [50adccadc1] - esm: fix loader hooks doc annotations (Derek Lewis) #33563
- [5bef20c2fc] - esm: share package.json cache between ESM and CJS loaders (Kirill Shatskiy) #33229
- [828d5d22eb] - esm: doc & validate source values for formats (Bradley Farias) #32202
- [2724514f53] - event: cancelBubble is a property (Benjamin Gruenbaum) #34015
- [c9dec0c0f0] - event: cancelBubble is a property (Benjamin Gruenbaum) #33613
- [0c32920a82] - events: fix add-remove-add case in EventTarget (Anna Henningsen) #34056
- [c34f4743c4] - events: improve argument handling, start passive (James M Snell) #34015
- [ea1a2d7bc9] - events: support dispatching event from event (James M Snell) #34015
- [5ce153365e] - events: add event-target tests (James M Snell) #34015
- [91b6c093b1] - events: support event handlers (Benjamin Gruenbaum) #34015
- [b392fdd4aa] - events: expose Event statics (Benjamin Gruenbaum) #34015
- [cd3a1429a3] - events: Handle a range of this values for dispatchEvent (Zirak) #34015
- [aa1cb3f186] - events: fix EventTarget support (Benjamin Gruenbaum) #34015
- [0f0f4e0c40] - events: fix depth in customInspectSymbol and clean up (Denys Otrishko) #34015
- [6ce3293cc4] - events: use internal/validators in event_target.js (Denys Otrishko) #34015
- [eb01214ab2] - events: use property, primordials (Benjamin Gruenbaum) #33775
- [667195ef8f] - events: improve listeners() performance (Brian White) #33863
- [f1b0291d82] - events: lazy load perf_hooks for EventTarget (James M Snell) #33717
- [c291ce599c] - events: improve arrayClone performance (Brian White) #33774
- [a3ef2b7335] - events: support useCapture boolean (Benjamin Gruenbaum) #33618
- [2e6eceac5c] - events: set target property to null (Benjamin Gruenbaum) #33615
- [bc2e821ccc] - events: deal with no argument case (Benjamin Gruenbaum) #33611
- [e7bce2e03a] - events: deal with Symbol() passed to event constructor (Benjamin Gruenbaum) #33612
- [27c90efce0] - events: variable originalListener is useless (fuxingZhang) #33596
- [2a29ced050] - events: fix event-target enumerable keys (Benjamin Gruenbaum) #33616
- [f3d0d3089d] - events: add tests, better toString (Benjamin Gruenbaum) #33622
- [95cbfcec99] - fs: fix readdir failure when libuv returns UV_DIRENT_UNKNOWN (Kirill Shatskiy) #33395
- [b894df860a] - fs: fix realpath inode link caching (Denys Otrishko) #33945
- [b280c86213] - fs: support util.promisify for fs.readv (Lucas Holmquist) #33590
- [2c03661860] - fs: unify style in preprocessSymlinkDestination (Bartosz Sosnowski) #33496
- [b675ea0272] - fs: replace checkPosition with validateInteger (rickyes) #33277
- [a90b96f338] - fs: refactor the import of internalUtil (rickyes) #33296
- [a0a61b81a5] - http: used already defined validator for boolean check (Yash Ladha) #33731
- [6dbd63c8ba] - Revert "http: set IncomingMessage.destroyed" (Robert Nagy) #33686
- [feb6e1ffb8] - http: don't throw on Uint8Arrays for http.ServerResponse#write (Pranshu Srivastava) #33155
- [bcdf7e94be] - http: simplify Agent initialization (himself65) #33551
- [c2aad813c0] - http: tidy up exposure of header validation (Osher) #33371
- [0752d2309f] - http2: always call callback on Http2ServerResponse#end (Pranshu Srivastava) #33911
- [d8aeafb4bf] - http2: add writable* properties to compat api (Pranshu Srivastava) #33506
- [0b34c4fb75] - http2: add type checks for Http2ServerResponse.end (Pranshu Srivastava) #33146
- [cc74f3c67c] - http2: use Object.create(null) for getHeaders (Pranshu Srivastava) #33188
- [8457033d83] - http2: reuse ._onTimeout() in Http2Session and Http2Stream classes (rickyes) #33354
- [c972ce200e] - http2: comment on usage of Object.create(null) (Pranshu Srivastava) #33183
- [e58f14fee7] - inspector: drop 'chrome-' from inspector url (Colin Ihrig) #33758
- [42df2baa21] - inspector: throw error when activating an already active inspector (Joyee Cheung) #33015
- [c9489f2f23] - internal: rename error-serdes for consistency (Evan Lucas) #33793
- [b7690da65e] - lib: improve debuglog() performance (Brian White) #32260
- [b6ef6c8476] - lib: remove manual exception handling in queueMicrotask (Gus Caplan) #33859
- [ec01867623] - lib: replace charCodeAt with fixed Unicode (rickyes) #32758
- [76123b9ae7] - lib: add Int16Array primordials (Sebastien Ahkrin) #31205
- [59d435ed4d] - lib: update TODO comments (Ruben Bridgewater) #33361
- [e62a8b5007] - lib: update executionAsyncId/triggerAsyncId comment (Daniel Bevenius) #33396
- [4ae4073abf] - lib,src: remove cpu profiler idle notifier (Ben Noordhuis) #34010
- [fc7cad828b] - meta: introduce codeowners again (James M Snell) #33895
- [b162c532d7] - meta: fix a typo in the flaky test template (Colin Ihrig) #33677
- [148c1f1344] - meta: wrap flaky test template at 80 characters (Colin Ihrig) #33677
- [2aa6469bea] - meta: add flaky test issue template (Ash Cripps) #33500
- [84a5e6cec8] - module: fix error message about importing names from cjs (Fábio Santos) #33882
- [8c9e3a9dfb] - module: remove dynamicInstantiate loader hook (Jan Krems) #33501
- [53dbb9d232] - n-api: add version to wasm registration (Gus Caplan) #34045
- [e924439d96] - n-api: document nextTick timing in callbacks (Mathias Buus) #33804
- [524daf89a1] - n-api: ensure scope present for finalization (Michael Dawson) #33508
- [e83642f73d] - n-api: remove napi_env::CallIntoModuleThrow (Gabriel Schulhof) #33570
- [4c235b07ae] - Revert "n-api: detect deadlocks in thread-safe function" (Anna Henningsen) #33453
- [022dcebcd8] - napi: add __wasm32__ guards (Gus Caplan) #33597
- [164461edfd] - net: refactor check for Windows (rickyes) #33497
- [e0b0ddd257] - querystring: fix stringify for empty array (sapics) #33918
- [e8572e7070] - querystring: improve stringify() performance (Brian White) #33669
- [011fe1d443] - repl: add builtinModules (Ruben Bridgewater) #33295
- [71d6599191] - repl: simplify repl autocompletion (Ruben Bridgewater) #33450
- [1330cfc2a9] - repl: support optional chaining during autocompletion (Ruben Bridgewater) #33450
- [9760c6caff] - src: add errorProperties on process.report (himself65) #28426
- [da81930b13] - src: tolerate EPERM returned from tcsetattr (patr0nus) #33944
- [c1664a9008] - src: clang_format base_object (Yash Ladha) #33680
- [a789474945] - src: fix ParseEncoding (sapics) #33957
- [74f4aae22f] - src: remove unnecessary calculation in base64.h (sapics) #33839
- [c492a2715e] - src: use ToLocal in node_os.cc (wenningplus) #33939
- [9a52cd9cc0] - src: handle empty Maybe(Local) in node_util.cc (Anna Henningsen) #33867
- [e1bebf13db] - src: fix FastStringKey equal operator (sapics) #33748
- [0dd67d992e] - src: reduce scope of code cache mutex (Anna Henningsen) #33980
- [cd0ae4007f] - src: improve indention for upd_wrap.cc (gengjiawen) #33976
- [6014e4e0b8] - src: remove unnecessary ToLocalChecked call (Daniel Bevenius) #33902
- [4715a41c1c] - src: simplify alignment-handling code (Anna Henningsen) #33884
- [33cff40bb7] - src: remove ref to tools/generate_code_cache.js (Daniel Bevenius) #33825
- [dfa0ee13ee] - src: remove unused vector include in string_bytes (Daniel Bevenius) #33824
- [fb2b0a094b] - src: avoid unnecessary ToLocalChecked calls (Daniel Bevenius) #33824
- [07c21d0d27] - src: reduce FileHandle size by reordering fields (Anna Henningsen) #33784
- [83aaad7ec3] - src: do not track BaseObjects via cleanup hooks (Anna Henningsen) #33809
- [f8dddd3416] - src: handle missing TracingController everywhere (Anna Henningsen) #33815
- [3b71aa8029] - src: remove unused ERR_TRANSFERRING_EXTERNALIZED_SHAREDARRAYBUFFER (Anna Henningsen) #33810
- [1f996b7372] - src: simplify Reindent function in json_utils.cc (sapics) #33722
- [cdcd76810e] - src: add "missing" bash completion options (Daniel Bevenius) #33744
- [cc8d70531d] - src: use Check() instead of FromJust in environment (Daniel Bevenius) #33706
- [858c6b9dfd] - src: use ToLocal in SafeGetenv (Daniel Bevenius) #33695
- [c2f49319b7] - src: remove unnecessary ToLocalChecked call (Daniel Bevenius) #33683
- [21f1e64737] - src: simplify format in node_file.cc (himself65) #33660
- [c3728c6235] - src: simplify MaybeStackBuffer::capacity() (Ben Noordhuis) #33602
- [7725ff392c] - src: remove superfluous inline keywords (James M Snell) #33291
- [27e9cb7e85] - src: turn AllocatedBuffer into thin wrapper around v8::BackingStore (James M Snell) #33291
- [d8f040e33d] - src: extract AllocatedBuffer from env.h (James M Snell) #33291
- [a8824ae0a5] - src: avoid OOB read in URL parser (Anna Henningsen) #33640
- [6ef2efe33a] - src: use MaybeLocal.ToLocal instead of IsEmpty worker (Daniel Bevenius) #33599
- [522fbbc8d9] - src: don't use semicolon outside function (Shelley Vohr) #33592
- [ad970996cf] - src: remove unused using declarations (Daniel Bevenius) #33268
- [20d54f6908] - src: use MaybeLocal.ToLocal instead of IsEmpty (Daniel Bevenius) #33554
- [5438611984] - src: use NewFromUtf8Literal in GetLinkedBinding (Daniel Bevenius) #33552
- [a5e860cd29] - src: use const in constant args.Length() (himself65) #33555
- [7e351f15cb] - src: use MaybeLocal::FromMaybe to return exception (Daniel Bevenius) #33514
- [3f1c756f89] - Revert "src: fix missing extra ca in tls.rootCertificates" (Eric Bickle) #33313
- [d1e1dbf188] - src: remove BeforeExit callback list (Ben Noordhuis) #33386
- [ee45b78b7f] - src: use MaybeLocal.ToLocal instead of IsEmpty (Daniel Bevenius) #33457
- [9018e92b13] - src: remove unused headers in src/util.h (Juan José Arboleda) #33070
- [7d1d00f97a] - src: use enum for refed flag on native immediates (Anna Henningsen) #33444
- [e8cc269ee0] - src: use symbol to store AsyncWrap resource (Anna Henningsen) #31745
- [ab2454dec5] - src: prefer make_unique (Michael Dawson) #33378
- [a942f7280a] - src: remove unnecessary else in base_object-inl.h (Daniel Bevenius) #33413
- [f6227c0577] - src: reduce duplication in RegisterHandleCleanups (Daniel Bevenius) #33421
- [f24292e106] - src: remove unused IsolateSettings variable (Daniel Bevenius) #33417
- [308be6ca0c] - src: remove unused misc variable (Daniel Bevenius) #33417
- [7fd0519a91] - src: add promise_resolve to SetupHooks comment (Daniel Bevenius) #33365
- [26a3cf058d] - src,build: add --openssl-default-cipher-list (Daniel Bevenius) #33708
- [b0fa611e68] - stream: fix the spellings (antsmartian) #33635
- [1db0d51ab2] - stream: forward writableObjectMode (Robert Nagy) #33390
- [2c568c80f3] - test: add non-ASCII character embedding test (Anna Henningsen) #33972
- [d4a2ae094e] - test: add test for Http2ServerResponse#[writableCorked,cork,uncork] (Pranshu Srivastava) #33956
- [4a61013fb2] - test: print arguments passed to mustNotCall function (Denys Otrishko) #33951
- [1b55d90975] - test: AsyncLocalStorage works with thenables (Gerhard Stoebich) #34008
- [195980d667] - test: account for non-node basename (Shelley Vohr) #33952
- [90223f0a88] - test: fix typo in common/index.js (gengjiawen) #33976
- [d427d7f905] - test: add common/udppair utility (James M Snell) #33380
- [b8fdde400a] - Revert "test: stop testing --interpreted-frames-native-stack for s390x" (Michaël Zasso) #33794
- [e3a53329c2] - test: temporarily exclude test on arm (Michael Dawson) #33814
- [b6e3616911] - test: fix invalid regular expressions in case test-trace-exit (legendecas) #33769
- [c3ac47c03d] - test: changed function to arrow function (Sagar Jadhav) #33711
- [15eb5a3da4] - test: uv_tty_init now returns EINVAL on IBM i (Xu Meng) #33629
- [da5e970a8c] - test: make flaky test stricter (Robert Nagy) #33539
- [47396a42cf] - test: fix flaky test-trace-atomics-wait (Anna Henningsen) #33428
- [eb877a4c49] - test: mark test-dgram-multicast-ssmv6-multi-process flaky (AshCripps) #33498
- [5dca04ee8e] - tools: remove superfluous regex in tools/doc/json.js (Rich Trott) #33998
- [1791d5727c] - tools: update [email protected] to 1.16.0 (Rich Trott) #33852
- [01d8b91942] - tools: prevent js2c from running if nothing changed (Daniel Bevenius) #33844
- [e837f00b4f] - tools: remove unused vector include in mkdcodecache (Daniel Bevenius) #33828
- [800dbb6bdd] - tools: update ESLint to 7.2.0 (Colin Ihrig) #33776
- [a14e38a6c0] - tools: remove unused using declarations code_cache (Daniel Bevenius) #33697
- [9fb1eb09d9] - tools: update remark-preset-lint-node from 1.15.0 to 1.15.1 (Rich Trott) #33727
- [a331a00eac] - tools: fix check-imports.py to match on word boundaries (Richard Lau) #33268
- [9325ed9e1c] - tools: update ESLint to 7.1.0 (Colin Ihrig) #33526
- [6dab63f36d] - tools: add docserve target (Antoine du HAMEL) #33221
- [2384044c95] - tools,gyp: add support for MSVC cross-compilation (Richard Townsend) #32867
- [987c927225] - util: fix width detection for DEL without ICU (Ruben Bridgewater) #33650
- [91d0d53b59] - util: support Combining Diacritical Marks for Symbols (Ruben Bridgewater) #33650
- [e3d53f999d] - util: gracefully handle unknown colors (Ruben Bridgewater) #33797
- [a90c9aa858] - util: fix inspection of class instance prototypes (Ruben Bridgewater) #33449
- [2380d90f0a] - util: mark classes while inspecting them (Ruben Bridgewater) #32332
- [879c9322ce] - vm: allow proxy callbacks to throw (Gus Caplan) #33808
- [af14c1f776] - wasi: allow WASI stdio to be configured (Colin Ihrig) #33544
- [5eecea375f] - wasi: simplify WASI memory management (Colin Ihrig) #33525
- [f98e888fdd] - wasi: refactor and enable poll_oneoff() test (Colin Ihrig) #33521
- [6b20e8442f] - wasi: relax WebAssembly.Instance type check (Ben Noordhuis) #33431
- [d15383253a] - wasi,worker: handle termination exception (Ben Noordhuis) #33386
- [3f971d89a9] - win,fs: use namespaced path in absolute symlinks (Bartosz Sosnowski) #33351
- [3520a134af] - win,msi: add arm64 config for windows msi (Dennis Ameling) #33689
- [b79495905f] - worker: fix variable referencing in template string (Harshitha KP) #33467
- [9c3008005d] - worker: perform initial port.unref() before preload modules (Anna Henningsen) #33455
- [64cae13799] - worker: use _writev in internal communication (Anna Henningsen) #33454
- [7817b875a7] - worker: fix race condition in node_messaging.cc (Anna Henningsen) #33429
New in Node.js 14.4.0 (Jun 8, 2020)
- This is a security release.
- Vulnerabilities fixed:
- TLS session reuse can lead to host certificate verification bypass (High).
- HTTP/2 Large Settings Frame DoS (Low).
- napi_get_value_string_*() allows various kinds of memory corruption (High).
- Commits:
- crypto: update root certificates (AshCripps) #33682
- (SEMVER-MINOR) deps: update nghttp2 to 1.41.0 (James M Snell) nodejs-private/node-private#204
- SEMVER-MINOR) http2: implement support for max settings entries (James M Snell) nodejs-private/node-private#204
- napi: fix memory corruption vulnerability (Tobias Nießen) nodejs-private/node-private#195
- tls: emit session after verifying certificate (Fedor Indutny) nodejs-private/node-private#200
- tools: update certdata.txt (AshCripps) #33682
New in Node.js 14.2.0 (May 6, 2020)
- Notable Changes
- Track function calls with assert.CallTracker (experimental)
- assert.CallTracker is a new experimental API that allows to track and later verify the number of times a function was called. This works by creating a CallTracker object and using its calls method to create wrapper functions that will count each time they are called. Then the verify method can be used to assert that the expected number of calls happened.
- Additionally, tracker.report() will return an array which contains information about the errors, if there are any.
- Console groupIndentation option:
- The Console constructor (require('console').Console) now supports different group indentations.
- This is useful in case you want different grouping width than 2 spaces.
- Commits:
- Semver-minor commits:
- [c87ed21fdf] - (SEMVER-MINOR) assert: port common.mustCall() to assert (ConorDavenport) #31982
- [c49e3ea20c] - (SEMVER-MINOR) console: support console constructor groupIndentation option (rickyes) #32964
- [bc9e413dae] - (SEMVER-MINOR) worker: add stack size resource limit option (Anna Henningsen) #33085
- Semver-patch commits:
- [f62d92b900] - build: add --error-on-warn configure flag (Daniel Bevenius) #32685
- [db293c47dd] - cluster: fix error on worker disconnect/destroy (Santiago Gimeno) #32793
- [83e165bf88] - crypto: check DiffieHellman p and g params (Ben Noordhuis) #32739
- [e07cca6af6] - crypto: generator must be int32 in DiffieHellman() (Ben Noordhuis) #32739
- [637442fec9] - crypto: key size must be int32 in DiffieHellman() (Ben Noordhuis) #32739
- [c5a4534d5c] - deps: V8: backport e29c62b74854 (Anna Henningsen) #33125
- [8325c29e92] - deps: update to uvwasi 0.0.8 (Colin Ihrig) #33078
- [2174159598] - esm: improve commonjs hint on module not found (Daniele Belardi) #31906
- [74b0e8c3a8] - http: ensure client request emits close (Robert Nagy) #33178
- [a4ec01c55b] - http: simplify sending header (Robert Nagy) #33200
- [451993ea94] - http: set default timeout in agent keepSocketAlive (Owen Smith) #33127
- [3cb1713a59] - http2,doc: minor fixes (Alba Mendez) #28044
- [eab4be1b93] - lib: cosmetic change to builtinLibs list for maintainability (James M Snell) #33106
- [542da430ff] - lib: fix validateport error message when allowZero is false (rickyes) #32861
- [5eccf1e9ad] - module: no type module resolver side effects (Guy Bedford) #33086
- [466213d726] - n-api: simplify uv_idle wrangling (Ben Noordhuis) #32997
- [ed45b51642] - path: fix comment grammar (thecodrr) #32942
- [bb2d2f6e0e] - src: remove unused v8 Message namespace (Adrian Estrada) #33180
- [de643bc325] - src: use unique_ptr for CachedData in ContextifyScript::New (Anna Henningsen) #33113
- [f61928ba35] - src: return undefined when validation err == 0 (James M Snell) #33107
- [f4e5ab14da] - src: crypto::UseSNIContext to use BaseObjectPtr (James M Snell) #33107
- [541ea035bf] - src: separate out NgLibMemoryManagerBase (James M Snell) #33104
- [10a87c81cf] - src: remove unnecessary fully qualified names (rickyes) #33077
- [45032a39e8] - stream: fix stream.finished on Duplex (Robert Nagy) #33133
- [4cfa7e0716] - stream: simplify Readable push/unshift logic (himself65) #32899
- [bc40ed31b3] - stream: add null check in Readable.from (Pranshu Srivastava) #32873
- [b183d0a18a] - stream: let Duplex re-use Writable properties (Robert Nagy) #33079
- [ec24577406] - v8: use AliasedBuffers for passing heap statistics around (Joyee Cheung) #32929
- [d39254ada6] - vm: fix vm.measureMemory() and introduce execution option (Joyee Cheung) #32988
- [4423304ac4] - vm: throw error when duplicated exportNames in SyntheticModule (himself65) #32810
- [3866dc1311] - wasi: use free() to release preopen array (Anna Henningsen) #33110
- [d7d9960d38] - wasi: update start() behavior to match spec (Colin Ihrig) #33073
- [8d5ac1bbf0] - wasi: rename __wasi_unstable_reactor_start() (Colin Ihrig) #33073
- [c6d632a72a] - worker: unify custom error creation (Anna Henningsen) #33084
- Documentation commits:
- [6925b358f9] - doc: mark assert.CallTracker experimental (Ruben Bridgewater) #33124
- [413f5d3581] - doc: add missing deprecation not (Robert Nagy) #33203
- [7893bde07e] - doc: fix a typo in crypto.generateKeyPairSync() (himself65) #33187
- [d02ced8af6] - doc: add util.types.isArrayBufferView() (Kevin Locke) #33092
- [36d50027af] - doc: clarify when not to run CI on docs (Juan José Arboleda) #33101
- [a99013718c] - doc: fix the spelling error in stream.md (白一梓) #31561
- [23962191c1] - doc: correct Nodejs to Node.js spelling (Nick Schonning) #33088
- [de15edcfc0] - doc: improve worker pool example (Ranjan Purbey) #33082
- [289a5c8dfb] - doc: some grammar fixes (Chris Holland) #33081
- [82e459d9af] - doc: don't check links in tmp dirs (Ben Noordhuis) #32996
- [c5a2f9a02a] - doc: fix markdown parsing on doc/api/os.md (Juan José Arboleda) #33067
- Other commits:
- [60ebbc4386] - test: update c8 ignore comment (Benjamin Coe) #33151
- [e276524fcc] - test: skip memory usage tests when ASAN is enabled (Anna Henningsen) #33129
- [89ed7a5862] - test: move test-process-title to sequential (Anna Henningsen) #33150
- [af7da46d9b] - test: fix out-of-bound reads from invalid sizeof usage (Anna Henningsen) #33115
- [9ccb6b2e8c] - test: add missing calls to napi_async_destroy (Anna Henningsen) #33114
- [3c2f608a8d] - test: correct typo in test name (Colin Ihrig) #33083
- [92c7e0620f] - test: check args on SourceTextModule cachedData (Juan José Arboleda) #32956
- [f79ef96fea] - test: mark test flaky on freebsd (Sam Roberts) #32849
- [aced1f5d70] - test: flaky test-stdout-close-catch on freebsd (Sam Roberts) #32849
- [6734cc43df] - tools: bump remark-preset-lint-node to 1.15.0 (Rich Trott) #33157
- [a87d371014] - tools: fix redundant-move warning in inspector (Daniel Bevenius) #32685
- [12426f59f5] - tools: update [email protected] (Rich Trott) #33072
- [8c40ffc329] - tools: update broken types in type parser (Colin Ihrig) #33068
New in Node.js 14.0.0 (Apr 22, 2020)
- Notable Changes:
- Deprecations:
- (SEMVER-MAJOR) crypto: move pbkdf2 without digest to EOL (James M Snell) #31166
- (SEMVER-MAJOR) fs: deprecate closing FileHandle on garbage collection (James M Snell) #28396
- (SEMVER-MAJOR) http: move OutboundMessage.prototype.flush to EOL (James M Snell) #31164
- (SEMVER-MAJOR) lib: move GLOBAL and root aliases to EOL (James M Snell) #31167
- (SEMVER-MAJOR) os: move tmpDir() to EOL (James M Snell) #31169
- (SEMVER-MAJOR) src: remove deprecated wasm type check (Clemens Backes) #32116
- (SEMVER-MAJOR) stream: move _writableState.buffer to EOL (James M Snell) #31165
- (SEMVER-MINOR) doc: deprecate process.mainModule (Antoine du HAMEL) #32232
- (SEMVER-MINOR) doc: deprecate process.umask() with no arguments (Colin Ihrig) #32499
- ECMAScript Modules - Experimental Warning Removal:
- module: remove experimental modules warning (Guy Bedford) #31974
- In Node.js 13 we removed the need to include the --experimental-modules flag, but when running EcmaScript Modules in Node.js, this would still result in a warning ExperimentalWarning: The ESM module loader is experimental.
- As of Node.js 14 there is no longer this warning when using ESM in Node.js. However, the ESM implementation in Node.js remains experimental. As per our stability index: “The feature is not subject to Semantic Versioning rules. Non-backward compatible changes or removal may occur in any future release.” Users should be cautious when using the feature in production environments.
- Please keep in mind that the implementation of ESM in Node.js differs from the developer experience you might be familiar with. Most transpilation workflows support features such as optional file extensions or JSON modules that the Node.js ESM implementation does not support. It is highly likely that modules from transpiled environments will require a certain degree of refactoring to work in Node.js. It is worth mentioning that many of our design decisions were made with two primary goals. Spec compliance and Web Compatibility. It is our belief that the current implementation offers a future proof model to authoring ESM modules that paves the path to Universal JavaScript. Please read more in our documentation.
- The ESM implementation in Node.js is still experimental but we do believe that we are getting very close to being able to call ESM in Node.js “stable”. Removing the warning is a huge step in that direction.
- New V8 ArrayBuffer API:
- src: migrate to new V8 ArrayBuffer API (Thang Tran) #30782
- Multiple ArrayBuffers pointing to the same base address are no longer allowed by V8. This may impact native addons.
- Toolchain and Compiler Upgrades:
- (SEMVER-MAJOR) build: update macos deployment target to 10.13 for 14.x (AshCripps) #32454
- (SEMVER-MAJOR) doc: update cross compiler machine for Linux armv7 (Richard Lau) #32812
- (SEMVER-MAJOR) doc: update Centos/RHEL releases use devtoolset-8 (Richard Lau) #32812
- (SEMVER-MAJOR) doc: remove SmartOS from official binaries (Richard Lau) #32812
- (SEMVER-MAJOR) win: block running on EOL Windows versions (João Reis) #31954
- It is expected that there will be an ABI mismatch on ARM between the Node.js binary and native addons. Native addons are only broken if they interact with std::shared_ptr. This is expected to be fixed in a later version of Node.js 14. - #30786
- Update to V8 8.1:
- (SEMVER-MAJOR) deps: update V8 to 8.1.307.20 (Matheus Marchini) #32116
- Enables Optional Chaining by default (MDN, v8.dev)
- Enables Nullish Coalescing by default (MDN, v8.dev)
- Enables Intl.DisplayNames by default (MDN, v8.dev)
- Enables calendar and numberingSystem options for Intl.DateTimeFormat by default (MDN)
- Other Notable Changes:
- cli, report: move --report-on-fatalerror to stable (Colin Ihrig) #32496
- deps: upgrade to libuv 1.37.0 (Colin Ihrig) #32866
- fs: add fs/promises alias module (Gus Caplan) #31553
- Semver-Major Commits:
- [5360dd151d] - (SEMVER-MAJOR) assert: handle (deep) equal(NaN, NaN) as being identical (Ruben Bridgewater) #30766
- [a621608f12] - (SEMVER-MAJOR) build: update macos deployment target to 10.13 for 14.x (AshCripps) #32454
- [e65bed1b7e] - (SEMVER-MAJOR) child_process: create proper public API for channel (Anna Henningsen) #30165
- [1b9a62cff4] - (SEMVER-MAJOR) crypto: make DH error messages consistent (Tobias Nießen) #31873
- [bffa5044c5] - (SEMVER-MAJOR) crypto: move pbkdf2 without digest to EOL (James M Snell) #31166
- [10f5fa7513] - (SEMVER-MAJOR) crypto: forbid setting the PBKDF2 iter count to 0 (Tobias Nießen) #30578
- [2883c855e0] - (SEMVER-MAJOR) deps: update V8 to 8.1.307.20 (Matheus Marchini) #32116
- [1b2e2944bc] - (SEMVER-MAJOR) dgram: don't hide implicit bind errors (Colin Ihrig) #31958
- [1a1ce93317] - (SEMVER-MAJOR) doc: update cross compiler machine for Linux armv7 (Richard Lau) #32812
- [dad96e4fc1] - (SEMVER-MAJOR) doc: update Centos/RHEL releases use devtoolset-8 (Richard Lau) #32812
- [5317202aa1] - (SEMVER-MAJOR) doc: remove SmartOS from official binaries (Richard Lau) #32812
- [75ee5b2622] - (SEMVER-MAJOR) doc: deprecate process.umask() with no arguments (Colin Ihrig) #32499
- [afe353061b] - (SEMVER-MAJOR) doc: fs.write is not longer coercing strings (Juan José Arboleda) #31030
- [a45c1aa39f] - (SEMVER-MAJOR) doc: fix mode and flags being mistaken in fs (Ruben Bridgewater) #27044
- [331d636240] - (SEMVER-MAJOR) errors: remove unused ERR_SOCKET_CANNOT_SEND error (Colin Ihrig) #31958
- [b8e41774d4] - (SEMVER-MAJOR) fs: add fs/promises alias module (Gus Caplan) #31553
- [fb6df3bfac] - (SEMVER-MAJOR) fs: validate the input data to be of expected types (Ruben Bridgewater) #31030
- [2d8febceef] - (SEMVER-MAJOR) fs: deprecate closing FileHandle on garbage collection (James M Snell) #28396
- [67e067eb06] - (SEMVER-MAJOR) fs: watch signals for recursive incompatibility (Eran Levin) #29947
- [f0d2df41f8] - (SEMVER-MAJOR) fs: change streams to always emit close by default (Robert Nagy) #31408
- [a13500f503] - (SEMVER-MAJOR) fs: improve mode and flags validation (Ruben Bridgewater) #27044
- [535e9571f5] - (SEMVER-MAJOR) fs: make FSStatWatcher.start private (Lucas Holmquist) #29971
- [c1b2f6afbe] - (SEMVER-MAJOR) http: detach socket from IncomingMessage on keep-alive (Robert Nagy) #32153
- [173d044d09] - (SEMVER-MAJOR) http: align OutgoingMessage and ClientRequest destroy (Robert Nagy) #32148
- [d3715c76b5] - (SEMVER-MAJOR) http: move OutboundMessage.prototype.flush to EOL (James M Snell) #31164
- [c776a37791] - (SEMVER-MAJOR) http: end with data can cause write after end (Robert Nagy) #28666
- [ff2ed3ec85] - (SEMVER-MAJOR) http: remove unused hasItems() from freelist (Rich Trott) #30744
- [d247a8e1dc] - (SEMVER-MAJOR) http: emit close on socket re-use (Robert Nagy) #28685
- [6f0ec79e42] - (SEMVER-MAJOR) http,stream: make virtual methods throw an error (Luigi Pinca) #31912
- [ec0dd6fa1c] - (SEMVER-MAJOR) lib: move GLOBAL and root aliases to EOL (James M Snell) #31167
- [d7452b7140] - (SEMVER-MAJOR) module: warn on using unfinished circular dependency (Anna Henningsen) #29935
- [eeccd52b4e] - (SEMVER-MAJOR) net: make readable/writable start as true (Robert Nagy) #32272
- [ab4115f17c] - (SEMVER-MAJOR) os: move tmpDir() to EOL (James M Snell) #31169
- [8c18e91c8a] - (SEMVER-MAJOR) process: remove undocumented now argument from emitWarning() (Rich Trott) #31643
- [84c426cb60] - (SEMVER-MAJOR) repl: properly handle repl.repl (Ruben Bridgewater) #30981
- [4f523c2c1a] - (SEMVER-MAJOR) src: migrate to new V8 ArrayBuffer API (Thang Tran) #30782
- [c712fb7cd6] - (SEMVER-MAJOR) src: add abstract IsolatePlatformDelegate (Marcel Laverdet) #30324
- [1428a92492] - (SEMVER-MAJOR) stream: make pipeline try to wait for 'close' (Robert Nagy) #32158
- [388cef61e8] - (SEMVER-MAJOR) stream: align stream.Duplex with net.Socket (Robert Nagy) #32139
- [7cafd5f3a9] - (SEMVER-MAJOR) stream: fix finished w/ 'close' before 'end' (Robert Nagy) #31545
- [311e12b962] - (SEMVER-MAJOR) stream: fix multiple destroy calls (Robert Nagy) #29197
- [1f209129c7] - (SEMVER-MAJOR) stream: throw invalid argument errors (Robert Nagy) #31831
- [d016b9d708] - (SEMVER-MAJOR) stream: finished callback for closed streams (Robert Nagy) #31509
- [e559842188] - (SEMVER-MAJOR) stream: make readable & writable computed (Robert Nagy) #31197
- [907c07fa85] - (SEMVER-MAJOR) stream: move _writableState.buffer to EOL (James M Snell) #31165
- [66f4e4edcb] - (SEMVER-MAJOR) stream: do not emit 'end' after 'error' (Robert Nagy) #31182
- [75b30c606c] - (SEMVER-MAJOR) stream: emit 'error' asynchronously (Robert Nagy) #29744
- [4bec6d13f9] - (SEMVER-MAJOR) stream: enable autoDestroy by default (Robert Nagy) #30623
- [20d009d2fd] - (SEMVER-MAJOR) stream: pipe should not swallow error (Robert Nagy) #30993
- [67ed526ab0] - (SEMVER-MAJOR) stream: error state cleanup (Robert Nagy) #30851
- [e902fadc5e] - (SEMVER-MAJOR) stream: do not throw multiple callback errors in writable (Robert Nagy) #30614
- [e13a37e49d] - (SEMVER-MAJOR) stream: ensure finish is emitted in next tick (Robert Nagy) #30733
- [9d09969f4c] - (SEMVER-MAJOR) stream: always invoke end callback (Robert Nagy) #29747
- [0f78dcc86d] - (SEMVER-MAJOR) util: escape C1 control characters and switch to hex format (Ruben Bridgewater) #29826
- [cb8898c48f] - (SEMVER-MAJOR) win: block running on EOL Windows versions (João Reis) #31954
- [a9401439c7] - (SEMVER-MAJOR) zlib: align with streams (Robert Nagy) #32220
- Semver-Minor Commits:
- [63f0dd1ab9] - (SEMVER-MINOR) async_hooks: merge run and exit methods (Andrey Pechkurov) #31950
- [a683e87cd0] - (SEMVER-MINOR) async_hooks: prevent sync methods of async storage exiting outer context (Stephen Belanger) #31950
- [f571b294f5] - (SEMVER-MINOR) doc: deprecate process.mainModule (Antoine du HAMEL) #32232
- [e04f599258] - (SEMVER-MINOR) doc: add basic embedding example documentation (Anna Henningsen) #30467
- [e93503be83] - (SEMVER-MINOR) embedding: provide hook for custom process.exit() behaviour (Anna Henningsen) #32531
- [a8cf886de7] - (SEMVER-MINOR) src: shutdown platform from FreePlatform() (Anna Henningsen) #30467
- [0e576740dc] - (SEMVER-MINOR) src: fix what a dispose without checking (Jichan) #30467
- [887b6a143b] - (SEMVER-MINOR) src: allow non-Node.js TracingControllers (Anna Henningsen) #30467
- [7e0264d932] - (SEMVER-MINOR) src: add ability to look up platform based on Environment* (Anna Henningsen) #30467
- [d7f11077f1] - (SEMVER-MINOR) src: make InitializeNodeWithArgs() official public API (Anna Henningsen) #30467
- [821e21de8c] - (SEMVER-MINOR) src: add unique_ptr equivalent of CreatePlatform (Anna Henningsen) #30467
- [7dead8440c] - (SEMVER-MINOR) src: add LoadEnvironment() variant taking a string (Anna Henningsen) #30467
- [c44edec4da] - (SEMVER-MINOR) src: provide a variant of LoadEnvironment taking a callback (Anna Henningsen) #30467
- [a9fb51f9be] - (SEMVER-MINOR) src: align worker and main thread code with embedder API (Anna Henningsen) #30467
- [084c379648] - (SEMVER-MINOR) src: associate is_main_thread() with worker_context() (Anna Henningsen) #30467
- [64c01222d9] - (SEMVER-MINOR) src: move worker_context from Environment to IsolateData (Anna Henningsen) #30467
- [288382a4ce] - (SEMVER-MINOR) src: fix memory leak in CreateEnvironment when bootstrap fails (Anna Henningsen) #30467
- [d7bc5816a5] - (SEMVER-MINOR) src: make FreeEnvironment() perform all necessary cleanup (Anna Henningsen) #30467
- [43d32b073f] - (SEMVER-MINOR) src,test: add full-featured embedder API test (Anna Henningsen) #30467
- [2061c33670] - (SEMVER-MINOR) test: add extended embedder cctest (Anna Henningsen) #30467
- [2561484dcb] - (SEMVER-MINOR) test: re-enable cctest that was commented out (Anna Henningsen) #30467
- Semver-Patch Commits:
- [9b6e797379] - Revert "assert: fix line number calculation after V8 upgrade" (Michaël Zasso) #32116
- [c740fbda9d] - buffer: add type check in bidirectionalIndexOf (Gerhard Stoebich) #32770
- [c8e3470e53] - buffer: mark pool ArrayBuffer as untransferable (Anna Henningsen) #32759
- [f2c22db580] - build: remove .git folders when testing V8 (Richard Lau) #32877
- [c0f43bfda8] - build: add configure flag to build V8 with DCHECKs (Anna Henningsen) #32787
- [99e7f878ce] - build: re-enable ASAN Action using clang (Matheus Marchini) #32776
- [3e55284e9b] - build: use same flags as V8 for ASAN (Matheus Marchini) #32776
- [4e5ec41024] - build: add build from tarball (John Kleinschmidt) #32129
- [6a349019da] - build: temporarily skip ASAN build (Matheus Marchini) #32116
- [da92f15413] - build: reset embedder string to "-node.0" (Matheus Marchini) #32116
- [e883059c24] - cli, report: move --report-on-fatalerror to stable (Colin Ihrig) #32496
- [bf86f55e22] - deps: patch V8 to 8.1.307.30 (Michaël Zasso) #32693
- [b5bbde8cf1] - deps: upgrade to libuv 1.37.0 (Colin Ihrig) #32866
- [7afe24dba6] - deps: upgrade to libuv 1.36.0 (Colin Ihrig) #32866
- [1cd235d1a0] - deps: patch V8 to run on Xcode 8 (Matheus Marchini) #32116
- [5d867badd0] - deps: V8: silence irrelevant warnings (Michaël Zasso) #32116
- [8d2c441e4d] - deps: V8: cherry-pick 931bdbd76f5b (Matheus Marchini) #32116
- [049160dfb6] - deps: V8: cherry-pick 1e36e21acc40 (Matheus Marchini) #32116
- [0220c298c5] - deps: bump minimum icu version to 65 (Michaël Zasso) #32116
- [f90eba1d91] - deps: make v8.h compatible with VS2015 (Joao Reis) #32116
- [56b6a4f732] - deps: V8: forward declaration of Rtl*FunctionTable (Refael Ackermann) #32116
- [40c9419b35] - deps: V8: patch register-arm64.h (Refael Ackermann) #32116
- [55407ab73e] - deps: patch V8 to run on older XCode versions (Ujjwal Sharma) #32116
- [990bc9adb4] - deps: V8: un-cherry-pick bd019bd (Refael Ackermann) #32116
- [17a6def4e8] - deps: update V8 dtrace & postmortem metadata (Colin Ihrig) #32116
- [0f14123186] - deps: V8: stub backport fast API call changes (Anna Henningsen) #32885
- [bf412ed77b] - deps: V8: stub backport d5b444bc5a84 (Anna Henningsen) #32885
- [fdaa365b0b] - deps: V8: stub backport 65238018ca4b and 8d08318e1a85 (Anna Henningsen) #32885
- [8198e7882c] - deps: V8: stub backport 9e52d5c5d717 (Anna Henningsen) #32885
- [a27852ae7c] - deps: V8: cherry-pick 98b1ef80c722 (Anna Henningsen) #32885
- [e8c7b7a2df] - deps: V8: cherry-pick b5c917ee80cb (Anna Henningsen) #32885
- [552cee0cc0] - deps: V8: cherry-pick 700b1b97e9ab (Anna Henningsen) #32885
- [9b7a1b048a] - deps: V8: cherry-pick e8ba5699c648 (Anna Henningsen) #32885
- [1f02617b05] - deps: V8: cherry-pick 55a01ec7519a (Anna Henningsen) #32885
- [da728c482c] - deps: V8: cherry-pick 9f0f2cb7f08d (Anna Henningsen) #32885
- [2ee8b4a512] - deps: V8: cherry-pick e395d1698453 (Anna Henningsen) #32885
- [dfc66a6af4] - deps: V8: cherry-pick d1253ae95b09 (Anna Henningsen) #32885
- [c3ecbc758b] - deps: V8: cherry-pick fa3e37e511ee (Anna Henningsen) #32885
- [9568fbc7cd] - deps: V8: cherry-pick f0057afc2fb6 (Anna Henningsen) #32885
- [07d4372d5a] - deps: V8: cherry-pick 94723c197199 (Anna Henningsen) #32885
- [4a11a54f9a] - deps: V8: backport 844fe8f7d965 (Anna Henningsen) #32885
- [1b7878558a] - deps: V8: cherry-pick 2db93c023379 (Anna Henningsen) #32885
- [122937fc67] - deps: V8: cherry-pick 4b1447e4bb0e (Anna Henningsen) #32885
- [01573ba4ae] - deps: remove duplicated postmortem metadata entry (Matheus Marchini) #32521
- [9290febefa] - deps: patch V8 to 8.1.307.26 (Matheus Marchini) #32521
- [a9e4cec70d] - Revert "deps: V8: cherry-pick f9257802c1c0" (Matheus Marchini) #32521
- [77542a5d57] - deps: revert whitespace changes on V8 (Matheus Marchini) #32587
- [9add24ecd3] - doc: missing brackets (William Bonawentura) #32657
- [1796cc0df5] - doc: improve consistency in usage of NULL (Michael Dawson) #32726
- [2662b0c9e3] - doc: improve net docs (Robert Nagy) #32811
- [5d940de17b] - doc: note that signatures of binary may be from subkeys (Reşat SABIQ) #32591
- [3c8dd6d0c3] - doc: add transform stream destroy() return value (Colin Ihrig) #32788
- [39368b34eb] - doc: updated guidance for n-api changes (Michael Dawson) #32721
- [cba6e5dc09] - doc: remove warning from response.writeHead (Cecchi MacNaughton) #32700
- [8f7fd8d6aa] - doc: improve AsyncLocalStorage sample (Andrey Pechkurov) #32757
- [a7c75f956f] - doc: document buffer.from returns internal pool buffer (Harshitha KP) #32703
- [f6a91156c7] - doc: add puzpuzpuz to collaborators (Andrey Pechkurov) #32817
- [1db8da21f2] - doc: split process.umask() entry into two (Rich Trott) #32711
- [6ade42bb3c] - doc: stream.end(cb) cb can be invoked with error (Pranshu Srivastava) #32238
- [edb3ffb003] - doc: fix os.version() Windows API (Colin Ihrig) #32156
- [a777cfa843] - doc: remove repetition (Luigi Pinca) #31868
- [7c524fb092] - doc: fix Writable.write callback description (Robert Nagy) #31812
- [43fb664701] - doc: fix missing changelog corrections (Myles Borins) #31854
- [a2d6f98e1a] - doc: fix typo (Colin Ihrig) #31675
- [17e3f3be76] - doc: update pr-url for DEP0022 EOL (Colin Ihrig) #31675
- [cd0f5a239e] - doc: update pr-url for DEP0016 EOL (Colin Ihrig) #31675
- [5170daaca5] - doc: fix changelog for v10.18.1 (Andrew Hughes) #31358
- [d845915d46] - doc: mark Node.js 8 End-of-Life in CHANGELOG (Beth Griggs) #31152
- [009a9c475b] - doc,src,test: assign missing deprecation code (Colin Ihrig) #31674
- [ed4fbefb71] - fs: use finished over destroy w/ cb (Robert Nagy) #32809
- [3e9302b2b3] - fs: validate the input data before opening file (Yongsheng Zhang) #31731
- [1a3e358a1d] - http: refactor agent 'free' handler (Robert Nagy) #32801
- [399749e4d8] - lib: created isValidCallback helper (Yash Ladha) #32665
- [bc55b57e64] - lib: fix few comment typos in fs/watchers.js (Denys Otrishko) #31705
- [f98668ade3] - module: remove experimental modules warning (Guy Bedford) #31974
- [fe1bda9aeb] - module: fix memory leak when require error occurs (Qinhui Chen) #32837
- [076ba3150d] - Revert "n-api: detect deadlocks in thread-safe function" (Gabriel Schulhof) #32880
- [1092bb94f4] - process: suggest --trace-warnings when printing warning (Anna Henningsen) #32797
- [d19a2c33b3] - src: migrate measureMemory to new v8 api (gengjiawen) #32116
- [a63db7fb5e] - src: remove deprecated wasm type check (Clemens Backes) #32116
- [c080b2d821] - src: avoid calling deprecated method (Clemens Backes) #32116
- [7ed0d1439e] - src: remove use of deprecated Symbol::Name() (Colin Ihrig) #32116
- [59eeb3b5b9] - src: stop overriding deprecated V8 methods (Clemens Backes) #32116
- [339c192ddb] - src: update NODE_MODULE_VERSION to 83 (Matheus Marchini) #32116
- [6681a685a9] - src: remove unused using in node_worker.cc (Daniel Bevenius) #32840
- [b9d9f91a80] - src: use basename(argv0) for --trace-uncaught suggestion (Anna Henningsen) #32798
- [24e1e28b38] - src: ignore GCC -Wcast-function-type for v8.h (Daniel Bevenius) #32679
- [a946189ccd] - src: add AliasedStruct utility (James M Snell) #32778
- [457f1f1ed0] - src: remove unused v8 Array namespace (Juan José Arboleda) #32749
- [b68e26ee70] - src: flush V8 interrupts from Environment dtor (Anna Henningsen) #32523
- [96bf137cca] - src: use env->RequestInterrupt() for inspector MainThreadInterface (Anna Henningsen) #32523
- [72da426780] - src: use env->RequestInterrupt() for inspector io thread start (Anna Henningsen) #32523
- [99c9b2368c] - src: fix cleanup hook removal for InspectorTimer (Anna Henningsen) #32523
- [6dffd6b3de] - src: make Environment::interrupt_data_ atomic (Anna Henningsen) #32523
- [8c5ad1392f] - src: initialize inspector before RunBootstrapping() (Anna Henningsen) #32672
- [eafd64b1c8] - src: consistently declare BindingData class (Sam Roberts) #32677
- [78c82a38ac] - src: move fs state out of Environment (Anna Henningsen) #32538
- [7005670f34] - src: move http parser state out of Environment (Anna Henningsen) #32538
- [19b671506c] - src: move v8 stats buffers out of Environment (Anna Henningsen) #32538
- [4df24f040d] - src: move HTTP/2 state out of Environment (Anna Henningsen) #32538
- [1fc3de908e] - src: make creating per-binding data structures easier (Anna Henningsen) #32538
- [0e9f9b7592] - src: include AsyncWrap provider strings in snapshot (Anna Henningsen) #32572
- [effebf87ab] - src: remove unused v8 namespace (Juan José Arboleda) #32375
- [d23eed256b] - src: remove calls to deprecated ArrayBuffer methods (Michaël Zasso) #32358
- [f3682102dc] - src: give Http2Session JS fields their own backing store (Anna Henningsen) #31648
- [90f7a5c010] - src: set arraybuffer_untransferable_private_symbol (Thang Tran) #31053
- [d06efafe6b] - src: explicitly allocate backing stores for v8 stat buffers (Anna Henningsen) #30946
- [917fedd21a] - src: unset NODE_VERSION_IS_RELEASE from master (Michaël Zasso) #30584
- [69f19f4ccd] - src: remove uses of deprecated wasm TransferrableModule (Clemens Backes) #30026
- [acac5df260] - src,doc: add documentation for per-binding state pattern (Anna Henningsen) #32538
- [ad4c10e824] - stream: improve comments regarding end() errors (Robert Nagy) #32839
- [6e5c23b6c8] - stream: update comment to indicate unused API (Robert Nagy) #32808
- [21bd6679ce] - stream: fix finished typo (Robert Nagy) #31881
- [85c6fcd1cd] - stream: avoid writing to writable (Robert Nagy) #31805
- [0875837417] - stream: fix async iterator destroyed error order (Robert Nagy) #31700
- [b9a7625fdf] - stream: removed outdated TODO (Robert Nagy) #31701
- [68e1288e00] - test: mark addons/zlib-bindings/test flaky on arm (Michaël Zasso) #32885
- [a09bf3ad5f] - test: replace console.log/error() with debuglog (daemon1024) #32692
- [d1b41bbd86] - test: only detect uname on supported os (Xu Meng) #32833
- [4bb29ed044] - test: mark cpu-prof-dir-worker flaky on all (Sam Roberts) #32828
- [e18a40e42d] - test: replace equal with strictEqual (Jesus Hernandez) #32727
- [320f297a35] - test: mark test-worker-prof flaky on arm (Sam Roberts) #32826
- [4b5658b536] - test: mark test-http2-reset-flood flaky on all (Sam Roberts) #32825
- [ead51be541] - test: cover node entry type in perf_hooks (Julian Duque) #32751
- [9e5189a560] - test: use symlinks to copy shells (John Kleinschmidt) #32129
- [c5763e8dc1] - test: wait for message from parent in embedding cctest (Anna Henningsen) #32563
- [c3204a8787] - test: use common.buildType in embedding test (Anna Henningsen) #32422
- [f2cc28aec3] - test: use InitializeNodeWithArgs in cctest (Anna Henningsen) #32406
- [df1592d2e9] - test: async iterate destroyed stream (Robert Nagy) #28995
- [5100e84f4b] - test: fix flaky test-fs-promises-file-handle-close (Anna Henningsen) #31687
- [52944b834a] - test: remove test (Clemens Backes) #32116
- [119fdf6813] - test: remove checks for deserializing wasm (Matheus Marchini) #32116
- [add5f6e5cd] - tls: provide default cipher list from command line (Anna Henningsen) #32760
- [405ae1909b] - tools: update V8 gypfiles for 8.1 (Matheus Marchini) #32116
- [7fe61222ef] - worker: mention argument name in type check message (Anna Henningsen) #32815
- [7147df53e8] - worker: fix type check in receiveMessageOnPort (Anna Henningsen) #32745
- [0c545f0f72] - zlib: emits 'close' event after readable 'end' (Sergey Zelenov) #32050
New in Node.js 13.13.0 (Apr 15, 2020)
- Notable Changes:
- New file system APIs:
- Added a new function, fs.readv (with sync and promisified versions). This function takes an array of ArrayBufferView elements and will write the data it reads sequentially to the buffers (Sk Sajidul Kadir) #32356.
- A new overload is available for fs.readSync, which allows to optionally pass any of the offset, length and position parameters (Lucas Holmquist) #32460.
- Other changes:
- dns:
- Added the dns.ALL flag, that can be passed to dns.lookup() with dns.V4MAPPED to return resolved IPv6 addresses as well as IPv4 mapped IPv6 addresses (murgatroid99) #32183.
- http:
- The default maximum HTTP header size was changed from 8KB to 16KB (rosaxny) #32520.
- n-api:
- Calls to napi_call_threadsafe_function from the main thread can now return the napi_would_deadlock status in certain circumstances (Gabriel Schulhof) #32689.
- util:
- Added a new maxStrLength option to util.inspect, to control the maximum length of printed strings. Its default value is Infinity (rosaxny) #32392.
- worker:
- Added support for passing a transferList along with workerData to the Worker constructor (Juan José Arboleda) #32278.
- New core collaborators:
- With this release, we welcome three new Node.js core collaborators:
- himself65 #32734.
- flarna (Gerhard Stoebich) #32620.
- mildsunrise (Alba Mendez) #32525.
- Commits:
- [a25ceeff72] - async_hooks: use hasHooks function internally (rickyes) #32656
- [b63223114b] - async_hooks: move to lazy destroy hook registration in AsyncResource (Andrey Pechkurov) #32429
- [78b90d9bc4] - benchmark: fix error on server close in AsyncLocalStorage benchmark (Andrey Pechkurov) #32503
- [b556670d55] - benchmark: use let instead of var in zlib (Daniele Belardi) #31794
- [d8316654fb] - benchmark: use let instead of var in worker (Daniele Belardi) #31794
- [f1d3fb067b] - benchmark: use let instead of var in util (Daniele Belardi) #31794
- [148df0a743] - benchmark: use let instead of var in url (Daniele Belardi) #31794
- [108e91fb85] - benchmark: use let instead of var in tls (Daniele Belardi) #31794
- [f1720145af] - benchmark: use let instead of var in timers (Daniele Belardi) #31794
- [4ce6fc5f9b] - benchmark: use let instead of var in run.js (Daniele Belardi) #31794
- [93b3997452] - benchmark: use let instead of var in dns (Daniele Belardi) #31794
- [54c6219c0b] - benchmark: use let instead of var in common.js (Daniele Belardi) #31794
- [b188b3c1ba] - benchmark: use const instead of var in async_hooks (Daniele Belardi) #31794
- [05111c4377] - benchmark: add no-var rule in .eslintrc.yaml (Daniele Belardi) #31794
- [34f05ced8d] - build: output dots instead of tap in GitHub actions (Michaël Zasso) #32714
- [f9a2276548] - build: move doc versions JSON file out of out/doc (Richard Lau) #32728
- [d7b526c446] - build: fix LINT_MD_NEWER assignment (Rich Trott) #32712
- [809d42ccc1] - build: remove .txt files from .gitignore (Rich Trott) #32710
- [a11e3ef912] - build: log detected compilers in --verbose mode (Richard Lau) #32715
- [135f4b9a99] - build: use tabs for indentation in Makefile (Luigi Pinca) #32614
- [655ff39a4c] - build: remove make lint on lint-py (himself65) #32599
- [432e58fcf0] - build: disable -Wattributes warnings on aix (Ben Noordhuis) #32419
- [eda165feb0] - build: drop Travis in favor of Actions (Matheus Marchini) #32450
- [814d88a01a] - console: fixup error message (James M Snell) #32475
- [2c32e59d8d] - crypto: clear openssl error stack after en/decrypt (Ben Noordhuis) #32248
- [4874db72b3] - deps: fix zlib compilation for CPUs without SIMD features (Anna Henningsen) #32627
- [8586838feb] - deps: update archs files for OpenSSL-1.1.1f (Hassaan Pasha) #32583
- [3417cc5777] - deps: upgrade openssl sources to 1.1.1f (Hassaan Pasha) #32583
- [f690fc93d6] - deps: update acorn to v7.1.1 (Ruben Bridgewater) #32310
- [e0e73f6850] - dns: remove duplicate code (rickyes) #32664
- [e14317a840] - (SEMVER-MINOR) dns: add dns.ALL hints flag constant (murgatroid99) #32183
- [0a8e07599b] - doc: add link to code ide configs (Robert Nagy) #32767
- [18b5e04e75] - doc: replace node-test-pull-request-lite-pipeline from onboarding (Juan José Arboleda) #32736
- [66aafcf298] - doc: add useful v8 option section (Nimit) #32262
- [9788b8438b] - doc: add himself65 to collaborators (himself65) #32734
- [19deaa5ddf] - doc: clarify behavior of napi_get_typedarray_info (Michael Dawson) #32603
- [f41660a5c2] - doc: remove optional parameter from markdown anchor link (Rich Trott) #32671
- [6b32877f82] - doc: clarify listening event (Harshitha KP) #32581
- [c1bb041202] - doc: update Ninja information in build guide (Adrian Estrada) #32629
- [ba0ea79c82] - doc: correct version metadata for Readable.from (Dave Vandyke) #32639
- [7ae8ce3320] - doc: make openssl commit messages be valid (Sam Roberts) #32602
- [1e72605703] - doc: adjust paths in openssl maintenance guide (Hassaan Pasha) #32593
- [5c70db48bd] - doc: clarify docs fs.watch exception may be emitted (Juan José Arboleda) #32513
- [b567a63cc0] - doc: add unreachable code on events example (himself65) #32364
- [0f1f572d28] - doc: clarify length param in buffer.write (Harshitha KP) #32119
- [31b2cbb7e4] - doc: document that server.address() can return null (Thomas Watson Steen) #32519
- [7f971b3fd9] - doc: return type of crypto.getFips() may change (Richard Lau) #32580
- [cf4f188fd6] - doc: fix return type of crypto.getFips() (Richard Lau) #32580
- [34074aa095] - doc: clarify requireManualDestroy option (Harshitha KP) #32514
- [a1bb93ac7c] - doc: fix wordy sentence (Moni) #32567
- [329635975b] - doc: add missing changes: entry for dns.ALL (Anna Henningsen) #32617
- [1dee8c13a9] - doc: fix more links (Alba Mendez) #32586
- [d513b55891] - doc: improve markdown link checker (Alba Mendez) #32586
- [7d93a3fa7c] - doc: add flarna to collaborators (Gerhard Stoebich) #32620
- [b6f71969a0] - doc: improve fs.read documentation (Hachimi Aa (Sfeir)) #29270
- [f0a31e33a8] - doc: update releaser list in README.md (Myles Borins) #32577
- [9ee2afa0f7] - doc: add ASAN build instructions (gengjiawen) #32436
- [979fb155ff] - doc: update context-aware section of addon doc (Gabriel Schulhof) #28659
- [b494053745] - doc: update AUTHORS list (Luigi Pinca) #32222
- [6d4d299f4d] - doc: tests local links in markdown documents (Antoine du HAMEL) #32359
- [002048ef9f] - doc: fix typo in http2 docs (Nitin Kumar) #32292
- [02b0c9e469] - doc: fix typo in maintaining-zlib guide (Nitin Kumar) #32292
- [6cdccc8f28] - doc: fix typo in maintaining-openssl guide (Nitin Kumar) #32292
- [7d4ec42b3a] - doc: fix profile type of --heap-prof-name (Syohei YOSHIDA) #32404
- [e7e3aeec34] - doc: use uppercase on windows path (himself65) #32294
- [1b97d25a6c] - doc: rename cve_management_process.md to fit doc style guide (Ling Samuel) #32456
- [1e27f66ce6] - doc: add missing changes: entry for mkdir (Anna Henningsen) #32490
- [edee4ecade] - doc: add mildsunrise to collaborators (Alba Mendez) #32525
- [7f0ed89892] - doc: add link to DNS definition (unknown) #32228
- [394f8ca333] - doc,crypto: clarify oaepHash option's impact (Filip Skokan) #32340
- [991aca329d] - (SEMVER-MINOR) fs: make parameters optional for readSync (Lucas Holmquist) #32460
- [b8b8e82591] - fs: fix fs.read when passing null value (himself65) #32479
- [30d55a3517] - (SEMVER-MINOR) fs: add fs.readv() (Sk Sajidul Kadir) #32356
- [8770fd96a7] - fs: fixup error message for invalid options.recursive (James M Snell) #32472
- [8597df48f7] - http: fix incorrect headersTimeout measurement (Alex R) #32329
- [ff3615d5d9] - http: move free socket error handling to agent (Robert Nagy) #32003
- [7c3c06224c] - http: don't emit 'readable' after 'close' (Robert Nagy) #32277
- [bd9f4d2954] - http: increase default header size from 8KB to 16KB (unknown) #32520
- [567b352062] - http: fixup options.method error message (James M Snell) #32471
- [23e56ff21c] - lib: fix return type of setTimeout in net.Socket (龙腾道) #32722
- [180e43711c] - lib: removes unnecessary params (Jesus Hernandez) #32694
- [94251c463b] - lib: changed functional logic in cluster schedulers (Yash Ladha) #32505
- [5740a70e5d] - lib: removed unused error code (Yash Ladha) #32481
- [68608b2bdc] - lib: replace Array to ArrayIsArray by primordials (himself65) #32258
- [537d2c1170] - module: expose exports conditions to loaders (Jan Krems) #31303
- [bc7f819263] - module: path-only CJS exports extension searching (Guy Bedford) #32351
- [3907de7d24] - (SEMVER-MINOR) n-api: detect deadlocks in thread-safe function (Gabriel Schulhof) #32689
- [dd74601f96] - net: fix crash if POLLHUP is received (Santiago Gimeno) #32590
- [3c8bf9022a] - net: wait for shutdown to complete before closing (Robert Nagy) #32491
- [1a01ac3425] - perf_hooks: allow omitted parameters in 'performance.measure' (himself65) #32651
- [8e00f0d2a2] - repl: fixup error message (James M Snell) #32474
- [9b84103273] - report: fix stderr matching for fatal error (gengjiawen) #32699
- [c09552063b] - report: add missing locks for report_on_fatalerror accessors (Anna Henningsen) #32535
- [611dbf8d7f] - src: removes unused v8::Integer and v8::Array namespace (Jesus Hernandez) #32779
- [c8a007f91e] - src: remove unused v8::TryCatch namespace (Juan José Arboleda) #32729
- [ea1785597c] - src: remove duplicated code (himself65) #32719
- [1763649c51] - src: sync access for report and openssl options (Sam Roberts) #32618
- [246b789771] - src: refactor to avoid goto in node_file.cc (Tobias Nießen) #32637
- [d77998096b] - src: munmap(2) upon class instance destructor (Gabriel Schulhof) #32570
- [1fb4f9d922] - src: fix warnings on SPrintF (himself65) #32558
- [3b5c4fbc7c] - src: replace goto with lambda in options parser (Tobias Nießen) #32635
- [42a28d0214] - src: fix extra includes of "env.h" and "env-inl.h" (Nick Kreeger) #32293
- [fcfde57806] - src: avoid using elevated v8 namespaces in node_perf.h (James M Snell) #32468
- [9600332c53] - src: avoid using elevated v8 namespaces in node_errors.h (James M Snell) #32468
- [62db9a0678] - src: minor http2 refactorings (James M Snell) #32551
- [8f766e8397] - src: rename http2 class and suppress compile warnings (James M Snell) #32551
- [afc6a25f42] - src: use smart pointers for nghttp2 objects (James M Snell) #32551
- [4df3ac2a63] - src: remove loop_init_failed_ from Worker class (Anna Henningsen) #32562
- [0faaa7c84c] - src: clean up worker thread creation code (Anna Henningsen) #32562
- [f284d599bb] - src: move JSONWriter into its own file (Anna Henningsen) #32552
- [e066584d94] - src: align PerformanceState class name with conventions (Anna Henningsen) #32539
- [04237eca55] - src: handle report options on fatalerror (Sam Roberts) #32497
- [5080491ae4] - src: refactoring and cleanup of node_i18n (James M Snell) #32438
- [e2b08f0ea8] - src: remove unnecessary 'Local.As' operation (himself65) #32286
- [928a49004e] - src: add test/abort build tasks (Christian Niederer) #31740
- [9c901a5ef0] - src: add aliased-buffer-overflow abort test (Christian Niederer) #31740
- [1e76bc67dd] - src: check for overflow when extending AliasedBufferBase (Christian Niederer) #31740
- [c71736efd8] - src: unify Linux and FreeBSD large pages implem (Gabriel Schulhof) #32534
- [06bff18fa8] - src: replace handle dereference with ContainerOf (Harshitha KP) #32298
- [b973b938a2] - src: enhance template function 'MakeUtf8String' (himself65) #32322
- [fbf0493b05] - src: fix compiler warnings in node_report_module (Daniel Bevenius) #32498
- [1de9718b54] - src: remove excess v8 namespace (himself65) #32191
- [09cd7449e2] - src: simplify large pages mapping code (Gabriel Schulhof) #32396
- [778dcc8f1a] - src: clean v8 namespaces in env.cc file (Juan José Arboleda) #32374
- [aa282276ec] - src: check for empty maybe local (Xavier Stouder) #32339
- [13377a0f0f] - src: cleanup DestroyParam when Environment exits (Anna Henningsen) #32421
- [055c5686ad] - src,test: add regression test for nested Worker termination (Anna Henningsen) #32623
- [1c47bba607] - stream: complete pipeline with stdio (Robert Nagy) #32373
- [cad768eb86] - stream: change var to let/const in stream files (Saajan) #32214
- [bdb2df7e34] - test: replace console.log/error with debuglog (Agustin Daguerre) #32695
- [756a049a1a] - test: make sure that inspector tests finish (Anna Henningsen) #32673
- [a7a70fa986] - test: save test file in temporary directory (Luigi Pinca) #32670
- [6d479588cb] - test: fix check error name on error instance (himself65) #32508
- [9df274ad03] - Revert "test: mark empty udp tests flaky on OS X" (Luigi Pinca) #32489
- [6d122429c1] - test: remove unused variables on async hook test (Julian Duque) #32630
- [8c68dd4a11] - test: check that --expose-internals is disallowed in NODE_OPTIONS (Juan José Arboleda) #32554
- [4ffa138c81] - test: refactor test-worker (himself65) #32509
- [17b2526162] - test: add Worker initialization failure test case (Harshitha KP) #31929
- [ed89863c6d] - test: fix tool path in test-doctool-versions.js (Richard Lau) #32645
- [17a3dcea90] - test: copy addons .gitignore to test/abort/ (Anna Henningsen) #32624
- [e501ba2146] - test: refactor test-http2-buffersize (Rich Trott) #32540
- [cede0cb841] - test: skip crypto test on arm buildbots (Ben Noordhuis) #32636
- [e01d061669] - test: replace console.error() with debuglog calls (Rich Trott) #32588
- [a7b6a10e2a] - test: fix python-version selection with actions (Myles Borins) #32609
- [93ff4ffca9] - test: add a missing common.mustCall (Harshitha KP) #32305
- [30505d7c10] - test: remove unnecessary console.log() calls (Juan José Arboleda) #32541
- [8f0c1069b9] - test: replace console.log() with debuglog() (Juan José Arboleda) #32550
- [408437d7c6] - test: validate util.format when the value is 'Infinity' (Andrés M. Gómez) #32573
- [2e015e5b5e] - test: fix fs test-fs-utimes strictEqual arg order (Ben Noordhuis) #32420
- [edf35db27e] - test: replace flag expose_internals to expose-internals (Juan José Arboleda) #32542
- [079a32e31c] - test: use common.mustCall in test-worker-esm-exit (himself65) #32544
- [cca269c3a0] - test: use template strings in parallel tests (Daniel Estiven Rico Posada) #32549
- [0e4ce8f50a] - test: add known issues test for #31733 (Ben Noordhuis) #31734
- [28077a01cc] - test: mark test-http2-reset-flood flaky on bsd (Myles Borins) #32595
- [ca2662012e] - test: add test-worker-prof to the SLOW list for debug (Myles Borins) #32589
- [8bcbb8d7dd] - test: refactor test-http-information-processing (Rich Trott) #32547
- [1fc19b0fb0] - test: fix a typo on test-fs-read-optional-params (himself65) #32461
- [986a60544a] - test: skip a wasi test on IBMi PASE (Xu Meng) #32459
- [73fec7cd00] - test: harden the tick sampling logic (Harshitha KP) #32190
- [1905b9ecce] - test: als variant of test-timers-clearImmediate (Harshitha KP) #32303
- [72983d2e4f] - test: skip some binding tests on IBMi PASE (Xu Meng) #31967
- [02eea7773a] - test: revise test-http-response-multi-content-length (Rich Trott) #32526
- [f179a223d7] - test: remove a duplicated test (himself65) #32453
- [fbb51b9c41] - test: check bundled binaries are signed on macOS (Richard Lau) #32522
- [36c6d22113] - test: unflake async-hooks/test-statwatcher (Bartosz Sosnowski) #32484
- [b1e6f297cf] - test: use Promise.all() in test-cluster-net-listen-ipv6only-false (Rich Trott) #32398
- [11d7cf155a] - test: replace Map with Array in test-cluster-net-listen-ipv6only-false (Rich Trott) #32398
- [2f8f619c7e] - test: revise test-http-client-default-headers-exist (Rich Trott) #32493
- [567e671bd2] - tools: update Boxstarter script and document (himself65) #32299
- [97a3e2f0e2] - tools: update ESLint to 7.0.0-alpha.3 (Colin Ihrig) #32533
- [ffdd82ba3f] - tools: only fetch previous versions when necessary (Richard Lau) #32518
- [4e5271acfb] - tracing: do not attempt to call into JS when disallowed (Anna Henningsen) #32548
- [0087eb1b98] - (SEMVER-MINOR) util: add maxStrLength option to inspect function (unknown) #32392
- [848d81cf23] - util: only inspect error properties that are not visible otherwise (Ruben Bridgewater) #32327
- [6d86651076] - util: fix inspecting document.all (Gus Caplan) #31938
- [4f98b7178d] - wasi: clean up options validation (Denys Otrishko) #31797
- [2ee684a7b9] - win,build: set exit_code on configure failure (Bartlomiej Brzozowski) #32205
- [8cb5e41807] - (SEMVER-MINOR) worker: support MessagePort to workers data (Juan José Arboleda) #32278
- [4acd7f4390] - worker: do not emit 'exit' events during process.exit() (Anna Henningsen) #32546
- [833d78afcf] - worker: runtime error on pthread creation (Harshitha KP) #32344
New in Node.js 13.10.1 (Mar 6, 2020)
- Notable Changes:
- In Node.js 13.9.0 deps/zlib was switched to the chromium maintained implementation. This change had the unforseen consequence of breaking building from the tarballs we release as we were too aggressively removing unneccessary files from the deps/zlib folder. This release includes a patch that ensures that individuals will once again be able to build Node.js from source.
- Commits:
- [723aa41d96] - build: fix zlib tarball generation (Shelley Vohr) #32094
- [9c1ac50fc5] - build: fix building with ninja (Richard Lau) #32071
- [478450d6b3] - build: add asan check in Github action (gengjiawen) #31902
- [0fc45f80b5] - crypto: simplify exportKeyingMaterial (Tobias Nießen) #31922
- [4dc59b91a7] - dgram: make UDPWrap more reusable (Anna Henningsen) #31871
- [4ed720e940] - doc: visibility of Worker threads cli options (Harshitha KP) #31380
- [2518213a1b] - doc: improve doc/markdown file organization coherence (ConorDavenport) #31792
- [ba3f7ff94d] - doc: update stream.pipeline() signature (vsemozhetbyt) #31789
- [3c8daa3aa0] - events: convert errorMonitor to a normal property (Gerhard Stoebich) #31848
- [6b44df2415] - perf,src: add HistogramBase and internal/histogram.js (James M Snell) #31988
- [6a9cea9ed2] - src: pass resource object along with InternalMakeCallback (Anna Henningsen) #32063
- [70f046010c] - src: start the .text section with an asm symbol (Gabriel Schulhof) #31981
- [755da035ce] - src: add node_crypto_common and refactor (James M Snell) #32016
- [4d5318c164] - src: improve handling of internal field counting (James M Snell) #31960
- [1539928ed9] - test: add GC test for disabled AsyncLocalStorage (Andrey Pechkurov) #31995
- [be90817558] - test: remove common.port from test-tls-securepair-client (Rich Trott) #32024
New in Node.js 13.10.0 (Mar 6, 2020)
- Notable Changes:
- async_hooks:
- introduce async-context API (vdeturckheim) #26540
- stream:
- support passing generator functions into pipeline() (Robert Nagy) #31223
- tls:
- expose SSL_export_keying_material (simon) #31814
- vm:
- implement vm.measureMemory() for per-context memory measurement (Joyee Cheung) #31824
- Commits:
- [f71fc9044a] - async_hooks: add store arg in AsyncLocalStorage (Andrey Pechkurov) #31930
- [6af9e7e0c3] - async_hooks: executionAsyncResource matches in hooks (Gerhard Stoebich) #31821
- [877ab97286] - (SEMVER-MINOR) async_hooks: introduce async-context API (vdeturckheim) #26540
- [9a41ced0d1] - build: only lint markdown files that have changed (POSIX-only) (Rich Trott) #31923
- [ca4407105e] - build: add missing comma in node.gyp (cjihrig) #31959
- [4dffd0437d] - cli: --perf-prof only works on Linux (Shelley Vohr) #31892
- [4d05508aa8] - crypto: turn impossible DH errors into assertions (Tobias Nießen) #31934
- [d0e94fc77e] - crypto: fix ieee-p1363 for createVerify (Tobias Nießen) #31876
- [fbaab7d854] - deps: openssl: cherry-pick 4dcb150ea30f (Adam Majer) #32002
- [e6125cd53b] - deps: V8: backport f7771e5b0cc4 (Matheus Marchini) #31957
- [c27f0d10c4] - deps: update zlib to upstream d7f3ca9 (Sam Roberts) #31800
- [b30a6981d3] - deps: move zlib maintenance info to guides (Sam Roberts) #31800
- [cd30dbb0d6] - doc: revise --zero-fill-buffers text in buffer.md (Rich Trott) #32019
- [166579f84b] - doc: add link to sem-ver info (unknown) #31985
- [e3258fd148] - doc: update zlib doc (James M Snell) #31665
- [8516602ba0] - doc: clarify http2.connect authority details (James M Snell) #31828
- [c5acf0a13b] - doc: updated YAML version representation in readline.md (Rich Trott) #31924
- [4c6343fdea] - doc: describe how to update zlib (Sam Roberts) #31800
- [a46839279f] - doc: update releases guide re pushing tags (Myles Borins) #31855
- [15cc9b0126] - doc: update assert.rejects() docs with a validation function example (Eric Eastwood) #31271
- [2046652b4e] - doc: fix anchor for ERR_TLS_INVALID_CONTEXT (Tobias Nießen) #31915
- [091b4bfe2d] - doc: add note about ssh key to releases (Shelley Vohr) #31856
- [3438937a37] - doc: fix notable changes for v13.9.0 (Shelley Vohr) #31857
- [672f76d6bd] - doc: reword possessive form of Node.js in adding-new-napi-api.md (Rich Trott) #31748
- [3eaf37767e] - doc: reword possessive form of Node.js in http.md (Rich Trott) #31748
- [cb210e6b16] - doc: reword possessive form of Node.js in process.md (Rich Trott) #31748
- [3969af43b4] - doc: reword possessive form of Node.js in debugger.md (Rich Trott) #31748
- [f9526057b3] - doc: move gireeshpunathil to TSC emeritus (Gireesh Punathil) #31770
- [b07175853f] - doc: pronouns for @Fishrock123 (Jeremiah Senkpiel) #31725
- [7f4d6ee8ea] - doc: move @Fishrock123 to TSC Emeriti (Jeremiah Senkpiel) #31725
- [b177bba555] - doc: move @Fishrock123 to a previous releaser (Jeremiah Senkpiel) #31725
- [9e4aad705f] - doc: fix typos in doc/api/https.md (Jeff) #31793
- [eb2dce8342] - doc: claim ABI version 82 for Electron 10 (Samuel Attard) #31778
- [db291aaf06] - doc: guide - using valgrind to debug memory leaks (Michael Dawson) #31501
- [aa16d80c05] - doc,crypto: re-document oaepLabel option (Ben Noordhuis) #31825
- [9079bb42ea] - http2: make compat finished match http/1 (Robert Nagy) #24347
- [3bd8feac0c] - meta: move aqrln to emeritus (Rich Trott) #31997
- [c801045fcd] - meta: move jbergstroem to emeritus (Rich Trott) #31996
- [ded3890bec] - meta: move maclover7 to Emeritus (Rich Trott) #31994
- [91ce69a554] - meta: move Glen Keane to Collaborator Emeritus (Rich Trott) #31993
- [b74c40eda6] - meta: move not-an-aardvark to emeritus (Rich Trott) #31928
- [61a0d8b6cd] - meta: move julianduque to emeritus (Rich Trott) #31863
- [94a471a422] - meta: move eljefedelrodeodeljefe to emeritus (Rich Trott) #31735
- [9e3e6763fa] - module: port source map sort logic from chromium (bcoe) #31927
- [b9f3bfe6c8] - module: disable conditional exports, self resolve warnings (Guy Bedford) #31845
- [bbb6cc733c] - module: package "exports" error refinements (Guy Bedford) #31625
- [6adbfac9b0] - repl: eager-evaluate input in parens (Shelley Vohr) #31943
- [6a35b0d102] - src: don't run bootstrapper in CreateEnvironment (Shelley Vohr) #31910
- [3497370d66] - src: move InternalCallbackScope to StartExecution (Shelley Vohr) #31944
- [f62967c827] - src: enable StreamPipe for generic StreamBases (Anna Henningsen) #31869
- [776f379124] - src: include large pages source unconditionally (Gabriel Schulhof) #31904
- [9f68e14052] - src: elevate v8 namespaces (Harshitha KP) #31901
- [8fa6373e62] - src: allow unique_ptrs with custom deleter in memory tracker (Anna Henningsen) #31870
- [88ccb444e3] - src: move BaseObject subclass dtors/ctors out of node_crypto.h (Anna Henningsen) #31872
- [98d262e5f3] - src: inform callback scopes about exceptions in HTTP parser (Anna Henningsen) #31801
- [57302f866e] - src: prefer 3-argument Array::New() (Anna Henningsen) #31775
- [8a2b62e4cd] - stream: ensure pipeline always destroys streams (Robert Nagy) #31940
- [313ecaabe5] - stream: fix broken pipeline error propagation (Robert Nagy) #31835
- [8ad64b8e53] - (SEMVER-MINOR) stream: support passing generator functions into pipeline() (Robert Nagy) #31223
- [d0a00711f8] - stream: invoke buffered write callbacks on error (Robert Nagy) #30596
- [1bca7b6c70] - test: move test-inspector-module to parallel (Rich Trott) #32025
- [932563473c] - test: improve disable AsyncLocalStorage test (Andrey Pechkurov) #31998
- [49864d161e] - test: fix flaky test-dns-any.js (Rich Trott) #32017
- [38494746a6] - test: fix flaky test-gc-net-timeout (Robert Nagy) #31918
- [b6d33f671a] - test: change test to not be sensitive to buffer send size (Rusty Conover) #31499
- [cef5502055] - test: remove sequential/test-https-keep-alive-large-write.js (Rusty Conover) #31499
- [f1e76488a7] - test: validate common property usage (Denys Otrishko) #31933
- [ab8f060159] - test: fix usage of invalid common properties (Denys Otrishko) #31933
- [49c959d636] - test: increase timeout in vm-timeout-escape-queuemicrotask (Denys Otrishko) #31966
- [04eda02d87] - test: add documentation for common.enoughTestCpu (Rich Trott) #31931
- [918c2b67cc] - test: fix typo in common/index.js (Rich Trott) #31931
- [f89fb2751b] - test: mark empty udp tests flaky on OS X (Sam Roberts) #31936
- [e08fef1fda] - test: add secp224k1 check in crypto-dh-stateless (Daniel Bevenius) #31715
- [4fe9e043ef] - test: remove common.PORT from assorted pummel tests (Rich Trott) #31897
- [7d5776e119] - test: remove flaky designation for test-net-connect-options-port (Rich Trott) #31841
- [1933efa62f] - test: remove common.PORT from test-net-write-callbacks.js (Rich Trott) #31839
- [87e9014764] - test: remove common.PORT from test-net-pause (Rich Trott) #31749
- [3fbd5ab265] - test: remove common.PORT from test-tls-server-large-request (Rich Trott) #31749
- [e76ac1d2c9] - test: remove common.PORT from test-net-throttle (Rich Trott) #31749
- [724bf3105b] - test: remove common.PORT from test-net-timeout (Rich Trott) #31749
- [60c71dcad2] - test: add known issue test for sync writable callback (James M Snell) #31756
- [2c0b249098] - tls: reduce memory copying and number of BIO buffer allocations (Rusty Conover) #31499
- [acb3aff674] - (SEMVER-MINOR) tls: expose SSL_export_keying_material (simon) #31814
- [f293dcf6de] - tools: add NODE_TEST_NO_INTERNET to the doc builder (Joyee Cheung) #31849
- [79b1f04b15] - tools: sync gyp code base with node-gyp repo (Michaël Zasso) #30563
- [f858f2366c] - tools: update lint-md task to lint for possessives of Node.js (Rich Trott) #31862
- [ae3929e958] - (SEMVER-MINOR) vm: implement vm.measureMemory() for per-context memory measurement (Joyee Cheung) #31824
- [a86cb0e480] - vm: lazily initialize primordials for vm contexts (Joyee Cheung) #31738
- [f2389eba99] - worker: emit runtime error on loop creation failure (Harshitha KP) #31621
- [f87ac90849] - worker: unroll file extension regexp (Anna Henningsen) #31779
New in Node.js 13.9.0 (Feb 21, 2020)
- Notable changes:
- async_hooks:
- add executionAsyncResource (Matteo Collina) #30959
- crypto:
- add crypto.diffieHellman (Tobias Nießen) #31178
- add DH support to generateKeyPair (Tobias Nießen) #31178
- simplify DH groups (Tobias Nießen) #31178
- add key type 'dh' (Tobias Nießen) #31178
- test:
- skip keygen tests on arm systems (Tobias Nießen) #31178
- perf_hooks:
- add property flags to GCPerformanceEntry (Kirill Fomichev) #29547
- process:
- report ArrayBuffer memory in memoryUsage() (Anna Henningsen) #31550
- readline:
- make tab size configurable (Ruben Bridgewater) #31318
- report:
- add support for Workers (Anna Henningsen) #31386
- worker:
- add ability to take heap snapshot from parent thread (Anna Henningsen) #31569
- added new collaborators:
- add ronag to collaborators (Robert Nagy) #31498
- Commits:
- [2db7593838] - assert: align character indicators properly (Ruben Bridgewater) #31429
- [a840e9d639] - async_hooks: ensure event after been emitted on runInAsyncScope (legendecas) #31784
- [6be51296e4] - (SEMVER-MINOR) async_hooks: add executionAsyncResource (Matteo Collina) #30959
- [2de085fe93] - benchmark: use let instead of var (Daniele Belardi) #31592
- [e37f5100e5] - benchmark: swap var for let in benchmarks (Alex Ramirez) #28958
- [819fb76ba5] - Revert "benchmark: refactor helper into a class" (Anna Henningsen) #31722
- [8974fa794c] - Revert "benchmark: add test and all options and improve errors" (Anna Henningsen) #31722
- [30f55cebb6] - Revert "benchmark: remove special test entries" (Anna Henningsen) #31722
- [1484f5ab6e] - benchmark: remove special test entries (Ruben Bridgewater) #31396
- [ca343caee3] - benchmark: add test and all options and improve errors (Ruben Bridgewater) #31396
- [9f2c742626] - benchmark: refactor helper into a class (Ruben Bridgewater) #31396
- [161db608ae] - benchmark: check for and fix multiple end() (Brian White) #31624
- [6fe8eda3ca] - benchmark: clean up config resolution in multiple benchmarks (Denys Otrishko) #31581
- [ebdcafafeb] - benchmark: add MessagePort benchmark (Anna Henningsen) #31568
- [eb3c6e9127] - benchmark: use let and const instead of var (Daniele Belardi) #31518
- [b29badad81] - benchmark: fix getStringWidth() benchmark (Rich Trott) #31476
- [519134ddb0] - buffer: improve from() performance (Brian White) #31615
- [769154de07] - buffer: improve concat() performance (Brian White) #31522
- [9d45393e95] - buffer: improve fill(number) performance (Brian White) #31489
- [60a69770f5] - build: add configure option to debug only Node.js part of the binary (Anna Henningsen) #31644
- [10f9abe81d] - build: ignore all the "Debug","Release" folders (ConorDavenport) #31565
- [03eade01d7] - build: enable loading internal modules from disk (Gus Caplan) #31321
- [a2b7006847] - build: build docs in GitHub Actions CI workflow (Richard Lau) #31504
- [2e216aebcb] - build: do not use setup-node in build workflows (Richard Lau) #31349
- [825d089763] - crypto: fix performance regression (Robert Nagy) #31742
- [3c6545f0b4] - crypto: improve randomBytes() performance (Brian White) #31519
- [f84b34d42c] - crypto: improve errors in DiffieHellmanGroup (Tobias Nießen) #31445
- [4591202e66] - crypto: assign and use ERR_CRYPTO_UNKNOWN_CIPHER (Tobias Nießen) #31437
- [bf46c304dd] - (SEMVER-MINOR) crypto: add crypto.diffieHellman (Tobias Nießen) #31178
- [0d3e095941] - (SEMVER-MINOR) crypto: add DH support to generateKeyPair (Tobias Nießen) #31178
- [15bd2c9f0c] - (SEMVER-MINOR) crypto: simplify DH groups (Tobias Nießen) #31178
- [572322fddf] - (SEMVER-MINOR) crypto: add key type 'dh' (Tobias Nießen) #31178
- [0ac124b6b9] - deps: upgrade npm to 6.13.7 (Michael Perrotte) #31558
- [bf7097c77d] - deps: switch to chromium's zlib implementation (Brian White) #31201
- [2eeaa5ce40] - deps: uvwasi: cherry-pick 7b5b6f9 (cjihrig) #31495
- [464f4afa66] - deps: upgrade to libuv 1.34.2 (cjihrig) #31477
- [9811ebe0c5] - deps: uvwasi: cherry-pick eea4508 (cjihrig) #31432
- [2fe0ed3a2e] - deps: uvwasi: cherry-pick c3bef8e (cjihrig) #31432
- [09566be899] - deps: uvwasi: cherry-pick ea73af5 (cjihrig) #31432
- [04f2799ed2] - deps: update to uvwasi 0.0.5 (cjihrig) #31432
- [7c4f1ed030] - deps: uvwasi: cherry-pick 941bedf (cjihrig) #31363
- [00e38a749a] - deps: port uvwasi@676ba9a to gyp (cjihrig) #31363
- [5bd3f6c258] - deps,test: update to uvwasi 0.0.4 (cjihrig) #31363
- [2cd8461e56] - doc: add glossary.md (gengjiawen) #27517
- [c4613c6b8b] - doc: add prerequisites information for Arch (Ujjwal Sharma) #31669
- [b35f83e69b] - doc: fix typo on fs docs (Juan José Arboleda) #31620
- [2ff812ca84] - doc: update contact email for @ryzokuken (Ujjwal Sharma) #31670
- [2c83946757] - doc: fix default server timeout description for https (Andrey Pechkurov) #31692
- [b56a21fdad] - doc: add directions to mark a release line as lts (Danielle Adams) #31724
- [5ae40cd2b2] - doc: expand C++ README with information about exception handling (Anna Henningsen) #31720
- [94a0ec1b99] - doc: update foundation name in onboarding (Tobias Nießen) #31719
- [fda97fa772] - doc: reword possessive form of Node.js in zlib.md (Rich Trott) #31713
- [eea58cd3d5] - doc: reword possessive form of Node.js in modules.md (Rich Trott) #31713
- [d0238190a1] - doc: reword possessive form of Node.js in repl.md (Rich Trott) #31713
- [55a25b3bbe] - doc: reword section title in addons.md (Rich Trott) #31713
- [ba9fae058a] - doc: revise deepEqual() legacy assertion mode text (Rich Trott) #31704
- [f6d78f959f] - doc: improve strict assertion mode color text (Rich Trott) #31703
- [22cf3e3d4e] - doc: consolidate introductory text (Rich Trott) #31667
- [1e2327d9e6] - doc: simplify async_hooks overview (Rich Trott) #31660
- [77ec381ea2] - doc: clarify Worker exit/message event ordering (Anna Henningsen) #31642
- [4b0085c7e3] - doc: update TSC name in "Release Process" (Tobias Nießen) #31652
- [2e6c737281] - doc: remove .github/ISSUE_TEMPLATE.md in favor of the template folder (Joyee Cheung) #31656
- [b61b85ccf9] - doc: add note in BUILDING.md about running make distclean (Swagat Konchada) #31542
- [2991e7c0e3] - doc: correct getting an ArrayBuffer's length (tsabolov) #31632
- [e27f24987e] - doc: ask more questions in the bug report template (Joyee Cheung) #31611
- [b50a6cc54d] - doc: add example to fs.promises.readdir (Conor ONeill) #31552
- [1dbe765b0b] - doc: add AsyncResource + Worker pool example (Anna Henningsen) #31601
- [f40264980e] - doc: fix numbering (Steffen) #31575
- [3ba0a22c57] - doc: clarify socket.setNoDelay() explanation (Rusty Conover) #31541
- [faec87b7f1] - doc: list largepage values in --help (cjihrig) #31537
- [2638110cce] - doc: clarify require() OS independence (Denys Otrishko) #31571
- [7fe9d5ebd4] - doc: add protocol option in http2.connect() (Michael Lumish) #31560
- [6626c4de3c] - doc: clarify that v8.serialize() is not deterministic (Anna Henningsen) #31548
- [cde4b51a92] - doc: update job reference in COLLABORATOR_GUIDE.md (Richard Lau) #31557
- [4cac2cccd6] - doc: simultaneous blog and email of sec announce (Sam Roberts) #31483
- [e2b3e4e0e3] - doc: update collaborator guide citgm instructions (Robert Nagy) #31549
- [43186e0046] - doc: change error message testing policy (Tobias Nießen) #31421
- [a52df55b9a] - doc: remove redundant properties from headers (XhmikosR) #31492
- [04d783ae71] - doc: update maintaining-V8.md (kenzo-spaulding) #31503
- [f75fe9ab71] - doc: enable visual code indication in headers (Rich Trott) #31493
- [8f25e51e4e] - doc: clean up and streamline vm.md examples (Denys Otrishko) #31474
- [729b96137e] - doc: further fix async iterator example (Robert Nagy) #31367
- [15b24b71ce] - doc: add ronag to collaborators (Robert Nagy) #31498
- [e9462b4d44] - doc: fix code display in header glitch (Rich Trott) #31460
- [b1c745877b] - doc: fix syntax in N-API documentation (Tobias Nießen) #31466
- [67d8967f98] - doc: add explanatory to path.resolve description (Yakov Litvin) #31430
- [1099524452] - doc: document process.std*.fd (Harshitha KP) #31395
- [843c5c6f46] - doc: fix several child_process doc typos (cjihrig) #31393
- [d77099856a] - doc: fix a broken link in fs.md (himself65) #31373
- [1e08d3c2f1] - doc: correct added version for --abort-on-uncaught-exception (Anna Henningsen) #31360
- [6055134db6] - doc: explain hex encoding in Buffer API (Harshitha KP) #31352
- [bd54abe3f7] - doc: explain _writev() API (Harshitha KP) #31356
- [91f5e9b0f7] - doc: document missing properties in child_process (Harshitha KP) #31342
- [6874deef28] - doc,assert: rename "mode" to "assertion mode" (Rich Trott) #31635
- [788ea36ce0] - doc,net: reword Unix domain path paragraph in net.md (Rich Trott) #31684
- [e3e40a12b0] - doc,util: revise util.md introductory paragraph (Rich Trott) #31685
- [e46cfaf146] - errors: make use of "cannot" consistent (Tobias Nießen) #31420
- [f6392e9fde] - esm: import.meta.resolve with nodejs: builtins (Guy Bedford) #31032
- [21fc81821f] - fs: set path when mkdir recursive called on file (bcoe) #31607
- [8669ecc8a2] - fs: bail on permission error in recursive directory creation (bcoe) #31505
- [2c2b3ba39c] - fs: do not emit 'close' twice if emitClose enabled (Robert Nagy) #31383
- [32ac1be372] - fs: unset FileHandle fd after close (Anna Henningsen) #31389
- [9ecae58643] - lib: delete dead code in SourceMap (Justin Ridgewell) #31512
- [7ecf842429] - lib,src: switch Buffer::kMaxLength to size_t (Ben Noordhuis) #31406
- [15c8d9ead1] - meta: move princejwesley to emeritus (Rich Trott) #31730
- [f5ae510e03] - meta: move vkurchatkin to emeritus (Rich Trott) #31729
- [cd520ddfef] - meta: move calvinmetcalf to emeritus (Rich Trott) #31736
- [832255df89] - meta: fix collaborator list errors in README.md (James M Snell) #31655
- [aa266628ba] - module: drop support for extensionless main entry points in esm (Geoffrey Booth) #31415
- [ca81af7d73] - module: correct docs about when extensionless files are supported (Geoffrey Booth) #31415
- [6797656d86] - module: revert #31021 (Geoffrey Booth) #31415
- [ae2141effc] - n-api: free instance data as reference (Gabriel Schulhof) #31638
- [c8215699ab] - n-api: rename 'promise' parameter to 'value' (Tobias Nießen) #31544
- [5982726ef9] - net: track state of setNoDelay() and prevent unnecessary system calls (Rusty Conover) #31543
- [e7fea14c7b] - (SEMVER-MINOR) perf_hooks: add property flags to GCPerformanceEntry (Kirill Fomichev) #29547
- [672315651d] - (SEMVER-MINOR) process: report ArrayBuffer memory in memoryUsage() (Anna Henningsen) #31550
- [cd754337f8] - process: fix two overflow cases in SourceMap VLQ decoding (Justin Ridgewell) #31490
- [98f3028c30] - readline: remove intermediate variable (cjihrig) #31676
- [148dfde1d4] - (SEMVER-MINOR) readline: make tab size configurable (Ruben Bridgewater) #31318
- [1bcf2f9423] - report: add support for Workers (Anna Henningsen) #31386
- [7c2d33f38f] - src: use hex not decimal in IsArrayIndex (Shelley Vohr) #31758
- [a095ef0d52] - src: keep main-thread Isolate attached to platform during Dispose (Anna Henningsen) #31795
- [1dec9d196f] - src: wrap HostPort in ExclusiveAccess (Ben Noordhuis) #31717
- [e23023d685] - src: add ExclusiveAccess class (Ben Noordhuis) #31717
- [54caf76210] - src: allow to reuse env options handling (Denys Otrishko) #31711
- [6ad8ca5ecf] - src: do not unnecessarily re-assign uv handle data (Anna Henningsen) #31696
- [2837788849] - src: fix compile warnings in node_url.cc (Anna Henningsen) #31689
- [1d34ab5e43] - src: modernized unique_ptr construction (Yuhanun Citgez) #31654
- [0e44902b85] - src: remove dead code in InternalMakeCallback (Gerhard Stoebich) #31622
- [348c7871b6] - src: remove fixed-size GetHumanReadableProcessName (Ben Noordhuis) #31633
- [8964077935] - src: fix OOB reads in process.title getter (Ben Noordhuis) #31633
- [af612bcc21] - src: various minor improvements to node_url (James M Snell) #31651
- [f0ffa4cb80] - src: fix inspecting MessagePort from init async hook (Anna Henningsen) #31600
- [425662e2d6] - src: remove unused Worker::child_port_ member (Anna Henningsen) #31599
- [43e2c2e643] - src: change Fill() to use ParseArrayIndex() (ConorDavenport) #31591
- [42b835412d] - src: remove duplicate field env in CryptoJob class (ConorDavenport) #31554
- [9fd1e717e6] - src: fix console debug output on Windows (Denys Otrishko) #31580
- [277980d288] - src: use __executable_start for linux hugepages (Ben Noordhuis) #31547
- [6d5c3cd7ac] - src: remove preview for heap dump utilities (Anna Henningsen) #31570
- [c167ae0a87] - src: fix minor typo in base_object.h (Daniel Bevenius) #31535
- [f04576ede0] - src: fix debug crash handling null strings (Rusty Conover) #31523
- [ef4d081660] - src: simplify native immediate queue running (Anna Henningsen) #31502
- [bc0c1420f0] - src: define noreturn attribute for windows (Alexander Smarus) #31467
- [9e9dbd44fe] - src: reduce code duplication in BootstrapNode (Denys Otrishko) #31465
- [76aad0e5e1] - src: use custom fprintf alike to write errors to stderr (Anna Henningsen) #31446
- [a685827a55] - src: add C++-style sprintf utility (Anna Henningsen) #31446
- [049a1727d4] - src: harden running native SetImmediate()s slightly (Anna Henningsen) #31468
- [f56de5a3b4] - src: move MemoryInfo() for worker code to .cc files (Anna Henningsen) #31386
- [0cacc1facf] - src: add interrupts to Environments/Workers (Anna Henningsen) #31386
- [f8c45b277f] - src: remove AsyncRequest (Anna Henningsen) #31386
- [600e96ec04] - src: add a threadsafe variant of SetImmediate() (Anna Henningsen) #31386
- [74a7cdbe05] - src: exclude C++ SetImmediate() from count (Anna Henningsen) #31386
- [53e566bc50] - src: better encapsulate native immediate list (Anna Henningsen) #31386
- [b8face28e7] - src: reduce large pages code duplication (Gabriel Schulhof) #31385
- [83dd65a469] - src: fix ignore GCC -Wcast-function-type for older compilers (Denys Otrishko) #31524
- [13c6965703] - src: ignore GCC -Wcast-function-type for v8.h (Daniel Bevenius) #31475
- [3dd4089b9a] - (SEMVER-MINOR) src,lib: make ^C print a JS stack trace (legendecas) #29207
- [6d0b2267ce] - stream: fix finished w/ 'close' before 'finish' (Robert Nagy) #31534
- [80e75ab389] - stream: add regression test for async iteration completion (Matteo Collina) #31508
- [538582b43d] - Revert "stream: fix async iterator destroyed error propagation" (Matteo Collina) #31508
- [f255053033] - stream: fix finished writable/readable state (Robert Nagy) #31527
- [3046648580] - stream: implement throw for async iterator (Robert Nagy) #31316
- [5a95fa4aeb] - stream: normalize async iterator stream destroy (Robert Nagy) #31316
- [20d0a0e9a7] - stream: add async iterator support for v1 streams (Robert Nagy) #31316
- [0654e6790d] - test: mark test-fs-stat-bigint flaky on FreeBSD (Rich Trott) #31728
- [6dbe6bde56] - test: fix flaky parallel/test-repl-history-navigation test (Ruben Bridgewater) #31708
- [1dae7dc6bc] - test: improve test-fs-stat-bigint (Rich Trott) #31726
- [fa9b59276d] - test: remove flaky designation for test-fs-stat-bigint (Rich Trott) #30437
- [d36ba2b555] - test: fix flaky test-fs-stat-bigint (Duncan Healy) #30437
- [5b3c4b3e7d] - Revert "test: refactor all benchmark tests to use the new test option" (Anna Henningsen) #31722
- [2c0f3028c9] - test: add debugging output to test-net-listen-after-destroy-stdin (Rich Trott) #31698
- [2224211609] - test: improve assertion message in test-dns-any (Rich Trott) #31697
- [b0e37b7180] - test: fix flaky test-trace-sigint-on-idle (Anna Henningsen) #31645
- [58f17c0e6b] - test: stricter assert color test (Ruben Bridgewater) #31429
- [89dcf733c6] - test: improve logged errors (Ruben Bridgewater) #31425
- [4878c7a197] - test: refactor all benchmark tests to use the new test option (Ruben Bridgewater) #31396
- [3bcc2da887] - test: fix test-benchmark-http (Rich Trott) #31686
- [6139d4ea3b] - test: fix flaky test-inspector-connect-main-thread (Anna Henningsen) #31637
- [13c256d31d] - test: add test-dns-promises-lookupService (Rich Trott) #31640
- [23fefba84c] - test: fix flaky test-http2-stream-destroy-event-order (Anna Henningsen) #31610
- [435b9c977a] - test: abstract common assertions in readline-interface test (Ruben Bridgewater) #31423
- [d2a12d3af8] - test: refactor test-readline-interface.js (Ruben Bridgewater) #31423
- [7c3cc94b9f] - test: unset NODE_OPTIONS for cctest (Anna Henningsen) #31594
- [62d0c6029d] - test: simplify test-https-simple.js (Sam Roberts) #31584
- [49be50051c] - test: show child stderr output in largepages test (Ben Noordhuis) #31612
- [c3247fedd9] - test: mark additional tests as flaky on Windows (Anna Henningsen) #31606
- [3fdec1c790] - test: fix flaky test-memory-usage (Anna Henningsen) #31602
- [23da559ab2] - test: verify threadId in reports (Dylan Coakley) #31556
- [5a12cd636b] - test: remove --experimental-worker flag comment (Harshitha KP) #31563
- [07525c317e] - test: make test-http2-buffersize more correct (Anna Henningsen) #31502
- [c4a2f94a11] - test: cover property n-api null cases (Gabriel Schulhof) #31488
- [f2dc694805] - test: fix test-heapdump-worker (Anna Henningsen) #31494
- [b25ea9b1dc] - test: add tests for main() argument handling (cjihrig) #31426
- [38ea53629b] - test: add wasi test for freopen() (cjihrig) #31432
- [c2792aad44] - test: remove bluebird remnants from test fixture (Rich Trott) #31435
- [583d1d9f55] - test: improve wasi stat test (cjihrig) #31413
- [676b84a803] - (SEMVER-MINOR) test: skip keygen tests on arm systems (Tobias Nießen) #31178
- [099c921f40] - test: add wasi test for symlink() and readlink() (cjihrig) #31403
- [6256d0ae92] - test: update postmortem test with v12 constants (Matheus Marchini) #31391
- [0bafb5c8c8] - test: export public symbols in addons tests (Ben Noordhuis) #28717
- [6833f62e9d] - test: add promises metadata to postmortem test (Matheus Marchini) #31357
- [41524282b5] - test,benchmark: fix test-benchmark-zlib (Rich Trott) #31538
- [c34872e464] - test,dns: add coverage for dns exception (Rich Trott) #31678
- [03aac4e65d] - tls: simplify errors using ThrowCryptoError (Tobias Nießen) #31436
- [95d509e974] - tools: update Markdown linter to be cross-platform (Derek Lewis) #31239
- [328b8a6444] - tools: unify make-v8.sh for ppc64le and s390x (Richard Lau) #31628
- [39c86bbe4c] - tools: replace deprecated iteritems() for items() (Giovanny Andres Gongora Granada (Gioyik)) #31528
- [be55f3ec4f] - tty: do not end in an infinite warning recursion (Ruben Bridgewater) #31429
- [a0c1ceddbc] - util: throw if unreachable TypedArray checking code is reached (Rich Trott) #31737
- [7b9d6d08f4] - util: add coverage for util.inspect.colors alias setter (Rich Trott) #31743
- [9f9edc2c78] - util: throw if unreachable code is reached (Rich Trott) #31712
- [5e1bee817c] - util: fix inspection of typed arrays with unusual length (Ruben Bridgewater) #31458
- [3da4d5174c] - util: improve unicode support (Ruben Bridgewater) #31319
- [822f2ac640] - worker: add support for .cjs extension (Antoine du HAMEL) #31662
- [cd99dc7368] - worker: properly handle env and NODE_OPTIONS in workers (Denys Otrishko) #31711
- [1592c474da] - worker: reset Isolate stack limit after entering Locker (Anna Henningsen) #31593
- [3e5803f91b] - worker: improve MessagePort performance (Anna Henningsen) #31605
- [8d3ffbeb55] - (SEMVER-MINOR) worker: add ability to take heap snapshot from parent thread (Anna Henningsen) #31569
- [6fdef457c6] - worker: remove redundant closing of child port (aaccttrr) #31555
- [5656ec9f71] - worker: move JoinThread() back into exit callback (Anna Henningsen) #31468
New in Node.js 13.8.0 (Feb 6, 2020)
- Vulnerabilities fixed:
- CVE-2019-15606: HTTP header values do not have trailing OWS trimmed.
- CVE-2019-15605: HTTP request smuggling using malformed Transfer-Encoding header.
- CVE-2019-15604: Remotely trigger an assertion on a TLS server with a malformed certificate string.
- Also, HTTP parsing is more strict to be more secure. Since this may cause problems in interoperability with some non-conformant HTTP implementations, it is possible to disable the strict checks with the --insecure-http-parser command line flag, or the insecureHTTPParser http option. Using the insecure HTTP parser should be avoided.
- Commits:
- [b7da194714] - benchmark: support optional headers with wrk (Sam Roberts) nodejs-private/node-private#189
- [1156a9e5f8] - crypto: fix assertion caused by unsupported ext (Fedor Indutny) nodejs-private/node-private#175
- [8f41e837bb] - deps: update llhttp to 2.0.4 (Beth Griggs) nodejs-private/node-private#199
- [07d56e49cf] - (SEMVER-MINOR) http: make --insecure-http-parser configurable per-stream or per-server (Anna Henningsen) #31448
- [25b6897e8a] - http: strip trailing OWS from header values (Sam Roberts) nodejs-private/node-private#189
- [eea3a7429b] - test: using TE to smuggle reqs is not possible (Sam Roberts) nodejs-private/node-private#199
New in Node.js 13.7.0 (Jan 22, 2020)
- Notable Changes:
- deps:
- upgrade to libuv 1.34.1 (cjihrig) #31332
- upgrade npm to 6.13.6 (Ruy Adorno) #31304
- module:
- add API for interacting with source maps (bcoe) #31132
- loader getSource, getFormat, transform hooks (Geoffrey Booth) #30986
- logical conditional exports ordering (Guy Bedford) #31008
- unflag conditional exports (Guy Bedford) #31001
- process:
- allow monitoring uncaughtException (Gerhard Stoebich) #31257
- Added new collaborators:
- GeoffreyBooth - Geoffrey Booth. #31306
- Commits:
- [9d26358cfe] - async_hooks: remove internal only error checking (Anatoli Papirovski) #30967
- [6e978f7d73] - benchmark: add default type in getstringwidth.js (Rich Trott) #31377
- [317d2dba45] - benchmark: benchmarking impacts of async hooks on promises (legendecas) #31188
- [55e2b4ee3b] - build: remove enable_vtune from vcbuild.bat (Richard Lau) #31338
- [f11406de43] - build: add vs2019 to vcbuild.bat help (Richard Lau) #31338
- [b2180d932a] - build: fix macos runner type in GitHub Action (扩散性百万甜面包) #31327
- [a6e1e9c6c3] - build: fix step name in GitHub Actions workflow (Richard Lau) #31323
- [0379c319fd] - build: add GitHub actions to run linters (Richard Lau) #31323
- [a31eed0214] - build: silence OpenSSL Windows compiler warnings (Richard Lau) #31311
- [6b118b44e8] - build: silence c-ares Windows compiler warnings (Richard Lau) #31311
- [7a5d4fad84] - build: test Python 3 using GitHub Actions-based CI (cclauss) #29474
- [964371824c] - build: avoid using CMP for BZ2File (SpaceRacet5w2A6l0I) #31198
- [22859367ca] - child_process: remove unnecessary use of inner state (Chetan Karande) #29358
- [6d6a3e4551] - deps: V8: cherry-pick d89f4ef1cd62 (Milad Farazmand) #31354
- [d62d06b3b7] - deps: V8: cherry-pick b9d33036e9a8 (Benjamin Coe) #31335
- [51e4a5618b] - deps: upgrade to libuv 1.34.1 (cjihrig) #31332
- [985f980053] - deps: upgrade npm to 6.13.6 (Ruy Adorno) #31304
- [6f95f01f95] - deps: deactivate failing tests corresponding to experimental features (Ruben Bridgewater) #31289
- [aed00d7d68] - doc: add missing code formatting in vm.md (cjihrig) #31350
- [aedbfdb33a] - doc: standardize on "host name" in url.md (Rich Trott) #31326
- [28245277d7] - doc: standardize on "host name" in tls.md (Rich Trott) #31326
- [baeabff896] - doc: standardize on "host name" in os.md (Rich Trott) #31326
- [94122f611a] - doc: standardize on "host name" in net.md (Rich Trott) #31326
- [bac588e076] - doc: standardize on "host name" in https.md (Rich Trott) #31326
- [600eb8b67c] - doc: standardize on "host name" in http2.md (Rich Trott) #31326
- [47f71de786] - doc: standardize on "host name" in fs.md (Rich Trott) #31326
- [ece70a8288] - doc: standardize on "host name" in errors.md (Rich Trott) #31326
- [b8dee4540a] - doc: standardize on "host name" in dgram.md (Rich Trott) #31326
- [8055f78995] - doc: standardize on "host name" in deprecations.md (Rich Trott) #31326
- [6e9f0daad1] - doc: standardize on "host name" in async_hooks.md (Rich Trott) #31326
- [e1fd6ae4fa] - doc: fix a code example in crypto.md (himself65) #31313
- [bb9622ba5a] - doc: add an example for util.types.isExternal (Harshitha KP) #31173
- [0608873052] - doc: fix example of parsing request.url (Egor Pavlov) #31302
- [b9aca7849d] - doc: document readline key bindings (Harshitha KP) #31256
- [6184f1ab70] - doc: improve doc v8.getHeapSpaceStatistics() 'GetHeapSpaceStatistics' (dev-313) #31274
- [deff60024a] - doc: update README to make Node.js description clearer (carterbancroft) #31266
- [8e14066578] - doc: fix a code example in zlib.md (Alexander Wang) #31264
- [9c58aa4c75] - doc: add GeoffreyBooth to collaborators (Geoffrey Booth) #31306
- [de6f2be0d0] - doc: update description of External (Anna Henningsen) #31255
- [0e48d8d855] - doc: rename iterator to iterable in examples (Robert Nagy) #31252
- [d51de787d9] - doc: fix stream async iterator sample (Robert Nagy) #31252
- [3e7b3e3c18] - doc: correct filehandle.[read|write|append]File() (Bryan English) #31235
- [220ea0c12e] - doc: prefer server vs srv and client vs clt (Andrew Hughes) #31224
- [c1333ea113] - doc: explain native external types (Harshitha KP) #31214
- [82b447c399] - doc,src: clarify that one napi_env is per-module (legendecas) #31102
- [4981f9721a] - errors: remove dead code in ERR_INVALID_ARG_TYPE (Gerhard Stoebich) #31322
- [b55fba2028] - fs: add missing HandleScope to FileHandle.close (Anna Henningsen) #31276
- [57016b9e66] - fs: use async writeFile in FileHandle#appendFile (Bryan English) #31235
- [52504fb91e] - http2: skip creating native ShutdownWrap (Anna Henningsen) #31283
- [108046d910] - lib: replace BigInt64Array global by the primordials (Sebastien Ahkrin) #31193
- [02714573ee] - lib: add Uint16Array primordials (Sebastien Ahkrin) #31210
- [53e73fc60e] - lib: add RegExp primordials (Sebastien Ahkrin) #31208
- [f7833ac934] - lib: replace Float32Array global by the primordials (Sebastien Ahkrin) #31195
- [aafeab8cdb] - lib: replace BigUInt64Array global by the primordials (Sebastien Ahkrin) #31194
- [ac904f9e65] - lib,tools,test: remove custom number-isnan rule (cjihrig) #31211
- [cb27c2bd3e] - module: fix check exports issue in cjs module loading (Guy Bedford) #31427
- [ea27e16fc2] - (SEMVER-MINOR) module: unflag conditional exports (Guy Bedford) #31001
- [4dced024fd] - (SEMVER-MINOR) module: add API for interacting with source maps (bcoe) #31132
- [f62fb7603a] - module: logical conditional exports ordering (Guy Bedford) #31008
- [94af94ae73] - module: loader getSource, getFormat, transform hooks (Geoffrey Booth) #30986
- [c8aa08ed27] - n-api: return napi_invalid_arg on napi_create_bigint_words (legendecas) #31312
- [0911813862] - (SEMVER-MINOR) n-api: add napi_get_all_property_names (himself65) #30006
- [79eba6afa3] - (SEMVER-MINOR) process: allow monitoring uncaughtException (Gerhard Stoebich) #31257
- [38811897c0] - readline: improve unicode support and tab completion (Ruben Bridgewater) #31288
- [f0506c3dd2] - readline: move charLengthLeft() and charLengthAt() (Ruben Bridgewater) #31112
- [7ba21d0e15] - readline: improve getStringWidth() (Ruben Bridgewater) #31112
- [686a3bcf92] - readline,repl: support tabs properly (Ruben Bridgewater) #31112
- [2e54a9922e] - readline,repl: improve history up/previous (Ruben Bridgewater) #31112
- [cecd25693f] - readline,repl: skip history entries identical to the current line (Ruben Bridgewater) #31112
- [b6f4e01a0e] - readline,repl: add substring based history search (Ruben Bridgewater) #31112
- [85926d4038] - repl: do not preview while pasting code (Ruben Bridgewater) #31315
- [c252356d38] - repl: fix preview cursor position (Ruben Bridgewater) #31293
- [b9b044b98e] - repl: change preview default in case of custom eval functions (Ruben Bridgewater) #31259
- [b92d65dbe7] - repl: activate previews for lines exceeding the terminal columns (Ruben Bridgewater) #31112
- [d84c394541] - repl: improve preview length calculation (Ruben Bridgewater) #31112
- [f8e805985e] - repl,readline: clean up code (Ruben Bridgewater) #31288
- [83f7b5a8a9] - src: fix performance regression in node_file.cc (Ben Noordhuis) #31343
- [6534c6c7bd] - src: use uv_guess_handle() to detect TTYs (cjihrig) #31333
- [06fbc03cbd] - src: include uv.h in node_binding header (Shelley Vohr) #31265
- [e3491d7dd6] - src: change GetStringWidth's expand_emoji_sequence option default (Ruben Bridgewater) #31112
- [d2a10ad847] - src: improve GetColumnWidth performance (Ruben Bridgewater) #31112
- [d0a96ab700] - src: fix -Wbraced-scalar-init warning (cjihrig) #31254
- [60942cc2a7] - src: add build Github Action (gengjiawen) #31153
- [4259afe583] - src: remove node::InitializeV8Platform() (Ben Noordhuis) #31245
- [6050236c3d] - src: remove uses of node::InitializeV8Platform() (Ben Noordhuis) #31245
- [1ad907039d] - src: clean up large_pages code (Denys Otrishko) #31196
- [499c41d78a] - stream: fix async iterator destroyed error propagation (Robert Nagy) #31314
- [d04118f125] - stream: simplify push (Robert Nagy) #31150
- [ff60a0e2b1] - stream: clean up definition using defineProperties (antsmartian) #31236
- [9c98d25506] - stream: replace Function.prototype with primordial (Sebastien Ahkrin) #31204
- [256289fe83] - stream: sync stream unpipe resume (Robert Nagy) #31191
- [424408005f] - test: stricten readline keypress failure test condition (Ruben Bridgewater) #31300
- [1df7961b28] - test: allow disabling crypto tests (Shelley Vohr) #31268
- [3c82d5bed2] - test: add repl tests to verify unicode support in previews (Ruben Bridgewater) #31112
- [ca51ff8981] - test: fix recursive rm test to actually use tmpdir (Denys Otrishko) #31250
- [0b88c3d8ed] - test: check that --insecure-http-parser works (Sam Roberts) #31253
- [69c4f229cb] - test: remove unused symlink loop (cjihrig) #31267
- [d76deca9cf] - test: prefer server over srv (Andrew Hughes) #31224
- [f93095de6f] - test: fix unit test logging with python3 (Adam Majer) #31156
- [cbd84c5ee1] - test,module: add test for exports cjs loader check (Rich Trott) #31427
- [5dd6fb1529] - tools: remove obsolete dependencies (Rich Trott) #31359
- [29e0465104] - tools: update remark-preset-lint-node to 1.12.0 (Rich Trott) #31359
- [49364b0835] - tools: update JSON header parsing for backticks (Rich Trott) #31294
- [d48f59224b] - tools: ensure consistent perms of signed release files (Rod Vagg) #29350
- [a5311bd757] - tools: add clang-tidy rule in src (gengjiawen) #26840
- [63f4eaefee] - util: add todo comments for inspect to add unicode support (Ruben Bridgewater) #31112
- [27564a4837] - (SEMVER-MINOR) vm: add code cache support for SourceTextModule (Gus Caplan) #31278
- [bdaac04c10] - wasi: improve use of primordials (cjihrig) #31212
- [66fe92353b] - win: change to use Python in install tool (gengjiawen) #31221
New in Node.js 13.6.0 (Jan 9, 2020)
- Notable Changes:
- assert:
- Implement assert.match() and assert.doesNotMatch() (Ruben Bridgewater) #30929
- events:
- Add EventEmitter.on to async iterate over events (Matteo Collina) #27994
- Allow monitoring error events (Gerhard Stoebich) #30932
- fs:
- Allow overriding fs for streams (Robert Nagy) #29083
- perf_hooks:
- Move perf_hooks out of experimental (legendecas) #31101
- repl:
- Implement ZSH-like reverse-i-search (Ruben Bridgewater) #31006
- tls:
- Add PSK (pre-shared key) support (Denys Otrishko) #23188
- Commits:
- [d831dc1b77] - (SEMVER-MINOR) assert: implement assert.match() and assert.doesNotMatch() (Ruben Bridgewater) #30929
- [f8aa365508] - assert: use for...of (Soar) #30983
- [5fccb508e9] - benchmark: use let instead of var in dgram (dnlup) #31175
- [827d3fea0e] - benchmark: add benchmark on async_hooks enabled http server (legendecas) #31100
- [b193142e0a] - benchmark: use let instead of var in crypto (dnlup) #31135
- [b8ccf30ac1] - benchmark: replace var with let/const in cluster benchmark (dnlup) #31042
- [01fd3be84a] - benchmark: include writev in benchmark (Robert Nagy) #31066
- [ca53f02767] - benchmark: use let instead of var in child_process (dnlup) #31043
- [625744d292] - benchmark: add clear connections to secure-pair (Diego Lafuente) #27971
- [0e864a383c] - benchmark: update manywrites back pressure (Robert Nagy) #30977
- [37ffa8c2ae] - bootstrap: use different scripts to setup different configurations (Joyee Cheung) #30862
- [4df365256f] - buffer: improve .from() error details (Ruben Bridgewater) #29675
- [9b7cf090c7] - build: don't use -latomic on macOS (Ryan Schmidt) #30099
- [d2ab877b72] - build: warn upon --use-largepages config option (Gabriel Schulhof) #31103
- [ca05a5bb64] - build: switch realpath to pwd (bcoe) #31095
- [d131877398] - build: fixes build for some os versions (David Carlier)
- [baf8730a47] - build: re-introduce --use-largepages as no-op (Gabriel Schulhof)
- [ca235112ae] - deps: V8: backport a4545db (David Carlier) #31127
- [e2ef1a9e63] - deps: V8: bump v8_embedder_string for 0e21c1e637bf (Сковорода Никита Андреевич) #31096
- [2ec817e02d] - deps: uvwasi: cherry-pick 75b389c (cjihrig) #31076
- [a5937c7b6c] - deps: uvwasi: cherry-pick 64e59d5 (cjihrig) #31076
- [647f3c7639] - deps: V8: cherry-pick 687d865fe251 (Сковорода Никита Андреевич) #31007
- [7fe8399e08] - deps: V8: cherry-pick d406bfd64653 (Sam Roberts) #30819
- [7e13ae7757] - deps: V8: cherry-pick d3a1a5b6c491 (Michaël Zasso) #31005
- [32805a9525] - deps,src,test: update to uvwasi 0.0.3 (cjihrig) #30980
- [44d03e81d4] - dgram: test to add and to drop specific membership (A. Volgin) #31047
- [21ef3d615e] - dgram: use for...of (Trivikram Kamat) #30999
- [7b696fe9f4] - doc: remove extra backtick (cjihrig) #31186
- [dba2ab75d9] - doc: use code markup/markdown in headers (Ruben Bridgewater) #31149
- [cc44325eed] - doc: update REPL documentation to instantiate the REPL (Ruben Bridgewater) #30928
- [d3a8088cd5] - doc: improve explanation of package.json "type" field (Ronald J Kimball) #27516
- [33352c2433] - doc: clarify role of writable.cork() (Colin Grant) #30442
- [b657a64b77] - doc: de-duplicate security release processes (Sam Roberts) #30996
- [18b34def41] - doc: fix createDiffieHellman generator type (Tobias Nießen) #31121
- [1fa8e49f7e] - doc: update mode type for mkdir() functions (cjihrig) #31115
- [a37a88f40d] - doc: update mode type for process.umask() (cjihrig) #31115
- [2313b9e33b] - doc: update mode type for fs open() functions (cjihrig) #31115
- [53c6a1ee34] - doc: update mode type for fchmod() functions (cjihrig) #31115
- [68557889d3] - doc: update parameter type for fsPromises.chmod() (cjihrig) #31115
- [72d70d5102] - doc: improve dns introduction (Rich Trott) #31090
- [4c29a6ee15] - doc: update parameter type for fs.chmod() (Santosh Yadav) #31085
- [dcce8b68b2] - doc: use code markup/markdown in headers in globals documentation (Rich Trott) #31086
- [7afe69cee0] - doc: use code markup/markdown in headers in deprecations documentation (Rich Trott) #31086
- [ff828900f6] - doc: use code markup/markdown in headers in addons documentation (Rich Trott) #31086
- [ce60a80944] - doc: allow in header elements (Rich Trott) #31086
- [1033760874] - doc: add --inspect-publish-uid man page entry (cjihrig) #31077
- [23013e3e31] - doc: add --force-context-aware man page entry (cjihrig) #31077
- [efc97fd927] - doc: add --enable-source-maps man page entry (cjihrig) #31077
- [4292f64c27] - doc: fix anchors and subtitle in BUILDING.md (sutangu) #30296
- [1357c97a70] - doc: standardize usage of hostname vs. host name (Rich Trott) #31073
- [4caf4578fe] - doc: add unrepresented flags docs for configure (Pranshu Srivastava) #28069
- [9141366e09] - doc: improve doc net:server.listen (dev-313) #31064
- [69d6e9732b] - doc: implement minor improvements to BUILDING.md text (Rich Trott) #31070
- [a7988ab0fa] - doc: avoid using v8::Persistent in addon docs (Anna Henningsen) #31018
- [a3861147e5] - doc: clarify required flag for extensionless esm (Lucas Azzola) #30657
- [cc8c0b4cde] - doc: reference worker threads on signal events (legendecas) #30990
- [7815d5f2cb] - doc: update message.url example in http.IncomingMessage (Tadao Iseki) #30830
- [118df63d9f] - doc,assert: use code markup/markdown in headers (Rich Trott) #31086
- [32e5895a2f] - doc,async_hooks: use code markup/markdown in headers (Rich Trott) #31086
- [0e0d45b02f] - doc,buffer: use code markup/markdown in headers (Rich Trott) #31086
- [405bf8c8bb] - doc,child_process: use code markup/markdown in headers (Rich Trott) #31086
- [27790fc76e] - doc,cluster: use code markup/markdown in headers (Rich Trott) #31086
- [f8a6edaac6] - doc,console: use code markup/markdown in headers (Rich Trott) #31086
- [df5ec4e7b1] - doc,crypto: use code markup/markdown in headers (Rich Trott) #31086
- [4a42230fd7] - doc,dgram: use code markup/markdown in headers (Rich Trott) #31086
- [9979f82716] - doc,dns: use code markup/markdown in headers (Rich Trott) #31086
- [decfcaf89e] - doc,domain: use code markup/markdown in headers (Rich Trott) #31086
- [665a662ad1] - doc,errors: use code markup/markdown in headers (Rich Trott) #31086
- [fbb217a29d] - doc,esm: use code markup/markdown in headers (Rich Trott) #31086
- [db01d0f947] - doc,events: use code markup/markdown in headers (Rich Trott) #31086
- [e7f7e45ddb] - doc,fs: use code markup/markdown in headers (Rich Trott) #31086
- [cdb79fc106] - doc,http: use code markup/markdown in headers (Rich Trott) #31086
- [3062bcb13c] - doc,http2: use code markup/markdown in headers (Rich Trott) #31086
- [3571df3115] - doc,https: use code markup/markdown in headers (Rich Trott) #31086
- [699b31f8fe] - doc,inspector: use code markup/markdown in headers (Rich Trott) #31086
- [d6f942003b] - doc,lib,src,test: rename WASI CLI flag (cjihrig) #30980
- [7d25e44bc1] - doc,module: use code markup/markdown in headers (Rich Trott) #31086
- [927b37f5a3] - doc,net: use code markup/markdown in headers (Rich Trott) #31086
- [9de914687d] - doc,os: use code markup/markdown in headers (Rich Trott) #31086
- [5921654eca] - doc,path: use code markup/markdown in headers (Rich Trott) #31086
- [3ee3e6f5ff] - doc,perf_hooks: use code markup/markdown in headers (Rich Trott) #31086
- [8c126527d9] - doc,process: use code markup/markdown in headers (Rich Trott) #31086
- [f0bc62896a] - doc,punycode: use code markup/markdown in headers (Rich Trott) #31086
- [125a59a0b0] - doc,querystring: use code markup/markdown in headers (Rich Trott) #31086
- [128a69dde3] - doc,readline: use code markup/markdown in headers (Rich Trott) #31086
- [38e09f8d17] - doc,repl: use code markup/markdown in headers (Rich Trott) #31086
- [4c5a9854ec] - doc,stream: use code markup/markdown in headers (Rich Trott) #31086
- [cf563bbd7f] - doc,string_decoder: use code markup/markdown in headers (Rich Trott) #31086
- [450d9a27bf] - doc,timers: use code markup/markdown in headers (Rich Trott) #31086
- [d6d507aa6c] - doc,tls: use code markup/markdown in headers (Rich Trott) #31086
- [9d2082be94] - doc,tty: use code markup/markdown in headers (Rich Trott) #31086
- [73c598a905] - doc,url: use code markup/markdown in headers (Rich Trott) #31086
- [4672e106c1] - doc,util: use code markup/markdown in headers (Rich Trott) #31086
- [342d3372ef] - doc,v8: use code markup/markdown in headers (Rich Trott) #31086
- [e6fbde53b3] - doc,vm: use code markup/markdown in headers (Rich Trott) #31086
- [796a9c0f43] - doc,vm,test: remove _sandbox_ from vm documentation (Rich Trott) #31057
- [1bcc07b758] - doc,wasi: use code markup/markdown in headers (Rich Trott) #31086
- [cb3c3fcb3f] - doc,worker: use code markup/markdown in headers (Rich Trott) #31086
- [a6f16b3e78] - doc,zlib: use code markup/markdown in headers (Rich Trott) #31086
- [1057a4cdf2] - errors: support prepareSourceMap with source-maps (bcoe) #31143
- [33c5dbe197] - errors: improve ERR_INVALID_ARG_TYPE (Ruben Bridgewater) #29675
- [a6c2502686] - esm: better error message for unsupported URL (Thomas) #31129
- [24a021216d] - esm: empty ext from pkg type/main doesnt affect format (Bradley Farias) #31021
- [afecc973d5] - (SEMVER-MINOR) events: add EventEmitter.on to async iterate over events (Matteo Collina) #27994
- [f570de8ea9] - (SEMVER-MINOR) events: allow monitoring error events (Gerhard Stoebich) #30932
- [4f32bbb816] - fs: use consistent defaults in sync stat functions (cjihrig) #31097
- [7f6a0ed548] - (SEMVER-MINOR) fs: allow overriding fs for streams (Robert Nagy) #29083
- [4a54f304a7] - http: http_outgoing rename var to let and const (telenord) #30284
- [1b720aa802] - http: free listeners on free sockets (Robert Nagy) #29259
- [b5a71a439d] - http2: set default enableConnectProtocol to 0 (ZYSzys) #31174
- [b9160351ec] - http2: make HTTP2ServerResponse more streams compliant (Robert Nagy) #30964
- [ba0682e91c] - http2: wait for session socket writable end on close/destroy (Denys Otrishko) #30854
- [86f2e869dc] - http2: wait for session to finish writing before destroy (Denys Otrishko) #30854
- [18acaccf0a] - https: prevent options object from being mutated (Vighnesh Raut) #31151
- [42d36dca90] - lib: move initialization of APIs for changing process state (Anna Henningsen) #31172
- [20ecb5dcfb] - lib: replace Map global by the primordials (Sebastien Ahkrin) #31155
- [f268621ffa] - lib: replace use of Error with primordials (Sebastien Ahkrin) #31163
- [3f21ad67f8] - lib: replace Set global by the primordials (Sebastien Ahkrin) #31154
- [542aae4bf0] - lib: replace WeakSet global by the primordials (Sebastien Ahkrin) #31157
- [0b8eaf2e5c] - lib: replace WeakMap global by the primordials (Sebastien Ahkrin) #31158
- [1527796661] - lib: replace Set.prototype with SetPrototype primordial (Sebastien Ahkrin) #31161
- [4b2d8df5b5] - lib: do not catch user errors (Ruben Bridgewater) #31159
- [97ce0a3b47] - lib: replace var with let/const (kresimirfranin) #30394
- [614b2c58f0] - lib: further simplify assertions in vm/module (Anna Henningsen) #30815
- [a83d338102] - lib: improve spelling and grammar in comment (David Newman) #31026
- [799b50934b] - meta: clarify scope of new nodejs.org issue choice (Derek Lewis) #31123
- [72c64605c9] - module: unflag resolve self (Guy Bedford) #31002
- [bd047e8277] - module: self resolve bug fix and esm ordering (Guy Bedford) #31009
- [d7712213a4] - n-api: keep napi_env alive while it has finalizers (Anna Henningsen) #31140
- [ae58c9709b] - perf_hooks: use for...of (Kamat, Trivikram) #31049
- [dcbb97e2c3] - (SEMVER-MINOR) perf_hooks: move perf_hooks out of experimental (legendecas) #31101
- [ffbf790358] - (SEMVER-MINOR) readline: set null as callback return in case there's no error (Ruben Bridgewater) #31006
- [92dcf3e4ae] - (SEMVER-MINOR) readline: small refactoring (Ruben Bridgewater) #31006
- [0999d53df0] - repl: use public getCursorPos() (cjihrig) #31091
- [09ca8be1f2] - (SEMVER-MINOR) repl: implement reverse search (Ruben Bridgewater) #31006
- [925dd8e7f9] - (SEMVER-MINOR) repl: fix preview of lines that exceed the terminal columns (Ruben Bridgewater) #31006
- [892e7b0d7f] - src: suppress warning in src/node_env_var.cc (Harshitha KP) #31136
- [2c6f81730b] - src: make large_pages node.cc include conditional (Denys Otrishko) #31078
- [54caadc6ef] - src: enable stack trace printing for V8 check failures (Anna Henningsen) #31079
- [60dd1838e9] - src: prevent hard coding stack trace limit (legendecas) #30752
- [80732cdf9c] - src: port --bash-completion to C++ (Joyee Cheung) #25901
- [49a7e73898] - src: make --use-largepages a runtime option (Gabriel Schulhof) #30954
- [6b65cafacf] - src: list used functions on headers (Juan José Arboleda) #30827
- [e5a41552e6] - src: fix compiler warning in env.cc (Anna Henningsen) #31020
- [a27edd8335] - src,test: use v8::Global instead of v8::Persistent (Anna Henningsen) #31018
- [5bf27729dd] - stream: group all properties using defineProperties (antsmartian) #31144
- [ca22ce2698] - stream: pipeline should use req.abort() to destroy response (Robert Nagy) #31054
- [bca23b9e16] - stream: reset flowing state if no 'readable' or 'data' listeners (Robert Nagy) #31036
- [146321410c] - stream: simplify isBuf (Robert Nagy) #31067
- [21d96645db] - test: change buffer offset to accommodate V8 BackingStore (Thang Tran) #31171
- [bd6a29c60b] - test: use spread object (Fran Herrero) #30423
- [efa0bd8e25] - test: refactor common.expectsError (Ruben Bridgewater) #31092
- [16f60cedb3] - test: increase coverage for _http_incoming.js (Rich Trott) #31093
- [990760e57f] - test: log errors in test-http2-propagate-session-destroy-code (Denys Otrishko) #31072
- [e28e873fb6] - test: skip the unsupported test cases for IBM i (Xu Meng) #30819
- [07e82db764] - test: get lib/wasi.js coverage to 100% (cjihrig) #31039
- [e5980a106c] - test: cover vm with negative tests (Andrew Kuzmenko) #31028
- [3c9e435f56] - test: unflake async hooks statwatcher test (Denys Otrishko) #30362
- [dadccb7761] - test: fix common.enoughTestMem (Rich Trott) #31035
- [93cf1231db] - test: fix long lines (cjihrig) #31014
- [54c471a3bf] - test: fix flaky test-http2-client-upload (Gerhard Stoebich) #29889
- [3753f47677] - test: use tmpdir.refresh() in test-esm-windows.js (Richard Lau) #30997
- [d36ae62bd7] - test: remove obsolete WASI test (cjihrig) #30980
- [fe4f55ee13] - timers: fix refresh for expired timers (Anatoli Papirovski) #27345
- [83330a00a0] - timers: do less work in insert (Anatoli Papirovski) #27345
- [7b2bf20f7e] - (SEMVER-MINOR) tls: add PSK support (Denys Otrishko) #23188
- [c23bbc6fe2] - tools: remove prefer-common-expectserror lint rule (cjihrig) #31147
- [85d152fccf] - tools: allow the travis commit message job to fail (Ruben Bridgewater) #31116
- [048b7f469c] - tools: fix Raspbian armv7 build (Andrey Hohutkin) #31041
- [c779421f41] - tools: update ESLint to 6.8.0 (cjihrig) #31044
- [28a62c30be] - tools,src: forbid usage of v8::Persistent (Anna Henningsen) #31018
- [697908e8d9] - util: improve prototype inspection using inspect() and showHidden (Ruben Bridgewater) #31113
- [a6998085d2] - util: add (typed) array length to the default output (Ruben Bridgewater) #31027
- [7611d5b47b] - util: add colors to debuglog() (Ruben Bridgewater) #30930
- [614b074f3b] - wasi: refactor destructuring object on constructor (himself65) #31185
- [8491e1c3c6] - wasi: fix serdes bugs from snapshot1 migration (cjihrig) #31122
- [87f15c03bc] - wasi: throw on failed uvwasi_init() (cjihrig) #31076
- [10f7169d58] - zlib: use for...of (Kamat, Trivikram) #31051
- [31bbae7c92] - zlib: allow writes after readable 'end' to finish (Anna Henningsen) #31082
New in Node.js 13.5.0 (Dec 20, 2019)
- Notable Changes:
- cli:
- add --trace-exit cli option (legendecas) #30516
- http,https:
- increase server headers timeout (Tim Costa) #30071
- readline:
- update ansi-regex (Ruben Bridgewater) #30907
- promote _getCursorPos to public api (Jeremy Albright) #30687
- repl:
- add completion preview (Ruben Bridgewater) #30907
- util:
- add Set and map size to inspect output (Ruben Bridgewater) #30225
- wasi:
- require CLI flag to require() wasi module (Colin Ihrig) #30963
- Commits:
- [e10917f8ba] - async_hooks: ensure proper handling in runInAsyncScope (Anatoli Papirovski) #30965
- [b6ddbc1291] - benchmark: use let/const instead of var in buffers (dnlup) #30945
- [00cbf5b1b6] - build: auto-load ICU data from --with-icu-default-data-dir (Stephen Gallagher) #30825
- [60225c171e] - build: fix missing x64 arch suffix in binary tar name (legendecas) #30877
- [10a77d3cd1] - build,win: fix goto exit in vcbuild (João Reis) #30931
- [f371562e30] - build,win: support building MSI with VS2019 (João Reis) #30895
- [d8ce9a0e23] - (SEMVER-MINOR) cli: add --trace-exit cli option (legendecas) #30516
- [30e2d28ac5] - cluster: remove unnecessary bind (Anatoli Papirovski) #28131
- [4f3eca5d42] - console: unregister temporary error listener (Robert Nagy) #30852
- [a221017ee8] - crypto: cast oaepLabel to unsigned char* (Shelley Vohr) #30917
- [3abcb69c3e] - doc: add note about fs.close() about undefined behavior (Robert Nagy) #30966
- [13b5ace4db] - doc: explain napi_run_script (Tobias Nießen) #30918
- [559284b20a] - doc: add "Be direct." to the style guide (Rich Trott) #30935
- [eb6443dc11] - doc: clarify expectations for PR commit messages (Derek Lewis) #30922
- [df5ae1a8ef] - doc: fix description of N-API exception handlers (Tobias Nießen) #30893
- [b53e2a84ec] - doc: improve doc writable streams: 'finish' event (dev-313) #30889
- [ad5b71525d] - fs: remove unnecessary bind (Anatoli Papirovski) #28131
- [3bc9b09ce6] - http: use for...of in http library code (Trivikram Kamat) #30958
- [7a756cb539] - http: remove unnecessary bind (Anatoli Papirovski) #28131
- [172228047a] - http,https: increase server headers timeout (Tim Costa) #30071
- [52aab47766] - http2: remove unnecessary bind from setImmediate (Anatoli Papirovski) #28131
- [88731adff6] - lib: replace Symbol.species by SymbolSpecies (Sebastien Ahkrin) #30950
- [f51b5bd3dc] - lib: replace Symbol.hasInstance by SymbolHasInstance (Sebastien Ahkrin) #30948
- [92475e998d] - lib: replace Symbol.asyncIterator by SymbolAsyncIterator (Sebastien Ahkrin) #30947
- [19f05cab39] - lib: enforce use of Promise from primordials (Michaël Zasso) #30936
- [698e0a2095] - lib: add TypedArray constructors to primordials (Sebastien Ahkrin) #30740
- [cbe29ce4cf] - lib: change var to let/const (rene.herrmann) #30910
- [2430dd8ecb] - lib: use strict equality comparison (Donggeon Lim) #30898
- [30d32492a0] - lib: refactor NativeModule (Joyee Cheung) #30856
- [a326309a74] - lib: replace Symbol.toPrimitive to SymbolToPrimitive primordials (Sebastien Ahkrin) #30905
- [0d2172fb5d] - lib: update Symbol.toStringTag by SymbolToStringTag primordial (Sebastien Ahkrin) #30908
- [4e67d38f42] - perf_hooks: remove unnecessary bind (Anatoli Papirovski) #28131
- [510edead69] - process: refs --unhandled-rejections documentation in warning message (Antoine du HAMEL) #30564
- [954793f363] - process: fix promise catching (Rongjian Zhang) #30957
- [5b49ded22a] - (SEMVER-MINOR) readline: promote _getCursorPos to public api (Jeremy Albright) #30687
- [424c37baba] - (SEMVER-MINOR) readline: update ansi-regex (Ruben Bridgewater) #30907
- [02f3fe4b60] - (SEMVER-MINOR) repl: fix preview bug in case of long lines (Ruben Bridgewater) #30907
- [6a3e79f953] - (SEMVER-MINOR) repl: add completion preview (Ruben Bridgewater) #30907
- [1a8f828c17] - (SEMVER-MINOR) repl: improve completion (Ruben Bridgewater) #30907
- [8b92223ed1] - (SEMVER-MINOR) repl: simplify code (Ruben Bridgewater) #30907
- [f7eeb8cc0b] - (SEMVER-MINOR) repl: simplify repl autocompletion (Ruben Bridgewater) #30907
- [d549daef18] - (SEMVER-MINOR) repl: remove dead code (Ruben Bridgewater) #30907
- [e11acc5a45] - repl: fix autocomplete when useGlobal is false (Michaël Zasso) #30883
- [3906e145ca] - (SEMVER-MINOR) repl,readline: refactor for simplicity (Ruben Bridgewater) #30907
- [f6f298e3cf] - (SEMVER-MINOR) repl,readline: refactor common code (Ruben Bridgewater) #30907
- [d456aa0a57] - src: unregister Isolate with platform before disposing (Anna Henningsen) #30909
- [c43461ac56] - src: make debug_options getters public (Shelley Vohr) #30494
- [5ca29d860b] - stream: use for...of (Trivikram Kamat) #30960
- [0c18c49f0e] - stream: do not chunk strings and Buffer in Readable.from (Matteo Collina) #30912
- [663a6b4938] - stream: make all streams error in a pipeline (Matteo Collina) #30869
- [5e268b8dbe] - test: simplify test-wasi-start-validation.js (Colin Ihrig) #30972
- [c2d95529f6] - test: improve WASI start() coverage (Colin Ihrig) #30972
- [72b4aee745] - test: improve test coverage in child_process (Juan José Arboleda) #26282
- [f30b771fd2] - (SEMVER-MINOR) test: add multiple repl preview tests (Ruben Bridgewater) #30907
- [69aaab0e2c] - test: improve dns lookup coverage (Kirill Ponomarev) #30777
- [b6b917dda0] - test: avoid leftover report file (Gerhard Stoebich) #30925
- [51d1a919bf] - test: add missing test flags (Colin Ihrig) #30971
- [60485dcc8e] - test: add test for validation for wasi.start() argument (Rich Trott) #30919
- [7a25c2c073] - test: improve assertion error message in test-debug-usage (Rich Trott) #30913
- [b7a0574d6f] - test: make test-os-checked-function work without test harness (Rich Trott) #30914
- [7e6510bcfb] - test: delay loading 'os' in test/common module (Rich Trott) #30914
- [956dec8b6b] - tls: for...of in _tls_common.js (Trivikram Kamat) #30961
- [b20ddde2f6] - tools: enable Markdown linter's usage information (Derek Lewis) #30216
- [f62a7679a3] - util: add Set and map size to inspect output (Ruben Bridgewater) #30225
- [f830a7dd73] - util: refactor inspect code for constistency (Ruben Bridgewater) #30225
- [8dec909aa7] - (SEMVER-MINOR) util: inspect (user defined) prototype properties (Ruben Bridgewater) #30768
- [453be95edc] - (SEMVER-MINOR) util: fix built-in detection (Ruben Bridgewater) #30768
- [2b0e2c280f] - v8: use of TypedArray constructors from primordials (Sebastien Ahkrin) #30740
- [54d51dbe4c] - wasi: require CLI flag to require() wasi module (Colin Ihrig) #30963
New in Node.js 13.3.0 (Dec 4, 2019)
- Notable Changes:
- fs:
- Reworked experimental recursive rmdir() (cjihrig) #30644
- The maxBusyTries option is renamed to maxRetries, and its default is set to 0. The emfileWait option has been removed, and EMFILE errors use the same retry logic as other errors. The retryDelay option is now supported. ENFILE errors are now retried.
- http:
- Make maximum header size configurable per-stream or per-server (Anna Henningsen) #30570
- http2:
- Make maximum tolerated rejected streams configurable (Denys Otrishko) #30534
- Allow to configure maximum tolerated invalid frames (Denys Otrishko) #30534
- wasi:
- Introduce initial WASI support (cjihrig) #30258
- Commits:
- [4cd4e7c17a] - benchmark,doc,lib,test: prepare for padding lint rule (Rich Trott) #30696
- [63eb4fee46] - buffer: fix 6-byte writeUIntBE() range check (Brian White) #30459
- [e8af569200] - buffer: release buffers with free callbacks on env exit (Anna Henningsen) #30551
- [648766bccf] - build: do not build mksnapshot and mkcodecache for --shared (Joyee Cheung) #30647
- [6545314a4f] - build: add --without-node-code-cache configure option (Joyee Cheung) #30647
- [80ada94cd3] - build: use Node.js instead of Node in configure (Tobias Nießen) #30642
- [0aae502c67] - build,win: propagate error codes in vcbuild (João Reis) #30724
- [6a53152b42] - build,win: add test-ci-native and test-ci-js (João Reis) #30724
- [30a4f68a15] - child_process: document kill() return value (cjihrig) #30669
- [dae36a9692] - child_process: replace var with let/const (dnlup) #30389
- [4b13bca31a] - child_process: replace var with const/let in internal/child_process.js (Luis Camargo) #30414
- [378c54fe97] - cluster: replace vars in child.js (EmaSuriano) #30383
- [708e67a732] - cluster: replace var with let (Herrmann, Rene R. (656)) #30425
- [55fbe45f69] - cluster: replace var by let in shared_handle.js (poutch) #30402
- [4affc30a12] - crypto: automatically manage memory for ECDSA_SIG (Tobias Nießen) #30641
- [55c2ac70b7] - crypto: remove redundant validateUint32 argument (Tobias Nießen) #30579
- [0ba877a541] - deps: V8: cherry-pick 0dfd9ea51241 (bcoe) #30713
- [b470354057] - deps: patch V8 to 7.9.317.25 (Myles Borins) #30679
- [d257448bca] - deps: update llhttp to 2.0.1 (Fedor Indutny) #30553
- [456d250d2d] - deps: V8: backport 93f189f19a03 (Michaël Zasso) #30681
- [aa01ebdbca] - deps: V8: cherry-pick ca5b0ec (Anna Henningsen) #30708
- [f37450f580] - dns: use length for building TXT string (Anna Henningsen) #30690
- [3d302ff276] - doc: fix typographical error (Rich Trott) #30735
- [19b31c1bc5] - doc: revise REPL uncaught exception text (Rich Trott) #30729
- [61af1fcaa1] - doc: update signature algorithm in release doc (Myles Borins) #30673
- [a8002d92ab] - doc: update README.md to fix active/maint times (Michael Dawson) #30707
- [f46df0b496] - doc: update socket.bufferSize text (Rich Trott) #30723
- [cbd50262c0] - doc: note that buf.buffer's contents might differ (AJ Jordan) #29651
- [a25626c1ed] - doc: clarify IncomingMessage.destroy() description (Sam Foxman) #30255
- [8fcb450934] - doc: fixed a typo in process.md (Harendra Singh) #30277
- [ad9f737e44] - doc: documenting a bit more FreeBSD case (David Carlier) #30325
- [40b762177f] - doc: add missing 'added' versions to module.builtinModules (Thomas Watson) #30562
- [aca0119089] - doc: fix worker.resourceLimits indentation (Daniel Nalborczyk) #30663
- [43e78578a6] - doc: fix worker.resourceLimits type (Daniel Nalborczyk) #30664
- [20dbce17d5] - doc: avoid proposal syntax in code example (Alex Zherdev) #30685
- [1e7c567734] - doc: address nits for src/README.md (Anna Henningsen) #30693
- [87136c9bde] - doc: revise socket.connect() note (Rich Trott) #30691
- [fcde49700c] - doc: remove "this API is unstable" note for v8 serdes API (bruce-one) #30631
- [809a2b056b] - doc: fixup incorrect flag name reference (Guy Bedford) #30651
- [3d978839c1] - doc: minor updates to releases.md (Beth Griggs) #30636
- [e9f031c741] - doc: add 13 and 12 to previous versions (Andrew Hughes) #30590
- [8ab18b6b6f] - doc: update AUTHORS list (Gus Caplan) #30672
- [329a821d25] - doc: add explanation why keep var with for loop (Lucas Recknagel) #30380
- [426ca263c8] - doc: document "Resume Build" limitation (Richard Lau) #30604
- [00f7cc65a1] - doc: add note of caution about non-conforming streams (Robert Nagy) #29895
- [7d98a59c39] - doc: add note about debugging worker_threads (Denys Otrishko) #30594
- [8ef629a78a] - doc: simplify "is recommended" language in assert documentation (Rich Trott) #30558
- [19d192d1f0] - doc: fix a typo in a date for version 13.2.0 (Kirlat) #30587
- [b67759a93c] - doc,deps: document how to maintain ICU in Node.js (Steven R. Loomis) #30607
- [bfcc9142f3] - doc,n-api: mark napi_detach_arraybuffer as experimental (legendecas) #30703
- [365f0ab09b] - esm: data URLs should ignore unknown parameters (Bradley Farias) #30593
- [0285aa0967] - events: improve performance caused by primordials (guzhizhou) #30577
- [3475f9b82c] - fs: add ENFILE to rimraf retry logic (cjihrig) #30644
- [f725953433] - fs: add retryDelay option to rimraf (cjihrig) #30644
- [51bc379243] - fs: remove rimraf's emfileWait option (cjihrig) #30644
- [612a3a2e6c] - fs: make rimraf default to 0 retries (cjihrig) #30644
- [fa1f87b199] - fs: rename rimraf's maxBusyTries to maxRetries (cjihrig) #30644
- [8ee27ffe77] - fs: change var to let (Àlvar Pérez) #30407
- [850c2a72ea] - fs: cover fs.opendir ERR_INVALID_CALLBACK (Vladislav Botvin) #30307
- [62574087ea] - (SEMVER-MINOR) http: make maximum header size configurable per-stream or per-server (Anna Henningsen) #30570
- [1d1d136806] - http: set socket.server unconditionally (Anna Henningsen) #30571
- [6848bfbf65] - http: replace var with let (Guilherme Goncalves) #30421
- [8256d38349] - http: destructure primordials in lib/_http_server.js (Artem Maksimov) #30315
- [3b169f1dbd] - http: improve performance caused by primordials (Lucas Recknagel) #30416
- [6f313f9ab0] - http2: fix session memory accounting after pausing (Michael Lehenbauer) #30684
- [7d37bcebea] - (SEMVER-MINOR) http2: make maximum tolerated rejected streams configurable (Denys Otrishko) #30534
- [092a3c28aa] - (SEMVER-MINOR) http2: allow to configure maximum tolerated invalid frames (Denys Otrishko) #30534
- [e92afd998f] - (SEMVER-MINOR) http2: replace direct array usage with struct for js_fields_ (Denys Otrishko) #30534
- [30ef8e4cbd] - http2: change var to let compact.js (Maria Emmanouil) #30392
- [1a2ed4a5f4] - http2: core.js replace var with let (Daniel Schuech) #30403
- [f7ca7e6677] - http2: replace var with let/const (Paolo Ceschi Berrini) #30417
- [6322611077] - inspector: properly shut down uv_async_t (Anna Henningsen) #30612
- [de3a1c3019] - lib: enforce use of primordial Number (Sebastien Ahkrin) #30700
- [5a9340d723] - lib: use static Number properties from primordials (Michaël Zasso) #30686
- [892bde635e] - lib: enforce use of Boolean from primordials (Michaël Zasso) #30698
- [ae2c7d0b02] - lib: replace Date.now function by primordial DateNow (Tchoupinax) #30689
- [c09e3deac5] - lib: replace ArrayBuffer.isView by primordial ArrayBuffer (Vincent Dhennin) #30692
- [5ef4dceb95] - lib: enforce use of Array from primordials (Michaël Zasso) #30635
- [a4dfe3b7dc] - lib: flatten access to primordials (Michaël Zasso) #30610
- [b545b91de5] - lib: use let instead of var (Shubham Chaturvedi) #30375
- [5120926337] - lib: replace var with let/const (jens-cappelle) #30391
- [b18b056d64] - lib: replace var w/ let (Chris Oyler) #30386
- [3796885096] - lib: replace var with let/const (Tijl Claessens) #30390
- [ffe3040659] - lib: adding perf notes js_stream_socket.js (ryan jarvinen) #30415
- [797b938c49] - lib: replace var with let (Dennis Saenger) #30396
- [0b64e45e41] - lib: main_thread_only change var to let (matijagaspar) #30398
- [d024630f44] - lib: change var to let in stream_base_commons (Kyriakos Markakis) #30426
- [3c041edbe7] - lib: use let instead of var (Semir Ajruli) #30424
- [d277c375fd] - lib: changed var to let (Oliver Belaifa) #30427
- [0fd89cc0f1] - lib: replace var with let/const (Dries Stelten) #30409
- [bdba03e3ed] - lib: change var to let (Dimitris Ktistakis) #30408
- [48fef42ca9] - lib: replace var with let/const (Tembrechts) #30404
- [502173b54e] - lib: replace var to let in cli_table.js (Jing Lin) #30400
- [2cf8a7f117] - module: fix specifier resolution algorithm (Rongjian Zhang) #30574
- [be9788bf20] - n-api: detach external ArrayBuffers on env exit (Anna Henningsen) #30551
- [8171cef921] - (SEMVER-MINOR) n-api: implement napi_is_detached_arraybuffer (Denys Otrishko) #30613
- [cc5875b2e6] - n-api: add missed nullptr check in napi_has_own_property (Denys Otrishko) #30626
- [017280e6e2] - net: replaced vars to lets and consts (nathias) #30401
- [56248a827a] - process: replace var with let/const (Jesper Ek) #30382
- [5c40b2f9ac] - process: replace vars in per_thread.js (EmaSuriano) #30385
- [c50bbf58da] - readline: change var to let (dnlup) #30435
- [b91d22cc8d] - repl: fix referrer for dynamic import (Corey Farrell) #30609
- [4e5818a456] - repl: change var to let (Oliver Belaifa) #30428
- [e65ad865c6] - src: change header file in node_stat_watcher.cc (Reza Fatahi) #29976
- [be84ceefb8] - src: clean up node_file.h (Anna Henningsen) #30530
- [bccfd124b0] - src: remove unused variable in node_dir.cc (gengjiawen) #30267
- [fc11db18fe] - src: inline SetSNICallback (Anna Henningsen) #30548
- [7bd587ef0c] - src: use BaseObjectPtr to store SNI context (Anna Henningsen) #30548
- [8ec0d75de7] - src: cleanup unused headers (Alexandre Ferrando) #30328
- [6c249c0982] - src: run native immediates during Environment cleanup (Anna Henningsen) #30666
- [bea25016d1] - src: no SetImmediate from destructor in stream_pipe code (Anna Henningsen) #30666
- [94357db815] - src: add more can_call_into_js() guards (Anna Henningsen) #30666
- [d54432f974] - src: keep object alive in stream_pipe code (Anna Henningsen) #30666
- [d194c0ff37] - src: replaced var with let (Aldo Ambrosioni) #30397
- [44f28ea155] - src: fix -Wsign-compare warnings (cjihrig) #30565
- [1916acb3cb] - src: fix signal handler crash on close (Shelley Vohr) #30582
- [9e9e48bf7e] - src: use uv_async_t for WeakRefs (Anna Henningsen) #30616
- [9d8d2e1f45] - src,doc: fix broken links (cjihrig) #30662
- [f135c38796] - src,doc: add C++ internals documentation (Anna Henningsen) #30552
- [e968e26dbd] - stream: improve performance for sync write finishes (Anna Henningsen) #30710
- [49e047f7a1] - test: add coverage for ERR_TLS_INVALID_PROTOCOL_VERSION (Rich Trott) #30741
- [81d81a5904] - test: add an indicator isIBMi (Xu Meng) #30714
- [37c70ee198] - test: use arrow functions in async-hooks tests (garygsc) #30137
- [b5c7dad95a] - test: fix test-benchmark-streams (Rich Trott) #30757
- [1e199ceb71] - test: move test-http-max-http-headers to parallel (Rich Trott) #30712
- [1918b4e84f] - test: correct header length subtraction (Rich Trott) #30712
- [1222be81e3] - test: remove unused callback argument (Rich Trott) #30712
- [d69b9b753a] - test: simplify forEach() usage (Rich Trott) #30712
- [01ab031cca] - test: remove unused callback argument (Rich Trott) #30712
- [93707c4916] - test: increase coverage for trace_events.js (Rich Trott) #30705
- [4800b623ed] - test: use arrow functions in addons tests (garygsc) #30131
- [ba0115fe6f] - test: refactor createHook test (Jeny) #30568
- [099d3fdf87] - test: port worker + buffer test to N-API (Anna Henningsen) #30551
- [83861fb333] - test: revert 6d022c13 (Anna Henningsen) #30708
- [a3b758d634] - test: move test-https-server-consumed-timeout to parallel (Rich Trott) #30677
- [00f532f15e] - test: remove unnecessary common.platformTimeout() call (Rich Trott) #30677
- [ecb902f33c] - test: do not skip test-http-server-consumed-timeout (Rich Trott) #30677
- [49458deb4f] - test: remove unused function argument from http test (Rich Trott) #30677
- [a2f440d326] - test: add logging in case of infinite loop (Rich Trott) #30649
- [3e3ad396bd] - test: remove destructuring from test-inspector-contexts (Rich Trott) #30649
- [3571e132a7] - test: check for session.post() errors in test-insepctor-context (Rich Trott) #30649
- [37696320a2] - test: add mustCall() to test-inspector-contexts (Rich Trott) #30649
- [0972fa3c16] - test: add regression test for signal handler removal in exit (Anna Henningsen) #30589
- [5ecfd947e2] - (SEMVER-MINOR) test: update and harden http2-reset-flood (Denys Otrishko) #30534
- [70d6fa122a] - test: skip test-domain-error-types in debug mode temporariliy (Rich Trott) #30629
- [949f2ad528] - test: move test-worker-prof to sequential (Rich Trott) #30628
- [d4b61709f1] - test: dir class initialisation w/o handler (Dmitriy Kikinskiy) #30313
- [60b17b4fe6] - test: change object assign by spread operator (poutch) #30438
- [97e627335f] - test: use useful message argument in test function (Rich Trott) #30618
- [d651c7dd6b] - test: test for minimum ICU version consistency (Richard Lau) #30608
- [dade9069c3] - test: code&learn var to let update (Nazar Malyy) #30436
- [e401e8c8ed] - test: change object assign to spread object (poutch) #30422
- [2ecc735c48] - test: use spread instead of Object.assign (dnlup) #30419
- [d8da9dacab] - test: changed var to let in module-errors (Jamar Torres) #30413
- [9dab32f340] - test: use spread instead of object.assign (Shubham Chaturvedi) #30412
- [7e7a8165a8] - test: replace var with let in pre_execution.js (Vladimir Adamic) #30411
- [8a9ee48797] - test: change var to let in test-trace-events (Jon Church) #30406
- [d6a448825c] - test: dns utils replace var (Osmond van Hemert) #30405
- [01e0571e94] - test: test cover cases when trace is empty (telenord) #30311
- [f8dfa2d704] - test: switch to object spread in common/benchmark.js (palmires) #30309
- [36671f9bf8] - test: add common.mustCall() to stream test (Rich Trott) #30561
- [106235fe91] - test: move explanatory comment to expected location in file (Rich Trott) #30561
- [081b4e2496] - test: move stream test to parallel (Rich Trott) #30561
- [103d01e057] - test: remove string literal as message in strictEqual() in stream test (Rich Trott) #30561
- [ebba3228e2] - test: use arrow function for callback in stream test (Rich Trott) #30561
- [e122d397c0] - test: replace setTimeout with setImmediate in stream test (Rich Trott) #30561
- [20ee4997f3] - test: refactor test-dgram-multicast-set-interface-lo.js (Taylor Gagne) #30536
- [7aa1df7076] - tls: introduce ERR_TLS_INVALID_CONTEXT (Rich Trott) #30718
- [0b0f0237c1] - tls: add memory tracking support to SSLWrap (Anna Henningsen) #30548
- [89e2c71b27] - tls: allow empty subject even with altNames defined (Jason Macgowan) #22906
- [941a91daed] - tools: enforce blank line between functions (Rich Trott) #30696
- [5a6f836a15] - tools: add unified plugin changing links for html docs (Marek Łabuz) #29946
- [84f7b5c752] - tools: enable more eslint rules (cjihrig) #30598
- [5522467cf5] - tools: update ESLint to 6.7.1 (cjihrig) #30598
- [1f10681496] - tty: truecolor check moved before 256 check (Duncan Healy) #30474
- [6a0dd1cbbd] - util: fix .format() not always calling toString when it should be (Ruben Bridgewater) #30343
- [1040e7222f] - util: fix inspection of errors with tampered name or stack property (Ruben Bridgewater) #30576
- [18e9b56bf6] - util: use let instead of var for util/inspect.js (Luciano) #30399
- [9ec53cf5c1] - (SEMVER-MINOR) wasi: introduce initial WASI support (cjihrig) #30258
New in Node.js 13.1.0 (Nov 6, 2019)
- Notable Changes:
- cli:
- Added a new flag (--trace-uncaught) that makes Node.js print the stack trace at the time of throwing uncaught exceptions, rather than at the creation of the Error object, if there is any. This is disabled by default because it affects GC behavior (Anna Henningsen) #30025.
- crypto:
- Added Hash.prototype.copy() method. It returns a new Hash object with its internal state cloned from the original one (Ben Noordhuis) #29910.
- dgram:
- Added source-specific multicast support. This adds methods to Datagram sockets to support RFC 4607 for IPv4 and IPv6 (Lucas Pardue) #15735.
- fs:
- Added a bufferSize option to fs.opendir(). It allows to control the number of entries that are buffered internally when reading from the directory (Anna Henningsen) #30114.
- meta:
- Added Chengzhong Wu to collaborators #30115.
- Commits:
- [445837851b] - async_hooks: only emit after for AsyncResource if stack not empty (Anna Henningsen) #30087
- [8860bd68b6] - buffer: improve performance caused by primordials (Jizu Sun) #30235
- [1bded9841c] - build: fix detection of Visual Studio 2017 (Richard Lau) #30119
- [49e7f042f9] - build: add workaround for WSL (gengjiawen) #30221
- [03827ddf38] - build: allow Python 3.8 (Michaël Zasso) #30194
- [54698113c0] - build: find Python syntax errors in dependencies (Christian Clauss) #30143
- [b255688d5f] - build: fix pkg-config search for libnghttp2 (Ben Noordhuis) #30145
- [8980d8c25f] - build: vcbuild uses default Python, not Py2 (João Reis) #30091
- [cedad02406] - build: prefer python 3 over 2 for configure (Sam Roberts) #30091
- [5ba842b8f9] - build: python3 support for configure (Rod Vagg) #30047
- [d05f67caef] - cli: whitelist new V8 flag in NODE_OPTIONS (Shelley Vohr) #30094
- [5ca58646c1] - (SEMVER-MINOR) cli: add --trace-uncaught flag (Anna Henningsen) #30025
- [8b75aabee9] - crypto: guard with OPENSSL_NO_GOST (Shelley Vohr) #30050
- [1d03df4c5e] - (SEMVER-MINOR) crypto: add Hash.prototype.copy() method (Ben Noordhuis) #29910
- [46c9194ec8] - deps: V8: cherry-pick a7dffcd767be (Christian Clauss) #30218
- [104bfb9a38] - deps: V8: cherry-pick e5dbc95 (Gabriel Schulhof) #30130
- [e3124481c2] - deps: update npm to 6.12.1 (Michael Perrotte) #30164
- [f3d00c594d] - deps: V8: backport 777fa98 (Michaël Zasso) #30062
- [1cfa98c23e] - deps: V8: cherry-pick c721203 (Michaël Zasso) #30065
- [0d9ae1b8f6] - deps: V8: cherry-pick ed40ab1 (Michaël Zasso) #30064
- [a63f7e73c4] - (SEMVER-MINOR) dgram: add source-specific multicast support (Lucas Pardue) #15735
- [fc407bb555] - doc: add missing hash for header link (Nick Schonning) #30188
- [201a60e6ba] - doc: linkify .setupMaster() in cluster doc (Trivikram Kamat) #30204
- [b7070f315f] - doc: explain http2 aborted event callback (dev-313) #30179
- [f8fb2c06c5] - doc: linkify .fork() in cluster documentation (Anna Henningsen) #30163
- [ae81360214] - doc: update AUTHORS list (Michaël Zasso) #30142
- [1499a72a1f] - doc: improve doc Http2Session:Timeout (dev-313) #30161
- [3709b5cc7e] - doc: move inactive Collaborators to emeriti (Rich Trott) #30177
- [a48d17900b] - doc: add options description for send APIs (dev-313) #29868
- [dfb4a24695] - doc: fix an error in resolution algorithm steps (Alex Zherdev) #29940
- [403a648a16] - doc: fix numbering in require algorithm (Jan Krems) #30117
- [e4ab6fced1] - doc: remove incorrect and outdated example (Tobias Nießen) #30138
- [3c23224a76] - doc: adjust code sample for stream.finished (Cotton Hou) #29983
- [d91d270416] - doc: claim NODE_MODULE_VERSION=80 for Electron 9 (Samuel Attard) #30052
- [621eaf9ed5] - doc: remove "it is important to" phrasing (Rich Trott) #30108
- [9a71091098] - doc: revise os.md (Rich Trott) #30102
- [381c6cd0d2] - doc: delete "a number of" things in the docs (Rich Trott) #30103
- [45c70a9793] - doc: remove dashes (Rich Trott) #30101
- [ea9d125536] - doc: add legendecas to collaborators (legendecas) #30115
- [39070bbed0] - doc: make YAML matter consistent in crypto.md (Rich Trott) #30016
- [978946e38b] - doc,meta: prefer aliases and stubs over Runtime Deprecations (Rich Trott) #30153
- [32a538901f] - doc,n-api: sort bottom-of-the-page references (Gabriel Schulhof) #30124
- [07b5584a3f] - (SEMVER-MINOR) fs: add bufferSize option to fs.opendir() (Anna Henningsen) #30114
- [2505f678ef] - http: support readable hwm in IncomingMessage (Colin Ihrig) #30135
- [f01c5c51b0] - inspector: turn platform tasks that outlive Agent into no-ops (Anna Henningsen) #30031
- [050efebf24] - meta: use contact_links instead of issue templates (Michaël Zasso) #30172
- [edfbee3727] - module: resolve self-references (Jan Krems) #29327
- [93b1bb8cb5] - n-api,doc: add info about building n-api addons (Jim Schlight) #30032
- [cc1cd2b3c5] - src: isolate->Dispose() order consistency (Shelley Vohr) #30181
- [a0df91cce1] - (SEMVER-MINOR) src: expose granular SetIsolateUpForNode (Shelley Vohr) #30150
- [ec7b69ff05] - src: change env.h includes for forward declarations (Alexandre Ferrando) #30133
- [98c8f76dd1] - src: split up InitializeContext (Shelley Vohr) #30067
- [d78e3176dd] - src: fix crash with SyntheticModule#setExport (Michaël Zasso) #30062
- [fd0aded233] - src: allow inspector without v8 platform (Shelley Vohr) #30049
- [87f14e13b3] - stream: extract Readable.from in its own file (Matteo Collina) #30140
- [1d9f4278dd] - test: use arrow functions for callbacks (Minuk Park) #30069
- [a03809d7dd] - test: verify npm compatibility with releases (Michaël Zasso) #30082
- [68e4b5a1fc] - tools: fix Python 3 deprecation warning in test.py (Loris Zinsou) #30208
- [348ec693ac] - tools: fix Python 3 syntax error in mac_tool.py (Christian Clauss) #30146
- [e2fb353df3] - tools: use print() function in buildbot_run.py (Christian Clauss) #30148
- [bcbcce5983] - tools: undefined name opts -> args in gyptest.py (Christian Clauss) #30144
- [14981f5bba] - tools: git rm -r tools/v8_gypfiles/broken (Christian Clauss) #30149
- [d549a34597] - tools: update ESLint to 6.6.0 (Colin Ihrig) #30123
- [a3757546e8] - tools: doc: improve async workflow of generate.js (Theotime Poisseau) #30106
New in Node.js 12.12.0 (Oct 14, 2019)
- Notable changes:
- build:
- Add --force-context-aware flag to prevent usage of native node addons that aren't context aware #29631
- deprecations:
- Add documentation-only deprecation for process._tickCallback() #29781
- esm:
- Using JSON modules is experimental again #29754
- fs:
- Introduce opendir() and fs.Dir to iterate through directories #29349
- process:
- Add source-map support to stack traces by using --source-map-support#29564
- tls:
- Honor pauseOnConnect option #29635
- Add option for private keys for OpenSSL engines #28973
- Commits:
- [d09f2b4170] - build: build docs on Travis (Richard Lau) #29783
- [03ec4cea30] - build: do not link against librt on linux (Sam Roberts) #29727
- [f91778d2c7] - build: remove unused libatomic on ppc64, s390x (Sam Roberts) #29727
- [ab4c53e0ef] - crypto: remove arbitrary UTF16 restriction (Anna Henningsen) #29795
- [75f3b28d67] - crypto: refactor array buffer view validation (Ruben Bridgewater) #29683
- [5eb013b854] - deps: update archs files for OpenSSL-1.1.1 (Sam Roberts) #29550
- [1766cfcb9e] - deps: upgrade openssl sources to 1.1.1d (Sam Roberts) #29550
- [3d88b76680] - deps: patch V8 to 7.7.299.13 (Michaël Zasso) #29869
- [600478ac13] - dgram: use uv_udp_try_send() (Anna Henningsen) #29832
- [ea6b6abb91] - doc: remove spaces inside code span elements (Nick Schonning) #29329
- [20b9ef92d1] - doc: add more info to fs.Dir and fix typos (Jeremiah Senkpiel) #29890
- [f566cd5801] - doc: remove misleading paragraph about the Legacy URL API (Jakob Krigovsky) #29844
- [a5c2154534] - doc: add explicit bracket for markdown reference links (Nick Schonning) #29808
- [ea9bf4a666] - doc: implement minor CSS improvements (XhmikosR) #29669
- [a0498606a0] - doc: fix return type for crypto.createDiffieHellmanGroup() (exoego) #29696
- [a00cd17b9e] - doc: reuse link indexes for n-api.md (legendecas) #29787
- [aea0253697] - doc: unify place of stability notes (Vse Mozhet Byt) #29799
- [8b4f210bf5] - doc: add missing deprecation code (cjihrig) #29820
- [bede98128f] - doc: remove reference to stale CITGM job (Michael Dawson) #29774
- [014eb67117] - (SEMVER-MINOR) doc: add documentation deprecation for process._tickCallback (Lucas Holmquist) #29781
- [62370efe7e] - doc: add dash between SHA and PR in changelog (Nick Schonning) #29558
- [d1a4aa3ca2] - doc: add missing reference link values (Nick Schonning) #29558
- [de4652f55e] - doc: convert old changlogs SHA links to match newer format (Nick Schonning) #29558
- [60b1f6f303] - doc: complete cut off links in old changelog (Nick Schonning) #29558
- [906245e1a4] - doc: clarify --pending-deprecation effects on Buffer() usage (Rich Trott) #29769
- [401f3e7235] - doc: fix nits in dgram.md (Vse Mozhet Byt) #29761
- [bc48646206] - doc: improve process.ppid 'added in' info (Thomas Watson) #29772
- [0b46bcaaa5] - doc: security maintenance processes (Sam Roberts) #29685
- [f39259c079] - doc: remove redundant escape (XhmikosR) #29716
- [87fb1c297a] - errors: make sure all Node.js errors show their properties (Ruben Bridgewater) #29677
- [df218ce066] - Revert "esm: remove experimental status from JSON modules" (Guy Bedford) #29754
- [e7f604f495] - esm: remove proxy for builtin exports (Bradley Farias) #29737
- [c56f765cf6] - fs: remove options.encoding from Dir.read*() (Jeremiah Senkpiel) #29908
- [b76a2e502c] - (SEMVER-MINOR) fs: introduce opendir() and fs.Dir (Jeremiah Senkpiel) #29349
- [2bcde8309c] - (SEMVER-MINOR) http2: allow passing FileHandle to respondWithFD (Anna Henningsen) #29876
- [a240d45d1a] - http2: support passing options of http2.connect to net.connect (ZYSzys) #29816
- [3f153789b5] - http2: set default maxConcurrentStreams (ZYSzys) #29833
- [6a989da6a0] - http2: use the latest settings (ZYSzys) #29780
- [b2cce13235] - inspector: update faviconUrl (dokugo) #29562
- [60296a3612] - lib: make tick processor detect xcodebuild errors (Ben Noordhuis) #29830
- [9e5d691ee4] - lib: introduce no-mixed-operators eslint rule to lib (ZYSzys) #29834
- [74a69abd12] - lib: stop using prepareStackTrace (Gus Caplan) #29777
- [90562ae356] - module: use v8 synthetic modules (Guy Bedford) #29846
- [20896f74d6] - n-api,doc: clarify napi_finalize related APIs (legendecas) #29797
- [65c475269e] - net: emit close on unconnected socket (Robert Nagy) #29803
- [ae8b2b4ab7] - (SEMVER-MINOR) process: add source-map support to stack traces (bcoe) #29564
- [3f6ce39acf] - src: fix ESM path resolution on Windows (Thomas) #29574
- [6bfe8f47fa] - (SEMVER-MINOR) src: add buildflag to force context-aware addons (Shelley Vohr) #29631
- [6c75cc1b11] - stream: do not deadlock duplexpair (Robert Nagy) #29836
- [320f649539] - stream: add comment about undocumented API (Robert Nagy) #29805
- [5fdf4a474f] - test: remove extra process.exit() (cjihrig) #29873
- [6a5d401f30] - test: remove spaces inside code span elements (Nick Schonning) #29329
- [adee99883a] - test: debug output for dlopen-ping-pong test (Sam Roberts) #29818
- [b309e20661] - test: add test for HTTP server response with Connection: close (Austin Wright) #29836
- [bf1727a3f3] - test: add test for writable.write() argument types (Robert Nagy) #29746
- [3153dd6766] - test: well-defined DH groups now verify clean (Sam Roberts) #29550
- [690a863aaa] - test: simplify force-context-aware test (cjihrig) #29705
- [54ef0fd010] - (SEMVER-MINOR) test: --force-context-aware cli flag (Shelley Vohr) #29631
- [a7b56a5b01] - (SEMVER-MINOR) tls: honor pauseOnConnect option (Robert Jensen) #29635
- [cf7b4056ca] - (SEMVER-MINOR) tls: add option for private keys for OpenSSL engines (Anton Gerasimov) #28973
- [ba4946a520] - tools: prohibit Error.prepareStackTrace() usage (Ruben Bridgewater) #29827
- [79f6cd3606] - tools: update ESLint to v6.5.1 (Rich Trott) #29785
- [6d88f0fef7] - vm: refactor SourceTextModule (Gus Caplan) #29776
- [a7113048e3] - worker: do not use two-arg NewIsolate (Shelley Vohr) #29850
New in Node.js 12.11.1 (Oct 3, 2019)
- This release fixes a regression that prevented from building Node.js using the official source tarball (Richard Lau)
New in Node.js 12.10.0 (Sep 5, 2019)
- Notable changes:
- deps:
- Update npm to 6.10.3 (isaacs) #29023
- fs:
- Add recursive option to rmdir() (cjihrig) #29168
- Allow passing true to emitClose option (Giorgos Ntemiris) #29212
- Add *timeNs properties to BigInt Stats objects (Joyee Cheung) #21387
- net:
- Allow reading data into a static buffer (Brian White) #25436
- Commits:
- [293c9f0d75] - bootstrap: run preload prior to frozen-intrinsics (Bradley Farias) #28940
- [71aaf590c1] - buffer: correct indexOf() error message (Brian White) #29217
- [c900762fe4] - buffer: consolidate encoding parsing (Brian White) #29217
- [054407511e] - buffer: correct concat() error message (Brian White) #29198
- [35bca312ed] - buffer: improve equals() performance (Brian White) #29199
- [449f1fd578] - Revert "build: add full Python 3 tests to Travis CI" (Ben Noordhuis) #29406
- [256da1fdb3] - build: add full Python 3 tests to Travis CI (cclauss) #29360
- [0c4df35db0] - build: hard code doctool in test-doc target (Daniel Bevenius) #29375
- [d6b6a0578b] - build: integrate DragonFlyBSD into gyp build (David Carlier) #29313
- [6a914ed36e] - build: make --without-snapshot imply --without-node-snapshot (Joyee Cheung) #29294
- [def5c3e5d8] - build: test Python 3.6 and 3.7 on Travis CI (cclauss) #29291
- [feafc019b1] - build: move tooltest to before jstest target (Daniel Bevenius) #29220
- [aeafb91e2c] - build: add Python 3 tests to Travis CI (cclauss) #29196
- [bb6e3b5404] - build,win: accept Python 3 if 2 is not available (João Reis) #29236
- [dce5649d9c] - build,win: find Python in paths with spaces (João Reis) #29236
- [2489682eb5] - console: use getStringWidth() for character width calculation (Anna Henningsen) #29300
- [5c3e49d84e] - crypto: don't expose openssl internals (Shelley Vohr) #29325
- [e0537e6978] - crypto: simplify DSA validation in FIPS mode (Tobias Nießen) #29195
- [28ffc9f599] - deps: V8: cherry-pick 597f885 (Benjamin Coe) #29367
- [219c19530e] - (SEMVER-MINOR) deps: update npm to 6.10.3 (isaacs) #29023
- [4a7c4b7366] - doc: escape elements swallowed as HTML in markdown (Nick Schonning) #29374
- [5a16449edf] - doc: add extends for derived classes (Kamat, Trivikram) #29290
- [3fc29b8f9a] - doc: add blanks around code fences (Nick Schonning) #29366
- [187d08be65] - doc: format http2 anchor link and reference (Nick Schonning) #29362
- [6734782f25] - doc: remove multiple consecutive blank lines (Nick Schonning) #29352
- [a94afedc9b] - doc: add devnexen to collaborators (David Carlier) #29370
- [43797d9427] - doc: inconsistent indentation for list items (Nick Schonning) #29330
- [bb72217faf] - doc: heading levels should only increment by one (Nick Schonning) #29331
- [ef76c7d997] - doc: add dco to github pr template (Myles Borins) #24023
- [8599052283] - doc: add https.Server extends tls.Server (Trivikram Kamat) #29256
- [2fafd635d7] - doc: fix nits in esm.md (Vse Mozhet Byt) #29242
- [6a4f156ba4] - doc: add missing extends Http2Session (Trivikram Kamat) #29252
- [1d649e3444] - doc: indicate that Http2ServerRequest extends Readable (Trivikram Kamat) #29253
- [b2f169e628] - doc: indicate that Http2ServerResponse extends Stream (Trivikram Kamat) #29254
- [65de900052] - (SEMVER-MINOR) doc: add emitClose option for fs streams (Rich Trott) #29212
- [ae810cc8d5] - doc,crypto: add extends for derived classes (Kamat, Trivikram) #29302
- [a2c704773a] - doc,errors: add extends to derived classes (Kamat, Trivikram) #29303
- [395245f1eb] - doc,fs: add extends for derived classes (Kamat, Trivikram) #29304
- [8a93b63a6b] - doc,http: add extends for derived classes (Trivikram Kamat) #29255
- [ba29be60ae] - doc,tls: add extends for derived classes (Trivikram Kamat) #29257
- [30b80e5d7c] - errors: provide defaults for unmapped uv errors (cjihrig) #29288
- [a7c8322a54] - esm: support loading data URLs (Bradley Farias) #28614
- [3bc16f917d] - events: improve once() performance (Brian White) #29307
- [ed2293e3d7] - (SEMVER-MINOR) fs: add recursive option to rmdir() (cjihrig) #29168
- [8f47ff16d4] - (SEMVER-MINOR) fs: allow passing true to emitClose option (Giorgos Ntemiris) #29212
- [6ff803d97c] - fs: fix (temporary) for esm package (Robert Nagy) #28957
- [e6353bda1a] - fs: document the Date conversion in Stats objects (Joyee Cheung) #28224
- [365e062e14] - (SEMVER-MINOR) fs: add *timeNs properties to BigInt Stats objects (Joyee Cheung) #21387
- [12cbb3f12f] - gyp: remove semicolons (Python != JavaScript) (MattIPv4) #29228
- [10bae2ec91] - gyp: futurize imput.py to prepare for Python 3 (cclauss) #29140
- [e5a9a8522d] - http: simplify timeout handling (Robert Nagy) #29200
- [87b8f02daa] - lib: add ASCII fast path to getStringWidth() (Anna Henningsen) #29301
- [6e585fb063] - lib: consolidate lazyErrmapGet() (cjihrig) #29285
- [eb2d96fecf] - module: avoid passing unnecessary loop reference (Saúl Ibarra Corretgé) #29275
- [dfc0ef5d88] - (SEMVER-MINOR) net: allow reading data into a static buffer (Brian White) #25436
- [f4f88270e7] - process: improve nextTick performance (Brian White) #25461
- [0e1ccca81d] - querystring: improve performance (Brian White) #29306
- [f8f3af099a] - src: do not crash when accessing empty WeakRefs (Anna Henningsen) #29289
- [b964bdd162] - src: turn GET_OFFSET() into an inline function (Anna Henningsen) #29357
- [2666e006e1] - src: inline SLICE_START_END() in node_buffer.cc (Anna Henningsen) #29357
- [8c6896e5d3] - src: allow --interpreted-frames-native-stack in NODE_OPTIONS (Matheus Marchini) #27744
- [db6e4ce239] - src: expose MaybeInitializeContext to allow existing contexts (Samuel Attard) #28544
- [4d4583e0a2] - src: add large page support for macOS (David Carlier) #28977
- [7809adfb1f] - stream: don't deadlock on aborted stream (Robert Nagy) #29376
- [2efd72f28d] - stream: improve read() performance (Brian White) #29337
- [e939a8747f] - stream: async iterator destroy compat (Robert Nagy) #29176
- [b36a6e9ed5] - stream: do not emit drain if stream ended (Robert Nagy) #29086
- [0ccf90b415] - test: remove Windows skipping of http keepalive request GC test (Rich Trott) #29354
- [83fb133267] - test: fix test-benchmark-net (Rich Trott) #29359
- [bd1e8eacf3] - test: fix flaky test-http-server-keepalive-req-gc (Rich Trott) #29347
- [9a150027da] - test: use print() function in both Python 2 and 3 (Christian Clauss) #29298
- [1f88ca3424] - (SEMVER-MINOR) test: add emitClose: true tests for fs streams (Rich Trott) #29212
- [cd70fd2bc0] - tools: update ESLint to 6.3.0 (cjihrig) #29382
- [350975e312] - tools: use 'from io import StringIO' in ninja.py (cclauss) #29371
- [3f68be1098] - tools: fix mksnapshot blob wrong freeing operator (David Carlier) #29384
- [3802da790b] - tools: update ESLint to 6.2.2 (cjihrig) #29320
- [2df84752c6] - tools: update babel-eslint to 10.0.3 (cjihrig) #29320
- [783c8eeb0b] - tools: fix Python 3 issues in inspector_protocol (cclauss) #29296
- [925141f946] - tools: fix mixup with bytes.decode() and str.encode() (Christian Clauss) #29208
- [a123a20134] - tools: fix Python 3 issues in tools/icu/icutrim.py (cclauss) #29213
- [eceebd3ef1] - tools: fix Python 3 issues in gyp/generator/make.py (cclauss) #29214
- [5abbd51c60] - util: do not throw when inspecting detached ArrayBuffer (Anna Henningsen) #29318
New in Node.js 12.9.1 (Aug 27, 2019)
- Notable changes:
- This release fixes two regressions in the http module:
- Fixes an event listener leak in the HTTP client. This resulted in lots of warnings during npm/yarn installs (Robert Nagy) #29245.
- Fixes a regression preventing the 'end' event from being emitted for keepalive requests in case the full body was not parsed (Matteo Collina) #29263.
- Commits:
- [3cc8fca299] - crypto: handle i2d_SSL_SESSION() error return (Ben Noordhuis) #29225
- [ae0a0e97ba] - http: reset parser.incoming when server request is finished (Anna Henningsen) #29297
- [dedbd119c5] - http: fix event listener leak (Robert Nagy) #29245
- [f8f8754d43] - Revert "http: reset parser.incoming when server response is finished" (Matteo Collina) #29263
- [a6abfcb423] - src: remove unused using declarations (Daniel Bevenius) #29222
- [ff6330a6ac] - test: fix 'timeout' typos (cjihrig) #29234
- [3c7a1a9090] - test, http: add regression test for keepalive 'end' event (Matteo Collina) #29263
New in Node.js 12.9.0 (Aug 21, 2019)
- Notable changes:
- crypto:
- Added an oaepHash option to asymmetric encryption which allows users to specify a hash function when using OAEP padding (Tobias Nießen) #28335.
- deps:
- Updated V8 to 7.6.303.29 (Michaël Zasso) #28955.
- Improves the performance of various APIs such as JSON.parse and methods called on frozen arrays.
- Adds the Promise.allSettled method.
- Improves support of BigInt in Intl methods.
- For more information: https://v8.dev/blog/v8-release-76
- Updated libuv to 1.31.0 (cjihrig) #29070.
- UV_FS_O_FILEMAP has been added for faster access to memory mapped files on Windows.
- uv_fs_mkdir() now returns UV_EINVAL for invalid filenames on Windows. It previously returned UV_ENOENT.
- The uv_fs_statfs() API has been added.
- The uv_os_environ() and uv_os_free_environ() APIs have been added.
- fs:
- Added fs.writev, fs.writevSync and filehandle.writev (promise version) methods. They allow to write an array of ArrayBufferViews to a file descriptor (Anas Aboureada) #25925, (cjihrig) #29186.
- http:
- Added three properties to OutgoingMessage.prototype: writableObjectMode, writableLength and writableHighWaterMark #29018.
- stream:
- Added an new property readableEnded to readable streams. Its value is set to true when the 'end' event is emitted. (Robert Nagy) #28814.
- Added an new property writableEnded to writable streams. Its value is set to true after writable.end() has been called. (Robert Nagy) #28934.
- Commits:
- [5008b46159] - benchmark: allow easy passing of process flags (Brian White) #28986
- [9057814206] - buffer: improve copy() performance (Brian White) #29066
- [c7a4525bbe] - buffer: improve ERR_BUFFER_OUT_OF_BOUNDS default (cjihrig) #29098
- [f42eb01d1d] - build: enable linux large pages LLVM lld linkage support (David Carlier) #28938
- [5c5ef4e858] - build: remove unused option (Rich Trott) #29173
- [fbe25c7fb7] - build: remove unnecessary Python semicolon (MattIPv4) #29170
- [e51f924964] - build: add a testclean target (Daniel Bevenius) #29094
- [0a63e2d9ff] - build: support py3 for configure.py (cclauss) #29106
- [b04f9e1f57] - build: reset embedder string to "-node.0" (Michaël Zasso) #28955
- [b085b94fce] - console: minor timeLogImpl() refactor (cjihrig) #29100
- [54197eac4d] - (SEMVER-MINOR) crypto: extend RSA-OAEP support with oaepHash (Tobias Nießen) #28335
- [a17d398989] - deps: V8: cherry-pick e3d7f8a (cclauss) #29105
- [2c91c65961] - deps: upgrade to libuv 1.31.0 (cjihrig) #29070
- [53c7fac310] - deps: patch V8 to be API/ABI compatible with 7.4 (from 7.6) (Michaël Zasso) #28955
- [7b8eb83895] - (SEMVER-MINOR) deps: patch V8 to be API/ABI compatible with 7.4 (from 7.5) (Michaël Zasso) #28005
- [7d411f47b2] - deps: V8: backport b33af60 (Gus Caplan) #28671
- [492b7cb8c3] - (SEMVER-MINOR) deps: V8: cherry-pick d2ccc59 (Michaël Zasso) #28016
- [945955ff86] - deps: cherry-pick 13a04aba from V8 upstream (Jon Kunkee) #28602
- [9b3c115efb] - (SEMVER-MINOR) deps: V8: cherry-pick 3b8c624 (Michaël Zasso) #28016
- [533b2d4a08] - (SEMVER-MINOR) deps: V8: fix linking issue for MSVS (Refael Ackermann) #28016
- [c9f8d28f71] - (SEMVER-MINOR) deps: V8: fix BUILDING_V8_SHARED issues (Refael Ackermann) #27375
- [f24caeff2f] - (SEMVER-MINOR) deps: V8: add workaround for MSVC optimizer bug (Refael Ackermann) #28016
- [94c8d068f8] - (SEMVER-MINOR) deps: V8: use ATOMIC_VAR_INIT instead of std::atomic_init (Refael Ackermann) #27375
- [d940403c20] - (SEMVER-MINOR) deps: V8: forward declaration of Rtl*FunctionTable (Refael Ackermann) #27375
- [ac0c075cad] - (SEMVER-MINOR) deps: V8: patch register-arm64.h (Refael Ackermann) #27375
- [eefbc0773f] - (SEMVER-MINOR) deps: V8: update postmortem metadata generation script (cjihrig) #28016
- [33f3e383da] - (SEMVER-MINOR) deps: V8: silence irrelevant warning (Michaël Zasso) #26685
- [434c127651] - (SEMVER-MINOR) deps: V8: un-cherry-pick bd019bd (Refael Ackermann) #26685
- [040e7dabe4] - (SEMVER-MINOR) deps: V8: fix filename manipulation for Windows (Refael Ackermann) #28016
- [cfe2484e04] - deps: update V8 to 7.6.303.29 (Michaël Zasso) #28955
- [6f7b561295] - dns: update lookupService() first arg name (cjihrig) #29040
- [ad28f555a1] - doc: improve example single-test command (David Guttman) #29171
- [edbe38d52d] - doc: mention N-API as recommended approach (Michael Dawson) #28922
- [ebfe6367f0] - doc: fix introduced_in note in querystring.md (Ben Noordhuis) #29014
- [9ead4eceeb] - doc: note that stream error can close stream (Robert Nagy) #29082
- [5ea9237d2b] - doc: clarify async iterator leak (Robert Nagy) #28997
- [1b6d7c0d00] - doc: fix nits in child_process.md (Vse Mozhet Byt) #29024
- [375d1ee58b] - doc: improve UV_THREADPOOL_SIZE description (Tobias Nießen) #29033
- [7b7b8f21cb] - doc: documented default statusCode (Natalie Fearnley) #28982
- [17d9495afa] - doc: make unshift doc compliant with push doc (EduardoRFS) #28953
- [3bfca0b7e4] - doc, lib, src, test, tools: fix assorted typos (XhmikosR) #29075
- [b7696b41e5] - events: give subclass name in unhandled 'error' message (Anna Henningsen) #28952
- [d79d142e0c] - fs: use fs.writev() internally (Robert Nagy) #29189
- [82eeadb216] - fs: use consistent buffer array validation (cjihrig) #29186
- [81f3eb5bb1] - fs: add writev() promises version (cjihrig) #29186
- [435683610b] - fs: validate writev fds consistently (cjihrig) #29185
- [bb19d8212a] - (SEMVER-MINOR) fs: add fs.writev() which exposes syscall writev() (Anas Aboureada) #25925
- [178caa56ae] - fs: add default options for *stat() (Tony Brix) #29114
- [f194626ffb] - fs: validate fds as int32s (cjihrig) #28984
- [c5edeb9776] - http: simplify drain() (Robert Nagy) #29081
- [6b9e372198] - http: follow symbol naming convention (Robert Nagy) #29091
- [2e5008848e] - http: remove redundant condition (Luigi Pinca) #29078
- [13a497912d] - http: remove duplicate check (Robert Nagy) #29022
- [16e001112c] - (SEMVER-MINOR) http: add missing stream-like properties to OutgoingMessage (Robert Nagy) #29018
- [c396b2a5b2] - http: buffer writes even while no socket assigned (Robert Nagy) #29019
- [f9b61d2bc7] - (SEMVER-MINOR) http,stream: add writableEnded (Robert Nagy) #28934
- [964dff8a9e] - http2: remove unused FlushData() function (Anna Henningsen) #29145
- [66249bbcad] - inspector: use const for contextGroupId (gengjiawen) #29076
- [cb162298eb] - module: pkg exports validations and fallbacks (Guy Bedford) #28949
- [491b46d605] - module: refine package name validation (Guy Bedford) #28965
- [925e40cfa7] - module: add warning when import,export is detected in CJS context (Giorgos Ntemiris) #28950
- [17319e7f44] - net: use callback to properly propagate error (Robert Nagy) #29178
- [7f11c72cc5] - readline: close dumb terminals on Control+D (cjihrig) #29149
- [3c346b8bad] - readline: close dumb terminals on Control+C (cjihrig) #29149
- [e474c6776c] - (SEMVER-MINOR) readline: establish y in cursorTo as optional (Gerhard Stoebich) #29128
- [2528dee674] - report: list envvars using uv_os_environ() (cjihrig) #28963
- [a6b9299039] - src: rename --security-reverts to ...-revert (Sam Roberts) #29153
- [62a0e91d8c] - src: simplify UnionBytes (Ben Noordhuis) #29116
- [b2936cff5d] - src: organize imports in inspector_profiler.cc (pi1024e) #29073
- [a9f8b62b47] - (SEMVER-MINOR) stream: add readableEnded (Robert Nagy) #28814
- [1e3e6da9b9] - stream: simplify howMuchToRead() (Robert Nagy) #29155
- [e2a2a3f4dd] - stream: use lazy registration for drain for fast destinations (Robert Nagy) #29095
- [2a844599db] - stream: improve read() performance further (Brian White) #29077
- [e543d35f35] - stream: inline and simplify onwritedrain (Robert Nagy) #29037
- [6bc4620d8b] - stream: improve read() performance more (Brian White) #28989
- [647f3a8d01] - stream: encapsulate buffer-list (Robert Nagy) #28974
- [000999c06c] - stream: improve read() performance (Brian White) #28961
- [6bafd35369] - test: deflake test-tls-passphrase (Luigi Pinca) #29134
- [aff1ef9d27] - test: add required settings to test-benchmark-buffer (Rich Trott) #29163
- [18b711366a] - test: make exported method static (Rainer Poisel) #29102
- [0aa339e5e1] - test: skip test-fs-access if root (Daniel Bevenius) #29092
- [e3b1243ea2] - test: unskip tests that now pass on AIX (Sam Roberts) #29054
- [f9ed5f351b] - test: assert: add failing deepEqual test for faked boxed primitives (Jordan Harband) #29029
- [43e444b07a] - test: refactor test-sync-io-option (Anna Henningsen) #29020
- [82edebfebf] - (SEMVER-MINOR) test: add test for OAEP hash mismatch (Tobias Nießen) #28335
- [f08f154fd6] - (SEMVER-MINOR) test: update postmortem metadata test for V8 7.6 (cjihrig) #28016
- [5b892c44d6] - tls: allow client-side sockets to be half-opened (Luigi Pinca) #27836
- [c4f6077994] - tools: make code cache and snapshot deterministic (Ben Noordhuis) #29142
- [acdc21b832] - tools: make pty_helper.py python3-compatible (Ben Noordhuis) #29167
- [31c50e5c17] - tools: make nodedownload.py Python 3 compatible (cclauss) #29104
- [1011a1792c] - tools: allow single JS file for --link-module (Daniel Bevenius) #28443
- [4d7a7957fc] - (SEMVER-MINOR) tools: sync gypfiles with V8 7.6 (Michaël Zasso) #28016
- [a4e2549b87] - util: improve debuglog performance (Brian White) #28956
- [112ec73c95] - util: isEqualBoxedPrimitive: ensure both values are actual boxed Symbols (Jordan Harband) #29029
- [8426077898] - util: assert: fix deepEqual comparing fake-boxed to real boxed primitive (Jordan Harband) #29029
- [d4e397a900] - worker: fix crash when SharedArrayBuffer outlives creating thread (Anna Henningsen) #29190
New in Node.js 12.8.1 (Aug 16, 2019)
- Notable changes:
- This is a security release.
- Node.js, as well as many other implementations of HTTP/2, have been found vulnerable to Denial of Service attacks. See https://github.com/Netflix/security-bulletins/blob/master/advisories/third-party/2019-002.md for more information.
- Vulnerabilities fixed:
- CVE-2019-9511 “Data Dribble”: The attacker requests a large amount of data from a specified resource over multiple streams. They manipulate window size and stream priority to force the server to queue the data in 1-byte chunks. Depending on how efficiently this data is queued, this can consume excess CPU, memory, or both, potentially leading to a denial of service.
- CVE-2019-9512 “Ping Flood”: The attacker sends continual pings to an HTTP/2 peer, causing the peer to build an internal queue of responses. Depending on how efficiently this data is queued, this can consume excess CPU, memory, or both, potentially leading to a denial of service.
- CVE-2019-9513 “Resource Loop”: The attacker creates multiple request streams and continually shuffles the priority of the streams in a way that causes substantial churn to the priority tree. This can consume excess CPU, potentially leading to a denial of service.
- CVE-2019-9514 “Reset Flood”: The attacker opens a number of streams and sends an invalid request over each stream that should solicit a stream of RST_STREAM frames from the peer. Depending on how the peer queues the RST_STREAM frames, this can consume excess memory, CPU, or both, potentially leading to a denial of service.
- CVE-2019-9515 “Settings Flood”: The attacker sends a stream of SETTINGS frames to the peer. Since the RFC requires that the peer reply with one acknowledgement per SETTINGS frame, an empty SETTINGS frame is almost equivalent in behavior to a ping. Depending on how efficiently this data is queued, this can consume excess CPU, memory, or both, potentially leading to a denial of service.
- CVE-2019-9516 “0-Length Headers Leak”: The attacker sends a stream of headers with a 0-length header name and 0-length header value, optionally Huffman encoded into 1-byte or greater headers. Some implementations allocate memory for these headers and keep the allocation alive until the session dies. This can consume excess memory, potentially leading to a denial of service.
- CVE-2019-9517 “Internal Data Buffering”: The attacker opens the HTTP/2 window so the peer can send without constraint; however, they leave the TCP window closed so the peer cannot actually write (many of) the bytes on the wire. The attacker then sends a stream of requests for a large response object. Depending on how the servers queue the responses, this can consume excess memory, CPU, or both, potentially leading to a denial of service.
- CVE-2019-9518 “Empty Frames Flood”: The attacker sends a stream of frames with an empty payload and without the end-of-stream flag. These frames can be DATA, HEADERS, CONTINUATION and/or PUSH_PROMISE. The peer spends time processing each frame disproportionate to attack bandwidth. This can consume excess CPU, potentially leading to a denial of service. (Discovered by Piotr Sikora of Google)
- Commits:
- [bfeb5fc07f] - deps: update nghttp2 to 1.39.2 (Anna Henningsen) #29122
- [08021fac59] - http2: allow security revert for Ping/Settings Flood (Anna Henningsen) #29122
- [bbb4769cc1] - http2: pause input processing if sending output (Anna Henningsen) #29122
- [f64515b05e] - http2: stop reading from socket if writes are in progress (Anna Henningsen) #29122
- [ba332df5d2] - http2: consider 0-length non-end DATA frames an error (Anna Henningsen) #29122
- [23b0db58ca] - http2: shrink default vector::reserve() allocations (Anna Henningsen) #29122
- [4f10ac3623] - http2: handle 0-length headers better (Anna Henningsen) #29122
- [a21a1c007b] - http2: limit number of invalid incoming frames (Anna Henningsen) #29122
- [4570ed10d7] - http2: limit number of rejected stream openings (Anna Henningsen) #29122
- [88726f2384] - http2: do not create ArrayBuffers when no DATA received (Anna Henningsen) #29122
- [530004ef32] - http2: only call into JS when necessary for session events (Anna Henningsen) #29122
- [58d8c9ef48] - http2: improve JS-side debug logging (Anna Henningsen) #29122
New in Node.js 12.8.0 (Aug 7, 2019)
- Notable changes:
- assert:
- Legacy mode deprecation (DEP0089) is revoked (Colin Ihrig) #28892
- crypto:
- The outputLength option is added to crypto.createHash (Tobias Nießen) #28805
- The maxmem range is increased from 32 to 53 bits (Tobias Nießen) #28799
- n-api:
- Added APIs for per-instance state management (Gabriel Schulhof) #28682
- report:
- Network interfaces get included in the report (Colin Ihrig) #28911
- src:
- v8.getHeapCodeStatistics() is now exported (Yuriy Vasiyarov) #27978
- Commits:
- [d3426ee9f1] - assert: avoid potentially misleading reference to object identity (Anna Henningsen) #28824
- [bbcf9f0625] - benchmark: swap var for let in buffer benchmarks (Alex Ramirez) #28867
- [f2c1f3613b] - benchmark: swap var for let in util benchmarks (Alex Ramirez) #28867
- [048db38ada] - benchmark: swap var for let in url benchmarks (Alex Ramirez) #28867
- [391fe46378] - benchmark, http: refactor for code consistency (Alex Ramirez) #28791
- [dcef7b8cc1] - build: include stubs in shared library (Jeroen Ooms) #28897
- [470db47cb4] - build: remove support for s390 (but not s390x) (Ben Noordhuis) #28883
- [25aa2228e4] - build: generate openssl config for BSD-x86 (Ben Noordhuis) #28806
- [fb57bc4be4] - build: do not mix spaces and tabs in Makefile (Luigi Pinca) #28881
- [9e7c66280e] - build: ignore backup files (Adam Majer) #28865
- [24b9d29650] - build: uname -m is amd64 on freebsd, not x86_64 (Ben Noordhuis) #28804
- [82f263d022] - build,tools: support building with Visual Studio 2019 (Michaël Zasso) #28781
- [a7ef102a66] - crypto: add null check to outputLength logic (Colin Ihrig) #28864
- [3a62202a54] - crypto: fix handling of malicious getters (scrypt) (Tobias Nießen) #28838
- [b7c6ad595b] - (SEMVER-MINOR) crypto: add outputLength option to crypto.createHash (Tobias Nießen) #28805
- [86f4c68d6a] - crypto: update root certificates (Sam Roberts) #28808
- [e0e776331a] - (SEMVER-MINOR) crypto: increase maxmem range from 32 to 53 bits (Tobias Nießen) #28799
- [11470d5c26] - deps: upgrade npm to 6.10.2 (isaacs) #28853
- [9b02f3623b] - deps: dlloads node static linked executable (Luca Lindhorst) #28045
- [24b8f2000c] - deps: remove backup files (Adam Majer) #28865
- [ae56a232e1] - deps: backport b107214 from upstream V8 (Anna Henningsen) #28850
- [19dad196e0] - deps: float 15d7e79 from openssl (Tobias Nießen) #28796
- [9dfa636083] - dgram: changed 'var' to 'let' and 'const' (Manuel Ochoa Loaiza) #28357
- [02a50c3b42] - doc: remove use of you (Michael Dawson) #28919
- [bdd442fe35] - doc: describe NODE_OPTIONS interop w/cmd line opts (Alex Aubuchon) #28928
- [57f5d50a3b] - doc: fix sorting nit in sections of http.md (Vse Mozhet Byt) #28943
- [f4abf17d36] - doc: remove legacy mode deprecation in assert (Rich Trott) #28909
- [0ac6d28f80] - doc: writableFinished is true before 'finish' (Robert Nagy) #28811
- [7c80963d98] - doc: include "exports" resolver specification (guybedford) #28899
- [5f07f49933] - doc: revoke DEP0089 (Colin Ihrig) #28892
- [3e6342958b] - doc: add example about emitter.emit in events documentation (Felipe Duitama) #28374
- [a28db5f470] - doc: add example of event close for child_process (Laura Ciro) #28376
- [085eb4828b] - doc: fixup esm resolver spec formatting (Guy Bedford) #28885
- [5533d48290] - doc: correct import statement (himself65) #28876
- [ffc7a00c10] - doc: add documentation for stream.destroyed (Robert Nagy) #28815
- [454e879a4a] - doc: fix incorrect name in report docs (Colin Ihrig) #28830
- [881e345e0c] - doc: describe why new Buffer() is problematic (Sam Roberts) #28825
- [95b87ce24a] - doc: claim NODE_MODULE_VERSION=76 for Electron 8 (Samuel Attard) #28809
- [0667d0c6c2] - doc: add documentation for response.flushHeaders() (Luigi Pinca) #28807
- [c0a044849d] - doc: fix type in NSS update instructions (Sam Roberts) #28808
- [d0b1fb3311] - doc: api/stream.md typo from writeable to writable (Cotton Hou) #28822
- [727ffe4720] - domain: use strong reference to domain while active (Anna Henningsen) #28313
- [c9c7256f50] - http: reset parser.incoming when server response is finished (Anna Henningsen) #28646
- [7d9eb17d30] - http2: destroy when settingsFn throws an error (himself65) #28908
- [fa82cbc6cb] - http2: destructure constants from require call (Daniel Nalborczyk) #28176
- [d0d31498d1] - http2: add constant to already destructured constants (Daniel Nalborczyk) #28176
- [d72b6820bd] - inspector: report all workers (Eugene Ostroukhov) #28872
- [464136fbc2] - lib: replace var with let in loaders.js (mbj36) #28081
- [386d5d70fb] - lib: support min/max values in validateInteger() (Colin Ihrig) #28810
- [2236affbf8] - module: exports error as MODULE_NOT_FOUND (Guy Bedford) #28905
- [d9084d29fe] - module: unify package exports test for CJS and ESM (Jan Krems) #28831
- [2262526562] - module: implement "exports" proposal for CommonJS (Jan Krems) #28759
- [c93df0cfc3] - n-api: refactoring napi_create_function testing (Octavian Soldea) #28894
- [e6b3bfe111] - n-api: refactor a previous commit (Octavian Soldea) #28848
- [860c0d89b6] - (SEMVER-MINOR) n-api: add APIs for per-instance state management (Gabriel Schulhof) #28682
- [3c52dbe15b] - net: shallow copy option when create Server (himself65) #28924
- [1f82929ed0] - path: improve normalization performance (Brian White) #28948
- [5d5c89a8f7] - policy: add dependencies map for resources (Bradley Farias) #28767
- [4b91e4dafd] - (SEMVER-MINOR) report: include network interfaces in report (Colin Ihrig) #28911
- [e0951c80f6] - report: loop over uv_cpu_info() results (Colin Ihrig) #28829
- [4a747f6037] - Revert "src: remove trace_sync_io_ from env" (Сковорода Никита Андреевич) #28926
- [d601a0a9c0] - src: allow generic C++ callables in SetImmediate() (Anna Henningsen) #28704
- [3d51d3039c] - src: large pages fix FreeBSD fix region size (David Carlier) #28735
- [cce208794e] - (SEMVER-MINOR) src: export v8.GetHeapCodeAndMetadataStatistics() (Yuriy Vasiyarov) #27978
- [32cf344f8e] - src: readlink("/proc/self/exe") -> uv_exename() (Ben Noordhuis) #28333
- [1b0d67b1e7] - src: fix OpenBSD build (David Carlier) #28384
- [406c50c1d4] - src: read break_node_first_line from the inspect options (Samuel Attard) #28034
- [8db43b1ff5] - src: move relative uptime init (Micha Hanselmann) #28849
- [e334c1f13b] - src: fix type name in comment (Ben Noordhuis) #28320
- [cf071a01f2] - stream: resolve perf regression introduced by V8 7.3 (Matteo Collina) #28842
- [0f8f552105] - test: refactor test-fs-stat.js (Rich Trott) #28929
- [c38952610e] - test: add tests for spaces in folder names (PaulBags) #28819
- [efe9b97d40] - test: refactor test-beforeexit-event-exit using mustNotCall (himself65) #28901
- [c42eb5dd55] - test: refactoring test_error testing (himself65) #28902
- [b6e174b4f5] - test: use assert.throws() in test-require-json.js (Alejandro Nanez) #28358
- [19070e442d] - test: fix nits in test/fixtures/tls-connect.js (Luigi Pinca) #28880
- [31aa33bdcb] - test: fix race in test-http2-origin (Alba Mendez) #28903
- [9b47f77571] - test: udpate test comment description (Andres Bedoya) #28351
- [a0f89a2845] - test: refactor test using assert instead of try/catch (Juan Bedoya) #28346
- [2142b6d3d1] - test: improve test-async-hooks-http-parser-destroy (Gerhard Stoebich) #28253
- [f6051f9506] - test: specialize OOM check for AIX (Sam Roberts) #28857
- [84efadf263] - test, util: refactor isObject in test-util (Alex Ramirez) #28878
- [0b6a84a861] - test,report: relax CPU match requirements (Anna Henningsen) #28884
- [a38fecdb20] - tools: update certdata.txt (Sam Roberts) #28808
- [b282c8512b] - vm: increase code coverage of source_text_module.js (kball) #28350
- [43acce1925] - worker: handle calling terminate when kHandler is null (elyalvarado) #28370
New in Node.js 12.5.0 (Jun 28, 2019)
- Notable changes:
- build:
- The startup time is reduced by enabling V8 snapshots by default #28181
- deps:
- Updated V8 to 7.5.288.22 #27375
- The numeric separator feature is now enabled by default
- Updated OpenSSL to 1.1.1c #28211
- inspector:
- The --inspect-publish-uid flag was added to specify ways of the inspector web socket url exposure #27741
- n-api:
- Accessors on napi_define_* are now ECMAScript-compliant #27851
- report:
- The cpu info got added to the report output #28188
- src:
- Restore the original state of the stdio file descriptors on exit to prevent leaving stdio in raw or non-blocking mode #24260
- tools,gyp:
- Introduce MSVS 2019 #27375
- util:
- inspect:
- Array grouping became more compact and uses more columns than before #28059 #28070
- Long strings will not be split at 80 characters anymore. Instead they will be split on new lines #28055
- worker:
- worker.terminate() now returns a promise and using the callback is deprecated #28021
- Commits:
- [f03241fc0a] - (SEMVER-MINOR) assert: add partial support for evaluated code in simple assert (Ruben Bridgewater) #27781
- [ef8f147b7e] - (SEMVER-MINOR) assert: improve regular expression validation (Ruben Bridgewater) #27781
- [8157a50161] - assert: print more lines in the error diff (Ruben Bridgewater) #28058
- [82174412a5] - assert: fix error diff (Ruben Bridgewater) #28058
- [1ee7ce6092] - assert: limit string inspection when logging assertion errors (Ruben Bridgewater) #28058
- [ddef3d0560] - build: fix cctest target for --without-report (Richard Lau) #28238
- [7cf79fa1c9] - build: guard test-doc recipe with node_use_openssl (Daniel Bevenius) #28199
- [32b0803ef3] - build: turn on custom V8 snapshot by default (Joyee Cheung) #28181
- [6a2d8e2579] - build: unbreak --with-intl=system-icu build (Ben Noordhuis) #28118
- [eb89c06b95] - build: fix icu-i18n pkg-config version check (Ben Noordhuis) #28118
- [02fdf5c14c] - build: don't swallow pkg-config warnings (Ben Noordhuis) #28118
- [48d7d7c53e] - build: lint all docs under doc (Richard Lau) #28128
- [d3207912fb] - build: fix configure script to work with Apple Clang 11 (Saagar Jha) #28071
- [21bcfb67f6] - (SEMVER-MINOR) build: reset embedder string to "-node.0" (Refael Ackermann) #27375
- [e5c26753e9] - build,meta: rearrange and narrow git ignore rules (Refael Ackermann) #27954
- [5101e4c2a2] - (SEMVER-MINOR) build,v8: sync V8 gypfiles with 7.5 (Refael Ackermann) #27375
- [5a7154ef32] - build,win: delegate lint-cpp to make (Refael Ackermann) #28102
- [3f1787b47d] - crypto: add debug info client emit secureConnect (Daniel Bevenius) #28067
- [9ea74b7bff] - deps: update archs files for OpenSSL-1.1.1c (Sam Roberts) #28211
- [9c7ea2c9d9] - deps: upgrade openssl sources to 1.1.1c (Sam Roberts) #28211
- [9419daf503] - deps: updated openssl upgrade instructions (Sam Roberts) #28211
- [084ffd8c2f] - deps: update llhttp to 1.1.4 (Fedor Indutny) #28154
- [9382b3be9c] - deps: V8: cherry-pick e0a109c (Joyee Cheung) #27533
- [b690e19a9a] - deps: ignore deps/.cipd fetched by deps/v8/tools/node/fetch_deps.py (Joyee Cheung) #28095
- [d42ad64253] - deps: update node-inspect to v1.11.6 (Jan Krems) #28039
- [40a1a11542] - (SEMVER-MINOR) deps: patch V8 to be API/ABI compatible with 7.4 (Michaël Zasso) #28005
- [ad3a164ec3] - (SEMVER-MINOR) deps: bump minimum icu version to 64 (Michaël Zasso) #27375
- [e4aa869726] - (SEMVER-MINOR) deps: V8: backport 3a75c1f (Refael Ackermann) #27375
- [bb729a415a] - (SEMVER-MINOR) deps: V8: fix BUILDING_V8_SHARED issues (Refael Ackermann) #27375
- [f8a33abe0c] - (SEMVER-MINOR) deps: V8: workaround for MSVC 14.20 optimizer bug (Refael Ackermann) #27375
- [0a5ff4cb33] - (SEMVER-MINOR) deps: V8: template explicit instantiation for GCC-8 (Refael Ackermann) #27375
- [b411114a52] - (SEMVER-MINOR) deps: V8: use ATOMIC_VAR_INIT instead of std::atomic_init (Refael Ackermann) #27375
- [c08d94baef] - (SEMVER-MINOR) deps: V8: forward declaration of Rtl*FunctionTable (Refael Ackermann) #27375
- [445bb81ab6] - (SEMVER-MINOR) deps: V8: patch register-arm64.h (Refael Ackermann) #27375
- [fa6dfec186] - (SEMVER-MINOR) deps: V8: backport f89e555 (Michaël Zasso) #27375
- [8b8fe87e54] - deps: V8: cherry-pick cca9ae3c9a (Benedikt Meurer) #27729
- [55e99448c8] - (SEMVER-MINOR) deps: V8: update postmortem metadata generation script (cjihrig) #26685
- [2f92b15435] - (SEMVER-MINOR) deps: V8: silence irrelevant warning (Michaël Zasso) #26685
- [ca8e5aa77b] - (SEMVER-MINOR) deps: V8: un-cherry-pick bd019bd (Refael Ackermann) #26685
- [4a61bdbc1f] - (SEMVER-MINOR) deps: V8: fix filename manipulation for Windows (Refael Ackermann) #27375
- [86a8bb7612] - (SEMVER-MINOR) deps: update V8 to 7.5.288.22 (Refael Ackermann) #27375
- [47366d7cc6] - deps: V8: extend workaround for MSVC optimizer bug (Michaël Zasso) #28286
- [071694472f] - dgram: fix abort on bad args (cjihrig) #28135
- [8aeb9cc10f] - doc: revise intro sentence for assert (Rich Trott) #28226
- [60156274b1] - doc: improve assert strict-mode text (Rich Trott) #28239
- [39b10abf63] - doc: clarify commit message format in pull-requests.md (rexagod) #28125
- [dba5983b00] - doc: add missing options allowed in NODE_OPTIONS (Richard Lau) #28179
- [4cadddc6a7] - doc: document behavior of family:0 in dns.lookup() (cjihrig) #28163
- [694faf13fb] - doc: pass path in URL constructor (Daniel Nalborczyk) #28161
- [81a1a13efd] - doc: update kernel and glibc reqs for PPCle (Michael Dawson) #28162
- [abe5d05523] - (SEMVER-MINOR) doc: update assert's validation functions (Ruben Bridgewater) #27781
- [ecb963dd44] - doc: document trace-events category for dns requests (vmarchaud) #28100
- [8c277555b7] - doc: add Buffer#subarray() and add note about Uint8Array#slice() (FUJI Goro (gfx)) #28101
- [4d6262fb56] - doc: update broken/foundation links in README.md (Tierney Cyren) #28119
- [00e6c9d2dd] - doc: add tls-min/max options to NODE_OPTIONS (Daniel Bevenius) #28146
- [705f259142] - doc: split example into two (Ruben Bridgewater) #27670
- [69af43ead9] - doc: clarify N-API version Matrix (Michael Dawson) #27942
- [56b150b3d7] - doc: add current recommendation for ESM/CommonJS dual packages (Geoffrey Booth) #27957
- [360c708f64] - doc: document Http2Stream#id property (murgatroid99) #28074
- [5fc4e48fdd] - doc: add note about AsyncResource for Worker pooling (Anna Henningsen) #28023
- [d1c53fc54e] - doc: fix prohibited-strings warning in pull-requests.md (rexagod) #28127
- [e6ecc13cfa] - doc: improve synopsis.md (Rich Trott) #28115
- [eb05db907a] - doc: edit reason-for-deprecation text (Rich Trott) #28098
- [5ad0d047c6] - doc: improve DEP0090 text (Rich Trott) #28097
- [9074f9b4e5] - doc: clarify special schemes (Rich Trott) #28091
- [f95a52cb1e] - doc: clarify weak keys text (Rich Trott) #28090
- [eb73ed8158] - doc: remove superfluous filenaming convention (Rich Trott) #28089
- [f7d8384af2] - doc: mark Node.js 11 as EOL in changelog (Richard Lau) #28076
- [87c55ea0ef] - doc: adjust TOC margins (Roman Reiss) #28075
- [9dd4813008] - doc: order deprecation reasons (Trivikram Kamat) #27960
- [e3f905ac7e] - doc: remove "encouraged" as hedging in fs.md (Rich Trott) #28027
- [df22b96cb0] - doc: remove "strongly recommended" as hedging in fs.md (Rich Trott) #28028
- [049429bd97] - doc: remove "strongly recommended" hedging from tls.md (Rich Trott) #28029
- [79d4f285be] - doc: remove "strongly recommended" hedging in deprecations.md (Rich Trott) #28031
- [613064699e] - doc,n-api: fix typo (Richard Lau) #28178
- [5ee6ecd979] - doc,test: test documentation consistency for NODE_OPTIONS (Richard Lau) #28179
- [e1fc9b987a] - http2: do not register unnecessary listeners (Antonio Kukas) #27987
- [faeed804c7] - https: do not automatically use invalid servername (Sam Roberts) #28209
- [f8c9a58bf5] - inspector: added --inspect-publish-uid (Aleksei Koziatinskii) #27741
- [9b248e33de] - module: prevent race condition while combining import and require (Ruben Bridgewater) #27674
- [6014429580] - module: handle empty require.resolve() options (cjihrig) #28078
- [9c19c4b6a3] - n-api: define ECMAScript-compliant accessors on napi_define_class (legendecas) #27851
- [b60287d188] - n-api: define ECMAScript-compliant accessors on napi_define_properties (legendecas) #27851
- [a40cfb32d2] - n-api: defer Buffer finalizer with SetImmediate (Anna Henningsen) #28082
- [dfbbfbb765] - net: make writeAfterFIN() return false (Luigi Pinca) #27996
- [2515df029a] - perf_hooks,trace_events: use stricter equality (cjihrig) #28166
- [43fa824a3b] - process: refactor unhandled rejection handling (Joyee Cheung) #28228
- [b491eabff1] - process: improve queueMicrotask performance (Anatoli Papirovski) #28093
- [460cc6285a] - process: code cleanup for nextTick (Anatoli Papirovski) #28047
- [4eaac83c5f] - report: add cpu info to report output (Christopher Hiller) #28188
- [029b50dab4] - src: fix compiler warning in node_worker.cc (Daniel Bevenius) #28198
- [a5998152d5] - src: fix off-by-one error in native SetImmediate (Anna Henningsen) #28082
- [c67642ae03] - src: do not use pointer for loop in node_watchdog (Anna Henningsen) #28020
- [b5dda32b8a] - src: restore stdio on program exit (Ben Noordhuis) #24260
- [8984b73033] - src: remove TLS code for unsupported OpenSSLs (Sam Roberts) #28085
- [8849eb24c1] - src: handle exceptions from ToDetailString() (Anna Henningsen) #28019
- [8a032fc50c] - src: expose DOMException to internalBinding('message') for testing (Joyee Cheung) #28072
- [a5fdedb3d5] - src: only run preloadModules if the preload array is not empty (Samuel Attard) #28012
- [c821eefa5f] - src: add napi_define_class() null checks (Octavian Soldea) #27945
- [95ee3b55d3] - src: use RAII in setgroups implementation (Anna Henningsen) #28022
- [d81c67bd8f] - src: fix unused private field warning (cjihrig) #28036
- [e8bedd2009] - src: split RunBootstrapping() (Joyee Cheung) #27539
- [c20c6e55b5] - src: reorganize inspector and diagnostics initialization (Joyee Cheung) #27539
- [c086736a49] - src: create Environment properties in Environment::CreateProperties() (Joyee Cheung) #27539
- [70f8e71a0d] - src: inline ProcessCliArgs in the Environment constructor (Joyee Cheung) #27539
- [174b3c4b1b] - test: add eval ESM module tests (Evgenii Shchepotev) #27956
- [aa3c41fe40] - test: fix NODE_OPTIONS feature check (Richard Lau) #28225
- [9edf69545d] - test: move --cpu-prof tests to sequential (Joyee Cheung) #28210
- [df9b253e2c] - test: skip test-worker-prof as flaky for all (Milad Farazmand) #28175
- [bd16f9b2da] - test: remove FIB environment variable from cpu-prof.js (Rich Trott) #28183
- [a3f8385d7f] - test: remove unused output argument for getFrames() (Rich Trott) #28183
- [58eccb1213] - test: document cpu-prof module (Rich Trott) #28183
- [318328f6b7] - test: improve unexpected warnings error (Ruben Bridgewater) #28138
- [31ccd36668] - test: mark test-fs-stat-bigint as flaky (Rich Trott) #28156
- [de6627f9a4] - test: remove duplicate test-child-process-execfilesync-maxBuffer.js (Joyee Cheung) #28139
- [2353c63dc2] - test: split test-cpu-prof.js (Joyee Cheung) #28170
- [186e94c322] - test: add github refs to flaky tests (Sam Roberts) #28123
- [d8061dc1a0] - test: remove test-gc-http-client from status file (Rich Trott) #28130
- [d6791d1cb8] - test: remove test-tty-wrap from status file (Rich Trott) #28129
- [b0bc23c572] - test: add comments to the foaf+ssl fixtures (Alex Aubuchon) #27962
- [189d6af2b3] - test: change formatting of fixtures/keys/Makefile (Alex Aubuchon) #27962
- [94a6d7a518] - test: change fixtures.readSync to fixtures.readKey (Alex Aubuchon) #27962
- [c82023a173] - test: remove uneeded agent keypair in fixtures/ (Alex Aubuchon) #27962
- [74e6109f39] - test: move foafssl certs to fixtures/keys/ (Alex Aubuchon) #27962
- [78f39c91ac] - test: remove uneeded alice certs in fixtures/ (Alex Aubuchon) #27962
- [5d0737735b] - test: remove uneeded certs in fixtures/ (Alex Aubuchon) #27962
- [d757e0b6d4] - test: move dherror.pem to fixtures/keys/ (Alex Aubuchon) #27962
- [f9ddcc6305] - test: remove pass-* certs (Alex Aubuchon) #27962
- [e673b57055] - test: move test_[key|ca|cert] to fixtures/keys/ (Alex Aubuchon) #27962
- [8670f6dd22] - test: move spkac certs to fixtures/keys/ (Alex Aubuchon) #27962
- [7d1f15fba1] - test: move x448 keypairs to fixtures/keys/ (Alex Aubuchon) #27962
- [22bbdc5068] - test: move ed448 keypairs to fixtures/keys/ (Alex Aubuchon) #27962
- [9de9d55bfc] - test: move dsa keypairs to fixtures/keys/ (Alex Aubuchon) #27962
- [9684842023] - test: move rsa keypairs to fixtures/keys/ (Alex Aubuchon) #27962
- [7ae23abc01] - test: move x25519 keypair to fixtures/keys/ (Alex Aubuchon) #27962
- [adb0197d6d] - test: move ed25519 keypair to fixtures/keys/ (Alex Aubuchon) #27962
- [14bd26c8da] - test: remove workaround for unsupported OpenSSLs (Sam Roberts) #28085
- [d4bb88eed8] - test: simplify tests code (himself65) #28065
- [87e977ae42] - test: make sure vtable is generated in addon test with LTO (Anna Henningsen) #28057
- [3feaf3ddbe] - test: mark test-worker-debug as flaky (Refael Ackermann) #28035
- [098cf74292] - test: regression test tmpdir (Refael Ackermann) #28035
- [e08a98fa43] - test: always suffix tmpdir (Refael Ackermann) #28035
- [f33623662f] - test: shell out to rmdir first on Windows (Refael Ackermann) #28035
- [1ef2811236] - test: only assert on first lines of TLS trace (Sam Roberts) #28043
- [62de36e8d3] - Revert "test: move all test keys/certs under test/fixtures/keys/" (Sam Roberts) #28083
- [2331e9c380] - test: add comments to the foaf+ssl fixtures (Alex Aubuchon) #27962
- [8e28259bf8] - test: change formatting of fixtures/keys/Makefile (Alex Aubuchon) #27962
- [d258504a31] - test: change fixtures.readSync to fixtures.readKey (Alex Aubuchon) #27962
- [328b2d0c88] - test: remove uneeded agent keypair in fixtures/ (Alex Aubuchon) #27962
- [a0d2862b1e] - test: move foafssl certs to fixtures/keys/ (Alex Aubuchon) #27962
- [af9eb9648e] - test: remove uneeded alice certs in fixtures/ (Alex Aubuchon) #27962
- [ee62fa172c] - test: remove uneeded certs in fixtures/ (Alex Aubuchon) #27962
- [f41dfd71a0] - test: move dherror.pem to fixtures/keys/ (Alex Aubuchon) #27962
- [98f7ae9e7b] - test: remove pass-* certs (Alex Aubuchon) #27962
- [27d6b28943] - test: move test_[key|ca|cert] to fixtures/keys/ (Alex Aubuchon) #27962
- [5ac6dddb83] - test: move spkac certs to fixtures/keys/ (Alex Aubuchon) #27962
- [03b92e93b1] - test: move x448 keypairs to fixtures/keys/ (Alex Aubuchon) #27962
- [4155bbaeab] - test: move ed448 keypairs to fixtures/keys/ (Alex Aubuchon) #27962
- [9209698139] - test: move dsa keypairs to fixtures/keys/ (Alex Aubuchon) #27962
- [ad42258d5a] - test: move rsa keypairs to fixtures/keys/ (Alex Aubuchon) #27962
- [686cb13f78] - test: move x25519 keypair to fixtures/keys/ (Alex Aubuchon) #27962
- [1f2de2fbe1] - test: move ed25519 keypair to fixtures/keys/ (Alex Aubuchon) #27962
- [687e57fe19] - test: rename worker MessagePort test (Anna Henningsen) #28024
- [7165254f8b] - test: more tls hostname verification coverage (Ben Noordhuis) #27999
- [92d1ca9645] - (SEMVER-MINOR) test: fail test-worker-prof on internal timeout (Refael Ackermann) #27375
- [ab1a4eb12d] - (SEMVER-MINOR) test: drain platform before unregistering isolate (Refael Ackermann) #27375
- [b6bdf752d6] - test,v8: skip less and stabilize test-linux-perf.js (Refael Ackermann) #27364
- [7044a7a302] - tls: remove unnecessary set of DEFAULT_MAX_VERSION (Daniel Bevenius) #28147
- [6b9d477520] - tls: rename validateKeyCert in _tls_common.js (Daniel Bevenius) #28116
- [aeda0c3d35] - tools: assert that the snapshot can be rehashed in node_mksnapshot (Joyee Cheung) #28181
- [a0c5b58b44] - tools: fix update-babel-eslint.sh script (RubenBridgewater) #27670
- [6460d071d2] - tools: increase the maximum number of files to lint per worker (Ruben Bridgewater) #27670
- [bf76823a47] - tools: ignore node_modules when linting (Ruben Bridgewater) #27670
- [52564dbb28] - tools: update babel-eslint (Ruben Bridgewater) #27670
- [9be67b2cbc] - tools: activate more eslint rules (Ruben Bridgewater) #27670
- [739c2a3336] - tools: update eslint config (Ruben Bridgewater) #27670
- [adfbd362fc] - tools: update eslint (Ruben Bridgewater) #27670
- [018159d734] - (SEMVER-MINOR) tools,gyp: introduce MSVS 2019 (Refael Ackermann) #27375
- [9dd840dff5] - trace_events: respect inspect() depth (cjihrig) #28037
- [b6f113bc15] - util: use average bias while grouping arrays (Ruben Bridgewater) #28070
- [7e617606b0] - util: improve .inspect() array grouping (Ruben Bridgewater) #28070
- [9ced334a6c] - util: refactor inspecting long lines (Ruben Bridgewater) #28055
- [dfdf742fd1] - util: use Set to store deprecation codes (Daniel Nalborczyk) #28113
- [c3243de47a] - util: special handle maxArrayLength while grouping arrays (Ruben Bridgewater) #28059
- [f897860427] - util: support AsyncGeneratorFunction in .inspect (Ruben Bridgewater) #28056
- [d659ed6dbe] - worker: refactor worker.terminate() (Anna Henningsen) #28021
- [303a9a3d06] - worker: make MessagePort constructor non-callable (Anna Henningsen) #28032
- [79a8cd0dec] - worker: add typechecking for postMessage transfer list (Anna Henningsen) #28033
- [d7641d833c] - worker: use DataCloneError for unknown native objects (Anna Henningsen) #28025
New in Node.js 12.4.0 (Jun 28, 2019)
- Notable changes:
- doc:
- The JSON variant of the API documentation is no longer experimental (Rich Trott) #27842.
- esm:
- JSON module support is always enabled under --experimental-modules. The --experimental-json-modules flag has been removed (Myles Borins) #27752.
- http,http2:
- A new flag has been added for overriding the default HTTP server socket timeout (which is two minutes). Pass --http-server-default-timeout=milliseconds or --http-server-default-timeout=0 to respectively change or disable the timeout. Starting with Node.js 13.0.0, the timeout will be disabled by default (Ali Ijaz Sheikh) #27704.
- inspector:
- Added an experimental --heap-prof flag to start the V8 heap profiler on startup and write the heap profile to disk before exit (Joyee Cheung) #27596.
- stream:
- The readable.unshift() method now correctly converts strings to buffers. Additionally, a new optional argument is accepted to specify the string's encoding, such as 'utf8' or 'ascii' (Marcos Casagrande) #27194.
- v8:
- The object returned by v8.getHeapStatistics() has two new properties: number_of_native_contexts and number_of_detached_contexts (Yuriy Vasiyarov) #27933.
- Commits:
- [5bbc6d79c3] - assert: remove unreachable code (Rich Trott) #27840
- [530e63a4eb] - assert: remove unreachable code (Rich Trott) #27786
- [9b08c458be] - build,aix: link with noerrmsg to eliminate warnings (Refael Ackermann) #27773
- [08b0ca9645] - build,win: create junction instead of symlink to out\%config% (Refael Ackermann) #27736
- [ea2d550507] - child_process: move exports to bottom for consistent code style (himself65) #27845
- [a9f95572c3] - child_process: remove extra shallow copy (zero1five) #27801
- [449ee8dd42] - console: fix table() output (Brian White) #27917
- [9220a68a76] - crypto: fix KeyObject handle type error message (Alexander Avakov) #27904
- [3b6424fa29] - deps: histogram: unexport symbols (Ben Noordhuis) #27779
- [ef25ac5223] - doc: clarify wording in modules.md (Alex Temny) #27853
- [c683cd99d7] - doc: improve explanation for directory with fs.rename() (Rich Trott) #27963
- [70b485478c] - doc: fix the wrong name of AssertionError (Kyle Zhang) #27982
- [11c3ddb4cb] - doc: simplify system call material in doc overview (Rich Trott) #27966
- [c56640138a] - doc: warn about relying on fs gc close behavior (Benjamin Gruenbaum) #27972
- [bab9f5a891] - doc: add information to revoked deprecations (cjihrig) #27952
- [f4fc75d245] - doc: add missing status to DEP0121 (cjihrig) #27950
- [77ff597faa] - doc: add missing --experimental-wasm-modules docs (cjihrig) #27948
- [6ca4f03ccf] - doc: revise additional Experimental status text (Rich Trott) #27931
- [a1788de0a4] - doc: adds link to nightly code coverage report (Tariq Ramlall) #27922
- [b7cd0de145] - doc: fix typo in pipe from async iterator example (Luigi Pinca) #27870
- [f621b8f178] - doc: reword Experimental stability index (Rich Trott) #27879
- [7a7fc4e7e6] - doc: update n-api support matrix (teams2ua) #27567
- [9d9b32eff5] - doc: fix for OutgoingMessage.prototype._headers/_headerNames (Daniel Nalborczyk) #27574
- [263e53317b] - doc: reposition "How to Contribute" README section (Anish Asrani) #27811
- [85f505c292] - doc: add version info for types (Michael Dawson) #27754
- [e3bb2aef60] - doc: remove experimental status for JSON documentation (Rich Trott) #27842
- [6981565c20] - doc: edit stability index overview (Rich Trott) #27831
- [1a8e67cc1f] - doc: simplify contributing documentation (Rich Trott) #27785
- [041b2220be] - doc,n-api: fix typo in N-API introduction (Richard Lau) #27833
- [6cd64c8279] - doc,test: clarify that Http2Stream is destroyed after data is read (Alba Mendez) #27891
- [cc69d5af8e] - doc,tools: get altDocs versions from CHANGELOG.md (Richard Lau) #27661
- [e72d4aa522] - errors: create internal connResetException (Rich Trott) #27953
- [be1166fd01] - esm: refactor createDynamicModule() (cjihrig) #27809
- [e66648e887] - (SEMVER-MINOR) esm: remove experimental status from JSON modules (Myles Borins) #27752
- [d948656635] - http: fix deferToConnect comments (Robert Nagy) #27876
- [24eaeed393] - http: fix socketOnWrap edge cases (Anatoli Papirovski) #27968
- [8b38dfbf39] - http: call write callback even if there is no message body (Luigi Pinca) #27777
- [588fd0c20d] - (SEMVER-MINOR) http, http2: flag for overriding server timeout (Ali Ijaz Sheikh) #27704
- [799aeca134] - http2: respect inspect() depth (cjihrig) #27983
- [83aaef87d0] - http2: fix tracking received data for maxSessionMemory (Anna Henningsen) #27914
- [8c35198499] - http2: support net.Server options (Luigi Pinca) #27782
- [23119cacf8] - inspector: supported NodeRuntime domain in worker (Aleksei Koziatinskii) #27706
- [89483be254] - inspector: more conservative minimum stack size (Ben Noordhuis) #27855
- [512ab1fddf] - inspector: removing checking of non existent field in lib/inspector.js (Keroosha) #27919
- [d99e70381e] - SEMVER-MINOR inspector: implement --heap-prof (Joyee Cheung) #27596
- [25eb05a97a] - lib: removed unnecessary fs.realpath options arg check + tests (Alex Pry) #27909
- [9b90385825] - Revert "lib: print to stdout/stderr directly instead of using console" (Richard Lau) #27823
- [18650579e8] - meta: correct personal info (Refael Ackermann (רפאל פלחי)) #27940
- [d982f0b7e2] - meta: create github support file (Gus Caplan) #27926
- [2b7ad122b2] - n-api: DRY napi_coerce_to_x() API methods (Ben Noordhuis) #27796
- [1da5acbf91] - os: assume UTF-8 for hostname (Anna Henningsen) #27849
- [d406785814] - src: unimplement deprecated v8-platform methods (Michaël Zasso) #27872
- [33236b7c54] - (SEMVER-MINOR) src: export number_of_native_contexts and number_of_detached_contexts (Yuriy Vasiyarov) #27933
- [1a179e1736] - src: use ArrayBufferViewContents more frequently (Anna Henningsen) #27920
- [b9cc4072e6] - src: make UNREACHABLE variadic (Refael Ackermann) #27877
- [44846aebd2] - src: move DiagnosticFilename inlines into a -inl.h (Sam Roberts) #27839
- [d774ea5cce] - src: remove env-inl.h from header files (Sam Roberts) #27755
- [02f794a53f] - src: remove memory_tracker-inl.h from header files (Sam Roberts) #27755
- [940577bd76] - src: move ThreadPoolWork inlines into a -inl.h (Sam Roberts) #27755
- [c0cf17388c] - src: ignore SIGXFSZ, don't terminate (ulimit -f) (Ben Noordhuis) #27798
- [a47ee80114] - (SEMVER-MINOR) stream: convert string to Buffer when calling unshift() (Marcos Casagrande) #27194
- [5eccd642ef] - stream: convert existing buffer when calling .setEncoding (Anna Henningsen) #27936
- [6a5ce36fb8] - test: handle unknown message type in worker threads (Rich Trott) #27995
- [182725651b] - test: add coverage for unserializable worker thread error (Rich Trott) #27995
- [887dd604f1] - test: simplify fs promises test (Daniel Nalborczyk) #27242
- [9229825496] - test: covering destroying when worker already disconnected (Keroosha) #27896
- [10bdd13972] - test: rename test-performance to test-perf-hooks (Ujjwal Sharma) #27969
- [6129376cd9] - test: add coverage for sparse array maxArrayLength (went.out) #27901
- [38e3827ca8] - test: add util inspect null getter test (Mikhail Kuklin) #27884
- [0e1ce2055e] - test: rsa-pss generateKeyPairSync invalid option hash (Evgenii Shchepotev) #27883
- [0d74198123] - test: cover import of a *.node file with a policy manifest (Evgenii Shchepotev) #27903
- [6f9aa3f722] - test: add test cases for paramEncoding 'explicit' (oksana) #27900
- [682319f449] - test: switch assertEqual arguments (Evgenii Shchepotev) #27910
- [b5b234deff] - test: add testcase for SourceTextModule custom inspect (Grigory Gorshkov) #27889
- [630cc3ac30] - test: cover util.inspect on boxed primitive with colors (Alexander Avakov) #27897
- [67b692bdb9] - test: add test case for checking typeof mgf1Hash (Levin Eugene) #27892
- [2a509d40f4] - test: switch assertEqual arguments (Evgenii Shchepotev) #27912
- [3ba354aaaa] - test: add test for util.inspect (Levin Eugene) #27906
- [313077ea62] - test: expect wpt/encoding/encodeInto.any.js to fail (Joyee Cheung) #27860
- [8fc6914d09] - test: update wpt/encoding to 7287608f90 (Joyee Cheung) #27860
- [0f86c2b185] - test: run WPT in subdirectories (Joyee Cheung) #27860
- [51ccdae445] - test: expect wpt/encoding/streams to fail (Joyee Cheung) #27860
- [652cadba1c] - test: fix arguments order of comparsion functions (martyns0n) #27907
- [b117f6d5d8] - test: switch assertEqual arguments (Evgenii Shchepotev) #27913
- [e7966bcb80] - test: unhardcode server port (MurkyMeow) #27908
- [b83571d236] - test: add a test case for the path.posix.resolve (Grigorii K. Shartsev) #27905
- [f5bb1b380f] - test: switch actual value argument and expected in deepStrictEqual call (Kopachyov Vitaliy) #27888
- [531669b917] - test: fix test-http2-multiheaders-raw (Grigorii K. Shartsev) #27885
- [724d9c89bc] - test: change expected and actual values in assert call (oksana) #27881
- [34ef9e4a2b] - test: detect missing postmortem metadata (cjihrig) #27828
- [bfcbab4c0c] - test: fix test-https-agent-additional-options (Rich Trott) #27830
- [a4c1fd5ffc] - test: refactor test-https-agent-additional-options (Rich Trott) #27830
- [17abc8c942] - test: favor arrow functions for anonymous callbacks (Rich Trott) #27830
- [155b947251] - test: replace flag with option (Rich Trott) #27830
- [144db48b6d] - test: update wpt/url to 418f7fabeb (Joyee Cheung) #27822
- [65d4f734e0] - test: use ShellTestEnvironment in WPT (Joyee Cheung) #27822
- [a9a400e604] - test: update wpt/resources to e1fddfbf80 (Joyee Cheung) #27822
- [8040d8b321] - test: increase debugging information on failure (Rich Trott) #27790
- [6548b91835] - tls: trace errors can show up as SSL errors (Sam Roberts) #27841
- [0fe16edfab] - tls: group chunks into TLS segments (Alba Mendez) #27861
- [e8fa0671a4] - tls: destroy trace BIO instead of leaking it (Sam Roberts) #27834
- [10e0d7f2ac] - tls: support the hints option (Luigi Pinca) #27816
- [4716caa12e] - tls: set tlsSocket.servername as early as possible (oyyd) #27759
- [2ce24a9452] - tools: fix js2c regression (Refael Ackermann) #27980
- [a75a59d3e3] - tools: update inspector_protocol to 0aafd2 (Michaël Zasso) #27770
- [728bc2f59a] - tools: update dependencies in tools/doc (Rich Trott) #27927
- [b54f3e0405] - tools: edit .eslintrc.js for minor maintainability improvements (Rich Trott) #27789
New in Node.js 12.1.0 (Apr 30, 2019)
- Notable changes:
- intl:
- Update ICU to 64.2. This adds support for Japanese Era (Reiwa) (Ujjwal Sharma) #27361.
- Fixes a bug in ICU that affected Node.js 12.0.0 in the case where new Date().toLocaleString() was called with a non-default locale (Steven R. Loomis) #27415.
- C++ API:
- Added an overload EmitAsyncDestroy that can be used during garbage collection (Anna Henningsen) #27255.
- Commits:
- [8ca110cc6f] - benchmark: fix http bench-parser.js (Rich Trott) #27359
- [2f9bafba08] - bootstrap: delay the instantiation of maps in per-context scripts (Joyee Cheung) #27371
- [e7026f1428] - build: allow icu download to use other hashes besides md5 (Steven R. Loomis) #27370
- [50234460f9] - build: disable custom v8 snapshot by default (Joyee Cheung) #27365
- [b21b28f653] - crypto: update root certificates (Sam Roberts) #27374
- [3282ccb845] - deps: backport ICU-20575 to fix err/crasher (Steven R. Loomis) #27435
- [e922a22725] - deps: backport ICU-20558 to fix Intl crasher (Steven R. Loomis) #27415
- [d852d9e904] - deps: update ICU to 64.2 (Ujjwal Sharma) #27361
- [ee80a210ff] - dgram: change 'this' to 'self' for 'isConnected' (MaleDong) #27338
- [8302148c83] - doc: add Node 12 to the first list of versions (Rivaldo Junior) #27414
- [f6ceefa4bd] - doc: update comment in bootstrap for primordials (Myles Borins) #27398
- [9c30806fb5] - doc: simplify GOVERNANCE.md text (Rich Trott) #27354
- [453510c7ef] - doc: fix pull request number (Ruben Bridgewater) #27336
- [36762883a0] - doc: clarify behaviour of writeFile(fd) (Sam Roberts) #27282
- [f70588fb67] - doc: fix v12.0.0 changelog id (Beth Griggs) #27368
- [a6d1fa5954] - doc: simplify Collaborator pre-nomination text (Rich Trott) #27348
- [dd709fc84a] - lib: throw a special error in internal/assert (Joyee Cheung) #26635
- [4dfe54a89a] - module: initialize module_wrap.callbackMap during pre-execution (Joyee Cheung) #27323
- [8b5d73867f] - (SEMVER-MINOR) n-api: do not require JS Context for napi_async_destroy() (Anna Henningsen) #27255
- [d00014e599] - process: reduce the number of internal frames in async stack trace (Joyee Cheung) #27392
- [dc510fb435] - report: print common items first for readability (gengjiawen) #27367
- [3614a00276] - src: refactor deprecated UVException in node_file.cc (gengjiawen) #27280
- [071300b39d] - src: move OnMessage to node_errors.cc (Joyee Cheung) #27304
- [81e7b49c8f] - src: use predefined AliasedBuffer types in the code base (Joyee Cheung) #27334
- [8089d29567] - src: apply clang-tidy modernize-deprecated-headers found by Jenkins CI (gengjiawen) #27279
- [619c5b6eb3] - (SEMVER-MINOR) src: do not require JS Context for ~AsyncResoure() (Anna Henningsen) #27255
- [809cf595eb] - (SEMVER-MINOR) src: add Environment overload of EmitAsyncDestroy (Anna Henningsen) #27255
- [7bc47cba2e] - src: apply clang-tidy rule modernize-use-equals-default (gengjiawen) #27264
- [ad42cd69cf] - src: use std::vector instead of IndexArray (Joyee Cheung) #27321
- [228127fc67] - src: enable context snapshot after running per-context scripts (Joyee Cheung) #27321
- [45d6106129] - src: enable snapshot with per-isolate data (Joyee Cheung) #27321
- [631bea8fd2] - src: implement IsolateData serialization and deserialization (Joyee Cheung) #27321
- [a636338945] - src: allow creating NodeMainInstance that does not own the isolate (Joyee Cheung) #27321
- [50732c1b3f] - test: refactor net-connect-handle-econnrefused (Luigi Pinca) #27014
- [e9021cc498] - test: move test-net-connect-handle-econnrefused (Luigi Pinca) #27014
- [ebbed6047d] - test: rework to remove flakiness, and be parallel (Sam Roberts) #27300
- [f0b2992f5c] - test: fix ineffective error tests (Masashi Hirano) #27333
- [d84a6d05a1] - test: make test-worker-esm-missing-main more robust (Rich Trott) #27340
- [8486917b9a] - test: increase coverage in lib/internal/dns/promises.js (Rich Trott) #27330
- [6ca0270320] - tls: include invalid method name in thrown error (Sam Roberts) #27390
- [dcbe5b9dff] - tools: update certdata.txt (Sam Roberts) #27374
- [53f0ef36c0] - tools: update LICENSE and tools/icu/current_ver.dep (Ujjwal Sharma) #27361
- [481789c235] - tools: fix use-after-free mkcodecache warning (Ben Noordhuis) #27332
- [d62a3243b1] - tools: update tools/license-builder.sh (Ujjwal Sharma) #27362
- [b44323f3de] - tools: implement node_mksnapshot (Joyee Cheung) #27321
- [ae2333db65] - util: add prototype support for boxed primitives (Ruben Bridgewater) #27351
- [8f3442809a] - util: rename setIteratorBraces to getIteratorBraces (Ruben Bridgewater) #27342
- [973d705aa9] - util: improve Symbol.toStringTag handling (Ruben Bridgewater) #27342
New in Node.js 12.0.0 (Apr 24, 2019)
- Notable Changes:
- bootstrap: make Buffer and process non-enumerable (Ruben Bridgewater) #24874
- console: don't use ANSI escape codes when TERM=dumb (Vladislav Kaminsky) #26261
- errors: update error name (Ruben Bridgewater) #26738
- readline: support TERM=dumb (Vladislav Kaminsky) #26261
- assert:
- validate required arguments (Ruben Bridgewater) #26641
- adjust loose assertions (Ruben Bridgewater) #25008
- async_hooks:
- remove deprecated emitBefore and emitAfter (Matteo Collina) #26530
- remove promise object from resource (Andreas Madsen) #23443
- buffer:
- use stricter range checks (Ruben Bridgewater) #27045
- harden SlowBuffer creation (ZYSzys) #26272
- harden validation of buffer allocation size (ZYSzys) #26162
- do proper error propagation in addon methods (Anna Henningsen) #23939
- child_process:
- remove options.customFds (cjihrig) #25279
- harden fork arguments validation (ZYSzys) #27039
- use non-infinite maxBuffer defaults (kohta ito) #23027
- crypto:
- remove legacy native handles (Tobias Nießen) #27011
- decode missing passphrase errors (Tobias Nießen) #25208
- remove Cipher.setAuthTag() and Decipher.getAuthTag() (Tobias Nießen) #26249
- remove deprecated crypto._toBuf() (Tobias Nießen) #25338
- set DEFAULT_ENCODING property to non-enumerable (Antoine du Hamel) #23222
- deps:
- update V8 to 7.4.288.13 (Michaël Zasso, cjihrig, Refael Ackermann, Anna Henningsen, Ujjwal Sharma) #26685
- bump minimum icu version to 63 (Ujjwal Sharma) #25852
- update OpenSSL to 1.1.1b (Sam Roberts, Shigeki Ohtsu) #26327
- fs:
- use proper .destroy() implementation for SyncWriteStream (Matteo Collina) #26690
- improve mode validation (Ruben Bridgewater) #26575
- harden validation of start option in createWriteStream() (ZYSzys) #25579
- make writeFile consistent with readFile wrt fd (Sakthipriyan Vairamani (thefourtheye)) #23709
- http:
- validate timeout in ClientRequest() (cjihrig) #26214
- return HTTP 431 on HPE_HEADER_OVERFLOW error (Albert Still) #25605
- switch default parser to llhttp (Anna Henningsen) #24870
- Runtime-deprecate outgoingMessage._headers and outgoingMessage._headerNames (Morgan Roderick) #24167
- lib:
- remove Atomics.wake() (Gus Caplan) #27033
- move DTRACE_* probes out of global scope (James M Snell) #26541
- deprecate _stream_wrap (Sam Roberts) #26245
- use ES6 class inheritance style (Ruben Bridgewater) #24755
- module:
- remove unintended access to deps/ (Anna Henningsen) #25138
- improve error message for MODULE_NOT_FOUND (Ali Ijaz Sheikh) #25690
- requireStack property for MODULE_NOT_FOUND (Ali Ijaz Sheikh) #25690
- remove dead code (Ruben Bridgewater) #26983
- make require('.') never resolve outside the current directory (Ruben Bridgewater) #26973
- throw an error for invalid package.json main entries (Ruben Bridgewater) #26823
- don't search in require.resolve.paths (cjihrig) #23683
- net:
- remove Server.listenFD() (cjihrig) #27127
- do not add .host and .port properties to DNS error (Ruben Bridgewater) #26751
- emit "write after end" errors in the next tick (Ouyang Yadong) #24457
- deprecate _setSimultaneousAccepts() undocumented function (James M Snell) #23760
- os:
- implement os.type() using uv_os_uname() (cjihrig) #25659
- remove os.getNetworkInterfaces() (cjihrig) #25280
- process:
- make global.process, global.Buffer getters (Guy Bedford) #26882
- move DEP0062 (node --debug) to end-of-life (Joyee Cheung) #25828
- exit on --debug and --debug-brk after option parsing (Joyee Cheung) #25828
- improve --redirect-warnings handling (Ruben Bridgewater) #24965
- repl:
- add welcome message (gengjiawen) #25947
- fix terminal default setting (Ruben Bridgewater) #26518
- check colors with .getColorDepth() (Vladislav Kaminsky) #26261
- deprecate REPLServer.rli (Ruben Bridgewater) #26260
- src:
- remove unused INT_MAX constant (Sam Roberts) #27078
- update NODE_MODULE_VERSION to 72 (Ujjwal Sharma) #26685
- remove AddPromiseHook() (Anna Henningsen) #26574
- clean up MultiIsolatePlatform interface (Anna Henningsen) #26384
- properly configure default heap limits (Ali Ijaz Sheikh) #25576
- remove icuDataDir from node config (GauthamBanasandra) #24780
- tls:
- support TLSv1.3 (Sam Roberts) #26209
- return correct version from getCipher() (Sam Roberts) #26625
- check arg types of renegotiate() (Sam Roberts) #25876
- add code for ERR_TLS_INVALID_PROTOCOL_METHOD (Sam Roberts) #24729
- emit a warning when servername is an IP address (Rodger Combs) #23329
- disable TLS v1.0 and v1.1 by default (Ben Noordhuis) #23814
- remove unused arg to createSecureContext() (Sam Roberts) #24241
- deprecate Server.prototype.setOptions() (cjihrig) #23820
- load NODE_EXTRA_CA_CERTS at startup (Ouyang Yadong) #23354
- util:
- remove util.print(), util.puts(), util.debug() and util.error() (cjihrig) #25377
- change inspect compact and breakLength default (Ruben Bridgewater) #27109
- improve inspect edge cases (Ruben Bridgewater) #27109
- only the first line of the error message (Simon Zünd) #26685
- don't set the prototype of callbackified functions (Ruben Bridgewater) #26893
- rename callbackified function (Ruben Bridgewater) #26893
- increase function length when using callbackify() (Ruben Bridgewater) #26893
- prevent tampering with internals in inspect() (Ruben Bridgewater) #26577
- prevent Proxy traps being triggered by .inspect() (Ruben Bridgewater) #26241
- prevent leaking internal properties (Ruben Bridgewater) #24971
- protect against monkeypatched Object prototype for inspect() (Rich Trott) #25953
- treat format arguments equally (Roman Reiss) #23162
- win, fs: detect if symlink target is a directory (Bartosz Sosnowski) #23724
- zlib:
- throw TypeError if callback is missing (Anna Henningsen) #24929
- make “bare” constants un-enumerable (Anna Henningsen) #24824
- Semver-Major Commits:
- [afce912193] - (SEMVER-MAJOR) assert: improve performance to instantiate errors (Ruben Bridgewater) #26738
- [5a3623af74] - (SEMVER-MAJOR) assert: validate required arguments (Ruben Bridgewater) #26641
- [7493db21b6] - (SEMVER-MAJOR) assert: adjust loose assertions (Ruben Bridgewater) #25008
- [9d064439e5] - (SEMVER-MAJOR) async_hooks: remove deprecated emitBefore and emitAfter (Matteo Collina) #26530
- [1a2cf6696f] - (SEMVER-MAJOR) async_hooks: remove promise object from resource (Andreas Madsen) #23443
- [c992639fbd] - (SEMVER-MAJOR) bootstrap: make Buffer and process non-enumerable (Ruben Bridgewater) #24874
- [693401d0dd] - (SEMVER-MAJOR) buffer: use stricter range checks (Ruben Bridgewater) #27045
- [6113ba96cb] - (SEMVER-MAJOR) buffer: harden SlowBuffer creation (ZYSzys) #26272
- [6fb7baf935] - (SEMVER-MAJOR) buffer: harden validation of buffer allocation size (ZYSzys) #26162
- [c6d29ccf5a] - (SEMVER-MAJOR) buffer: do proper error propagation in addon methods (Anna Henningsen) #23939
- [a7d7d4dfb7] - (SEMVER-MAJOR) build: increase MACOS_DEPLOYMENT_TARGET to 10.10 (Rod Vagg) #27275
- [561327702d] - (SEMVER-MAJOR) build: reset embedder string to "-node.0" (Ujjwal Sharma) #26685
- [dfcc918e65] - (SEMVER-MAJOR) build: reset embedder string to "-node.0" (Michaël Zasso) #25852
- [9334e45aa0] - (SEMVER-MAJOR) build: remove mips support (Ben Noordhuis) #26192
- [bb564a3688] - (SEMVER-MAJOR) build: update prerequisites on progress towards Python 3 (cclauss) #25766
- [3c332abe28] - (SEMVER-MAJOR) build: reset embedder string to "-node.0" (Michaël Zasso) #23423
- [765766be64] - (SEMVER-MAJOR) build: add common defines (Refael Ackermann) #23426
- [3b5773fee3] - (SEMVER-MAJOR) build,deps: move gypfiles out 2/2 - moving (Refael Ackermann) #26685
- [3531fe9320] - (SEMVER-MAJOR) build,deps: add NOMINMAX to V8 Windows builds (Refael Ackermann) #25852
- [ff5d632a83] - (SEMVER-MAJOR) build,deps: fix V8 snapshot gyp dependencies (Refael Ackermann) #25852
- [ecf98b0839] - (SEMVER-MAJOR) build,meta: quiet/pretty make output by default (Refael Ackermann) #26740
- [2f477bd34d] - (SEMVER-MAJOR) build,win: mark x86 image as not SAFESEH (Refael Ackermann) #25852
- [652877e3a9] - (SEMVER-MAJOR) child_process: change the defaults maxBuffer size (kohta ito) #27179
- [9ad5106934] - (SEMVER-MAJOR) child_process: harden fork arguments validation (ZYSzys) #27039
- [eb8a51a35c] - (SEMVER-MAJOR) child_process: use non-infinite maxBuffer defaults (kohta ito) #23027
- [99523758dc] - (SEMVER-MAJOR) console: don't use ANSI escape codes when TERM=dumb (Vladislav Kaminsky) #26261
- [2f1ed5c063] - (SEMVER-MAJOR) crypto: remove legacy native handles (Tobias Nießen) #27011
- [2e2c015422] - (SEMVER-MAJOR) crypto: decode missing passphrase errors (Tobias Nießen) #25208
- [b8018f407b] - (SEMVER-MAJOR) crypto: move DEP0113 to End-of-Life (Tobias Nießen) #26249
- [bf3cb3f9b1] - (SEMVER-MAJOR) crypto: remove deprecated crypto._toBuf (Tobias Nießen) #25338
- [0f63d84f80] - (SEMVER-MAJOR) crypto: set DEFAULT_ENCODING property to non-enumerable (Antoine du Hamel) #23222
- [95e779a6e9] - (SEMVER-MAJOR) deps: silence irrelevant V8 warning (Michaël Zasso) #26685
- [08efd3060d] - (SEMVER-MAJOR) deps: update postmortem metadata generation script (cjihrig) #26685
- [0da7e99f98] - (SEMVER-MAJOR) deps: V8: un-cherry-pick bd019bd (Refael Ackermann) #26685
- [b1015e0de8] - (SEMVER-MAJOR) deps: V8: cherry-pick 6 commits (Michaël Zasso) #26685
- [8181811d73] - (SEMVER-MAJOR) deps: V8: cherry-pick d82c9af (Anna Henningsen) #26685
- [1f03fb4d49] - (SEMVER-MAJOR) deps: V8: cherry-pick e5f01ba (Anna Henningsen) #26685
- [e6af2207a9] - (SEMVER-MAJOR) deps: V8: cherry-pick d5f08e4 (Anna Henningsen) #26685
- [963061bc02] - (SEMVER-MAJOR) deps: V8: cherry-pick 6b09d21 (Anna Henningsen) #26685
- [b7338b700f] - (SEMVER-MAJOR) deps: V8: cherry-pick f0bb5d2 (Anna Henningsen) #26685
- [02171949a0] - (SEMVER-MAJOR) deps: V8: cherry-pick 5b0510d (Anna Henningsen) #26685
- [bf572c7831] - (SEMVER-MAJOR) deps: V8: cherry-pick 91f0cd0 (Anna Henningsen) #26685
- [09f134fccf] - (SEMVER-MAJOR) deps: V8: cherry-pick 392316d (Anna Henningsen) #26685
- [53ea813d5c] - (SEMVER-MAJOR) deps: V8: cherry-pick 2f79d68 (Anna Henningsen) #26685
- [cc75ba3f14] - (SEMVER-MAJOR) deps: sync V8 gypfiles with 7.4 (Ujjwal Sharma) #26685
- [f579e11940] - (SEMVER-MAJOR) deps: update V8 to 7.4.288.13 (Ujjwal Sharma) #26685
- [e0b3de1e90] - (SEMVER-MAJOR) deps: bump minimum icu version to 63 (Ujjwal Sharma) #25852
- [1c494b0a95] - (SEMVER-MAJOR) deps: silence irrelevant V8 warnings (Michaël Zasso) #25852
- [cec35a5eb9] - (SEMVER-MAJOR) deps: V8: cherry-pick 7803fa6 (Jon Kunkee) #25852
- [0d4d6b39a7] - (SEMVER-MAJOR) deps: V8: cherry-pick 58cefed (Jon Kunkee) #25852
- [bea1a386a3] - (SEMVER-MAJOR) deps: V8: cherry-pick d3308d0 (Michaël Zasso) #25852
- [cf649c9b02] - (SEMVER-MAJOR) deps: V8: cherry-pick 74571c8 (Michaël Zasso) #25852
- [44d5401b8d] - (SEMVER-MAJOR) deps: cherry-pick fc0ddf5 from upstream V8 (Anna Henningsen) #25852
- [cefb8029cd] - (SEMVER-MAJOR) deps: sync V8 gypfiles with 7.3 (Ujjwal Sharma) #25852
- [d266e3e2cf] - (SEMVER-MAJOR) deps: sync V8 gypfiles with 7.2 (Michaël Zasso) #25852
- [7b48713334] - (SEMVER-MAJOR) deps: update V8 to 7.3.492.25 (Michaël Zasso) #25852
- [6df7bd6c3b] - (SEMVER-MAJOR) deps: add s390 asm rules for OpenSSL-1.1.1 (Shigeki Ohtsu) #19794
- [5620727f30] - (SEMVER-MAJOR) deps: sync V8 gypfiles with 7.1 (Refael Ackermann) #23423
- [9b4bf7de6c] - (SEMVER-MAJOR) deps: update V8 to 7.1.302.28 (Michaël Zasso) #23423
- [3d8b844112] - (SEMVER-MAJOR) deps,build: move gypfiles out 1/2 - required changes (Refael Ackermann) #26685
- [fff922afee] - (SEMVER-MAJOR) deps,build: compute torque_outputs in v8.gyp (Refael Ackermann) #26685
- [4507246adc] - (SEMVER-MAJOR) deps,build: refactor v8 gypfiles (Refael Ackermann) #26685
- [b581d59655] - (SEMVER-MAJOR) doc: update supported platforms for Node.js 12 (Rod Vagg) #26714
- [309e7723ea] - (SEMVER-MAJOR) doc: update behaviour of fs.writeFile (Sakthipriyan Vairamani (thefourtheye)) #25080
- [89740a4f0e] - (SEMVER-MAJOR) doc: add internal functionality details of util.inherits (Ruben Bridgewater) #24755
- [1ed3c54ecb] - (SEMVER-MAJOR) errors: update error name (Ruben Bridgewater) #26738
- [abafd38c8d] - (SEMVER-MAJOR) fs: use proper .destroy() implementation for SyncWriteStream (Matteo Collina) #26690
- [1cdeb9f956] - (SEMVER-MAJOR) fs: improve mode validation (Ruben Bridgewater) #26575
- [70f4f08a9f] - (SEMVER-MAJOR) fs: harden validation of start option in createWriteStream (ZYSzys) #25579
- [8f4b924f4a] - (SEMVER-MAJOR) fs: make writeFile consistent with readFile wrt fd (Sakthipriyan Vairamani (thefourtheye)) #23709
- [907941d48e] - (SEMVER-MAJOR) http: validate timeout in ClientRequest() (cjihrig) #26214
- [bcf2886a84] - (SEMVER-MAJOR) http: return HTTP 431 on HPE_HEADER_OVERFLOW error (Albert Still) #25605
- [2cb8f24751] - (SEMVER-MAJOR) http: switch default parser to llhttp (Anna Henningsen) #24870
- [91748dd89c] - (SEMVER-MAJOR) http: change DEP0066 to a runtime deprecation (Morgan Roderick) #24167
- [f3b49cfa7b] - (SEMVER-MAJOR) http: else case is not reachable (szabolcsit) #24176
- [bd9109c241] - (SEMVER-MAJOR) lib: move DEP0021 to end of life (cjihrig) #27127
- [15c0947fee] - (SEMVER-MAJOR) lib: remove Atomics.wake (Gus Caplan) #27033
- [3fe1e80896] - (SEMVER-MAJOR) lib: validate Error.captureStackTrace() calls (Ruben Bridgewater) #26738
- [bfbce289c3] - (SEMVER-MAJOR) lib: refactor Error.captureStackTrace() usage (Ruben Bridgewater) #26738
- [f9ddbb6b2f] - (SEMVER-MAJOR) lib: move DTRACE_* probes out of global scope (James M Snell) #26541
- [c7e628f8b3] - (SEMVER-MAJOR) lib: deprecate _stream_wrap (Sam Roberts) #26245
- [be78266fb3] - (SEMVER-MAJOR) lib: don't use util.inspect() internals (Ruben Bridgewater) #24971
- [a02e3e2d5f] - (SEMVER-MAJOR) lib: improve error message for MODULE_NOT_FOUND (Ali Ijaz Sheikh) #25690
- [05cd1a0929] - (SEMVER-MAJOR) lib: requireStack property for MODULE_NOT_FOUND (Ali Ijaz Sheikh) #25690
- [29d3d1ea13] - (SEMVER-MAJOR) lib: move DEP0029 to end of life (cjihrig) #25377
- [a665d13ad9] - (SEMVER-MAJOR) lib: move DEP0028 to end of life (cjihrig) #25377
- [10df21b071] - (SEMVER-MAJOR) lib: move DEP0027 to end of life (cjihrig) #25377
- [2d578ad996] - (SEMVER-MAJOR) lib: move DEP0026 to end of life (cjihrig) #25377
- [853bee0acf] - (SEMVER-MAJOR) lib: move DEP0023 to end of life (cjihrig) #25280
- [d4934ae6f2] - (SEMVER-MAJOR) lib: move DEP0006 to end of life (cjihrig) #25279
- [4100001624] - (SEMVER-MAJOR) lib: remove unintended access to deps/ (Anna Henningsen) #25138
- [b416dafb87] - (SEMVER-MAJOR) lib: move DEP0120 to end of life (cjihrig) #24862
- [59257543c3] - (SEMVER-MAJOR) lib: use ES6 class inheritance style (Ruben Bridgewater) #24755
- [dcc82b37b6] - (SEMVER-MAJOR) lib: remove inherits() usage (Ruben Bridgewater) #24755
- [d11c4beb4b] - (SEMVER-MAJOR) module: remove dead code (Ruben Bridgewater) #26983
- [75007d64c0] - (SEMVER-MAJOR) module: mark DEP0019 as End-of-Life (Ruben Bridgewater) #26973
- [115f0f5a57] - (SEMVER-MAJOR) module: throw an error for invalid package.json main entries (Ruben Bridgewater) #26823
- [60ce2fd827] - (SEMVER-MAJOR) module: don't search in require.resolve.paths (cjihrig) #23683
- [f0f26cedcc] - (SEMVER-MAJOR) n-api: remove code from error name (Ruben Bridgewater) #26738
- [96204c3c71] - (SEMVER-MAJOR) net: do not manipulate potential user code (Ruben Bridgewater) #26751
- [9389b464ea] - (SEMVER-MAJOR) net: emit "write after end" errors in the next tick (Ouyang Yadong) #24457
- [1523111250] - (SEMVER-MAJOR) net: deprecate _setSimultaneousAccepts() undocumented function (James M Snell) #23760
- [802ea05a37] - (SEMVER-MAJOR) net,http2: merge setTimeout code (ZYSzys) #25084
- [16e4cd19f2] - (SEMVER-MAJOR) os: implement os.type() using uv_os_uname() (cjihrig) #25659
- [53ebd3311d] - (SEMVER-MAJOR) process: global.process, global.Buffer getters (Guy Bedford) #26882
- [fa5e097530] - (SEMVER-MAJOR) process: move DEP0062 (node --debug) to end-of-life (Joyee Cheung) #25828
- [154efc9bde] - (SEMVER-MAJOR) process: exit on --debug and --debug-brk after option parsing (Joyee Cheung) #25828
- [3439c955ab] - (SEMVER-MAJOR) process: improve --redirect-warnings handling (Ruben Bridgewater) #24965
- [d3a62fe7fc] - (SEMVER-MAJOR) readline: support TERM=dumb (Vladislav Kaminsky) #26261
- [fe963149f6] - (SEMVER-MAJOR) repl: add welcome message (gengjiawen) #25947
- [97737fd5fb] - (SEMVER-MAJOR) repl: fix terminal default setting (Ruben Bridgewater) #26518
- [82b3ee776b] - (SEMVER-MAJOR) repl: check colors with .getColorDepth() (Vladislav Kaminsky) #26261
- [584305841d] - (SEMVER-MAJOR) repl: deprecate REPLServer.rli (Ruben Bridgewater) #26260
- [bf766c1b44] - (SEMVER-MAJOR) src: remove unused INT_MAX constant (Sam Roberts) #27078
- [7df9e77236] - (SEMVER-MAJOR) src: update NODE_MODULE_VERSION to 72 (Ujjwal Sharma) #26685
- [96c3224de0] - (SEMVER-MAJOR) src: remove AddPromiseHook() (Anna Henningsen) #26574
- [9577f7724d] - (SEMVER-MAJOR) src: update NODE_MODULE_VERSION to 71 (Michaël Zasso) #25852
- [6d9aa73b1f] - (SEMVER-MAJOR) src: clean up MultiIsolatePlatform interface (Anna Henningsen) #26384
- [1d996f58af] - (SEMVER-MAJOR) src: properly configure default heap limits (Ali Ijaz Sheikh) #25576
- [9021b0d3fc] - (SEMVER-MAJOR) src: remove icuDataDir from node config (GauthamBanasandra) #24780
- [a6f69ebc05] - (SEMVER-MAJOR) src: explicitly allow JS in ReadHostObject (Yang Guo) #23423
- [3d25544148] - (SEMVER-MAJOR) src: update postmortem constant (cjihrig) #23423
- [23603447ad] - (SEMVER-MAJOR) src: update NODE_MODULE_VERSION to 68 (Michaël Zasso) #23423
- [afad3b443e] - (SEMVER-MAJOR) test: update postmortem metadata test for V8 7.4 (cjihrig) #26685
- [e96e3f9eb0] - (SEMVER-MAJOR) test: remove redundant common.mustCall (Ruben Bridgewater) #26738
- [01b112a031] - (SEMVER-MAJOR) test: update postmortem metadata test for V8 7.3 (cjihrig) #25852
- [38ad285a2e] - (SEMVER-MAJOR) test: fix tests after V8 update (Michaël Zasso) #25852
- [260d5f8c3b] - (SEMVER-MAJOR) test: update test-v8-stats (Michaël Zasso) #25852
- [78c8491a7e] - (SEMVER-MAJOR) test: remove apply calls over 65534 arg limit (Peter Marshall) #25852
- [22a9fe3552] - (SEMVER-MAJOR) test: add test for net-socket-setTimeout callback (ZYSzys) #25084
- [379bf1aa8e] - (SEMVER-MAJOR) test: update postmortem metadata test for V8 7.1 (cjihrig) #23423
- [624a242b05] - (SEMVER-MAJOR) test: simplify regression test for SEGV (Sam Roberts) #24241
- [42dbaed460] - (SEMVER-MAJOR) tls: support TLSv1.3 (Sam Roberts) #26209
- [0f745bf9bd] - (SEMVER-MAJOR) tls: return correct version from getCipher() (Sam Roberts) #26625
- [6b7c402518] - (SEMVER-MAJOR) tls: check arg types of renegotiate() (Sam Roberts) #25876
- [b05b330025] - (SEMVER-MAJOR) tls: add code for ERR_TLS_INVALID_PROTOCOL_METHOD (Sam Roberts) #24729
- [9b2ffff62c] - (SEMVER-MAJOR) tls: emit a warning when servername is an IP address (Rodger Combs) #23329
- [60eca6a5d4] - (SEMVER-MAJOR) tls: disable TLS v1.0 and v1.1 by default (Ben Noordhuis) #23814
- [3b4159c8ed] - (SEMVER-MAJOR) tls: remove unused arg to createSecureContext() (Sam Roberts) #24241
- [246a6fc107] - (SEMVER-MAJOR) tls: deprecate Server.prototype.setOptions() (cjihrig) #23820
- [87719d792b] - (SEMVER-MAJOR) tls: load NODE_EXTRA_CA_CERTS at startup (Ouyang Yadong) #23354
- [c9fece38c8] - (SEMVER-MAJOR) util: change inspect compact and breakLength default (Ruben Bridgewater) #27109
- [892c51f330] - (SEMVER-MAJOR) util: improve inspect edge cases (Ruben Bridgewater) #27109
- [63e13fd220] - (SEMVER-MAJOR) util: only the first line of the error message (Simon Zünd) #26685
- [b5ea925c8e] - (SEMVER-MAJOR) util: don't set the prototype of callbackified functions (Ruben Bridgewater) #26893
- [46bf0d0f4f] - (SEMVER-MAJOR) util: rename callbackified function (Ruben Bridgewater) #26893
- [61d1334e5b] - (SEMVER-MAJOR) util: increase function length when using callbackify() (Ruben Bridgewater) #26893
- [5672ab7668] - (SEMVER-MAJOR) util: prevent tampering with internals in inspect() (Ruben Bridgewater) #26577
- [a32cbe1597] - (SEMVER-MAJOR) util: fix proxy inspection (Ruben Bridgewater) #26241
- [7b674697d8] - (SEMVER-MAJOR) util: prevent leaking internal properties (Ruben Bridgewater) #24971
- [1847696f4b] - (SEMVER-MAJOR) util: protect against monkeypatched Object prototype for inspect() (Rich Trott) #25953
- [c1b9be53c8] - (SEMVER-MAJOR) util: treat format arguments equally (Roman Reiss) #23162
- [cda6b20816] - (SEMVER-MAJOR) win, fs: detect if symlink target is a directory (Bartosz Sosnowski) #23724
- [9a2654601e] - (SEMVER-MAJOR) zlib: throw TypeError if callback is missing (Anna Henningsen) #24929
- [4eee55d354] - (SEMVER-MAJOR) zlib: make “bare” constants un-enumerable (Anna Henningsen) #24824
- Semver-Minor Commits:
- [3d8532f851] - (SEMVER-MINOR) buffer: add {read|write}Big[U]Int64{BE|LE} methods (Nikolai Vavilov) #19691
- [969bd1eb7b] - (SEMVER-MINOR) crypto: add support for RSA-PSS keys (Tobias Nießen) #26960
- [7d0e50dcfe] - (SEMVER-MINOR) crypto: add crypto.sign() and crypto.verify() (Brian White) #26611
- [bcbd35a48d] - (SEMVER-MINOR) crypto: add openssl specific error properties (Sam Roberts) #26868
- [85fda7e848] - (SEMVER-MINOR) crypto: add support for x25119 and x448 KeyObjects (Filip Skokan) #26774
- [3a9592496c] - (SEMVER-MINOR) crypto: add support for EdDSA key pair generation (Tobias Nießen) #26554
- [4895927a0a] - (SEMVER-MINOR) crypto: add KeyObject.asymmetricKeySize (Patrick Gansterer) #26387
- [2161690024] - (SEMVER-MINOR) deps: update nghttp2 to 1.38.0 (gengjiawen) #27295
- [ffd2df063c] - (SEMVER-MINOR) doc: update util colors (Ruben Bridgewater) #27052
- [b1094dbe19] - (SEMVER-MINOR) esm: phase two of new esm implementation (guybedford) #26745
- [e0e3084482] - (SEMVER-MINOR) inspector: implement --cpu-prof[-path] (Joyee Cheung) #27147
- [9f1282d536] - (SEMVER-MINOR) lib: move queueMicrotask to stable (Gus Caplan) #25594
- [9b6b567bc4] - (SEMVER-MINOR) lib,src,doc: add --heapsnapshot-signal CLI flag (cjihrig) #27133
- [9dcc9b6a6b] - (SEMVER-MINOR) process: add --unhandled-rejections flag (Ruben Bridgewater) #26599
- [ece507394a] - (SEMVER-MINOR) src: do not reuse async resource in http parsers (Daniel Beckert) #25094
- [2755471bf3] - (SEMVER-MINOR) src: print error before aborting (Ruben Bridgewater) #26599
- [ca9c0c90c2] - (SEMVER-MINOR) src: add .code and SSL specific error properties (Sam Roberts) #25093
- [8c69e06972] - (SEMVER-MINOR) tls: return an OpenSSL error from renegotiate (Sam Roberts) #26868
- [90e958aa4d] - (SEMVER-MINOR) util: only sort weak entries once (Ruben Bridgewater) #27052
- [1940114ac3] - (SEMVER-MINOR) util: highlight stack frames (Ruben Bridgewater) #27052
- Semver-Patch Commits:
- [75463a9004] - assert: fix rejects stack trace and operator (Ruben Bridgewater) #27047
- [d3d4e10107] - async_hooks: improve AsyncResource performance (Anatoli Papirovski) #27032
- [3973354951] - benchmark: fix buffer-base64-decode.js (Rich Trott) #27260
- [f98679f3b2] - benchmark: add benchmark for dns.promises.lookup() (Rich Trott) #27249
- [29d0b43426] - benchmark: fix http headers benchmark (Anatoli Papirovski) #27021
- [77dee25efd] - benchmark: remove deprecated argument (Rich Trott) #27091
- [b08a867d60] - benchmark,doc,lib: capitalize more comments (Ruben Bridgewater) #26849
- [d834275a48] - buffer: fix custom inspection with extra properties (Ruben Bridgewater) #27074
- [75eaf25e78] - buffer: use stricter from() input validation (Ruben Bridgewater) #26825
- [5aaf666b3b] - build: improve embedded code-cache detection (Refael Ackermann) #27311
- [d17dfc7bb1] - build: remove redundant pyenv call in Travis build (Richard Lau) #27247
- [14df42fd00] - build: run mkcodecache as an action (Refael Ackermann) #27161
- [b468a1dfc3] - build: pin Python version in Travis (Richard Lau) #27166
- [7b0d867389] - build: fix test failures not failing Travis builds (Richard Lau) #27176
- [56354d480d] - build: run flaky tests in Travis (Anna Henningsen) #27158
- [72f4a830d7] - build: tidy up additional libraries on Windows (Richard Lau) #27138
- [af03de48d8] - build: don't use lint-ci on Travis (Richard Lau) #27062
- [41ba699973] - build: update configure for Node.js 12 (Richard Lau) #26719
- [20a917c571] - build: move optimizing link directives to node.exe target (Refael Ackermann) #25931
- [4698757610] - build,deps: remove cygwin configuration which is not supported (Refael Ackermann) #25931
- [cd5c7bf240] - build,deps: use PCH also for v8_initializers (Refael Ackermann) #25931
- [6608cf286d] - build,deps,v8: tie up loose ends (Refael Ackermann) #26666
- [6ac80f0e2b] - build,src: add PCH to node.gypi (Refael Ackermann) #25931
- [f216d5bbb1] - build,test: fail coverage target if tests fail (Refael Ackermann) #25432
- [82b798907d] - build,tools: add more headers to V8 PCH file (Refael Ackermann) #25931
- [d66c7e3470] - build,win: deprecate vcbuild test-ci (Refael Ackermann) #27231
- [0fc27f6bc0] - build,win: bail vcbuild if mklink fails (Refael Ackermann) #27216
- [88beaf01f1] - build,win: rename node.lib to libnode.lib (Refael Ackermann) #27150
- [25df3c10f4] - build,win: put all compilation artifacts into out (Refael Ackermann) #27149
- [06c10cdc4c] - build,win: teach GYP MSVS generator about MARMASM (Jon Kunkee) #26020
- [2ffd20bb91] - build,win: emit MSBuild summary (Refael Ackermann) #25931
- [ff4adab78c] - build,win: always build with PCH (Refael Ackermann) #25931
- [28e2c3771d] - child_process: rename _validateStdtio to getValidStdio (Ruben Bridgewater) #26809
- [091902ae00] - console: remove trace frame (Ruben Bridgewater) #27159
- [a8eac78f8d] - Revert "console: use consolePropAttributes for k-bind properties in constructor" (Daniel Bevenius) #26943
- [ed5e69d7e6] - console: use consolePropAttributes for k-bind properties in constructor (Beni von Cheni) #26850
- [69140bc7f8] - crypto: do not abort when setting throws (Sam Roberts) #27157
- [0911e88056] - crypto: fix rsa key gen with non-default exponent (Sam Roberts) #27092
- [fadcb2d850] - crypto: simplify missing passphrase detection (Tobias Nießen) #27089
- [73bca57988] - crypto: fail early if passphrase is too long (Tobias Nießen) #27010
- [05bd6071a6] - crypto: use EVP_PKEY_X448 in GetEphemeralKeyInfo (cjihrig) #26988
- [6ac692a3db] - crypto: use EVP_PKEY_X25519 in GetEphemeralKeyInfo (cjihrig) #26988
- [7c1fc93e30] - crypto: don't crash on unknown asymmetricKeyType (Filip Skokan) #26786
- [df1c9eb975] - crypto: rename generateKeyPairEdDSA (Tobias Nießen) #26900
- [751c92d972] - crypto: remove obsolete encoding check (Ruben Bridgewater) #26809
- [6f77af541e] - Revert "crypto: add KeyObject.asymmetricKeySize" (Tobias Nießen) #26636
- [247c14c040] - crypto: fix EdDSA support for KeyObject (Brian White) #26319
- [90cf2d5f00] - deps: use nghttp2's config.h on all platforms (Sam Roberts) #27283
- [aec2ce4ee1] - deps: upgrade to libuv 1.28.0 (cjihrig) #27241
- [7f29117de3] - deps: patch V8 to 7.4.288.21 (Matheus Marchini) #27265
- [033f6b566e] - deps: upgrade npm to 6.9.0 (Kat Marchán) #26244
- [135b79a31d] - deps: patch V8 to 7.4.288.18 (Michaël Zasso) #27066
- [c1d61f2b4b] - deps: patch V8 to 7.4.288.17 (Michaël Zasso) #27066
- [5b8434eebc] - deps: V8: cherry-pick 0188634 (Michaël Zasso) #27013
- [8cc181c8ee] - deps: V8: cherry-pick c8785d1 (Michaël Zasso) #27013
- [2ea9de2e85] - deps: V8: cherry-pick f4b860d (Michaël Zasso) #27013
- [ddbb7d7777] - deps: cherry-pick 56f6a76 from upstream V8 (Ruben Bridgewater) #25269
- [59fa7f1257] - deps: cherry-pick 26b145a from upstream V8 (Sam Roberts) #25148
- [a9812142ca] - deps: patch V8 to 7.1.302.33 (Ruben Bridgewater) #25101
- [f0e460968e] - deps: remove test-related GYP files (Michaël Zasso) #25097
- [323a365766] - deps: float 26d7fce1 from openssl (Rod Vagg) #24353
- [d8fb81fab3] - deps: float 99540ec from openssl (CVE-2018-0735) (Rod Vagg) #23950
- [213c7d2d64] - deps: float a9cfb8c2 from openssl (CVE-2018-0734) (Rod Vagg) #23965
- [e2260e901d] - deps: float 415c3356 from openssl (DSA vulnerability) (Rod Vagg) #23965
- [e356807a79] - deps,test: bump googletest to 39f72ea6f5 (Refael Ackermann) #27231
- [8e308e8b28] - deps,v8: cherry-pick 385aa80 (Refael Ackermann) #26702
- [d1b7193428] - deps,v8: silence V8 self-deprecation warnings (Refael Ackermann) #25394
- [9e960175d1] - dgram: add support for UDP connected sockets (Santiago Gimeno) #26871
- [09cdc37824] - dns: do not indicate invalid IPs are IPv6 (Rich Trott) #27081
- [bc2d258a3e] - dns: refactor internal/dns/promises.js (Rich Trott) #27081
- [72308a5deb] - doc: simplify nomination process text (Rich Trott) #27317
- [290faec0e7] - doc: fix extname with the correct description (himself65) #27303
- [d4dae5e1ca] - doc: simplify bullet points in GOVERNANCE.md (Rich Trott) #27284
- [ba74e42000] - doc: revise Collaborator Nominations introduction (Rich Trott) #27237
- [c61c722c8c] - doc: add ABI version registry (Rod Vagg) #24114
- [7938238b31] - doc: add internal documentation (Aymen Naghmouchi) #26665
- [82e6c3378f] - doc: revise TSC Meetings material in GOVERNANCE.md (Rich Trott) #27204
- [d5f9cf81e3] - doc: fix some links (Vse Mozhet Byt) #27141
- [7b854959e7] - doc: revise TSC text in GOVERNANCE.md (Rich Trott) #27169
- [9b859f50d5] - doc: add missing n-api version indicator (Michael Dawson) #27155
- [41d5666aaa] - doc: consolidate Collaborator status in GOVERNANCE (Rich Trott) #27128
- [1656cd2edb] - doc: remove outdated link (cjihrig) #27126
- [643a2fa447] - doc: specify return type for tty.isatty() (Mykola Bilochub) #27154
- [557bd861aa] - doc: revise Collaborator material in GOVERNANCE.md (Rich Trott) #27103
- [1afec97130] - doc: link bigint type to MDN instead of proposal (Vse Mozhet Byt) #27101
- [21b739fb69] - doc: add missing step to npm release process (Myles Borins) #27105
- [181052d7c2] - doc: revise Collaborator description in GOVERNANCE.md (Rich Trott) #27071
- [10eaf6a09f] - doc: fix section sorting, add link reference (Vse Mozhet Byt) #27075
- [d989e20717] - doc: describe tls.DEFAULT_MIN_VERSION/_MAX_VERSION (Sam Roberts) #26821
- [0622ce6e7f] - doc: fix changelog date typo (Jesse McCarthy) #26831
- [cd9898a52a] - doc: add missing pr-url (cjihrig) #26753
- [06879aafee] - doc: fix year in changelog (Colin Prince) #26584
- [7e0ddf66b9] - doc: fix deprecation "End-of-Life" capitalization (Tobias Nießen) #26251
- [3d4db3a7bf] - doc: fix metadata of DEP0114 (Tobias Nießen) #26250
- [ccf37b3a84] - doc: fix deprecations metadata (Richard Lau) #25434
- [3614157b78] - doc: fix lint in CHANGELOG_V6 (Myles Borins) #25233
- [928f776385] - doc: add missing pr-url (cjihrig) #25091
- [43273262e5] - doc: describe secureProtocol and CLI interaction (Sam Roberts) #24386
- [34eccb2a1b] - doc: fix missing PR id of 23329 (Ouyang Yadong) #24458
- [db2ac1dbd9] - doc: fix headings for CHANGELOG_v10.md (Myles Borins) #23973
- [c99026bdd7] - doc: update missing deprecation (cjihrig) #23883
- [4afd503465] - doc,test,repl: fix deprecation code (cjihrig) #26368
- [3b044962c4] - errors: add more information in case of invalid callbacks (Ruben Bridgewater) #27048
- [96e46d37c4] - esm: replace --entry-type with --input-type (Geoffrey Booth) #27184
- [5e98f875b9] - esm: fix typos (Geoffrey Booth) #27067
- [7a547098d5] - esm: use primordials (Myles Borins) #26954
- [2400cbcf7c] - fs: fix infinite loop with async recursive mkdir on Windows (Richard Lau) #27207
- [b925379f50] - fs: warn on non-portable mkdtemp() templates (cjihrig) #26980
- [eb2d4161f5] - fs: improve readFile performance (Ruben Bridgewater) #27063
- [92db780d9e] - http2: rename function for clarity (Ruben Bridgewater) #26809
- [ce265908eb] - http2: remove side effects from validateSettings (Ruben Bridgewater) #26809
- [cd3a9eebca] - https: remove usage of public require('util') (dnlup) #26772
- [49d3d11ba7] - inspector: split --cpu-prof-path to --cpu-prof-dir and --cpu-prof-name (Joyee Cheung) #27306
- [94adfe9831] - lib: replace --diagnostic-report-* with --report-* (Joyee Cheung) #27312
- [49ee010005] - lib: use getOptionValue instead of process underscore aliases (Joyee Cheung) #27278
- [a38e9c438a] - lib: require globals instead of using the global proxy (Joyee Cheung) #27112
- [914d6c9ab8] - lib: use primordials in domexception.js (Joyee Cheung) #27171
- [3da36d0e94] - lib: create primordials in every context (Joyee Cheung) #27171
- [908292cf1f] - lib: enforce the use of Object from primordials (Michaël Zasso) #27146
- [47f5cc1ad1] - lib: faster FreeList (Anatoli Papirovski) #27021
- [5b9e57012a] - lib: add signal name validator (cjihrig) #27137
- [112cc7c275] - lib: use safe methods from primordials (Michaël Zasso) #27096
- [5a8c55f078] - lib: fix outdated comment (Vse Mozhet Byt) #27122
- [de23055536] - lib: remove env: node in eslint config for lib files (Joyee Cheung) #27082
- [2c49e8b537] - lib: make queueMicrotask faster (Anatoli Papirovski) #27032
- [0817840f77] - lib: force using primordials for JSON, Math and Reflect (Michaël Zasso) #27027
- [7bddfcc61a] - lib: consolidate arrayBufferView validation (Ruben Bridgewater) #26809
- [6c913fb028] - lib: remove return values from validation functions (Ruben Bridgewater) #26809
- [50a3fe20ea] - lib: rename validateMode to parseMode (Ruben Bridgewater) #26809
- [76e67e9884] - lib: assign missed deprecation code (Anna Henningsen) #26492
- [f3b5cc0807] - meta: travis: run compilation jobs first (Refael Ackermann) #27205
- [7c816b7588] - module: explicitly initialize CJS loader (Joyee Cheung) #27313
- [d6317d0a45] - module: remove usage of require('util') (dnlup) #26803
- [ff89670902] - n-api: reduce gc finalization stress (Michael Dawson) #27085
- [655c90b287] - net: inline maybeDestroy() (Luigi Pinca) #27136
- [f0b3855a90] - net: remove usage of require('util') (dnlup) #26920
- [9946c59707] - path: simplify normalizeString (Ruben Bridgewater) #27240
- [9dba96dc1a] - process: patch more process properties during pre-execution (Joyee Cheung) #26945
- [d4eda4d876] - process: remove protection for SyncWriteStream destroy in stdio (Matteo Collina) #26902
- [2701f5538f] - readline: remove usage of require('util') (dnlup) #26818
- [415a825dc0] - repl: remove usage of require('util') in repl.js (dnlup) #26820
- [af35d4044f] - report: use uv_gettimeofday for dumpEventTimeStamp (cjihrig) #27029
- [44a3acb627] - report: improve signal name validation (cjihrig) #27137
- [e3032708e0] - report: add support for UDP connected sockets (Richard Lau) #27072
- [8e1e9946a9] - src: use uv_gettimeofday() to get microseconds (cjihrig) #27029
- [8eaf31181a] - src: apply modernize-use-nullptr in node_win32_etw_provider.cc (gengjiawen) #27263
- [19e3e02a2d] - src: move SIGINT watchdog utils to the contextify binding (Joyee Cheung) #27290
- [5356b4a675] - src: split per-process initialization and teardown routines (Joyee Cheung) #27276
- [8d901bb44e] - src: move guessHandleType in the util binding (Joyee Cheung) #27289
- [758191033f] - src: fix performance-faster-string-find in node_report.cc (gengjiawen) #27262
- [dc8b57fdc1] - src: use ArrayBufferAllocator::Create in node_worker.cc (Anna Henningsen) #27251
- [f9da3f0cce] - src: enable non-nestable V8 platform tasks (Anna Henningsen) #27252
- [3ef1512f9e] - src: allows escaping NODE_OPTIONS with backslashes (Maël Nison) #24065
- [cdba9f23ec] - src: handle fatal error when Environment is not assigned to context (Joyee Cheung) #27236
- [83d1ca7de9] - src: disallow calling env-dependent methods during bootstrap (Joyee Cheung) #27234
- [cab1dc5bb3] - src: use RAII to manage the main isolate data (Joyee Cheung) #27220
- [1e7823dd4e] - src: remove redundant call in node_options-inl.h (gengjiawen) #26959
- [73471236d8] - src: remove unimplemented method in TracingAgent (gengjiawen) #26959
- [427fce711f] - src: fix check for accepting Buffers into Node’s allocator (Anna Henningsen) #27174
- [dfd7e99425] - src: make a Environment-independent proxy class for NativeModuleLoader (Joyee Cheung) #27160
- [060d901f87] - src: replace FromJust() with Check() when possible (Sam Roberts) #27162
- [ee7daf76c0] - src: remove redundant string initialization (gengjiawen) #27152
- [845a6214f8] - src: use macro instead of magic number for fd (gengjiawen) #27152
- [547576f530] - src: always use diagnostic file sequence number (cjihrig) #27142
- [c1e03eda07] - src: use SealHandleScope for inspector tasks (Anna Henningsen) #27116
- [a3f30a48c2] - src: unify crypto constant setup (Sam Roberts) #27077
- [97c0a34935] - src: don't point to out of scope variable (cjihrig) #27070
- [864860e9f3] - src: port coverage serialization to C++ (Joyee Cheung) #26874
- [d0e2650d03] - src: add NOLINT to js_native_.* (gengjiawen) #26884
- [eb2dccb17a] - src: move AsyncResource impl out of public header (Ben Noordhuis) #26348
- [e1d55a0cbc] - src: port bootstrap/cache.js to C++ (Joyee Cheung) #27046
- [f59ec2abee] - src: implement MemoryRetainer in Environment (Joyee Cheung) #27018
- [1087805eeb] - src: check return value, silence coverity warning (Ben Noordhuis) #26997
- [bb98f27181] - src: check uv_fs_close() return value (cjihrig) #26967
- [8bc7d2a5be] - src: fix data type when using uv_get_total_memory() (gengjiawen) #26886
- [c0f031c5bd] - src: remove unused variable (cjihrig) #26879
- [1935625df4] - src: disallow constructor behaviour for native methods (Anna Henningsen) #26700
- [f091d4e840] - src: apply clang-tidy rule modernize-use-emplace (gengjiawen) #26564
- [f47adfbda5] - src: fix DTrace GC callbacks DCHECKs and add cleanup (Joyee Cheung) #26742
- [0752a18b88] - src: fix warning in node_messaging (ZYSzys) #26682
- [b200a46bef] - src: remove process.binding('config').debugOptions (Joyee Cheung) #25999
- [c2d374fccc] - src: remove unused method in env.h (gengjiawen) #25934
- [55569759b3] - src: pass along errors from PromiseWrap instantiation (Anna Henningsen) #25734
- [24e6b709ea] - src: use isolate version of BooleanValue() (cjihrig) #24883
- [b0089a580f] - src: make model counter in GetCPUInfo() unsigned (Anna Henningsen) #23880
- [53e0f632db] - stream: inline onwriteStateUpdate() (Luigi Pinca) #27203
- [1a67c9948c] - stream: remove dead code (Marcos Casagrande) #27125
- [a3d1922958] - test: unskip copyfile permission test (cjihrig) #27241
- [b368571fba] - test: move known issue test to parallel (cjihrig) #27241
- [528d100394] - test: mark some known flakes (Refael Ackermann) #27225
- [e37eee2b1e] - test: remove flaky designation for test-cli-node-options (Rich Trott) #27305
- [7167eb2f12] - test: increase coverage for dns.promises.lookup() (Rich Trott) #27299
- [b66f01d903] - test: skip test-cpu-prof in debug builds with code cache (Joyee Cheung) #27308
- [57ab3b56fc] - test: allow leaked global check to be skipped (cjihrig) #27239
- [02885dad5a] - test: add ability to skip common flag checks (Anna Henningsen) #27254
- [ed893111b9] - test: do not strip left whitespace in pseudo-tty tests (Ruben Bridgewater) #27244
- [8712edf53a] - test: fix postmortem metadata test (Matheus Marchini) #27265
- [d5bb500d0f] - test: fix test-benchmark-buffer (Rich Trott) #27260
- [4f8b497991] - test: try to stabalize test-child-process-fork-exec-path.js (Refael Ackermann) #27277
- [c6c37e9e85] - test: use assert.rejects() and assert.throws() (Richard Lau) #27207
- [f85ef977e6] - test: log errors in test-fs-readfile-tostring-fail (Richard Lau) #27058
- [de463f1490] - test: ec2 generateKeyPairSync invalid parameter encoding (Ruwan Geeganage) #27212
- [2fed83dee8] - test: test privateEncrypt/publicDecrypt + padding (Ben Noordhuis) #27188
- [f6bd3b27ee] - test: fix test-dns-idna2008.js (Rich Trott) #27208
- [8cf3af1486] - test: optimize total Travis run time (Refael Ackermann) #27182
- [abe4183d41] - test: mark some known flakes (Refael Ackermann) #27193
- [06c803d9b9] - test: pass null params to napi_create_function() (Octavian Soldea) #26998
- [2a51ae424a] - test: cover thenables when we check for promises (szabolcsit) #24219
- [3a6eba3de6] - test: use assert.rejects (Ruben Bridgewater) #27123
- [3d6533ea02] - test: simplify vm-module-errors test (Ruben Bridgewater) #27123
- [d1413305e0] - test: print child stderr in test-http-chunk-problem (Anna Henningsen) #27117
- [f96a6608eb] - test: fix test-worker-memory.js for large cpu #s (Michael Dawson) #27090
- [93df085386] - test: fix this scope bug in test-stream2-writable.js (gengjiawen) #27111
- [58aaf58406] - test: fix test-repl-require-after-write (Michaël Zasso) #27088
- [baa54a5ae7] - test: cover napi_get/set/has_named_property() (Gabriel Schulhof) #26947
- [c86883cfac] - test: fix test-benchmark-module (Rich Trott) #27094
- [f13733d12d] - test: test vm.runInNewContext() filename option (Ben Noordhuis) #27056
- [666c67e078] - test: simplify date inspection tests (Ruben Bridgewater) #26922
- [1375af204a] - test: revert fail coverage target if tests fail" (Michael Dawson) #25543
- [3235d318dc] - test: add test for _setSimultaneousAccepts() (Andrey Melikhov) #24180
- [9e8c9be3ff] - timers: rename validateTimerDuration to getTimerDuration (Ruben Bridgewater) #26809
- [a1d05e49fe] - timers: support name in validateTimerDuration() (cjihrig) #26215
- [2d5387e143] - tls: add debugging to native TLS code (Anna Henningsen) #26843
- [f87b3a72cd] - tls: add CHECK for impossible condition (Anna Henningsen) #26843
- [a1330af6a3] - tls: remove usage of public require('util') (dnlup) #26747
- [00d49ad673] - tls: null not valid as a renegotiate callback (Sam Roberts) #25929
- [54b4beb506] - tls: support TLS_client_method, TLS_server_method (Sam Roberts) #24386
- [5ac0308af9] - tools: refactor mkcodecache (Refael Ackermann) #27161
- [4fd7193579] - tools: implement mkcodecache as an executable (Joyee Cheung) #27161
- [d4e743169e] - tools: update js-yaml to 3.13.1 for lint-md.js (Rich Trott) #27195
- [1fc4255221] - tools: python: ignore instead of select flake8 rules (Refael Ackermann) #25614
- [a16a0fe962] - tools: python: activate more flake8 rules (Refael Ackermann) #25614
- [0befda6970] - tools: python: update flake8 rules (Refael Ackermann) #25614
- [0a25ace9c3] - tools: move cpplint configuration to .cpplint (Refael Ackermann) #27098
- [cd2987f83f] - tools: refloat 4 Node.js patches to cpplint.py (Refael Ackermann) #27098
- [1302e0174a] - tools: bump cpplint.py to 1.4.4 (Refael Ackermann) #27098
- [dd89a1182f] - tools: print a better message for unexpected use of globals (Michaël Zasso) #27083
- [39141426d4] - tools: update capitalize-comments eslint rule (Ruben Bridgewater) #26849
- [964174e339] - tools,doc: fix 404 broken links in docs (Gerson Niño) #27168
- [bbfa93af3d] - url: refactor validateHostname (Ruben Bridgewater) #26809
- [2e4ceb5747] - util: access process states lazily in debuglog (Joyee Cheung) #27281
- [2948e96afd] - util: fix wrong usage of Error.prepareStackTrace (Simon Zünd) #27250
- [a9bf6652b5] - util: use minimal object inspection with %s specifier (Ruben Bridgewater) #26927
- [f7c96856f9] - util: improve error property inspection (Ruben Bridgewater) #26984
- [14b2db0145] - util: improve inspect() compact number mode (Ruben Bridgewater) #26984
- [0f58ae392b] - util: format() now formats bigint and booleans (Ruben Bridgewater) #25046
- [9752fce34d] - util: improve format performance (Ruben Bridgewater) #24981
- [e9fb92dc42] - vm: remove require('util') from lib/vm/source_text_module.js (freestraws) #27285
- [002dacb7f7] - worker: handle exception when creating execArgv errors (Anna Henningsen) #27245
- [d070f5d965] - worker: improve coverage (Ruben Bridgewater) #27230
- [5450e48f69] - worker: simplify filename checks (Ruben Bridgewater) #27233
New in Node.js 11.11.0 (Mar 10, 2019)
- Notable Changes:
- n-api:
- Implement date object (Jarrod Connolly) #25917
- util:
- Add compact depth mode for util.inspect() (Ruben Bridgewater) #26269
- worker:
- Improve integration with native addons (Anna Henningsen) #26175
- MessagePort.prototype.onmessage takes arguments closer to the Web specification now (Anna Henningsen) #26082
- Commits:
- [d66cb4a116] - benchmark,doc,lib,test: capitalize comments (Ruben Bridgewater) #26223
- [f4955fde60] - benchmark,test: refactoring (Refael Ackermann) #26119
- [5e4aa28e1c] - buffer: avoid materializing ArrayBuffer for creation (Anna Henningsen) #26301
- [05e6ec0143] - build: make 'floating patch' message informational (Ben Noordhuis) #26349
- [e2baa6836b] - build: remove v8_typed_array_max_size_in_heap option (Anna Henningsen) #26301
- [fa8110a60e] - build: silence cpp lint by default (Ruben Bridgewater) #26252
- [dbbcedae6d] - build: tidy up comments in create_expfile.sh (Richard Lau) #26220
- [f408d78914] - build: fixed clang's warning when building openssl (Thang Tran) #25954
- [a3f7471d35] - build,test: guard eslint with crypto check (Daniel Bevenius) #26182
- [a70bafb3cc] - console: prevent constructing console methods (Thomas) #26096
- [1333dccede] - crypto: fix unencrypted DER PKCS8 parsing (Tobias Nießen) #26236
- [70e463c294] - crypto: fix error condition in Verify::VerifyFinal (Tobias Nießen) #26238
- [108c698f44] - crypto: make ConvertKey clear openssl error stack (Ben Noordhuis) #26153
- [c8d30a7313] - deps: update acorn to 6.1.0 (gengjiawen) #26102
- [7f08e0238a] - deps: V8: cherry-pick d3308d0 (Anna Henningsen) #26207
- [206e4b043b] - deps: V8: backport 74571c8 (Ruben Bridgewater) #25941
- [f0a81664c7] - deps: backport ICU fix for ARM64 Windows (Jon Kunkee) #26090
- [ea26ac0f2b] - dns: refactor QueryWrap lifetime management (Anna Henningsen) #26253
- [846cba056e] - doc: edit deprecation identifier info in Collaborator Guide (Rich Trott) #26372
- [3f4b27d681] - doc: maxReservedRemoteStreams value constraints (Sebastiaan Deckers) #26309
- [bc5771ec91] - doc: correct typos in various docs (Beni von Cheni) #26312
- [3560c3abeb] - doc: sort http.request() options alphabetically (Luigi Pinca) #26152
- [86982558ad] - doc: add documentation for the defaultPort option (Luigi Pinca) #26152
- [7bf6309f0b] - doc: napi_get_value_bigint_words argument order (Michael Wei) #26300
- [40a5a93b41] - doc: add example for setting Vary: Accept-Encoding header in zlib.md (Mukul Khanna) #26308
- [85840681a4] - doc: revise deprecation semverness info in Collaborator Guide (Rich Trott) #26232
- [ff57a1c321] - doc: clarify http.ClientRequest path description (Minwoo Jung) #26259
- [5e44768e9f] - doc: revise deprecation level explanations in Collaborator Guide (Rich Trott) #26197
- [823f0ce952] - doc: revise Style Guide (Rich Trott) #26176
- [8fac54a22f] - doc: fix code lang in repl.md (gengjiawen) #26075
- [e5dae20ed6] - doc: remove deprecation definition in Collaborator Guide (Rich Trott) #26157
- [e108c32865] - doc: eliminate use of "note that" from child_process.md (Rich Trott) #26141
- [e506f6a2d6] - doc: remove unnecessary italics from child_process.md (Rich Trott) #26141
- [b48a04bc32] - doc: remove unnecessary bold text from child_process.md (Rich Trott) #26141
- [789b818ad1] - doc: remove unnecessary bold italics from child_process.md (Rich Trott) #26141
- [4d1c87ed6b] - doc: remove all-caps shouting from child_process.md (Rich Trott) #26141
- [c810ced543] - doc: wrap child_process.md at 80 characters (Rich Trott) #26141
- [a18b847d18] - doc: improve worker_threads documentation (Anna Henningsen) #26110
- [a9c44372e1] - doc: consolidate N-API material in Collaborator Guide (Rich Trott) #26094
- [82bc68b08e] - doc: fix notable changes in v11 changelog (Michaël Zasso)
- [3971510b66] - doc: fix changelog entry (Colin Ihrig) #26114
- [2ff1644b34] - doc: fix notable changes list format for 11.9.0 & 11.10.0 (Kai) #26129
- [8814d03d4d] - doc,lib,test: rename node-report to report (cjihrig) #26371
- [0034820f67] - errors: add ERR_INSPECTOR_COMMAND error (cjihrig) #26255
- [030b744941] - esm: process proxy Symbol.toString fix (Guy Bedford) #25963
- [14cf22f860] - fs, src, lib: fix blksize & blocks on Windows (Richard Lau) #26056
- [2595fbc8b1] - http2: improve compatibility with http/1 (Sagi Tsofan) #23908
- [8a551b9d3b] - http2: shrink memory to match read data (Anna Henningsen) #26201
- [3bc012373a] - inspector: print all listening addresses (Ben Noordhuis) #26008
- [b0c310dcf0] - inspector: return Error objects on error (cjihrig) #26255
- [be671c3bf5] - inspector: forward errors from InspectorConsoleCall (Anna Henningsen) #26113
- [0c4353a444] - inspector: make sure timer handles are cleaned up (Anna Henningsen) #26088
- [bf61050e91] - lib: converted element to lowercase in tty.js (Abhishek Agarwal) #26121
- [733beb70ae] - lib: convert legacy process.binding to internalBinding (ZYSzys) #26095
- [b25694d7ad] - meta: update note about building on smartOS 16 (Refael Ackermann) #25684
- [6d014a6c3d] - meta: remove the useless GitHub Account (MaleDong) #26146
- [143b844db2] - meta: moving jasnell temporarily to TSC emeritus (jasnell) #26106
- [d94f4c23fe] - module: fix stat cache (Ruben Bridgewater) #26266
- [2a66cd34fa] - module: simpler shebang function (Ruben Bridgewater) #26266
- [54896a6961] - module: revert module._compile to original state if module is patched (Ujjwal Sharma) #21573
- [b338edbb0a] - module: use compileFunction over Module.wrap (Ujjwal Sharma) #21573
- [e72cb94df6] - (SEMVER-MINOR) n-api: implement date object (Jarrod Connolly) #25917
- [2335bcd6e6] - n-api: turn NAPI_CALL_INTO_MODULE into a function (Anna Henningsen) #26128
- [1ce5e63987] - n-api: do not call into JS when that is not allowed (Anna Henningsen) #26127
- [5b8ac58ed8] - path: refactor code for clarity (Ruben Bridgewater) #25278
- [348f1fbcb3] - path: refactor for less indentation (Ruben Bridgewater) #25278
- [e00c8cd54a] - path: simplify code and remove obsolete checks (Ruben Bridgewater) #25278
- [55d6b4961a] - path: refactor logic for to reduce code branches (Ruben Bridgewater) #25278
- [6c7cd9ee5a] - path: minor refactoring (Ruben Bridgewater) #25278
- [cccc44b854] - path: refactor more path code for simplicity (Ruben Bridgewater) #25278
- [6c44e68f63] - path: more small refactorings (Ruben Bridgewater) #25278
- [b0cde2c4cf] - path: minor refactoring (Ruben Bridgewater) #25278
- [d91520724c] - process: use common operations to define browser globals (Joyee Cheung) #26230
- [b1e739d881] - process: move initialization of node-report into pre_execution.js (Joyee Cheung) #26227
- [57179a0aab] - process: setup signal handler in prepareMainThreadExecution (Joyee Cheung) #26227
- [966546ceaa] - process: simplify the setup of async hooks trace events (Joyee Cheung) #26062
- [cd10e25bd6] - process: move test-process-uptime to parallel (Joyee Cheung) #26206
- [fde40116c4] - process: fix calculation in process.uptime() (Joyee Cheung) #26206
- [230e98b54a] - process: start coverage collection before bootstrap (Joyee Cheung) #26006
- [b5fe27ccc9] - process: delay setup of global exception handlers (Joyee Cheung) #26061
- [0d660d9646] - readline: improve Unicode handling (Avi ד) #25723
- [4c254d6294] - repl: use object writer for thrown errors (Anna Henningsen) #26361
- [2a74a1ed60] - repl: hide editor mode if not used in a terminal (Ruben Bridgewater) #26240
- [2fa8170e51] - repl: add new line on ctrl+d (Ruben Bridgewater) #26240
- [f636f15315] - repl: add more information (Ruben Bridgewater) #26240
- [2908e6313b] - report: rename location to trigger (cjihrig) #26386
- [0579f4283f] - report: use triggerReport() to handle signals (cjihrig) #26386
- [b2c77ec081] - report: use triggerReport() to handle exceptions (cjihrig) #26386
- [b62e2289d9] - report: add fallback for uv_getnameinfo() failures (Richard Lau) #26140
- [2fe9886f6f] - report: fix build warning in node_report.cc (Richard Lau) #26265
- [ba5f31ac45] - report: use ru_stime for system CPU calculation (cjihrig) #26286
- [d2d94537b2] - report: simplify heap space iteration (cjihrig) #26285
- [6d2a14d385] - report: refactor argument validation (cjihrig) #26276
- [8e2cc5e440] - report: refactor triggerReport() (cjihrig) #26268
- [8a40468635] - report: remove verbose setting (cjihrig) #26195
- [0e89d7add6] - report: simplify OnFatalError() handling (cjihrig) #26191
- [633c1eac29] - report: simplify TriggerNodeReport() (cjihrig) #26174
- [fc9ba36fb2] - src: fix typo in callback.cc (gengjiawen) #26337
- [63942de82c] - src: extra-semi warning in node_platform.h (Jeremy Apthorp) #26330
- [cb62c24e1b] - src: reduce to simple const char* in OptionsParser (ZYSzys) #26297
- [3093617c0e] - src: remove unused variable (cjihrig) #26386
- [b216f44513] - src: remove unnecessary function declaration (cjihrig) #26386
- [cb2cbf2eca] - src: remove already elevated Isolate namespce (Juan José Arboleda) #26294
- [2438a4350d] - src: remove unused macro in env.cc (gengjiawen) #26273
- [4df82f0f1b] - src: remove unused macro in node_http2.h (gengjiawen) #26204
- [af2a6935ab] - src: remove redundant cast in PipeWrap::Fchmod (gengjiawen) #26242
- [06d592c551] - src: simplify native immediate by using v8::Global (Anna Henningsen) #26254
- [9b4eec0aad] - src: allow not materializing ArrayBuffers from C++ (Anna Henningsen) #26301
- [30f0a3b4bd] - src: remove dead inspector code (Anna Henningsen) #26295
- [c37b6796df] - src: remove unused Converter object (Anna Henningsen) #26243
- [6f9ab5e15b] - src: remove redundant cast in method AfterStringPath (gengjiawen) #26218
- [33d6a3fcb7] - src: clean up StreamPipe in destructor (Anna Henningsen) #26256
- [75ae77d99f] - src: do not access Environment-owned handles after cleanup (Anna Henningsen) #26256
- [d6759db15b] - src: remove cast for unsupported openssl (Sam Roberts) #26305
- [1abe1d1c06] - src: track memory retainer fields (Gireesh Punathil) #26161
- [3e0978d7a3] - src: clean unused macro in inspector_socket.cc (gengjiawen) #26158
- [4001b24f79] - src: remove unimplemented method in class SSLWrap (gengjiawen) #26203
- [8b515b24af] - src: apply clang-tidy rule modernize-deprecated-headers (gengjiawen) #26159
- [3c11b4eec2] - src: allocate Buffer memory using ArrayBuffer allocator (Anna Henningsen) #26207
- [282607644b] - src: add allocation utils to env (Anna Henningsen) #26207
- [238fa5704b] - src: add debugging array allocator (Anna Henningsen) #26207
- [437bb25d92] - src: make IsolateData store ArrayBufferAllocator (Anna Henningsen) #26207
- [68accb5b04] - src: use smart pointer in UDPWrap::OnSend (Daniel Bevenius) #26233
- [3abdcfc813] - src: remove unimplemented method in class StreamPipe (gengjiawen) #26202
- [7e26ca6750] - src: simplify AliasedBuffer lifetime management (Anna Henningsen) #26196
- [831aa9acb6] - src: make node::SignalWrap::OnSignal into lambda (Gireesh Punathil) #26184
- [619b5e7c2e] - src: simplify loop arithmetic in GetCPUInfo (Gireesh Punathil) #26183
- [ddd71f4a92] - src: move function from header to source file (Ben Noordhuis) #26173
- [5cc2574fac] - src: move async hooks trace events setup to pre_execution.js (Joyee Cheung) #26062
- [8881c0baaa] - src: simplify InspectorConsoleCall (Anna Henningsen) #26168
- [c6d5af53be] - src: move req_wrap_queue to base class of ReqWrap (Anna Henningsen) #26148
- [a39cd45ce8] - src: remove process.binding('config').fipsForced (Joyee Cheung) #26178
- [bd40a127f9] - src: only call .ReThrow() if not terminating (Anna Henningsen) #26130
- [6b7d8369e3] - src: add missing includes for vtune build (Uttam Pawar) #26136
- [25ddbc9a36] - src: apply clang-tidy rule performance-unnecessary-value-param (gengjiawen) #26042
- [82df851bb5] - src: unify uptime base used across the code base (Joyee Cheung) #26016
- [778db675c1] - src: remove invalid casts in options parser (Anna Henningsen) #26139
- [4ca07898d7] - src: use PauseOnNextJavascriptStatement to implement --inspect-brk-node (Joyee Cheung) #26034
- [e6949b4241] - src: apply clang-tidy rule modernize-use-override (gengjiawen) #26103
- [d550de4fe1] - src: remove inspector main_thread_request_ field (Anna Henningsen) #26137
- [ee71952a25] - src: check HasCaught() in JSStream calls (Anna Henningsen) #26124
- [f44f33569d] - src: extract common sockaddr creation code (Daniel Bevenius) #26070
- [cbd3cf083a] - src: add debug CHECKs against empty handles (Anna Henningsen) #26125
- [0408966a9d] - src: remove unused macro in node_file.cc (gengjiawen) #26073
- [497d9d8ab2] - src: use same parameter name in node_report.cc (gengjiawen) #26046
- [e314681420] - src: use more stable cast where possible (Gireesh Punathil) #26052
- [7612574e42] - stream: make _read() be called indefinitely if the user wants so (Matteo Collina) #26135
- [50e42c9d64] - test: improve test coverage in perf_hooks (Juan José Arboleda) #26290
- [a41138b0cf] - test: remove duplicated buffer negative allocation test (ZYSzys) #26160
- [93d7fa3df3] - test: only inspect on failure (Ruben Bridgewater) #26360
- [91b61452c3] - test: always activate colors if necessary (Ruben Bridgewater) #26264
- [11bd5e07cb] - test: rename node-report suite to report (cjihrig) #26371
- [7ccffcbcb6] - test: improve validation of report output (cjihrig) #26289
- [4561cf351f] - test: verify heap buffer allocations occur (Anna Henningsen) #26301
- [0c8e9ee62e] - test: fix for activities in tick objects prune function (Alexander Sattelmaier) #26163
- [69154e405c] - test: refactor tick objects prune function (Alexander Sattelmaier) #26163
- [d8f5f55b78] - test: eliminate port collision (Gireesh Punathil) #26298
- [88256d7ba2] - test: simplify node-report/test-exception.js (cjihrig) #26277
- [e8995d1b80] - test: increase getReport() coverage (cjihrig) #26276
- [33fe892ec6] - test: increase triggerReport() coverage (cjihrig) #26268
- [a382b52fd8] - test: consolidate triggerReport() tests (cjihrig) #26268
- [6f9a764b52] - test: remove node-report/test-api.js (cjihrig) #26219
- [bc114152d0] - test: simplify test-api-nohooks.js (cjihrig) #26217
- [ca18525896] - test: improve performance of test-crypto-timing-safe-equal-benchmarks (Rich Trott) #26237
- [28758b8d69] - test: add test for dynamically enabling node.async_hooks tracing (Joyee Cheung) #26062
- [dcbd907142] - test: add test for node.async_hooks tracing in workers (Joyee Cheung) #26062
- [007b2fa198] - test: increase run time in test-worker-prof (Anna Henningsen) #26172
- [a1fcde035e] - test: simplify test-api-getreport.js (cjihrig) #26169
- [818b280a39] - test: remove unnecessary default tmpdir value in test (Rich Trott) #26177
- [59ca9e9ccf] - test: consolidate assertions in ipv6only test (Rich Trott) #26149
- [38a87d5521] - test: increase coverage of node_report_module.cc (Richard Lau) #26116
- [76c2f4f46b] - test: simplify test-worker-syntax-error (Rich Trott) #26144
- [441b5453a0] - test: fix flaky test-worker-ref-onexit (Anna Henningsen) #26170
- [d3525d7505] - test: add --test-root option to test.py (Yang Guo) #26093
- [a920721175] - test: silence compiler warning in openssl-binding (Daniel Bevenius) #26067
- [2d0242a69b] - test: increase coverage for assertion_error.js (Rich Trott) #26065
- [dd60cd60b3] - test: add arg to narrow http benchmark test (Refael Ackermann) #26101
- [fbf6dd558a] - test,inspector: add heap allocation tracker test (Anna Henningsen) #26089
- [db94ab778f] - test,worker: posting undefined/null message to message port (legendecas) #26123
- [d1e3724b5d] - test,worker: add more tests for worker.ref()/.unref() (Anna Henningsen) #26083
- [96a5765491] - tools: update extend to 3.0.2 (Rich Trott) #26392
- [6e9a7e1048] - tools: remove unneeded .gitignore entries (Rich Trott) #26370
- [123fad6e1c] - tools: update babel-eslint to 10.0.1 (Rich Trott) #26347
- [347dd99251] - tools: update eslint-plugin-markdown to 1.0.0 (Rich Trott) #26345
- [adcbcf5bd6] - tools: use latest rather than next for markdown linting plugin (Rich Trott) #26345
- [0080350f1a] - tools: update markdown linter (Rich Trott) #26281
- [dff0149d57] - tools: update ESLint to 5.14.1 (cjihrig) #26190
- [28d607444d] - tools: update ESLint to 5.14.0 (cjihrig) #26142
- [1766b8c341] - trace_events: fix trace events JS API writing (Kelvin Jin) #24945
- [34c685b406] - tracing: use ‘real’ atomics (Anna Henningsen) #26156
- [b6355ef602] - tty: improve color detection (Ruben Bridgewater) #26264
- [001785520a] - url: handle quasi-WHATWG URLs in urlToOptions() (cjihrig) #26226
- [6828fbb2ef] - (SEMVER-MINOR) util: group array elements together (Ruben Bridgewater) #26269
- [4500ed85e9] - (SEMVER-MINOR) util: add compact depth mode (Ruben Bridgewater) #26269
- [34905fc2b9] - util: mark iterator entries as such (Ruben Bridgewater) #26222
- [4bf58ac13d] - util: update set iterator entries inspection (Ruben Bridgewater) #25941
- [7d66d47dba] - vm: do not overwrite error when creating context (Anna Henningsen) #26112
- [8cf4170c94] - worker: provide process.execArgv (Anna Henningsen) #26267
- [6fdc502a32] - worker: make MessagePort uv_async_t inline field (Anna Henningsen) #26271
- [51f01aa25b] - worker: remove MessagePort::AddToIncomingQueue (Anna Henningsen) #26271
- [74d11e7d0e] - worker: refactor thread life cycle management (Gireesh Punathil) #26099
- [20dc172011] - worker: copy transferList ArrayBuffers on unknown allocator (Anna Henningsen) #26207
- [7e7023373a] - worker: serialize errors if stack getter throws (Rich Trott) #26145
- [a9a2c5869c] - (SEMVER-MINOR) worker: improve integration with native addons (Anna Henningsen) #26175
- [dab3d71243] - worker: ignore --abort-on-uncaught-exception for terminate() (Anna Henningsen) #26111
- [dab64bb0e8] - worker: spin uv_run twice before closing loop (Anna Henningsen) #26138
- [24debc9d5c] - worker: do not add removed methods to MessagePort (Anna Henningsen) #26109
- [8045e40917] - worker: remove duplicate call (Gireesh Punathil) #26104
- [69298713af] - worker: switch to internal assert module (Rich Trott) #26091
- [77a944cdee] - worker: use fake MessageEvent for port.onmessage (Anna Henningsen) #26082
- [851a691678] - zlib: report premature ends earlier (Anna Henningsen) #26363
New in Node.js 10.9.0 (Sep 1, 2018)
- http: http.get() and http.request() (and https variants) can now accept three arguments to allow for a URL and an options object (Sam Ruby) #21616
- buffer:
- Fix out-of-bounds (OOB) write in Buffer.write() for UCS-2 encoding (CVE-2018-12115)
- Fix unintentional exposure of uninitialized memory in Buffer.alloc() (CVE-2018-7166)
- deps:
- Upgrade to OpenSSL 1.1.0i, fixing:
- Client DoS due to large DH parameter (CVE-2018-0732)
- ECDSA key extraction via local side-channel (CVE not assigned)
- Upgrade V8 from 6.7 to 6.8 (Michaël Zasso) #21079: Memory reduction and performance improvements.
New in Node.js 9.0.0 (Nov 2, 2017)
- Async hooks:
- Older experimental APIs have been removed. [d731369b1d] #14414
- Errors:
- Improvements have been made to buffer module error messages. [9e0f771224] #14975
- The assignment of static error codes to Node.js error continues.
- Child Processes:
- Errors are emitted on process nextTick. [f2b01cba7b] #4670
- Domains:
- The long-deprecated .dispose() method has been removed [602fd36d95] #15412
- fs:
- The fs.ReadStream and fs.WriteStream classes now use destroy(). [e5c290bed9] #15407
- fs module callbacks are now invoked with an undefined context. [2249234fee] #14645
- HTTP/1:
- A 400 Bad Request response will now be sent when parsing fails. [f2f391e575] #15324
- Socket timeout will be set when the socket connects. [10be20a0e8] #8895
- A bug causing the request 'error' event to fire twice was fixed. [620ba41694] #14659
- HTTP clients may now use generic Duplex streams in addition to net.Socket. [3e25e4d00f] #16267
- Intl:
- The deprecated Intl.v8BreakIterator has been removed. [668ad44922] #15238
- OS:
- The os.EOL property is now read-only [f6caeb9526] #14622
- Timers:
- setTimeout() will emit a warning if the timeout is larger than the maximum 32-bit unsigned integer. [ce3586da31] #15627
New in Node.js 8.4.0 (Sep 8, 2017)
- NOTABLE CHANGES:
- build:
- Codesigning is fixed on macOS (Evan Lucas) #14179
- deps:
- Snapshots are turned back on!!! (Yang Guo) #14385
- path:
- win32 volume-relative paths are working again! (Timothy Gu) #14440
- tools:
- v6.x can now build with ICU 59 (Steven R. Loomis) #12078
- COMMITS:
- [95be08e3d2] - benchmark: fix typo in inspect-proxy (Vse Mozhet Byt) #14237
- [dbb65203f1] - buffer: remove a wrongly added attribute specifier (Jiajie Hu) #14466
- [977fdce406] - build: codesign tarball binary on macOS (Evan Lucas) #14179
- [a04d4ea8d7] - build: clean up config_fips.gypi (Daniel Bevenius) #13837
- [c7025de6e2] - build: support dtrace on ARM (Bradley T. Hughes) #12193
- [efc0f64c17] - build: reduce one level of spawning in node_gyp (Refael Ackermann) #12653
- [1a7e872302] - build,tools: do not force codesign prefix (Evan Lucas) #14179
- [325813ea97] - build,win: fix python detection script (Jason Ginchereau) #14546
- [c2090a0634] - build,windows: restore DISTTYPEDIR (Refael Ackermann) #13969
- [2a1a93dcbf] - build,windows: implement PEP514 python detection (Refael Ackermann) #13900
- [2bc7c3a8dd] - child_process: fix handleless NODE_HANDLE handling (Santiago Gimeno) #13235
- [5900ebe9e4] - crypto: remove root_cert_store from node_crypto.h (Daniel Bevenius) #13194
- [987332abdf] - deps: cherry-pick 18ea996 from c-ares upstream (Anna Henningsen) #13883
- [7fed989deb] - deps: cherry-pick f5fad6d from upstream v8 (daniel.bevenius) #12826
- [67ce52c740] - deps: backport rehash strings after deserialization (Yang Guo) #14385
- [6518932466] - dns: fix resolve failed starts without network (XadillaX) #13076
- [438a6427e5] - doc: add gabrielschulhof to collaborators (Gabriel Schulhof) #14692
- [c013c545a4] - doc: update experimental status to reflect use (James M Snell) #12723
- [ad2431ce28] - doc: describe labelling process for backports (Anna Henningsen) #12431
- [013155d0b4] - doc: add XadillaX to collaborators (XadillaX) #14388
- [226ef71a1b] - doc: replace dead link in v8 module (Devin Boyer) #14372
- [8b69504e17] - doc: move LTS README link to increase prominence (Gibson Fahnestock) #14259
- [b0286acd52] - doc: update umask for clarity (James Sumners) #14170
- [49d3dee0c2] - doc: correct stream Duplex allowHalfOpen doc (Rich Trott) #14127
- [9599faae18] - doc: note 'resize' event conditions on Windows (Dean Coakley) #13576
- [8dbf827de3] - doc: fix mistake in http.md (Moogen Tian) #14126
- [a3cd733dea] - doc: fix indentation issues in sample code (Rich Trott) #13950
- [3b3d47c483] - doc: add CTC members to Collaborators list (Rich Trott) #13284
- [f1d91ce3d2] - doc: fix example in child_process.md (Ruslan Iusupov) #13716
- [db4fabae27] - doc: note that fs.futimes only works on AIX >7.1 (Gibson Fahnestock) #13659
- [7648cca3de] - doc: add @nodejs/documentation to CC table (Vse Mozhet Byt) #13952
- [b03430b4ec] - doc: add gireeshpunathil to collaborators (Gireesh Punathil) #13967
- [c34a7472d2] - doc: fix mistake in path.relative (Tobias Nießen) #13912
- [7142c92dd6] - doc: fixed formatting issue in cli docs (Chris Young) #13808
- [87906d25d4] - doc: add missing zlib link to stream API docs (Rob Wu) #13838
- [5ba65f2870] - doc: add entry for subprocess.killed property (Rich Trott) #14578
- [73c720dd9e] - doc: change child to subprocess (Rich Trott) #14578
- [7f6f1c2ddc] - doc, util, console: clarify ambiguous docs (Natanael Log) #14027
- [d6ab8e2f43] - doc,stream: _transform happens one at a time (Matteo Collina) #14321
- [c307f03b2b] - doc,test: fs - reserved characters under win32 (XadillaX) #13875
- [1d5ba9c8e9] - docs: add note about fs.rmdir() (Oleksandr Kushchak) #14323
- [f8b60e40a4] - gyp: implement LD/LDXX for ninja and FIPS (Sam Roberts)
- [963ea0e99b] - lib: update indentation of ternaries (Rich Trott) #14247
- [0cacd6c89e] - lib: normalize indentation in parentheses (Rich Trott) #14125
- [4dabeeecdd] - lib: remove excess indentation (Rich Trott) #14090
- [f20ed49b5e] - lib: use consistent indentation for ternaries (Rich Trott) #14078
- [81edf592ae] - lib: fix typos (Ruben Bridgewater) #14044
- [39f62403c7] - linkedlist: correct grammar in comments (alexbostock) #14546
- [e82a9144ed] - path: remove unnecessary string copies (Tobias Nießen) #14438
- [eefd32264e] - path: fix win32 volume-relative paths (Timothy Gu) #14440
- [fe6735cc19] - src: use existing strings over creating new ones (Anna Henningsen) #14587
- [4d3b76d2be] - src: remove GTEST_DONT_DEFINE_ASSERT_EQ in util.h (Daniel Bevenius) #12638
- [51364b746f] - src: move crypto_bio/clienthello to crypto ns (Daniel Bevenius) #13957
- [35f911152a] - src: add missing new line to printed message (Timothy Gu) #13940
- [135e1e3b0b] - src: merge fn_name in NODE_SET_PROTOTYPE_METHOD (XadillaX) #13547
- [403c45fcc9] - src: only call FatalException if not verbose (Daniel Bevenius) #12826
- [547e74bb22] - src: use option parser for expose_internals (Sam Roberts) #12245
- [f9e427945b] - src: supply missing comments for CLI options (Sam Roberts) #12245
- [9ca67e0147] - src: make root_cert_vector function scoped (Daniel Bevenius) #12788
- [2ce80d97e9] - test: refactor test-domain-abort-on-uncaught (Rich Trott) #14541
- [4b9de44022] - test: refactor test-vm-new-script-new-context (Rich Trott) #14536
- [e5375a97e0] - test: add check on an addon that does not register (Ezequiel Garcia) #13954
- [1a88c3e5f6] - test: improve error logging for inspector test (Rich Trott) #14508
- [95a95cced3] - test: fix flaky test-force-repl (Rich Trott) #14439
- [6fd3dd20c0] - test: replace concatenation with template literal (rockcoder23) #14270
- [3ba55d8c47] - test: replace concatenation with template literal (Ching Hsu) #14284
- [7f7a0709be] - test: replace concatenation with template literals (Zongmin Lei) #14298
- [11ed4c2823] - test: replace string concatenation with template (ziyun) #14286
- [bbd1c791f5] - test: use path.join for long path concatenation (zzz) #14280
- [c4f21b37a1] - test: replace concatenation with template literals (SkyAo) #14296
- [d7afa17939] - test: fix error handling test-http-full-response (Rich Trott) #14252
- [7a8eddf015] - test: use regex error check in test-crypto-random (Zhang Weijie) #14273
- [3047cf1b48] - test: check error with regex in test-signal-safety (shaman) #14285
- [bbe328830f] - test: use regex error checks in test-util-format (Superwoods) #14299
- [a696e2ecae] - test: use template literal for string concat (tobewhatwewant) #14288
- [77506e48b0] - test: simplify string concatenation (jiangplus) #14278
- [b9b343c412] - test: use regexp to confir error message (Bang Wu) #14268
- [94ff5918b6] - test: use regluar expression in vm test (akira.xue) #14266
- [8b945e7649] - test: use regular expression to match error msg (Flandre) #14265
- [a168361eb9] - test: check complete error message (Fraser Xu) #14264
- [1e403902ba] - test: fix flaky test-net-can-reset-timeout (Rich Trott) #14257
- [688e5ed6fd] - test: remove common.noop (Rich Trott) #12822
- [40a61e1399] - test: add get/set effective uid/gid tests (Evan Lucas) #14091
- [1633f8b243] - test: simplify test skipping (Vse Mozhet Byt) #14021
- [b7b38bdbaf] - test: adjust indentation for stricter linting (Rich Trott) #14431
- [46e4a026b6] - test: skip test-fs-readdir-ucs2 if no support (Rich Trott) #14029
- [49632287d1] - test: fix flaky http(s)-set-server-timeout tests (Rich Trott) #14380
- [ae7eeff489] - test: fix flaky test-https-set-timeout-server (Rich Trott) #14134
- [c5c65c8ce9] - test: fix require nits in some test-tls-* tests (Vse Mozhet Byt) #14008
- [346f199e28] - test: refactor test-http(s)-set-timeout-server (Alexey Orlenko) #13935
- [ac851c482c] - test: refactor test-http-invalidheaderfield (Rich Trott) #13996
- [49e786628f] - test: replace indexOf with includes and startsWith (Nataly Shrits) #13852
- [2eb926b487] - test: remove undef NDEBUG from at-exit addons test (Daniel Bevenius) #13998
- [0bcbcca21c] - test: refactor test-fs-watchfile (Rich Trott) #13721
- [bd8574ccee] - test: refactor test-child-process-send-type-error (Rich Trott) #13904
- [74945dd18a] - test: refactor test-cluster-basic (Rich Trott) #13905
- [dc3d29519d] - test: remove unneeded HandleScope usage (Ezequiel Garcia) #13859
- [beca25ab9e] - test: skip fips tests using OpenSSL config file (Daniel Bevenius) #13786
- [d3c85a4806] - test: refactor test-tls-invoked-queued (Rich Trott) #13893
- [676a94e44d] - test: refactor test-tls-env-extra-ca (Rich Trott) #13886
- [fd6bbc098e] - test: make http(s)-set-timeout-server more similar (Julien Klepatch) #13822
- [8ba784383c] - test: remove require('buffer') from 4 test files (XadillaX) #13844
- [cd962e6de3] - test: remove unnecessary require('buffer').Buffer (lena) #13851
- [fff0b83f1b] - test: remove require('buffer') from 4 test files (Zongmin Lei) #13846
- [6d02bf40d0] - test: remove require('buffer') from 4 buffer tests (OriLev) #13855
- [0abc82db50] - test: remove require('buffer') on 6 fs test files (sallen450) #13845
- [1fb19ac0c5] - test: remove unnecessary Buffer import (Steven Winston) #13860
- [5a9d7b3bf5] - test: use string instead of RegExp in split() (Vse Mozhet Byt) #13710
- [6731d1b067] - test: remove needless RegExp flags (Vse Mozhet Byt) #13690
- [842b84c4e7] - test: refactor test-http-set-timeout-server (Rich Trott) #13802
- [389f29406a] - test: make test-http(s)-set-timeout-server alike (jklepatch) #13625
- [5e9b2030b9] - test: use mustNotCall() in test-fs-watch (Rich Trott) #13595
- [9356e9667d] - test: add mustCall() to child-process test (Rich Trott) #13605
- [406b3c0371] - test: use mustNotCall in test-http-eof-on-connect (Rich Trott) #13587
- [2f19dcddaa] - test: refactor test-fs-read-* (Rich Trott) #13501
- [3bdf7bf9e9] - test: refactor domain tests (Rich Trott) #13480
- [543d2de700] - test: check callback not invoked on lookup error (Rich Trott) #13456
- [91fb0cb6b0] - test: refactor test-dgram-oob-buffer (Rich Trott) #13443
- [08f7cca3b3] - test: add documentation for common.mustNotCall() (Rich Trott) #13359
- [55c96cf8a8] - test: refactor test-net-server-bind (Rich Trott) #13273
- [371b648d1b] - test: use mustCall() in test-readline-interface (Rich Trott) #13259
- [3808e3701c] - test: use mustNotCall() in test-stream2-objects (Rich Trott) #13249
- [b793fc6cf6] - test: replace indexOf with includes (Aditya Anand) #13215
- [b7c7112d7b] - test: move stream2 test from pummel to parallel (Rich Trott) #13146
- [7a5248d172] - test: simplify assert usage in test-stream2-basic (Rich Trott) #13146
- [e15e2e7a30] - test: check noop function invocations (Rich Trott) #13146
- [4a3e089984] - test: confirm callback is invoked in fs test (Rich Trott) #13132
- [8b161e0a78] - test: check number of message events (Rich Trott) #13125
- [c2a0a936e1] - test: increase coverage for path.parse (Tobias Nießen) #14438
- [202bfcc1c0] - test: mark test-fs-read-buffer-to-string-fail as flaky (jeyanthinath) #14495
- [a1cef1fc8f] - test: harden test-dgram-bind-shared-ports (Refael Ackermann) #13100
- [f578c9bbb6] - test: add mustCallAtLeast (Refael Ackermann) #12935
- [a7b94500f2] - test: add common.noop, default for common.mustCall() (James M Snell) #12027
- [f3c0b8cd6e] - test,fs: delay unlink in test-regress-GH-4027.js (Jaime Bernardo) #14010
- [e8438c1b22] - timers: do not use user object call/apply (Rich Trott) #12960
- [31f572c3ea] - tools: update to ESLint 4.3.0 (Rich Trott) #14417
- [7d851e3b6a] - tools: update package.json engine field (AJ Jordan) #14165
- [c5adb5f008] - tools: update ESLint to 4.2.0 (Rich Trott) #14155
- [2af21650d6] - tools: generate template literal for addon tests (Rich Trott) #14094
- [62de339327] - tools: remove legacy indentation linting (Rich Trott) #14515
- [8b7c4fc06f] - tools: remove align-multiline-assignment lint rule (Rich Trott) #14079
- [509205fddd] - tools: update to ESLint 4.1.1 (Rich Trott) #13946
- [8f664e52d9] - tools: add script to update ESLint (Rich Trott) #13895
- [d34bc78fd4] - tools: update to ESLint 4.1.0 (Rich Trott) #13895
- [01d82d843b] - tools: use no-use-before-define ESLint rule (Vse Mozhet Byt) #14032
- [70901b271c] - tools: remove comment in eslint rule (Daniel Bevenius) #13945
- [74d5cba007] - tools: add missing #include "unicode/putil.h" (Steven R. Loomis) #12078
- [7bb200f624] - tools: add rule prefering common.mustNotCall() (James M Snell) #12027
- [d5bf1379b5] - v8: fix RegExp nits in v8_prof_polyfill.js (Vse Mozhet Byt) #13709
- [9e2d85e441] - v8: handle proxy objects in MakeMirror(), v2 (Ben Noordhuis) #14343
- [bccd2f59b0] - v8: handle proxy objects in MakeMirror(), v1 (Ben Noordhuis) #14343
- [e79c054f76] - zlib: fix crash when initializing failed (Anna Henningsen) #14666
New in Node.js 8.3.0 (Aug 10, 2017)
- V8 6.0:
- The V8 engine has been upgraded to version 6.0, which has a significantly changed performance profile. #14574
- More detailed information on performance differences can be found at https://medium.com/the-node-js-collection/get-ready-a-new-v8-is-coming-node-js-performance-is-changing-46a63d6da4de
- OTHER NOTABLE CHANGES:
- DNS:
- Independent DNS resolver instances are supported now, with support for cancelling the corresponding requests. #14518
- N-API:
- Multiple N-API functions for error handling have been changed to support assigning error codes. #13988
- REPL:
- Autocompletion support for require() has been improved. #14409
- Utilities:
- The WHATWG Encoding Standard (TextDecoder and TextEncoder) has been implemented as an experimental feature. #13644
- Added new collaborators:
- XadillaX – Khaidi Chu
- gabrielschulhof – Gabriel Schulhof
- COMMITS:
- [e2356e72e7] - assert: improve deepEqual Set and Map worst case (Ruben Bridgewater) #14258
- [9252b8c057] - assert: refactor to reduce unecessary code paths (Ruben Bridgewater) #13973
- [89586f6684] - assert: fix incorrect use of ERR_INVALID_ARG_TYPE (Tobias Nießen) #14011
- [26785a23bb] - assert: refactor the code (Ruben Bridgewater) #13862
- [0cf1e22448] - benchmark: remove unused parameters (Matthew Alsup) #14526
- [9b104b4ea8] - benchmark: add assert map and set benchmarks (Ruben Bridgewater) #14258
- [2c364ab291] - buffer: remove a wrongly added attribute specifier (Jiajie Hu) #14466
- [c0f0c38535] - build: enable C++ linting for src// (jeyanthinath) #14497
- [87e108059b] - build: fix build without icu (Jimmy Thomson) #14533
- [0ebb4dff17] - build: codesign tarball binary on macOS (Evan Lucas) #14179
- [7f5bcbd2e9] - build,test: run v8 tests on windows (Kunal Pathak) #13992
- [5ab4471d72] - build,tools: do not force codesign prefix (Evan Lucas) #14179
- [7b96944254] - build,win: fix python detection script (Jason Ginchereau) #14546
- [1f16c43e80] - child_process: fix handle passing w large payloads (Anna Henningsen) #14588
- [9c1199e88f] - (SEMVER-MINOR) console: add console.count() and console.clear() (James M Snell) #12678
- [255b9bfa8a] - console,test: make message test more accurate (Anna Henningsen) #14580
- [51c1afafa6] - crypto: change segmentation faults to CHECKs (Tobias Nießen) #14548
- [e2b306c831] - (SEMVER-MINOR) deps: backport rehash strings after deserialization (Yang Guo) #14004
- [2dbf95d5ee] - (SEMVER-MINOR) deps: backport c0f1ff2 from upstream V8 (Michaël Zasso) #14004
- [efd297a5c9] - (SEMVER-MINOR) deps: fix addons compilation with VS2013 (Bartosz Sosnowski) #14004
- [160e2f03d2] - (SEMVER-MINOR) deps: limit regress/regress-crbug-514081 v8 test (Michael Dawson) #14004
- [44ad55d493] - (SEMVER-MINOR) deps: update V8 to 6.0.286.52 (Myles Borins) #14574
- [d9273ed5ed] - deps: cherry-pick 18ea996 from c-ares upstream (Anna Henningsen) #13883
- [32b30d519e] - (SEMVER-MINOR) dns: name generated functions (Anna Henningsen) #14518
- [0982810208] - (SEMVER-MINOR) dns: add channel.cancel() (Anna Henningsen) #14518
- [69e41dc5da] - (SEMVER-MINOR) dns: enable usage of independent cares resolvers (Anna Henningsen) #14518
- [ad901ed272] - doc: add gabrielschulhof to collaborators (Gabriel Schulhof) #14692
- [dd586c6bd4] - doc: erase unneeded eslint-plugin-markdown comment (Vse Mozhet Byt) #14598
- [8c80e91a2e] - doc: fix typo in writing-and-running-benchmarks.md (Yuta Hiroto) #14600
- [91b7843aeb] - doc: add entry for subprocess.killed property (Rich Trott) #14578
- [342f4cccb5] - doc: change child to subprocess (Rich Trott) #14578
- [b6bd3cf00f] - doc: cross-link util.TextDecoder and intl.md (Vse Mozhet Byt) #14486
- [fffd8f5335] - doc: document napi_finalize() signature (cjihrig) #14230
- [92b0555965] - doc: various small revisions in url (Timothy Gu) #14478
- [9dd9760951] - doc: update url.origin IDNA behavior (Timothy Gu) #14478
- [4e2493a20d] - doc: fix minor typos in net.md (Daiki Arai) #14502
- [e9088f92d8] - doc: fix verify in crypto.md (Ruslan Iusupov) #14469
- [8a9de1b3c5] - doc: fix typo in using-internal-errors.md (Anton Paras) #14429
- [ab9bc81b0e] - doc: add docs for module.paths (atever) #14435
- [bdcd496c98] - doc: update experimental status to reflect use (James M Snell) #12723
- [6c6da38518] - doc: fix some links (Vse Mozhet Byt) #14400
- [83c8e5c517] - doc: describe labelling process for backports (Anna Henningsen) #12431
- [592787ef4d] - doc: error message are still major (Refael Ackermann) #14375
- [f1b09c0a44] - doc: fix typo in stream.md (Marc Hernández Cabot) #14364
- [4be373bc4b] - doc: fixes default shell in child_process.md (Henry) #14203
- [b12924d894] - doc: add XadillaX to collaborators (XadillaX) #14388
- [dc0a26f254] - doc: replace dead link in v8 module (Devin Boyer) #14372
- [d2121ab768] - doc: fix minor typo in cluster.md (Lance Ball) #14353
- [eb023ef7df] - doc, lib, test: do not re-require needlessly (Vse Mozhet Byt) #14244
- [cfed48e81c] - doc, url: add changelog metadata for url.format (Timothy Gu) #14543
- [78f0c2aa75] - doc,assert: document stackStartFunction in fail (Ruben Bridgewater) #13862
- [53ad91c3b1] - doc,stream: _transform happens one at a time (Matteo Collina) #14321
- [f6a03439d8] - docs: add note about fs.rmdir() (Oleksandr Kushchak) #14323
- [142ce5ce2c] - errors: order internal errors list alphabetically (Anna Henningsen) #14453
- [50447e837b] - http: reset stream to unconsumed in unconsume() (Anna Henningsen) #14410
- [751e87338f] - http: check for handle before running asyncReset() (Trevor Norris) #14419
- [deea68cbb2] - inspector: fix console with inspector disabled (Timothy Gu) #14489
- [71cb1cdf69] - inspector: implement V8Inspector timer (Eugene Ostroukhov) #14346
- [4836f3b9b9] - inspector: send messages after the Node is done (Eugene Ostroukhov) #14463
- [9e5a08884a] - lib: adjust indentation for impending lint change (Rich Trott) #14403
- [a7b3e06e9b] - lib: modify destructuring for indentation (Rich Trott) #14417
- [28f0693796] - lib: include cached modules in module.children (Ben Noordhuis) #14132
- [19a0e06317] - linkedlist: correct grammar in comments (alexbostock) #14546
- [60e0f2bb0d] - (SEMVER-MINOR) n-api: add support for DataView (Shivanth MP) #14382
- [b849b3d223] - n-api: re-use napi_env between modules (Gabriel Schulhof) #14217
- [6078dea35d] - n-api: directly create Local from Persistent (Kyle Farnung) #14211
- [f2efdc880f] - (SEMVER-MINOR) n-api: add code parameter to error helpers (Michael Dawson) #13988
- [fa134dd60c] - n-api: add fast paths for integer getters (Anna Henningsen) #14393
- [58446912a6] - net: fix bytesWritten during writev (Brendan Ashworth) #14236
- [b41ae9847e] - path: fix win32 volume-relative paths (Timothy Gu) #14440
- [509039fcaf] - path: remove unnecessary string copies (Tobias Nießen) #14438
- [e813cfaead] - querystring: avoid indexOf when parsing (Matteo Collina) #14703
- [37e55bf559] - readline: remove max limit of crlfDelay (Azard) #13497
- [e54f75b831] - readline: remove the caching variable (Lyall Sun) #14275
- [1a5927fc27] - repl: do not consider ... as a REPL command (Shivanth MP) #14467
- [5a8862bfa3] - (SEMVER-MINOR) repl: improve require() autocompletion (Alexey Orlenko) #14409
- [34821f6400] - repl: don't terminate on null thrown (Benjamin Gruenbaum) #14306
- [32ba8aea0b] - repl: fix old history error handling (Ruben Bridgewater) #13733
- [264e4345f8] - src: reuse 'ondone' string in node_crypto.cc (Tobias Nießen) #14587
- [6ae6469d4a] - src: use existing strings over creating new ones (Anna Henningsen) #14587
- [eb068a0526] - src: remove unused Connection::ClearError() (Ben Noordhuis) #14514
- [4b01d8cac3] - src: replace assert with CHECK_LE in node_api.cc (Ben Noordhuis) #14514
- [3c6b5e5fac] - src: properly manage timer in cares ChannelWrap (Anna Henningsen) #14634
- [8c5cd1439e] - src: avoid dereference without existence check (Timothy Gu) #14591
- [8a3bc874fa] - src: fix process.abort() interaction with V8 (Anna Henningsen) #13985
- [997204a213] - (SEMVER-MINOR) src: fix new V8 compiler warnings (Michaël Zasso) #14004
- [fa3aa2e1f7] - src: return MaybeLocal in AsyncWrap::MakeCallback (Tobias Nießen) #14549
- [d90a5e0069] - src: replace deprecated ForceSet() method (Franziska Hinkelmann) #14450
- [eb7faf6734] - src: replace ASSERT with CHECK (Ben Noordhuis) #14474
- [106a23bd27] - (SEMVER-MINOR) src,dns: refactor cares_wrap to avoid global state (Anna Henningsen) #14518
- [3c46ef4717] - test: explain sloppy mode for test-global (Rich Trott) #14604
- [28b9c7a477] - test: fix test-readline-position w/o ICU (Timothy Gu) #14489
- [636ba8caef] - test: support odd value for kStringMaxLength (Michaël Zasso) #14476
- [5094f2c299] - test: refactor test-domain-abort-on-uncaught (Rich Trott) #14541
- [b1fef05446] - test: improvements to various http tests (James M Snell) #14315
- [ce9e3cfe10] - test: refactor test/sequential/test-fs-watch.js (Rich Trott) #14534
- [9f50db2450] - test: refactor test-vm-new-script-new-context (Rich Trott) #14536
- [f40b9062fc] - test: add check on an addon that does not register (Ezequiel Garcia) #13954
- [ddd97fe15c] - test: fix error when foo in path to git clone (Matt Woicik) #14506
- [8fea17484d] - test: add DISABLED_ prefix to commented out test (Daniel Bevenius) #14317
- [7b6a77403c] - test: remove disabled tests directory (Rich Trott) #14505
- [15b9aa1359] - test: improve error logging for inspector test (Rich Trott) #14508
- [451e643cf2] - test: remove --no-crankshaft (Myles Borins) #14531
- [7c51240b1a] - test: adjust indentation for stricter linting (Rich Trott) #14431
- [c704c02290] - test: increase coverage for path.parse (Tobias Nießen) #14438
- [23cd934d71] - test: refactor test-httpparser.response.js (erdun) #14290
- [91b6ba1973] - test: refactor test-benchmark-timers (Rich Trott) #14464
- [c2853893cf] - test: refactor test-http-parser.js (Rich Trott) #14431
- [4ff562f41e] - test: make flaky crypto test more deterministic (Ben Noordhuis) #14451
- [100e862dfa] - test: rename crypto test (Ben Noordhuis) #14451
- [f8c2302a66] - test: use common.mustCall() instead of exit handle (笑斌) #14262
- [0ff19b0c4c] - test: changed error message validator (Pratik Jain) #14443
- [14f6a5a367] - test: fix flaky test-force-repl (Rich Trott) #14439
- [5057c7a953] - test: replace concatenation with template literal (rockcoder23) #14270
- [6420a73f3e] - test: replace concatenation with template literal (Ching Hsu) #14284
- [cd0fffd86a] - test: convert table in test doc to markdown table (vixony) #14291
- [1c6135f431] - test: fix flaky http(s)-set-server-timeout tests (Rich Trott) #14380
- [de3d73c88c] - test: replace CRLF by LF in a fixture (Vse Mozhet Byt) #14437
- [aeb8d66eec] - test: fix test-async-wrap-getasyncid flakyness (Julien Gilli) #14329
- [3c50c592a5] - test: replace concatenation with template literals (笑斌) #14293
- [1813467d27] - test: upgrade tests to work with master’s common (Anna Henningsen) #14459
- [d89bb1c6f3] - test: bump test/common to master (Anna Henningsen) #14459
- [d7a1637897] - test: change isAix to isAIX (章礼平) #14263
- [552d2be625] - test: improve test-util-inspect (Peter Marshall) #14003
- [0418a70d7c] - test: add non-internet resolveAny tests (Anna Henningsen) #13883
- [265f159881] - test: replace concatenation with template literals (Song, Bintao Garfield) #14295
- [3414e42127] - test: replace concatenation with template literals (Zongmin Lei) #14298
- [953736cdde] - test: move timing-dependent tests to sequential (Alexey Orlenko) #14377
- [9b22acc29e] - test: fix flaky test-net-write-after-close (Rich Trott) #14361
- [11ae8c33bd] - test: delete obsolete test-sendfd.js (decareano) #14334
- [99104e1b58] - test: improve fs.exists coverage (jkzing) #14301
- [e237720537] - test: replace string concatenation with template (ziyun) #14286
- [3c92b787d7] - test: use path.join in async-hooks/test-tlswrap.js (Vincent Xue) #14319
- [0197ba00a5] - test: add comments for whatwg-url tests (Gautam Arora) #14355
- [956a473107] - test: move test-fs-largefile to pummel (Rich Trott) #14338
- [c866c9078b] - test: use path.join for long path concatenation (zzz) #14280
- [94c7331277] - test: replace string concatenation with path.join (jkzing) #14272
- [def98c6959] - test: replace string concatenation with template (Nathan Jiang) #14342
- [3bc7d2a5ea] - test: replace string concat in test-fs-watchfile.js (Helianthus21) #14287
- [72febfd3b6] - test: replace concatenation with template literals (SkyAo) #14296
- [b5d0a03a9e] - test: fix error handling test-http-full-response (Rich Trott) #14252
- [e90af29604] - tls: fix empty issuer/subject/infoAccess parsing (Ben Noordhuis) #14473
- [767644def5] - tools: simplify no-unescaped-regexp-dot rule (Rich Trott) #14561
- [9f319d5dfb] - tools: replace assert-throw-arguments custom lint (Rich Trott) #14547
- [fa8c5f4372] - tools: remove legacy indentation linting (Rich Trott) #14515
- [d11840c180] - tools: enable stricter linting in lib directory (Rich Trott) #14403
- [5e952182e7] - tools: update to ESLint 4.3.0 (Rich Trott) #14417
- [ebb90900af] - tools: skip workaround for newer llvm (nanaya) #14077
- [c0ea5d8ce5] - tools: always include llvm_version in config (nanaya) #14077
- [32259421ca] - url: update sort() behavior with no params (Timothy Gu) #14185
- [9a3fc10dd4] - (SEMVER-MINOR) util: implement WHATWG Encoding Standard API (James M Snell) #13644
- [f593960d35] - util: refactor util module (James M Snell) #13803
- [357873ddb0] - (SEMVER-MINOR) v8: fix stack overflow in recursive method (Ben Noordhuis) #14004
- [a8132943c5] - zlib: fix crash when initializing failed (Anna Henningsen) #14666
- [e529914e70] - zlib: fix interaction of flushing and needDrain (Anna Henningsen) #14527
New in Node.js 7.9.0 (Apr 12, 2017)
- Notable Changes:
- util: console is now closer to what is supported in all major browsers (Roman Reiss) #10308
- Commits:
- [9f73df5910] - deps: cherry-pick 22858cb from V8 upstream (Ali Ijaz Sheikh) #11998
- [b997e62692] - test: add internal/socket_list tests (DavidCai) #12109
- [c11c23b22b] - doc: make the heading consistent (Sakthipriyan Vairamani (thefourtheye)) #11569
- [67d21149a2] - crypto: handle exceptions in hmac/hash.digest (Tobias Nießen) #12164
- [3b765f5366] - doc: fix confusing example in process.md (Vse Mozhet Byt) #12282
- [37568c093a] - src: use std::list for at_exit_functions (Daniel Bevenius) #12255
- [2f9e2fcf3e] - doc: update information on test/known_issues (Jan Krems) #12262
- [0f4319a14a] - src: use std::string for trace enabled_categories (Sam Roberts) #12242
- [6826637f11] - doc: fix missing argument for dns.resolvePtr() (Uppinder Chugh) #12256
- [4a6bb378d4] - doc: fix confusing reference in net.md (Vse Mozhet Byt) #12247
- [3e8991cc56] - doc: modernize and fix code examples in modules.md (Vse Mozhet Byt) #12224
- [376f5ef1ee] - doc: document the performance team (Gibson Fahnestock) #12213
- [c0b7c075da] - doc: add refack to collaborators (Refael Ackermann) #12277
- [83f855d505] - doc: add aqrln to collaborators (Alexey Orlenko) #12273
- [2fb2289177] - doc: add sub domain to host in url (Steven) #12233
- [ac200a6122] - test: add a second argument to assert.throws() (dave-k) #12139
- [3cdd04b1c0] - test: skip irrelevant test on Windows (Rich Trott) #12261
- [d4d6986551] - build: fix path voodoo in icu-generic.gyp (Refael Ackermann) #11217
- [a735c16d52] - deps: backport ec1ffe3 from upstream V8 (Daniel Bevenius) #12061
- [d641164d09] - doc: update pull request template URL layout (Rich Trott) #12216
- [6feea08587] - buffer: preallocate array with buffer length (alejandro) #11733
- [a703bdecc4] - build: add checks for openssl configure options (Daniel Bevenius) #12175
- [b495b6acdf] - build: make configure print statements consistent (Daniel Bevenius) #12176
- [f60b4553f3] - doc: modernize and fix code examples in https.md (Vse Mozhet Byt) #12171
- [74d0266694] - doc: fix string interpolation in Stream 'finish' (Vinay Hiremath) #12221
- [4b54520a4a] - test: refactor mkdtemp test and added async (Luca Maraschi) #12080
- [8caf6fd58a] - test: add Unicode characters regression test (Alexey Orlenko) #11423
- [961c89cc61] - doc: add table of contents to README.md (Jason Marsh) #11635
- [a11ed6a0b3] - test: more robust check for location of node.exe (Refael Ackermann) #12120
- [6083e7aa7b] - benchmark: avoid TurboFan deopt in arrays bench (Michaël Zasso) #11894
- [cf1117bc13] - doc: fix the timing of setImmediate's execution (Daiki Arai) #12034
- [806c4f3c0c] - doc: fix fs.read arg type (Daiki Arai) #12034
- [c814c7e9ea] - events: do not keep arrays with a single listener (Luigi Pinca) #12043
- [36617fd5b8] - doc: add notes to http.get options (Raphael Okon) #12124
- [9e6b0a4604] - test: performance, remove Popen(shell=True) on Win (Refael Ackermann) #12138
- [805ebef8b1] - buffer: optimize decoding wrapped base64 data (Alexey Orlenko) #12146
- [fb34d9c210] - test: increase querystring coverage (DavidCai) #12163
- [d6e9cf7c22] - doc: fix and update examples in http.md (Vse Mozhet Byt) #12169
- [f057cc3d84] - benchmark: replace [].join() with ''.repeat() (Vse Mozhet Byt) #12170
- [b15dc95848] - test: fix flaky test-child-process-exec-timeout (Santiago Gimeno) #12159
- [72a27b3eb5] - build: use $(RM) in Makefile for consistency (Gibson Fahnestock) #12157
- [3af9101d20] - doc, inspector: note that the host is optional (Gibson Fahnestock) #12149
- [b52b3f6710] - test: reduce buffer size in buffer-creation test (Sakthipriyan Vairamani (thefourtheye)) #11177
- [b5283f9d4b] - doc: add logo to README (Roman Reiss) #12148
- [305f822a36] - net: rename internal functions for readability (Joyee Cheung) #11796
- [2f88de1ce3] - vm: use SetterCallback to set func declarations (AnnaMag) #12051
- [ffbcfdfe32] - src: fix base64 decoding (Nikolai Vavilov) #11995
- [8823861d9d] - tools: update dotfile whitelist in .gitignore (Michaël Zasso) #12116
- [87ca9a6ffe] - test: fix flaky child-process-exec-kill-throws (Rich Trott) #12111
- [fdf76d5aa0] - tools: add missing #include "unicode/putil.h" (Steven R. Loomis) #12078
- [6130d547a0] - deps: backport 8dde6ac from upstream V8 (Daniel Bevenius) #12060
- [1ee38eb874] - (SEMVER-MINOR) util: add %i and %f formatting specifiers (Roman Reiss) #10308
- [5ac719d0d2] - doc: add deprecations page to docs toc (Michaël Zasso) #12268
New in Node.js 7.8.0 (Mar 31, 2017)
- NOTABLE CHANGES:
- buffer:
- do not segfault on out-of-range index (Timothy Gu) #11927
- crypto:
- Fix memory leak if certificate is revoked (Tom Atkinson) #12089
- deps:
- upgrade npm to 4.2.0 (Kat Marchán) #11389
- fix async await desugaring in V8 (Michaël Zasso) #12004
- readline:
- add option to stop duplicates in history (Danny Nemer) #2982
- COMMITS:
- [51c8d8088a] - Partial revert "tls: keep track of stream that is closed" (Trevor Norris) #11947
- [751c1153a4] - benchmark: check end() argument to be > 0 (Vse Mozhet Byt) #12030
- [210250465a] - benchmark: update obsolete information pointer (Rich Trott) #12026
- [7aeeee3276] - benchmark: repair the fs/readfile benchmark (Sorin Baltateanu) #7818
- [90acb773be] - benchmark: allow multiple values for same config (Nikolai Vavilov) #11819
- [2f4ad6fea2] - benchmark: harmonize progress bar + stderr output (Vse Mozhet Byt) #11925
- [d62ddbe145] - benchmark: fix fsbench-realpathSync.js (Vse Mozhet Byt) #11904
- [85eb1bc0a9] - benchmark: remove v8ForceOptimization calls (Lucas Lago) #11908
- [17d16e8f3d] - buffer: remove unneeded eslint-disable comment (Rich Trott) #11906
- [fb41ee3983] - build: add lint option to vcbuild.bat help (Morgan Brenner) #11992
- [3e4ecca0be] - build: don't create directory for NDK toolchain (TheBeastOfCaerbannog) #11916
- [a64aa442c1] - crypto: fix memory leak if certificate is revoked (Tom Atkinson) #12089
- [2767e2d3cc] - (SEMVER-MINOR) deps: upgrade npm to 4.2.0 (Kat Marchán) #11389
- [d22346de40] - deps: fix async await desugaring in V8 (Michaël Zasso) #12004
- [fade55b025] - doc: clarify out-of-bounds behavior of buf[index] (Nikolai Vavilov) #11286
- [63a19c7012] - doc: update and modernize examples in fs.ms (Vse Mozhet Byt) #12035
- [4b5f177e3d] - doc: fix https.timeout docs (Ahmad Nassri) #12039
- [af051f6528] - doc: fix http properties documented as methods (Ahmad Nassri) #12039
- [18a586a278] - doc: edit the benchmark guide (Rich Trott) #12041
- [5e3d429613] - doc: stdout/err/in are all Duplex streams (Sebastian Van Sande) #11194
- [7f6b03fd0f] - doc: fix process.stdout fd number (Fumiya KARASAWA) #12055
- [1f7fe55c97] - doc: add richardlau to collaborators (Richard Lau) #12020
- [924f34606d] - doc: update collaborator email address (Rich Trott) #11996
- [41bec5cff4] - doc: correct info in child_process.md (Vse Mozhet Byt) #11949
- [96ad336d9e] - doc: remove superfluous sample assert code (Rich Trott) #11933
- [486bd1bd9b] - doc: require uses fs root for '/' prefix (Bradley Farias) #11897
- [04fa28e6dc] - doc: fix gitter badge in README (Roman Reiss) #11944
- [68b23be51f] - doc: add missing word in stream.md (Jyotman Singh) #11914
- [0f2642ee36] - errors: remove needless lazyAssert (DavidCai) #11891
- [5bdd54925a] - lib: add comment to script eval _tickCallback (Gibson Fahnestock) #12050
- [7347860966] - lib: clarify the usage of 'else' (Jackson Tian) #11148
- [837ff4ba59] - lib: remove an unnecessary coverage check (Jeremiah Senkpiel) #12023
- [6c803db7b9] - lib: fix event race condition with -e (Ben Noordhuis) #11958
- [ac92d0249b] - net: refactor net module to module.exports (Claudio Rodriguez) #11698
- [2462fd8009] - process: maintain constructor descriptor (Bryan English) #9306
- [91a2700721] - readline: rename deDupeHistory option (Danny Nemer) #11950
- [8ab26cf508] - (SEMVER-MINOR) readline: add option to stop duplicates in history (Danny Nemer) #2982
- [6a6c431eec] - src: use persistent strings from node::Environment (Ben Noordhuis) #11945
- [d0c2d67083] - src: add native URL class (James M Snell) #11801
- [019a20adb5] - src: make PercentDecode return void (Timothy Gu) #11922
- [d6da1705cd] - src: ensure that fd 0-2 are valid on windows (Bartosz Sosnowski) #11863
- [59f71f5661] - src, buffer: do not segfault on out-of-range index (Timothy Gu) #11927
- [4051184106] - stream_base,tls_wrap: notify on destruct (Trevor Norris) #11947
- [d8b71be183] - test: fix misleading comment (Franziska Hinkelmann) #12048
- [8b2b93f148] - test: mark child-process-exec-kill-throws flaky (Gibson Fahnestock) #12054
- [948b99deab] - test: fix broken tests in test-buffer-includes (Alexey Orlenko) #12040
- [d112aad78b] - test: replace throw with common.fail (Dejon "DJ" Gill) #9700
- [41284fbc5b] - test: cover thrown errors from exec() kill (cjihrig) #11038
- [414df6c93b] - test: test validity of prefix in mkdtempSync (Luca Maraschi) #12009
- [1c0435b1f3] - test: add regex for expected error message (John F. Mercer) #12011
- [a73dea9499] - test: add second argument to assert.throws() (Rj Bernaldo) #12016
- [ade64e61cd] - test: refactor test-cluster-disconnect (Rich Trott) #11981
- [3d21bfe6b9] - test: invalid chars in http client path (Luca Maraschi) #11964
- [e70ed3cb31] - test: improve test-vm-cached-data.js (Nick Peleh) #11974
- [b48f13af95] - test: add minimal test for net benchmarks (Rich Trott) #11979
- [764a00e6e5] - test: add test for url (Yuta Hiroto) #11999
- [bb2de4a5a1] - test: do not use more command on Windows (Vse Mozhet Byt) #11953
- [55a112689a] - test: add test for child_process.execFile() (Rich Trott) #11929
- [9ba551f7e3] - test: fix flaky test-tls-socket-close (Rich Trott) #11921
- [114f9d619d] - test: add hasCrypto check to tls-socket-close (Daniel Bevenius) #11911
- [169f187f16] - test: synchronize WPT url setters tests data (Daijiro Wachi) #11887
- [4b1b6b85a9] - timers: fix not to close reused timer handle (Shigeki Ohtsu) #11646
- [fd93622f8a] - tls: fix SecurePair external memory reporting (Ben Noordhuis) #11896
- [126dcb76af] - url: name anonymous functions in url (Pedro lima) #9225
- [f6755182e5] - url: show input in parse error message (Joyee Cheung) #11934
- [c51d925c84] - url: restrict setting protocol to "file" (Daijiro Wachi) #11887
New in Node.js 7.7.4 (Mar 23, 2017)
- Notable changes:
- deps: Upgraded internal node-inspect version to 1.10.6, containing several fixes. (Jan Krems) #11869
- inspector: Use proper WebSockets URLs when bound to 0.0.0.0 (Eugene Ostroukhov) #11850
- tls: Fixed a segfault when the handle was destroyed after a partial read. (Ben Noordhuis) #11898
- Commits:
- [f48763c5b9] - benchmark: remove benchmarks forced optimizations (Bartosz Sosnowski)
- [dcac2d8f04] - benchmark: benchmark comparing forEach with for (James M Snell) #11582
- [80949f3d88] - build: add cpp linting to windows build (liusi) #11856
- [5244ee346b] - build: mac OBJ_DIR should point to obj.target (Daniel Bevenius) #11857
- [5b1d61ce09] - child_process: fix deoptimizing use of arguments (Vse Mozhet Byt) #11748
- [ca319862fd] - deps: cherry-pick ca0f9573 from V8 upstream (Ali Ijaz Sheikh)
- [a7e4b029da] - deps: Add node-inspect 1.10.6 (Jan Krems) #11869
- [0c00b655d8] - doc: Fix #7065: cli help documentation for --inspect (Noj Vek) #11660
- [60ad7af65e] - doc: deprecate debug protocol (Jan Krems) #10320
- [a5f7393541] - doc: add vsemozhetbyt to collaborators (Vse Mozhet Byt) #11932
- [0c091262bd] - doc: add note that vm module is not a security mechanism (Ruslan Bekenev) #11557
- [6d6a65e2ad] - doc: linkable commit message guidelines (Sam Roberts) #11792
- [7c7228ed4b] - doc: gcc version is at least 4.8.5 in BUILDING.md (detailyang) #11840
- [9861ec93d4] - doc: increase Buffer.concat() documentation (cjihrig) #11845
- [54879ab7d1] - doc: fix mistakes in stream doc (object mode) (Christian d'Heureuse) #11807
- [78ca15dd78] - doc: argument types for dns methods (Amelia Clarke) #11764
- [e84e33c87c] - doc: fix a typo in api/process.md (Gaara) #11780
- [75fcf53173] - doc: missing argument types for events methods (Amelia Clarke) #11802
- [ae52b63df2] - doc: correct comment error in stream.md (Alexander) #11804
- [e6f113d3d5] - doc: console.log() -> console.error() in events.md (Vse Mozhet Byt) #11810
- [cde5d71db1] - doc: var -> let / const in events.md (Vse Mozhet Byt) #11810
- [d0fb578d64] - fs: avoid using forEach (James M Snell) #11582
- [14e3ad0c5e] - inspector: proper WS URLs when bound to 0.0.0.0 (Eugene Ostroukhov) #11850
- [fbbcd1aa89] - lib: Fix swallowed events in inspect integration (Jan Krems) #11869
- [9cc712ca18] - lib: remove unused msg parameter in debug_agent (mr-spd) #11833
- [77c69f7ace] - lib, test: add duplicate symbol checking in E() (DavidCai) #11829
- [7e230727fc] - module: avoid using forEach (James M Snell) #11582
- [c0a2e02f51] - net: avoid using forEach (James M Snell) #11582
- [a0b1aa1161] - readline: avoid using forEach (James M Snell) #11582
- [e19ca8ba11] - readline: remove unneeded eslint-disable comment (Rich Trott) #11836
- [62e726109a] - repl: avoid using forEach (James M Snell) #11582
- [90be5a1f19] - stream: avoid using forEach (James M Snell) #11582
- [2cab00aec0] - test: fix assertion in vm test (AnnaMag) #11862
- [8bda7b8d39] - test: add coverage for child_process bounds check (Rich Trott) #11800
- [3ae58acd29] - test: failing behaviour on sandboxed Proxy (AnnaMag) #11671
- [560d8eed9a] - test: delay child exit in AIX for pseudo-tty tests (Gireesh Punathil) #11715
- [f9c831f4b1] - test: fix flaky test-domain-abort-on-uncaught (Rich Trott) #11817
- [2649dab274] - test: added test for indexed properties (AnnaMag) #11769
- [2df662c95a] - test: test resolveObject with an empty path (Daijiro Wachi) #11811
- [d2c9111614] - test: fix repl-function-redefinition-edge-case (Alexey Orlenko) #11772
- [c9cf922248] - test: add regex to assert.throws (Matej Krajčovič) #11815
- [5f6025ba68] - test: fail when child dies in fork-net (Joyee Cheung) #11684
- [c626734409] - tls: fix segfault on destroy after partial read (Ben Noordhuis) #11898
- [646ee559df] - tls: avoid using forEach (James M Snell) #11582
- [540830116b] - tls: keep track of stream that is closed (jBarz) #11776
- [9a59913039] - util: avoid using forEach (James M Snell) #11582
New in Node.js 7.7.3 (Mar 15, 2017)
- Notable changes:
- module: The module loading global fallback to the Node executable's directory now works correctly on Windows. (Richard Lau) #9283
- net: Socket.prototype.connect now once again functions without a callback. (Juwan Yoo) #11762
- url: URL.prototype.origin now properly specified an opaque return of 'null' for file:// URLs. (Brian White) #11691
- Commits:
- [542a3735a7] - build: add node_use_openssl check to install.py (Daniel Bevenius) #11766
- [2fcefeeda0] - dgram: refactor dgram to module.exports (Claudio Rodriguez) #11696
- [dd3e6adaa7] - doc: add missing changelog heading for 7.7.2 (Evan Lucas) #11823
- [b543fd441c] - doc: update to current V8 versions (Franziska Hinkelmann) #11787
- [6cc7b30c62] - doc: improve child_process maxBuffer text (Rich Trott) #11791
- [188cbc6eea] - doc: package main can be directory with an index (Bradley Farias) #11581
- [a20aa0ee48] - doc: http cleanup and missing argument types (Amelia Clarke) #11681
- [8a1b2b4417] - doc: reduce font size on smaller screens (Gibson Fahnestock) #11695
- [5bea8b42d9] - doc: fix occurences of "the the" (Jeroen Mandersloot) #11711
- [517c3af21a] - doc: fix process links to console.log/error (Sam Roberts) #11718
- [108449b6ff] - doc: add Franziska Hinkelmann to the CTC (Rod Vagg) #11488
- [9c3cf13cbc] - doc: argument types for https methods (Amelia Clarke) #11681
- [103458772a] - module: fix loading from global folders on Windows (Richard Lau) #9283
- [1dff218cd1] - net: allow missing callback for Socket.connect (Juwan Yoo) #11762
- [52f0092f54] - s390: enable march=z196 (Junliang Yan) #11730
- [032becdc28] - src: add missing #include (Steven R. Loomis) #11754
- [1da2afcc26] - src: drop the NODE_ISOLATE_SLOT macro (Anna Henningsen) #11692
- [734ddbe77b] - test: fix flaky test-http-set-timeout-server (Santiago Gimeno) #11790
- [aaf8536dbc] - test: add test for loading from global folders (Richard Lau) #9283
- [c01c7a490a] - test: add script to create 0-dns-cert.pem (Shigeki Ohtsu) #11579
- [4477e15217] - test: add regex in test_cyclic_link_protection (Clarence Dimitri CHARLES) #11622
- [3d55cf06b1] - test: add more WHATWG URL origin tests (Brian White) #11691
- [a98d963082] - test: increase coverage of console (DavidCai) #11653
- [1af0fa4b84] - test: test buffer behavior when zeroFill undefined (Rich Trott) #11706
- [1e52ba3b3d] - test: limit lint rule disabling in message test (Rich Trott) #11724
- [5e7baa5a72] - tools: add links to the stability index reference (Michael Cox) #11664
- [c5874d1bd4] - url: remove invalid file protocol check (Brian White) #11691
New in Node.js 7.7.2 (Mar 11, 2017)
- Notable changes:
- doc: add Daijiro Wachi to collaborators (Daijiro Wachi) #11676
- tty: add ref() so process.stdin.ref() etc. work (Ben Schmidt) #7360
- util: fix inspecting symbol key in string (Ali BARIN) #11672
- Commits:
- [f56ca30bf0] - benchmark,build,doc,lib,src,test: correct typos (Benjamin Fleischer) #11189
- [02dbae6b3f] - buffer: refactor Buffer.prototype.inspect() (Rich Trott) #11600
- [e5b530cb62] - build: fix llvm version detection in freebsd-10 (Shigeki Ohtsu) #11668
- [ed6d7412a7] - deps: fix CLEAR_HASH macro to be usable as a single statement (Sam Roberts) #11616
- [039a1a97d8] - dns: minor refactor of dns module (James M Snell) #11597
- [3b27b8da9d] - doc: fixed readable.isPaused() version annotation (Laurent Fortin) #11677
- [84028888db] - doc: fix broken URL to event loop guide (Poker) #11670
- [d5c436311c] - doc: remove Locked from stability index (Rich Trott) #11661
- [986d391066] - doc: unlock module (Rich Trott) #11661
- [d06dbf03cc] - doc: fix misleading ASCII comments (Rahat Ahmed) #11657
- [98d33282d9] - doc: add Daijiro Wachi to collaborators (Daijiro Wachi) #11676
- [3e79dffd2c] - doc: fix WHATWG URL url.protocol example (Richard Lau) #11647
- [e468cd3ee7] - doc: argument types for console methods (Amelia Clarke) #11554
- [83c7b245e2] - doc: fix typo in stream doc (Bradley Curran) #11560
- [a0c117ba95] - doc: fixup errors.md (Vse Mozhet Byt) #11566
- [b116830d64] - doc: add link to references in net.Socket (Joyee Cheung) #11625
- [b968491dc2] - doc: document WHATWG IDNA methods' error handling (Timothy Gu) #11549
- [d329abf1c6] - doc: use common malformed instead of misformatted (James Sumners) #11518
- [11aea2662f] - doc: fix typo in STYLE_GUIDE.md (Nikolai Vavilov) #11615
- [f972bd81c6] - inspector: libuv notification on incoming message (Eugene Ostroukhov) #11617
- [a7eba9c71c] - meta: move WORKING_GROUPS.md to CTC repo (James M Snell) #11555
- [5963566367] - meta: remove out of date ROADMAP.md file (James M Snell) #11556
- [b56e851c48] - net: refactor overloaded argument handling (Joyee Cheung) #11667
- [13cb8a69e4] - net: remove misleading comment (Ben Noordhuis) #11573
- [e2133f3e57] - os: improve cpus() performance (Brian White) #11564
- [821d713a38] - src: remove outdated FIXME in node_crypto.cc (Daniel Bevenius) #11669
- [1b6ba9effb] - src: do not ignore IDNA conversion error (Timothy Gu) #11549
- [fdb4a6c796] - test: skip the test with proper TAP message (Sakthipriyan Vairamani (thefourtheye)) #11584
- [5df9110178] - test: check the origin of the blob URLs (Daijiro Wachi) #11426
- [b4dcb26681] - test: changed test1 of test-vm-timeout.js (maurice_hayward) #11590
- [f69685be65] - test: remove obsolete eslint-disable comment (Rich Trott) #11643
- [a4d14363a9] - test: fix args in parallel/test-fs-null-bytes.js (Vse Mozhet Byt) #11601
- [8377374754] - test: fix tests when npn feature is disabled. (Shigeki Ohtsu) #11655
- [1445e282c3] - test: add test-buffer-prototype-inspect (Rich Trott) #11600
- [00dd20c173] - test: fix flaky test-https-agent-create-connection (Santiago Gimeno) #11649
- [91a222de99] - test: enable max-len for test-repl (Rich Trott) #11559
- [924b785d50] - test: fix test-internal-util-assertCrypto regex (Daniel Bevenius) #11620
- [cdee945307] - test: improve https coverage to check create connection (chiaki-yokoo) #11435
- [4f9253686d] - test: apply strict mode in test-repl (Rich Trott) #11575
- [2601c06486] - test: skip tests with common.skip (Sakthipriyan Vairamani (thefourtheye)) #11585
- [6a5d96164a] - test: more comprehensive IDNA test cases (Timothy Gu) #11549
- [163d2d1624] - timers: unlock the timers API (Rich Trott) #11580
- [d6ac192fa3] - tls: fix macro to check NPN feature (Shigeki Ohtsu) #11655
- [ac3deb1481] - tools: remove NODE_PATH from environment for tests (Rich Trott) #11612
- [3c54f8199c] - tty: add ref() so process.stdin.ref() etc. work (Ben Schmidt) #7360
- [24e6fcce8b] - url: use hasIntl instead of try-catch (Daijiro Wachi) #11571
- [7b84363636] - util: fix inspecting symbol key in string (Ali BARIN) #11672
New in Node.js 7.7.1 (Mar 2, 2017)
- Notable changes:
- Node.js 7.7.0 contains a bug that will prevent all native modules from building, this patch should fix the issue. Apologies to everyone who was affected by 7.7.0.
- Commits:
- [c8e34b61f6] - build: add missing src/tracing header files (Daniel Bevenius) #10851
- [96f55f9e59] - src: move trace_event.h include to internal header (Ben Noordhuis) #10959
- [30c80cbe6f] - src: fix TracingController cleanup (Jason Ginchereau) #10623
- [b89b2a7d36] - src: always initialize tracing controller in agent (Matt Loring) #10507
- [54e55e05ca] - test: make test-intl-no-icu-data more robust (Michaël Zasso) #10992
- [7b253eb3ed] - test: increase strictness for test-trace-event (Rich Trott) #11065
- [3dc4a5f1f4] - tracing: fix -Wunused-private-field warning (Santiago Gimeno) #10416
- [8a918bf411] - tracing: fix -Wreorder warning (Santiago Gimeno) #10416
New in Node.js 7.5.0 (Feb 1, 2017)
- NOTABLE CHANGES:
- doc: add basic documentation for WHATWG URL API (James M Snell) #10620
- process: add NODE_NO_WARNINGS environment variable (cjihrig) #10842
- url: allow use of URL with http.request and https.request (James M Snell) #10638
- crypto:
- ability to select cert store at runtime (Adam Majer) #8334
- Use system CAs instead of using bundled ones (Adam Majer) #8334
- deps:
- upgrade npm to 4.1.2 (Kat Marchán) #11020
- upgrade openssl sources to 1.0.2k (Shigeki Ohtsu) #11021
- COMMITS:
- [61f6f1260d] - (SEMVER-MINOR) src/doc: improve man page and --help (Roman Reiss) #10157
- [b2d0c44fb1] - assert: update comments (Kai Cataldo) #10579
- [c217b438f2] - assert, tools: enforce strict (not)equal in eslint (Gibson Fahnestock) #10698
- [94c4323d56] - async_wrap: close the destroy_ids_idlehandle (René Schünemann) #10385
- [f61c71b533] - benchmark: add progress indicator to compare.js (Joyee Cheung) #10823
- [ccdc922ada] - benchmark: move setImmediate benchmarks to timers (Joshua Colvin) #11010
- [062c8513ad] - benchmark: add more thorough timers benchmarks (Jeremiah Senkpiel) #10925
- [1e0294ccc9] - benchmark: add benchmark for object properties (Michaël Zasso) #10949
- [47c0953b12] - benchmark: add benchmark for vm.runIn*() (Rich Trott) #10816
- [2f339e7200] - benchmark: cleanup child_process IPC benchmark (Yuya Tanaka) #10557
- [eac1871c45] - benchmark: improve WHATWG URL benchmarks (Joyee Cheung) #10678
- [ecf72d8b54] - benchmark: use "confidence" in output of compare.R (Joyee Cheung) #10737
- [35334273b9] - benchmark: don't lint autogenerated modules (Brian White) #10756
- [4f96272f12] - benchmark: fix typo "categoty" -> "category" (Victor Felder) #10568
- [2f4577c07d] - benchmark: keep decimals in results (Brian White) #10559
- [372e3eeb4b] - benchmark: improve readability of net benchmarks (Brian White) #10446
- [d19136da84] - benchmark: move punycode benchmark out of net (Brian White) #10446
- [be24cc0187] - benchmark: add ClientRequest creation benchmark (Brian White) #10654
- [1438d00119] - benchmark,lib,test: adjust for linting (Rich Trott) #10561
- [d13aba8499] - buffer: improve compare() performance (Brian White) #10927
- [6549bc2a35] - buffer: fix comments in bidirectionalIndexOf ([email protected]) #10162
- [a114f63627] - buffer: improve toJSON() performance (Brian White) #10895
- [9c2f686f7e] - build: don't build deps/zlib if --shared-zlib set (Gibson Fahnestock) #10657
- [659428fe1d] - build: sort sources alphabetically (Daniel Bevenius) #10892
- [74f9cc9f0a] - build: move source files from headers section (Daniel Bevenius) #10850
- [a408ba6454] - build: don't squash signal handlers with --shared (Stewart X Addison) #10539
- [ddcd1a202f] - child_process: optimize IPC for large data (Yuya Tanaka) #10557
- [d751afae0f] - cluster: refactor module into multiple files (cjihrig) #10746
- [6687b95263] - crypto: return the retval of HMAC_Update (Travis Meisenheimer) #10891
- [a1897c1445] - (SEMVER-MINOR) crypto: ability to select cert store at runtime (Adam Majer) #8334
- [aeea13b6f6] - (SEMVER-MINOR) crypto: Use system CAs instead of using bundled ones (Adam Majer) #8334
- [ac2b059500] - (SEMVER-MINOR) crypto: do not use pointers to std::vector (Adam Majer) #8334
- [5fd0f9ae63] - crypto: freelist_max_len is gone in OpenSSL 1.1.0 (Adam Langley) #10859
- [4e7a31b3a0] - crypto,tls: fix mutability of return values (Rich Trott) #10795
- [84a9c158ef] - deps: fix npm files from upgrade to 4.1.2 (João Reis) #11085
- [9e60af893c] - deps: upgrade npm to 4.1.2 (Kat Marchán) #11020
- [da59a57d60] - deps: limit regress/regress-crbug-514081 v8 test (Michael Dawson) #6678
- [edd20720ac] - deps: update openssl asm and asm_obsolete files (Shigeki Ohtsu) #11021
- [ce20ad76ec] - deps: add -no_rand_screen to openssl s_client (Shigeki Ohtsu) nodejs/io.js#1836
- [06f87c3e0a] - deps: fix asm build error of openssl in x86_win32 (Shigeki Ohtsu) iojs/io.js#1389
- [093cacf61b] - deps: fix openssl assembly error on ia32 win32 (Fedor Indutny) iojs/io.js#1389
- [a3b3b35c53] - deps: copy all openssl header files to include dir (Shigeki Ohtsu) #11021
- [6a0f1fabb1] - deps: upgrade openssl sources to 1.0.2k (Shigeki Ohtsu) #11021
- [1fae98b833] - deps: upgrade npm to 4.1.1 (Rebecca Turner) #10781
- [6e0888ad9e] - deps: add test for v8 bug in toUpper('ç') (Steven R. Loomis) #9828
- [1c4bf9e8ff] - deps: cherry-pick 2f5da9a from V8 upstream (Steven R. Loomis) #9828
- [ffd938a694] - deps: upgrade libuv to 1.10.2 (cjihrig) #10717
- [aa6b9f979e] - deps: cherry-pick baba152 from V8 upstream (Michaël Zasso) #10688
- [5887396150] - deps: cherry-pick a814b8a from upstream V8 ([email protected]) #10733
- [cfc4c62249] - doc: correct and complete dgram's Socket.bind docs (Alex Jordan) #11025
- [55e98c66c0] - doc: add abouthiroppy to collaborators (Yuta Hiroto) #11080
- [722ae8700f] - doc: add who to CC list for dgram (cjihrig) #11035
- [a8533acee6] - doc: change logical to bitwise OR in dns lookup (Sakthipriyan Vairamani (thefourtheye)) #11037
- [ac36d78d56] - doc: fix typo in http.md (Peter Mescalchin) #10975
- [0bf3b24771] - doc: remove Chris Dickinson from active releasers (Ben Noordhuis) #11011
- [9ca404ed25] - doc: for style, remove "isn't" contraction (Sam Roberts) #10981
- [4be9e98448] - doc: make os api doc more consistent (Evan Lucas) #10994
- [7dff6aa67f] - doc: update http.md for consistency and clarity (Lance Ball) #10715
- [dd608591a8] - doc: clarify Buffer.indexOf/lastIndexOf edge cases ([email protected]) #10162
- [5250b3358e] - doc: document argument variant in the repl.md (Vse Mozhet Byt) #10221
- [c4b9f0a75e] - doc: DEFAULT_ECDH_CURVE was added in 0.11.13 (Sam Roberts) #10983
- [84e2ff3738] - (SEMVER-MINOR) doc: add basic documentation for WHATWG URL API (James M Snell) #10620
- [9d91bf9788] - doc: HTTP response getHeader doc fix (Faiz Halde) #10817
- [06acf88117] - doc: remove duplicate properties bullet in readme (Javis Sullivan) #10741
- [09ac2a2cb7] - doc: specify sorted requires in tests (Sam Roberts) #10716
- [f380a5fb5a] - doc: mention cc-ing nodejs/python team for reviews (Anna Henningsen) #10637
- [58bb263438] - doc: update TheAlphaNerd to MylesBorins (Myles Borins) #10586
- [1253650cf4] - doc: update examples in api/crypto.md (Vse Mozhet Byt) #10909
- [3177d6557a] - doc: move topics/guides to website (Evan Lucas) #10896
- [d2896d92a7] - doc: update AUTHORS list to fix name (Noah Rose Ledesma) #10945
- [4ffcefdc09] - doc: add TimothyGu to collaborators (Timothy Gu) #10954
- [3fcf0aed4a] - doc: mention moderation repo in onboarding doc (Anna Henningsen) #10869
- [79d8db0fef] - doc: add edsadr to collaborators (Adrian Estrada) #10883
- [520b1f7853] - doc: clarifying variables in fs.write() (Jessica Quynh Tran) #9792
- [daf1bf588b] - doc: add links for zlib convenience methods (Anna Henningsen) #10829
- [aeaf887700] - doc: fix markdown escaping in CHANGELOG_V7.md (Anna Henningsen) #10827
- [c8b0fc6d8b] - doc: remove duplicate PR link from changelog (Anna Henningsen) #10827
- [049258b062] - doc: fixup added tags in cli.md (Anna Henningsen) #10826
- [61798d1fa4] - doc: add missing added: tag for zlib.constants (Anna Henningsen) #10826
- [73939ec701] - doc: clarify memory sharing behavior of buffer ctor (Zach Bjornson) #10778
- [f8b081b519] - doc: fix broken internal link in process.md (Anna Henningsen) #10828
- [a53f881f57] - doc: update writable.write return value (Nathan Phillip Brink) #10582
- [6e1a3d1e57] - doc: use correct tls certificate property name (Sam Roberts) #10389
- [23edfe00b3] - doc: edit writing-tests.md (Rich Trott) #10585
- [9b73a8524f] - doc: fix misleading language in vm docs (Alexey Orlenko) #10708
- [56ea7eb9a7] - doc: mention cc-ing nodejs/url team for reviews (Anna Henningsen) #10652
- [66b34eac2f] - doc: sort require statements in tests (Sam Roberts) #10616
- [238466bcf0] - doc: handle backpressure when write() return false (Matteo Collina) #10631
- [ec226a2a3b] - doc: add test naming information to guide (Rich Trott) #10584
- [b73e98bf48] - doc: fix missing negation in stream.md (Johannes Rieken) #10712
- [bf95b074cd] - doc: "s/git apply/git am -3" in V8 guide (Myles Borins) #10665
- [9c89b2f704] - doc: update LTS info for current releases (Evan Lucas) #10720
- [3f1775707e] - doc: correct vcbuild options for windows testing (Jonathan Boarman) #10686
- [8314d9ee73] - doc: killSignal option accepts integer values (Sakthipriyan Vairamani (thefourtheye)) #10424
- [736a7f3dd3] - doc: update BUILDING.md (Lukasz Gasior) #10669
- [f81bd48818] - doc: document use of Refs: for references (Gibson Fahnestock) #10670
- [b70dde0050] - doc: new TLSSocket has no secure context options (Sam Roberts) #10545
- [d3628d9e47] - doc: modernize child_process example code (Vse Mozhet Byt) #10102
- [3270d4c89b] - doc: clarify information about ABI version (Rich Trott) #10419
- [1fca69c263] - doc,test: tls .ca option supports multi-PEM files (Sam Roberts) #10389
- [78a495e1a4] - eslint: remove dangling eslint symlink (Sam Roberts) #10771
- [5cca69320f] - events: avoid emit() eager deopt (Victor Felder) #10568
- [ded17579e5] - events: improve removeListener() performance (Brian White) #10572
- [d047f8e8f8] - fs: remove unused parameter for encodeRealpathResult (Jackson Tian) #10862
- [4c0f29723c] - http: use direct parameters instead (Jackson Tian) #10833
- [c32984361a] - http: make request.abort() destroy the socket (Luigi Pinca) #10818
- [8ba2cf9c51] - http: define all used properties in constructors (vitkarpov) #9116
- [75aa6050ab] - http: eliminate capture of ClientRequest in Agent (Evan Torrie) #10134
- [5059b76cbc] - http: misc ClientRequest cleanup (Brian White) #10654
- [44c0e4f1ad] - http: avoid duplicate isArray() (Brian White) #10654
- [e7859c217f] - http: optimize default method case (Brian White) #10654
- [c9bff043c7] - http: optimize short path validation (Brian White) #10654
- [c012dd79dc] - https: Use secureProtocol in Agent#getName (Andreas Lind) #9452
- [9a111e701e] - inspector: no crash when WS server can't start (Eugene Ostroukhov) #10878
- [2d08bbadd6] - inspector: stop relying on magic strings (Eugene Ostroukhov) #10159
- [e30e307a70] - inspector: move options parsing (Eugene Ostroukhov) #9691
- [60f27f91e4] - inspector: remove unused uv_async_t (Eugene Ostroukhov) #10392
- [a3abba0b1a] - lib: remove unnecessary parameter for assertCrypto() (Jackson Tian) #10834
- [4de7b03a7d] - lib: refactor bootstrap_node.js regular expression (Rich Trott) #10749
- [a6c93af244] - lib: refactor crypto cipher/hash/curve getters (Rich Trott) #10682
- [6e8d627217] - lib,src: support values > 4GB in heap statistics (Ben Noordhuis) #10186
- [de8eee6b16] - meta: decharter the http working group (James M Snell) #10604
- [4caa0126aa] - openssl: fix keypress requirement in apps on win32 (Shigeki Ohtsu) iojs/io.js#1389
- [d24491c6a7] - (SEMVER-MINOR) process: add NODE_NO_WARNINGS environment variable (cjihrig) #10842
- [97ff43232b] - querystring: improve unescapeBuffer performance (Brian White) #10837
- [f4796d5f6e] - querystring: improve stringify() performance (Brian White) #10852
- [53421b174c] - querystring: improve parse() performance (Brian White) #10874
- [d64e2371f6] - readline: refactor construct Interface (Jackson Tian) #4740
- [e7b656db6e] - Revert "repl: disable Ctrl+C support on win32 for now" (Anna Henningsen) #8645
- [a24264eb18] - src: fix v8 local handling in node_url.cc (Anna Henningsen) #11064
- [8a6367cb20] - Revert "src: don't overwrite non-writable vm globals" (Anna Henningsen) #10920
- [978acd138f] - (SEMVER-MINOR) src: support "--" after "-e" as end-of-options (John Barboza) #10651
- [cd94642356] - src: add NODE_NO_WARNINGS to --help output (cjihrig) #10918
- [63f43021b0] - src: remove unused PROTOCOL_JSON array (Ben Noordhuis) #10407
- [5a976decf7] - src: remove unnecessary req_wrap_obj (Daniel Bevenius) #10942
- [0c0334f7a4] - src: add a missing space in node_os.cc (Alexey Orlenko) #10931
- [b89d848b36] - src: enable writev for pipe handles on Unix (Alexey Orlenko) #10677
- [f0de955220] - src: reduce test_inspector_socket_server output (Daniel Bevenius) #10537
- [59196af646] - stream: avoid additional validation for Buffers (Brian White) #10580
- [fe80bd9600] - test: add 2nd argument to throws in test-assert (Marlena Compton) #11061
- [8ef4add4c3] - test: require handler to be run in sigwinch test (Rich Trott) #11068
- [e367b74c4f] - test: add an exception test to http-write-head (Yuta Hiroto) #11034
- [65691d68d5] - test: increase coverage of internal/util (DavidCai) #10964
- [0753bc17b6] - test: increase timeout in break-on-uncaught (Sakthipriyan Vairamani (thefourtheye)) #10822
- [eff3a48e63] - test: add known_issues test for #10223 (AnnaMag) #11024
- [72a97b66dc] - test: guarantee test runs in test-readline-keys (Rich Trott) #11023
- [e3a316f3e6] - test: check error message in test-http-outgoing-proto (Alex Ling) #10943
- [fcd08b8a1e] - test: add tests for searchParams (abouthiroppy) #10952
- [f3efaeed35] - test: increase coverage for stream's duplex (abouthiroppy) #10963
- [b5e8413c3f] - test: allow for slow hosts in spawnSync() test (Rich Trott) #10998
- [cfd1b19c34] - test: expand test coverage of fs.js (Vinícius do Carmo) #10947
- [4aedde8d82] - test: expand test coverage of events.js (Vinícius do Carmo) #10947
- [c1e166a168] - test: check noAssert option in buf.write*() (larissayvette) #10790
- [580a453fcf] - test: expand test coverage of fs.js (Vinícius do Carmo) #10972
- [fa8baa2aa1] - test: enhance test-timers (Rich Trott) #10960
- [74ff804dbd] - test: add regression tests for vm bugs (Anna Henningsen) #10920
- [1a39bfb7e2] - test: increase coverage for exec() functions (cjihrig) #10919
- [4b38744e9b] - test: add process.assert's test (abouthiroppy) #10911
- [e7c953a5f9] - test: update Buffer.lastIndexOf ([email protected]) #10162
- [eb7ee50717] - test: improve code in test-crypto-verify (Adrian Estrada) #10845
- [efa9845946] - test: refactor test-cli-eval.js (cjihrig) #10898
- [b7bf43aa2b] - test: use common.fail() instead of assert(false) (cjihrig) #10899
- [90a99177a3] - test: add dgram.Socket.prototype.bind's test (abouthiroppy) #10894
- [dc826caed2] - test: update V8 flag in test (Franziska Hinkelmann) #10917
- [537d954ed2] - test: increase coverage of string-decoder (abouthiroppy) #10863
- [3cd9833eff] - test: add tests for rs+, sr+ to test-fs-open-flags.js (abouthiroppy) #10780
- [c8a069e544] - test: improving coverage of dns-lookup (abouthiroppy) #10844
- [939517abfd] - test: refactor test-fs-read-zero-length.js (abouthiroppy) #10729
- [ffdf605f14] - test: improving coverage for dgram (abouthiroppy) #10783
- [1666600f16] - test: improve code in test-console-instance (Adrian Estrada) #10813
- [b496374363] - test: improve code in test-domain-multi (Adrian Estrada) #10798
- [46bbabe6c2] - test: improve test-stream2-large-read-stall (stefan judis) #10725
- [7f043779eb] - test: improve code in test-http-host-headers (Adrian Estrada) #10830
- [66c57a24c2] - test: add test case to test-http-response-statuscode.js (abouthiroppy) #10808
- [4a7bb5b4d1] - test: improve the code in test-crypto-dh (Adrian Estrada) #10734
- [825842c185] - test: getgroups() may contain duplicate GIDs (Sam Roberts) #10389
- [c6618df2cc] - test: improve test stream transform constructor (Adrian Estrada) #10699
- [51f4c8bf5c] - test: s/assert.equal/assert.strictEqual/ (Gibson Fahnestock) #10698
- [a6bd287724] - test: use eslint to fix var->const/let (Gibson Fahnestock) #10685
- [e6b6ce429c] - test: refactor test-http-mutable-headers.js (cjihrig) #10664
- [8262d49a44] - test: refactor cluster-preload.js (abouthiroppy) #10701
- [fc0551072b] - test: improve test-crypto-rsa-dsa (Adrian Estrada) #10681
- [727c5e3c96] - test: improve test-fs-write-file-sync (Adrian Estrada) #10624
- [50130220dc] - test: s/assert.notEqual()/assert.notStrictEqual()/ (cjihrig) #10541
- [44174a52a6] - test: refactor the code in test-util-debug.js (sivaprasanna) #10531
- [b1c742e107] - test: improve test-fs-access (Adrian Estrada) #10542
- [db7b27abb9] - test: refactor beforeExit tests (Rich Trott) #10581
- [33851d1e2c] - test: fix process.title expectation (Sakthipriyan Vairamani (thefourtheye)) #10597
- [af2bea70e0] - test: refactor test-beforeexit-event-exit.js (cjihrig) #10577
- [0a2fb0d3e1] - test: refactor several parallel/test-timer tests (Beth Griggs) #10524
- [dba8d20ccc] - test: improve the code in test-fs-read-stream (Adrian Estrada) #10556
- [eba9add48e] - test: refactor test-timer-close (BethGriggs) #10517
- [dd9aefde69] - test: use const for all require() calls (cjihrig) #10550
- [807e99b81d] - test: validate errors in test-buffer-indexof (Adrian Estrada) #10752
- [32da59ab18] - test: fix broken assertion (cjihrig) #10840
- [29a4d354bc] - test: refactor test-cli-eval.js (Sumit Goel) #10759
- [a06419b045] - test: refactor test-stream2-readable-wrap.js (David Goussev) #10551
- [55377db9b0] - test: refactor test-stream-transform-object (Rich Trott) #10588
- [fb35ca3598] - test: test hmac binding robustness (Sam Roberts) #10923
- [94a266e1ef] - test: refactor the code in test-fs-watch.js (sivaprasanna) #10357
- [3575f5159e] - test: reduce unmanaged parallelism in domain test (Joyee Cheung) #10329
- [7822d86ee6] - test: increase usage of assert.ifError() (cjihrig) #10543
- [e161dcf1fc] - test: add dgram.Socket.prototype.sendto's test (abouthiroppy) #10901
- [be3e82dbbb] - test: check error message in test-fs-make-callback (legalcodes) #10914
- [67d97bce5a] - test: improve test-assert (richnologies) #10916
- [69a04a9c7b] - test: increase coverage for punycode's decode (abouthiroppy) #10940
- [8778fca82b] - test: check fd 0,1,2 are used, not access mode (John Barboza) #10339
- [e80f35c973] - test: verify shell option internals (cjihrig) #10924
- [9d5170f850] - test: fix flaky test-regress-GH-897 (Rich Trott) #10903
- [c60d87b1ad] - test: don't connect to :: (use localhost instead) (Gibson Fahnestock) #10854
- [aa4b028523] - test: improve test-fs-open-flags (Vinícius do Carmo)
- [35d665958e] - test: increase coverage of _http_outgoing (abouthiroppy) #10820
- [c4f16949b8] - test: add message verification on assert.throws (Travis Meisenheimer) #10890
- [5ce2ac800b] - test: refactor test-repl-tab-complete (Rich Trott) #10879
- [999f685a69] - test: simplify array initialization (Rich Trott) #10860
- [c77078f29f] - test: have inspector test pick an open port (Eugene Ostroukhov) #10861
- [aa8771f842] - test: use common.hasIntl in tests related to ICU (Daijiro Wachi) #10841
- [5b38776243] - test: add http-common's test (abouthiroppy) #10832
- [96babb2090] - test: tests for _readableStream.awaitDrain (Mark) #8914
- [7165f1d409] - test: improve the code in test-process-cpuUsage (Adrian Estrada) #10714
- [b5c0b43efa] - test: increase test-crypto.js strictness (Rich Trott) #10784
- [d818cfaaad] - test: improve test-fs-write-stream-throw-type (Adrian Estrada) #10779
- [77cbc26a96] - test: delete duplicate test of noAssert in readUInt* (larissayvette) #10791
- [36db5a663a] - test: add http_incoming's matchKnownFields test (abouthiroppy) #10811
- [31d3a22989] - test: skip test-icu-transcode if Intl is not present (Daijiro Wachi) #10707
- [8b02b4ebb4] - test: check error msg test-writeint.js (Irene Li) #10755
- [5aad0ccefe] - test: no unused args test-fs-watch-file.js (istinson) #10758
- [fca0da711d] - test: improve tests in pummel/test-exec (Chase Starr) #10757
- [7d917dcb27] - test: fix temp-dir option in tools/test.py (Gibson Fahnestock) #10723
- [6b54024324] - test: use realpath for NODE_TEST_DIR in common.js (Gibson Fahnestock) #10723
- [c6aeb4491b] - test: fix linting for test-tls-add-ca-cert.js (Sam Roberts) #10771
- [542f65c66b] - test: tls cert chain completion scenarios (Sam Roberts) #10389
- [97a8bd20c6] - test: check tls server verification with addCACert (Sam Roberts) #10389
- [ebcf834c14] - test: move common tls connect setup into fixtures (Sam Roberts) #10389
- [30926ac6d6] - test: move resource intensive test to sequential (Rich Trott) #10744
- [06a1e9eb7b] - test: add test for noAssert option in buf.read*() (larissayvette) #10713
- [160d0381d2] - test: refactor test-crypto-padding-aes256 (adelmann) #10622
- [cb111c96cc] - test: refactor the code of test-keep-alive.js (sivaprasanna) #10684
- [dbb7727320] - test: validate 'expected' argument to mustCall() (Nathan Friedly) #10692
- [e408f0a1f5] - test: fix misplaced ) in http response statuscode test (Nathan Friedly) #10692
- [4c8676bc26] - test: refactor test-doctool-html.js (abouthiroppy) #10696
- [da572131db] - test: improve the code in test-process-hrtime (Adrian Estrada) #10667
- [17d9a739c1] - test: refactor test-watch-file.js (sivaprasanna) #10679
- [cf5579d746] - test: improve zlib-from-gzip-with-trailing-garbage (Michael Lefkowitz) #10674
- [2d856097b3] - test: refactor the code in test-child-process-spawn-loop.js (sivaprasanna) #10605
- [1329eb47f0] - test: allow testing uid and gid separately (cjihrig) #10647
- [4aa32c196a] - test: improve code in test-https-strict (Adrian Estrada) #10648
- [e78de99bcb] - test: improve test-http-chunked-304 (Adrian Estrada) #10462
- [ff23d8112a] - test: improve test-fs-readfile-zero-byte-liar (Adrian Estrada) #10570
- [38bdfb0b8e] - test: refactor test-fs-utimes (Junshu Okamoto) #9290
- [09f35a49e3] - test: provide duration/interval to timers (Rich Trott) #9472
- [06a82436c2] - test: improve test-event-emitter-modify-in-emit (Adrian Estrada) #10600
- [736b95a617] - test: check error and cleanups in test-fs-read-buffer (Anna Henningsen) #10611
- [a77940c2d5] - test: mark test-tty-wrap as flaky for AIX (Michael Dawson) #10618
- [cf875d17f3] - test: improve test-fs-null-bytes (Adrian Estrada) #10521
- [656ba86a27] - test: fix Coverity warning in inspector test (Eugene Ostroukhov) #10510
- [9916ee8c36] - test: refactor test-https-truncate (Rich Trott) #10225
- [4ff1d3107f] - test: add http.ClientRequest defaults test (Brian White) #10654
- [1555ced404] - test, win: fix up symlink tests (Hitesh Kanwathirtha) #10477
- [4323c8018e] - test,cluster: add test-cluster-worker-deprecated (Rich Trott) #10675
- [33af09fe6a] - test,net: add tests for server.connections (Rich Trott) #10762
- [fc2db50021] - test,repl: add coverage for repl .clear+useGlobal (Rich Trott) #10777
- [84bf04b0c1] - test,util: remove lint workarounds (Rich Trott) #10785
- [c6af766ad9] - test-console: streamline arrow fn and refine regex (John Maguire) #11039
- [8fae9d4cfb] - tools: rename eslintrc to an undeprecated format (Sakthipriyan Vairamani) #7699
- [dd5a4e1d75] - tools: update ESLint to current version (Rich Trott) #10561
- [c92b8ecd81] - (SEMVER-MINOR) tools: add mdn link for Iterator (James M Snell) #10620
- [dec5900c42] - tools: add lint rule to enforce timer arguments (Rich Trott) #9472
- [891874406a] - tools: remove no-useless-regex-char-class-escape (Rich Trott) #10561
- [1634a7017e] - tools: remove custom align-function-arguments rule (Rich Trott) #10561
- [31f8f6f768] - tools, test: require const/let in test (Gibson Fahnestock) #10685
- [d39543e73d] - tools,doc: add Google Analytics tracking. (Phillip Johnsen) #6601
- [3adda4b2ad] - tools,test: enforce assert.ifError with lint rule (Teddy Katz) #10671
- [438a98ca95] - url: make URLSearchParams/Iterator match spec (Timothy Gu) #11057
- [2bfd58adb1] - url: define @@toStringTag as a data property (Timothy Gu) #10906
- [f1851cb8e4] - url: do not public expose inspect methods on URL (Timothy Gu) #10906
- [b48b80f630] - url: stop exporting originFor() (Timothy Gu) #10955
- [c0c1a4c029] - url: refactor lib/internal/url.js (Rich Trott) #10912
- [2f9fdc454f] - (SEMVER-MINOR) url: allow use of URL with http.request and https.request (James M Snell) #10638
- [95faa55ab9] - url: check forEach callback is a function (Timothy Gu) #10905
- [3642f35d09] - url: add return value to ToUnicode/ToAscii stubs (Birunthan Mohanathas) #10893
- [021338dc6d] - url: export URLSearchParams (Timothy Gu)
- [5d33c96679] - url: improving URLSearchParams (Timothy Gu) #10399
- [824978e337] - url: do not decode arbitrary . sequences in paths (James M Snell) #10602
- [e46bdcf2bb] - url: change null password handling (James M Snell) #10601
- [2b01138451] - url: TupleOrigin#toString use unicode by default (Joyee Cheung) #10552
- [9f6d1f6fc2] - util: improve readability of normalizeEncoding (Joyee Cheung) #10439
- [d628f3a227] - util: avoid out-of-bounds arguments index access (Teddy Katz) #10569
- [2641cd496d] - vm: improve performance of vm.runIn*() (Rich Trott) #10816
New in Node.js 7.3.0 (Dec 27, 2016)
- NOTABLE CHANGES:
- buffer:
- buffer.fill() now works properly for the UCS2 encoding on Big-Endian machines. (Anna Henningsen) #9837
- cluster:
- disconnect() now returns a reference to the disconnected worker. (Sean Villars) #10019
- crypto:
- The built-in list of Well-Known CAs (Certificate Authorities) can now be extended via a NODE_EXTRA_CA_CERTS environment variable. (Sam Roberts) #9139
- http:
- Remove stale timeout listeners in order to prevent a memory leak when using keep alive. (Karl Böhlmark) #9440
- tls:
- Allow obvious key/passphrase combinations. (Sam Roberts) #10294
- url:
- Including base argument in URL.originFor() to meet specification compliance. (joyeecheung) #10021
- Improve URLSearchParams to meet specification compliance. (Timothy Gu) #9484
- COMMITS:
- [c2cc11b3c6] - Working on v7.2.2 (Jeremiah Senkpiel) #10127
- [b99a372e91] - buffer: fix single-character string filling (Anna Henningsen) #9837
- [d8b6723096] - buffer: handle UCS2 .fill() properly on BE (Anna Henningsen) #9837
- [e61331ee9b] - build: fix node_g target (Daniel Bevenius) #10153
- [9d04152e15] - build: Don't regenerate node symlink (sxa555) #9827
- [5d14602181] - (SEMVER-MINOR) cluster: return worker reference from disconnect() (Sean Villars) #10019
- [6963e8aa9d] - (SEMVER-MINOR) crypto: allow adding extra certs to well-known CAs (Sam Roberts) #9139
- [a308a2fae4] - deps: cherry-pick 081fce3 from V8 upstream (Matt Loring) #10342
- [7c3d280bf0] - doc: rework tls for accuracy and clarity (Sam Roberts) #9800
- [6b98906a08] - doc: document R CRAN mirror process (Lucas Holmquist) #10211
- [7e8c5e3490] - doc: expand common module material in test guide (Rich Trott) #10251
- [ee736b276c] - doc: fix broken link in COLLABORATOR_GUIDE.md (Michael Dawson) #10267
- [40b0ca1329] - doc: fix typo in code example of 'path' module (pallxk) #10136
- [b44e7891d0] - doc: standardizing on make -j4 (Jonathan Darling) #9961
- [ff8fdb14fb] - doc: add note to parallelize make (Jonathan Darling) #9961
- [5a64187bed] - doc: buffer allocation throws for negative size (joyeecheung) #10151
- [20fdf3aec6] - doc: add some info on tty#setRawMode() (Jeremiah Senkpiel) #10147
- [ae53a6e12b] - doc: update path.format description and examples (anoff) #10046
- [30340388f1] - doc: add a variable declaration in the buffer.md (Vse Mozhet Byt) #9795
- [d64e52c68d] - doc: adding missing - in README (Italo A. Casas) #10170
- [39bf5bfaf1] - doc: removing extra space in README (Italo A. Casas) #10168
- [bc64a63440] - doc: fix a wrong note in the buffer.md (Vse Mozhet Byt) #9795
- [d4c73d4823] - doc: remove an extraneous word in the buffer.md (Vse Mozhet Byt) #9795
- [d373b2f2fb] - doc: fix examples in buffer.md to avoid confusion (Vse Mozhet Byt) #9795
- [7a39a44dbc] - doc: remove a wrong remark in the buffer.md (Vse Mozhet Byt) #9795
- [39b083eb51] - doc: repeat a remark as needed in the buffer.md (Vse Mozhet Byt) #9795
- [622690f242] - doc: fix copy-paste artifacts in the buffer.md (Vse Mozhet Byt) #9795
- [3b848a279b] - doc: fix wrong function arguments in the buffer.md (Vse Mozhet Byt) #9795
- [9e47b943a7] - doc: fix a syntax error in the buffer.md (Vse Mozhet Byt) #9795
- [1864222d50] - doc: var => const/let in the buffer.md (Vse Mozhet Byt) #9795
- [7b924f1713] - doc: fix typo in ecdhCurve, a tls property name (Sam Roberts) #10345
- [2673be676a] - fs: remove unused argument from copyObject() (Ethan Arrowood) #10041
- [1081f0f33d] - fs: remove needless assignment of null (Francis Gulotta) #10260
- [dded482bb8] - http: remove stale timeout listeners (Karl Böhlmark) #9440
- [b41db3396b] - inspector: check if connected before waiting (Eugene Ostroukhov) #10094
- [b6a8bc6ac3] - lib,test: use consistent operator linebreak style (Michaël Zasso) #10178
- [ef2fa56314] - src: fix string format mistake for 32 bit node (Alex Newman) #10082
- [d4e160c946] - (SEMVER-MINOR) src: add wrapper for process.emitWarning() (Sam Roberts) #9139
- [ec2f13fe66] - src: don't overwrite non-writable vm globals (Ben Noordhuis) #10227
- [28ffd593e2] - stream, test: test _readableState.emittedReadable (Joyee Cheung) #10249
- [729fecf390] - stream_base: homogenize req_wrap_obj use (Fedor Indutny) #10184
- [8b9131c1f8] - test: tls key/cert ordering not necessary (Sam Roberts) #9800
- [8a34e60b41] - test: var to const in tls-no-cert-required (Sam Roberts) #9800
- [ea16a2ab52] - test: stream readable needReadable state (Joyee Cheung) #10241
- [e4b29a57f9] - test: refactor test-fs-read-stream-inherit (Rich Trott) #10246
- [fb297cba8f] - test: refactor test-dgram-send-callback-multi-buffer (mfrance) #9999
- [16fbd4f6bf] - test: refactor test-tls-ecdh-disable (Aaron Williams) #9989
- [46c55a6454] - test: cleanup test-stdout-close-catch.js (Travis Bretton) #10006
- [8c8b1230da] - test: use const/let and common.mustCall (Outsider) #9959
- [74563f07e9] - test: refactor domain test (Adao Junior) #10269
- [d9cfd5484f] - test: clean up domain-no-error-handler test (weyj4) #10291
- [553a32674a] - test: fix http-client-timeout-option-listeners (Rich Trott) #10224
- [308cead66e] - test: update test-domain-uncaught-exception.js (Andy Chen) #10193
- [60542cb98b] - test: refactor test-domain.js (Siddhartha Sahai) #10207
- [c0800d9449] - test: refactor test-stream-big-push (Rich Trott) #10226
- [b9361cae6e] - test: refactor test-http-dns-fail (Adrian Estrada) #10243
- [a97f26476d] - test: refactor test-crypto-random (Rich Trott) #10232
- [2f9c8d977f] - test: refactor test-http-pause-resume-one-end (Rich Trott) #10210
- [90659bc95c] - test: fix flaky test-dgram-exclusive-implicit-bind (Rich Trott) #10212
- [a4f3080595] - test: improvements in test fixtures symlinked (Adrian Estrada) #10182
- [d5e30a69e2] - test: refactor test-fs-fsync (Rob Adelmann) #10176
- [be87441463] - test: refactor test-http-after-connect.js (larissayvette) #10229
- [2b78212445] - test: use strictEqual in test-debug-break (Adrian Estrada) #10181
- [8b698d89ac] - test: refactor assert.equal, update syntax to ES6 (Prieto, Marcos) #10190
- [3749dc6ce7] - test: refactor http pipelined socket test (Rich Trott) #10189
- [e1d813f3f8] - test: refactor test-handle-wrap-close-abort (Rich Trott) #10188
- [7f01484a7a] - test: add ES6 and strictEqual to test-fs-truncate (Adrian Estrada) #10167
- [88839cf204] - test: replace var with const in test-require-dot (Amar Zavery) #9916
- [09ec5db10b] - test: fail for missing output files (Anna Henningsen) #10150
- [3f269cc760] - test: use ES6 in test-debugger-client.js (Adrian Estrada) #10183
- [1f11deb58f] - test: improve buffer transcode (Johnny Reading) #10043
- [3e8df733e8] - test: improving crypto fips (James Tenenbaum) #10002
- [6780c0e572] - test: stream readableState readingMore state (Gregory) #9868
- [c792e2ac49] - test: stream readableListening internal state (Italo A. Casas) #9864
- [28c6df2604] - test: add stdin-setrawmode.out file (Jonathan Darling) #10149
- [f5347abac8] - test: set stdin too for pseudo-tty tests (Anna Henningsen) #10149
- [3a460d5469] - test: check for error on invalid signal (Matt Phillips) #10026
- [1ebb5b9adb] - test: refactor test-http-unix-socket (davidmarkclements) #10072
- [8b7c97bc59] - test: increase test coverage of BufferList (joyeecheung) #10171
- [53e8e962d4] - test: fix flaky test-net-socket-timeout (Rich Trott) #10172
- [ca38f70dea] - test: refactor test-net-keepalive.js (Kyle Corsi) #9995
- [a9d4bd7a34] - test: refactor test-crypto-hmac (eudaimos) #9958
- [778e5f7d0c] - test: fix error in test-cluster-worker-death.js (Bruce Lai) #9981
- [b67cad1174] - test: use assert.strictEqual (anoff) #9975
- [72fb05d062] - test: change assert.equal to assert.strictEqual (Aileen) #9946
- [dac757e502] - test: changed assert.equal to assert.strictEqual (vazina robertson) #10015
- [d7988e0355] - test: renamed assert.Equal to assert.strictEqual (Jared Young)
- [9d037cfa44] - test: improves test-tls-client-verify (Paul Graham) #10051
- [2565e48445] - test: refactor test-https-agent-session-reuse (Diego Paez) #10105
- [11140802f4] - test: refactor test-beforeexit-event (Rob Adelmann) #10121
- [e695862531] - test: improve test-fs-read-stream.js (Jenna Vuong) #9629
- [be90638487] - test: refactor test-domain-from-timer (Daniel Sims) #9889
- [2c5d5629de] - test: refactor test-domain-exit-dispose-again (Ethan Arrowood) #10003
- [6d4f270f2f] - test: use const and strictEqual in test-os-homedir-no-envvar (CodeVana) #9899
- [62f5a0bf59] - test: check result of uv_loop_init and uv_write (Ben Noordhuis) #10126
- [19432f05ff] - test: refactor test-dgram-bind-default-address (Michael-Bryant Choa) #9947
- [01509bc67e] - test: move long-running test to sequential (Rich Trott) #10161
- [d8dc890352] - test: assert.throws() should include a RegExp (Chris Bystrek) #9976
- [6f2f02d5ad] - test: invalid package.json causes error when require()ing in directory (Sam Shull) #10044
- [6489a91027] - test: refactor test-listen-fd-ebadf (Richard Karmazin) #10034
- [eb1664bed9] - test: refactor test-event-emitter-method-names (Rodrigo Palma) #10027
- [c66cf2c1cf] - test: refactor tls-ticket-cluster (Yojan Shrestha) #10023
- [de9972678e] - test: refactor test-domain-exit-dispose (Chris Henney) #9938
- [5ca90777e6] - test: refactor test-stdin-from-file.js (amrios) #10012
- [4d66578997] - test: use ES6 to update let & const (Jason Humphrey) #9917
- [bb9174745b] - test: fix test for buffer regression #649 (joyeecheung) #9924
- [613798335c] - test: stream readable resumeScheduled state (Italo A. Casas) #10299
- [15c71f6c66] - test: improve code in test-fs-open.js (Adrian Estrada) #10312
- [793d8719eb] - test: fix flaky test-debug-port (Santiago Gimeno) #10316
- [5e781a3883] - test: refactor the code in test-dns-ipv6 (Adrian Estrada) #10219
- [8b367c5ddd] - test: improve test-child-process-fork-and-spawn (Adrian Estrada) #10273
- [348e69c89d] - test: fix flaky test-http-client-timeout-event (Rich Trott) #10293
- [0d3ac89ff7] - test: add known_issues test for #6287 (AnnaMag) #10272
- [f7f662cad5] - test: improve test-child-process-exec-buffer (Adrian Estrada) #10275
- [f66461382c] - timers: fix handling of cleared immediates (hveldstra) #9759
- [8e4b9fa487] - tls: fix/annotate connect arg comments (Sam Roberts) #9800
- [980acb4b95] - tls: document and test option-less createServer (Sam Roberts) #9800
- [41e1e6eb35] - tls: do not refer to secureOptions as flags (Sam Roberts) #9800
- [0b44384561] - (SEMVER-MINOR) tls: allow obvious key/passphrase combinations (Sam Roberts) #10294
- [a92f2ad19c] - tools: enforce consistent operator linebreak style (Michaël Zasso) #10178
- [cc5bd9a0cf] - tools: add macosx-firwall script to avoid popups (Daniel Bevenius) #10114
- [7cb98138a9] - tools: forbid template literals in assert.throws (Michaël Zasso) #10301
- [24482d08ce] - (SEMVER-MINOR) url: add inspect function to TupleOrigin (Safia Abdalla) #10039
- [f08d8a6c6f] - url: improve URLSearchParams spec compliance (Timothy Gu) #9484
- [19d7197177] - url: add a got host pattern in url.js (Axel Monroy) #9653
- [2da71f24de] - url, test: fix typo in inspect output, add test (Jay Brownlee) #10231
- [80cccce218] - url, test: including base argument in originFor (joyeecheung) #10021
- [7a0fe9f471] - win,msi: add required UIRef for localized strings (Bill Ticehurst) #8884
New in Node.js 7.2.0 (Nov 26, 2016)
- Notable changes:
- crypto: The Decipher methods setAuthTag() and setAAD now return this. (Kirill Fomichev) #9398
- dns: Implemented {ttl: true} for resolve4() and resolve6(). (Ben Noordhuis) #9296 & #9296
- libuv: Upgrade to v1.10.1 (cjihrig) #9647: Fixed a potential buffer overflow when writing data to console on Windows 10. (CVE-2016-9551)
- process: Added a new external property to the data returned by memoryUsage(). (Fedor Indutny) #9587
- tls: Fixed a memory leak when writes were queued on TLS connection that was destroyed during handshake. (Fedor Indutny) #9626
- V8 (dep): Upgrade to v5.4.500.43 (Michaël Zasso) #9697
- v8: The data returned by getHeapStatistics() now includes three new fields: malloced_memory, peak_malloced_memory, and does_zap_garbage. (Gareth Ellis) #8610
New in Node.js 7.0.0 (Oct 25, 2016)
- NOTABLE CHANGES:
- Buffer:
- Passing invalid input to Buffer.byteLength will now throw an error #8946.
- Calling Buffer without new is now deprecated and will emit a process warning #8169.
- Passing a negative number to allocUnsafe will now throw an error #7079.
- Child Process:
- The fork and execFile methods now have stronger argument validation #7399.
- Cluster:
- The worker.suicide method is deprecated and will emit a process warning #3747.
- Deps:
- V8 has been updated to 5.4.500.36 #8317, #8852, #9253.
- NODE_MODULE_VERSION has been updated to 51 #8808.
- File System:
- A process warning is emitted if a callback is not passed to async file system methods #7897.
- Intl:
- Intl.v8BreakIterator constructor has been deprecated and will emit a process warning #8908.
- Promises:
- Unhandled Promise rejections have been deprecated and will emit a process warning #8217.
- Punycode:
- The punycode module has been deprecated #7941.
- URL:
- An Experimental WHATWG URL Parser has been introduced #7448.
- COMMITS:
- [1043f5d08e] - assert: name anonymous functions (Miguel Angel Asencio Hurtado) #9051
- [06f37471aa] - benchmark: use node v4 syntax in common.js (Andreas Madsen) #9064
- [8b152fcf47] - benchmark: change the execution order (Andreas Madsen) #9064
- [a5046bf8ef] - benchmark: fixes csv parsing given no parameters (Andreas Madsen) #9064
- [af01865d66] - benchmark: add info about required Unix tools (Bartosz Sosnowski) #8788
- [dfb5f301cf] - benchmark: make v8-bench.js output consistent (Bartosz Sosnowski) #8564
- [84481f9157] - benchmark: add --expose_internals switch (Bartosz Sosnowski) #8547
- [d3834a1fa3] - benchmark: ignore significance when using --runs 1 (Andreas Madsen) #8299
- [b1bbc68fb1] - benchmark: support for multiple http benchmarkers (Bartosz Sosnowski) #8140
- [474e629ddb] - benchmark: add --format csv option (Adrian Nitu) #7961
- [4b527a4129] - benchmark: update compare.js exit method (Adrian Nitu) #7961
- [9e7fd8e810] - benchmark: fix comment typos and code format (Adrian Nitu) #7961
- [d525e6c92a] - (SEMVER-MAJOR) benchmark: remove broken string-creation.js (Andreas Madsen) #7094
- [6edef1deb9] - (SEMVER-MAJOR) benchmark: update docs after refactor (Andreas Madsen) #7094
- [0c0f34e2fe] - (SEMVER-MAJOR) benchmark: add script for creating scatter plot (Andreas Madsen) #7094
- [855009af7f] - (SEMVER-MAJOR) benchmark: use t-test for comparing node versions (Andreas Madsen) #7094
- [8bb59fdb12] - (SEMVER-MAJOR) benchmark: missing process.exit after bench.end (Andreas Madsen) #7094
- [f99471b2ae] - (SEMVER-MAJOR) benchmark: refactor to use process.send (Andreas Madsen) #7094
- [0f9bfaa7c5] - (SEMVER-MAJOR) benchmark: move cli parts of common.js into run.js (Andreas Madsen) #7094
- [edbed3f3fd] - (SEMVER-MAJOR) benchmark: move http_simple.js to http directory (Andreas Madsen) #7094
- [ee2843b4ea] - (SEMVER-MAJOR) benchmark: remove unused files (Andreas Madsen) #7094
- [60042ca70e] - buffer: fix range checks for slice() (Trevor Norris) #9174
- [14d1a8a631] - buffer: coerce slice parameters consistently (Sakthipriyan Vairamani (thefourtheye)) #9101
- [96b501d338] - (SEMVER-MAJOR) buffer: make byteLength throw on invalid input (Brian White) #8946
- [c21458a15d] - (SEMVER-MINOR) buffer: expose underlying buffer object always (Sakthipriyan Vairamani) #8311
- [2c9a86f01e] - buffer: directly use ArrayBuffer as the pool (Anna Henningsen) #8302
- [f2fe5583c4] - (SEMVER-MAJOR) buffer: runtime deprecation of calling Buffer without new (Nikolai Vavilov) #8169
- [9cee8b1b62] - (SEMVER-MAJOR) buffer: alias toLocaleString to toString (James M Snell) #8148
- [8f90dcc1b8] - (SEMVER-MAJOR) buffer: throw on negative .allocUnsafe() argument (Anna Henningsen) #7079
- [bd23290657] - buffer: remove obsolete and confusing comment (Nikolai Vavilov) #7264
- [5292a1358f] - buffer: improve creation performance. (Ingvar Stepanyan) #6893
- [c5f5bcb331] - build: fix config.gypi target (Daniel Bevenius) #9053
- [b311906abf] - (SEMVER-MAJOR) build: do not clean V8 gtest directory (Michaël Zasso) #8317
- [94f68b5b97] - (SEMVER-MAJOR) build: fix mkpeephole configuration (Ali Ijaz Sheikh) #8317
- [8481ea1ca4] - (SEMVER-MAJOR) build: use libc++ on OSX (Ali Ijaz Sheikh) #8317
- [197d18795e] - (SEMVER-MAJOR) build: define icu_use_data_file_flag (Ali Ijaz Sheikh) #8317
- [eab418f7f9] - (SEMVER-MAJOR) build: update V8 gypfile paths (Michaël Zasso) #8317
- [88e862ba82] - build: windows sharedlib support (Stefan Budeanu) #7487
- [6eece7773e] - child_process: update outdated comment (Tanuja-Sawant)
- [0548e5d12a] - (SEMVER-MAJOR) child_process: add fork/execFile arg validation (Rich Trott) #7399
- [b90f3da9de] - (SEMVER-MAJOR) child_process, win: fix shell spawn with AutoRun (Bartosz Sosnowski) #8063
- [f44b18f010] - (SEMVER-MAJOR) cluster: deprecate worker.suicide (Evan Lucas) #3747
- [bd7d7a7e17] - console: name anonymous functions (Tyler Brazier) #9047
- [c60d43b6d9] - crypto: fix faulty logic in iv size check (Ben Noordhuis) #9032
- [72f1c41fb6] - crypto: naming anonymous functions (solebox) #8993
- [89643b645e] - crypto: use SSL_get_SSL_CTX. (Adam Langley) #8995
- [f4aa2c2c93] - (SEMVER-MAJOR) crypto: remove POINT_CONVERSION_HYBRID from documentation. (Adam Langley) #4956
- [6bbdd668bd] - deps: update V8 to 5.4.500.36 (Michaël Zasso) #9253
- [5e3a480ad5] - deps: revert default gtest reporter change (Brian White) #8948
- [c0a3ac2e94] - deps: cherry-pick missing v8 floating patch (Michael Dawson) #8907
- [bef4b3bfda] - deps: update V8 to 5.4.500.31 (Michaël Zasso) #8852
- [a88bb3a758] - (SEMVER-MAJOR) deps: cherry-pick workaround for clang-3.4 ICE (Michaël Zasso) #8317
- [90efff6000] - (SEMVER-MAJOR) deps: update V8 to 5.4.500.27 (Michaël Zasso) #8317
- [245ac302f5] - (SEMVER-MINOR) deps: update V8 to 5.1.281.75 (Ben Noordhuis) #7615
- [dc17432208] - deps: fix V8 5.1 tests (Michaël Zasso) #7488
- [2cc2951796] - (SEMVER-MINOR) deps: update V8 to 5.1.281.69 (Michaël Zasso) #7016
- [e9b6fbbf17] - (SEMVER-MAJOR) dgram: prefer strict equality, type validation (Claudio Rodriguez) #8011
- [260f41f2cc] - dns: name anonymous functions (Miguel Angel Asencio Hurtado) #9052
- [3238f15234] - doc: change os x tag to macos (Gibson Fahnestock) #9009
- [1794456ebc] - doc: change solaris tag to smartos (Gibson Fahnestock) #9009
- [98ca07bfe0] - doc: add teams for platform-specific issues (Gibson Fahnestock) #9009
- [e4e60b45e1] - doc: add s390 and ppc architecture labels (Gibson Fahnestock) #9009
- [3b580145c4] - doc: fixes formatting in process (Rod Machen) #9235
- [3e2bafe053] - doc: improve header styling for API docs (Jeremiah Senkpiel) #8811
- [0a307f90cd] - doc: clarify fs.link and fs.linkSync arguments (Kyle E. Mitchell) #9145
- [38cf1d4739] - doc: remove confusing reference in governance doc (Rich Trott) #9073
- [5bf215d6b9] - doc: suggest nodejs/help for general support (Myles Borins) #9128
- [5e26980937] - doc: fix header level for crypto.constants (Evan Lucas) #9187
- [89b920fead] - doc: add ctc-review label information (Rich Trott) #9072
- [e6d1d54230] - doc: fix typo in zlib.md (Parambir Singh) #9123
- [3b63b64992] - doc: further improve child_process doc types (Indrek Ardel) #9095
- [f56bdecde1] - doc: edit Stream api grammar (Benji Marinacci) #9100
- [95d45d750a] - doc: improved example for http.get (marzelin) #9065
- [0022bfe42e] - doc: update reference to list hash algorithms in crypto.md (scott stern) #9043
- [b0da43104f] - doc: specify that errno is a number, not a string (John Vilk) #9007
- [c258dc89d9] - doc: highlight deprecated API in ToC (Ilya Frolov) #7189
- [d529a46416] - doc: explains why Reviewed-By is added in PRs (jessicaquynh) #9044
- [482995e7cc] - doc: explain why GitHub merge button is not used (jessicaquynh) #9044
- [3735f22480] - doc: fix typo (Nikolai Vavilov) #9089
- [839f1f02ed] - doc: fix broken links in changelogs (Evan Lucas) #8122
- [8f6589a0ba] - doc: revise http documentation (Timothy Gu) #8486
- [f3f5a89a10] - doc: *.md formatting fixes in the benchmark dir (Сковорода Никита Андреевич) #7727
- [9744928cf5] - doc: fix layout problem in v4 changelog (Myles Borins) #7394
- [d976d66cfc] - doc: clarify fs.access works on directories too. (Lance Ball) #7113
- [8c1d5e58d4] - doc: improve rendering of v4.4.5 changelog entry (Myles Borins) #6958
- [2bceda6493] - doc: get rid of sneaky hard tabs in CHANGELOG (Myles Borins) #6608
- [29e49fc286] - (SEMVER-MAJOR) doc, punycode: soft-deprecation of the punycode module (James M Snell) #7941
- [3b8ec68a3a] - (SEMVER-MAJOR) domain: add message for dispose deprecation (Brian White) #7053
- [983775d457] - (SEMVER-MAJOR) events: make memory leak warning name more verbose (Anna Henningsen) #8341
- [b7a8a691b4] - (SEMVER-MAJOR) events: unwrap #once listeners in #listeners (Owen Smith) #6881
- [108c1fbbe2] - fs: clarify fs.link and fs.linkSync arguments (Kyle E. Mitchell) #9145
- [7f7d1d385d] - (SEMVER-MAJOR) fs: move stringToFlags() to lib/internal (Ben Noordhuis) #7162
- [fe9f5bcd75] - fs: don't alter user provided options object (Sakthipriyan Vairamani (thefourtheye)) #7831
- [169f485289] - (SEMVER-MAJOR) fs: refactor "options" processing as a function (Sakthipriyan Vairamani) #7165
- [21124ba23a] - (SEMVER-MAJOR) fs: do not emit 'stop' watch event synchronously (Claudio Rodriguez) #8524
- [b50557b51b] - fs: use process.emitWarning to print deprecation warning (James M Snell) #8166
- [dc7277909b] - fs: move SyncWriteStream to internal/fs (James M Snell) #6749
- [49ef3ae90a] - (SEMVER-MAJOR) Revert "fs: add a temporary fix for re-evaluation support" (James M Snell) #6413
- [f8f283b8f3] - (SEMVER-MAJOR) fs: warn if no callback is passed to async calls (Sakthipriyan Vairamani) #7897
- [6f27bedfba] - governance: expand use of CTC issue tracker (Rich Trott) #8945
- [179150091f] - http: name anonymous functions in http (maasencioh) #9055
- [73a8d3b0da] - http: name anonymous functions in _http_server (maasencioh) #9055
- [ffa5c9ea30] - http: name anonymous functions in _http_outgoing (maasencioh) #9055
- [fa035ada90] - http: name anonymous functions in _http_incoming (maasencioh) #9055
- [ec17e76656] - http: name anonymous functions in _http_client (maasencioh) #9055
- [9099a43073] - http: name anonymous functions (maasencioh) #9054
- [cde2ca96e4] - http: reject control characters in http.request() (Ben Noordhuis) #8923
- [2cc7fa5e7d] - (SEMVER-MAJOR) http: remove deprecated Client interface (Brian White) #8104
- [31bef6b704] - (SEMVER-MAJOR) http: correct error message for invalid trailer (Bryan English) #6308
- [a54ec7f49c] - inspector: no URLs when the debugger is connected (Eugene Ostroukhov) #8919
- [626a07df5b] - inspector: restore 9229 as a default port (Eugene Ostroukhov) #8550
- [9f1f7e2a34] - (SEMVER-MAJOR) inspector: listen on process.debugPort (cjihrig) #8386
- [7b73f55902] - internal/util: remove printDeprecationWarning (James M Snell) #8166
- [9ad3082b1c] - (SEMVER-MAJOR) intl: add deprecation warning for v8BreakIterator (Michaël Zasso) #8908
- [15eaba98a1] - lib: use emitWarning instead of printDeprecationMessage (James M Snell) #8166
- [3a3996315c] - lib,src: reset zero fill flag on exception (Ben Noordhuis) #7093
- [27e84ddd4e] - lib,src: clean up ArrayBufferAllocator (Ben Noordhuis) #7082
- [334ef4f19d] - lib,src: drop dependency on v8::Private::ForApi() (Ben Noordhuis) #7082
- [d582193613] - (SEMVER-MAJOR) module: Remove deprecated function requireRepl. (Adri Van Houdt) #8575
- [6f1cae70eb] - net: fix ambiguity in EOF handling (Fedor Indutny) #9066
- [fd6af98c2d] - (SEMVER-MAJOR) net: refactor Server.prototype.listen (Jan Schär) #4039
- [5e5ec2cd1e] - (SEMVER-MAJOR) os: deprecate tmpDir() in favour of tmpdir() (Jeremiah Senkpiel) #6739
- [aedb72e03b] - process: improve performance of nextTick (Evan Lucas) #8932
- [bf91035364] - process: fix handling of process.noDeprecation in emitWarning (James M Snell) #8166
- [62b544290a] - (SEMVER-MAJOR) process: remove deprecated process.EventEmitter (cjihrig) #6862
- [07dbf7313d] - (SEMVER-MAJOR) promise: hard deprecation for unhandled promise rejection (James M Snell) #8217
- [ecf474ceba] - (SEMVER-MAJOR) promise: warn on unhandled rejections (Benjamin Gruenbaum) #8217
- [1a9e247c79] - (SEMVER-MAJOR) readline: show completions only after 2nd TAB (Anna Henningsen) #7754
- [8a87b29034] - (SEMVER-MAJOR) readline: remove deprecated methods (cjihrig) #6423
- [488d28d391] - (SEMVER-MAJOR) repl: deprecate unused function convertToContext (Prince J Wesley) #7829
- [b2be04ac85] - src: refactor contextify (Franziska Hinkelmann) #8909
- [e175188a94] - src: fix typo rval to value (Miguel Angel Asencio Hurtado) #9023
- [1fda657cac] - (SEMVER-MAJOR) src: update module version mismatch error message (James M Snell) #8391
- [96933df2ff] - (SEMVER-MAJOR) src: update NODE_MODULE_VERSION to 51 (Myles Borins) #8808
- [b032f1cfc3] - (SEMVER-MAJOR) src: no longer need to use std::tr1:: (Michaël Zasso) #8317
- [ebad04326d] - src: notify V8 for low memory when alloc fails (Anna Henningsen) #8482
- [aed9792ff4] - src: provide allocation + nullptr check shortcuts (Anna Henningsen) #8482
- [d2470d4dff] - src: pass desired return type to allocators (Anna Henningsen) #8482
- [de946013c2] - src: add Malloc() size param + overflow detection (Anna Henningsen) #8482
- [5bf94357a9] - src: remove unused StringValue macro parameters (Daniel Bevenius) #7905
- [cc00be6ace] - src: fix -Wunused-result warning (Santiago Gimeno) #8450
- [8e7cbe2546] - (SEMVER-MAJOR) src: make debugger listen on 127.0.0.1 by default (Ben Noordhuis) #8106
- [781713d5ef] - src: remove unused isolate member (Ben Noordhuis) #7334
- [de4161d367] - src: remove unused internals from node.cc (Anna Henningsen) #7117
- [ac0665c908] - src: fix ArrayBuffer size for zero fill flag (Anna Henningsen) #7142
- [aac79dfd78] - src: use stack-allocated Environment instances (Ben Noordhuis) #7090
- [58cec4e85b] - src: move env init logic into Environment class (Ben Noordhuis) #7090
- [c3cd453cba] - src: make IsolateData creation explicit (Ben Noordhuis) #7082
- [0301ce9f55] - src: move IsolateData out of Environment (Ben Noordhuis) #7082
- [a3c5567eb4] - (SEMVER-MAJOR) src,win: use correct exit code in old versions (yorkie) #8204
- [2f05af4c06] - (SEMVER-MAJOR) stream: improve stream error messages (Italo A. Casas) #8801
- [9983af0347] - (SEMVER-MAJOR) stream: improve unimplemented _write() error (ratikesh9) #7671
- [0cd0118334] - (SEMVER-MAJOR) stream: 'data' argument on callback of Transform._flush() (Jesús Leganés Combarro "piranna) #3708
- [a717be87a3] - test: fix flaky test-timers-blocking-callback (Rich Trott) #9198
- [5ba02bf5db] - test: remove arbitrary timer (Rich Trott) #9197
- [1518cc1e70] - test: remove duplicate required module (Rich Trott) #9169
- [d62e7bd1f9] - test: add regression test for instanceof (Franziska Hinkelmann) #9178
- [bb1e6064c1] - test: rename target to exports for consistency (Daniel Bevenius) #9135
- [8788d009f8] - test: checking if error constructor is assert.AssertionError (larissayvette) #9119
- [68157bd8b9] - test: remove unneeded escaping in template strings (Rich Trott) #9112
- [0591362887] - test: remove unused common.libDir (Rich Trott) #9124
- [0f2f4d2425] - test: fix flaky test-child-process-fork-dgram (Rich Trott) #9098
- [47863a5837] - test: use npm sandbox in test-npm-install (João Reis) #9079
- [67e2b92e21] - test: enable node-module-version/test.js with debug (Daniel Bevenius) #9093
- [d5bdd65c6a] - test: move module out of fixture directory (Rich Trott) #9022
- [0ad0e6addb] - test: fix issues reported by Coverity (Eugene Ostroukhov) #8870
- [aac93a5c64] - test: refactor test-file-* (Jenna Vuong) #8999
- [1bb1b3abe4] - test: fixes that do not affect performance (larissayvette) #9011
- [96faba6ad8] - test: add cluster inspector debug port test (cjihrig) #8958
- [7926886bf3] - test: fix test-debug-signal-cluster.js flakyness (Julien Gilli) #8568
- [99cfd53097] - (SEMVER-MAJOR) test: test execFile/fork arg validation (Chuck Langford) #7399
- [15cd45c6fc] - test: fix tests for non-crypto builds (Anna Henningsen) #7056
- [fea3070ec4] - test: add buffer testcase for resetting kZeroFill (Сковорода Никита Андреевич) #7093
- [2cdd5ccef9] - test,lib,benchmark: match function names (Rich Trott) #9113
- [827660e03e] - tools: enable ES2016 syntax support in ESLint (Michaël Zasso) #9218
- [a83354a567] - tools: replace custom lint rule for getter/setter (Rich Trott) #9194
- [3ab8be07cb] - tools: fix release script on macOS 10.12 (Evan Lucas) #8824
- [72fa9f5663] - tools: update ESLint to v3.8.0 (Rich Trott) #9112
- [8ac29bd7c1] - tools: avoid let in for loops (jessicaquynh) #9049
- [1a93e03a0e] - (SEMVER-MAJOR) tools: do not disable ICU's transliteration (Michaël Zasso) #8317
- [6a3dbdacd6] - (SEMVER-MAJOR) udp: remove ancient check (Saúl Ibarra Corretgé) #8088
- [1afd7c166e] - url: fix building when using --without-intl (James M Snell) #9041
- [a8ece149e2] - (SEMVER-MINOR) url: adding WHATWG URL support (James M Snell) #7448
- [336b027411] - (SEMVER-MAJOR) url: return valid file: urls fom url.format() (Rich Trott) #7234
- [197a465280] - (SEMVER-MAJOR) zlib: move constants into zlib.constants (James M Snell) #7203
New in Node.js 6.9.1 (Oct 21, 2016)
- Notable changes:
- streams: Fix a regression introduced in v6.8.0 in readable stream that caused unpipe to remove the wrong stream (Anna Henningsen)
- Commits:
- [2c3bbb576c] - doc: fix changelog index for v6.9.0 (Rod Vagg) #9168
- [f4b766f5b7] - streams: fix regression in unpipe() (Anna Henningsen) #9171
- [6072326009] - test: add regression test for unpipe() (Niels Nielsen) #9171
- [9f248a4d83] - tools: check tag is on github before release (Rod Vagg) #9142
- [c74d3a700a] - tools: make detached SHASUM .sig file for releases (Rod Vagg) #9071
- [955bbf876f] - tools: explicitly set digest algo for SHASUM to 256 (Rod Vagg) #9071
New in Node.js 6.9.0 (Oct 18, 2016)
- Notable changes:
- crypto: Don't automatically attempt to load an OpenSSL configuration file, from the OPENSSL_CONF environment variable or from the default location for the current platform. Always triggering a configuration file load attempt may allow an attacker to load compromised OpenSSL configuration into a Node.js process if they are able to place a file in a default location. (Fedor Indutny, Rod Vagg)
- node: Introduce the process.release.lts property, set to "Boron". This value is "Argon" for v4 LTS releases and undefined for all other releases. (Rod Vagg)
- V8: Backport fix for CVE-2016-5172, an arbitrary memory read. The parser in V8 mishandled scopes, potentially allowing an attacker to obtain sensitive information from arbitrary memory locations via crafted JavaScript code. This vulnerability would require an attacker to be able to execute arbitrary JavaScript code in a Node.js process. (Rod Vagg)
- v8_inspector: Generate a UUID for each execution of the inspector. This provides additional security to prevent unauthorized clients from connecting to the Node.js process via the v8_inspector port when running with --inspect. Since the debugging protocol allows extensive access to the internals of a running process, and the execution of arbitrary code, it is important to limit connections to authorized tools only. Vulnerability originally reported by Jann Horn. (Eugene Ostroukhov)
- Commits:
- [99e4eee8ef] - build: do not define ZLIB_CONST (Bradley T. Hughes) #9122
- [cae9eb35f0] - crypto: fix openssl.cnf FIPS handling & testing (Rod Vagg) nodejs/node-private#82
- [c947d448da] - deps: cherry-pick 0e14baf712 from V8 upstream (Rod Vagg) nodejs/node-private#80
- [647afe9d9a] - inspector: generate UUID for debug targets (Eugene Ostroukhov) nodejs/node-private#79
- [1ea0358a91] - node: --openssl-config cli argument (Fedor Indutny) nodejs/node-private#78
- [455272ad33] - (SEMVER-MINOR) src: add process.release.lts property (Rod Vagg) #3212
- [9ace073949] - win,build: try multiple timeservers when signing (Rod Vagg) #9155
New in Node.js 6.8.1 (Oct 15, 2016)
- Notable changes:
- build: Fix building with shared zlib. (Bradley T. Hughes) #9077
- stream: Fix regression in stream.Writable subclass instanceof checks. (Anna Henningsen) #9088
- timers: Fix regression where immediates that are cleared in the callback would never be called. (Brian White) #9086
- Commits:
- [8d2206fe41] - build: add -DZLIB_CONST when building with --shared-zlib (Bradley T. Hughes) #9077
- [8c4fab0a28] - stream: fix Writable subclass instanceof checks (Anna Henningsen) #9088
- [7171bd6311] - timers: fix regression with clearImmediate() (Brian White) #9086
New in Node.js 6.8.0 (Oct 13, 2016)
- NOTABLE CHANGES
- http: http.request() now accepts a timeout option. (Rene Weber) #8101
- module: The module loader now maintains its own realpath cache. (Anna Henningsen) #8100
- npm: Upgraded to 3.10.8 (Kat Marchán) #8706
- stream: Duplex streams now show proper instanceof Stream.Writable. (Anna Henningsen) #8834
- timers: Improved setTimeout/Interval performance by up to 22%. (Brian White) #8661
- fs:
- SyncWriteStream now inherits from Stream.Writable. (Anna Henningsen) #8830
- Practically, this means that when stdio is piped to a file, stdout and stderr will still be Writable streams.
- fs.existsSync() has been undeprecated. fs.exists() remains deprecated. (Dan Fabulich) #8364
- COMMITS:
- [1a6e8983a6] - benchmark: add benchmarks for Buffer.from() (Anna Henningsen) #8738
- [882f8b3d6c] - benchmark: use 'yes' instead of echo in a loop (Bartosz Sosnowski) #8721
- [999f727bb5] - benchmark: add benchmark for destructuring object (Fangdun Cai (Fundon)) #8680
- [5c10898e31] - buffer: fix check for .buffer property (Ojas Shirekar) #8739
- [b9c2270502] - buffer: fix performance regression (Michaël Zasso) #8754
- [3fcdf4e80a] - buffer: remove unnecessary argument check (Michaël Zasso) #8552
- [ee319b739c] - buffer: add isSharedArrayBuffer checks (Ojas Shirekar) #8510
- [38fdbcd7f7] - build: make addons build dep. on node_version.h (Anna Henningsen) #8861
- [f057d193ec] - build: run cctests as part of test-ci target (Ben Noordhuis) #8034
- [a202be6690] - build: don't build icu with -fno-rtti (Ben Noordhuis) #8886
- [296254f141] - build: remove VS 2013 switch from vcbuild.bat (Ben Noordhuis) #8067
- [a425c4da98] - build: run npm install for doc builds in tarball (Anna Henningsen) #8413
- [3d3bce6ca1] - cluster: remove unused backlog argument (Brian White) #8877
- [23a851dfe6] - deps: avoid single-byte buffer overwrite in ares_create_query (Daniel Stenberg) #8849
- [46af58898c] - deps: make gtest output tap (Ben Noordhuis) #8034
- [9d41e8913f] - deps: bump V8 patch to 84 (Myles Borins) #8851
- [4d41bd9c68] - deps: hotfix upgrade npm tap version for tests (Kat Marchán) #8706
- [9ecfc32fde] - deps: upgrade npm to 3.10.8 (Kat Marchán) #8706
- [c4d9b54f75] - dgram: use Buffer.alloc(0) for zero-size buffers (Сковорода Никита Андреевич) #8751
- [e1a774d314] - dns: remove internal variable from makeAsync (yorkie) #8800
- [787558935c] - dns: tweak regex for IPv6 addresses (Luigi Pinca) #8665
- [4e8c03707a] - dns: handle array holes in setServers() (cjihrig) #8567
- [5e6be7b4c2] - doc: fix typo in email address in README (Rich Trott) #8941
- [72ed6aa205] - doc: make node(1) more consistent with tradition (Alex Jordan) #8902
- [2fad4d29b0] - doc: add example for file existence with fs.stat (Christopn Noelke) #8585
- [0bdc363205] - doc: add added: information for globals (Luigi Pinca) #8901
- [bc2dd3e467] - doc: change ./node to node in debugger.md (AnnaMag) #8943
- [b212b9b44b] - doc: add CTC meeting minutes 2016-09-07 (Josh Gavant) #8499
- [c31a3178e8] - doc: fixup link in fs.md (ss22ever) #8940
- [e7039cdbb8] - doc: fix markdown formatting in url.md (Bryan Bess) #8933
- [ff9a84d324] - doc: update punctuation in README.md (Abner Chou) #8892
- [c36c8dc3cc] - doc: add documentation for test common module (Paul Grock) #8840
- [a604a82186] - doc: recommend using port 0 instead of common.PORT (Niklas Ingholt) #8694
- [77fc5caceb] - doc: add CTC meeting minutes 2016-09-14 (Josh Gavant) #8726
- [505b88d3c3] - doc: add CTC meeting minutes 2016-09-21 (Josh Gavant) #8727
- [3e8c8f90bc] - doc: fix typo in repl doc (Franziska Hinkelmann) #8826
- [a00ae75805] - doc: improve documentation for commit subject line (Luigi Pinca) #8546
- [aaebbf9708] - doc: encourage 2FA before onboarding (Rich Trott) #8776
- [f07054dd49] - doc: add optional step to onboarding doc (Rich Trott) #8774
- [dceaa0ba4a] - doc: remove failing workaround in BUILDING.md (Christopher Fujino) #8763
- [0522aa0dc0] - doc: add commit formats for release blog posts (fen) #8631
- [98e425eed4] - doc: fix title level at tls.md (yorkie) #8782
- [e7c0f34f20] - doc: add added: info for crypto.timingSafeEqual() (Marc-Aurèle DARCHE) #8796
- [4fb051426c] - doc: enable no-file-name-articles remark-lint rule (Сковорода Никита Андреевич) #8713
- [4699e3022b] - doc: enable first-heading-level remark-lint rule (Сковорода Никита Андреевич) #8716
- [3aec6a68bf] - doc: improve child_process doc types (yorkie) #8741
- [6fab334a73] - doc: fix example in stream doc (Luigi Pinca) #8378
- [f13089b834] - doc: update BUILDING.md (rainabba) #8704
- [5c014bb532] - doc: standardize on make -j8 (Rich Trott) #8678
- [98ca442cae] - doc: add CTC meeting minutes 2016-08-24 (Josh Gavant) #8423
- [28264f8da4] - doc: add eugeneo to collaborators (Eugene Ostroukhov) #8696
- [85ee89edd6] - doc: add ak239 to collaborators (Aleksey Kozyatinskiy) #8676
- [5dd6229aeb] - doc: clarify fs.utimes() arguments (Danny Guo) #8651
- [42386d7229] - doc: add link to help repo in README (Rich Trott) #8570
- [2f6101ed10] - doc: fix broken link in timers doc (Ltrlg) #8562
- [e16f95db4d] - doc: update exercise portion of onboarding doc (Rich Trott) #8559
- [a91050c57b] - doc: fix typo in path doc (Kalman Hazins) #8527
- [64b79eba42] - doc: remove extra comma in cluster docs (Teddy Katz) #8557
- [2d23227060] - doc: fix a formatting error in buffer.md (Сковорода Никита Андреевич) #8553
- [eebecef9a4] - doc: link onboarding to contributing guide (Rich Trott) #8529
- [8a1f74338c] - doc: remove duplicate content from readline doc (Italo A. Casas) #8497
- [71dd4c193a] - doc: capitalize arguments' type names in url doc (yorkie) #8489
- [8e28e03fb9] - doc: add gibfahn to collaborators (Gibson Fahnestock) #8533
- [c96618f241] - doc: add imyller to collaborators (Ilkka Myller) #8530
- [929d9bb222] - doc: standardize rest parameters (Timothy Gu) #8485
- [125df45b80] - doc: add not-an-aardvark to collaborators (not-an-aardvark) #8525
- [3eb93e1fe8] - doc: add example for running with v8-inspector (Franziska Hinkelmann) #8845
- [d6dcbc212b] - doc,tool: add tls.TLSSocket to typeMap (yorkie) #8742
- [d69570d5fc] - doc,tool: add ref to Integer (yorkie) #8740
- [688abac7b2] - (SEMVER-MINOR) fs: make SyncWriteStream inherit from Writable (Anna Henningsen) #8830
- [07d97f4f3e] - fs: fix handling of uv_stat_t fields (Anna Henningsen) #8515
- [14e2d67776] - (SEMVER-MINOR) fs,doc: undeprecate existsSync (Dan Fabulich) #8364
- [980c1edf63] - (SEMVER-MINOR) fs,module: add module-loader-only realpath cache (Anna Henningsen) #8100
- [ee7af01b93] - (SEMVER-MINOR) http: socket connection timeout for http request (Rene Weber) #8101
- [7a59449478] - https: fix memory leak with https.request() (Ilkka Myller) #8647
- [573d8bcee4] - inspector: fix minor issues (Brian White) #8890
- [f4f9cf779f] - inspector: build file cleanup (Eugene Ostroukhov) #8753
- [e80ae1350c] - inspector: address race conditions (Eugene Ostroukhov) #8672
- [f817875235] - inspector: wait for both sides closing (Eugene Ostroukhov) #8505
- [4ed46b47a1] - inspector: report default context (Eugene Ostroukhov) #8502
- [b05ce842ce] - inspector: zero out structure members (Eugene Ostroukhov) #8536
- [0b90ff7a8d] - inspector: introduce a smoke test (Eugene Ostroukhov) #8429
- [3222b66abe] - inspector: fix tests on Windows (Eugene Ostroukhov) #8528
- [a1925a7955] - lib: minor improvements to bootstrap_node.js (Rémy MEJA) #8906
- [313a45da24] - lib: changed var to const in linkedlist (Adri Van Houdt) #8609
- [6cd5588a67] - lib: fix TypeError in v8-polyfill (Wyatt Preul) #8863
- [ba361a2aa0] - lib: remove let from for loops (Myles Borins) #8873
- [beb288b639] - lib: changed var to const in internal/v8_polyfill (Adri Van Houdt) #8615
- [858a7bbacf] - lib: changed var to const in bootstrap_node.js (Adri Van Houdt) #8588
- [31232adebb] - module: fix comment from "read-only" to "shallow" (Bryan English) #8887
- [0eaf3ff53c] - path: fallback to process cwd when resolving drive cwd (Jason Ginchereau) #8541
- [d72a7b3d0c] - path: fix path.relative UNC path result (Jason Ginchereau) #8523
- [e0c10f63b0] - process: changed var to const in internal/process.js (Adri Van Houdt) #8614
- [37ce6da59a] - process: changed var to const in internal/v8_prof_processor (Adri Van Houdt) #8619
- [e8f1cf1bd8] - process: changed var to const in internal/process/promises (Adri Van Houdt) #8620
- [4c194ee7bd] - readline: fix concievably typo in readline.js (Miguel Angel Asencio Hurtado) #8953
- [8c91a9b848] - repl: improve .help message (Roman Reiss) #8519
- [443bedeb68] - src: remove out-of-date TODO comment (Daniel Bevenius) #9000
- [59aa103df2] - src: fix typo in #endif comment (Juan Andres Andrango) #8989
- [8a2ba6fe83] - src: fix build for older clang (Zach Bjornson) #7645
- [d8df78c573] - src: remove unused function declaration (Brian White) #8878
- [a6b9ffbf5b] - src: refactor reading of options in contextify (Franziska Hinkelmann) #8850
- [324c8b5f7e] - src: fixes misplaced comment (Madhav Gharmalkar) #8860
- [86b9db601d] - src: add missing length argument to send comment (Daniel Bevenius) #8816
- [aa11205f71] - src: rename CHECK_NOT_OOB() macro (Ben Noordhuis) #8784
- [8be818eb07] - src: fix minor typo in comments (Daniel Bevenius) #8736
- [41ad6e3965] - src: rename handle_ to handle in HandleWrap (Daniel Bevenius) #8712
- [9205edc35c] - src: don't abort when c-ares initialization fails (Ben Noordhuis) #8710
- [6ddfe89fdf] - src: remove VS 2013 compatibility hacks (Ben Noordhuis) #8067
- [a9491f1604] - src: make ReqWrap req_ member private (Daniel Bevenius) #8532
- [5ebce30468] - src: remove unneeded ABORT after CHECK (yorkie) #8593
- [2dbef79ca7] - src: handle thrown errors in CopyProperties() (cjihrig) #8649
- [52f0f64e79] - src: use MaybeStackBuffer on DoSend/Writev (Paul Kiddie) #8626
- [a62999ac70] - src: add /json/protocol endpoint to inspector (Ben Noordhuis) #7491
- [4e7c67cf55] - (SEMVER-MINOR) stream: proper instanceof for Writables (Anna Henningsen) #8834
- [56951b4367] - test: add coverage for spawnSync() killSignal (cjihrig) #8960
- [05f74120e8] - test: refactor assert in internet test-dns.js (Junshu Okamoto) #8980
- [1a4207d91d] - test: various test improvements (James M Snell) #8468
- [c4f0bb237a] - test: expand test coverage for url.js (Junshu Okamoto) #8976
- [4e9b6a0022] - test: fix test-child-process-fork-regr-gh-2847 (Santiago Gimeno) #8954
- [b579fcab45] - test: remove FIXME pummel/test-tls-securepair-client (Alfred Cepeda) #8757
- [9b0733fd49] - test: run faster and cleanup after run (Wyatt Preul) #8848
- [df0211d95e] - test: refactor test-net-server-max-connections (Rich Trott) #8931
- [147a06d4a5] - test: enable addons test to pass with debug build (Daniel Bevenius) #8836
- [636026a22d] - test: remove blank lines at end of files (Rich Trott) #8920
- [93c48743f1] - test: refactor test-file-write-stream (Sudaraka Wijesinghe) #8894
- [516486526f] - test: cleanup/update test-dgram-empty-packet.js (Michael Macherey) #8896
- [2f0f596e07] - test: fix child-process-uid-gid on Windows (Michaël Zasso) #8924
- [52d0424c56] - test: mark test-tick-processor-unknown flaky (Rich Trott) #8900
- [424c126742] - test: fix -Wformat warnings in inspector cctest (Ben Noordhuis) #8034
- [76f80a3f74] - test: fix running child-process-uid-gid as root (Wyatt Preul) #8864
- [11ba56c83d] - test: expand test coverage for url.js (Junshu Okamoto) #8859
- [c9450cef1b] - test: clean up test-timers-immediate (Rich Trott) #8857
- [17922de555] - test: add and assert readable/writable arguments (Daniel Bevenius) #8815
- [bc710ef461] - test: cleanup/update test-os.js (Mike Woods) #8761
- [fc42825530] - test: modernize syntax, add strict checks (Lydia Kats) #8841
- [72de8594fe] - test: use common.skip for tap skip output (Lydia Kats) #8841
- [4fa0fc59cd] - test: stream writable ended state (Italo A. Casas) #8778
- [6dbda6aa86] - test: clean up test-buffer-badhex (Jeremiah Senkpiel) #7773
- [af092f1fc0] - test: cleanup test-net-server-address.js (Akito Ito) #8586
- [af84528d41] - test: replace indexOf, assert.equal, add mustCall() (Richard Hong) #8766
- [2e95b0e24b] - test: fixed FIXME in test-repl-persistent-history (Alfred Cepeda) #8756
- [76fd7db521] - test: update var to const, use arrow functions (Matt Lang) #8595
- [5bd13a3d6c] - test: cleanup parallel/test-fs-readfile-unlink.js (nohmapp) #8764
- [f523b82c7b] - test: cleanup parallel/test-file-write-stream2.js (Jenna Vuong) #8770
- [9252e7a52d] - test: cleanup parallel/test-fs-realpath.js (mpmckenna8) #8769
- [6ba8aa963e] - test: changed var to const, added strict equal checks (Lydia Katsamberis) #8762
- [81ed50c5da] - test: add assertions to zero length buffer test (Lauren Spiegel) #8729
- [b2aea505df] - test: use Buffer.alloc (Eugene Ostroukhov) #8748
- [5e4d8984b4] - test: accept expected AIX result test-stdio-closed (Rich Trott) #8755
- [906283837f] - test: skip cpu-intensive tests on slow hosts (Rich Trott) #8652
- [aa5a16a8ae] - test: add expectWarning to common (Michaël Zasso) #8662
- [b46d8cdcde] - test: cleanup vars to const and '==' to '===' (oogz) #8705
- [5540e3d488] - test: fix test-cluster-worker-init.js flakyness (Ilkka Myller) #8703
- [ed625fefd2] - test: add tests for add/remove header after sent (Niklas Ingholt) #8682
- [e9d1426080] - test: enable cyrillic punycode test case (Ben Noordhuis) #8695
- [b62735a302] - test: remove call to net.Socket.resume() (Alfred Cepeda) #8679
- [9ca8722203] - test: cleanup stream tests (Italo A. Casas) #8668
- [dfd022ff9e] - test: update test/parallel/test-child-process-stdio.js (matzavinos) #8584
- [fef4341f46] - test: update test/parallel/test-eval.js (Pavol Otcenas) #8590
- [43d6212257] - test: update test/parallel/test-child-process-send-utf8.js (Jonathan Prince) #8594
- [6924a4d237] - test: update test/parallel/test-fs-read.js (Richard Walker) #8596
- [1b494d3b96] - test: fixup parallel/test-async-wrap-post-did-throw.js (Jermaine Oppong) #8625
- [edf9242f56] - test: cleanup test-os.js (delvedor) #8606
- [d4ad8d9619] - test: refactor test-dgram-bind-shared-ports.js (Fikret Burak Gazioglu) #8582
- [714cbfd46c] - test: update test-child-process-recv-handle (Jonathan Prince) #8648
- [c664109c72] - test: improve test-child-process-stdout-flush (Wietse Venema) #8581
- [c98d0c984d] - test: cleanup test-child-process-exec-env.js (Yevgen Safronov) #8600
- [3269a7d6f5] - test: cleanup test-tls-connect-given-socket.js (Thomas van Lankveld) #8616
- [5e5a1c0e3c] - test: cleanup test-child-process-buffering.js (Adri Van Houdt) #8578
- [bcba27e8c6] - test: update test-cluster-disconnect-unshared-udp (matt-in-a-hat) #8599
- [5a59ca6168] - test: changing equal to strictEqual in path (lrlna) #8628
- [3ddf77fc24] - test: modernize js and tighten equality checking (Pavol Otcenas) #8618
- [34f24e559d] - test: refactor parallel/test-tcp-wrap-listen (scott stern) #8640
- [6fb8ebd98c] - test: cleanup cluster-disconnect-unshared-tcp test (Rachel) #8598
- [fd7f87ef40] - test: var variables to const in zlib (Ishan Aditya) #8627
- [fc6b4970b5] - test: modernize JS and tighten equality checking (Pavol Otcenas) #8580
- [f2f6353bc4] - test: cleanup test-intl.js (Alessandro Metta) #8641
- [14025db8c5] - test: cleanup test-child-process-disconnect.js (Pavol Otcenas) #8602
- [9032ba60a5] - test: replace var by const test-tls-zero-clear-in (Sébastien Barbieri) #8621
- [1aa1740f12] - test: improve coverage of the util module (Michaël Zasso) #8633
- [28d009be76] - test: refactored test-crypto-random.js (Tobias Kahse) #8632
- [a89deb9c59] - test: cleanup test-c-ares.js (Yevgen Safronov) #8577
- [9c3d521d90] - test: improve child_process tests (Dennis Schwartz) #8617
- [ba88f5b8f8] - test: improve coverage of the buffer module (Michaël Zasso) #8552
- [b10467cde2] - test: improve test-https-agent.js (Dan.Williams) #8517
- [82b7894d3b] - test: make test-tick-processor.js non-flaky (Fedor Indutny) #8542
- [30e995f714] - test: add coverage for client._addHandle() (Rich Trott) #8518
- [ff238c8d15] - test: fix flaky test-force-repl (Rich Trott) #8484
- [83ed5085f4] - test: mark test-inspector flaky on windows (Rich Trott) #8835
- [5a7dd18699] - test,benchmark: fix lint errors on v6.x (Jeremiah Senkpiel) #9029
- [4492cc3e25] - test,lib: align arguments in multiline calls (Rich Trott) #8642
- [3a72a606cb] - timers: improve setImmediate() performance (Brian White) #8655
- [06c411753e] - timers: improve setTimeout/Interval performance (Brian White) #8661
- [02da155e4b] - timers: remove unreachable code (yorkie) #8487
- [cf92be6939] - tls: TLSSocket emits 'error' on handshake failure (Mariusz 'koder' Chwalba) #8805
- [bee1955f4e] - tls: handle error events with _tlsError (Fedor Indutny) #8889
- [d2eaa12a23] - tls: improve createSecureContext in _tls_common (yorkie) #8781
- [b0234e7968] - tls: add 'new' keyword for Array constructor call (Mike Ralphson) #8514
- [58c55108d2] - tools: disallow extra blank lines at EOF/BOF (Rich Trott) #8920
- [336d505dd9] - tools: enable more remark-lint rules (Сковорода Никита Андреевич) #8708
- [0310655cda] - tools: update remark configuration (Сковорода Никита Андреевич) #8666
- [5c6284a417] - tools: add additional ESLint rules (Teddy Katz) #8643
- [73d54a6fc7] - tools: add eslint rule prefer-assert-methods (Dany Shaanan) #8622
- [ac6927f549] - tools: make argument alignment linting more strict (Rich Trott) #8642
- [8684cea9b7] - tools: make sure links are correctly passed to marked (Timothy Gu) #8494
- [a12ff5cc5d] - tools: clean up icu/README.md formatting (Сковорода Никита Андреевич) #8660
- [fc68b12bc3] - (SEMVER-MINOR) util: Add format for SharedArrayBuffer (Yosuke Furukawa) #8587
- [38be15549e] - util: don't init Debug if it's not needed yet (Bryan English) #8452
- [7728f95967] - util: simplify SIMD setup (Dany Shaanan) #8579
- [8282d6fc60] - vm: add error message if we abort (Franziska Hinkelmann) #8634
- [b83f51a326] - win,msi: mark INSTALLDIR property as secure (João Reis) #8795
- [623d3c6eb5] - win,tools: ignore linting for line breaks (João Reis) #8785
- [7403aaa13f] - zlib: tighten up dictionary tests (Tarjei Husøy) #8512
- [15474951a5] - zlib: fix raw inflate with custom dictionary (Tarjei Husøy) #8512
New in Node.js 6.7.0 (Sep 28, 2016)
- NOTABLE CHANGES:
- Semver Minor:
- http: CVE-2016-5325 - Properly validate for allowable characters in the reason argument in ServerResponse#writeHead(). Fixes a possible response splitting attack vector. This introduces a new case where throw may occur when configuring HTTP responses, users should already be adopting try/catch here. Originally reported independently by Evan Lucas and Romain Gaucher. (Evan Lucas) nodejs/node-private#60
- openssl:
- Upgrade to 1.0.2i, fixes a number of defects impacting Node.js: CVE-2016-6304 ("OCSP Status Request extension unbounded memory growth", high severity), CVE-2016-2183, CVE-2016-2178 and CVE-2016-6306. (Shigeki Ohtsu) #8714
- Upgrade to 1.0.2j, fixes a defect included in 1.0.2i resulting in a crash when using CRLs, CVE-2016-7052. (Shigeki Ohtsu) #8786
- Remove support for loading dynamic third-party engine modules. An attacker may be able to hide malicious code to be inserted into Node.js at runtime by masquerading as one of the dynamic engine modules. Originally reported by Ahmed Zaki (Skype). (Ben Noordhuis) nodejs/node-private#73
- Semver Patch:
- buffer: Zero-fill excess bytes in new Buffer objects created with Buffer.concat() while providing a totalLength parameter that exceeds the total length of the original Buffer objects being concatenated. (Сковорода Никита Андреевич) nodejs/node-private#64
- src: Fix regression where passing an empty password and/or salt to crypto.pbkdf2() would cause a fatal error (Rich Trott) #8572
- tls: CVE-2016-7099 - Fix invalid wildcard certificate validation check whereby a TLS server may be able to serve an invalid wildcard certificate for its hostname due to improper validation of *. in the wildcard string. Originally reported by Alexander Minozhenko and James Bunton (Atlassian). (Ben Noordhuis) nodejs/node-private#75
- v8: Fix regression where a regex on a frozen object was broken (Myles Borins) #8673
- COMMITS:
- [8fb8c46303] - buffer: zero-fill uninitialized bytes in .concat() (Сковорода Никита Андреевич) nodejs/node-private#64
- [e5998c44b4] - crypto: don't build hardware engines (Ben Noordhuis) nodejs/node-private#73
- [ed4cd2eebe] - deps: cherry-pick 34880eb3dc from V8 upstream (Myles Borins) #8673
- [f8ad0dc0e2] - deps: add -no_rand_screen to openssl s_client (Shigeki Ohtsu) nodejs/io.js#1836
- [9181def9d4] - deps: fix asm build error of openssl in x86_win32 (Shigeki Ohtsu) iojs/io.js#1389
- [2dee4af5c3] - deps: fix openssl assembly error on ia32 win32 (Fedor Indutny) iojs/io.js#1389
- [4255dc82a9] - deps: copy all openssl header files to include dir (Shigeki Ohtsu) #8786
- [c08d81df50] - deps: upgrade openssl sources to 1.0.2j (Shigeki Ohtsu) #8786
- [2573efc9df] - deps: update openssl asm and asm_obsolete files (Shigeki Ohtsu) #8714
- [67751f3d7e] - deps: add -no_rand_screen to openssl s_client (Shigeki Ohtsu) nodejs/io.js#1836
- [4382de338b] - deps: fix asm build error of openssl in x86_win32 (Shigeki Ohtsu) iojs/io.js#1389
- [cfa00611b0] - deps: fix openssl assembly error on ia32 win32 (Fedor Indutny) iojs/io.js#1389
- [3e4ea603b3] - deps: copy all openssl header files to include dir (Shigeki Ohtsu) #8714
- [8937fd0dbb] - deps: upgrade openssl sources to 1.0.2i (Shigeki Ohtsu) #8714
- [c0f13e56a2] - http: check reason chars in writeHead (Evan Lucas) nodejs/node-private#60
- [743f0c9164] - lib: make tls.checkServerIdentity() more strict (Ben Noordhuis) nodejs/node-private#75
- [38bed98a92] - openssl: fix keypress requirement in apps on win32 (Shigeki Ohtsu) iojs/io.js#1389
- [a25fc3f715] - openssl: fix keypress requirement in apps on win32 (Shigeki Ohtsu) iojs/io.js#1389
- [5902ba3989] - src: Malloc/Calloc size 0 returns non-null pointer (Rich Trott) #8572
- [a14d832884] - test: remove openssl options of -no_ (Shigeki Ohtsu) #8714
New in Node.js 6.6.0 (Sep 16, 2016)
- NOTABLE CHANGES:
- crypto: Added crypto.timingSafeEqual(). (not-an-aardvark) #8304
- events: Made the "max event listeners" memory leak warning more accessible. (Anna Henningsen) #8298
- promises: Unhandled rejections now emit a process warning after the first tick. (Benjamin Gruenbaum) #8223
- repl: Added auto alignment for .editor mode. (Prince J Wesley) #8241
- util: Some functionality has been added to util.inspect():
- Returning this from a custom inspect function now works. (Anna Henningsen) #8174
- Added support for Symbol-based custom inspection methods. (Anna Henningsen) #8174
- COMMITS:
- [2ecc8c4c23] - async_wrap: add a missing case to test-async-wrap-throw-no-init (yorkie) #8198
- [00f4bc3105] - benchmark: add benches for fs.stat & fs.statSync (Anna Henningsen) #8338
- [7cc1391287] - benchmark: fix off-by-one error in fs benchmarks (Anna Henningsen) #8338
- [6e3db283ed] - buffer: fix ArrayBuffer checks (Brian White) #8453
- [dd51b1f428] - buffer,string_decoder: consolidate encoding validation logic (James M Snell) #7207
- [a830e37dc9] - build: don't require processing docs for nightlies (Johan Bergström) #8325
- [836bfc188b] - build: fix dependencies on AIX (Michael Dawson) #8285
- [bc9d2fb543] - build: fix dependencies on AIX (Michael Dawson) #8272
- [206b105b1e] - build: add missing files to zip and 7z packages (Richard Lau) #8069
- [afb9917f16] - (SEMVER-MINOR) crypto: add crypto.timingSafeEqual() (not-an-aardvark) #8304
- [1640e7a4da] - crypto: fix getDecoder() encoding check (atstojanov) #8301
- [49f996f4f6] - crypto: make malloc failure check cross-platform (Rich Trott) #8352
- [9c460d7475] - deps: add back no-op harmony shipping flags (Ali Ijaz Sheikh) #8445
- [c8bcf1b591] - deps: workaround clang-3.4 ICE (Ali Ijaz Sheikh) #8343
- [ac3471ca23] - deps: v8_inspector update (Eugene Ostroukhov) #8150
- [f829660c71] - deps: cherry-pick 8ed65b97 from V8's upstream (Anna Henningsen) #8411
- [c48cb2de48] - doc: link SIGTSTP / SIGCONT events in readline doc (Italo A. Casas) #8475
- [ce1a46c02d] - doc: update onboarding PR landing info (Rich Trott) #8479
- [92acff82ea] - doc: add CTC meeting minutes 2016-08-31 (Josh Gavant) #8424
- [53877357fc] - doc: fix link on timers.md (yorkie) #8488
- [09da5756e5] - doc: add added: information for crypto (Luigi Pinca) #8281
- [19df5cef3b] - doc: fix example in repl documentation (Franziska Hinkelmann) #8469
- [3ce6eaa3b9] - doc: note that listening on SIGSEGV & co is unsafe (Anna Henningsen) #8410
- [c7771e6fbc] - doc: clarify sentence in event loop doc (Luigi Pinca) #8400
- [2c45782b12] - doc: add CI help/support info to onboarding doc (Rich Trott) #8407
- [cffe7b731d] - doc: add 2016-08-17 CTC meeting minutes (Josh Gavant) #8245
- [fdd59cc04c] - doc: update BUILDING.md (Rich Trott) #8398
- [d0a92be798] - doc: add 2016-08-10 CTC meeting minutes (Josh Gavant) #8229
- [ca31187087] - doc: update CI content in onboarding doc (Rich Trott) #8374
- [44983b1fdc] - doc: update authors list (James M Snell) #8346
- [ee83f5d541] - doc: add return type of clientRequest.setTimeout (Mike Ralphson) #8356
- [1695c84240] - doc: fix a wrong link,add '.md' to the link (Alexis374) #8315
- [65096de443] - doc: fix typos (Mike Ralphson) #8370
- [6d421a2ee2] - doc: fix broken link in dgram doc (Brian White) #8365
- [fbabd36de9] - doc: update targos email in readme per request (James M Snell) #8389
- [76a3050c34] - doc: update landing pr info in onboarding doc (Rich Trott) #8344
- [372e4f3f79] - doc: bad/better examples for fs.access() and fs.exists() (Dan Fabulich) #7832
- [9f18878eee] - doc: fix typo in stream doc (Hubert Mine) #8326
- [59e96bb1af] - doc: adding danbev to collaborators (Daniel Bevenius) #8359
- [b553e57f5f] - doc: clarify that path on windows accepts / and (James M Snell) #8291
- [feab3d4c25] - doc: add lpinca to collaborators (Luigi Pinca) #8331
- [d2b2abe9d9] - doc: doc that listen can be called multiple times (James M Snell) #8294
- [54d76137cd] - doc: readline write() is processed as input (James M Snell) #8295
- [48be8bc4e1] - doc: 'ipc' is required with fork stdio option (James M Snell) #8290
- [47ecd21133] - doc: improve fs.truncate functions' documentation (Sakthipriyan Vairamani) #7648
- [d565183c37] - doc: add added: information for modules (Luigi Pinca) #8250
- [b6f5104145] - doc: fix onReadable reentry after unshift called (Zwb) #8200
- [93ac875d53] - doc: add added: information for dgram (Luigi Pinca) #8196
- [260663fbfa] - doc: add Myles Borins to the CTC (Rod Vagg) #8260
- [a7c21759d9] - doc: fix buf.readUIntBE, buf.readUIntLE examples (David Keeler) #8240
- [e4fcf55701] - doc: fix "timout" typo in timeout (Fangshi He) #8231
- [03f5297ccd] - doc: include the optional options parameter (Sakthipriyan Vairamani) #7842
- [605db31fe7] - (SEMVER-MINOR) events: make memory leak warning more accessible (Anna Henningsen) #8298
- [fa4c4d655a] - http: fix connection upgrade checks (Brian White) #8238
- [b603ac24cb] - inspector: use script name for target title (Eugene Ostroukhov) #8243
- [13a522ac39] - inspector: make sure all messages are dispatched (Eugene Ostroukhov) #8264
- [250a380231] - inspector: simplify buffer management (Eugene Ostroukhov) #8257
- [354166c061] - inspector: use new inspector headers (Eugene Ostroukhov) #8150
- [3ef8ba8bdc] - net: make holding the buffer in memory more robust (Anna Henningsen) #8252
- [180867d6a6] - (SEMVER-MINOR) promise: warn on unhandled rejections (Benjamin Gruenbaum) #8223
- [408308f2e6] - (SEMVER-MINOR) readline: key interval delay for r & n (Prince J Wesley) #8109
- [6f20f477c4] - (SEMVER-MINOR) repl: Auto alignment for .editor mode (Prince J Wesley) #8241
- [0d24247e50] - src: pull AfterConnect from pipe_wrap and tcp_wrap (Daniel Bevenius) #8448
- [16202264d1] - src: remove unneeded Environment error methods (Ben Noordhuis) #8427
- [8cbbb47e39] - src: update f function call comment (Daniel Bevenius) #8416
- [d1d1433b02] - src: normalize malloc, realloc (Michael Dawson) #7564
- [2c2a21ab56] - src: unbreak build when compiling against uclibc (Ben Noordhuis) #8308
- [4e368c58ff] - src: moving f function call comment (Daniel Bevenius) #8405
- [0f2c619f55] - src: avoid duplicate AtExit functions (Ali Ijaz Sheikh) #8273
- [3358861470] - test: refector parallel/test-http.js (Junshu Okamoto) #8471
- [2ce364ad10] - test: modernize JS and tighten equality checking (Peter Ogilvie) #8476
- [1a30fe563d] - test: swapped == and equal to === and strictEqual (Christopher Dunavan) #8472
- [d2b6b66037] - test: refactor test-net-pipe-connect-errors (Rich Trott) #8473
- [3294c2c82b] - test: skip pseudo-tty/no_dropped_stdio test (Michael Dawson) #8470
- [5baa4e0156] - test: clean up net server try ports test (Thomas Hunter II) #8458
- [d0e61d4cc3] - test: make crypto.timingSafeEqual test less flaky (not-an-aardvark) #8456
- [154d6893b0] - test: add test-debug-protocol-execute (Rich Trott) #8454
- [6c30dddc36] - test: exercise EE function type checking paths (cjihrig) #8168
- [d536d6d334] - test: increase _debugger coverage (Rich Trott) #8403
- [6d07e57a36] - test: mark pseudo-tty/no_dropped_stdio as flaky (Michael Dawson) #8385
- [680a4c8b8e] - test: test non-buffer/string with zlib (Rich Trott) #8350
- [f0300eda27] - test: fix test-cluster-dgram-1 flakiness (Santiago Gimeno) #8383
- [b8fa7c949d] - test: fix ::1 error in test-dns-ipv6 (Gibson Fahnestock) #8254
- [c07e063dd9] - test: fix fs-watch-recursive flakiness on OS X (Santiago Gimeno) #4629
- [1aa7168e91] - test: refactor/cleanup a number of cluster tests (James M Snell) #8261
- [39cf7bf24d] - test: refactor parallel/test-process-env.js (Rich Trott) #8324
- [40e84218a0] - test: add test for zlib.create*Raw() (Rich Trott) #8306
- [cc61d1a3ba] - test: cleanup test require symlink (Paul Grock) #8305
- [cde0a1edfd] - test: refactor test-debug-signal-cluster (Rich Trott) #8289
- [bc6a7ca8e7] - test: additional refactoring/cleanup of buffer tests (James M Snell) #8283
- [5d43131af4] - test: add known issue test for path parse issue #6229 (James M Snell) #8293
- [d2179bd6f1] - test: make sure over truncation of file zero fills (Sakthipriyan Vairamani) #7648
- [5cff625d6a] - test: add check in test-signal-handler (Rich Trott) #8248
- [0b0a1ceac3] - test: clean up / refactor buffer tests, remove duplication (James M Snell) #8256
- [0f977f9797] - test: mark test-child-process-fork-dgram as flaky (Michael Dawson) #8274
- [6f269bed99] - test: refactor test-util-inspect (Rich Trott) #8189
- [eff771f399] - tickprocessor: apply c++filt manually on mac (Fedor Indutny) #8480
- [f47ce9d9f8] - tools: replace custom ESLint rule with built-in (Rich Trott) #8478
- [36235ac323] - tools: update ESLint to 3.5.0 (Rich Trott) #8478
- [ef5cb129ae] - tools: fix new-parens violations (Rich Trott) #8478
- [773e1c1304] - tools: enable caching for jslint task (Rich Trott) #8296
- [54f689fc1e] - tools: update ESLint to 3.4.0 (Rich Trott) #8296
- [f840bc87d6] - url: fix off-by-one error in loop handling dots (Luigi Pinca) #8420
- [6ae7af0fa3] - url: keep auth in url.resolve() if host matches (Ilkka Myller) #8215
- [eec5d02266] - url: url.format() encodes all # in search (Ilkka Myller) #8072
- [d67ece2f68] - util: improve function signature of util._extend (Sakthipriyan Vairamani) #8187
- [e9c4805c1f] - (SEMVER-MINOR) util: allow returning this from custom inspect (Anna Henningsen) #8174
- [4cb55ff392] - (SEMVER-MINOR) util: allow symbol-based custom inspection methods (Anna Henningsen) #8174
- [151d1ea6a6] - vm: change ContextifyScript to Script in comment (Daniel Bevenius) #8415
- [f346dee940] - win,build: forward release_urlbase to configure (João Reis) #8430
- [6bb057ec6a] - win,build: exit when addons fail to build (João Reis) #8412
- [14d356d0ab] - win,build: skip finding VS when not needed (João Reis) #8412
- [81d063e174] - win,build: fail on invalid option in vcbuild (João Reis) #8412
New in Node.js 6.5.0 (Sep 2, 2016)
- NOTABLE CHANGES:
- buffer: Fix regression introduced in v6.4.0 that prevented .write() at buffer end (Anna Henningsen) #8154
- deps: update V8 to 5.1.281.75 (Ali Ijaz Sheikh) #8054
- repl: Fix saving editor mode text in .save (Prince J Wesley) #8145
- Revert "repl,util: insert carriage returns in output" (Evan Lucas) #8143
- inspector:
- fix inspector hang while disconnecting (Aleksei Koziatinskii) #8021
- add support for uncaught exception (Aleksei Koziatinskii) #8043
New in Node.js 6.3.1 (Jul 22, 2016)
- NOTABLE CHANGES:
- repl: Fix issue with function redeclaration. (Prince J Wesley) #7794
- util: Fix inspecting of boxed symbols. (Anna Henningsen) #7641
- Buffer:
- Improve performance of Buffer.from(str, 'hex') and Buffer#write(str, 'hex'). (Christopher Jeffrey) #7602
- Fix creating from zero-length ArrayBuffer. (Ingvar Stepanyan) #7176
- Deps:
- Upgrade to V8 5.0.71.xx. (Ben Noordhuis) #7531
- Backport V8 instanceof bugfix (Franziska Hinkelmann) #7638
- COMMITS:
- [3747d910ec] - benchmark: remove unused variables (Rich Trott) #7600
- [41582722c8] - buffer: optimize hex_decode (Christopher Jeffrey) #7602
- [4a3300e66b] - buffer: fix creating from zero-length ArrayBuffer (Ingvar Stepanyan) #7176
- [71f84b5e6c] - build: add conflict marker check during CI lint (Brian White) #7625
- [4480b14fda] - build: use BUILDTYPE when building V8 in Makefile (Michaël Zasso) #7482
- [94a486a388] - build: add v8 requirement to test-v8* in Makefile (Michaël Zasso) #7482
- [e5627278f1] - build: add --enable-d8 configure option (Ben Noordhuis) #7538
- [933ff62fa5] - build: respect --shared-* flags for inspector deps (Сковорода Никита Андреевич) #7569
- [9bb1024dc3] - child_process: Check stderr before accessing it (Robert Chiras) #6877
- [f574bd4cec] - cluster: remove bind() and self (cjihrig) #7710
- [164981af5f] - deps: bump V8 patchlevel for instanceof cherry-picks (Franziska Hinkelmann) #7638
- [287006149b] - deps: cherry-pick 5b5d24b for X87 from V8 upstream (Franziska Hinkelmann) #7638
- [e5cce7acfe] - deps: cherry-pick 3a903c4 for PPC from V8 upstream (Franziska Hinkelmann) #7638
- [e23904523f] - deps: cherry-pick 2aa070be from V8 upstream (Franziska Hinkelmann) #7638
- [d3f0a6a52f] - deps: cherry-pick 1f53e42 from v8 upstream (Ben Noordhuis) #7612
- [cf8a4889db] - deps: v8_inspector no longer depends on wtf (Ali Ijaz Sheikh) #7751
- [939cf6ddb2] - deps: no /safeseh for ml64.exe (Fedor Indutny) #7759
- [abf86adee1] - deps: back-port d721121 from v8 upstream (Ben Noordhuis) #7633
- [dbdcded866] - deps: upgrade to V8 5.0.71.54 (Ben Noordhuis) #7531
- [4839ef37a9] - doc: correcting misspelling (Vitaly Tomilov) #7797
- [3343d46f2c] - doc: general improvments to events documentation (Sakthipriyan Vairamani) #7480
- [e8a6a223ec] - doc: update readme with andrasq as a collaborator (Andras) #7801
- [59ed303612] - doc: update CTC governance information (Rich Trott) #7719
- [4b320adb49] - doc: correct sample output of buf.compare (Hargobind S. Khalsa) #7777
- [9847f8459c] - doc: add added: information for stream (Italo A. Casas) #7287
- [1f003590d6] - doc: fix inconsistencies in code style (saadq) #7745
- [9c274e32fd] - doc: Warn against uncaughtException dependency. (Lance Ball) #6378
- [fc4df0df6c] - doc: fix typo in stream doc (Kevin Donahue) #7738
- [2a023bfd00] - doc: removed old git conflict markers from fs.md (Jaime Hidalgo García) #7590
- [1d07d29bfe] - doc: fix typo in the CHANGELOG_V6 (vsemozhetbyt) #7568
- [f15d2d6dae] - doc: fix util.deprecate() example (Evan Lucas) #7674
- [58b70d34ee] - doc: link and highlight Object.assign (Sakthipriyan Vairamani) #7670
- [cc7fdf429e] - doc: grammar fixes to event loop guide (Ryan Lewis) #7479
- [a81ff702cc] - doc: dns.resolve fix callback argument description (Quentin Headen) #7532
- [f0c335c347] - doc: add benchmark who-to-CC info (Rich Trott) #7604
- [9e0cba0552] - doc: added information on how to run the linter. (Diosney Sarmiento) #7534
- [e13ee29cbd] - doc: delete non-existing zlib constants (Franziska Hinkelmann) #7520
- [663b103bc5] - doc: fix minor style issues in http.md (Rich Trott) #7528
- [6c4d4596cc] - doc: updating REPLACEME tag during release (Gibson Fahnestock) #7514
- [b4547340ee] - doc: fix detached child stdio example (cjihrig) #7540
- [0f7b4efaaf] - doc: add bartosz sosnowski to colaborators (Bartosz Sosnowski) #7567
- [77afeb2ec7] - doc,dgram: fix addMembership documentation (Santiago Gimeno) #7244
- [11d6f1af59] - fs: rename event to eventType in fs.watch listener (Claudio Rodriguez) #7506
- [989a2a1c92] - inspector: Unify event queues (Eugene Ostroukhov) #7271
- [fc0ed2e8c7] - lib,benchmark,test: implement consistent braces (Rich Trott) #7630
- [80ca0630a6] - net: export isIPv4, isIPv6 directly from cares (Sakthipriyan Vairamani) #7481
- [72fc4ebca2] - repl: Mitigate vm #548 function redefinition issue (Prince J Wesley) #7794
- [f97aa4be39] - src: remove unnecessary HandleScopes (Ben Noordhuis) #7711
- [78dcf0d641] - src: fix handle leak in UDPWrap::Instantiate() (Ben Noordhuis) #7711
- [dc766e6a6f] - src: fix handle leak in BuildStatsObject() (Ben Noordhuis) #7711
- [96882e14d1] - src: fix handle leak in Buffer::New() (Ben Noordhuis) #7711
- [fbc9ef84b8] - src: disable stdio buffering (Ben Noordhuis) #7610
- [44c9a72aad] - test: add regression test for instanceof (Franziska Hinkelmann) #7638
- [2e05e65916] - test: add known issue test for #7788 (cjihrig) #7793
- [7fb4794e19] - test: increase RAM requirement for intensive tests (Rich Trott) #7772
- [61542e82c1] - test: ensure callback runs in test-vm-sigint (Rich Trott) #7768
- [9e9d499b8b] - test: use mustCall() for simple flow tracking (cjihrig) #7753
- [83cbf3175c] - test: avoid usage of mixed IPV6 addresses (Gireesh Punathil) #7702
- [39f5d9ca7a] - test: fix flaky test-http-server-consumed-timeout (Rich Trott) #7717
- [3ed0204f23] - test: s/assert.fail/common.fail as appropriate (cjihrig) #7735
- [f7651d24d4] - test: improve error message in test-tick-processor (Rich Trott) #7693
- [acb976ac26] - test: cleanup IIFE tests (cjihrig) #7694
- [432cb353e1] - test: add common.rootDir (cjihrig) #7685
- [9797969ad4] - test: fix old tty tests (Jeremiah Senkpiel) #7613
- [37dc7954d8] - test: move parallel/test-tty-* to pseudo-tty/ (Jeremiah Senkpiel) #7613
- [5192bed68c] - test: remove unused var from child-process-fork (Rich Trott) #7599
- [e1aedbf671] - test: remove unused vars from http/https tests (Rich Trott) #7598
- [64e2eed662] - test: remove unused var in test-tls-server-verify (Rich Trott) #7595
- [8e50413b7e] - test: fix flaky test-fs-read-buffer-tostring-fail (Rich Trott) #7575
- [447a8f26e1] - test: remove unused var in net-server-try-ports (Rich Trott) #7597
- [326006527d] - test: remove unused var from stream2 test (Rich Trott) #7596
- [97167291e7] - test: fix flaky test-net-write-slow (Rich Trott) #7555
- [657fd7aee9] - test: skip doctool tests when js-yaml is missing (Anna Henningsen) #7218
- [1576730ef3] - test,doc: clarify buf.indexOf(num) input range (Anna Henningsen) #7611
- [49a6ea1b73] - timers: fix processing of nested timers (Jeremy Whitlock) #3063
- [5a2ce3633f] - tools: consistent .eslintrc formatting (silverwind) #7691
- [2a84da5d09] - tools: increase lint coverage (Rich Trott) #7647
- [a82573d480] - tools: enforce JS brace style with linting (Rich Trott) #7630
- [8efca46e78] - tools: fix broken format string (Sakthipriyan Vairamani) #7620
- [2bef583f8a] - tools: cleanup no-build and build-only options (Sakthipriyan Vairamani) #7620
- [df697c486e] - tools: update ESLint, fix unused vars bug (Rich Trott) #7601
- [1a360d63db] - tools: remove unused variable (Rich Trott) #7594
- [fa99dadda4] - tools: remove unnecessary imports and assignments (Sakthipriyan Vairamani) #7483
- [0858e620e9] - util: inspect boxed symbols like other primitives (Anna Henningsen) #7641
New in Node.js 6.2.2 (Jun 17, 2016)
- Notable changes:
- http:
- req.read(0) could cause incoming connections to stall and time out under certain conditions. (Fedor Indutny) #7211
- When freeing the socket to be reused in keep-alive Agent wait for both prefinish and end events. Otherwise the next request may be written before the previous one has finished sending the body, leading to parser errors. (Fedor Indutny) #7149
- npm: upgrade npm to 3.9.5 (Kat Marchán) #7139
New in Node.js 6.2.1 (Jun 3, 2016)
- Notable changes:
- buffer: Ignore negative lengths in calls to Buffer() and Buffer.allocUnsafe(). This fixes a possible security concern (reported by Feross Aboukhadijeh) where user input is passed unchecked to the Buffer constructor or allocUnsafe() as it can expose parts of the memory slab used by other Buffers in the application. Note that negative lengths are not supported by the Buffer API and user input to the constructor should always be sanitised and type-checked. (Anna Henningsen) #7051
- npm: Upgrade npm to 3.9.3 (Kat Marchán) #7030
- npm/npm@42d71be npm/npm#12685 When using npm ls without a semver specifier, npm ls would skip any packages in your tree that matched by name, but had a prerelease version in their package.json. (@zkat)
- npm/npm@f04e05 npm/npm#10013 [email protected]: Fixes an issue where npm install would fail if your node_modules was symlinked. (@iarna)
- b894413 #12372 Changing a nested dependency in an npm-shrinkwrap.json and then running npm install would not get up the updated package. This corrects that. (@misterbyrne)
- This release includes [email protected], which is the result of our Windows testing push -- the test suite (should) pass on Windows now. We're working on getting AppVeyor to a place where we can just rely on it like Travis.
- tty: Default to blocking mode for stdio on OS X. A bug fix in libuv 1.9.0, introduced in Node.js v6.0.0, exposed problems with Node's use of non-blocking stdio, particularly on OS X which has a small output buffer. This change should fix CLI applications that have been having problems with output since Node.js v6.0.0 on OS X. The core team is continuing to address stdio concerns that exist across supported platforms and progress can be tracked at https://github.com/nodejs/node/issues/6980. (Jeremiah Senkpiel) #6895
- V8: Upgrade to V8 5.0.71.52. This includes a fix that addresses problems experienced by users of node-inspector since Node.js v6.0.0, see https://github.com/node-inspector/node-inspector/issues/864 for details. (Michaël Zasso) #6928
New in Node.js 6.2.0 (May 22, 2016)
- Notable Changes:
- buffer: fix lastIndexOf and indexOf in various edge cases (Anna Henningsen) #6511
- child_process: use /system/bin/sh on android (Ben Noordhuis) #6745
- deps:
- upgrade npm to 3.8.9 (Rebecca Turner) #6664
- upgrade to V8 5.0.71.47 (Ali Ijaz Sheikh) #6572
- upgrade libuv to 1.9.1 (Saúl Ibarra Corretgé) #6796
- Intl: ICU 57 bump (Steven R. Loomis) #6088
- repl:
- copying tabs shouldn't trigger completion (Eugene Obrezkov) #5958
- exports Recoverable (Blake Embrey) #3488
- src: add O_NOATIME constant (Rich Trott) #6492
- src,module: add --preserve-symlinks command line flag (James M Snell) #6537
- util: adhere to noDeprecation set at runtime (Anna Henningsen) #6683
New in Node.js 6.1.0 (May 6, 2016)
- Notable changes:
- deps: update openssl to 1.0.2h. (Shigeki Ohtsu) #6551
- Commits:
- [f46952e727] - buffer: safeguard against accidental kNoZeroFill (Сковорода Никита Андреевич) nodejs/node-private#30
- [4f1c82f995] - streams: support unlimited synchronous cork/uncork cycles (Matteo Collina) #6164
- [1efd96c767] - deps: update openssl asm and asm_obsolete files (Shigeki Ohtsu) #6551
- [c450f4a293] - deps: add -no_rand_screen to openssl s_client (Shigeki Ohtsu) nodejs/io.js#1836
- [baedfbae6a] - openssl: fix keypress requirement in apps on win32 (Shigeki Ohtsu) iojs/io.js#1389
- [ff3045e40b] - deps: fix asm build error of openssl in x86_win32 (Shigeki Ohtsu) iojs/io.js#1389
- [dc8dc97db3] - deps: fix openssl assembly error on ia32 win32 (Fedor Indutny) iojs/io.js#1389
- [2dfeb01213] - deps: copy all openssl header files to include dir (Shigeki Ohtsu) #6551
- [72f9952516] - deps: upgrade openssl sources to 1.0.2h (Shigeki Ohtsu) #6551
New in Node.js 6.0.0 (Apr 26, 2016)
- Buffer:
- New Buffer constructors have been added #4682 and #5833.
- Existing Buffer() and SlowBuffer() constructors have been deprecated in docs #4682 and #5833.
- Previously deprecated Buffer APIs are removed #5048, #4594.
- Improved error handling #4514.
- The Buffer.prototype.lastIndexOf() method has been added #4846.
- Cluster:
- Worker emitted as first argument in 'message' event #5361.
- The worker.exitedAfterDisconnect property replaces worker.suicide #3743.
- Console:
- Calling console.timeEnd() with an unknown label now emits a process warning rather than throwing #5901.
- Crypto:
- Improved error handling #3100, #5611.
- Simplified Certificate class bindings #5382.
- Improved control over FIPS mode #5181.
- pbkdf2 digest overloading is deprecated #4047.
- Dependencies:
- Reintroduce shared c-ares build support #5775.
- V8 updated to 5.0.71.35 #6372.
- DNS:
- Add dns.resolvePtr() API to query plain DNS PTR records #4921.
- Domains:
- Clear stack when no error handler #4659.
- Events:
- The EventEmitter.prototype._events object no longer inherits from Object.prototype #6092.
- The EventEmitter.prototype.prependListener() and EventEmitter.prototype.prependOnceListener() methods have been added #6032.
- File System:
- The fs.realpath() and fs.realpathSync() methods have been updated to use a more efficient libuv-based implementation. This change includes the removal of the cache argument and the method can throw new errors #3594.
- FS apis can now accept and return paths as Buffers #5616.
- Error handling and type checking improvements #5616, #5590, #4518, #3917.
- fs.read's string interface is deprecated #4525.
- HTTP:
- 'clientError' can now be used to return custom errors from an HTTP server #4557.
- Modules:
- Current directory is now prioritized for local lookups #5689.
- Symbolic links are preserved when requiring modules #5950.
- Net:
- DNS hints no longer implicitly set #6021.
- Improved error handling and type checking #5981, #5733, #2904.
- OS X:
- MACOSX_DEPLOYMENT_TARGET has been bumped up to 10.7 #6402.
- Path:
- Improved type checking #5348.
- Process:
- Introduce process warnings API #4782.
- Throw exception when non-function passed to nextTick #3860.
- Querystring:
- The object returned by querystring.parse() no longer inherits from Object.prototype #6055.
- Readline:
- Key info is emitted unconditionally #6024.
- History can now be explicitly disabled #6352.
- REPL:
- Assignment to _ will emit a warning #5535.
- Expressions will no longer be completed when eval fails #6328.
- Timers:
- Fail early when callback is not a function #4362.
- Streams:
- null is now an invalid chunk to write in object mode #6170.
- TLS:
- Rename 'clientError' to 'tlsClientError' #4557.
- SHA1 used for sessionIdContext #3866.
- TTY:
- Previously deprecated setRawMode wrapper is removed #2528.
- URL:
- Username and password will be dropped by url.resolve() if the host changes #1480.
- Util:
- Changes to Error object formatting #4582.
- The util._extend() method has been deprecated #4903
- The util.log() method has been deprecated #6161.
- Windows:
- Windows XP and Vista are no longer supported #5167.
- Zlib:
- Multiple improvements have been made to Zlib processing #5883 and #5707.
- Semver-major Changes since v5.0.0:
- [85ab4a5f12] - (SEMVER-MAJOR) buffer: add .from(), .alloc() and .allocUnsafe() (James M Snell) #4682
- [2c55cc2d2c] - (SEMVER-MAJOR) buffer: remove deprecated Buffer.write branch ([email protected]) #5048
- [101bca988c] - (SEMVER-MAJOR) buffer: remove deprecated buffer.get/.set methods (Feross Aboukhadijeh) #4594
- [3b27dd5ce1] - (SEMVER-MAJOR) buffer: throw if both length and enc are passed (Mathias Buus) #4514
- [3fe204c700] - (SEMVER-MAJOR) buffer: docs-only deprecate SlowBuffer (James M Snell) #5833
- [627524973a] - (SEMVER-MAJOR) buffer: add Buffer.allocUnsafeSlow(size) (James M Snell) #5833
- [204f3a8a0b] - (SEMVER-MAJOR) build: Bump MACOSX_DEPLOYMENT_TARGET to 10.7 (Сковорода Никита Андреевич) #6402
- [90a5fc20be] - (SEMVER-MAJOR) build: remove lint/dotfiles from release tarball (Johan Bergström) #5695
- [66f4586dd0] - (SEMVER-MAJOR) cluster: emit worker as first 'message' event arg (Ben Noordhuis) #5361
- [4f619bde4c] - (SEMVER-MAJOR) cluster: migrate from worker.suicide (Evan Lucas) #3743
- [a5cce79ec3] - (SEMVER-MAJOR) console: delete timers that have ended (Vladimir Varankin) #3562
- [1c84579031] - (SEMVER-MAJOR) console: timeEnd() with no label emits warning (Eugene Obrezkov) #5901
- [41feaa89e0] - (SEMVER-MAJOR) crypto: improve error messages (Sakthipriyan Vairamani) #3100
- [f429fe1b88] - (SEMVER-MAJOR) crypto: fail early when loading crypto without openssl (James M Snell) #5611
- [a37401e061] - (SEMVER-MAJOR) crypto: simplify Certificate class bindings (Alexander Makarenko) #5382
- [7c48cb5601] - (SEMVER-MAJOR) crypto: Improve control of FIPS mode (Stefan Budeanu) #5181
- [a1163582c5] - (SEMVER-MAJOR) crypto: pbkdf2 deprecate digest overload. (Tom Gallacher) #4047
- [b010c87164] - (SEMVER-MAJOR) crypto, string_bytes: treat buffer str as utf8 (Fedor Indutny) #5522
- [1d9451bb5a] - (SEMVER-MAJOR) crypto: better error message for createHash (Calvin Metcalf) #6042
- [52af5c4eeb] - (SEMVER-MAJOR) deps: upgrade V8 to 5.0.71.32 (Ali Ijaz Sheikh) #6111
- [2253be95d0] - (SEMVER-MAJOR) deps: reintroduce supporting shared c-ares builds (Johan Bergström) #5775
- [4bc1cccb22] - (SEMVER-MAJOR) dgram: pass null as error on successful send() (cjihrig) #5929
- [dbdbdd4998] - (SEMVER-MAJOR) dns: add resolvePtr to query plain DNS PTR records (Daniel Turing) #4921
- [c4ab861a49] - (SEMVER-MAJOR) dns: add failure test for dns.resolveXXX (Daniel Turing) #4921
- [f3be421c1c] - (SEMVER-MAJOR) dns: coerce port to number in lookupService (Evan Lucas) #4883
- [4d4f3535a9] - (SEMVER-MAJOR) doc: general improvements to fs.markdown (James M Snell) #5616
- [d8290286b3] - (SEMVER-MAJOR) doc: document deprecation of util._extend (Benjamin Gruenbaum) #4903
- [236b7e8dd1] - (SEMVER-MAJOR) doc: doc-only deprecation for util.log() (Jackson Tian) #6161
- [90204cc468] - (SEMVER-MAJOR) domains: clear stack when no error handler (Julien Gilli) #4659
- [e38bade828] - (SEMVER-MAJOR) events: don't inherit from Object.prototype (Brian White) #6092
- [53a95a5b12] - (SEMVER-MAJOR) fs: make fs.watch error message more useful (James M Snell) #5616
- [060e5f0c00] - (SEMVER-MAJOR) fs: Buffer and encoding enhancements to fs API (James M Snell) #5616
- [8bb60e3c8d] - (SEMVER-MAJOR) fs: improve error message for invalid flag (James M Snell) #5590
- [1124de2d76] - (SEMVER-MAJOR) fs: deprecate fs.read's string interface (Sakthipriyan Vairamani) #4525
- [2b15e68bbe] - (SEMVER-MAJOR) fs: fs.read into zero buffer should not throw exception (Feross Aboukhadijeh) #4518
- [8b97249893] - (SEMVER-MAJOR) fs: fix the error report on fs.link(Sync) (yorkie) #3917
- [b488b19eaf] - (SEMVER-MAJOR) fs: optimize realpath using uv_fs_realpath() (Yuval Brik) #3594
- [5f76b24e5e] - (SEMVER-MAJOR) http: overridable clientError (Fedor Indutny) #4557
- [d01eb6882f] - (SEMVER-MAJOR) lib: add 'pid' prefix in internal/util (Minwoo Jung) #3878
- [20285ad177] - (SEMVER-MAJOR) lib: Consistent error messages in all modules (micnic) #3374
- [94b9948d63] - (SEMVER-MAJOR) lib,src: ensure '(node:pid)' prefix for stdout logging (Minwoo Jung) #3833
- [b70dc67828] - (SEMVER-MAJOR) lib,test: remove publicly exposed freelist (cjihrig) #3738
- [d38503ab01] - (SEMVER-MAJOR) module: prioritize current dir for local lookups (Phillip Johnsen) #5689
- [71470a8e45] - (SEMVER-MAJOR) module: pass v8::Object to linked module initialization function (Phillip Kovalev) #4771
- [18490d3d5a] - (SEMVER-MAJOR) module: always decorate thrown errors (Brian White) #4287
- [de1dc0ae2e] - (SEMVER-MAJOR) module: preserve symlinks when requiring (Alex Lamar) #5950
- [b85a50b6da] - (SEMVER-MAJOR) net: remove implicit setting of DNS hints (cjihrig) #6021
- [ec49fc8229] - (SEMVER-MAJOR) net: improve socket.write() error message (Phillip Johnsen) #5981
- [d0edabecbf] - (SEMVER-MAJOR) net: strict checking for internal/net isLegalPort (James M Snell) #5733
- [a78b3344f8] - (SEMVER-MAJOR) net: type check createServer options object (Sam Roberts) #2904
- [02ac302b6d] - (SEMVER-MAJOR) net: Validate port in createServer().listen() (Dirceu Pereira Tiegs) #5732
- [25751bedfe] - (SEMVER-MAJOR) node: deprecate process.EventEmitter (Evan Lucas) #5049
- [08085c49b6] - (SEMVER-MAJOR) path: assert inputs are strings (Brian White) #5348
- [d1000b4137] - (SEMVER-MAJOR) path: make format() consistent and more functional (Nathan Woltman) #2408
- [c6656db352] - (SEMVER-MAJOR) process: add 'warning' event and process.emitWarning() (James M Snell) #4782
- [72e3dd9f43] - (SEMVER-MAJOR) process: throw on non-function to nextTick() (yorkie) #3860
- [5dafb435d8] - (SEMVER-MAJOR) querystring: using toString for objects on querystring.escape (Igor Kalashnikov) #5341
- [dba245f796] - (SEMVER-MAJOR) querystring: don't inherit from Object.prototype (Brian White) #6055
- [0a62f929da] - (SEMVER-MAJOR) readline: emit key info unconditionally (cjihrig) #6024
- [3de9bc9429] - (SEMVER-MAJOR) readline: document emitKeypressEvents() (cjihrig) #6024
- [ca2e8b292f] - (SEMVER-MAJOR) readline: deprecate undocumented exports (cjihrig) #3862
- [0303a2552e] - (SEMVER-MAJOR) readline: allow history to be disabled (surya panikkal) #6352
- [ad8257fa5b] - (SEMVER-MAJOR) repl: Assignment of _ allowed with warning (Lance Ball) #5535
- [3ee68f794f] - (SEMVER-MAJOR) repl: don’t complete expressions when eval fails (Anna Henningsen) #6328
- [757fbac64b] - (SEMVER-MAJOR) src: remove deprecated internal functions (Ben Noordhuis) #6053
- [4e46931406] - (SEMVER-MAJOR) src: deprecate undocumented variables (Jackson Tian) #1838
- [57003520f8] - (SEMVER-MAJOR) src: attach error to stack on displayErrors (cjihrig) #4874
- [e7c077c610] - (SEMVER-MAJOR) stream: make null an invalid chunk to write in object mode (Calvin Metcalf) #6170
- [cc0342a517] - (SEMVER-MAJOR) streams: update .readable/.writable to false (Brian White) #4083
- [652782d137] - (SEMVER-MAJOR) test: update test-repl-require for local paths (Myles Borins) #5689
- [a5aa7c1713] - (SEMVER-MAJOR) test: expand test case for unknown file open flags (James M Snell) #5590
- [2c33819370] - (SEMVER-MAJOR) test: fix tests that check error messages (cjihrig) #3727
- [ac153bd2a6] - (SEMVER-MAJOR) timers: fail early when callback is not a function (Anna Henningsen) #4362
- [1ab6b21360] - (SEMVER-MAJOR) tls: rename clientError to tlsClientError (Fedor Indutny) #4557
- [df268f97bc] - (SEMVER-MAJOR) tls: use SHA1 for sessionIdContext (Stefan Budeanu) #3866
- [8ffa20c495] - (SEMVER-MAJOR) tools: do not rewrite npm shebang in install.py (Evan Lucas) #6098
- [a2c0aa84e0] - (SEMVER-MAJOR) tty: Remove deprecated setRawMode wrapper (Wyatt Preul) #2528
- [eb4201f07a] - (SEMVER-MAJOR) url: drop auth in url.resolve() if host changes (Alex Kocharin) #1480
- [e2f47f5698] - (SEMVER-MAJOR) util: Change how Error objects are formatted (Mudit Ameta) #4582
- [93d6b5fb68] - (SEMVER-MAJOR) util: use consistent Dates in inspect() (Xotic750) #4318
- [24012a879d] - (SEMVER-MAJOR) util: make inspect more reliable (Evan Lucas) #4098
- [007cfea308] - (SEMVER-MAJOR) util: remove pump (Wyatt Preul) #2531
- [4cf19ad1bb] - (SEMVER-MAJOR) util: Remove exec, has been deprecated for years (Wyatt Preul) #2530
- [34a35919e1] - (SEMVER-MAJOR) util: improve typed array formatting (Ben Noordhuis) #3793
- [1cf26c036d] - (SEMVER-MAJOR) win: prevent node from running on Windows Vista or earlier (Alexis Campailla) #5167
- [55db19074d] - (SEMVER-MAJOR) win,msi: prevent from installing on Windows Vista or earlier (Alexis Campailla) #5167
- ['54a5287e3e'] - (SEMVER-MAJOR) zlib: fix gzip member head/buffer boundary issue (Anna Henningsen) #5883
- [8b43d3f52d] - (SEMVER-MAJOR) zlib: do not emit event on *Sync() methods (Rich Trott) #5707
- Semver-minor and patch commits since v5.11.0:
- [6c1e5ad3ab] - (SEMVER-MINOR) buffer: add Buffer.prototype.lastIndexOf() ([email protected]) #4846
- [dd67608bfd] - buffer: safeguard against accidental kNoZeroFill (Сковорода Никита Андреевич) nodejs/node-private#30
- [a4b8000029] - build: update android-configure script for npm (Robert Chiras) #6349
- [40ede46690] - cares: Support malloc(0) scenarios for AIX (Gireesh Punathil) #6305
- [e5f1e2c1df] - deps: upgrade to V8 5.0.71.35 (Ali Ijaz Sheikh) #6372
- [49e42c530b] - deps: upgrade to V8 5.0.71.34 (Ali Ijaz Sheikh) #6320
- [2011f2c6dc] - doc: fix position of fs.readSync() (Jeremiah Senkpiel) #6399
- [29a6c7c1f0] - doc: change references to Stable to Current (Myles Borins) #6318
- [a026cd0fa5] - doc: update authors (James M Snell) #6373
- [92a02d51dc] - doc: add JacksonTian to collaborators (Jackson Tian) #6388
- [879aeb5e49] - doc: add Minqi Pan to collaborators (Minqi Pan) #6387
- [be5d699055] - doc: add eljefedelrodeodeljefe to collaborators (Robert Jefe Lindstaedt) #6389
- [916b1a1d44] - doc: add ronkorving to collaborators (ronkorving) #6385
- [c7066fb853] - doc: add estliberitas to collaborators (Alexander Makarenko) #6386
- [983a809456] - doc: fix broken references (Alexander Gromnitsky) #6350
- [ae991e7577] - doc: add note for platform specific flags fs.open() (Robert Jefe Lindstaedt) #6136
- [f85412d49b] - doc: improvements to child_process, process docs (Alexander Makarenko)
- [f6d90a912b] - doc: fix a typo in the CONTRIBUTING.md (vsemozhetbyt) #6343
- [6815a3b7f9] - doc: add vm example, be able to require modules (Robert Jefe Lindstaedt) #5323
- [7f11634a46] - doc: note that process.config can and will be changed (James M Snell) #6266
- [0e7d57af35] - (SEMVER-MINOR) events: add prependListener() and prependOnceListener() (James M Snell) #6032
- [c1cd64481f] - events: make eventNames() use Reflect.ownKeys() (Luigi Pinca) #5822
- [f1294f5bfd] - gyp: inherit parent for *.host (Johan Bergström) #6173
- [d5922bd7a9] - querystring: fix comments (Brian White) #6365
- [2c480bdae6] - src: fix check-imports.py linter errors (Sakthipriyan Vairamani) #6105
- [5eb4ec090d] - src: squelch -Wunused-variable in non-icu builds (Ben Noordhuis) #6351
- [a3b5b9cbf2] - src: fix out-of-bounds write in TwoByteValue (Anna Henningsen) #6330
- [cdba9a6c02] - src: add intl and icu configs to process.binding('config') (James M Snell) #6266
- [2e974cdd8c] - src: add process.binding('config') (James M Snell) #6266
- [75e073f2b2] - test: increase the platform timeout for AIX (Michael Dawson) #6342
- [84ebf2b40d] - test: add tests for console.assert (Evan Lucas) #6302
- [a770a163ab] - test: v8-flags is sensitive to script caching (Ali Ijaz Sheikh) #6316
- [1e4d053e6b] - test: don't assume IPv6 in test-regress-GH-5727 (cjihrig) #6319
- [a7335bd1f0] - test,benchmark: use deepStrictEqual() (Rich Trott) #6213
- [6781d917f4] - tools: rewrite check-install.sh in python (Sakthipriyan Vairamani) #6105
- [e84c69310f] - tools: enforce deepStrictEqual over deepEqual (Rich Trott) #6213
- [7940ecfa00] - v8: warn in Template::Set() on improper use (Ben Noordhuis) #6277
New in Node.js 5.11.0 (Apr 22, 2016)
- NOTABLE CHANGES:
- Buffer:
- Buffer.prototype.compare can now compare sub-ranges of two Buffers. (James M Snell) #5880
- deps:
- update to http-parser 2.7.0 (Fedor Indutny) #6279
- update ESLint to 2.7.0 (silverwind) #6132
- net:
- adds support for passing DNS lookup hints to createConnection() (Colin Ihrig) #6000
- node:
- Make the builtin libraries available for the --eval and --print CLI options (Anna Henningsen) #6207
- npm:
- upgrade npm to 3.8.6 (Kat Marchán) #6153
- repl:
- Pressing enter in the repl will repeat the last command by default if no input has been received. This behaviour was in node previously and was not removed intentionally. (Rich Trott) #6090
- src:
- add SIGINFO to supported signals (James Reggio) #6093
- streams:
- Fix a regression that caused by net streams requesting multiple chunks synchronously when combined with cork/uncork (Matteo Collina) #6164
- zlib:
- The flushing flag is now configurable allowing for decompression of partial data (Anna Henningsen) #6069
- COMMITS:
- [14fcb1dded] - assert: respect assert.doesNotThrow message. (Ilya Shaisultanov) #2407
- [332f7382bb] - benchmark: add module loader benchmark parameter (Brian White) #5172
- [473f086a94] - (SEMVER-MINOR) buffer: add Buffer.prototype.compare by offset (James M Snell) #5880
- [d44540f5af] - buffer: standardize array index check (Trevor Norris) #6084
- [bd12d72e0c] - build: fix make tar-headers for Linux (Gibson Fahnestock) #5978
- [3c8d404a82] - build: allow test-ci to run tests in parallel (Johan Bergström) #6208
- [a5f8d0c6ef] - build: remove -f{data,function}-sections flags (Ben Noordhuis) #6077
- [adfb1a4bb0] - child_process: add nullptr checks after allocs (Anna Henningsen) #6256
- [1fb40524ee] - (SEMVER-MINOR) debugger: run last command on presssing enter (Rich Trott) #6090
- [5305831184] - deps: update to http-parser 2.7.0 (Fedor Indutny) #6279
- [8ae200c768] - deps: floating fix for npm's test-node script (Kat Marchán) #6153
- [e3e544eb96] - deps: upgrade npm to 3.8.6 (Kat Marchán) #6153
- [a7104e4516] - deps: cherry-pick 1383d00 from v8 upstream (Fedor Indutny) #6179
- [632e6b9617] - deps: backport 125ac66 from v8 upstream (Myles Borins) #6086
- [4b8376986a] - doc: git mv to .md (Robert Jefe Lindstaedt) #4747
- [e6f4a175d4] - doc: add full example for zlib.flush() (Anna Henningsen) #6172
- [50f3f10ce6] - doc: note that zlib.flush acts after pending writes (Anna Henningsen) #6172
- [985685d170] - doc: fix broken references (Alexander Gromnitsky) #6100
- [d66d883a85] - doc: path.format provide more examples (John Eversole) #5838
- [dc1552e321] - doc: replace functions with arrow functions (abouthiroppy) #6203
- [fa04dfc307] - doc: DCO anchor that doesn't change (William Kapke) #6257
- [b49a5b33b5] - doc: fix http response event, Agent#getName (Matthew Douglass) #5993
- [3b00d7a5b1] - doc: document intention and dangers of fs module Buffer API (Nikolai Vavilov) #6020
- [3bc31526bb] - doc: explain differences in console.assert between node and browsers (James M Snell) #6169
- [3f73502662] - doc: native module reloading is not supported (Bryan English) #6168
- [5f9c8297f1] - doc: clarify fs.watch() and inodes on linux, os x (Joran Dirk Greef) #6099
- [f3c0b78ae4] - doc: add domain postmortem (Trevor Norris) #6159
- [a91834e743] - doc: add stefanmb to collaborators (Stefan Budeanu) #6227
- [117348d082] - doc: add iWuzHere to collaborators (Imran Iqbal) #6226
- [a1c46b63e8] - doc: add santigimeno to collaborators (Santiago Gimeno) #6225
- [976e4bb3da] - doc: add addaleax to collaborators (Anna Henningsen) #6224
- [4fa949ef75] - doc: fix incorrect references in buffer docs (Amery) #6194
- [b26fea1595] - doc: add copy about how to curl SHA256.txt (Myles Borins) #6120
- [daaad47099] - doc: clarification for maxBuffer and Unicode output (James M Snell) #6030
- [5e6915f374] - doc: describe child.kill() pitfalls on linux (Robert Jefe Lindstaedt) #2098
- [a40d0e8f9d] - doc: fix scrolling on iOS devices (Luigi Pinca) #5878
- [a81fca4f99] - doc: add topic - event loop, timers, nextTick() (Jeff Harris) #4936
- [440d1172fd] - doc: add example using algorithms not directly exposed (Brad Hill) #6108
- [96ad5c5303] - doc: update openssl LICENSE using license-builder.sh (Steven R. Loomis) #6065
- [07829b0bc9] - doc: simple doc typo fix (Brendon Pierson) #6041
- [bc0ee06226] - doc: note about Android support (Rich Trott) #6040
- [60a73a2ed2] - doc: fix a typo in 5.10.1's changelog (Vladimir Varankin) #6076
- [b57be92c1b] - gitignore: adding .vs/ directory to .gitignore (Mike Kaufman) #6070
- [6e891c7ad4] - gitignore: ignore VS 2015 *.VC.opendb files (Mike Kaufman) #6070
- [abd101be1a] - http: disallow sending obviously invalid status codes (Brian White) #6291
- [16b23b2c28] - http: skip body and next message of CONNECT res (Fedor Indutny) #6279
- [a259ee4018] - http: unref socket timer on parser execute (Fedor Indutny) #6286
- [d4abca5b27] - lib: remove bootstrap global context indirection (Jeremiah Senkpiel) #5881
- [c8783aff21] - lib,test,tools: alignment on variable assignments (Rich Trott) #6242
- [d5d4f194f1] - net: replace defineGetter with defineProperty (Fedor Indutny) #6284
- [6d9c0c9aa7] - (SEMVER-MINOR) net: support DNS hints in createConnection() (Colin Ihrig) #6000
- [457f24f19c] - (SEMVER-MINOR) node: make builtin libs available for --eval (Anna Henningsen) #6207
- [fc89d17656] - path: fixing a test that breaks on some machines. (Mike Kaufman) #6067
- [1d408099b7] - process: fix incorrect usage of assert.fail() (Rich Trott) #6211
- [07c9f981d6] - (SEMVER-MINOR) repl: keep the built-in modules non-enumerable (Anna Henningsen) #6207
- [5382deaa18] - repl: don’t complete non-simple expressions (Anna Henningsen) #6192
- [2254f1a175] - repl: refactor repl.js (Rich Trott) #6071
- [7d54d85269] - (SEMVER-MINOR) src: add SIGINFO to supported signals (James Reggio) #6093
- [fbc99ba4f1] - src: add missing 'inline' keywords (Ben Noordhuis) #6056
- [20bb92f5c8] - src: use size_t for http parser array size fields (Ben Noordhuis) #5969
- [2fd8be2dbe] - src: replace ARRAY_SIZE with typesafe arraysize (Ben Noordhuis) #5969
- [4392b4aee0] - stream: Fix readableState.awaitDrain mechanism (Anna Henningsen) #6023
- [20dcdd365b] - stream_base: expose bytesRead getter (Fedor Indutny) #6284
- [f69416c06e] - streams: support unlimited synchronous cork/uncork cycles (Matteo Collina) #6164
- [4bfed26d1a] - test: add zlib close-after-error regression test (Anna Henningsen) #6270
- [99d0a61441] - test: move more tests from sequential to parallel (Santiago Gimeno) #6187
- [96be986a77] - test: assert - fixed error messages to match the tests (surya panikkal) #6241
- [4e4efb756e] - test: add test for responses to HTTP CONNECT req (Josh Leder) #6279
- [5b42ef5dfe] - test: move debugger tests to sequential (Rich Trott) #6205
- [9856b804e9] - test: move some test from sequential to parallel (Santiago Gimeno) #6087
- [1d130d0203] - test: move the debugger tests back to parallel (Santiago Gimeno) #6246
- [c0e9c94868] - test: fix issues for ESLint 2.7.0 (silverwind) #6132
- [056a258173] - test: fix flaky test-http-set-timeout-server (Santiago Gimeno) #6248
- [be993fcf6c] - test: fix test-net-settimeout flakiness (Santiago Gimeno) #6166
- [a38b614ae9] - test: fix flaky test-child-process-fork-net (Rich Trott) #6138
- [476535cc0e] - test: fix flaky test-http-client-abort (Rich Trott) #6124
- [6bb7999bd6] - test: refactor test-file-write-stream3 (Rich Trott) #6050
- [a27e95231e] - test: enforce strict mode for test-domain-crypto (Rich Trott) #6047
- [8da4bad1c9] - test: fix pummel test failures (Rich Trott) #6012
- [edd8a15508] - test,repl: use deepStrictEqual for false-y values (Jeremiah Senkpiel) #6196
- [48ecc0b6b5] - test,tools: enable linting for undefined vars (Rich Trott) #6255
- [d809c84bf8] - test,vm: enable strict mode for vm tests (Rich Trott) #6209
- [4a1dfdcc0f] - tools: lint rule for assert.fail() (Rich Trott) #6261
- [fff6a84da5] - tools: enable linting for v8_prof_processor.js (Rich Trott) #6262
- [a2ca347803] - tools: move message listener to worker objects (Brian White) #6212
- [f201b01bf7] - tools: improve js linter (Brian White) #5638
- [be070d775f] - tools: lint for alignment of variable assignments (Rich Trott) #6242
- [d9b8758f47] - tools: update ESLint to 2.7.0 (silverwind) #6132
- [a6056c453e] - tools: fix license-builder.sh again for ICU (Steven R. Loomis) #6068
- [fabc33a075] - tools: remove simplejson dependency (Sakthipriyan Vairamani) #6101
- [d516412cd5] - tools,doc: parse types in braces everywhere (Alexander Makarenko) #5329
- [69eb4a6834] - tools,doc: fix json for grouped optional params (firedfox) #5977
- [a2dd848764] - tools,doc: fix incomplete json produced by doctool (firedfox) #5966
- [bad006f2e1] - zlib: fix use after null when calling .close (James Lal) #5982
- [83bc0a2ac9] - (SEMVER-MINOR) zlib: Make the finish flush flag configurable (Anna Henningsen) #6069
- [2c23e14d5d] - (SEMVER-MINOR) zlib: detect gzip files when using unzip* (Anna Henningsen) #5884
- [61167c3e23] - zlib: fix gzip member head/buffer boundary issue (Anna Henningsen) #5973
New in Node.js 5.10.1 (Apr 6, 2016)
- NOTABLE CHANGES:
- http:
- Enclose IPv6 Host header in square brackets. This will enable proper seperation of the host adress from any port reference (Mihai Potra) #5314
- path:
- Make win32.isAbsolute more consistent (Brian White) #6028
- COMMITS:
- [0f5a51ae4b] - assert: Check typed array view type in deepEqual (Anna Henningsen) #5910
- [e966d1f5db] - buffer: don't set kNoZeroFill flag in allocUnsafe (Vladimir Kurchatkin) #6007
- [3f75751c2e] - build: introduce ci targets for lint/benchmark (Johan Bergström) #5921
- [781290b61d] - doc: refine child_process detach behaviour (Robert Jefe Lindstaedt) #5330
- [aa9fb03202] - doc: use HTTPS for links where possible (Rich Trott) #6019
- [dd25984838] - doc: note assert.throws() pitfall (Rich Trott) #6029
- [f879f5e68a] - doc: document unspecified behavior for buf.write* methods (James M Snell) #5925
- [f12c3861e0] - doc: clarify stdout/stderr arguments to callback (James M Snell) #6015
- [ce173716be] - doc: add 'Command Line Options' to 'View on single page' (firedfox) #6011
- [7337ef6422] - doc: minor argument formatting in stream.markdown (James M Snell) #6016
- [0ae5d027c6] - doc: clarify that __dirname is module local (James M Snell) #6018
- [8bec8aa41f] - doc: consolidate timers docs in timers.markdown (Bryan English) #5837
- [0a13099c42] - etw: add event messages (João Reis) #5936
- [c6ac6f2ea1] - http: Corrects IPv6 address in Host header (Mihai Potra) #5314
- [8317778925] - meta: add "joining a wg" section to WORKING_GROUPS.md (Matteo Collina) #5488
- [f3f19ee5e2] - net: refactor self=this to arrow functions (Benjamin Gruenbaum) #5857
- [1c4007927d] - path: fix win32.isAbsolute() inconsistency (Brian White) #6028
- [059b607a4f] - test: make use of globals explicit (Rich Trott) #6014
- [cc8fcc5a07] - test: be explicit about polluting of global (Rich Trott) #6017
- [7db7a820b9] - test: make arch available in status files (Santiago Gimeno) #5997
- [02f2ebd9b4] - test: explicitly set global in test-repl (Rich Trott) #6026
- [2ab1237137] - test: fix flaky test-net-socket-timeout-unref (Rich Trott) #6003
- [0127c2bd39] - test: fix test-dns.js flakiness (Rich Trott) #5996
- [6052ced37f] - test: fix error message checks in test-module-loading (James M Snell) #5986
- [a40b0cb673] - test: refactor http-end-throw-socket-handling (Santiago Gimeno) #5676
- [96bb315262] - test: ensure _handle property existence (Rich Trott) #5916
- [4f1fa2adeb] - test: fix offending max-len linter error (Sakthipriyan Vairamani) #5980
- [f14d71ccea] - test: stdin is not always a net.Socket (Jeremiah Senkpiel) #5935
- [50a062e691] - tools: remove obsolete lint config file (Rich Trott) #5959
- [7491fdcfe9] - tools: remove disabling of already-disabled rule (Rich Trott) #6013
New in Node.js 5.10.0 (Apr 1, 2016)
- HIGHLIGHTS:
- fs: add the fs.mkdtemp() function. (Florian MARGAINE) #5333
- net: emit host in lookup event (HUANG Wei) #5598
- node: --no-browser-globals configure flag (Fedor Indutny) #5853
- npm: Upgrade to v3.8.3. Fixes a security flaw in the use of authentication tokens in HTTP requests that would allow an attacker to set up a server that could collect tokens from users of the command-line interface. Authentication tokens have previously been sent with every request made by the CLI for logged-in users, regardless of the destination of the request. This update fixes this by only including those tokens for requests made against the registry or registries used for the current install. (Forrest L Norvell) npm/node#6
- repl: support standalone blocks (Prince J Wesley) #5581
- src: override v8 thread defaults using cli options (Tom Gallacher) #4344
- buffer:
- make byteLength work with ArrayBuffer & DataView (Jackson Tian) #5255
- backport --zero-fill-buffers command line option (James M Snell) #5744
- backport new buffer constructor APIs (James M Snell) #5763
- add swap16() and swap32() methods (James M Snell) #5724
New in Node.js 5.9.1 (Mar 24, 2016)
- HIGHLIGHTS:
- vm: Fixed a contextify regression introduced in v5.9.0 (Ali Ijaz Sheikh) #5800.
- buffer: Now properly throws RangeErrors on out-of-bounds writes (Matt Loring) #5605:
- This effects write{Float|Double} when the noAssert option is not used.
- timers:
- Returned timeout objects now have a Timeout constructor name (Jeremiah Senkpiel) #5793.
- Performance of Immediate processing is now ~20-40% faster (Brian White) #4169.
New in Node.js 5.9.0 (Mar 17, 2016)
- contextify: Fixed a memory consumption issue related to heavy use of vm.createContext and vm.runInNewContext. (Ali Ijaz Sheikh) https://github.com/nodejs/node/pull/5392
- lib: copy arguments object instead of leaking it (Nathan Woltman) https://github.com/nodejs/node/pull/4361
- src: allow both -i and -e flags to be used at the same time (Rich Trott) https://github.com/nodejs/node/pull/5655
- governance: The following members have been added as collaborators:
- Andreas Madsen (@AndreasMadsen)
- Benjamin Gruenbaum (@benjamingr)
- Claudio Rodriguez (@claudiorodriguez)
- Glen Keane (@thekemkid)
- Jeremy Whitlock (@whitlockjc)
- Matt Loring (@matthewloring)
- Phillip Johnsen (@phillipj)
- timers: Internal Node.js timeouts now use the same logic path as those created with setTimeout() (Jeremiah Senkpiel) #4007:
- This may cause a slightly different performance profile in some situations. So far, it has shown to be positive in most cases.
- v8: backport fb4ccae from v8 upstream (Vladimir Krivosheev) #4231:
- breakout events from v8 to offer better support for external debuggers
- zlib: add support for concatenated members (Kári Tristan Helgason) https://github.com/nodejs/node/pull/5120:
- Previously, if multiple members were in the same archive, only the first would be read. The others are no longer thrown away.
- Commits:
- [03b99bf8b9] - build: don't install github templates (Johan Bergström) #5612
- [a7819da15a] - Revert "build: run lint before tests" (Rich Trott) #5602
- [5e9cac4333] - console: check that stderr is writable (Rich Trott) #5635
- [0662fcf209] - contextify: cache sandbox and context in locals (Ali Ijaz Sheikh) #5392
- [4f2c839d46] - contextify: replace deprecated SetWeak usage (Ali Ijaz Sheikh) #5392
- [bfff07b4dd] - contextify: cleanup weak ref for sandbox (Ali Ijaz Sheikh) #5392
- [93f60cdc54] - contextify: cleanup weak ref for global proxy (Ali Ijaz Sheikh) #5392
- [b6c355de0d] - (SEMVER-MINOR) deps: backport fb4ccae from v8 upstream (develar) #4231
- [29510aa4fd] - deps: update openssl config (Shigeki Ohtsu) #5630
- [532d1bf9ce] - deps: sync deps/http_parser with nodejs/http_parser (James M Snell) #5600
- [d5d64c327b] - doc: clarify commit message rules (Wyatt Preul) #5661
- [8c4c84fe5b] - doc: add Testing WG (Rich Trott) #5461
- [434af03825] - doc: Add note about use of JSON.stringify() (Mithun Patel) #5723
- [62926d85bd] - doc: clarify type of first argument in zlib (Kirill Fomichev) #5685
- [eb73574349] - doc: clarify when writable.write callback is called (Kevin Locke) #4810
- [c579507034] - doc: fix typo in api/addons (Daijiro Wachi) #5678
- [8e45c9d9ea] - doc: fix typo in api/dgram (Daijiro Wachi) #5678
- [44a9b100c5] - doc: fix typo in api/fs (Daijiro Wachi) #5678
- [b667573bcb] - doc: update fansworld-claudio username on README (Claudio Rodriguez) #5680
- [9794abb5d1] - doc: add onboarding resources (Jeremiah Senkpiel) #3726
- [31e39fbd7a] - doc: remove non-standard use of hyphens (Stefano Vozza)
- [f3e9daa825] - doc: add clarification on birthtime in fs stat (Kári Tristan Helgason) #5479
- [c379ec6522] - doc: move build instructions to a new document (Johan Bergström) #5634
- [2a442b3dfc] - doc: update removeListener behaviour (Vaibhav) #5201
- [f6ee0996e0] - doc: fix typo in child_process docs (Benjamin Gruenbaum) #5681
- [dd12661173] - doc: include typo in 'unhandledRejection' example (Robert C Jensen) #5654
- [f7aecd6e94] - doc: add thekemkid to collaborators (Glen Keane) #5667
- [b81711acfb] - doc: add phillipj to collaborators (Phillip Johnsen) #5663
- [a33f2486f0] - doc: add fansworld-claudio to collaborators (Claudio Rodriguez) #5668
- [285d5e7ba6] - doc: add AndreasMadsen to collaborators (Andreas Madsen) #5666
- [8e1f6706e3] - doc: add benjamingr to collaborator list (Benjamin Gruenbaum) #5664
- [f7842cbb24] - doc: add whitlockjc to collaborators (Jeremy Whitlock) #5665
- [dd6f4ec2e4] - doc: add mattloring to collaborators (Matt Loring) #5662
- [9ebd559a55] - doc: fix markdown links (Steve Mao) #5641
- [62d267e1ff] - doc: fix dns.resolveCname description typo (axvm) #5622
- [9f8e2e2979] - doc: update release tweet template (Jeremiah Senkpiel) #5628
- [4d6fe300fe] - doc: fix v5.8.0 changelog heading (Jeremiah Senkpiel) #5559
- [4c1fdaeb2a] - docs: update link to iojs+release ci job (Myles Borins) #5632
- [205bed0bec] - lib: copy arguments object instead of leaking it (Nathan Woltman) #4361
- [b16f67a0b9] - net: make isIPv4 and isIPv6 more efficient (Vladimir Kurchatkin) #5478
- [4ecd996baa] - (SEMVER-MINOR) src: allow combination of -i and -e cli flags (Rich Trott) #5655
- [f225459496] - test: improve test-npm-install (Santiago Gimeno) #5613
- [cceae5ae78] - test: eval a strict function (Kári Tristan Helgason) #5250
- [9a44c8c337] - test: add batch of known issue tests (cjihrig) #5653
- [1b7b1ed2c9] - timers: greatly improve code comments (Jeremiah Senkpiel) #4007
- [769254b0ba] - timers: refactor timers (Jeremiah Senkpiel) #4007
- [0b545fb3f8] - win,build: support Visual C++ Build Tools 2015 (João Reis) #5627
- [ef774ff9a8] - (SEMVER-MINOR) zlib: add support for concatenated members (Kári Tristan Helgason) #5120
New in Node.js 5.8.0 (Mar 9, 2016)
- HIGHLIGHTS:
- repl: start() no longer requires an options parameter (cjihrig) #5388.
- util: Improved format() performance 50-300% (Evan Lucas) #5360.
- constants: ENGINE_METHOD_RSA is now correctly exposed (Sam Roberts) #5463.
- Fixed two regressions which originated in v5.7.0:
- http: Errors inside of http client callbacks now propagate correctly (Trevor Norris) #5591.
- path: Fixed normalization of absolute paths (Evan Lucas) #5589.
- child_process: send() now accepts an options parameter (cjihrig) #5283:
- Currently the only option is keepOpen, which keeps the underlying socket open after the message is sent.
New in Node.js 5.7.1 (Mar 3, 2016)
- governance: The Core Technical Committee (CTC) added four new members to help guide Node.js core development: Evan Lucas, Rich Trott, Ali Ijaz Sheikh and Сковорода Никита Андреевич (Nikita Skovoroda).
- OPENSSL: UPGRADE FROM 1.0.2F TO 1.0.2G (BEN NOORDHUIS) #5507:
- Fix a double-free defect in parsing malformed DSA keys that may potentially be used for DoS or memory corruption attacks. It is likely to be very difficult to use this defect for a practical attack and is therefore considered low severity for Node.js users. More info is available at CVE-2016-0705.
- Fix a defect that can cause memory corruption in certain very rare cases relating to the internal BN_hex2bn() and BN_dec2bn() functions. It is believed that Node.js is not invoking the code paths that use these functions so practical attacks via Node.js using this defect are unlikely to be possible. More info is available at CVE-2016-0797.
- Fix a defect that makes the CacheBleed Attack possible. This defect enables attackers to execute side-channel attacks leading to the potential recovery of entire RSA private keys. It only affects the Intel Sandy Bridge (and possibly older) microarchitecture when using hyper-threading. Newer microarchitectures, including Haswell, are unaffected. More info is available at CVE-2016-0702.
- FIXED SEVERAL REGRESSIONS THAT APPEARED IN V5.7.0:
- url: Fixed an off-by-one error with parse() (Brian White) #5394.
- dgram: Now correctly handles a default address case when offset and length are specified (Matteo Collina) #5407.
- path.relative():
- Output is no longer unnecessarily verbose (Brian White) #5389.
- Resolving UNC paths on Windows now works correctly (Owen Smith) #5456.
- Resolving paths with prefixes now works correctly from the root directory (Owen Smith) #5490.
New in Node.js 5.7.0 (Feb 23, 2016)
- NOTABLE CHANGES:
- http_parser: Update to http-parser 2.6.2 to fix an unintentionally strict limitation of allowable header characters (James M Snell) #5237
- dgram: socket.send() now supports accepts an array of Buffers or Strings as the first argument. See the API docs for details on how this works. (Matteo Collina) #4374
- http: Fix a bug where handling headers will mistakenly trigger an 'upgrade' event where the server is just advertising its protocols. This bug can prevent HTTP clients from communicating with HTTP/2 enabled servers. (Fedor Indutny) #4337
- net: Added a listening Boolean property to net and http servers to indicate whether the server is listening for connections. (José Moreira) #4743
- node: The C++ node::MakeCallback() API is now reentrant and calling it from inside another MakeCallback() call no longer causes the nextTick queue or Promises microtask queue to be processed out of order. (Trevor Norris) #4507
- tls: Add a new tlsSocket.getProtocol() method to get the negotiated TLS protocol version of the current connection. (Brian White) #4995
- vm: Introduce new 'produceCachedData' and 'cachedData' options to new vm.Script() to interact with V8's code cache. When a new vm.Script object is created with the 'produceCachedData' set to true a Buffer with V8's code cache data will be produced and stored in cachedData property of the returned object. This data in turn may be supplied back to another vm.Script() object with a 'cachedData' option if the supplied source is the same. Successfully executing a script from cached data can speed up instantiation time. See the API docs for details. (Fedor Indutny) #4777
- buffer:
- You can now supply an encoding argument when filling a Buffer Buffer#fill(string[, start[, end]][, encoding]), supplying an existing Buffer will also work with Buffer#fill(buffer[, start[, end]]). See the API documentation for details on how this works. (Trevor Norris) #4935
- Buffer#indexOf() no longer requires a byteOffset argument if you also wish to specify an encoding: Buffer#indexOf(val[, byteOffset][, encoding]). (Trevor Norris) #4803
- child_process: spawn() and spawnSync() now support a 'shell' option to allow for optional execution of the given command inside a shell. If set to true, cmd.exe will be used on Windows and /bin/sh elsewhere. A path to a custom shell can also be passed to override these defaults. On Windows, this option allows .bat. and .cmd files to be executed with spawn() and spawnSync(). (Colin Ihrig) #4598
- performance: Improvements in:
- process.nextTick() (Ruben Bridgewater) #5092
- path module (Brian White) #5123
- querystring module (Brian White) #5012
- streams module when processing small chunks (Matteo Collina) #4354
- COMMITS:
- [3a96fa0030] - async_wrap: add parent uid to init hook (Andreas Madsen) #4600
- [4ef04c7c4c] - async_wrap: make uid the first argument in init (Andreas Madsen) #4600
- [4afe801f90] - async_wrap: add uid to all asyncWrap hooks (Andreas Madsen) #4600
- [edf8f8a7da] - benchmark: split path benchmarks (Brian White) #5123
- [8d713d8d51] - benchmark: allow empty parameters (Brian White) #5123
- [eb6d07327a] - (SEMVER-MINOR) buffer: add encoding parameter to fill() (Trevor Norris) #4935
- [60d2048b6c] - (SEMVER-MINOR) buffer: properly retrieve binary length of needle (Trevor Norris) #4803
- [4c67d74607] - (SEMVER-MINOR) buffer: allow encoding param to collapse (Trevor Norris) #4803
- [5fa4117bfc] - build: add a help message and removed a TODO. (Ojas Shirekar) #5080
- [09bfb865af] - build: remove redundant TODO in configure (Ojas Shirekar) #5080
- [3dfc11c516] - build: remove Makefile.build (Ojas Shirekar) #5080
- [fc78d3d6a7] - build: skip msi build if WiX is not found (Tsarevich Dmitry) #5220
- [356acb39d7] - build: treat aarch64 as arm64 (Johan Bergström) #5191
- [3b83d42b4a] - build: fix build when python path contains spaces (Felix Becker) #4841
- [9e6ad2d8ff] - child_process: fix data loss with readable event (Brian White) #5036
- [ecc797600f] - (SEMVER-MINOR) child_process: add shell option to spawn() (cjihrig) #4598
- [efd6f68dce] - cluster: dont rely on this in fork (Igor Klopov) #5216
- [df93d60caf] - console: apply null as this for util.format (Jackson Tian) #5222
- [c397ba8fa3] - contextify: use offset/length from Uint8Array (Fedor Indutny) #4947
- [3048ac0b57] - crypto: have fixed NodeBIOs return EOF (Adam Langley) #5105
- [af074846f5] - debugger: remove unneeded callback check (Rich Trott) #5319
- [7bac743f36] - debugger: assert test before accessing this.binding (Prince J Wesley) #5145
- [18c94e5a8d] - deps: remove unnecessary files (Brian White) #5212
- [967cf97bf0] - deps: cherry-pick 2e4da65 from v8's 4.8 upstream (Michael Dawson) #5293
- [bbdf2684d5] - deps: update to http-parser 2.6.2 (James M Snell) #5237
- [127dd6275a] - Revert "deps: sync with upstream c-ares/c-ares@4ef6817" (Ben Noordhuis) #5199
- [35c3832994] - deps: sync with upstream c-ares/c-ares@4ef6817 (Fedor Indutny) #5199
- [b4db31822f] - dgram: scope redeclared variables (Rich Trott) #4940
- [368c1d1098] - (SEMVER-MINOR) dgram: support dgram.send with multiple buffers (Matteo Collina) #4374
- [a8862f59eb] - doc: update repo docs to use 'CTC' (Alexis Campailla) #5304
- [6cf8ec5bd1] - doc: s/http/https in Myles Borins' GitHub link (Rod Vagg) #5356
- [0389e3803c] - doc: clarify child_process.execFile{,Sync} file arg (Kevin Locke) #5310
- [c48290d9b7] - doc: fix buf.length slice example (Chinedu Francis Nwafili) #5259
- [a6e437c619] - doc: fix buffer[index] example (Chinedu Francis Nwafili) #5253
- [73ef1bd423] - doc: fix template string (Rafael Cepeda) #5240
- [fa04daa384] - doc: clarify exceptions during uncaughtException (Noah Rose) #5180
- [22f132e61d] - doc: improvements to console.markdown copy (Alexander Makarenko) #5225
- [48fa6f6063] - doc: update process.send() signature (cjihrig) #5284
- [35d89d4662] - doc: fix net.createConnection() example (Brian White) #5219
- [149007c9f0] - doc: replace node-forward link in CONTRIBUTING.md (Ben Noordhuis) #5227
- [a6aaf2caab] - doc: improve scrolling, various CSS tweaks (Roman Reiss) #5198
- [18b00deeac] - doc: update DCO to v1.1 (Mikeal Rogers) #5170
- [3955bc4cd0] - doc: fix minor inconsistencies in repl doc (Rich Trott) #5193
- [287bce7b48] - doc: merging behavior of writeHead vs setHeader (Alejandro Oviedo) #5081
- [529e749d88] - doc: fix type references for link gen, link css (Claudio Rodriguez) #4741
- [275f6dbcbb] - (SEMVER-MINOR) doc: correct tlsSocket.getCipher() description (Brian White) #4995
- [b706b0c2c5] - http: remove old, confusing comment (Brian White) #5233
- [ed36235248] - http: remove unnecessary check (Brian White) #5233
- [7e82a566b3] - (SEMVER-MINOR) http: allow async createConnection() (Brian White) #4638
- [411d813323] - http: do not emit upgrade on advertisement (Fedor Indutny) #4337
- [bbc786b50f] - http,util: fix typos in comments (Alexander Makarenko) #5279
- [a2d198c702] - net: use _server for internal book-keeping (Fedor Indutny) #5262
- [18d24e60c5] - (SEMVER-MINOR) net: add net.listening boolean property over a getter (José Moreira) #4743
- [9cee86e3e9] - node: set process._eventsCount to 0 on startup (Evan Lucas) #5208
- [f2e4f621c5] - node: improve process.nextTick performance (Ruben Bridgewater) #5092
- [1c6f927bd1] - path: fix input type checking regression (Brian White) #5244
- [4dae8caf7a] - path: performance improvements on all platforms (Brian White) #5123
- [46be1f4d0c] - querystring: improve escape() performance (Brian White) #5012
- [27e323e8c1] - querystring: improve unescapeBuffer() performance (Brian White) #5012
- [301023b2b4] - querystring: improve parse() performance (Brian White) #5012
- [98907c716b] - (SEMVER-MINOR) repl: allow multiline function call (Zirak) #3823
- [c551da8cb4] - repl: handle quotes within regexp literal (Prince J Wesley) #5117
- [15091ccca2] - src: remove unnecessary check (Brian White) #5233
- [830bb04d90] - src: remove TryCatch in MakeCallback (Trevor Norris) #4507
- [7f22c8c8a6] - src: remove unused TickInfo::in_tick() (Trevor Norris) #4507
- [406eb1f516] - src: remove unused of TickInfo::last_threw() (Trevor Norris) #4507
- [bcec2fecbd] - src: add AsyncCallbackScope (Trevor Norris) #4507
- [2cb1594279] - src: fix MakeCallback error handling (Trevor Norris) #4507
- [8d6e679a90] - src,test,tools: modify for more stringent linting (Rich Trott) #5214
- [7684b0fcdf] - stream: fix no data on partial decode (Brian White) #5226
- [f706cb0189] - streams: 5% throughput gain when sending small chunks (Matteo Collina) #4354
- [25513a473a] - string_decoder: fix performance regression (Brian White) #5134
- [0e85530d8c] - test: use String.prototype.repeat() for clarity (Rich Trott) #5311
- [5683efb90a] - test: remove flaky mark for test-debug-no-context (Rich Trott) #5317
- [c55bb79ace] - test: add test for https server close event (Braydon Fuller) #5106
- [138ee983b0] - test: refactor test-http-destroyed-socket-write2 (Santiago Gimeno) #4970
- [df7d91f36b] - test: mitigate flaky test-debug-no-context (Rich Trott) #5269
- [d9177e7c26] - test: test-process-getactivehandles is flaky (Alexis Campailla) #5303
- [f5cc04732f] - test: mark test-http-regr-gh-2928 flaky (Rich Trott) #5280
- [78b349d5d1] - test: disable fs watch tests for AIX (Michael Dawson) #5187
- [82ee5e94df] - test: mark test-http-agent flaky (Rich Trott) #5209
- [1494d6f213] - test: minimal repl eval option test (Rich Trott) #5192
- [e7bf951136] - test: add addons test for MakeCallback (Trevor Norris) #4507
- [98596a94fa] - (SEMVER-MINOR) test: run v8 tests from node tree (Bryon Leung) #4704
- [69c544f245] - test: fix flaky test-http-regr-gh-2928 (Rich Trott) #5154
- [7c88410507] - test: fix child-process-fork-regr-gh-2847 again (Santiago Gimeno) #5179
- [2c2cb6700d] - test: remove unneeded common.indirectInstanceOf() (Rich Trott) #5149
- [6340974f21] - test: don't run test-tick-processor.js on Aix (Michael Dawson) #5093
- [a8f4db236c] - test: improve path tests (Brian White) #5123
- [8301773c1e] - test: fix child-process-fork-regr-gh-2847 (Santiago Gimeno) #5121
- [f2bd86775b] - test: update arrow function style (cjihrig) #4813
- [aed04b85c2] - tls: nullify .ssl on handle close (Fedor Indutny) #5168
- [c3f8aab652] - (SEMVER-MINOR) tls: add getProtocol() to TLS sockets (Brian White) #4995
- [7fc2e3161f] - tools: add Node.js-specific ESLint rules (Rich Trott) #5320
- [983325cb0c] - tools: replace obsolete ESLint rules (Rich Trott) #5214
- [f601d040b5] - tools: update ESLint to version 2.1.0 (Rich Trott) #5214
- [13af565759] - tools: remove obsolete lint rules (Rich Trott) #5214
- [c566f44f1b] - tools: add recommended ES6 lint rules (Rich Trott) #5210
- [b611caa0ba] - tools: add recommended linting rules (Rich Trott) #5188
- [b1a16d1202] - tools: remove excessive comments from .eslintrc (Rich Trott) #5151
- [c4ed5ece4d] - tools: enable no-proto rule for linter (Jackson Tian) #5140
- [86f8477b56] - tools: disallow mixed spaces and tabs for indents (Rich Trott) #5135
- [21fd1496a9] - tools: alphabetize eslint stylistic issues section (Rich Trott)
- [22c8d50a1f] - tools: parse types into links in doc html gen (Claudio Rodriguez) #4741
- [5c54d4987d] - tools: enable no-redeclare rule for linter (Rich Trott) #5047
- [a3a0cf603a] - tools: add arrow function rules to eslint (cjihrig) #4813
- [bcc26f747f] - tools,doc: fix linting errors (Rich Trott) #5161
- [47274704aa] - url: fix lint and deopt issues (Brian White) #5300
- [729ad75860] - url: improve url.parse() performance (Brian White) #4892
- [6c8378b15b] - vm: fix produceCachedData (Jiho Choi) #5343
- [d1cacb814f] - (SEMVER-MINOR) vm: introduce cachedData/produceCachedData (Fedor Indutny) #4777
New in Node.js 5.5.0 (Jan 22, 2016)
- events: make sure console functions exist (Dave) #4479
- fs: add autoClose option to fs.createWriteStream (Saquib) #3679
- http: improves expect header handling (Daniel Sellers) #4501
- node: allow preload modules with -i (Evan Lucas) #4696
- v8,src: expose statistics about heap spaces (v8.getHeapSpaceStatistics()) (Ben Ripkens) #4463
- Minor performance improvements:
- lib: Use arrow functions instead of bind where possible (Minwoo Jung) #3622 (Mistakenly missing from v5.4.0)
- module: cache stat() results more aggressively (Ben Noordhuis) #4575
- querystring: improve parse() performance (Brian White) #4675
New in Node.js 0.12.7 (Jul 10, 2015)
- In addition to upgrading npm and fixing a couple of bugs, this release upgrades OpenSSL to version 1.0.1p, which fixes a security vulnerability (CVE-2015-1793).
- openssl: upgrade to 1.0.1p (CVE-2015-1793)
- npm: upgrade to 2.11.3
- V8: cherry-pick JitCodeEvent patch from upstream (Ben Noordhuis)
- win,msi: create npm folder in AppData directory (Steven Rockarts)
New in Node.js 0.12.6 (Jul 10, 2015)
- Fixes a bug that triggers an out-of-band write in V8's utf-8 decoder. This bug impacts all Buffer to String conversions. This is an important security update as this bug can be used to cause a denial of service attack.
New in Node.js 0.12.5 (Jun 23, 2015)
- openssl: upgrade to 1.0.1o (Addressing multiple CVEs)
- npm: upgrade to 2.11.2
- uv: upgrade to 1.6.1
- V8: avoid deadlock when profiling is active (Dmitri Melikyan)
- install: fix source path for openssl headers (Oguz Bastemur)
- install: make sure opensslconf.h is overwritten (Oguz Bastemur)
- timers: fix timeout when added in timer's callback (Julien Gilli)
- windows: broadcast WM_SETTINGCHANGE after install (Mathias Küsel)
New in Node.js 0.12.4 (May 29, 2015)
- npm: upgrade to 2.10.1
- V8: revert v8 Array.prototype.values() removal (cjihrig)
- win: bring back xp/2k3 support (Bert Belder)
New in Node.js 0.12.3 (May 29, 2015)
- V8: update to 3.28.71.19
- uv: upgrade to 1.5.0
- npm: upgrade to 2.9.1
- V8: don't busy loop in v8 cpu profiler thread (Mike Tunnicliffe)
- V8: fix issue with let bindings in for loops (adamk)
- debugger: don't spawn child process in remote mode (Jackson Tian)
- net: do not set V4MAPPED on FreeBSD (Julien Gilli)
- repl: make 'Unexpected token' errors recoverable (Julien Gilli)
- src: backport ignore ENOTCONN on shutdown race (Ben Noordhuis)
- src: fix backport of SIGINT crash fix on FreeBSD (Julien Gilli)
New in Node.js 0.12.2 (Apr 1, 2015)
- uv: Upgrade to 1.4.2
- npm: Upgrade to 2.7.4
- V8: Fix --max_old_space_size=4096 integer overflow (Andrei Sedoi)
- asyncwrap: fix constructor condition for early ret (Trevor Norris)
- buffer: align chunks on 8-byte boundary (Fedor Indutny)
- buffer: fix pool offset adjustment (Trevor Norris)
- console: allow Object.prototype fields as labels (Colin Ihrig)
- fs: make F_OK/R_OK/W_OK/X_OK not writable (Jackson Tian)
- fs: properly handle fd passed to truncate() (Bruno Jouhier)
- http: fix assert on data/end after socket error (Fedor Indutny)
- lib: fix max size check in Buffer constructor (Ben Noordhuis)
- lib: fix stdio/ipc sync i/o regression (Ben Noordhuis)
- module: replace NativeModule.require (Herbert Vojčík)
- net: allow port 0 in connect() (cjihrig)
- net: unref timer in parent sockets (Fedor Indutny)
- path: refactor for performance and consistency (Nathan Woltman)
- smalloc: extend user API (Trevor Norris)
- src: fix for SIGINT crash on FreeBSD (Fedor Indutny)
- src: fix builtin modules failing with --use-strict (Julien Gilli)
- watchdog: fix timeout for early polling return (Saúl Ibarra Corretgé)
New in Node.js 0.12.1 (Mar 24, 2015)
- openssl: upgrade to 1.0.1m (Addressing multiple CVES)
New in Node.js 0.12.0 (Feb 7, 2015)
- npm: Upgrade to 2.5.1
- mdb_v8: update for v0.12 (Dave Pacheco)
New in Node.js 0.11.16 Beta (Jan 31, 2015)
- openssl: Upgrade to 1.0.1l
- npm: Upgrade to 2.3.0
- url: revert support of `path` for url.format" (Julien Gilli)
- assert: use util.inspect() to create error messages (cjihrig)
- net: throw on invalid socket timeouts (cjihrig)
- url: fix parsing of ssh urls (Evan Lucas)
New in Node.js 0.10.36 (Jan 27, 2015)
- openssl: update to 1.0.1l
- v8: Fix debugger and strict mode regression (Julien Gilli)
- v8: don't busy loop in cpu profiler thread (Ben Noordhuis)
New in Node.js 0.11.15 Beta (Jan 21, 2015)
- v8: Upgrade to 3.28.73
- uv: Upgrade to 1.0.2
- npm: Upgrade to v2.1.6
- uv: float patch to revert tty breakage (Trevor Norris)
- v8: re-implement debugger-agent (Fedor Indutny)
- v8: apply floating irhydra patch (Fedor Indutny)
- v8: fix postmortem-metadata generator (Refael Ackermann)
- debugger: fix unhandled error in setBreakpoint (Miroslav Bajtoš)
- async-wrap: add event hooks (Trevor Norris)
- async-wrap: expose async-wrap as binding (Trevor Norris)
- buffer, doc: misc. fix and cleanup (Trevor Norris)
- buffer: add generic functions for (u)int ops (Yazhong Liu)
- buffer: fix and cleanup fill() (Trevor Norris)
- buffer: mv floating point read/write checks to JS (Trevor Norris)
- build, i18n: improve Intl build, add "--with-intl" (Steven R. Loomis)
- build: add small-icu support for binary packages (Julien Gilli)
- build: do not generate support for libuv's probes (Julien Gilli)
- build: i18n: add icu config options (Steven R. Loomis)
- build: i18n: support little-endian machines (Steven Loomis)
- build: vcbuild fix "The input line is too long." (Alexis Campailla)
- child_process: improve spawn() argument handling (cjihrig)
- cluster: avoid race enabling debugger in worker (Timothy J Fontaine)
- cluster: cluster.disconnect() should check status (Sam Roberts)
- cluster: do not signal children in debug mode (Fedor Indutny)
- cluster: don't assert if worker has no handles (Sam Roberts)
- core: fix usage of uv_cwd (Saúl Ibarra Corretgé)
- core: replace uv_fs_readdir with uv_fs_scandir (Saúl Ibarra Corretgé)
- crypto: createDiffieHellman throw for bad args (Trevor Norris)
- crypto: lower RSS usage for TLSCallbacks (Fedor Indutny)
- crypto: store thread id as pointer-sized (Alexis Campailla)
- dns: propagate domain for c-ares methods (Chris Dickinson)
- fs: fix symlink error message (Vladimir Kurchatkin)
- http: Improve _addHeaderLines method (Jackson Tian)
- http: cleanup setHeader() (Trevor Norris)
- http: rename flush to flushHeaders (Timothy J Fontaine)
- lib,src: fix spawnSync ignoring its 'env' option (Juanjo)
- modules: adding load linked modules feature (Thorsten Lorenz)
- net: Make server.connections un-enumerable (Patrick Mooney)
- net: add pauseOnConnect option to createServer() (cjihrig)
- net: make connect() input validation synchronous (cjihrig)
- node: avoid automatic microtask runs (Vladimir Kurchatkin)
- node: fix throws before timer module is loaded (Trevor Norris)
- openssl: fix keypress requirement in apps on win32 (Fedor Indutny)
- path: added parse() and format() functions (Rory Bradford)
- path: allow calling platform specific methods (Timothy J Fontaine)
- path: don't lower-cases drive letters (Bert Belder)
- path: refactor normalizeArray() (Nathan Woltman)
- process: pid can be a string in process.kill() (Sam Roberts)
- readline: fix performance issue when large line (Jicheng Li)
- readline: should not require an output stream. (Julien Gilli)
- smalloc: check if obj has external data (Vladimir Kurchatkin)
- smalloc: don't allow to dispose typed arrays (Vladimir Kurchatkin)
- smalloc: fix bad assert for zero length data (Trevor Norris)
- smalloc: fix copyOnto optimization (Vladimir Kurchatkin)
- src: all wrap's now use actual FunctionTemplate (Trevor Norris)
- src: fix VC++ warning C4244 (Rasmus Christian Pedersen)
- src: remove Async Listener (Trevor Norris)
- stream: switch _writableState.buffer to queue (Chris Dickinson)
- streams: make setDefaultEncoding() throw (Brian White)
- streams: set default encoding for writable streams (Johnny Ray)
- tls: remove tls.createSecurePair code deprecation (Jackson Tian)
- tls_wrap: ignore ZERO_RETURN after close_notify (Fedor Indutny)
- url: change hostname regex to negate invalid chars (Jonathan Johnson)
- url: fixed encoding for slash switching emulation. (Evan Rutledge Borden)
- url: improve parsing speed (CGavrila)
- url: make query() consistent (Gabriel Wicke)
- url: support path for url.format (Yazhong Liu)
- util: add es6 Symbol support for util.inspect (gyson)
New in Node.js 0.10.35 (Dec 27, 2014)
- tls: re-add 1024-bit SSL certs removed by f9456a2 (Chris Dickinson)
- timers: don't close interval timers when unrefd (Julien Gilli)
- timers: don't mutate unref list while iterating it (Julien Gilli)
New in Node.js 0.10.34 (Dec 18, 2014)
- uv: update to v0.10.30
- zlib: upgrade to v1.2.8
- child_process: check execFile args is an array (Sam Roberts)
- child_process: check fork args is an array (Sam Roberts)
- crypto: update root certificates (Ben Noordhuis)
- domains: fix issues with abort on uncaught (Julien Gilli)
- timers: Avoid linear scan in _unrefActive. (Julien Gilli)
- timers: fix unref() memory leak (Trevor Norris)
- v8: add api for aborting on uncaught exception (Julien Gilli)
- debugger: fix when using "use strict" (Julien Gilli)
New in Node.js 0.10.33 (Dec 11, 2014)
- This release handles the recent POODLE vulnerability by disabling SSLv2/SSLv3 by default for the most predominate uses of TLS in Node.js.
- It took longer than expected to get this release accomplished in a way that would provide appropriate default security settings, while minimizing the surface area for the behavior change we were introducing. It was also important that we validated that our changes were being applied in the variety of configurations we support in our APIs.
- With this release, we are confident that the only behavior change is that of the default allowed protocols do not include SSLv2 or SSLv3. Though you are still able to programatically consume those protocols if necessary.
New in Node.js 0.11.14 Beta (Sep 26, 2014)
- uv: Upgrade to v1.0.0-rc1
- http_parser: Upgrade to v2.3.0
- npm: Upgrade to v2.0.0
- openssl: Upgrade to v1.0.1i
- v8: Upgrade to 3.26.33
- Add fast path for simple URL parsing (Gabriel Wicke)
- Added support for options parameter in console.dir() (Xavi Magrinyà)
- Cluster: fix shared handles on Windows (Alexis Campailla)
- buffer: Fix incorrect Buffer.compare behavior (Feross Aboukhadijeh)
- buffer: construct new buffer from buffer toJSON() output (cjihrig)
- buffer: improve Buffer constructor (Kang-Hao Kenny)
- build: linking CoreFoundation framework for OSX (Thorsten Lorenz)
- child_process: accept uid/gid everywhere (Fedor Indutny)
- child_process: add path to spawn ENOENT Error (Ryan Cole)
- child_process: copy spawnSync() cwd option to proper buffer (cjihrig)
- child_process: do not access stderr when stdio set to 'ignore' (cjihrig)
- child_process: don't throw on EAGAIN (Charles)
- child_process: don't throw on EMFILE/ENFILE (Ben Noordhuis)
- child_process: use full path for cmd.exe on Win32 (Ed Morley)
- cluster: allow multiple calls to setupMaster() (Ryan Graham)
- cluster: centralize removal from workers list. (Julien Gilli)
- cluster: enable error/message events using .worker (cjihrig)
- cluster: include settings object in 'setup' event (Ryan Graham)
- cluster: restore v0.10.x setupMaster() behaviour (Ryan Graham)
- cluster: support options in Worker constructor (cjihrig)
- cluster: test events emit on cluster.worker (Sam Roberts)
- console: console.dir() accepts options object (Xavi Magrinyà)
- crypto: add honorCipherOrder argument (Fedor Indutny)
- crypto: allow padding in RSA methods (Fedor Indutny)
- crypto: clarify RandomBytes() error msg (Mickael van der Beek)
- crypto: never store pointer to conn in SSL_CTX (Fedor Indutny)
- crypto: unsigned value can't be negative (Brian White)
- dgram: remove new keyword from errnoException (Jackson Tian)
- dns: always set variable family in lookup() (cjihrig)
- dns: include host name in error message if available (Maciej Małecki)
- dns: introduce lookupService function (Saúl Ibarra Corretgé)
- dns: send lookup c-ares errors to callback (Chris Dickinson)
- dns: throw if hostname is not string or falsey (cjihrig)
- events: Output the event that is leaking (Arnout Kazemier)
- fs: close file if fstat() fails in readFile() (cjihrig)
- fs: fs.readFile should not throw uncaughtException (Jackson Tian)
- http: add 308 status_code, see RFC7238 (Yazhong Liu)
- http: don't default OPTIONS to chunked encoding (Nick Muerdter)
- http: fix bailout for writeHead (Alex Kocharin)
- http: remove unused code block (Fedor Indutny)
- http: write() after end() emits an error. (Julien Gilli)
- lib, src: add vm.runInDebugContext() (Ben Noordhuis)
- lib: noisy deprecation of child_process customFds (Ryan Graham)
- module: don't require fs several times (Robert Kowalski)
- net,dgram: workers can listen on exclusive ports (cjihrig)
- net,stream: add isPaused, don't read() when paused (Chris Dickinson)
- net: Ensure consistent binding to IPV6 if address is absent (Raymond Feng)
- net: add remoteFamily for socket (Jackson Tian)
- net: don't emit listening if handle is closed (Eli Skeggs)
- net: don't prefer IPv4 addresses during resolution (cjihrig)
- net: don't throw on net.Server.close() (cjihrig)
- net: reset errorEmitted on reconnect (Ed Umansky)
- node: set names for prototype methods (Trevor Norris)
- node: support v8 microtask queue (Vladimir Kurchatkin)
- path: fix slice OOB in trim (Lucio M. Tato)
- path: isAbsolute() should always return boolean (Herman Lee)
- process: throw TypeError if kill pid not a number (Sam Roberts)
- querystring: custom encode and decode (fengmk2)
- querystring: do not add sep for empty array (cjihrig)
- querystring: remove prepended ? from query field (Ezequiel Rabinovich)
- readline: fix close event of readline.Interface() (Yazhong Liu)
- readline: fixes scoping bug (Dan Kaplun)
- readline: implements keypress buffering (Dan Kaplun)
- repl: fix multi-line input (Fedor Indutny)
- repl: fix overwrite for this._prompt (Yazhong Liu)
- repl: proper setPrompt() and multiline support (Fedor Indutny)
- stream: don't try to finish if buffer is not empty (Vladimir Kurchatkin)
- stream: only end reading on null, not undefined (Jonathan Reem)
- streams: set default hwm properly for Duplex (Andrew Oppenlander)
- string_bytes: ucs2 support big endian (Andrew Low)
- tls, crypto: add DHE support (Shigeki Ohtsu)
- tls: checkServerIdentity option (Trevor Livingston)
- tls: add DHE-RSA-AES128-SHA256 to the def ciphers (Shigeki Ohtsu)
- tls: better error reporting at cert validation (Fedor Indutny)
- tls: support multiple keys/certs (Fedor Indutny)
- tls: throw an error, not string (Jackson Tian)
- udp: make it possible to receive empty udp packets (Andrius Bentkus)
- url: treat the same as / (isaacs)
New in Node.js 0.10.32 (Sep 17, 2014)
- npm: Update to 1.4.28
- v8: fix a crash introduced by previous release (Fedor Indutny)
- configure: add --openssl-no-asm flag (Fedor Indutny)
- crypto: use domains for any callback-taking method (Chris Dickinson)
- http: do not send `0\r\n\r\n` in TE HEAD responses (Fedor Indutny)
- querystring: fix unescape override (Tristan Berger)
- url: Add support for RFC 3490 separators (Mathias Bynens)
New in Node.js 0.10.31 (Aug 20, 2014)
- v8: backport CVE-2013-6668
- openssl: Update to v1.0.1i
- npm: Update to v1.4.23
- cluster: disconnect should not be synchronous
- fs: fix fs.readFileSync fd leak when get RangeError
- stream: fix Readable.wrap objectMode falsy values
- timers: fix timers with non-integer delay hanging
New in Node.js 0.10.30 (Aug 1, 2014)
- uv: Upgrade to v0.10.28
- npm: Upgrade to v1.4.21
- v8: Interrupts must not mask stack overflow.
- Revert "stream: start old-mode read in a next tick" (Fedor Indutny)
- buffer: fix sign overflow in `readUIn32BE` (Fedor Indutny)
- buffer: improve {read,write}{U}Intmethods (Nick Apperson)
- child_process: handle writeUtf8String error (Fedor Indutny)
- deps: backport 4ed5fde4f from v8 upstream (Fedor Indutny)
- deps: cherry-pick eca441b2 from OpenSSL (Fedor Indutny)
- lib: remove and restructure calls to isNaN() (cjihrig)
- module: eliminate double `getenv()` (Maciej Małecki)
- stream2: flush extant data on read of ended stream (Chris Dickinson)
- streams: remove unused require('assert') (Rod Vagg)
- timers: backport f8193ab (Julien Gilli)
- util.h: interface compatibility (Oguz Bastemur)
- zlib: do not crash on write after close (Fedor Indutny)
New in Node.js 0.10.29 (Jun 12, 2014)
- openssl: to 1.0.1h (CVE-2014-0224)
- npm: upgrade to 1.4.10
- utf8: Prevent Node from sending invalid UTF-8 (Felix Geisendörfer). NOTE: this introduces a breaking change, previously you could construct invalid UTF-8 and invoke an error in a client that was expecting valid UTF-8, now unmatched surrogate pairs are replaced with the unknown UTF-8 character. To restore the old functionality simply have NODE_INVALID_UTF8 environment variable set.
- child_process: do not set args before throwing (Greg Sabia Tucker)
- child_process: spawn() does not throw TypeError (Greg Sabia Tucker)
- constants: export O_NONBLOCK (Fedor Indutny)
- crypto: improve memory usage (Alexis Campailla)
- fs: close file if fstat() fails in readFile() (cjihrig)
- lib: name EventEmitter prototype methods (Ben Noordhuis)
- tls: fix performance issue (Alexis Campailla)
New in Node.js 0.11.13 Beta (May 3, 2014)
- v8: upgrade to 3.24.35.22
- buffer: add compare and equals methods (Sean McArthur)
- buffer: improve {read,write}{U}Intmethods (Nick Apperson)
- buffer: return uint if MSB is 1 in readUInt32 (goussardg)
- buffer: truncate buffer after string decode (Fedor Indutny)
- child_process: fix assertion error in spawnSync (Shigeki Ohtsu)
- crypto: fix memory leak in CipherBase::Final (Fedor Indutny)
- crypto: improve error messages (Ingmar Runge)
- crypto: move `createCredentials` to tls (Fedor Indutny)
- crypto: work around OpenSSL oddness (Fedor Indutny)
- dgram: introduce `reuseAddr` option (Fedor Indutny)
- domain: don't crash on "throw null" (Alex Kocharin)
- events: check if _events is an own property (Vladimir Kurchatkin)
- fs: improve performance of all stat functions (James Pickard)
- fs: return blksize on stats object (Trevor Norris)
- http: add request.flush() method (Ben Noordhuis)
- http: better client "protocol not supported" error (Nathan Rajlich)
- http: use defaultAgent.protocol in protocol check (Nathan Rajlich)
- main: Handle SIGINT properly. (Geir Hauge)
- net: bind to `::` TCP address by default (Fedor Indutny)
- readline: consider newlines for cursor position (Yazhong Liu)
- stream: split `objectMode` for Duplex (Vladimir Kurchatkin)
- tls: `getPeerCertificate(detailed)` (Fedor Indutny)
- tls: do not call SNICallback unless present (Fedor Indutny)
- tls: force readable/writable to `true` (Fedor Indutny)
- tls: support OCSP on client and server (Fedor Indutny)
- util: made util.isArray a direct alias for Array.isArray (Evan Carroll)
New in Node.js 0.10.27 (May 2, 2014)
- npm: upgrade to v1.4.8
- openssl: upgrade to 1.0.1g
- uv: update to v0.10.27
- dns: fix certain txt entries (Fedor Indutny)
- assert: Ensure reflexivity of deepEqual (Mike Pennisi)
- child_process: fix deadlock when sending handles (Fedor Indutny)
- child_process: fix sending handle twice (Fedor Indutny)
- crypto: do not lowercase cipher/hash names (Fedor Indutny)
- dtrace: workaround linker bug on FreeBSD (Fedor Indutny)
- http: do not emit EOF non-readable socket (Fedor Indutny)
- http: invoke createConnection when no agent (Nathan Rajlich)
- stream: remove useless check (Brian White)
- timer: don't reschedule timer bucket in a domain (Greg Brail)
- url: treat \ the same as / (isaacs)
- util: format as Error if instanceof Error (Rod Vagg)
New in Node.js 0.11.12 Beta (Mar 12, 2014)
- uv: Upgrade to v0.11.22 (Timothy J Fontaine)
- buffer: allow toString to accept Infinity for end (Brian White)
- child_process: add spawnSync/execSync (Bert Belder, Timothy J Fontaine)
- cluster: handle bind errors on Windows (Alexis Campailla)
- contextify: handle infinite recursion errors (Fedor Indutny)
- crypto: allow custom generator for DiffieHellman (Brian White)
- crypto: allow setting add'l authenticated data (Brian White)
- crypto: fix CipherFinal return value check (Brian White)
- crypto: make NewSessionDoneCb public (Fedor Indutny)
- dgram: pass the bytes sent to the send callback (Timothy J Fontaine)
- dns: validate arguments in resolver (Kenan Sulayman)
- dns: verify argument is valid function in resolve (Kenan Sulayman)
- http: avoid duplicate keys in writeHead (David Björklund)
- net: add localPort to connect options (Timothy J Fontaine)
- node: do not print SyntaxError hints to stderr (Fedor Indutny)
- node: invoke `beforeExit` again if loop was active (Fedor Indutny)
- node: make AsyncListenerInst field more explicit (Trevor Norris)
- os: networkInterfaces include scopeid for ipv6 (Xidorn Quan)
- process: allow changing `exitCode` in `on('exit')` (Fedor Indutny)
- readline: fix `line` event, if input emit 'end' (Yazhong Liu)
- src: add tracing.v8.on('gc') statistics hooks (Ben Noordhuis)
- src: add v8.getHeapStatistics() function (Ben Noordhuis)
- src: emit 'beforeExit' event on process object (Ben Noordhuis)
- src: move AsyncListener from process to tracing (Trevor Norris)
- tls: fix crash in SNICallback (Fedor Indutny)
- tls: introduce asynchronous `newSession` (Fedor Indutny)
- util: show meaningful values for boxed primitives (Nathan Rajlich)
- vm: don't copy Proxy object from parent context (Ben Noordhuis)
- windows: make stdout/sterr pipes blocking (Alexis Campailla)
- zlib: add sync versions for convenience methods (Nikolai Vavilov)
New in Node.js 0.10.26 (Feb 20, 2014)
- uv: Upgrade to v0.10.25 (Timothy J Fontaine)
- npm: upgrade to 1.4.3 (isaacs)
- v8: support compiling with VS2013 (Fedor Indutny)
- cares: backport TXT parsing fix (Fedor Indutny)
- crypto: throw on SignFinal failure (Fedor Indutny)
- crypto: update root certificates (Ben Noordhuis)
- debugger: Fix breakpoint not showing after restart (Farid Neshat)
- fs: make unwatchFile() insensitive to path (iamdoron)
- net: do not re-emit stream errors (Fedor Indutny)
- net: make Socket destroy() re-entrance safe (Jun Ma)
- net: reset `endEmitted` on reconnect (Fedor Indutny)
- node: do not close stdio implicitly (Fedor Indutny)
- zlib: avoid assertion in close (Fedor Indutny)
New in Node.js 0.11.11 Beta (Jan 29, 2014)
- v8: Upgrade to 3.22.24.19
- http_parser: Upgrade to 2.2.1
- openssl: Upgrade to 1.0.1f
- uv: Upgrade to 0.11.18
- async-listener: revamp of subsystem (Trevor Norris)
- node: do not ever close stdio (Fedor Indutny)
- http: use writev on chunked encoding (Trevor Norris)
- async_wrap/timers: remove Add/RemoveAsyncListener (Trevor Norris)
- child_process: better error reporting for exec (Fedor Indutny)
- crypto: add newline to cert and key if not present (Fedor Indutny)
- crypto: clear error in GetPeerCertificate (Fedor Indutny)
- crypto: honor default ciphers in client mode (Jacob Hoffman-Andrews)
- crypto: introduce .setEngine(engine, [flags]) (Fedor Indutny)
- crypto: support custom pbkdf2 digest methods (Ben Noordhuis)
- domain: fix off-by-one in Domain.exit() (Ryan Graham)
- http: concatenate duplicate headers by default (Alex Kocharin)
- http: do not emit EOF non-readable socket (Fedor Indutny)
- node: fix argument parsing with -p arg (Alexis Campailla)
- path: improve POSIX path.join() performance (Jo Liss)
- tls: emit `clientError` on early socket close (Fedor Indutny)
- tls: introduce `.setMaxSendFragment(size)` (Fedor Indutny)
- tls: make cert/pfx optional in tls.createServer() (Ben Noordhuis)
- tls: process accumulated input (Fedor Indutny)
- tls: show human-readable error messages (Ben Noordhuis)
- util: handle escaped forward slashes correctly (Tom Gallacher)
New in Node.js 0.11.10 Beta (Jan 3, 2014)
- http_parser: update to 2.2
- uv: Upgrade to v0.11.17
- v8: Upgrade to 3.22.24.10
- buffer: optimize writeInt* methods (Paul Loyd)
- child_process: better error handling (Alexis Campailla)
- cluster: do not synchronously emit 'setup' event (Sam Roberts)
- cluster: restore backwards compatibility and various fixes (Sam Roberts)
- crypto: remove unnecessary OpenSSL_add_all_digests (Yorkie)
- crypto: support GCM authenticated encryption mode. (Ingmar Runge)
- dns: add resolveSoa and 'SOA' rrtype (Tuğrul Topuz)
- events: move EE c'tor guts to EventEmitter.init (Bert Belder)
- http: DELETE shouldn't default to chunked encoding (Lalit Kapoor)
- http: parse the status message in a http response. (Cam Swords)
- node: fix removing AsyncListener in callback (Vladimir Kurchatkin)
- node: follow specification, zero-fill ArrayBuffers (Trevor Norris)
- openssl: use ASM optimized routines (Fedor Indutny)
- process: allow nextTick infinite recursion (Trevor Norris)
- querystring: remove `name` from `stringify()` (Yorkie)
- timers: setImmediate v8 optimization fix (pflannery)
- tls: add serialNumber to getPeerCertificate() (Ben Noordhuis)
- tls: reintroduce socket.encrypted (Fedor Indutny)
- tls: fix handling of asterisk in SNI context (Fedor Indutny)
- util: Format negative zero as '-0' (David Chan)
- vm: fix race condition in timeout (Alexis Campailla)
- windows: fix dns lookup of localhost with ipv6 (Alexis Campailla)
New in Node.js 0.10.24 (Dec 19, 2013)
- uv: Upgrade to v0.10.21
- npm: upgrade to 1.3.21
- v8: backport fix for CVE-2013-{6639|6640}
- build: unix install node and dep library headers (Timothy J Fontaine)
- cluster, v8: fix --logfile=%p.log (Ben Noordhuis)
- module: only cache package main (Wyatt Preul)
New in Node.js 0.10.23 (Dec 12, 2013)
- uv: Upgrade to v0.10.20 (Timothy J Fontaine)
- npm: Upgrade to 1.3.17 (isaacs)
- gyp: update to 78b26f7 (Timothy J Fontaine)
- build: include postmortem symbols on linux (Timothy J Fontaine)
- crypto: Make Decipher._flush() emit errors. (Kai Groner)
- dgram: fix abort when getting `fd` of closed dgram (Fedor Indutny)
- events: do not accept NaN in setMaxListeners (Fedor Indutny)
- events: avoid calling `once` functions twice (Tim Wood)
- events: fix TypeError in removeAllListeners (Jeremy Martin)
- fs: report correct path when EEXIST (Fedor Indutny)
- process: enforce allowed signals for kill (Sam Roberts)
- tls: emit 'end' on .receivedShutdown (Fedor Indutny)
- tls: fix potential data corruption (Fedor Indutny)
- tls: handle `ssl.start()` errors appropriately (Fedor Indutny)
- tls: reset NPN callbacks after SNI (Fedor Indutny)
New in Node.js 0.11.9 Beta (Nov 21, 2013)
- uv: upgrade to v0.11.15 (Timothy J Fontaine)
- v8: upgrade to 3.22.24.5 (Timothy J Fontaine)
- buffer: remove warning when no encoding is passed (Trevor Norris)
- build: make v8 use random seed for hash tables (Ben Noordhuis)
- crypto: build with shared openssl without NPN (Ben Noordhuis)
- crypto: update root certificates (Ben Noordhuis)
- debugger: pass on v8 debug switches (Ben Noordhuis)
- domain: use AsyncListener API (Trevor Norris)
- fs: add recursive subdirectory support to fs.watch (Nick Simmons)
- fs: make fs.watch() non-recursive by default (Ben Noordhuis)
- http: cleanup freeSockets when socket destroyed (fengmk2)
- http: force socket encoding to be null (isaacs)
- http: make DELETE requests set `req.method` (Nathan Rajlich)
- node: add AsyncListener support (Trevor Norris)
- src: remove global HandleScope that hid memory leaks (Ben Noordhuis)
- tls: add ECDH ciphers support (Erik Dubbelboer)
- tls: do not default to 'localhost' servername (Fedor Indutny)
- tls: more accurate wrapping of connecting socket (Fedor Indutny)
New in Node.js 0.11.8 Beta (Nov 9, 2013)
- uv: Upgrade to v0.11.14
- v8: upgrade 3.21.18.3
- assert: indicate if exception message is generated (Glen Mailer)
- buffer: add buf.toArrayBuffer() API (Trevor Norris)
- cluster: fix premature 'disconnect' event (Ben Noordhuis)
- crypto: add SPKAC support (Jason Gerfen)
- debugger: count space for line numbers correctly (Alex Kocharin)
- debugger: make busy loops SIGUSR1-interruptible (Ben Noordhuis)
- debugger: repeat last command (Alex Kocharin)
- debugger: show current line, fix for #6150 (Alex Kocharin)
- dgram: send() can accept strings (Trevor Norris)
- dns: rename domain to hostname (Ben Noordhuis)
- dns: set hostname property on error object (Ben Noordhuis)
- dtrace, mdb_v8: support more string, frame types (Dave Pacheco)
- http: add statusMessage (Patrik Stutz)
- http: expose supported methods (Ben Noordhuis)
- http: provide backpressure for pipeline flood (isaacs)
- process: Add exitCode property (isaacs)
- tls: socket.renegotiate(options, callback) (Fedor Indutny)
- util: format as Error if instanceof Error (Rod Vagg)
New in Node.js 0.10.21 (Nov 9, 2013)
- uv: Upgrade to v0.10.18
- crypto: clear errors from verify failure (Timothy J Fontaine)
- dtrace: interpret two byte strings (Dave Pacheco)
- fs: fix fs.truncate() file content zeroing bug (Ben Noordhuis)
- http: provide backpressure for pipeline flood (isaacs)
- tls: fix premature connection termination (Ben Noordhuis)
New in Node.js 0.10.20 (Oct 1, 2013)
- tls: fix sporadic hang and partial reads
- fixes "npm ERR! cb() never called!"
New in Node.js 0.10.19 (Sep 25, 2013)
- uv: Upgrade to v0.10.17
- npm: upgrade to 1.3.11
- readline: handle input starting with control chars (Eric Schrock)
- configure: add mips-float-abi (soft, hard) option (Andrei Sedoi)
- stream: objectMode transforms allow falsey values (isaacs)
- tls: prevent duplicate values returned from read (Nathan Rajlich)
- tls: NPN protocols are now local to connections (Fedor Indutny)
New in Node.js 0.10.18 (Sep 5, 2013)
- uv: Upgrade to v0.10.15
- stream: Don't crash on unset _events property (isaacs)
- stream: Pass 'buffer' encoding with decoded writable chunks (isaacs)
New in Node.js 0.11.7 Beta (Sep 5, 2013)
- uv: upgrade to v0.11.13
- v8: upgrade to 3.20.17
- buffer: adhere to INSPECT_MAX_BYTES (Timothy J Fontaine)
- buffer: fix regression for large buffer creation (Trevor Norris)
- buffer: don't throw if slice length too long (Trevor Norris)
- buffer: Buffer(buf) constructor copies into the proper buffer (Ben Noordhuis)
- cli: remove --max-stack-size (Ben Noordhuis)
- cli: unknown command line options are errors (Ben Noordhuis)
- child_process: exec accept buffer as an encoding (Seth Fitzsimmons)
- crypto: make randomBytes/pbkdf2 callbacks domain aware (Ben Noordhuis)
- domain: deprecate domain.dispose(). (Forrest L Norvell)
- fs: Expose birthtime on stat objects (isaacs)
- http: Only send connection:keep-alive if necessary (isaacs)
- repl: Catch syntax errors better (isaacs, Nathan Rajlich)
- stream: change default highWaterMark for objectMode to 16 (Mathias Buus)
- stream: make setEncoding/pause/resume chainable (Julian Gruber, isaacs)
- util: pass opts to custom inspect functions (Timothy J Fontaine)
- vm: rewritten to behave like Contextify (Domenic Denicola)
New in Node.js 0.11.6 Beta (Aug 22, 2013)
- uv: Upgrade to v0.11.8
- v8: upgrade v8 to 3.20.14.1
- build: disable SSLv2 by default (Ben Noordhuis)
- build: don't auto-destroy existing configuration (Ben Noordhuis)
- crypto: add TLS 1.1 and 1.2 to secureProtocol list (Matthias Bartelmeß)
- crypto: fix memory leak in randomBytes() error path (Ben Noordhuis)
- dgram: don't call into js when send cb is omitted (Ben Noordhuis)
- dgram: fix regression in string argument handling (Ben Noordhuis)
- domains: performance improvements (Trevor Norris)
- events: EventEmitter = require('events') (Jake Verbaten)
- http: Add write()/end() callbacks (isaacs)
- http: Consistent 'finish' event semantics (isaacs)
- http: Prefer 'binary' over 'ascii' (isaacs)
- http: Support legacy agent.addRequest API (isaacs)
- http: Write hex/base64 chunks properly (isaacs)
- http: add agent.maxFreeSockets option (isaacs)
- http: provide access to raw headers/trailers (isaacs)
- http: removed headers stay removed (James Halliday)
- http,timers: improve callback performance (Ben Noordhuis)
- net: family option in net.connect (Vsevolod Strukchinsky)
- readline: pause stdin before turning off terminal raw mode (Daniel Chatfield)
- smalloc: allow different external array types (Trevor Norris)
- smalloc: expose ExternalArraySize (Trevor Norris)
- stream: Short-circuit buffer pushes when flowing (isaacs)
- tls: handle errors on socket before releasing it (Fedor Indutny)
- util: fix isPrimitive check (Trevor Norris)
- util: isObject should always return boolean (Trevor Norris)
New in Node.js 0.10.17 (Aug 22, 2013)
- uv: Upgrade v0.10.14
- http_parser: Do not accept PUN/GEM methods as PUT/GET (Chris Dickinson)
- tls: fix assertion when ssl is destroyed at read (Fedor Indutny)
- stream: Throw on 'error' if listeners removed (isaacs)
- dgram: fix assertion on bad send() arguments (Ben Noordhuis)
- readline: pause stdin before turning off terminal raw mode (Daniel Chatfield)
New in Node.js 0.10.16 (Aug 17, 2013)
- v8: back-port fix for CVE-2013-2882
- npm: Upgrade to 1.3.8
- crypto: fix assert() on malformed hex input (Ben Noordhuis)
- crypto: fix memory leak in randomBytes() error path (Ben Noordhuis)
- events: fix memory leak, don't leak event names (Ben Noordhuis)
- http: Handle hex/base64 encodings properly (isaacs)
- http: improve chunked res.write(buf) performance (Ben Noordhuis)
- stream: Fix double pipe error emit (Eran Hammer)
New in Node.js 0.11.5 Beta (Aug 7, 2013)
- v8: upgrade to 3.20.11
- uv: upgrade to v0.11.7
- buffer: return offset for end of last write (Trevor Norris)
- build: embed the mdb_v8.so into the binary (Timothy J Fontaine)
- build: fix --without-ssl build (Ben Noordhuis)
- child_process: add 'shell' option to .exec() (Ben Noordhuis)
- dgram: report send errors to cb, don't pass bytes (Ben Noordhuis)
- fs: write strings directly to disk (Trevor Norris)
- https: fix default port (Koichi Kobayashi)
- openssl: use asm for sha, md5, rmd (Fedor Indutny)
- os: add mac address to networkInterfaces() output (Brian White)
- smalloc: introduce smalloc module (Trevor Norris)
- stream: Simplify flowing, passive data listening (streams3) (isaacs)
- tls: asynchronous SNICallback (Fedor Indutny)
- tls: share tls tickets key between cluster workers (Fedor Indutny)
- util: don't throw on circular %j input to format() (Ben Noordhuis)
New in Node.js 0.10.15 (Jul 26, 2013)
- src: fix process.getuid() return value
New in Node.js 0.11.4 Beta (Jul 13, 2013)
- npm: Upgrade to 1.3.4
- v8: Upgrade to v3.20.2
- c-ares: Upgrade to piscisaureus/cares@805d153
- timers: setImmediate process full queue each turn (Ben Noordhuis)
- http: Add agent.get/request methods (isaacs)
- http: Proper KeepAlive behavior (isaacs)
- configure: fix the --without-ssl option (Nathan Rajlich)
- buffer: propagate originating parent (Trevor Norris)
- tls_wrap: return Error not throw for missing cert (Timothy J Fontaine)
- src: enable native v8 typed arrays (Ben Noordhuis)
- stream: objectMode transform should allow falsey values (Jeff Barczewski)
- slab_allocator: remove SlabAllocator (Trevor Norris)
- crypto: fix memory leak in LoadPKCS12 (Fedor Indutny)
- tls: export TLSSocket (Fedor Indutny)
- zlib: allow changing of level and strategy (Brian White)
- zlib: allow custom flush type for flush() (Brian White)
New in Node.js 0.10.13 (Jul 10, 2013)
- uv: Upgrade to v0.10.12
- npm: Upgrade to 1.3.2
- windows: get proper errno (Ben Noordhuis)
- tls: only wait for finish if we haven't seen it (Timothy J Fontaine)
- http: Dump response when request is aborted (isaacs)
- http: use an unref'd timer to fix delay in exit (Peter Rust)
- zlib: level can be negative (Brian White)
- zlib: allow zero values for level and strategy (Brian White)
- buffer: add comment explaining buffer alignment (Ben Noordhuis)
- string_bytes: properly detect 64bit (Timothy J Fontaine)
- src: fix memory leak in UsingDomains() (Ben Noordhuis)
New in Node.js 0.11.3 Beta (Jun 27, 2013)
- uv: Upgrade to v0.11.5
- c-ares: upgrade to 1.10.0
- v8: upgrade to v3.19.13
- punycode: update to v1.2.3 (Mathias Bynens)
- debugger: break on uncaught exception (Miroslav Bajtos)
- child_process: emit 'disconnect' asynchronously (Ben Noordhuis)
- dtrace: enable uv's probes if enabled (Timothy J Fontaine)
- dtrace: unify dtrace and systemtap interfaces (Timothy J Fontaine)
- buffer: New API for backing data store (Trevor Norris)
- buffer: return this in fill() for chainability (Brian White)
- build: fix include order for building on windows (Timothy J Fontaine)
- build: add android support (Linus Mårtensson)
- readline: strip ctrl chars for prompt width calc (Krzysztof Chrapka)
- tls: introduce TLSSocket based on tls_wrap binding (Fedor Indutny)
- tls: add localAddress and localPort properties (Ben Noordhuis)
- crypto: free excessive memory in NodeBIO (Fedor Indutny)
- process: remove maxTickDepth (Trevor Norris)
- timers: use uv_now instead of Date.now (Timothy J Fontaine)
- util: Add debuglog, deprecate console lookalikes (isaacs)
- module: use path.sep instead of a custom solution (Robert Kowalski)
- http: don't escape request path, reject bad chars (Ben Noordhuis)
- net: emit dns 'lookup' event before connect (Ben Noordhuis)
- dns: add getServers and setServers (Timothy J Fontaine)
New in Node.js 0.10.12 (Jun 19, 2013)
- npm: Upgrade to 1.2.32
- readline: make `ctrl + L` clear the screen (Yuan Chuan)
- v8: add setVariableValue debugger command (Ben Noordhuis)
- net: Do not destroy socket mid-write (isaacs)
- v8: fix build for mips32r2 architecture (Andrei Sedoi)
- configure: fix cross-compilation host_arch_cc() (Andrei Sedoi)
New in Node.js 0.10.11 (Jun 14, 2013)
- uv: upgrade to 0.10.11
- npm: Upgrade to 1.2.30
- openssl: add missing configuration pieces for MIPS (Andrei Sedoi)
- Revert "http: remove bodyHead from 'upgrade' events" (isaacs)
- v8: fix pointer arithmetic undefined behavior (Trevor Norris)
- crypto: fix utf8/utf-8 encoding check (Ben Noordhuis)
- net: Fix busy loop on POLLERR|POLLHUP on older linux kernels (Ben Noordhuis, isaacs)
New in Node.js 0.10.10 (Jun 5, 2013)
- uv: Upgrade to 0.10.10
- npm: Upgrade to 1.2.25
- url: Properly parse certain oddly formed urls (isaacs)
- stream: unshift('') is a noop (isaacs)
New in Node.js 0.10.9 (May 31, 2013)
- npm: Upgrade to 1.2.24
- uv: Upgrade to v0.10.9
- repl: fix JSON.parse error check (Brian White)
- tls: proper .destroySoon (Fedor Indutny)
- tls: invoke write cb only after opposite read end (Fedor Indutny)
- tls: ignore .shutdown() syscall error (Fedor Indutny)
New in Node.js 0.10.8 (May 25, 2013)
- v8: update to 3.14.5.9
- uv: upgrade to 0.10.8
- npm: Upgrade to 1.2.23
- http: remove bodyHead from 'upgrade' events (Nathan Zadoks)
- http: Return true on empty writes, not false (isaacs)
- http: save roundtrips, convert buffers to strings (Ben Noordhuis)
- configure: respect the --dest-os flag consistently (Nathan Rajlich)
- buffer: throw when writing beyond buffer (Trevor Norris)
- crypto: Clear error after DiffieHellman key errors (isaacs)
- string_bytes: strip padding from base64 strings (Trevor Norris)
New in Node.js 0.10.7 (May 18, 2013)
- uv: upgrade to v0.10.7
- npm: Upgrade to 1.2.21
- crypto: Don't ignore verify encoding argument (isaacs)
- buffer, crypto: fix default encoding regression (Ben Noordhuis)
- timers: fix setInterval() assert (Ben Noordhuis)
New in Node.js 0.10.6 (May 15, 2013)
- module: Deprecate require.extensions (isaacs)
- stream: make Readable.wrap support objectMode, empty streams (Daniel Moore)
- child_process: fix handle delivery (Ben Noordhuis)
- crypto: Fix performance regression (isaacs)
- src: DRY string encoding/decoding (isaacs)
New in Node.js 0.11.2 Beta (May 14, 2013)
- uv: Upgrade to 0.11.2
- V8: Upgrade to 3.19.0
- npm: Upgrade to 1.2.21
- build: Makefile should respect configure --prefix (Timothy J Fontaine)
- cluster: use round-robin load balancing (Ben Noordhuis)
- debugger, cluster: each worker has new debug port (Miroslav Bajtoš)
- debugger: `restart` with custom debug port (Miroslav Bajtoš)
- debugger: breakpoints in scripts not loaded yet (Miroslav Bajtoš)
- event: EventEmitter#setMaxListeners() returns this (Sam Roberts)
- events: add EventEmitter.defaultMaxListeners (Ben Noordhuis)
- install: Support $(PREFIX) install target directory prefix (Olof Johansson)
- os: Include netmask in os.networkInterfaces() (Ben Kelly)
- path: add path.isAbsolute(path) (Ryan Doenges)
- stream: Guarantee ordering of 'finish' event (isaacs)
- streams: introduce .cork/.uncork/._writev (Fedor Indutny)
- vm: add support for timeout argument (Andrew Paprocki)
New in Node.js 0.10.5 (Apr 24, 2013)
- uv: Upgrade to 0.10.5 (isaacs)
- build: added support for Visual Studio 2012 (Miroslav Bajtoš)
- http: Don't try to destroy nonexistent sockets (isaacs)
- crypto: LazyTransform on properties, not methods (isaacs)
- assert: put info in err.message, not err.name (Ryan Doenges)
- dgram: fix no address bind() (Ben Noordhuis)
- handle_wrap: fix NULL pointer dereference (Ben Noordhuis)
- os: fix unlikely buffer overflow in os.type() (Ben Noordhuis)
- stream: Fix unshift() race conditions (isaacs)
New in Node.js 0.11.1 Beta (Apr 20, 2013)
- V8: upgrade to 3.18.0
- uv: Upgrade to v0.11.1
- http: split into multiple separate modules (Timothy J Fontaine)
- http: escape unsafe characters in request path (Ben Noordhuis)
- url: Escape all unwise characters (isaacs)
- build: depend on v8 postmortem-metadata if enabled (Paddy Byers)
- etw: update prototypes to match dtrace provider (Timothy J Fontaine)
- buffer: change output of Buffer.prototype.toJSON() (David Braun)
- dtrace: actually use the _handle.fd value (Timothy J Fontaine)
- dtrace: pass more arguments to probes (Dave Pacheco)
- build: allow building with dtrace on osx (Dave Pacheco)
- zlib: allow passing options to convenience methods (Kyle Robinson Young)
New in Node.js 0.10.4 (Apr 12, 2013)
- uv: Upgrade to 0.10.4
- npm: Upgrade to 1.2.18
- v8: Avoid excessive memory growth in JSON.parse (Fedor Indutny)
- child_process, cluster: fix O(n*m) scan of cmd string (Ben Noordhuis)
- net: fix socket.bytesWritten Buffers support (Fedor Indutny)
- buffer: fix offset checks (Łukasz Walukiewicz)
- stream: call write cb before finish event (isaacs)
- http: Support write(data, 'hex') (isaacs)
- crypto: dh secret should be left-padded (Fedor Indutny)
- process: expose NODE_MODULE_VERSION in process.versions (Rod Vagg)
- crypto: fix constructor call in crypto streams (Andreas Madsen)
- net: account for encoding in .byteLength (Fedor Indutny)
- net: fix buffer iteration in bytesWritten (Fedor Indutny)
- crypto: zero is not an error if writing 0 bytes (Fedor Indutny)
- tls: Re-enable check of CN-ID in cert verification (Tobias Müllerleile)
New in Node.js 0.10.3 (Apr 6, 2013)
- npm: Upgrade to 1.2.17
- child_process: acknowledge sent handles (Fedor Indutny)
- etw: update prototypes to match dtrace provider (Timothy J Fontaine)
- dtrace: pass more arguments to probes (Dave Pacheco)
- build: allow building with dtrace on osx (Dave Pacheco)
- http: Remove legacy ECONNRESET workaround code (isaacs)
- http: Ensure socket cleanup on client response end (isaacs)
- tls: Destroy socket when encrypted side closes (isaacs)
- repl: isSyntaxError() catches "strict mode" errors (Nathan Rajlich)
- crypto: Pass options to ctor calls (isaacs)
- src: tie process.versions.uv to uv_version_string() (Ben Noordhuis)
New in Node.js 0.10.2 (Mar 29, 2013)
- npm: Upgrade to 1.2.15
- uv: Upgrade to 0.10.3
- tls: handle SSL_ERROR_ZERO_RETURN (Fedor Indutny)
- tls: handle errors before calling C++ methods (Fedor Indutny)
- tls: remove harmful unnecessary bounds checking (Marcel Laverdet)
- crypto: make getCiphers() return non-SSL ciphers (Ben Noordhuis)
- crypto: check randomBytes() size argument (Ben Noordhuis)
- timers: do not calculate Timeout._when property (Alexey Kupershtokh)
- timers: fix off-by-one ms error (Alexey Kupershtokh)
- timers: handle signed int32 overflow in enroll() (Fedor Indutny)
- stream: Fix stall in Transform under very specific conditions (Gil Pedersen)
- stream: Handle late 'readable' event listeners (isaacs)
- stream: Fix early end in Writables on zero-length writes (isaacs)
- domain: fix domain callback from MakeCallback (Trevor Norris)
- child_process: don't emit same handle twice (Ben Noordhuis)
- child_process: fix sending utf-8 to child process (Ben Noordhuis)
New in Node.js 0.11.0 Beta (Mar 29, 2013)
- V8: update to 3.17.13
- os: use %SystemRoot% or %windir% in os.tmpdir() (Suwon Chae)
- util: fix util.inspect() line width calculation (Marcin Kostrzewa)
- buffer: remove _charsWritten (Trevor Norris)
- fs: uv_[fl]stat now reports subsecond resolution (Timothy J Fontaine)
- fs: Throw if error raised and missing callback (bnoordhuis)
- tls: expose SSL_CTX_set_timeout via tls.createServer (Manav Rathi)
- tls: remove harmful unnecessary bounds checking (Marcel Laverdet)
- buffer: write ascii strings using WriteOneByte (Trevor Norris)
- dtrace: fix generation of v8 constants on freebsd (Fedor Indutny)
- dtrace: x64 ustack helper (Fedor Indutny)
- readline: handle wide characters properly (Nao Iizuka)
- repl: Use a domain to catch async errors safely (isaacs)
- repl: emit 'reset' event when context is reset (Sami Samhuri)
- util: custom `inspect()` method may return an Object (Nathan Rajlich)
- console: `console.dir()` bypasses inspect() methods (Nathan Rajlich)
New in Node.js 0.10.1 (Mar 22, 2013)
- npm: upgrade to 1.2.15
- crypto: Improve performance of non-stream APIs (Fedor Indutny)
- tls: always reset this.ssl.error after handling (Fedor Indutny)
- tls: Prevent mid-stream hangs (Fedor Indutny, isaacs)
- net: improve arbitrary tcp socket support (Ben Noordhuis)
- net: handle 'finish' event only after 'connect' (Fedor Indutny)
- http: Don't hot-path end() for large buffers (isaacs)
- fs: Missing cb errors are deprecated, not a throw (isaacs)
- fs: make write/appendFileSync correctly set file mode (Raymond Feng)
- stream: Return self from readable.wrap (isaacs)
- stream: Never call decoder.end() multiple times (Gil Pedersen)
- windows: enable watching signals with process.on('SIGXYZ') (Bert Belder)
- node: revert removal of MakeCallback (Trevor Norris)
- node: Unwrap without aborting in handle fd getter (isaacs)
New in Node.js 0.10.0 (Mar 12, 2013)
- npm: Upgrade to 1.2.14
- core: Append filename properly in dlopen on windows (isaacs)
- zlib: Manage flush flags appropriately (isaacs)
- domains: Handle errors thrown in nested error handlers (isaacs)
- buffer: Strip high bits when converting to ascii (Ben Noordhuis)
- child_process: support sending dgram socket (Andreas Madsen)
- fs: Raise EISDIR on Windows when calling fs.read/write on a dir (isaacs)
- unix: fix strict aliasing warnings, macro-ify functions (Ben Noordhuis)
- unix: honor UV_THREADPOOL_SIZE environment var (Ben Noordhuis)
New in Node.js 0.8.22 (Mar 7, 2013)
- npm: Update to 1.2.14
- cluster: propagate bind errors (Ben Noordhuis)
- crypto: don't assert when calling Cipher#final() twice (Ben Noordhuis)
- build, windows: disable SEH (Ben Noordhuis)
New in Node.js 0.9.12 Beta (Mar 7, 2013)
- stream: Allow strings in Readable.push/unshift (isaacs)
- stream: Remove bufferSize option (isaacs)
- stream: Increase highWaterMark on large reads (isaacs)
- stream: _write: takes an encoding argument (isaacs)
- stream: _transform: remove output() method, provide encoding (isaacs)
- stream: Don't require read(0) to emit 'readable' event (isaacs)
- node: Add --throw-deprecation (isaacs)
- http: fix multiple timeout events (Eugene Girshov)
- http: More useful setTimeout API on server (isaacs)
- net: use close callback, not process.nextTick (Ben Noordhuis)
- net: Provide better error when writing after FIN (isaacs)
- dns: Support NAPTR queries (Pavel Lang)
- dns: fix ReferenceError in resolve() error path (Xidorn Quan)
- child_process: handle ENOENT correctly on Windows (Scott Blomquist)
- cluster: Rename destroy() to kill(signal=SIGTERM) (isaacs)
- build: define nightly tag external to build system (Timothy J Fontaine)
- build: make msi build work when spaces are present in the path (Bert Belder)
- build: fix msi build issue with WiX 3.7/3.8 (Raymond Feng)
- repl: make compatible with domains (Dave Olszewski)
- events: Code cleanup and performance improvements (Trevor Norris)
New in Node.js 0.9.11 Beta (Mar 2, 2013)
- V8: downgrade 3.14.5
- openssl: update to 1.0.1e
- darwin: Make process.title work properly (Ben Noordhuis)
- fs: Support mode/flag options to read/append/writeFile (isaacs)
- stream: _read() no longer takes a callback (isaacs)
- stream: Add stream.unshift(chunk) (isaacs)
- stream: remove lowWaterMark feature (isaacs)
- net: omit superfluous 'connect' event (Ben Noordhuis)
- build, windows: disable SEH (Ben Noordhuis)
- core: remove errno global (Ben Noordhuis)
- core: Remove the nextTick for running the main file (isaacs)
- core: Mark exit() calls with status codes (isaacs)
- core: Fix debug signal handler race condition lock (isaacs)
- crypto: clear error stack (Ben Noordhuis)
- test: optionally set common.PORT via env variable (Timothy J Fontaine)
- path: Throw TypeError on non-string args to path.resolve/join (isaacs, Arianit Uka)
- crypto: fix uninitialized memory access in openssl (Ben Noordhuis)
New in Node.js 0.8.21 (Feb 26, 2013)
- http: Do not free the wrong parser on socket close (isaacs)
- http: Handle hangup writes more gently (isaacs)
- zlib: fix assert on bad input (Ben Noordhuis)
- test: add TAP output to the test runner (Timothy J Fontaine)
- unix: Handle EINPROGRESS from domain sockets (Ben Noordhuis)
New in Node.js 0.9.10 Beta (Feb 20, 2013)
- V8: Upgrade to 3.15.11.15
- npm: Upgrade to 1.2.12
- fs: Change default WriteStream config, increase perf (isaacs)
- process: streamlining tick callback logic (Trevor Norris)
- stream_wrap, udp_wrap: add read-only fd property (Ben Noordhuis)
- buffer: accept negative indices in Buffer#slice() (Ben Noordhuis)
- tls: Cycle data when underlying socket drains (isaacs)
- stream: read(0) should not always trigger _read(n,cb) (isaacs)
- stream: Empty strings/buffers do not signal EOF any longer (isaacs)
- crypto: improve cipher/decipher error messages (Ben Noordhuis)
- net: Respect the 'readable' flag on sockets (isaacs)
- net: don't suppress ECONNRESET (Ben Noordhuis)
- typed arrays: copy Buffer in typed array constructor (Ben Noordhuis)
- typed arrays: make DataView throw on non-ArrayBuffer (Ben Noordhuis)
- windows: MSI installer enhancements (Scott Blomquist, Jim Schubert)
New in Node.js 0.8.20 (Feb 19, 2013)
- npm: Upgrade to v1.2.11
- http: Do not let Agent hand out destroyed sockets (isaacs)
- http: Raise hangup error on destroyed socket write (isaacs)
- http: protect against response splitting attacks (Bert Belder)
New in Node.js 0.9.9 Beta (Feb 8, 2013)
- tls: port CryptoStream to streams2 (Fedor Indutny)
- typed arrays: only share ArrayBuffer backing store (Ben Noordhuis)
- stream: make Writable#end() accept a callback function (Nathan Rajlich)
- buffer: optimize 'hex' handling (Ben Noordhuis)
- dns, cares: don't filter NOTIMP, REFUSED, SERVFAIL (Ben Noordhuis)
- readline: treat bare \r as a line ending (isaacs)
- readline: make \r\n emit one 'line' event (Ben Noordhuis)
- cluster: support datagram sockets (Bert Belder)
- stream: Correct Transform class backpressure (isaacs)
- addon: Pass module object to NODE_MODULE init function (isaacs, Rod Vagg)
- buffer: slow buffer copy compatibility fix (Trevor Norris)
- Add bytesWritten to tls.CryptoStream (Andy Burke)
New in Node.js 0.8.19 (Feb 7, 2013)
- npm: Upgrade to v1.2.10
- zlib: pass object size hint to V8 (Ben Noordhuis)
- zlib: reduce memory consumption, release early (Ben Noordhuis)
- buffer: slow buffer copy compatibility fix (Trevor Norris)
- zlib: don't assert on malformed dictionary (Ben Noordhuis)
- zlib: don't assert on missing dictionary (Ben Noordhuis)
- windows: better ipv6 support (Bert Belder)
- windows: add error mappings related to unsupported protocols (Bert Belder)
- windows: map ERROR_DIRECTORY to UV_ENOENT (Bert Belder)
New in Node.js 0.9.8 Beta (Jan 25, 2013)
- npm: Upgrade to v1.2.3
- V8: Upgrade to 3.15.11.10
- streams: Support objects other than Buffers (Jake Verbaten)
- buffer: remove float write range checks (Trevor Norris)
- http: close connection on 304/204 responses with chunked encoding (Ben Noordhuis)
- build: fix build with dtrace support on FreeBSD (Fedor Indutny)
- console: Support formatting options in trace() (isaacs)
- domain: empty stack on all exceptions (Dave Olszewski)
- unix, windows: make uv_*_bind() error codes consistent (Andrius Bentkus)
- linux: add futimes() fallback (Ben Noordhuis)
New in Node.js 0.9.7 Beta (Jan 19, 2013)
- V8: Upgrade to 3.15.11.7
- npm: Upgrade to 1.2.2
- punycode: Upgrade to 1.2.0 (Mathias Bynens)
- repl: make built-in modules available by default (Felix Böhm)
- windows: add support for '_Total' perf counters (Scott Blomquist)
- cluster: make --prof work for workers (Ben Noordhuis)
- child_process: do not keep list of sent sockets (Fedor Indutny)
- tls: Follow RFC6125 more strictly (Fedor Indutny)
- buffer: floating point read/write improvements (Trevor Norris)
- TypedArrays: Improve dataview perf without endian param (Dean McNamee)
- module: assert require() called with a non-empty string (Felix Böhm, James Campos)
- stdio: Set readable/writable flags properly (isaacs)
- stream: Properly handle large reads from push-streams (isaacs)
New in Node.js 0.8.18 (Jan 19, 2013)
- npm: Upgrade to v1.2.2
- dns: make error message match errno (Dan Milon)
- tls: follow RFC6125 more stricly (Fedor Indutny)
- buffer: reject negative SlowBuffer offsets (Ben Noordhuis)
- install: add simplejson fallback (Chris Dent)
- http: fix "Cannot call method 'emit' of null" (Ben Noordhuis)
New in Node.js 0.9.6 Dev (Jan 12, 2013)
- V8: update to 3.15.11.5
- node: remove ev-emul.h (Ben Noordhuis)
- path: make basename and extname ignore trailing slashes (Bert Belder)
- typed arrays: fix sunos signed/unsigned char issue (Ben Noordhuis)
- child_process: Fix {stdio:'inherit'} regression (Ben Noordhuis)
- child_process: Fix pipe() from child stdio streams (Maciej Małecki)
- child_process: make fork() execPath configurable (Bradley Meck)
- stream: Add readable.push(chunk) method (isaacs)
- dtrace: x64 ustack helper (Fedor Indutny)
- repl: fix floating point number parsing (Nirk Niggler)
- repl: allow overriding builtins (Ben Noordhuis)
- net: add localAddress and localPort to Socket (James Hight)
- fs: make pool size coincide with ReadStream bufferSize (Shigeki Ohtsu)
- typed arrays: implement load and store swizzling (Dean McNamee)
- windows: fix perfctr crash on XP and 2003 (Scott Blomquist)
- dgram: fix double implicit bind error (Ben Noordhuis)
New in Node.js 0.9.5 Dev (Jan 3, 2013)
- assert: improve support for new execution contexts (lukebayes)
- domain: use camelCase instead of snake_case (isaacs)
- domain: Do not use uncaughtException handler (isaacs)
- fs: make 'end' work with ReadStream without 'start' (Ben Noordhuis)
- https: optimize createConnection() (Ryunosuke SATO)
- buffer: speed up base64 encoding by 20% (Ben Noordhuis)
- doc: Colorize API stabilitity index headers in docs (Luke Arduini)
- net: socket.readyState corrections (bentaber)
- http: Performance enhancements for http under streams2 (isaacs)
- stream: fix to emit end event on http.ClientResponse (Shigeki Ohtsu)
- stream: fix event handler leak in readstream pipe and unpipe (Andreas Madsen)
- build: Support ./configure --tag switch (Maciej Małecki)
- repl: don't touch `require.cache` (Nathan Rajlich)
- node: Emit 'exit' event when exiting for an uncaught exception (isaacs)
New in Node.js 0.9.4 Dev (Dec 22, 2012)
- streams: Update all streaming interfaces to use new classes (isaacs)
- node: remove idle gc (Ben Noordhuis)
- http: protect against response splitting attacks (Bert Belder)
- fs: Raise error when null bytes detected in paths (isaacs)
- fs: fix 'object is not a function' callback errors (Ben Noordhuis)
- fs: add autoClose=true option to fs.createReadStream (Farid Neshat)
- process: add getgroups(), setgroups(), initgroups() (Ben Noordhuis)
- openssl: optimized asm code on x86 and x64 (Bert Belder)
- crypto: fix leak in GetPeerCertificate (Fedor Indutny)
- add systemtap support (Jan Wynholds)
- crypto: fix ssl error handling (Sergey Kholodilov)
- node: remove eio-emul.h (Ben Noordhuis)
- os: add os.endianness() function (Nathan Rajlich)
- readline: don't emit "line" events with a trailing '\n' char (Nathan Rajlich)
- build: add configure option to generate xcode build files (Timothy J Fontaine)
- build: allow linking against system libuv, cares, http_parser (Stephen Gallagher)
- typed arrays: add slice() support to ArrayBuffer (Anthony Pesch)
- debugger: exit and kill child on SIGTERM or SIGHUP (Fedor Indutny)
- url: url.format escapes delimiters in path and query (J. Lee Coltrane)
New in Node.js 0.8.16 (Dec 14, 2012)
- npm: Upgrade to 1.1.69
- fs: fix WriteStream/ReadStream fd leaks
- crypto: fix leak in GetPeerCertificate
- buffer: Don't double-negate numeric buffer arg
- net: More accurate IP address validation and IPv6 dotted notation.
New in Node.js 0.8.15 (Nov 27, 2012)
- npm: Upgrade to 1.1.66 (isaacs)
- unix: do not set environ unless one is provided (Charlie McConnell)
- domains: don't crash if domain is set to null (Bert Belder)
- net, tls: fix connect() resource leak (Ben Noordhuis)
New in Node.js 0.8.14 (Oct 26, 2012)
- events: Don't clobber pre-existing _events obj in EE ctor (isaacs)
- V8: Upgrade to 3.11.10.25
- npm: Upgrade to 1.1.65
- url: parse hostnames that start with - or _ (Ben Noordhuis)
- repl: Fix Windows 8 terminal issue (Bert Belder)
- typed arrays: use signed char for signed int8s (Aaron Jacobs)
- crypto: fix bugs in DiffieHellman (Ben Noordhuis)
- configure: turn on VFPv3 on ARMv7 (Ben Noordhuis)
- Re-enable OpenSSL UI for entering passphrases via tty (Ben Noordhuis)
- repl: ensure each REPL instance gets its own "context" (Nathan Rajlich)
New in Node.js 0.9.3 Dev (Oct 25, 2012)
- V8: Upgrade to 3.13.7.4
- crypto: Default to buffers instead of binary strings (isaacs, Fedor Indutny)
- crypto: add getHashes() and getCiphers() (Ben Noordhuis)
- unix: add custom thread pool, remove libeio (Ben Noordhuis)
- util: make `inspect()` accept an "options" argument (Nathan Rajlich)
- https: fix renegotation attack protection (Ben Noordhuis)
- cluster: make 'listening' handler see actual port (Aaditya Bhatia)
- windows: use USERPROFILE to get the user's home dir (Bert Belder)
- path: add platform specific path delimiter (Paul Serby)
- http: add response.headersSent property (Pavel Lang)
- child_process: make .fork()'d child auto-exit (Ben Noordhuis)
- events: add 'removeListener' event (Ben Noordhuis)
- string_decoder: Add 'end' method, do base64 properly (isaacs)
- buffer: include encoding value in exception when invalid (Ricky Ng-Adam)
- http: make http.ServerResponse no longer emit 'end' (isaacs)
- streams: fix pipe is destructed by 'end' from destination (koichik)
New in Node.js 0.8.12 (Oct 15, 2012)
- npm: Upgrade to 1.1.63
- crypto: Reduce stability index to 2-Unstable (isaacs)
- buffer: report proper retained size in profiler (Ben Noordhuis)
- buffer: fix byteLength with UTF-16LE (koichik)
- repl: make "end of input" JSON.parse() errors throw in the REPL (Nathan Rajlich)
- repl: make invalid RegExp modifiers throw in the REPL (Nathan Rajlich)
- http: handle multiple Proxy-Authenticate values (Willi Eggeling)
New in Node.js 0.8.11 (Sep 28, 2012)
- fs: Fix stat() size reporting for large files (Ben Noordhuis)
New in Node.js 0.9.2 Dev (Sep 18, 2012)
- http_parser: upgrade to ad3b631
- openssl: upgrade 1.0.1c
- darwin: use FSEvents to watch directory changes (Fedor Indutny)
- unix: support missing API on NetBSD (Shigeki Ohtsu)
- unix: fix EMFILE busy loop (Ben Noordhuis)
- windows: un-break writable tty handles (Bert Belder)
- windows: map WSAESHUTDOWN to UV_EPIPE (Bert Belder)
- windows: make spawn with custom environment work again (Bert Belder)
- windows: map ERROR_DIRECTORY to UV_ENOENT (Bert Belder)
- tls, https: validate server certificate by default (Ben Noordhuis)
- tls, https: throw exception on missing key/cert (Ben Noordhuis)
- tls: async session storage (Fedor Indutny)
- installer: don't install header files (Ben Noordhuis)
- buffer: implement Buffer.prototype.toJSON() (Nathan Rajlich)
- buffer: added support for writing NaN and Infinity (koichik)
- http: make http.ServerResponse emit 'end' (Ben Noordhuis)
- build: ./configure --ninja (Ben Noordhuis, Timothy J Fontaine)
- installer: fix --without-npm (Ben Noordhuis)
- cli: make -p equivalent to -pe (Ben Noordhuis)
- url: Go much faster by using Url class (isaacs)
New in Node.js 0.8.9 (Sep 12, 2012)
- v8: upgrade to 3.11.10.22
- GYP: upgrade to r1477
- npm: Upgrade to 1.1.61
- npm: Don't create world-writable files (isaacs)
- windows: fix single-accept mode for shared server sockets (Bert Belder)
- windows: fix uninitialized memory access in uv_update_time() (Bert Belder)
- windows: don't throw when a signal handler is attached (Bert Belder)
- unix: fix memory leak in udp (Ben Noordhuis)
- unix: map errno ESPIPE (Ben Noordhuis)
- unix, windows: fix memory corruption in fs-poll.c (Ben Noordhuis)
- sunos: fix os.cpus() on x86_64 (Ben Noordhuis)
- child process: fix processes with IPC channel don't emit 'close' (Bert Belder)
- build: add a "--dest-os" option to force a gyp "flavor" (Nathan Rajlich)
- build: set process.platform to "sunos" on SunOS (Nathan Rajlich)
- build: fix make -j fails after make clean (Bearice Ren)
- build: fix openssl configuration for "arm" builds (Nathan Rajlich)
- tls: support unix domain socket/named pipe in tls.connect (Shigeki Ohtsu)
- https: make https.get() accept a URL (koichik)
- http: respect HTTP/1.0 TE header (Ben Noordhuis)
- crypto, tls: Domainify setSNICallback, pbkdf2, randomBytes (Ben Noordhuis)
- stream.pipe: Don't call destroy() unless it's a function (isaacs)
New in Node.js 0.9.1 Dev (Aug 29, 2012)
- buffer: Add Buffer.isEncoding(enc) to test for valid encoding values (isaacs)
- Raise UV_ECANCELED on premature close. (Ben Noordhuis)
- Remove c-ares from libuv, move to a top-level node dependency (Bert Belder)
- ref/unref for all HandleWraps, timers, servers, and sockets (Timothy J Fontaine)
- addon: remove node-waf, superseded by node-gyp (Ben Noordhuis)
- child_process: emit error on exec failure (Ben Noordhuis)
- cluster: do not use internal server API (Andreas Madsen)
- constants: add O_DIRECT (Ian Babrou)
- crypto: add sync interface to crypto.pbkdf2() (Ben Noordhuis)
- darwin: emulate fdatasync() (Fedor Indutny)
- dgram: make .bind() always asynchronous (Ben Noordhuis)
- events: Make emitter.listeners() side-effect free (isaacs, Joe Andaverde)
- fs: Throw early on invalid encoding args (isaacs)
- fs: fix naming of truncate/ftruncate functions (isaacs)
- http: bubble up parser errors to ClientRequest (Brian White)
- linux: improve cpuinfo parser on ARM and MIPS (Ben Noordhuis)
- net: add support for IPv6 addresses ending in :: (Josh Erickson)
- net: support Server.listen(Pipe) (Andreas Madsen)
- node: don't scan add-on for "init" symbol (Ben Noordhuis)
- remove process.uvCounters() (Ben Noordhuis)
- repl: console writes to repl rather than process stdio (Nathan Rajlich)
- timers: implement setImmediate (Timothy J Fontaine)
- tls: fix segfault in pummel/test-tls-ci-reneg-attack (Ben Noordhuis)
- tools: Move gyp addon tools to node-gyp (Nathan Rajlich)
- unix: preliminary signal handler support (Ben Noordhuis)
- unix: remove dependency on ev_child (Ben Noordhuis)
- unix: work around darwin bug, don't poll() on pipe (Fedor Indutny)
- util: Formally deprecate util.pump() (Ben Noordhuis)
New in Node.js 0.8.8 (Aug 23, 2012)
- V8: upgrade to 3.11.10.19
- npm: upgrade to 1.1.59
- unix, windows: fix memory corruption in fs-poll.c
- unix: fix integer overflow in uv_hrtime
- sunos: fix uv_cpu_info() on x86_64
- tls: update default cipher list
- unix: Fix llvm and older gcc duplicate symbol warnings
- fs: fix use after free in stat watcher
- build: Fix using manually compiled gcc on OS X
New in Node.js 0.8.7 (Aug 16, 2012)
- npm: Upgrade to 1.1.49
- website: download page (Golo Roden)
- crypto: fix uninitialized memory access in openssl (Ben Noordhuis)
- buffer, crypto: fix buffer decoding (Ben Noordhuis)
- build: compile with -fno-tree-vrp when gcc >= 4.0 (Ben Noordhuis)
- tls: handle multiple CN fields when verifying cert (Ben Noordhuis)
- doc: remove unused util from child_process (Kyle Robinson Young)
- build: rework -fvisibility=hidden detection (Ben Noordhuis)
New in Node.js 0.8.6 (Aug 8, 2012)
- npm: Upgrade to v1.1.48
- Add 'make binary' to build binary tarballs for all Unixes (Nathan Rajlich)
- zlib: Emit 'close' on destroy(). (Dominic Tarr)
- child_process: Fix stdout=null when stdio=['pipe'] (Tyler Neylon)
- installer: prevent ETXTBSY errors (Ben Noordhuis)
- installer: honor --without-npm, default install path (Ben Noordhuis)
- net: make pause work with connecting sockets (Bert Belder)
- installer: fix cross-compile installs (Ben Noordhuis)
- net: fix .listen({fd:0}) (Ben Noordhuis)
New in Node.js 0.8.5 (Aug 3, 2012)
- node: tag Encode and friends NODE_EXTERN (Ben Noordhuis)
- fs: fix ReadStream / WriteStream missing callback (Gil Pedersen)
- fs: fix readFileSync("/proc/cpuinfo") regression (Ben Noordhuis)
- installer: don't assume bash is installed (Ben Noordhuis)
- Report errors properly from --eval and stdin (isaacs)
- assert: fix throws() throws an error without message property (koichik)
- cluster: fix libuv assert in net.listen() (Ben Noordhuis)
- build: always link sunos builds with libumem (Trent Mick)
- build: improve armv7 / hard-float detection (Adam Malcontenti-Wilson)
- https: Use host header as effective servername (isaacs)
- sunos: work around OS bug to prevent fs.watch() from spinning (Bryan Cantrill)
- linux: fix 'two watchers, one path' segfault (Ben Noordhuis)
- windows: fix memory leaks in many fs functions (Bert Belder)
- windows: don't allow directories to be opened for writing/appending (Bert Belder)
- windows: make fork() work even when not all stdio handles are valid (Bert Belder)
- windows: make unlink() not remove mount points, and improve performance (Bert Belder)
- build: Sign pkg installer for OS X (isaacs)
New in Node.js 0.8.4 (Jul 30, 2012)
- V8: Upgrade to 3.11.10.17
- npm: Upgrade to 1.1.45
- net: fix Socket({ fd: 42 }) api (Ben Noordhuis)
- readline: Remove event listeners on close (isaacs)
- windows: correctly prep long path for fs.exists(Sync) (Bert Belder)
- debugger: wake up the event loop when a debugger command is dispatched (Peter Rybin)
- tls: verify server's identity (Fedor Indutny)
- net: ignore socket.setTimeout(Infinity or NaN) (Fedor Indutny)
New in Node.js 0.9.0 Dev (Jul 21, 2012)
- punycode: update to v1.1.1 (Mathias Bynens)
- c-ares: upgrade to 1.9.0 (Saúl Ibarra Corretgé)
- dns: ignore rogue DNS servers reported by windows (Saúl Ibarra Corretgé)
- unix: speed up uv_async_send() (Ben Noordhuis)
- darwin: get cpu model correctly on mac (Xidorn Quan)
- nextTick: Handle tick callbacks before any other I/O (isaacs)
- Enable color customization of `util.inspect` (Pavel Lang)
- tls: Speed and memory improvements (Fedor Indutny)
- readline: Use one history item for reentered line (Vladimir Beloborodov)
- Fix #3521 Make process.env more like a regular Object (isaacs)
New in Node.js 0.8.3 (Jul 20, 2012)
- V8: upgrade to 3.11.10.15
- npm: Upgrade to 1.1.43
- net: fix net.Server.listen({fd:x}) error reporting (Ben Noordhuis)
- net: fix bogus errno reporting (Ben Noordhuis)
- build: Move npm shebang logic into an npm script (isaacs)
- build: fix add-on loading on freebsd (Ben Noordhuis)
- build: disable unsafe optimizations (Ben Noordhuis)
- build: fix spurious mksnapshot crashes for good (Ben Noordhuis)
- build: speed up genv8constants (Dave Pacheco)
- fs: make unwatchFile() remove a specific listener (Ben Noordhuis)
- domain: Remove first arg from intercepted fn (Toshihiro Nakamura)
- domain: Fix memory leak on error (isaacs)
- events: Fix memory leak from removeAllListeners (Nathan Rajlich)
- zlib: Fix memory leak in Unzip class. (isaacs)
- crypto: Fix memory leak in DecipherUpdate() (Ben Noordhuis)
New in Node.js 0.8.2 (Jul 11, 2012)
- npm: Upgrade to 1.1.36
- readline: don't use Function#call() (Nathan Rajlich)
- Code cleanup to pass 'use strict' (Jonas Westerlund)
- module: add filename to require() json errors (TJ Holowaychuk)
- readline: fix for unicode prompts (Tim Macfarlane)
- timers: fix handling of large timeouts (Ben Noordhuis)
- repl: fix passing an empty line inserting "undefined" into the buffer (Nathan Rajlich)
- repl: fix crashes when buffering command (Maciej Małecki)
- build: rename strict_aliasing to node_no_strict_aliasing (Ben Noordhuis)
- build: disable -fstrict-aliasing for any gcc < 4.6.0 (Ben Noordhuis)
- build: detect cc version with -dumpversion (Ben Noordhuis)
- build: handle output of localized gcc or clang (Ben Noordhuis)
- unix: fix memory corruption in freebsd.c (Ben Noordhuis)
- unix: fix 'zero handles, one request' busy loop (Ben Noordhuis)
- unix: fix busy loop on unexpected tcp message (Ben Noordhuis)
- unix: fix EINPROGRESS busy loop (Ben Noordhuis
New in Node.js 0.8.1 (Jul 4, 2012)
- V8: upgrade to v3.11.10.12
- Fix #3577 Un-break require('sys')
- util: speed up formatting of large arrays/objects (Ben Noordhuis)
- build: fix --shared-v8 option (Ben Noordhuis)
- doc: `detached` is a boolean (Andreas Madsen)
- build: use proper python interpreter (Ben Noordhuis)
- build: expand ~ in `./configure --prefix=~/a/b/c` (Ben Noordhuis)
- build: handle CC env var with spaces (Gabriel de Perthuis)
- build: fix V8 build when compiling with gcc 4.5 (Ben Noordhuis)
- build: fix --shared-v8 option (Ben Noordhuis)
- unix: assume that dlopen() may clobber dlerror() (Ben Noordhuis)
- sunos: fix memory corruption bugs (Ben Noordhuis)
- npm: upgrade to v1.1.33
- Support for parallel use of the cache folder
- Retry on registry timeouts or network failures (Trent Mick)
- Reduce 'engines' failures to a warning
- Use new zsh completion if aviailable (Jeremy Cantrell)
New in Node.js 0.8.0 (Jun 26, 2012)
- V8: upgrade to v3.11.10.10
- npm: Upgrade to 1.1.32
- Deprecate iowatcher (Ben Noordhuis)
- http: Hush 'MUST NOT have a body' warnings to debug() (isaacs)
- Move blog.nodejs.org content into repository (isaacs)
- Fix #3503: stdin: resume() on pipe(dest) (isaacs)
- crypto: fix error reporting in SetKey() (Fedor Indutny)
- Add --no-deprecation and --trace-deprecation command-line flags (isaacs)
- fs: fix fs.watchFile() (Ben Noordhuis)
- fs: Fix fs.readfile() on pipes (isaacs)
- Rename GYP variable node_use_system_openssl to be consistent (Ryan Dahl)
New in Node.js 0.7.12 Dev (Jun 20, 2012)
- Shims to support deprecated ev_* and eio_* methods (Ben Noordhuis)
- #3118 net.Socket: Delay pause/resume until after connect (isaacs)
- #3465 Add ./configure --no-ifaddrs flag (isaacs)
- child_process: add .stdin stream to forks (Fedor Indutny)
- build: fix `make install DESTDIR=/path` (Ben Noordhuis)
- tls: fix off-by-one error in renegotiation check (Ben Noordhuis)
- crypto: Fix diffie-hellman key generation UTF-8 errors (Fedor Indutny)
- node: change the constructor name of process from EventEmitter to process (Andreas Madsen)
- net: Prevent property access throws during close (Reid Burke)
- querystring: improved speed and code cleanup (Felix Böhm)
- sunos: fix assertion errors breaking fs.watch() (Fedor Indutny)
- unix: stat: detect sub-second changes (Ben Noordhuis)
- add stat() based file watcher (Ben Noordhuis)
- npm: Upgrade to 1.1.30
- Improved 'npm init'
- Fix the 'cb never called' error from 'oudated' and 'update'
- Add --save-bundle|-B config
- Fix isaacs/npm#2465: Make npm script and windows shims cygwin-aware
- Fix isaacs/npm#2452 Use --save(-dev|-optional) in npm rm
- `logstream` option to replace removed `logfd` (Rod Vagg)
- Read default descriptions from README.md files
New in Node.js 0.7.11 Dev (Jun 16, 2012)
- V8: Upgrade to v3.11.10
- npm: Upgrade to 1.1.26
- doc: Improve cross-linking in API docs markdown (Ben Kelly)
- Fix #3425: removeAllListeners should delete array (Reid Burke)
- cluster: don't silently drop messages when the write queue gets big (Bert Belder)
- Add Buffer.concat method (isaacs)
- windows: make symlinks tolerant to forward slashes (Bert Belder)
- build: Add node.d and node.1 to installer (isaacs)
- cluster: rename worker.unqiueID to worker.id (Andreas Madsen)
- Windows: Enable ETW events on Windows for existing DTrace probes. (Igor Zinkovsky)
- test: bundle node-weak in test/gc so that it doesn't need to be downloaded (Nathan Rajlich)
- Make many tests pass on Windows (Bert Belder)
- Fix #3388 Support listening on file descriptors (isaacs)
- Fix #3407 Add os.tmpDir() (isaacs)
- Unbreak the snapshotted build on Windows (Bert Belder)
- Clean up child_process.kill throws (Bert Belder)
- crypto: make cipher/decipher accept buffer args (Ben Noordhuis)
New in Node.js 0.7.10 Dev (Jun 12, 2012)
- Roll V8 back to 3.9.24.31
- build: x64 target should always pass -m64 (Robert Mustacchi)
- add NODE_EXTERN to node::Start (Joel Brandt)
- repl: Warn about running npm commands (isaacs)
- slab_allocator: fix crash in dtor if V8 is dead (Ben Noordhuis)
- slab_allocator: fix leak of Persistent handles (Shigeki Ohtsu)
- domain: Fix #3379 domain.intercept no longer passes error arg to cb (Marc Harter)
- fs: make callbacks run in global context (Ben Noordhuis)
- fs: enable fs.realpath on windows (isaacs)
- child_process: expose UV_PROCESS_DETACHED as options.detached (Charlie McConnell)
- child_process: new stdio API for .spawn() method (Fedor Indutny)
- child_process: spawn().ref() and spawn().unref() (Fedor Indutny)
- Upgrade npm to 1.1.25:
- Enable npm link on windows
- Properly remove sh-shim on Windows
- Abstract out registry client and logger
New in Node.js 0.6.18 (Jun 12, 2012)
- crypto: add PKCS12/PFX support (Sambasiva Suda)
- #3240: child_process: delete NODE_CHANNEL_FD from env in spawn (Ben Noordhuis)
- fs: Automatically close FSWatcher on error (Bert Belder)
- #3258: fs.ReadStream.pause() emits duplicate data event (koichik)
- pipe_wrap: don't assert() on pipe accept errors (Ben Noordhuis)
- Better exception output for module load and process.nextTick (Felix Geisendörfer)
- zlib: fix error reporting (Ben Noordhuis)
- http: Don't destroy on timeout (isaacs)
- #3231: http: Don't try to emit error on a null'ed req object (isaacs)
- #3236: http: Refactor ClientRequest.onSocket (isaacs)
New in Node.js 0.7.9 Dev (May 30, 2012)
- Upgrade V8 to 3.11.1
- Upgrade npm to 1.1.23
- uv: rework reference counting scheme (Ben Noordhuis)
- uv: add interface for joining external event loops (Bert Belder)
- repl, readline: Handle Ctrl+Z and SIGCONT better (Nathan Rajlich)
- fs: 64bit offsets for fs calls (Igor Zinkovsky)
- fs: add sync open flags 'rs' and 'rs+' (Kevin Bowman)
- Fix #3270 Escape url.parse delims (isaacs)
- http: make http.get() accept a URL (Adam Malcontenti-Wilson)
- Cleanup vm module memory leakage (Marcel Laverdet)
- Optimize writing strings with Socket.write (Bert Belder)
- add support for CESU-8 and UTF-16LE encodings (koichik)
- path: add path.sep to get the path separator. (Yi, EungJun)
- net, http: add backlog parameter to .listen() (Erik Dubbelboer)
- debugger: support mirroring Date objects (Fedor Indutny)
- addon: add AtExit() function (Ben Noordhuis)
- net: signal localAddress bind failure in connect (Brian Schroeder)
- util: handle non-string return value in .inspect() (Alex Kocharin)
New in Node.js 0.7.8 Dev (May 10, 2012)
- Upgrade V8 to 3.9.24.9
- Upgrade OpenSSL to 1.0.0f
- Upgrade npm to 1.1.18
- Show licenses in Binary installers
- Domains (isaacs)
- readline: rename "end" to "close" (Nathan Rajlich)
- tcp: make getsockname() return address family as string (Shigeki Ohtsu)
- http, https: fix .setTimeout() (ssuda)
- os: add cross platform EOL character (Mustansir Golawala)
- typed arrays: unexport SizeOfArrayElementForType() (Aaron Jacobs)
- net: honor 'enable' flag in .setNoDelay() (Ben Noordhuis)
- child_process: emit error when .kill fails (Andreas Madsen)
- gyp: fix 'argument list too long' build error (Ben Noordhuis)
- fs.WriteStream: Handle modifications to fs.open (isaacs)
- repl, readline: Handle newlines better (Nathan Rajlich, Nathan Friedly)
- build: target OSX 10.5 when building on darwin (Nathan Rajlich)
- Fix #3052 Handle errors properly in zlib (isaacs)
- build: add support for DTrace and postmortem (Dave Pacheco)
- core: add reusable Slab allocator (Ben Noordhuis)
New in Node.js 0.6.17 (May 10, 2012)
- Upgrade npm to 1.1.21
- uv: Add support for EROFS errors (Ben Noordhuis, Maciej Małecki)
- uv: Add support for EIO and ENOSPC errors (Fedor Indutny)
- windows: Add support for EXDEV errors (Bert Belder)
- http: Fix client memory leaks (isaacs, Vincent Voyer)
- fs: fix file descriptor leak in sync functions (Ben Noordhuis)
- fs: fix ReadStream / WriteStream double close bug (Ben Noordhuis)
New in Node.js 0.4.8 (Jun 18, 2011)
- #974 Properly report traceless errors (isaacs)
- #983 Better JSON.parse error detection in REPL (isaacs)
- #836 Agent socket errors bubble up to req only if req exists
- #1041 Fix event listener leak check timing (koichik)
- #1038 Fix dns.resolve() with 'PTR' throws Error: Unknown type "PTR" (koichik)
- #1073 Share SSL context between server connections (Fedor Indutny)
- Disable compression with OpenSSL. Improves memory perf.
- Implement os.totalmem() and os.freemem() for SunOS (Alexandre Marangone)
- Fix a special characters in URL regression (isaacs)
- Fix idle timeouts in HTTPS (Felix GeisendoÃàrfer)
- SlowBuffer.write() with 'ucs2' throws ReferenceError. (koichik)
- http.ServerRequest 'close' sometimes gets an error argument (Felix GeisendoÃàrfer)
- Doc improvements
- cleartextstream.destroy() should close(2) the socket. Previously was being mapped to a shutdown(2) syscall.
- No longer compile out asserts and debug statements in normal build.
- Debugger improvements.
- Upgrade V8 to 3.1.8.16.