From 75864c17dec8a5d3df29dad995f8601f87b4d059 Mon Sep 17 00:00:00 2001 From: Marco Ippolito Date: Mon, 19 Aug 2024 10:01:30 +0200 Subject: [PATCH] 2024-08-21, Version 20.17.0 'Iron' (LTS) Notable changes: http: * (SEMVER-MINOR) add diagnostics channel `http.client.request.error` (Kohei Ueno) https://github.com/nodejs/node/pull/54054 meta: * add jake to collaborators (jakecastelli) https://github.com/nodejs/node/pull/54004 module: * (SEMVER-MINOR) support require()ing synchronous ESM graphs (Joyee Cheung) https://github.com/nodejs/node/pull/51977 path: * (SEMVER-MINOR) add `matchesGlob` method (Aviv Keller) https://github.com/nodejs/node/pull/52881 stream: * (SEMVER-MINOR) expose DuplexPair API (Austin Wright) https://github.com/nodejs/node/pull/34111 * (SEMVER-MINOR) implement `min` option for `ReadableStreamBYOBReader.read` (Mattias Buelens) https://github.com/nodejs/node/pull/50888 PR-URL: https://github.com/nodejs/node/pull/54447 --- CHANGELOG.md | 3 +- doc/api/cli.md | 4 +- doc/api/path.md | 2 +- doc/api/stream.md | 2 +- doc/api/tls.md | 2 +- doc/api/webcrypto.md | 2 +- doc/api/webstreams.md | 2 +- doc/changelogs/CHANGELOG_V20.md | 230 ++++++++++++++++++++++++++++++++ src/node_version.h | 6 +- 9 files changed, 242 insertions(+), 11 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e50fe779a66107..e99ca70d47bfd6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -35,7 +35,8 @@ release. -20.16.0
+20.17.0
+20.16.0
20.15.1
20.15.0
20.14.0
diff --git a/doc/api/cli.md b/doc/api/cli.md index 37b017f5adf90a..8f32a44ad41314 100644 --- a/doc/api/cli.md +++ b/doc/api/cli.md @@ -977,7 +977,7 @@ Use the specified file as a security policy. ### `--experimental-require-module` > Stability: 1.1 - Active Development @@ -1714,7 +1714,7 @@ Identical to `-e` but prints the result. ### `--experimental-print-required-tla` This flag is only useful when `--experimental-require-module` is enabled. diff --git a/doc/api/path.md b/doc/api/path.md index ef710106efd23b..f2240c396629ad 100644 --- a/doc/api/path.md +++ b/doc/api/path.md @@ -282,7 +282,7 @@ path.format({ ## `path.matchesGlob(path, pattern)` > Stability: 1 - Experimental diff --git a/doc/api/stream.md b/doc/api/stream.md index ef52f2d27a2570..f566558c97a0d2 100644 --- a/doc/api/stream.md +++ b/doc/api/stream.md @@ -2706,7 +2706,7 @@ further errors except from `_destroy()` may be emitted as `'error'`. #### `stream.duplexPair([options])` * `options` {Object} A value to pass to both [`Duplex`][] constructors, diff --git a/doc/api/tls.md b/doc/api/tls.md index c3712a2b8eb4d3..9aaf1819b674f8 100644 --- a/doc/api/tls.md +++ b/doc/api/tls.md @@ -1536,7 +1536,7 @@ protocol. ### `tlsSocket.setKeyCert(context)` * `context` {Object|tls.SecureContext} An object containing at least `key` and diff --git a/doc/api/webcrypto.md b/doc/api/webcrypto.md index 7198befe225600..86aa16b10fe74f 100644 --- a/doc/api/webcrypto.md +++ b/doc/api/webcrypto.md @@ -572,7 +572,7 @@ The algorithms currently supported include: diff --git a/doc/changelogs/CHANGELOG_V20.md b/doc/changelogs/CHANGELOG_V20.md index 8365ea06370d68..9c4aeebe29a527 100644 --- a/doc/changelogs/CHANGELOG_V20.md +++ b/doc/changelogs/CHANGELOG_V20.md @@ -9,6 +9,7 @@ +20.17.0
20.16.0
20.15.1
20.15.0
@@ -63,6 +64,235 @@ * [io.js](CHANGELOG_IOJS.md) * [Archive](CHANGELOG_ARCHIVE.md) + + +## 2024-08-21, Version 20.17.0 'Iron' (LTS), @marco-ippolito + +### module: support require()ing synchronous ESM graphs + +This release adds `require()` support for synchronous ESM graphs under +the flag `--experimental-require-module`. + +If `--experimental-require-module` is enabled, and the ECMAScript +module being loaded by `require()` meets the following requirements: + +* Explicitly marked as an ES module with a "type": "module" field in the closest package.json or a .mjs extension. +* Fully synchronous (contains no top-level await). + +`require()` will load the requested module as an ES Module, and return +the module name space object. In this case it is similar to dynamic +`import()` but is run synchronously and returns the name space object +directly. +We intend to eventually enable `require(esm)` by default in the future, without +the flag. + +Contributed by Joyee Cheung in [#51977](https://github.com/nodejs/node/pull/51977) + +### path: add `matchesGlob` method + +Glob patterns can now be tested against individual paths via the `path.matchesGlob(path, pattern)` method. + +Contributed by Aviv Keller in [#52881](https://github.com/nodejs/node/pull/52881) + +### stream: expose DuplexPair API + +The function `duplexPair` returns an array with two items, +each being a `Duplex` stream connected to the other side: + +```js +const [ sideA, sideB ] = duplexPair(); +``` + +Whatever is written to one stream is made readable on the other. It provides +behavior analogous to a network connection, where the data written by the client +becomes readable by the server, and vice-versa. + +Contributed by Austin Wright in [#34111](https://github.com/nodejs/node/pull/34111) + +### Other Notable Changes + +* \[[`c711c9881e`](https://github.com/nodejs/node/commit/c711c9881e)] - **(SEMVER-MINOR)** **http**: add diagnostics channel `http.client.request.error` (Kohei Ueno) [#54054](https://github.com/nodejs/node/pull/54054) +* \[[`7666b39d36`](https://github.com/nodejs/node/commit/7666b39d36)] - **meta**: add jake to collaborators (jakecastelli) [#54004](https://github.com/nodejs/node/pull/54004) +* \[[`4a3ecbfc9b`](https://github.com/nodejs/node/commit/4a3ecbfc9b)] - **(SEMVER-MINOR)** **stream**: implement `min` option for `ReadableStreamBYOBReader.read` (Mattias Buelens) [#50888](https://github.com/nodejs/node/pull/50888) + +### Commits + +* \[[`64ca1382eb`](https://github.com/nodejs/node/commit/64ca1382eb)] - **assert**: use isError instead of instanceof in innerOk (Pietro Marchini) [#53980](https://github.com/nodejs/node/pull/53980) +* \[[`81460fbd6c`](https://github.com/nodejs/node/commit/81460fbd6c)] - **benchmark**: add cpSync benchmark (Yagiz Nizipli) [#53612](https://github.com/nodejs/node/pull/53612) +* \[[`31edc0384b`](https://github.com/nodejs/node/commit/31edc0384b)] - **bootstrap**: print `--help` message using `console.log` (Jacob Hummer) [#51463](https://github.com/nodejs/node/pull/51463) +* \[[`81299e9aa1`](https://github.com/nodejs/node/commit/81299e9aa1)] - **build**: update gcovr to 7.2 and codecov config (Benjamin E. Coe) [#54019](https://github.com/nodejs/node/pull/54019) +* \[[`39139d5c4f`](https://github.com/nodejs/node/commit/39139d5c4f)] - **build**: ensure v8\_pointer\_compression\_sandbox is enabled on 64bit (Shelley Vohr) [#53884](https://github.com/nodejs/node/pull/53884) +* \[[`19c65cbdc5`](https://github.com/nodejs/node/commit/19c65cbdc5)] - **build**: trigger coverage ci when updating codecov (Yagiz Nizipli) [#53929](https://github.com/nodejs/node/pull/53929) +* \[[`bcba81dda6`](https://github.com/nodejs/node/commit/bcba81dda6)] - **build**: update codecov coverage build count (Yagiz Nizipli) [#53929](https://github.com/nodejs/node/pull/53929) +* \[[`bcbb1c6e68`](https://github.com/nodejs/node/commit/bcbb1c6e68)] - **build**: disable test-asan workflow (Michaël Zasso) [#53844](https://github.com/nodejs/node/pull/53844) +* \[[`6bb9afc81c`](https://github.com/nodejs/node/commit/6bb9afc81c)] - **build**: fix build warning of c-ares under GN build (Cheng) [#53750](https://github.com/nodejs/node/pull/53750) +* \[[`6fa53fd3bc`](https://github.com/nodejs/node/commit/6fa53fd3bc)] - **build**: fix mac build error of c-ares under GN (Cheng) [#53687](https://github.com/nodejs/node/pull/53687) +* \[[`80753d8864`](https://github.com/nodejs/node/commit/80753d8864)] - **build**: add version-specific library path for AIX (Richard Lau) [#53585](https://github.com/nodejs/node/pull/53585) +* \[[`7620e5e71c`](https://github.com/nodejs/node/commit/7620e5e71c)] - **build, tools**: drop leading `/` from `r2dir` (Richard Lau) [#53951](https://github.com/nodejs/node/pull/53951) +* \[[`69cc905b44`](https://github.com/nodejs/node/commit/69cc905b44)] - **build,tools**: simplify upload of shasum signatures (Michaël Zasso) [#53892](https://github.com/nodejs/node/pull/53892) +* \[[`77c71b674e`](https://github.com/nodejs/node/commit/77c71b674e)] - **child\_process**: fix incomplete prototype pollution hardening (Liran Tal) [#53781](https://github.com/nodejs/node/pull/53781) +* \[[`1b1e7b306e`](https://github.com/nodejs/node/commit/1b1e7b306e)] - **cli**: document `--inspect` port `0` behavior (Aviv Keller) [#53782](https://github.com/nodejs/node/pull/53782) +* \[[`086718b338`](https://github.com/nodejs/node/commit/086718b338)] - **cli**: update `node.1` to reflect Atom's sunset (Aviv Keller) [#53734](https://github.com/nodejs/node/pull/53734) +* \[[`00de1d2714`](https://github.com/nodejs/node/commit/00de1d2714)] - **crypto**: avoid std::function (Tobias Nießen) [#53683](https://github.com/nodejs/node/pull/53683) +* \[[`f4d841c601`](https://github.com/nodejs/node/commit/f4d841c601)] - **crypto**: make deriveBits length parameter optional and nullable (Filip Skokan) [#53601](https://github.com/nodejs/node/pull/53601) +* \[[`f0bc694b2d`](https://github.com/nodejs/node/commit/f0bc694b2d)] - **crypto**: avoid taking ownership of OpenSSL objects (Tobias Nießen) [#53460](https://github.com/nodejs/node/pull/53460) +* \[[`91dea2154c`](https://github.com/nodejs/node/commit/91dea2154c)] - **deps**: update corepack to 0.29.3 (Node.js GitHub Bot) [#54072](https://github.com/nodejs/node/pull/54072) +* \[[`6b8533482b`](https://github.com/nodejs/node/commit/6b8533482b)] - **deps**: update c-ares to v1.32.3 (Node.js GitHub Bot) [#54020](https://github.com/nodejs/node/pull/54020) +* \[[`98684af9ef`](https://github.com/nodejs/node/commit/98684af9ef)] - **deps**: update c-ares to v1.32.2 (Node.js GitHub Bot) [#53865](https://github.com/nodejs/node/pull/53865) +* \[[`f4034748ec`](https://github.com/nodejs/node/commit/f4034748ec)] - **deps**: update googletest to 4b21f1a (Node.js GitHub Bot) [#53842](https://github.com/nodejs/node/pull/53842) +* \[[`ed2e100a53`](https://github.com/nodejs/node/commit/ed2e100a53)] - **deps**: update minimatch to 10.0.1 (Node.js GitHub Bot) [#53841](https://github.com/nodejs/node/pull/53841) +* \[[`eba0fc354e`](https://github.com/nodejs/node/commit/eba0fc354e)] - **deps**: update corepack to 0.29.2 (Node.js GitHub Bot) [#53838](https://github.com/nodejs/node/pull/53838) +* \[[`18d6a96225`](https://github.com/nodejs/node/commit/18d6a96225)] - **deps**: update simdutf to 5.3.0 (Node.js GitHub Bot) [#53837](https://github.com/nodejs/node/pull/53837) +* \[[`3625a3e63c`](https://github.com/nodejs/node/commit/3625a3e63c)] - **deps**: update ada to 2.9.0 (Node.js GitHub Bot) [#53748](https://github.com/nodejs/node/pull/53748) +* \[[`680d08b64f`](https://github.com/nodejs/node/commit/680d08b64f)] - **deps**: upgrade npm to 10.8.2 (npm team) [#53799](https://github.com/nodejs/node/pull/53799) +* \[[`06683bdd5b`](https://github.com/nodejs/node/commit/06683bdd5b)] - **deps**: update googletest to 34ad51b (Node.js GitHub Bot) [#53157](https://github.com/nodejs/node/pull/53157) +* \[[`5ad13ce562`](https://github.com/nodejs/node/commit/5ad13ce562)] - **deps**: update googletest to 305e5a2 (Node.js GitHub Bot) [#53157](https://github.com/nodejs/node/pull/53157) +* \[[`27d01cf833`](https://github.com/nodejs/node/commit/27d01cf833)] - **deps**: update c-ares to v1.32.1 (Node.js GitHub Bot) [#53753](https://github.com/nodejs/node/pull/53753) +* \[[`de3f938ad5`](https://github.com/nodejs/node/commit/de3f938ad5)] - **deps**: update minimatch to 9.0.5 (Node.js GitHub Bot) [#53646](https://github.com/nodejs/node/pull/53646) +* \[[`d553d4d99e`](https://github.com/nodejs/node/commit/d553d4d99e)] - **deps**: update c-ares to v1.32.0 (Node.js GitHub Bot) [#53722](https://github.com/nodejs/node/pull/53722) +* \[[`3547eeed6c`](https://github.com/nodejs/node/commit/3547eeed6c)] - **doc**: move numCPUs require to top of file in cluster CJS example (Alfredo González) [#53932](https://github.com/nodejs/node/pull/53932) +* \[[`83b9f90f06`](https://github.com/nodejs/node/commit/83b9f90f06)] - **doc**: update security-release process to automated one (Rafael Gonzaga) [#53877](https://github.com/nodejs/node/pull/53877) +* \[[`f74df51b3a`](https://github.com/nodejs/node/commit/f74df51b3a)] - **doc**: fix typo in technical-priorities.md (YoonSoo\_Shin) [#54094](https://github.com/nodejs/node/pull/54094) +* \[[`8ac9340b98`](https://github.com/nodejs/node/commit/8ac9340b98)] - **doc**: fix typo in diagnostic tooling support tiers document (Taejin Kim) [#54058](https://github.com/nodejs/node/pull/54058) +* \[[`b14a65d015`](https://github.com/nodejs/node/commit/b14a65d015)] - **doc**: move GeoffreyBooth to TSC regular member (Geoffrey Booth) [#54047](https://github.com/nodejs/node/pull/54047) +* \[[`906f5fcbf1`](https://github.com/nodejs/node/commit/906f5fcbf1)] - **doc**: fix typo in recognizing-contributors (Marco Ippolito) [#53990](https://github.com/nodejs/node/pull/53990) +* \[[`6359ea4bf3`](https://github.com/nodejs/node/commit/6359ea4bf3)] - **doc**: update boxstarter README (Aviv Keller) [#53785](https://github.com/nodejs/node/pull/53785) +* \[[`1c14cc70a5`](https://github.com/nodejs/node/commit/1c14cc70a5)] - **doc**: add info about prefix-only modules to `module.builtinModules` (Grigory) [#53954](https://github.com/nodejs/node/pull/53954) +* \[[`baeddda334`](https://github.com/nodejs/node/commit/baeddda334)] - **doc**: remove `scroll-behavior: smooth;` (Cloyd Lau) [#53942](https://github.com/nodejs/node/pull/53942) +* \[[`9adbe8f53f`](https://github.com/nodejs/node/commit/9adbe8f53f)] - **doc**: move --test-coverage-{ex,in}clude to proper location (Colin Ihrig) [#53926](https://github.com/nodejs/node/pull/53926) +* \[[`06246178c8`](https://github.com/nodejs/node/commit/06246178c8)] - **doc**: update `api_assets` README for new files (Aviv Keller) [#53676](https://github.com/nodejs/node/pull/53676) +* \[[`fe03084f50`](https://github.com/nodejs/node/commit/fe03084f50)] - **doc**: add MattiasBuelens to collaborators (Mattias Buelens) [#53895](https://github.com/nodejs/node/pull/53895) +* \[[`dbfb46bf9d`](https://github.com/nodejs/node/commit/dbfb46bf9d)] - **doc**: fix casing of GitHub handle for two collaborators (Antoine du Hamel) [#53857](https://github.com/nodejs/node/pull/53857) +* \[[`63a39d5419`](https://github.com/nodejs/node/commit/63a39d5419)] - **doc**: update release-post nodejs.org script (Rafael Gonzaga) [#53762](https://github.com/nodejs/node/pull/53762) +* \[[`e31f97b73e`](https://github.com/nodejs/node/commit/e31f97b73e)] - **doc**: move MylesBorins to emeritus (Myles Borins) [#53760](https://github.com/nodejs/node/pull/53760) +* \[[`b66d68b982`](https://github.com/nodejs/node/commit/b66d68b982)] - **doc**: add Rafael to the last security release (Rafael Gonzaga) [#53769](https://github.com/nodejs/node/pull/53769) +* \[[`4d5d8b44cf`](https://github.com/nodejs/node/commit/4d5d8b44cf)] - **doc**: use mock.callCount() in examples (Sébastien Règne) [#53754](https://github.com/nodejs/node/pull/53754) +* \[[`d040fff9dc`](https://github.com/nodejs/node/commit/d040fff9dc)] - **doc**: clarify authenticity of plaintexts in update (Tobias Nießen) [#53784](https://github.com/nodejs/node/pull/53784) +* \[[`743f4d995b`](https://github.com/nodejs/node/commit/743f4d995b)] - **doc**: add option to have support me link (Michael Dawson) [#53312](https://github.com/nodejs/node/pull/53312) +* \[[`b554b6b3ca`](https://github.com/nodejs/node/commit/b554b6b3ca)] - **doc**: update `scroll-padding-top` to 4rem (Cloyd Lau) [#53662](https://github.com/nodejs/node/pull/53662) +* \[[`4b0517ce8a`](https://github.com/nodejs/node/commit/4b0517ce8a)] - **doc**: mention v8.setFlagsFromString to pm (Rafael Gonzaga) [#53731](https://github.com/nodejs/node/pull/53731) +* \[[`3a80f75c62`](https://github.com/nodejs/node/commit/3a80f75c62)] - **doc**: remove the last \
 tag (Claudio W) [#53741](https://github.com/nodejs/node/pull/53741)
+* \[[`85ad5b0e7e`](https://github.com/nodejs/node/commit/85ad5b0e7e)] - **doc**: exclude voting and regular TSC from spotlight (Michael Dawson) [#53694](https://github.com/nodejs/node/pull/53694)
+* \[[`f94d793b19`](https://github.com/nodejs/node/commit/f94d793b19)] - **doc**: fix releases guide for recent Git versions (Michaël Zasso) [#53709](https://github.com/nodejs/node/pull/53709)
+* \[[`ced401473c`](https://github.com/nodejs/node/commit/ced401473c)] - **doc**: require `node:process` in assert doc examples (Alfredo González) [#53702](https://github.com/nodejs/node/pull/53702)
+* \[[`a2271925de`](https://github.com/nodejs/node/commit/a2271925de)] - **doc**: add additional explanation to the wildcard section in permissions (jakecastelli) [#53664](https://github.com/nodejs/node/pull/53664)
+* \[[`158c0daa70`](https://github.com/nodejs/node/commit/158c0daa70)] - **doc**: mark NODE\_MODULE\_VERSION for Node.js 22.0.0 (Michaël Zasso) [#53650](https://github.com/nodejs/node/pull/53650)
+* \[[`4e912b4821`](https://github.com/nodejs/node/commit/4e912b4821)] - **doc**: include node.module\_timer on available categories (Vinicius Lourenço) [#53638](https://github.com/nodejs/node/pull/53638)
+* \[[`6477ed51e9`](https://github.com/nodejs/node/commit/6477ed51e9)] - **doc**: fix module customization hook examples (Elliot Goodrich) [#53637](https://github.com/nodejs/node/pull/53637)
+* \[[`06a6bd894d`](https://github.com/nodejs/node/commit/06a6bd894d)] - **doc**: fix doc for correct usage with plan & TestContext (Emil Tayeb) [#53615](https://github.com/nodejs/node/pull/53615)
+* \[[`2dff63cb79`](https://github.com/nodejs/node/commit/2dff63cb79)] - **doc**: remove some news issues that are no longer (Michael Dawson) [#53608](https://github.com/nodejs/node/pull/53608)
+* \[[`3edb312dfa`](https://github.com/nodejs/node/commit/3edb312dfa)] - **doc**: add issue for news from ambassadors (Michael Dawson) [#53607](https://github.com/nodejs/node/pull/53607)
+* \[[`48321032c2`](https://github.com/nodejs/node/commit/48321032c2)] - **doc**: add esm example for os (Leonardo Peixoto) [#53604](https://github.com/nodejs/node/pull/53604)
+* \[[`97c106cd99`](https://github.com/nodejs/node/commit/97c106cd99)] - **doc**: clarify usage of coverage reporters (Eliphaz Bouye) [#53523](https://github.com/nodejs/node/pull/53523)
+* \[[`de91d07cc1`](https://github.com/nodejs/node/commit/de91d07cc1)] - **doc**: document addition testing options (Aviv Keller) [#53569](https://github.com/nodejs/node/pull/53569)
+* \[[`2944c3e105`](https://github.com/nodejs/node/commit/2944c3e105)] - **doc**: clarify that fs.exists() may return false for existing symlink (Tobias Nießen) [#53566](https://github.com/nodejs/node/pull/53566)
+* \[[`53f4241b16`](https://github.com/nodejs/node/commit/53f4241b16)] - **doc**: note http.closeAllConnections excludes upgraded sockets (Rob Hogan) [#53560](https://github.com/nodejs/node/pull/53560)
+* \[[`b42d1ca8d4`](https://github.com/nodejs/node/commit/b42d1ca8d4)] - **doc**: fix typo (EhsanKhaki) [#53397](https://github.com/nodejs/node/pull/53397)
+* \[[`7ecf507031`](https://github.com/nodejs/node/commit/7ecf507031)] - **doc, meta**: add PTAL to glossary (Aviv Keller) [#53770](https://github.com/nodejs/node/pull/53770)
+* \[[`3744a88bc3`](https://github.com/nodejs/node/commit/3744a88bc3)] - **doc, test**: tracing channel hasSubscribers getter (Thomas Hunter II) [#52908](https://github.com/nodejs/node/pull/52908)
+* \[[`b04f61de6f`](https://github.com/nodejs/node/commit/b04f61de6f)] - **doc, typings**: events.once accepts symbol event type (René) [#53542](https://github.com/nodejs/node/pull/53542)
+* \[[`2f53640ab1`](https://github.com/nodejs/node/commit/2f53640ab1)] - **doc,tty**: add documentation for ReadStream and WriteStream (jakecastelli) [#53567](https://github.com/nodejs/node/pull/53567)
+* \[[`b81472d88a`](https://github.com/nodejs/node/commit/b81472d88a)] - **esm**: move hooks test with others (Geoffrey Booth) [#53558](https://github.com/nodejs/node/pull/53558)
+* \[[`fa3ecee50a`](https://github.com/nodejs/node/commit/fa3ecee50a)] - **fs**: ensure consistency for mkdtemp in both fs and fs/promises (YieldRay) [#53776](https://github.com/nodejs/node/pull/53776)
+* \[[`c711c9881e`](https://github.com/nodejs/node/commit/c711c9881e)] - **(SEMVER-MINOR)** **http**: add diagnostics channel `http.client.request.error` (Kohei Ueno) [#54054](https://github.com/nodejs/node/pull/54054)
+* \[[`77dbf17e24`](https://github.com/nodejs/node/commit/77dbf17e24)] - **lib**: optimize copyError with ObjectAssign in primordials (HEESEUNG) [#53999](https://github.com/nodejs/node/pull/53999)
+* \[[`8e5ed7c13a`](https://github.com/nodejs/node/commit/8e5ed7c13a)] - **lib**: improve cluster/primary code (Ehsan Khakifirooz) [#53756](https://github.com/nodejs/node/pull/53756)
+* \[[`b50817b471`](https://github.com/nodejs/node/commit/b50817b471)] - **lib**: improve error message when index not found on cjs (Vinicius Lourenço) [#53859](https://github.com/nodejs/node/pull/53859)
+* \[[`75b10cbb58`](https://github.com/nodejs/node/commit/75b10cbb58)] - **lib**: decorate async stack trace in source maps (Chengzhong Wu) [#53860](https://github.com/nodejs/node/pull/53860)
+* \[[`dae4db4e2d`](https://github.com/nodejs/node/commit/dae4db4e2d)] - **lib**: remove path.resolve from permissions.js (Rafael Gonzaga) [#53729](https://github.com/nodejs/node/pull/53729)
+* \[[`d0008624c9`](https://github.com/nodejs/node/commit/d0008624c9)] - **lib**: add toJSON to PerformanceMeasure (theanarkh) [#53603](https://github.com/nodejs/node/pull/53603)
+* \[[`3a2d8bffa5`](https://github.com/nodejs/node/commit/3a2d8bffa5)] - **lib**: convert WeakMaps in cjs loader with private symbol properties (Chengzhong Wu) [#52095](https://github.com/nodejs/node/pull/52095)
+* \[[`b7bdf90b9e`](https://github.com/nodejs/node/commit/b7bdf90b9e)] - **meta**: add `sqlite` to js subsystems (Alex Yang) [#53911](https://github.com/nodejs/node/pull/53911)
+* \[[`ab9dc53325`](https://github.com/nodejs/node/commit/ab9dc53325)] - **meta**: move tsc member to emeritus (Michael Dawson) [#54029](https://github.com/nodejs/node/pull/54029)
+* \[[`7666b39d36`](https://github.com/nodejs/node/commit/7666b39d36)] - **meta**: add jake to collaborators (jakecastelli) [#54004](https://github.com/nodejs/node/pull/54004)
+* \[[`4fb780130c`](https://github.com/nodejs/node/commit/4fb780130c)] - **meta**: remove license for hljs (Aviv Keller) [#53970](https://github.com/nodejs/node/pull/53970)
+* \[[`a38e82e41a`](https://github.com/nodejs/node/commit/a38e82e41a)] - **meta**: make more bug-report information required (Aviv Keller) [#53718](https://github.com/nodejs/node/pull/53718)
+* \[[`0a2755de4f`](https://github.com/nodejs/node/commit/0a2755de4f)] - **meta**: store actions secrets in environment (Aviv Keller) [#53930](https://github.com/nodejs/node/pull/53930)
+* \[[`fabbf15165`](https://github.com/nodejs/node/commit/fabbf15165)] - **meta**: move anonrig to tsc voting members (Yagiz Nizipli) [#53888](https://github.com/nodejs/node/pull/53888)
+* \[[`70f78de52e`](https://github.com/nodejs/node/commit/70f78de52e)] - **meta**: remove redudant logging from dep updaters (Aviv Keller) [#53783](https://github.com/nodejs/node/pull/53783)
+* \[[`23d776f154`](https://github.com/nodejs/node/commit/23d776f154)] - **meta**: change email address of anonrig (Yagiz Nizipli) [#53829](https://github.com/nodejs/node/pull/53829)
+* \[[`cbf493fc32`](https://github.com/nodejs/node/commit/cbf493fc32)] - **meta**: add `node_sqlite.c` to PR label config (Aviv Keller) [#53797](https://github.com/nodejs/node/pull/53797)
+* \[[`888012b852`](https://github.com/nodejs/node/commit/888012b852)] - **meta**: move one or more collaborators to emeritus (Node.js GitHub Bot) [#53758](https://github.com/nodejs/node/pull/53758)
+* \[[`8cff88131c`](https://github.com/nodejs/node/commit/8cff88131c)] - **meta**: use HTML entities in commit-queue comment (Aviv Keller) [#53744](https://github.com/nodejs/node/pull/53744)
+* \[[`413d129749`](https://github.com/nodejs/node/commit/413d129749)] - **meta**: move regular TSC member to emeritus (Michael Dawson) [#53693](https://github.com/nodejs/node/pull/53693)
+* \[[`33d06ab528`](https://github.com/nodejs/node/commit/33d06ab528)] - **meta**: bump codecov/codecov-action from 4.4.1 to 4.5.0 (dependabot\[bot]) [#53675](https://github.com/nodejs/node/pull/53675)
+* \[[`adb508f967`](https://github.com/nodejs/node/commit/adb508f967)] - **meta**: bump mozilla-actions/sccache-action from 0.0.4 to 0.0.5 (dependabot\[bot]) [#53674](https://github.com/nodejs/node/pull/53674)
+* \[[`f9439dc438`](https://github.com/nodejs/node/commit/f9439dc438)] - **meta**: bump github/codeql-action from 3.25.7 to 3.25.11 (dependabot\[bot]) [#53673](https://github.com/nodejs/node/pull/53673)
+* \[[`5c0c1b3cec`](https://github.com/nodejs/node/commit/5c0c1b3cec)] - **meta**: bump actions/checkout from 4.1.6 to 4.1.7 (dependabot\[bot]) [#53672](https://github.com/nodejs/node/pull/53672)
+* \[[`5b360e50d2`](https://github.com/nodejs/node/commit/5b360e50d2)] - **meta**: bump peter-evans/create-pull-request from 6.0.5 to 6.1.0 (dependabot\[bot]) [#53671](https://github.com/nodejs/node/pull/53671)
+* \[[`f8de9ac10e`](https://github.com/nodejs/node/commit/f8de9ac10e)] - **meta**: bump step-security/harden-runner from 2.8.0 to 2.8.1 (dependabot\[bot]) [#53670](https://github.com/nodejs/node/pull/53670)
+* \[[`e6a1bbb852`](https://github.com/nodejs/node/commit/e6a1bbb852)] - **meta**: move member from TSC regular to emeriti (Michael Dawson) [#53599](https://github.com/nodejs/node/pull/53599)
+* \[[`ef01f44f85`](https://github.com/nodejs/node/commit/ef01f44f85)] - **meta**: warnings bypass deprecation cycle (Benjamin Gruenbaum) [#53513](https://github.com/nodejs/node/pull/53513)
+* \[[`1b7ac690e0`](https://github.com/nodejs/node/commit/1b7ac690e0)] - **meta**: prevent constant references to issues in versioning (Aviv Keller) [#53564](https://github.com/nodejs/node/pull/53564)
+* \[[`7625dc4927`](https://github.com/nodejs/node/commit/7625dc4927)] - **module**: fix submodules loaded by require() and import() (Joyee Cheung) [#52487](https://github.com/nodejs/node/pull/52487)
+* \[[`6c4f4772e3`](https://github.com/nodejs/node/commit/6c4f4772e3)] - **module**: tidy code and comments (Jacob Smith) [#52437](https://github.com/nodejs/node/pull/52437)
+* \[[`51b88faeac`](https://github.com/nodejs/node/commit/51b88faeac)] - **module**: disallow CJS <-> ESM edges in a cycle from require(esm) (Joyee Cheung) [#52264](https://github.com/nodejs/node/pull/52264)
+* \[[`4dae68ced4`](https://github.com/nodejs/node/commit/4dae68ced4)] - **module**: centralize SourceTextModule compilation for builtin loader (Joyee Cheung) [#52291](https://github.com/nodejs/node/pull/52291)
+* \[[`cad46afc07`](https://github.com/nodejs/node/commit/cad46afc07)] - **(SEMVER-MINOR)** **module**: support require()ing synchronous ESM graphs (Joyee Cheung) [#51977](https://github.com/nodejs/node/pull/51977)
+* \[[`b4b456ff20`](https://github.com/nodejs/node/commit/b4b456ff20)] - **node-api**: add property keys benchmark (Chengzhong Wu) [#54012](https://github.com/nodejs/node/pull/54012)
+* \[[`5bbe50c4b0`](https://github.com/nodejs/node/commit/5bbe50c4b0)] - **node-api**: rename nogc to basic (Gabriel Schulhof) [#53830](https://github.com/nodejs/node/pull/53830)
+* \[[`f3e37b8365`](https://github.com/nodejs/node/commit/f3e37b8365)] - **(SEMVER-MINOR)** **path**: add `matchesGlob` method (Aviv Keller) [#52881](https://github.com/nodejs/node/pull/52881)
+* \[[`94a78a86bc`](https://github.com/nodejs/node/commit/94a78a86bc)] - **process**: unify experimental warning messages (Aviv Keller) [#53704](https://github.com/nodejs/node/pull/53704)
+* \[[`f7bfa6546a`](https://github.com/nodejs/node/commit/f7bfa6546a)] - **src**: expose LookupAndCompile with parameters (Shelley Vohr) [#53886](https://github.com/nodejs/node/pull/53886)
+* \[[`8ea4d86756`](https://github.com/nodejs/node/commit/8ea4d86756)] - **src**: simplify AESCipherTraits::AdditionalConfig (Tobias Nießen) [#53890](https://github.com/nodejs/node/pull/53890)
+* \[[`a72c445748`](https://github.com/nodejs/node/commit/a72c445748)] - **src**: fix -Wshadow warning (Shelley Vohr) [#53885](https://github.com/nodejs/node/pull/53885)
+* \[[`bef95d218a`](https://github.com/nodejs/node/commit/bef95d218a)] - **src**: fix slice of slice of file-backed Blob (Josh Lee) [#53972](https://github.com/nodejs/node/pull/53972)
+* \[[`7e17ac4f04`](https://github.com/nodejs/node/commit/7e17ac4f04)] - **src**: cache invariant code motion (Rafael Gonzaga) [#53879](https://github.com/nodejs/node/pull/53879)
+* \[[`ad43a6f46f`](https://github.com/nodejs/node/commit/ad43a6f46f)] - **src**: avoid strcmp in ImportJWKAsymmetricKey (Tobias Nießen) [#53813](https://github.com/nodejs/node/pull/53813)
+* \[[`023cf12dc6`](https://github.com/nodejs/node/commit/023cf12dc6)] - **src**: replace ToLocalChecked uses with ToLocal in node-file (James M Snell) [#53869](https://github.com/nodejs/node/pull/53869)
+* \[[`ae76301cb9`](https://github.com/nodejs/node/commit/ae76301cb9)] - **src**: fix env-file flag to ignore spaces before quotes (Mohit Malhotra) [#53786](https://github.com/nodejs/node/pull/53786)
+* \[[`bd19eb3aad`](https://github.com/nodejs/node/commit/bd19eb3aad)] - **src**: update outdated references to spec sections (Tobias Nießen) [#53832](https://github.com/nodejs/node/pull/53832)
+* \[[`35c85b46a3`](https://github.com/nodejs/node/commit/35c85b46a3)] - **src**: use Maybe\ in ManagedEVPPKey (Tobias Nießen) [#53811](https://github.com/nodejs/node/pull/53811)
+* \[[`c281dccab1`](https://github.com/nodejs/node/commit/c281dccab1)] - **src**: fix error handling in ExportJWKAsymmetricKey (Tobias Nießen) [#53767](https://github.com/nodejs/node/pull/53767)
+* \[[`741e016acf`](https://github.com/nodejs/node/commit/741e016acf)] - **src**: use Maybe\ in node::crypto::error (Tobias Nießen) [#53766](https://github.com/nodejs/node/pull/53766)
+* \[[`486ee887eb`](https://github.com/nodejs/node/commit/486ee887eb)] - **src**: fix typo in node.h (Daeyeon Jeong) [#53759](https://github.com/nodejs/node/pull/53759)
+* \[[`1aaa1cb29e`](https://github.com/nodejs/node/commit/1aaa1cb29e)] - **src**: document the Node.js context embedder data (Joyee Cheung) [#53611](https://github.com/nodejs/node/pull/53611)
+* \[[`9e3209b636`](https://github.com/nodejs/node/commit/9e3209b636)] - **src**: zero-initialize data that are copied into the snapshot (Joyee Cheung) [#53563](https://github.com/nodejs/node/pull/53563)
+* \[[`21f612bc98`](https://github.com/nodejs/node/commit/21f612bc98)] - **src**: fix Worker termination when '--inspect-brk' is passed (Daeyeon Jeong) [#53724](https://github.com/nodejs/node/pull/53724)
+* \[[`2c0d6b4904`](https://github.com/nodejs/node/commit/2c0d6b4904)] - **src**: remove ArrayBufferAllocator::Reallocate override (Shu-yu Guo) [#52910](https://github.com/nodejs/node/pull/52910)
+* \[[`b16bbd343f`](https://github.com/nodejs/node/commit/b16bbd343f)] - **src**: reduce unnecessary serialization of CLI options in C++ (Joyee Cheung) [#52451](https://github.com/nodejs/node/pull/52451)
+* \[[`ab6f22a1fc`](https://github.com/nodejs/node/commit/ab6f22a1fc)] - **src,lib**: expose getCategoryEnabledBuffer to use on node.http (Vinicius Lourenço) [#53602](https://github.com/nodejs/node/pull/53602)
+* \[[`0348b483b7`](https://github.com/nodejs/node/commit/0348b483b7)] - **src,test**: further cleanup references to osx (Daniel Bayley) [#53820](https://github.com/nodejs/node/pull/53820)
+* \[[`46bd712f60`](https://github.com/nodejs/node/commit/46bd712f60)] - **(SEMVER-MINOR)** **stream**: expose DuplexPair API (Austin Wright) [#34111](https://github.com/nodejs/node/pull/34111)
+* \[[`b358624154`](https://github.com/nodejs/node/commit/b358624154)] - **stream**: improve inspector ergonomics (Benjamin Gruenbaum) [#53800](https://github.com/nodejs/node/pull/53800)
+* \[[`9b82b15230`](https://github.com/nodejs/node/commit/9b82b15230)] - **stream**: update ongoing promise in async iterator return() method (Mattias Buelens) [#52657](https://github.com/nodejs/node/pull/52657)
+* \[[`4a3ecbfc9b`](https://github.com/nodejs/node/commit/4a3ecbfc9b)] - **(SEMVER-MINOR)** **stream**: implement `min` option for `ReadableStreamBYOBReader.read` (Mattias Buelens) [#50888](https://github.com/nodejs/node/pull/50888)
+* \[[`2c50f62f33`](https://github.com/nodejs/node/commit/2c50f62f33)] - **test**: do not swallow uncaughtException errors in exit code tests (Meghan Denny) [#54039](https://github.com/nodejs/node/pull/54039)
+* \[[`63a6542488`](https://github.com/nodejs/node/commit/63a6542488)] - **test**: move shared module to `test/common` (Rich Trott) [#54042](https://github.com/nodejs/node/pull/54042)
+* \[[`ed201c038a`](https://github.com/nodejs/node/commit/ed201c038a)] - **test**: skip sea tests with more accurate available disk space estimation (Chengzhong Wu) [#53996](https://github.com/nodejs/node/pull/53996)
+* \[[`f3162d572d`](https://github.com/nodejs/node/commit/f3162d572d)] - **test**: remove unnecessary console log (KAYYY) [#53812](https://github.com/nodejs/node/pull/53812)
+* \[[`6737383ff9`](https://github.com/nodejs/node/commit/6737383ff9)] - **test**: add comments and rename test for timer robustness (Rich Trott) [#54008](https://github.com/nodejs/node/pull/54008)
+* \[[`e91095040d`](https://github.com/nodejs/node/commit/e91095040d)] - **test**: add test for one arg timers to increase coverage (Carlos Espa) [#54007](https://github.com/nodejs/node/pull/54007)
+* \[[`c74b40ac92`](https://github.com/nodejs/node/commit/c74b40ac92)] - **test**: mark 'test/parallel/test-sqlite.js' as flaky (Colin Ihrig) [#54031](https://github.com/nodejs/node/pull/54031)
+* \[[`592e53da6e`](https://github.com/nodejs/node/commit/592e53da6e)] - **test**: mark test-pipe-file-to-http as flaky (jakecastelli) [#53751](https://github.com/nodejs/node/pull/53751)
+* \[[`10eb638ec3`](https://github.com/nodejs/node/commit/10eb638ec3)] - **test**: compare paths on Windows without considering case (Early Riser) [#53993](https://github.com/nodejs/node/pull/53993)
+* \[[`90557cce2c`](https://github.com/nodejs/node/commit/90557cce2c)] - **test**: skip sea tests in large debug builds (Chengzhong Wu) [#53918](https://github.com/nodejs/node/pull/53918)
+* \[[`5b0af4fb34`](https://github.com/nodejs/node/commit/5b0af4fb34)] - **test**: skip --title check on IBM i (Abdirahim Musse) [#53952](https://github.com/nodejs/node/pull/53952)
+* \[[`9ddcb16d4f`](https://github.com/nodejs/node/commit/9ddcb16d4f)] - **test**: reduce flakiness of `test-assert-esm-cjs-message-verify` (Antoine du Hamel) [#53967](https://github.com/nodejs/node/pull/53967)
+* \[[`06283da376`](https://github.com/nodejs/node/commit/06283da376)] - **test**: use `PYTHON` executable from env in `assertSnapshot` (Antoine du Hamel) [#53938](https://github.com/nodejs/node/pull/53938)
+* \[[`aa961719ae`](https://github.com/nodejs/node/commit/aa961719ae)] - **test**: deflake test-blob-file-backed (Luigi Pinca) [#53920](https://github.com/nodejs/node/pull/53920)
+* \[[`3ff42349d3`](https://github.com/nodejs/node/commit/3ff42349d3)] - **test**: un-set inspector-async-hook-setup-at-inspect-brk as flaky (Abdirahim Musse) [#53692](https://github.com/nodejs/node/pull/53692)
+* \[[`d38cb8857b`](https://github.com/nodejs/node/commit/d38cb8857b)] - **test**: use python3 instead of python in pummel test (Mathis Wiehl) [#53057](https://github.com/nodejs/node/pull/53057)
+* \[[`e953e1465e`](https://github.com/nodejs/node/commit/e953e1465e)] - **test**: do not assume cwd in snapshot tests (Antoine du Hamel) [#53146](https://github.com/nodejs/node/pull/53146)
+* \[[`187ee2478c`](https://github.com/nodejs/node/commit/187ee2478c)] - **test**: fix OpenSSL version checks (Richard Lau) [#53503](https://github.com/nodejs/node/pull/53503)
+* \[[`f0e0e83ae3`](https://github.com/nodejs/node/commit/f0e0e83ae3)] - **test**: refactor, add assertion to http-request-end (jakecastelli) [#53411](https://github.com/nodejs/node/pull/53411)
+* \[[`8999425333`](https://github.com/nodejs/node/commit/8999425333)] - **test\_runner**: switched to internal readline interface (Emil Tayeb) [#54000](https://github.com/nodejs/node/pull/54000)
+* \[[`c7e7f2c584`](https://github.com/nodejs/node/commit/c7e7f2c584)] - **test\_runner**: do not throw on mocked clearTimeout() (Aksinya Bykova) [#54005](https://github.com/nodejs/node/pull/54005)
+* \[[`d7ef388978`](https://github.com/nodejs/node/commit/d7ef388978)] - **test\_runner**: cleanup global event listeners after run (Eddie Abbondanzio) [#53878](https://github.com/nodejs/node/pull/53878)
+* \[[`2fa8ff9e71`](https://github.com/nodejs/node/commit/2fa8ff9e71)] - **test\_runner**: remove plan option from run() (Colin Ihrig) [#53834](https://github.com/nodejs/node/pull/53834)
+* \[[`f862f66eee`](https://github.com/nodejs/node/commit/f862f66eee)] - **tls**: add setKeyCert() to tls.Socket (Brian White) [#53636](https://github.com/nodejs/node/pull/53636)
+* \[[`61460c9afa`](https://github.com/nodejs/node/commit/61460c9afa)] - **tools**: fix `SLACK_TITLE` in invalid commit workflow (Antoine du Hamel) [#53912](https://github.com/nodejs/node/pull/53912)
+* \[[`d399973747`](https://github.com/nodejs/node/commit/d399973747)] - **tools**: update lint-md-dependencies (Node.js GitHub Bot) [#53840](https://github.com/nodejs/node/pull/53840)
+* \[[`39d9041791`](https://github.com/nodejs/node/commit/39d9041791)] - **tools**: use v8\_features.json to populate config.gypi (Cheng) [#53749](https://github.com/nodejs/node/pull/53749)
+* \[[`f9416937d1`](https://github.com/nodejs/node/commit/f9416937d1)] - **tools**: update lint-md-dependencies to unified\@11.0.5 (Node.js GitHub Bot) [#53555](https://github.com/nodejs/node/pull/53555)
+* \[[`1e66b22cae`](https://github.com/nodejs/node/commit/1e66b22cae)] - **tools**: replace reference to NodeMainInstance with SnapshotBuilder (codediverdev) [#53544](https://github.com/nodejs/node/pull/53544)
+* \[[`d6313257d6`](https://github.com/nodejs/node/commit/d6313257d6)] - **typings**: add `fs_dir` types (Yagiz Nizipli) [#53631](https://github.com/nodejs/node/pull/53631)
+* \[[`a72883bbd4`](https://github.com/nodejs/node/commit/a72883bbd4)] - **url**: fix typo (KAYYY) [#53827](https://github.com/nodejs/node/pull/53827)
+* \[[`4c94512970`](https://github.com/nodejs/node/commit/4c94512970)] - **url**: reduce unnecessary string copies (Yagiz Nizipli) [#53628](https://github.com/nodejs/node/pull/53628)
+* \[[`b14bc49be2`](https://github.com/nodejs/node/commit/b14bc49be2)] - **url**: add missing documentation for `URL.parse()` (Yagiz Nizipli) [#53733](https://github.com/nodejs/node/pull/53733)
+* \[[`45af825632`](https://github.com/nodejs/node/commit/45af825632)] - **util**: fix crashing when emitting new Buffer() deprecation warning #53075 (Aras Abbasi) [#53089](https://github.com/nodejs/node/pull/53089)
+* \[[`6d0f9a99dd`](https://github.com/nodejs/node/commit/6d0f9a99dd)] - **worker**: allow copied NODE\_OPTIONS in the env setting (Joyee Cheung) [#53596](https://github.com/nodejs/node/pull/53596)
+
 
 
 ## 2024-07-24, Version 20.16.0 'Iron' (LTS), @marco-ippolito
diff --git a/src/node_version.h b/src/node_version.h
index 1e08a59e7a2886..f04b4da3ed0f5c 100644
--- a/src/node_version.h
+++ b/src/node_version.h
@@ -23,13 +23,13 @@
 #define SRC_NODE_VERSION_H_
 
 #define NODE_MAJOR_VERSION 20
-#define NODE_MINOR_VERSION 16
-#define NODE_PATCH_VERSION 1
+#define NODE_MINOR_VERSION 17
+#define NODE_PATCH_VERSION 0
 
 #define NODE_VERSION_IS_LTS 1
 #define NODE_VERSION_LTS_CODENAME "Iron"
 
-#define NODE_VERSION_IS_RELEASE 0
+#define NODE_VERSION_IS_RELEASE 1
 
 #ifndef NODE_STRINGIFY
 #define NODE_STRINGIFY(n) NODE_STRINGIFY_HELPER(n)