What's Changed
New Features
- Added concurrency control flag for prerendering operations
- Added route graph manifest read model for better routing introspection
- Added artifact compatibility metadata for App Router deployments
- Added navigation trace reason-code system for debugging client-side routing
- Added semantic route graph identifiers for improved routing analysis
- Added visible commit version tracking for browser state management
- Added disabled cache proof model for server-side caching scenarios
- Server startup logging is now displayed during prerendering
Bug Fixes
- Fixed ISR app cache regeneration to be variant-safe, preventing cache inconsistencies
- Fixed SSR external module handling (
ssr.external: true) in App Router configurations
- Fixed middleware execution by properly stripping internal headers
- Fixed route refresh and traversal outcomes with proper gating logic
- Fixed
generateStaticParams validation errors to propagate correctly
- Fixed server action argument decoding with proper size limits
- Fixed App RSC route-match path canonicalization
- Fixed stale server action commits from being processed
- Fixed Windows deployment issues with wrangler .CMD shim resolution
- Fixed parallel slot route rendering for layout-only configurations
- Fixed dynamic segment name parsing to accept any non-
] characters (Next.js parity)
- Fixed metadata merge behavior and Twitter card inheritance to match Next.js
- Fixed nested parallel slot sub-route discovery from layout-only parents
- Fixed
redirect() and notFound() handling under loading.tsx components
- Fixed well-known property protection in thenable params implementation
- Fixed URL parameter decoding using
decodeURIComponent
- Fixed invalid HTTP method handling in App route handlers (now returns 400)
- Fixed RSC cache-busting parameter validation
- Fixed
revalidate = false support for App route segment configuration
- Fixed non-standard robots directive support via
other field
- Fixed
generateStaticParams error handling to catch errors per-source rather than per-loop
- Fixed internal Next.js header filtering from inbound requests
Performance
- Improved ISR performance by caching misses from streamed renders
- Optimized client reference preloads by coalescing multiple requests
Internal / Chores
- Updated Next.js dependency version
- Updated React dependency version
- Extensive internal refactoring to dedupe common patterns and utilities across the codebase
- Removed unused deprecated exports from shims
- Enhanced test coverage for App Router navigation lifecycle and root-layout behavior
Contributors
@NathanDrake2406
@james-elicx
@jgeurts
@piffie