stakater / Forecastle

Forecastle is a control panel which dynamically discovers and provides a launchpad to access applications deployed on Kubernetes – [✩Star] if you're using it!
https://stakater.com
Apache License 2.0
588 stars 59 forks source link

chore(deps): update node.js to v20 #369

Closed renovate[bot] closed 1 year ago

renovate[bot] commented 1 year ago

Mend Renovate

This PR contains the following updates:

Package Type Update Change
node stage major 12.22.12 -> 20.6.1
node stage major 16 -> 20

Release Notes

nodejs/node (node) ### [`v20.6.1`](https://togithub.com/nodejs/node/releases/tag/v20.6.1): 2023-09-08, Version 20.6.1 (Current), @​ruyadorno and @​RafaelGSS [Compare Source](https://togithub.com/nodejs/node/compare/v20.6.0...v20.6.1) ##### Commit - \[[`8acbe6d8e8`](https://togithub.com/nodejs/node/commit/8acbe6d8e8)] - **esm**: fix loading of CJS modules from ESM (Antoine du Hamel) [#​49500](https://togithub.com/nodejs/node/pull/49500) ### [`v20.6.0`](https://togithub.com/nodejs/node/releases/tag/v20.6.0): 2023-09-04, Version 20.6.0 (Current), @​juanarbol prepared by @​UlisesGascon [Compare Source](https://togithub.com/nodejs/node/compare/v20.5.1...v20.6.0) ##### 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: ```text 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](https://togithub.com/nodejs/node/pull/48890). ##### `import.meta.resolve` unflagged In ES modules, [`import.meta.resolve(specifier)`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/import.meta/resolve) 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](https://togithub.com/nodejs/node/pull/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`](https://nodejs.org/api/cli.html#--importmodule) with `register`, such as: ```bash 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](https://togithub.com/nodejs/node/pull/48842) and [#​48559](https://togithub.com/nodejs/node/pull/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](https://nodejs.org/api/cli.html#program-entry-point) (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](https://togithub.com/nodejs/node/pull/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](https://nodejs.org/en/docs/guides/abi-stability#abi-stability-in-nodejs) 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)`](https://togithub.com/nodejs/node/blob/v20.6.0/test/addons/cppgc-object/binding.cc) 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](https://togithub.com/nodejs/node/blob/v20.6.0/test/addons/cppgc-object/binding.cc). 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](https://v8.dev/blog/oilpan-library). This feature was contributed by Daryl Haresign and Joyee Cheung in [#​48660](https://togithub.com/nodejs/node/pull/48660) and [#​45704](https://togithub.com/nodejs/node/pull/45704). ##### Other notable changes - \[[`d6862b085c`](https://togithub.com/nodejs/node/commit/d6862b085c)] - **deps**: V8: cherry-pick [`9327503`](https://togithub.com/nodejs/node/commit/93275031284c) (Joyee Cheung) [#​48660](https://togithub.com/nodejs/node/pull/48660) - \[[`00fc8bb8b3`](https://togithub.com/nodejs/node/commit/00fc8bb8b3)] - **doc**: add rluvaton to collaborators (Raz Luvaton) [#​49215](https://togithub.com/nodejs/node/pull/49215) - \[[`d649339abd`](https://togithub.com/nodejs/node/commit/d649339abd)] - **doc**: add new TSC members (Michael Dawson) [#​48841](https://togithub.com/nodejs/node/pull/48841) - \[[`67f9896247`](https://togithub.com/nodejs/node/commit/67f9896247)] - **(SEMVER-MINOR)** **inspector**: open add `SymbolDispose` (Chemi Atlow) [#​48765](https://togithub.com/nodejs/node/pull/48765) - \[[`5aef593db3`](https://togithub.com/nodejs/node/commit/5aef593db3)] - **module**: implement `register` utility (João Lenon) [#​46826](https://togithub.com/nodejs/node/pull/46826) ##### Commits - \[[`771abcb5da`](https://togithub.com/nodejs/node/commit/771abcb5da)] - **benchmark**: add benchmarks for the test_runner (Raz Luvaton) [#​48931](https://togithub.com/nodejs/node/pull/48931) - \[[`6b27bb0dab`](https://togithub.com/nodejs/node/commit/6b27bb0dab)] - **benchmark**: add pm startup benchmark (Rafael Gonzaga) [#​48905](https://togithub.com/nodejs/node/pull/48905) - \[[`1f35c0ca55`](https://togithub.com/nodejs/node/commit/1f35c0ca55)] - **child_process**: harden against prototype pollution (Livia Medeiros) [#​48726](https://togithub.com/nodejs/node/pull/48726) - \[[`d6862b085c`](https://togithub.com/nodejs/node/commit/d6862b085c)] - **deps**: V8: cherry-pick [`9327503`](https://togithub.com/nodejs/node/commit/93275031284c) (Joyee Cheung) [#​48660](https://togithub.com/nodejs/node/pull/48660) - \[[`f71e383948`](https://togithub.com/nodejs/node/commit/f71e383948)] - **deps**: update simdutf to 3.2.17 (Node.js GitHub Bot) [#​49019](https://togithub.com/nodejs/node/pull/49019) - \[[`e14f0456ae`](https://togithub.com/nodejs/node/commit/e14f0456ae)] - **deps**: update googletest to [`7e33b6a`](https://togithub.com/nodejs/node/commit/7e33b6a) (Node.js GitHub Bot) [#​49034](https://togithub.com/nodejs/node/pull/49034) - \[[`bfaa0fb500`](https://togithub.com/nodejs/node/commit/bfaa0fb500)] - **deps**: update zlib to 1.2.13.1-motley-526382e (Node.js GitHub Bot) [#​49033](https://togithub.com/nodejs/node/pull/49033) - \[[`b79c652c85`](https://togithub.com/nodejs/node/commit/b79c652c85)] - **deps**: update undici to 5.23.0 (Node.js GitHub Bot) [#​49021](https://togithub.com/nodejs/node/pull/49021) - \[[`6ead86145c`](https://togithub.com/nodejs/node/commit/6ead86145c)] - **deps**: update googletest to [`c875c4e`](https://togithub.com/nodejs/node/commit/c875c4e) (Node.js GitHub Bot) [#​48964](https://togithub.com/nodejs/node/pull/48964) - \[[`4b0e50501e`](https://togithub.com/nodejs/node/commit/4b0e50501e)] - **deps**: update ada to 2.6.0 (Node.js GitHub Bot) [#​48896](https://togithub.com/nodejs/node/pull/48896) - \[[`d960ee0ba3`](https://togithub.com/nodejs/node/commit/d960ee0ba3)] - **deps**: upgrade npm to 9.8.1 (npm team) [#​48838](https://togithub.com/nodejs/node/pull/48838) - \[[`d92b0139ca`](https://togithub.com/nodejs/node/commit/d92b0139ca)] - **deps**: update zlib to 1.2.13.1-motley-61dc0bd (Node.js GitHub Bot) [#​48788](https://togithub.com/nodejs/node/pull/48788) - \[[`2a7835c376`](https://togithub.com/nodejs/node/commit/2a7835c376)] - **deps**: V8: cherry-pick [`9f4b769`](https://togithub.com/nodejs/node/commit/9f4b7699f68e) (Joyee Cheung) [#​48830](https://togithub.com/nodejs/node/pull/48830) - \[[`c8e17829ac`](https://togithub.com/nodejs/node/commit/c8e17829ac)] - **deps**: V8: cherry-pick [`c1a54d5`](https://togithub.com/nodejs/node/commit/c1a54d5ffcd1) (Joyee Cheung) [#​48830](https://togithub.com/nodejs/node/pull/48830) - \[[`318e075b6f`](https://togithub.com/nodejs/node/commit/318e075b6f)] - **deps**: update googletest to [`cc36671`](https://togithub.com/nodejs/node/commit/cc36671) (Node.js GitHub Bot) [#​48789](https://togithub.com/nodejs/node/pull/48789) - \[[`114e088267`](https://togithub.com/nodejs/node/commit/114e088267)] - **diagnostics_channel**: fix last subscriber removal (Gabriel Schulhof) [#​48933](https://togithub.com/nodejs/node/pull/48933) - \[[`00fc8bb8b3`](https://togithub.com/nodejs/node/commit/00fc8bb8b3)] - **doc**: add rluvaton to collaborators (Raz Luvaton) [#​49215](https://togithub.com/nodejs/node/pull/49215) - \[[`21949c45b6`](https://togithub.com/nodejs/node/commit/21949c45b6)] - **doc**: add print results for examples in `WebStreams` (Jungku Lee) [#​49143](https://togithub.com/nodejs/node/pull/49143) - \[[`032107a6fe`](https://togithub.com/nodejs/node/commit/032107a6fe)] - **doc**: fix `Type` notation in webstreams (Deokjin Kim) [#​49121](https://togithub.com/nodejs/node/pull/49121) - \[[`91d41e7c5a`](https://togithub.com/nodejs/node/commit/91d41e7c5a)] - **doc**: fix name of the flag in `initialize()` docs (Antoine du Hamel) [#​49158](https://togithub.com/nodejs/node/pull/49158) - \[[`aa4caf810e`](https://togithub.com/nodejs/node/commit/aa4caf810e)] - **doc**: make the NODE_VERSION_IS_RELEASE revert clear (Rafael Gonzaga) [#​49114](https://togithub.com/nodejs/node/pull/49114) - \[[`f888a1dbe3`](https://togithub.com/nodejs/node/commit/f888a1dbe3)] - **doc**: update process.binding deprecation text (Tobias Nießen) [#​49086](https://togithub.com/nodejs/node/pull/49086) - \[[`89fa3faf92`](https://togithub.com/nodejs/node/commit/89fa3faf92)] - **doc**: update with latest security release (Rafael Gonzaga) [#​49085](https://togithub.com/nodejs/node/pull/49085) - \[[`3d36e7a941`](https://togithub.com/nodejs/node/commit/3d36e7a941)] - **doc**: add description for `--port` flag of `node inspect` (Michael Bianco) [#​48785](https://togithub.com/nodejs/node/pull/48785) - \[[`e9d9ca12a3`](https://togithub.com/nodejs/node/commit/e9d9ca12a3)] - **doc**: add missing period (Rich Trott) [#​49094](https://togithub.com/nodejs/node/pull/49094) - \[[`7e7b554de0`](https://togithub.com/nodejs/node/commit/7e7b554de0)] - **doc**: add ESM examples in http.md (btea) [#​47763](https://togithub.com/nodejs/node/pull/47763) - \[[`48f8ccfd54`](https://togithub.com/nodejs/node/commit/48f8ccfd54)] - **doc**: detailed description of keystrokes Ctrl-Y and Meta-Y (Ray) [#​43529](https://togithub.com/nodejs/node/pull/43529) - \[[`195885c8f8`](https://togithub.com/nodejs/node/commit/195885c8f8)] - **doc**: add "type" to test runner event details (Phil Nash) [#​49014](https://togithub.com/nodejs/node/pull/49014) - \[[`6ce25f8415`](https://togithub.com/nodejs/node/commit/6ce25f8415)] - **doc**: reserve 118 for Electron 27 (David Sanders) [#​49023](https://togithub.com/nodejs/node/pull/49023) - \[[`9c26c0f296`](https://togithub.com/nodejs/node/commit/9c26c0f296)] - **doc**: clarify use of process.env in worker threads on Windows (Daeyeon Jeong) [#​49008](https://togithub.com/nodejs/node/pull/49008) - \[[`7186e02aa0`](https://togithub.com/nodejs/node/commit/7186e02aa0)] - **doc**: remove v14 mention (Rafael Gonzaga) [#​49005](https://togithub.com/nodejs/node/pull/49005) - \[[`9641ac6c65`](https://togithub.com/nodejs/node/commit/9641ac6c65)] - **doc**: drop github actions check in sec release process (Rafael Gonzaga) [#​48978](https://togithub.com/nodejs/node/pull/48978) - \[[`f3d62abb19`](https://togithub.com/nodejs/node/commit/f3d62abb19)] - **doc**: improved joinDuplicateHeaders definition (Matteo Bianchi) [#​48859](https://togithub.com/nodejs/node/pull/48859) - \[[`0db104a08b`](https://togithub.com/nodejs/node/commit/0db104a08b)] - **doc**: fix second parameter name of `events.addAbortListener` (Deokjin Kim) [#​48922](https://togithub.com/nodejs/node/pull/48922) - \[[`5173c559b7`](https://togithub.com/nodejs/node/commit/5173c559b7)] - **doc**: add new reporter events to custom reporter examples (Chemi Atlow) [#​48903](https://togithub.com/nodejs/node/pull/48903) - \[[`660da785e6`](https://togithub.com/nodejs/node/commit/660da785e6)] - **doc**: run license-builder (github-actions\[bot]) [#​48898](https://togithub.com/nodejs/node/pull/48898) - \[[`092f9fe92a`](https://togithub.com/nodejs/node/commit/092f9fe92a)] - **doc**: change duration to duration_ms on test documentation (Ardi_Nugraha) [#​48892](https://togithub.com/nodejs/node/pull/48892) - \[[`5e4730858d`](https://togithub.com/nodejs/node/commit/5e4730858d)] - **doc**: improve requireHostHeader (Guido Penta) [#​48860](https://togithub.com/nodejs/node/pull/48860) - \[[`045e3c549a`](https://togithub.com/nodejs/node/commit/045e3c549a)] - **doc**: add ver of 18.x where Node-api 9 is supported (Michael Dawson) [#​48876](https://togithub.com/nodejs/node/pull/48876) - \[[`c20d35df34`](https://togithub.com/nodejs/node/commit/c20d35df34)] - **doc**: include experimental features assessment (Rafael Gonzaga) [#​48824](https://togithub.com/nodejs/node/pull/48824) - \[[`d649339abd`](https://togithub.com/nodejs/node/commit/d649339abd)] - **doc**: add new TSC members (Michael Dawson) [#​48841](https://togithub.com/nodejs/node/pull/48841) - \[[`aeac327f2b`](https://togithub.com/nodejs/node/commit/aeac327f2b)] - **doc**: refactor node-api support matrix (Michael Dawson) [#​48774](https://togithub.com/nodejs/node/pull/48774) - \[[`388c7d9232`](https://togithub.com/nodejs/node/commit/388c7d9232)] - **doc**: declare `path` on example of `async_hooks.executionAsyncId()` (Deokjin Kim) [#​48556](https://togithub.com/nodejs/node/pull/48556) - \[[`fe20528c8e`](https://togithub.com/nodejs/node/commit/fe20528c8e)] - **doc**: remove the . in the end to reduce confusing (Jason) [#​48719](https://togithub.com/nodejs/node/pull/48719) - \[[`e69c8e173f`](https://togithub.com/nodejs/node/commit/e69c8e173f)] - **doc**: nodejs-social over nodejs/tweet (Rafael Gonzaga) [#​48769](https://togithub.com/nodejs/node/pull/48769) - \[[`ea547849fd`](https://togithub.com/nodejs/node/commit/ea547849fd)] - **doc**: expand on squashing and rebasing to land a PR (Chengzhong Wu) [#​48751](https://togithub.com/nodejs/node/pull/48751) - \[[`31442b96a5`](https://togithub.com/nodejs/node/commit/31442b96a5)] - **esm**: fix `globalPreload` warning (Antoine du Hamel) [#​49069](https://togithub.com/nodejs/node/pull/49069) - \[[`eb1215878b`](https://togithub.com/nodejs/node/commit/eb1215878b)] - **esm**: unflag import.meta.resolve (Guy Bedford) [#​49028](https://togithub.com/nodejs/node/pull/49028) - \[[`57b24a34e6`](https://togithub.com/nodejs/node/commit/57b24a34e6)] - **esm**: import.meta.resolve exact module not found errors should return (Guy Bedford) [#​49038](https://togithub.com/nodejs/node/pull/49038) - \[[`f23b2a3066`](https://togithub.com/nodejs/node/commit/f23b2a3066)] - **esm**: protect `ERR_UNSUPPORTED_DIR_IMPORT` against prototype pollution (Antoine du Hamel) [#​49060](https://togithub.com/nodejs/node/pull/49060) - \[[`386e826a56`](https://togithub.com/nodejs/node/commit/386e826a56)] - **esm**: add `initialize` hook, integrate with `register` (Izaak Schroeder) [#​48842](https://togithub.com/nodejs/node/pull/48842) - \[[`74a2e1e0ab`](https://togithub.com/nodejs/node/commit/74a2e1e0ab)] - **esm**: fix typo `parentUrl` -> `parentURL` (Antoine du Hamel) [#​48999](https://togithub.com/nodejs/node/pull/48999) - \[[`0a4f7c669a`](https://togithub.com/nodejs/node/commit/0a4f7c669a)] - **esm**: unflag `Module.register` and allow nested loader `import()` (Izaak Schroeder) [#​48559](https://togithub.com/nodejs/node/pull/48559) - \[[`a5597470ce`](https://togithub.com/nodejs/node/commit/a5597470ce)] - **esm**: add back `globalPreload` tests and fix failing ones (Antoine du Hamel) [#​48779](https://togithub.com/nodejs/node/pull/48779) - \[[`d568600b42`](https://togithub.com/nodejs/node/commit/d568600b42)] - **events**: remove weak listener for event target (Raz Luvaton) [#​48952](https://togithub.com/nodejs/node/pull/48952) - \[[`3d942d9842`](https://togithub.com/nodejs/node/commit/3d942d9842)] - **fs**: fix readdir recursive sync & callback (Ethan Arrowood) [#​48698](https://togithub.com/nodejs/node/pull/48698) - \[[`c14ff69d69`](https://togithub.com/nodejs/node/commit/c14ff69d69)] - **fs**: mention `URL` in NUL character error message (LiviaMedeiros) [#​48828](https://togithub.com/nodejs/node/pull/48828) - \[[`d634d781d7`](https://togithub.com/nodejs/node/commit/d634d781d7)] - **fs**: make `mkdtemp` accept buffers and URL (LiviaMedeiros) [#​48828](https://togithub.com/nodejs/node/pull/48828) - \[[`4515a285a4`](https://togithub.com/nodejs/node/commit/4515a285a4)] - **fs**: remove redundant `nullCheck` (Livia Medeiros) [#​48826](https://togithub.com/nodejs/node/pull/48826) - \[[`742597b14a`](https://togithub.com/nodejs/node/commit/742597b14a)] - **http**: start connections checking interval on listen (Paolo Insogna) [#​48611](https://togithub.com/nodejs/node/pull/48611) - \[[`67f9896247`](https://togithub.com/nodejs/node/commit/67f9896247)] - **(SEMVER-MINOR)** **inspector**: open add `SymbolDispose` (Chemi Atlow) [#​48765](https://togithub.com/nodejs/node/pull/48765) - \[[`b66a3c1c96`](https://togithub.com/nodejs/node/commit/b66a3c1c96)] - **lib**: fix MIME overmatch in data URLs (André Alves) [#​49104](https://togithub.com/nodejs/node/pull/49104) - \[[`dca8678a22`](https://togithub.com/nodejs/node/commit/dca8678a22)] - **lib**: fix to add resolve() before return at Blob.stream()'s source.pull() (bellbind) [#​48935](https://togithub.com/nodejs/node/pull/48935) - \[[`420b85c00f`](https://togithub.com/nodejs/node/commit/420b85c00f)] - **lib**: remove invalid parameter to toASCII (Yagiz Nizipli) [#​48878](https://togithub.com/nodejs/node/pull/48878) - \[[`a12ce11b09`](https://togithub.com/nodejs/node/commit/a12ce11b09)] - **lib,permission**: drop repl autocomplete when pm enabled (Rafael Gonzaga) [#​48920](https://togithub.com/nodejs/node/pull/48920) - \[[`458eaf5e75`](https://togithub.com/nodejs/node/commit/458eaf5e75)] - **meta**: bump github/codeql-action from 2.20.1 to 2.21.2 (dependabot\[bot]) [#​48986](https://togithub.com/nodejs/node/pull/48986) - \[[`4f88cb10e0`](https://togithub.com/nodejs/node/commit/4f88cb10e0)] - **meta**: bump step-security/harden-runner from 2.4.1 to 2.5.0 (dependabot\[bot]) [#​48985](https://togithub.com/nodejs/node/pull/48985) - \[[`22fc2a6ec6`](https://togithub.com/nodejs/node/commit/22fc2a6ec6)] - **meta**: bump actions/setup-node from 3.6.0 to 3.7.0 (dependabot\[bot]) [#​48984](https://togithub.com/nodejs/node/pull/48984) - \[[`40103adabd`](https://togithub.com/nodejs/node/commit/40103adabd)] - **meta**: bump actions/setup-python from 4.6.1 to 4.7.0 (dependabot\[bot]) [#​48983](https://togithub.com/nodejs/node/pull/48983) - \[[`84c0c6848c`](https://togithub.com/nodejs/node/commit/84c0c6848c)] - **meta**: add mailmap entry for atlowChemi (Chemi Atlow) [#​48810](https://togithub.com/nodejs/node/pull/48810) - \[[`1a6e9450b8`](https://togithub.com/nodejs/node/commit/1a6e9450b8)] - **module**: make CJS load from ESM loader (Antoine du Hamel) [#​47999](https://togithub.com/nodejs/node/pull/47999) - \[[`a5322c4b4a`](https://togithub.com/nodejs/node/commit/a5322c4b4a)] - **module**: ensure successful import returns the same result (Antoine du Hamel) [#​46662](https://togithub.com/nodejs/node/pull/46662) - \[[`5aef593db3`](https://togithub.com/nodejs/node/commit/5aef593db3)] - **module**: implement `register` utility (João Lenon) [#​46826](https://togithub.com/nodejs/node/pull/46826) - \[[`015c4f788d`](https://togithub.com/nodejs/node/commit/015c4f788d)] - **node-api**: avoid macro redefinition (Tobias Nießen) [#​48879](https://togithub.com/nodejs/node/pull/48879) - \[[`53ee98566b`](https://togithub.com/nodejs/node/commit/53ee98566b)] - **permission**: move PrintTree into unnamed namespace (Tobias Nießen) [#​48874](https://togithub.com/nodejs/node/pull/48874) - \[[`30ea480135`](https://togithub.com/nodejs/node/commit/30ea480135)] - **permission**: fix data types in PrintTree (Tobias Nießen) [#​48770](https://togithub.com/nodejs/node/pull/48770) - \[[`8380800375`](https://togithub.com/nodejs/node/commit/8380800375)] - **readline**: add paste bracket mode (Jakub Jankiewicz) [#​47150](https://togithub.com/nodejs/node/pull/47150) - \[[`bc009d0c10`](https://togithub.com/nodejs/node/commit/bc009d0c10)] - **sea**: add support for V8 bytecode-only caching (Darshan Sen) [#​48191](https://togithub.com/nodejs/node/pull/48191) - \[[`f2f4ce9e29`](https://togithub.com/nodejs/node/commit/f2f4ce9e29)] - **src**: use effective cppgc wrapper id to deduce non-cppgc id (Joyee Cheung) [#​48660](https://togithub.com/nodejs/node/pull/48660) - \[[`bf7ff369f6`](https://togithub.com/nodejs/node/commit/bf7ff369f6)] - **src**: add built-in `.env` file support (Yagiz Nizipli) [#​48890](https://togithub.com/nodejs/node/pull/48890) - \[[`8d6948f8e2`](https://togithub.com/nodejs/node/commit/8d6948f8e2)] - **src**: remove duplicated code in `GenerateSingleExecutableBlob()` (Jungku Lee) [#​49119](https://togithub.com/nodejs/node/pull/49119) - \[[`b030004cee`](https://togithub.com/nodejs/node/commit/b030004cee)] - **src**: refactor vector writing in snapshot builder (Joyee Cheung) [#​48851](https://togithub.com/nodejs/node/pull/48851) - \[[`497df8288d`](https://togithub.com/nodejs/node/commit/497df8288d)] - **src**: add ability to overload fast api functions (Yagiz Nizipli) [#​48993](https://togithub.com/nodejs/node/pull/48993) - \[[`e5b0dfa359`](https://togithub.com/nodejs/node/commit/e5b0dfa359)] - **src**: remove redundant code for uv_handle_type (Jungku Lee) [#​49061](https://togithub.com/nodejs/node/pull/49061) - \[[`f126b9e3d1`](https://togithub.com/nodejs/node/commit/f126b9e3d1)] - **src**: modernize use-equals-default (Jason) [#​48735](https://togithub.com/nodejs/node/pull/48735) - \[[`db4370fc3e`](https://togithub.com/nodejs/node/commit/db4370fc3e)] - **src**: avoid string copy in BuiltinLoader::GetBuiltinIds (Yagiz Nizipli) [#​48721](https://togithub.com/nodejs/node/pull/48721) - \[[`9d13503c4e`](https://togithub.com/nodejs/node/commit/9d13503c4e)] - **src**: fix callback_queue.h missing header (Jason) [#​48733](https://togithub.com/nodejs/node/pull/48733) - \[[`6c389df3aa`](https://togithub.com/nodejs/node/commit/6c389df3aa)] - **src**: cast v8::Object::GetInternalField() return value to v8::Value (Joyee Cheung) [#​48943](https://togithub.com/nodejs/node/pull/48943) - \[[`7b9adff0be`](https://togithub.com/nodejs/node/commit/7b9adff0be)] - **src**: do not pass user input to format string (Antoine du Hamel) [#​48973](https://togithub.com/nodejs/node/pull/48973) - \[[`e0fdb7b092`](https://togithub.com/nodejs/node/commit/e0fdb7b092)] - **src**: remove ContextEmbedderIndex::kBindingDataStoreIndex (Joyee Cheung) [#​48836](https://togithub.com/nodejs/node/pull/48836) - \[[`578c3d1e14`](https://togithub.com/nodejs/node/commit/578c3d1e14)] - **src**: use ARES_SUCCESS instead of 0 (Hyunjin Kim) [#​48834](https://togithub.com/nodejs/node/pull/48834) - \[[`ed23426aac`](https://togithub.com/nodejs/node/commit/ed23426aac)] - **src**: save the performance milestone time origin in the AliasedArray (Joyee Cheung) [#​48708](https://togithub.com/nodejs/node/pull/48708) - \[[`5dec186663`](https://togithub.com/nodejs/node/commit/5dec186663)] - **src**: support snapshot in single executable applications (Joyee Cheung) [#​46824](https://togithub.com/nodejs/node/pull/46824) - \[[`d759d4f631`](https://togithub.com/nodejs/node/commit/d759d4f631)] - **src**: remove unnecessary temporary creation (Jason) [#​48734](https://togithub.com/nodejs/node/pull/48734) - \[[`409cc692db`](https://togithub.com/nodejs/node/commit/409cc692db)] - **src**: fix nullptr access on realm (Jan Olaf Krems) [#​48802](https://togithub.com/nodejs/node/pull/48802) - \[[`07d0fd61b1`](https://togithub.com/nodejs/node/commit/07d0fd61b1)] - **src**: remove OnScopeLeaveImpl's move assignment overload (Jason) [#​48732](https://togithub.com/nodejs/node/pull/48732) - \[[`41cc3efa23`](https://togithub.com/nodejs/node/commit/41cc3efa23)] - **src**: use string_view for utf-8 string creation (Yagiz Nizipli) [#​48722](https://togithub.com/nodejs/node/pull/48722) - \[[`62a46d9335`](https://togithub.com/nodejs/node/commit/62a46d9335)] - **src,permission**: restrict by default when pm enabled (Rafael Gonzaga) [#​48907](https://togithub.com/nodejs/node/pull/48907) - \[[`099159ce04`](https://togithub.com/nodejs/node/commit/099159ce04)] - **src,tools**: initialize cppgc (Daryl Haresign) [#​48660](https://togithub.com/nodejs/node/pull/48660) - \[[`600c08d197`](https://togithub.com/nodejs/node/commit/600c08d197)] - **stream**: improve WebStreams performance (Raz Luvaton) [#​49089](https://togithub.com/nodejs/node/pull/49089) - \[[`609b25fa99`](https://togithub.com/nodejs/node/commit/609b25fa99)] - **stream**: implement ReadableStream.from (Debadree Chatterjee) [#​48395](https://togithub.com/nodejs/node/pull/48395) - \[[`750cca2738`](https://togithub.com/nodejs/node/commit/750cca2738)] - **test**: use `tmpdir.resolve()` (Livia Medeiros) [#​49128](https://togithub.com/nodejs/node/pull/49128) - \[[`6595367649`](https://togithub.com/nodejs/node/commit/6595367649)] - **test**: use `tmpdir.resolve()` (Livia Medeiros) [#​49127](https://togithub.com/nodejs/node/pull/49127) - \[[`661b055e75`](https://togithub.com/nodejs/node/commit/661b055e75)] - **test**: use `tmpdir.resolve()` in fs tests (Livia Medeiros) [#​49126](https://togithub.com/nodejs/node/pull/49126) - \[[`b3c56d206f`](https://togithub.com/nodejs/node/commit/b3c56d206f)] - **test**: use `tmpdir.resolve()` in fs tests (Livia Medeiros) [#​49125](https://togithub.com/nodejs/node/pull/49125) - \[[`3ddb155d16`](https://togithub.com/nodejs/node/commit/3ddb155d16)] - **test**: fix assertion message in test_async.c (Tobias Nießen) [#​49146](https://togithub.com/nodejs/node/pull/49146) - \[[`1d17c1032d`](https://togithub.com/nodejs/node/commit/1d17c1032d)] - **test**: refactor `test-esm-loader-hooks` for easier debugging (Antoine du Hamel) [#​49131](https://togithub.com/nodejs/node/pull/49131) - \[[`13bd7a0293`](https://togithub.com/nodejs/node/commit/13bd7a0293)] - **test**: add `tmpdir.resolve()` (Livia Medeiros) [#​49079](https://togithub.com/nodejs/node/pull/49079) - \[[`89b1bce56d`](https://togithub.com/nodejs/node/commit/89b1bce56d)] - **test**: document `fixtures.fileURL()` (Livia Medeiros) [#​49083](https://togithub.com/nodejs/node/pull/49083) - \[[`2fcb855c76`](https://togithub.com/nodejs/node/commit/2fcb855c76)] - **test**: reduce flakiness of `test-esm-loader-hooks` (Antoine du Hamel) [#​49105](https://togithub.com/nodejs/node/pull/49105) - \[[`7816e040df`](https://togithub.com/nodejs/node/commit/7816e040df)] - **test**: stabilize the inspector-open-dispose test (Chemi Atlow) [#​49000](https://togithub.com/nodejs/node/pull/49000) - \[[`e70e9747e4`](https://togithub.com/nodejs/node/commit/e70e9747e4)] - **test**: print instruction for creating missing snapshot in assertSnapshot (Raz Luvaton) [#​48914](https://togithub.com/nodejs/node/pull/48914) - \[[`669ac03520`](https://togithub.com/nodejs/node/commit/669ac03520)] - **test**: add `tmpdir.fileURL()` (Livia Medeiros) [#​49040](https://togithub.com/nodejs/node/pull/49040) - \[[`b945d7be35`](https://togithub.com/nodejs/node/commit/b945d7be35)] - **test**: use `spawn` and `spawnPromisified` instead of `exec` (Antoine du Hamel) [#​48991](https://togithub.com/nodejs/node/pull/48991) - \[[`b3a7427583`](https://togithub.com/nodejs/node/commit/b3a7427583)] - **test**: refactor `test-node-output-errors` (Antoine du Hamel) [#​48992](https://togithub.com/nodejs/node/pull/48992) - \[[`6c3e5c4d69`](https://togithub.com/nodejs/node/commit/6c3e5c4d69)] - **test**: use `fixtures.fileURL` when appropriate (Antoine du Hamel) [#​48990](https://togithub.com/nodejs/node/pull/48990) - \[[`9138b78bcb`](https://togithub.com/nodejs/node/commit/9138b78bcb)] - **test**: validate error code rather than message (Antoine du Hamel) [#​48972](https://togithub.com/nodejs/node/pull/48972) - \[[`b4ca4a6f80`](https://togithub.com/nodejs/node/commit/b4ca4a6f80)] - **test**: fix snapshot tests when cwd contains spaces or backslashes (Antoine du Hamel) [#​48959](https://togithub.com/nodejs/node/pull/48959) - \[[`d4398d458c`](https://togithub.com/nodejs/node/commit/d4398d458c)] - **test**: order `common.mjs` in ASCII order (Antoine du Hamel) [#​48960](https://togithub.com/nodejs/node/pull/48960) - \[[`b5991f5250`](https://togithub.com/nodejs/node/commit/b5991f5250)] - **test**: fix some assumptions in tests (Antoine du Hamel) [#​48958](https://togithub.com/nodejs/node/pull/48958) - \[[`62e23f83f9`](https://togithub.com/nodejs/node/commit/62e23f83f9)] - **test**: improve internal/worker/io.js coverage (Yoshiki Kurihara) [#​42387](https://togithub.com/nodejs/node/pull/42387) - \[[`314bd6095c`](https://togithub.com/nodejs/node/commit/314bd6095c)] - **test**: fix `es-module/test-esm-initialization` (Antoine du Hamel) [#​48880](https://togithub.com/nodejs/node/pull/48880) - \[[`3680a66df4`](https://togithub.com/nodejs/node/commit/3680a66df4)] - **test**: validate host with commas on url.parse (Yagiz Nizipli) [#​48878](https://togithub.com/nodejs/node/pull/48878) - \[[`24c3742372`](https://togithub.com/nodejs/node/commit/24c3742372)] - **test**: delete test-net-bytes-per-incoming-chunk-overhead (Michaël Zasso) [#​48811](https://togithub.com/nodejs/node/pull/48811) - \[[`e01cce50f5`](https://togithub.com/nodejs/node/commit/e01cce50f5)] - **test**: skip experimental test with pointer compression (Colin Ihrig) [#​48738](https://togithub.com/nodejs/node/pull/48738) - \[[`d5e93b1074`](https://togithub.com/nodejs/node/commit/d5e93b1074)] - **test**: fix flaky test-string-decode.js on x86 (Stefan Stojanovic) [#​48750](https://togithub.com/nodejs/node/pull/48750) - \[[`9136667d7d`](https://togithub.com/nodejs/node/commit/9136667d7d)] - **test_runner**: dont set exit code on todo tests (Moshe Atlow) [#​48929](https://togithub.com/nodejs/node/pull/48929) - \[[`52c94908c0`](https://togithub.com/nodejs/node/commit/52c94908c0)] - **test_runner**: fix todo and only in spec reporter (Moshe Atlow) [#​48929](https://togithub.com/nodejs/node/pull/48929) - \[[`5ccfb8d515`](https://togithub.com/nodejs/node/commit/5ccfb8d515)] - **test_runner**: unwrap error message in TAP reporter (Colin Ihrig) [#​48942](https://togithub.com/nodejs/node/pull/48942) - \[[`fa19b0ed05`](https://togithub.com/nodejs/node/commit/fa19b0ed05)] - **test_runner**: add `__proto__` null (Raz Luvaton) [#​48663](https://togithub.com/nodejs/node/pull/48663) - \[[`65d23940bf`](https://togithub.com/nodejs/node/commit/65d23940bf)] - **test_runner**: fix async callback in describe not awaited (Raz Luvaton) [#​48856](https://togithub.com/nodejs/node/pull/48856) - \[[`4bd5e55b43`](https://togithub.com/nodejs/node/commit/4bd5e55b43)] - **test_runner**: fix test_runner `test:fail` event type (Ethan Arrowood) [#​48854](https://togithub.com/nodejs/node/pull/48854) - \[[`41058beed8`](https://togithub.com/nodejs/node/commit/41058beed8)] - **test_runner**: call abort on test finish (Raz Luvaton) [#​48827](https://togithub.com/nodejs/node/pull/48827) - \[[`821b11a59f`](https://togithub.com/nodejs/node/commit/821b11a59f)] - **tls**: fix bugs of double TLS (rogertyang) [#​48969](https://togithub.com/nodejs/node/pull/48969) - \[[`4439327e73`](https://togithub.com/nodejs/node/commit/4439327e73)] - **tools**: update lint-md-dependencies (Node.js GitHub Bot) [#​49122](https://togithub.com/nodejs/node/pull/49122) - \[[`21dc844309`](https://togithub.com/nodejs/node/commit/21dc844309)] - **tools**: use spec reporter in actions (Moshe Atlow) [#​49129](https://togithub.com/nodejs/node/pull/49129) - \[[`3471758696`](https://togithub.com/nodejs/node/commit/3471758696)] - **tools**: use [@​reporters/github](https://togithub.com/reporters/github) when running in github actions (Moshe Atlow) [#​49129](https://togithub.com/nodejs/node/pull/49129) - \[[`95a6e7661e`](https://togithub.com/nodejs/node/commit/95a6e7661e)] - **tools**: add [@​reporters/github](https://togithub.com/reporters/github) to tools (Moshe Atlow) [#​49129](https://togithub.com/nodejs/node/pull/49129) - \[[`995cbf93eb`](https://togithub.com/nodejs/node/commit/995cbf93eb)] - **tools**: update eslint to 8.47.0 (Node.js GitHub Bot) [#​49124](https://togithub.com/nodejs/node/pull/49124) - \[[`ed065bc56e`](https://togithub.com/nodejs/node/commit/ed065bc56e)] - **tools**: update lint-md-dependencies to rollup@3.27.2 (Node.js GitHub Bot) [#​49035](https://togithub.com/nodejs/node/pull/49035) - \[[`a5f37178ad`](https://togithub.com/nodejs/node/commit/a5f37178ad)] - **tools**: limit the number of auto start CIs (Antoine du Hamel) [#​49067](https://togithub.com/nodejs/node/pull/49067) - \[[`c1bd680f89`](https://togithub.com/nodejs/node/commit/c1bd680f89)] - **tools**: update eslint to 8.46.0 (Node.js GitHub Bot) [#​48966](https://togithub.com/nodejs/node/pull/48966) - \[[`e09a6b4821`](https://togithub.com/nodejs/node/commit/e09a6b4821)] - **tools**: update lint-md-dependencies to rollup@3.27.0 (Node.js GitHub Bot) [#​48965](https://togithub.com/nodejs/node/pull/48965) - \[[`0cd2393bd9`](https://togithub.com/nodejs/node/commit/0cd2393bd9)] - **tools**: update lint-md-dependencies to rollup@3.26.3 (Node.js GitHub Bot) [#​48888](https://togithub.com/nodejs/node/pull/48888) - \[[`41929a2906`](https://togithub.com/nodejs/node/commit/41929a2906)] - **tools**: update lint-md-dependencies to [@​rollup/plugin-commonjs](https://togithub.com/rollup/plugin-commonjs)[@​25](https://togithub.com/25).0.3 (Node.js GitHub Bot) [#​48791](https://togithub.com/nodejs/node/pull/48791) - \[[`1761bdfbd9`](https://togithub.com/nodejs/node/commit/1761bdfbd9)] - **tools**: update eslint to 8.45.0 (Node.js GitHub Bot) [#​48793](https://togithub.com/nodejs/node/pull/48793) - \[[`b82f05cc4b`](https://togithub.com/nodejs/node/commit/b82f05cc4b)] - **typings**: update JSDoc for `cwd` in `child_process` (LiviaMedeiros) [#​49029](https://togithub.com/nodejs/node/pull/49029) - \[[`be7b511255`](https://togithub.com/nodejs/node/commit/be7b511255)] - **typings**: sync JSDoc with the actual implementation (Hyunjin Kim) [#​48853](https://togithub.com/nodejs/node/pull/48853) - \[[`45c860035d`](https://togithub.com/nodejs/node/commit/45c860035d)] - **url**: overload `canParse` V8 fast api method (Yagiz Nizipli) [#​48993](https://togithub.com/nodejs/node/pull/48993) - \[[`60d614157b`](https://togithub.com/nodejs/node/commit/60d614157b)] - **url**: fix `isURL` detection by checking `path` (Zhuo Zhang) [#​48928](https://togithub.com/nodejs/node/pull/48928) - \[[`b12c3b5240`](https://togithub.com/nodejs/node/commit/b12c3b5240)] - **url**: ensure getter access do not mutate observable symbols (Antoine du Hamel) [#​48897](https://togithub.com/nodejs/node/pull/48897) - \[[`30fb7b7535`](https://togithub.com/nodejs/node/commit/30fb7b7535)] - **url**: reduce `pathToFileURL` cpp calls (Yagiz Nizipli) [#​48709](https://togithub.com/nodejs/node/pull/48709) - \[[`c3dbd0c1e4`](https://togithub.com/nodejs/node/commit/c3dbd0c1e4)] - **util**: use `primordials.ArrayPrototypeIndexOf` instead of mutable method (DaisyDogs07) [#​48586](https://togithub.com/nodejs/node/pull/48586) - \[[`b79b2927ca`](https://togithub.com/nodejs/node/commit/b79b2927ca)] - **watch**: decrease debounce rate (Moshe Atlow) [#​48926](https://togithub.com/nodejs/node/pull/48926) - \[[`a12996298e`](https://togithub.com/nodejs/node/commit/a12996298e)] - **watch**: use debounce instead of throttle (Moshe Atlow) [#​48926](https://togithub.com/nodejs/node/pull/48926) ### [`v20.5.1`](https://togithub.com/nodejs/node/releases/tag/v20.5.1): 2023-08-09, Version 20.5.1 (Current), @​RafaelGSS [Compare Source](https://togithub.com/nodejs/node/compare/v20.5.0...v20.5.1) This is a security release. ##### Notable Changes The following CVEs are fixed in this release: - [CVE-2023-32002](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2023-32002): Policies can be bypassed via Module.\_load (High) - [CVE-2023-32558](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2023-32558): process.binding() can bypass the permission model through path traversal (High) - [CVE-2023-32004](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2023-32004): Permission model can be bypassed by specifying a path traversal sequence in a Buffer (High) - [CVE-2023-32006](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2023-32006): Policies can be bypassed by module.constructor.createRequire (Medium) - [CVE-2023-32559](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2023-32559): Policies can be bypassed via process.binding (Medium) - [CVE-2023-32005](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2023-32005): fs.statfs can bypass the permission model (Low) - [CVE-2023-32003](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2023-32003): fs.mkdtemp() and fs.mkdtempSync() can bypass the permission model (Low) - OpenSSL Security Releases - [OpenSSL security advisory 14th July](https://mta.openssl.org/pipermail/openssl-announce/2023-July/000264.html). - [OpenSSL security advisory 19th July](https://mta.openssl.org/pipermail/openssl-announce/2023-July/000265.html). - [OpenSSL security advisory 31st July](https://mta.openssl.org/pipermail/openssl-announce/2023-July/000267.html) More detailed information on each of the vulnerabilities can be found in [August 2023 Security Releases](https://nodejs.org/en/blog/vulnerability/august-2023-security-releases/) blog post. ##### Commits - \[[`92300b51b4`](https://togithub.com/nodejs/node/commit/92300b51b4)] - **deps**: update archs files for openssl-3.0.10+quic1 (Node.js GitHub Bot) [#​49036](https://togithub.com/nodejs/node/pull/49036) - \[[`559698abf2`](https://togithub.com/nodejs/node/commit/559698abf2)] - **deps**: upgrade openssl sources to quictls/openssl-3.0.10+quic1 (Node.js GitHub Bot) [#​49036](https://togithub.com/nodejs/node/pull/49036) - \[[`1bf3429e8e`](https://togithub.com/nodejs/node/commit/1bf3429e8e)] - **lib,permission**: restrict process.binding when pm is enabled (RafaelGSS) [nodejs-private/node-private#438](https://togithub.com/nodejs-private/node-private/pull/438) - \[[`98a83a67e6`](https://togithub.com/nodejs/node/commit/98a83a67e6)] - **permission**: ensure to resolve path when calling mkdtemp (RafaelGSS) [nodejs-private/node-private#464](https://togithub.com/nodejs-private/node-private/pull/464) - \[[`1f0cde466b`](https://togithub.com/nodejs/node/commit/1f0cde466b)] - **permission**: handle buffer path on fs calls (RafaelGSS) [nodejs-private/node-private#439](https://togithub.com/nodejs-private/node-private/pull/439) - \[[`bd094d60ea`](https://togithub.com/nodejs/node/commit/bd094d60ea)] - **permission**: handle fstatfs and add pm supported list (RafaelGSS) [nodejs-private/node-private#441](https://togithub.com/nodejs-private/node-private/pull/441) - \[[`7337d21484`](https://togithub.com/nodejs/node/commit/7337d21484)] - **policy**: handle Module.constructor and main.extensions bypass (RafaelGSS) [nodejs-private/node-private#417](https://togithub.com/nodejs-private/node-private/pull/417) - \[[`cf348ec640`](https://togithub.com/nodejs/node/commit/cf348ec640)] - **policy**: disable process.binding() when enabled (Tobias Nießen) [nodejs-private/node-private#397](https://togithub.com/nodejs-private/node-private/pull/397) ### [`v20.5.0`](https://togithub.com/nodejs/node/releases/tag/v20.5.0): 2023-07-18, Version 20.5.0 (Current), @​juanarbol [Compare Source](https://togithub.com/nodejs/node/compare/v20.4.0...v20.5.0) ##### Notable Changes - \[[`45be29d89f`](https://togithub.com/nodejs/node/commit/45be29d89f)] - **doc**: add atlowChemi to collaborators (atlowChemi) [#​48757](https://togithub.com/nodejs/node/pull/48757) - \[[`a316808136`](https://togithub.com/nodejs/node/commit/a316808136)] - **(SEMVER-MINOR)** **events**: allow safely adding listener to abortSignal (Chemi Atlow) [#​48596](https://togithub.com/nodejs/node/pull/48596) - \[[`986b46a567`](https://togithub.com/nodejs/node/commit/986b46a567)] - **fs**: add a fast-path for readFileSync utf-8 (Yagiz Nizipli) [#​48658](https://togithub.com/nodejs/node/pull/48658) - \[[`0ef73ff6f0`](https://togithub.com/nodejs/node/commit/0ef73ff6f0)] - **(SEMVER-MINOR)** **test_runner**: add shards support (Raz Luvaton) [#​48639](https://togithub.com/nodejs/node/pull/48639) ##### Commits - \[[`eb0aba59b8`](https://togithub.com/nodejs/node/commit/eb0aba59b8)] - **bootstrap**: use correct descriptor for Symbol.{dispose,asyncDispose} (Jordan Harband) [#​48703](https://togithub.com/nodejs/node/pull/48703) - \[[`e2d0195dcf`](https://togithub.com/nodejs/node/commit/e2d0195dcf)] - **bootstrap**: hide experimental web globals with flag kNoBrowserGlobals (Chengzhong Wu) [#​48545](https://togithub.com/nodejs/node/pull/48545) - \[[`67a1018389`](https://togithub.com/nodejs/node/commit/67a1018389)] - **build**: do not pass target toolchain flags to host toolchain (Ivan Trubach) [#​48597](https://togithub.com/nodejs/node/pull/48597) - \[[`7d843bb942`](https://togithub.com/nodejs/node/commit/7d843bb942)] - **child_process**: use addAbortListener (atlowChemi) [#​48550](https://togithub.com/nodejs/node/pull/48550) - \[[`4e08160f8c`](https://togithub.com/nodejs/node/commit/4e08160f8c)] - **child_process**: support `Symbol.dispose` (Moshe Atlow) [#​48551](https://togithub.com/nodejs/node/pull/48551) - \[[`ef7728bf36`](https://togithub.com/nodejs/node/commit/ef7728bf36)] - **deps**: update nghttp2 to 1.55.1 (Node.js GitHub Bot) [#​48790](https://togithub.com/nodejs/node/pull/48790) - \[[`1454f02499`](https://togithub.com/nodejs/node/commit/1454f02499)] - **deps**: update nghttp2 to 1.55.0 (Node.js GitHub Bot) [#​48746](https://togithub.com/nodejs/node/pull/48746) - \[[`fa94debf46`](https://togithub.com/nodejs/node/commit/fa94debf46)] - **deps**: update minimatch to 9.0.3 (Node.js GitHub Bot) [#​48704](https://togithub.com/nodejs/node/pull/48704) - \[[`c73cfcc144`](https://togithub.com/nodejs/node/commit/c73cfcc144)] - **deps**: update acorn to 8.10.0 (Node.js GitHub Bot) [#​48713](https://togithub.com/nodejs/node/pull/48713) - \[[`b7a076a052`](https://togithub.com/nodejs/node/commit/b7a076a052)] - **deps**: V8: cherry-pick [`cb00db4`](https://togithub.com/nodejs/node/commit/cb00db4dba6c) (Keyhan Vakil) [#​48671](https://togithub.com/nodejs/node/pull/48671) - \[[`150e15536b`](https://togithub.com/nodejs/node/commit/150e15536b)] - **deps**: upgrade npm to 9.8.0 (npm team) [#​48665](https://togithub.com/nodejs/node/pull/48665) - \[[`c47b2cbd35`](https://togithub.com/nodejs/node/commit/c47b2cbd35)] - **dgram**: socket add `asyncDispose` (atlowChemi) [#​48717](https://togithub.com/nodejs/node/pull/48717) - \[[`002ce31cca`](https://togithub.com/nodejs/node/commit/002ce31cca)] - **dgram**: use addAbortListener (atlowChemi) [#​48550](https://togithub.com/nodejs/node/pull/48550) - \[[`45be29d89f`](https://togithub.com/nodejs/node/commit/45be29d89f)] - **doc**: add atlowChemi to collaborators (atlowChemi) [#​48757](https://togithub.com/nodejs/node/pull/48757) - \[[`69b55d2261`](https://togithub.com/nodejs/node/commit/69b55d2261)] - **doc**: fix ambiguity in http.md and https.md (an5er) [#​48692](https://togithub.com/nodejs/node/pull/48692) - \[[`caccb051c7`](https://togithub.com/nodejs/node/commit/caccb051c7)] - **doc**: clarify transform.\_transform() callback argument logic (Rafael Sofi-zada) [#​48680](https://togithub.com/nodejs/node/pull/48680) - \[[`999ae0c8c3`](https://togithub.com/nodejs/node/commit/999ae0c8c3)] - **doc**: fix copy node executable in Windows (Yoav Vainrich) [#​48624](https://togithub.com/nodejs/node/pull/48624) - \[[`7daefaeb44`](https://togithub.com/nodejs/node/commit/7daefaeb44)] - **doc**: drop \ of v20 changelog (Rafael Gonzaga) [#​48649](https://togithub.com/nodejs/node/pull/48649) - \[[`dd7ea3e1df`](https://togithub.com/nodejs/node/commit/dd7ea3e1df)] - **doc**: mention git node release prepare (Rafael Gonzaga) [#​48644](https://togithub.com/nodejs/node/pull/48644) - \[[`cc7809df21`](https://togithub.com/nodejs/node/commit/cc7809df21)] - **esm**: fix emit deprecation on legacy main resolve (Antoine du Hamel) [#​48664](https://togithub.com/nodejs/node/pull/48664) - \[[`67b13d1dba`](https://togithub.com/nodejs/node/commit/67b13d1dba)] - **events**: fix bug listenerCount don't compare wrapped listener (yuzheng14) [#​48592](https://togithub.com/nodejs/node/pull/48592) - \[[`a316808136`](https://togithub.com/nodejs/node/commit/a316808136)] - **(SEMVER-MINOR)** **events**: allow safely adding listener to abortSignal (Chemi Atlow) [#​48596](https://togithub.com/nodejs/node/pull/48596) - \[[`986b46a567`](https://togithub.com/nodejs/node/commit/986b46a567)] - **fs**: add a fast-path for readFileSync utf-8 (Yagiz Nizipli) [#​48658](https://togithub.com/nodejs/node/pull/48658) - \[[`e4333ac41f`](https://togithub.com/nodejs/node/commit/e4333ac41f)] - **http2**: use addAbortListener (atlowChemi) [#​48550](https://togithub.com/nodejs/node/pull/48550) - \[[`4a0b66e4f9`](https://togithub.com/nodejs/node/commit/4a0b66e4f9)] - **http2**: send RST code 8 on AbortController signal (Devraj Mehta) [#​48573](https://togithub.com/nodejs/node/pull/48573) - \[[`1295c76fce`](https://togithub.com/nodejs/node/commit/1295c76fce)] - **lib**: use addAbortListener (atlowChemi) [#​48550](https://togithub.com/nodejs/node/pull/48550) - \[[`dff6c25a36`](https://togithub.com/nodejs/node/commit/dff6c25a36)] - **meta**: bump actions/checkout from 3.5.2 to 3.5.3 (dependabot\[bot]) [#​48625](https://togithub.com/nodejs/node/pull/48625) - \[[`b5cb69ceaa`](https://togithub.com/nodejs/node/commit/b5cb69ceaa)] - **meta**: bump step-security/harden-runner from 2.4.0 to 2.4.1 (dependabot\[bot]) [#​48626](https://togithub.com/nodejs/node/pull/48626) - \[[`332e480b46`](https://togithub.com/nodejs/node/commit/332e480b46)] - **meta**: bump ossf/scorecard-action from 2.1.3 to 2.2.0 (dependabot\[bot]) [#​48628](https://togithub.com/nodejs/node/pull/48628) - \[[`25c5a0aaee`](https://togithub.com/nodejs/node/commit/25c5a0aaee)] - **meta**: bump github/codeql-action from 2.3.6 to 2.20.1 (dependabot\[bot]) [#​48627](https://togithub.com/nodejs/node/pull/48627) - \[[`6406f50ab1`](https://togithub.com/nodejs/node/commit/6406f50ab1)] - **module**: add SourceMap.lineLengths (Isaac Z. Schlueter) [#​48461](https://togithub.com/nodejs/node/pull/48461) - \[[`cfa69bd48c`](https://togithub.com/nodejs/node/commit/cfa69bd48c)] - **net**: server add `asyncDispose` (atlowChemi) [#​48717](https://togithub.com/nodejs/node/pull/48717) - \[[`ac11264cc5`](https://togithub.com/nodejs/node/commit/ac11264cc5)] - **net**: use addAbortListener (atlowChemi) [#​48550](https://togithub.com/nodejs/node/pull/48550) - \[[`82d6b13bf6`](https://togithub.com/nodejs/node/commit/82d6b13bf6)] - **permission**: add debug log when inserting fs nodes (Rafael Gonzaga) [#​48677](https://togithub.com/nodejs/node/pull/48677) - \[[`f4333b1cdd`](https://togithub.com/nodejs/node/commit/f4333b1cdd)] - **permission**: v8.writeHeapSnapshot and process.report (Rafael Gonzaga) [#​48564](https://togithub.com/nodejs/node/pull/48564) - \[[`f691dca6c9`](https://togithub.com/nodejs/node/commit/f691dca6c9)] - **readline**: use addAbortListener (atlowChemi) [#​48550](https://togithub.com/nodejs/node/pull/48550) - \[[`227e6bd898`](https://togithub.com/nodejs/node/commit/227e6bd898)] - **src**: pass syscall on `fs.readFileSync` fail operation (Yagiz Nizipli) [#​48815](https://togithub.com/nodejs/node/pull/48815) - \[[`a9a4b73653`](https://togithub.com/nodejs/node/commit/a9a4b73653)] - **src**: make BaseObject iteration order deterministic (Joyee Cheung) [#​48702](https://togithub.com/nodejs/node/pull/48702) - \[[`d99ea4845a`](https://togithub.com/nodejs/node/commit/d99ea4845a)] - **src**: remove kEagerCompile for CompileFunction (Keyhan Vakil) [#​48671](https://togithub.com/nodejs/node/pull/48671) - \[[`df363d0010`](https://togithub.com/nodejs/node/commit/df363d0010)] - **src**: deduplicate X509 getter implementations (Tobias Nießen) [#​48563](https://togithub.com/nodejs/node/pull/48563) - \[[`9cf2e1f55b`](https://togithub.com/nodejs/node/commit/9cf2e1f55b)] - **src,lib**: reducing C++ calls of esm legacy main resolve (Vinicius Lourenço) [#​48325](https://togithub.com/nodejs/node/pull/48325) - \[[`daeb21dde9`](https://togithub.com/nodejs/node/commit/daeb21dde9)] - **stream**: fix deadlock when pipeing to full sink (Robert Nagy) [#​48691](https://togithub.com/nodejs/node/pull/48691) - \[[`5a382d02d6`](https://togithub.com/nodejs/node/commit/5a382d02d6)] - **stream**: use addAbortListener (atlowChemi) [#​48550](https://togithub.com/nodejs/node/pull/48550) - \[[`6e82077dd4`](https://togithub.com/nodejs/node/commit/6e82077dd4)] - **test**: deflake test-net-throttle (Luigi Pinca) [#​48599](https://togithub.com/nodejs/node/pull/48599) - \[[`d378b2c822`](https://togithub.com/nodejs/node/commit/d378b2c822)] - **test**: move test-net-throttle to parallel (Luigi Pinca) [#​48599](https://togithub.com/nodejs/node/pull/48599) - \[[`dfa0aee5bf`](https://togithub.com/nodejs/node/commit/dfa0aee5bf)] - ***Revert*** "**test**: remove test-crypto-keygen flaky designation" (Luigi Pinca) [#​48652](https://togithub.com/nodejs/node/pull/48652) - \[[`0ef73ff6f0`](https://togithub.com/nodejs/node/commit/0ef73ff6f0)] - **(SEMVER-MINOR)** **test_runner**: add shards support (Raz Luvaton) [#​48639](https://togithub.com/nodejs/node/pull/48639) - \[[`e2442bb7ef`](https://togithub.com/nodejs/node/commit/e2442bb7ef)] - **timers**: support Symbol.dispose (Moshe Atlow) [#​48633](https://togithub.com/nodejs/node/pull/48633) - \[[`4398ade426`](https://togithub.com/nodejs/node/commit/4398ade426)] - **tools**: run fetch_deps.py with Python 3 (Richard Lau) [#​48729](https://togithub.com/nodejs/node/pull/48729) - \[[`38ce95d054`](https://togithub.com/nodejs/node/commit/38ce95d054)] - **tools**: update doc to unist-util-select@5.0.0 unist-util-visit@5.0.0 (Node.js GitHub Bot) [#​48714](https://togithub.com/nodejs/node/pull/48714) - \[[`b25e78a998`](https://togithub.com/nodejs/node/commit/b25e78a998)] - **tools**: update lint-md-dependencies to rollup@3.26.2 (Node.js GitHub Bot) [#​48705](https://togithub.com/nodejs/node/pull/48705) - \[[`a1f4ff7c59`](https://togithub.com/nodejs/node/commit/a1f4ff7c59)] - **tools**: update eslint to 8.44.0 (Node.js GitHub Bot) [#​48632](https://togithub.com/nodejs/node/pull/48632) - \[[`42dc6eb698`](https://togithub.com/nodejs/node/commit/42dc6eb698)] - **tools**: update lint-md-dependencies to rollup@3.26.0 (Node.js GitHub Bot) [#​48631](https://togithub.com/nodejs/node/pull/48631) - \[[`07bfcc45ab`](https://togithub.com/nodejs/node/commit/07bfcc45ab)] - **url**: fix `canParse` false value when v8 optimizes (Yagiz Nizipli) [#​48817](https://togithub.com/nodejs/node/pull/48817) ### [`v20.4.0`](https://togithub.com/nodejs/node/releases/tag/v20.4.0): 2023-07-05, Version 20.4.0 (Current), @​RafaelGSS [Compare Source](https://togithub.com/nodejs/node/compare/v20.3.1...v20.4.0) ##### Notable Changes ##### Mock Timers The new feature allows developers to write more reliable and predictable tests for time-dependent functionality. It includes `MockTimers` with the ability to mock `setTimeout`, `setInterval` from `globals`, `node:timers`, and `node:timers/promises`. The feature provides a simple API to advance time, enable specific timers, and release all timers. ```mjs import assert from 'node:assert'; import { test } from 'node:test'; test('mocks setTimeout to be executed synchronously without having to actually wait for it', (context) => { const fn = context.mock.fn(); // Optionally choose what to mock context.mock.timers.enable(['setTimeout']); const nineSecs = 9000; setTimeout(fn, nineSecs); const threeSeconds = 3000; context.mock.timers.tick(threeSeconds); context.mock.timers.tick(threeSeconds); context.mock.timers.tick(threeSeconds); assert.strictEqual(fn.mock.callCount(), 1); }); ``` This feature was contributed by Erick Wendel in [#​47775](https://togithub.com/nodejs/node/pull/47775). ##### Support to the explicit resource management proposal Node is adding support to the [explicit resource management](https://togithub.com/tc39/proposal-explicit-resource-management) proposal to its resources allowing users of TypeScript/babel to use `using`/`await using` with V8 support for everyone else on the way. This feature was contributed by Moshe Atlow and Benjamin Gruenbaum in [#​48518](https://togithub.com/nodejs/node/pull/48518). ##### Other notable changes - \[[`fe333d2584`](https://togithub.com/nodejs/node/commit/fe333d2584)] - **crypto**: update root certificates to NSS 3.90 (Node.js GitHub Bot) [#​48416](https://togithub.com/nodejs/node/pull/48416) - \[[`60c2ea4e79`](https://togithub.com/nodejs/node/commit/60c2ea4e79)] - **doc**: add vmoroz to collaborators (Vladimir Morozov) [#​48527](https://togithub.com/nodejs/node/pull/48527) - \[[`5cacdf9e6b`](https://togithub.com/nodejs/node/commit/5cacdf9e6b)] - **doc**: add kvakil to collaborators (Keyhan Vakil) [#​48449](https://togithub.com/nodejs/node/pull/48449) - \[[`504d1d7bdc`](https://togithub.com/nodejs/node/commit/504d1d7bdc)] - **(SEMVER-MINOR)** **tls**: add ALPNCallback server option for dynamic ALPN negotiation (Tim Perry) [#​45190](https://togithub.com/nodejs/node/pull/45190) ##### Commits - \[[`8a611a387f`](https://togithub.com/nodejs/node/commit/8a611a387f)] - **benchmark**: add bar.R (Rafael Gonzaga) [#​47729](https://togithub.com/nodejs/node/pull/47729) - \[[`12fa716cf9`](https://togithub.com/nodejs/node/commit/12fa716cf9)] - **benchmark**: refactor crypto oneshot (Filip Skokan) [#​48267](https://togithub.com/nodejs/node/pull/48267) - \[[`d6ecbde592`](https://togithub.com/nodejs/node/commit/d6ecbde592)] - **benchmark**: add crypto.create\*Key (Filip Skokan) [#​48284](https://togithub.com/nodejs/node/pull/48284) - \[[`e60b6dedd8`](https://togithub.com/nodejs/node/commit/e60b6dedd8)] - **bootstrap**: unify snapshot builder and embedder entry points (Joyee Cheung) [#​48242](https://togithub.com/nodejs/node/pull/48242) - \[[`40662957b1`](https://togithub.com/nodejs/node/commit/40662957b1)] - **bootstrap**: simplify initialization of source map handlers (Joyee Cheung) [#​48304](https://togithub.com/nodejs/node/pull/48304) - \[[`6551538079`](https://togithub.com/nodejs/node/commit/6551538079)] - **build**: fix `configure --link-module` (Richard Lau) [#​48522](https://togithub.com/nodejs/node/pull/48522) - \[[`f7f32089e7`](https://togithub.com/nodejs/node/commit/f7f32089e7)] - **build**: sync libuv header change (Jiawen Geng) [#​48429](https://tog

Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about these updates again.


  • [ ] If you want to rebase/retry this PR, check this box

This PR has been generated by Mend Renovate. View repository job log here.

github-actions[bot] commented 1 year ago

@renovate[bot] Image is available for testing. docker pull stakater/forecastle:SNAPSHOT-PR-369-099b9ecb