Skip to content

chore: bump node to v24.15.0 (40-x-y)#51087

Merged
jkleinsc merged 17 commits into40-x-yfrom
roller/node/40-x-y
May 6, 2026
Merged

chore: bump node to v24.15.0 (40-x-y)#51087
jkleinsc merged 17 commits into40-x-yfrom
roller/node/40-x-y

Conversation

@electron-roller
Copy link
Copy Markdown
Contributor

Updating Node.js to v24.15.0.

See all changes in v24.14.1..v24.15.0

Notes: Updated Node.js to v24.15.0.

@electron-roller electron-roller Bot requested a review from a team as a code owner April 16, 2026 13:00
@electron-roller electron-roller Bot added backport-check-skip Skip trop's backport validity checking semver/minor backwards-compatible functionality labels Apr 16, 2026
@codebytere codebytere self-assigned this Apr 21, 2026
@codebytere codebytere requested a review from a team as a code owner April 22, 2026 13:06
@codebytere codebytere force-pushed the roller/node/40-x-y branch 2 times, most recently from c37142e to bdc73b8 Compare April 28, 2026 19:15
electron-roller Bot and others added 17 commits May 5, 2026 16:32
Upstream replaced the hardcoded buffer length limit with a runtime
kMaxLength variable, making the patch's regex workaround for sandbox
vs non-sandbox limits unnecessary. Dropped the test-buffer-concat.js
hunk.

Ref: nodejs/node#61721

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Upstream removed Uint32ToName from node_contextify.cc and
node_webstorage.cc, and renamed LookupAndCompile to
LookupAndCompileFunction in node_builtins.cc. Updated the
GetIsolate deprecation patch to match.

Ref: nodejs/node#60846
Ref: nodejs/node#60518
The fix_generate_config_gypi_needs_to_generate_valid_json patch
applied with "No changes -- Patch already applied", confirming
the fix has been incorporated upstream.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Upstream restructured BuiltinLoader to auto-detect parameters by
source type, removing the custom parameters overload. Added a new
LookupAndCompileFunction overload for embedder scripts and updated
node_util.cc to use it. Also suppressed exit-time-destructors
warning from builtin_info.h in node_includes.h.

Ref: nodejs/node#60518

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
The snapshot used `*` wildcards which don't match the actual output.
Regenerated with NODE_REGENERATE_SNAPSHOTS=1 to capture the correct
concrete frame + <node-internal-frames> output.

Ref: https://chromium-review.googlesource.com/c/v8/v8/+/6826001
Ref: nodejs/node#61984

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Ref: nodejs/node#61769

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Guard aes-128-ccm test in test-crypto-authenticated.js behind cipher
availability check. Skip Ed448/X448/DSA tests in
test-crypto-key-objects-raw.js. Skip AES-KW tests in
test-webcrypto-promise-prototype-pollution.mjs.

Ref: nodejs/node#62240
Ref: nodejs/node#62455
BoringSSL does not support loading DH private keys from PEM, causing
createPrivateKey to throw UNSUPPORTED_ALGORITHM.

Ref: nodejs/node#62240

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Upstream Node moved CppHeap creation to run unconditionally before
Isolate::Initialize via settings.cpp_heap. The patch's embedder-set
params->cpp_heap was being overwritten by the new upstream default.
Fold the patch into the upstream block so settings.cpp_heap still
wins, an embedder-set params->cpp_heap is preserved, and a default
is only created when neither is provided.

Ref: nodejs/node#58070

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Electron uses Chromium's brotli (via the unbundling patch), which
returns just the NAME from BrotliDecoderErrorString() instead of the
full "_ERROR_..." prefix Node's bundled brotli emits. Upstream's
web-compression spec-compliance fix (nodejs/node#62107) classifies
brotli failures as TypeError via the "ERR__ERROR_" prefix, which
doesn't match Chromium's output — so DecompressionStream surfaced a
plain Error and the WPT decompression-bad-chunks suite failed for
brotli. Normalize the emitted error code on the C++ side so the JS
layer works against either brotli build.

Ref: nodejs/node#62107
The cherry-pick from roller/node/41-x-y dropped the diff headers for
test-tls-client-auth.js and test-tls-peer-certificate.js (leaving
their hunks orphaned inside test-crypto.js), and dropped the
test-crypto-pqc-key-objects-ml-dsa.js block entirely. This left the
exported patch malformed (git am failed with "patch fragment without
header"). Restore the well-formed patch body so git am can apply it.

Ref: Unable to locate reference

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
node/src/builtin_info.cc (from upstream PR 60518) calls abort()
without including <cstdlib>. Upstream Node's own build tolerates
this via implicit transitive inclusion, but Electron's stricter
Chromium-style build fails with "use of undeclared identifier
'abort'". Add the explicit include.

Ref: nodejs/node#60518

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
The test calls ArrayBuffer.prototype.transfer() on the Buffer pool's
backing ArrayBuffer and expects a TypeError. On the V8 shipped with
Electron 40's Chromium, this code path hits a "v8::FromJust Maybe
value is Nothing" fatal error inside ArrayBufferTransfer instead of
throwing — a V8 bug that was fixed in a newer V8 revision (the test
passes on main/42). This Electron line can't pick up that fix, so
skip the test.

Ref: Unable to locate reference

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@jkleinsc jkleinsc force-pushed the roller/node/40-x-y branch from bdc73b8 to f69d3b0 Compare May 5, 2026 20:32
@jkleinsc jkleinsc merged commit 5987d60 into 40-x-y May 6, 2026
105 of 108 checks passed
@jkleinsc jkleinsc deleted the roller/node/40-x-y branch May 6, 2026 21:53
@release-clerk
Copy link
Copy Markdown

release-clerk Bot commented May 6, 2026

Release Notes Persisted

Updated Node.js to v24.15.0.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backport-check-skip Skip trop's backport validity checking semver/minor backwards-compatible functionality

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants