[`02632b42cf`](https://github.com/nodejs/node/commit/02632b42cf)] - **(SEMVER-MINOR)** **v8**: support gc profile (theanarkh) [#​46255](https://github.com/nodejs/node/pull/46255)
[`f09b838408`](https://github.com/nodejs/node/commit/f09b838408)] - **(SEMVER-MINOR)** **src,lib**: add constrainedMemory API for process (theanarkh) [#​46218](https://github.com/nodejs/node/pull/46218)
[`ec61bb04c0`](https://github.com/nodejs/node/commit/ec61bb04c0)] - **build**: export more OpenSSL symbols on Windows (Mohamed Akram) [#​45486](https://github.com/nodejs/node/pull/45486)
[`0f5f2d4470`](https://github.com/nodejs/node/commit/0f5f2d4470)] - **crypto**: include `hmac.h` in `crypto_util.h` (Adam Langley) [#​46279](https://github.com/nodejs/node/pull/46279)
[`91ece4161b`](https://github.com/nodejs/node/commit/91ece4161b)] - **crypto**: avoid hang when no algorithm available (Richard Lau) [#​46237](https://github.com/nodejs/node/pull/46237)
[`c04808de4b`](https://github.com/nodejs/node/commit/c04808de4b)] - **doc**: correct the `sed` command for macOS in release process docs (Juan José) [#​46397](https://github.com/nodejs/node/pull/46397)
[`8113220690`](https://github.com/nodejs/node/commit/8113220690)] - **doc**: pass string to `textEncoder.encode` as input (Deokjin Kim) [#​46421](https://github.com/nodejs/node/pull/46421)
[`129dccf5d2`](https://github.com/nodejs/node/commit/129dccf5d2)] - **doc**: add tip for session.post function (theanarkh) [#​46354](https://github.com/nodejs/node/pull/46354)
[`919e581732`](https://github.com/nodejs/node/commit/919e581732)] - **doc**: add documentation for socket.destroySoon() (Luigi Pinca) [#​46337](https://github.com/nodejs/node/pull/46337)
[`fc15ac95a5`](https://github.com/nodejs/node/commit/fc15ac95a5)] - **doc**: fix commit message using test instead of deps (Tony Gorez) [#​46313](https://github.com/nodejs/node/pull/46313)
[`d153a93200`](https://github.com/nodejs/node/commit/d153a93200)] - **doc**: add v8 fast api contribution guidelines (Yagiz Nizipli) [#​46199](https://github.com/nodejs/node/pull/46199)
[`dbf082d082`](https://github.com/nodejs/node/commit/dbf082d082)] - **doc**: fix small typo error (0xflotus) [#​46186](https://github.com/nodejs/node/pull/46186)
[`94421b4cfe`](https://github.com/nodejs/node/commit/94421b4cfe)] - **doc**: mark some parameters as optional in webstreams (Deokjin Kim) [#​46269](https://github.com/nodejs/node/pull/46269)
[`5adb743511`](https://github.com/nodejs/node/commit/5adb743511)] - **doc**: update output of example in `events.getEventListeners` (Deokjin Kim) [#​46268](https://github.com/nodejs/node/pull/46268)
[`5019b5473f`](https://github.com/nodejs/node/commit/5019b5473f)] - **http**: res.setHeaders first implementation (Marco Ippolito) [#​46109](https://github.com/nodejs/node/pull/46109)
[`76622c4c60`](https://github.com/nodejs/node/commit/76622c4c60)] - **inspector**: allow opening inspector when `NODE_V8_COVERAGE` is set (Moshe Atlow) [#​46113](https://github.com/nodejs/node/pull/46113)
[`5ed679407b`](https://github.com/nodejs/node/commit/5ed679407b)] - **meta**: move evanlucas to emeritus (Evan Lucas) [#​46274](https://github.com/nodejs/node/pull/46274)
[`403df210ac`](https://github.com/nodejs/node/commit/403df210ac)] - **module**: move test reporter loading (Geoffrey Booth) [#​45923](https://github.com/nodejs/node/pull/45923)
[`2f7319e387`](https://github.com/nodejs/node/commit/2f7319e387)] - **readline**: fix detection of carriage return (Antoine du Hamel) [#​46306](https://github.com/nodejs/node/pull/46306)
[`73a8f46c4d`](https://github.com/nodejs/node/commit/73a8f46c4d)] - ***Revert*** "**src**: let http2 streams end after session close" (Santiago Gimeno) [#​46721](https://github.com/nodejs/node/pull/46721)
[`30d783f91a`](https://github.com/nodejs/node/commit/30d783f91a)] - **src**: stop tracing agent before shutting down libuv (Santiago Gimeno) [#​46380](https://github.com/nodejs/node/pull/46380)
[`1508d90fda`](https://github.com/nodejs/node/commit/1508d90fda)] - **src**: get rid of fp arithmetic in ParseIPv4Host (Tobias Nießen) [#​46326](https://github.com/nodejs/node/pull/46326)
[`bdb793a082`](https://github.com/nodejs/node/commit/bdb793a082)] - **src**: use UNREACHABLE instead of CHECK(falsy) (Tobias Nießen) [#​46317](https://github.com/nodejs/node/pull/46317)
[`116a33649b`](https://github.com/nodejs/node/commit/116a33649b)] - **src**: add support for ETW stack walking (José Dapena Paz) [#​46203](https://github.com/nodejs/node/pull/46203)
[`b06298c98e`](https://github.com/nodejs/node/commit/b06298c98e)] - **src**: refactor EndsInANumber in node_url.cc and adds IsIPv4NumberValid (Miguel Teixeira) [#​46227](https://github.com/nodejs/node/pull/46227)
[`26f41b041c`](https://github.com/nodejs/node/commit/26f41b041c)] - **src**: fix c++ exception on bad command line arg (Ben Noordhuis) [#​46290](https://github.com/nodejs/node/pull/46290)
[`f389b2f3fc`](https://github.com/nodejs/node/commit/f389b2f3fc)] - **src**: use explicit C++17 fallthrough (Tobias Nießen) [#​46251](https://github.com/nodejs/node/pull/46251)
[`8adaa1333c`](https://github.com/nodejs/node/commit/8adaa1333c)] - **src**: use CreateEnvironment instead of inlining its code where possible (Anna Henningsen) [#​45886](https://github.com/nodejs/node/pull/45886)
[`f09b838408`](https://github.com/nodejs/node/commit/f09b838408)] - **(SEMVER-MINOR)** **src,lib**: add constrainedMemory API for process (theanarkh) [#​46218](https://github.com/nodejs/node/pull/46218)
[`3acfe9bf92`](https://github.com/nodejs/node/commit/3acfe9bf92)] - **stream**: fix readable stream as async iterator function (Erick Wendel) [#​46147](https://github.com/nodejs/node/pull/46147)
[`de64315ccb`](https://github.com/nodejs/node/commit/de64315ccb)] - **test**: fix WPT title when no META title is present (Filip Skokan) [#​46804](https://github.com/nodejs/node/pull/46804)
[`5f422c4d70`](https://github.com/nodejs/node/commit/5f422c4d70)] - **test**: add WPTRunner support for variants and generating WPT reports (Filip Skokan) [#​46498](https://github.com/nodejs/node/pull/46498)
[`4f5aff2557`](https://github.com/nodejs/node/commit/4f5aff2557)] - **test**: fix tap parser fails if a test logs a number (Pulkit Gupta) [#​46056](https://github.com/nodejs/node/pull/46056)
[`32b020cf84`](https://github.com/nodejs/node/commit/32b020cf84)] - **test**: fix tap escaping with and without --test (Pulkit Gupta) [#​46311](https://github.com/nodejs/node/pull/46311)
[`f2bba1bcdb`](https://github.com/nodejs/node/commit/f2bba1bcdb)] - **test**: add trailing commas in `test/node-api` (Antoine du Hamel) [#​46384](https://github.com/nodejs/node/pull/46384)
[`f2ebe66fda`](https://github.com/nodejs/node/commit/f2ebe66fda)] - **test**: add trailing commas in `test/message` (Antoine du Hamel) [#​46372](https://github.com/nodejs/node/pull/46372)
[`ed564a9985`](https://github.com/nodejs/node/commit/ed564a9985)] - **test**: add trailing commas in `test/pseudo-tty` (Antoine du Hamel) [#​46371](https://github.com/nodejs/node/pull/46371)
[`e4437dd409`](https://github.com/nodejs/node/commit/e4437dd409)] - **test**: set common.bits to 64 for loong64 (Shi Pujin) [#​45383](https://github.com/nodejs/node/pull/45383)
[`9d40aef736`](https://github.com/nodejs/node/commit/9d40aef736)] - **test**: s390x zlib test case fixes (Adam Majer) [#​46367](https://github.com/nodejs/node/pull/46367)
[`ed3fb52716`](https://github.com/nodejs/node/commit/ed3fb52716)] - **test**: fix logInTimeout is not function (theanarkh) [#​46348](https://github.com/nodejs/node/pull/46348)
[`837ddcb322`](https://github.com/nodejs/node/commit/837ddcb322)] - **test**: add failing test for readline with carriage return (Alec Mev) [#​46075](https://github.com/nodejs/node/pull/46075)
[`894d7117fa`](https://github.com/nodejs/node/commit/894d7117fa)] - **test_runner**: parse non-ascii character correctly (Mert Can Altın) [#​45736](https://github.com/nodejs/node/pull/45736)
[`5b3c606626`](https://github.com/nodejs/node/commit/5b3c606626)] - **test_runner**: flatten TAP output when running using `--test` (Moshe Atlow) [#​46440](https://github.com/nodejs/node/pull/46440)
[`391ff0dba4`](https://github.com/nodejs/node/commit/391ff0dba4)] - **test_runner**: allow nesting test within describe (Moshe Atlow) [#​46544](https://github.com/nodejs/node/pull/46544)
[`ba784e87b4`](https://github.com/nodejs/node/commit/ba784e87b4)] - **test_runner**: fix missing test diagnostics (Moshe Atlow) [#​46450](https://github.com/nodejs/node/pull/46450)
[`c5f16fb5fb`](https://github.com/nodejs/node/commit/c5f16fb5fb)] - **test_runner**: top-level diagnostics not ommited when running with --test (Pulkit Gupta) [#​46441](https://github.com/nodejs/node/pull/46441)
[`0d999e373a`](https://github.com/nodejs/node/commit/0d999e373a)] - **test_runner**: make built in reporters internal (Colin Ihrig) [#​46092](https://github.com/nodejs/node/pull/46092)
[`79f4b426fe`](https://github.com/nodejs/node/commit/79f4b426fe)] - **test_runner**: report `file` in test runner events (Moshe Atlow) [#​46030](https://github.com/nodejs/node/pull/46030)
[`23b875806c`](https://github.com/nodejs/node/commit/23b875806c)] - **test_runner**: update comment to comply with eslint no-fallthrough rule (Antoine du Hamel) [#​46258](https://github.com/nodejs/node/pull/46258)
[`60d714e0c3`](https://github.com/nodejs/node/commit/60d714e0c3)] - **tools**: allow icutrim.py to run on python2 (Michael Dawson) [#​46263](https://github.com/nodejs/node/pull/46263)
[`08bafc84f6`](https://github.com/nodejs/node/commit/08bafc84f6)] - **url**: refactor to use more primordials (Antoine du Hamel) [#​45966](https://github.com/nodejs/node/pull/45966)
[`02632b42cf`](https://github.com/nodejs/node/commit/02632b42cf)] - **(SEMVER-MINOR)** **v8**: support gc profile (theanarkh) [#​46255](https://github.com/nodejs/node/pull/46255)
[`f864bef32a`](https://github.com/nodejs/node/commit/f864bef32a)] - **deps**: upgrade npm to 9.5.0 (npm team) [#​46673](https://github.com/nodejs/node/pull/46673)
Commits
[`880a65d7ff`](https://github.com/nodejs/node/commit/880a65d7ff)] - **build**: delete `snapshot.blob` file from the project (Juan José Arboleda) [#​46626](https://github.com/nodejs/node/pull/46626)
Based on the list of guidelines we've established on integrating npm and node,
here is a grouped list of the breaking changes with the reasoning as to why they
fit within the guidelines linked above. Note that all the breaking changes were
made in 9.0.0.
All subsequent minor and patch releases after npm@9.0.0 do not contain any
breaking changes.
Engines
Explanation: the node engines supported by npm@9 make it safe to allow npm@9 as the default in any LTS version of 14 or 16, as well as anything later than or including 18.0.0
npm is now compatible with the following semver range for node: ^14.17.0 || ^16.13.0 || >=18.0.0
Filesystem
Explanation: when run as root previous versions of npm attempted to manage file ownership automatically on the user's behalf. this behavior was problematic in many cases and has been removed in favor of allowing users to manage their own filesystem permissions
npm will no longer attempt to modify ownership of files it creates.
Auth
Explanation: any errors thrown from users having unsupported auth configurations will show npm config fix in the remediation instructions, which will allow the user to automatically have their auth config fixed.
The presence of auth related settings that are not scoped to a specific
registry found in a config file is no longer supported and will throw errors.
Login
Explanation: the default auth-type has changed and users can opt back into the old behavior with npm config set auth-type=legacy. login and adduser have also been seperated making each command more closely match it's name instead of being aliases for each other.
Legacy auth types sso, saml & legacy have been consolidated into "legacy".
auth-type defaults to "web"
login and adduser are now separate commands that send different data to the registry.
auth-type config values web and legacy only try their respective methods,
npm no longer tries them all and waits to see which one doesn't fail.
Tarball Packing
Explanation: previously using multiple ignore/allow lists when packing was an undefined behavior, and now the order of operations is strictly defined when packing a tarball making it easier to follow and should only affect users relying on the previously undefined behavior.
npm pack now follows a strict order of operations when applying ignore rules.
If a files array is present in the package.json, then rules in .gitignore
and .npmignore files from the root will be ignored.
Display/Debug/Timing Info
Explanation: these changes center around the display of information to the terminal including timing and debug log info. We do not anticipate these changes breaking any existing workflows.
Links generated from git urls will now use HEAD instead of master as the default ref.
timing has been removed as a value for --loglevel.
--timing will show timing information regardless of --loglevel, except when --silent.
When run with the --timing flag, npm now writes timing data to a file
alongside the debug log data, respecting the logs-dir option and falling
back to <CACHE>/_logs/ dir, instead of directly inside the cache directory.
The timing file data is no longer newline delimited JSON, and instead each run
will create a uniquely named <ID>-timing.json file, with the <ID> portion
being the same as the debug log.
npm now outputs some json errors on stdout. Previously npm would output
all json formatted errors on stderr, making it difficult to parse as the
stderr stream usually has logs already written to it.
Config/Command Deprecations or Removals
Explanation: install-links is the only config or command in the list that has an effect on package installs. We fixed a number of issues that came up during prereleases with this change. It will also only be applied to new package trees created without a package-lock.json file. Any install with an existing lock file will not be changed.
Deprecate boolean install flags in favor of --install-strategy.
npm config set will no longer accept deprecated or invalid config options.
install-links config defaults to "true".
node-version config has been removed.
npm-version config has been removed.
npm access subcommands have been renamed.
npm birthday has been removed.
npm set-script has been removed.
npm bin has been removed (use npx or npm exec to execute binaries).
Other notable changes
doc:
add parallelism note to os.cpus() (Colin Ihrig) #45895
[`4ee3238643`](https://github.com/nodejs/node/commit/4ee3238643)] - **async_hooks**: refactor to use `validateObject` (Deokjin Kim) [#​46004](https://github.com/nodejs/node/pull/46004)
[`79e0bf9b64`](https://github.com/nodejs/node/commit/79e0bf9b64)] - **benchmark**: include webstreams benchmark (Rafael Gonzaga) [#​45876](https://github.com/nodejs/node/pull/45876)
[`ed1ac82469`](https://github.com/nodejs/node/commit/ed1ac82469)] - **benchmark,tools**: use os.availableParallelism() (Deokjin Kim) [#​46003](https://github.com/nodejs/node/pull/46003)
[`599d1dc841`](https://github.com/nodejs/node/commit/599d1dc841)] - **crypto**: ensure auth tag set for chacha20-poly1305 (Ben Noordhuis) [#​46185](https://github.com/nodejs/node/pull/46185)
[`24a101698c`](https://github.com/nodejs/node/commit/24a101698c)] - **crypto**: return correct bit length in KeyObject's asymmetricKeyDetails (Filip Skokan) [#​46106](https://github.com/nodejs/node/pull/46106)
[`782b6f6f9f`](https://github.com/nodejs/node/commit/782b6f6f9f)] - **crypto**: ensure exported webcrypto EC keys use uncompressed point format (Ben Noordhuis) [#​46021](https://github.com/nodejs/node/pull/46021)
[`c6436450ee`](https://github.com/nodejs/node/commit/c6436450ee)] - **crypto**: fix error when getRandomValues is called without arguments (Filip Skokan) [#​45854](https://github.com/nodejs/node/pull/45854)
[`4cdf0002c5`](https://github.com/nodejs/node/commit/4cdf0002c5)] - **debugger**: refactor console in lib/internal/debugger/inspect.js (Debadree Chatterjee) [#​45847](https://github.com/nodejs/node/pull/45847)
[`4063cdcef6`](https://github.com/nodejs/node/commit/4063cdcef6)] - ***Revert*** "**deps**: disable avx512 for simutf on benchmark ci" (Yagiz Nizipli) [#​45948](https://github.com/nodejs/node/pull/45948)
[`64d3e3f3ba`](https://github.com/nodejs/node/commit/64d3e3f3ba)] - **deps**: disable avx512 for simutf on benchmark ci (Yagiz Nizipli) [#​45803](https://github.com/nodejs/node/pull/45803)
[`8de642517e`](https://github.com/nodejs/node/commit/8de642517e)] - **dgram**: sync the old handle state to new handle (theanarkh) [#​46041](https://github.com/nodejs/node/pull/46041)
[`6317502d10`](https://github.com/nodejs/node/commit/6317502d10)] - **doc**: update events API example to have runnable code (Deokjin Kim) [#​45760](https://github.com/nodejs/node/pull/45760)
[`a9db45eee1`](https://github.com/nodejs/node/commit/a9db45eee1)] - **doc**: add note to tls docs about secureContext availability (Tim Gerk) [#​46224](https://github.com/nodejs/node/pull/46224)
[`5294371063`](https://github.com/nodejs/node/commit/5294371063)] - **doc**: add text around collaborative expectations (Michael Dawson) [#​46121](https://github.com/nodejs/node/pull/46121)
[`be85d5a6eb`](https://github.com/nodejs/node/commit/be85d5a6eb)] - **doc**: update to match changed `--dns-result-order` default (Mordy Tikotzky) [#​46148](https://github.com/nodejs/node/pull/46148)
[`4f2d9ea6da`](https://github.com/nodejs/node/commit/4f2d9ea6da)] - **doc**: add Node-API media link (Kevin Eady) [#​46189](https://github.com/nodejs/node/pull/46189)
[`335110b0fb`](https://github.com/nodejs/node/commit/335110b0fb)] - **doc**: make options of readableStream.pipeTo as optional (Deokjin Kim) [#​46180](https://github.com/nodejs/node/pull/46180)
[`ec34cad712`](https://github.com/nodejs/node/commit/ec34cad712)] - **doc**: add PerformanceObserver.supportedEntryTypes to doc (theanarkh) [#​45962](https://github.com/nodejs/node/pull/45962)
[`d0f905bd6f`](https://github.com/nodejs/node/commit/d0f905bd6f)] - **doc**: duplex and readable from uncaught execption warning (Marco Ippolito) [#​46135](https://github.com/nodejs/node/pull/46135)
[`512feaafa4`](https://github.com/nodejs/node/commit/512feaafa4)] - **doc**: remove outdated sections from `maintaining-v8` (Antoine du Hamel) [#​46137](https://github.com/nodejs/node/pull/46137)
[`5539977f80`](https://github.com/nodejs/node/commit/5539977f80)] - **doc**: add personal pronouns option (Filip Skokan) [#​46118](https://github.com/nodejs/node/pull/46118)
[`1fabef3a81`](https://github.com/nodejs/node/commit/1fabef3a81)] - **doc**: mention how to run ncu-ci citgm (Rafael Gonzaga) [#​46090](https://github.com/nodejs/node/pull/46090)
[`fa5b65ea24`](https://github.com/nodejs/node/commit/fa5b65ea24)] - **doc**: use console.error for error case in timers and tls (Deokjin Kim) [#​46002](https://github.com/nodejs/node/pull/46002)
[`29d509c100`](https://github.com/nodejs/node/commit/29d509c100)] - **doc**: fix wrong output of example in `url.protocol` (Deokjin Kim) [#​45954](https://github.com/nodejs/node/pull/45954)
[`61dbca2690`](https://github.com/nodejs/node/commit/61dbca2690)] - **doc**: use `os.availableParallelism()` in async_context and cluster (Deokjin Kim) [#​45979](https://github.com/nodejs/node/pull/45979)
[`86b2c8cea2`](https://github.com/nodejs/node/commit/86b2c8cea2)] - **doc**: make EventEmitterAsyncResource's `options` as optional (Deokjin Kim) [#​45985](https://github.com/nodejs/node/pull/45985)
[`335acf7748`](https://github.com/nodejs/node/commit/335acf7748)] - **doc**: replace single executable champion in strategic initiatives doc (Darshan Sen) [#​45956](https://github.com/nodejs/node/pull/45956)
[`aab35a9388`](https://github.com/nodejs/node/commit/aab35a9388)] - **doc**: update error message of example in repl (Deokjin Kim) [#​45920](https://github.com/nodejs/node/pull/45920)
[`53a94a95ff`](https://github.com/nodejs/node/commit/53a94a95ff)] - **doc**: fix typos in packages.md (Eric Mutta) [#​45957](https://github.com/nodejs/node/pull/45957)
[`83875f46cf`](https://github.com/nodejs/node/commit/83875f46cf)] - **doc**: remove port from example in `url.hostname` (Deokjin Kim) [#​45927](https://github.com/nodejs/node/pull/45927)
[`162d3a94e3`](https://github.com/nodejs/node/commit/162d3a94e3)] - **doc**: show output of example in http (Deokjin Kim) [#​45915](https://github.com/nodejs/node/pull/45915)
[`546e083d36`](https://github.com/nodejs/node/commit/546e083d36)] - **doc**: fix wrong output of example in `url.password` (Deokjin Kim) [#​45928](https://github.com/nodejs/node/pull/45928)
[`14c95ecd23`](https://github.com/nodejs/node/commit/14c95ecd23)] - **doc**: fix some history entries in `deprecations.md` (Antoine du Hamel) [#​45891](https://github.com/nodejs/node/pull/45891)
[`d94dba973b`](https://github.com/nodejs/node/commit/d94dba973b)] - **doc**: add tip for NODE_MODULE (theanarkh) [#​45797](https://github.com/nodejs/node/pull/45797)
[`662f574c5b`](https://github.com/nodejs/node/commit/662f574c5b)] - **doc**: reduce likelihood of mismerges during release (Richard Lau) [#​45864](https://github.com/nodejs/node/pull/45864)
[`5eb93f1de9`](https://github.com/nodejs/node/commit/5eb93f1de9)] - **doc**: add stream/promises pipeline and finished to doc (Marco Ippolito) [#​45832](https://github.com/nodejs/node/pull/45832)
[`f874d0ba74`](https://github.com/nodejs/node/commit/f874d0ba74)] - **doc**: remove Juan Jose keys (Rafael Gonzaga) [#​45827](https://github.com/nodejs/node/pull/45827)
[`67efe2a55e`](https://github.com/nodejs/node/commit/67efe2a55e)] - **doc**: fix wrong output of example in util (Deokjin Kim) [#​45825](https://github.com/nodejs/node/pull/45825)
[`204757719c`](https://github.com/nodejs/node/commit/204757719c)] - **errors**: refactor to use a method that formats a list string (Daeyeon Jeong) [#​45793](https://github.com/nodejs/node/pull/45793)
[`463bb9602e`](https://github.com/nodejs/node/commit/463bb9602e)] - **esm**: mark `importAssertions` as required (Antoine du Hamel) [#​46164](https://github.com/nodejs/node/pull/46164)
[`0bdf2db079`](https://github.com/nodejs/node/commit/0bdf2db079)] - **esm**: rewrite loader hooks test (Geoffrey Booth) [#​46016](https://github.com/nodejs/node/pull/46016)
[`297773c6d1`](https://github.com/nodejs/node/commit/297773c6d1)] - **events**: change status of `event.returnvalue` to legacy (Deokjin Kim) [#​46175](https://github.com/nodejs/node/pull/46175)
[`d088d6e5c3`](https://github.com/nodejs/node/commit/d088d6e5c3)] - **events**: change status of `event.cancelBubble` to legacy (Deokjin Kim) [#​46146](https://github.com/nodejs/node/pull/46146)
[`36be0c4ee2`](https://github.com/nodejs/node/commit/36be0c4ee2)] - **events**: change status of `event.srcElement` to legacy (Deokjin Kim) [#​46085](https://github.com/nodejs/node/pull/46085)
[`b239f0684a`](https://github.com/nodejs/node/commit/b239f0684a)] - **events**: fix violation of symbol naming convention (Deokjin Kim) [#​45978](https://github.com/nodejs/node/pull/45978)
[`aec340b312`](https://github.com/nodejs/node/commit/aec340b312)] - **fs**: refactor to use `validateInteger` (Deokjin Kim) [#​46008](https://github.com/nodejs/node/pull/46008)
[`e620de6444`](https://github.com/nodejs/node/commit/e620de6444)] - **http**: refactor to use `validateHeaderName` (Deokjin Kim) [#​46143](https://github.com/nodejs/node/pull/46143)
[`3e70b7d863`](https://github.com/nodejs/node/commit/3e70b7d863)] - **http**: writeHead if statusmessage is undefined dont override headers (Marco Ippolito) [#​46173](https://github.com/nodejs/node/pull/46173)
[`3d1dd96c4f`](https://github.com/nodejs/node/commit/3d1dd96c4f)] - **http**: refactor to use min of validateNumber for maxTotalSockets (Deokjin Kim) [#​46115](https://github.com/nodejs/node/pull/46115)
[`8c06e2f645`](https://github.com/nodejs/node/commit/8c06e2f645)] - **http**: replace `var` with `const` on code of comment (Deokjin Kim) [#​45951](https://github.com/nodejs/node/pull/45951)
[`edcd4fc576`](https://github.com/nodejs/node/commit/edcd4fc576)] - **lib**: use kEmptyObject and update JSDoc in webstreams (Deokjin Kim) [#​46183](https://github.com/nodejs/node/pull/46183)
[`d6fc855b8a`](https://github.com/nodejs/node/commit/d6fc855b8a)] - **lib**: refactor to use validate function (Deokjin Kim) [#​46101](https://github.com/nodejs/node/pull/46101)
[`bc17f37b98`](https://github.com/nodejs/node/commit/bc17f37b98)] - **lib**: reuse invalid state errors on webstreams (Rafael Gonzaga) [#​46086](https://github.com/nodejs/node/pull/46086)
[`86554bf27c`](https://github.com/nodejs/node/commit/86554bf27c)] - **lib**: fix incorrect use of console intrinsic (Colin Ihrig) [#​46044](https://github.com/nodejs/node/pull/46044)
[`7fc7b19124`](https://github.com/nodejs/node/commit/7fc7b19124)] - **lib**: update JSDoc of `getOwnPropertyValueOrDefault` (Deokjin Kim) [#​46010](https://github.com/nodejs/node/pull/46010)
[`c1cc1f9e12`](https://github.com/nodejs/node/commit/c1cc1f9e12)] - **lib**: use `kEmptyObject` as default value for options (Deokjin Kim) [#​46011](https://github.com/nodejs/node/pull/46011)
[`d8ce990ce6`](https://github.com/nodejs/node/commit/d8ce990ce6)] - **meta**: update comment in `CODEOWNERS` to better reflect current policy (Antoine du Hamel) [#​45944](https://github.com/nodejs/node/pull/45944)
[`8fac4c5684`](https://github.com/nodejs/node/commit/8fac4c5684)] - **perf_hooks**: fix checking range of `options.figures` in createHistogram (Deokjin Kim) [#​45999](https://github.com/nodejs/node/pull/45999)
[`ea73702847`](https://github.com/nodejs/node/commit/ea73702847)] - **process,worker**: ensure code after exit() effectless (ywave620) [#​45620](https://github.com/nodejs/node/pull/45620)
[`784ed594ea`](https://github.com/nodejs/node/commit/784ed594ea)] - **repl**: improve robustness wrt to prototype pollution (Antoine du Hamel) [#​45604](https://github.com/nodejs/node/pull/45604)
[`fab72b1677`](https://github.com/nodejs/node/commit/fab72b1677)] - **src**: use simdutf for converting externalized builtins to UTF-16 (Anna Henningsen) [#​46119](https://github.com/nodejs/node/pull/46119)
[`67729961e7`](https://github.com/nodejs/node/commit/67729961e7)] - **src**: use constant strings for memory info names (Chengzhong Wu) [#​46087](https://github.com/nodejs/node/pull/46087)
[`0ac4e5dd34`](https://github.com/nodejs/node/commit/0ac4e5dd34)] - **src**: fix typo in node_snapshotable.cc (Vadim) [#​46103](https://github.com/nodejs/node/pull/46103)
[`b454a7665d`](https://github.com/nodejs/node/commit/b454a7665d)] - **src**: keep PipeWrap::Open function consistent with TCPWrap (theanarkh) [#​46064](https://github.com/nodejs/node/pull/46064)
[`41f5a29cca`](https://github.com/nodejs/node/commit/41f5a29cca)] - **src**: speed up process.getActiveResourcesInfo() (Darshan Sen) [#​46014](https://github.com/nodejs/node/pull/46014)
[`02a61dd6bd`](https://github.com/nodejs/node/commit/02a61dd6bd)] - **src**: fix typo in `node_file.cc` (Vadim) [#​45998](https://github.com/nodejs/node/pull/45998)
[`99c033ed98`](https://github.com/nodejs/node/commit/99c033ed98)] - **src**: fix crash on OnStreamRead on Windows (Santiago Gimeno) [#​45878](https://github.com/nodejs/node/pull/45878)
[`574afac26a`](https://github.com/nodejs/node/commit/574afac26a)] - **src**: check size of args before using for exec_path (A. Wilcox) [#​45902](https://github.com/nodejs/node/pull/45902)
[`f0692468cd`](https://github.com/nodejs/node/commit/f0692468cd)] - **src**: fix tls certificate root store data race (Ben Noordhuis) [#​45767](https://github.com/nodejs/node/pull/45767)
[`a749ceda2e`](https://github.com/nodejs/node/commit/a749ceda2e)] - **src**: add undici and acorn to `process.versions` (Debadree Chatterjee) [#​45621](https://github.com/nodejs/node/pull/45621)
[`08a6a61575`](https://github.com/nodejs/node/commit/08a6a61575)] - **src,lib**: the handle keeps loop alive in cluster rr mode (theanarkh) [#​46161](https://github.com/nodejs/node/pull/46161)
[`a87963de6b`](https://github.com/nodejs/node/commit/a87963de6b)] - **stream**: fix pipeline calling end on destination more than once (Debadree Chatterjee) [#​46226](https://github.com/nodejs/node/pull/46226)
[`cde59606cd`](https://github.com/nodejs/node/commit/cde59606cd)] - **(SEMVER-MINOR)** **stream**: implement finished() for ReadableStream and WritableStream (Debadree Chatterjee) [#​46205](https://github.com/nodejs/node/pull/46205)
[`441d9de33e`](https://github.com/nodejs/node/commit/441d9de33e)] - **stream**: refactor to use `validateFunction` (Deokjin Kim) [#​46007](https://github.com/nodejs/node/pull/46007)
[`325fc08d48`](https://github.com/nodejs/node/commit/325fc08d48)] - **stream**: fix typo in JSDoc (Deokjin Kim) [#​45991](https://github.com/nodejs/node/pull/45991)
[`a3056f4125`](https://github.com/nodejs/node/commit/a3056f4125)] - **test**: refactor to avoid mutation of global by a loader (Michaël Zasso) [#​46220](https://github.com/nodejs/node/pull/46220)
[`1790569518`](https://github.com/nodejs/node/commit/1790569518)] - **test**: improve test coverage for WHATWG `TextDecoder` (Juan José) [#​45241](https://github.com/nodejs/node/pull/45241)
[`896027c006`](https://github.com/nodejs/node/commit/896027c006)] - **test**: add fix so that test exits if port 42 is unprivileged (Suyash Nayan) [#​45904](https://github.com/nodejs/node/pull/45904)
[`257224da0e`](https://github.com/nodejs/node/commit/257224da0e)] - **test**: use `os.availableParallelism()` (Deokjin Kim) [#​46003](https://github.com/nodejs/node/pull/46003)
[`7e1462dd02`](https://github.com/nodejs/node/commit/7e1462dd02)] - **test**: update Web Events WPT (Deokjin Kim) [#​46051](https://github.com/nodejs/node/pull/46051)
[`40d52fbc5f`](https://github.com/nodejs/node/commit/40d52fbc5f)] - **test**: add test to once() in event lib (Jonathan Diaz) [#​46126](https://github.com/nodejs/node/pull/46126)
[`f3518f3337`](https://github.com/nodejs/node/commit/f3518f3337)] - **test**: use `process.hrtime.bigint` instead of `process.hrtime` (Deokjin Kim) [#​45877](https://github.com/nodejs/node/pull/45877)
[`7cb6fef6d6`](https://github.com/nodejs/node/commit/7cb6fef6d6)] - **test**: fix test broken under --node-builtin-modules-path (Geoffrey Booth) [#​45894](https://github.com/nodejs/node/pull/45894)
[`55e4140c34`](https://github.com/nodejs/node/commit/55e4140c34)] - **test**: fix mock.method to support class instances (Erick Wendel) [#​45608](https://github.com/nodejs/node/pull/45608)
[`3269423032`](https://github.com/nodejs/node/commit/3269423032)] - **test,esm**: validate more edge cases for dynamic imports (Antoine du Hamel) [#​46059](https://github.com/nodejs/node/pull/46059)
[`cade2fccf4`](https://github.com/nodejs/node/commit/cade2fccf4)] - **test_runner**: run t.after() if test body throws (Colin Ihrig) [#​45870](https://github.com/nodejs/node/pull/45870)
[`09adb86c19`](https://github.com/nodejs/node/commit/09adb86c19)] - **tools**: fix macro name in update-undici (Almeida) [#​46217](https://github.com/nodejs/node/pull/46217)
[`fafbd1ca72`](https://github.com/nodejs/node/commit/fafbd1ca72)] - **tools**: move update-eslint.sh to dep_updaters/ (Luigi Pinca) [#​46088](https://github.com/nodejs/node/pull/46088)
[`609df01fa9`](https://github.com/nodejs/node/commit/609df01fa9)] - **tools**: make update-eslint.sh work with npm@9 (Luigi Pinca) [#​46088](https://github.com/nodejs/node/pull/46088)
[`5aaa8c3bbf`](https://github.com/nodejs/node/commit/5aaa8c3bbf)] - **tools**: enforce use of trailing commas in `tools/` (Antoine du Hamel) [#​45889](https://github.com/nodejs/node/pull/45889)
[`1e32520f72`](https://github.com/nodejs/node/commit/1e32520f72)] - **tools**: add `ArrayPrototypeConcat` to the list of primordials to avoid (Antoine du Hamel) [#​44445](https://github.com/nodejs/node/pull/44445)
[`e0cda56204`](https://github.com/nodejs/node/commit/e0cda56204)] - **tools**: fix incorrect version history order (Fabien Michel) [#​45728](https://github.com/nodejs/node/pull/45728)
[`0defe4effa`](https://github.com/nodejs/node/commit/0defe4effa)] - **trace_events**: refactor to use `validateStringArray` (Deokjin Kim) [#​46012](https://github.com/nodejs/node/pull/46012)
[`f1dcbe7652`](https://github.com/nodejs/node/commit/f1dcbe7652)] - **util**: add fast path for text-decoder fatal flag (Yagiz Nizipli) [#​45803](https://github.com/nodejs/node/pull/45803)
[`277d9da876`](https://github.com/nodejs/node/commit/277d9da876)] - **vm**: refactor to use validate function (Deokjin Kim) [#​46176](https://github.com/nodejs/node/pull/46176)
[`96f1b2e731`](https://github.com/nodejs/node/commit/96f1b2e731)] - **vm**: refactor to use `validateStringArray` (Deokjin Kim) [#​46020](https://github.com/nodejs/node/pull/46020)
v18.13.0: 2023-01-05, Version 18.13.0 'Hydrogen' (LTS), @danielleadams
By default Node.js is built so that all dependencies are bundled into the Node.js binary itself. Some Node.js distributions prefer to manage dependencies externally. There are existing build options that allow dependencies with native code to be externalized. This commit adds additional options so that dependencies with JavaScript code (including WASM) can also be externalized. This addition does not affect binaries shipped by the Node.js project but will allow other distributions to externalize additional dependencies when needed.
The File class is part of the FileAPI. It can be used anywhere a Blob can, for example in URL.createObjectURL and FormData. It contains two properties that Blobs do not have: lastModified, the last time the file was modified in ms, and name, the name of the file.
The node:test module supports mocking during testing via a top-level mock
object.
test('spies on an object method',(t)=>{constnumber={value:5,add(a){returnthis.value+a;},};t.mock.method(number,'add');assert.strictEqual(number.add(3),8);assert.strictEqual(number.add.mock.calls.length,1);});
[`9925d20ed8`](https://github.com/nodejs/node/commit/9925d20ed8)] - **benchmark**: add variety of inputs to text-encoder (Yagiz Nizipli) [#​45787](https://github.com/nodejs/node/pull/45787)
[`5e167bd658`](https://github.com/nodejs/node/commit/5e167bd658)] - **benchmark**: make benchmarks runnable in older versions of Node.js (Joyee Cheung) [#​45746](https://github.com/nodejs/node/pull/45746)
[`2ee3d81277`](https://github.com/nodejs/node/commit/2ee3d81277)] - **bootstrap**: merge main thread and worker thread initializations (Joyee Cheung) [#​44869](https://github.com/nodejs/node/pull/44869)
[`e638ea4f48`](https://github.com/nodejs/node/commit/e638ea4f48)] - **bootstrap**: check more metadata when loading the snapshot (Joyee Cheung) [#​44132](https://github.com/nodejs/node/pull/44132)
[`bfcf4f0046`](https://github.com/nodejs/node/commit/bfcf4f0046)] - **buffer**: make decodeUTF8 params loose (Yagiz Nizipli) [#​45610](https://github.com/nodejs/node/pull/45610)
[`345b847aa6`](https://github.com/nodejs/node/commit/345b847aa6)] - **buffer**: fix validation of options in `Blob` constructor (Antoine du Hamel) [#​45156](https://github.com/nodejs/node/pull/45156)
[`f58b32c22e`](https://github.com/nodejs/node/commit/f58b32c22e)] - **build**: fix env.h for cpp20 (Jiawen Geng) [#​45516](https://github.com/nodejs/node/pull/45516)
[`1de1f679ec`](https://github.com/nodejs/node/commit/1de1f679ec)] - ***Revert*** "**build**: remove precompiled header and debug information for host builds" (Stefan Stojanovic) [#​45432](https://github.com/nodejs/node/pull/45432)
[`89d1eb58b0`](https://github.com/nodejs/node/commit/89d1eb58b0)] - **build**: add --v8-disable-object-print flag (MURAKAMI Masahiko) [#​45458](https://github.com/nodejs/node/pull/45458)
[`f2a4def232`](https://github.com/nodejs/node/commit/f2a4def232)] - **build**: make scripts in gyp run with right python (Jiawen Geng) [#​45435](https://github.com/nodejs/node/pull/45435)
[`473a879c91`](https://github.com/nodejs/node/commit/473a879c91)] - **build**: workaround for node-core-utils (Jiawen Geng) [#​45199](https://github.com/nodejs/node/pull/45199)
[`abcc034c61`](https://github.com/nodejs/node/commit/abcc034c61)] - **build**: fix icu-small build with ICU 72.1 (Steven R. Loomis) [#​45195](https://github.com/nodejs/node/pull/45195)
[`8a99221a21`](https://github.com/nodejs/node/commit/8a99221a21)] - **build**: remove unused language files (Ben Noordhuis) [#​45138](https://github.com/nodejs/node/pull/45138)
[`2aac993bb2`](https://github.com/nodejs/node/commit/2aac993bb2)] - **build**: add version info to timezone update PR (Darshan Sen) [#​45021](https://github.com/nodejs/node/pull/45021)
[`0db19b3c60`](https://github.com/nodejs/node/commit/0db19b3c60)] - **build**: support Python 3.11 (Luigi Pinca) [#​45191](https://github.com/nodejs/node/pull/45191)
[`b92b80424a`](https://github.com/nodejs/node/commit/b92b80424a)] - **crypto**: validate CFRG webcrypto JWK import "d" and "x" are a pair (Filip Skokan) [#​45569](https://github.com/nodejs/node/pull/45569)
[`621e3c9cd4`](https://github.com/nodejs/node/commit/621e3c9cd4)] - **crypto**: use DataError for CFRG webcrypto raw and jwk import key checks (Filip Skokan) [#​45569](https://github.com/nodejs/node/pull/45569)
[`8fcfbeffe1`](https://github.com/nodejs/node/commit/8fcfbeffe1)] - **crypto**: use DataError for webcrypto keyData import failures (Filip Skokan) [#​45569](https://github.com/nodejs/node/pull/45569)
[`a976a63138`](https://github.com/nodejs/node/commit/a976a63138)] - **crypto**: fix X25519 and X448 webcrypto public CryptoKey usages (Filip Skokan) [#​45569](https://github.com/nodejs/node/pull/45569)
[`27adcc9c4b`](https://github.com/nodejs/node/commit/27adcc9c4b)] - **crypto**: ensure "x" is present when importing private CFRG webcrypto keys (Filip Skokan) [#​45569](https://github.com/nodejs/node/pull/45569)
[`43419ad6bc`](https://github.com/nodejs/node/commit/43419ad6bc)] - **deps**: fix zlib compilation for CPUs without SIMD features (Anna Henningsen) [#​45387](https://github.com/nodejs/node/pull/45387)
[`2752f543bc`](https://github.com/nodejs/node/commit/2752f543bc)] - **diagnostics_channel**: mark as stable (Stephen Belanger) [#​45290](https://github.com/nodejs/node/pull/45290)
[`9ceed7a1cc`](https://github.com/nodejs/node/commit/9ceed7a1cc)] - **dns**: fix port validation (Antoine du Hamel) [#​45135](https://github.com/nodejs/node/pull/45135)
[`108220cb05`](https://github.com/nodejs/node/commit/108220cb05)] - **doc**: buffer.fill empty value (Marco Ippolito) [#​45794](https://github.com/nodejs/node/pull/45794)
[`b5ad92fea2`](https://github.com/nodejs/node/commit/b5ad92fea2)] - **doc**: add args of filter option of fs.cp (MURAKAMI Masahiko) [#​45739](https://github.com/nodejs/node/pull/45739)
[`6e35803789`](https://github.com/nodejs/node/commit/6e35803789)] - **doc**: using console.error for error cases in crypto and events (emirgoren) [#​45640](https://github.com/nodejs/node/pull/45640)
[`fcd0f71979`](https://github.com/nodejs/node/commit/fcd0f71979)] - **doc**: fix actual result of example is different in events (Deokjin Kim) [#​45656](https://github.com/nodejs/node/pull/45656)
[`c1f90a5b7b`](https://github.com/nodejs/node/commit/c1f90a5b7b)] - **doc**: add detail on how api docs are published (Michael Dawson) [#​45626](https://github.com/nodejs/node/pull/45626)
[`90e9951d30`](https://github.com/nodejs/node/commit/90e9951d30)] - **doc**: use console.error for error case in child_process and dgram (Deokjin Kim) [#​45690](https://github.com/nodejs/node/pull/45690)
[`a3eb2dd9b4`](https://github.com/nodejs/node/commit/a3eb2dd9b4)] - **doc**: add Rafael to the tsc (Michael Dawson) [#​45691](https://github.com/nodejs/node/pull/45691)
[`fa8caa328f`](https://github.com/nodejs/node/commit/fa8caa328f)] - **doc**: add missing line in debugger (Deokjin Kim) [#​45632](https://github.com/nodejs/node/pull/45632)
[`3fb5c6d3c5`](https://github.com/nodejs/node/commit/3fb5c6d3c5)] - **doc**: fix actual result of example is different in stream (Deokjin Kim) [#​45619](https://github.com/nodejs/node/pull/45619)
[`6881188f0f`](https://github.com/nodejs/node/commit/6881188f0f)] - **doc**: define "react-native" community condition (Alex Hunt) [#​45367](https://github.com/nodejs/node/pull/45367)
[`53e01f650f`](https://github.com/nodejs/node/commit/53e01f650f)] - **doc**: move os.machine() docs to sorted position (Colin Ihrig) [#​45647](https://github.com/nodejs/node/pull/45647)
[`0669712cbd`](https://github.com/nodejs/node/commit/0669712cbd)] - **doc**: use console.error for error case in fs, https, net and process (Deokjin Kim) [#​45606](https://github.com/nodejs/node/pull/45606)
[`ebc89f15fe`](https://github.com/nodejs/node/commit/ebc89f15fe)] - **doc**: add link to doc with social processes (Michael Dawson) [#​45584](https://github.com/nodejs/node/pull/45584)
[`b771fdb6f8`](https://github.com/nodejs/node/commit/b771fdb6f8)] - **doc**: deprecate use of invalid ports in `url.parse` (Antoine du Hamel) [#​45576](https://github.com/nodejs/node/pull/45576)
[`6a36159764`](https://github.com/nodejs/node/commit/6a36159764)] - **doc**: clarify changes in readableFlowing (Kohei Ueno) [#​45554](https://github.com/nodejs/node/pull/45554)
[`30a8604143`](https://github.com/nodejs/node/commit/30a8604143)] - **doc**: use console.error for error case in http2 (Deokjin Kim) [#​45577](https://github.com/nodejs/node/pull/45577)
[`8e94339891`](https://github.com/nodejs/node/commit/8e94339891)] - **doc**: add version description about fsPromise.constants (chlorine) [#​45556](https://github.com/nodejs/node/pull/45556)
[`785817e341`](https://github.com/nodejs/node/commit/785817e341)] - **doc**: fix typo in maintaining-dependencies.md (Tobias Nießen) [#​45428](https://github.com/nodejs/node/pull/45428)
[`00e02bda3a`](https://github.com/nodejs/node/commit/00e02bda3a)] - **doc**: allow for holidays in triage response (Michael Dawson) [#​45267](https://github.com/nodejs/node/pull/45267)
[`bef5206b84`](https://github.com/nodejs/node/commit/bef5206b84)] - **doc**: include last security release date (Juan José Arboleda) [#​45368](https://github.com/nodejs/node/pull/45368)
[`846b1aefac`](https://github.com/nodejs/node/commit/846b1aefac)] - **doc**: fix email for Ashley (Michael Dawson) [#​45364](https://github.com/nodejs/node/pull/45364)
[`913b669a2b`](https://github.com/nodejs/node/commit/913b669a2b)] - **doc**: fix test runner's only tests section header (Colin Ihrig) [#​45343](https://github.com/nodejs/node/pull/45343)
[`691da886f1`](https://github.com/nodejs/node/commit/691da886f1)] - **doc**: run license-builder (github-actions\[bot]) [#​45349](https://github.com/nodejs/node/pull/45349)
[`90a28920de`](https://github.com/nodejs/node/commit/90a28920de)] - **doc**: add more info for timer.setInterval (theanarkh) [#​45232](https://github.com/nodejs/node/pull/45232)
[`d2fc2aa666`](https://github.com/nodejs/node/commit/d2fc2aa666)] - **doc**: use module names in stability overview table (Filip Skokan) [#​45312](https://github.com/nodejs/node/pull/45312)
[`248de57278`](https://github.com/nodejs/node/commit/248de57278)] - **doc**: add history section to `fetch`-related globals (Antoine du Hamel) [#​45198](https://github.com/nodejs/node/pull/45198)
[`1f5975ef50`](https://github.com/nodejs/node/commit/1f5975ef50)] - **doc**: clarify moderation in `onboarding.md` (Benjamin Gruenbaum) [#​41930](https://github.com/nodejs/node/pull/41930)
[`4e87c36570`](https://github.com/nodejs/node/commit/4e87c36570)] - **doc**: change make lint to make lint-md (RafaelGSS) [#​45197](https://github.com/nodejs/node/pull/45197)
[`3381a17d2c`](https://github.com/nodejs/node/commit/3381a17d2c)] - **doc**: add more lts update steps to release guide (Ruy Adorno) [#​45177](https://github.com/nodejs/node/pull/45177)
[`64b0495310`](https://github.com/nodejs/node/commit/64b0495310)] - **doc**: add bmuenzenmeyer to triagers (Brian Muenzenmeyer) [#​45155](https://github.com/nodejs/node/pull/45155)
[`05d89c4722`](https://github.com/nodejs/node/commit/05d89c4722)] - **doc**: add link to triage guide (Brian Muenzenmeyer) [#​45154](https://github.com/nodejs/node/pull/45154)
[`f1aa82fd3c`](https://github.com/nodejs/node/commit/f1aa82fd3c)] - **doc**: mark Node.js 12 as End-of-Life (Rafael Gonzaga) [#​45186](https://github.com/nodejs/node/pull/45186)
[`da6f308612`](https://github.com/nodejs/node/commit/da6f308612)] - **doc**: add lukekarrys to collaborators (Luke Karrys) [#​45180](https://github.com/nodejs/node/pull/45180)
[`17380a1e6a`](https://github.com/nodejs/node/commit/17380a1e6a)] - **doc**: update mark release line lts on release guide (Ruy Adorno) [#​45101](https://github.com/nodejs/node/pull/45101)
[`3ddb6ccb2a`](https://github.com/nodejs/node/commit/3ddb6ccb2a)] - **doc**: be more definite and present tense-y (Ben Noordhuis) [#​45120](https://github.com/nodejs/node/pull/45120)
[`b09c386208`](https://github.com/nodejs/node/commit/b09c386208)] - **doc**: add major version note to release guide (Ruy Adorno) [#​45054](https://github.com/nodejs/node/pull/45054)
[`8bb23a4da3`](https://github.com/nodejs/node/commit/8bb23a4da3)] - **doc**: mark Node.js v17.x as EOL (KaKa) [#​45110](https://github.com/nodejs/node/pull/45110)
[`e41a39c2b9`](https://github.com/nodejs/node/commit/e41a39c2b9)] - **doc**: run license-builder (github-actions\[bot]) [#​45034](https://github.com/nodejs/node/pull/45034)
[`875de23ee9`](https://github.com/nodejs/node/commit/875de23ee9)] - **doc**: improve the workflow to test release binaries (Rafael Gonzaga) [#​45004](https://github.com/nodejs/node/pull/45004)
[`d7fc12f647`](https://github.com/nodejs/node/commit/d7fc12f647)] - **doc**: fix undici version in changelog (Michael Dawson) [#​44982](https://github.com/nodejs/node/pull/44982)
[`4494cb2e82`](https://github.com/nodejs/node/commit/4494cb2e82)] - **doc**: add info on fixup to security release process (Michael Dawson) [#​44807](https://github.com/nodejs/node/pull/44807)
[`88351b9758`](https://github.com/nodejs/node/commit/88351b9758)] - **doc**: add anonrig to collaborators (Yagiz Nizipli) [#​45002](https://github.com/nodejs/node/pull/45002)
[`b305ad46fd`](https://github.com/nodejs/node/commit/b305ad46fd)] - **fs**: fix fs.rm support for loop symlinks (Nathanael Ruf) [#​45439](https://github.com/nodejs/node/pull/45439)
[`c2f0377b8f`](https://github.com/nodejs/node/commit/c2f0377b8f)] - **fs**: update todo message (Yagiz Nizipli) [#​45265](https://github.com/nodejs/node/pull/45265)
[`1db20c84e1`](https://github.com/nodejs/node/commit/1db20c84e1)] - **fs**: fix opts.filter issue in cpSync (Tho) [#​45143](https://github.com/nodejs/node/pull/45143)
[`da302ce15b`](https://github.com/nodejs/node/commit/da302ce15b)] - **fs**: trace more fs api (theanarkh) [#​45095](https://github.com/nodejs/node/pull/45095)
[`cbd710bbf4`](https://github.com/nodejs/node/commit/cbd710bbf4)] - **http**: make `OutgoingMessage` more streamlike (Robert Nagy) [#​45672](https://github.com/nodejs/node/pull/45672)
[`f222c95209`](https://github.com/nodejs/node/commit/f222c95209)] - **http**: add priority to common http headers (James M Snell) [#​45045](https://github.com/nodejs/node/pull/45045)
[`2882e6042e`](https://github.com/nodejs/node/commit/2882e6042e)] - ***Revert*** "**http**: do not leak error listeners" (Luigi Pinca) [#​44921](https://github.com/nodejs/node/pull/44921)
[`bbaca8442a`](https://github.com/nodejs/node/commit/bbaca8442a)] - **lib**: allow Writeable.toWeb() to work on http.Outgoing message (Debadree Chatterjee) [#​45642](https://github.com/nodejs/node/pull/45642)
[`1284789371`](https://github.com/nodejs/node/commit/1284789371)] - **lib**: check number of arguments in `EventTarget`'s function (Deokjin Kim) [#​45668](https://github.com/nodejs/node/pull/45668)
[`55f800b806`](https://github.com/nodejs/node/commit/55f800b806)] - **lib**: added SuiteContext class (Debadree Chatterjee) [#​45687](https://github.com/nodejs/node/pull/45687)
[`1ff8f689fa`](https://github.com/nodejs/node/commit/1ff8f689fa)] - **lib**: add missing type of removeEventListener in question (Deokjin Kim) [#​45676](https://github.com/nodejs/node/pull/45676)
[`2c595da5dc`](https://github.com/nodejs/node/commit/2c595da5dc)] - **lib**: do not throw if global property is no longer configurable (Antoine du Hamel) [#​45344](https://github.com/nodejs/node/pull/45344)
[`b9d4ac2c7e`](https://github.com/nodejs/node/commit/b9d4ac2c7e)] - **lib**: fix eslint early return (RafaelGSS) [#​45409](https://github.com/nodejs/node/pull/45409)
[`385d795816`](https://github.com/nodejs/node/commit/385d795816)] - **lib**: fix typo in `pre_execution.js` (Antoine du Hamel) [#​45039](https://github.com/nodejs/node/pull/45039)
[`4ab1530b9b`](https://github.com/nodejs/node/commit/4ab1530b9b)] - **lib**: promise version of streams.finished call clean up (Naor Tedgi (Abu Emma)) [#​44862](https://github.com/nodejs/node/pull/44862)
[`2a3bd11edd`](https://github.com/nodejs/node/commit/2a3bd11edd)] - **lib**: make properties on Blob and URL enumerable (Khafra) [#​44918](https://github.com/nodejs/node/pull/44918)
[`f412834151`](https://github.com/nodejs/node/commit/f412834151)] - **lib**: support more attributes for early hint link (Yagiz Nizipli) [#​44874](https://github.com/nodejs/node/pull/44874)
[`221f298078`](https://github.com/nodejs/node/commit/221f298078)] - **meta**: be more proactive about removing from teams (Rich Trott) [#​45352](https://github.com/nodejs/node/pull/45352)
[`5aa4ea931a`](https://github.com/nodejs/node/commit/5aa4ea931a)] - **meta**: move a collaborator to emeritus (Rich Trott) [#​45160](https://github.com/nodejs/node/pull/45160)
[`4fe060e957`](https://github.com/nodejs/node/commit/4fe060e957)] - **meta**: move one or more collaborators to emeritus (Node.js GitHub Bot) [#​45036](https://github.com/nodejs/node/pull/45036)
[`581b38af13`](https://github.com/nodejs/node/commit/581b38af13)] - **node-api**: declare type napi_cleanup_hook (Chengzhong Wu) [#​45391](https://github.com/nodejs/node/pull/45391)
[`44766c6522`](https://github.com/nodejs/node/commit/44766c6522)] - **node-api**: fix immediate napi_remove_wrap test (Chengzhong Wu) [#​45406](https://github.com/nodejs/node/pull/45406)
[`746175a272`](https://github.com/nodejs/node/commit/746175a272)] - **node-api**: handle no support for external buffers (Michael Dawson) [#​45181](https://github.com/nodejs/node/pull/45181)
[`bc5140383c`](https://github.com/nodejs/node/commit/bc5140383c)] - **os**: convert uid and gid to 32-bit signed integers (Luigi Pinca) [#​42340](https://github.com/nodejs/node/pull/42340)
[`ff03ed1c22`](https://github.com/nodejs/node/commit/ff03ed1c22)] - **readline**: improve robustness against prototype mutation (Antoine du Hamel) [#​45614](https://github.com/nodejs/node/pull/45614)
[`b999983c30`](https://github.com/nodejs/node/commit/b999983c30)] - **repl**: do not define `wasi` on global with no flag (Kohei Ueno) [#​45595](https://github.com/nodejs/node/pull/45595)
[`a186a4d7ef`](https://github.com/nodejs/node/commit/a186a4d7ef)] - **report**: add more memory info (theanarkh) [#​45254](https://github.com/nodejs/node/pull/45254)
[`a880568afd`](https://github.com/nodejs/node/commit/a880568afd)] - **report**: add rss and use/kernel cpu usage fields (theanarkh) [#​45043](https://github.com/nodejs/node/pull/45043)
[`49da5cd0ee`](https://github.com/nodejs/node/commit/49da5cd0ee)] - **report,doc**: define report version semantics (Gireesh Punathil) [#​45050](https://github.com/nodejs/node/pull/45050)
[`b88ee545f2`](https://github.com/nodejs/node/commit/b88ee545f2)] - **src**: make structuredClone work for process.env (Ben Noordhuis) [#​45698](https://github.com/nodejs/node/pull/45698)
[`94e6f08606`](https://github.com/nodejs/node/commit/94e6f08606)] - **src**: mark generated `snapshot_data` as `const` (Anna Henningsen) [#​45786](https://github.com/nodejs/node/pull/45786)
[`ed0a867a4e`](https://github.com/nodejs/node/commit/ed0a867a4e)] - **src**: use `enum class` instead of `enum` in node_i18n (Deokjin Kim) [#​45646](https://github.com/nodejs/node/pull/45646)
[`3f5a23281c`](https://github.com/nodejs/node/commit/3f5a23281c)] - **src**: add missing include for `std::all_of` (Michaël Zasso) [#​45541](https://github.com/nodejs/node/pull/45541)
[`0328208f6c`](https://github.com/nodejs/node/commit/0328208f6c)] - **src**: set an appropriate thread pool size if given `--v8-pool-size=0` (Daeyeon Jeong) [#​45513](https://github.com/nodejs/node/pull/45513)
[`fbfd26da7d`](https://github.com/nodejs/node/commit/fbfd26da7d)] - **src**: move FsStatsOffset and kFsStatsBufferLength to node_file.h (Joyee Cheung) [#​45498](https://github.com/nodejs/node/pull/45498)
[`2c6a4fd6fa`](https://github.com/nodejs/node/commit/2c6a4fd6fa)] - **src**: don't run tasks on isolate termination (Santiago Gimeno) [#​45444](https://github.com/nodejs/node/pull/45444)
[`9c39b5ec48`](https://github.com/nodejs/node/commit/9c39b5ec48)] - **src**: remove the unused PackageConfig class (Joyee Cheung) [#​45478](https://github.com/nodejs/node/pull/45478)
[`70ca26a858`](https://github.com/nodejs/node/commit/70ca26a858)] - **src**: add --max-semi-space-size to the options allowed in NODE_OPTIONS (Emanuel Hoogeveen) [#​44436](https://github.com/nodejs/node/pull/44436)
[`9ac7df1c6a`](https://github.com/nodejs/node/commit/9ac7df1c6a)] - **src**: track contexts in the Environment instead of AsyncHooks (Joyee Cheung) [#​45282](https://github.com/nodejs/node/pull/45282)
[`89b3336120`](https://github.com/nodejs/node/commit/89b3336120)] - **src**: resolve TODO related to inspector CVEs (Tobias Nießen) [#​45341](https://github.com/nodejs/node/pull/45341)
[`e05ebe8f9b`](https://github.com/nodejs/node/commit/e05ebe8f9b)] - **src**: print nghttp2 logs when using --debug-nghttp2 (Santiago Gimeno) [#​45209](https://github.com/nodejs/node/pull/45209)
[`8c4ac6dcf5`](https://github.com/nodejs/node/commit/8c4ac6dcf5)] - **src**: call uv_library_shutdown before DisposePlatform (theanarkh) [#​45226](https://github.com/nodejs/node/pull/45226)
[`614d646767`](https://github.com/nodejs/node/commit/614d646767)] - **src**: fix `crypto.privateEncrypt` fails first time (liuxingbaoyu) [#​42793](https://github.com/nodejs/node/pull/42793)
[`dee882e94f`](https://github.com/nodejs/node/commit/dee882e94f)] - **src**: let http2 streams end after session close (Santiago Gimeno) [#​45153](https://github.com/nodejs/node/pull/45153)
[`b11616be6b`](https://github.com/nodejs/node/commit/b11616be6b)] - **src**: support WeakReference in snapshot (Joyee Cheung) [#​44193](https://github.com/nodejs/node/pull/44193)
[`1ca575501a`](https://github.com/nodejs/node/commit/1ca575501a)] - **src**: iterate over base objects to prepare for snapshot (Joyee Cheung) [#​44192](https://github.com/nodejs/node/pull/44192)
[`90e8418e58`](https://github.com/nodejs/node/commit/90e8418e58)] - **src,lib**: group properties used as constants from `util` binding (Daeyeon Jeong) [#​45539](https://github.com/nodejs/node/pull/45539)
[`122c51b595`](https://github.com/nodejs/node/commit/122c51b595)] - **stream**: use structuredClone instead of v8 (Yagiz Nizipli) [#​45611](https://github.com/nodejs/node/pull/45611)
[`2bde576822`](https://github.com/nodejs/node/commit/2bde576822)] - **stream**: use ArrayBufferPrototypeGetByteLength (Yagiz Nizipli) [#​45528](https://github.com/nodejs/node/pull/45528)
[`7984e066ca`](https://github.com/nodejs/node/commit/7984e066ca)] - **stream**: add primordials to adapters (Yagiz Nizipli) [#​45511](https://github.com/nodejs/node/pull/45511)
[`ac9a4aba5d`](https://github.com/nodejs/node/commit/ac9a4aba5d)] - **stream**: avoid premature close when will not emit close (Robert Nagy) [#​45301](https://github.com/nodejs/node/pull/45301)
[`1fb6e82f84`](https://github.com/nodejs/node/commit/1fb6e82f84)] - **stream**: fix web streams have no Symbol.toStringTag (Jithil P Ponnan) [#​45117](https://github.com/nodejs/node/pull/45117)
[`8c2d0f9294`](https://github.com/nodejs/node/commit/8c2d0f9294)] - **stream**: fix `size` function returned from QueuingStrategies (Daeyeon Jeong) [#​44867](https://github.com/nodejs/node/pull/44867)
[`7e386f8cb9`](https://github.com/nodejs/node/commit/7e386f8cb9)] - **test**: remove flaky parallel/test-process-wrap test (Ben Noordhuis) [#​45806](https://github.com/nodejs/node/pull/45806)
[`38fb2c1cc8`](https://github.com/nodejs/node/commit/38fb2c1cc8)] - **test**: fix invalid output TAP if there newline in test name (Pulkit Gupta) [#​45742](https://github.com/nodejs/node/pull/45742)
[`c1162535ae`](https://github.com/nodejs/node/commit/c1162535ae)] - **test**: fix -Wunused-variable on report-fatalerror (Santiago Gimeno) [#​45747](https://github.com/nodejs/node/pull/45747)
[`8f7109aea3`](https://github.com/nodejs/node/commit/8f7109aea3)] - **test**: add trailing commas in async-hooks tests ([#​45549](https://github.com/nodejs/node/issues/45549)) (Antoine du Hamel) [#​45549](https://github.com/nodejs/node/pull/45549)
[`d5b0844fce`](https://github.com/nodejs/node/commit/d5b0844fce)] - **test**: add trailing commas in addons test ([#​45548](https://github.com/nodejs/node/issues/45548)) (Antoine du Hamel) [#​45548](https://github.com/nodejs/node/pull/45548)
[`b1e17b4590`](https://github.com/nodejs/node/commit/b1e17b4590)] - **test**: add trailing commas in `test/common` ([#​45550](https://github.com/nodejs/node/issues/45550)) (Antoine du Hamel) [#​45550](https://github.com/nodejs/node/pull/45550)
[`305d4de72f`](https://github.com/nodejs/node/commit/305d4de72f)] - **test**: revise pull request guide text about code (Rich Trott) [#​45519](https://github.com/nodejs/node/pull/45519)
[`9f1e5b6a89`](https://github.com/nodejs/node/commit/9f1e5b6a89)] - **test**: enable the WPT for `structuredClone` (Daeyeon Jeong) [#​45482](https://github.com/nodejs/node/pull/45482)
[`fac1f1bcd6`](https://github.com/nodejs/node/commit/fac1f1bcd6)] - **test**: add lint rule to enforce trailing commas (Antoine du Hamel) [#​45468](https://github.com/nodejs/node/pull/45468)
[`cac449f0a0`](https://github.com/nodejs/node/commit/cac449f0a0)] - **test**: update uses of \_jabber.\_tcp.google.com (Colin Ihrig) [#​45451](https://github.com/nodejs/node/pull/45451)
[`19eabd7870`](https://github.com/nodejs/node/commit/19eabd7870)] - **test**: add test to validate changelogs for releases (Richard Lau) [#​45325](https://github.com/nodejs/node/pull/45325)
[`7e0332a46b`](https://github.com/nodejs/node/commit/7e0332a46b)] - **test**: skip test-fs-largefile if not enough disk space (Rich Trott) [#​45339](https://github.com/nodejs/node/pull/45339)
[`c890136934`](https://github.com/nodejs/node/commit/c890136934)] - **test**: use common/tmpdir in watch-mode ipc test (Richard Lau) [#​45211](https://github.com/nodejs/node/pull/45211)
[`7b8380dd73`](https://github.com/nodejs/node/commit/7b8380dd73)] - **test**: use uv_sleep() where possible (Santiago Gimeno) [#​45124](https://github.com/nodejs/node/pull/45124)
[`7a7dab4160`](https://github.com/nodejs/node/commit/7a7dab4160)] - **test**: fix typo in `test/parallel/test-fs-rm.js` (Tim Shilov) [#​44882](https://github.com/nodejs/node/pull/44882)
[`c87770b39b`](https://github.com/nodejs/node/commit/c87770b39b)] - **test**: remove a snapshot blob from test-inspect-address-in-use.js (Daeyeon Jeong) [#​45132](https://github.com/nodejs/node/pull/45132)
[`a0f8d8b806`](https://github.com/nodejs/node/commit/a0f8d8b806)] - **test**: add test for Module.\_stat (Darshan Sen) [#​44713](https://github.com/nodejs/node/pull/44713)
[`52808d7d71`](https://github.com/nodejs/node/commit/52808d7d71)] - **test**: remove experimental-wasm-threads flag (Michaël Zasso) [#​45074](https://github.com/nodejs/node/pull/45074)
[`b3c4265a95`](https://github.com/nodejs/node/commit/b3c4265a95)] - **test**: remove unnecessary noop function args to `mustCall()` (Antoine du Hamel) [#​45047](https://github.com/nodejs/node/pull/45047)
[`868b4a3d67`](https://github.com/nodejs/node/commit/868b4a3d67)] - **test**: mark test-watch-mode\* as flaky on all platforms (Pierrick Bouvier) [#​45049](https://github.com/nodejs/node/pull/45049)
[`8fffd05b85`](https://github.com/nodejs/node/commit/8fffd05b85)] - **test**: remove mentions of `--experimental-async-stack-tagging-api` flag (Simon) [#​45051](https://github.com/nodejs/node/pull/45051)
[`fc58b61e82`](https://github.com/nodejs/node/commit/fc58b61e82)] - **test**: improve assertions in `test-repl-unsupported-option.js` (Juan José) [#​44953](https://github.com/nodejs/node/pull/44953)
[`e5928abef7`](https://github.com/nodejs/node/commit/e5928abef7)] - **test**: remove unnecessary noop function args to mustCall() (Rich Trott) [#​45027](https://github.com/nodejs/node/pull/45027)
[`d103d779d3`](https://github.com/nodejs/node/commit/d103d779d3)] - **test**: skip test depending on `overlapped-checker` when not available (Antoine du Hamel) [#​45015](https://github.com/nodejs/node/pull/45015)
[`5544c55600`](https://github.com/nodejs/node/commit/5544c55600)] - **test**: improve test coverage for `os` package (Juan José) [#​44959](https://github.com/nodejs/node/pull/44959)
[`6e3227b0fd`](https://github.com/nodejs/node/commit/6e3227b0fd)] - **test**: add test to improve coverage in http2-compat-serverresponse (Cesar Mario Diaz) [#​44970](https://github.com/nodejs/node/pull/44970)
[`dfc2419ab4`](https://github.com/nodejs/node/commit/dfc2419ab4)] - **test**: improve test coverage in `test-child-process-spawn-argv0.js` (Juan José) [#​44955](https://github.com/nodejs/node/pull/44955)
[`89a1c57436`](https://github.com/nodejs/node/commit/89a1c57436)] - **test**: use CHECK instead of EXPECT where necessary (Tobias Nießen) [#​44795](https://github.com/nodejs/node/pull/44795)
[`657756fc06`](https://github.com/nodejs/node/commit/657756fc06)] - **test**: refactor promises to async/await (Madhuri) [#​44980](https://github.com/nodejs/node/pull/44980)
[`55cf4b5042`](https://github.com/nodejs/node/commit/55cf4b5042)] - **test**: fix textdecoder test for small-icu builds (Richard Lau) [#​45225](https://github.com/nodejs/node/pull/45225)
[`e2df332ea7`](https://github.com/nodejs/node/commit/e2df332ea7)] - **test**: add a test to ensure the correctness of timezone upgrades (Darshan Sen) [#​45299](https://github.com/nodejs/node/pull/45299)
[`24e2a4fbd7`](https://github.com/nodejs/node/commit/24e2a4fbd7)] - **test_runner**: refactor `tap_lexer` to use more primordials (Antoine du Hamel) [#​45744](https://github.com/nodejs/node/pull/45744)
[`3cee3ca5ae`](https://github.com/nodejs/node/commit/3cee3ca5ae)] - **test_runner**: refactor `tap_parser` to use more primordials (Antoine du Hamel) [#​45745](https://github.com/nodejs/node/pull/45745)
[`370ad455d6`](https://github.com/nodejs/node/commit/370ad455d6)] - **(SEMVER-MINOR)** **test_runner**: don't use a symbol for runHook() (Colin Ihrig) [#​45792](https://github.com/nodejs/node/pull/45792)
[`500024384a`](https://github.com/nodejs/node/commit/500024384a)] - **test_runner**: add resetCalls to MockFunctionContext (MURAKAMI Masahiko) [#​45710](https://github.com/nodejs/node/pull/45710)
[`ed9246f6fc`](https://github.com/nodejs/node/commit/ed9246f6fc)] - **test_runner**: don't parse TAP from stderr (Colin Ihrig) [#​45618](https://github.com/nodejs/node/pull/45618)
[`a56560f6fc`](https://github.com/nodejs/node/commit/a56560f6fc)] - **test_runner**: add getter and setter to MockTracker (MURAKAMI Masahiko) [#​45506](https://github.com/nodejs/node/pull/45506)
[`20f6fa3edd`](https://github.com/nodejs/node/commit/20f6fa3edd)] - **test_runner**: remove stdout and stderr from error (Colin Ihrig) [#​45592](https://github.com/nodejs/node/pull/45592)
[`16bedbabce`](https://github.com/nodejs/node/commit/16bedbabce)] - **test_runner**: add initial TAP parser (Wassim Chegham) [#​43525](https://github.com/nodejs/node/pull/43525)
[`55b64e0b14`](https://github.com/nodejs/node/commit/55b64e0b14)] - **test_runner**: support watch mode (Moshe Atlow) [#​45214](https://github.com/nodejs/node/pull/45214)
[`92909f6855`](https://github.com/nodejs/node/commit/92909f6855)] - **test_runner**: support function mocking (Colin Ihrig) [#​45326](https://github.com/nodejs/node/pull/45326)
[`0f69b6c26d`](https://github.com/nodejs/node/commit/0f69b6c26d)] - **test_runner**: fix afterEach not running on test failures (Jithil P Ponnan) [#​45204](https://github.com/nodejs/node/pull/45204)
[`a67da59313`](https://github.com/nodejs/node/commit/a67da59313)] - **test_runner**: report tap subtest in order (Moshe Atlow) [#​45220](https://github.com/nodejs/node/pull/45220)
[`a59c907e14`](https://github.com/nodejs/node/commit/a59c907e14)] - **test_runner**: call {before,after}Each() on suites (Colin Ihrig) [#​45161](https://github.com/nodejs/node/pull/45161)
[`64860dd01f`](https://github.com/nodejs/node/commit/64860dd01f)] - **test_runner**: add extra fields in AssertionError YAML (Bryan English) [#​44952](https://github.com/nodejs/node/pull/44952)
[`ad8c6c91b5`](https://github.com/nodejs/node/commit/ad8c6c91b5)] - **tools**: include current release in the list of released versions (Antoine du Hamel) [#​45463](https://github.com/nodejs/node/pull/45463)
[`f5a4c52278`](https://github.com/nodejs/node/commit/f5a4c52278)] - **tools**: do not run CQ on non-fast-tracked PRs open for less than 2 days (Moshe Atlow) [#​45407](https://github.com/nodejs/node/pull/45407)
[`c63d825681`](https://github.com/nodejs/node/commit/c63d825681)] - **tools**: allow scripts to run from anywhere (Luigi Pinca) [#​45361](https://github.com/nodejs/node/pull/45361)
[`510506027b`](https://github.com/nodejs/node/commit/510506027b)] - **tools**: fix stability index generation (Antoine du Hamel) [#​45346](https://github.com/nodejs/node/pull/45346)
[`e0a8effbc1`](https://github.com/nodejs/node/commit/e0a8effbc1)] - **tools**: increase macOS cores to 3 on GitHub CI (Rich Trott) [#​45340](https://github.com/nodejs/node/pull/45340)
[`ee78e2e0ec`](https://github.com/nodejs/node/commit/ee78e2e0ec)] - **tools**: do not use the set-output command in workflows (Luigi Pinca) [#​45024](https://github.com/nodejs/node/pull/45024)
[`71433f3127`](https://github.com/nodejs/node/commit/71433f3127)] - **tools**: refactor dynamic strings creation in shell scripts (Antoine du Hamel) [#​45240](https://github.com/nodejs/node/pull/45240)
[`f08c129144`](https://github.com/nodejs/node/commit/f08c129144)] - **tools**: use Python 3.11 in GitHub Actions workflows (Luigi Pinca) [#​45191](https://github.com/nodejs/node/pull/45191)
[`76897430ed`](https://github.com/nodejs/node/commit/76897430ed)] - **tools**: have test-asan use ubuntu-20.04 (Filip Skokan) [#​45581](https://github.com/nodejs/node/pull/45581)
[`210cbcbf89`](https://github.com/nodejs/node/commit/210cbcbf89)] - **trace_events**: add new categories (theanarkh) [#​45266](https://github.com/nodejs/node/pull/45266)
[`5d964cd4d4`](https://github.com/nodejs/node/commit/5d964cd4d4)] - **url**: remove \t \n \r in url.parse() similar to WHATWG (Rich Trott) [#​45116](https://github.com/nodejs/node/pull/45116)
[`3f18a833ff`](https://github.com/nodejs/node/commit/3f18a833ff)] - **util**: use private symbols in JS land directly (Joyee Cheung) [#​45379](https://github.com/nodejs/node/pull/45379)
[`32a3859a90`](https://github.com/nodejs/node/commit/32a3859a90)] - **util**: add fast path for utf8 encoding (Yagiz Nizipli) [#​45412](https://github.com/nodejs/node/pull/45412)
[`cd740d0b0d`](https://github.com/nodejs/node/commit/cd740d0b0d)] - **util**: improve text decoder performance (Yagiz Nizipli) [#​45388](https://github.com/nodejs/node/pull/45388)
[`39cf8b4f16`](https://github.com/nodejs/node/commit/39cf8b4f16)] - **vm**: make ContextifyContext a BaseObject (Joyee Cheung) [#​44796](https://github.com/nodejs/node/pull/44796)
[`09ea75823c`](https://github.com/nodejs/node/commit/09ea75823c)] - **watch**: add CLI flag to preserve output (Debadree Chatterjee) [#​45717](https://github.com/nodejs/node/pull/45717)
[`24bfe543c5`](https://github.com/nodejs/node/commit/24bfe543c5)] - **watch**: watch for missing dependencies (Moshe Atlow) [#​45348](https://github.com/nodejs/node/pull/45348)
v18.12.1: 2022-11-04, Version 18.12.1 'Hydrogen' (LTS), @juanarbol
This release marks the transition of Node.js 18.x into Long Term Support (LTS)
with the codename 'Hydrogen'. The 18.x release line now moves into "Active LTS"
and will remain so until October 2023. After that time, it will move into
"Maintenance" until end of life in April 2025.
v18.11.0: 2022-10-13, Version 18.11.0 (Current), @danielleadams
[`37808b3355`](https://github.com/nodejs/node/commit/37808b3355)] - **build**: convert V8 test JSON to JUnit XML (Keyhan Vakil) [#​44049](https://github.com/nodejs/node/pull/44049)
[`e0fbba0939`](https://github.com/nodejs/node/commit/e0fbba0939)] - **crypto**: use EVP_PKEY_CTX_set_dsa_paramgen_q_bits when available (David Benjamin) [#​44561](https://github.com/nodejs/node/pull/44561)
[`91514393dc`](https://github.com/nodejs/node/commit/91514393dc)] - **dns**: support dns module in the snapshot (Joyee Cheung) [#​44633](https://github.com/nodejs/node/pull/44633)
[`ce3cb29319`](https://github.com/nodejs/node/commit/ce3cb29319)] - **doc**: add fsPromises.readFile() example (Tierney Cyren) [#​40237](https://github.com/nodejs/node/pull/40237)
[`97df9b84a2`](https://github.com/nodejs/node/commit/97df9b84a2)] - **doc**: improve building doc for Android (BuShe Pie) [#​44888](https://github.com/nodejs/node/pull/44888)
[`8c69da893b`](https://github.com/nodejs/node/commit/8c69da893b)] - **doc**: mention `corepack prepare` supports tag or range (Michael Rienstra) [#​44646](https://github.com/nodejs/node/pull/44646)
[`842bc64833`](https://github.com/nodejs/node/commit/842bc64833)] - **doc**: remove Legacy status from querystring (Rich Trott) [#​44912](https://github.com/nodejs/node/pull/44912)
[`ddb5402f5f`](https://github.com/nodejs/node/commit/ddb5402f5f)] - **doc**: fix label name in collaborator guide (Rich Trott) [#​44920](https://github.com/nodejs/node/pull/44920)
[`b6b9c427c5`](https://github.com/nodejs/node/commit/b6b9c427c5)] - **doc**: move release keys we don't use anymore in README (Rich Trott) [#​44899](https://github.com/nodejs/node/pull/44899)
[`e92b074b32`](https://github.com/nodejs/node/commit/e92b074b32)] - **doc**: fix grammar in dns docs ([#​44850](https://github.com/nodejs/node/issues/44850)) (Colin Ihrig) [#​44850](https://github.com/nodejs/node/pull/44850)
[`780144c339`](https://github.com/nodejs/node/commit/780144c339)] - **doc**: remove unnecessary leading commas (Colin Ihrig) [#​44854](https://github.com/nodejs/node/pull/44854)
[`6ae9bc8fbc`](https://github.com/nodejs/node/commit/6ae9bc8fbc)] - **doc**: add extra step for reporter pre-approval (Rafael Gonzaga) [#​44806](https://github.com/nodejs/node/pull/44806)
[`ccf31d8bca`](https://github.com/nodejs/node/commit/ccf31d8bca)] - **doc**: add anchor link for --preserve-symlinks (Kohei Ueno) [#​44858](https://github.com/nodejs/node/pull/44858)
[`2a5bce6318`](https://github.com/nodejs/node/commit/2a5bce6318)] - **doc**: include last security release date (Vladimir de Turckheim) [#​44794](https://github.com/nodejs/node/pull/44794)
[`4efaf4265c`](https://github.com/nodejs/node/commit/4efaf4265c)] - **doc**: remove "currently" and comma splice from child_process.md (Rich Trott) [#​44789](https://github.com/nodejs/node/pull/44789)
[`3627616b40`](https://github.com/nodejs/node/commit/3627616b40)] - **doc,crypto**: mark experimental algorithms more visually (Filip Skokan) [#​44892](https://github.com/nodejs/node/pull/44892)
[`11d1c23fa0`](https://github.com/nodejs/node/commit/11d1c23fa0)] - **(SEMVER-MINOR)** **fs**: add `FileHandle.prototype.readLines` (Antoine du Hamel) [#​42590](https://github.com/nodejs/node/pull/42590)
[`67fb76519a`](https://github.com/nodejs/node/commit/67fb76519a)] - **fs**: improve promise based readFile performance for big files (Ruben Bridgewater) [#​44295](https://github.com/nodejs/node/pull/44295)
[`dc6379bdc2`](https://github.com/nodejs/node/commit/dc6379bdc2)] - **fs**: don't hard code name in validatePosition() (Colin Ihrig) [#​44767](https://github.com/nodejs/node/pull/44767)
[`eb19b1e97c`](https://github.com/nodejs/node/commit/eb19b1e97c)] - **http**: be more aggressive to reply 400, 408 and 431 (ywave620) [#​44818](https://github.com/nodejs/node/pull/44818)
[`4c869c8d9e`](https://github.com/nodejs/node/commit/4c869c8d9e)] - **(SEMVER-MINOR)** **http**: add writeEarlyHints function to ServerResponse (Wing) [#​44180](https://github.com/nodejs/node/pull/44180)
[`9c7e66478c`](https://github.com/nodejs/node/commit/9c7e66478c)] - **(SEMVER-MINOR)** **http2**: make early hints generic (Yagiz Nizipli) [#​44820](https://github.com/nodejs/node/pull/44820)
[`67eaa303af`](https://github.com/nodejs/node/commit/67eaa303af)] - **lib**: add cause to DOMException (flakey5) [#​44703](https://github.com/nodejs/node/pull/44703)
[`fe91bebb67`](https://github.com/nodejs/node/commit/fe91bebb67)] - **test**: loosen test for negative timestamps in `test-fs-stat-date` (Livia Medeiros) [#​44707](https://github.com/nodejs/node/pull/44707)
[`a080608552`](https://github.com/nodejs/node/commit/a080608552)] - **test**: check `--test` is disallowed in NODE_OPTIONS (Kohei Ueno) [#​44846](https://github.com/nodejs/node/pull/44846)
[`60a05d6dea`](https://github.com/nodejs/node/commit/60a05d6dea)] - **test**: skip some binding tests on IBMi PASE (Richard Lau) [#​44810](https://github.com/nodejs/node/pull/44810)
[`8dacedaa3d`](https://github.com/nodejs/node/commit/8dacedaa3d)] - **test**: remove unused variable in addon test (Joyee Cheung) [#​44809](https://github.com/nodejs/node/pull/44809)
[`c54cee1c3f`](https://github.com/nodejs/node/commit/c54cee1c3f)] - **test**: check server status in test-tls-psk-client (Richard Lau) [#​44824](https://github.com/nodejs/node/pull/44824)
[`ee3c6a4dc5`](https://github.com/nodejs/node/commit/ee3c6a4dc5)] - **test**: use async/await in test-debugger-exceptions (pete3249) [#​44690](https://github.com/nodejs/node/pull/44690)
[`9f14625fe5`](https://github.com/nodejs/node/commit/9f14625fe5)] - **test**: use async/await in test-debugger-help (Chandana) [#​44686](https://github.com/nodejs/node/pull/44686)
[`8033ad846b`](https://github.com/nodejs/node/commit/8033ad846b)] - **test**: update test-debugger-scripts to use await/async (mmeenapriya) [#​44692](https://github.com/nodejs/node/pull/44692)
[`f4f08be384`](https://github.com/nodejs/node/commit/f4f08be384)] - **test**: use await in test-debugger-invalid-json (Anjana Krishnakumar Vellore) [#​44689](https://github.com/nodejs/node/pull/44689)
[`d2f36169f3`](https://github.com/nodejs/node/commit/d2f36169f3)] - **test**: use async/await in test-debugger-random-port-with-inspect-port (Monu-Chaudhary) [#​44695](https://github.com/nodejs/node/pull/44695)
[`ddf029725b`](https://github.com/nodejs/node/commit/ddf029725b)] - **test**: use async/await in test-debugger-heap-profiler (Brinda Ashar) [#​44693](https://github.com/nodejs/node/pull/44693)
[`117f068250`](https://github.com/nodejs/node/commit/117f068250)] - **test**: use async/await in test-debugger-auto-resume (samyuktaprabhu) [#​44675](https://github.com/nodejs/node/pull/44675)
[`143c428cae`](https://github.com/nodejs/node/commit/143c428cae)] - **test**: migrated from Promise chains to Async/Await (Rathi N Das) [#​44674](https://github.com/nodejs/node/pull/44674)
[`e609a3309c`](https://github.com/nodejs/node/commit/e609a3309c)] - **test**: change promises to async/await in test-debugger-backtrace.js (Juliet Zhang) [#​44677](https://github.com/nodejs/node/pull/44677)
[`eeabd23ca6`](https://github.com/nodejs/node/commit/eeabd23ca6)] - **test**: use async/await in test-debugger-sb-before-load (Hope Olaidé) [#​44697](https://github.com/nodejs/node/pull/44697)
[`5c63d1464e`](https://github.com/nodejs/node/commit/5c63d1464e)] - **test**: add extra tests for basename with ext option (Connor Burton) [#​44772](https://github.com/nodejs/node/pull/44772)
[`f8b2d7a059`](https://github.com/nodejs/node/commit/f8b2d7a059)] - **test**: refactor to async/await (Divya Mohan) [#​44694](https://github.com/nodejs/node/pull/44694)
[`9864bde9ab`](https://github.com/nodejs/node/commit/9864bde9ab)] - **test**: modify test-debugger-custom-port.js to use async-await (Priya Shastri) [#​44680](https://github.com/nodejs/node/pull/44680)
[`af30823881`](https://github.com/nodejs/node/commit/af30823881)] - **test**: upgrade all 1024 bit RSA keys to 2048 bits (Momtchil Momtchev) [#​44498](https://github.com/nodejs/node/pull/44498)
[`0fb669e31f`](https://github.com/nodejs/node/commit/0fb669e31f)] - **test**: update test-debugger-breakpoint-exists.js to use async/await (Archana Kamath) [#​44682](https://github.com/nodejs/node/pull/44682)
[`cca253503e`](https://github.com/nodejs/node/commit/cca253503e)] - **test**: use async/await in test-debugger-preserve-breaks (poorvitusam) [#​44696](https://github.com/nodejs/node/pull/44696)
[`0b2e8b1681`](https://github.com/nodejs/node/commit/0b2e8b1681)] - **test**: use async/await in test-debugger-profile (surbhirjain) [#​44684](https://github.com/nodejs/node/pull/44684)
[`4db72a65cf`](https://github.com/nodejs/node/commit/4db72a65cf)] - **test**: change the promises to async/await in test-debugger-exec-scope.js (Ankita Khiratkar) [#​44685](https://github.com/nodejs/node/pull/44685)
[`3c1e9d41c8`](https://github.com/nodejs/node/commit/3c1e9d41c8)] - **test_runner**: support using `--inspect` with `--test` (Moshe Atlow) [#​44520](https://github.com/nodejs/node/pull/44520)
[`4bdef48732`](https://github.com/nodejs/node/commit/4bdef48732)] - **tools**: remove faulty early termination logic from update-timezone.mjs (Darshan Sen) [#​44870](https://github.com/nodejs/node/pull/44870)
[`fd99b17a4d`](https://github.com/nodejs/node/commit/fd99b17a4d)] - **tools**: make `utils.SearchFiles` deterministic (Bruno Pitrus) [#​44496](https://github.com/nodejs/node/pull/44496)
[`131adece37`](https://github.com/nodejs/node/commit/131adece37)] - **tools**: fix typo in tools/update-authors.mjs (Darshan Sen) [#​44780](https://github.com/nodejs/node/pull/44780)
[`ab22777e65`](https://github.com/nodejs/node/commit/ab22777e65)] - **tools**: refactor deprecated format in no-unescaped-regexp-dot (Madhuri) [#​44763](https://github.com/nodejs/node/pull/44763)
[`3ad0fae89d`](https://github.com/nodejs/node/commit/3ad0fae89d)] - **tools**: update eslint-check.js to object style (andiemontoyeah) [#​44706](https://github.com/nodejs/node/pull/44706)
[`70898b4e67`](https://github.com/nodejs/node/commit/70898b4e67)] - **build**: rewritten the Android build system (BuShe Pie) [#​44207](https://github.com/nodejs/node/pull/44207)
[`a733f7faac`](https://github.com/nodejs/node/commit/a733f7faac)] - ***Revert*** "**build**: go faster, drop -fno-omit-frame-pointer" (Ben Noordhuis) [#​44566](https://github.com/nodejs/node/pull/44566)
[`1315a83333`](https://github.com/nodejs/node/commit/1315a83333)] - **build**: fix bad upstream merge (Stephen Gallagher) [#​44642](https://github.com/nodejs/node/pull/44642)
[`993bd9b134`](https://github.com/nodejs/node/commit/993bd9b134)] - **crypto**: restrict PBKDF2 args to signed int (Tobias Nießen) [#​44575](https://github.com/nodejs/node/pull/44575)
[`ca5fb67b4e`](https://github.com/nodejs/node/commit/ca5fb67b4e)] - **deps**: update to ngtcp2 0.8.1 and nghttp3 0.7.0 (Tobias Nießen) [#​44622](https://github.com/nodejs/node/pull/44622)
[`f274b08f8e`](https://github.com/nodejs/node/commit/f274b08f8e)] - **doc**: fix description for `napi_get_cb_info()` in `n-api.md` (Daeyeon Jeong) [#​44761](https://github.com/nodejs/node/pull/44761)
[`2502f2353d`](https://github.com/nodejs/node/commit/2502f2353d)] - **doc**: update the deprecation for exit code to clarify its scope (Daeyeon Jeong) [#​44714](https://github.com/nodejs/node/pull/44714)
[`064543d0ae`](https://github.com/nodejs/node/commit/064543d0ae)] - **doc**: update guidance for adding new modules (Michael Dawson) [#​44576](https://github.com/nodejs/node/pull/44576)
[`33a2f17534`](https://github.com/nodejs/node/commit/33a2f17534)] - **doc**: add registry number for Electron 22 (Keeley Hammond) [#​44748](https://github.com/nodejs/node/pull/44748)
[`10a0d75c26`](https://github.com/nodejs/node/commit/10a0d75c26)] - **doc**: include code examples for webstreams consumers (Lucas Santos) [#​44387](https://github.com/nodejs/node/pull/44387)
[`4dbe4a010c`](https://github.com/nodejs/node/commit/4dbe4a010c)] - **doc**: mention where to push security commits (RafaelGSS) [#​44691](https://github.com/nodejs/node/pull/44691)
[`82cb8151ad`](https://github.com/nodejs/node/commit/82cb8151ad)] - **doc**: remove extra space on threadpool usage (Connor Burton) [#​44734](https://github.com/nodejs/node/pull/44734)
[`6ef9af2748`](https://github.com/nodejs/node/commit/6ef9af2748)] - **doc**: make legacy banner slightly less bright (Rich Trott) [#​44665](https://github.com/nodejs/node/pull/44665)
[`b209c83e66`](https://github.com/nodejs/node/commit/b209c83e66)] - **doc**: improve building doc for Windows Powershell (Brian Muenzenmeyer) [#​44625](https://github.com/nodejs/node/pull/44625)
[`05b17e9250`](https://github.com/nodejs/node/commit/05b17e9250)] - **doc**: maintain only one list of MODP groups (Tobias Nießen) [#​44644](https://github.com/nodejs/node/pull/44644)
[`ec1cbdb69b`](https://github.com/nodejs/node/commit/ec1cbdb69b)] - **doc**: add legendecas to TSC list (Michael Dawson) [#​44662](https://github.com/nodejs/node/pull/44662)
[`9341fb4446`](https://github.com/nodejs/node/commit/9341fb4446)] - **doc**: remove comma in README.md (Taha-Chaudhry) [#​44599](https://github.com/nodejs/node/pull/44599)
[`3dabb44dda`](https://github.com/nodejs/node/commit/3dabb44dda)] - **doc**: use serial comma in report docs (Daeyeon Jeong) [#​44608](https://github.com/nodejs/node/pull/44608)
[`226d90a95a`](https://github.com/nodejs/node/commit/226d90a95a)] - **doc**: use serial comma in stream docs (Daeyeon Jeong) [#​44609](https://github.com/nodejs/node/pull/44609)
[`3f710fa636`](https://github.com/nodejs/node/commit/3f710fa636)] - **doc**: remove empty line in YAML block (Claudio Wunder) [#​44617](https://github.com/nodejs/node/pull/44617)
[`4ad1b0abc3`](https://github.com/nodejs/node/commit/4ad1b0abc3)] - **(SEMVER-MINOR)** **doc**: deprecate modp1, modp2, and modp5 groups (Tobias Nießen) [#​44588](https://github.com/nodejs/node/pull/44588)
[`03705639c4`](https://github.com/nodejs/node/commit/03705639c4)] - **doc**: fix heading levels for test runner hooks (Fabian Meyer) [#​44603](https://github.com/nodejs/node/pull/44603)
[`6c557346a7`](https://github.com/nodejs/node/commit/6c557346a7)] - **doc**: fix errors in http.md (Luigi Pinca) [#​44587](https://github.com/nodejs/node/pull/44587)
[`48d944b71c`](https://github.com/nodejs/node/commit/48d944b71c)] - **doc**: fix vm.Script createCachedData example (Chengzhong Wu) [#​44487](https://github.com/nodejs/node/pull/44487)
[`2813323120`](https://github.com/nodejs/node/commit/2813323120)] - **doc**: mention how to get commit release (Rafael Gonzaga) [#​44572](https://github.com/nodejs/node/pull/44572)
[`ea7b44d474`](https://github.com/nodejs/node/commit/ea7b44d474)] - **doc**: fix link in `process.md` (Antoine du Hamel) [#​44594](https://github.com/nodejs/node/pull/44594)
[`39b65d2fb7`](https://github.com/nodejs/node/commit/39b65d2fb7)] - **doc**: do not use weak MODP group in example (Tobias Nießen) [#​44585](https://github.com/nodejs/node/pull/44585)
[`f5549afd90`](https://github.com/nodejs/node/commit/f5549afd90)] - **doc**: remove ebpf from supported tooling list (Rafael Gonzaga) [#​44549](https://github.com/nodejs/node/pull/44549)
[`a3360b1f4f`](https://github.com/nodejs/node/commit/a3360b1f4f)] - **doc**: emphasize that createCipher is never secure (Tobias Nießen) [#​44538](https://github.com/nodejs/node/pull/44538)
[`daf63d2fa3`](https://github.com/nodejs/node/commit/daf63d2fa3)] - **fs**: fix typo in mkdir example (SergeyTsukanov) [#​44791](https://github.com/nodejs/node/pull/44791)
[`d8d34ae6bc`](https://github.com/nodejs/node/commit/d8d34ae6bc)] - **lib**: reset `RegExp` statics before running user code (Antoine du Hamel) [#​44247](https://github.com/nodejs/node/pull/44247)
[`eb3635184b`](https://github.com/nodejs/node/commit/eb3635184b)] - **lib,test**: fix bug in InternalSocketAddress (Tobias Nießen) [#​44618](https://github.com/nodejs/node/pull/44618)
[`4436ffb536`](https://github.com/nodejs/node/commit/4436ffb536)] - **module**: open stat/readPackage to mutations (Maël Nison) [#​44537](https://github.com/nodejs/node/pull/44537)
[`75cfb13ea6`](https://github.com/nodejs/node/commit/75cfb13ea6)] - **src**: make ReqWrap weak (Rafael Gonzaga) [#​44074](https://github.com/nodejs/node/pull/44074)
[`c12abb5ece`](https://github.com/nodejs/node/commit/c12abb5ece)] - **src**: make NearHeapLimitCallback() more robust (Joyee Cheung) [#​44581](https://github.com/nodejs/node/pull/44581)
[`81ea507e8e`](https://github.com/nodejs/node/commit/81ea507e8e)] - **src**: dump isolate stats when process exits (daomingq) [#​44534](https://github.com/nodejs/node/pull/44534)
[`3d42aaaac0`](https://github.com/nodejs/node/commit/3d42aaaac0)] - **stream**: handle a pending pull request from a released reader (Daeyeon Jeong) [#​44702](https://github.com/nodejs/node/pull/44702)
[`73ad9db6c5`](https://github.com/nodejs/node/commit/73ad9db6c5)] - **stream**: refactor use es2020 statement (SindreXie) [#​44533](https://github.com/nodejs/node/pull/44533)
[`0af6e420b3`](https://github.com/nodejs/node/commit/0af6e420b3)] - **stream**: remove `abortReason` from `WritableStreamDefaultController` (Daeyeon Jeong) [#​44540](https://github.com/nodejs/node/pull/44540)
[`3112d5dae0`](https://github.com/nodejs/node/commit/3112d5dae0)] - **test**: verify napi_remove_wrap with napi_delete_reference (Chengzhong Wu) [#​44754](https://github.com/nodejs/node/pull/44754)
[`b512436841`](https://github.com/nodejs/node/commit/b512436841)] - **test**: change promises to async/await (Madhulika Sharma) [#​44683](https://github.com/nodejs/node/pull/44683)
[`858631f720`](https://github.com/nodejs/node/commit/858631f720)] - **test**: use async/await in test-debugger-invalid-args (Nupur Chauhan) [#​44678](https://github.com/nodejs/node/pull/44678)
[`6c9ded810c`](https://github.com/nodejs/node/commit/6c9ded810c)] - **test**: update test-debugger-low-level to use await/async (Meghana Ramesh) [#​44688](https://github.com/nodejs/node/pull/44688)
[`945aa74e57`](https://github.com/nodejs/node/commit/945aa74e57)] - **test**: check that sysconf returns a positive value (Tobias Nießen) [#​44666](https://github.com/nodejs/node/pull/44666)
[`79f0f48a6f`](https://github.com/nodejs/node/commit/79f0f48a6f)] - **test**: change promise to async/await in debugger-watcher (“Pooja) [#​44687](https://github.com/nodejs/node/pull/44687)
[`a3095d217f`](https://github.com/nodejs/node/commit/a3095d217f)] - **test**: fix `test-repl` not validating leaked globals properly (Antoine du Hamel) [#​44640](https://github.com/nodejs/node/pull/44640)
[`7db2974692`](https://github.com/nodejs/node/commit/7db2974692)] - **test**: ignore stale process cleanup failures on Windows (Joyee Cheung) [#​44480](https://github.com/nodejs/node/pull/44480)
[`6c35f338c3`](https://github.com/nodejs/node/commit/6c35f338c3)] - **test**: use python3 instead of python (Luigi Pinca) [#​44545](https://github.com/nodejs/node/pull/44545)
[`20e04c6d44`](https://github.com/nodejs/node/commit/20e04c6d44)] - **test**: fix DebugSymbolsTest.ReqWrapList on PPC64LE (Daniel Bevenius) [#​44341](https://github.com/nodejs/node/pull/44341)
[`eb25fe73b0`](https://github.com/nodejs/node/commit/eb25fe73b0)] - **test**: add more cases for parse-encoding (Tony Gorez) [#​44427](https://github.com/nodejs/node/pull/44427)
[`5ab3bc9419`](https://github.com/nodejs/node/commit/5ab3bc9419)] - **test_runner**: include stack of uncaught exceptions (Moshe Atlow) [#​44614](https://github.com/nodejs/node/pull/44614)
[`5db9779f14`](https://github.com/nodejs/node/commit/5db9779f14)] - **tools**: fix shebang to use python3 by default (Himself65) [#​44531](https://github.com/nodejs/node/pull/44531)
[`360b74e94f`](https://github.com/nodejs/node/commit/360b74e94f)] - **win**: fix fs.realpath.native for long paths (StefanStojanovic) [#​44536](https://github.com/nodejs/node/pull/44536)
v18.9.1: 2022-09-23, Version 18.9.1 (Current), @RafaelGSS
llhttp is updated to 6.0.10 which includes fixes for the following vulnerabilities.
HTTP Request Smuggling - CVE-2022-32213 bypass via obs-fold mechanic (Medium)(CVE-2022-32213 ): The llhttp parser in the http module does not correctly parse and validate Transfer-Encoding headers. This can lead to HTTP Request Smuggling (HRS).
HTTP Request Smuggling - Incorrect Parsing of Multi-line Transfer-Encoding (Medium)(CVE-2022-32215): The llhttp parser in the http module does not correctly handle multi-line Transfer-Encoding headers. This can lead to HTTP Request Smuggling (HRS).
HTTP Request Smuggling - Incorrect Parsing of Header Fields (Medium)(CVE-35256): The llhttp parser in the http does not correctly handle header fields that are not terminated with CLRF. This can lead to HTTP Request Smuggling (HRS).
[`01bffcdd93`](https://github.com/nodejs/node/commit/01bffcdd93)] - **http**: disable chunked encoding when OBS fold is used (Paolo Insogna) [nodejs-private/node-private#​341](https://github.com/nodejs-private/node-private/pull/341)
[`2c379d341d`](https://github.com/nodejs/node/commit/2c379d341d)] - **src**: fix IPv4 non routable validation (RafaelGSS) [nodejs-private/node-private#​337](https://github.com/nodejs-private/node-private/pull/337)
v18.9.0: 2022-09-08, Version 18.9.0 (Current), @RafaelGSS
[`c868e36385`](https://github.com/nodejs/node/commit/c868e36385)] - **crypto**: add digest name to INVALID_DIGEST errors (Tobias Nießen) [#​44468](https://github.com/nodejs/node/pull/44468)
[`35cbe1ad85`](https://github.com/nodejs/node/commit/35cbe1ad85)] - **crypto**: use actual option name in error message (Tobias Nießen) [#​44455](https://github.com/nodejs/node/pull/44455)
[`c3dbe18e4c`](https://github.com/nodejs/node/commit/c3dbe18e4c)] - **crypto**: simplify control flow in HKDF (Tobias Nießen) [#​44272](https://github.com/nodejs/node/pull/44272)
[`b1eafe14fd`](https://github.com/nodejs/node/commit/b1eafe14fd)] - **debugger**: decrease timeout used to wait for the port to be free (Joyee Cheung) [#​44359](https://github.com/nodejs/node/pull/44359)
[`05006eddb2`](https://github.com/nodejs/node/commit/05006eddb2)] - **doc**: do not use "Returns:" for crypto.constants (Tobias Nießen) [#​44481](https://github.com/nodejs/node/pull/44481)
[`54b6ed58bc`](https://github.com/nodejs/node/commit/54b6ed58bc)] - **doc**: use serial comma in addons docs (Tobias Nießen) [#​44482](https://github.com/nodejs/node/pull/44482)
[`11452a97b3`](https://github.com/nodejs/node/commit/11452a97b3)] - **doc**: add --update-assert-snapshot to node.1 (Colin Ihrig) [#​44429](https://github.com/nodejs/node/pull/44429)
[`92046e8027`](https://github.com/nodejs/node/commit/92046e8027)] - **doc**: apply scroll-margin-top to h2, h3 elements (metonym) [#​44414](https://github.com/nodejs/node/pull/44414)
[`3e6cde5931`](https://github.com/nodejs/node/commit/3e6cde5931)] - **doc**: fix spacing issue in `--build-snapshot` help text (Shohei YOSHIDA) [#​44435](https://github.com/nodejs/node/pull/44435)
[`8e41dbb81b`](https://github.com/nodejs/node/commit/8e41dbb81b)] - **doc**: mention cherry-pick edge-case on release (RafaelGSS) [#​44408](https://github.com/nodejs/node/pull/44408)
[`cef30f9afc`](https://github.com/nodejs/node/commit/cef30f9afc)] - **doc**: note on release guide to update `main` branch (Ruy Adorno) [#​44384](https://github.com/nodejs/node/pull/44384)
[`b8f08e5e7e`](https://github.com/nodejs/node/commit/b8f08e5e7e)] - **lib**: codify findSourceMap return value when not found (Chengzhong Wu) [#​44397](https://github.com/nodejs/node/pull/44397)
[`a86ef1ba3e`](https://github.com/nodejs/node/commit/a86ef1ba3e)] - **lib**: use safe `Promise` alternatives when available (Antoine du Hamel) [#​43476](https://github.com/nodejs/node/pull/43476)
This PR contains the following updates:
16.19.1-bullseye-slim
->18.15.0-bullseye-slim
Release Notes
nodejs/node
v18.15.0
: 2023-03-07, Version 18.15.0 'Hydrogen' (LTS), @BethGriggs prepared by @juanarbolCompare Source
Notable Changes
Commits
v18.14.2
: 2023-02-21, Version 18.14.2 'Hydrogen' (LTS), @MylesBorinsCompare Source
Notable Changes
Commits
v18.14.1
: 2023-02-16, Version 18.14.1 'Hydrogen' (LTS), @RafaelGSS prepared by @juanarbolCompare Source
This is a security release.
Notable Changes
The following CVEs are fixed in this release:
More detailed information on each of the vulnerabilities can be found in February 2023 Security Releases blog post.
This security release includes OpenSSL security updates as outlined in the recent
OpenSSL security advisory.
Commits
v18.14.0
: 2023-02-02, Version 18.14.0 'Hydrogen' (LTS), @BethGriggs prepared by @juanarbolCompare Source
Notable changes
Updated npm to 9.3.1
Based on the list of guidelines we've established on integrating
npm
andnode
,here is a grouped list of the breaking changes with the reasoning as to why they
fit within the guidelines linked above. Note that all the breaking changes were
made in 9.0.0.
All subsequent minor and patch releases after
npm@9.0.0
do not contain anybreaking changes.
Engines
npm
is now compatible with the following semver range for node:^14.17.0 || ^16.13.0 || >=18.0.0
Filesystem
npm
will no longer attempt to modify ownership of files it creates.Auth
registry found in a config file is no longer supported and will throw errors.
Login
sso
,saml
&legacy
have been consolidated into"legacy"
.auth-type
defaults to"web"
login
andadduser
are now separate commands that send different data to the registry.auth-type
config valuesweb
andlegacy
only try their respective methods,npm no longer tries them all and waits to see which one doesn't fail.
Tarball Packing
npm pack
now follows a strict order of operations when applying ignore rules.If a
files
array is present in thepackage.json
, then rules in.gitignore
and
.npmignore
files from the root will be ignored.Display/Debug/Timing Info
HEAD
instead ofmaster
as the default ref.timing
has been removed as a value for--loglevel
.--timing
will show timing information regardless of--loglevel
, except when--silent
.--timing
flag,npm
now writes timing data to a filealongside the debug log data, respecting the
logs-dir
option and fallingback to
<CACHE>/_logs/
dir, instead of directly inside the cache directory.will create a uniquely named
<ID>-timing.json
file, with the<ID>
portionbeing the same as the debug log.
npm
now outputs some json errors on stdout. Previouslynpm
would outputall json formatted errors on stderr, making it difficult to parse as the
stderr stream usually has logs already written to it.
Config/Command Deprecations or Removals
--install-strategy
.npm config set
will no longer accept deprecated or invalid config options.install-links
config defaults to"true"
.node-version
config has been removed.npm-version
config has been removed.npm access
subcommands have been renamed.npm birthday
has been removed.npm set-script
has been removed.npm bin
has been removed (usenpx
ornpm exec
to execute binaries).Other notable changes
Commits
v18.13.0
: 2023-01-05, Version 18.13.0 'Hydrogen' (LTS), @danielleadamsCompare Source
Notable changes
Add support for externally shared js builtins
By default Node.js is built so that all dependencies are bundled into the Node.js binary itself. Some Node.js distributions prefer to manage dependencies externally. There are existing build options that allow dependencies with native code to be externalized. This commit adds additional options so that dependencies with JavaScript code (including WASM) can also be externalized. This addition does not affect binaries shipped by the Node.js project but will allow other distributions to externalize additional dependencies when needed.
Contributed by Michael Dawson in #44376
Introduce
File
The File class is part of the FileAPI. It can be used anywhere a Blob can, for example in
URL.createObjectURL
andFormData
. It contains two properties that Blobs do not have:lastModified
, the last time the file was modified in ms, andname
, the name of the file.Contributed by Khafra in #45139
Support function mocking on Node.js test runner
The
node:test
module supports mocking during testing via a top-levelmock
object.
Contributed by Colin Ihrig in #45326
Other notable changes
url.parse
(Antoine du Hamel) #45576Commits
v18.12.1
: 2022-11-04, Version 18.12.1 'Hydrogen' (LTS), @juanarbolCompare Source
This is a security release.
Notable changes
The following CVEs are fixed in this release:
More detailed information on each of the vulnerabilities can be found in November 2022 Security Releases blog post.
Commits
v18.12.0
: 2022-10-25, Version 18.12.0 'Hydrogen' (LTS), @ruyadorno and @RafaelGSSCompare Source
Notable Changes
This release marks the transition of Node.js 18.x into Long Term Support (LTS)
with the codename 'Hydrogen'. The 18.x release line now moves into "Active LTS"
and will remain so until October 2023. After that time, it will move into
"Maintenance" until end of life in April 2025.
v18.11.0
: 2022-10-13, Version 18.11.0 (Current), @danielleadamsCompare Source
Notable changes
watch mode (experimental)
Running in 'watch' mode using
node --watch
restarts the process when an imported file is changed.Contributed by Moshe Atlow in #44366
Other notable changes
FileHandle.prototype.readLines
(Antoine du Hamel) #42590Commits
v18.10.0
: 2022-09-28, Version 18.10.0 (Current), @RafaelGSSCompare Source
Notable changes
policy
docs to thepermissions
scope (Rafael Gonzaga) #44222ReadableByteStream.tee()
(Daeyeon Jeong) #44505Commits
v18.9.1
: 2022-09-23, Version 18.9.1 (Current), @RafaelGSSCompare Source
This is a security release.
Notable changes
The following CVEs are fixed in this release:
More detailed information on each of the vulnerabilities can be found in September 22nd 2022 Security Releases blog post.
llhttp updated to 6.0.10
llhttp
is updated to 6.0.10 which includes fixes for the following vulnerabilities.llhttp
parser in thehttp
module does not correctly parse and validate Transfer-Encoding headers. This can lead to HTTP Request Smuggling (HRS).llhttp
parser in thehttp
module does not correctly handle multi-line Transfer-Encoding headers. This can lead to HTTP Request Smuggling (HRS).http
does not correctly handle header fields that are not terminated with CLRF. This can lead to HTTP Request Smuggling (HRS).Commits
v18.9.0
: 2022-09-08, Version 18.9.0 (Current), @RafaelGSSCompare Source
Notable changes
Commits