Traceary

Catalog / Next.js

16.2.0

5 months agosecurityaddedfixedOriginal notes

[!TIP]
Check out our Next v16.2 Blog Post to learn more about this release.

Core Changes

  • Upgrade React from f93b9fd4-20251217 to 65eec428-20251218: #87323
  • Turbopack: Create junction points instead of symlinks on Windows: #87606
  • Turbopack: Symlink handling follow-up: #87637
  • Add experimental routing package for resolving adapter routes: #86404
  • Ensure outputs are correct with cache components in deployment adapters: #87018
  • Move off of deprecated url.parse: #87257
  • [strict-route-types] Add experimental.strictRouteTypes config: #87378
  • misc: fix type check log for CI envs: #87838
  • fix: revalidateTag with profile should not trigger client cache invalidation: #88069
  • chore: warn when running tests against stale build: #88001
  • Redesign default error pages with cleaner, more user-friendly UI: #87988
  • dx: avoid next-env.d.ts change in dev: #88103
  • prevent browser cache from using stale RSC responses from previous builds: #86554
  • [strict-route-types] Typecheck App Router page props: #87386
  • [strict-route-types] Enforce common React Component return types in App Router: #87389
  • [strict-route-types] Switch to satisfies when validating page and route modules: #87398
  • [strict-route-types] Don't reject number in config.api.bodyParser.sizeLimit when validating route: #87633
  • Revert "dx: avoid next-env.d.ts change in dev": #88153
  • [strict-route-types] Typecheck pages router routes in absence of App Router: #87628
  • [strict-route-types] Ensure cache profiles and routes are type-checked even if .next is excluded: #87768
  • add compilation error for taint when not enabled: #88173
  • feat(next/image)!: add images.maximumResponseBody config: #88183
  • Add maximum size limit for postponed body parsing: #88175
  • metadata: use fixed segment in dynamic routes with static metadata files: #88113
  • feat: add --experimental-cpu-prof flag for dev, build, and start: #87946
  • Add experimental option to use no-cache instead of no-store in dev: #88182
  • fix overlay frames cannot be opened sometimes: #88210
  • Handle pnpm-workspace.yaml while searching for monorepo root: #74818
  • Add more debug logs to 'use cache' wrapper: #88219
  • Omit unused arguments from 'use cache' function calls: #86920
  • Only log pending revalidates... debug log if applicable: #88221
  • fix(next/image): bump sharp@0.34.5: #88238
  • Disallow javascript urls in router methods and redirects: #88185
  • Fix relative same host redirects in node middleware: #88253
  • Remove loadConfig from main development process, pass value from child process: #88230
  • Update deploy adapters outputs and handler interfaces for node and edge: #88247
  • Move Ready in time before handler initialization: #88235
  • next/image: support custom cache handlers: #88248
  • feat: add Claude Code plugin marketplace with Cache Components skill: #87993
  • refactor: consolidate PPR into cacheComponents architecture: #88243
  • Turbopack: include fewer traced files for standalone: #88322
  • feat(turbopack): add resolve plugin condition variant of Always and Never: #88190
  • perf: use length = 0 to clear the logging array: #88244
  • Time logs: Show full millisecond instead of 1 decimal: #88313
  • [turbopack] Enable inferring module side effects by default: #87216
  • Track search string as part of "refresh state": #87203
  • Pass RouteTree into navigation function: #87256
  • Read from segment cache unknown routes: #87293
  • Pass loading boundary as part of RSC data: #87825
  • Revert "refactor: consolidate PPR into cacheComponents architecture (#88243)": #88421
  • fix: support TypeScript noUncheckedSideEffectImports for CSS imports: #88199
  • Don't import typescript at runtime: #88321
  • fix: use RDC for server action requests: #88129
  • Warn when overriding Cache-Control header on /_next/ routes: #88353
  • [prebuilt-skew-protection] feat: adding in automatic deploymentId: #88012
  • Revert "[prebuilt-skew-protection] feat: adding in automatic deploymentId": #88449
  • Turbopack: Update reqwest, remove experimental system TLS feature: #88290
  • Revert "prevent browser cache from using stale RSC responses from pre…: #88457
  • Turbopack: retain loader tree order for metadata: #88487
  • Turbopack: more dead code: #88505
  • fix(build): prevent route handler manifests from inheriting unrelated client components: #88419
  • Upgrade React from 65eec428-20251218 to 3e1abcc8-20260113: #88530
  • Better typesafety for interopDefault: #88486
  • keep next-env.d.s unchanged between dev and build: #88428
  • Remove sibling caches from CacheNode tree: #87991
  • Upgrade React from 3e1abcc8-20260113 to 4a3d993e-20260114: #88547
  • Finish deleting Mutable from router implementation: #88046
  • fetch(next/image): reduce maximumResponseBody from 300MB to 50MB: #88588
  • [CC] Fix dev validation error from server action bound args: #88600
  • Fix incorrect 'Ready in' time for next start: #88589
  • feat: server action logging: #88277
  • Log browser error and warnings in terminal: #88352
  • Upgrade React from 4a3d993e-20260114 to bef88f7c-20260116: #88649
  • fix: make RedirectType constant properties literal types: #88653
  • Turbopack: add support for matching loaders on resource queries: #88644
  • fix: capture promisified setImmediate separately: #88346
  • fix: setImmediate[util.promisify.custom] access fails in edge runtime: #88685
  • Fix --debug-build-paths bracket escaping for glob patterns: #88660
  • Add negation pattern support to --debug-build-paths: #88654
  • Only filter next config if experimental flag is enabled: #88733
  • [Devtool Indicator] Fix cross alignment: #88664
  • Turbopack: don't use build id for pages router client-side manifests: #88641
  • Allow inspecting server with next start --inspect: #88744
  • Turbopack: Add --debug-build-paths support to filter routes: #88655
  • Upgrade React from bef88f7c-20260116 to 41b3e9a6-20260119: #88756
  • Use rewritten pathname for implicit cache tags: #88732
  • Upgrade React from 41b3e9a6-20260119 to d2908752-20260119: #88774
  • Add experimental_gesturePush to App Router: #88776
  • Rename rewroteURL to rewrittenPathname in request metadata: #88751
  • Simplify getImplicitTags to accept pathname instead of url object: #88753
  • Add NEXT_DEPLOYMENT_ID global: #86738
  • Turbopack: remove deployment id suffix from client reference manifest chunks: #88741
  • Inject <html data-dpl-id> and don't inline it into JS anymore: #88761
  • [metadata] match the Metadata and ResolvedMetadata type: #88739
  • Reuse bfcache data during Full prefetches: #88606
  • Embed static sibling info in route tree: #88692
  • Fix revalidatePath with params and trailing slash when deployed: #88623
  • fix: preserve cache behavior for PPR fallback shells with root params: #88556
  • Upgrade React from d2908752-20260119 to b546603b-20260121: #88860
  • stabilize browser log forward options: #88857
  • [devtools] Wrap long file names of stack frames in the error overlay: #88886
  • [devtools] Fix notch coloring of error overlay in forced colors mode: #88892
  • Remove deploymentId from App Router RenderOptsPartial: #88866
  • feat: implement LRU cache with invocation ID scoping for minimal mode response cache: #88509
  • [prebuilt-skew-protection] feat: adding in automatic deploymentId: #88496
  • [devtool] Add hydration diff indicator for diff lines: #88919
  • Revert "[prebuilt-skew-protection] feat: adding in automatic deploymentId": #88942
  • [turbopack] add task type infromation to the print_cache_item_size feature: #88925
  • Upgrade React from b546603b-20260121 to 24d8716e-20260123: #88963
  • Turbopack: add ?dpl= to all asset urls returned by Turbopack: #88828
  • feat(next-codemod): add agents-md command for AI coding agents: #88961
  • Update font data: #88975
  • Improve agents-md prompt to force doc retrieval: #88997
  • [Reapply] Add useEffectEvent to disallowed React APIs in Server Components: #88985
  • Apply fixes for onBuildComplete and route module: #88831
  • Rename renderOpts.nextExport to isBuildTimePrerendering: #88951
  • docs: fix typos in README.mds: #89022
  • refactor: consume global-error from loader tree: #88437
  • Fix chunk loading when using __turbopack_load_by_url__ with query: #88899
  • [mcp] change the mcp endpoint response to JSON: #88911
  • Reapply "[turbopack] Add bundling support for worker_threads" (#88725): #88967
  • fix: ensure LRU cache items have minimum size of 1 to prevent unbounded growth: #89040
  • Upgrade React from 24d8716e-20260123 to 8c34556c-20260126: #89066
  • Use null-prototype objects in server actions manifests: #89069
  • Re-enable types-and-precompiled: #89070
  • Apply segment changes to adapters outputs: #89072
  • Improve no response route handler error: #89036
  • Limit number of server action arguments to 1000: #89068
  • [prebuilt-skew-protection] feat: adding in automatic deploymentId: #88958
  • Decouple route stale time from segment-level data: #88834
  • Decouple route and segment cache lifecycles: #88989
  • [ci] Silence baseline-browser-mapping warnings: #89175
  • [Cache Components] Prevent streaming fetch calls from hanging in dev: #89171
  • React types update: #89110
  • [nextjs] feat: removing length requirement: #89173
  • add GPTBot to matcher for known bots: #89188
  • Ensure .md licenses are included in vendored packages: #89201
  • Switch development log item format as JSON: #89168
  • IsolatedDevBuild flag removal: #89167
  • fix: coerce HEAD to GET for internal images: #84180
  • Upgrade React from 10680271-20260126 to 230772f9-20260128: #89250
  • Upgrade tar used to extract SWC binary : #89158
  • Sort prerender manifest routes: #89246
  • Track vary params for segments without server-side param access: #88998
  • Optimistic routing: client-side route prediction: #88965
  • Keep pages/404.js to be able to dynamically render it anyway: #89263
  • fix: fully static pages should emit & serve static rsc payloads: #89202
  • fix: CSRF origin matching should be case-insensitive: #89127
  • fix(build): format runAfterProductionCompile duration as human-readable time: #89232
  • fix(router): support BigInt in query parameters: #89213
  • Update font data: #89200
  • Update font data: #89272
  • Turbopack: add support for contentType condition for webpack loaders: #89156
  • Revert "fix(router): support BigInt in query parameters": #89283
  • Track vary params during static prerendering: #89267
  • Improve lock dir error message: #89119
  • Ensures browserslist doesn't issue outdated warnings for baseline-browser-mapping: #89287
  • Replace build id in Pages data routes with deployment id: #88959
  • Upgrade React from 230772f9-20260128 to da641178-20260129: #89301
  • Inline handler dependencies instead of tracing: #89269
  • Turbopack: add rules.*.type config to allow changing the type of a module: #88788
  • Add experimental.varyParams feature flag: #89307
  • Fix/zlib mem node: #89099
  • Revert "Replace build id in Pages data routes with deployment id (#88959)": #89323
  • Turbopack: Rename crates/napi to crates/next-napi-bindings and update crate name: #89314
  • feat: detect @typescript/native-preview as alternative TypeScript compiler: #89149
  • Revert "Fix/zlib mem node": #89322
  • Turbopack: FreeVarReference::ReportUsage: #89302
  • Make Server Function logging opt-in via logging.serverFunctions: #89321
  • Restore default-enabled Server Function logging: #89407
  • Re-add build-complete traces for webpack: #89402
  • Skip Server Function logging for 'use cache' functions: #89408
  • Replace flight navigation build id field with header: #88855
  • Upgrade React from da641178-20260129 to ed4bd540-20260202: #89401
  • Upgrade React from ed4bd540-20260202 to b1533b03-20260203: #89444
  • Upgrade React from b1533b03-20260203 to 3e00319b-20260203: #89449
  • Rename CACHE_ONE_YEAR for clarity and fix usage: #89450
  • [Codemod] Fix agents-md on Windows: #89319
  • Experimental deferred entries handling: #88347
  • Add experimental.reportSystemEnvInlining for Turbopack: #89304
  • fix: use signal-based exit codes to prevent inspector blocking exit: #89351
  • Add Instant Navigation Testing API: #89465
  • Support MPA navigations in instant(): #89469
  • Handle Pages data route skew with deployment id header, take 2: #89325
  • Include owner stack for forwarded errors if available: #89493
  • [CC] Rename "unstable_prefetch" to "unstable_instant": #89448
  • Ensure module contexts are always included in adapter traces: #89508
  • Don't insert build id comment in HTML: #89478
  • Clarify type checking error message: #89525
  • Require explicit cacheLife on outer "use cache" when nesting short-lived caches: #89481
  • [Instant] Instant validation in Dev: #89077
  • Upgrade React from 3e00319b-20260203 to 95ffd6cd-20260205: #89550
  • Turbpopack: fix is_persistent_caching_enabled: #89533
  • Fix a small doc typo: #89553
  • Ensure _middleware is consistent in adapter for name/id: #89559
  • Ensure Errors with deep causal chains respect inspect depth: #89594
  • refactor: extract route discovery into unified discoverRoutes() API: #88971
  • Ensure static metadata are static outputs for adapters: #89574
  • Resolve local variable references in error code SWC plugin: #89596
  • Turbopack: Add --experimental-server-fast-refresh CLI flag: #89274
  • Fix deployment id header when proxying: #89593
  • fix: deprecated util._extend: #89614
  • Fix missing non-deferred turbopack build items: #89616
  • Revert "Ensure _middleware is consistent in adapter for name/id": #89624
  • Omit unused arguments for server actions: #89651
  • Upgrade React from 95ffd6cd-20260205 to 2dd9b7cf-20260208: #89681
  • Include AggregateError.errors in terminal output: #88999
  • fix(image): findClosestQuality returns 0 for low quality values: #89621
  • Upgrade React from 2dd9b7cf-20260208 to 272441a9-20260209: #89722
  • Avoid using unclosing prefetch streams in the browser: #89610
  • Pass shouldCache to all manifest loading calls: #89713
  • Add 2nd cloned body to FinalizationRegistry. Only used RuntimeStyles component for webpack: #88577
  • Tracing: trace render times as render-path: #89763
  • Turbopack: Server HMR infrastructure: #88870
  • Turbopack: Reorganize runtime files into shared/runtime directory: #89461
  • [Instant] Validation on client navs: #89777
  • Turbopack: extract core hmr client logic into shared runtime: #88912
  • Turbopack: Fix slow filesystem benchmark warning for next dev: #89798
  • Add turbopackIgnoreIssue config to suppress Turbopack warnings: #89682
  • Add support for with type: "text" under a new experimental flag, following what webpack did: #89560
  • Remove unused devtools code handling React without use: #89793
  • [devtools] Wrap overlay in Activity: #89818
  • Add CSS URL deployment ID suffix support: #89771
  • Fix cascading LRU eviction during prefetch batches: #89766
  • Refactor prerenderManifest passing: #89765
  • [AI] Ship bundled docs in next and generate AGENTS.md in create-next-app: #89850
  • Turbopack: Implement server hmr in nodejs dev runtime: #89130
  • Allow sitemap.ts and sitemap/page.tsx to coexist in Turbopack: #89789
  • [fragment-scroll] Cleanup scroll and focus restoration in layout router: #83110
  • [fragment-scroll] Add experimental.appNewScrollHandler: #83107
  • [Instant] Fix crash with search params: #89922
  • Fix memory leak in dev mode caused by fast-set-immediate: #89779
  • Trace upload: include experimental flag states: #89845
  • Upgrade React from 272441a9-20260209 to 6066c782-20260212: #89923
  • Add a better error message for when turbopack cannot be loaded: #89633
  • fix: support multiple icon formats with same base name (icon.png + icon.svg): #89504
  • Turbopack: Move turbopackIgnoreIssue from experimental to turbopack.ignoreIssue: #89817
  • Build with dev runtimes when --debug-prerender is set: #89834
  • Append deployment id query string for next-font: #89960
  • Fix parallel routes with deferred entries: #89967
  • Rename node extension utils for clarity: #89970
  • Model abandoning by signal: #89971
  • Fix missing incremental cache in middleware unstable_cache: #89980
  • Run fast immediates during prerender abort to fix flaky I/O stack traces: #89969
  • [fragment-scroll] Ensure hoisted elements don't break scroll-to-top on page navigations: #83108
  • dx: Include path count in export error message: #89333
  • fix(agents-md): use require.resolve() to get the installed next version: #89166
  • docs: agent skills, pr-status script, and AGENTS.md updates (1/8): #89857
  • Ignore prefetch={true} on Links to routes with instant: #90061
  • Expand deferred entries test suite and fix turbopack build: #90057
  • Use StageController for runtime prerendering: #89972
  • Improve task pipelining: #90065
  • fix(next/legacy/image): add deployment id (dpl) query string support: #89956
  • Cache expected missing manifest read: #89908
  • Use for...in instead of Object.keys for parallelRouteKey traversal: #89905
  • [Instant] allow non-blocking dynamic holes and errors in shared parents: #89875
  • Move prefetch hints from CacheNodeSeedData to FlightRouterState: #90066
  • [Instant] Don't block on client APIs that wouldn't block in the browser: #89924
  • [devtools] Add support for error causes in the dev overlay: #90108
  • Unify runInSequentialTasks across all sequential task work: #89978
  • Cleanup all stage promises on abort: #89984
  • segment cache: fix segment cache normalizer: #90111
  • Handle null history.state in client-side router popstate handler: #90083
  • Don't parse default postponedsizelimit: #89906
  • Turbopack: handle invalid RSC imports via importmap: #88146
  • [create-next-app] Improve AGENTS.md prompt wording: #90118
  • ensure maxPostponedStateSize is always respected: #90060
  • Upgrade React from 6066c782-20260212 to 4842fbea-20260217: #90144
  • [fragment-scroll] Stop focusing the first focusable host descendant: #89903
  • fix: normalize loopback only in hostname: #90158
  • Only error for sync IO after runtime in segments that would be runtime prefetched: #89979
  • [refactor] Replace runtime prefetch sentinel transform stream: #90160
  • fix: use Buffer.indexOf in uint8array helpers for faster byte scanning (3/8): #89864
  • Automatically build and clear native build when running pnpm build: #89819
  • fix(cache): DCE to avoid pulling server internals into browser bundles (4/8): #89865
  • Attach active src route to next global: #90171
  • Fix OTEL propagation and add direct entrypoint e2e coverage: #90181
  • Use cookie as sole protocol for instant navigation testing: #89871
  • Simplify metadata tag rendering to flat imperative style: #90209
  • Prevent unhandled rejection filter from being bundled into the server runtime: #90205
  • [Instant] speed up test instant-validation suite: #90214
  • Turbopack: fix static asset skew protection for edge and prerenders: #90238
  • Remove workStore from params/searchParams/pathname function signatures: #90215
  • Remove workStore from metadata resolution chain: #90217
  • [Instant] export "Instant" config type: #90257
  • Replace getDynamicParamFromSegment closure with interpolatedParams in metadata: #90249
  • [Instant] Dev Tools toggle for Instant Navigation Mode: #90222
  • [instant] Include declaration location of instant config in validation errors: #90169
  • Turbopack: rename ServerPaths to AssetPaths: #90234
  • feat(next/image): add lru disk cache and images.maximumDiskCacheSize: #89963
  • Revert "Handle null history.state in client-side router popstate handler": #90268
  • [devtools] Omit empty looking error messages: #90256
  • Fix runtime prefetch isPartial byte stripping when deployed: #90272
  • Upgrade React from 2ba30655-20260219 to ab18f33d-20260220: #90279
  • validate sync IO in generateMetadata according to Page's prefetchable status: #90164
  • Turbopack: support Subresource Integrity : #90152
  • segment cache: add test for passing unawaited promise to context provider: #89339
  • Fix route.replace crash with --debug-build-paths: #90312
  • refactor(app-render): extract stream-ops and debug-channel modules (5/8): #89858
  • [turbopack] Consider ignoreList of 3rd party sourcemaps in Redbox: #90317
  • [turbopack] Remove obsolete is_internal field : #90329
  • Fix: Image component ignores images.qualities in Jest environment: #89536
  • Revert "keep next-env.d.s unchanged between dev and build": #90384
  • Fix route cache keying for unprefetched navigations: #90400
  • Add support for Next.js error telemetry for AggregateError: #90391
  • Fix config.reactProductionProfiling for Webpack: #90430
  • next-image: fix deployment id handling for unoptimized: #90416
  • [ci] Fix input cache keys for tasks referencing rust-toolchain: #90442
  • next-image: fix dpl handling with unicode: #90420
  • Upgrade React from ab18f33d-20260220 to c0060cf2-20260224: #90452
  • [ci] Stop using Turbopack tests in native binary build cache keys: #90449
  • [Instant] Validate blocking head: #89539
  • Turbopack: Fix experimental server hmr for pages router: #90398
  • Fix params leaking into instant navigation shell in dev: #90455
  • Limit build workers to pages+1: #90475
  • fix: sanitize worker args for worker_threads compatibility: #90506
  • Fix varyParams tracking for optional catch-all params with no value: #90496
  • Don't start worker for Typescript when only doing config validation: #90504
  • [Instant] Fix loading.js not being counted as a suspense boundary: #90292
  • [ci] Crash if next-swc could not be loaded when NEXT_TEST_NATIVE_DIR is specified: #90387
  • Fix: server-patch retry preserves push/replace intent of suspended transitions: #90533
  • Cached Navigations: Serve cached segments instantly on repeat visits: #90223
  • Throw when unstable_instant is used in Client Component: #90396
  • [test] Fix jest-haste-map warnings: #82995
  • Don't require collect-build-traces with Turbopack: #90586
  • Enable experimental.reactDebugChannel by default: #90310
  • Less dynamic pages manifest path: #90581
  • Upgrade React from c0060cf2-20260224 to 98ce535f-20260226: #90605
  • Turbopack: Add Next.js version to "initialize project" trace span: #90545
  • [devtools] Stop sending codeframes for ignored frames: #90577
  • Allow reset() from user's global-error: #89684
  • Fix per-segment prefetching for initial loads with Cache Components: #90610
  • Add unstable_retry() to error.js: #89685
  • Fix edge index page _next/data route: #90611
  • Turbopack server hmr: Implement restart event: #90550
  • Turbopack: Panic if a top-level task attempts an eventually consistent read: #89735
  • Fix middleware case with adapters: #90624
  • refactor(turbopack-node): support execution by napi and worker_threads: #86266
  • [instant] Allow providing user feedback for blocking route errors: #90498
  • Allow Node.js' experimental inspector flags in next dev and next build: #90603
  • tests: Assert dpl query string in all tests for Turbopack: #90592
  • [instant] Don't add debug stack to random unstable_instant exports: #90273
  • Adapter: STATIC_FILE.immutableHash: #90045
  • Turbopack: experimental.immutableAssetToken: #88607
  • remove runInContext callbacks from stream-ops: #90609
  • Turbopack: restrict server HMR to app pages: #90663
  • Turbopack: Allow turbopack-node backend to be swapped at runtime using an experimental config option: #90671
  • Turbopack: Revert default loader runtime backend to child processes: #90675
  • [devtools] Stop blocking overlay on error details copy: #90698
  • feat: provide nextVersion to modifyConfig adapter hook: #90735
  • experimental.prefetchInlining: bundle segment prefetches into a single response: #90555
  • instant(): fix cookie handling for fresh page loads: #90613
  • fix(turbopack): use posix.join for client URL manifest paths on Windows: #90700
  • Turbopack: improve cell order lint rule for ReadRef::cell: #88500
  • Change names of logged times: #90688
  • [devtools] Bump React Compiler version to latest experimental: #90763
  • Skip writeToBfCache without window: #90771
  • docs: error component unstable_retry(): #89732
  • Stub adapterPath with experimental.runtimeServerDeploymentId: #90790
  • Conditionally load uncommon paths: #90514
  • Refactor extractExportedConstValue to return { value } | null instead of throwing: #90510
  • Reimplement code frame rendering in native code: #85592
  • [devtools] Bundle for same target as Next.js browser runtime: #90762
  • Upgrade React from 98ce535f-20260226 to 4cc5b7a9-20260303: #90827
  • Add transitionTypes prop to next/link: #90701
  • [otel] fix missing http.route attribute: #90832
  • [otel] set parent span name: #90840
  • Update default error pages: #90469
  • Replace PPR config helpers with cacheComponents checks: #90704
  • Cached Navigations: Cache visited fully static pages in the segment cache: #90306
  • Remove isRoutePPREnabled from render options and delete dead PPR branch: #90713
  • Use page extensions in next-swc transforms applying to pages: #90650
  • Cached Navigations: Cache static stage of partially static initial HTML: #90539
  • Remove PrerenderStorePPR type and all prerender-ppr switch cases: #90721
  • Clean up legacy PPR references in test fixtures: #90725
  • Cached Navigations: Cache runtime stage data from navigation requests: #90666
  • Remove legacy PPR postpone cluster: #90726
  • partial fallbacks: add adapter flag: #90395
  • Address review feedback: extract modules, clean up imports: #90813
  • Add trace spans for turbopack persistence in .next/trace: #90397
  • Upgrade React from 4cc5b7a9-20260303 to 3bc2d414-20260304: #90876
  • Fix prefetch inlining build failure with dynamic routes: #90899
  • Update @vercel/og and satori vendors: #90933
  • Batch require cache deletion to avoid quadratic scanning: #90625
  • Revert legacy PPR removal: #90948
  • Rewrite instant validation to use depth-based URL boundary discovery: #90905
  • Add experimental.cachedNavigations feature flag: #90928
  • preserve allowQuery for partial fallback shells: #90887
  • Cache runtime data for partially static pages on initial load (resume): #90888
  • re-introduce partial fallback -> route upgrading: #89063
  • fix: Don't fall through to catch-all when static child subtree doesn't match: #90957
  • Bump Node heap limit for lint-no-typescript to avoid OOM in CI: #90996
  • Upgrade React from 3bc2d414-20260304 to 46103596-20260305: #90989
  • fix: trigger MPA navigation for server action redirects with build ID mismatch: #89946
  • Improve webpack loader error messages and handling: #89698
  • Turbopack: implement module.hot.accept(deps, cb) and module.hot.decline(deps): #90443
  • partial fallbacks: gate behind experimental flag: #91123
  • fix: app-page URL normalization: #91121
  • Updates to Instant Navs devtools functionality: #91005
  • Trace upload: add git and environment info: #91124
  • fix(css): rewrite MiniCssExtractPlugin insert function to ES5 to support legacy browsers: #90556
  • Revert "Address review feedback: extract modules, clean up imports": #91159
  • [turbopack] Render code frames on the turbopack side: #90534
  • Add experimental.lightningCssFeatures config option: #90901
  • fix: correct appPaths sort order for parallel routes with route groups: #91160
  • Tracing: tag spans as failed if their runner fn fails: #91206
  • Adds a Start button to the Instant Navs panel to initiate inspection …: #91216
  • Preserve RSC metadata in Proxy request with skipProxyUrlNormalize: #91213
  • [cna] Bump picocolors to 1.1.1: #91252
  • [Instant] Build-time validation: #90964
  • [Instant] fix instant config suggested by editor plugin: #91262
  • chore(deps): Bump tar from 7.5.7 to 7.5.11 in /packages/next: #91233
  • Upgrade React from 46103596-20260305 to 5e9eedb5-20260312: #91272
  • feat(server): expose requestMeta router helpers and merge fallback context: #91235
  • [Instant] Show owner stack for validation-blocking errors: #91277
  • Hydrate page loads during instant navigation testing: #91207
  • perf: use Buffer.from for base64 encoding of binary Flight data: #91221
  • Skip dimming when --inspect is used: #91271
  • Respect generateStaticParams in instant navigation shell: #91316
  • [Prefetch Inlining] Generate size-based hints on server: #90891
  • Wire cache handlers in edge paths and add e2e regression coverage: #91236
  • Expose edge runtime fields in build-complete: #91239
  • [turbopack] Remove turbo_tasks::function from ModuleReference getters: #91229
  • [Turbopack] write route bundle stats to .next/diagnostics/route-bundle-stats.json: #90949
  • partial fallbacks: only upgrade shells with remaining prerenderable params: #91158
  • partial fallbacks: complete generic shells into more specific shells: #91231
  • Add eval and docs for unstable_instant: #91334
  • Simplify scroll restoration with shared ScrollRef on CacheNode: #91348
  • fix: test-cargo-unit CI job timing out since LTO was enabled: #91424
  • fix(build): don't block SSG on telemetry flush, add persistence spans to trace-build: #91335
  • Ready in X - prints wrong timing on dev server restart: #90874
  • Show generated code from loaders in parse error messages: #89898
  • Remove unused layer from server actions manifest: #91425
  • Support accessing root params in generateStaticParams: #91189
  • Avoid undefined outer work unit store in "use cache": #91190
  • Add unstable_dynamicStaleTime route segment config: #91437
  • [next-playwright] Use unique cookie values for instant navigation testing lock: #91250
  • Add unstable_catchError() API for component-level error recovery: #89688
  • docs(turbopack): Fix all warnings in cargo doc --no-deps --workspace, and run rustdoc as part of our CI checks: #91339
  • Patch improvements into http-proxy lib: #91480
  • Disallow Server Action submissions from privacy-sensitive contexts: #91478
  • Fix startup warmup for empty-shell app route cache: #91470
  • Fix unstable_catchError type inference for fallback props: #91485
  • Support accessing root params in "use cache" functions: #91191
  • Fix inconsistent cache life/tags propagation for cache handler hits: #91454
  • Upgrade React from 5e9eedb5-20260312 to c80a0750-20260312: #91324
  • Error when accessing undefined root params in generateStaticParams: #91519
  • Buffer prefetch response before passing to Flight client: #91487
  • [Segment Cache] Always upsert on prefetch completion: #91488
  • Track vary params during runtime prefetches: #89297
  • [react-sync] Allow locking in manual sync: #91509
  • Remove devCacheControlNoCache experimental option (hard-code no-cache): #91503
  • fix allowedDevOrigins for no-cors requests: #91506
  • Remove webpack stats generation from Turbopack: #91515
  • Upgrade React from c80a0750-20260312 to 3f0b9e61-20260317: #91522
  • Move adapterPath from experimental to stable top-level config: #91535
  • block disallowed dev origins by default: #91507
  • Turbopack: Merge release-with-assertions-no-lto profile into release-with-assertions: #91530
  • improve allowedDevOrigins error: #91521
  • Add group depth tracking to instant validation boundary discovery: #91208

Documentation Changes

  • docs: next experimental-analyze: #87272
  • docs: use cache private redo: #87111
  • docs: fix highlight in 05-server-and-client-components.mdx: #87347
  • Guide: Update Optimizing Package Bundling to include new Bundle Analyzer: #87246
  • docs: generateMetadata and generateViewport w/ CC: #87218
  • docs: tweaks/fixes to papercuts: #87445
  • docs: fix typos and clarify examples in Cache Components guide: #87530
  • [docs] add get_routes in mcp available tools: #88181
  • Update generateMetadata in client component error: #88172
  • docs: fix CSP example to only include unsafe-eval in development: #88407
  • docs: add useSearchParams and useParams documentation for Pages Router: #88429
  • docs: fix Pages Router fonts documentation showing App Router examples: #88326
  • doc: add details of mcp client integration: #88543
  • Turbopack: query conditions in rules follow-ups: #88801
  • Docs: Add Next.js Glossary: #88811
  • docs: Server functions rename: #86827
  • docs: Update Partytown URLs and package reference: #88928
  • docs: improve clarity in cache components and server/client docs: #88946
  • docs: revalidatePath w/ rewrites and trailing slash: #88956
  • Cache Component Guide: Building public, mostly static pages: #87248
  • Turbopack: Add postcss.config.ts support: #89049
  • CC Guide: Fix filenames, reduce line breaks: #89065
  • docs: fix code highlight in 07-fetching-data.mdx: #88727
  • [docs] Always include unsafe-eval in dev Content-Security-Policy: #89163
  • Turbopack: add support for turbopackOptional: true: #89227
  • docs: Rename Error component to ErrorPage: #89284
  • docs: replace 'can not' with 'cannot': #89354
  • docs: Fix custom server code snippets: #89400
  • Snippet multi package syntax: #89381
  • Fix indentation of types of tests in docs: #89409
  • docs: Fix syntax in proxy example code: #89395
  • docs: fix ISR guide link to res.revalidate: #89342
  • Fix spelling in robots.mdx documentation: #89565
  • Remove more examples: #89709
  • clarify unstable_cache replacement with use cache: #89435
  • docs: correct use term: #89438
  • [docs] Add RedirectType usage example to permanentRedirect: #89833
  • Next CLI flags documentation: #89750
  • docs: adapt lead to source path patterns: #89392
  • docs: Papercuts Feb26: #89484
  • After() docs requests API: #89837
  • docs: Move browserToTerminal into logging: #88901
  • Update documentation to explain behavior in a Catch-all route: #89742
  • docs: add deploymentId config and clarify encryption key for self-hosting: #89795
  • docs: adapterPath amends: #89930
  • docs: improve next/image localPatterns error page: #89914
  • docs: inline-css dev-action oriented: #89064
  • docs: document cacheLife expire omission behavior and fix default preset value: #89913
  • docs: Activity boundary guide: #89126
  • Turbopack: Add inline loader configuration via import attributes: #89644
  • docs: fix broken blockquote formatting in API Routes page: #89966
  • docs: clarify async instrumentation register request : #90039
  • Add AGENTS.md and bundled docs guide: #89973
  • In-Depth Explanation of React Version Handling Doc: #89426
  • Next.js sticky scroll standards: #90197
  • docs: fixes typo in manifest.mdx regarding Route Handler note: #90394
  • docs: improve form guide consistency and validation examples: #90361
  • docs: rework version staleness: #90192
  • docs: clarify that next upgrade is for 16.1.x+: #90435
  • Add not-found.js / notFound() links to Status Codes section: #88332
  • docs: update with more patterns and decision based: #90203
  • docs: add Docker Standalone and Docker Export examples to Deploying page: #90386
  • feat: Join guides and frame around UI preservation: #90595
  • docs(deploying): add Hostinger Web Apps Hosting to Node.js deployment options: #90246
  • docs: fix navigationType value and variable n

These notes run past the length kept in the archive. The rest is on the publisher’s page.