Node.js 27 Alpha Doubles the Default Heap on 8 GB Machines
Software / news
Node.js 27 Alpha Doubles the Default Heap on 8 GB Machines
The first release under Node's annual schedule also changes the V8 serialization format, so a payload written by 27 cannot be read by 26.

The first alpha of Node.js 27 changes the default JavaScript heap limit to half of physical memory, clamped between 256 MB and 4 GB, and switches V8 serialization to a format that older Node.js releases cannot read. Version 27.0.0-alpha.0.0.0 shipped on Oct. 29, 2026, built by Rafael Gonzaga according to the release notes, and it is explicitly not for production.
It is the first major under the project's one-release-a-year model. The stable 27.0.0 is scheduled for April 22, 2027, with long-term support (LTS) starting Oct. 20, 2027, according to a schedule summary from ecorpit that cites the Node.js Release Working Group and warns the dates may move.
What the 4 GB heap ceiling changes
If --max-old-space-size is unset, Node 27 now sizes the old-generation heap, where long-lived objects sit, from the machine. Joyee Cheung wrote in the notable V8 changes post that an 8 GB machine now gets a 4 GB limit, up from 2 GB, and a 6 GB machine gets 3 GB, up from 2 GB.
- 8 GB machine, Node 262 GB
- 8 GB machine, Node 274 GB
- 6 GB machine, Node 262 GB
- 6 GB machine, Node 273 GB
Source: Joyee Cheung, Notable V8 changes from Node.js 26 to 27 (Alpha), nodejs.org, accessed 2026-11-09
There is a catch for containers. Memory held by Buffer and ArrayBuffer now counts toward the limit, so a service that streamed large binary payloads outside the old heap can hit the ceiling sooner than the raw number suggests. The AiCybr migration guide, an independent write-up published Oct. 31, advises pinning an explicit limit in performance-sensitive containers, and the release notes give the form: node --max-old-space-size=4096 app.js.

The serialization break
v8.serialize(), structuredClone() and postMessage() use a new wire format in 27. Node 27 can still read old data, but older releases fail with an "invalid or unsupported version" error on new data, Cheung wrote. AiCybr recommends a two-direction test matrix, alpha-to-LTS and LTS-to-alpha, for anyone who persists serialized values or passes them between worker threads on mixed versions.
The compile cache is affected too. v8.cachedDataVersionTag() now changes with every Node.js patch on top of V8, so cached bytecode will miss more often across releases.
Dependency and platform changes
| Component | Node 27.0.0-alpha.0.0.0 | Note |
|---|---|---|
| V8 | 15.6.75.13 | 14.6 in Node 26 |
| OpenSSL | 4.1.0 | OpenSSL 3 or later now required |
| npm | 12.1.0 | |
| undici | 8.12.3 | |
| NODE_MODULE_VERSION | 153 | Native addons must be rebuilt |
The OpenSSL move removes the bundled FIPS provider build and ends engine support, per the release notes. Intel macOS drops to experimental, and the Intel binary is listed as "Coming soon". The notes list roughly 150 semver-major commits in total, including a runtime deprecation of domain, a keepAliveTimeout default raised to 65 seconds in http, and native glob() in fs.
On the language side, Math.sumPrecise(), Iterator.zip() and Iterator.zipKeyed() are on by default. Cheung's post flags subtler differences: Math.log(3) now returns 1.0986122886681098 where Node 26 returned 1.0986122886681096, and Array.prototype.sort() uses PowerSort for large arrays, which changes comparator call counts without changing results.
What to do before April
Production should stay on an LTS line. The ecorpit summary lists Node 22 reaching end of life on April 30, 2027, and Node 24 on April 30, 2028, so teams on 22 have a decision to make inside the alpha window. Heap snapshots in 27 are about twice as large and take about twice as long, and Cheung's post says they "should be treated as sensitive data" because they now include full script sources. Teams that automate upgrades, as with Dependabot's support for agent manifests, will want the alpha pinned to a fixed version rather than a floating tag, which is what AiCybr advises. The yearly cadence is slow next to tools such as the Pi coding agent, which has shipped 244 releases.
The next checkpoint is the stable release on April 22, 2027.
Sources
More in Software
- 01Psalm 7 Turns On Taint Analysis by Default for PHPThe static analyzer's new major release adds a prompt-injection taint kind, replaces its purity annotations with capabilities, and has already reached 7.2.0 within a week.
- 02Meta's Astryx Design System Hits 19.7k Stars, Still in BetaThe MIT-licensed React 19 library claims 150+ components and 13,000 internal apps, but its charts and Vega packages exist only under a canary tag.
- 03KetchUp, the Rust SketchUp Alternative, Is Now BenchUpThe MIT-licensed woodworking modeler imports .skp files and runs in a browser on WebGPU, and its README spells out which old project files survive the rename.
- 04Researcher Decodes iOS Keyboard Blocklist: 4,513 English PhrasesDerik Kauffman's Swipeblocked project recovers the fingerprint tables behind Apple's predictive text from iOS 27.0, and its own README says a phrase's presence does not show why Apple listed it.