Skip to content

Commit 4dc0c19

Browse files
kotlarmilosaduh95deepak1556nsinfoPROnodejs-github-bot
authored
Merge upstream Node.js v24.18.1 into dotnet/main (#375)
* stream: copyedit `webstreams/adapter.js` - Simplify `ZLIB_FAILURES` creation. - Cache `cause.code` in `handleKnownInternalErrors` in case of a getter. - Replace `SafePromiseAll` with `SafePromiseAllReturnVoid` to reduce the number of allocated promises. Signed-off-by: Antoine du Hamel <duhamelantoine1995@gmail.com> PR-URL: https://github.com/nodejs/node/pull/63034 Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> * build: track PDL files as inputs in inspector GN build The `node_protocol_generated_sources` action was missing `gypi_values.node_pdl_files` from its inputs, causing Ninja to skip regeneration when PDL domain files changed. PR-URL: https://github.com/nodejs/node/pull/62888 Reviewed-By: Chengzhong Wu <legendecas@gmail.com> Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Kohei Ueno <kohei.ueno119@gmail.com> * tools: use LTS Node.js in notify-on-push workflow Without pinning Node.js, the runner defaults to Node 20 and npx falls back to core-validate-commit@5.0.1 instead of 6.0.0 (requires Node 22+). Version 5 does not recognise the ffi subsystem, causing false invalid-commit alerts. Signed-off-by: Nenad Spasenic <40522817+nsinfoPRO@users.noreply.github.com> PR-URL: https://github.com/nodejs/node/pull/63084 Fixes: https://github.com/nodejs/node/issues/63070 Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com> Reviewed-By: Michaël Zasso <targos@protonmail.com> * deps: update amaro to 1.1.9 PR-URL: https://github.com/nodejs/node/pull/63090 Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com> Reviewed-By: Chemi Atlow <chemi@atlow.co.il> * test_runner: fix failing suite hooks when marked with `todo` Signed-off-by: Moshe Atlow <moshe@atlow.co.il> PR-URL: https://github.com/nodejs/node/pull/63097 Reviewed-By: Chemi Atlow <chemi@atlow.co.il> Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com> Reviewed-By: Aviv Keller <me@aviv.sh> Reviewed-By: Jacob Smith <jacob@frende.me> Reviewed-By: Ulises Gascón <ulisesgascongonzalez@gmail.com> * doc: fix the TypeScript Execute (tsx) project link Signed-off-by: David Thornton <david.m.thornton@gmail.com> PR-URL: https://github.com/nodejs/node/pull/63093 Reviewed-By: Jacob Smith <jacob@frende.me> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: René <contact.9a5d6388@renegade334.me.uk> * quic: start re-enabling quic with openssl 3.5 Start working on re-enabling QUIC support with the availability of OpenSSL 3.5. This will be a multi-step process. Signed-off-by: James M Snell <jasnell@gmail.com> PR-URL: https://github.com/nodejs/node/pull/59249 Reviewed-By: Matteo Collina <matteo.collina@gmail.com> * deps: update ngtcp2 to 1.14.0 Signed-off-by: James M Snell <jasnell@gmail.com> PR-URL: https://github.com/nodejs/node/pull/59249 Reviewed-By: Matteo Collina <matteo.collina@gmail.com> * deps: update nghttp3 to 1.11.0 Signed-off-by: James M Snell <jasnell@gmail.com> PR-URL: https://github.com/nodejs/node/pull/59249 Reviewed-By: Matteo Collina <matteo.collina@gmail.com> * quic: update the guard to check openssl version Since we need to be able to use the openssl adapter provided by the ngtcp2 library, and because that adapter does not include any compile guards to ensure that OpenSSL 3.5 is being used and that the APIs are actually available, we need to add a compile time check for the openssl version in order to conditionally include the adapter to avoid build errors when using a shared openssl library that is not OpenSSL 3.5. Signed-off-by: James M Snell <jasnell@gmail.com> PR-URL: https://github.com/nodejs/node/pull/59249 Reviewed-By: Matteo Collina <matteo.collina@gmail.com> * quic: fixup windows coverage compile error PR-URL: https://github.com/nodejs/node/pull/59381 Fixes: https://github.com/nodejs/node/issues/59369 Reviewed-By: Filip Skokan <panva.ip@gmail.com> Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Richard Lau <richard.lau@ibm.com> * quic: fixup NO_ERROR macro conflict on windows PR-URL: https://github.com/nodejs/node/pull/59381 Fixes: https://github.com/nodejs/node/issues/59369 Reviewed-By: Filip Skokan <panva.ip@gmail.com> Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Richard Lau <richard.lau@ibm.com> * quic: few additional small comment edits in cid.h Signed-off-by: James M Snell <jasnell@gmail.com> PR-URL: https://github.com/nodejs/node/pull/59342 Reviewed-By: Stephen Belanger <admin@stephenbelanger.com> Reviewed-By: Ethan Arrowood <ethan@arrowood.dev> * quic: update more of the quic to the new compile guard Signed-off-by: James M Snell <jasnell@gmail.com> PR-URL: https://github.com/nodejs/node/pull/59342 Reviewed-By: Stephen Belanger <admin@stephenbelanger.com> Reviewed-By: Ethan Arrowood <ethan@arrowood.dev> * quic: multiple fixups and updates Signed-off-by: James M Snell <jasnell@gmail.com> PR-URL: https://github.com/nodejs/node/pull/59342 Reviewed-By: Stephen Belanger <admin@stephenbelanger.com> Reviewed-By: Ethan Arrowood <ethan@arrowood.dev> * quic: reduce boilerplate and other minor cleanups While I get that macros aren't the most loved thing in the world, they do help reduce boilerplate, and there's a lot of boilerplate in the QUIC code. This commit cleans up some of that boilerplate, particularly around the use of v8 APIs. PR-URL: https://github.com/nodejs/node/pull/59342 Reviewed-By: Stephen Belanger <admin@stephenbelanger.com> Reviewed-By: Ethan Arrowood <ethan@arrowood.dev> * src: cleanup quic TransportParams class PR-URL: https://github.com/nodejs/node/pull/59884 Reviewed-By: Stephen Belanger <admin@stephenbelanger.com> Reviewed-By: Tim Perry <pimterry@gmail.com> * src: fix small compile warning in quic/streams.cc Fixes: https://github.com/nodejs/node/issues/60110 PR-URL: https://github.com/nodejs/node/pull/60118 Reviewed-By: Michaël Zasso <targos@protonmail.com> Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com> Reviewed-By: Tobias Nießen <tniessen@tnie.de> * deps: update nghttp3 to 1.13.1 PR-URL: https://github.com/nodejs/node/pull/60046 Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com> Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com> * deps: update nghttp3 to 1.14.0 PR-URL: https://github.com/nodejs/node/pull/61187 Reviewed-By: Michaël Zasso <targos@protonmail.com> Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com> * quic: copy options.certs buffer instead of detaching The certs could be allocated in a pooled buffer, like `Buffer.from`, and `Buffer.allocUnsafe` (used by `fs.readFileSync`, etc). PR-URL: https://github.com/nodejs/node/pull/61403 Refs: https://github.com/nodejs/node/pull/61372 Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Anna Henningsen <anna@addaleax.net> * quic: fix a handful of bugs and missing functionality Signed-off-by: James M Snell <jasnell@gmail.com> Assisted-by: Opencode/Opus 4.6 PR-URL: https://github.com/nodejs/node/pull/62387 Reviewed-By: Stephen Belanger <admin@stephenbelanger.com> * quic: update http3 impl details Signed-off-by: James M Snell <jasnell@gmail.com> Assisted-by: Opencode/Opus 4.6 PR-URL: https://github.com/nodejs/node/pull/62387 Reviewed-By: Stephen Belanger <admin@stephenbelanger.com> * quic: fixup linting/formatting issues Signed-off-by: James M Snell <jasnell@gmail.com> Assisted-by: Opencode/Opus 4.6 PR-URL: https://github.com/nodejs/node/pull/62387 Reviewed-By: Stephen Belanger <admin@stephenbelanger.com> * quic: use arena allocation for packets Previously Packets were ReqWrap objects with a shared free-list. This commit changes to a per-Endpoint arena with no v8 involvement. This is the design I originally had in mind but I initially went with the simpler freelist approach to get something working. There's too much overhead in the reqrap/freelist approach and individual packets do not really need to be observable via async hooks. This design should eliminate the risk of memory fragmentation and eliminate a significant bottleneck in the hot path. Signed-off-by: James M Snell <jasnell@gmail.com> Assisted-by: Opencode:Opus 4.6 PR-URL: https://github.com/nodejs/node/pull/62589 Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: Stephen Belanger <admin@stephenbelanger.com> * quic: move quic behind compile time flag Move node:quic behind a compile-time flag, disabled by default. Use --experimental-quic at configure time to enable. - Add --experimental-quic flag to configure.py - Add node_use_quic variable and HAVE_QUIC define - Make QUIC sources conditional in node.gyp - Move ngtcp2/nghttp3 deps under QUIC condition in node.gypi - Update C++ guards to check HAVE_QUIC - Update process.features.quic to check node_use_quic PR-URL: https://github.com/nodejs/node/pull/61444 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com> Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com> Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com> Reviewed-By: Aviv Keller <me@aviv.sh> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> * quic: implement rapidhash for hashing improvements Signed-off-by: James M Snell <jasnell@gmail.com> Assisted-by: Opencode:Opus 4.6 PR-URL: https://github.com/nodejs/node/pull/62620 Reviewed-By: Robert Nagy <ronagy@icloud.com> Reviewed-By: Tim Perry <pimterry@gmail.com> * src: add permission support to config file PR-URL: https://github.com/nodejs/node/pull/60746 Backport-PR-URL: https://github.com/nodejs/node/pull/62760 Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com> Reviewed-By: Xuguang Mei <meixuguang@gmail.com> * test: improve config-file permission test coverage Refs: https://github.com/nodejs/node/pull/60746#pullrequestreview-3470430664 PR-URL: https://github.com/nodejs/node/pull/60929 Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> * src: expose help texts into node-config-schema.json PR-URL: https://github.com/nodejs/node/pull/58680 Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com> * test_runner: update node-config-schema PR-URL: https://github.com/nodejs/node/pull/58680 Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com> * doc: fix node-config-schema PR-URL: https://github.com/nodejs/node/pull/61596 Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com> Reviewed-By: Michaël Zasso <targos@protonmail.com> Reviewed-By: Pietro Marchini <pietro.marchini94@gmail.com> Reviewed-By: Gürgün Dayıoğlu <hey@gurgun.day> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> * meta: bump actions/download-artifact from 8.0.0 to 8.0.1 Bumps [actions/download-artifact](https://github.com/actions/download-artifact) from 8.0.0 to 8.0.1. - [Release notes](https://github.com/actions/download-artifact/releases) - [Commits](https://github.com/actions/download-artifact/compare/70fc10c6e5e1ce46ad2ea6f2b72d43f7d47b13c3...3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c) --- updated-dependencies: - dependency-name: actions/download-artifact dependency-version: 8.0.1 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> PR-URL: https://github.com/nodejs/node/pull/62549 Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com> Reviewed-By: Ulises Gascón <ulisesgascongonzalez@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> * quic: apply multiple TLS context improvements and SNI support Signed-off-by: James M Snell <jasnell@gmail.com> Assisted-by: Opencode:Opus 4.6 PR-URL: https://github.com/nodejs/node/pull/62620 Reviewed-By: Robert Nagy <ronagy@icloud.com> Reviewed-By: Tim Perry <pimterry@gmail.com> * quic: support multiple ALPN negotiation Signed-off-by: James M Snell <jasnell@gmail.com> Assisted-by: Opencode:Opus 4.6 PR-URL: https://github.com/nodejs/node/pull/62620 Reviewed-By: Robert Nagy <ronagy@icloud.com> Reviewed-By: Tim Perry <pimterry@gmail.com> * quic: fixup token verification to handle zero expiration Signed-off-by: James M Snell <jasnell@gmail.com> Assisted-by: Opencode:Opus 4.6 PR-URL: https://github.com/nodejs/node/pull/62620 Reviewed-By: Robert Nagy <ronagy@icloud.com> Reviewed-By: Tim Perry <pimterry@gmail.com> * util: colorize text with hex colors PR-URL: https://github.com/nodejs/node/pull/61556 Reviewed-By: Michaël Zasso <targos@protonmail.com> Reviewed-By: Jordan Harband <ljharb@gmail.com> Reviewed-By: René <contact.9a5d6388@renegade334.me.uk> Reviewed-By: Gürgün Dayıoğlu <hey@gurgun.day> Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com> Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com> Reviewed-By: Claudio Wunder <cwunder@gnome.org> Reviewed-By: Chemi Atlow <chemi@atlow.co.il> * quic: add QuicEndpoint.listening & QuicStream.destroy() and tests Starting to explore and cover the existing implementation, this covers the basic endpoint & stream lifecycle and the exposed properties. Added endpoint.listening to match net.Server and round out endpoint properties, and stream.destroy() which is already called by quicSession.destroy() and documented, but didn't actually exist. Signed-off-by: Tim Perry <pimterry@gmail.com> PR-URL: https://github.com/nodejs/node/pull/62648 Reviewed-By: Aviv Keller <me@aviv.sh> Reviewed-By: James M Snell <jasnell@gmail.com> * tools: add a check for clean git tree after tests Signed-off-by: Antoine du Hamel <duhamelantoine1995@gmail.com> PR-URL: https://github.com/nodejs/node/pull/62661 Refs: https://github.com/nodejs/node/issues/62646 Reviewed-By: Juan José Arboleda <soyjuanarbol@gmail.com> Reviewed-By: Aviv Keller <me@aviv.sh> Reviewed-By: Richard Lau <richard.lau@ibm.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Filip Skokan <panva.ip@gmail.com> * src: clean up experimental flag variables - `fetch` is no longer disable by a CLI flag - `node:sqlite` requires SQLite, obviously Signed-off-by: Antoine du Hamel <duhamelantoine1995@gmail.com> PR-URL: https://github.com/nodejs/node/pull/62759 Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Geoffrey Booth <webadmin@geoffreybooth.com> Reviewed-By: Michaël Zasso <targos@protonmail.com> Reviewed-By: Filip Skokan <panva.ip@gmail.com> Reviewed-By: Xuguang Mei <meixuguang@gmail.com> Reviewed-By: Tobias Nießen <tniessen@tnie.de> * fs: add followSymlinks option to glob PR-URL: https://github.com/nodejs/node/pull/62695 Reviewed-By: Moshe Atlow <moshe@atlow.co.il> * doc: fix duplicate word "to to" in util.styleText PR-URL: https://github.com/nodejs/node/pull/62917 Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com> Reviewed-By: Jacob Smith <jacob@frende.me> Reviewed-By: Daeyeon Jeong <daeyeon.dev@gmail.com> Reviewed-By: Darshan Sen <raisinten@gmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Stephen Belanger <admin@stephenbelanger.com> * test: update WPT for streams to f8f26a372f PR-URL: https://github.com/nodejs/node/pull/62864 Reviewed-By: Filip Skokan <panva.ip@gmail.com> Reviewed-By: Daeyeon Jeong <daeyeon.dev@gmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> * test: update WPT for url to 258f285de0 PR-URL: https://github.com/nodejs/node/pull/63087 Reviewed-By: Chemi Atlow <chemi@atlow.co.il> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Matteo Collina <matteo.collina@gmail.com> * repl: keep reference count for `process.on('newListener')` When investigating a memory leak in one of our applications, we discovered that this listener holds on to a `REPLServer` instance and all heap objects transitively kept alive by it by capturing as part of its closure. It's cleaner to declare the listener outside of the `REPLServer` class and to actually clean it up properly when it is no longer required or meaningful, which is easily achieved through keeping a reference count. PR-URL: https://github.com/nodejs/node/pull/61895 Backport-PR-URL: https://github.com/nodejs/node/pull/63194 Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com> * crypto: remove Argon2 KDF derivation from its job setup Signed-off-by: Filip Skokan <panva.ip@gmail.com> PR-URL: https://github.com/nodejs/node/pull/62863 Backport-PR-URL: https://github.com/nodejs/node/pull/63173 Fixes: https://github.com/nodejs/node/issues/62861 Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com> * crypto: reject unintended raw key format string input Signed-off-by: Filip Skokan <panva.ip@gmail.com> PR-URL: https://github.com/nodejs/node/pull/62974 Backport-PR-URL: https://github.com/nodejs/node/pull/63173 Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com> * doc: fix typos and inconsistencies in crypto.md and webcrypto.md Signed-off-by: Filip Skokan <panva.ip@gmail.com> PR-URL: https://github.com/nodejs/node/pull/62828 Backport-PR-URL: https://github.com/nodejs/node/pull/63173 Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com> * crypto: deduplicate and canonicalize CryptoKey usages Fixes: https://github.com/nodejs/node/issues/62899 Signed-off-by: Filip Skokan <panva.ip@gmail.com> PR-URL: https://github.com/nodejs/node/pull/62902 Backport-PR-URL: https://github.com/nodejs/node/pull/63173 Fixes: https://github.com/nodejs/node/issues/62899 Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com> * inspector: initial support storage inspection PR-URL: https://github.com/nodejs/node/pull/61139 Backport-PR-URL: https://github.com/nodejs/node/pull/63176 Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com> * inspector: auto collect webstorage data PR-URL: https://github.com/nodejs/node/pull/62145 Backport-PR-URL: https://github.com/nodejs/node/pull/63176 Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com> * inspector: return errors when CDP protocol event emission fails PR-URL: https://github.com/nodejs/node/pull/62162 Backport-PR-URL: https://github.com/nodejs/node/pull/63176 Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com> * inspector: coerce key and value to string in webstorage events Signed-off-by: Ali Hassan <ali-hassan27@outlook.com> PR-URL: https://github.com/nodejs/node/pull/62616 Backport-PR-URL: https://github.com/nodejs/node/pull/63176 Refs: https://github.com/nodejs/node/pull/62145 Refs: https://github.com/nodejs/node/pull/62162 Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com> * test: generate `localstorage.db` in a temp dir Co-Authored-By: Antoine du Hamel <duhamelantoine1995@gmail.com> Signed-off-by: Antoine du Hamel <duhamelantoine1995@gmail.com> PR-URL: https://github.com/nodejs/node/pull/62660 Backport-PR-URL: https://github.com/nodejs/node/pull/63176 Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com> * deps: V8: cherry-pick 657d8de27427 Original commit message: [maglev] Fix throwing node inside eager inlining This commit refactors the exception handling logic to correctly identify and associate nodes with their respective `catch` blocks, even when multiple levels of inlining are involved. Previously, the check `!IsInsideTryBlock() && !is_eager_inline()` was insufficient to determine if catch block inside `CatchDetails` was already created. Specifically, consider the case where: 1. Function `bar` is non-eagerly inlined into `foo`. 2. `foo` contains a `catch` block. 3. `bar` calls `in_bar`, which is eagerly inlined. 4. A node within `in_bar` can `throw`. In this scenario, `is_eager_inline` would be true when compiling `in_bar`, leading to an incorrect assumption that the catch block didn't exist yet. This change addresses the issue by propagating a boolean value via `CatchDetails`. This boolean accurately indicates whether a `catch` block is present in the call chain, allowing for correct exception handling regardless of inlining depth or eagerness. Fixed: 417768368 Change-Id: Ic52f72f302b4dc644bdcad939addf98111bc525b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/6563500 Commit-Queue: Victor Gomes <victorgomes@chromium.org> Reviewed-by: Darius Mercadier <dmercadier@chromium.org> Cr-Commit-Position: refs/heads/main@{#100380} Refs: https://github.com/v8/v8/commit/657d8de274276c940d07203ee43d3cf4c732cebd PR-URL: https://github.com/nodejs/node/pull/62784 Reviewed-By: Xuguang Mei <meixuguang@gmail.com> * test_runner: support test order randomization PR-URL: https://github.com/nodejs/node/pull/61747 Reviewed-By: Jacob Smith <jacob@frende.me> Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com> Reviewed-By: Ethan Arrowood <ethan@arrowood.dev> Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com> Reviewed-By: Aviv Keller <me@aviv.sh> Reviewed-By: Chemi Atlow <chemi@atlow.co.il> Reviewed-By: Moshe Atlow <moshe@atlow.co.il> * test_runner: publish to TracingChannel for OTel instrumentation Signed-off-by: Moshe Atlow <moshe@atlow.co.il> PR-URL: https://github.com/nodejs/node/pull/62502 Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com> Reviewed-By: Chemi Atlow <chemi@atlow.co.il> * test_runner: add `testId` to test events Signed-off-by: Moshe Atlow <moshe@atlow.co.il> PR-URL: https://github.com/nodejs/node/pull/62772 Reviewed-By: Chemi Atlow <chemi@atlow.co.il> Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com> * deps: update corepack to 0.35.0 PR-URL: https://github.com/nodejs/node/pull/63375 Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com> Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com> * 2026-05-21, Version 24.16.0 'Krypton' (LTS) Notable changes: crypto: * (SEMVER-MINOR) implement `randomUUIDv7()` (nabeel378) https://github.com/nodejs/node/pull/62553 debugger: * (SEMVER-MINOR) add edit-free runtime expression probes to `node inspect` (Joyee Cheung) https://github.com/nodejs/node/pull/62713 fs: * (SEMVER-MINOR) add `signal` option to `fs.stat()` (Mert Can Altin) https://github.com/nodejs/node/pull/57775 * (SEMVER-MINOR) expose `frsize` field in `statfs` (Jinho Jang) https://github.com/nodejs/node/pull/62277 http: * (SEMVER-MINOR) harden `ClientRequest` options merge (Matteo Collina) https://github.com/nodejs/node/pull/63082 * (SEMVER-MINOR) add `req.signal` to `IncomingMessage` (Akshat) https://github.com/nodejs/node/pull/62541 stream: * (SEMVER-MINOR) propagate destruction in `duplexPair` (Ahmed Elhor) https://github.com/nodejs/node/pull/61098 test_runner: * (SEMVER-MINOR) support test order randomization (Pietro Marchini) https://github.com/nodejs/node/pull/61747 * (SEMVER-MINOR) align mock timeout api (sangwook) https://github.com/nodejs/node/pull/62820 * (SEMVER-MINOR) add mock-timers support for `AbortSignal.timeout` (DeveloperViraj) https://github.com/nodejs/node/pull/60751 util: * (SEMVER-MINOR) colorize text with hex colors (Guilherme Araújo) https://github.com/nodejs/node/pull/61556 PR-URL: https://github.com/nodejs/node/pull/63263 * Working on v24.16.1 PR-URL: https://github.com/nodejs/node/pull/63263 * deps: update undici to 7.28.0 PR-URL: https://github.com/nodejs/node/pull/63703 Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com> Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com> * deps: fix aix implicit declaration in OpenSSL This seems like a bug in AIX header files because the examples show including the headers but upon inspecting these files there are no declarations for sendmmsg and others: https://www.ibm.com/docs/en/aix/7.2.0?topic=s-sendmmsg-subroutine For now we can claim to not have these functions. Alternatively we can declare these ourselves if we are AIX 7.2 or newer. The actual functions look to be available in libc. GCC also has the same implicit function declaration but it happily moves forward. Clang started making this an explict error in clang 16: https://www.redhat.com/en/blog/new-warnings-and-errors-clang-16 PR-URL: https://github.com/nodejs/node/pull/62656 Refs: https://www.ibm.com/docs/en/aix/7.2.0?topic=s-sendmmsg-subroutine Reviewed-By: Richard Lau <richard.lau@ibm.com> Reviewed-By: Michaël Zasso <targos@protonmail.com> * deps: upgrade openssl sources to openssl-3.5.7 PR-URL: https://github.com/nodejs/node/pull/63820 Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com> Reviewed-By: Richard Lau <richard.lau@ibm.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Filip Skokan <panva.ip@gmail.com> * deps: update archs files for openssl-3.5.7 PR-URL: https://github.com/nodejs/node/pull/63820 Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com> Reviewed-By: Richard Lau <richard.lau@ibm.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Filip Skokan <panva.ip@gmail.com> * deps: update nghttp2 to 1.69.0 PR-URL: https://github.com/nodejs/node/pull/62891 Backport-PR-URL: https://github.com/nodejs/node/pull/63164 Reviewed-By: Tim Perry <pimterry@gmail.com> Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com> Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com> * deps: fix integration issues with the latest nghttp2 This is a set of src & tests fixes for nghttp2 due to changes in v1.67.0+ which require a selection of changes to how we handle low-level protocol errors when using the latest versions of nghttp2, changing both some src error handling and updating some tests to match. Signed-off-by: Tim Perry <pimterry@gmail.com> PR-URL: https://github.com/nodejs/node/pull/62891 Backport-PR-URL: https://github.com/nodejs/node/pull/63164 Reviewed-By: Tim Perry <pimterry@gmail.com> Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com> Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com> Refs: https://hackerone.com/reports/3658225 CVE-ID: CVE-2026-48937 * deps: update llhttp to 9.4.2 PR-URL: https://github.com/nodejs-private/node-private/pull/890 Reviewed-By: Tobias Nießen <tniessen@tnie.de> * lib,test: redact proxy credentials in tunnel errors Refs: https://hackerone.com/reports/3720313 Signed-off-by: Matteo Collina <hello@matteocollina.com> PR-URL: https://github.com/nodejs-private/node-private/pull/867 Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com> CVE-ID: CVE-2026-48615 * permission: handle process.chdir on writereport Signed-off-by: RafaelGSS <rafael.nunu@hotmail.com> PR-URL: https://github.com/nodejs-private/node-private/pull/870 Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com> CVE-ID: CVE-2026-48617 Refs: https://hackerone.com/reports/3625987 * tls: normalize hostname for server identity checks Signed-off-by: Matteo Collina <hello@matteocollina.com> PR-URL: https://github.com/nodejs-private/node-private/pull/869 Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com> CVE-ID: CVE-2026-48618 Refs: https://hackerone.com/reports/3688064 * http2: cap originSet size to prevent unbounded memory growth A malicious HTTP/2 server can send repeated ORIGIN frames with unique origins, causing unbounded growth of the client-side originSet for the lifetime of the session. Cap the set at 128 entries; once full, new origins from ORIGIN frames are silently dropped. Refs: https://hackerone.com/reports/3676863 PR-URL: https://github.com/nodejs-private/node-private/pull/855 Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com> CVE-ID: CVE-2026-48619 * tls: fix case-sensitive SNI context matching The regex constructed by server.addContext() lacked the case-insensitive flag, causing uppercase or mixed-case SNI hostnames from ClientHello to miss their intended context and fall back to the default context. This violates RFC 6066 Section 3, which states that DNS hostnames are case-insensitive. In mTLS configurations with per-tenant contexts, this allowed bypassing client certificate authorization by simply uppercasing the SNI hostname. Add the 'i' flag to the RegExp in addContext() so that SNI matching is case-insensitive. PR-URL: https://github.com/nodejs-private/node-private/pull/857 Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com> CVE-ID: CVE-2026-48928 Refs: https://hackerone.com/reports/3656869 * dns,net: reject hostnames with embedded NUL bytes Ref: https://hackerone.com/reports/3656716 PR-URL: https://github.com/nodejs-private/node-private/pull/868 Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com> CVE-ID: CVE-2026-48930 Refs: https://hackerone.com/reports/3656716 * permission: disable FileHandle utimes with permission model PR-URL: https://github.com/nodejs-private/node-private/pull/873 Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com> CVE-ID: CVE-2026-48935 Refs: https://hackerone.com/reports/3625987 * http: fix response queue poisoning in http.Agent Attach a data guard listener on idle keepAlive sockets in the freeSockets pool. If unsolicited data arrives while the socket is idle, destroy it immediately to prevent response queue poisoning. Refs: https://hackerone.com/reports/3582376 PR-URL: https://github.com/nodejs-private/node-private/pull/846 Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com> CVE-ID: CVE-2026-48931 Refs: https://hackerone.com/reports/3582376 * crypto: guard WebCrypto cipher output length Reject WebCrypto cipher operations whose computed output length would exceed INT_MAX before passing the length to OpenSSL. This avoids signed overflow in the AES and ChaCha20-Poly1305 one-shot cipher paths and turns oversized inputs into a clean operation failure. Refs: https://hackerone.com/reports/3760016 Signed-off-by: Filip Skokan <panva.ip@gmail.com> PR-URL: https://github.com/nodejs-private/node-private/pull/878 Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com> CVE-ID: CVE-2026-48933 * tls: bind reusable sessions to authenticated host Backport-PR-URL: https://github.com/nodejs-private/node-private/pull/895 PR-URL: https://github.com/nodejs-private/node-private/pull/854 Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com> CVE-ID: CVE-2026-48934 Refs: https://hackerone.com/reports/3649802 * test: add session reuse host verification regressions Backport-PR-URL: https://github.com/nodejs-private/node-private/pull/895 PR-URL: https://github.com/nodejs-private/node-private/pull/854 Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com> Refs: https://hackerone.com/reports/3649802 * 2026-06-18, Version 24.17.0 'Krypton' (LTS) This is a security release. Notable changes: * (CVE-2026-48618) tls: normalize hostname for server identity checks (Matteo Collina) – High * (CVE-2026-48933) crypto: guard WebCrypto cipher output length (Filip Skokan) – High * (CVE-2026-48615) lib,test: redact proxy credentials in tunnel errors (Matteo Collina) – Medium * (CVE-2026-48619) http2: cap originSet size to prevent unbounded memory growth (Matteo Collina) – Medium * (CVE-2026-48928) tls: fix case-sensitive SNI context matching (Matteo Collina) – Medium * (CVE-2026-48930) dns,net: reject hostnames with embedded NUL bytes (Matteo Collina) – Medium * (CVE-2026-48934) tls: bind reusable sessions to authenticated host (Matteo Collina) – Medium * (CVE-2026-48937) deps: fix integration issues with the latest nghttp2 – Medium * (CVE-2026-48617) permission: handle process.chdir on writereport (RafaelGSS) – Low * (CVE-2026-48931) http: fix response queue poisoning in http.Agent (Matteo Collina) – Low * (CVE-2026-48935) permission: disable FileHandle utimes with permission model (RafaelGSS) – Low PR-URL: https://github.com/nodejs-private/node-private/pull/899 * Working on v24.17.1 PR-URL: https://github.com/nodejs-private/node-private/pull/899 * doc: remove list of versions in `BUILDING.md` Signed-off-by: Antoine du Hamel <duhamelantoine1995@gmail.com> PR-URL: https://github.com/nodejs/node/pull/63113 Reviewed-By: Filip Skokan <panva.ip@gmail.com> Reviewed-By: René <contact.9a5d6388@renegade334.me.uk> Reviewed-By: Michaël Zasso <targos@protonmail.com> Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com> Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Paolo Insogna <paolo@cowtech.it> * doc: document the latest-vX.x schema Signed-off-by: Marco Ippolito <marcoippolito54@gmail.com> PR-URL: https://github.com/nodejs/node/pull/63033 Reviewed-By: Pietro Marchini <pietro.marchini94@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> * doc: add Hmac.digest() documentation-only deprecation (DEP0206) Signed-off-by: anshikakalpana <anshikajain196872@gmail.com> PR-URL: https://github.com/nodejs/node/pull/63121 Refs: https://github.com/nodejs/node/issues/62838 Reviewed-By: René <contact.9a5d6388@renegade334.me.uk> Reviewed-By: Filip Skokan <panva.ip@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> * sqlite: keep source database alive during backup Signed-off-by: Matteo Collina <hello@matteocollina.com> PR-URL: https://github.com/nodejs/node/pull/62673 Reviewed-By: Daniel Lemire <daniel@lemire.me> Reviewed-By: Tobias Nießen <tniessen@tnie.de> Reviewed-By: Edy Silva <edigleyssonsilva@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> * module: fix sync hook short-circuit in require() in imported CJS - For imported CJS, if it's not customized by asynchronous hooks, make sure it won't use the quirky re-invented require in all cases. - When the imported CJS module is customized by synchronous hooks, in the synthetic module evalutation step, avoid calling the respective default step again. - Make the branching of loadCJSModuleWithModuleLoad() and loadCJSModuleWithSpecialRequire() more explicit, and fold the tentative fs read in the 'commonjs' translator into the share createCJSModuleWrap() helper instead of checking it twice in the same path. Signed-off-by: Joyee Cheung <joyeec9h3@gmail.com> PR-URL: https://github.com/nodejs/node/pull/62920 Fixes: https://github.com/nodejs/node/issues/63060 Reviewed-By: Paolo Insogna <paolo@cowtech.it> Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: Gürgün Dayıoğlu <hey@gurgun.day> * test: use ERM to destroy sqlite database handles after tests Signed-off-by: Renegade334 <contact.9a5d6388@renegade334.me.uk> PR-URL: https://github.com/nodejs/node/pull/63076 Refs: https://github.com/nodejs/node/issues/63052 Reviewed-By: Chemi Atlow <chemi@atlow.co.il> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Edy Silva <edigleyssonsilva@gmail.com> * doc,sqlite: document entryPoint argument for loadExtension Signed-off-by: geeksilva97 <edigleyssonsilva@gmail.com> PR-URL: https://github.com/nodejs/node/pull/63152 Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: René <contact.9a5d6388@renegade334.me.uk> * doc: update release steps when post-release fails Signed-off-by: RafaelGSS <rafael.nunu@hotmail.com> PR-URL: https://github.com/nodejs/node/pull/63131 Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com> Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com> * tls: add unsupported renegotiation error Map BoringSSL's native renegotiation failure to ERR_TLS_RENEGOTIATION_UNSUPPORTED when TLSSocket#renegotiate() is called. This avoids exposing an implementation-specific OpenSSL error when the TLS backend does not support caller-initiated renegotiation. Signed-off-by: Filip Skokan <panva.ip@gmail.com> PR-URL: https://github.com/nodejs/node/pull/63161 Reviewed-By: Tim Perry <pimterry@gmail.com> Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com> * quic: remove unused binding variable in session.cc Signed-off-by: James M Snell <jasnell@gmail.com> PR-URL: https://github.com/nodejs/node/pull/63177 Reviewed-By: Tim Perry <pimterry@gmail.com> Reviewed-By: Anna Henningsen <anna@addaleax.net> * doc: clarify SEA platform support excludes darwin-x64 The Platform support section of the single-executable-applications doc listed `macOS` without qualifying which architecture is supported. SEA on x64 macOS is not supported and is skipped in CI; only arm64 macOS is exercised. Refs: https://github.com/nodejs/node/issues/62893 Signed-off-by: mokashang <64570909+mokashang@users.noreply.github.com> PR-URL: https://github.com/nodejs/node/pull/63181 Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com> Reviewed-By: Chemi Atlow <chemi@atlow.co.il> * doc: remove unnecessary `<!-- eslint-` magic comments Signed-off-by: Antoine du Hamel <duhamelantoine1995@gmail.com> PR-URL: https://github.com/nodejs/node/pull/63200 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Filip Skokan <panva.ip@gmail.com> Reviewed-By: Jacob Smith <jacob@frende.me> Reviewed-By: Chemi Atlow <chemi@atlow.co.il> Reviewed-By: Ulises Gascón <ulisesgascongonzalez@gmail.com> * meta: ignore AI assistants files Ignore CLAUDE.md and AGENTS.md in .gitignore, and exclude them from markdown and ESLint linting. Signed-off-by: Matteo Collina <hello@matteocollina.com> PR-URL: https://github.com/nodejs/node/pull/62612 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Moshe Atlow <moshe@atlow.co.il> Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com> Reviewed-By: Ulises Gascón <ulisesgascongonzalez@gmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Daijiro Wachi <daijiro.wachi@gmail.com> Reviewed-By: Paolo Insogna <paolo@cowtech.it> Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com> * lib: narrow ReadableStreamBYOBRequest.view return type to Uint8Array Follow WHATWG streams spec update: https://github.com/whatwg/streams/pull/1367 ReadableStreamBYOBRequest.view is always constructed as a Uint8Array. This changes the documented return type from ArrayBufferView to Uint8Array per the updated spec. Fixes: https://github.com/nodejs/node/issues/62952 Signed-off-by: Jah-yee <166608075+Jah-yee@users.noreply.github.com> PR-URL: https://github.com/nodejs/node/pull/63017 Reviewed-By: Mattias Buelens <mattias@buelens.com> Reviewed-By: Jason Zhang <xzha4350@gmail.com> * doc: add large pull requests contributing guide - Exclude routine dependency/WPT/bot PRs from the policy - Replace design document requirement with detailed PR description - Clarify dependency commit ordering for squash landing - Remove splitting strategies that contradict self-contained PRs - Add links from CONTRIBUTING.md, pull-requests.md, collaborator-guide.md Signed-off-by: Matteo Collina <hello@matteocollina.com> PR-URL: https://github.com/nodejs/node/pull/62829 Fixes: https://github.com/nodejs/node/issues/62752 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com> Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com> Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com> Reviewed-By: Chengzhong Wu <legendecas@gmail.com> Reviewed-By: Paolo Insogna <paolo@cowtech.it> Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com> Reviewed-By: Gürgün Dayıoğlu <hey@gurgun.day> Reviewed-By: Ruy Adorno <ruy@vlt.sh> * tools: use different branch for tool updates on staging branches Signed-off-by: Antoine du Hamel <duhamelantoine1995@gmail.com> PR-URL: https://github.com/nodejs/node/pull/63110 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Richard Lau <richard.lau@ibm.com> Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com> * debugger: add --help to `node inspect` and improve docs - Add `--help` / `-h` to `node inspect` covering both interactive and non-interactive probe modes. The help text is printed when `--help`/`-h` appears before any positional argument to avoid hijacking `--help` passed to a child script. - Improve the documentation of probe mode and add examples, explain same-location probe coalescing, TDZ caveat for let/const bindings, basename matching and exit code behavior. Also move it to a section parallel to interactive mode. Remove recommendation of evaluating structured expressions as that is prone to missing info in JSON mode. Drive-by: When probe mode exits due to invalid arguments, exit with `kInvalidCommandLineArgument` (9) instead of `kGenericUserError` (1). Signed-off-by: Joyee Cheung <joyeec9h3@gmail.com> PR-URL: https://github.com/nodejs/node/pull/63201 Reviewed-By: Jan Martin <jan.krems@gmail.com> Reviewed-By: Chengzhong Wu <legendecas@gmail.com> Reviewed-By: Aviv Keller <me@aviv.sh> * deps: cherry-pick libuv/libuv@a43e543 Original commit message: unix: fix pedantic compiler warnings (#5052) Fixes: https://github.com/libuv/libuv/issues/5051 Fixes: https://github.com/nodejs/node/issues/63196 Refs: https://github.com/libuv/libuv/pull/5052 Refs: https://github.com/libuv/libuv/commit/a43e543dbffba93f014fe8360a5edbe8d6ce8500 PR-URL: https://github.com/nodejs/node/pull/63222 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Juan José Arboleda <soyjuanarbol@gmail.com> Reviewed-By: René <contact.9a5d6388@renegade334.me.uk> * src,sqlite: remove dead code Signed-off-by: geeksilva97 <edigleyssonsilva@gmail.com> PR-URL: https://github.com/nodejs/node/pull/63204 Reviewed-By: René <contact.9a5d6388@renegade334.me.uk> Reviewed-By: Chemi Atlow <chemi@atlow.co.il> Reviewed-By: Jake Yuesong Li <jake.yuesong@gmail.com> * deps: V8: cherry-pick 435a2cdf664c Original commit message: [wasm] Update WebAssembly.Exception JS API WebIDL specifies the existence of a `WebAssembly.Exception.prototype.stack` getter. WebIDL also expects the constructor to have 2 parameters (plus an optional one). https://webassembly.github.io/spec/js-api/#exceptions Bug: 336347912, 42204334 Change-Id: I128e976a84f942dcf9b93a157534b15fad0f9215 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/7697976 Commit-Queue: Matthias Liedtke <mliedtke@chromium.org> Auto-Submit: Matthias Liedtke <mliedtke@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/main@{#106215} Refs: https://github.com/v8/v8/commit/435a2cdf664ce02e0c6ea9401fbae600663e47cb PR-URL: https://github.com/nodejs/node/pull/63136 Reviewed-By: Filip Skokan <panva.ip@gmail.com> Reviewed-By: Mattias Buelens <mattias@buelens.com> Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> * crypto: improve system certificate enumeration logic on macOS 1) Fixed macOS default for missing kSecTrustSettingsResult When kSecTrustSettingsResult is absent from a trust settings dictionary, Apple specifies kSecTrustSettingsResultTrustRoot as the default value. Previously, the trust result evaluation (deny check, self-issued check, TrustAsRoot check) was inside the block that only executed when kSecTrustSettingsResult was explicitly present. When the key was absent, the function fell through to return UNSPECIFIED, incorrectly rejecting self-signed certificates that should have been trusted via the default. Move the trust result evaluation outside the conditional block so the default value of kSecTrustSettingsResultTrustRoot flows through the same code path as explicit values. This aligns with Chromium's trust_store_mac.cc implementation. 2) Fix CFRelease leak in IsTrustDictionaryTrustedForPolicy: the CFDictionaryRef returned by SecPolicyCopyProperties(policy_ref) was not released when the policy OID matched kSecPolicyAppleSSL. 3) Deduplicate certificates: SecItemCopyMatching can return the same certificate from multiple keychains. 4) Filter expired certificates. Signed-off-by: deepak1556 <hop2deep@gmail.com> PR-URL: https://github.com/nodejs/node/pull/62576 Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com> Reviewed-By: Gürgün Dayıoğlu <hey@gurgun.day> * doc: run license-builder PR-URL: https://github.com/nodejs/node/pull/63232 Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com> Reviewed-By: Juan José Arboleda <soyjuanarbol@gmail.com> Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Ulises Gascón <ulisesgascongonzalez@gmail.com> Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com> * lib: fixes validator message PR-URL: https://github.com/nodejs/node/pull/62823 Reviewed-By: Luigi Pinca <luigipinca@gmail.com> * lib: fix typo idenity => identity PR-URL: https://github.com/nodejs/node/pull/63112 Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com> Reviewed-By: Michaël Zasso <targos@protonmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Aviv Keller <me@aviv.sh> * node-api: support SharedArrayBuffer in napi_create_typedarray Signed-off-by: umuoy1 <burningdian@gmail.com> PR-URL: https://github.com/nodejs/node/pull/62710 Reviewed-By: Chengzhong Wu <legendecas@gmail.com> Reviewed-By: Vladimir Morozov <vmorozov@microsoft.com> * meta: move one or more collaborators to emeritus PR-URL: https://github.com/nodejs/node/pull/63235 Reviewed-By: Moshe Atlow <moshe@atlow.co.il> Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com> Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com> Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com> * doc: recommend explicitly Tier 1 or 2 for production applications Signed-off-by: Mike McCready <66998419+MikeMcC399@users.noreply.github.com> PR-URL: https://github.com/nodejs/node/pull/63187 Reviewed-By: Paolo Insogna <paolo@cowtech.it> Reviewed-By: Michaël Zasso <targos@protonmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> * doc: replace Visual Studio 2022 Evergreen version reference with 17.14 Signed-off-by: Mike McCready <66998419+MikeMcC399@users.noreply.github.com> PR-URL: https://github.com/nodejs/node/pull/63211 Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Stefan Stojanovic <stefan.stojanovic@janeasystems.com> Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com> * test: move FFI tests to `NATIVE_SUITES` Signed-off-by: Antoine du Hamel <duhamelantoine1995@gmail.com> PR-URL: https://github.com/nodejs/node/pull/63165 Reviewed-By: Richard Lau <richard.lau@ibm.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> * doc: reference correct function in Module docs Signed-off-by: Robin Malfait <malfait.robin@gmail.com> PR-URL: https://github.com/nodejs/node/pull/63247 Reviewed-By: René <contact.9a5d6388@renegade334.me.uk> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> * tools: fix test426 updater The previous version produces a commit that does pass the linter because of a too-long commit title. Signed-off-by: Antoine du Hamel <duhamelantoine1995@gmail.com> PR-URL: https://github.com/nodejs/node/pull/63271 Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com> Reviewed-By: Chengzhong Wu <legendecas@gmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> * repl: fix dedup comparing normalized line against raw history Signed-off-by: Daijiro Wachi <daijiro.wachi@gmail.com> PR-URL: https://github.com/nodejs/node/pull/62886 Reviewed-By: Luigi Pinca <luigipinca@gmail.com> * test_runner: fix diagnostics channel context tracking Signed-off-by: Moshe Atlow <moshe@atlow.co.il> PR-URL: https://github.com/nodejs/node/pull/63283 Reviewed-By: Chemi Atlow <chemi@atlow.co.il> Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com> Reviewed-By: Gürgün Dayıoğlu <hey@gurgun.day> * http2: validate non-link headers in writeEarlyHints Validate header names and values for non-link hints passed to writeEarlyHints() in the HTTP/2 compat layer using assertValidHeader() and checkIsHttpToken(), consistent with the HTTP/1.1 validation added in https://github.com/nodejs/node/pull/61897. Previously, hints were forwarded into the headers object without any validation, allowing invalid characters in header names/values to surface as opaque errors deeper in the HTTP/2 stack. Signed-off-by: Matteo Collina <hello@matteocollina.com> PR-URL: https://github.com/nodejs/node/pull/62017 Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Tim Perry <pimterry@gmail.com> Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> * deps: update simdjson to 4.6.4 PR-URL: https://github.com/nodejs/node/pull/62811 Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com> * http: add writeInformation to send arbitrary 1xx status codes Signed-off-by: Tim Perry <pimterry@gmail.com> PR-URL: https://github.com/nodejs/node/pull/63155 Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Ethan Arrowood <ethan@arrowood.dev> * deps: update sqlite to 3.53.1 PR-URL: https://github.com/nodejs/node/pull/63217 Reviewed-By: Chemi Atlow <chemi@atlow.co.il> Reviewed-By: Michaël Zasso <targos@protonmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Edy Silva <edigleyssonsilva@gmail.com> Reviewed-By: Jithil P Ponnan <jithil@outlook.com> * test: avoid initial-break wait in restart-message Signed-off-by: inoway46 <inoueyuya416@gmail.com> PR-URL: https://github.com/nodejs/node/pull/62060 Refs: https://github.com/nodejs/node/issues/61762 Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Kohei Ueno <kohei.ueno119@gmail.com> * test: avoid flaky restart sync in debugger exceptions test Signed-off-by: inoway46 <inoueyuya416@gmail.com> PR-URL: https://github.com/nodejs/node/pull/62055 Refs: https://github.com/nodejs/node/issues/61762 Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Gürgün Dayıoğlu <hey@gurgun.day> * stream: remove unnecessary check Signed-off-by: Antoine du Hamel <duhamelantoine1995@gmail.com> PR-URL: https://github.com/nodejs/node/pull/63030 Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com> Reviewed-By: Gürgün Dayıoğlu <hey@gurgun.day> Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com> * fs: make `Date` properties on `Stats` enumerable Signed-off-by: LiviaMedeiros <livia@cirno.name> PR-URL: https://github.com/nodejs/node/pull/63328 Reviewed-By: René <contact.9a5d6388@renegade334.me.uk> Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> * doc: remove inactive members from Triagers list Signed-off-by: Antoine du Hamel <duhamelantoine1995@gmail.com> PR-URL: https://github.com/nodejs/node/pull/63329 Fixes: https://github.com/nodejs/admin/issues/1058 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Moshe Atlow <moshe@atlow.co.il> * test: relax min assertion in test-performance-eventloopdelay Signed-off-by: marcopiraccini <marco.piraccini@gmail.com> PR-URL: https://github.com/nodejs/node/pull/63100 Reviewed-By: Paolo Insogna <paolo@cowtech.it> Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com> * test_runner: avoid hanging on incomplete v8 frames Signed-off-by: Ali Hassan <ali-hassan27@outlook.com> PR-URL: https://github.com/nodejs/node/pull/62704 Reviewed-By: Moshe Atlow <moshe@atlow.co.il> Reviewed-By: Chemi Atlow <chemi@atlow.co.il> * test: fix flaky test-watch-mode-inspect timeout This test randomly times out (~120s) on CI due to a race condition between child-process restart (triggered by touching the watched file) and the second inspector-session connection. The old code used an interval-based restart (write every 500ms) and a 'gettingDebuggedPid' flag to pause writes during a session. This still left a race window where getDebuggedPid() would attempt to connect the inspector via HTTP GET /json/list + WebSocket upgrade either before the new child was ready (empty target list) or after the old session was being destroyed, causing the promise to hang. Fix: Replace the interval with a single write that triggers exactly one restart, then wait for the restarted child's 'safe to debug now' stdout line before connecting the second inspector session. This eliminates the race by ensuring the new child process and its inspector session are fully ready before any connection attempt. Removes the now-unused gettingDebuggedPid flag and the pending setTimeout delay that was needed as a backstop for the interval. Fixes: https://github.com/nodejs/node/issues/44898 Signed-off-by: Matteo Collina <hello@matteocollina.com> PR-URL: https://github.com/nodejs/node/pull/63361 Reviewed-By: Moshe Atlow <moshe@atlow.co.il> Reviewed-By: Paolo Insogna <paolo@cowtech.it> * test: reduce flakiness of `different-registry-per-thread` There was an assumption that the `WeakRef` would be kept alive but it seems to not always be true on Windows. This commit makes sure it's kept alive. Signed-off-by: Antoine du Hamel <duhamelantoine1995@gmail.com> PR-URL: https://github.com/nodejs/node/pull/63244 Reviewed-By: Richard Lau <richard.lau@ibm.com> Reviewed-By: Vinícius Lourenço Claro Cardoso <contact@viniciusl.com.br> Reviewed-By: Stefan Stojanovic <stefan.stojanovic@janeasystems.com> * test: relax test-memory-usage arrayBuffers check Signed-off-by: inoway46 <inoueyuya416@gmail.com> PR-URL: https://github.com/nodejs/node/pull/63244 Reviewed-By: Richard Lau <richard.lau@ibm.com> Reviewed-By: Vinícius Lourenço Claro Cardoso <contact@viniciusl.com.br> Reviewed-By: Stefan Stojanovic <stefan.stojanovic@janeasystems.com> * tools: update gyp-next to 0.22.2 PR-URL: https://github.com/nodejs/node/pull/63374 Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> * tools: bump the eslint group in /tools/eslint with 4 updates Bumps the eslint group in /tools/eslint with 4 updates: [@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core), [@babel/eslint-parser](https://github.com/babel/babel/tree/HEAD/eslint/babel-eslint-parser), [@babel/plugin-syntax-import-source](https://github.com/babel/babel/tree/HEAD/packages/babel-plugin-syntax-import-source) and [eslint](https://github.com/eslint/eslint). Updates `@babel/core` from 8.0.0-rc.3 to 8.0.0-rc.4 - [Release notes](https://github.com/babel/babel/releases) - [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md) - [Commits](https://github.com/babel/babel/commits/v8.0.0-rc.4/packages/babel-core) Updates `@babel/eslint-parser` from 8.0.0-rc.3 to 8.0.0-rc.4 - [Release notes](https://github.com/babel/babel/releases) - [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md) - [Commits](https://github.com/babel/babel/commits/v8.0.0-rc.4/eslint/babel-eslint-parser) Updates `@babel/plugin-syntax-import-source` from 8.0.0-rc.3 to 8.0.0-rc.4 - [Release notes](https://github.com/babel/babel/releases) - [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md) - [Commits](https://github.com/babel/babel/commits/v8.0.0-rc.4/packages/babel-plugin-syntax-import-source) Updates `eslint` from 10.2.0 to 10.2.1 - [Release notes](https://github.com/eslint/eslint/releases) - [Commits](https://github.com/eslint/eslint/compare/v10.2.0...v10.2.1) --- updated-dependencies: - dependency-name: "@babel/core" dependency-version: 8.0.0-rc.4 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: eslint - dependency-name: "@babel/eslint-parser" dependency-version: 8.0.0-rc.4 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: eslint - dependency-name: "@babel/plugin-syntax-import-source" dependency-version: 8.0.0-rc.4 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: eslint - dependency-name: eslint dependency-version: 10.2.1 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: eslint ... PR-URL: https://github.com/nodejs/node/pull/63075 Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> * crypto: align verifyOneShot accepted types Signed-off-by: anshikakalpana <anshikajain196872@gmail.com> PR-URL: https://github.com/nodejs/node/pull/63280 Fixes: https://github.com/nodejs/node/issues/62903 Reviewed-By: Filip Skokan <panva.ip@gmail.com> Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com> * test: deflake watch mode worker test Trigger watch restarts by appending whitespace instead of rewriting watched modules. This avoids transient empty or partial ESM dependency contents while the restarted worker is loading. Use a separate temporary directory for each subtest so concurrent subtests do not share worker and dependency file names. Signed-off-by: Kamat, Trivikram <16024985+trivikr@users.noreply.github.com> Assisted-by: openai:gpt-5.5 PR-URL: https://github.com/nodejs/node/pull/63384 Refs: https://github.com/nodejs/reliability/blob/main/reports/2026-05-17.md#jstest-failure Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com> * test: avoid repeated writes in watch helper Use performFileOperation() for test runner watch updates so the run() API path schedules a single delayed write instead of rewriting the file until the second run completes. Repeated writes can trigger another watch restart while the previous rerun is still active. The runner then terminates the in-flight child process with SIGTERM, which can make the captured output include both a failed file-level subtest and the next successful run. Also count only root summary duration lines when detecting completed runs. Signed-off-by: Kamat, Trivikram <16024985+trivikr@users.noreply.github.com> Assisted-by: openai:gpt-5.5 PR-URL: https://github.com/nodejs/node/pull/63386 Refs: https://github.com/nodejs/reliability/blob/main/reports/2026-05-17.md#jstest-failure Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com> Reviewed-By: Chemi Atlow <chemi@atlow.co.il> * doc: update http2's `push` and `trailers` events with `rawHeaders` param Signed-off-by: Yu-Sheng Chen <samuel871211@gmail.com> PR-URL: https://github.com/nodejs/node/pull/63259 Reviewed-By: Tim Perry <pimterry@gmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> * doc: remove the bi-monthly contributor spotlight section PR-URL: https://github.com/nodejs/node/pull/62734 Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Michaël Zasso <targos@protonmail.com> Reviewed-By: Matteo Collina <matteo.collina@gmail.com> * doc: fix article usage before vowel-sound acronyms Several prose references to HTTP, HTTPS, SSL, HPE_HEADER_OVERFLOW and ECMAScript used the article "a" where the acronym starts with a vowel sound and should take "an". The rule is based on pronunciation, not spelling: HTTP is read "aitch-tee-tee-pee", SSL is read "ess-es-el", ECMAScript is read "ek-mah-script", and HPE is read "aitch-pee-ee" — all starting with a vowel sound. Affected files: * doc/api/crypto.md — "disable a SSL 3.0/TLS 1.0 vulnerability" * doc/api/http.md — five occurrences ("a HTTP '400 Bad Request'", "a HTTP '431 Request Header Fields Too Large'", "a HTTP/1.1 102 Processing message", two copies of "use a HTTP parser") plus two references to "a HPE_HEADER_OVERFLOW" * doc/api/http2.md — two code-sample comments reading "// Detects if it is a HTTPS request or HTTP/2" * doc/api/module.md — "compiles a CommonJS, a ECMAScript Module, or a TypeScript module" (only the middle article changes; the adjacent "a CommonJS" and "a TypeScript" are both correct) * doc/api/tls.md — two references to "part of a SSL/TLS handshake" in tlsSocket.getFinished() and tlsSocket.getPeerFinished() No behavior changes, documentation only. Signed-off-by: João Victor Oliveira <joao.oliveira@softtor.com.br> PR-URL: https://github.com/nodejs/node/pull/62696 Reviewed-By: Aviv Keller <me@aviv.sh> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Akhil Marsonya <akhil.marsonya27@gmail.com> Reviewed-By: Jacob Smith <jacob@frende.me> * test: deflake connection refused proxy tests Use 127.0.0.1:10, matching existing refused-connection tests, instead of binding and releasing an ephemeral port that can be reused before the child process connects. Clear NO_PROXY and no_proxy so local proxy bypass settings do not skip the proxy connection attempt. Signed-off-by: Kamat, Trivikram <16024985+trivikr@users.noreply.github.com> Assisted-by: openai:gpt-5.5 PR-URL: https://github.com/nodejs/node/pull/63395 Refs: https://github.com/nodejs/reliability/blob/main/reports/2026-05-15.md#jstest-failure Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> * test: disable Maglev in near-heap-limit worker test The test expects the worker to run out of memory during startup while creating the message port. With Maglev enabled, the tiny worker heap can be exhausted earlier while generating deoptimization data, which changes the failure mode. Disable Maglev so the induced OOM reaches the path covered by the test. Signed-off-by: Kamat, Trivikram <16024985+trivikr@users.noreply.github.com> Assisted-by: openai:gpt-5.5 PR-URL: https://github.com/nodejs/node/pull/63398 Refs: https://github.com/nodejs/reliability/blob/main/reports/2026-05-18.md#jstest-failure Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Richard Lau <richard.lau@ibm.com> * meta: move one or more collaborators to emeritus PR-URL: https://github.com/nodejs/node/pull/63402 Reviewed-By: Moshe Atlow <moshe@atlow.co.il> Reviewed-By: Debadree Chatterjee <debadree333@gmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com> * doc: remove unsupported template type from v8.md Signed-off-by: Renegade334 <contact.9a5d6388@renegade334.me.uk> PR-URL: https://github.com/nodejs/node/pull/63410 Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com> Reviewed-By: Chengzhong Wu <legendecas@gmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> * Revert "stream: noop pause/resume on destroyed streams" This reverts commit 29b196694c78fa5f2fd7a9cd5083278deb69241d. Signed-off-by: Stewart X Addison <sxa@ibm.com> PR-URL: https://github.com/nodejs/node/pull/63834 Reviewed-By: Richard Lau <richard.lau@ibm.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Filip Skokan <panva.ip@gmail.com> Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com> Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com> Reviewed-By: Stefan Stojanovic <stefan.stojanovic@janeasystems.com> * test_runner: preserve run duration when using test-rerun Signed-off-by: Moshe Atlow <moshe@atlow.co.il> PR-URL: https://github.com/nodejs/node/pull/63429 Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com> Reviewed-By: Chemi Atlow <chemi@atlow.co.il> Reviewed-By: Aviv Keller <me@aviv.sh> * test_runner: show replayed-from-attempt hint in spec reporter Signed-off-by: Moshe Atlow <moshe@atlow.co.il> PR-URL: https://github.com/nodejs/node/pull/63429 Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com> Reviewed-By: Chemi Atlow <chemi@atlow.co.il> Reviewed-By: Aviv Keller <me@aviv.sh> * src: expose `node::RegisterContext` to make a node managed context Signed-off-by: Chengzhong Wu <cwu631@bloomberg.net> PR-URL: https://github.com/nodejs/node/pull/62322 Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com> * test: wait for ok before initial break after restart Signed-off-by: inoway46 <inoueyuya416@gmail.com> PR-URL: https://github.com/nodejs/node/pull/62807 Refs: https://github.com/nodejs/node/issues/61762 Reviewed-By: Luigi Pinca <luigipinca@gmail.com> * doc: fix typo in deprecations Signed-off-by: Daijiro Wachi <daijiro.wachi@gmail.com> PR-URL: https://github.com/nodejs/node/pull/63434 Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com> Reviewed-By: Chemi Atlow <chemi@atlow.co.il> * meta: add additional gitignore entries Signed-off-by: James M Snell <jasnell@gmail.com> PR-URL: https://github.com/nodejs/node/pull/63267 Reviewed-By: Matteo Collina <matteo.collina@gmail.com> * quic: fixup linting issue after other changes Signed-off-by: James M Snell <jasnell@gmail.com> PR-URL: https://github.com/nodejs/node/pull/63267 Reviewed-By: Matteo Collina <matteo.collina@gmail.com> * quic: implement rate limiting for version nego and immediate close Signed-off-by: James M Snell <jasnell@gmail.com> Assisted-by: Opencode:Opus 4.6 PR-URL: https://github.com/nodejs/node/pull/63267 Reviewed-By: Matteo Collina <matteo.collina@gmail.com> * quic: add reusePort option to QuicEndpoint Signed-off-by: James M Snell <jasnell@gmail.com> Assisted-by: Opencode:Opus 4.6 PR-URL: https://github.com/nodejs/node/pull/63267 Reviewed-By: Matteo Collina <matteo.collina@gmail.com> * stream: fix Writable.toWeb() hang on synchronous drain A race condition in the Writable.toWeb() adapter caused the stream to hang if the underlying Node.js Writable emit…
1 parent efe5dd2 commit 4dc0c19

13,694 files changed

Lines changed: 1454913 additions & 827033 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.configurations/configuration.dsc.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,11 @@ properties:
55
- resource: Microsoft.WinGet.DSC/WinGetPackage
66
id: pythonPackage
77
directives:
8-
description: Install Python 3.12
8+
description: Install Python 3.14
99
module: Microsoft.WinGet.DSC
1010
allowPrerelease: true
1111
settings:
12-
id: Python.Python.3.12
12+
id: Python.Python.3.14
1313
source: winget
1414
- resource: Microsoft.WinGet.DSC/WinGetPackage
1515
id: vsPackage
@@ -51,4 +51,4 @@ properties:
5151
settings:
5252
id: Nasm.Nasm
5353
source: winget
54-
configurationVersion: 0.1.0
54+
configurationVersion: 0.1.1
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
# yaml-language-server: $schema=https://aka.ms/configuration-dsc-schema/0.2
2+
# Reference: https://github.com/nodejs/node/blob/main/BUILDING.md#windows
3+
properties:
4+
resources:
5+
- resource: Microsoft.WinGet.DSC/WinGetPackage
6+
id: pythonPackage
7+
directives:
8+
description: Install Python 3.14
9+
module: Microsoft.WinGet.DSC
10+
allowPrerelease: true
11+
settings:
12+
id: Python.Python.3.14
13+
source: winget
14+
- resource: Microsoft.WinGet.DSC/WinGetPackage
15+
id: vsPackage
16+
directives:
17+
description: Install Visual Studio 2022 Build Tools
18+
allowPrerelease: true
19+
settings:
20+
id: Microsoft.VisualStudio.2022.BuildTools
21+
source: winget
22+
useLatest: true
23+
- resource: Microsoft.VisualStudio.DSC/VSComponents
24+
id: vsComponents
25+
dependsOn:
26+
- vsPackage
27+
directives:
28+
description: Install required VS workloads and components
29+
allowPrerelease: true
30+
settings:
31+
productId: Microsoft.VisualStudio.Product.BuildTools
32+
channelId: VisualStudio.17.Release
33+
includeRecommended: true
34+
components:
35+
- Microsoft.VisualStudio.Workload.VCTools
36+
- Microsoft.VisualStudio.Component.VC.Llvm.Clang
37+
- Microsoft.VisualStudio.Component.VC.Llvm.ClangToolset
38+
- resource: Microsoft.WinGet.DSC/WinGetPackage
39+
id: gitPackage
40+
directives:
41+
description: Install Git
42+
allowPrerelease: true
43+
settings:
44+
id: Git.Git
45+
source: winget
46+
- resource: Microsoft.WinGet.DSC/WinGetPackage
47+
id: nasmPackage
48+
directives:
49+
description: Install NetWide Assembler (NASM)
50+
allowPrerelease: true
51+
settings:
52+
id: Nasm.Nasm
53+
source: winget
54+
configurationVersion: 0.1.1

.configurations/configuration.vsEnterprise.dsc.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,11 @@ properties:
55
- resource: Microsoft.WinGet.DSC/WinGetPackage
66
id: pythonPackage
77
directives:
8-
description: Install Python 3.12
8+
description: Install Python 3.14
99
module: Microsoft.WinGet.DSC
1010
allowPrerelease: true
1111
settings:
12-
id: Python.Python.3.12
12+
id: Python.Python.3.14
1313
source: winget
1414
- resource: Microsoft.WinGet.DSC/WinGetPackage
1515
id: vsPackage
@@ -51,4 +51,4 @@ properties:
5151
settings:
5252
id: Nasm.Nasm
5353
source: winget
54-
configurationVersion: 0.1.0
54+
configurationVersion: 0.1.1

.configurations/configuration.vsProfessional.dsc.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,11 @@ properties:
55
- resource: Microsoft.WinGet.DSC/WinGetPackage
66
id: pythonPackage
77
directives:
8-
description: Install Python 3.12
8+
description: Install Python 3.14
99
module: Microsoft.WinGet.DSC
1010
allowPrerelease: true
1111
settings:
12-
id: Python.Python.3.12
12+
id: Python.Python.3.14
1313
source: winget
1414
- resource: Microsoft.WinGet.DSC/WinGetPackage
1515
id: vsPackage
@@ -51,4 +51,4 @@ properties:
5151
settings:
5252
id: Nasm.Nasm
5353
source: winget
54-
configurationVersion: 0.1.0
54+
configurationVersion: 0.1.1

.cpplint

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
set noparent
2-
filter=-build/include_alpha,-build/include_subdir,-build/include_what_you_use,-legal/copyright,-readability/nolint,-readability/braces
2+
filter=-build/c++17,-build/include_alpha,-build/include_subdir,-build/include_what_you_use,-legal/copyright,-readability/nolint,-readability/braces,-whitespace/indent_namespace
33
linelength=80

.devcontainer.json

Lines changed: 0 additions & 25 deletions
This file was deleted.
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
{
2+
"name": "Node.js Dev Container",
3+
"image": "nodejs/devcontainer:nightly",
4+
"workspaceMount": "source=${localWorkspaceFolder},target=/home/developer/nodejs/node,type=bind,consistency=cached",
5+
"workspaceFolder": "/home/developer/nodejs/node",
6+
"remoteUser": "developer",
7+
"mounts": [
8+
"source=node-devcontainer-cache,target=/home/developer/nodejs/node/out,type=volume"
9+
],
10+
"postCreateCommand": "git restore-mtime",
11+
"postStartCommand": "cp /home/developer/envrc/static-libs.envrc /home/developer/nodejs/node/.envrc && direnv allow /home/developer/nodejs/node"
12+
}

.editorconfig

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,13 @@ end_of_line = crlf
1616
indent_size = 8
1717
indent_style = tab
1818

19-
[{deps}/**]
19+
[deps/**]
2020
charset = unset
2121
end_of_line = unset
2222
indent_size = unset
2323
indent_style = unset
24+
insert_final_newline = unset
2425
trim_trailing_whitespace = unset
2526

26-
[{test/fixtures,deps,tools/eslint/node_modules,tools/gyp,tools/icu,tools/msvs}/**]
27+
[{test/fixtures,tools/eslint/node_modules,tools/gyp,tools/icu,tools/msvs}/**]
2728
insert_final_newline = false

.gitattributes

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
test/fixtures/* -text
22
vcbuild.bat text eol=crlf
3+
# disable eol conversion in vendored files.
4+
deps/crates/vendor/**/* -text
35
deps/npm/bin/npm text eol=lf
46
deps/npm/bin/npx text eol=lf
57
deps/corepack/shims/corepack text eol=lf

.gitignore

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77
.*
88
# Exclude specific dotfiles that we want to track.
99
!deps/**/.*
10-
!.devcontainer.json
1110
!test/fixtures/**/.*
1211
!.clang-format
1312
!.cpplint
@@ -21,6 +20,7 @@
2120
!.nycrc
2221
!.yamllint.yaml
2322
!.configurations/
23+
!/.npmrc
2424

2525
# === Rules for root dir ===
2626
/core
@@ -31,6 +31,7 @@
3131
/tags
3232
/tags.*
3333
/doc/api.xml
34+
/docs/
3435
/node
3536
/node_g
3637
/gon-config.json
@@ -144,6 +145,7 @@ tools/*/*.i.tmp
144145
/deps/**/.github/
145146
# Ignore dependencies fetched by tools/v8/fetch_deps.py
146147
/deps/.cipd
148+
!deps/LIEF/**
147149

148150
# === Rules for Windows vcbuild.bat ===
149151
/temp-vcbuild
@@ -157,6 +159,10 @@ cmake_install.cmake
157159
install_manifest.txt
158160
*.cbp
159161

162+
# === Rules for AI assistants ===
163+
CLAUDE.md
164+
AGENTS.md
165+
160166
# === Global Rules ===
161167
# Keep last to avoid being excluded
162168
*.pyc
@@ -167,9 +173,16 @@ __pycache__
167173
# === Rules for C++ development ===
168174
compile_commands.json
169175

176+
# === Dev Container rules ===
177+
# Only track the shared base devcontainer.json; ignore everything else under .devcontainer
178+
!.devcontainer/
179+
.devcontainer/**
180+
!.devcontainer/base/
181+
!.devcontainer/base/devcontainer.json
182+
170183
# MSFT ignores
171184
/.dotnet
172185
/.packages
173186
/artifacts
174187
!.CodeQL.yml
175-
!.config
188+
!.config

0 commit comments

Comments
 (0)