Change8

v16.3.1

📦 next-jsView on GitHub →
🐛 15 fixes🔧 10 symbols

Summary

This release includes several bug fixes and improvements for Turbopack, next/image, and various routing and caching mechanisms. It also includes backported fixes for stability and performance.

Migration Steps

  1. Backport: Bump @swc/helpers.
  2. Backport: Raise registration calls in hoisted modules to the top.
  3. Backport: Allow literal exports in `'use cache'` files.

🐛 Bug Fixes

  • Turbopack: don't strip async-module runtime from shared runtime chunks.
  • [turbopack] Add `turbopack_ecmascript` and `turbopack_wasm`'s embeded FS to `internal_assets_conditions`.
  • [turbopack] Collapse nested promises in the analyzer.
  • fix(next/image): preserve image response after optimization.
  • Fix missing styled-jsx styles in Pages Router SSR on adapter builds.
  • [turbopack] Fix HMR for dynamic imports evaluated from layouts.
  • Restore the live `headers()` view of the incoming request.
  • Keep the dev validation worker alive across HMR updates.
  • Discard only cache entries that predate a tag revalidation, and reuse completed entries.
  • Encode the cache item name built by `unstable_cache`.
  • Compile the middleware redirect routes up front in dev.
  • Fix Nav Inspector request loop on repeat captures.
  • Fix: Optimistic routing bugs leading to repeated prefetch loops.
  • Retain fewer stale cache versions and use a TTL, plus the mtime fallback.
  • Revert i18n localization change for dynamic Pages API routes (#94905).

Affected Symbols