Novidades do Node.js 24: Atualizações e Expectativas
Node.js 24 lançado com melhorias de performance e segurança. Atualize seus projetos para aproveitar as novas funcionalidades.

O Node.js 24 foi lançado oficialmente em 6 de maio de 2025, trazendo atualizações focadas em inovação e estabilidade a longo prazo. Ele entrará em LTS (Suporte de Longo Prazo) em outubro de 2025, tornando-se uma versão chave para adoção em ambientes de produção.
Este artigo explora os principais novos recursos e orienta sobre como preparar seus projetos para essa atualização.
Estratégia de lançamento: Estabilidade vs. Inovação
O Node.js utiliza um sistema de versões pares vs. ímpares. Versões pares (como 20.x e 22.x) são candidatas a LTS (Suporte de Longo Prazo) e recebem 30 meses de suporte, sendo a escolha mais segura. Versões ímpares (como 21.x e 23.x) são de curto prazo, ideais para testar novos recursos, mas não são recomendadas para uso prolongado.
O ciclo de lançamento segue três etapas: Atual, LTS Ativo e Manutenção LTS. Como de maio de 2025, o Node.js 23 está na fase atual, ideal para quem quer acessar os recursos mais recentes do JavaScript e atualizações do motor V8. No entanto, esta versão tem suporte curto e pode incluir mudanças significativas, tornando-a inadequada para produção. Por outro lado, o Node.js 22.x está na fase LTS Ativo, totalmente estável, recebendo correções de segurança e bugs críticos. Já o Node.js 20.x entrou na fase de Manutenção LTS, recebendo apenas correções de segurança. É hora de considerar uma atualização se você ainda o utiliza.
O modelo de lançamento do Node.js equilibra estabilidade e inovação, permitindo que empresas acessem versões estáveis com suporte a longo prazo, enquanto desenvolvedores exploram novos recursos sem comprometer sistemas de produção.
Com o Node.js 24 disponível e o LTS próximo, esta versão traz atualizações significativas que refletem a evolução contínua da plataforma. De melhorias de desempenho a recursos de linguagem aprimorados, o Node.js 24 introduz ferramentas que tornam o desenvolvimento moderno mais rápido, seguro e eficiente. Aqui estão as novidades.
Novidades do Node.js 24
O Node.js 24 é uma versão importante, repleta de recursos empolgantes, incluindo uma atualização do motor V8 para a v13.6. Vamos explorar as atualizações principais, agrupadas por upgrade do motor V8, performance, segurança, experiência do desenvolvedor e estabilidade, para que você possa priorizar o que é mais importante para seus projetos.
V8 Engine atualizado para v13.6
Um destaque do Node.js 24 é a atualização do motor V8 para a versão 13.6. O motor V8 no Node.js é um motor JavaScript de alto desempenho desenvolvido pelo Google que executa código JavaScript.
Aqui estão os novos recursos oferecidos na atualização do V8:
- Arrays tipados aprimorados — A introdução de
Float16Array
permite armazenamento e manipulação mais eficientes de números de ponto flutuante de 16 bits, úteis para aprendizado de máquina, processamento gráfico e outras tarefas de computação. - Gerenciamento explícito de recursos — Suporta os recursos
using
eawait using
de uma proposta TC39, simplificando operações de limpeza, como fechar arquivos ou liberar memória, tornando o código mais simples e reduzindo o risco de vazamento de memória. - Melhorias no RegExp —
RegExp.escape
oferece uma forma conveniente de escapar caracteres especiais em expressões regulares, tornando a construção de padrões mais segura. - Avanços no WebAssembly —
WebAssembly Memory64
expande as capacidades do WebAssembly, suportando endereçamento de memória de 64 bits, permitindo a execução eficiente de aplicativos maiores e mais complexos. - Aprimoramentos no tratamento de erros —
Error.isError
oferece uma maneira padronizada de verificar se um objeto é uma instância deError
, útil em aplicativos que lidam com erros em diferentes contextos de execução.
Esses novos recursos na atualização do V8 aproximam o Node.js das propostas mais recentes do ECMAScript, oferecendo melhor desempenho, segurança e experiência do desenvolvedor.
Otimizações de performance
Undici 7.0
O cliente HTTP embutido Undici é atualizado para a versão 7.0 no Node.js 24. Undici é um cliente HTTP embutido no Node.js, desenvolvido para melhorar a performance da pilha HTTP sem quebrar a API existente.
A nova versão introduz melhorias significativas de performance, incluindo pool de conexões aprimorado e melhor suporte ao HTTP/2. Os benchmarks mostram até 30% de aumento na velocidade em comparação com versões anteriores.
Outras adições incluem capacidades melhoradas do cliente WebSocket, mecanismos de retry mais estáveis e balanceamento de carga mais inteligente entre conexões. Essas mudanças tornam o Undici v7 uma ferramenta mais poderosa para comunicação HTTP de alta performance em aplicativos Node.js.
Desempenho do AsyncLocalStorage melhorado
O Node.js 24 introduz uma importante melhoria no AsyncLocalStorage
. Agora, ele usa por padrão a nova implementação AsyncContextFrame
, trazendo benefícios de performance enquanto mantém a API existente. É uma boa notícia para desenvolvedores que trabalham com sistemas de rastreamento distribuído/logging ou propagação de contexto de requisição.
Melhorias de segurança
Modelo de permissão estável
O Node.js 24 oficialmente promoveu seu modelo de permissões do status experimental. A flag --experimental-permission
agora é --permission
, sinalizando que este recurso de segurança está pronto para produção.
O modelo de permissão é a resposta do Node.js aos desafios modernos de segurança, permitindo restringir acesso a sistema de arquivos, rede e ambiente.
Aqui está um exemplo simples:
// Execute seu aplicativo Node.js com permissões habilitadas $ node --permission --allow-fs-read=/allowed/path app.js
Após executar o comando acima, nosso aplicativo só pode ler de /allowed/path
, e todo outro acesso ao sistema de arquivos é negado por padrão.
Essa estabilização marca um marco importante na evolução da segurança do Node.js.
Maneira mais segura de lidar com argumentos de child_process
Agora, a forma de passar argumentos para child_process.spawn()
e execFile()
foi alterada para não permitir argumentos de string. Em vez disso, o Node.js aplica a passagem explícita de argumentos baseados em array para prevenir riscos de injeção de shell e melhorar a consistência.
npm 11
O Node.js 24 vem com o npm v11, trazendo melhorias de performance e segurança.
Algumas mudanças notáveis são:
- Instalações mais rápidas e melhor performance.
- Verificação de segurança aprimorada: o npm não recorre mais ao endpoint de avisos antigos se solicitações em massa falharem, garantindo relatórios de segurança consistentes.
- Endurecimento de scripts de ciclo de vida: a flag
--ignore-scripts
agora se aplica a todos os scripts de ciclo de vida, prevenindo a execução de scripts potencialmente inseguros. - Suporta a versão do Node
^20.17.0 || >=22.9.0
, mantendo o npm alinhado com as versões recentes do Node.js LTS.
Melhorias na experiência do desenvolvedor
Padrão de URL global
O Node.js 24 traz uma melhoria para desenvolvedores web: URLPattern
agora está disponível como um objeto global, assim como seu primo URL
. Isso significa que não há mais importações incômodas poluindo nossos arquivos de roteamento!
Um padrão de URL é como expressões regulares para URLs, mas com uma sintaxe muito mais limpa e fácil de ler e manter.
// Não é necessário importar nada! const userRoute = new URLPattern({ pathname: '/users/:id' }); // Teste um URL const match = userRoute.exec('https://example.com/users/42'); console.log(match.pathname.groups.id); // Saída: "42"
Esse recurso ajuda na validação de endpoints de API, combinando e manipulando padrões de rota específicos. Os desenvolvedores podem usá-lo para criar sistemas de roteamento simples e personalizados sem depender de grandes bibliotecas. É também útil em raspadores web para processar e extrair dados de URLs estruturados.
Aprimoramento do executor de testes
O executor de testes embutido do Node.js agora espera automaticamente que todos os subtestes sejam concluídos.
// antes do Node.js v24 test('API test suite', async (t) => { const api = await setupTestAPI(); // Tinha que lembrar de aguardar cada subteste await t.test('GET /users', async () => { const response = await api.get('/users'); deepStrictEqual(response.status, 200); }); }); // após o Node.js v24 test('API test suite', async (t) => { const api = await setupTestAPI(); // Não é necessário aguardar - o executor cuida disso automaticamente t.test('GET /users', async () => { const response = await api.get('/users'); deepStrictEqual(response.status, 200); }); });
Esse aprimoramento torna o executor de testes do Node.js mais intuitivo. É uma daquelas melhorias de qualidade de vida que silenciosamente melhora nossa experiência de teste.
Estabilidade e modernização
APIs legadas deprecadas/removidas
Existem algumas APIs legadas deprecadas ou removidas nesta versão.
Análise de URL
url.parse()
está depreciado. É recomendável que seja utilizado a API WHATWG URL
, que é mais compatível com os padrões e segura.
// Depreciado (gera aviso em tempo de execução) const parsed = require('url').parse('https://example.com'); // alternativa const parsed = new URL('https://example.com');
Atualização de segurança TLS
O depreciado tls.createSecurePair
foi removido.
// Removido (não está mais disponível) require('tls').createSecurePair(); // Use TLSSocket em vez disso new tls.TLSSocket(socket, options);
Depreciação do SlowBuffer
SlowBuffer
está agora depreciado. Se for usado, um aviso em tempo de execução será gerado.
// Depreciado (use Buffer.allocUnsafeSlow) const slow = new SlowBuffer(10); // Alternativa moderna const slow = Buffer.allocUnsafeSlow(10);
Palavra-chave new
obrigatória para classes REPL/Zlib
Agora é depreciado em tempo de execução criar uma instância de REPL ou usar classes Zlib sem a palavra-chave new
. Esta mudança visa alinhar melhor com as convenções padrão de classes JavaScript.
Atualize para V24
Ao planejar sua atualização, tenha em mente que algumas APIs e padrões foram depreciados. Essas mudanças podem exigir atualizações de código legado, especialmente se o seu projeto usar recursos como REPL ou Zlib sem a palavra-chave new
, ou passar argumentos incorretamente para métodos child_process
. Revisar as notas de lançamento oficiais do Node.js 24 e usar ferramentas como node --trace-deprecation
durante os testes pode ajudar a identificar e corrigir esses problemas precocemente.
Para atualizar, você pode usar um gerenciador de versões como nvm
. Você pode instalá-lo facilmente com o código abaixo:
nvm install 24 nvm use 24
Ou você pode baixar a versão mais recente diretamente do site do Node.js.
Como o Node.js 24 entrará em LTS em outubro de 2025, agora é o momento ideal para explorar seus novos recursos. Seja você responsável por manter aplicativos Node ou construir novos projetos, estar à frente das novidades ajudará a manter sua pilha segura, estável e pronta para o futuro.
Resumo
O Node.js 24 reflete o compromisso contínuo da comunidade em equilibrar recursos de ponta com estabilidade a longo prazo. Agora é o momento perfeito para explorar as novidades, testar seu código e se preparar para o próximo lançamento LTS. Seus projetos prontos para o futuro começam aqui—feliz codificação!