11 pontos por ragingwind 2024-10-22 | 5 comentários | Compartilhar no WhatsApp

A versão oficial do Next.js 15 foi lançada junto com a conferência 2024. O conteúdo abaixo não inclui as mudanças já explicadas anteriormente em Next.js 15 RC 2. Se quiser conhecer essas alterações, leia primeiro.

  • Semântica de cache (breaking): os comportamentos a seguir não usam mais cache por padrão. O motivo da mudança é que poderiam surgir problemas ao interagir com Partial Prerendering(PPR) ou bibliotecas de terceiros, então a estratégia de cache padrão foi reavaliada. Antes, o padrão era force-cache, mas agora foi alterado para no-store, evitando cache por padrão e fornecendo desempenho e dados mais previsíveis.

    • As requisições fetch agora não usam cache por padrão, e no-store é o valor padrão. Se necessário, é possível configurar cache com a opção force-cache.
    • Os GET Route Handlers também não usam cache por padrão. É possível usar cache por meio da opção force-static.
    • O Client Router Cache reflete dados mais recentes durante a navegação entre páginas e, por padrão, não faz cache. Para voltar ao comportamento anterior, é possível definir a opção staleTimes.
  • Suporte ao React 19: o Next.js 15 foi atualizado para o React 19 e também mantém compatibilidade com o React 18 no Pages Router. O App Router usa o React 19 RC e, com base no feedback da comunidade, também permitiu que projetos usando React 18 possam fazer upgrade para o React 19. Além disso, o React Compiler foi introduzido para permitir otimizações automáticas e reduzir a necessidade de memoização manual. Essas mudanças preparam o terreno para o futuro lançamento oficial do React 19.

    • React Compiler (experimental): o React Compiler é um compilador experimental criado pela equipe do React na Meta, que entende a semântica do JavaScript e as regras do React para otimizar o código automaticamente. Com isso, reduz a necessidade de os desenvolvedores fazerem memoização manual por meio de APIs como useMemo e useCallback. Ele é suportado no Next.js 15 e, no momento, é fornecido apenas como plugin do Babel, podendo aumentar o tempo de build.
    • Melhorias nos erros de hidratação: o Next.js 15 evoluiu ainda mais as mensagens de erro aprimoradas e a forma de lidar com erros de hidratação introduzidas em versões anteriores. Agora, quando ocorre um erro de hidratação, ele mostra junto o código-fonte do erro e sugestões de como resolver o problema. Isso ajuda os desenvolvedores a entender e corrigir o erro com mais facilidade.
  • Turbopack Dev: o Turbopack agora está estável, e sua velocidade melhora a experiência de desenvolvimento. A inicialização do servidor local melhorou cerca de 76%, o Fast Refresh 96% e a compilação da primeira rota sem cache cerca de 45%.

  • API unstable_after (experimental): unstable_after é uma API experimental introduzida no Next.js 15 que permite processar tarefas secundárias, como logging ou análise, depois da resposta ao usuário. Como funções serverless param de executar imediatamente após a resposta ser concluída, after() pode ser usado para adiar a execução mesmo depois do fim da resposta. Assim, é possível sincronizar carregamento, dados estatísticos e outros elementos com sistemas externos.

5 comentários

 
vipeen 2024-10-23

Para projetos novos, vou de vue3 ou sveltekit.

 
zillionstar 2024-10-22

O React compatível com o Next 15 é a partir da versão 19... mas o React 19 ainda não saiu do status de RC.

 
kbumsik 2024-10-23

Como outra pessoa mencionou, ainda é RC por causa de um problema relacionado às mudanças de funcionalidade, mas fora essa parte dá para considerar como estável.

 
[Este comentário foi ocultado.]
 
ragingwind 2024-10-22

Tweet de perguntas e respostas do maintainer sobre https://x.com/timneutkens/status/1848464958830612729