Releases: cloudflare/vinext
Releases · cloudflare/vinext
v0.0.43
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: 0to properly emitno-storeCache-Control directive
Contributors
v0.0.42
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
isSameRouteissues 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
searchParamspassing to layoutgenerateMetadatafunction - Resolved Windows backslash normalization in CSS URL paths
- Fixed CSRF origin wildcard patterns to use segment-based domain matching
- Excluded
@tailwindcss/oxidefrom 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_CLASSIFICATIONflag - 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
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
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
v0.0.39
What's Changed
New Features
- Added standalone self-host output option with aligned production initialization scripts
- Implemented
parallelRoutesKeysupport inuseSelectedLayoutSegmentanduseSelectedLayoutSegmentshooks
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
resolveParentParamslookups for better routing performance
Internal / Chores
- Improved SSR head management and validation
- Enhanced code quality with additional lint rules including preferring
typeoverinterfaceand disabling explicitany - 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
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.waitUntilfor 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
What's Changed
Bug Fixes
- Fixed hydration timing issue where
createFromReadableStreamwas incorrectly awaited before callinghydrateRoot, 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
v0.0.36
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
v0.0.35
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
v0.0.34
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
useActionStatestate becoming undefined whenredirect()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