Skip to content

v0.0.28

Choose a tag to compare

@github-actions github-actions released this 11 Mar 11:52
· 1214 commits to main since this release
16a14c7

What's Changed

New Features

  • Added ISR (Incremental Static Regeneration) caching support for App Router in production environments with stale-while-revalidate strategy
  • Added Node execution context handling for improved compatibility

Bug Fixes

  • Fixed Pages production config headers and redirects handling after middleware rewrites
  • Fixed Pages API body parsing and res.send(Buffer) behavior to align with Next.js
  • Fixed router.pathname to return route pattern instead of resolved path
  • Fixed object-form query array serialization in next/link and next/router
  • Fixed router.push/replace to properly honor the as parameter
  • Fixed Link component to skip locale prefix for absolute and protocol-relative hrefs
  • Fixed App Router ISR invalidation to match Next.js behavior for fetch and path tags
  • Fixed next/form submitter overrides and query-string GET URLs handling
  • Fixed useSearchParams to return ReadonlyURLSearchParams as expected
  • Fixed sitemap XML namespaces, video entries, and alternate-language links generation
  • Fixed useRouter to honor beforePopState callback when component is mounted
  • Fixed route rewrites and redirects to preserve repeated route and query parameters
  • Fixed dynamic route discovery to reject conflicting dynamic route siblings
  • Fixed Pages Router query arrays and hash preservation in asPath
  • Fixed catch-all routes validation to reject non-terminal catch-all routes in both Pages and App routers
  • Fixed RSC client references deduplication to prevent module duplication in development
  • Fixed next/headers to implement proper readonly semantics and legacy sync compatibility
  • Fixed RequestCookie behavior and getAll(name) method implementation
  • Fixed middleware object matcher semantics to match Next.js i18n behavior
  • Fixed Pages Router production hydration for inlined page modules

Performance

  • Added local tag cache for KV operations to reduce round-trips on cache hits
  • Improved fetch cache to register stale-while-revalidate refetch with waitUntil() for better performance
  • Fixed ISR cache handler to properly await KV put operations and prevent perpetual STALE status
  • Added cache key namespacing by buildId for better ISR cache management

Internal / Chores

  • Refactored ExecutionContext AsyncLocalStorage to be the single source of truth
  • Updated ISR implementation to use getRequestExecutionContext() from ALS in background regeneration

Contributors

@JaredStowell
@NathanDrake2406
@Divkix
@james-elicx