2026-09-22, Version 26.10.0 (Current) - #66163
Open
github-actions[bot] wants to merge 217 commits into
Open
github-actions[bot] wants to merge 217 commits into
github-actions[bot] wants to merge 217 commits into
Conversation
Signed-off-by: Tim Perry <pimterry@gmail.com> PR-URL: #65701 Reviewed-By: Filip Skokan <panva.ip@gmail.com> Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
`CommonEnvironmentSetup` created a `CppHeap` for its `CreateParams` before deciding how to create the isolate, but `NewIsolate()` ignores `params->cpp_heap` and attaches a heap of its own (or the one from `IsolateSettings`). The first heap was never attached or destroyed, so every non-snapshotting setup leaked one `CppHeap`; cppgc's heap registry keeps it reachable, which is why LSAN stays quiet about it. Only create the heap on the snapshotting path, where the params go to the `SnapshotCreator` directly. Refs: #55337 Signed-off-by: Shelley Vohr <shelley.vohr@gmail.com> PR-URL: #65792 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com> Reviewed-By: Jake Yuesong Li <jake.yuesong@gmail.com>
The module loader manufactures paths under the reserved VFS root that no layer owns: resolving a mount point as a directory first probes the sibling names `<mount>.js`, `<mount>.json` and `<mount>.node`, and a package.json walk-up passes the parents of the mount point. The lookup declined those because their layer segment is not a plain id, so they fell through to the native loader and the real file system. On POSIX that is harmless (ENOTDIR under /dev/null), but on Windows the root sits under `\\.\nul`, and `\\.\nul\<anything>` opens the NUL device: libuv reports it as a character device and a read returns nothing. The loader therefore picked `\\.\nul\vfs\<id>.js` as an existing file, and the native walk-up above it then read the device as an empty package.json and failed with ERR_INVALID_PACKAGE_CONFIG for `\\.\nul\package.json`. Any require() of a mount point hits this on Windows. Distinguish "under the root but unowned" from "outside the root" in the lookup and have every loader override report the former as not found: stat gives ENOENT, reads and realpath throw ENOENT, the package.json lookups return their "no package.json" results, and upward walks stop at the reserved root. Paths outside the root still go to the native loader as before. Refs: #65748 Signed-off-by: Philipp Dunkel <pip@pipobscure.com> PR-URL: #65814 Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com>
Read buffers for streams that emit their data to JS were allocated per read: a 64KB backing store, tracked in a map, and then - since reads rarely fill the whole buffer - reallocated to the right size and copied. Allocate read buffers from a 64KB slab instead. Reads reserve the suggested size from the slab and JS receives a view over the slab's ArrayBuffer at the read's offset, using the offset mechanism that onStreamRead already supports. Unused reservation space is rewound when a read returns less than was reserved, so small reads (e.g. TLS records) share a slab. This removes the per-read allocations, the map bookkeeping and the resize copy. Signed-off-by: Matteo Collina <hello@matteocollina.com> PR-URL: #64455 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Robert Nagy <ronagy@icloud.com>
Every stream write created a WriteWrap JS object up front, even though most writes complete synchronously via uv_try_write() and never use it. Let stream_base_commons pass null instead of a request object. StreamBase::Write() already creates the wrap object only when the write does not complete synchronously; return that object to JS (which attaches oncomplete/callback to it) and a plain error code otherwise. Writes that complete synchronously now cross the JS/C++ boundary once and allocate nothing. Callers that pass in a request object (child_process IPC, webstreams adapters) behave as before. Since Http2Stream::DoWrite() can invoke the completion callback synchronously - before JS has attached oncomplete - such completions are now recorded on the request object's writeStatus field and replayed by stream_base_commons after dispatch. This also replaces a Has() plus name-based MakeCallback() pair with a single Get(). Also pre-create the JS fields of WriteWrap instances in the object template, as was already done for ShutdownWrap, so that they are in-object properties. Signed-off-by: Matteo Collina <hello@matteocollina.com> PR-URL: #64455 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Robert Nagy <ronagy@icloud.com>
The Makefile documents quiet output unless V=1 and sets `V ?= 0`, but it forwards `V=$(V)` to the gyp-generated makefile, which tests `ifdef V`. "0" is a non-empty value there, so every make build has printed the full compiler command lines regardless. Default V to empty so the sub-make takes its quiet_ rules; `make V=1` and V=1 in the environment stay verbose, and the ninja and cpplint checks already compare against 1. Refs: #26740 Refs: nodejs/build#4419 Signed-off-by: Shelley Vohr <shelley.vohr@gmail.com> PR-URL: #65826 Reviewed-By: Filip Skokan <panva.ip@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Gürgün Dayıoğlu <hey@gurgun.day>
An embedder that creates its IsolateData without a MultiIsolatePlatform (allowed; node.h says only Workers need one) and keeps the inspector segfaulted on the first `console.log()`, `console.time()` or profiler use after a `node:inspector` session was connected: V8 calls the inspector client's `currentTimeMS()` there, and `NodeInspectorClient::currentTimeMS()` dereferenced `isolate_data()->platform()` unconditionally. Fall back to the wall clock when there is no platform, which is what `NodePlatform::CurrentClockTimeMillis()` returns anyway. Refs: #21917 Signed-off-by: Shelley Vohr <shelley.vohr@gmail.com> PR-URL: #65818 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Chengzhong Wu <legendecas@gmail.com>
Without a startup snapshot (`--no-node-snapshot`, a `--without-node-snapshot` build, or an embedder Environment that was bootstrapped from scratch) starting a Worker made a member call through a null `SnapshotData*`, and so did `NodeMainInstance` while setting itself up. It only worked because the function called does not touch `this`; UBSan reports it for every such Worker. The call existed because `IsolateData::CreateIsolateData()` took an `EmbedderSnapshotData*` and unwrapped it straight away, so the two internal callers wrapped their possibly-null `SnapshotData*` with `AsEmbedderWrapper()` only for it to be unwrapped again. Let the internal function take the `SnapshotData*` itself, unwrap in the public `CreateIsolateData()` only, and drop `AsEmbedderWrapper()`, which has no other users. Refs: #47731 Signed-off-by: Shelley Vohr <shelley.vohr@gmail.com> PR-URL: #65820 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Chengzhong Wu <legendecas@gmail.com>
SocketAddressLRU::Upsert always inserts an entry before evicting down
to max_size_. With max_size_ == 0, it evicts the entry it just
inserted and then accesses the now-missing key via
map_[address]->second. operator[] recreates the key with a
default-constructed std::list iterator, which is then dereferenced.
This is undefined behavior, observed as a SIGSEGV in Endpoint::Receive
on the first UDP packet accepted by a QuicEndpoint constructed with
{ addressLRUSize: 0 }.
SocketAddressLRU has no useful semantics for a zero-capacity cache,
and Upsert's callers rely on it returning a valid pointer. Reject 0
(and 0n) at the options-parsing boundary instead of changing Upsert's
contract.
Signed-off-by: Christian Aurich <christian.aurichzm@gmail.com>
PR-URL: #65827
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Tim Perry <pimterry@gmail.com>
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com>
The embedder docs say each Environment has exactly one `uv_loop_t` and that an `IsolateData` can be shared between Environments, and `CreateIsolateData()` takes the loop, so several same-thread Environments naturally end up on one loop. Nothing mentions that `FreeEnvironment()` then runs that loop, with JavaScript disallowed on the isolate, until the freed Environment's handles are gone, so the other Environments' callbacks can fire inside it. Document that, and point at it from `FreeEnvironment()` in node.h. Signed-off-by: Shelley Vohr <shelley.vohr@gmail.com> PR-URL: #65691 Reviewed-By: Filip Skokan <panva.ip@gmail.com>
Signed-off-by: hyemimi <hyemi7375@gmail.com> PR-URL: #65815 Reviewed-By: Daeyeon Jeong <daeyeon.dev@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com>
On Windows, libc++ std::filesystem::remove and remove_all do not automatically clear the read-only attribute before deleting a file (unlike MSVC STL). This causes fs.rmSync to fail with EPERM when trying to remove read-only files in environments where Node.js is built using clang libc++ (such as Electron). This commit introduces a Windows-specific helper ClearReadOnlyAttributeW which clears the FILE_ATTRIBUTE_READONLY attribute recursively (or for a single file) when operation_not_permitted is returned, allowing rmSync to successfully delete read-only files/folders. Fixes: #64374 Signed-off-by: SparshGarg999 <sparshgarg999@gmail.com> PR-URL: #64453 Fixes: #64374 Reviewed-By: Stefan Stojanovic <stefan.stojanovic@janeasystems.com>
Use explicit brand predicates for interface conversion instead of prototype ancestry. Update CryptoKey and AbortSignal together with the shared converter contract. Read internal AbortSignal state during composition. Preserve genuine signals after prototype changes without invoking shadowed getters. Signed-off-by: Filip Skokan <panva.ip@gmail.com> Assisted-by: GitHub Copilot PR-URL: #65846 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Aviv Keller <me@aviv.sh>
Reject primitive iterator factory results before accessing next, as required by GetIteratorFromMethod. Signed-off-by: Filip Skokan <panva.ip@gmail.com> PR-URL: #65844 Reviewed-By: Jason Zhang <xzha4350@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Gürgün Dayıoğlu <hey@gurgun.day> Reviewed-By: Daeyeon Jeong <daeyeon.dev@gmail.com>
A file descriptor obtained on a mounted path answers several `node:fs`
calls differently from one on a real file, in both providers:
* `writeFileSync(path, data, { flag: 'r+' })` replaces the whole file
instead of overwriting bytes from offset 0 and keeping the tail.
* Numeric open flags are mapped by treating any write-ish bit as "w":
`O_WRONLY` alone truncates, and `O_RDONLY | O_CREAT` opens the file
write-only and truncates it.
* A handle opened with "a+" starts its read offset at the end of the
file, so the first read returns nothing; O_APPEND only affects writes.
The ZipProvider handle additionally:
* throws EISDIR instead of EBADF when reading a write-only handle or
writing a read-only one;
* leaves stale bytes in place when `ftruncate` grows a file that was
previously shrunk, where real files read back as zeros;
* rejects a BigInt `position` with a TypeError from mixing number and
BigInt arithmetic.
This adds a test that runs the same sequence of calls against a memory
mount and a ZIP mount and expects the real-fs result, so every
divergence shows up as its own failing case.
Proposed solution: decode numeric flags bit by bit (O_TRUNC decides
truncation, O_CREAT decides creation, O_WRONLY/O_RDWR decide access)
instead of collapsing them to a flag string; keep the read offset at 0
for append handles and only force writes to the end; make the handle
`writeFile` for non-truncating flags write at offset 0 without
shrinking; in the ZIP handle use EBADF for access-mode violations,
zero-fill on growth in `#doTruncate`, and coerce `position` with
`Number()` as the memory handle does.
Signed-off-by: Philipp Dunkel <pip@pipobscure.com>
PR-URL: #65854
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Advise to add dont-land labels to commit and revert commit pairs to prevent redundant backporting. Signed-off-by: Mike McCready <66998419+MikeMcC399@users.noreply.github.com> PR-URL: #65848 Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Gürgün Dayıoğlu <hey@gurgun.day>
Signed-off-by: Filip Skokan <panva.ip@gmail.com> PR-URL: #65704 Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com>
Reject iteration counts outside of OpenSSL supported range Signed-off-by: Filip Skokan <panva.ip@gmail.com> PR-URL: #65704 Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com>
This adds support for transferring net.BoundSocket instances to other threads via the worker_threads postMessage() transfer list, and for sending them to child processes as the sendHandle argument of subprocess.send(), following on from the BoundSocket introduction. A BoundSocket reserves a port synchronously at construction time. Making it transferable means a port can be reserved on one thread or process and the bound (but not yet listening or connected) TCP handle handed off to another to listen or connect on, without racing on the bind. For threads, BoundSocket implements kTransfer/kTransferList/ kDeserialize, moving the underlying TCP handle with the same mechanism used for net.Socket and net.Server transfer. For child processes, the handleConversion entry reuses the same transfer protocol on the sending side and the same _TransferredBoundSocket deserialization path on the receiving side; the underlying transport is that of cluster's shared-handle scheduling: SCM_RIGHTS on Unix and WSADuplicateSocket on Windows, both of which carry bind state. In both cases the source instance is left in the adopted state: address(), fd() and close() throw ERR_SOCKET_HANDLE_ADOPTED. Transfer requires an un-adopted, open TCP handle, otherwise ERR_WORKER_HANDLE_NOT_TRANSFERABLE is thrown; pipe (path) binds are not transferable and throw ERR_INVALID_HANDLE_TYPE when sent over IPC. On the receiving side the local address is re-derived from the handle rather than trusted from serialized state. Signed-off-by: Guy Bedford <guybedford@gmail.com> PR-URL: #64725 Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com>
Add a TaskQueueBinding declaration for internalBinding('task_queue')
and wire it into InternalBindingMap.
Signed-off-by: leah-1ee <selee3196@gmail.com>
PR-URL: #65662
Reviewed-By: Filip Skokan <panva.ip@gmail.com>
Flatten dictionary members at construction while preserving inheritance order. Skip member scans for nullish inputs without defaults or required members, and define own descriptor properties to avoid inherited setters. Signed-off-by: Filip Skokan <panva.ip@gmail.com> PR-URL: #65857 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Signed-off-by: Filip Skokan <panva.ip@gmail.com> PR-URL: #65856 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com> Reviewed-By: Xuguang Mei <meixuguang@gmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Chengzhong Wu <legendecas@gmail.com>
Omitting a named parameter binds NULL, but passing `undefined` for that same parameter threw ERR_INVALID_ARG_TYPE. Bind `undefined` to NULL so the two forms agree. This matches the conversion already applied to a user-defined function's `undefined` return value, as well as SQLite's own WASM oo1 API. Fixes: #61824 Refs: #61472 Refs: #62008 Co-authored-by: mike-git374 <217764531+mike-git374@users.noreply.github.com> Assisted-by: claude:opus-5 Signed-off-by: Trevor Burnham <trevorburnham@gmail.com> PR-URL: #65709 Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com>
Signed-off-by: Filip Skokan <panva.ip@gmail.com> PR-URL: #65785 Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com> Reviewed-By: Aviv Keller <me@aviv.sh>
Match Linux x64 benchmark builds to the Perfetto-enabled V8 configuration already cached by shared-library CI. Enable the GHA sccache backend in read-only mode for base builds. Retain the compiler wrapper for incremental PR builds, but stop the remote-backed server and use a read-only local cache for PR code. Assisted-by: GitHub Copilot Signed-off-by: Filip Skokan <panva.ip@gmail.com> PR-URL: #65859 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Signed-off-by: Gürgün Dayıoğlu <hey@gurgun.day> Assisted-by: Codex PR-URL: #65847 Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: Robert Nagy <ronagy@icloud.com> Reviewed-By: Xuguang Mei <meixuguang@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com>
The "non-integer callback length" suite in test-sqlite-options-getter-reentry.js checks that function() and aggregate() reject a callback whose length property is not an integer. That is plain argument validation: no property getter runs, and nothing changes mid-call, so the tests do not belong in a file about option getters re-entering the database. Move them into the "input validation" suites that already cover the other argument type checks for each method. Drop "a normal function length is still accepted", which duplicates "uses function.length when false" in test-sqlite-custom-functions.js. The two tests that put the getter on length itself stay where they are, since closing the database from that getter is what they exercise. Refs: #65595 Signed-off-by: Trevor Burnham <trevorburnham@gmail.com> PR-URL: #65769 Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com>
Document DOMException on the Errors page (with a Globals cross-link) and clarify AbortError vs DOMException for AbortSignal users. Builds on #64236 review feedback. Fixes #40789. Signed-off-by: Avocado <ujubongbong@gmail.com> PR-URL: #65206 Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com> Reviewed-By: René <contact.9a5d6388@renegade334.me.uk>
Requiring `node:trace_events` and calling `createTracing()` aborted the process, and `getEnabledCategories()` dereferenced a null pointer, when Node.js runs on an embedder's own platform (`kNoInitializeNodeV8Platform`): no `tracing::Agent` exists then, and `lib/trace_events.js` only checked the compile-time `hasTracing` flag and `ownsProcessState` before handing the null agent to the binding. Have the binding report whether an agent exists and throw the existing `ERR_TRACE_EVENTS_UNAVAILABLE` when it does not, as for a `--without-v8-platform` build. Refs: #19803 Signed-off-by: Shelley Vohr <shelley.vohr@gmail.com> PR-URL: #65954 Reviewed-By: Chengzhong Wu <legendecas@gmail.com>
Original commit message:
Rewrite simdutf include paths to allow getting it from system
Change-Id: I2b7b4cb452c22ed72e0935662c3c7477954bc205
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/8319848
Commit-Queue: Jakob Kummerow <jkummerow@chromium.org>
Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
Reviewed-by: Omer Katz <omerkatz@chromium.org>
Cr-Commit-Position: refs/heads/main@{#109702}
Refs: v8/v8@a0607c5
PR-URL: #65891
Reviewed-By: Xuguang Mei <meixuguang@gmail.com>
Signed-off-by: Antoine du Hamel <duhamelantoine1995@gmail.com> PR-URL: #65891 Reviewed-By: Xuguang Mei <meixuguang@gmail.com>
Signed-off-by: Antoine du Hamel <duhamelantoine1995@gmail.com> PR-URL: #65891 Reviewed-By: Xuguang Mei <meixuguang@gmail.com>
Original commit message:
[api] Delete usages of v8::HeapProfile::ObjectNameResolver
... and start deprecation of the class definition.
Bug: 333672197
Change-Id: I9517d09cd1e01b9893384cb9408d714affcefdee
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/7614327
Commit-Queue: Igor Sheludko <ishell@chromium.org>
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Cr-Commit-Position: refs/heads/main@{#105492}
Refs: v8/v8@95efbaf
PR-URL: #66020
Reviewed-By: Xuguang Mei <meixuguang@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Chengzhong Wu <legendecas@gmail.com>
PR-URL: #66020 Reviewed-By: Xuguang Mei <meixuguang@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Chengzhong Wu <legendecas@gmail.com>
`req.result` is `ssize_t` while `UV_EIO` is an enumerator, which GCC flags as mixing enumerated and non-enumerated types in a conditional expression. Assisted-by: Devin Signed-off-by: Antoine du Hamel <duhamelantoine1995@gmail.com> PR-URL: #66020 Reviewed-By: Xuguang Mei <meixuguang@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Chengzhong Wu <legendecas@gmail.com>
Bumps the eslint group in /tools/eslint with 1 update: [eslint-plugin-jsdoc](https://github.com/gajus/eslint-plugin-jsdoc). Updates `eslint-plugin-jsdoc` from 64.3.9 to 64.3.10 - [Release notes](https://github.com/gajus/eslint-plugin-jsdoc/releases) - [Commits](gajus/eslint-plugin-jsdoc@v64.3.9...v64.3.10) --- updated-dependencies: - dependency-name: eslint-plugin-jsdoc dependency-version: 64.3.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: eslint ... Signed-off-by: dependabot[bot] <support@github.com> PR-URL: #66102 Reviewed-By: Filip Skokan <panva.ip@gmail.com> Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Signed-off-by: Antoine du Hamel <duhamelantoine1995@gmail.com> PR-URL: #66104 Fixes: NixOS/nixpkgs#564449 Reviewed-By: Filip Skokan <panva.ip@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Use one owning KDF interface for HKDF expansion, PBKDF2 and scrypt, sharing provider setup with Argon2. Signed-off-by: Filip Skokan <panva.ip@gmail.com> Assisted-by: Codex PR-URL: #66108 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
Import RSA public keys through OSSL_DECODER on OpenSSL 3 so the resulting keys stay provider-backed. Preserve the PKCS#1 input structure and the ASN.1 encodings accepted by the legacy decoder. Signed-off-by: Filip Skokan <panva.ip@gmail.com> Assisted-by: Codex PR-URL: #66108 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
Resolve provider ciphers before serializing private keys and retain the fetched implementation across encoding configuration copies and async key generation. Keep format-specific restrictions in the serializers. Signed-off-by: Filip Skokan <panva.ip@gmail.com> Assisted-by: Codex PR-URL: #66108 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
Pass group names through EC key generation and report provider names in key details without requiring an OpenSSL NID. Preserve established curve aliases and synchronous invalid-curve errors. Filter built-in curves through EC parameter generation and refresh getCurves() results when FIPS properties change. Signed-off-by: Filip Skokan <panva.ip@gmail.com> Assisted-by: Codex PR-URL: #66108 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
Retrieving asymmetricKeyDetails only needs the modulus, public exponent, and RSA-PSS restrictions. Add a public-only Rsa view so provider-backed keys do not also extract private components or probe additional primes. Signed-off-by: Filip Skokan <panva.ip@gmail.com> Assisted-by: Codex PR-URL: #66108 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
Query salt length and digest restrictions instead of serializing the key to SPKI and parsing its algorithm identifier. A readable salt length distinguishes restricted keys, including empty parameter sequences, from unrestricted keys. Signed-off-by: Filip Skokan <panva.ip@gmail.com> Assisted-by: Codex PR-URL: #66108 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
Exercise getCiphers(), getHashes(), getMacs() and getCurves() through one shared cache/FIPS driver and one snapshot fixture. Keep defensive copies, generation changes, rejected and idempotent toggles, and cross-worker invalidation consistent across the lists. Signed-off-by: Filip Skokan <panva.ip@gmail.com> Assisted-by: Codex PR-URL: #66108 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
The `pipes` module was removed in Python 3.13 after being deprecated in Python 3.11. Also remove Python 2 compatibility shim as scripts require Python 3. Assisted-by: IBM Bob Signed-off-by: Richard Lau <richard.lau@ibm.com> PR-URL: #66109 Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Beth Griggs <bethanyngriggs@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
This reverts commit abff716. No longer required as the override points to the same commit sha of depot_tools as `deps/v8/DEPS`. Signed-off-by: Richard Lau <richard.lau@ibm.com> PR-URL: #66110 Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com> Reviewed-By: René <contact.9a5d6388@renegade334.me.uk> Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Signed-off-by: Antoine du Hamel <duhamelantoine1995@gmail.com> PR-URL: #66111 Reviewed-By: Filip Skokan <panva.ip@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Notable changes: crypto: * (SEMVER-MINOR) add crypto.parsePKCS12() (Brian Muenzenmeyer) #65627 doc: * add araujogui to collaborators (Guilherme Araújo) #66090 ffi: * (SEMVER-MINOR) load libraries from a mounted VFS (Matteo Collina) #65909 fs: * (SEMVER-MINOR) add openAsBlobSync (greenhead) #65644 net: * (SEMVER-MINOR) support sending net.BoundSocket to threads and child processes (Guy Bedford) #64725 perf_hooks: * (SEMVER-MINOR) implement SlidingWindowHistogram (James M Snell) #65825 * (SEMVER-MINOR) implement qrde analysis support in Histogram (James M Snell) #65806 sqlite: * (SEMVER-MINOR) bind undefined to NULL (Trevor Burnham) #65709 src,lib: * (SEMVER-MINOR) add util.markPromiseAsHandled (James M Snell) #65805 test: * (SEMVER-MINOR) expand histogram test coverage (James M Snell) #65825 util: * (SEMVER-MINOR) implement util.throttle (James M Snell) #65899 * (SEMVER-MINOR) implement debounce (James M Snell) #65899 PR-URL: #66163
Collaborator
|
Review requested:
|
aduh95
marked this pull request as ready for review
September 20, 2026 21:59
aduh95
approved these changes
Sep 20, 2026
Collaborator
|
CI: https://ci.nodejs.org/job/node-test-pull-request/77687/ |
Contributor
Author
Changelog@@ -1736,0 +1737 @@
+/nix/store/7qzla6n5abj4qwla7i5zlxbdzfsqzclr-simdutf-8.1.0 (aarch64-darwin)
@@ -1737,0 +1739 @@
+/nix/store/82dq5ijb2xkw4c5m5bzxajyp383cj4jv-simdutf-8.1.0 (aarch64-linux)
@@ -1738,0 +1741 @@
+/nix/store/95nanrpnv95swv5gjqgsdyj5bx0ifs9m-simdutf-8.1.0 (x86_64-darwin)
@@ -1739,0 +1743 @@
+/nix/store/c3hvsw9xdii373xraiywqbsl8pl7l85r-simdutf-8.1.0 (x86_64-linux) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
c0a42d23e5] - (SEMVER-MINOR) crypto: add crypto.parsePKCS12() (Brian Muenzenmeyer) #65627eb4fabe81e] - doc: add araujogui to collaborators (Guilherme Araújo) #6609064fb33d791] - (SEMVER-MINOR) ffi: load libraries from a mounted VFS (Matteo Collina) #659092b1701f810] - (SEMVER-MINOR) fs: add openAsBlobSync (greenhead) #65644080e76b3d7] - (SEMVER-MINOR) net: support sending net.BoundSocket to threads and child processes (Guy Bedford) #6472513e61f6ae6] - (SEMVER-MINOR) perf_hooks: implement SlidingWindowHistogram (James M Snell) #65825a326546094] - (SEMVER-MINOR) perf_hooks: implement qrde analysis support in Histogram (James M Snell) #658060306b0a71e] - (SEMVER-MINOR) sqlite: bind undefined to NULL (Trevor Burnham) #657093c999edef7] - (SEMVER-MINOR) src,lib: add util.markPromiseAsHandled (James M Snell) #65805f7d18ec360] - (SEMVER-MINOR) test: expand histogram test coverage (James M Snell) #658253ce4d23bbb] - (SEMVER-MINOR) util: implement util.throttle (James M Snell) #65899336f33ccc1] - (SEMVER-MINOR) util: implement debounce (James M Snell) #65899Commits
2bf082453b] - assert: fix TypeError on deepStrictEqual with null Map key or Set member (Sergey Sannikov) #64449c518831d00] - benchmark: add --csv option to compare.js with --analyze (James M Snell) #6592289bae46e68] - buffer: fix unaligned UTF-16LE decoding (Matteo Collina) #6590501cee9dcef] - build: do not use bundled simdutf when built with--shared-simdutf(Antoine du Hamel) #6589120606a4d19] - build: suppress OpenSSL asm warnings with clang (Richard Lau) #66023a76e97b5c5] - build: derive V8_LOGGING_LEVEL from dcheck_always_on (Joyee Cheung) #65744ac7fcf0cef] - build: sync cargo/rustc version warnings (Richard Lau) #65912f24a495b36] - build: fix quiet default for make builds (Shelley Vohr) #65826c4381765fe] - child_process: clear timeout timer on spawn-time error too (kishore280) #655068955781eeb] - crypto: remove redundentstd::movecall (Antoine du Hamel) #661110b88aa5a15] - crypto: read RSA-PSS restrictions from provider (Filip Skokan) #66108f90d3d3cb0] - crypto: skip private RSA parameters in key details (Filip Skokan) #6610897828d91db] - crypto: use provider EC group names (Filip Skokan) #661083de05da569] - crypto: fetch ciphers for private-key encoding (Filip Skokan) #66108ca8ee04594] - crypto: decode PKCS#1 keys through providers (Filip Skokan) #6610854a625e953] - crypto: derive keys through EVP_KDF (Filip Skokan) #66108971adece6a] - crypto: use names for asymmetric key algorithms (Filip Skokan) #65966bfb544eb00] - crypto: optimize and benchmark key preparation (Filip Skokan) #65892c0a42d23e5] - (SEMVER-MINOR) crypto: add crypto.parsePKCS12() (Brian Muenzenmeyer) #65627c58a4e0ba7] - crypto: add Hybrid KEMs to Web Cryptography (Filip Skokan) #6575970edf90851] - crypto: avoid EC reconstruction for signature sizing (Filip Skokan) #65908fab5dddd77] - crypto: avoid EC raw export reconstruction (Filip Skokan) #65908220a499614] - crypto: export EC JWK coordinates directly (Filip Skokan) #65908f1295e11db] - crypto: read EC curve metadata directly (Filip Skokan) #65908775173a5db] - crypto: optimize private EC JWK import (Filip Skokan) #65908e44669bb7d] - crypto: validate the limit of PBKDF2 iterations (Filip Skokan) #65704cd5a7611e9] - crypto: use primordials in HKDF info validation (Filip Skokan) #6570494affce749] - Revert "deps: V8: overridedepot_toolsversion" (Richard Lau) #66110870a366c49] - deps: V8: cherry-pick 95efbaf92a0d (Igor Sheludko) #66020d62a452738] - deps: V8: backport a0607c5006b8 (Antoine du Hamel) #65891e8edeffe2d] - deps: update googletest to 8eff9e336692fc95961e096564f1044c600b881d (Node.js GitHub Bot) #66009eb4fabe81e] - doc: add araujogui to collaborators (Guilherme Araújo) #660902fffb3872d] - doc: fix duplicate 'the' typo innode_platform.cc(Muhammad Al-Muzahid) #66058317abb8131] - doc: clarify sub-1000ms behavior in socket.setKeepAlive (Haram Jeong) #658691c12f815c2] - doc: remove obsolete mentioning of cl.exe on windows (Chengzhong Wu) #660382cc17dd67c] - doc: note that default signal handling resets the signal mask (Shelley Vohr) #658773a69cc1bf4] - doc: clarify QUIC async write backpressure (John Finnerty) #65947549694349d] - doc: clarify permission model scope for output paths (Rafael Gonzaga) #660043325ded3a8] - doc: fix sign-off format in AGENTS.md (Filip Skokan) #6595889aa2bd10c] - doc: fill in missing zstd docs (James M Snell) #658678d1ce4d477] - doc: add inoway46 as triager (Yuya Inoue) #655659a3697c5c7] - doc: document windowsHide for child_process.fork (Christopher Buss) #6588769911bf6b5] - doc: qualify directory read ordering for native fs (Trivikram Kamat) #658682d0c3fed12] - doc: add DOMException section to errors API reference (Avocado) #65206f744023cce] - doc: expand revert commit collaborator instructions (Mike McCready) #65848412399efd3] - doc: clarify supported Python releases (Mike McCready) #6585079331f5779] - doc: note that FreeEnvironment() runs a shared event loop (Shelley Vohr) #656916ddbb9982f] - doc,test: account for OpenSSL 4.1 behaviours (Filip Skokan) #6595664fb33d791] - (SEMVER-MINOR) ffi: load libraries from a mounted VFS (Matteo Collina) #6590907fcf1ed02] - ffi: throw ERR_INVALID_ARG_TYPE for wrong-typed pointer and size (Soul Lee) #65842b7406b0a9b] - fs: coerce FileHandle.read length like fs.read (Xia Chao) #65521cb9995be4d] - fs: honor dereference for symlinks nested in cpSync trees (Christian Aurich) #657312b1701f810] - (SEMVER-MINOR) fs: add openAsBlobSync (greenhead) #656449b3f1aa03f] - fs: throw on existing dir in cpSync with errorOnExist (Daijiro Wachi) #641242b502e0798] - fs: support removing read-only files in rmSync on Windows (Sparsh :)) #6445377d8f17ab1] - http: don't destroy socket after request completes (Barath Raj) #6595246f76ed57b] - http2: settle pending write callbacks on destroy (Matteo Collina) #66016205443721d] - http2: fix onread assert when destroying session from stream handler (Sankalp Thakur) #651167e1db4724a] - inspector: report an error when DOM storage is unavailable (Avocado) #6597395110712b8] - inspector: fix abort when two Environments own the inspector (Shelley Vohr) #658779fd3e6caa4] - inspector: fix crash when the IsolateData has no platform (Shelley Vohr) #65818cce2795ad7] - lib: fix AbortSignal.any() abort propagation (Yuya Inoue) #660142c0ccc0067] - lib: fix for FileHandle.readableWebStream (Patrick Dähne) #5884228acafe6a0] - lib: avoid repeat internal receiver checks (Filip Skokan) #65910b9b0e33923] - lib: avoid unsafe array iteration in cli table (Donghoon Kang) #658387f514d3310] - lib: fix shared buffer growability validation (Filip Skokan) #658457534117e38] - lib: optimize internal Web IDL dictionaries (Filip Skokan) #65857bdacc08fbe] - lib: validate sequence iterator objects (Filip Skokan) #658445b6ac71fb2] - lib: use Web IDL interface brand checks (Filip Skokan) #65846da341e2571] - lib,src: apply multiple updates to dtls implementation (James M Snell) #6551113eb4843d5] - meta: bump step-security/harden-runner from 2.21.0 to 2.21.1 (dependabot[bot]) #660440f759174af] - meta: bump github/codeql-action/upload-sarif from 4.37.9 to 4.38.0 (dependabot[bot]) #66046c75b830082] - meta: bump cachix/cachix-action (dependabot[bot]) #660471ada7055a4] - meta: bump github/codeql-action/init from 4.37.9 to 4.38.0 (dependabot[bot]) #660481ed8b05742] - meta: bump github/codeql-action/analyze from 4.37.9 to 4.38.0 (dependabot[bot]) #660499165abe840] - meta: bump github/codeql-action/autobuild from 4.37.9 to 4.38.0 (dependabot[bot]) #66050d03e7313cf] - meta: add joyeecheung as v8 currency strategic initiative champion (Joyee Cheung) #6596553d7592378] - meta: expand on collaborator restoration process (Chengzhong Wu) #65962fa972d02b2] - meta: add web-standards as webidl owners (Filip Skokan) #65856080e76b3d7] - (SEMVER-MINOR) net: support sending net.BoundSocket to threads and child processes (Guy Bedford) #647250d14c0e507] - path: removeStringPrototypeCharCodeAtfrom some methods ofposix(Wiyeong Seo) #5466813e61f6ae6] - (SEMVER-MINOR) perf_hooks: implement SlidingWindowHistogram (James M Snell) #65825a326546094] - (SEMVER-MINOR) perf_hooks: implement qrde analysis support in Histogram (James M Snell) #6580632401c2229] - perf_hooks: reuse buffer for uv metrics (Donghoon Kang) #659855e2fbfe0e5] - perf_hooks: validate import normalization offset (Matteo Collina) #659504743cd8d33] - quic: fix two small bugs in HTTP/3 stream internals (Tim Perry) #659700df54fb38f] - quic: improve stream cleanup & lookup (Tim Perry) #659447cf448889c] - quic: fix timeout regression from 11ed325 (James M Snell) #6602861a98e6512] - quic: fix readable stream truncation on stop-sending, abort & timeout (Tim Perry) #63967975cac593c] - quic: add promise to QuicStream for pending strms (Marten Richter) #65862ae29cc92ea] - quic: split headers out from src/quic/stream.{h/cc} (James M Snell) #65863833c58d9dc] - quic: fix crash in onStreamClose (Marten Richter) #6586184ecb21343] - quic: reject zero addressLRUSize (Christian Aurich) #65827293e69d065] - sqlite: throw on invalid URL path instead of abort (Guilherme Araújo) #660266f5fb76d0e] - sqlite: track registered user-defined functions (Trivikram Kamat) #65896baf112b639] - sqlite: always copy changeset before applying (Trivikram Kamat) #658700306b0a71e] - (SEMVER-MINOR) sqlite: bind undefined to NULL (Trevor Burnham) #657091f24901c0c] - src: fix-Wextrawarning inWriteFileSync(Antoine du Hamel) #66020b98787fe2d] - src: reuse crypto GetCipherInfo in DTLS session (Ilyas Shabi) #66022410093dbf7] - src: avoid union type-punning in trace values (Khaidi Chu) #659339ec030b1e7] - src: print exception thrown during primordial initialization (Joyee Cheung) #65991a0f99f1d6c] - src: support building with the V8 sandbox (Shelley Vohr) #6223727c62235d0] - src: ffi: create fast-call metadata Symbols lazily (Matteo Collina) #660155a5abd8fd0] - src: avoid copying SEA snapshot data (Colin McDonnell) #65876a05023f331] - src: fix crash on empty, foreign or truncated --snapshot-blob files (Shelley Vohr) #659554141e22606] - src: don't kill own process group on failed spawn (Lazizbek Ergashev) #6505405f4e54eda] - src: fix external reference list race between concurrent isolates (Shelley Vohr) #657791518b7d67f] - src: keep the first snapshot blob alive for later isolates (Shelley Vohr) #6577962e2bf025c] - src: detach cppgc wrappers from their Realm before it is freed (Shelley Vohr) #65778afc3e559d2] - src: fix Stop() terminating the next Environment on the isolate (Shelley Vohr) #65819f245e53b29] - src: seed V8 from the OS CSPRNG instead of OpenSSL's DRBG (Colin McDonnell) #65796830ca7df7a] - src: fix null pointer call when running without a startup snapshot (Shelley Vohr) #6582048158fba8c] - src: stop leaking a CppHeap in CommonEnvironmentSetup (Shelley Vohr) #657923c999edef7] - (SEMVER-MINOR) src,lib: add util.markPromiseAsHandled (James M Snell) #65805e5d2a336bd] - stream: destroy half-open sockets after iteration (Matteo Collina) #659864075161405] - stream: destroy Duplex.from async function on early return (Aman Chadha(IVIXMMI)) #659637d245cfd8d] - stream: fixup stream/iter to drop at most one entry per share call (James M Snell) #6602830e1f7651c] - stream: reject unbounded at SyncShare construction (James M Snell) #660280372056cd8] - stream: make share budget failures detach before throwing (James M Snell) #6602836cc238dce] - stream: make Broadcast.from abort its background pump (James M Snell) #660283134ca6f8e] - stream: update broadcast to retain buffered data with zero consumers (James M Snell) #6602804e5c282a1] - stream: fix async iteration of undefined chunks (Caleb Everett) #65969f81a1483b3] - stream: avoid promise allocation for parked transform writes (Matteo Collina) #65625aec01c5ae1] - stream: keep webstream stream states in fast-mode objects (Matteo Collina) #65625898cd55bdf] - stream: reject closed only after sink abort settles (Lazizbek Ergashev) #657275661526006] - stream: fix ERR_INVALID_STATE when cancelling Readable.toWeb() (Richard Scarrott) #62773fb8a97f46b] - stream: improve handling of falsy errors in stream/iter (James M Snell) #65864cfee7fa3d9] - stream: amortize writable buffer compaction (Gürgün Dayıoğlu) #6584715605210f8] - stream: create write request objects lazily (Matteo Collina) #64455619470a9ae] - stream: allocate stream read buffers from a slab (Matteo Collina) #644557e79c33354] - test: consolidate crypto provider cache coverage (Filip Skokan) #66108dcc9c3c02a] - test: avoid call tochmodSyncintest-fs-cp-async-file-modes(Antoine du Hamel) #66104dda22c06d7] - test: deflake test-run-watch-cwd-isolation-none-* (Antoine du Hamel) #66035d63928dda0] - test: move permission FFI test to native suite (Yuya Inoue) #6605980c1bf7fb5] - test: deflake user timing WPT assertions (Filip Skokan) #6603612116d1d70] - test: unskiptest-watch-create-isolation-none(Antoine du Hamel) #66041e90575cb4d] - test: deflake util.throttle tests (Filip Skokan) #66034f7d18ec360] - (SEMVER-MINOR) test: expand histogram test coverage (James M Snell) #65825bfa6d49b5c] - test: implement low-risk test optimizations (James M Snell) #65926c3307ebddf] - test: update WPT for WebCryptoAPI to 55ce71bb9d (Node.js GitHub Bot) #65813ee29c56993] - test: prevent parser reuse across close scenarios (Filip Skokan) #660178a27474044] - test: cover cpSync fast path timestamp preservation (Abhinandan Kumar) #6567889297305c0] - test: fix stderr Buffer assertion in exec encoding test (greenhead) #66008d4cb916624] - test: skip test-vfs-real-provider-watch.js on IBM i (SRAVANI GUNDEPALLI) #659876515db8ab6] - test: fix RSA/DSA wrong-passphrase flake (Filip Skokan) #65983fa19ecad9d] - test: improve sequential test performance (James M Snell) #659283666d6a238] - test: schedule WPT variants individually (Filip Skokan) #65984f2aa27d82d] - test: overlap SLH-DSA signature checks (Filip Skokan) #659802170207253] - test: unref cancelled broadcast source timer (Filip Skokan) #6598071a54aaf5f] - test: collect timeout signals explicitly (Filip Skokan) #659801a15aff897] - test: skip retries in DNS timeout coverage (Filip Skokan) #659805c7e6b4a6e] - test: synchronize ordered runner events (Filip Skokan) #6598037f24eddc9] - test: reuse fixed primes in DH tests (Filip Skokan) #65980831ec42bcc] - test: avoid idle HTTP/HTTPS connections (Filip Skokan) #65980f523342bcd] - test: close WebAssembly test HTTP servers (Filip Skokan) #65980f23847a122] - test: use named parameters in DH stress test (Filip Skokan) #659807131e3b437] - test: reduce ZIP64 stress test I/O (Filip Skokan) #65980e4ca72a984] - test: avoid allocations in external memory test (Filip Skokan) #659757fe64727a2] - test: cover experimental stream iterator builtins (Jungwon Sohn) #6596488ba17bae2] - test: deflake node-api test-free-called (Christian Aurich) #659486eee01fbae] - test: fix flaky common WPT inspector test (Yuya Inoue) #65937858702e51c] - test: skip C++ symbols in tick-processor-arguments (Philipp Dunkel) #65906472215ff9b] - test: try fixing windows build replacing WMIC (James M Snell) #659497f5168149c] - test: fix flaky test-bench-stream (Matteo Collina) #658749f2d544576] - test: move sqlite length validation out of the reentry test (Trevor Burnham) #6576975a9fa65ac] - test: fix flaky cleanup in http2 test (Tim Perry) #65701f8cdf05586] - test,benchmark: use OpenSSL feature helpers (Filip Skokan) #6576288b12c03cd] - test_runner: avoid reusing v8 serializers (Yuya Inoue) #659519b3085e660] - test_runner: fix quote escaping in JUnit (Jihwan) #6597102c2302c31] - tls: propagate singleUse to the secure context (Carlos Vinicius) #660252a8b5d9269] - tls: load all CRLs from a PEM bundle (Lazizbek Ergashev) #65577d141ddb8dc] - tls: defer re-entrant calls to SSL state machine from JS (Tim Perry) #65105b7fe779632] - tools: updatetools/v8for Python 3.13 (Richard Lau) #661096105b37a3d] - tools: bump eslint-plugin-jsdoc in /tools/eslint in the eslint group (dependabot[bot]) #66102060ed69df9] - tools: disable fortify warnings intest-shared(Antoine du Hamel) #66020f8b7a2ff41] - tools: clean up handling of shared libs inshell.nix(Antoine du Hamel) #658913c9586c1fc] - tools: group CodeQL GHA updates (Antoine du Hamel) #66057aa531a34f7] - tools: summarize auto-start-ci failures (Filip Skokan) #65979b7eef15f59] - tools: bump the eslint group in /tools/eslint with 6 updates (dependabot[bot]) #660458914947d7c] - tools: update pgo build doc for linux (Chengzhong Wu) #66024a5b1659d5b] - tools: avoid workflow shell interpolation (Filip Skokan) #66013caf0ee0d7b] - tools: use self-repository references (Filip Skokan) #66013d5880dcb05] - tools: correct Slack action version comments (Filip Skokan) #6601366f182f565] - tools: make checkout credential use explicit (Filip Skokan) #66013287ece3f22] - tools: pass author to commit message validator (Filip Skokan) #660126314ccf93b] - tools: reduce test runner timing overhead (Filip Skokan) #65980441350a867] - tools: do not download build tools when linting Nix files (Antoine du Hamel) #6596115f2549f74] - tools: bump js-yaml from 4.3.1 to 4.3.2 in /tools/eslint (dependabot[bot]) #659310e449d02a6] - tools: bump js-yaml from 4.3.1 to 4.3.2 in /tools/lint-md (dependabot[bot]) #6593281eba460b5] - tools: fix commit queue error summary matching (Filip Skokan) #65913e5bbcfdd78] - tools: lint PR commit messages without approval (Filip Skokan) #6587507ae602005] - tools: unlabel author ready on base branch conflicts (Filip Skokan) #65872e3ad68289a] - tools: improve benchmark build cache reuse (Filip Skokan) #6585946ddc0220d] - tools: apply feedback to and simplify contributor guidance workflow (Filip Skokan) #6578566fd78803d] - trace_events: fix abort when Node.js does not own the V8 platform (Shelley Vohr) #659543cb3c23a19] - typings: add task_queue internal binding types (Seongeun Lee) #65662c5c7036e7b] - typings: add timeoutInfo to TimersBinding (greenhead) #6581162fe96c166] - typings: add missing sea binding properties (이혜미) #65815e51673b4ed] - url: add Symbol.toStringTag to URLPattern (Khaidi Chu) #659253ce4d23bbb] - (SEMVER-MINOR) util: implement util.throttle (James M Snell) #65899336f33ccc1] - (SEMVER-MINOR) util: implement debounce (James M Snell) #6589916e3e7eff3] - vfs: add --vfs-mount and --vfs-load startup flags (Philipp Dunkel) #65748c50cb9a553] - vfs: write RealFSProvider files to open fd (Christian Aurich) #658851bbc5488a5] - vfs: close the fs hook gaps for mounted paths (Philipp Dunkel) #65852816790e0e5] - vfs: resolve symlinks when checking rename descendants (Trivikram Kamat) #65904a9149093df] - vfs: support renaming implicit ZIP directories (Trivikram Kamat) #65752cf5d4a8fe6] - vfs: reject statfs for missing paths (Trivikram Kamat) #65693de552bd044] - vfs: return FileHandle from fs.promises.open (Trivikram Kamat) #6573008f96f142e] - vfs: give ZipProvider option bags a null prototype (Philipp Dunkel) #658535c4d319028] - vfs: commit ZipProvider handles the way open(2) does (Philipp Dunkel) #6585329d3406b6c] - vfs: apply open(2) effects to ZipProvider handles (Philipp Dunkel) #65853e379c26a92] - vfs: align virtual file handles with open(2) (Philipp Dunkel) #658547cdf5f014a] - vfs: answer for unowned paths under reserved root (Philipp Dunkel) #658145e55085bc1] - zlib: reject invalid zstd dictionaries (James M Snell) #658674cdcf7f6a4] - zlib: fix zstd reset (James M Snell) #65867678ff3561a] - zlib: improve zstd decoding across chunk boundaries (James M Snell) #65865