Skip to content

Releases: cloudflare/vinext

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

v0.0.39

02 Apr 10:06
ed2618a

Choose a tag to compare

What's Changed

New Features

  • Added standalone self-host output option with aligned production initialization scripts
  • Implemented parallelRoutesKey support in useSelectedLayoutSegment and useSelectedLayoutSegments hooks

Bug Fixes

  • Fixed cross-route client navigation hanging issues in Firefox
  • Resolved KV cache key format mismatch between build-time and runtime for static serving
  • Fixed font self-hosting transform to properly handle nested-brace options objects
  • Fixed double-comma syntax errors when font options contain trailing commas
  • Fixed route segment revalidation mapping to Nitro routeRules SWR
  • Prevented parse errors by skipping MDX files during RSC scan-build process

Performance

  • Added build-time precompression and startup metadata cache for static file serving
  • Optimized resolveParentParams lookups for better routing performance

Internal / Chores

  • Improved SSR head management and validation
  • Enhanced code quality with additional lint rules including preferring type over interface and disabling explicit any
  • Added shared test helpers and modern JavaScript syntax improvements
  • Enabled pnpm supply chain security rules
  • Added comprehensive test running scripts for unit and integration tests
  • Expanded gitignore entries for better repository hygiene

Contributors

@Divkix
@NathanDrake2406
@james-elicx
@sankalpmukim
@ygcaicn

v0.0.38

29 Mar 12:46
083e973

Choose a tag to compare

What's Changed

New Features

  • Add instrumentation-client support for enhanced application monitoring
  • Implement cacheForRequest() per-request factory cache for improved data caching patterns

Bug Fixes

  • Fix Pages Router builds to properly run the Cloudflare plugin during build process
  • Wire ctx.waitUntil for middleware fetch event background tasks in Cloudflare Workers
  • Fix Google Fonts plugin state management by using closure variables instead of class properties
  • Improve RSC compatibility for dynamic() imports and layout segment context
  • Resolve App Router playground warnings and stabilize development checks

Internal / Chores

  • Extract image utility functions into dedicated module for better code organization
  • Refactor OG asset handling into separate plugin file
  • Refactor font processing into dedicated plugin module
  • Extract server closure collision fix into standalone plugin
  • Consolidate file path resolution logic into unified resolveEntryPath() function
  • Extract Pages API route runtime for better separation of concerns
  • Align Vite 8 bundler configuration
  • Add static export end-to-end tests

Contributors

@james-elicx
@nbardy
@hyoban
@MehediH
@benfavre
@southpolesteve
@haddoumounir
@raed04
@JamesbbBriz

v0.0.37

28 Mar 03:12
b678035

Choose a tag to compare

What's Changed

Bug Fixes

  • Fixed hydration timing issue where createFromReadableStream was incorrectly awaited before calling hydrateRoot, which could cause React hydration problems
  • Fixed pathname decoding in App Router to Pages Router fallback to properly handle URL segments with encoded characters

Internal / Chores

  • Updated benchmarks to remove Vite 7 runner and upgrade Next.js to version 16.2.1

Contributors

@southpolesteve

v0.0.36

27 Mar 14:02
07b4fb4

Choose a tag to compare

What's Changed

New Features

  • Added nextjs-tracker workflow to automatically monitor and track changes in Next.js canary releases

Bug Fixes

  • Fixed usePathname() returning "/" during server-side rendering of "use client" page components
  • Fixed anchor condition value regex to properly match full strings in routing logic

Internal / Chores

  • Improved nextjs-tracker agent performance by preventing unnecessary codebase exploration
  • Enhanced nextjs-tracker workflow reliability with better repository parameter handling
  • Refactored Pages runtime to extract page data and ISR functionality into separate modules

Contributors

@southpolesteve
@Divkix

v0.0.35

24 Mar 15:10
6cfdaa6

Choose a tag to compare

vinext v0.0.35

What's Changed

New Features

  • Added support for inline Next.js configuration instead of requiring separate config files
  • Enhanced optimize-imports feature to support renamed exports for better import optimization
  • Memory cache can now be pre-populated from pre-rendered routes for improved performance

Bug Fixes

  • Fixed handling of non-ASCII characters in route parameters by properly percent-encoding X-Vinext-Params header
  • Resolved Node.js compatibility issues with WASM imports in og-font-patch by using dynamic imports
  • Fixed timing issue where request context was cleared before HTML streams were fully consumed
  • Prevented DOM pollution by stripping priority prop before forwarding to UnpicImage component

Internal / Chores

  • Moved pnpm configuration settings to pnpm-workspace.yaml for better workspace management
  • Refactored pages response helpers into separate utilities for improved code organization

Contributors

@southpolesteve
@hyoban
@NathanDrake2406
@james-elicx

v0.0.34

22 Mar 19:15
5f1681b

Choose a tag to compare

What's Changed

New Features

  • Google Fonts are now handled through virtual import rewrites instead of a generated catalog, improving build performance and flexibility

Bug Fixes

  • Fixed TypeScript alias transforms not working correctly in React Server Components builds
  • Fixed useActionState state becoming undefined when redirect() is called during form actions
  • Fixed Server-Side Rendering streaming issues in Pages Router applications
  • Fixed flight hint regex not matching the correct format for hydration layer hints

Internal / Chores

  • Extracted app page render lifecycle into separate modules for better code organization
  • Refactored app page boundary rendering, HTML recovery, and probe runtimes into dedicated modules
  • Separated app page boundary helpers, request helpers, and stream helpers into individual utilities
  • Improved app page execution helpers organization
  • Added documentation for generated entry refactor guidance

Contributors

@southpolesteve
@yunus25jmi1
@JaredStowell
@james-elicx