-
Notifications
You must be signed in to change notification settings - Fork 29.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
2022-04-19, Version 18.0.0 (Current) #42262
Conversation
Review requested:
|
Notable Changes: PR-URL: #42262
a6111bc
to
d0db8a4
Compare
@mcollina there are Pino failures (I don't know if they're new) |
There are a couple of known flaky tests (they stress resources), but there is a new issue: pinojs/pino#1368. |
Notable Changes: PR-URL: #42262
d0db8a4
to
f0d4b79
Compare
I think #42325 qualifies for the notable changes section. |
Notable Changes: PR-URL: #42262
f0d4b79
to
d668e55
Compare
Notable Changes: PR-URL: #42262
d668e55
to
8c3aa58
Compare
Notable Changes: PR-URL: #42262
8c3aa58
to
35160fe
Compare
It would really be good to have #41263 included. It's a significant refactoring of the slowris protections that improve performance and fixes a few long standing problems. |
Notable Changes: PR-URL: #42262
35160fe
to
e96c2fd
Compare
This comment was marked as outdated.
This comment was marked as outdated.
Notable Changes: PR-URL: #42262
This comment was marked as outdated.
This comment was marked as outdated.
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 https://undici.nodejs.org/#/, 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. 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: - (SEMVER-MAJOR) assert,util: compare RegExp.lastIndex while using deep equal checks (Ruben Bridgewater) (#41020) - (SEMVER-MAJOR) buffer: refactor `byteLength` to remove outdated optimizations (Rongjian Zhang) (#38545) - (SEMVER-MAJOR) buffer: expose Blob as a global (James M Snell) (#41270) - (SEMVER-MAJOR) buffer: graduate Blob from experimental (James M Snell) (#41270) - (SEMVER-MAJOR) build: make x86 Windows support temporarily experimental (Michaël Zasso) (#42666) - (SEMVER-MAJOR) build: bump macOS deployment target to 10.15 (Richard Lau) (#42292) - (SEMVER-MAJOR) build: downgrade Windows 8.1 and server 2012 R2 to experimental (Michaël Zasso) (#42105) - (SEMVER-MAJOR) child\_process: improve argument validation (Rich Trott) (#41305) - (SEMVER-MAJOR) cluster: make `kill` to be just `process.kill` (Bar Admoni) (#34312) - (SEMVER-MAJOR) crypto: cleanup validation (Mohammed Keyvanzadeh) (#39841) - (SEMVER-MAJOR) crypto: prettify othername in PrintGeneralName (Tobias Nießen) (#42123) - (SEMVER-MAJOR) crypto: fix X509Certificate toLegacyObject (Tobias Nießen) (#42124) - (SEMVER-MAJOR) crypto: use RFC2253 format in PrintGeneralName (Tobias Nießen) (#42002) - (SEMVER-MAJOR) crypto: change default check(Host|Email) behavior (Tobias Nießen) (#41600) - (SEMVER-MAJOR) deps: V8: cherry-pick semver-major commits from 10.2 (Michaël Zasso) (#42657) - (SEMVER-MAJOR) deps: update V8 to 10.1.124.6 (Michaël Zasso) (#42657) - (SEMVER-MAJOR) deps: update V8 to 9.8.177.9 (Michaël Zasso) (#41610) - (SEMVER-MAJOR) deps: update V8 to 9.7.106.18 (Michaël Zasso) (#40907) - (SEMVER-MAJOR) dns: remove `dns.lookup` and `dnsPromises.lookup` options type coercion (Antoine du Hamel) (#41431) - (SEMVER-MAJOR) doc: update minimum glibc requirements for Linux (Richard Lau) (#42659) - (SEMVER-MAJOR) doc: update AIX minimum supported arch (Richard Lau) (#42604) - (SEMVER-MAJOR) fs: runtime deprecate string coercion in `fs.write`, `fs.writeFileSync` (Livia Medeiros) (#42607) - (SEMVER-MAJOR) http: refactor headersTimeout and requestTimeout logic (Paolo Insogna) (#41263) - (SEMVER-MAJOR) http: make TCP noDelay enabled by default (Paolo Insogna) (#42163) - (SEMVER-MAJOR) lib: enable fetch by default (Michaël Zasso) (#41811) - (SEMVER-MAJOR) lib: replace validator and error (Mohammed Keyvanzadeh) (#41678) - (SEMVER-MAJOR) module,repl: support 'node:'-only core modules (Colin Ihrig) (#42325) - (SEMVER-MAJOR) net: make `server.address()` return an integer for `family` (Antoine du Hamel) (#41431) - (SEMVER-MAJOR) process: disallow some uses of Object.defineProperty() on process.env (Himself65) (#28006) - (SEMVER-MAJOR) process: runtime deprecate multipleResolves (Benjamin Gruenbaum) (#41896) - (SEMVER-MAJOR) readline: fix question still called after closed (Xuguang Mei) (#42464) - (SEMVER-MAJOR) stream: remove thenable support (Robert Nagy) (#40773) - (SEMVER-MAJOR) stream: expose web streams globals, remove runtime experimental warning (Antoine du Hamel) (#42225) - (SEMVER-MAJOR) stream: need to cleanup event listeners if last stream is readable (Xuguang Mei) (#41954) - (SEMVER-MAJOR) stream: revert revert `map` spec compliance (Benjamin Gruenbaum) (#41933) - (SEMVER-MAJOR) stream: throw invalid arg type from End Of Stream (Jithil P Ponnan) (#41766) - (SEMVER-MAJOR) stream: don't emit finish after destroy (Robert Nagy) (#40852) - (SEMVER-MAJOR) stream: add errored and closed props (Robert Nagy) (#40696) - (SEMVER-MAJOR) test: add initial test module (Colin Ihrig) (#42325) - (SEMVER-MAJOR) timers: refactor internal classes to ES2015 syntax (Rabbit) (#37408) - (SEMVER-MAJOR) tls: represent registeredID numerically always (Tobias Nießen) (#41561) - (SEMVER-MAJOR) tls: move tls.parseCertString to end-of-life (Tobias Nießen) (#41479) - (SEMVER-MAJOR) url: throw on NULL in IPv6 hostname (Rich Trott) (#42313) - (SEMVER-MAJOR) v8: make v8.writeHeapSnapshot() error codes consistent (Darshan Sen) (#42577) - (SEMVER-MAJOR) v8: make writeHeapSnapshot throw if fopen fails (Antonio Román) (#41373) - (SEMVER-MAJOR) worker: expose BroadcastChannel as a global (James M Snell) (#41271) - (SEMVER-MAJOR) worker: graduate BroadcastChannel to supported (James M Snell) (#41271) PR-URL: #42262
f773b29
to
49a77a5
Compare
|
||
Contributed by Michaël Zasso in [#41811](https://github.com/nodejs/node/pull/41811). | ||
|
||
#### HTTP Timeouts |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@ShogunPanda please review this section
This comment was marked as outdated.
This comment was marked as outdated.
Would appreciate some further reviews (or approvals 😁 )? I hope to run release builds over night, so would be good to catch any typos/omissions before then. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm
Release build on 49a77a5: https://ci-release.nodejs.org/job/iojs+release/8402/ |
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 https://undici.nodejs.org/#/, 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. 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: - (SEMVER-MAJOR) assert,util: compare RegExp.lastIndex while using deep equal checks (Ruben Bridgewater) (#41020) - (SEMVER-MAJOR) buffer: refactor `byteLength` to remove outdated optimizations (Rongjian Zhang) (#38545) - (SEMVER-MAJOR) buffer: expose Blob as a global (James M Snell) (#41270) - (SEMVER-MAJOR) buffer: graduate Blob from experimental (James M Snell) (#41270) - (SEMVER-MAJOR) build: make x86 Windows support temporarily experimental (Michaël Zasso) (#42666) - (SEMVER-MAJOR) build: bump macOS deployment target to 10.15 (Richard Lau) (#42292) - (SEMVER-MAJOR) build: downgrade Windows 8.1 and server 2012 R2 to experimental (Michaël Zasso) (#42105) - (SEMVER-MAJOR) child\_process: improve argument validation (Rich Trott) (#41305) - (SEMVER-MAJOR) cluster: make `kill` to be just `process.kill` (Bar Admoni) (#34312) - (SEMVER-MAJOR) crypto: cleanup validation (Mohammed Keyvanzadeh) (#39841) - (SEMVER-MAJOR) crypto: prettify othername in PrintGeneralName (Tobias Nießen) (#42123) - (SEMVER-MAJOR) crypto: fix X509Certificate toLegacyObject (Tobias Nießen) (#42124) - (SEMVER-MAJOR) crypto: use RFC2253 format in PrintGeneralName (Tobias Nießen) (#42002) - (SEMVER-MAJOR) crypto: change default check(Host|Email) behavior (Tobias Nießen) (#41600) - (SEMVER-MAJOR) deps: V8: cherry-pick semver-major commits from 10.2 (Michaël Zasso) (#42657) - (SEMVER-MAJOR) deps: update V8 to 10.1.124.6 (Michaël Zasso) (#42657) - (SEMVER-MAJOR) deps: update V8 to 9.8.177.9 (Michaël Zasso) (#41610) - (SEMVER-MAJOR) deps: update V8 to 9.7.106.18 (Michaël Zasso) (#40907) - (SEMVER-MAJOR) dns: remove `dns.lookup` and `dnsPromises.lookup` options type coercion (Antoine du Hamel) (#41431) - (SEMVER-MAJOR) doc: update minimum glibc requirements for Linux (Richard Lau) (#42659) - (SEMVER-MAJOR) doc: update AIX minimum supported arch (Richard Lau) (#42604) - (SEMVER-MAJOR) fs: runtime deprecate string coercion in `fs.write`, `fs.writeFileSync` (Livia Medeiros) (#42607) - (SEMVER-MAJOR) http: refactor headersTimeout and requestTimeout logic (Paolo Insogna) (#41263) - (SEMVER-MAJOR) http: make TCP noDelay enabled by default (Paolo Insogna) (#42163) - (SEMVER-MAJOR) lib: enable fetch by default (Michaël Zasso) (#41811) - (SEMVER-MAJOR) lib: replace validator and error (Mohammed Keyvanzadeh) (#41678) - (SEMVER-MAJOR) module,repl: support 'node:'-only core modules (Colin Ihrig) (#42325) - (SEMVER-MAJOR) net: make `server.address()` return an integer for `family` (Antoine du Hamel) (#41431) - (SEMVER-MAJOR) process: disallow some uses of Object.defineProperty() on process.env (Himself65) (#28006) - (SEMVER-MAJOR) process: runtime deprecate multipleResolves (Benjamin Gruenbaum) (#41896) - (SEMVER-MAJOR) readline: fix question still called after closed (Xuguang Mei) (#42464) - (SEMVER-MAJOR) stream: remove thenable support (Robert Nagy) (#40773) - (SEMVER-MAJOR) stream: expose web streams globals, remove runtime experimental warning (Antoine du Hamel) (#42225) - (SEMVER-MAJOR) stream: need to cleanup event listeners if last stream is readable (Xuguang Mei) (#41954) - (SEMVER-MAJOR) stream: revert revert `map` spec compliance (Benjamin Gruenbaum) (#41933) - (SEMVER-MAJOR) stream: throw invalid arg type from End Of Stream (Jithil P Ponnan) (#41766) - (SEMVER-MAJOR) stream: don't emit finish after destroy (Robert Nagy) (#40852) - (SEMVER-MAJOR) stream: add errored and closed props (Robert Nagy) (#40696) - (SEMVER-MAJOR) test: add initial test module (Colin Ihrig) (#42325) - (SEMVER-MAJOR) timers: refactor internal classes to ES2015 syntax (Rabbit) (#37408) - (SEMVER-MAJOR) tls: represent registeredID numerically always (Tobias Nießen) (#41561) - (SEMVER-MAJOR) tls: move tls.parseCertString to end-of-life (Tobias Nießen) (#41479) - (SEMVER-MAJOR) url: throw on NULL in IPv6 hostname (Rich Trott) (#42313) - (SEMVER-MAJOR) v8: make v8.writeHeapSnapshot() error codes consistent (Darshan Sen) (#42577) - (SEMVER-MAJOR) v8: make writeHeapSnapshot throw if fopen fails (Antonio Román) (#41373) - (SEMVER-MAJOR) worker: expose BroadcastChannel as a global (James M Snell) (#41271) - (SEMVER-MAJOR) worker: graduate BroadcastChannel to supported (James M Snell) (#41271) PR-URL: #42262
* Blog: Node.js 18 release announcement Co-authored-by: Antoine du Hamel <duhamelantoine1995@gmail.com> Co-authored-by: Ethan Arrowood <ethan@arrowood.dev> Co-authored-by: Matteo Collina <hello@matteocollina.com> Co-authored-by: Michael Dawson <mdawson@devrus.com> Co-authored-by: Michaël Zasso <targos@protonmail.com> Co-authored-by: Rich Trott <rtrott@gmail.com> Co-authored-by: Richard Lau <rlau@redhat.com> Co-authored-by: Joyee Cheung <joyeec9h3@gmail.com> * Blog: v18.0.0 release post Refs: nodejs/node#42262 * fix: add Node.js 16.x and 17.x to generated version link list (nodejs#4545) * fix: add Node.js 16.x and 17.x to generated version link list `source/nodejsVersions.md` is used to generate a list of version links on each locale page. Node.js 17.x were missing. Co-authored-by: Nick Schonning <nschonni@gmail.com> * zh-CN: update site.json for Node.js 18 (nodejs#4554) Ref: nodejs#4553 * Fix typo (nodejs#4557) "to be trust" should be "to trust" as a transitive verb. * doc: update link about class features optimizations in Node.js 18 (nodejs#4556) There is a blog post explaining about this now, change the link. * doc: typo fix (nodejs#4558) Add missing "to" between the two verbs as a typo fix. * doc: fix wrong link for "windows" (nodejs#4514) The anchor to Windows installation session now points to "install nvs on Windows". This PR fixes the anchor to the correct location. * chore: replace callbacks with necessary async/await (nodejs#4555) 1. Some functions like 'fs' or 'graceFulFs' has been supporting 'async/await' for a long time, so this is a refactor to improve the related codes. 2. 'sass.render' is deprecated, use awaitable 'sass.compileAsync' instead. * Remove call to deprecated function util.inherits (nodejs#4483) * Remove call to deprecated function util.inherits * Update event-loop-timers-and-nexttick.md Co-authored-by: Rich Trott <rtrott@gmail.com> * Meetup sweden stockholm (nodejs#4407) Add the meetup for sweden stockholm. Co-authored-by: Beth Griggs <bgriggs@redhat.com> Co-authored-by: Antoine du Hamel <duhamelantoine1995@gmail.com> Co-authored-by: Ethan Arrowood <ethan@arrowood.dev> Co-authored-by: Matteo Collina <hello@matteocollina.com> Co-authored-by: Michael Dawson <mdawson@devrus.com> Co-authored-by: Michaël Zasso <targos@protonmail.com> Co-authored-by: Rich Trott <rtrott@gmail.com> Co-authored-by: Richard Lau <rlau@redhat.com> Co-authored-by: Joyee Cheung <joyeec9h3@gmail.com> Co-authored-by: Austin Kelleher <austinlkelleher@gmail.com> Co-authored-by: Nick Schonning <nschonni@gmail.com> Co-authored-by: Maledong <maledong_public@foxmail.com> Co-authored-by: Kenny <67985757+protofarer@users.noreply.github.com> Co-authored-by: Javad <79276645+Javad-93@users.noreply.github.com> Co-authored-by: Tse Kit Yam <tsekityam@users.noreply.github.com> Co-authored-by: Bart Louwers <bart.louwers@gmail.com> Co-authored-by: lxmarinkovic <lxmarinkovic@gmail.com>
Notable Changes: Deprecations and Removals: - (SEMVER-MAJOR) fs: runtime deprecate string coercion in `fs.write`, `fs.writeFileSync` (Livia Medeiros) (nodejs#42607) - (SEMVER-MAJOR) dns: remove `dns.lookup` and `dnsPromises.lookup` options type coercion (Antoine du Hamel) (nodejs#41431) - (SEMVER-MAJOR) process: runtime deprecate multipleResolves (Benjamin Gruenbaum) (nodejs#41896) - (SEMVER-MAJOR) stream: remove thenable support (Robert Nagy) (nodejs#40773) - (SEMVER-MAJOR) tls: move tls.parseCertString to end-of-life (Tobias Nießen) (nodejs#41479) fetch (experimental): An experimental fetch API is available on the global scope by default. The implementation is based upon https://undici.nodejs.org/#/, 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 nodejs#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 nodejs#41263. Test Runner module (experimental): The `node:test` module facilitates the creation of JavaScript tests that report results in TAP format. This module is only available under the `node:` scheme. Contributed by Colin Ihrig in nodejs#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 nodejs#42292, nodejs#42604 and nodejs#42659 , and Michaël Zasso in nodejs#42105 and nodejs#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 nodejs#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 nodejs#39062, and Antoine du Hamel in nodejs#42225. Other Notable Changes: - (SEMVER-MAJOR) buffer: expose Blob as a global (James M Snell) (nodejs#41270) - (SEMVER-MAJOR) child\_process: improve argument validation (Rich Trott) (nodejs#41305) - doc: add RafaelGSS to collaborators (RafaelGSS) (nodejs#42718) - (SEMVER-MAJOR) http: make TCP noDelay enabled by default (Paolo Insogna) (nodejs#42163) - (SEMVER-MAJOR) net: make `server.address()` return an integer for `family` (Antoine du Hamel) (nodejs#41431) - (SEMVER-MAJOR) worker: expose BroadcastChannel as a global (James M Snell) (nodejs#41271) - (SEMVER-MAJOR) worker: graduate BroadcastChannel to supported (James M Snell) (nodejs#41271) Semver-Major Commits: - (SEMVER-MAJOR) assert,util: compare RegExp.lastIndex while using deep equal checks (Ruben Bridgewater) (nodejs#41020) - (SEMVER-MAJOR) buffer: refactor `byteLength` to remove outdated optimizations (Rongjian Zhang) (nodejs#38545) - (SEMVER-MAJOR) buffer: expose Blob as a global (James M Snell) (nodejs#41270) - (SEMVER-MAJOR) buffer: graduate Blob from experimental (James M Snell) (nodejs#41270) - (SEMVER-MAJOR) build: make x86 Windows support temporarily experimental (Michaël Zasso) (nodejs#42666) - (SEMVER-MAJOR) build: bump macOS deployment target to 10.15 (Richard Lau) (nodejs#42292) - (SEMVER-MAJOR) build: downgrade Windows 8.1 and server 2012 R2 to experimental (Michaël Zasso) (nodejs#42105) - (SEMVER-MAJOR) child\_process: improve argument validation (Rich Trott) (nodejs#41305) - (SEMVER-MAJOR) cluster: make `kill` to be just `process.kill` (Bar Admoni) (nodejs#34312) - (SEMVER-MAJOR) crypto: cleanup validation (Mohammed Keyvanzadeh) (nodejs#39841) - (SEMVER-MAJOR) crypto: prettify othername in PrintGeneralName (Tobias Nießen) (nodejs#42123) - (SEMVER-MAJOR) crypto: fix X509Certificate toLegacyObject (Tobias Nießen) (nodejs#42124) - (SEMVER-MAJOR) crypto: use RFC2253 format in PrintGeneralName (Tobias Nießen) (nodejs#42002) - (SEMVER-MAJOR) crypto: change default check(Host|Email) behavior (Tobias Nießen) (nodejs#41600) - (SEMVER-MAJOR) deps: V8: cherry-pick semver-major commits from 10.2 (Michaël Zasso) (nodejs#42657) - (SEMVER-MAJOR) deps: update V8 to 10.1.124.6 (Michaël Zasso) (nodejs#42657) - (SEMVER-MAJOR) deps: update V8 to 9.8.177.9 (Michaël Zasso) (nodejs#41610) - (SEMVER-MAJOR) deps: update V8 to 9.7.106.18 (Michaël Zasso) (nodejs#40907) - (SEMVER-MAJOR) dns: remove `dns.lookup` and `dnsPromises.lookup` options type coercion (Antoine du Hamel) (nodejs#41431) - (SEMVER-MAJOR) doc: update minimum glibc requirements for Linux (Richard Lau) (nodejs#42659) - (SEMVER-MAJOR) doc: update AIX minimum supported arch (Richard Lau) (nodejs#42604) - (SEMVER-MAJOR) fs: runtime deprecate string coercion in `fs.write`, `fs.writeFileSync` (Livia Medeiros) (nodejs#42607) - (SEMVER-MAJOR) http: refactor headersTimeout and requestTimeout logic (Paolo Insogna) (nodejs#41263) - (SEMVER-MAJOR) http: make TCP noDelay enabled by default (Paolo Insogna) (nodejs#42163) - (SEMVER-MAJOR) lib: enable fetch by default (Michaël Zasso) (nodejs#41811) - (SEMVER-MAJOR) lib: replace validator and error (Mohammed Keyvanzadeh) (nodejs#41678) - (SEMVER-MAJOR) module,repl: support 'node:'-only core modules (Colin Ihrig) (nodejs#42325) - (SEMVER-MAJOR) net: make `server.address()` return an integer for `family` (Antoine du Hamel) (nodejs#41431) - (SEMVER-MAJOR) process: disallow some uses of Object.defineProperty() on process.env (Himself65) (nodejs#28006) - (SEMVER-MAJOR) process: runtime deprecate multipleResolves (Benjamin Gruenbaum) (nodejs#41896) - (SEMVER-MAJOR) readline: fix question still called after closed (Xuguang Mei) (nodejs#42464) - (SEMVER-MAJOR) stream: remove thenable support (Robert Nagy) (nodejs#40773) - (SEMVER-MAJOR) stream: expose web streams globals, remove runtime experimental warning (Antoine du Hamel) (nodejs#42225) - (SEMVER-MAJOR) stream: need to cleanup event listeners if last stream is readable (Xuguang Mei) (nodejs#41954) - (SEMVER-MAJOR) stream: revert revert `map` spec compliance (Benjamin Gruenbaum) (nodejs#41933) - (SEMVER-MAJOR) stream: throw invalid arg type from End Of Stream (Jithil P Ponnan) (nodejs#41766) - (SEMVER-MAJOR) stream: don't emit finish after destroy (Robert Nagy) (nodejs#40852) - (SEMVER-MAJOR) stream: add errored and closed props (Robert Nagy) (nodejs#40696) - (SEMVER-MAJOR) test: add initial test module (Colin Ihrig) (nodejs#42325) - (SEMVER-MAJOR) timers: refactor internal classes to ES2015 syntax (Rabbit) (nodejs#37408) - (SEMVER-MAJOR) tls: represent registeredID numerically always (Tobias Nießen) (nodejs#41561) - (SEMVER-MAJOR) tls: move tls.parseCertString to end-of-life (Tobias Nießen) (nodejs#41479) - (SEMVER-MAJOR) url: throw on NULL in IPv6 hostname (Rich Trott) (nodejs#42313) - (SEMVER-MAJOR) v8: make v8.writeHeapSnapshot() error codes consistent (Darshan Sen) (nodejs#42577) - (SEMVER-MAJOR) v8: make writeHeapSnapshot throw if fopen fails (Antonio Román) (nodejs#41373) - (SEMVER-MAJOR) worker: expose BroadcastChannel as a global (James M Snell) (nodejs#41271) - (SEMVER-MAJOR) worker: graduate BroadcastChannel to supported (James M Snell) (nodejs#41271) PR-URL: nodejs#42262
*This is just an early draft proposal to enable test builds and will be updated weekly.
master
until 2022-04-12.2022-04-19, Version 18.0.0 (Current), @BethGriggs
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
fs.write
,fs.writeFileSync
(Livia Medeiros) #42607dns.lookup
anddnsPromises.lookup
options type coercion (Antoine du Hamel) #41431fetch (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 to60000
(60 seconds) by default.server.requestTimeout
which sets the timeout value in milliseconds for receiving the entire request from the client is now set to300000
(5 minutes) by default.If these timeouts expire, the server responds with status 408 without forwarding the request to the request listener and then closes the connection.
Both timeouts must be set to a non-zero value to protect against potential Denial-of-Service attacks in case the server is deployed without a reverse proxy in front.
Contributed by Paolo Insogna in #41263.
Test Runner module (experimental)
The
node:test
module facilitates the creation of JavaScript tests that report results in TAP format. To access it:import test from 'node:test';
This module is only available under the
node:
scheme.The following is an example implementation of a parent test with two subtests:
Read more in https://nodejs.org/dist/latest-v18.x/docs/api/test.html.
Contributed by Colin Ihrig in #42325.
Toolchain and Compiler Upgrades
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:
findLast
andfindLastIndex
array methods.Intl.Locale
API.Intl.supportedValuesOf
function.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
server.address()
return an integer forfamily
(Antoine du Hamel) #41431Semver-Major Commits
dab8ab2837
] - (SEMVER-MAJOR) assert,util: compare RegExp.lastIndex while using deep equal checks (Ruben Bridgewater) #41020cff14bcaef
] - (SEMVER-MAJOR) buffer: refactorbyteLength
to remove outdated optimizations (Rongjian Zhang) #38545cea76dbf33
] - (SEMVER-MAJOR) buffer: expose Blob as a global (James M Snell) #4127099c18f4786
] - (SEMVER-MAJOR) buffer: graduate Blob from experimental (James M Snell) #4127035d72bf4ec
] - (SEMVER-MAJOR) build: make x86 Windows support temporarily experimental (Michaël Zasso) #426661134d8faf8
] - (SEMVER-MAJOR) build: bump macOS deployment target to 10.15 (Richard Lau) #4229227eb91d378
] - (SEMVER-MAJOR) build: downgrade Windows 8.1 and server 2012 R2 to experimental (Michaël Zasso) #4210526c973d4b3
] - (SEMVER-MAJOR) child_process: improve argument validation (Rich Trott) #4130538007df999
] - (SEMVER-MAJOR) cluster: makekill
to be justprocess.kill
(Bar Admoni) #34312aed18dfe59
] - (SEMVER-MAJOR) crypto: cleanup validation (Mohammed Keyvanzadeh) #39841e1fb6ae02f
] - (SEMVER-MAJOR) crypto: prettify othername in PrintGeneralName (Tobias Nießen) #4212336fb79030e
] - (SEMVER-MAJOR) crypto: fix X509Certificate toLegacyObject (Tobias Nießen) #42124563b2ed000
] - (SEMVER-MAJOR) crypto: use RFC2253 format in PrintGeneralName (Tobias Nießen) #4200218365d8ee6
] - (SEMVER-MAJOR) crypto: change default check(Host|Email) behavior (Tobias Nießen) #4160058f3fdcccd
] - (SEMVER-MAJOR) deps: V8: cherry-pick semver-major commits from 10.2 (Michaël Zasso) #42657fd4f80ce54
] - (SEMVER-MAJOR) deps: update V8 to 10.1.124.6 (Michaël Zasso) #42657974ab4060f
] - (SEMVER-MAJOR) deps: update V8 to 9.8.177.9 (Michaël Zasso) #41610270253c4e2
] - (SEMVER-MAJOR) deps: update V8 to 9.7.106.18 (Michaël Zasso) #4090708773e3c04
] - (SEMVER-MAJOR) dns: removedns.lookup
anddnsPromises.lookup
options type coercion (Antoine du Hamel) #414313671cc0432
] - (SEMVER-MAJOR) doc: update minimum glibc requirements for Linux (Richard Lau) #42659646e057680
] - (SEMVER-MAJOR) doc: update AIX minimum supported arch (Richard Lau) #426040bac5478eb
] - (SEMVER-MAJOR) fs: runtime deprecate string coercion infs.write
,fs.writeFileSync
(Livia Medeiros) #426073caa2c1a00
] - (SEMVER-MAJOR) http: refactor headersTimeout and requestTimeout logic (Paolo Insogna) #41263eacd45656a
] - (SEMVER-MAJOR) http: make TCP noDelay enabled by default (Paolo Insogna) #421634944ad0b9e
] - (SEMVER-MAJOR) lib: enable fetch by default (Michaël Zasso) #418118c4b8b201a
] - (SEMVER-MAJOR) lib: replace validator and error (Mohammed Keyvanzadeh) #416783c4ee5267a
] - (SEMVER-MAJOR) module,repl: support 'node:'-only core modules (Colin Ihrig) #423253a26db9697
] - (SEMVER-MAJOR) net: makeserver.address()
return an integer forfamily
(Antoine du Hamel) #41431e6a7300a10
] - (SEMVER-MAJOR) process: disallow some uses of Object.defineProperty() on process.env (Himself65) #2800660b8e79599
] - (SEMVER-MAJOR) process: runtime deprecate multipleResolves (Benjamin Gruenbaum) #41896d36b60e69a
] - (SEMVER-MAJOR) readline: fix question still called after closed (Xuguang Mei) #4246458e645de63
] - (SEMVER-MAJOR) stream: remove thenable support (Robert Nagy) #40773560cbc5849
] - (SEMVER-MAJOR) stream: expose web streams globals, remove runtime experimental warning (Antoine du Hamel) #422259fb7ac3bbd
] - (SEMVER-MAJOR) stream: need to cleanup event listeners if last stream is readable (Xuguang Mei) #41954ceaa299958
] - (SEMVER-MAJOR) stream: revert revertmap
spec compliance (Benjamin Gruenbaum) #41933fe7ca085a7
] - (SEMVER-MAJOR) stream: throw invalid arg type from End Of Stream (Jithil P Ponnan) #4176648e784043d
] - (SEMVER-MAJOR) stream: don't emit finish after destroy (Robert Nagy) #40852f2170253b6
] - (SEMVER-MAJOR) stream: add errored and closed props (Robert Nagy) #40696432d1b50e0
] - (SEMVER-MAJOR) test: add initial test module (Colin Ihrig) #4232592567283f4
] - (SEMVER-MAJOR) timers: refactor internal classes to ES2015 syntax (Rabbit) #3740865910c0d6c
] - (SEMVER-MAJOR) tls: represent registeredID numerically always (Tobias Nießen) #41561807c7e14f4
] - (SEMVER-MAJOR) tls: move tls.parseCertString to end-of-life (Tobias Nießen) #41479f524306077
] - (SEMVER-MAJOR) url: throw on NULL in IPv6 hostname (Rich Trott) #423130187bc5cdc
] - (SEMVER-MAJOR) v8: make v8.writeHeapSnapshot() error codes consistent (Darshan Sen) #4257774b9baa426
] - (SEMVER-MAJOR) v8: make writeHeapSnapshot throw if fopen fails (Antonio Román) #41373ce4d3adf50
] - (SEMVER-MAJOR) worker: expose BroadcastChannel as a global (James M Snell) #412716486a304d3
] - (SEMVER-MAJOR) worker: graduate BroadcastChannel to supported (James M Snell) #41271Semver-Minor Commits
415726b8c4
] - (SEMVER-MINOR) stream: add writableAborted (Robert Nagy) #4080254819f08e0
] - (SEMVER-MINOR) test_runner: support 'only' tests (Colin Ihrig) #42514Semver-Patch Commits
7533d08b94
] - buffer: fixatob
input validation (Austin Kelleher) #4266296673bcb96
] - build: run clang-format on CI (Darshan Sen) #42681d5462e4558
] - build: reset embedder string to "-node.0" (Michaël Zasso) #42657aa52873887
] - build: add configure option --v8-enable-short-builtin-calls (daomingq) #421097ee8a7a463
] - build: reset embedder string to "-node.0" (Michaël Zasso) #41610a189dee52a
] - build: reset embedder string to "-node.0" (Michaël Zasso) #40907e8697cfe38
] - crypto: improve prime size argument validation (Tobias Nießen) #42234a9c0689786
] - crypto: fix return type prob reported by coverity (Michael Dawson) #42135e938515b41
] - deps: patch V8 to 10.1.124.8 (Michaël Zasso) #42730eba7d2db7f
] - deps: V8: cherry-pick ad21d212fc14 (Michaël Zasso) #42657004137e269
] - deps: V8: cherry-pick 4c29cf1b7885 (Michaël Zasso) #42657a052c03033
] - deps: V8: cherry-pick ca2a787a0b49 (Michaël Zasso) #4265701cea9a8d8
] - deps: V8: cherry-pick a2cae2180a7a (Michaël Zasso) #42657d9d26b08ef
] - deps: V8: cherry-pick 87ce4f5d98a5 (Michaël Zasso) #4265764a6328505
] - deps: make V8 compilable with older glibc (Michaël Zasso) #42657fde59217b9
] - deps: V8: fix v8-cppgc.h for MSVC (Jiawen Geng) #42657cdcc82cced
] - deps: silence V8's warning on CompileFunction (Michaël Zasso) #409072f51e121da
] - deps: update Acorn to v8.7.0 (Michaël Zasso) #426676d4b01774b
] - deps: update ICU to 71.1 (Michaël Zasso) #426552d84620f86
] - deps: upgrade npm to 8.6.0 (npm team) #42550c7ac11fa25
] - deps: update undici to 5.0.0 (Node.js GitHub Bot) #42583468fffdf66
] - deps: V8: cherry-pick 50d5fb7a457c (Michaël Zasso) #4161048708be57b
] - deps: V8: cherry-pick 79a9d2eb3477 (Michaël Zasso) #416103c8782f70e
] - deps: silence V8's warning on CompileFunction (Michaël Zasso) #409079318408c49
] - deps: silence V8's warning on CompileFunction (Michaël Zasso) #40907e23e345b6c
] - deps: V8: cherry-pick 80bbbb143c24 (Michaël Zasso) #40907696ce7df26
] - deps: V8: cherry-pick 1cc12b278e22 (Michaël Zasso) #40907aa88e5e4b9
] - doc: revise data imports and node: imports sections (Rich Trott) #42734a058cefe29
] - doc: fix ESM JSON/data URL import example (Rich Trott) #42728e61b62b9d4
] - doc: improve doc for http.ServerResponse inheritance (Luigi Pinca) #426936669b3857f
] - doc: add RafaelGSS to collaborators (RafaelGSS) #42718f825341bab
] - doc: add NodeEdKeyGenParams to CryptoKey.algorithm (Tobias Nießen) #42629d4d78361f2
] - doc: fix the example for embedders (Momtchil Momtchev) #426716706be1cdb
] - doc: change AES-GCM IV recommendation in WebCrypto (Tobias Nießen) #426114508c8caa4
] - doc: fixadded:
info for some methods (Luigi Pinca) #42661951dbc045a
] - doc: remove unneeded new in Buffer example (Niklas Mischkulnig) #4268265e838071b
] - doc: mark worker.id as integer in cluster docs (Tobias Nießen) #42684a82713cbb6
] - doc: recommendfh.createWriteStream
for fsPromises methods (Antoine du Hamel) #4265313ad8d4e09
] - doc: fix outgoingMessage.removeHeader() signature (Luigi Pinca) #42652a0461255c0
] - doc: mark tlsSocket.authorized as boolean property (Tobias Nießen) #426473ac7f86c2b
] - doc: add missing punctuation in Web Streams doc (Tobias Nießen) #42672b98386c977
] - doc: add missing article in session ticket section (Tobias Nießen) #42632a113468383
] - doc: link to dynamic import function (Tobias Nießen) #42634dfc2dc8b65
] - doc: add note about header values encoding (Shogun) #42624ec5a359ffd
] - doc: add missing word in rootCertificates section (Tobias Nießen) #42633c08a361f70
] - doc: add history entries for DEP0162 onfs.md
(Antoine du Hamel) #426084fade6acb4
] - doc: fix brackets position (Livia Medeiros) #426498055c7ba5d
] - doc: copyedit corepack.md (Rich Trott) #4262085a65c3260
] - doc: delete chakra tt from diagnostic tooling support tiers (Tony Gorez) #4262763bb6dcf0f
] - doc: align links in table to top (nikoladev) #4139628d8614add
] - http: document that ClientRequest inherits from OutgoingMessage (K.C.Ashish Kumar) #42642c37fdacb34
] - lib: use class fields in observe.js (Joyee Cheung) #42361ea0668a27e
] - lib: use class fields in Event and EventTarget (Joyee Cheung) #42361eb7b89c829
] - lib: update class fields TODO in abort_controller.js (Joyee Cheung) #42361d835b1f1c1
] - meta: update AUTHORS (Node.js GitHub Bot) #4267729492496e8
] - meta: move one or more collaborators to emeritus (Node.js GitHub Bot) #4259993c4dc5e5a
] - module: ensure 'node:'-only modules can access node_modules (Colin Ihrig) #424303a26db9697
] - net: makeserver.address()
return an integer forfamily
(Antoine du Hamel) #4143144fdf953ba
] - node-api,src: fix module registration in MSVC C++ (Vladimir Morozov) #424593026ca0bf2
] - src: fix coverity report (Michael Dawson) #4266301fd048c6e
] - src: update NODE_MODULE_VERSION to 108 (Michaël Zasso) #4265775a71dc7ae
] - src: fix alphabetically sorted binding list (Tobias Nießen) #42687457567f72c
] - src: include crypto in the bootstrap snapshot (Joyee Cheung) #42203aa7dc808f5
] - src: update ImportModuleDynamically (Camillo Bruni) #41610fa0439e66c
] - src: update NODE_MODULE_VERSION to 105 (Michaël Zasso) #416106ec1664dc8
] - src: update NODE_MODULE_VERSION to 104 (Michaël Zasso) #40907a706342368
] - src: add kNoBrowserGlobals flag for Environment (Cheng Zhao) #405320c57a37dd0
] - src,crypto: remove uses of AllocatedBuffer from crypto_tls.cc (Darshan Sen) #42589be01185844
] - src,inspector: fix empty MaybeLocal crash (Darshan Sen) #42409340b770d3f
] - stream: unify writableErrored and readableErrored (Robert Nagy) #4079919064bec34
] - test: delete test/pummel/test-repl-empty-maybelocal-crash.js (Darshan Sen) #427209d6af7d1fe
] - test: improveinternal/url.js
coverage (Yoshiki Kurihara) #42650d49df5ca8d
] - test: adapt message tests for V8 10.2 (Michaël Zasso) #42657c6b4e9604f
] - test: adapt test-worker-debug for V8 10.0 (Michaël Zasso) #426570854fce8bc
] - test: adapt test-v8-serdes for V8 9.9 (Michaël Zasso) #4265773d53fe9f5
] - test: only skip slow tests on Raspberry Pi devices (Richard Lau) #42645db7fa9f4b7
] - test: allow numeric string for lookupService test (Daeyeon Jeong) #425960525a147b2
] - test: remove an unnecessaryundefined
in wpt (Khaidi Chu) #41470bb762c5bd0
] - test: simplify test-http-write-callbacks.js (Tobias Nießen) #426281600869eb7
] - test: fix comments in test files (Daeyeon Jeong) #4253682181bb9b8
] - test: fix failure in test/sequential/test-heapdump.js (Darshan Sen) #41772ba5b5acaf1
] - test: improveworker_threads
coverage (Erick Wendel) #41818f076c36335
] - tools: update clang-format 1.6.0 to 1.7.0 (Rich Trott) #4272445162bf9e7
] - tools: update clang-format from 1.2.3 to 1.6.0 (Rich Trott) #4268540bc08089d
] - tools: update V8 gypfiles for 10.1 (Michaël Zasso) #4265709513cd1a3
] - tools: update eslint to 8.13.0 (Node.js GitHub Bot) #42678b99bb57416
] - tools: update gyp-next to v0.12.1 (Michaël Zasso) #426252468db1f53
] - tools: update lint-md-dependencies to @rollup/plugin-commonjs@21.0.3 (Node.js GitHub Bot) #425848a3f28a05c
] - tools: add v8-embedder-state-scope.h to distributed headers (Michaël Zasso) #4161030c4e1d952
] - tools: update V8 gypfiles for 9.8 (Michaël Zasso) #416101ad44094a2
] - tools: update V8 gypfiles for 9.7 (Michaël Zasso) #4090786b77f7d0f
] - tools,doc: use V8::DisposePlatform (Michaël Zasso) #4161062e62757b3
] - tools,test: fix V8 initialization order (Camillo Bruni) #426570187bc5cdc
] - v8: make v8.writeHeapSnapshot() error codes consistent (Darshan Sen) #4257774b9baa426
] - v8: make writeHeapSnapshot throw if fopen fails (Antonio Román) #41373