jkleinsc

#55522: chore: upgrade Node.js to v26.13.0

Merged
Created: Oct 30, 2026, 8:55:37 AM
Merged: Oct 30, 2026, 4:32:42 PM
6 comments
Target: main

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

46-x-y
In-flight
PR Number
#55527
Waiting to be merged

Semver Impact

Major
Breaking changes
Minor
New features
Patch
Bug fixes
None
Docs, tests, etc.

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