Skip to content

Releases: cloudflare/vinext

v0.0.49

06 May 20:21
0e62dc2

Choose a tag to compare

What's Changed

Bug Fixes

  • Fixed route parameter resolution to correctly prioritize Pages Router route params over query parameters with the same key
  • Updated React Server Components initialization to align with React 19.2.6 compatibility requirements

Contributors

@southpolesteve

v0.0.48

06 May 17:47
ca2ee08

Choose a tag to compare

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

v0.0.47

03 May 18:58
fb342f5

Choose a tag to compare

What's Changed

New Features

  • Added React-based runtime error overlay for better development experience

Bug Fixes

  • Fixed layout segment configuration not being properly applied to pages in App Router
  • Fixed routing issues where inherited slot parameters were incorrectly matched against request URL instead of route path
  • Fixed parallel slots not being properly mirrored to descendant sub-pages
  • Fixed CLI validation to properly reject missing or malformed --port and --hostname values
  • Fixed Google Fonts to be self-hosted in development mode instead of making external requests
  • Fixed hydration errors in next/image component by adding proper error replay handling
  • Fixed navigation to properly fall back to hard navigation when render errors tear down the component tree
  • Fixed HMR to trigger full page reload when render errors destroy the browser root
  • Fixed HMR timing issues by ensuring router state is ready before dispatching RSC updates
  • Fixed ISR to properly honor route expiration ceilings

Performance

  • Moved private Next.js instrumentation client out of Vite's dependency optimization for faster dev builds

Internal / Chores

  • Refactored App RSC request lifecycle into typed handler for better maintainability
  • Extracted response finalization logic into dedicated server module
  • Extracted request normalization into separate typed server module
  • Refactored browser navigation lifecycle controller for better separation of concerns
  • Extracted page element building logic into typed helper modules
  • Extracted app fallback renderer factory for better code organization
  • Moved instrumentation lazy initialization to dedicated server module
  • Extracted App Router route graph builder into separate module
  • Moved route classification injection behind typed planner interface
  • Added code review guidelines for AI agent
  • Updated project README
  • Added test coverage reporting for integration tests
  • Removed obsolete code assertion tests and snapshots
  • Fixed various linting issues

Contributors

@NathanDrake2406
@james-elicx
@Divkix

v0.0.46

02 May 17:55
dc6b11f

Choose a tag to compare

What's Changed

New Features

  • Added support for file metadata routes in App Router head output
  • Added unstable_io shim for next/cache to handle asynchronous operations during prerendering
  • Added next/offline shim with useOffline() hook
  • Added next/root-params shim for accessing root-level parameters
  • Added ForbiddenBoundary and UnauthorizedBoundary components for HTTP access fallback recovery

Bug Fixes

  • Fixed next/image component to only fire onError callback once per source per mount
  • Fixed App Router to avoid unnecessary reloads when colocated files change during development
  • Fixed import paths by replacing relative shim imports with bare specifier vinext/shims/X
  • Fixed stream error handling in ISR cache to prevent incomplete data by re-throwing errors in pumpReader
  • Fixed error boundaries in App Router to properly preserve falsy thrown values
  • Fixed unstable_io() to no longer return hanging promises during prerendering
  • Fixed support for enablePrerenderSourceMaps config (defaults to true)
  • Fixed support for experimental.outputHashSalt config and NEXT_HASH_SALT environment variable
  • Fixed client-side navigation errors to properly forward invalid dynamic usage errors in development
  • Fixed draft mode cookie attributes to align with Next.js behavior
  • Fixed optional catch-all route parameters to omit empty params
  • Fixed stale server actions to return "action-not-found" response
  • Fixed support for experimental.swcEnvOptions config
  • Fixed route-level boundary nesting order to match Next.js behavior
  • Fixed metadata route suffix exemption list to align with Next.js
  • Fixed cache handler config to support file:// URLs
  • Fixed ISR background revalidation errors to be reported via onRequestError
  • Fixed static metadata URL resolver (fillStaticMetadataSegment)
  • Fixed next/font/google runtime registrations for better stability
  • Fixed cache request leaks in App Router
  • Fixed middleware cookie handling and external rewrites alignment
  • Fixed layout parameter scoping and error boundary handling
  • Fixed cached pages to be properly tagged by route pattern
  • Fixed cookie precedence preservation in App Routes
  • Fixed SSR render and head collection serialization in Pages Router
  • Fixed symlink path resolution in standalone package copy
  • Fixed static pages to return 405 status for non-action mutations
  • Fixed route handlers to reject middleware control responses
  • Fixed server-inserted HTML flushing during SSR streaming
  • Fixed invalid app route discovery conflicts to be properly rejected
  • Fixed RSC client shims to be excluded from dependency optimization

Performance

  • Optimized RSC stream processing by reducing allocations from 3 to 2 tees

Internal / Chores

  • Refactored metadata route pattern helpers for better code sharing
  • Extracted app page dispatch logic for better organization
  • Extracted RSC runtime primitives for improved modularity
  • Extracted early request pipeline helpers
  • Shared config support list across compatibility checks
  • Extracted app prerender endpoints
  • Extracted app route handler dispatch
  • Extracted server action RSC flow
  • Extracted app RSC manifest construction
  • Delegated RSC preload hint normalization
  • Delegated RSC route matching

Contributors

@NathanDrake2406
@Divkix
@james-elicx

v0.0.45

28 Apr 11:43
0b6eee2

Choose a tag to compare

What's Changed

New Features

  • Implemented complete Next.js Google Fonts support with proper metadata and URL pipeline

Bug Fixes

  • Fixed hash anchors not being restored during browser history navigation
  • Fixed stale cache entries not being served properly for unstable_cache
  • Fixed cache entries not being properly scoped by build ID
  • Fixed NextRequest.url normalization issues through nextUrl
  • Fixed action redirects not working correctly in App Router
  • Fixed parallel slot routing issues for layouts before the root
  • Fixed ownerless URL commits incorrectly releasing snapshots
  • Fixed revalidatePath not properly expiring route-scoped fetch cache reads
  • Fixed dev server crashes from socket errors when clients disconnect unexpectedly
  • Fixed middleware headers not being preserved on app boundary responses
  • Fixed router accepting dangerous javascript: URLs in push/replace/prefetch operations
  • Fixed incorrect layout segment selection for named slots
  • Fixed Google Fonts axis range validation and build-time option checking
  • Enhanced dev server error output to surface Error.cause for better debugging

Internal / Chores

  • Updated PostCSS from 8.5.3 to 8.5.10
  • Fixed Knip configuration issues
  • Various CI improvements and dependency updates

Contributors

@NathanDrake2406
@MrIago
@james-elicx
@dependabot[bot]

v0.0.44

24 Apr 20:39
c58daa6

Choose a tag to compare

What's Changed

Bug Fixes

  • Fixed protocol-relative URL handling to properly guard against percent-encoded delimiters
  • Fixed usePathname hydration snapshot issues in codex
  • Fixed hard navigation to browser URL when RSC fetch returns non-ok response in app router
  • Fixed isPending state to remain true across RSC-level redirects in app router

New Features

  • Added support for rendering intercept route layouts inside App Router slots

Internal / Chores

  • Added knip for dead code elimination
  • Updated bonk to opus 4.7
  • Bumped opencode version

Contributors

@southpolesteve
@james-elicx
@NathanDrake2406

v0.0.43

22 Apr 09:45
a775527

Choose a tag to compare

What's Changed

Bug Fixes

  • Fixed App Router navigation to properly maintain loading states during programmatic navigation with router.push()
  • Fixed routing issues with sibling intercepted routes in App Router applications
  • Fixed cache headers for route handlers with revalidate: 0 to properly emit no-store Cache-Control directive

Contributors

@NathanDrake2406

v0.0.42

21 Apr 10:01
88e57e1

Choose a tag to compare

What's Changed

New Features

  • Static and dynamic layout detection for skip-header optimization to improve performance
  • Layout classification system with build-time wiring into RSC entry points
  • Per-layout flags now emitted in RSC payload for better rendering control
  • Flat keyed payload system for App Router layout persistence
  • Enhanced interception context encoding in App Router payload IDs and caches
  • Support for tracking previous URL state for intercepted App Router entries
  • Self-hosted Google Font assets now emit proper served URLs

Bug Fixes

  • Fixed race condition in navigation by tracking pending pathname to resolve isSameRoute issues during rapid navigation
  • Preserved intercepted app-router state across server actions
  • Fixed console output preservation for caught app errors in development
  • Corrected handling of React hooks used without proper directives, now returns appropriate errors
  • Fixed import issues with local navigation module in error boundaries
  • Resolved stale parallel slots clearing on traversal in mergeElements
  • Fixed cached headers/cookies snapshot invalidation in applyMiddlewareRequestHeaders
  • Middleware request-header overrides now properly applied before App->Pages fallback and to App Route request objects
  • Stripped internal prerender auth header from external rewrites for security
  • Parallel slot persistence and cache variants now working correctly
  • Fixed searchParams passing to layout generateMetadata function
  • Resolved Windows backslash normalization in CSS URL paths
  • Fixed CSRF origin wildcard patterns to use segment-based domain matching
  • Excluded @tailwindcss/oxide from dependency optimization to prevent build issues
  • Improved runWith* return type narrowing when callback is async

Internal / Chores

  • Extracted various internal components to separate files for better code organization
  • Removed internal re-exports from entry points
  • Removed 'use server' collision workaround plugin (no longer needed)
  • Classification reasons sidecar now behind VINEXT_DEBUG_CLASSIFICATION flag
  • Centralized request-derived page inputs in app-rsc-entry
  • Updated documentation to remove stale information about layout segments

Contributors

@fengmk2
@NathanDrake2406
@lyzno1
@james-elicx
@467469274
@hyoban
@erezrokah
@Divkix
@Shorebirdmgmt
@southpolesteve

v0.0.41

09 Apr 08:18
14ff303

Choose a tag to compare

What's Changed

New Features

  • Added Content Security Policy (CSP) support for enhanced security

Bug Fixes

  • Fixed font call range tracking during plugin transformations
  • Fixed RequestCookies validation to prevent invalid Cookie header mutations
  • Fixed URL scheme detection to properly handle control characters
  • Fixed app router to reject cyclic Flight payloads in server actions, preventing infinite loops
  • Fixed middleware header merging to use proper override semantics in app routes
  • Fixed parallel slot parameter handling to correctly apply override params to segment maps
  • Fixed middleware header merging for HTML responses to use override semantics
  • Silenced unnecessary IMPORT_IS_UNDEFINED warnings for proxy.ts files

Internal / Chores

  • Updated @clerk/nextjs compatibility status from unsupported to partial
  • Rebuilt lockfile for dependency consistency

Contributors

@hyoban
@james-elicx
@Divkix
@Shorebirdmgmt
@southpolesteve
@NathanDrake2406

v0.0.40

07 Apr 11:55
28980b0

Choose a tag to compare

What's Changed

New Features

  • Add client primitives for layout persistence (Slot, Children, mergeElementsPromise) to improve navigation experience

Bug Fixes

  • Fix URL/content mismatch during rapid Pages Router navigation
  • Fix NotFoundBoundary positioning by moving it inside Template in per-segment wiring
  • Fix template and layout interleaving at each segment level
  • Fix URL parameter extraction for intercepting route source routes
  • Fix parallel route segment population in LayoutSegmentProvider
  • Fix Cache-Control header to emit no-store for pages with revalidate = 0
  • Fix redirect() to default to "push" behavior in Server Action context
  • Fix server action re-render path by awaiting buildPageElement
  • Fix public file serving in production builds
  • Fix ResponseCookies to deduplicate Set-Cookie headers and add missing API surface
  • Fix middleware header application to intercept route and server action responses
  • Fix thenable params and searchParams handling in probePage()
  • Fix request context cleanup on stream errors in deferUntilStreamConsumed
  • Fix redirect status code validation in NextResponse.redirect()
  • Fix multi-valued Set-Cookie header preservation in route handler ISR cache
  • Fix standalone dependency resolution issues
  • Fix Vite 8 treeshake.preset warning during build

Internal / Chores

  • Extract route wiring from generated entry into typed runtime module
  • Remove unused rsc-html-stream dependency
  • Address security audit findings
  • Bump vulnerable dependencies

Contributors

@NathanDrake2406
@Debbl
@james-elicx
@hyoban
@Divkix