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
to886b3d36-20250910
: #83650 - Turbopack: Use readFileSync / writeFileSync for manifest writing: #83694
- Upgrade React from
886b3d36-20250910
tof3a80361-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
to93d7aa69-20250912
: #83729 - Upgrade React from
93d7aa69-20250912
to8a8e9a7e-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
to5e0c951b-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
to128abcfa-20250917
: #83906 - Add native ts resolver docs link to transpile-config: #83914
- OTel: use
srcPage
for templates whennext.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
to84af9085-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
tod415fd3e-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
andserverRuntimeConfig
: #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
to1eca9a27-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
fortest-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
andserverRuntimeConfig
(#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
toe2332183-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
tob0c1dc01-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
toconfig.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
todf38ac9a-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
toconfig.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
todf38ac9a-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
tod15d7fd7-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
toef889445-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
to548235db-20251001
: #84416 - [Breaking] Update default browserslist config: #84401
- Upgrade React from
548235db-20251001
to1bd1f01f-20251001
: #84417 - Allow
metadataBase
to be a string URL in addition toURL
instance: #84297 - Upgrade React from
1bd1f01f-20251001
to86181134-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
- [ci]: split clientSegmentCache test runners off from experimental: #84440
- [Cache Components] Fix caching in
generateMetadata
/generateViewport
: #84228 - Upgrade React from
86181134-20251001
toa757cb76-20251002
: #84463 - [segment cache]: fix trailingSlash handling with output: export: #84465
- perf: Use a more aggressive retry loop for
recursiveDelete
: #84444 - [Cache Components] Dim logs after prerender aborts: #84153
- telemetry track mcp server usage: #84471
- simplify the way we check for turbopack config to ensure we support an empty turbopack object: #84494
- perf: Use synchronous IO when cleaning
distDir
innext dev
andnext build
: #84472 - Make turbopack the default bundler for custom servers: #84281
- [segment cache]: fix interception route handling: #84497
- Upgrade React from
a757cb76-20251002
to85c427d8-20251003
: #84496 - [segment cache]: collectSegmentData should respect experimental.staleTime config: #84520
- Fix potential race condition with request ID in dev mode: #84532
- [test] Enable
reactDebugChannel
for experimental test shards: #84533 - Simplify Metadata components: #84527
- Implement the updated prerender API shape: #84254
- Upgrade React from
85c427d8-20251003
to4fdf7cf2-20251003
: #84499 - Upgrade React from
4fdf7cf2-20251003
toc7862584-20251006
: #84573 - fix(Turbopack): Add better error messaging for when we can't determine Next.js root: #83918
- Allow silencing unhandled rejection filter warnings and improve debugging: #84572
- [MCP] Fix: Do not dedup by URL for MCP get_page_metadata: #84564
- Guard
createDebugChannel
import by feature flag: #84604 - Build: Add time to logline of every step: #84602
- Upgrade React from
c7862584-20251006
toa4eb2dfa-20251006
: #84589 - [Cache Components] Schedule work on timeouts: #84344
- [dev] Define request ID for RSC requests on the client: #84605
- fix(cache-tags): add
/index
to implicit tags and adjustrevalidatePath()
: #84586 - Build: Highlight TypeScript and ESLint being run clearer: #84606
- [Breaking] Bump sass-loader to v16: #84387
- Update cases for build complete with adapters: #84361
- Turbopack: delete .next folder before throwing due to "pages/app directory must be in the same folder": #84553
- [mcp] change get-project-path to get-project-metadata: #84619
- feat(next/image)!: deprecate and warn on
images.domains
config: #84625 - feat(next/legacy/image)!: deprecate and warn on
next/legacy/image
usage: #84622 - Turbopack: improve errors/warnings for turbopack messages: #84552
- Turbopack: rename turbopackPersistentCachingForXXX to turbopackFileSystemCacheForXXX: #84632
- [Segment Cache] Add refresh URL to reused default segments: #84627
- [Segment Cache] Fix tests related to optimistic loading state reuse: #84498
- Upgrade React from
a4eb2dfa-20251006
to3025aa39-20251007
: #84613 - [breaking]: enable clientSegmentCache by default: #84643
- feat: Acquire a lockfile on
distDir
innext dev
andnext build
: #84428 - Add deprecation warning to Runtime config: #84168
- [middleware]: add upper bound to cloneBodyStream: #84539
- Remove automatic linting from build: #83136
- Re-enable legacyBehavior and passHref on Link: #84500
- [cna] Use stable React Compiler: #84660
- Add codemod for
middleware
toproxy
: #84127 - Fix dynamic catchall parameter interpolation in parallel routes: #84279
- feat(breaking): Hard Deprecate PPR Configuration: #84280
- Deprecate
middleware
and recommendproxy
: #84119 - Put native TS resolver for next config under
--experimental-next-config-strip-types
flag: #84675 - Fix interception route rewrites for nested dynamic routes: #84413
- fix: strip NEXTSEP from interpolated pathnames: #84430
- chore: Remove useless symlink resolution logic in
recursive-delete.js
: #84582 - breaking(next/image)!: remove 16px from default
images.imageSizes
config: #84647 - add Statsig Node Core package to Server External Packages: #84157
- Remove bailed out SSG routes from the list of SSG: #83861
- Revert "[Breaking] Skip Next.js internal routes
/_next
in middleware": #84697 - Bump eslint-plugin-react-hooks to v7: #84669
- Add refresh API to next/cache: #84666
- [Breaking] Require
images.localPatterns
for query in Image src: #84406 - [Breaking] feat(next/image)!: add support for
images.dangerouslyAllowLocalIP
andimages.maximumRedirects
: #84676 - Add new updateTag API and new signature for revalidateTag: #83822
- Add validation for missing default.js in parallel routes: #84702
- misc: allow beta to be triggered: #84713
- Fix tags check for expired/stale: #84717
- tweak middlewareClientMaxBodySize handling: #84712
- docs: Add more details to
useLightningcss
docs: #84581 - Version gate migration docs link: #84740
- [Cache Components] Allow hiding logs after abort: #84579
- Log
Compiled proxy in ...
: #84746 - Upgrade React from
3025aa39-20251007
to9724e3e6-20251008
: #84642 - Remove unused
eslint-disable
directives: #84797 - Use ESLint Flat Config: #84800
- fix missing flight-router-state-tree header normalization: #84718
- Write
.next/dev/types/**/*.d.ts
to default tsconfig: #84747 - Upgrade React from
9724e3e6-20251008
toead92181-20251010
: #84793 - [mcp] capture next config schema errors: #84832
- feat: using @next/rspack-core: #84221
- Upgrade React from
ead92181-20251010
tod7215b49-20251013
: #84850 - Turbopack build: Switch to using workerthreads for process: #84818
- [Cache Components] Dev - restart render on cache miss: #84088
- Update font data: #84785
- Fix build compile mode if pages dir does not exist in Next.js 16: #84783
- improve next config schema validation errors: #84847
- Upgrade React from
d7215b49-20251013
to56e84692-20251014
: #84860 - warnOnce for Middleware deprecation: #84862
- Add codemod for Middleware API to Proxy API: #84824
- Deprecate Middleware API and add Proxy API: #84764
- remove
clientParamParsing
configuration & bundle it withcacheComponents
: #84763 - remove dynamicIO flag: #84872
- Bump eslint-plugin-react to 7.37.0: #84876
- Add nextjs condition when cacheComponents is enabled: #84843
- remove rdcForNavigations configuration & bundle with cacheComponents: #84870
- Convert eslint-config-next project to TypeScript: #84839
- [eslint-config] [Breaking] Use Flat config by default: #84874
- [Cache Components] Remove
unstable
prefix fromunstable_cacheLife
: #84877 - fix: always use the safe stable stringify: #84909
- [Cache Components] Fix cacheSignal in dev render: #84846
- [dev-overlay] Never dedupe errors with different names or messages: #84908
- Remove deprecated experimental_ppr route-level configuration: #84871
- Include server latency in debug info: #84580
- Fix parallel routes ignoring generateStaticParams from primary route: #84889
- Revert "Include server latency in debug info": #84932
- Development: Use process.hrtime for request time calculation: #84905
- Use correct JSX runtime for library-owned JSX in React Server: #84869
- Development: Implement request log time details: #84906
- [Cache Components] Remove
unstable
prefix fromunstable_cacheTag
: #84880 - [Cache Components] separate runtime stage in dev render: #84644
- Reland "Include server latency in debug info": #84950
- Update codemod ESLint template to Flat config: #84919
- Upgrade React from
56e84692-20251014
to93f85932-20251016
: #84963 - [dev] Fix Middleware and Proxy file conflict: #84965
- stabilize experimental.enablePrerenderSourcemaps: #84916
- Stop manually setting stacktrace limit: #84968
- Turbopack: respect
--profile
CLI param: #84920 - Relax default.tsx validation for parallel routes leaf segments: #84767
- Add codemod for removing
unstable_
prefix: #84974 - Interception routes match from nested route navigation: #84898
- [Cache Components] Allow unstable prefix for cacheLife and cacheTag: #84934
- Relax default.tsx validation for parallel routes leaf segments: #84767
- Add codemod for removing
unstable_
prefix: #84974 - Interception routes match from nested route navigation: #84898
- [Cache Components] Allow unstable prefix for cacheLife and cacheTag: #84934
- Add codemod for removing
experimental_ppr
: #84979 - fix: throw error during build when invalid export for Proxy: #84886
- [cache components]: prevent expired entries from being served: #84975
- Delete old prefetch cache related code: #84977
- docs: Deprecation of Middleware: #84710
- 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
frommiddleware
toproxy
: #85006 - [turbopack] Prevent accidental access to
.next
: #84714 - fix: incorrect canonicalUrl set when using output: export: #85019
- 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
- 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
to1324e1bb-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
- Upgrade React from
58bdc0bb-20251019
tof6a48828-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
to2bcbf254-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
- 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
- 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
- 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
Example Changes
- docs: Convert relative imports to @ aliases in examples: #83813
- chore: add example with oxlint: #83842
- fix: correct typo 'incomming' to 'incoming' in with-mqtt-js example: #83887
- chore: improve oxlint example: #83898
- docs: update Dockerfile to use node:lts-alpine instead of node:18-alpine: #84229
- Use Array.from to avoid @ts-ignore when copying i18n.locales: #82148
- examples: Remove AMP example: #84355
- [docs] fix(with-supabase): Update README env variables: #84745
Misc Changes
- Turbopack: remove
css_environment
fromEnvironment
: #83487 - Turbopack: Don't add client_runtime_entries to Route Handler compilation: #83655
- Turbopack: Only load capsize-font-metrics once: #83654
- [CI] Fix GitHub Actions matrix configuration for React versions: #83677
- fix(Turbopack): Enable scope hoisting for large files or module counts: #83399
- [turbopack] Lazily construct
resolved::Requests
forEsmAssetReference
: #83662 - Update content-security-policy.mdx, fix development environment error: #83665
- tests: disable flaky deployment test while investigating upstream: #83705
- [test] Update snapshots for Rspack + React 18: #83712
- Docs/sep paper cuts: #83689
- [Turbopack] Remove
ssr-data
module context: #83626 - CI: use KV for test timing data: #83745
- Emit build error when
'use cache'
directive is misspelled: #83756 - docs(metadata): align default function export name with file name: #83796
- [turbopack] Remove the
should_track_children
parameter of the turbo tasks backend: #83258 - docs(data-security): add bun package manager example: #83735
- Update next-intlayer reference in i18n doc: #83761
- Update Rspack production test manifest: #83790
- Update Rspack development test manifest: #83791
- Turbopack: chunking debugging utilities: #83801
- Removed link to maintain text consistency: #83644
- Turbopack: rename some fields in fs: #83808
- Turbopack: validate CSS without computing all paths: #83810
- [test] Disable flaky navigation test: #83828
- docs: Type narrowing using LayoutProps, PageProps: #83692
- docs: implications of mutating cookies in server actions: #83691
- Only retry if canary fails on required jobs: #83851
- docs: Fix self-referential link to Middleware in middleware.mdx: #83854
- Update Rspack production test manifest: #83826
- Update generate-metadata.mdx: #81853
- Turbopack: remove lazy invalidated tasks: #83845
- Turbopack: remove Backend TaskState: #83846
- Turbopack: don't recompute empty parse results: #83883
- Turbopack: delete broken hmr benchmark: #83882
- Turbopack: only generate error string in error case: #83884
- docs: the as prop is still available in Pages Router: #83864
- Turbopack: map_module_batch: #83885
- Turbopack: Change run once signature to avoid exposing TaskId: #83844
- docs: Update command to use
npx
for tracing files: #83903 - Turbopack: ModuleGraphRef: #83890
- Update Rspack development test manifest: #83876
- Turbopack: make graph traversal sync: #83891
- chore: Fix test snapshot: #83901
- Update Rspack production test manifest: #83877
- docs: add
next.config.ts
Node.js native resolver: #83561 - Turbopack: add turbo_tasks::run to run in turbo tasks scope without a task: #83847
- Turbopack: fix double codegen of some merged modules: #83886
- Turbopack: add traces to merged module computation: #83908
- Turbopack: RuleCondition support resourceQuery contains: #83468
- fix: add the missing comma in the document example: #83932
- Turbopack: Document the reasons for the current design of
parse_segment_config_from_source
: #83919 - Turbopack: extract parse_source_map_comment: #83938
- Turbopack: enable nodelay for node.js pool socket: #83942
- feat: next-rspack-binding: #82811
- Only send notification if canary fails on required jobs: #83953
- Turbopack: allow to read State from turbo_tasks::run: #83955
- Fix conclusion check for retry_test workflow: #83960
- Add Descope to Auth libraries list: #83968
- [turbopack] Track task durations in the task_statistics file: #83522
- [turbopack] Remove the
issue_path
feature and related functionality: #83920 - Turbopack: use turbo_tasks::run in next.js to avoid task memory leak: #83848
- Update Rspack production test manifest: #83934
- Update Rspack development test manifest: #83933
- Turbopack: add test case that checks memory leak: #83849
- Turbopack: read project strongly consistent in project_update: #83974
- Fix output comparison when checking conclusion of required jobs: #83986
- Turbopack: JsAnalyzer parse AssignExpr: #83962
- Turbopack: less eager manifest generation: #83736
- Turbopack: use depth as priority for merged module info: #83909
- Turbopack: "connect" tasks in turbo_tasks::run too: #83975
- Update Rspack production test manifest: #83979
- Update Rspack development test manifest: #83980
- Turbopack: Make transient tasks root tasks too when called in turbo_tasks::run: #83976
- Turbopack: trace state changes: #83977
- [turbopack] cleanup analyzer: #83983
- [Turbopack] Fix AST traversal for
this
in function default parameters: #83746 - [turbopack] Consolodate logic for visiting functions to simplify state management: #82763
- [turbopack] Track the scope in which variables are assigned: #82845
- [turbopack] Set
liveness
of exports based on assignment analysis: #82802 - Turbopack: trace all state changes: #84053
- docs: We have dropped the CORS example linked: #84065
- docs: add pageExtensions note to Middleware and clarify default filename: #84045
- Fix TypeScript type error in example code: #84041
- Turbopack: fix test case and update project_update to turbo_tasks::run too: #83978
- Turbopack: run tests with multiple threads: #84074
- Turbopack: flush Node.js worker IPC on error: #84077
- Turbopack: parallelize scope hoisting computation: #83904
- Add test for JS resource size on navigation: #83731
- Update Rspack development test manifest: #84061
- Update Rspack production test manifest: #84060
- Turbopack: Document automatic Babel config support: #84002
- docs: Fix the title/path of the turbopack page on pages router: #84001
- Turbopack: remove references from ChunkData: #84076
- Turbopack: include availability hash in the ident of evaluated chunks groups: #84082
- [turbopack] s/analyse/analyze/g: #84112
- [Turbopack] avoid attaching referenced output assets to chunks: #75933
- fix(docs): Fix links in UPGRADING.md: #84114
- docs: improve dynamic routes example in project structure page: #84086
- docs: onRequestError request header type: #83988
- Turbopack: Improve persistent caching test case: #83205
- Turbopack: add more details to the graph panic: #84126
- docs: Cookies store access is async: #83987
- Bump Rust to nightly-2025-09-21: #83415
- Upgrade CodSpeed action and add analyzer benchmarks: #84135
- Turbopack: fix run_once when returning error: #84142
- [turbopack] Conditionally collect affecting sources: #83921
- Turbopack: slightly improve resolve_source_map_sources: #84147
- Turbopack: RawEcmascriptModule: #81806
- Turbopack: add more details to the graph panic: #84143
- test: split app-middleware test per describe: #84130
- Update Rspack development test manifest: #84117
- script: improve release log generation: #83686
- Turbopack: split task_execution_completed into multiple methods: #84170
- Turbopack: only generate field if spans are enabled: #84184
- Turbopack: support more dynamic request with import map: #84178
- [turbopack] defer a
value_to_string
operation until we need it: #84188 - Update Rspack production test manifest: #84165
- Revert "[turbopack] Set
liveness
of exports based on assignment ana…: #84207 - Turbopack: increase retry duration, reduce busy looping when there is other work: #84171
- Turbopack: Try to avoid block_in_place in scope: #84172
- [turbopack] Remove some bitmap clones: #84193
- Turbopack: lazier manifests, part deux: #84191
- Turbopack: avoid panic on updating output when a task was cancelled: #84214
- docs: nav_title for long unbroken words: #84233
- Turbopack: Use
RawValue
formappings
insideSourceMapJson
: #84208 - Update Rspack development test manifest: #84218
- Turbopack: fix NFT of readFileSync of relative path: #84155
- Turbopack: improve references benchmark: #84223
- Update Rspack production test manifest: #84217
- Turbopack: drop ASTs when only tracing: #84185
- docs: Include more detailed instructions on excluding from common AV solutions, including macOS Gatekeeper: #84206
- Turbopack: trace fs-extra calls: #84246
- [test] Overhaul
Undefined default export
test suite: #84235 - Turbopack: Scope with work queue: #84225
- [test] Make
Undefined default export
an e2e test suite: #84240 - [turbopack] Conditionally create pages router data endpoints.: #84194
- Turbopack: parallel connect children: #84173
- Turbopack: count turbo_tasks::run as foreground tasks to avoid being idle: #84245
- Turbopack: make persistent caching log line more clear: #84262
- Turbopack: make tracing nicer: #84263
- docs:Small improvement on the contribution guide for clarity: #84200
- Turbopack: Remove not-very-useful "Finished writing to disk in" log line: #84244
- Turbopack: follow up changes from parallel children: #84219
- [turbopack] Simplify take_issues and peek issues: #84199
- Update Rspack development test manifest: #84260
- Update Rspack production test manifest: #84259
- Turbopack: Scope with work queue: #84225
- [test] Make
Undefined default export
an e2e test suite: #84240 - [turbopack] Conditionally create pages router data endpoints.: #84194
- Turbopack: parallel connect children: #84173
- Turbopack: count turbo_tasks::run as foreground tasks to avoid being idle: #84245
- Turbopack: make persistent caching log line more clear: #84262
- Turbopack: make tracing nicer: #84263
- docs:Small improvement on the contribution guide for clarity: #84200
- Turbopack: Remove not-very-useful "Finished writing to disk in" log line: #84244
- Turbopack: follow up changes from parallel children: #84219
- [turbopack] Simplify take_issues and peek issues: #84199
- Update Rspack development test manifest: #84260
- Update Rspack production test manifest: #84259
- [test] Ignore pnpm update notifier: #84328
- [test] Stop downloading unused test browsers when generating PR stats: #84329
- docs: remove repeated to: #84325
- Turbopack: Use more robust logic for absolute and percent-encoded URLs in source maps received from loaders: #84255
- Turbopack: only replace edge dynamic calls in dev: #84354
- [turbopack] Remove a bunch of dead code from the source map implementation: #84318
- Turbopack: prevent duplicate NFT modules: #84369
- docs: Remove AMP docs: #84357
- docs: Type helpers don't need to be imported: #84265
- Turbopack: Add docs for debugIds option: #84375
- Remove references to size metrics in next build from our docs: #83823
- Bump to swc v42: #83477
- Turbopack: skip invalidating a task on cell/output change when the dependency is outdated: #84376
- Turbopack: trace module.createRequire: #84335
- Update failing e2e deploy tests: #84395
- Turbopack: Webpack loader
this.fs.readFile
: #83313 - Improve tests: #84374
- Revamp Next.js boilerplate: #81945
- Add test for twoslash: #84267
- Docs/project structure polish: #84386
- Bump to swc v44: #84420
- Turbopack: don't fail for parse errors in tracing: #84408
- Update Rspack development test manifest: #84365
- Update Rspack production test manifest: #84366
- [ci]: remove PPR-specific CI jobs: #84439
- docs: Verbose troubleshooting for unconfigured hosts: #84271
- Update Rspack production test manifest: #84398
- Add gt-next to i18n list: #84396
- [ci]: fix build-output-prerender to support segment cache env: #84467
- [ci]: fix app-static snapshots with clientSegmentCache: #84468
- Turbopack: Only benchmark file IO on
next dev
: #84474 - Turbopack: improve incremental build performance when deployment id changes: #84460
- fix: Missing link in Lazy Loading docs: #84473
- docs: simplify streaming metadata: #84253
- make withRspack idempotent: #84482
- Turbopack: Use strongly consistent reads in
random_change
unit test: #84505 - Update Rspack development test manifest: #84480
- Update Rspack production test manifest: #84481
- [ci]: remove test from segment cache manifest: #84507
- [ci]: de-flake client cache test: #84517
- Revert "Turbopack: skip invalidating a task on cell/output change when the dependency is outdated": #84526
- next mcp router
- Revert "next mcp router"
- test: Use nextTestSetup in scss tests: #84501
- [turbopack[ Use the configured hasher to implementh Hash for AutoMap and AutoSet: #84542
- Turbopack: debug ids for server chunks: #84557
- CI: Enable
experimental.isolatedDevBuild
fortest-unit
: #84559 - [test]: convert prefetching tests to be segmentCache compatible: #84521
- CI: Enable
experimental.isolatedDevBuild
fortest-prod
: #84556 - Add
.next/dev/types
to CNA templates tsconfig include: #84566 - CI: Enable
experimental.isolatedDevBuild
fortest-integration
: #84558 - Update Rspack development test manifest: #84548
- Add a webpack flag to create next app. Ensure that if you set it or decline turbopack we set the --webpack flag on the generated project: #84476
- Update Rspack production test manifest: #84549
- CI: Enable
experimental.isolatedDevBuild
fortest-dev
: #84562 - [test] Unflake static image test: #84535
- Turbopack: Lower the IO concurrency limit in CI tests: #84508
- Add documentation for experimental adapters handling: #83737
- Turbopack: improve next/dynamic eventual consistentcy: #84560
- fix hidden errors in router-act: #84603
- fix(cna): use correct postcss plugins syntax: #79949
- Turbopack: absolute requests in webpack loader: #84575
- Update Rspack development test manifest: #84592
- Update Rspack production test manifest: #84593
- Turbopack: Remove workaround in hyper for rustc miscompilation bug on macos intel: #84578
- Turbopack: add manual worker count override: #84454
- Turbopack: don't ignore TS parse errors: #84597
- Add middleware to routes order doc: #84618
- [create-next-app]: prompt to use recommended options: #84570
- Update labeler: #84623
- Turbopack: use mmap advise to help the OS preloading: #84379
- Turbopack: skip invalidating a task on cell/output change when the dependency is outdated: #84551
- Turbopack: follow-up changes from untracked tracing: #84629
- Turbopack: sourcemaps for JSON modules: #84611
- Turbopack: avoid race condition when updating cells: #84598
- docs: update core documentation for Turbopack as default bundler: #84282
- Update Rspack development test manifest: #84631
- [turbopack] Only send the filesystem caching timing messages for slow events: #84646
- docs:
experimental.isolatedDevBuild
: #84656 - docs: add note clarifying project root in monorepo: #84628
- Fix flakey overlay feedback test: #84662
- [ci]: update flake detection to only run in Turbopack: #84659
- [ci]: move router-act to top level testing utils: #84653
- [tests]: de-flake client-cache.parallel-routes.test.ts: #84655
- [create-next-app]: add eslint to default template: #84661
- Update Rspack production test manifest: #84630
- [test] Assert on stable error codes: #84671
- Turbopack: convert HashMap to IndexMap for deterministic tasks: #84641
- Add note about $ACTION_ properties, remove reference to .entries(): #84459
- Fix typo on welcome page: #84715
- Rspack: Fix lockfile test on rspack: #84707
- [turbopack] Emit a warning when there are too many matches from a FileSourceReference: #84701
- Update beta tag: #84725
- [next-codemod] fix: Set codemod version to the first introduced version: #84726
- [next-upgrade] misc: update comment: #84727
- Turbopack: use vector instead of hash map: #84696
- Revert "docs: nav_title for long unbroken words (#84233)": #84346
- [turbopack] tweak the doc on the inner graph optimization: #84752
- [turbopack] Fix a few references to caching configuration as it is no longer canary guarded: #84761
- Add 16.0.0-beta.0 to next/third-parties peerDeps: #84741
- [eslint-plugin] Remove
eslint-v8
testing: #84721 - Update Rspack production test manifest: #84729
- Update Rspack development test manifest: #84730
- fix: release next-rspack ci: #84673
- [cna] Preserve existing config option when enabling React Compiler: #84663
- Prevent failing
types-and-precompiled
from corrupting terminal output: #84799 - Update test/CNA templates React version to 19.2.0: #84736
- Turbopack: use the same serialization method for lookup as for storing: #84765
- Turbopack: update petgraph: #84757
- [turbopack] Issue 'too many matches' warning for DirAssets also: #84768
- Revert "Fix flakey overlay feedback test": #84819
- [test]: de-flake client-cache.original.test.ts: #84831
- [ci]: set NEXT_TEST_VERSION to release tag for deploy tests: #84840
- docs: soft 404's, Suspense and loading.tsx: #83867
- [turbopack] Discuss Core Web vitals in our bundle size gap docs: #84837
- [turbopack] document missing webpack loader features: #84849
- [turbopack] fix typo in docs: #84868
- [turbopack] Remove the implementation of
TaskInput
fromAutoSet
: #84867 - Update turborepo env in workflows: #84879
- Turbopack: take task cache log before starting snapshot: #84755
- Turbopack: allow gzip compression on trace files: #84685
- Turbopack: process task result as part of the task completion: #84638
- Add test for eslint-config-next: #84838
- Turbopack: lower level drop collectibles: #84895
- docs: next/dynamic headings: #84492
- Turbopack: expose client static assets correctly: #84695
- Turbopack: better errors for strip_prefix_len: #84882
- Turbopack: improve missing factory message: #84881
- CNA: Update template to use ESLint Flat config: #84917
- fix: process.env.TURBOPACK maybe undefined: #84885
- Turbopack: fix spacing on EcmascriptModuleAssetType: #84915
- Update Rspack development test manifest: #84890
- Update Rspack production test manifest: #84891
- Fix url-imports test: #84922
- Turbopack: fix pageExtensions precedence: #84926
- Turbopack: fix client reference order for shared references: #84760
- Turbopack: turn panic into bail: #84927
- Docs/sync with new features 0: #84861
- Turbopack: transpile runtime with swc: #84931
- docs: x-nextjs-stale-time header: #84901
- docs: Templates on navigation: #84493
- Docs/sync with new features 0: #84861
- Turbopack: transpile runtime with swc: #84931
- docs: x-nextjs-stale-time header: #84901
- docs: Templates on navigation: #84493
- chore: Attempt to fix ppr-partial-hydration flakiness: #84672
- Update Rspack production test manifest: #84939
- Turbopack: rename Persistent Caching: #84896
- Turbopack: Add ChunkedVec test case: #84756
- docs: Add missing codemod docs: #84980
- Update prefetching.mdx providing more clarity on the usage of
router.prefetch()
: #84903 - docs: getting started installation and next lint removal: #84781
- docs: Split "Get Started: Route Handlers and Middleware" to Route Handlers and Proxy: #84708
- docs: Replace Middleware docs to Proxy: #84709
- chore: Remove redundant copy of rust reqwest crate: #84982
- [turbopack] Allow withRspack to work even if you already have NEXT_RSPACK set: #84987
- Turbopack: Track errored tasks as dependency when using untracked(): #84914
- 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
- Turbopack: make tracing warning not fail build: #85032
- [ci]: increase number of runners for test jobs: #85049
- add a message about Turbopack tracing: #85044
- Turbopack: Implement next/font/local declarations option: #85051
- 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
- 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
- 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
- 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 @mischnic, @timneutkens, @unstubbable, @wyattjoh, @Cy-Tek, @lukesandberg, @OoMNoO, @ztanner, @icyJoseph, @huozhi, @gnoff, @ijjk, @povilasv, @dwrth, @obendev, @aymericzip, @devjiwonchoi, @SyMind, @vercel-release-bot, @Shireee, @eps1lon, @dharun36, @kachkaev, @bgw, @yousefdawood7, @TheAlexLichter, @sokra, @ericx0099, @leerob, @Copilot, @fireairforce, @fufuShih, @anvibanga, @hayes, @Milancen123, @martinfrancois, @lubieowoce, @gaojude, @lachlanjc, @liketiger, @styfle, @aaronbrown-vercel, @Samii2383, @FelipeChicaiza, @kevva, @m1abdullahh, @F7b5, @Anshuman71, @RobertFent, @poteto, @chloe-yan, @sireesha-siri, @brian-lou, @joao4xz, @stefanprobst, @samselikoff, @acdlite, @gwkline, @bgub, @brock-statsig, @karlhorky, @feedthejim, @CarloQuick, @greguintow, @hallucinogenizer, @sebmarkbage, @delbaoliveira, @makandrr, @seeplusplus, and @serhalp for helping!