Node.js 26 vira LTS em 28/10: o que quebra e como migrar do Node 24

Por BuildBase

27 de outubro de 2026

O Node.js 26 deixa de ser a linha Current e passa a Active LTS em 28 de outubro de 2026, segundo o cronograma do grupo de releases do projeto. Uma semana antes, em 20 de outubro, o Node.js 24 entrou em manutenção e passou a receber só correções críticas e de segurança.

Para quem roda Node em produção, a data marca o momento em que a versão 26 vira a recomendação padrão para projetos novos e o ponto de partida do planejamento de migração dos atuais. O salto do 24 para o 26 tem remoções de APIs que quebram código antigo, e é delas que este texto trata primeiro.

Para quem tem pressa: aplique já o patch de segurança de outubro na versão que você usa (22.23.4, 24.22.1 ou 26.12.1). Depois, teste o Node 26 em CI procurando por writeHeader() e módulos _stream_*, as duas remoções que mais quebram projetos antigos.

 

Ciclo de vida de cada versão

VersãoSituação a partir de 28/10/2026Fim do suporte (EOL)
Node.js 20sem suporte desde 30/04/2026encerrado
Node.js 22 (Jod)Maintenance LTS30/04/2027
Node.js 24 (Krypton)Maintenance LTS desde 20/10/202630/04/2028
Node.js 26Active LTS até 20/10/202730/04/2029

As datas são as publicadas pelo grupo de releases e compiladas pelo endoflife.date. Quem ainda está no Node 20 roda um runtime sem nenhuma correção de segurança há seis meses, e esse é o caso mais urgente da lista.

 

O que deixa de funcionar ao sair do Node 24

No Node 24No Node 26
http.Server.prototype.writeHeader()removido; use writeHead()
módulos internos _stream_readable, _stream_writable e similaresremovidos; use a API pública de node:stream
module.register()emite aviso de descontinuação em tempo de execução
flag –experimental-transform-typesremovida
addons nativos compilados para o 24podem exigir novos binários ou recompilação

O levantamento das quebras é da análise da SDX Development. Os módulos _stream_* costumam aparecer dentro de dependências antigas, não no código da aplicação, então uma busca no node_modules antes do upgrade evita surpresa no deploy.

 

O que chega de novo

  • Temporal ativado por padrão, a API moderna de datas, horários, durações e fusos que substitui boa parte do uso de bibliotecas como Moment e date-fns.
  • V8 14.6, com métodos como Map.prototype.getOrInsert() e Iterator.concat().
  • Undici 8 por trás do fetch() nativo, o que pede teste das integrações HTTP, principalmente em código que depende de comportamento de cabeçalhos ou de keep-alive.
Racks de servidores em uma sala de servidores
Sala de servidores. Imagem ilustrativa. Foto: Carl Lender / Wikimedia Commons (CC BY 2.0)

 

Antes de migrar, atualize a versão que você já usa

Em 21 de outubro, o projeto publicou correções para dez vulnerabilidades. A mais grave, CVE-2026-111497, é uma escrita fora dos limites no módulo zlib (Brotli) com possibilidade de execução remota de código e nota CVSS 4.0 de 9,2, segundo a Qualys. As versões corrigidas são:

  • Node.js 22: 22.23.4
  • Node.js 24: 24.22.1
  • Node.js 26: 26.12.1

Linhas ímpares (25, 23, 21) não recebem a correção. A migração para o 26 pode levar semanas; a atualização de patch da versão atual deveria entrar no próximo deploy. O mesmo raciocínio de checagem de servidor vale para outras falhas recentes, como mostrou o portal em PHP2Shell já era explorado antes do alerta: o que checar no servidor.

 

Roteiro de migração do 24 para o 26

  1. Rode a suíte de testes com o Node 26 em CI, sem mudar produção.
  2. Procure writeHeader( e _stream_ no código e nas dependências.
  3. Recompile ou atualize addons nativos e verifique se as imagens Docker base têm tag do Node 26.
  4. Atualize o campo engines do package.json e o arquivo .nvmrc.
  5. Suba primeiro em homologação e compare p95, memória, CPU e taxa de erro com a versão anterior.
  6. Mantenha um rollback testado para o Node 24 até a versão nova passar por um ciclo completo de tráfego real.

 

Calendário novo a partir do Node 27

O 26 é o último a seguir o modelo de duas versões por ano. A partir do Node 27, o projeto abre uma única linha por ano, em outubro: ela passa seis meses em fase Alpha, vira Current em abril e chega a LTS no outubro seguinte. A linha 27 começa o Alpha em 28 de outubro de 2026 e tem estreia como Current prevista para 22 de abril de 2027. Na prática, quem planeja upgrades anuais pode alinhar a janela de migração sempre ao fim de outubro.

Leia também: