
Next.js 16.4 ativa Cache Components por padrão e melhora prefetch
Cache Components como padrão
O Next.js 16.4 passa a recomendar o modelo de programação Cache Components para todas as aplicações: os novos projetos criados com create-next-app já vêm com o recurso ativado por padrão, e o modelo se tornará o padrão no Next.js 17. A equipe explica que, em versões anteriores, a recomendação não era universal porque o modelo ainda não garantia os mesmos patamares de custo e desempenho do modelo anterior - lacunas que esta versão teria fechado.
Cache Components é um conjunto de recursos que permite marcar partes da árvore de componentes como elegíveis para cache, usando a diretiva 'use cache' - descrita como uma versão em nível de componente do cabeçalho HTTP Cache-Control. As anotações permitem combinar cache no navegador (em navegações do cliente), cache no servidor (opcionalmente plugável) e renderização no momento da requisição em uma mesma página, substituindo os comportamentos de cache implícitos das versões anteriores do App Router. O Partial Prefetching, antes opcional, agora é considerado parte do modelo.
Garantias de estaticidade
A nova API ensureStatic permite garantir que o shell, o prefetch ou a navegação completa de uma rota seja estática. Com ensureStatic definido como 'navigation', o build falha se qualquer conteúdo dinâmico entrar na página, impedindo renderização em tempo de requisição. Também há os modos mais flexíveis 'prefetch' e 'shell', e o recurso pode ser aplicado em um layout inteiro. A ferramenta é indicada para sites otimizados, como lojas de e-commerce, páginas de marketing e blogs, evitando renderização dinâmica não intencional e os custos de compute associados.
Controle sobre prefetch
A versão aprimora o prefetch, que pré-renderiza a interface em cache de uma página antes da navegação. Como prefetching de todos os links visíveis pode carregar dados demais (no exemplo de um app de e-mail, o thread inteiro de cada mensagem), a nova API navigation() permite excluir conteúdo em cache do prefetch, adiando a renderização até a navegação de fato ocorrer. Uma API prefetch() também foi adicionada, para adiar conteúdo que sairia do shell da rota até um prefetch explícito via ou useRouter().prefetch(). O objetivo é equilibrar renderização adiantada e preguiçosa conforme a aplicação.
Ferramentas para agentes de código
O Next.js 16.4 reforça o investimento em ferramentas para agentes. O comando next upgrade --agent dá ao agente orientação específica de versão: verifica a versão instalada, seleciona o alvo, prepara guias de migração, codemods e passos de verificação, aplica a atualização e confere que o app continua funcionando. Um modo experimental agentUpgrade avisa sobre atualizações disponíveis durante next dev e next build, com políticas 'security' (padrão, para vulnerabilidades conhecidas), 'latest' ou desativada; há planos de uma política futura para adotar recursos como Cache Components de forma idiomática.
Um fluxo experimental de feedback permite que agentes preparem relatórios de problemas encontrados, revisados pelo desenvolvedor antes do envio. O agente é instruído a omitir código-fonte, logs, segredos e detalhes do projeto; nada é enviado sem aprovação. O recurso exige telemetria ativada e não roda em CI.
Melhorias gerais e recursos experimentais
Para todas as aplicações, o Turbopack reduz em 20–25% o espaço do cache em disco, usando compressão Zstandard nos dados e mantendo LZ4 para metadados, além de rotinas de compactação aprimoradas. Outros ganhos: HMR de servidor lazy (só compila atualizações quando uma rota é requisitada), runtime compartilhado em um único chunk entre rotas, bundles de produção menores via nomes de classes CSS mais curtos e export mangling, e o embarque do React 19.3, com View Transitions e Fragment Refs estáveis.
No campo experimental: uma versão Rust do React Compiler ganha um fast check que pula arquivos sem necessidade de otimização, e contribuições do time do Turbopack reduziram o uso de memória do compilador em 30% e o tempo de compilação em 15%. Há ainda um coletor de lixo para cache de disco e memória, importações dinâmicas lazy no cliente, execução de ferramentas como Babel e PostCSS em worker threads (com fallback para processos filhos em Node.js 24.13.1+ por causa de um bug do Node.js), suporte a raízes adicionais e virtual store global no pnpm e Bun, e melhorias no Turbopack Bundle Analyzer, incluindo uma skill experimental next-bundle-optimizer para agentes diagnosticarem e reduzirem o JavaScript enviado pelo app.
Para atualizar, o time sugere npx next@canary upgrade --agent=latest ou npm install next@latest.