Voltar
Node.js 27.0.0-alpha.0.0.0 chega com V8 15.6 e novo limite padrão de heap

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

  1. CEVIU noticia o Node.js 26 com V8 14.6.

  2. Node.js 26.13.0 leva a série 26.x ao LTS 'Lithium'.

  3. 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

Avalie este artigo:
Categoria
CEVIU Web Dev
Publicado
29 de outubro de 2026
Editoria
CEVIU Web Dev

Quer receber mais sobre CEVIU Web Dev?

Conteúdo curado diariamente, direto no seu e-mail.

Conteúdo curado diariamenteDiversas categoriasCancele quando quiser