Skip to content

Releases: cloudflare/vinext

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

v0.0.33

21 Mar 17:24
4241f5d

Choose a tag to compare

What's Changed

New Features

  • Optimize barrel imports for RSC-incompatible packages to improve performance and compatibility

Bug Fixes

  • Skip page RSC ISR caching for dynamic requests to prevent incorrect cache behavior

Performance

  • Improved App Router runtime performance through code restructuring and optimization

Internal / Chores

  • Refactored App Router virtual entries into typed runtime modules for better maintainability
  • Extracted app page and route handler logic into dedicated helper modules
  • Updated nitro dependency to address h3 security vulnerability
  • Upgraded vitest to v4 with agent reporter enabled

Contributors

@southpolesteve
@gentritbiba
@james-elicx

v0.0.32

20 Mar 10:27
95905ec

Choose a tag to compare

What's Changed

New Features

  • Added support for next/dist/* internal imports with automatic .js shim aliases generation
  • Full next/compat/router support is now available
  • The vinext check command now flags usage of __dirname and __filename and suggests ESM path APIs instead
  • Added basePath and locale properties to NextURL for better compatibility

Bug Fixes

  • Fixed serving of public directory files after middleware execution in production builds
  • Page extensions are now properly used for middleware files
  • Fixed getStaticProps revalidate parsing to be scoped only to the exported function
  • Improved next/head SSR serializer to validate attribute names
  • Set-Cookie headers are now properly stripped from fetch cache entries
  • Next.js config file loading now throws errors when it fails instead of failing silently
  • Fixed pageExtensions handling in prerender and excluded underscore-prefixed API files
  • Enhanced vinext check scanner to work correctly with shimmed modules

Internal / Chores

  • Switched back to setup-vp@v1 for CI
  • Migrated ssrLoadModule to use moduleRunner.import
  • Marked clientReferenceDedup as experimental and added fumadocs example

Contributors

@southpolesteve
@james-elicx
@Boyeep
@hyoban
@NathanDrake2406

v0.0.31

17 Mar 13:41
a6d6688

Choose a tag to compare

What's Changed

New Features

  • Added support for @vitejs/plugin-react v6 as a peer dependency
  • Implemented production prerender pipeline for static site generation
  • Added ISR caching support for App Router route handlers
  • Implemented prefix-based cache invalidation for revalidatePath with layout type
  • Added revalidateByPathPrefix support to KVCacheHandler
  • Propagated Next.js config serverExternalPackages to build configuration

Bug Fixes

  • Fixed Flight HL stylesheet hints rewriting during client-side navigation
  • Hardened origin validation and proxy request handling for improved security
  • Fixed next/headers cookie path semantics to align with Next.js behavior
  • Preserved named capture groups in Next.js config destinations
  • Fixed after() function to use waitUntil properly in Cloudflare Workers
  • Eliminated double middleware execution in hybrid app+pages development mode
  • Added missing ResponseCookies.has() method implementation
  • Fixed use server closure variable collision with local declarations
  • Resolved concurrent SSR isolation issues for pages router head/router state
  • Fixed parallel slot resolution to use closest ancestor instead of farthest
  • Prevented user searchParams from leaking into ISR cache
  • Fixed SSR preloading of client reference modules before first render
  • Merged top-level optimizeDeps with per-environment Vite configuration
  • Added assets.directory to generated wrangler.jsonc configuration
  • Added support for @voidzero-dev/vite-plus-core as Vite alias

Internal / Chores

  • Migrated build system to Vite Plus
  • Moved to pnpm catalogs for dependency management
  • Migrated from Wrangler unstable_dev to unstable_startWorker API
  • Enabled TypeScript type-aware checking and validation
  • Updated benchmarks to include @vitejs/plugin-react

Contributors

@aidantrabs
@gagipro
@hyoban
@james-elicx
@Jbithell
@mhart
@NathanDrake2406
@southpolesteve