unstale

npm / next

next

What changed in next 14 to 16, from its official release notes, upgrade guides and advisories. Sources checked 2026-10-17.

136 breaking68 security13 deprecations119 new APIs and options10 performance86 behavior and defaults42 tooling155 fixes and other

See which of these apply to your code, ranked, in your agent:

npx @unstale/cli init

@unstale/cli 0.1.0 on npm

next 16575 changes

Breaking changes 116

Security 52

Deprecations 12

New APIs and options 113

  • Turbopack can be configured with additional filesystem roots.

    16.4.0release notes

  • create-next-app adds a Cache Components option and prompt.

    16.4.0release notes

  • Adds experimental configuration for mozjpeg image optimization.

    16.4.0release notes

  • Turbopack supports experimental.serverMinification, and experimental.turbopackMinify was expanded.

    16.4.0release notes

  • Turbopack import.meta.glob accepts a module type argument.

    16.4.0release notes

  • Adds Instant Insights for prefetch() and navigation().

    16.4.0release notes

  • Adds Instant Insights for prefetch() and navigation().

    16.4.0release notes

  • The loaders API gained a version and a .resolve capability.

    16.4.0release notes

  • A next/cache-handlers types entrypoint was added for cache handler type usage.

    16.4.0release notes

  • Adds an option to preserve React Compiler memoization.

    16.4.0release notes

  • Setting TURBO_PERSISTENCE_MMAP=0 disables mmap for turbo-persistence.

    16.4.0release notes

  • Introduces configuration options for Turbopack garbage collection.

    16.4.0release notes

  • Adds unstable_ensureStatic segment configuration with shell and prefetch modes.

    16.4.0release notes

  • Adds navigation as an ensureStatic level.

    16.4.0release notes

  • An unstable navigation API was introduced for Partial Prefetching workflows.

    16.4.0release notes

  • Adds APIs for matching route parameters.

    16.4.0release notes

  • An unstable prefetch API was introduced for Partial Prefetching workflows.

    16.4.0release notes

  • Webpack loaders receive this.mode.

    16.4.0release notes

  • Webpack loaders receive this.target.

    16.4.0release notes

  • bfcacheId can opt out of state preservation.

    16.3.0release notes

  • Adds an option to control development-server restarts triggered by memory thresholds.

    16.3.0release notes

  • Next.js adds the experimental.appShells feature flag.

    16.3.0release notes

  • An experimental appShells feature flag was added.

    16.3.0release notes

  • Adds experimental chunking heuristics configuration to next.config.js.

    16.3.0release notes

  • Turbopack adds a graph-based CSS chunking algorithm behind experimental.cssChunking.

    16.3.0release notes

  • Adds a flag controlling whether development validation runs in a worker.

    16.3.0release notes

  • Adds experimental React Compiler support in Turbopack.

    16.3.0release notes

  • Next.js adds SWC preset-env configuration through experimental.swcEnvOptions.

    16.3.0release notes

  • Adds the experimental.turbopackChunking configuration option.

    16.3.0release notes

  • Workers can remain same-origin when assetPrefix points to a CDN.

    16.3.0release notes

  • Adds an experimental image optimization operation cache.

    16.3.0release notes

  • Turbopack supports import.meta.env.

    16.3.0release notes

  • Turbopack adds import.meta.glob support for Vite compatibility.

    16.3.0release notes

  • Turbopack supports the caseSensitive option for import.meta.glob.

    16.3.0release notes

  • Webpack loaders can use importModule support under Turbopack.

    16.3.0release notes

  • Adds request timing information to Instant Insights.

    16.3.0release notes

  • The environment variable salts content-hash filenames.

    16.3.0release notes

  • A CLI command compacts the Turbopack database after a build.

    16.3.0release notes

  • The environment variable controls the Turbopack trace output location.

    16.3.0release notes

  • A new environment variable controls the Turbopack trace output location.

    16.3.0release notes

  • Next.js adds the instrumentationClientInject configuration option.

    16.3.0release notes

  • Adapters can override outputHashSalt in modifyConfig.

    16.3.0release notes

  • Adds a global opt-in for Partial Prefetching.

    16.3.0release notes

  • The Turbopack CLI adds filesystem-backed persistent caching.

    16.3.0release notes

  • The project directory is passed to adapter modifyConfig.

    16.3.0release notes

  • robots.ts supports non-standard directives through the other field.

    16.3.0release notes

  • Adds an experimental flag to cancel superseded Server Components HMR requests.

    16.3.0release notes

  • Adds a next.config.js option for serverFastRefresh.

    16.2.2, 16.3.0release notesrelease notes

  • Adds an environment variable for debugging CSS chunking.

    16.3.0release notes

  • Adds an environment variable for debugging CSS chunking.

    16.3.0release notes

  • Routes can configure unstable_prefetch independently from unstable_instant.

    16.3.0release notes

  • The experiment adds a useOffline flag with offline retry behavior.

    16.3.0release notes

  • The experiment adds a useOffline hook exposing offline state to userland.

    16.3.0release notes

  • Turbopack adds LocalPathOrProjectPath PostCSS config resolution.

    16.2.7release notes

  • Adds CPU profiling support to the dev, build, and start commands.

    16.2.0release notes

  • Adds experimental gesture push support to the App Router.

    16.2.0release notes

  • Adds an experimental App Router scroll handler.

    16.2.0release notes

  • Adds an experimental flag for cached navigations and caching visited static pages.

    16.2.0release notes

  • Adds an experimental Turbopack immutable asset token option.

    16.2.0release notes

  • Adds an experimental configuration option for Lightning CSS features.

    16.2.0release notes

  • Adds an experimental option to bundle segment prefetches into a single response.

    16.2.0release notes

  • Adds an experimental Turbopack option to report system environment variable inlining.

    16.2.0release notes

  • Next.js adds a runtime server deployment ID configuration option.

    16.1.0, 16.2.0release notesrelease notes

  • Adds experimental strict route type checking for App Router pages, routes, cache profiles, and Pages Router routes.

    16.2.0release notes

  • Adds an experimental feature flag for vary parameter tracking.

    16.2.0release notes

  • Adds support for custom image cache handlers.

    16.2.0release notes

  • Adds a configuration limit for the maximum image response body size.

    16.2.0release notes

  • Allows Node.js experimental inspector flags when running next build.

    16.2.0release notes

  • Adds the NEXT_DEPLOYMENT_ID global for deployment identification.

    16.2.0release notes

  • Allows Node.js experimental inspector flags when running next dev.

    16.2.0release notes

  • Allows inspecting the server started by next start.

    16.2.0release notes

  • Adds the transitionTypes prop to next/link.

    16.2.0release notes

  • Adds component-level error recovery through unstable_catchError in error.js.

    16.2.0release notes

  • Adds an unstable route segment configuration for dynamic stale time.

    16.2.0release notes

  • Adds unstable_retry() to error.js for retrying error states.

    16.2.0release notes

  • Turbopack adds an input source maps option and respects serverSourceMaps.

    16.1.0release notes

  • An MCP tool named get_routes is added for retrieving routes.

    16.0.3, 16.1.0release notesrelease notes

  • Turbopack adds support for analyzing builds with next build --analyze.

    16.0.3, 16.1.0release notesrelease notes

  • The dev server can be inspected on its default port with the --inspect option.

    16.0.3, 16.1.0release notesrelease notes

  • This environment variable enables writing route hashes into the manifest.

    16.1.0release notes

  • Next.js adds a next upgrade command, including fallback to npx when yarn dlx is unavailable.

    16.1.0release notes

  • Appwrite Sites is added to the supported adapters.

    16.0.3release notes

  • React 19.2 adds Activity for hiding background UI while preserving state and cleaning up effects.

    16.0.0upgrade guide

  • Call before reading process.env when environment variables must be evaluated at runtime rather than bundled during build.

    16.0.0upgrade guideupgrade guide

  • create-next-app adds a webpack flag and applies it when users choose webpack or decline Turbopack.

    16.0.0release notes

  • Adding data-scroll-behavior="smooth" restores the previous scroll override during navigation.

    16.0.0upgrade guide

  • Turbopack adds the debugIds configuration option.

    16.0.0upgrade guideupgrade guide

  • The native TypeScript resolver for Next.js configuration requires an explicit experimental flag.

    16.0.0release notes

  • The alpha Build Adapters API adds experimental.adapterPath for custom build-process adapters.

    16.0.0upgrade guideupgrade guideupgrade guide

  • The Next.js development MCP server adds a get_errors endpoint.

    16.0.0release notes

  • The Next.js development MCP server adds a get_page_metadata endpoint.

    16.0.0release notes

  • Next Image adds an option controlling whether local IP addresses may be loaded.

    16.0.0release notes

  • Next Image adds a maximum redirect limit for image loading.

    16.0.0release notes

  • The Next.js development server includes an MCP server, enabled by default.

    16.0.0release notes

  • The next/cache module adds a refresh API.

    16.0.0release notes

  • Turbopack implements the declarations option for next/font/local.

    16.0.0release notes

  • Adds the next-rspack-binding package for Rspack integration.

    16.0.0release notes

  • Next.js configuration can use the .mts extension with Node.js native TypeScript resolution.

    16.0.0release notes

  • The recommended named export for the renamed routing file is proxy.

    16.0.0upgrade guide

  • Proxy replaces the deprecated Middleware file convention, with a codemod available for migration.

    16.0.0release notesupgrade guideupgrade guideupgrade guide

  • The renamed proxy.ts file is the recommended replacement for middleware.ts.

    16.0.0upgrade guide

  • The App Router uses React 19.2 features including View Transitions, useEffectEvent, and Activity.

    16.0.0upgrade guide

  • Next.js adds a configuration option for enabling React Compiler integration, which is stable.

    16.0.0release notesupgrade guideupgrade guideupgrade guide

  • The redirects configuration can be defined as a synchronous function.

    16.0.0release notes

  • Allows refreshing the client router from within a Server Action after performing an action.

    16.0.0upgrade guideupgrade guide

  • The rewrites configuration can be defined as a synchronous function.

    16.0.0release notes

  • Generated globally available RouteContext types help migrate route handlers to async params with type safety.

    16.0.0upgrade guide

  • Turbopack provides resolveAlias for mapping imports such as browser requests for Node.js modules.

    16.0.0upgrade guide

  • Turbopack provides resolveAlias for browser-side aliases such as mapping Node.js modules to empty modules.

    16.0.0upgrade guideupgrade guide

  • updateTag provides Server Actions with read-your-writes cache expiration and immediate refresh semantics.

    16.0.0upgrade guideupgrade guide

  • React 19.2 adds useEffectEvent for extracting non-reactive effect logic into reusable Effect Event functions.

    16.0.0upgrade guide

  • React 19.2 adds View Transitions for animating elements updated inside a transition or navigation.

    16.0.0upgrade guide

  • The --webpack flag opts out of the default Turbopack build and uses Webpack.

    16.0.0release notesupgrade guideupgrade guideupgrade guide

Performance 9

  • Dynamic imports are compiled lazily in development on the client and for SSR.

    16.4.0release notes

  • App Shells are prefetched on the client and used in runtime prefetches to improve navigation performance.

    16.3.0release notes

  • Cached misses can now be served from the filesystem route cache.

    16.3.0release notes

  • Hot module replacement avoids quadratic queue shifts, improving development update performance.

    16.3.0release notes

  • Turbopack uses file sourcemaps to improve development performance.

    16.3.0release notes

  • Turbopack no longer emits a polyfill chunk for API routes.

    16.2.0release notes

  • A single Node.js instance is pre-warmed when the development server starts, improving development startup behavior.

    16.2.0release notes

  • Turbopack enables mimalloc on musl-based Linux distributions, fixing a significant allocator-related performance issue.

    16.1.2release notes

  • Prefetching multiple URLs with a shared layout downloads the layout once.

    16.0.0upgrade guideupgrade guide

Behavior and default changes 85

  • Adapter route collapses are enabled by default.

    16.4.0release notes

  • New create-next-app projects enable Cache Components by default.

    16.4.0release notes

  • Draft Mode is allowed on unlisted closed routes in adapter deployments.

    16.4.0release notes

  • Durable use-cache entries now work with client components.

    16.4.0release notes

  • Turbopack shared runtime is enabled by default.

    16.4.0release notes

  • Turbopack export name mangling is enabled by default for builds.

    16.4.0release notes

  • The stabilization of forbidden was reverted, so its stabilized status no longer applies.

    16.4.0release notes

  • The next analyze command is promoted.

    16.4.0release notes

  • Static exports support immutable static assets when output is set to export.

    16.4.0release notes

  • Turbopack resolveAlias configuration now supports false values.

    16.4.0release notes

  • The shared Turbopack runtime is enabled by default on canary builds.

    16.4.0release notes

  • TURBOPACK_PRINT_CHUNK_GROUPS is available in release builds.

    16.4.0release notes

  • Turbopack enables export mangling by default in production builds to reduce bundle sizes.

    16.4.0release notes

  • Turbopack resolves imports rooted at / from the project directory.

    16.4.0release notes

  • The stabilization of unauthorized was reverted, so its stabilized status no longer applies.

    16.4.0release notes

  • web-vitals was upgraded to v6 and soft navigations are reported.

    16.4.0release notes

  • Export validation is now limited to files inside the app directory.

    16.3.2release notes

  • Only cache entries predating tag revalidation are discarded, and completed entries are reused.

    16.3.1release notes

  • Retains fewer stale cache versions and uses a TTL, with an mtime fallback.

    16.3.1release notes

  • The allow-runtime behavior is unified with Partial Prefetching.

    16.3.0release notes

  • cacheLife profiles are now type-resolved, removing runtime assertions.

    16.3.0release notes

  • Skips interactive prompts when CLI flags are provided, making flagged project creation non-interactive.

    16.2.2, 16.3.0release notesrelease notes

  • App Shells are enabled by default when Cache Components is enabled.

    16.3.0release notes

  • experimental.cachedNavigations is enabled by default with cacheComponents.

    16.3.0release notes

  • experimental.cachedNavigations is enabled by default when cacheComponents is enabled.

    16.3.0release notes

  • experimental.optimisticRouting is enabled by default.

    16.3.0release notes

  • experimental.optimisticRouting is enabled by default.

    16.3.0release notes

  • The Turbopack filesystem cache for builds is enabled by default in non-stable releases.

    16.3.0release notes

  • experimental.varyParams is enabled by default.

    16.3.0release notes

  • experimental.varyParams is enabled by default.

    16.3.0release notes

  • The new fragment scroll handler is enabled by default.

    16.3.0release notes

  • Turbopack enables import with { type: 'text' } by default.

    16.3.0release notes

  • Metadata image routes are statically prerendered under Cache Components.

    16.3.0release notes

  • Instant navigation validation is enabled by default.

    16.3.0release notes

  • next build applies sourcemaps by default during prerender.

    16.3.0release notes

  • Node streams are enabled by default.

    16.3.0release notes

  • outputHashSalt moved out of experimental configuration.

    16.3.0release notes

  • Partial fallback shell upgrades for next start are gated behind partialPrefetching.

    16.3.0release notes

  • The export const prefetch API is stabilized.

    16.3.0release notes

  • Prefetching attempts a static prefetch before falling back to runtime behavior.

    16.3.0release notes

  • Request Insights display settings are persisted.

    16.3.0release notes

  • The retry API is stabilized by removing its unstable prefix.

    16.3.0release notes

  • Root params support is enabled by default.

    16.3.0release notes

  • Client-handled Server Action redirects now return HTTP 200.

    16.3.0release notes

  • Disables supportsImmutableAssets when config.output is used.

    16.3.0release notes

  • The Turbopack build filesystem cache is enabled by default.

    16.0.0, 16.3.0release notesupgrade guide

  • The TypeScript CLI is enabled by default.

    16.3.0release notes

  • The unstable_instant API is stabilized.

    16.3.0release notes

  • The unstable_io API is stabilized and its guarding flag is removed.

    16.3.0release notes

  • The next@latest dist-tag points to this stable release, affecting which version is resolved when installing or updating the package.

    16.2.9release notes

  • Includes the deployment id in cacheHandlers keys.

    16.2.5release notesrelease notes

  • Allows boolean and number primitives in next.config defines.

    16.2.4release notes

  • adapterPath moves from experimental configuration to the stable top-level configuration.

    16.2.0release notes

  • Enables the experimental React debug channel by default.

    16.2.0release notes

  • Server Function logging is available through logging.serverFunctions and remains enabled by default.

    16.2.0release notes

  • Allows reset() to be called from a user-defined global-error component.

    16.2.0release notes

  • Prefetch completion always performs an upsert.

    16.2.0release notes

  • Server actions now limit the number of arguments to 1000.

    16.2.0release notes

  • Server HMR is enabled by default for App Router pages.

    16.2.0release notes

  • Unknown CSS selectors are reported as warnings.

    16.2.0release notes

  • Functions using use cache can access root params.

    16.2.0release notes

  • Route handlers now apply the server actions transform to modules in node_modules.

    16.1.7release notes

  • The response cache now uses an LRU cache scoped by invocation ID in minimal mode.

    15.5.11, 16.1.6release notesrelease notes

  • Running the bundle analyzer web server is now the default.

    16.1.0release notes

  • The turbopackInferModuleSideEffects flag is enabled only in canary builds.

    16.1.0release notes

  • Turbopack filesystem caching is enabled by default for development.

    16.1.0release notes

  • Rspack persistent caching is enabled by default.

    16.1.0release notes

  • The React version in create-next-app templates was updated.

    16.0.8release notes

  • Production Turbopack server source maps now use relative paths.

    16.0.3release notes

  • The Segment Cache fallback implementation was generalized.

    16.0.1release notes

  • Cache Components becomes a stable top-level configuration option.

    16.0.0release notesupgrade guideupgrade guide

  • The default cache handler uses the cacheMaxMemorySize configuration.

    16.0.0release notes

  • Turbopack filesystem caching is enabled by default for next build.

    16.0.0upgrade guideupgrade guide

  • Turbopack filesystem caching is enabled by default for next dev.

    16.0.0upgrade guideupgrade guide

  • The headers configuration can be defined as a synchronous function.

    16.0.0release notes

  • Next.js prefetches only parts not already in cache instead of entire pages.

    16.0.0upgrade guideupgrade guide

  • next build now uses Turbopack by default, replacing the previous default build behavior.

    16.0.0upgrade guide

  • next dev now writes to a separate .next/dev output directory, enabling concurrent dev and build execution.

    16.0.0upgrade guideupgrade guideupgrade guide

  • next dev now uses Turbopack by default, so the --turbopack or --turbo flag is no longer needed.

    16.0.0upgrade guide

  • Turbopack becomes the default bundler, with a webpack opt-out flag.

    16.0.0release notesupgrade guideupgrade guide

  • Turbopack configuration moves from experimental.turbopack to the top-level turbopack option.

    16.0.0upgrade guide

  • Create Next App no longer needs to explicitly pass --turbopack because Turbopack is the default bundler.

    16.0.0release notes

  • Filesystem caching is enabled by default for next dev to preserve compiler artifacts between runs.

    16.0.0upgrade guide

  • The unstable_ prefix is removed from the cacheLife API, while the unstable prefix remains accepted for compatibility.

    16.0.0release notesupgrade guideupgrade guide

  • The unstable_ prefix is removed from the cacheTag API, while the unstable prefix remains accepted for compatibility.

    16.0.0release notesupgrade guideupgrade guide

Tooling 41

  • A bundle analyzer skill was added for analyzing application bundles.

    16.4.0release notes

  • Each analyze run records a historical snapshot for later comparison.

    16.4.0release notes

  • Next.js codemods transform .mjs files.

    16.4.0release notes

  • eslint-config-next supports ESLint 10.

    16.4.0release notes

  • The skill was renamed to next-bundle-optimizer and its usage was documented.

    16.4.0release notes

  • Bundler configuration validation is skipped in next/jest and under test.

    16.4.0release notes

  • Development validation runs on a worker thread when using Cache Components.

    16.3.0release notes

  • Adds pipeline spans to Instant Insights.

    16.3.0release notes

  • Startup hints and help examples now include the port option.

    16.3.0release notes

  • A CLI command was added to inspect static route information.

    16.3.0release notes

  • The Turbopack tracing command uses next internal trace with the trace output path.

    16.0.0, 16.3.0upgrade guiderelease notesupgrade guide

  • A CLI command was added for uploading traces.

    16.3.0release notes

  • The ESLint rule no-location-assign-relative-destination has been enhanced.

    16.3.0release notes

  • Adds local span tracing for Request Insights.

    16.3.0release notes

  • Turbopack enables server HMR for app route handlers, improving development feedback for route changes.

    16.2.2, 16.3.0release notesrelease notes

  • Adds Turbopack resolution support for LocalPathOrProjectPath PostCSS configurations.

    16.2.7release notes

  • Adds an agents-md codemod command for AI coding agents.

    16.2.0release notes

  • create-next-app now generates AGENTS.md with bundled Next.js documentation.

    16.2.0release notes

  • Adds route filtering and negation pattern support to debug-build-paths.

    16.2.0release notes

  • Adds server HMR infrastructure and runtime support to Turbopack development.

    16.2.0release notes

  • The @next/playwright package is published to npm as part of canary releases.

    16.2.0release notes

  • Turbopack can resolve TypeScript files used in Tailwind configuration.

    16.2.0release notes

  • Recognizes @typescript/native-preview as an alternative TypeScript compiler.

    16.2.0release notes

  • The Turbopack TypeScript transform now supports verbatimModuleSyntax.

    16.2.0release notes

  • The bundle analyzer now shows compressed sizes, helping developers evaluate output size more accurately.

    16.1.0release notes

  • Next.js introduces a built-in bundle analyzer for Turbopack.

    16.1.0release notes

  • The experimental bundle analyzer gains a bundle analyzer UI.

    16.1.0release notes

  • Turbopack source maps now support relative paths.

    16.0.3release notes

  • Enabling the React Compiler requires installing the React Compiler Babel plugin.

    16.0.0upgrade guideupgrade guide

  • The default create-next-app template now includes ESLint.

    16.0.0release notes

  • Create Next App templates use ESLint Flat config.

    16.0.0release notes

  • ESLint is added to the default Create Next App template.

    16.0.0release notes

  • Generated globally available LayoutProps types help migrate to async params with type safety.

    16.0.0upgrade guide

  • A migration codemod updates synchronous params, searchParams, cookies(), headers(), and draftMode() access to async APIs.

    16.0.0upgrade guide

  • The upgrade codemod updates Turbopack configuration, linting, middleware conventions, stabilized API names, and experimental PPR settings.

    16.0.0upgrade guide

  • A lockfile prevents multiple next dev or next build instances from running on the same project.

    16.0.0upgrade guideupgrade guideupgrade guide

  • The upgrade CLI prepares migration guides and codemod instructions for a coding agent.

    16.0.0upgrade guideupgrade guide

  • Generated globally available PageProps types help migrate to async params and searchParams with type safety.

    16.0.0upgrade guide

  • The Sass loader supports modern Sass syntax and new features.

    16.0.0upgrade guideupgrade guideupgrade guide

  • The Next.js development MCP server exposes a server action tool.

    16.0.0release notes

  • Turbopack adds support for the Webpack loader this.fs.readFile API.

    16.0.0release notes

Fixes and other changes 147

  • Turbopack fixes chunk-list collisions for lazy dynamic imports.

    16.4.2release notes

  • Turbopack now ignores realpath errors during module resolution, matching Node.js behavior.

    16.4.2release notes

  • Repeated tag revalidation triggered from after() is propagated.

    16.4.0release notes

  • Client params no longer suspend on shallow URL updates.

    16.4.0release notes

  • Static export now preserves configured output directories.

    16.4.0release notes

  • Custom cache handlers are available on initial requests.

    16.4.0release notes

  • An explicitly configured generateBuildId is always used.

    16.4.0release notes

  • HTTP status codes are preserved during prerendering.

    16.4.0release notes

  • Turbopack resolves ../ and root-based import.meta.glob patterns correctly.

    16.4.0release notes

  • Metadata rendering remains stable across streaming modes and respects Edge SSR streaming policy.

    16.4.0release notes

  • Internal image responses no longer share the requester's socket.

    16.4.0release notes

  • The upgrade codemod honors non-interactive mode in its prompts.

    16.4.0release notes

  • Per-segment prefetching is preserved after dynamic navigation.

    16.4.0release notes

  • Proxy files are detected correctly when pageExtensions contains compound extensions.

    16.4.0release notes

  • revalidateTag now reaches custom cache handlers when profiles differ.

    16.4.0release notes

  • Server Actions are handled on dynamic PPR fallback routes.

    16.4.0release notes

  • Server Actions no longer hang after navigation to PPR pages.

    16.4.0release notes

  • Static metadata prerendering is restored for dynamic routes.

    16.4.0release notes

  • URL updates no longer trigger an unnecessary Suspense fallback.

    16.4.0release notes

  • Development invalidation no longer over- or under-invalidates use cache entries.

    16.4.0release notes

  • Fixes strongly consistent reads hanging when a task is canceled.

    16.3.7release notes

  • Skips 0-byte entries when initializing the disk LRU cache.

    16.3.5release notes

  • Rejects empty images when reading from or writing to the disk cache.

    16.3.5release notes

  • Emits whole-app server NFTs when standalone output is used with an adapter.

    16.3.5release notes

  • Fixes prerender signal retention for the use cache directive.

    16.3.5release notes

  • AVIF Image Optimization is re-enabled for developers using Next.js 16.3.4.

    16.3.4release notes

  • Fixes crossOrigin being unset in Turbopack manifests.

    16.3.4release notes

  • Fixes infinite recursion in testmode passthrough fetch behavior.

    16.3.4release notes

  • Fixes a build error when TypeScript is aliased to @typescript/typescript6.

    16.3.4release notes

  • Fixes Turbopack worker chunk loading when an asset prefix is configured.

    16.3.2release notes

  • Fixes catch-all index pages from being served for every other slug.

    16.3.2release notes

  • The prior i18n localization change for dynamic Pages API routes is reverted.

    16.3.1release notes

  • Reverts an i18n localization change for dynamic Pages API routes.

    16.3.1release notes

  • headers() again provides a live view of the incoming request.

    16.3.1release notes

  • Hot module reloading works for dynamic imports evaluated from layouts.

    16.3.1release notes

  • Image responses are preserved after optimization.

    16.3.1release notes

  • Optimistic routing bugs that caused repeated prefetch loops are fixed.

    16.3.1release notes

  • Missing styled-jsx styles in Pages Router SSR on adapter builds are fixed.

    16.3.1release notes

  • Cache item names generated by unstable_cache are encoded.

    16.3.1release notes

  • Files using the use cache directive can export literals.

    16.3.1release notes

  • Fixes callbacks running after the response has ended and request APIs used in promises passed to after.

    16.3.0release notes

  • Redirect destinations preserve basePath.

    16.3.0release notes

  • Redirect destinations preserve basePath.

    16.3.0release notes

  • Cache handler names are validated correctly.

    16.3.0release notes

  • cacheHandlers names are validated correctly.

    16.3.0release notes

  • expire values are normalized and validated, including Infinity, so configuration mistakes surface earlier.

    16.3.0release notes

  • fetch respects HTTP Cache-Control headers when using TTL-based invalidation.

    16.3.0release notes

  • Fetch cache keys are byte-exact for binary request bodies.

    16.3.0release notes

  • fetch(Request, init) is keyed by the effective request, and binary request bodies use byte-exact cache keys.

    16.3.0release notes

  • Fetch cache keys now use the effective request when fetch receives a Request and init.

    16.3.0release notes

  • Ensures headers() resolves to a unique value between render passes.

    16.3.0release notes

  • Cache Components now respects htmlLimitedBots without buffering the full response.

    16.3.0release notes

  • Local fonts now work in statically prerendered ImageResponse metadata routes.

    16.3.0release notes

  • images.maximumResponseBody now applies to local images as well as remote images.

    16.3.0release notes

  • Instant Navigation Testing now supports full-page loads when deployed.

    16.3.0release notes

  • Instrumentation is awaited in RouteModule.prepare and middleware instrumentation is awaited correctly with adapters.

    16.3.0release notes

  • Middleware rewrite query parameters are preserved in Pages API routes.

    16.3.0release notes

  • The development server restarts if the .next directory is deleted.

    16.3.0release notes

  • Server-side asset hashes now respect NEXT_HASH_SALT.

    16.3.0release notes

  • Response-based OpenTelemetry attributes are now set properly when using adapters.

    16.3.0release notes

  • revalidate values are normalized and validated, including Infinity, so configuration mistakes surface earlier.

    16.3.0release notes

  • optimizePackageImports now respects the sideEffects field in package.json.

    16.3.0release notes

  • Fixes add support for TypeScript 7, allowing Next.js projects to use that TypeScript release.

    16.2.12release notes

  • The package was published after being accidentally omitted since 16.2.4, making it available for developers to use.

    16.2.10release notes

  • A no-change release attempted to fix next@latest pointing at a prerelease version.

    16.2.8release notes

  • Propagates adapter preferred regions so regional deployment preferences are preserved.

    16.2.7release notes

  • Ensures non-ASCII characters in cache tags are encoded when tags are constructed.

    16.2.7release notes

  • Fixes hydration failures when a page is served from the HTTP cache during development.

    16.2.7release notes

  • FormData entries are no longer dropped, preserving submitted form data.

    15.5.19, 16.2.7release notesrelease notes

  • Prevents catch-all router.query corruption when basePath and rewrites are used together.

    16.2.7release notes

  • Fixes a forwarding loop for server actions when middleware rewrites are applied.

    16.2.7release notes

  • Fixes handling of type: module in the project directory when using standalone output or adapters.

    16.2.7release notes

  • Double-encoding of URL pathname parts during client parameter parsing was corrected.

    16.2.6release notes

  • Fixes double-encoding of URL pathname parts during client parameter parsing.

    16.2.5release notesrelease notes

  • Fixes the fallback route params case in the app-page handler.

    16.2.5release notesrelease notes

  • Preserves HTTP access fallbacks during prerender recovery.

    16.2.5release notesrelease notes

  • Fixes invalid HTML responses for route-level RSC requests in the deployment adapter.

    16.2.5release notesrelease notes

  • Patches setHeader for direct route handlers.

    16.2.5release notesrelease notes

  • Fixes the filesystem watcher configuration so follow_symlinks(false) is applied.

    16.2.4release notes

  • Fixes Google Fonts with Turbopack for Windows on ARM64.

    16.2.4release notes

  • Scopes the Safari cache-buster to CSS and font assets in the Pages Router.

    16.2.4release notes

  • Content conflicts are detected when output assets are emitted.

    16.2.3release notes

  • Fixes an issue where manifest.ts breaks HMR.

    16.2.3release notes

  • Stale ISR revalidation errors are now reported via onRequestError.

    16.2.3release notes

  • Output assets are deduplicated during emission.

    16.2.3release notes

  • Fixes a race condition that could cause styles to be lost during concurrent rendering.

    16.2.3release notes

  • Fixes CSS HMR on Safari.

    16.2.2release notes

  • Turbopack excludes metadata routes from server HMR.

    16.2.2release notes

  • Adapter outputs for dynamic metadata routes were fixed.

    16.2.1release notes

  • Server actions now work correctly in standalone mode when cacheComponents is enabled.

    16.2.1release notes

  • The webpack loader runner layer was fixed for Turbopack builds.

    16.2.1release notes

  • Metadata lazy requiring and top-level await handling were fixed in Turbopack.

    16.2.1release notes

  • Turbopack now respects eval: true in worker_threads constructors.

    16.2.1release notes

  • Turbopack now respects eval: true in worker_threads constructors.

    16.2.1release notes

  • Handling of allowed development origins is fixed for no-cors requests.

    16.2.0release notes

  • Errors related to allowed development origins are improved.

    16.2.0release notes

  • Cache life and tag propagation is corrected for cache handler hits.

    16.2.0release notes

  • Strict route type validation no longer rejects numeric body parser size limits.

    16.2.0release notes

  • CSS parse error recovery and reporting are improved.

    16.2.0release notes

  • Data URL CSS is no longer rejected by the Pages Router global CSS restriction.

    16.2.0release notes

  • Supports TypeScript noUncheckedSideEffectImports when importing CSS.

    16.2.0release notes

  • The monorepo root search now handles pnpm workspace files.

    16.2.0release notes

  • React Server Components error messages are improved.

    16.2.0release notes

  • Type inference for fallback props is fixed.

    16.2.0release notes

  • Streaming fetch calls no longer hang during development with Cache Components.

    16.1.7release notes

  • Next config is filtered only when the experimental flag is enabled.

    16.1.4release notes

  • Fixes a linked-list bug when removing entries from the LRU cache.

    16.1.3release notes

  • Fixes relative same-host redirects in Node.js middleware.

    16.1.3release notes

  • Turbopack no longer crashes when processing MDX files containing multibyte characters.

    16.1.2release notes

  • Creates junction points instead of symlinks on Windows.

    16.1.1release notes

  • Fixes flashes and stuck empty canvases when resizing the bundle analyzer.

    16.1.0release notes

  • The bundle analyzer no longer flashes or leaves canvases stuck empty when resized.

    16.1.0release notes

  • Setting cacheMaxMemorySize no longer disables the development HMR cache.

    16.1.0release notes

  • NFT output now uses middleware.js instead of proxy.js.

    16.0.4, 16.1.0release notesrelease notes

  • Local images without static imports and sources without protocols now correctly handle the ?dpl query string.

    16.1.0release notes

  • The codemod now correctly handles the next ESLint plugin.

    16.0.3, 16.1.0release notesrelease notes

  • Static types now correctly reflect the runtime type of resHeaders.

    16.1.0release notes

  • Object and array literals can again be exported from use cache files.

    16.1.0release notes

  • The useSearchParams constructor can now be imported for instanceof checks.

    16.1.0release notes

  • The useSearchParams constructor can now be imported for instanceof checks.

    16.1.0release notes

  • Body cloning in Node.js middleware is properly finalized by awaiting it.

    16.0.5release notes

  • Fetch abort errors no longer propagate to user error boundaries.

    16.0.4release notes

  • Project options are now passed correctly from napi to Turbopack.

    16.0.4release notes

  • False-positive build errors involving cacheLife and cacheTag are fixed.

    16.0.3release notes

  • False-positive build errors involving cacheLife in client code are fixed.

    16.0.3release notes

  • False-positive build errors involving cacheTag in client code are fixed.

    16.0.3release notes

  • Deployment adapter metadata for the root route is fixed.

    16.0.3release notes

  • Turbopack fixes the font-family declaration generated for local fonts.

    16.0.3release notes

  • Turbopack fixes the font-family declaration for local fonts.

    16.0.3release notes

  • The development fallback parameters are synchronized when generateStaticParams changes.

    16.0.3release notes

  • getServerInsertedHTML now skips rendering correctly.

    16.0.1release notes

  • The next-js condition is excluded from middleware, proxy, and instrumentation.

    16.0.1release notes

  • The package's type definitions were corrected.

    16.0.1release notes

  • Duplicate include entries are no longer generated on Windows.

    16.0.1release notes

  • Requests with Origin: null headers are handled correctly.

    16.0.1release notes

  • Parallel route parameter resolution now tracks depth correctly for static paths.

    16.0.1release notes

  • prefetch={true} functionality was restored.

    16.0.1release notes

  • The proxy file is picked up correctly on Windows.

    16.0.1release notes

  • req.query is writable.

    16.0.1release notes

  • Turbopack correctly traces files referenced with npm.

    16.0.1release notes

  • Components using useActionQueue no longer crash when suspending.

    16.0.1release notes

  • Coding agents can use version-matched Next.js documentation referenced from AGENTS.md during upgrades.

    16.0.0upgrade guideupgrade guide

  • Turbopack fixes precedence handling for the pageExtensions configuration.

    16.0.0release notes

  • TURBOPACK may now be undefined without causing a failure.

    16.0.0release notes

  • The TURBOPACK environment value may now be undefined without causing a failure.

    16.0.0release notes

  • Misspelling the 'use cache' directive now produces a build error.

    16.0.0release notes

  • withRspack becomes idempotent, allowing repeated application without changing the result.

    16.0.0release notes

next 1553 changes

Breaking changes 20

  • Next.js now rejects TypeScript versions 7.0 and later with an actionable error.

    15.5.22release notes

  • Turbopack no longer defines process.cwd() in node_modules, changing how dependencies access the current working directory.

    15.5.6release notes

  • Automatic Speed Insights instrumentation was removed; applications must add an explicit integration if they still need it.

    15.0.0upgrade guideupgrade guide

  • The stable bundlePagesRouterDependencies option replaces experimental.bundlePagesExternals.

    15.0.0upgrade guideupgrade guide

  • Page segments are no longer reused during Link or useRouter navigation, but remain reused for back-forward navigation and shared layouts.

    15.0.0upgrade guide

  • cookies is now asynchronous and must be awaited for recommended usage.

    15.0.0upgrade guide

  • draftMode is now asynchronous and must be awaited for recommended usage.

    15.0.0upgrade guide

  • fetch requests are no longer cached by default; use cache: 'force-cache' to opt in.

    15.0.0upgrade guide

  • The geo property was removed from NextRequest because hosting providers supply geolocation values.

    15.0.0upgrade guideupgrade guide

  • GET functions in Route Handlers are no longer cached by default.

    15.0.0upgrade guide

  • headers is now asynchronous and must be awaited for recommended usage.

    15.0.0upgrade guide

  • The ip property was removed from NextRequest because hosting providers supply IP values.

    15.0.0upgrade guideupgrade guide

  • The @next/font package was removed; imports must use the built-in next/font instead.

    15.0.0upgrade guideupgrade guide

  • Font imports move from @next/font to the built-in next/font API.

    15.0.0upgrade guide

  • params is now asynchronous in layouts, pages, route handlers, and related metadata files.

    15.0.0upgrade guide

  • The minimum React DOM version is now 19.

    15.0.0upgrade guide

  • The minimum React version is now 19.

    15.0.0upgrade guide

  • The experimental-edge runtime value now errors; use edge instead.

    15.0.0upgrade guide

  • useActionState replaces useFormState and provides direct access to pending state.

    15.0.0upgrade guide

  • useFormState is deprecated and has been replaced by useActionState.

    15.0.0upgrade guide

Security 15

  • Additional security hardening was added to next/og.

    15.5.26release notes

  • This release includes a security patch; consult the Next.js Security Update for details.

    15.5.9release notes

  • A security patch was released; the changelog contains more information about the issue.

    15.4.11release notes

  • This release includes a security patch; see the Next.js Security Update for details.

    15.4.10release notes

  • This release includes a security patch; the notes refer developers to the CVE-2026-23864 changelog for details.

    15.3.9release notes

  • This release contains a security patch; consult the Next.js Security Update for details.

    15.3.8release notes

  • This release includes security changes; see the linked CVE for additional details.

    15.3.6release notes

  • Applies a security patch addressing CVE-2026-23864.

    15.2.9release notes

  • A security patch is available; consult the Next.js Security Update for details.

    15.2.8release notes

  • A security patch was released; see the linked changelog for details about CVE-2026-23864.

    15.1.12release notes

  • This release contains a security patch; consult the Next.js Security Update for details.

    15.1.11release notes

  • A crafted request could expose compiled source code from Server Functions, potentially revealing business logic and embedded secrets.

    15.1.11release notes

  • A security patch was released; see the linked changelog for more information.

    15.0.8release notes

  • This release contains a security patch; see the Next.js Security Update for details.

    15.0.7release notes

  • The vulnerable RSC protocol was hardened to prevent remote code execution from attacker-controlled requests in App Router applications.

    15.0.5release notes

Deprecations 1

  • useFormState is deprecated in React 19 and will be removed in a future release.

    15.0.0upgrade guide

New APIs and options 6

  • staleTimes opts page segments into client caching with dynamic and static durations.

    15.0.0upgrade guide

  • fetchCache can opt all fetch requests in a layout or page into caching.

    15.0.0upgrade guide

  • The upgrade codemod can retry with --skip-eslint-upgrade to preserve repaired ESLint dependencies.

    15.0.0upgrade guide

  • The upgrade codemod can retry with --skip-react-upgrade to preserve repaired React dependencies.

    15.0.0upgrade guide

  • useActionState replaces useFormState and provides additional properties such as direct access to pending state.

    15.0.0upgrade guide

  • useFormStatus now exposes data, method, and action in React 19.

    15.0.0upgrade guideupgrade guide

Performance 1

  • Turbopack validates CSS without computing all paths.

    15.5.11release notes

Behavior and default changes 1

Tooling 1

  • Turbopack now supports patterns in the exports field.

    15.5.11release notes

Fixes and other changes 8

  • AVIF Image Optimization is re-enabled when newer versions of sharp are installed.

    15.5.25release notes

  • The package was published after being accidentally unavailable since 15.5.15.

    15.5.20release notes

  • Restores Content-Length and ETag for /_next/data/ JSON responses.

    15.5.14release notes

  • LRU cache items now have a minimum size of 1, preventing unbounded growth.

    15.5.11release notes

  • Fixes NFT tracing behavior in additional cases.

    15.5.11release notes

  • Fixes Turbopack NFT tracing for sharp 0.34.

    15.5.11release notes

  • Fixes a memory leak in the span map.

    15.5.11release notes

  • The Pages Router supports React 18 and React 19, making the React 19 upgrade optional for Pages Router applications.

    15.0.0upgrade guide

next 141 changes

Security 1

  • A security patch was released; see the linked Next.js Security Update for details.

    14.2.35release notes