Skip to content

Releases: cloudflare/vinext

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

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