npm eslint-config-next 16.4.0

latest releases: 16.5.0-canary.2, 16.5.0-canary.1, 16.5.0-canary.0...
22 hours ago

Check out the 16.4 announcement post 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 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!

Don't miss a new eslint-config-next release

NewReleases is sending notifications on new releases.