Next.js v16.3.0-canary.77
Resumo
O release canary consolida seis versões da linha v16.3.0-canary, com mudanças relevantes em validação de desenvolvimento, SWC, exemplos de formulário, fontes, source maps, cacheLife, variantes de navegador, Instant Navigation, Cache Components, Turbopack e histórico de navegação. A origem inclui três tags sem corpo técnico detalhado, então a redação considera publicáveis apenas os itens descritos nas versões canary.77, canary.76 e canary.75.
Como a linha é canary, o uso mais prudente é validar comportamento em ambiente de teste antes de levar a atualização para aplicações com Server Actions, Cache Components ou navegação experimental. A versão altera partes sensíveis do runtime e da experiência de desenvolvimento, especialmente quando prefetch, cache e navegação instantânea aparecem juntos.
Novidades
- Next.js v16.3.0-canary.77 — Perfis de
cacheLife: os perfis resolvidos decacheLifepassaram a ter tipagem, removendo asserts em runtime e deslocando parte da validação para o contrato de tipos. - Next.js v16.3.0-canary.76 — React experimental: a dependência do React foi atualizada de
ec0fca31-20260701para3508aee6-20260702, mantendo a linha canary alinhada com a base experimental usada pelo framework. - Next.js v16.3.0-canary.75 — API de testes de Instant Navigation: os testes de deploy para a suíte da API de Instant Navigation Testing foram habilitados, ampliando cobertura para navegação experimental em ambiente publicado.
Melhorias
- Next.js v16.3.0-canary.77 — Validação em desenvolvimento: a validação em
devevita renderização desnecessária, reduzindo trabalho extra durante checagens locais. - Next.js v16.3.0-canary.77 — Dados de fonte: a base de informações de fontes foi atualizada, mantendo metadados usados pelo framework mais próximos da versão atual.
- Next.js v16.3.0-canary.77 — Frames internos em source maps: frames internos passam a ser ignorados quando a cadeia de source maps aponta para fontes originais, o que deve limpar a leitura de stack traces.
- Next.js v16.3.0-canary.77 — Variantes de navegador: os
requiresde servidor baseados emtypeof windowforam separados em variantes.browser, e os módulos com essas variantes passaram a ser coletados estaticamente. - Next.js v16.3.0-canary.76 — Ordem de prefetch: links mais próximos do topo do documento passam a ser buscados primeiro no prefetch, aproximando o carregamento prévio da leitura inicial da página.
- Next.js v16.3.0-canary.75 — Release no GitHub: o pacote de release foi substituído por uma criação própria de GitHub release, o que altera a automação de publicação do projeto.
Correções
- Next.js v16.3.0-canary.77 — SWC compress: a versão inclui uma saída de contorno para bug de compressão no SWC, evitando falha em otimização gerada pelo compilador.
- Next.js v16.3.0-canary.77 — Exemplo de formulário: a documentação troca
FormEventporSubmitEventno exemplo de tratamento de formulário, acompanhando a depreciação em React 19.2.10 ou superior. - Next.js v16.3.0-canary.76 — Server Action em andamento: a navegação deixa de ser revertida quando uma Server Action ainda está em execução.
- Next.js v16.3.0-canary.76 — Nested cache: um falso positivo de erro em nested cache foi corrigido para perfis curtos padrão.
- Next.js v16.3.0-canary.76 — Cache com
expire: 0: o handler padrão de cache em produção deixa de salvar valores comexpire: 0, evitando persistência de entradas que deveriam expirar imediatamente. - Next.js v16.3.0-canary.76 — Histórico de navegação: um
history pushdeixa de ser tratado comoreplacequando vem seguido derefresh. - Next.js v16.3.0-canary.76 —
cacheHandlers: a validação dos nomes decacheHandlersfoi corrigida para respeitar a configuração esperada. - Next.js v16.3.0-canary.76 — Instant Navigation em deploy: rotas bloqueantes sob lock de Instant Navigation passam por recuperação quando a aplicação está publicada.
- Next.js v16.3.0-canary.76 — Full-page loads: testes de carregamento de página inteira para Instant Navigation passam a funcionar em deploy.
- Next.js v16.3.0-canary.76 — Cookie de Instant Navigation: um cookie ressuscitado de navegação instantânea é limpo no desbloqueio, permitindo recuperação por reload completo.
- Next.js v16.3.0-canary.76 — Segment explorer trie: nomes de segmentos que colidem com propriedades de protótipo passam a ser tratados corretamente no trie do explorador de segmentos.
- Next.js v16.3.0-canary.76 — Metadata em navegação suave: o título de metadata deixa de cair durante navegação suave com Cache Components.
- Next.js v16.3.0-canary.76 — Cache curto em reload de desenvolvimento: valores de
'use cache'comexpirecurto passam a atravessar reloads em desenvolvimento. - Next.js v16.3.0-canary.75 — Prefetch em andamento: entradas de prefetch já em execução são aguardadas quando existe lock de Instant Navigation.
- Next.js v16.3.0-canary.75 — Cookie vazado em
instant: a chamadainstant()fica mais resistente a cookie de teste de navegação que vazou para o estado atual. - Next.js v16.3.0-canary.75 — Saída de validação instantânea: a mensagem de correção de validação instantânea remove a orientação de silenciar o aviso.
- Next.js v16.3.0-canary.75 — Turbopack com subpath
#/: o Turbopack passa a aceitar especificadores de importação de subpath iniciados por#/.
Breaking changes
Nenhuma quebra de compatibilidade foi declarada nas notas publicadas desta sequência canary.
Ponto de Atenção
- Next.js v16.3.0-canary.77 — Navegação e cache: a sequência modifica Server Actions, Instant Navigation, Cache Components, prefetch, cookies de teste e
cacheHandlers, então aplicações que usam essas APIs precisam passar por validação de navegação antes da atualização. Teste sugerido: execute um fluxo com Server Action em andamento, navegação suave, refresh posterior e metadata dinâmica, conferindo histórico, título da página e entradas de cache. - Next.js v16.3.0-canary.77 — Build e bundling: as mudanças em SWC, Turbopack, variantes
.browsere coleta estática de módulos podem alterar o resultado do build em pacotes com importação condicional. Teste sugerido: rode build e testes de smoke em uma página que usa importações condicionais de navegador e imports com prefixo#/, conferindo se o bundle não carrega módulo de servidor no cliente.
Notas da versão
As tags v16.3.0-canary.74, v16.3.0-canary.73 e v16.3.0-canary.72 foram publicadas sem corpo técnico além do próprio número da versão. Elas foram preservadas no agrupamento bruto, mas ficaram fora das categorias editoriais por não trazerem mudança verificável.