Visitar URL original
chore: bump node to v24.15.0 (41-x-y) (#51088) · electron/electron@12410f1 · GitHub
Skip to content

Commit 12410f1

Browse files
electron-roller[bot]codebytereclaude
authored
chore: bump node to v24.15.0 (41-x-y) (#51088)
* chore: bump node in DEPS to v24.15.0 * fix(patch): adapt V8 sandboxed pointers for buffer kMaxLength 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> * fix(patch): adapt deprecated GetIsolate for upstream refactors 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 * chore: remove upstreamed patch 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> * node#60518: src: build v8 tick processor as built-in source text modules 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> * fix(patch): add LookupAndCompileFunction overload for embedder scripts Ref: nodejs/node#60518 * fix(patch): stop using v8::PropertyCallbackInfo<T>::This() in sqlite Ref: nodejs/node#60616 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * fix(patch): correct thenable snapshot for Chromium V8 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 * fix(patch): GN build files for new merve dep Ref: nodejs/node#61984 Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * fix(patch): adapt fileExists patch to resolve.js module reorg Ref: nodejs/node#61769 Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * fix(patch): adapt new crypto tests for BoringSSL 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 * fix(patch): guard DH key test for BoringSSL 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> * fix(patch): adapt cppgc_heap patch to upstream CppHeap handling 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> * chore: update patches (trivial only) Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * fix(patch): normalize brotli decoder error codes for Chromium's brotli 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 --------- Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com> Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com> Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent e7f168f commit 12410f1

40 files changed

Lines changed: 843 additions & 389 deletions

File tree

‎DEPS‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ vars = {
44
'chromium_version':
55
'146.0.7680.188',
66
'node_version':
7-
'v24.14.1',
7+
'v24.15.0',
88
'nan_version':
99
'675cefebca42410733da8a454c8d9391fcebfbc2',
1010
'squirrel.mac_version':

‎patches/node/.patches‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,4 +44,4 @@ src_refactor_module_wrap_cc_to_update_fixedarray_get_params.patch
4444
src_refactor_wasmstreaming_finish_to_accept_a_callback.patch
4545
src_stop_using_v8_propertycallbackinfo_t_this.patch
4646
build_restore_macos_deployment_target_to_12_0.patch
47-
fix_generate_config_gypi_needs_to_generate_valid_json.patch
47+
zlib_normalize_brotli_decoder_error_codes_for_chromium_s_brotli.patch

‎patches/node/api_delete_deprecated_fields_on_v8_isolate.patch‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ Subject: Delete deprecated fields on v8::Isolate
66
https://chromium-review.googlesource.com/c/v8/v8/+/7081397
77

88
diff --git a/src/api/environment.cc b/src/api/environment.cc
9-
index 8b267b12e298f30cd530c663a7833c3998b00f87..be494c1c831fd4ec2465ae959fce1d232dee26dc 100644
9+
index c1b9b37dc78017d08c6accbdd63c3b3283f34b20..10bb152ed7646ed2afc52083098e4810e52423a8 100644
1010
--- a/src/api/environment.cc
1111
+++ b/src/api/environment.cc
1212
@@ -226,8 +226,6 @@ void SetIsolateCreateParamsForNode(Isolate::CreateParams* params) {

‎patches/node/api_promote_deprecation_of_v8_context_and_v8_object_api_methods.patch‎

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ index 37d83e41b618a07aca98118260abe9618f11256d..26d5c1bd3c8191fce1d22b969996b6bf
4444

4545
template <typename T>
4646
diff --git a/src/base_object.cc b/src/base_object.cc
47-
index 404e2aa8c88d0cc0e6717c01e0df68899c64cc32..16462f305a2ac6b6c3d7b85024f2e52648c4300c 100644
47+
index 8a14a8c32626f98c2afa402786e1b6b2fbbb0988..946e60ea2d0ffe984328185a0e7762603be8e0dd 100644
4848
--- a/src/base_object.cc
4949
+++ b/src/base_object.cc
5050
@@ -45,7 +45,8 @@ BaseObject::~BaseObject() {
@@ -72,7 +72,7 @@ index 777335321fc9037d91d88fb5852bbf5b05f50d0a..3dceb8b5448fd4971245f7408db4cae1
7272

7373
inline Environment* Environment::GetCurrent(
7474
diff --git a/src/histogram.cc b/src/histogram.cc
75-
index 836a51b0e5aa4b1910604537c8b380038c27a7db..c4634e42fd2e5a27b0139a9b1716bc04875be469 100644
75+
index 2bcfcbdd9547db136c5992335a76dd3190886d6d..c34a83c9ccc83ec2973228a32cf0a51d29b4d681 100644
7676
--- a/src/histogram.cc
7777
+++ b/src/histogram.cc
7878
@@ -136,7 +136,8 @@ HistogramBase::HistogramBase(
@@ -116,7 +116,7 @@ index 836a51b0e5aa4b1910604537c8b380038c27a7db..c4634e42fd2e5a27b0139a9b1716bc04
116116

117117
std::unique_ptr<worker::TransferData>
118118
diff --git a/src/js_udp_wrap.cc b/src/js_udp_wrap.cc
119-
index 51e4f8c45ffd38fcf925ab8d283b3b88f2a35832..0c30c8b4609e4870c0ccfc5e9e465248c20763b8 100644
119+
index 6b35871d92ceb1b1eead21e328088cf87a10fa6e..57c96645fa0fdb7ed77c0a36c877b2628b7f0571 100644
120120
--- a/src/js_udp_wrap.cc
121121
+++ b/src/js_udp_wrap.cc
122122
@@ -55,8 +55,9 @@ JSUDPWrap::JSUDPWrap(Environment* env, Local<Object> obj)
@@ -207,10 +207,10 @@ index 0af487a9abc9ee1783367ac86b0016ab89e02006..c01cef477aaba52f9894943acede7fb2
207207

208208
inline Realm* Realm::GetCurrent(
209209
diff --git a/src/node_snapshotable.cc b/src/node_snapshotable.cc
210-
index e34d24d51d5c090b560d06f727043f20924e6f46..07615933c858a17515836a29f7e27ace4b81e6ff 100644
210+
index c3e995adf437413fe956e45c2ccc704d8737de59..8561933060ac30e3559d7ce2ac633d25f1e4d6ec 100644
211211
--- a/src/node_snapshotable.cc
212212
+++ b/src/node_snapshotable.cc
213-
@@ -1400,7 +1400,8 @@ StartupData SerializeNodeContextInternalFields(Local<Object> holder,
213+
@@ -1461,7 +1461,8 @@ StartupData SerializeNodeContextInternalFields(Local<Object> holder,
214214
// For the moment we do not set any internal fields in ArrayBuffer
215215
// or ArrayBufferViews, so just return nullptr.
216216
if (holder->IsArrayBuffer() || holder->IsArrayBufferView()) {
@@ -220,7 +220,7 @@ index e34d24d51d5c090b560d06f727043f20924e6f46..07615933c858a17515836a29f7e27ace
220220
return StartupData{nullptr, 0};
221221
}
222222

223-
@@ -1420,7 +1421,8 @@ StartupData SerializeNodeContextInternalFields(Local<Object> holder,
223+
@@ -1481,7 +1482,8 @@ StartupData SerializeNodeContextInternalFields(Local<Object> holder,
224224
*holder);
225225

226226
BaseObject* object_ptr = static_cast<BaseObject*>(
@@ -296,7 +296,7 @@ index 29a4c29f3d3822394d23c453899cdd6aae280f3f..2a953d6390d5e4e251e54c1e847d4e5e
296296

297297
} // namespace node
298298
diff --git a/src/udp_wrap.cc b/src/udp_wrap.cc
299-
index 150ef0f0400bed9df4f4b1a4c20ec4045ef7a5f6..2ca2ac177c6b5edc3b40712a40ff4a36e96904dc 100644
299+
index 6f3e68b79f1c7089b8c17a6ed5cd33eee4078b02..e09cd7a553464060619ecf4ac51e028382e2e148 100644
300300
--- a/src/udp_wrap.cc
301301
+++ b/src/udp_wrap.cc
302302
@@ -126,8 +126,8 @@ void UDPWrapBase::set_listener(UDPListener* listener) {

‎patches/node/api_remove_deprecated_getisolate.patch‎

Lines changed: 86 additions & 86 deletions
Large diffs are not rendered by default.

0 commit comments

Comments
 (0)