Pular para o conteúdo
Breaking change

Node.js 27.0.0-alpha.0.0.0

Confira as mudanças desta versão e os avisos antes de atualizar.

Publicada em
Posição no histórico
1 de 10
Nesta página

Resumo

O Node.js 27.0.0-alpha.0.0.0 apresenta o V8 15.6.75.13 e mudanças incompatíveis no runtime. A memória ocupada por Buffer e ArrayBuffer integra o limite do heap. Versões anteriores não conseguem ler o novo formato de serialização. Esta alpha serve para conferir a compatibilidade das aplicações com a próxima linha principal, mantendo a avaliação separada do ambiente de produção.

Novidades

  • Node.js 27.0.0-alpha.0.0.0 — JavaScript: o V8 habilita Math.sumPrecise(), Intl.Locale.prototype.variants e novos métodos de iteradores, incluindo Iterator.zip() e Iterator.zipKeyed().
  • Node.js 27.0.0-alpha.0.0.0 — Rede: o módulo experimental net/promises acrescenta uma interface baseada em promises.
  • Node.js 27.0.0-alpha.0.0.0 — Permissões: a opção --allow-env integra o controle de acesso às variáveis de ambiente.
  • Node.js 27.0.0-alpha.0.0.0 — Recursos experimentais: import defer depende de --js-defer-import-eval. O ArrayBuffer imutável utiliza --js-immutable-arraybuffer.

Melhorias

  • Node.js 27.0.0-alpha.0.0.0 — Dependências: a distribuição atualiza o V8 para 15.6.75.13, o OpenSSL para 4.1.0 e o npm para 12.1.0.
  • Node.js 27.0.0-alpha.0.0.0 — Execução: await utiliza menos microtarefas. A ordenação de arrays grandes por Array.prototype.sort() utiliza PowerSort e preserva a estabilidade.
  • Node.js 27.0.0-alpha.0.0.0 — Arquivos: o suporte a glob utiliza uma implementação nativa.

Correções

  • Node.js 27.0.0-alpha.0.0.0 — Sistema de arquivos virtual: os descritores abertos respeitam o estado somente leitura. As funções readlink, realpath e mkdtemp recebem correções de codificação.
  • Node.js 27.0.0-alpha.0.0.0 — Streams: a implementação corrige a perda do evento drain em fromWritable(). As escritas que aguardam continuidade conservam o estado assíncrono associado à execução.

Breaking changes

  • Node.js 27.0.0-alpha.0.0.0 — Memória: na ausência de --max-old-space-size, o limite padrão do heap corresponde à metade da memória física, entre 256 MB e 4 GB. Buffer e ArrayBuffer contam nesse limite. Aplicações ajustadas aos valores anteriores precisam definir o limite explicitamente e medir o consumo com sua carga habitual.
  • Node.js 27.0.0-alpha.0.0.0 — Serialização: o novo formato usado por v8.serialize(), structuredClone() e postMessage() não pode ser lido por versões anteriores do Node.js. Sistemas que trocam ou preservam conteúdo serializado precisam conferir a compatibilidade dos processos consumidores antes da troca de runtime.
  • Node.js 27.0.0-alpha.0.0.0 — HTTP: req.headers utiliza protótipo nulo, o timeout padrão de keep-alive sobe para 65 segundos e respostas que excedem o limite de cabeçalhos são recusadas. Revise código que utiliza métodos herdados de Object.prototype nos cabeçalhos e confira os timeouts dos servidores.
  • Node.js 27.0.0-alpha.0.0.0 — OpenSSL: a compilação exige OpenSSL 3 ou posterior, remove a construção do provedor FIPS incluído e encerra o suporte a engines do OpenSSL. Instalações que utilizam esses componentes precisam adaptar a compilação e a integração criptográfica.
  • Node.js 27.0.0-alpha.0.0.0 — Configuração: a versão remove --no-experimental-websocket e renomeia as flags --experimental-wasm-<name> para --wasm-<name>. Ajuste os comandos de inicialização que ainda incluem essas opções.

Ponto de Atenção

O suporte a macOS com processadores Intel recebe a classificação experimental. Os snapshots do heap incluem objetos internos e fontes completas dos scripts, com estimativa de dobrar o tempo de geração e o tamanho do arquivo segundo as notas. Essas condições precisam entrar na preparação dos testes, especialmente quando você coleta snapshots para investigar consumo de memória.

Teste sugerido: numa cópia do ambiente, execute a suíte da aplicação com carga que utilize buffers e compare o consumo de memória. Confira a leitura de um arquivo produzido por v8.serialize() entre as versões utilizadas pelos seus processos. Exercite o acesso a req.headers, os timeouts HTTP e os comandos de inicialização.

Notas da versão

O Node.js 27.0.0-alpha.0.0.0 foi publicado em 29/10/2026 às 18h36 UTC como pré-release. O anúncio informa que o changelog completo da transição do V8 14.6 para 15.6 será disponibilizado posteriormente.

Versões anteriores

    • Node.js 26.13.0

      O Node.js 26.13.0 inicia o período LTS (Long Term Support) da linha 26 com o nome Lithium e atualizações previstas até o fim de abril de 2029.

      Stable
    • Node.js 24.22.2

      O Node.js 24.22.2 mantém a linha Krypton em LTS (Long Term Support) e corrige escritas em espera no TransformStream.

      Stable
    • Node.js 26.12.1

      O Node.js 26.12.1 é a versão de segurança da linha Current e reúne a lista mais ampla de correções do dia.

      Stable
    • Node.js 24.22.1

      O Node.js 24.22.1 é uma versão de segurança da linha LTS Krypton.

      Stable
    • Node.js 22.23.4

      O Node.js 22.23.4 é uma versão de segurança da linha LTS Jod.

      Stable
    • Node.js 26.12.0

      O Node.js 26.12.0 atualiza a linha Current com duas APIs novas em http e uma mudança de comportamento na inicialização de WebAssembly.

      Stable

Versões posteriores

Esta é a versão mais recente do Node.js.

Ver todas as 10 versões do Node.js
Histórico de versões