Pular para o conteúdo
Node.js 26.0.0 lançado com API temporal ativada por padrão, V8 14.6 e remoção de APIs obsoletas

Node.js 26.0.0 lançado com API temporal ativada por padrão, V8 14.6 e remoção de APIs obsoletas

Node.js 26.0.0 está disponível com novas funcionalidades essenciais — Temporal habilitado por padrão, atualização do V8 para 14.6, Undici 8.0 e descontinuação de módulos legados. Saiba o que muda.

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 de crypto.createCredentials) foi movido para End-of-Life (dff46c07c3 #61084).
  • As depreciações DEP0203 e DEP0204 passaram 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-types foi 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_* em require('internal/...')
  • Dependências que ainda se baseiam em DEP0182, DEP0203 ou DEP0204
  • 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.

Via nodejs.org. Você pode conferir o post original em inglês:

Node.js 26.0.0 (Current)

Por · Última atualização: