Skip to content

Conversation

@codebytere
Copy link
Member

@codebytere codebytere commented Oct 21, 2025

Description of Change

Upgrade to Node.js v24.10.0.

Checklist

Release Notes

Notes: Upgraded to Node.js v24.10.0.

@electron-cation electron-cation bot added the new-pr 🌱 PR opened recently label Oct 21, 2025
@codebytere codebytere force-pushed the node-24 branch 8 times, most recently from 657ab7c to 7eada3d Compare October 27, 2025 09:42
@codebytere codebytere added semver/major incompatible API changes no-backport labels Oct 27, 2025
@codebytere codebytere marked this pull request as ready for review October 27, 2025 14:26
@codebytere codebytere requested review from a team as code owners October 27, 2025 14:26
@electron-cation electron-cation bot added api-review/requested 🗳 and removed new-pr 🌱 PR opened recently labels Oct 27, 2025
Copy link
Member

@jkleinsc jkleinsc left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM with the exception of the accidentally added line to patches/node/fix_lazyload_fs_in_esm_loaders_to_apply_asar_patches.patch

@electron-cation electron-cation bot added the new-pr 🌱 PR opened recently label Oct 28, 2025
@codebytere codebytere requested a review from jkleinsc October 28, 2025 15:27
@jkleinsc jkleinsc added target/40-x-y PR should also be added to the "40-x-y" branch. and removed no-backport labels Oct 29, 2025
Copy link
Member

@erickzhao erickzhao left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

API LGTM

Copy link
Member

@jkleinsc jkleinsc left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

API LGTM

Copy link
Member

@itsananderson itsananderson left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

API LGTM

Are there notable breaking changes in Node 24 that are worth calling out in the Electron breaking changes, or are we OK just linking to the Node release notes and letting people do their own investigation to see what changes might impact them?

@codebytere
Copy link
Member Author

@itsananderson I'd say this is fine:

OK just linking to the Node release notes and letting people do their own investigation to see what changes might impact them?

and what we've done historically unless there's something particularly salient for Electron users which there doesn't seem to be here.

@codebytere codebytere merged commit 3345edd into main Oct 30, 2025
100 of 104 checks passed
@release-clerk
Copy link

release-clerk bot commented Oct 30, 2025

Release Notes Persisted

Upgraded to Node.js v24.10.0.

@codebytere codebytere deleted the node-24 branch October 30, 2025 18:16
@trop
Copy link
Contributor

trop bot commented Oct 30, 2025

I have automatically backported this PR to "40-x-y", please check out #48739

@trop trop bot added in-flight/40-x-y and removed target/40-x-y PR should also be added to the "40-x-y" branch. labels Oct 30, 2025
TheCommieAxolotl pushed a commit to TheCommieAxolotl/electron that referenced this pull request Nov 2, 2025
* chore: upgrade Node.js to v24.10.0

* chore: fixup crypto patch

* chore: fixup crypto test patch

* src: prepare for v8 sandboxing

nodejs/node#58376

* esm: fix module.exports export on CJS modules

nodejs/node#57366

* chore: fixup lazyload fs patch

* esm: Source Phase Imports for WebAssembly

nodejs/node#56919

* module: remove --experimental-default-type

nodejs/node#56092

* lib,src: refactor assert to load error source from memory

nodejs/node#59751

* src: add source location to v8::TaskRunner

nodejs/node#54077

* src: remove dependency on wrapper-descriptor-based CppHeap

nodejs/node#54077

* src: do not use soon-to-be-deprecated V8 API

nodejs/node#53174

* src: stop using deprecated fields of v8::FastApiCallbackOptions

nodejs/node#54077

* test: update v8-stats test for V8 12.6

nodejs/node#54077

* esm: unflag --experimental-wasm-modules

nodejs/node#57038

* test: adapt assert tests to stack trace changes

nodejs/node#58070

* src,test: unregister the isolate after disposal and before freeing

nodejs/node#58070

* src: use cppgc to manage ContextifyContext

nodejs/node#56522

* src: replace uses of FastApiTypedArray

nodejs/node#58070

* module: integrate TypeScript into compile cache

nodejs/node#56629

* deps: update ada to 3.2.7

nodejs/node#59336

* src: make minor cleanups in encoding_binding.cc

nodejs/node#57448

* src: switch from `Get/SetPrototype` to `Get/SetPrototypeV2`

nodejs/node#55453

* src: use non-deprecated Get/SetPrototype methods

nodejs/node#59671

* src: simplify string_bytes with views

nodejs/node#54876

* src: improve utf8 string generation performance

nodejs/node#54873

* src: use non-deprecated Utf8LengthV2() method

nodejs/node#58070

* src: use non-deprecated WriteUtf8V2() method

nodejs/node#58070

* src: refactor WriteUCS2 and remove flags argument

nodejs/node#58163

* src: use String::WriteV2() in TwoByteValue

nodejs/node#58164

* node-api: use WriteV2 in napi_get_value_string_utf16

nodejs/node#58165

* node-api: use WriteOneByteV2 in napi_get_value_string_latin1

nodejs/node#58325

* src: migrate WriteOneByte to WriteOneByteV2

nodejs/node#59634

* fs: introduce dirent\.parentPath

nodejs/node#50976

* src: avoid copy by using std::views::keys

nodejs/node#56080

* chore: fixup patch indices

* fix: errant use of context->GetIsolate()

* fix: tweak BoringSSL compat patch for new changes

* fix: add back missing isolate dtor declaration

* fixup! esm: fix module.exports export on CJS modules

* cli: remove --no-experimental-fetch flag

https://github.com/nodejs/node/pull/52611/files

* esm: Source Phase Imports for WebAssembly

nodejs/node#56919

* fixup! src: prepare for v8 sandboxing

* chore: bump @types/node to v24

* chore: fix const assignment in crypto test

* fix: sandbox pointer patch issues

* chore: rework source phase import patch

* src: add percentage support to --max-old-space-size

nodejs/node#59082

* chore: fixup crypto tests

* chore: HostImportModuleWithPhaseDynamically todo

* fix: cjs esm failures

* fix: v8::Object::Wrappable issues

- v8/node@b72a615
- v8/node@490bac2
- v8/node@4896a0d

* chore: remove deleted specs

* src: use v8::ExternalMemoryAccounter

nodejs/node#58070

* fs: port SonicBoom module to fs module as FastUtf8Stream

nodejs/node#58897

* chore: tweak sandboxed pr patch

* test: disable parallel/test-os-checked-function

* test: use WHATWG URL instead of url.parse

* fix: OPENSSL_secure_zalloc doesn't work in BoringSSL

* chore: fix accidental extra line

* 7017517: [defer-import-eval] Parse import defer syntax

https://chromium-review.googlesource.com/c/v8/v8/+/7017517
@trop trop bot added merged/40-x-y PR was merged to the "40-x-y" branch. and removed in-flight/40-x-y labels Nov 4, 2025
nilayarya pushed a commit to nilayarya/electron that referenced this pull request Nov 21, 2025
* chore: upgrade Node.js to v24.10.0

* chore: fixup crypto patch

* chore: fixup crypto test patch

* src: prepare for v8 sandboxing

nodejs/node#58376

* esm: fix module.exports export on CJS modules

nodejs/node#57366

* chore: fixup lazyload fs patch

* esm: Source Phase Imports for WebAssembly

nodejs/node#56919

* module: remove --experimental-default-type

nodejs/node#56092

* lib,src: refactor assert to load error source from memory

nodejs/node#59751

* src: add source location to v8::TaskRunner

nodejs/node#54077

* src: remove dependency on wrapper-descriptor-based CppHeap

nodejs/node#54077

* src: do not use soon-to-be-deprecated V8 API

nodejs/node#53174

* src: stop using deprecated fields of v8::FastApiCallbackOptions

nodejs/node#54077

* test: update v8-stats test for V8 12.6

nodejs/node#54077

* esm: unflag --experimental-wasm-modules

nodejs/node#57038

* test: adapt assert tests to stack trace changes

nodejs/node#58070

* src,test: unregister the isolate after disposal and before freeing

nodejs/node#58070

* src: use cppgc to manage ContextifyContext

nodejs/node#56522

* src: replace uses of FastApiTypedArray

nodejs/node#58070

* module: integrate TypeScript into compile cache

nodejs/node#56629

* deps: update ada to 3.2.7

nodejs/node#59336

* src: make minor cleanups in encoding_binding.cc

nodejs/node#57448

* src: switch from `Get/SetPrototype` to `Get/SetPrototypeV2`

nodejs/node#55453

* src: use non-deprecated Get/SetPrototype methods

nodejs/node#59671

* src: simplify string_bytes with views

nodejs/node#54876

* src: improve utf8 string generation performance

nodejs/node#54873

* src: use non-deprecated Utf8LengthV2() method

nodejs/node#58070

* src: use non-deprecated WriteUtf8V2() method

nodejs/node#58070

* src: refactor WriteUCS2 and remove flags argument

nodejs/node#58163

* src: use String::WriteV2() in TwoByteValue

nodejs/node#58164

* node-api: use WriteV2 in napi_get_value_string_utf16

nodejs/node#58165

* node-api: use WriteOneByteV2 in napi_get_value_string_latin1

nodejs/node#58325

* src: migrate WriteOneByte to WriteOneByteV2

nodejs/node#59634

* fs: introduce dirent\.parentPath

nodejs/node#50976

* src: avoid copy by using std::views::keys

nodejs/node#56080

* chore: fixup patch indices

* fix: errant use of context->GetIsolate()

* fix: tweak BoringSSL compat patch for new changes

* fix: add back missing isolate dtor declaration

* fixup! esm: fix module.exports export on CJS modules

* cli: remove --no-experimental-fetch flag

https://github.com/nodejs/node/pull/52611/files

* esm: Source Phase Imports for WebAssembly

nodejs/node#56919

* fixup! src: prepare for v8 sandboxing

* chore: bump @types/node to v24

* chore: fix const assignment in crypto test

* fix: sandbox pointer patch issues

* chore: rework source phase import patch

* src: add percentage support to --max-old-space-size

nodejs/node#59082

* chore: fixup crypto tests

* chore: HostImportModuleWithPhaseDynamically todo

* fix: cjs esm failures

* fix: v8::Object::Wrappable issues

- v8/node@b72a615
- v8/node@490bac2
- v8/node@4896a0d

* chore: remove deleted specs

* src: use v8::ExternalMemoryAccounter

nodejs/node#58070

* fs: port SonicBoom module to fs module as FastUtf8Stream

nodejs/node#58897

* chore: tweak sandboxed pr patch

* test: disable parallel/test-os-checked-function

* test: use WHATWG URL instead of url.parse

* fix: OPENSSL_secure_zalloc doesn't work in BoringSSL

* chore: fix accidental extra line

* 7017517: [defer-import-eval] Parse import defer syntax

https://chromium-review.googlesource.com/c/v8/v8/+/7017517
nilayarya added a commit to nilayarya/electron that referenced this pull request Nov 21, 2025
* chore: upgrade Node.js to v24.10.0

* chore: fixup crypto patch

* chore: fixup crypto test patch

* src: prepare for v8 sandboxing

nodejs/node#58376

* esm: fix module.exports export on CJS modules

nodejs/node#57366

* chore: fixup lazyload fs patch

* esm: Source Phase Imports for WebAssembly

nodejs/node#56919

* module: remove --experimental-default-type

nodejs/node#56092

* lib,src: refactor assert to load error source from memory

nodejs/node#59751

* src: add source location to v8::TaskRunner

nodejs/node#54077

* src: remove dependency on wrapper-descriptor-based CppHeap

nodejs/node#54077

* src: do not use soon-to-be-deprecated V8 API

nodejs/node#53174

* src: stop using deprecated fields of v8::FastApiCallbackOptions

nodejs/node#54077

* test: update v8-stats test for V8 12.6

nodejs/node#54077

* esm: unflag --experimental-wasm-modules

nodejs/node#57038

* test: adapt assert tests to stack trace changes

nodejs/node#58070

* src,test: unregister the isolate after disposal and before freeing

nodejs/node#58070

* src: use cppgc to manage ContextifyContext

nodejs/node#56522

* src: replace uses of FastApiTypedArray

nodejs/node#58070

* module: integrate TypeScript into compile cache

nodejs/node#56629

* deps: update ada to 3.2.7

nodejs/node#59336

* src: make minor cleanups in encoding_binding.cc

nodejs/node#57448

* src: switch from `Get/SetPrototype` to `Get/SetPrototypeV2`

nodejs/node#55453

* src: use non-deprecated Get/SetPrototype methods

nodejs/node#59671

* src: simplify string_bytes with views

nodejs/node#54876

* src: improve utf8 string generation performance

nodejs/node#54873

* src: use non-deprecated Utf8LengthV2() method

nodejs/node#58070

* src: use non-deprecated WriteUtf8V2() method

nodejs/node#58070

* src: refactor WriteUCS2 and remove flags argument

nodejs/node#58163

* src: use String::WriteV2() in TwoByteValue

nodejs/node#58164

* node-api: use WriteV2 in napi_get_value_string_utf16

nodejs/node#58165

* node-api: use WriteOneByteV2 in napi_get_value_string_latin1

nodejs/node#58325

* src: migrate WriteOneByte to WriteOneByteV2

nodejs/node#59634

* fs: introduce dirent\.parentPath

nodejs/node#50976

* src: avoid copy by using std::views::keys

nodejs/node#56080

* chore: fixup patch indices

* fix: errant use of context->GetIsolate()

* fix: tweak BoringSSL compat patch for new changes

* fix: add back missing isolate dtor declaration

* fixup! esm: fix module.exports export on CJS modules

* cli: remove --no-experimental-fetch flag

https://github.com/nodejs/node/pull/52611/files

* esm: Source Phase Imports for WebAssembly

nodejs/node#56919

* fixup! src: prepare for v8 sandboxing

* chore: bump @types/node to v24

* chore: fix const assignment in crypto test

* fix: sandbox pointer patch issues

* chore: rework source phase import patch

* src: add percentage support to --max-old-space-size

nodejs/node#59082

* chore: fixup crypto tests

* chore: HostImportModuleWithPhaseDynamically todo

* fix: cjs esm failures

* fix: v8::Object::Wrappable issues

- v8/node@b72a615
- v8/node@490bac2
- v8/node@4896a0d

* chore: remove deleted specs

* src: use v8::ExternalMemoryAccounter

nodejs/node#58070

* fs: port SonicBoom module to fs module as FastUtf8Stream

nodejs/node#58897

* chore: tweak sandboxed pr patch

* test: disable parallel/test-os-checked-function

* test: use WHATWG URL instead of url.parse

* fix: OPENSSL_secure_zalloc doesn't work in BoringSSL

* chore: fix accidental extra line

* 7017517: [defer-import-eval] Parse import defer syntax

https://chromium-review.googlesource.com/c/v8/v8/+/7017517
nilayarya added a commit to nilayarya/electron that referenced this pull request Nov 21, 2025
* chore: upgrade Node.js to v24.10.0

* chore: fixup crypto patch

* chore: fixup crypto test patch

* src: prepare for v8 sandboxing

nodejs/node#58376

* esm: fix module.exports export on CJS modules

nodejs/node#57366

* chore: fixup lazyload fs patch

* esm: Source Phase Imports for WebAssembly

nodejs/node#56919

* module: remove --experimental-default-type

nodejs/node#56092

* lib,src: refactor assert to load error source from memory

nodejs/node#59751

* src: add source location to v8::TaskRunner

nodejs/node#54077

* src: remove dependency on wrapper-descriptor-based CppHeap

nodejs/node#54077

* src: do not use soon-to-be-deprecated V8 API

nodejs/node#53174

* src: stop using deprecated fields of v8::FastApiCallbackOptions

nodejs/node#54077

* test: update v8-stats test for V8 12.6

nodejs/node#54077

* esm: unflag --experimental-wasm-modules

nodejs/node#57038

* test: adapt assert tests to stack trace changes

nodejs/node#58070

* src,test: unregister the isolate after disposal and before freeing

nodejs/node#58070

* src: use cppgc to manage ContextifyContext

nodejs/node#56522

* src: replace uses of FastApiTypedArray

nodejs/node#58070

* module: integrate TypeScript into compile cache

nodejs/node#56629

* deps: update ada to 3.2.7

nodejs/node#59336

* src: make minor cleanups in encoding_binding.cc

nodejs/node#57448

* src: switch from `Get/SetPrototype` to `Get/SetPrototypeV2`

nodejs/node#55453

* src: use non-deprecated Get/SetPrototype methods

nodejs/node#59671

* src: simplify string_bytes with views

nodejs/node#54876

* src: improve utf8 string generation performance

nodejs/node#54873

* src: use non-deprecated Utf8LengthV2() method

nodejs/node#58070

* src: use non-deprecated WriteUtf8V2() method

nodejs/node#58070

* src: refactor WriteUCS2 and remove flags argument

nodejs/node#58163

* src: use String::WriteV2() in TwoByteValue

nodejs/node#58164

* node-api: use WriteV2 in napi_get_value_string_utf16

nodejs/node#58165

* node-api: use WriteOneByteV2 in napi_get_value_string_latin1

nodejs/node#58325

* src: migrate WriteOneByte to WriteOneByteV2

nodejs/node#59634

* fs: introduce dirent\.parentPath

nodejs/node#50976

* src: avoid copy by using std::views::keys

nodejs/node#56080

* chore: fixup patch indices

* fix: errant use of context->GetIsolate()

* fix: tweak BoringSSL compat patch for new changes

* fix: add back missing isolate dtor declaration

* fixup! esm: fix module.exports export on CJS modules

* cli: remove --no-experimental-fetch flag

https://github.com/nodejs/node/pull/52611/files

* esm: Source Phase Imports for WebAssembly

nodejs/node#56919

* fixup! src: prepare for v8 sandboxing

* chore: bump @types/node to v24

* chore: fix const assignment in crypto test

* fix: sandbox pointer patch issues

* chore: rework source phase import patch

* src: add percentage support to --max-old-space-size

nodejs/node#59082

* chore: fixup crypto tests

* chore: HostImportModuleWithPhaseDynamically todo

* fix: cjs esm failures

* fix: v8::Object::Wrappable issues

- v8/node@b72a615
- v8/node@490bac2
- v8/node@4896a0d

* chore: remove deleted specs

* src: use v8::ExternalMemoryAccounter

nodejs/node#58070

* fs: port SonicBoom module to fs module as FastUtf8Stream

nodejs/node#58897

* chore: tweak sandboxed pr patch

* test: disable parallel/test-os-checked-function

* test: use WHATWG URL instead of url.parse

* fix: OPENSSL_secure_zalloc doesn't work in BoringSSL

* chore: fix accidental extra line

* 7017517: [defer-import-eval] Parse import defer syntax

https://chromium-review.googlesource.com/c/v8/v8/+/7017517
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

api-review/requested 🗳 merged/40-x-y PR was merged to the "40-x-y" branch. new-pr 🌱 PR opened recently semver/major incompatible API changes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants