| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| Parent folder | |||
| README.md | 2026-03-18 | 74.1 kB | |
| v16.2.0 source code.tar.gz | 2026-03-18 | 50.2 MB | |
| v16.2.0 source code.zip | 2026-03-18 | 64.2 MB | |
| Totals: 3 Items | 114.5 MB | 0 | |
[!TIP]
Check out our Next v16.2 Blog Post to learn more about this release.
Core Changes
- Upgrade React from
f93b9fd4-20251217to65eec428-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.strictRouteTypesconfig: [#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
satisfieswhen validating page and route modules: [#87398] - [strict-route-types] Don't reject
numberinconfig.api.bodyParser.sizeLimitwhen 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.maximumResponseBodyconfig: [#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
noUncheckedSideEffectImportsfor 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-20251218to3e1abcc8-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-20260113to4a3d993e-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-20260114tobef88f7c-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-pathsbracket 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-pathssupport to filter routes: [#88655] - Upgrade React from
bef88f7c-20260116to41b3e9a6-20260119: [#88756] - Use rewritten pathname for implicit cache tags: [#88732]
- Upgrade React from
41b3e9a6-20260119tod2908752-20260119: [#88774] - Add experimental_gesturePush to App Router: [#88776]
- Rename
rewroteURLtorewrittenPathnamein request metadata: [#88751] - Simplify
getImplicitTagsto accept pathname instead of url object: [#88753] - Add
NEXT_DEPLOYMENT_IDglobal: [#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
revalidatePathwith params and trailing slash when deployed: [#88623] - fix: preserve cache behavior for PPR fallback shells with root params: [#88556]
- Upgrade React from
d2908752-20260119tob546603b-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
deploymentIdfrom App RouterRenderOptsPartial: [#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-20260121to24d8716e-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
useEffectEventto disallowed React APIs in Server Components: [#88985] - Apply fixes for onBuildComplete and route module: [#88831]
- Rename
renderOpts.nextExporttoisBuildTimePrerendering: [#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-20260123to8c34556c-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-mappingwarnings: [#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
.mdlicenses 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-20260126to230772f9-20260128: [#89250] - Upgrade
tarused 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
browserslistdoesn't issue outdated warnings forbaseline-browser-mapping: [#89287] - Replace build id in Pages data routes with deployment id: [#88959]
- Upgrade React from
230772f9-20260128toda641178-20260129: [#89301] - Inline handler dependencies instead of tracing: [#89269]
- Turbopack: add
rules.*.typeconfig 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-20260129toed4bd540-20260202: [#89401] - Upgrade React from
ed4bd540-20260202tob1533b03-20260203: [#89444] - Upgrade React from
b1533b03-20260203to3e00319b-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.reportSystemEnvInliningfor 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
cacheLifeon outer"use cache"when nesting short-lived caches: [#89481] - [Instant] Instant validation in Dev: [#89077]
- Upgrade React from
3e00319b-20260203to95ffd6cd-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-20260205to2dd9b7cf-20260208: [#89681] - Include
AggregateError.errorsin terminal output: [#88999] - fix(image): findClosestQuality returns 0 for low quality values: [#89621]
- Upgrade React from
2dd9b7cf-20260208to272441a9-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-20260209to6066c782-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-prerenderis 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 installednextversion: [#89166] - docs: agent skills, pr-status script, and AGENTS.md updates (1/8): [#89857]
- Ignore
prefetch={true}on Links to routes withinstant: [#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-20260212to4842fbea-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
isPartialbyte stripping when deployed: [#90272] - Upgrade React from
2ba30655-20260219toab18f33d-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
ignoreListof 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.reactProductionProfilingfor 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-20260220toc0060cf2-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_DIRis 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_instantis used in Client Component: [#90396] - [test] Fix jest-haste-map warnings: [#82995]
- Don't require collect-build-traces with Turbopack: [#90586]
- Enable
experimental.reactDebugChannelby default: [#90310] - Less dynamic pages manifest path: [#90581]
- Upgrade React from
c0060cf2-20260224to98ce535f-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
restartevent: [#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 devandnext build: [#90603] - tests: Assert dpl query string in all tests for Turbopack: [#90592]
- [instant] Don't add debug stack to random
unstable_instantexports: [#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-20260226to4cc5b7a9-20260303: [#90827] - Add
transitionTypesprop tonext/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
isRoutePPREnabledfrom 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
PrerenderStorePPRtype and allprerender-pprswitch 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-20260303to3bc2d414-20260304: [#90876] - Fix prefetch inlining build failure with dynamic routes: [#90899]
- Update
@vercel/ogandsatorivendors: [#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.cachedNavigationsfeature 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-20260304to46103596-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
picocolorsto 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-20260305to5e9eedb5-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
--inspectis used: [#91271] - Respect
generateStaticParamsin 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::functionfrom 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
undefinedouter work unit store in"use cache": [#91190] - Add
unstable_dynamicStaleTimeroute 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-proxylib: [#91480] - Disallow Server Action submissions from privacy-sensitive contexts: [#91478]
- Fix startup warmup for empty-shell app route cache: [#91470]
- Fix
unstable_catchErrortype 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-20260312toc80a0750-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-20260312to3f0b9e61-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 Bundlingto 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-evalin devContent-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
RedirectTypeusage example topermanentRedirect: [#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 name in useReportWebVitals: [#90599]
- Accept header content negotiation: [#90607]
- docs: clarify native <script> usage for JSON-LD in docs: [#90380]
- Create next app CLI docs: [#90788]
- Unify caching story across the docs: [#90149]
- update proxy docs to use NextProxy type: [#90647]
- Loading layout docs update: [#90787]
- Uncached data suspense issue: [#90450]
- docs: explain deploy test custom scripts: [#90966]
- Update adapters documentation: [#90986]
- docs: large page data error: [#90920]
- docs(localFont): enhance details about using the localFont function: [#88189]
- chore(docs): mention behavior of redirects and remotePatterns: [#91151]
- docs: More Server Actions security guidance across docs: [#90878]
- docs: Streaming guide: [#90779]
- Docs: Split route segment config options into their own files: [#90991]
- Expose resolved invocation targets in next-routing: [#91242]
- docs: remove incorrect _document.tsx font example: [#91346]
- docs:
unstable_catchError(): [#89847] - SRI turbopack documentation: [#90477]
- docs: Clarify ignoreBuildErrors behavior: [#91367]
Example Changes
- fix: Change Dockerfile.bun to use group/useradd instead of addgroup/user: [#87443]
- fix(examples): resolve hydration mismatch in blog-starter: [#87703]
- Update with-mysql example to Next.js 15, Tailwind 4, Prisma 7: [#88475]
- chore(examples): remove
with-recoilexmaple: [#81836] - chore(examples): remove
with-tigrisexample: [#81843] - [feat] Added Docker examples for standalone output and export output following best practices: [#87069]
- Migrate from react-markdown to Streamdown static in EdgeDB example: [#86435]
- example: restore .next handling for with-docker examples: [#90651]
- with-docker: add new config file formats: [#90731]
- example: remove duplicate items in .dockerignore: [#91079]
Misc Changes
- Turbopack: refactor graph traveral and fix module graph determinism: [#87312]
- bundle analyzer: remove uncompressed toggle, stabilize top bar ui: [#87325]
- test: de-flake client-cache deployment tests: [#87412]
- Revert "Revert "[turbopack] Set
livenessof exports based on assignment analysis (#82802)"": [#87214] - ci: track runner name on datadog test reports: [#87440]
- Turbopack: In CI only persist at the end: [#87316]
- fix: correct quotes in dev script filter in package.json: [#87638]
- chore: add a missing period to rspack description: [#86526]
- [test] Move off of as much
url.parseas possible: [#87286] - Update Rspack production test manifest: [#87889]
- Update Rspack development test manifest: [#87888]
- chore(turbo-tasks-malloc): replace mimalloc-rspack to mimalloc: [#87815]
- fix: normalize CRLF line endings in jscodeshift tests on Windows: [#88008]
- chore: add Claude Code configuration: [#87943]
- test: reduce flakiness in opentelemetry test for prod mode: [#88102]
- Rename CLAUDE.md to AGENTS.md with symlink: [#88105]
- [turbopack] Populate the
namesfield of sourcemaps: [#87911] - Turbopack: fix order of breadth first edges: [#88117]
- Turbopack: transpile CHUNK_SUFFIX: [#88128]
- chore: add dev boot profiling and benchmark scripts: [#87940]
- perf: improve stats action reliability and reduce CI noise: [#87945]
- Update Rspack production test manifest: [#88137]
- Update Rspack development test manifest: [#88138]
- Fix compile error when running next-custom-transform tests: [#83715]
- chore: add Conductor configuration for parallel development: [#88116]
- fix: move conductor.json to repo root for proper detection: [#88184]
- Turbopack: Update to swc_core v50.2.3: [#87841]
- ci: run stats on canary pushes for historical trend tracking: [#88157]
- perf: improve stats thresholds to reduce CI noise: [#88158]
- Turbopack: Use batch get request to read more efficient from database: [#87106]
- Turbopack: improve aggregation update performance: [#87317]
- Add test creation instructions to agents.md: [#88215]
- Turbopack: report changed env vars in tracing: [#88195]
- Turbopack: get rid of some manual self.await-s: [#88236]
- Guard against Object/Array shadowing in 'use cache' transform: [#88229]
- feat(turbo-tasks-fs): support multi denied_paths: [#88186]
- Upgrade to swc 54: [#88207]
- ci: fix javascript-urls test to account for React 18: [#88249]
- Turbopack: Remove tokio and turbo-task handles from Invalidator: [#88242]
- Turbopack: remove Stateful flag: [#88196]
- Upgrade to rustc 2026-01-04: [#88095]
- Turbopack: include children count in "task execution completed" span: [#87318]
- Turbopack: avoid blocking tasks for I/O work: [#87661]
- Turbopack: flatten trace when it reaches cut off depth: [#88118]
- Turbopack: remove unused code: [#88274]
- Turbopack: escape colon in output names: [#88273]
- [test] Add a failing test for cycle serialization in segment prefetches: [#88287]
- Turbopack: scope hoisting bug with reexport-self-star: [#86131]
- Turbopack: Add #[automatically_derived] to proc macros: [#88281]
- Update Rspack development test manifest: [#88260]
- Turbopack: Use
format!instead ofanyhow!inside ofanyhow::Context::with_contextcalls: [#88293] - Turbopack: pull in updated vercel/nft tests: [#88162]
- Fix pack-next script for next-swc: [#88126]
- Turbopack: use correct flags in tests: [#88307]
- Turbopack: fix task category on reading cells: [#88309]
- agent.md: Explain where the Next.js core code lives: [#88314]
- Turbopack: improve next-server.nft.json tests: [#88320]
- Turbopack: add family to database read span: [#88323]
- Tests: Reduce loglines from apply patch delay: [#88224]
- Turbopack: prefetch children too: [#88324]
- Turbopack: more stale details for tracing: [#88306]
- Turbopack: make GraphTraversal deterministically calling all nodes before erroring: [#88119]
- Turbopack: improve error message for incompatible swc plugins: [#86346]
- Update Rspack development test manifest: [#88301]
- Update Rspack production test manifest: [#88300]
- Stats Action: Add ready in time: [#88283]
- fix: skip stats-aggregate job for docs-only changes: [#88330]
- docs: add PR description guidance to AGENTS.md: [#88408]
- ci: Fix retry comments in workflow files: [#88412]
- [test] Deflake
test/integration/invalid-custom-routes/test/index.test.ts: [#88416] - [test] Remove rogue debug log: [#88423]
- Update AGENTS.md with PR template and test generation requirements: [#88417]
- Add .cursor/worktrees.json configuration: [#88415]
- docs: add guidance for code block highlight line numbers to AGENTS.md: [#88430]
- [turbopack] Compute transitive side effects and use them to trim imports: [#86675]
- fix(turbo-tasks-backend): use correct TaskDataCategory for is_immutable check: [#88331]
- perf(turbo-tasks-backend): use DefaultStorage for AggregationNumber to save memory: [#88336]
- [Turbopack] Move DirList to its own module: [#88256]
- docs: add rebuild guidance and ICE troubleshooting to AGENTS.md: [#88337]
- Type-check
run-tests.jsand remove unusedrelatedflag: [#88433] - [test] Remove obsolete reference to
NEXT_TEST_SKIP_RETRY_MANIFEST: [#88434] - Revert "[Turbopack] Move DirList to its own module": [#88441]
- [scripts] Avoid conflicting type for
pack-next --compress: [#88439] - Update Rspack production test manifest: [#88403]
- Update Rspack development test manifest: [#88404]
- [test] Always run all tests without aborting on failure: [#88435]
- Turbopack: remove sourcemapping comments: [#88217]
- Turbopack: use mimalloc on Linux musl: [#88426]
- Turbopack: add support for selective reads of keyed cell values: [#88303]
- Turbopack: Reduce usage of parse_quote in turbo-tasks-macros: [#88454]
- Turbopack: don't cell in async map: [#88473]
- Turbopack: replace is_reference_used with unused_references set: [#88304]
- Turbopack: add lint rule to not cell in async map: [#88474]
- Turbopack: Remove dead generic_type_macro code: [#88455]
- Turbopack: remove unused code: [#88497]
- Turbopack: improve cell order lint rule: [#88498]
- Turbopack: parallelize making dependent tasks dirty: [#86755]
- Turbopack: fix bad performance edge case in production chunking: [#88508]
- Remove
lerna bootstrapfrom thecleanscript in package.json: [#88527] - Turbopack: Clean up
VcRead::Reprassociated type: [#88456] - [cna] Avoid error with out-of-box Netlify config: [#88546]
- [turbopack] Move some of the logic for issue filtering into the rust layer: [#88511]
- Update Rspack production test manifest: [#88469]
- Update Rspack development test manifest: [#88470]
- feat: add TaskStorage derive macro and schema infrastructure: [#88338]
- [ci] Don't retry/notify for failed deploy tests with custom tarball URLs: [#88576]
- fix(turbopack): Collect
declare global {}inVarDeclWithTsDeclareCollector: [#88568] - Update labeler.json: [#88591]
- Fix optional
parent_task_idcompile failure w/tokio_tracingenabled: [#88598] - Turbopack: support disabling tsconfig lookup: [#88529]
- Turbopack: run tasks with priority based on distance to leaf: [#87662]
- Turbopack: avoid removing cells for erroring tasks: [#88305]
- [ci] Use native
concurrencyfeature in build-and-test: [#87287] - Turbopack: unflake unit test: [#88620]
- Turbopack: snapshot the ModuleGraph to avoid (eventual) inconsistent graphs: [#88340]
- Turbopack: Consistency for compute_async_module_info: [#88409]
- Turbopack: follow tracing spans through aggregation update queue: [#88410]
- Turbopack: avoid chunk_item_id task and use selective cell access instead: [#88411]
- Turbopack: MappedReadRef should be Send and Sync: [#88558]
- Turbopack: selective read for module_chunk_groups in ChunkGroupInfo: [#88559]
- Turbopack: use selective reads for merged modules: [#88560]
- Turbopack: add caching to chunking: [#88561]
- Turbopack: use bugs.nextjs.org for Turbopack panic error reports: [#88356]
- Turbopack: docs: condition.query will ship in 16.2.0, not 16.1.1: [#88663]
- [turbopack] Add bundling support for worker_threads: [#87746]
- [cna] Ensure created app is not considered the workspace root in pnpm: [#88647]
- Revert "[turbopack] Add bundling support for worker_threads": [#88725]
- [ci] Enable Turborepo remote caching in e2e release deploy tests: [#88746]
- [test] Deflake
test/development/app-dir/browser-log-forwarding/fixtures/verbose-level/verbose-level.test.ts: [#88754] - Fix
Build Commandssection in AGENTS.md: [#88757] - [test] Deflake
test/development/app-dir/hydration-error-count/hydration-error-count.test.ts: [#88749] - [ci] Exclude
test/productionfrom deploy tests: [#88763] - Apply
buildArgsalso for deploy tests (viapackage.json): [#88731] - [ci] Ensure Turbo Remote Cache can be written to: [#88794]
- perf(turbopack): optimize resolve plugin handling: [#88639]
- Fix buildManifest.js deployment tests: [#88806]
- [ci] Merge Cache Components and deploy tests manifests when running CC deploy tests: [#88824]
- Turbopack: Extend filesystem watcher fuzzing to cover symlinks and junction points: [#88192]
- [test]: add ability to run test-deploy with pre-existing deployment: [#88829]
- Update deterministic-build assertion: [#88820]
- Turbopack: shrink amortized: [#88619]
- Fix deployment test due to data-dpl-id attribute: [#88846]
- [ci] Fix Rspack/Turbopack test manifest generation: [#88845]
- Turbopack: show compressed size for print_cache_item_size: [#88850]
- [test] Fix deploy test of
cache-components.server-action.test.ts: [#88854] - Turbopack: Use a real file entrypoint for Workers (and SharedWorkers): [#88602]
- Turbopack: Add file write invalidation tracking to filesystem watcher fuzzing: [#88665]
- Turbopack: Move fuzzer for fs watcher into a separate file/module: [#88666]
- Turbopack: Add a stress test / fuzzer that tries creating many symlinks in a tight loop: [#88667]
- Turbopack: Make the priority_runner testcase deterministic: [#88651]
- Turbopack: Various cleanup for turbo-tasks-fs, mostly retry logic and string formatting: [#88668]
- Turbopack: Tweak retry loop for link creation to try to fix os error 80 on Windows: [#88669]
- feat: Replace InnerStorage with the generated TaskStorage struct: [#88355]
- Turbopack: Use webpki-root-certs in addition to rustls-platform-verifier on Linux for bare-bones Linux images without root CA stores: [#88869]
- refactor: migrate to typed accessors and remove CachedDataItem adapter: [#88397]
- docs: add skill for updating Next.js documentation: [#88656]
- Turbopack: [chore] Fix Rust check warnings: [#88871]
- Create-next-app update message: [#88706]
- Turbopack: Fix next/font preloading for page.mdx: [#88848]
- Update Rspack production test manifest: [#88882]
- [test] Skip failing deploy test in
searchparams-reuse-loading.test.ts: [#88821] - [test] Skip flaky
prefetch-runtimetests for deploy tests: [#88826] - remove gt workflow from agents.md: [#88918]
- Turbopack: refactor data storage to avoid reverse task cache: [#88492]
- Turbopack: change invalidator and immutable to data category: [#88889]
- Turbopack: reduce cache size: [#88929]
- fix typo: [#88934]
- Turbopack: improve module type error message: [#88815]
- Turbopack: improve selective read support to allow
Equivalentkeys: [#88760] - Turbopack: add indirection layer for better caching during resolving: [#80062]
- Add Graphite workflow Cursor command: [#88939]
- Update Rspack production test manifest: [#88930]
- Update Rspack development test manifest: [#88931]
- Improve performance and token usage of
/ci-failurescommand: [#88960] - [Turbopack] Use a presized scratch buffer for task encoding: [#88924]
- Update Rspack development test manifest: [#89004]
- Update Rspack production test manifest: [#89003]
- Turbopack: remove Asset supertrait from Module trait. Modules don't have content: [#86416]
- [test] Improve deployment skew test for Pages Router data routes: [#89038]
- Fix react-loadable-manifest chunk hash mismatch by preserving async loader mapping: [#88775]
- Fix reset deploy project script: [#89001]
- Revert "Fix react-loadable-manifest chunk hash mismatch by preserving async loader mapping": [#89073]
- /pr-status (former /ci-failures): fetch PR reviews too: [#89082]
- Improve /pr-status: comments, argument, avoid full log: [#89092]
- chore(ci): rename 'new tests' jobs to 'new and changed tests': [#89054]
- [ci] Exclude tests by filename when merging manifests: [#89093]
- Turbopack: import with type should be handled via condition: [#89035]
- Enable pnpm dependency caching in e2e deploy tests: [#88953]
- [ci] Make
gh auth statusoptional when triggering a release: [#89098] - Update Rspack development test manifest: [#89084]
- tweak LRU sentinel cache key: [#89123]
- Turbopack: allow key block without hash in SST files: [#88938]
- Turbopack: Remove unused argument: [#80235]
- Prettier-ignore changes in
next-env.d.tsfiles in all top-level apps: [#89176] - Turbopack: warn when tracing the whole project: [#89157]
- Add full adapters E2E tests to workflow: [#89125]
- Update Rspack production test manifest: [#89147]
- Fix @next/routing for i18n api and dynamic routes: [#89197]
- Remove Vercel specific assertions from E2E deploy: [#89198]
- Add custom deploy and logs env for next-deploy: [#89206]
- Turbopack: change AsyncModulesInfo to use keyed reads: [#89216]
- Turbopack: selective reads of defined env vars in module analysis: [#88759]
- Turbopack: fix tracking modifications for transient and data: [#89228]
- [ci] Clear Jest transform cache: [#89247]
- Turbopack: Make the globals we pass to workers configurable: [#88773]
- Accept deploy script and log script as inputs: [#89253]
- [turbopack] mark persistent_task_type as inline: [#89185]
- [test] Add test suite name for Tests failures table: [#89258]
- refactor: Improve templates layout flexibility: [#89245]
- test: add client-cache.defaults failing deploy test: [#89242]
- test: add resume-data-cache failing deploy test: [#89243]
- [turbopack] Make shrinking logic declarative and optimize for immutable tasks: [#89222]
- Turbopack: Trace task modifications: [#89229]
- Turbopack: refactor extend transforms: [#89116]
- Turbopack: improve print_cache_item_size: [#89279]
- Update Rspack development test manifest: [#89278]
- Update Rspack production test manifest: [#89277]
- Improve consistency of how Flag typed fields are handled in the macro to more structurally prevent bugs like what was fixed in [#89228]: [#89255]
- Add failing test to deploy-tests-manifest: [#89318]
- Apply server actions transform to
node_modulesin route handlers: [#89316] - [test] Deflake
browser-log-forwarding verbose leveltest suite: [#89324] - Turbopack: Move PrettyPrintError to turbo_tasks and add tests: [#89280]
- Update Rspack production test manifest: [#89372]
- Update Rspack development test manifest: [#89371]
- TURBOPACK: support chunk_loading_global method: [#88790]
- Don't upload build cache for deployment tests: [#89432]
- Add separate E2E deploy env for turbopack tests: [#89458]
- Turbopack: Symbol.for and keyFor are sideeffect-free: [#89454]
- Update Rspack production test manifest: [#89423]
- Update Rspack development test manifest: [#89424]
- Turbopack: improve suggestions for experimental.reportSystemEnvInlining: [#89486]
- Add experimental flag to expose testing API in production builds: [#89499]
- Proper e2e test of function determinism: [#88908]
- Turbopack: add turbo-persistence benchmark: [#89446]
- Proper e2e test of function determinism - adapter: [#89522]
- [test] consolidate the browser log test: [#89601]
- Fix flaky turbo cache pull with retries and graceful fallback: [#89575]
- Turbopack: Pass globals to node.js workers as well: [#89261]
- Upgrade rustc to 2026-02-05: [#89591]
- Update metadata assertions: [#89625]
- Update vercel CLI version in flakey deployment-id test: [#89652]
- Turbopack: remove unneeded benchmarks: [#89592]
- Turbopack Persistence: Remove amqf cache, store all amqfs in memory: [#89562]
- Add inline value support for small values (≤8 bytes): [#89271]
- [turbopack] remove the
_backendfield from TaskGuardImpl: [#89015] - [Turbopack] Include CSS URL attributes, including Layer, Media and Supports: [#89300]
- docs: add task decomposition and verification guidelines: [#89640]
- Turbopack: Remove old
Vc::try_resolve_*methods in favor of theResolvedVcalternatives: [#89696] - Fix reset-project script for E2E deploy tests: [#89693]
- feat: move font variables to html in create-next-app: [#89632]
- reduce the number of shards on small systems: [#89731]
- Update Rspack production test manifest: [#89701]
- Update Rspack development test manifest: [#89702]
- [test] Add regression test for segment cache prefetch memory leak: [#89756]
- Improve not-found-with-pages test: [#89538]
- Update flakey E2E deploy tests: [#89792]
- Update flakey E2E deploy tests no-prefetch: [#89799]
- Update Rspack production test manifest: [#89741]
- Fix devlow job timeouts: [#89804]
- Update Rspack development test manifest: [#89740]
- Turbopack Persistence: Improve heuristic for compacted database access: [#89497]
- Turbopack: remove ChunkableModuleReference trait: [#89745]
- docs: improve Graphite workflow documentation: [#89488]
- Remove --turbopack and --webpack flags from create-next-app: [#89706]
- Turbopack: make routes hashes mainfest more incremental: [#87107]
- [test] Remove references to removed, internal PPR environment variable: [#89832]
- [test] Enable scroll related tests in Cache Component tests: [#83245]
- docs: update adapter docs for routing, handlers, and PPR: [#89849]
- [test] Ensure new deploy test builds have the necessary env variables: [#89846]
- test: allow dpl query suffix in scss url-global expectation: [#89856]
- test: stabilize app-dir hash navigation RSC assertion: [#89867]
- Turbopack: Clean up unused register!() macro argument in test: [#89869]
- test: allow query suffix in related media URL e2e assertions: [#89872]
- Update Rspack development test manifest: [#89811]
- Turbopack: Store task error as pointer to the source error: [#89293]
- Turbopack: Pass asset_suffix_path as Vc: [#89899]
- [turbopack] Simplify JS
ChunkItemwith a single impl in most cases: [#89548] - Change UrlBehavior.static_suffix to ResolvedVc<Option\<RcStr>>: [#89921]
- [turbopack] Add #[derive(ValueToString)] and convert ~45 manual impls: [#89788]
- Turbopack hmr: fix missing factories: [#89934]
- Next-api: Check
client_source_mapsbefore generate source map: [#89915] - Upgrade to swc 56: [#89111]
- Turbopack: fix CSS dependency locations: [#89761]
- Enable backtraces in turbopack integration tests: [#89935]
- Turbopack: Use
std::any::type_namefor global naming of turbo-task items: [#89874] - [turbopack] use type_ids to register turbo task traits on value types: [#89964]
- Turbopack: Fix flake in task_statistics unit test: [#89981]
- Turbopack hmr: preserve group factory consistency for compressed modules: [#89976]
- chore: Don't run build-and-deploy CI job on graphite-base branches: [#89982]
- Turbopack: Update trybuild test dependency from 1.0.104 to 1.0.116: [#89986]
- test: Isolate read-only-source-hmr test: [#86721]
- Upgrade Lightning CSS: [#88789]
- fix(turbopack): --debug-build-paths fails with route groups: [#89336]
- test: scope e2e timeouts to startup and per-it: [#89929]
- Always set adapter deploy env variable: [#90064]
- [turbopack] Fix some modification tracking bugs in TaskStorage: [#89708]
- bench: render-pipeline benchmarks and stress routes (2/8): [#89863]
- [turbopack] fix our verify features in turbo-tasks backend: [#90013]
- Refactor factory not available error message generation: [#89897]
- [turbopack] Followup for
#[derive(ValueToString)]: [#89936] - Revert "[turbopack] Fix some modification tracking bugs in TaskStorage": [#90096]
- Disable jest cache for CI instead of wiping: [#90097]
- next-stats-action: avoid pnpm EXDEV during stats installs: [#90100]
- [turbopack] Run the deployment tests for turbopack and webpack: [#84360]
- ci: only cancel pull_request_stats on PR updates: [#90104]
- [Instant] test: remove unnecessary reactDebugChannel permutation: [#90103]
- [test] Replace flaky webpack snapshots in
cache-components-errors: [#90105] - Upgrade to swc 57: [#90084]
- [turbopack] Fix concurrent task lock panic during error formatting: [#90056]
- Reland "[turbopack] Fix some modification tracking bugs in TaskStorage": [#90098]
- refactor: fix non-determinism in resolve package: [#90058]
- Update Rspack development test manifest: [#90074]
- Update Rspack production test manifest: [#90073]
- test: extend production-browser-sourcemaps test: [#89945]
- Turbopack: use file_content.hash() consistently: [#90078]
- [test] Current behavior of focus after
next/linknavigation: [#89959] - Turbopack: Enable tree-shaking for dynamic imports with destructuring: [#89683]
- test: Don't run integration tests twice for Turbopack : [#83335]
- Simplify how
jsonimports work by turning it into a source transform: [#89631] - Update Rspack production test manifest: [#90120]
- Update Rspack development test manifest: [#90121]
- Turbopack: Update rust toolchain to nightly-2026-02-18: [#89974]
- Turbopack: Derive
DefaultonPartialProjectOptions, remove sillypartial_project_options_with_debug_build_pathshelper: [#90170] - Turbopack: document ModuleSideEffects better: [#90132]
- [ci]: pin styled-components version in tests: [#90194]
- [turbopack] Add a simple tool to inspect serialized SST files and report on their contents: [#89310]
- Upgrade React from
4842fbea-20260217to2ba30655-20260219: [#90211] - [test] Improve fetch timeout error stack for
act: [#90261] - Turbopack: add Rope.content_hash and SHA hashing: [#90235]
- [instant] Handle more instant declaration patterns: [#90251]
- [sync-react] Allow syncing React with local build: [#90277]
- Add PR tarball install note to stats comment: [#90316]
- Bump Turborepo to 2.8.9: [#90079]
- Update wasm and next-custom-transforms crates to Rust edition 2024: [#90350]
- Turbopack: refactoring to prepare for name mangling: [#89406]
- Turbopack: Aggregation update improvements: [#90139]
- [ci] Stop linting auto-generated next-swc typings: [#90390]
- Add more known folders to is-folder-empty check in create-next-app: [#88218]
- [ci] Always upload Turborepo summary artifact: [#90441]
- tests: reenable escheck-output: [#90423]
- [test] Deflake
typed-routes-validatorusingtsc: [#90451] - test: Cleanup and refactoring: [#90454]
- [turbopack] Make compression in SST files optional: [#89309]
- [test] Only auto-retry individual e2e tests in CI: [#90464]
- Update Rspack production test manifest: [#90412]
- Update Rspack development test manifest: [#90413]
- Add @next/playwright package with instant() testing helper: [#90470]
- [turbopack] Reduce memory usage during compaction: [#90229]
- [sync-react] Allow syncing from a React commit: [#90283]
- Turbopack: Add line numbers to debug info in release-with-assertions profile: [#90474]
- Turbopack: emit env_diff span attribute for update: [#90466]
- test: unflake lru-disk-eviction on Windows: [#90465]
- test: Improve test assertions to prepare for dpl query string: [#90463]
- [test] Fix flaky "delay re-prefetch after revalidation" test: [#90503]
- Revert "Turbopack: Add line numbers to debug info in release-with-assertions profile (#90474)": [#90525]
- Bump Turborepo to 2.8.11: [#90530]
- Turbopack: Move turbopack out of
pnpm buildand into apnpm build-allcommand: [#90543] - Remove revalidation settling period from router-act: [#90531]
- Turbopack: add webpack loader names to traces: [#87230]
- Replace mark_root() with #[turbo_tasks::function(root)] flag: [#90512]
- [test] Deflake
typed-routes-validator: [#90562] - [test] Remove
getStackFramesContent: [#90571] - Replace
testonlytotestheadlessin AGENTS.md: [#90578] - [test] Include error code in Redbox snapshot: [#90497]
- Turbopack: Add TransientEnvMap to avoid persisting env vars in cache: [#90526]
- Turbopack: add Xxh3Hash128Hasher: [#90584]
- [test] Fix error code snapshots when testing with React 18: [#90593]
- Turbopack: use xxhash3_128 for content hashes: [#90583]
- test: remove stray TURBOPACK_BUILD=1: [#90602]
- Update Rspack development test manifest: [#90566]
- Update Rspack production test manifest: [#90565]
- [ci] Use
NEXT_TEST_CIinstead ofCIfor e2e test retry guard: [#90606] - [test] Skip failing segment-cache deploy test: [#90601]
- turbo-persistence: drop key compression dictionary from SST files: [#90608]
- Pre-warm a single NodeJS instance when the next devserver starts: [#90174]
- Turbopack server HMR: inline source maps for
evaled modules: [#90561] - test: Run Adapter e2e tests with Turbopack instead: [#90600]
- Add MemorySample to Turbopack trace infrastructure: [#90597]
- Use
VisitMutinstead ofFoldfor debug_instant_stack transform: [#90274] - Ensure we only run main test mode with custom deploy script: [#90665]
- Centralize test timings to fix shard divergence in CI: [#90672]
- tests: Fix immutableAssetToken extraction: [#90668]
- turbo-persistence: streaming SST writer for reduced memory usage: [#90617]
- Add custom cleanup script support for deploy tests: [#90696]
- Use commit-based tarball URL in PR stats comment: [#90709]
- [ci] Use commit instead of PR number for preview builds in deploy tests: [#90722]
- Fix ENOBUFS errors in pr-status.js when fetching large CI logs: [#90654]
- Publish @next/playwright to npm as part of canary releases: [#90738]
- Update Rspack development test manifest: [#90751]
- Update Rspack production test manifest: [#90750]
- Turbopack: improve cell order lint rule for TraitRef::cell: [#90756]
- Add determinism test for static shell with asset preload headers: [#89826]
- Add static error when
unstable_instantis used withoutcacheComponents: [#90793] - enable server action RDC deploy test: [#90796]
- turbo-persistence: StreamingSstWriter performance and readability improvements: [#90692]
- pr-status: add reply-thread and resolve-thread subcommands: [#90773]
- [turbopack] Don't schedule idle snapshots when we are in a short session: [#90804]
- Update Rust dependencies for turbo-persistence and turbo-tasks-backend: [#90774]
- Add support for multi-valued tables: [#89728]
- pr-status: add --wait flag and background execution for /pr-status command: [#90687]
- exempt data URL CSS from Pages Router global CSS restriction: [#89901]
- turbo-persistence: add CRC32 block checksums: [#90754]
- Remove unused turbo-tasks items and add lint check: [#90801]
- Fix missing const generic parameter in turbo-persistence lookup call: [#90817]
- Turbopack: add anyhow::Context to turbo-persistence mmap, file open, and decompress operations: [#90769]
- Update Rspack development test manifest: [#90805]
- Avoid using TaskTypes as keys in storage instead use hashes: [#88904]
- Remove leaf segment force-refetch check: [#90836]
- [turbopack] add a new hasher implementation to eliminate allocations: [#89059]
- Show labeled steps for
instant()test helper in the Playwright UI: [#90664] - [turbotask] Make turbotask function registration const: [#90797]
- Turbopack: turbofmt/turbobail macros: [#90092]
- Add Err(anyhow(... ast-grep rule: [#90869]
- Turbopack: allow resolving TS files in tailwind config: [#90046]
- Unify Node and Edge externals list: [#90819]
- chore: add aurorascharff to devex team labeler config: [#90866]
- Update Rspack production test manifest: [#90857]
- Update Rspack development test manifest: [#90858]
- [ci]: continue-on-error for more gh auth status checks: [#90890]
- Cleanup non-generic assertions in our deploy test suite: [#90894]
- Turbopack: Tree shaking fixes and code organization: [#89295]
- tests: Use pnpm dlx to install latest CLI version: [#90923]
- Turbopack: Fix some eventually consistent reads at the top level in dev-server and snapshot tests: [#90792]
- Turbopack: Annotate ReadVcFuture as must_use instead of annotating functions that return it: [#90839]
- Prefix pr-status replies with :robot: emoji: [#90943]
- Set DontFork and Unmergeable on all mmap sites in turbo-persistence: [#90941]
- Turbopack: CompileTimeDefineValue numbers and regex: [#90934]
- Turbopack: pass reference type to CustomModuleType: [#90814]
- Fix preview version in
window.next.versionfor PR builds: [#90937] - [Evals] Standardize Evals in Next.js: [#90883]
- TURBOPACK: alias resolve lost query param: [#88891]
- Update Rspack development test manifest: [#90969]
- Turbopack: Make
ReadVcFuture::strongly_consistentprivate: [#90843] - Fix next-routing header interpolation: [#91010]
- Turbopack: accept ChunkGroup in entry_chunk_group: [#90821]
- Turbopack: show specific SWC error messages as error titles: [#91022]
- Turbopack: correctly use ChunkGroup::Shared: [#90978]
- Add script to patch project with preview tarball URLs: [#91057]
- Fix pr-status script missing failed jobs on page 2+ of API results: [#91087]
- Turbopack: don't panic due to eventual consistency in module merging: [#91088]
- fix: run lerna on a branch: [#91092]
- Fix preview tarball script to include @next/swc-linux-x64-gnu: [#91099]
- Improve unsafe code safety documentation in turbo-tasks-backend: [#90755]
- docs(contributing): Update setup in contributing/core/developing.md: [#91018]
- Turbopack: Pass hmr_enabled to ImportMetaBinding: [#91118]
- docs(turbopack): Copy over turbopack-trace-server docs: [#91111]
- Turbopack: introduce
ReferenceTypeCondition: [#91101] - fix: Use a pnpm preinstall script to fix catch-22 in next binary creation: [#91016]
- Exclude partial fallback for deploy mode: [#91163]
- [turbopack] Add support for fixed key blocks: [#90844]
- [turbopack] Encode task storage directly during persistence (skip clone): [#89412]
- [turbopack] hashing improvements to turbo-persistence: [#90936]
- [turbopack] Move empty snapshot filtering into take_snapshot: [#90166]
- docs(turbopack): Merge old turbo-tasks concept mdbook page with crate's top-level rustdoc: [#91120]
- Add RDC action test to deploy manifest and update PR test trigger: [#91173]
- [Turbopack] Don't attempt to compress key blocks containing small keys: [#90881]
- Lint against
.context(format!(...)): [#91122] - fix(turbopack): unref ThreadsafeFunctions to allow Node.js exit after build: [#91107]
- remove worktrees accidentally committed in [#90166]: [#91215]
- Fix syntax contexts in server action transform: [#91210]
- docs(turbopack): Merge the contents of the "cells" page in the mdbook with our rustdocs: [#91126]
- TURBOPACK: typescript transform support verbatimModuleSyntax: [#90907]
- [ci] Disable test-level retries during flakiness detection: [#91261]
- [cna] Bump vendored
json-schema-types: [#91255] - Remove sequential madvise for compressed blocks in StaticSortedFile: [#91263]
- docs(turbopack): Move mdbook "tasks" docs over to
turbo_tasks::functionrustdoc: [#91132] - test-new-tests: enable adapter in deploy flow: [#91269]
- Revert "Exclude partial fallback for deploy mode": [#91172]
- [test] Properly log
framereceivedpayload: [#91266] - docs(turbopack): Merge task input docs from mdbook into rustdocs: [#91136]
- bundle-analyzer: merge _app route modules into current route visualization: [#90841]
- docs(turbopack): Migrate docs about traits from mdbook to rustdocs: [#91170]
- Remove LMDB backend and ReadTransaction abstractions from turbo-tasks-backend: [#91284]
- docs(turbopack): Move singleton pattern documentation from mdbook to rustdoc: [#91175]
- Turbopack: rename CSS module structs for clarity: [#91304]
- [test] Deflake
instant-navs-devtools: [#91256] - Delete blob files during compaction when entries are superseded: [#91314]
- [test] Resolve stale merge issues: [#91329]
- Turbopack: Remove the IntoTraitRef trait, make it an inherent method on Vc: [#91223]
- re-enable RDC deployment tests: [#91327]
- Use keyed cells for used_exports and export_circuit_breakers in BindingUsageInfo: [#91306]
- [test] Show decoded binary WebSocket messages in traces: [#91308]
- Docs skills: guide and api-reference: [#90992]
- Turbopack: switch chunk/asset hashes from hex to base40 encoding: [#91137]
- Turbopack: don't emit polyfill chunk for API routes: [#91331]
- [test] Current behavior for request APIs in
generateStaticParams: [#91188] - Update Rspack production test manifest: [#91301]
- Update Rspack development test manifest: [#91300]
- Turbopack: Remove old macos-compress script: [#90967]
- disable sub shell generation test outside of adapter: [#91353]
- Turboopack: put import attributes behind a pointer, 23% faster analyze: [#91347]
- Turbopack:
require(/* turbopackChunkingType: parallel */: [#91278] - Turbopack: use keyed cell access for AsyncModulesInfo: [#91305]
- Enable thin LTO for release builds: [#91343]
- [turbopack] const-ify most of the registration code: [#90868]
- [test] Improve actions-tree-shaking tests: [#91326]
- Move database compaction from write batch commit to backend idle loop: [#91258]
- Turbopack: use ChunkGroupEntry::Shared, part 2: [#91279]
- [test] More
instant-navs-devtoolsdeflaking: [#91345] - Turbopack: Enable server HMR by default for app pages: [#91476]
- Allow blocking cross-site dev-only websocket connections from privacy sensitive origins: [#91479]
- Fix DataUriSource description to include "data:" prefix: [#91455]
- Deflake per-page dynamic stale time test: [#91492]
- Improve RSC error messages: [#90702]
- Improve CSS parse error recovery and reporting: [#90025]
- perf(turbopack-node): zero-copy Buffer transfer from node to rust: [#91376]
- docs(turbopack-core): Copy "layers" documentation from mdbook to rustdoc: [#91350]
- Turbopack: correctly apply effects for issue snapshots: [#91511]
- Turbopack: treat unknown CSS selectors as warnings: [#91513]
- docs(turbopack): Migrate chunking docs from mdbook, with proof-reading and minor updates from claude: [#91472]
- Skip catch-error-react-compiler test to unblock CI: [#91528]
- [turbopack] update qfilter to 0.3.0-alpha: [#91467]
- Unflake two
"use cache"tests: [#91529] - docs(turbopack): Remove old
architecture.mdfile from turbopack crate: [#91473] - [turbopack] Share scratch buffer across shards using thread local: [#90167]
- Turbopack: Use
debug = "line-tables-only"for dev builds: [#91539] - Unflake router events deploy test: [#91589]
Credits
Huge thanks to @icyJoseph, @nextjs-bot, @sokra, @Juneezee, @delbaoliveira, @wbinnssmith, @ztanner, @lukesandberg, @bgw, @naveenkarmegam, @Marukome0743, @pji2918, @nathannewyen, @eps1lon, @ijjk, @feedthejim, @vercel-release-bot, @xusd320, @huozhi, @mischnic, @wyattjoh, @styfle, @timneutkens, @unstubbable, @lubieowoce, @gnoff, @acdlite, @Rani367, @andrewimm, @brookemosby, @karlhorky, @kdy1, @mmastrac, @naaa760, @jgeschwendt, @williambout, @SimeonGriggs, @gaojude, @hanzala-sohrab, @dango0812, @msmx-mnakagawa, @davidgolden, @LucianBuzzo, @devjiwonchoi, @alexcarpenter, @jaffarkeikei, @BradErz, @mintydev789, @Suhaib3100, @pavan-sh, @amannn, @fireairforce, @JamBalaya56562, @wheresrhys, @ericrav, @Thomas465xd, @bgub, @Netail, @robert-j-webb, @bencmbrook, @shadcn, @sigmachirality, @abhishekmardiya, @vvscode, @freek-boon-greenberry, @alubbe, @FurryR, @01-binary, @andrewdamelio, @swarnava, @kristiyan-velkov, @haydenbleasel, @rishishanbhag, @tdarthur, @lavanitha, @agneliutkiene, @Mimori256, @pieh, @sleitor, @jantimon, @clicktodev, @mitul-s, @aurorascharff, @shuding, @jonasherr, @thdxg, @kowyo, @samselikoff, @dependabot, @benfavre, @zamadye, @cursor, and @richardjzhang for helping!