ReleaseCloudflare (Workers AI)Cloudflare (Workers AI)published Mar 13, 2026seen Jun 26

cloudflare/vinext v0.0.30

cloudflare/vinext

Open original ↗

Captured source

source ↗
published Mar 13, 2026seen Jun 26captured 3whttp 200method plain

v0.0.30

Repository: cloudflare/vinext

Tag: v0.0.30

Published: 2026-03-13T12:28:00Z

Prerelease: no

Release notes:

What's Changed

New Features

  • Added Pages Router i18n domain routing support

Bug Fixes

  • Fixed next/head key deduplication to properly handle duplicate meta tags
  • Fixed image optimizer fallback stream reuse issues
  • Fixed metadata routes not serving properly in dynamic segments
  • Fixed URL object handling in metadata resolveUrl function
  • Fixed XML special character escaping in sitemap generation
  • Fixed query parameter preservation on middleware rewrites in App Router
  • Fixed stale background refetch deduplication in fetch cache
  • Fixed MemoryCacheHandler creating immediately-stale entries when revalidate: 0 is used
  • Fixed useSelectedLayoutSegment hook in development mode
  • Fixed intercept routes (..) to climb visible route segments instead of filesystem directories
  • Fixed onLoadingComplete callback support in modern next/image shim
  • Fixed parsing of :param(constraint) syntax in middleware matchers
  • Fixed router events hashChangeStart, hashChangeComplete, and beforeHistoryChange emission
  • Fixed route handler Allow header and default export behavior to align with Next.js
  • Fixed missing methods (set, delete, clear, size, toString) in RequestCookies
  • Fixed middleware waitUntil propagation to Workers execution context
  • Fixed per-request i18n locale state using AsyncLocalStorage
  • Updated import checks to support next/{mod}.js file extensions
  • Added missing .js alias variants for next/config and next/amp
  • Improved metadata scanning to ignore @slot and _private directories

Performance

  • Unified per-request AsyncLocalStorage into shared request context
  • Shared ISR deduplication maps across RSC/SSR environments using Symbol.for()

Internal / Chores

  • Upgraded Vitest to v4.1
  • Eliminated as any and as unknown as type assertions
  • Added missing __vinext globals to global.d.ts and removed unsafe casts
  • Excluded benchmarks/nextjs from pnpm workspace to prevent dependency hoisting
  • Updated Vite beta usage to v8

Contributors

@benfavre @Dayifour @Divkix @hyoban @james-elicx @JaredStowell @NathanDrake2406