Node.js 27.0.0-alpha.0.0.0 chega com V8 15.6 e novo limite padrão de heap
Aprofundamento CEVIU
Aprofundamento
A versão 27.0.0-alpha.0.0.0 do Node.js, publicada em 29 de outubro de 2026 por @RafaelGSS, atualiza o V8 para a 15.6.75.13, ante a 14.6 do Node.js 26. Entre os recursos de linguagem habilitados por padrão estão Math.sumPrecise(), Intl.Locale.prototype.variants, Iterator.prototype.join(), Iterator.prototype.includes(), Iterator.zip() e Iterator.zipKeyed(). Atrás de flags ficam import defer (--js-defer-import-eval), Immutable ArrayBuffer (--js-immutable-arraybuffer) e RegExp buffer boundaries (--js-regexp-buffer-boundaries).
A mudança que mais pesa em produção é a memória. Sem --max-old-space-size, o limite padrão do heap vira metade da memória física, entre 256 MB e 4 GB, e Buffer e ArrayBuffer passam a contar nesse limite. Quem dependia dos padrões antigos deve definir a flag explicitamente. Também mudou o formato de v8.serialize(), structuredClone() e postMessage(), que versões anteriores do Node.js não leem. v8.cachedDataVersionTag() e o compile cache mudam a cada patch do V8, não só a cada versão.
Há ainda mudanças de comportamento observáveis: Math usa a libm do LLVM e pode diferir no último bit, Math.random() muda a sequência para o mesmo --random-seed, error.stack não é mais buscado pela cadeia de protótipos, await gera menos microtasks e Array.prototype.sort() usa PowerSort em arrays grandes, mantendo a estabilidade. Heap snapshots incluem objetos internos, valores numéricos e o código-fonte completo, levam cerca de duas vezes mais tempo e geram arquivos cerca de duas vezes maiores. Em WebAssembly, asm.js deixa de ser compilado para WebAssembly e --experimental-wasm-<name> vira --wasm-<name>. O changelog completo do V8 entre 14.6 e 15.6 sai em breve.
Nos commits SEMVER-MAJOR, o build do FIPS provider embutido é removido, OpenSSL 3 ou posterior passa a ser exigido, macOS em Intel vira experimental, engines do OpenSSL deixam de ser suportadas, e entram OpenSSL 4.1.0 e npm 12.1.0. Em crypto, há validação de encodings, DEP0093, DEP0198, DEP0203 e DEP0204 em End-of-Life, e descontinuação em runtime de chamar Hmac.digest() mais de uma vez. Em dgram, o lookup customizado é ignorado para IPs literais, e em dns o arquivo hosts não entra mais em reverse lookups.
O que mudou
Em 10 de junho de 2026, o CEVIU noticiou, em "Node.js 26: novidades da versão e o que esperar da mudança no modelo de lançamento", que o Node.js 26 chegou com o V8 14.6. A linha 27 sobe para o V8 15.6.75.13. Em 28 de outubro de 2026, o CEVIU publicou que a release 26.13.0 levou a série 26.x ao LTS com o codinome 'Lithium', um dia antes deste alpha da próxima linha.
Por que isso importa
Para quem opera serviços Node.js em contêineres, o novo limite padrão de heap, somado à contagem de Buffer e ArrayBuffer, pode mudar o consumo e os casos de falta de memória. Testar com --max-old-space-size explícito antes de migrar parece o caminho mais seguro. Quem usa OpenSSL engines, FIPS embutido ou os módulos em End-of-Life deve revisar isso cedo. Por ser alpha, serve para testar compatibilidade, não para produção.
Linha do tempo
CEVIU noticia o Node.js 26 com V8 14.6.
Node.js 26.13.0 leva a série 26.x ao LTS 'Lithium'.
Node.js 27.0.0-alpha.0.0.0 chega com V8 15.6 e novo limite padrão de heap.
Perguntas frequentes
Qual versão do V8 vem no Node.js 27.0.0-alpha.0.0.0?
A versão 15.6.75.13, ante a 14.6 do Node.js 26. O changelog completo das mudanças do V8 entre 14.6 e 15.6 será divulgado em breve.
O que muda no limite de memória padrão?
Sem --max-old-space-size, o limite do heap passa a ser metade da memória física, entre 256 MB e 4 GB. A memória de instâncias de Buffer e ArrayBuffer agora conta para esse limite. Quem dependia dos padrões anteriores deve definir a flag explicitamente.
Dá para trocar dados serializados entre o Node.js 27 e versões antigas?
Não necessariamente. v8.serialize(), structuredClone() e postMessage() usam um novo formato que versões anteriores do Node.js não conseguem ler. O compile cache e v8.cachedDataVersionTag() também mudam a cada patch do V8.
Quais recursos de linguagem chegam habilitados por padrão?
Math.sumPrecise(), Intl.Locale.prototype.variants, Iterator.prototype.join(), Iterator.prototype.includes(), Iterator.zip() e Iterator.zipKeyed(). Import defer, Immutable ArrayBuffer e RegExp buffer boundaries seguem experimentais, atrás de flags.
Fontes
- nodejs.orgfonte original
- Categoria
- CEVIU Web Dev
- Publicado
- 29 de outubro de 2026
- Editoria
- CEVIU Web Dev

