KEMBAR78
Releases Β· vercel/next.js Β· GitHub
Skip to content

Releases: vercel/next.js

v16.0.1-canary.0

22 Oct 23:46

Choose a tag to compare

v16.0.1-canary.0 Pre-release
Pre-release

Misc Changes

  • docs: create-next-app react-compiler and new prompts: #85213
  • docs: cache components - introduction: #85196
  • docs: use cache feedback: #85169
  • docs: stabilize apis in docs: #85219
  • docs: revalidateTag immediate expiration in Route Handlers: #85223
  • Docs/use cache feedback 2: #85222
  • docs: added use cache: remote docs: #85145
  • docs: proxy runtime defaults to nodejs: #85204
  • chore: cache components feedback: #85241

Credits

Huge thanks to @icyJoseph, @wyattjoh, and @devjiwonchoi for helping!

v16.0.0

22 Oct 00:35

Choose a tag to compare

Tip

Check out our Next v16 Blog Post to learn more about this release.

Core Changes

  • Development: Don't import app-router / hot-reloader through next/link in application code: #83656
  • Remove clientParamParsing requirement from RDC for Navigations: #83661
  • Upgrade React from 6b70072c-20250909 to 886b3d36-20250910: #83650
  • Turbopack: Use readFileSync / writeFileSync for manifest writing: #83694
  • Upgrade React from 886b3d36-20250910 to f3a80361-20250911: #83696
  • Don't create client-side debug channel if the feature is disabled: #83699
  • fix: dev should produce the correct default fallback regex to match builds/Turbopack: #83701
  • [devtool] fix overlay styles are missing: #83721
  • Revert "Remove clientParamParsing requirement from RDC for Navigations": #83725
  • Only enable unhandledRejection filtering when opted in: #83726
  • Fix index data route for adapter build-complete: #83730
  • Remove leading underscore for unhandledRejection envvar: #83732
  • Upgrade React from f3a80361-20250911 to 93d7aa69-20250912: #83729
  • Upgrade React from 93d7aa69-20250912 to 8a8e9a7e-20250912: #83742
  • Fix reentrancy of unhandledRejection filtering: #83741
  • Fix type for unhandled rejection handler process.removeListener: #83748
  • [OTel] fix: Root span name should not include high cardinality URL: #75416
  • Turbopack: Remove matchers.reload() call on each request: #83720
  • [Breaking] Flat config as default in @next/eslint-plugin-next: #83763
  • fix: Rspack splitChunks.chunks regex: #83670
  • Revert "Turbopack: Remove matchers.reload() call on each request": #83819
  • fix: unstable_cache should perform blocking revalidation during ISR revalidation: #83820
  • fix(Rspack): resolve HMR unresponsiveness or unexpected full reload & update dev snapshot: #83480
  • Allow next.config.mts for Node.js native TS resolver: #83556
  • chore: Ensure Import Trace starts in a newline: #83638
  • Development: Remove matchers.reload() on each request: #83829
  • Upgrade React from 8a8e9a7e-20250912 to 5e0c951b-20250916: #83850
  • Bump typescript 5.9.2: #83833
  • Allow headers, rewrites and redirects to be defined as sync functions: #83743
  • Turbopack: Optimize addedRoutes and removedRoutes calculation: #83840
  • [next-config-ts] Set Node.js native TS loader fallback flag to process.env: #83832
  • Development: Clarify TypescriptStatus in watcher: #83857
  • Upgrade sharp dependency to version ^0.34.4: #83892
  • Upgrade React from 5e0c951b-20250916 to 128abcfa-20250917: #83906
  • Add native ts resolver docs link to transpile-config: #83914
  • OTel: use srcPage for templates when next.route is unavailable: #83911
  • Remove inline CSS sourcemaps from next-devtools: #83917
  • Development: Move all TypeScript related work in watcher together: #83912
  • [Cache Components] Allow sync IO inside console methods : #83843
  • Upgrade React from 128abcfa-20250917 to 84af9085-20250917: #83959
  • Build: Add .next/trace-build with high level trace: #83949
  • Remove force writing **/*.mts to tsconfig: #83967
  • feat: Isolate dev build from prod: #83961
  • Remove JS size reporting from next build: #83815
  • Docs/workspace setup: #83490
  • Turbopack: support import ... with {type: "bytes"}: #83896
  • fix: error overlay not closing when backdrop clicked: #83981
  • Upgrade React from 84af9085-20250917 to d415fd3e-20250919: #84003
  • fix: worker logs should still support color: #84024
  • Update font data: #84005
  • Allow passing port to next internal trace: #83907
  • Turbopack: error when importing Typescript in node_modules: #83990
  • Turbopack: Deterministic builds (prerender-manifest, .next/package.json, ./next/postcss.js): #84081
  • Turbopack: Fix babel-loader (allowing built-in or manual configuration): #82676
  • [Cache Components] allow using headers() in runtime prefetches: #83838
  • [Breaking] Remove deprecated publicRuntimeConfig and serverRuntimeConfig: #83944
  • Turbopack: mode to disable tracing: #83683
  • babel-loader: Fix a few issues with config caching: #83973
  • Turbopack: Merge babel-loader and react-compiler configuration logic to avoid running babel twice: #83502
  • [breaking]: enable router scroll optimization by default: #84102
  • Fix layout for ssgPageRoutes in the file tree: #84104
  • Turbopack: Remove useless 'default' built-in webpack loader condition: #84111
  • Fix: Client should auto reload after server restarts: #83971
  • trace-build: Add missing spans: #84080
  • Development: Remove TypeScript from the hot path during bootup: #84090
  • Guide users to experimental.cacheComponents config: #84121
  • Development: Only load webpack when used: #84123
  • Turbopack: Skip loading webpack plugin: #84125
  • Development: Only load createEnvDefinitions when used: #83935
  • BREAKING CHANGE!: bump default images.minimumCacheTTL from 1 min to 4 hours: #84105
  • Feat: Add Model Context Protocol (MCP) server to Next.js dev server: #84100
  • Upgrade React from d415fd3e-20250919 to 1eca9a27-20250922: #84093
  • Turbopack: Remove the deprecated .turbo config object: #84109
  • Flag excess properties in Next.js config with TypeScript: #84069
  • docs: update Security section to direct disclosures : #84156
  • ci: Enable experimental.isolatedDevBuild for test-experimental-dev: #84099
  • [turbopack] Ensure React Compiler options are based dev vs prod: #84062
  • Enable anonymous function naming in React Compiler: #84070
  • Revert "[Breaking] Remove deprecated publicRuntimeConfig and serverRuntimeConfig (#83944)": #84167
  • Fix double comma in build manifest: #84131
  • [turbopack] set app dir only to true when no pages entries detected: #84144
  • Split code-frame into separate compiled package: #84174
  • refactor: separate forward browser logs utils: #84151
  • Upgrade React from 1eca9a27-20250922 to e2332183-20250924: #84189
  • [Cache Components] default to filtering unhandledRejection after abort: #84192
  • fix: prevent URL mutation in router rewrites: #83963
  • fix(server): fix pages router resume router matching: #84158
  • Feat: get_errors MCP endpoint: #84161
  • Add internal environment variable for enabling React Compiler: #84176
  • [devtools] Disable React's default Transition indicator: #84202
  • Upgrade React from e2332183-20250924 to b0c1dc01-20250925: #84248
  • Feat: get_page_metadata MCP endpoint: #84211
  • feat: capture logs into logging file during development: #84183
  • babel-loader: Avoid calling expensive isReactCompilerRequired check when we must run Babel anyways: #84103
  • [mcp] expose logging: #84226
  • Move config.turbopack.moduleIds to config.experimental.turbopackModuleIds: #84230
  • Show invalid default export errors during prerendering: #84242
  • fix: make sure caller exists in babel preset: #84154
  • [mcp] allow to enable mcp server through env var: #84278
  • fix(metadata): make formatDetection respect true/false properly: #83924
  • Upgrade React from b0c1dc01-20250925 to df38ac9a-20250926: #84276
  • Add a --webpack flag and default --turbopack to true: #84216
  • fix: Update URL resolution logic to handle search parameters on root path /?foo=bar: #78262
  • [Breaking] Remove deprecated sync access to Dynamic APIs: #84179
  • Move config.turbopack.moduleIds to config.experimental.turbopackModuleIds: #84230
  • Show invalid default export errors during prerendering: #84242
  • fix: make sure caller exists in babel preset: #84154
  • [mcp] allow to enable mcp server through env var: #84278
  • fix(metadata): make formatDetection respect true/false properly: #83924
  • Upgrade React from b0c1dc01-20250925 to df38ac9a-20250926: #84276
  • Add a --webpack flag and default --turbopack to true: #84216
  • fix: Update URL resolution logic to handle search parameters on root path /?foo=bar: #78262
  • [Breaking] Remove deprecated sync access to Dynamic APIs: #84179
  • Turbopack: only write merged manifests when they have been changed: #84261
  • Turbopack: add separate turbopackPersistentCachingForBuild/ForDev flags: #84215
  • Revert "Add a --webpack flag and default --turbopack to true (#84216)": #84348
  • Upgrade React from df38ac9a-20250926 to d15d7fd7-20250929: #84347
  • Mark React Compiler integration as stable: #84220
  • [cna] Add reactCompiler option: #82251
  • Turbopack: remove canary version check for turbopackPersistentCachingForDev: #84277
  • [turbopack] Add support for debug_ids: #84319
  • Revert "Revert "Add a --webpack flag and default --turbopack to true (#84216)"": #84351
  • [Breaking] Remove AMP codemod: #84356
  • [Breaking] Remove deprecated built-in AMP: #84312
  • auto-enable clientParamParsing and clientSegmentCache w/ cacheComponents: #84250
  • [mcp] get server action tool: #84382
  • Revert "Revert "Revert "Add a --webpack flag and default --turbopack to true (#84216)""": #84389
  • Update otel test assertions and pages span_name: #84393
  • [Breaking] Bump minimum TypeScript version to 5.1.0: #84384
  • Upgrade React from d15d7fd7-20250929 to ef889445-20250930: #84383
  • [Breaking] Remove deprecated unstable_rootParams: #84373
  • [metadata] remove falsy dynamicParams approach: #84405
  • fix: next rspack binding NextExternalsPlugin: #84303
  • Development: Skip route matching when there is an existing match: #84227
  • Revert "auto-enable clientParamParsing and clientSegmentCache w/ cacheComponents": #84419
  • Upgrade React from ef889445-20250930 to 548235db-20251001: #84416
  • [Breaking] Update default browserslist config: #84401
  • Upgrade React from 548235db-20251001 to 1bd1f01f-20251001: #84417
  • Allow metadataBase to be a string URL in addition to URL instance: #84297
  • Upgrade React from 1bd1f01f-20251001 to 86181134-20251001: #84427
  • [mcp] logging file should be reset for each session: #84425
  • Revert "Revert "Revert "Revert "Add a --webpack flag and default --turbopack to true (#84216)"""": #84394
  • Optimize isMetadataRoute function: #84409...
Read more

v16.0.0-canary.19

21 Oct 23:39

Choose a tag to compare

v16.0.0-canary.19 Pre-release
Pre-release

Core Changes

  • Fix: CSS asset URLs broken with experimental.inlineCss: #85140
  • Update routes generation for build-complete: #85017
  • [cache components] move experimental.cacheHandlers out of experimental: #85157
  • Don't assign displayName to the internal Promises: #85178
  • Assign name to hydration stream: #85179
  • fix: add backwards compat for middleware β†’ proxy field renames: #85183
  • [turbopack] Implement improved deobfuscation for free calls and module identifiers.: #85060
  • Improve Proxy invalid export error message: #84887
  • Fix Activity boundary names: #85185
  • [codemod] Install ESLint v9 if version under for next-lint-to-eslint-cli: #85182
  • [upgrade] Version gate adding --turbopack flag: #85180
  • Tweaks to blocking route error message: #85191
  • Remove layout-router sticky/fixed debug warning: #85193
  • [cache components] persist cache bypass UI until it's disabled: #85190
  • Only allow node runtime in proxy: #85139
  • logger: skip logging full element: #85194

Misc Changes

  • Docs: Explain Sass tilde import difference: #85041
  • Turbopack: don't fail on export type in use server: #85054
  • Turbopack: speedup module merging: #85043
  • docs: remove experimental_ppr route segment config: #85188
  • Rename "blocking route" error docs page: #85189
  • docs: upgrade from 15 to 16: #85176

Credits

Huge thanks to @timneutkens, @gaojude, @ijjk, @ztanner, @sebmarkbage, @mischnic, @icyJoseph, @acdlite, @serhalp, @lukesandberg, @devjiwonchoi, and @huozhi for helping!

v16.0.0-canary.18

21 Oct 23:44

Choose a tag to compare

v16.0.0-canary.18 Pre-release
Pre-release

Core Changes

  • Fix: CSS asset URLs broken with experimental.inlineCss: #85140
  • Update routes generation for build-complete: #85017
  • [cache components] move experimental.cacheHandlers out of experimental: #85157
  • Don't assign displayName to the internal Promises: #85178
  • Assign name to hydration stream: #85179
  • fix: add backwards compat for middleware β†’ proxy field renames: #85183
  • [turbopack] Implement improved deobfuscation for free calls and module identifiers.: #85060
  • Improve Proxy invalid export error message: #84887
  • Fix Activity boundary names: #85185
  • [codemod] Install ESLint v9 if version under for next-lint-to-eslint-cli: #85182
  • [upgrade] Version gate adding --turbopack flag: #85180
  • Tweaks to blocking route error message: #85191
  • Remove layout-router sticky/fixed debug warning: #85193
  • [cache components] persist cache bypass UI until it's disabled: #85190
  • Only allow node runtime in proxy: #85139
  • logger: skip logging full element: #85194

Misc Changes

  • Docs: Explain Sass tilde import difference: #85041
  • Turbopack: don't fail on export type in use server: #85054
  • Turbopack: speedup module merging: #85043
  • docs: remove experimental_ppr route segment config: #85188
  • Rename "blocking route" error docs page: #85189
  • docs: upgrade from 15 to 16: #85176

Credits

Huge thanks to @timneutkens, @gaojude, @ijjk, @ztanner, @sebmarkbage, @mischnic, @icyJoseph, @acdlite, @serhalp, @lukesandberg, @devjiwonchoi, and @huozhi for helping!

v16.0.0-canary.17

21 Oct 16:38

Choose a tag to compare

v16.0.0-canary.17 Pre-release
Pre-release

Core Changes

  • Fix subtree layout alignment for route summary in next build: #85137
  • [codemod] Remove runtime config when running middleware-to-proxy: #85075
  • [turbopack] Improve the multiple bundler flags messge to note that perhaps your package.json is the problem: #85118
  • Add Learn more docs to Middleware deprecation warning: #84711
  • [BF Cache]: skip lazyData fetch logic for inactive segments: #85142
  • Pass startTime to initial RSC payload stream: #85144
  • guard navigation use hooks for React 18: #85151
  • [turbopack] Don't warn on the lightning css experimental option: #84913
  • Turbopack: Remove redundant log line, increase delay for compiling log message: #85133
  • Make params and searchParams new Promises: #85158
  • Name "cache" streams for React DevTools: #85159
  • Use cacheMaxMemorySize config in default cache handler: #85153
  • Omit params to from client segments: #84883
  • enable experimental.routerBfCache behind cacheComponents: #84923
  • [Cache Components] Allow stale longer than expire in cacheLife: #85115
  • Update Activity names given to routes: #85155
  • use port zero for --inspect when forking, if used by parent: #85128
  • Update blocking prerender error message: #85087

Misc Changes

  • Turbopack: Disable LightningCSS MediaRangeSyntax feature: #85086
  • Don't expliclitly set the --turbopack flag in Create Next App, it is no longer necessary: #85117
  • [turbopack] Remove the canary icon from the cache components docs: #85149
  • Bump swc to v45: #85143
  • [test] Fix test-dev with --projects: #85167
  • [test] Update snapshots: #85171
  • docs: mcp: #85010

Credits

Huge thanks to @eps1lon, @devjiwonchoi, @lukesandberg, @timneutkens, @ztanner, @acdlite, @mischnic, @bgw, @sebmarkbage, @wyattjoh, @gnoff, @huozhi, and @seeplusplus for helping!

v16.0.0-canary.16

20 Oct 23:37

Choose a tag to compare

v16.0.0-canary.16 Pre-release
Pre-release

Core Changes

  • Upgrade React from 58bdc0bb-20251019 to f6a48828-20251019: #85081
  • [devtools]: instrument client navigation hooks for suspense devtools: #85007
  • Remove Segment from CacheNodeSeedData: #85080
  • label as Prefetch/Prefetchable depending on prefetch config: #85076
  • [cache components]: add 'bypass' cache indicator status: #85082
  • Upgrade React from f6a48828-20251019 to 2bcbf254-20251020: #85112
  • [cache components]: guard against setCacheStatus since its conditionally defined: #85125
  • warn: add deprecation warning of eslint config: #85122
  • add new devtools indicator loading state: #85083
  • Await initial Flight response before hydrating: #85124
  • fix(experimental.lockDistDir): Acquire the lock in dev earlier: #85116
  • telemetry: mcp tool call: #85120
  • [Turbopack] dedupe build errors: #85062

Misc Changes

  • docs: experimentalClientMaxBodySize: #85105
  • Docs: Add --debug-build-paths next build option: #85097
  • Docs: Add note on tag limits for cacheTag: #85106
  • docs: no switcher for TS only examples: #85109
  • fix: Handle non-directory files in cache folder when performing cleanup: #84930
  • Turbopack: Suggest using system certs when a TLS error occurs: #85009
  • [turbopack] Try to fix v8 crashes on github actions: #85114
  • docs: Update to Zod v4 syntax: #84807
  • Docs: Add version history for next lint deprecation and update error message: #85100
  • Turbopack: improve module evaluation name: #84633
  • [test] Current behavior of dynamic APIs integration with React DevTools: #85111
  • [Cache Components] fix env labels in perf track test: #85132

Credits

Huge thanks to @ztanner, @icyJoseph, @delbaoliveira, @acdlite, @lubieowoce, @bgw, @lukesandberg, @huozhi, @makandrr, @sokra, and @eps1lon for helping!

v16.0.0-canary.15

19 Oct 23:46

Choose a tag to compare

v16.0.0-canary.15 Pre-release
Pre-release

Core Changes

  • Turbopack: Remove unneeded warning for telemetry: #85039
  • [cache components] stabilize cacheLife profiles: #85050
  • [cache components] show when cache components is enabled in the CLI: #85047
  • [cache components]: show cache components enabled in DevTools: #85048
  • [Cache Components] correctly label IO promises in devtools: #84928
  • Plumbing for cache indicator: #84955
  • Upgrade React from 93f85932-20251016 to 1324e1bb-20251016: #84999
  • enable mcp server by default: #85058
  • Add comment that we expect the function passed to bind to be anonymous: #85070
  • Development: Addres comments on request log PR: #84945
  • Development: Implement request time for Pages Router: #85012
  • [cache components] add cache components indicator to dev start: #85069
  • cli: build partial entries --debug-build-paths arg: #85052
  • Turbopack: Better error for sassOptions.functions as it's unsupported: #85073

Misc Changes

  • add a message about Turbopack tracing: #85044
  • Turbopack: Implement next/font/local declarations option: #85051

Credits

Huge thanks to @sokra, @ztanner, @timneutkens, @lubieowoce, @eps1lon, @huozhi, and @sebmarkbage for helping!

v16.0.0-canary.14

19 Oct 00:09

Choose a tag to compare

v16.0.0-canary.14 Pre-release
Pre-release

Core Changes

  • Add Activity name to route layouts and pages: #85011
  • Update next-lint-to-eslint-cli to support FlatCompat.config: #85026
  • [cache components]: move flag out of experimental: #85035
  • [Cache Components] When caches are disabled in dev skip the cache warmup: #85014
  • [Cache Components] Use canary React when only Cache Components is enabled: #85042

Misc Changes

  • Turbopack: make tracing warning not fail build: #85032
  • [ci]: increase number of runners for test jobs: #85049

Credits

Huge thanks to @acdlite, @devjiwonchoi, @mischnic, @ztanner, and @gnoff for helping!

v16.0.0-canary.13

18 Oct 16:48

Choose a tag to compare

v16.0.0-canary.13 Pre-release
Pre-release

Core Changes

  • fix: incorrect canonicalUrl set when using output: export: #85019

Misc Changes

  • Turbopack: shard amount need to grow quadratic to cpu count to keep propability of conflicts constant: #84921
  • Turbopack: fix race condition when adding dependencies: #84946

Credits

Huge thanks to @sokra and @ztanner for helping!

v16.0.0-canary.12

18 Oct 00:36

Choose a tag to compare

v16.0.0-canary.12 Pre-release
Pre-release

Core Changes

  • Add rendered search to router state: #84983
  • [segment cache]: delay revalidation prefetch pings 300ms: #84981
  • Show relative path from cwd for Proxy Middleware file conflict error: #84993
  • [Cache Components] fix docs for cacheLife("seconds"): #85004
  • Rename MiddlewareMatcher to ProxyMatcher: #85005
  • [Breaking] Rename instrumentation onRequestError context.routeType from middleware to proxy: #85006
  • [turbopack] Prevent accidental access to .next: #84714

Misc Changes

  • Turbopack: Track errored tasks as dependency when using untracked(): #84914

Credits

Huge thanks to @sokra, @acdlite, @ztanner, @devjiwonchoi, @lubieowoce, and @lukesandberg for helping!