#55522: chore: upgrade Node.js to v26.13.0
Requested by John Kleinschmidt · Slack thread
Upgrades Node.js on main from v24.22.1 to v26.13.0. Of the 55 Node.js patches, 15 are removed because v26.13.0 already includes them, and the rest are adapted to upstream changes. This replaces #55418, which the roller closed and reset; review history is there.
Some changes need a closer look from reviewers. Node.js 26 allocates Buffer.allocUnsafe() memory through the isolate's ArrayBuffer allocator (nodejs/node#61480). Electron now gives the main process, utility process and ELECTRON_RUN_AS_NODE isolates their own allocator, so Buffers larger than 2 GiB keep working. ELECTRON_RUN_AS_NODE now honors --no-node-snapshot. Renderers and workers are started with --experimental-web-worker. The --experimental-transform-types switch is removed, because Node.js removed it, and the change is documented in the breaking-changes doc. The asar fs wrapper now covers Node.js 26's native write and copy jobs and its virtual file system. The trace_events, source-phase-import and process-timeout report tests are disabled for Electron-specific reasons, which are given in their commits.
🤖 Generated with Claude Code
https://claude.ai/code/session_01Vf2yMuJ7XxvNktpKuiMPzU
Notes: Upgraded to Node.js v26.13.0. Removed the --experimental-transform-types switch, which Node.js no longer supports.
Backports
Semver Impact
Semantic Versioning helps users understand the impact of updates:
- Major (X.y.z): Breaking changes that may require code modifications
- Minor (x.Y.z): New features that maintain backward compatibility
- Patch (x.y.Z): Bug fixes that don't change the API
- None: Changes that don't affect using facing parts of Electron