Next.js v16.4.0stable Released Oct 07, 2026
Impact Score: 5/10

Next.js v16.4.0 โ€” Release Notes & Engineering Impact

Source available โ€” automated, not human-reviewed

Component: nextjs ยท Channel: stable. Automated analysis, not a compatibility certification. How this works.

Analysis updated: 2026-10-31.

Compatibility not verified โ€” check source notes
$ npm install --save-exact [email protected]
๐Ÿ“„ .MD
โšก Executive Summary (TL;DR)

Next.js v16.4.0. Source highlight: Check out the 16.4 announcement post to get an overview of the changes.

Who Does This Impact? (Role-Based Analysis)

๐Ÿ’ป Software Engineers & Devs

Check the source notes against the package and APIs you use before upgrading.

๐Ÿ“Š Product & Engineering Leads

Use the documented changes to assess relevance to your product; release frequency alone is not a quality measure.

โš™๏ธ DevOps & Security

Verify the target version, runtime requirements and rollback procedure in the official documentation.

โœจ New Features & Capabilities (6)

  • feat(turbopack): support `false` values for `resolveAlias` config: #93331
  • [turbopack] Add test for sideEffects with optimizePackageImports: #96549
  • Turbopack: Allow DiskWatcher to use a mocked DiskFileSystem, add a small unit test: #96353
  • [turbopack] Add e2e test that uses component chunks + workers: #96556
  • Add a `turbopackChunking` documentation page for pages router: #96698
  • docs: add authentication with Cache Components guide and iron-session example: #95802

โšก Performance & Enhancements (6)

  • docs: improve clarity and punctuation in README: #86096
  • Turbopack: improve chunk_item_content docs: #97370
  • test: improve error-on-next-codemod-comment flakiness: #97553
  • Improve Cache Components sync IO migration guidance: #97572
  • Improve Partial Prefetching adoption checks: #97637
  • perf: split cold TurboMalloc accounting paths: #97767

๐Ÿ”ง Bug Fixes & Patches (6)

  • fix(scripts): correct typo in rm.mjs error message: #87015
  • Fix debug build paths Pages Router support entries: #93529
  • fix: detect proxy.ts correctly with compound pageExtensions: #93246
  • Fix HTML-limited bot matching in prerender bypass rules: #96584
  • [ci] Fix create_release_branch for new repo permissions: #96641
  • [Bench] Fixes for pure Fizz bench: #96771
๐Ÿ“„ View Raw Release Notes (Original Developer Log)
Check out the [16.4 announcement post](https://nextjs.org/blog/next-16-4) to get an overview of the changes. ### Core Changes - Show compiler plugin warning in more situations: #75682 - fix(scripts): correct typo in rm.mjs error message: #87015 - docs: improve clarity and punctuation in README: #86096 - Fix debug build paths Pages Router support entries: #93529 - bundle-analyzer: record historical snapshots on each analyze run: #93520 - fix: detect proxy.ts correctly with compound pageExtensions: #93246 - feat(turbopack): support `false` values for `resolveAlias` config: #93331 ### Misc Changes - docs: correction to dynamicParams migration: #96624 - docs: proxy event argument: #96435 - docs: remove experimental note from runtime prefetching: #96615 - Preserve per-segment prefetching after dynamic navigation: #96583 - Rename static generation stream option to waitForAllReady: #96564 - Remove obsolete static generation plumbing: #96563 - [turbopack] Drop dead writes to `exports`: #96381 - [turbopack] Ignore writes to `exports` after a `module.exports = {}` writes: #96380 - [turbopack] Add test for sideEffects with optimizePackageImports: #96549 - [turbopack] Strip leading BOM before parsing CSS: #96678 - Upgrade React from `cbb046ab-20260731` to `7dfc7ccd-20260803`: #96550 - docs: use relative doc links in instant-navigation error pages: #96672 - Turbopack: terminate failed plugin worker threads: #96592 - Fix HTML-limited bot matching in prerender bypass rules: #96584 - [ci] Fix create_release_branch for new repo permissions: #96641 - test: skip action module instance deploy test: #96629 - docs: quote the dynamicParams build error in a blockquote: #96633 - [react-sync] Open pull requests as the bot that authors the commits: #96682 - [Bench] Fixes for pure Fizz bench: #96771 - Derive foreground cache revalidation from the consumer: #96731 - Fix race when navigating Back before hydration: #96252 - docs: present each Skill as steps in the AI agents guide: #96751 - Reuse completed cache entries for the rest of a request: #96727 - Upgrade React from `7dfc7ccd-20260803` to `11eddecd-20260805`: #96735 - Remove WorkStore execution mode: #96674 - Remove cache revalidation execution mode reads: #96670 - Separate App Route render and prerender pipelines: #96662 - Remove App Page execution mode reads: #96660 - test: fix missing await in css-chunking test: #96725 - docs (Skills): stop assuming app/ at the root and port 3000: #96696 - Implement next/font BeforeResolvePlugins as ImportMappingReplacement: #95808 - Use Tailwind Turbopack loader in create-next-app: #96606 - docs: instant navigation quick start with an adoption prompt: #96663 - Separate App Page render and prerender pipelines: #96659 - Move App Router execution intent to entrypoints: #96640 - Pass explicit render capabilities through App Render: #96576 - Pass explicit prefetch hint policy through App Render: #96572 - Replace WorkStore isStaticGeneration with executionMode: #96570 - docs: document ! exclusion and src/ prefix for --debug-build-paths: #96703 - Change `loadManifest` to return undefined with `handleMissing`: #96530 - Refactor server from CacheNodeSeedData -> TransportData: #96679 - Unify full/partial navigation response types: #96439 - Unify RouteTree and CacheNodeSeedData on the client: #96406 - Consolidate Promise.withResolvers polyfills: #96772 - [ci] Open automated update pull requests with `nextjs-bot`: #96683 - Require Cache Components for Instant Navigation testing: #96745 - Fix use cache over- and under-invalidation in dev: #96235 - Fix which pages the dev server announces, and when: #96250 - docs: update redirected links to current targets: #96723 - Fix(deployment-id): prevent exception on old webkit: #94604 - [fragment-scroll] Remove `config.experimental.appNewScrollHandler`: #95602 - [turbopack] Enable reexport-unknown execution test: #96774 - ci: stop publishing @vercel/devlow-bench: #96887 - fix(turbopack): name the module in the non-ESM-placeable error, and stop duplicating the importer in traces: #96560 - fix(turbopack): support `type: 'text'` in rules, and error on binding imports of non-ESM modules: #96558 - Lint devlow-bench with the root eslint config: #96871 - Remove `turbopack/packages` and relocate devlow to `packages/`: #96860 - Flush pending revalidations for forwarded action error responses: #96945 - Handle Server Actions on dynamic PPR fallback routes: #96932 - Turbopack: Improve how DiskWatcher is configured and fix polling watcher bugs: #96440 - Turbopack: Allow DiskWatcher to use a mocked DiskFileSystem, add a small unit test: #96353 - [turbopack] Add e2e test that uses component chunks + workers: #96556 - [turbopack] Support `experimental.serverMinification` & expand `experimental.turbopackMinify`: #96578 - Add a `turbopackChunking` documentation page for pages router: #96698 - [turbopack] Don't run Webpack tests on Turbopack-only changes: #96656 - [turbopack] Enable the shared runtime by default: #96778 - [turbopack] Enable CJS tree shaking by default: #96779 - refactor: clean up places that needlessly list all RenderStages: #96907 - Fix the documented invocation for generating tests non-interactively: #96896 - Make NextConfigComplete typing more accurate: #96700 - Upgrade to swc 75: #96702 - docs: link View Transitions skill on skills.sh and clarify the example prompt: #96863 - [ci] Reset the turbopack deploy test project in the weekly cron: #96822 - docs: add authentication with Cache Components guide and iron-session example: #95802 - [turbopack] Fix a potential deadlock in scope_and_block: #95695 - Remove the turbopack-build-events trace span, use `next build` instead: #96746 - docs: add `export const dynamic = 'force-static'` to Route Handlers example on Static Exports: #96964 - [turbopack] Follow re-exports for side-effect free async modules: #95993 - [turbopack] Treat constants with values referencing other values as unsafe: #96190 - [refactor] Rename `encodeCacheTag` to `encodeHeaderSafe`: #96936 - Fix formatting of Google Fonts section in documentation: #88447 - Fixing a bug - typo issue fixed: #97141 - examples: fix Webiny API env variable name: #97134 - docs: fix Link prefetch grammar and Client Components wording: #97132 - Use emitted app entries for post-build processing: #97139 - docs(mdx): fix package name in .md handling section: #97131 - [turbopack] Reduce native React Compiler work: #96820 - docs: rename repo to repository for consistency: #87849 - Fix typo in Data Access Layer section: #87202 - docs: runtime prefetching -> optimizing prefetching: #96934 - [CC] Track APIs that cause incompatible static/app shells: #97040 - Fix client component loading span timing: #96455 - Trace development route compilation: #96454 - Prefix `'use cache'` debug logs with the full directive: #97037 - Revert "[turbopack] Enable CJS tree shaking by default (#96779)": #97018 - Revert "[turbopack] Follow re-exports for side-effect free async modules": #97009 - [fragment-scroll] Rename `ScrollAndMaybeFocusHandler` to `ScrollHandler`: #96828 - Trace development route preparation: #96453 - test: cleanup Turbopack snapshot config: #97013 - Remove unused htmlLimitedBots from renderOpts: #96701 - fix(turbopack): point at the glob that matched a file with no module type: #96561 - [turbopack] Bail CJS tree-shaking on `var x = module.exports = {}`: #97130 - docs: server client and directives: #96145 - docs: clarify client cache freshness after hydration: #97180 - docs: create client-side fetching guide: #96341 - Turbopack: accept a module type argument for import.meta.glob: #96991 - docs: align Cache Components authentication guide title: #97143 - test: re-enable a few more passing NFT unit cases: #97017 - [turbopack] Do the CJS analysis needed for scope hoisting: #95826 - Remove legacy PPR code paths: #96868 - Use Cache Components as the internal PPR signal: #96827 - Make legacy PPR paths explicit: #96753 - fix: typos in code comments: #97137 - Fix spelling in two comments: #97136 - Decouple loader tree construction from children ordering: #97192 - Bump lightningcss: #97159 - Update gh-stack skill guidance: #97163 - [test] Unflake `use-cache-custom-handler-dev` tests: #97187 - Forward a build-container pin to deploy-test deployments: #97191 - Fix shared Turbopack runtime initialization race: #97215 - Fix stale data after navigation despite revalidation: #95439 - [turbopack] Only use the shared runtime by default on canary: #97208 - test: fix 'ouput' typo in parseIdsFromCliOutput: #97266 - Add the mtime fallback back: #97268 - Allow issue participants to request reopening: #96947 - [turbopack] Document clusters for chunking: #97267 - Link to issues in the contribution guide and discourage trivial PRs: #97188 - Stop serializing hmr version state: #97146 - [turbopack] Add `clusters` to chunking heuristics: #95157 - [test] Redirect the deployment host in-process for proxy deploy tests: #97260 - [test] Unflake two `cache-components-dev-streaming` assertions: #97246 - [test] Unflake `use-cache-default-profile-expire-zero` tests: #97250 - Allow running `ncc` before `pnpm build`: #97234 - Invalidate deferred Webpack entry sources: #97205 - Unify how a response's shell and full payloads are written: #96878 - Convert per-segment prefetches to NavigationFlightResponse format: #96877 - Unify how server responses are written into the client cache: #96876 - Convert tree prefetches to NavigationFlightResponse format: #96788 - fix(next/image): skip 0-byte entries when initializing disk LRU cache: #94068 - Update authentication diagram URL: #97320 - Add a script for adopting fork pull requests: #97252 - Migrate napi-rs bindings from v2 to v3: #95412 - Upgrade React from `11eddecd-20260805` to `22e4f993-20260811`: #97249 - Add RDC compression rollout controls: #97247 - [testmode] Fix infinite recursion in testmode passthrough fetch: #96525 - Turbopack: add imports_wildcard NFT unit test: #97373 - Turbopack: improve chunk_item_content docs: #97370 - test: Reenable i18n-api-support deploy test for Turbopack with adapters: #96898 - Trace instrumentation startup: #97296 - Trace route module preparation: #97295 - Trace route module loading: #97318 - fix(deps): bump `satori` and `@vercel/og`: #97276 - [test] Cover `'use cache: private'` in route handlers: #97349 - Fix missing Pages runtime in adapter Pages API outputs: #96819 - docs: align SPA guide reducer example with React conventions: #97341 - Update blob version.: #97342 - Upgrade React from `22e4f993-20260811` to `eb8feb71-20260814`: #97382 - Adopt SelectedMetadata for metadata rendering: #97387 - fix(next/image): reject empty image on read/write to disk cache : #97278 - Turbopack: remove stale manifests for deleted routes: #97333 - Turbopack: make unreachable codegen more generic: #97385 - Wait for back-before-hydration recoveries in the browser: #97321 - Extract metadata resolution primitives: #97388 - test: update React 18 redbox snapshot: #97415 - Remove server route matcher stack: #94157 - Anchor the async local storage instances to global symbols: #97255 - test: deflake use-cache-size-zero warm reload: #97421 - Scaffolding for concurrentRouterQueue flag: #97413 - Reorganize client router modules: #97402 - fix(turbo-persistence): allow 32-bit usize conversion: #97288 - test: restore missing NFT `exports*` unit fixtures: #97459 - [ci] Fix backport canary release dispatch: #97383 - turbo-tasks-backend: Enforce that tasks exist when accessing them: #96043 - turbo-tasks-backend: add persistence delete/tombstone plumbing for GC: #95975 - turbo-persistence: add key-value tombstones for MultiValue families: #96929 - Trace lazy App Route module loading: #97439 - [ci] Wait for the `next` version to be available on npm before deploy tests: #97460 - docs: fix stale Dev Overlay README link in contributing guide: #97486 - docs: app router reference accuracy: #97477 - test: Don't wait trying to load non-existing images: #97488 - test: cover dynamic APIs with i18n base path: #97367 - style(examples): remove redundant justify-content declaration: #97222 - docs: rename Vercel Edge Config to Global Config in redirecting guide: #97456 - fix: improve form accessibility by associating labels with inputs: #96335 - [docs] fix: grammar typos in linking and navigating guide: #95544 - fix(examples): correct error message typo: #97223 - docs: fix typos in example links: #97149 - Model prerenders as render candidates: #97431 - Turbopack: support character class ranges in regex: #97502 - docs: warn when catching permanentRedirect: #97496 - Remove the development debug channel persistence: #97510 - Stop the browser from restoring stale pages in development: #97505 - Turbopack: gracefully handle outputFileTracingIncludes matching a symlink: #97507 - docs: mention Valibot as validation library option in forms guides: #97468 - [PPF] Remove `unstable_eager`: #97524 - [PPF] Do not mark complete shell requests as partial: #97503 - fix: add accessible label to icon-only link: #96334 - Fix stale cross-references in skills/: #97566 - docs: generateMetadata values should be serializable with use cache: #97551 - Move preview props into separate manifest: #96004 - docs: adjust interactive app guide: #97558 - Turbopack: allow TURBOPACK_PRINT_CHUNK_GROUPS in release builds: #97515 - [test] Point next-image-legacy images at a reachable endpoint: #97545 - test: improve error-on-next-codemod-comment flakiness: #97553 - Turbopack: cross-module constants: #90300 - test: better isolate concurrent-install suite: #97546 - docs: outlining and lcp: #96942 - Turbopack: More aggressively debounce filesystem watch events if we detected changes to node_modules: #96116 - docs: document metadata pagination field: #95509 - docs: document deploymentId build ID override and Pages Router skew in 16.2: #97645 - Upgrade React from `eb8feb71-20260814` to `eafeac09-20260819`: #97636 - Turbopack: rename to use turbopack: no side effects: #94427 - refactor: move useDynamic{Route,Search}Params to reduce snapshot churn: #97360 - [PPF] unstable_navigation(): #96908 - [PPF] Scaffold unstable_navigation(): #97236 - docs: Explicit cache output description: #97548 - Improve Cache Components sync IO migration guidance: #97572 - [test] Use a non-native stub for the server externals list test: #97614 - Avoid GitHub API rate limits for create-next-app examples: #97612 - [test] Cover the prerender worker-thread backend with an addon we control: #97543 - [test] Convert the `prerender-native-module` suite to local fixture packages: #97542 - [test] Replace the `turbopack-reports` `sqlite3` dependency with a local addon fixture: #97541 - [test] Drop the dead `sqlite3` build approval from the `sharp-basic` suite: #97540 - Remove HmrTarget: #97253 - Keep HMR instructions typed until serialization: #96569 - Serialize frozen collections by value only: #96686 - feat(turbopack): isolate HMR listeners across microfrontends: #95997 - Turbopack: deduplicate Pages Router app chunks: #97664 - [react-sync] Check assignability before assigning the actor: #97638 - fix: preserve trailing slash during export MPA fallback: #97613 - Turbopack: Split the read and write codepath data structures for symlinks: #97395 - Turbopack: Show last modified file when waiting for the filesystem to settle: #97648 - docs: fix parallelRouteKey parameter name in useSelectedLayoutSegment(s): #97710 - Turbopack: Avoid cloning paths in fs watcher if the path is already in a map: #97655 - Remove generated error codes: #97687 - [PPF] Instant validation for unstable_navigation(): #97309 - Turbopack: trace graceful-fs calls: #97694 - Migrate some async blocks to async closures: #97666 - turbo-tasks: add scope_unbounded, a scoped execution primitive that allows more work to be discovered: #95974 - test: make app-document-import-order more robust: #97682 - Add a Turbopack error for missing root layouts: #97639 - Improve Partial Prefetching adoption checks: #97637 - test: stabilize poisoned proxy error overlay: #97609 - docs: correct the upper stale bound for App Shell exclusion in cacheLife: #97653 - docs: Adapters entry page lists its children pages twice: #97677 - [PPF] unstable_prefetch(): #97622 - [PPF] Scaffold unstable_prefetch(): #97618 - docs: clarify beforeInteractive placement for root layouts: #97643 - fix(turbopack): give eager `import.meta.glob` values the ESM namespace: #96559 - introduce an options struct for constructing backend storage: #97284 - [devtools] Fix indicator dragging on touch screens: #97723 - Add next/cache-handlers types entrypoint: #97592 - Remove unused return values from getPageStaticInfo: #97661 - [turbopack] defer NFT module content hashes: #97773 - test: deflake basePath external navigation: #97611 - docs(adapters): document assetsHashes and routing.middlewareMatchers: #96536 - Migrate remaining async blocks to async closures: #97701 - Turn off the adapter route collapses by default: #97774 - Serve a run of fallback shells from one route entry: #97738 - [test] Capture the route table for apps with several param shapes: #97728 - Stop emitting a separate route entry for a dynamic route's RSC form: #97726 - Stop emitting a redundant route per prefetch segment: #97720 - [test] Capture the dynamic routes a build passes to an adapter: #97719 - turbo-tasks: compile conditional cell updates once, not per cell type: #97763 - Turbopack: add unit test coverage for FileSystemPath::hash_file: #97743 - Record fallback cache lifetime for blocking PPR routes: #97821 - Document catchError for the Pages Router: #97748 - clippy: allow needless late init where it makes sense: #96410 - Turbopack: emit/collect: #96631 - docs: note that response headers must be set before calling handle() in a custom server: #97693 - Deduplicate the regress, wat/wasmparser and base64 dependencies: #97762 - perf: split cold TurboMalloc accounting paths: #97767 - turbo-tasks: execute scheduled tasks inline when they are read: #96808 - Revert "Record fallback cache lifetime for blocking PPR routes (#97821)": #97835 - Sweep stale Turbopack output from distDir on dev startup: #97591 - Fix metadata prefetch cache key for search params: #97729 - Turbopack: Improve file existence error handling in realpath_with_links and in module resolution: #97717 - Write traces with buffered synchronous IO: #96874 - fix(wasm): don't enable SWC's plugin host for wasm targets: #97859 - fix(turbopack-node): make process_pool inert on wasm: #97858 - fix(turbopack): make the SWC wasm-plugin backend native-only: #97857 - fix(turbopack-trace-utils): skip the ctrl-c handler on wasm: #97856 - refactor(turbopack-cli-utils): replace crossterm with owo-colors: #97855 - fix(turbo-tasks-fs): create symlinks through the WASI API on wasi: #97854 - fix(turbo-tasks): compile EventListener::wait on wasm: #97853 - fix(turbo-rcstr): allow the napi feature on wasm targets: #97852 - fix(next-napi-bindings): detect the target, not the host, in build.rs: #97576 - Stop printing a stack frame for error message text: #97829 - docs: clarify revalidateTag profile expire semantics: #97836 - docs: param access on use-server: #97865 - docs: fix typos and correctness issues in App Router docs: #97823 - Add deploy release test skill: #97563 - [test] Deflake the page config test for a string config value: #97848 - test: stabilize read-only page recreation: #97674 - Show the errors of an AggregateError behind a cause: #97830 - Upgrade React from `eafeac09-20260819` to `bd6ea412-20260824`: #97812 - fix: reuse a single drain listener when piping Node streams through gzip: #97698 - test: preserve server cache after compile error: #97724 - Fix Turbopack resolution through chained symlinks: #97825 - Add evals for whether agents actually use Next.js: #97816 - evals: judge behavior instead of matching source text: #97826 - Bump @vercel/agent-eval to 2.2.1: #97885 - feat(turbopack): resolve `/`-rooted imports from the project directory: #97799 - [ci] Use short-lived access tokens for preview-build uploads instead of static token: #97256 - Turbopack: correctly trace through TypeScript `__importStar`: #97697 - [turbopack] simplify ecmascript effect queue: #97771 - Update default Create Next App favicon: #97634 - fix: don't drop client references when the concatenated module id is 0: #97936 - Replace resumed render bailout error with ReactDOM.browser behind a flag: #96844 - Replace useSearchParams bailout error with ReactDOM.browser behind a flag: #96843 - Replace CSRBailout error with `ReactDOM.browser` behind a flag: #96826 - fix(next/image): reject non-2xx internal image responses: #97957 - [test] Pin Vercel CLI to Node 20.9 compatible version: #97960 - Re-enable AVIF image optimization: #97931 - Don't report a client-aborted RSC stream as a render error: #96715 - [PPF] Only track runtime accesses when the promise is used: #97165 - Fix Turbopack re-export cycle deadlock: #97933 - Port React's @gate test directive to the e2e harness: #96228 - Migrate from box_patterns to deref_patterns: #97924 - Turbopack: expose list of non-inlined env vars: #95310 - feat(turbo-tasks-fetch): stub HTTP on wasm targets: #97585 - fix(turbo-rcstr): make TaggedValue usable on wasm: #97577 - docs: explain origin matching for allowedOrigins and allowedDevOrigins: #97805 - Turbopack: improve Pat::Assign modelling in analyzer: #97867 - Upgrade rustc to nightly-2026-08-20: #97665 - Upgrade React from `bd6ea412-20260824` to `f789f203-20260825`: #97887 - [test] Fix flaky build CLI output capture: #97900 - turbo-tasks-backend: parent_count reference counting: #95976 - Upgrade Turbopack to hashbrown 0.15: #97808 - ci: skip framework tests for agent evals and skills: #97998 - Expand Turbopack dev cleanup: #97833 - Add Cache Components option to create-next-app: #97695 - Mark deploy release test skill as internal: #97961 - Turbopack: shorten CSS module class names: #97944 - Prune incomplete parallel route matchers: #97108 - Upgrade React from `f789f203-20260825` to `29d9d318-20260826`: #97995 - docs(skills): preserve prefetched UI during Partial Prefetching adoption: #97712 - Omit undeclared children slots from app routes: #97184 - Turbopack: widen the chunk ident hash from 7 to 13 base38 chars: #97945 - Fix request-context retention in the default use cache handler: #97941 - docs: improve discovery summaries: #97982 - test: add test for local font with deployment id: #97987 - Retain interception route host slots: #97242 - test: disable flaky sync-io-blocks-root.test.ts: #97986 - [test] Drain build output before start: #97947 - Expose durableUseCacheEntries config in workStore: #97926 - Pages Router: Deprecate React 18 support: #97689 - Turbopack: call loadActionManifest for app-route: #97921 - [test] Unpin Vercel CLI version: #97974 - Turbopack: don't replace single-arg calls with argument in analyzer: #95277 - Turbopack: allow compiling turbopack-node without a pool backend: #97943 - Support immutable static assets with `output: 'export'`: #97711 - Fix build error when aliasing `typescript` to `@typescript/typescript6`: #97942 - Fix optimistic routing for encoded dynamic params: #97948 - Fix intercepted route params after Proxy rewrites: #97953 - [PPF] Fix navigation() in prospective runtime prerenders: #98000 - Revert "test: re-enable sync IO root coverage": #98050 - Turbopack: drop rust analyzer skip annotation: #98047 - Turbopack: add next_config.use_react_experimental getter: #98032 - More granular cache keys for use-cache entries: #95233 - [ci] Remove dormant `code_freeze` workflow: #97756 - test: re-enable sync IO root coverage: #97996 - [ci] Remove the unused `wrong-issue-template` workflow and action: #97749 - [image-optimizer] Refactor into lightweight transform module: #97988 - [ci] Remove the stale-issue workflow: #97758 - [ci] Use presigned URLs to upload preview builds: #97922 - Turbopack: allow `get_definable_name` to return a list: #97984 - docs(examples): document env var handling in the Docker examples: #97968 - Turbopack: unify `member` and `in` handling: #97985 - Update outdated snapshots: #98011 - Guard filesystem reads against unresolved symlinks: #97902 - Turbopack: enable export mangling by default in production builds: #97676 - Turbopack: mangle exported names for smaller bundle sizes: #97672 - [ci] Remove the popular workflow and its action: #97753 - Store keys in key order in SST blocks that omit hashes: #97480 - Honor non-interactive mode in upgrade codemod prompts: #98030 - Transform .mjs files with Next.js codemods: #98029 - evals: stop requiring the removed viewTransition flag in agent-043: #98116 - errors: shorten "use cache" messages and unify them into one factory: #94300 - test: add adoption skill evals: #97759 - Upgrade React from `29d9d318-20260826` to `ff7445e6-20260831`: #98113 - [ci] Simplify `upload-preview-tarballs` workflow: #98109 - devlow: use commander for cli argument parsing: #93860 - [PPF] Pass in original searchParams for private-cache pages: #98041 - docs: document create-next-app Cache Components prompt and flag: #97798 - lazy server hmr: #96566 - Fix Turbopack HMR recovery after dropped connections: #97966 - test: Improve test cache handler implementations: #98098 - docs: Fix the documented contract for custom cache handlers: #98039 - chore: remove unused code from image optimizer: #98060 - docs: add layout stability guidance for videos and iframes: #98070 - tests: Improve use-cache-cross-deployment tests: #98049 - turbo-tasks-malloc: report memory from mimalloc: #97761 - Remove Edge runtime handling in use-cache-wrapper: #98139 - Skip discussions in the `issue_lock` workflow: #98146 - [ci] Fix `issue_lock`: #97755 - docs: document preloading with Cache Components: #97864 - chore: Remove expired sharp release age exclusions: #98120 - Reduce Turbopack cache size with per-family compression: #97714 - [test] Skip hooks of suites skipped by a lazy `@force-gate`: #98169 - Bump swc to v77: #97407 - Upgrade React from `ff7445e6-20260831` to `21c89c9f-20260901`: #98147 - turbo-tasks-backend: parent_count-driven garbage collection: #97282 - Remove the worker thread for turbopack builds: #96862 - turbo-tasks-malloc: address review feedback on #97761: #98153 - test: remove stale deploy manifest exclusions: #98051 - Enable hourly next-maintainer auto-close workflow: #98225 - Return client errors for unrecognized Server Actions: #98123 - Add Next Maintainer auto-close workflow: #98197 - perf(turbopack): skip ignored files during server tracing: #97475 - docs: note that experimental.taint taints process.env: #98145 - test: preserve static params during Cache Components migration: #98209 - Upgrade web-vitals to v6 and report soft navigations: #97232 - Upgrade React from `21c89c9f-20260901` to `f4e439e1-20260902`: #98188 - Turn on the adapter route collapses by default: #98218 - fix: suppress missing package manager errors in next info: #97946 - Turbopack: fix `source` field in CSS sourcemaps: #88225 - fix: track dynamic accesses in final runtime prerenders: #98255 - docs: add API reference pages for skipProxyUrlNormalize and skipTrailingSlashRedirect: #97967 - fix: route info segment overrides not updating in dev overlay: #96968 - test(turbopack): remove dead top-level task unmarks: #98246 - Fix flaky successive HMR changes test: #97610 - docs: Remove version label from Turbopack in Pages Router: #98316 - Bump to swc v78: #98268 - Create next.config.ts when generating apps with `pnpm new-test`: #98364 - test(evals): accept LayoutProps in App Router migration: #98365 - [test] Run deploy tests against local JavaScript changes by default: #98353 - [test] Resolve `workspace:*` packages to the version under test: #98330 - turbo-tasks: explicit GC root anchoring + cross-session orphan reclamation: #96857 - [PPF] Fix missing runtime-follow up if hints are stale: #98278 - Instant validation for caches excluded from prerenders: #98342 - [PPF] Model caches with `stale < MIN_SHELL_STALE` as prefetch-only data: #98339 - docs: document excluding content from a prefetch in the prefetching gโ€ฆ: #98175 - docs: add unstable_navigation and unstable_prefetch API references: #98122 - Fix turbopacks webpack loader setup to support options being optional: #98270 - [ci] Align build-and-deploy triggers with build-and-test: #98331 - test: stabilize server action HMR update: #98322 - Add version for loaders api: #98377 - turbo-tasks-backend: let a GC pass wind down when it is blocking an operation: #96676 - docs: preserve Next.js development state: #98276 - Adds .resolve to loaders api: #98361 - Turbopack: fix require handling with alternative: #98258 - docs: clarify ISR with Suspense params: #98210 - [cd] Update `peerDependencies` in prereleases to accept the current prerelease: #98411 - test: stabilize error recovery snapshot timing: #98414 - example: Use a Redis cacheHandler w/o dependencies: #95346 - Support durable use-cache entries with client components: #98140 - Upgrade React from `f4e439e1-20260902` to `6c0e1047-20260908`: #98363 - fix: preserve repeated --require/--import flags when forking workers: #96651 - ci: check that Turbopack compiles for wasm: #97588 - feat(next-napi-bindings): build Turbopack for wasm: #97586 - Turbopack: fix output tracing include glob traversal: #98382 - test: support deploy exclusions with force gates: #98149 - Fix: Turbopack CSS HMR error when editing an unmounted merged CSS chunk: #94551 - Dev server: More aggresively scold users for deleting .next when we detect it while dev is running: #98253 - turbo-persistence: add TURBO_PERSISTENCE_MMAP=0 to disable mmap: #97873 - Fix dev route discovery startup race: #97920 - Re-enable @vercel/devlow-bench publishing: #98236 - test: migrate caching deploy exclusions to force gates: #98154 - Typecheck the Turbopack ECMAScript runtime in CI: #98422 - Fix initial Turbopack HMR update handling: #98385 - Skip bundler config validation in next/jest and under test: #98392 - Remove `tsec`: #98423 - Stabilize scope_unbounded panic test: #98416 - test: restore deployment exclusion for shared Cache Components tests: #98464 - Resolve metadata independently across parallel routes: #97345 - docs: preserve route behavior during Cache Components adoption: #98275 - Add a fast-path to 'get_relative_path_to' for a potential common case when 'from' is empty: #98440 - docs: document React browser API: #97621 - Enable React browser bailout by default: #98439 - [evals] Cover focused Cache Components and Partial Prefetching cases: #97813 - Deflake gc_interrupt_is_self_healing: #98445 - Adds this.target for webpack loaders: #98436 - test(evals): validate delegated error boundary components: #98387 - test: stabilize deferred entries HMR assertions: #98418 - Add in warning for workers around the fsevents bug: #98447 - skill: add Partial Prefetching optimizer: #96471 - bundle-analyzer: add table view to single-build analyzer: #93523 - bundle-analyzer: add table view to compare mode: #93522 - bundle-analyzer: add compare view with treemap diff: #93521 - [testmode] Stop using deprecated `url.parse`: #98194 - fix(next/image): don't share the requester's socket with the internal image response: #98168 - Fix duplicate background revalidation for `'use cache'`: #98446 - Turbopack: Deduplicate project options documentation: #98465 - Report incompatible parallel route slots: #97430 - Require canonical routes for interception routes: #97428 - Error when app pages do not match any route: #97401 - fix(turbopack): add `get_relative_request_to` for paths used as module requests: #98497 - [ci] Cleanup orphaned `next-stats-action`: #98348 - [scripts] Move scripts (and benchmarks) off of `node-fetch`: #98347 - [test] Move fixtures off `node-fetch`: #98346 - [test] Move the harness off `node-fetch`: #98195 - fix(turbopack): resolve `../` and `/`-rooted `import.meta.glob` patterns: #96557 - Durable use cache: optimize env var existence checks: #98504 - Adds this.mode for webpack loaders: #98532 - Upgrade React from `6c0e1047-20260908` to `019019be-20260911`: #98576 - feat(next/image): Add experimental imgOptMozjpeg config: #98571 - [turbopack] Lazily compile dynamic imports in development (client side): #97203 - fix(devtools): handle pointercancel when dragging the indicator: #98506 - [ci] Show full logs under GitHub Actions debug logging: #98501 - fix(typegen): merge cacheLife types into next/cache instead of shadowing it: #98252 - [test] Fix `proxy-request-with-middleware` deploy test: #98553 - [ci] Remove the broken Test examples workflow and its test suite: #98517 - Align fallback parameter staging with shell validation: #98512 - Prevent synchronous IO from entering Cached Navigations: #98511 - [ci] Fix scheduled Rspack test job: #98508 - [ci] Remove Turbopack test manifest pipeline: #98507 - test: stabilize OpenTelemetry collector lifecycle: #98427 - Make TurbopackResult payloads disjoint: #98575 - Durable use cache: fix runtime env var mutation: #98558 - refactor(turbopack): drop the generic on `new_atom`, and stop it copying an owned string: #98520 - Serialize turbo-tasks trybuild tests: #98415 - Expose App Router runtime errors over HMR: #98438 - test: avoid OpenTelemetry collector socket reuse: #98632 - fix: Bump vendored @mswjs/interceptors from 0.42.0 to 0.42.5: #98607 - Document codemod errors and intentional migration exceptions: #98565 - Unify TODO markers for codemods and skip adoption-only codemods for upgrade: #98560 - Optimize strict module factory chunks: #98421 - Sort batched chunk items globally by path: #98433 - test(turbopack): strongly read test operations: #98247 - Add `next dev` wait for Turbopack shutdown: #98646 - docs: document default turbopack.resolveExtensions: #98627 - test: migrate package CSS side-effects coverage: #98635 - Improve tree shaking through Next.js module wrappers: #98638 - Trace export usage through client component proxies: #98621 - fix(turbopack): trace cyclic modules to explicit entries: #98661 - Use default pnpm package import method: #98703 - Fix constant inlining in shorthand properties: #98662 - test(turbopack): add strong read operation roots: #98248 - Use pnpm for isolated test installs: #98425 - [turbopack] Forward usage information across re-exports: #96282 - [turbopack] Use options object for ESM references: #98680 - test: enable verified runtime deploy tests: #98457 - test: enable verified assets deploy tests: #98527 - test: enable verified pages-router deploy tests: #98526 - test: enable verified tooling deploy tests: #98525 - test: enable verified app-router deploy tests: #98524 - test: enable verified caching deploy tests: #98523 - Fix unexpected query parameters in adapter deployments: #98584 - Keep never-prerenderable params out of self-hosted shells: #98612 - Fix addMissingDependency: #98588 - docs: clarify metadata support in root not-found: #98670 - Pages Router: do not return the `__appRouter` prefetch marker as route info on shallow navigation: #98187 - Pages Router: key the client router filter prefetch marker by the `as` path: #98182 - docs: add an intro paragraph to the glossary: #98654 - Fix App Router locale path matching with Pages i18n: #98095 - Upgrade React from `019019be-20260911` to `ff8f88fc-20260915`: #98693 - Store code generation AST paths in a shared trie: #98581 - Turbopack: Remove wasmer from lockfile by deleting dead feature option from our wasm crate: #98761 - Prefer using join over try_join when you don't want a vec: #98547 - Preserve committed app route response status during fallback: #98649 - docs: scope React cache() guidance to the render pass: #98741 - fix(next-custom-transforms): never place generated imports before directives: #98717 - Pin tasks during construction: #98688 - fix(use-cache): track root params read in "use cache" as vary params: #98674 - [test] Fix Webpack deployment failures in PostCSS tests: #98710 - Revert "Fix App Router locale path matching with Pages i18n": #98715 - Nudge the agents for future defaults adoption: #98721 - Add future defaults upgrade coverage for `next upgrade --ai`: #98643 - Nudge the agents for latest version upgrade: #98640 - Add "latest" upgrade coverage for `next upgrade --ai`: #98633 - Nudge the agents for security vulnerable version upgrade: #98637 - Add `next upgrade --ai` and security vulnerability coverage: #98562 - agents: Add a `--comments-only` flag to `pr-status` script, trim down context bloat in AGENTS.md: #98781 - Keep guards across restore owner handoff: #98700 - [turbopack] Track webpack loader build dependency files: #98777 - Replace lzzzz with lz4_flex: #98799 - Bump to swc v79: #98809 - [PPF] Fix unnecessary runtime prefetch with prefetch={true}: #98651 - Keep metadata rendering stable across streaming modes: #97440 - [test] Expand root-param navigation regression coverage: #98731 - docs: rewrite the bots and crawlers section in the caching guide: #98782 - Fix isStableBuild() treating commit preview tarballs as stable: #98811 - perf(turbo-persistence): shard meta files by family: #97703 - turbo-persistence: assorted read-path cleanups: #97797 - turbo-persistence: give key block searches a dense region of their own: #97705 - Introduce config options for Turbopack GC: #98378 - Persist resurrected tasks as new tasks: #98729 - Rspack: Remove bincode dependency from rspack by way of turbo-unix-path: #98855 - Pin tasks across restore waiter handoff: #98728 - test: honor skipStart for Vercel deployments: #98776 - Use internal prefix for Turbopack shutdown env: #98747 - test: retry waiting for ISR fallback in prefetch-static-shell: #98884 - Fix generated Turbopack GC option docs: #98888 - Add agent feedback behavior evals: #98887 - Add experimental agent feedback workflow: #98582 - Clean up unnecessary output asset creation: #98834 - Properly disable laziness on next/dynamic: #98828 - Set `experimental.agenticAutoUpgrade` after successful upgrade: #98871 - example(cache-handler-redis): fix connection leak, hangs on a down Redis, and cross-page tag invalidation: #98716 - Do not check Node version while agentic upgrade: #98852 - test: run cargo unit tests with miri as well: #97535 - test: unflake instant-validation: #98854 - Preserve closed-parameter restrictions in client route prediction: #98889 - [test] Fix deployment tests that relied on implicit startup: #98935 - Turbopack: Add support for specifying additional roots: #98003 - Turbopack: Add symlinks and additional roots to NFT metadata: #98469 - Enable AI upgrade for canary: #99001 - fix(turbo-persistence): preserve write errors on writer drop: #98840 - Skip slow valued tombstone test under Miri: #98992 - Improve the agent feedback review flow: #98937 - Run AI upgrades with the latest official canary: #98870 - test: move whole development-only suites out of e2e: #98842 - Fix `instant-false` codemod to run on route segment filenames: #98880 - test: migrate legacy deployment exclusion callers: #98473 - Split revalidation errors by execution context: #98993 - Enable strict route matching by default: #97397 - Surface agent feedback gate connection failures: #98991 - Generalize the build-time generator work-unit store name: #98891 - Use structural React keys during server rendering: #98944 - Upgrade React from `ff8f88fc-20260915` to `59aff3e1-20260918`: #98897 - Remove unused `hasWarnings` and `warnings`: #96956 - [PPF] Scaffold `unstable_ensureStatic` segment config: #98190 - [agent-feedback] Respect CI and telemetry opt-out: #99062 - Fix prefetch loop when a predicted route redirects: #98998 - Fix dev overlay header layout on small screens: #99049 - [PPF] Separate tracking of runtime data accesses for shells and prefetches: #98129 - Harden `next/og` SVG serialization: #99061 - test: clarify dev-only intent of duplicate Sass warning test: #98917 - test: enable upward distDir deployment coverage: #98886 - test: remove redundant deployment skips from mode-guarded suites: #98908 - Turbopack: trace static project files referenced by packages: #98712 - Durable use cache: fix next/image pulling in NEXT_DEPLOYMENT_ID: #98739 - Unify hydration error tree details: #99008 - Turbopack: forward module graph, entrypoint write, and emit spans to the JS trace: #98408 - Fix startTime and shutdown delivery of forwarded Turbopack trace spans: #98426 - Turbopack: loader change invalidation: #95732 - perf: optimize CSS graph cycle removal: #98860 - Use AGENTS.md for managed agent instructions: #99043 - Turbopack: analyze mode tracing imports only: #98825 - Turbopack: compact re-export registration: #98617 - test: Add test for ESM and CJS exports of `next/*` APIs: #98882 - Keep cached root parameters out of generic fallback shells: #98950 - Fix missing content in Cached Navigations: #98767 - [turbopack] Track members across namespace re-exports: #96396 - [PPF] Implement `unstable_ensureStatic = "shell" | "prefetch"`: #98191 - [PPF] Validate `unstable_ensureStatic` nesting: #98357 - Replace lerna task-runner usage with pnpm: #99040 - [cd] Fix release branch gate and drop dead lerna publish config: #99039 - Turbopack: fix "ModuleId not found for ident" regression: #99090 - Fix private-cache segment reuse across root params: #98810 - Turbopack: fix `Unknown module type` error for imports in webpack loaders: #99088 - Nudge future defaults upgrades for manual `next dev|build`: #98874 - Nudge latest version upgrades for manual `next dev|build`: #98873 - Nudge security upgrades for manual `next dev|build`: #98872 - Upgrade React from `59aff3e1-20260918` to `8b0da1c6-20260922`: #99059 - refactor(turbo-rcstr): drop unsupported 16-byte pointer width: #98355 - test(turbo-tasks-backend): run the db_versioning tests on wasm: #97901 - fix(turbo-tasks): let parking_lot block on wasm instead of panicking: #97860 - test(turbo-tasks): run the wasm tests with a Node wasi host: #97789 - [cd] Skip the release job when no new commits warrant a release: #98664 - [test] Add fallback param deployment regression coverage: #98883 - Turbopack: mangle exports behind an escaping namespace via the facade: #97770 - test(dev): add dedicated compiler polling coverage: #97673 - build(turbopack): upgrade notify to 9.0.0-rc.5: #98737 - test(turbopack): add polling to filesystem watcher fuzzer: #98863 - test(turbopack): fix filesystem watcher symlink expectations: #98983 - test(turbopack): fix filesystem watcher read-write tracking: #98982 - Don't re-request the App Shell to upgrade an ISR fallback: #94808 - Fix unstable ensure static task annotation: #99075 - test: update React 18 hydration error snapshots: #99073 - Remove redundant unsafe_ignore annotations: #98961 - Remove TraceRawVcs: #98953 - test(turbopack): remove remaining test unmarks: #98376 - Add experimental custom webpack support: #98862 - Default agentic upgrades to a separate worktree: #99111 - Improve agent upgrade failure message for missing app: #99117 - Preserve error boundaries in on-demand partial prerenders: #99051 - Preserve error boundaries during on-demand prerendering: #99037 - docs: clarify Turbopack ModulePart export examples: #99104 - Add some more verification and safety rules around custom `distDir`: #98997 - Preserve closed-route admission across cache misses: #98964 - Move suspension into operation guard: #99053 - [agent-feedback] Shorten managed agent instructions: #99065 - docs: clarify Cache Components build output: #98274 - Update Rust namespace re-export snapshots: #99106 - [ci] Skip preview tarball upload when the artifact is missing: #98713 - [cd] Retry preview tarball uploads with backoff and richer diagnostics: #99060 - Promote next analyze command: #99074 - [ai-upgrade] Remind the agent to report the nudge: #99127 - Tune Node server chunking for require overhead: #99120 - Turbopack: fix another "ModuleId not found for ident" regression: #99102 - test: enable deploy coverage for TypeScript config errors: #98849 - test: enable deploy coverage for routing build errors: #98848 - test: enable deploy coverage for cache build errors: #98847 - Turbopack: chunk each layout segment once in production: #99100 - bundle-analyzer: exclude traces from output types: #98536 - turbo-tasks-gc: Defer most aggregation graph management until after GC has settled: #98591 - Skip ESLint migration when scripts do not use next lint: #99103 - Turbopack: pass RcStr to AnalyzeIssue: #99166 - Use graph-backed codegen for client proxies and WASM loaders: #99115 - [PPF] Instant validation for `ensureStatic = "shell" | "prefetch"`: #98249 - Fix flaky lazy-dynamic-imports.test: #99057 - [test] Skip flaky deploy tests: #99156 - [cd] Tolerate 409 when uploading preview tarballs: #99091 - [test] Fix new deploy suites: #99162 - Provide only the relevant context for agent upgrade: #99189 - Turbopack: Add support for additionalRoots to deployment adapters: #99015 - Use Sonnet 5 with 1M context for AI upgrade handoff: #99183 - docs: font per-call preload scope and the declarations font-family override: #99167 - Revert "Add experimental custom webpack support": #99227 - test: stabilize lazy dynamic import error overlay: #98730 - turbo-tasks-gc: tear down reverse edges when collecting a task: #99145 - Sequence CI for branch-based PR stacks: #99086 - Prefetch scheduler mirrors the navigation's tree walk: #98975 - Separate route structure comparison from param comparison: #98974 - Store the head as its own CacheNode: #98973 - Record which params a CacheNode's data depends on: #98972 - Use RouteTree<T> for CacheNode tree: #98971 - Remove the page/layout distinction from RouteTree: #98970 - Fix root predicates: #98942 - [turbopack] only remove followers if they are actually removed as children: #98843 - turbo-tasks-backend: simplify the collectibility predicate and collect transient tasks: #98615 - turbo-tasks-gc: Invalidating a deleted task should be a no-op: #98614 - Avoid decoding prerender matcher parameters twice: #99121 - Prepare `'use cache'` for static root-param tracking: #99239 - [test] Adjust the prerender-encoding open fallback gate for non-adapter deploys: #99240 - Turbopack: avoid project-wide traces from package directories: #99238 - Hoist resolved pathname into app page route match: #99259 - docs: papercuts in image API reference: #99256 - test: run the TypeScript version warning suites in deploy: #99195 - test: drop skipDeployment where another gate already excludes deploy: #99194 - bundle-analyzer: suspend while loading analyzer data: #98535 - Fix Server Actions hanging after navigation to PPR pages: #99252 - Fix blurry bundle analyzer treemap on low-DPI displays: #99197 - Rename bundle analyzer snapshot naming option: #99251 - Reduce stacked PR gate polling and use ts-jest: #99215 - Name the internal trace server process: #99257 - test: enable deploy coverage for asset and compiler errors: #98850 - test: consolidate duplicate mode branches in build error tests: #99135 - test: snapshot the proxy-runtime build error output: #99136 - Avoid obsolete pnpm overrides in pack-next: #99199 - bundle-analyzer: move comparison state into URL: #98530 - simplify `Transition` by removing dead members: #94467 - fix: respect metadata streaming policy in Edge SSR: #99128 - Avoid facade splits solely for export mangling: #99285 - test: forward __NEXT_PARTIAL_PREFETCHING to test-deploy: #99275 - Turbopack: Allow webpack loaders to cross filesystem roots when reading dependencies: #99202 - Explain prerelease security upgrade limits: #99230 - Support latest agentic upgrades on prerelease channels: #99223 - Allow agentic upgrades without Git: #99217 - Show security upgrade insights in DevTools: #99002 - Use focused npm advisories and nudge only for ready upgrades: #99222 - [test] Stabilize middleware revalidation test: #99378 - test: scope loader build dependency update to Turbopack: #99380 - Remove CLAUDE.md symlinks in favor of AGENTS.md: #98910 - Align ExecuteContext task accessor names: #99258 - [test] Stabilize responsive dev overlay header layout test: #99376 - Turbopack: skip trimmed side-effect imports in SideEffectsModule: #95781 - Turbopack: preserve import `with` clauses when direct-binding: #95529 - Turbopack: fix split_module correctness for app-router: #95522 - Turbopack: fix empty tree-shake chunks desyncing part ids (#93424): #95516 - Fix custom cache handlers missing on initial requests: #99372 - Allow Draft Mode on unlisted closed routes in adapter deployments: #99370 - Fix bundle analyzer source table delta sorting: #99369 - test: fix stale snapshots after `unstable_{prefetch,navigation}` rename: #99371 - Virtualize bundle analyzer source table: #98539 - [PPF] Remove leftover debug log in router: #99365 - Remove unstable_ prefix from navigation() and prefetch(): #99241 - Lazy dynamic imports for ssr: #98836 - Refine the Security Insight upgrade prompt: #99354 - [PPF] `ensureStatic = "navigation"`: #99171 - docs: use prefetch={true} for links to ISR pages with Cache Components: #99261 - Add agent feedback to create-next-app defaults: #99119 - Make next-dev-loop browser headless by default: #98318 - [test] Extend timeout for tests barely below it: #99305 - docs: typo fixes: #99350 - [ai-upgrade] ESC to move back during prompt: #99319 - [ai-upgrade] Ask user to choose permission: #99291 - [ai-upgrade] Ask user to choose model and effort: #99235 - [ai-upgrade] Ask user whether to start upgrade in worktree: #99232 - [create-next-app] Enable Cache Components by default in create-next-app: #99436 - Include async module evaluation in client loading metrics: #99427 - turbo-tasks-backend: fix leaf distance tracing compilation: #99443 - Enable proxy export tests in deploy mode: #99400 - docs: record API stabilization across Next.js 16 releases: #99420 - test: migrate and explain custom server deploy exclusions: #98994 - test: migrate and explain root-inference deploy exclusions: #99012 - Enable build diagnostic suites in deploy mode: #99402 - test(turbopack): remove filesystem fuzzer unit tests: #99089 - [turbopack] Support webpack loader build dependency requests: #99071 - [turbopack] Track webpack loader build dependency directories: #98838 - [ci] Wire preview builds variables consistently: #99323 - [ci] Enable PR comment in any repo: #99315 - Fix bundle analyzer route selector: #98702 - bundle-analyzer: use Rust React compiler: #98695 - Link bundle analyzer empty states to source mode: #98542 - Consolidate HTML render completion cleanup: #99426 - Scope client component loading metrics to HTML renders: #99322 - fix: preserve HTTP status codes during prerendering: #99078 - test: enable deploy coverage for five verified suites: #99193 - Document agent feedback field limits: #99415 - test: migrate tooling deploy exclusions to force gates: #98156 - Turbopack: Don't force non-recursive watcher for additional roots: #99396 - turbo-persistence: intermediate merges take the newest files of similar size: #99433 - turbo-persistence: space-amplification driven compaction with adaptive hash shards: #99268 - test: enable basePath redirect deployment coverage: #99401 - fix(incremental-cache): keep an ISR entry's cache lifetime across instances and restarts: #99289 - Avoid mutating image qualities during validation: #99476 - Remove the Cache Components deployment-test alias: #99446 - Finalize the App Router dev indicator on output completion: #99384 - [test] Cover external `next/image` in adapter deployments: #99466 - Prepare image options without mutating configuration: #99394 - [PPF] Use RDC in runtime prerenders: #98025 - [PPF] Use RDC in cachedNavigations codepaths: #98005 - test: add PPF coverage to use-cache and RDC tests: #99417 - Restore static metadata prerendering for dynamic routes: #99463 - Exclude metadata files from route handler type validation: #99377 - Remove `true` from `agentUpgrade` option: #99461 - fix: revalidateTag not reaching custom cache handlers when profiles differ : #99359 - Enable agent upgrade reminders by default: #99311 - Enable deploy tests for reusable fixture variants: #99404 - test: enable compatible body-size cases in deploy: #98911 - test: retain deploy exclusions for local process control: #99392 - Enable nullish config tests in deploy mode: #99397 - Always use generateBuildId if set explicitly: #99147 - Set tracer library version: #98262 - fix: propagate repeated tag revalidation from after(): #99499 - Stabilize `ensureStatic`: #99513 - Turbopack: Enable experimental.turbopackSharedRuntime by default: #99504 - Measure AI upgrade nudges, handoffs, and completion: #99465 - turbo-persistence: 32 bit fingerprints for the used keys AMQFs: #99333 - Remove suspend during operations: #99383 - test: migrate runtime deploy exclusions to force gates: #98159 - test: migrate asset deploy exclusions to force gates: #98158 - test: migrate Pages Router deploy exclusions to force gates: #98157 - fix: stale usages of unstable_ensureStatic: #99540 - Add unstable parameter matching APIs: #97393 - docs: point next package security disclosure to HackerOne: #99459 - docs: add ensureStatic reference and validation guidance: #99355 - Enable Turbopack export name mangling by default for builds: #99362 - Allow skipping React and ESLint upgrades: #99468 - Prefer the declared package manager during upgrades: #99471 - Use Next.js conventions in bundle analyzer UI: #98780 - Pass App Page HMR state through a dev render context: #99487 - Remove request forwarding from App Router error reporting: #99488 - docs: self hosting immutable static assets: #97008 - test: enable deployment fixtures with Corepack and portable tarballs: #99192 - Resolve React dependency warnings from the target app: #99536 - Move upgrade workflows out of public docs: #99546 - Use Agent terminology throughout upgrades: #99545 - Turbopack: Commit updated generated-native file: #99561 - test: enable Relay multi-project deployment coverage: #99403 - test: migrate independent App Router deploy exclusions to force gates: #99431 - test: migrate mode-specific deploy exclusions to force gates: #98160 - Optimize esm exports by shifting the protocol burden to getters: #98932 - fix: fix pnpm builds in Docker examples: #97352 - Assert transient task references are not serialized: #99300 - Reorganize bundle analyzer toolbar: #98920 - Show async module scope in bundle analyzer: #98918 - Show bundle changes in compare treemap: #98837 - improve disk read semantics around MustExist and AllowMissing: #99249 - Allow opt-in facade-backed export mangling: #99309 - Add bundle analyzer route summary: #98787 - [turbo-tasks-backend] Correctly maintain outdated_collectibles to prevent unnecessary stale executions: #99386 - Upgrade React from `8b0da1c6-20260922` to `278794d7-20261002`: #99600 - Warn when Partial Prefetching is not configured: #99452 - Store the Turbopack module cache in a Map: #98947 - Improve agent feedback reporting reliability: #99591 - Enable empty generateStaticParams deploy diagnostics: #99406 - test: enable Nx deployment coverage: #99407 - test: enable deployment coverage for monorepo fixtures: #99395 - test: capture deployment experimental flags in config: #99534 - test: extract a shared helper for deployment feature flags: #99533 - Move App Page header parsing to handler entrypoints: #99506 - docs: clarify ensureStatic levels from dogfooding: #99590 - Gate param-matching deploy tests on the adapter: #99582 - docs: update the MCP guide for next-devtools-mcp 0.4: #99583 - Document agent upgrades across Next.js: #99293 - [test] Fix the legacy image preload order assertion for React 18: #99572 - docs: Remove task decomposition and validation boilerplate from AGENTS.md: #99558 - Turbopack: Use a FrozenMap for DiskFileSystemMap: #99569 - [test] Expose first-run e2e test failures in CI: #99528 - Turbopack: `resolveFileUrl`/`placeholderFileUrl` is always called with a module path: #99560 - Turbopack: Remove implicit mismatched root fallthrough for AfterResolvePluginCondition, accept None as a root: #99556 - Turbopack: Allow ResolveMap entries to match against all possible roots: #99555 - Turbopack: Support import.meta.url in additional roots: #99511 - Followup from #99249 remove some redundant tests and enable missing assertions all the time: #99605 - Simplify turbo-tasks-backend guards and execution contexts: #99599 - Add allocation and memory data to the trace-server MCP protocol: #98546 - turbo-tasks-backend: check access in track_modification and only track Data on serialization invalidation: #99581 - Fix CI break caused by #98932: #99621 - Fix: Unnecessary Suspense fallback triggered by URL update: #99612 - Don't suspend client params on shallow URL updates: #99611 - Add React Compiler memoization preservation option: #98589 - Unify bundle analyzer delta colors: #99607 - Turbopack: Cache canonicalized paths without turbo-tasks, try to find the longest cached prefix first: #99270 - Record parameter matching usage in build metadata: #99594 - Bundle Analyzer Agent Skill: Stream versioned analyzer graph as JSON Lines: #99387 - Revert "Optimize esm exports by shifting the protocol burden to getters (#98932)": #99704 - [PPF] Log Sync IO errors in runtime prerenders: #99688 - docs: clarify use client directive as a file level directive: #99703 - Stabilize `forbidden()` and `unauthorized()`: #99689 - turbopack-ecmascript-runtime: type-check every runtime file: #99670 - test: unflake use-cache-search-params: #99691 - Avoid mutating config for default export paths: #99496 - Keep compile-mode metadata outside configuration: #99491 - Keep dynamic asset prefixes outside configuration: #99490 - eslint-config-next: support ESLint 10: #99628 - Add Instant Insights for prefetch() and navigation(): #97801 - rename `RenderStage.Runtime` to `PrefetchRuntime`: #99679 - Collect root param dependencies for `'use cache'` at build time: #99274 - Add client fixes for fully static route errors: #99659 - docs: clarify hover prefetching with Partial Prefetching: #99665 - Durable use cache entries: sort env var list: #99657 - next-swc: rebuild native when embedded js/src files change: #99669 - Improve static route error guidance: #99724 - docs: add Turbopack experimental config references: #99723 - Show choices for agent upgrade prompt: #99727 - docs: add Keeping pages static guide and align the navigation stage docs: #99493 - Turbopack: Check the invalidator map before adding a path to a batch: #99711 - docs: add guide for optimizing the static shell: #97737 - Keep dev and build running during upgrade prompts: #99702 - docs: use auth interruption APIs in examples: #99698 - docs: recommend auth interruption APIs in error handling: #99696 - [test] Update snapshots: #99713 - Bundle Analyzer Agent Skill: Trace conditional async and worker chunk loading: #99174 - Bundle Analyzer Agent Skill: Show route chunk groups: #99170 - Bundle Analyzer Agent Skill: Show modules in generated JS/CSS files: #99173 - Bundle Analyzer Agent Skill: Expose more route details in analyze data: #99172 - turbo-tasks-backend: stop dirtying dependents of GC-collected tasks: #99647 - turbo-tasks-backend: treat reads and connects of collected tasks as errors: #99646 - turbo-tasks-backend: stop pinning tasks during restores and always discard missing tasks: #99645 - Bundle Analyzer Agent Skill: Add analyzer skill: #99169 - Document next analyze export in the package bundling guide: #99735 - Revert stabilization of `forbidden()` and `unauthorized()`: #99734 - Preserve configured output directories during static export: #99507 - Rename skill to next-bundle-optimizer and document its usage: #99731 - [turbo-tasks-backend] Clean up task state before publishing execution completion: #99729 ### Credits Huge thanks to @acdlite, @icyJoseph, @lukesandberg, @sampoder, @ztanner, @vercel-release-bot, @marcoshernanz, @mischnic, @timneutkens, @eps1lon, @gaearon, @aurorascharff, @unstubbable, @lubieowoce, @wbinnssmith, @molebox, @kyamaz99, @sokra, @Janpot, @bgw, @m-kawafuji, @koenpunt, @gnoff, @mayur9210, @Jashnavi25, @jarrensj, @akselipalmer, @DavidIlie, @kelvinampofo, @Stanzilla, @syedsohailhussain1, @gaojude, @hammadxcm, @jimmyhmiller, @lazerg, @styfle, @bryan-ferry, @gdborton, @hardfist, @niketchandivade, @seanbeirnes, @0ldh, @fabian-hiller, @devjiwonchoi, @biubiukam, @fireairforce, @QingHeSite, @marceloboeira, @leejpsd, @hamidrezahanafi, @jgruica, @zeeshan56656, @mlekhi, @dacgray, @Xanaado, @mezotv, @anujbolewar, @spirosikmd, @Amusac, @itsybitsci, @ranger-ross, @bmorros94, @jamiboym, @kostyniuk, @alangenfeld, @aryabyte21, @martinfrancois, @kassens, @orzazade, @Samiislam851, @lukahartwig, @uaoa, @swarnava, and @6iu8a for helping!
โ† Older Version First Tracked Release