v16.2.0-canary.62
Breaking Changes📦 next-jsView on GitHub →
⚠ 2 breaking✨ 2 features🐛 7 fixes🔧 5 symbols
Summary
This release introduces instant serving for cached navigations and enforces the use of `unstable_instant` only in Server Components. Several core fixes address worker compatibility, suspense boundaries, and server patching behavior.
⚠️ Breaking Changes
- Throw an error when `unstable_instant` is used within a Client Component. This feature is intended only for Server Components.
- Turbopack build process has changed: it is no longer automatically included in `pnpm build`. Users must now explicitly run `pnpm build-all` to include Turbopack compilation.
Migration Steps
- If you were using `unstable_instant`, ensure it is only used within Server Components.
- If you rely on Turbopack compilation during your standard build, change your script from `pnpm build` to `pnpm build-all`.
✨ New Features
- Cached Navigations: Segments are now served instantly on repeat visits.
- Turborepo has been updated to version 2.8.11.
🐛 Bug Fixes
- Worker arguments are now sanitized for compatibility with worker_threads.
- Fixed tracking of varyParams for optional catch-all parameters that have no assigned value.
- Worker process is no longer started when only configuration validation is being performed for Typescript.
- Fixed an issue where loading.js was not being recognized as a suspense boundary in Instant mode.
- Resolved a crash in the CI process when next-swc could not be loaded while `NEXT_TEST_NATIVE_DIR` was set.
- Server patch retry mechanism now correctly preserves the push/replace intent during suspended transitions.
- Fixed a flaky test related to delaying re-prefetching after revalidation.