A equipe do projeto Node.js anunciou oficialmente o lançamento da versão 26.0.0, disponibilizada em 5 de maio de 2026. Trata-se da nova versão Current, que entrará em modo Long-Term Support (LTS) apenas em outubro de 2026 — mantendo-se como a versão de referência para testes, desenvolvimento e adoção antecipada pelos times de engenharia durante os próximos seis meses.
O lançamento representa um marco na modernização contínua da plataforma, com foco em robustez, segurança e conformidade com padrões web atuais. Entre as principais inovações estão a ativação definitiva da API Temporal, uma atualização significativa do mecanismo JavaScript V8 e a remoção definitiva de funcionalidades depreciadas há anos.
Temporal habilitado por padrão — fim da era do Date
A partir do Node.js 26, a API Temporal — proposta oficial do TC39 para substituir o objeto Date — está ativada por padrão em todos os ambientes. Desenvolvida para resolver limitações crônicas de manipulação de datas e fusos horários, a Temporal oferece tipos imutáveis, precisão de nanosegundos, suporte nativo a fusos horários e calendários alternativos (como o islâmico ou hebraico).
Essa mudança foi implementada por Richard Lau no pull request #61806 e já está disponível sem necessidade de flags experimentais — consolidando o Node.js como uma das primeiras runtimes JavaScript a adotar plenamente essa evolução crítica para aplicações globais.
Atualização do V8 para versão 14.6.202.33
O mecanismo de execução JavaScript do Node.js foi atualizado para a versão V8 14.6.202.33, alinhada ao Chromium 146. Essa atualização traz não apenas melhorias de desempenho e consumo de memória, mas também suporte nativo a duas novas propostas do ECMAScript:
-
Upsert: introduz os métodos
[Weak]Map.prototype.getOrInsert()e[Weak]Map.prototype.getOrInsertComputed(), permitindo operações condicionais de leitura e inserção em estruturas de dados de forma atômica (proposta oficial). -
Iterator sequencing: adiciona
Iterator.concat(), facilitando a composição de iteradores de forma declarativa e eficiente (proposta oficial).
A atualização foi integrada por Michaël Zasso no pull request #61898, com múltiplas correções de portabilidade para sistemas como AIX, illumos e Windows.
Undici 8.0.2: cliente HTTP mais rápido e confiável
O cliente HTTP nativo do Node.js, Undici, foi atualizado para a versão 8.0.2, trazendo melhorias em estabilidade, observabilidade e compatibilidade com padrões modernos de transporte. A nova versão inclui otimizações em pipelines de requisições, tratamento aprimorado de erros de conexão e maior coerência com o comportamento esperado em ambientes de produção escaláveis.
Essa atualização é especialmente relevante para serviços que dependem intensivamente de chamadas externas — como gateways, microserviços e funções serverless — e reforça o compromisso do projeto com uma stack HTTP unificada e de alto desempenho.
Remoções importantes: fim de ciclo para APIs legadas
O Node.js 26 executa uma série de remoções definitivas de APIs marcadas como obsoletas em versões anteriores. Essas mudanças seguem o ciclo de vida definido pelo projeto e visam reduzir a dívida técnica, simplificar o código-fonte e mitigar riscos de segurança.
HTTP: writeHeader() removido
O método http.Server.prototype.writeHeader() foi totalmente eliminado. Desenvolvedores devem migrar para http.Server.prototype.writeHead() — que oferece a mesma funcionalidade com assinatura mais clara e consistente. A mudança foi aplicada no commit 93c25815ee (#60635).
Streams: módulos _stream_* descontinuados
Os módulos internos legados _stream_wrap, _stream_readable, _stream_writable, _stream_duplex, _stream_transform e _stream_passthrough foram removidos integralmente. Essa remoção afeta diretamente quem acessa módulos internos via require('internal/stream/*'). A recomendação é usar exclusivamente as APIs públicas do módulo stream.
Crypto: depreciações finais
DEP0182(uso decrypto.createCredentials) foi movido para End-of-Life (dff46c07c3#61084).- As depreciações
DEP0203eDEP0204passaram para runtime deprecation, emitindo avisos em tempo de execução (adac077484#62453). module.register()agora gera aviso em tempo de execução (98907f560f#62401), e--experimental-transform-typesfoi removido completamente (89f4b6cddb#61803).
Impacto prático para desenvolvedores
A versão 26.0.0 exige atenção especial em projetos que utilizam APIs internas, módulos legados ou flags experimentais descontinuadas. Equipes devem revisar seus códigos quanto a:
- Chamadas diretas a
http.Server.prototype.writeHeader() - Uso de
_stream_*emrequire('internal/...') - Dependências que ainda se baseiam em
DEP0182,DEP0203ouDEP0204 - Scripts de build que dependem do Python 3.9 (suporte removido — agora exige Python ≥ 3.10)
Além disso, a atualização do NODE_MODULE_VERSION para 147 implica que módulos nativos compilados para versões anteriores precisarão ser reconstruídos com node-gyp ou prebuild.
Próximos passos: caminho para o LTS
A versão 26 permanecerá como Current até outubro de 2026, quando será promovida ao status de LTS (Long-Term Support) — garantindo manutenção de segurança e correções por 30 meses. Durante esse período, a equipe recomenda fortemente que equipes de produção realizem testes extensivos com a nova versão, especialmente em cenários críticos envolvendo manipulação de datas, comunicação HTTP e criptografia.
Para atualizar, basta executar:
nvm install 26
# ou, com o gerenciador de versões nativo:
corepack enable && npm install -g node@26
Documentação completa e notas de versão estão disponíveis na página oficial do lançamento.