Categorias do Site

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.

Logotipo verde do Node.js sobre brotos de planta crescendo na terra, simbolizando crescimento e desenvolvimento, com um fundo desfocado de luz solar.

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.

Node.js 24: What's New

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:

  1. 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.
  2. Gerenciamento explícito de recursos — Suporta os recursos using e await 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.
  3. Melhorias no RegExpRegExp.escape oferece uma forma conveniente de escapar caracteres especiais em expressões regulares, tornando a construção de padrões mais segura.
  4. Avanços no WebAssemblyWebAssembly 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.
  5. Aprimoramentos no tratamento de errosError.isError oferece uma maneira padronizada de verificar se um objeto é uma instância de Error, ú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!

  • 20+ Templates Gratuitos de Brochura InDesign 2025

    Descubra mais de 20 templates gratuitos de brochura para InDesign em 2025. Ideal para criativos promoverem negócios e serviços.

    Descubra mais de 20 templates gratuitos de brochura para InDesign em 2025. Ideal para criativos promoverem negócios e serviços.

    Ler notícia completa
    Layout de várias páginas de uma revista de design de interiores mostradas sobre um fundo de mármore, com o ícone do Adobe InDesign no canto.
  • OpenAI Codex: Revolução ou Risco para Desenvolvedores?

    OpenAI Codex promete transformar o desenvolvimento, mas apresenta desafios de segurança, ética e dependência excessiva.

    OpenAI Codex promete transformar o desenvolvimento, mas apresenta desafios de segurança, ética e dependência excessiva.

    Ler notícia completa
    Interface de software com um painel central rotulado
  • 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.

    Node.js 24 lançado com melhorias de performance e segurança. Atualize seus projetos para aproveitar as novas funcionalidades.

    Ler notícia completa
    Logotipo verde do Node.js sobre brotos de planta crescendo na terra, simbolizando crescimento e desenvolvimento, com um fundo desfocado de luz solar.
  • Entendendo o Sobrealinhamento em IA

    O que é o sobrealinhamento? Sobrealinhamento descreve uma falha de alinhamento em interações humano-IA, ocorrendo quando sistemas de IA dependem excessivamente da expertise ou percepções do usuário sem validação independente. Isso pode reforçar suposições incorretas, gerando um ciclo prejudicial de esforço cognitivo e emocional. Como o sobrealinhamento funciona? Sistemas de IA, como GPT-4 e 4.5, […]

    Sobrealinhamento em IA: riscos, impactos psicológicos e como mitigar.

    Ler notícia completa
    Diagrama mostrando ciclo de feedback falho intitulado
  • 3 estudos de caso: quando rapidez não é o melhor

    No desenvolvimento de produtos, a velocidade é muitas vezes celebrada. Muitas empresas acreditam que quanto mais rápido lançam, mais rapidamente recebem feedback e se adaptam ao mercado. No entanto, essa pressa pode levar a problemas como dívida técnica, experiências ruins para o usuário e equipes sobrecarregadas, ameaçando a viabilidade do produto a longo prazo. Este […]

    Rapidez nem sempre é ideal no desenvolvimento de produtos. Veja 3 casos que mostram os riscos de decisões rápidas.

    Ler notícia completa
    Ícone de ampulheta com relógio sobre fundo decorativo azul e roxo que apresenta um padrão de círculos sobrepostos.
  • Como especializações podem afetar sua carreira

    Quando ferramentas de IA generativa como ChatGPT e Midjourney começaram a ganhar atenção, muitos designers ficaram nervosos. Especialmente os especialistas em UI, que sentiram a pressão. Designers que construíram suas carreiras criando interfaces perfeitas foram comparados a sistemas de IA que poderiam fazer o mesmo em segundos. O que antes parecia uma vantagem competitiva — […]

    Especializações em design podem limitar sua carreira. Descubra como expandir suas habilidades e garantir crescimento futuro.

    Ler notícia completa
    Ícones de uma figura humana roxa e uma figura humana vermelha com design de circuito, sobre fundo azul texturizado com efeito aquarela.
  • Por que ninguém lê sua documentação e como resolver

    Ninguém evita ler a documentação do seu produto por preguiça, mas porque ela não foi escrita pensando neles. Muitas vezes, a documentação é criada para ser escrita, e não para ser útil. Em muitas equipes de produto, a documentação bem-intencionada acaba esquecida, soterrada sob o histórico de versões e abas esquecidas, tornando-se relíquias de reuniões […]

    Descubra por que sua documentação não é lida e aprenda a torná-la mais eficaz e atraente para seus usuários.

    Ler notícia completa
    Ícone de documento roxo sobre fundo texturizado de tons rosados e alaranjados, simulando uma superfície de pedra.
  • Como criar upload seguro de arquivos no Astro

    A manipulação segura e eficiente de uploads de mídia é essencial para desenvolvedores, especialmente quando o site depende de conteúdo gerado por usuários ou entrega de mídia dinâmica. No Astro, isso pode ser alcançado através da integração com um Gerenciador de Ativos Digitais (DAM) sem cabeça como o Cloudinary. Um DAM fornece uma maneira centralizada […]

    Aprenda a criar um sistema seguro de upload de arquivos no Astro usando a integração com Cloudinary.

    Ler notícia completa
    Ilustração de foguetes estilizados como lápis, decolando entre nuvens em um fundo noturno estrelado, usando tons de roxo e azul.
  • Monorepos vs Polyrepos: Qual é o melhor para você?

    Monorepos centralizam todas as bases de código em um único repositório, permitindo mudanças cruzadas de serviço de forma atômica, gerenciamento centralizado de dependências e ferramentas consistentes. Eles são ideais quando as equipes precisam de coordenação apertada e práticas compartilhadas. Já os polyrepos isolam serviços em repositórios separados para implantações independentes, pilhas de tecnologia variadas e […]

    Descubra as diferenças entre monorepos e polyrepos e escolha a melhor estrutura para seu projeto.

    Ler notícia completa
    Ícones de uma pasta rosa e de um servidor violeta com setas brancas apontando entre eles, sobre um fundo abstrato e suave.