What's Changed
New Features
- Added experimental
appShells configuration option with validation support
- Added support for Sparkle experimental flags:
varyParams, optimisticRouting, and cachedNavigations
- Added layout safety observation foundations for improved skip optimization
- Added static layout reuse proof model for better performance analysis
Bug Fixes
- Fixed app router navigation to better align with Next.js behavior
- Fixed Pages Router to properly run
_document.getInitialProps with renderPage enhancers
- Fixed Head component to preserve charset and viewport defaults during client hydration
- Fixed Pages Router to deduplicate in-flight
_next/data fetches by URL to prevent redundant requests
- Fixed Head component to match Next.js charset/viewport ordering and properly merge
_document.getInitialProps head elements
- Fixed TypeScript
next.config loading to keep packages externalized
- Fixed TypeScript config resolution to properly handle
baseUrl imports from tsconfig.json
- Fixed server-only imports to work correctly from 'use server' modules
- Fixed fnv1a64 hash function to produce consistent fixed-width output
- Fixed App Router to preserve forwarded action redirect wrappers
- Fixed App Router to reuse pending prefetched RSC payloads for better performance
- Fixed App Router to preserve middleware headers on metadata routes
- Fixed Pages Router to preserve
import.meta.url source paths
- Fixed server-only imports to be properly rejected from client-reachable modules
Performance
- Improved memory management with bounded default cache size and LRU eviction
- Enhanced ISR cache key generation to include i18n context for better cache accuracy
Internal / Chores
- Updated
@vitejs/plugin-rsc dependency to version 0.5.27
- Added regression test for parallel slot page-over-default priority
Contributors
@NathanDrake2406
@james-elicx
@southpolesteve
@Divkix