Update all non-major dependencies #966

Open
renovate-bot wants to merge 1 commit from renovate/all-minor-patch into main
Collaborator

This PR contains the following updates:

Package Change Age Confidence
@jest/globals (source) 30.4.1 → 30.5.2 age confidence
@mui/material (source) 9.1.1 → 9.5.0 age confidence
@types/node (source) 24.13.2 → 24.19.2 age confidence
@types/react (source) 19.2.17 → 19.3.0 age confidence
@typescript-eslint/eslint-plugin (source) 8.61.0 → 8.72.1 age confidence
@typescript-eslint/parser (source) 8.61.0 → 8.72.1 age confidence
better-sqlite3 12.10.0 → 12.11.1 age confidence
chart.js (source) 4.5.1 → 4.6.1 age confidence
csv-stringify (source) 6.7.0 → 6.9.0 age confidence
cypress (source) 15.17.0 → 15.21.1 age confidence
eslint (source) 9.39.4 → 9.39.5 age confidence
eslint-config-next (source) 16.2.9 → 16.4.3 age confidence
jest (source) 30.4.2 → 30.5.2 age confidence
next (source) 16.2.9 → 16.4.3 age confidence
next-auth (source) 4.24.14 → 4.24.15 age confidence
prettier (source) 3.8.4 → 3.9.10 age confidence
react (source) 19.2.7 → 19.3.1 age confidence
react-dom (source) 19.2.7 → 19.3.1 age confidence
sharp (source, changelog) 0.35.0 → 0.35.5 age confidence
ts-jest (source) 29.4.11 → 29.4.15 age confidence
typescript-eslint (source) 8.61.0 → 8.72.1 age confidence
wait-on 9.0.10 → 9.5.1 age confidence

Release Notes

jestjs/jest (@​jest/globals)

v30.5.2

Compare Source

Features
  • [@jest/transform] Strip TypeScript types with Node when no transformer claims a .ts, .mts or .cts file (#​16421)
Fixes
  • [jest-core, jest-haste-map, jest-transform] Keep require('../package.json') external when bundling, so jest --version and the transform and haste-map cache keys report the released version instead of the previous one (#​16422)
  • [jest-each] Escape a table row's keys before building the $variable interpolation RegExp, so a column name such as count(*) no longer fails the whole table with Invalid regular expression, and a . or | in a column name is matched literally (#​16345)
  • [@jest/source-map] Resolve absolute Windows paths in a source map's sources and sourceRoot again, instead of appending them to the transformed file's directory (#​16439)

v30.5.1

Compare Source

Fixes
  • [jest-config] Don't warn about global-only options in the config that supplies the global config - the root config a project resolves to, or the first entry of --projects when no root config is passed (#​16411)
  • [jest-config, jest-types] Stop accepting reporters, coverageReporters, workerIdleMemoryLimit, cwd and runnerOptions in a project config - they were silently ignored, and now warn like the other global-only options (#​16411)
  • [jest-config, jest-validate] Warn about maxWorkers and coverageThreshold in a project config instead of dropping them without a word (#​16411)
  • [jest-resolve] Match moduleNameMapper patterns against the specifier as written again (reverting #​16390) (#​16417)
  • [jest-runtime] Resolve package imports specifiers like #dep under ESM again (#​16413)
Chore & Maintenance
  • [jest-util] Name the testEnvironmentOptions.globalsCleanup option and link the docs from the JEST-01 deprecation warning, and document the option's modes (#​16404)

v30.5.0

Compare Source

Features
  • [@jest/expect-utils, jest-mock] Add mockFn.whenCalledWith(...args) for configuring return values per argument list, with first-class asymmetric-matcher support (#​16053)
  • [@jest/expect-utils] Export AsymmetricMatcher and FunctionParameters types (previously private to expect) (#​16053)
  • [jest-circus, jest-core, jest-jasmine2, jest-test-result, jest-types] --collectTests now expands test.each/describe.each cases and reports per-status counts (skipped/todo via the new wouldRun flag for selected tests) plus a summary line that match a real run, including under --testNamePattern and .only/fdescribe focus on both the circus and jasmine2 runners (#​16259)
  • [jest-circus, jest-environment, jest-runtime, jest-types] Add describe-level retries via jest.retryTimes(..., {entireDescribe: true}) (#​16322)
  • [jest-circus, jest-message-util, jest-reporters, jest-types] Add retryMessages to AssertionResult and export formatErrorStack, so the retry log renders nested cause and AggregateError sections with code frames instead of serialized [cause]:/[errors]: markers (#​16316)
  • [jest-circus, jest-types] Add unhandledErrorsDetailed to Circus.RunResult, so an unhandled rejection reports its cause chain and AggregateError entries with code frames instead of a pre-serialized stack (#​16316)
  • [jest-haste-map] Replace NodeWatcher and FSEventsWatcher with @parcel/watcher for the non-watchman watch path (#​16188)
  • [jest-resolve] Bump unrs-resolver to 1.12.1, remove jest-pnp-resolver and unnecessary checks (#​15721)
  • [jest-resolve] Honor Node's --preserve-symlinks / NODE_PRESERVE_SYMLINKS in the default resolver by passing symlinks: false to unrs-resolver (#​16260)
  • [jest-runtime] Apply automocking and manual __mocks__ files to synchronously evaluable ESM graphs on Node 24.9+ - static imports, dynamic import() and require() of an ESM file now generate an automock from the real module's namespace instead of failing with "Attempting to import a mock without a factory". Graphs that need async evaluation (top-level await) or an async-only resolver or transformer still throw (#​16391)
  • [jest-runtime] Route process.getBuiltinModule through the sandbox, so it returns the sandbox process and the hooked node:module instead of the host's (#​16391)
  • [jest-runtime] Throw an actionable error from module.register() and module.registerHooks() inside a test - the hooks attached to the loader running Jest itself, never saw the sandboxed requires they were meant for, and stayed registered for every later test file in the worker (#​16391)
  • [jest-runtime] Surface resolution and import-attribute errors in an ESM graph before executing any of its CJS dependencies on Node 24.9+, matching Node's run-nothing-on-a-broken-graph behavior; the legacy loader on older versions keeps its linking-time execution order (#​16391)
  • [jest-runtime] Throw ERR_SOURCE_PHASE_NOT_DEFINED with an actionable message for import source and import.source(), instead of failing at instantiation with V8's bare "Source phase import object is not defined" (#​16391)
  • [jest-runtime] Emit the JSON-without-import-attribute deprecation warning once per test file instead of once per worker, so it is no longer silently swallowed for every file after the first (#​16391)
  • [jest-runtime] Set import.meta.main to true in the test file and false in every module it loads, matching Node 24+ (#​16367)
  • [jest-runtime] Resolve the module-sync export condition, so a package that exposes its ESM entry point for require() loads the same file Node would (#​16336)
  • [jest-snapshot] Add external snapshot paths to custom reporter failure details (#​16374)
Fixes
  • [jest-console, jest-reporters] CustomConsole now buffers console output so TestResult.console is populated for reporters when verbose is enabled, while GitHubActionsReporter avoids replaying buffered output in verbose mode (#​16155)
  • [expect, jest-message-util, jest-pattern, jest-regex-util, jest-util] Revert node: protocol imports to restore webpack/browser-bundle compatibility (#​16167)
  • [expect] Widen toMatchObject and objectContaining parameter type from Record<string, unknown> to object so class instances are accepted (#​16196)
  • [jest-circus] Call a generator test body with the shared test context, so this matches what a regular test function receives (#​16347)
  • [jest-circus] Capture the error listeners of the parent process instead of the in-sandbox process, so listeners registered before the test file survive teardown and sandbox listeners no longer leak onto the parent (#​16347)
  • [jest-circus] Clear currentlyRunningTest after skipped and todo tests (#​16342)
  • [jest-circus] Prevent late done() callbacks from affecting later test or hook invocations (#​16343)
  • [jest-circus, jest-jasmine2] Honor --expand when formatting node:assert failures, instead of always collapsing the diff (#​16347)
  • [jest-circus, jest-jasmine2, jest-message-util] Serialize the inner errors of an AggregateError into failureMessages, retryReasons and unhandledErrors, so --json output and reporter annotations include them (#​16316)
  • [jest-circus, jest-snapshot] Keep snapshot state and counts correct when a test retries (#​16344)
  • [@jest/create-cache-key-function] Include the caller support flags in the generated key, so a transformer that emits ESM or CJS based on them no longer shares one cache entry between the two (#​16331)
  • [@jest/create-cache-key-function] Include the stringified project config in the generated key, so editing a transformer's own settings invalidates what it cached (#​16331)
  • [@jest/transform] Include the caller support flags in a transform's cache key, so a file transformed both as ESM and as CJS no longer serves one shape's output for the other (#​16331)
  • [jest-config] Add missing findRelatedTests, outputFile, and replname entries to ValidConfig so they no longer trigger spurious "Unknown option" warnings (#​16224)
  • [jest-config] Use --config for the global config when multiple --projects are specified (#​16273)
  • [jest-core] Serialize bigint values in --json and --outputFile output as their literal form (4n), instead of failing the run with TypeError: Do not know how to serialize a BigInt (#​16338)
  • [jest-core] Do not report a CustomGC async resource (used by N-API addons such as napi-rs for per-isolate GC bookkeeping) as an open handle, since it is napi_unref'd by the addon and can never keep the event loop alive (#​16379)
  • [jest-each] Keep a $&, $`, $' or $$ inside a %p param value out of the replacement, so the title shows the value instead of the text around it (#​16338)
  • [jest-each] Interpolate a bigint into a %j title as its literal form ("4n") at any depth, instead of throwing TypeError: Do not know how to serialize a BigInt while collecting the tests (#​16338)
  • [jest-environment, jest-runtime] Bind sandboxInjectedGlobals to the right values when injectGlobals is false, instead of shifting every one of them by a position (#​16377)
  • [jest-environment-node, jest-util] Only warn about a conflicting globalsCleanup mode when one was explicitly configured, and follow the mode that is actually in effect (#​16323)
  • [jest-environment-node, jest-util] Stop resolving lazy globals when setting up an environment, so Node 26's builtin module globals are no longer loaded (and no longer emit their deprecation warnings) for every test file (#​16324)
  • [jest-haste-map] Keep watch mode alive when an outside process briefly makes a file unreadable on Windows, instead of tearing the watcher down on EPERM (#​16295)
  • [jest-haste-map] Keep indexing when an outside process holds a file open on Windows, instead of failing the whole crawl on EPERM (#​16358)
  • [jest-haste-map] Keep a duplicated manual mock resolving when the file it pointed at is deleted in watch mode (#​16360)
  • [jest-haste-map] Shut the worker farm down when a duplicate manual mock aborts the build under throwOnModuleCollision (#​16354)
  • [jest-haste-map] Attach the watchman client's error listener before the first command, so a watchman failure falls back to the node crawler instead of crashing on an unhandled error event, and always end the client (#​16355)
  • [jest-haste-map] Stop delivering watch events after WatchmanWatcher is closed, and route its warnings through the configured console (#​16355)
  • [jest-haste-map] Restore the nested duplicates index correctly in ModuleMap.fromJSON, so a haste collision reported inside a test worker raises DuplicateHasteCandidatesError instead of a TypeError (#​16353)
  • [jest-haste-map] Match watched files on a full extension, so moduleFileExtensions: ['js'] no longer accepts foo.mjs (#​16352)
  • [jest-haste-map] Delimit the fields that make up the haste map cache key, so two different option sets cannot hash to the same cache file (#​16352)
  • [jest-message-util] Print the inner errors of an AggregateError thrown inside a test (#​16316)
  • [jest-message-util] Indent nested cause and AggregateError sections of a test failure by one level per depth, so the nesting is legible instead of rendering flat (#​16316)
  • [jest-message-util] Color stack traces line by line so blank lines stay blank (#​16316)
  • [jest-message-util] Detect Jest's own frames without assuming the checkout directory's name, and cover @jest/* packages, so stack traces and code frames point at user code (#​16326)
  • [jest-mock] mockResolvedValue / mockRejectedValue now see all overload return types, so a Promise-returning overload survives even when a later overload returns a non-Promise (e.g. pg.Client['end']) (#​16237)
  • [@jest-environment/jsdom-abstract] Make @types/jsdom a peer dependency (#​16166)
  • [jest-mock] Remove the leftover own accessor descriptor when restoring a spyOn of an inherited getter or setter, so the instance keeps reflecting the prototype (#​16226)
  • [jest-resolve] Include extensionsToTreatAsEsm in the shouldLoadAsEsm cache key, so projects with different extension lists don't read each other's answers (#​16369)
  • [jest-resolve] Make getModuleIDAsync build and cache data: URI module IDs the same way as getModuleID (#​16370)
  • [jest-resolve] Keep the node: prefix when resolving a core module asynchronously, so a builtin that only exists prefixed (node:sea, node:sqlite, node:test, node:test/reporters) resolves instead of failing as a missing bare package (#​16388)
  • [jest-resolve] Look up manual mocks for node: protocol specifiers under the unprefixed name they are stored as (#​16388)
  • [jest-resolve] Apply moduleNameMapper consistently to both spellings of core module specifiers (fs vs node:fs) (#​16390)
  • [jest-resolve] Keep virtual and ordinary mock module IDs isolated across test files (#​16296)
  • [jest-resolve] Guard missing require.resolve.paths (#​16052)
  • [jest-resolve, jest-config, jest-runner] Support a user resolver written as an ES module (#​16332)
  • [jest-resolve, jest-runtime] Throw the CJS parse error for ESM syntax in a "type": "commonjs" package or a .cjs file instead of loading it as ESM, matching Node (#​16368)
  • [@jest/source-map] Keep source map sources that name a scheme, such as webpack:///, instead of resolving them into a path that does not exist (#​16327)
  • [@jest/source-map] Look up --testLocationInResults positions at the right column, and keep a mapping to the first column instead of discarding it (#​16327)
  • [@jest/source-map] Warn when a source map cannot be parsed, instead of silently leaving its frames untranslated (#​16327)
  • [jest-runner, @jest/source-map] Keep a source-mapped stack for an error thrown after the test environment was torn down (#​16327)
  • [jest-runtime, @jest/source-map] Keep source maps past teardown and past the next test file's install, so a stack from a file no earlier stack mentioned still points at the original source (#​16330)
  • [jest-runtime] Report that no coverage was collected when getAllV8CoverageInfoCopy is called after teardown, instead of returning an empty result (#​16385)
  • [jest-runtime] Cache a CJS module's parsed exports before walking its re-exports, so two modules that re-export each other no longer overflow the stack when imported from ESM (#​16363)
  • [jest-runtime] Keep a re-exported ES module's parse failure from marking the re-exporting CommonJS file as ESM, so module.exports = require('./dep.mjs') loads instead of failing with module is not defined (#​16363)
  • [jest-runtime] Scope module mocks instantiated inside jest.isolateModules/isolateModulesAsync to that block, so a mock first imported there no longer outlives it - matching how CommonJS mocks already behave (#​16365)
  • [jest-runtime] Suspend module isolation while generating an automock, so loading the real module to read its shape no longer populates the isolated registry (#​16365)
  • [jest-runtime] Check a cached ES module's status before require() returns it, so a module whose evaluation threw rethrows that error and one left linked by a failed sibling is evaluated instead of returning uninitialized bindings (#​16364)
  • [jest-runtime] Report the original ERR_REQUIRE_ASYNC_MODULE when a require() of a top-level-await graph is retried, instead of a spurious "concurrent import()" error (#​16364)
  • [jest-runtime] Throw the evaluation error when another caller's import() of the same module failed while we awaited it, instead of resolving with the errored module (#​16364)
  • [jest-runtime] Mark the result of require()ing an ES module that has a default export with __esModule: true through a live-binding facade, and serve the same object from require.cache, matching Node (#​16367)
  • [jest-runtime] Provide a CommonJS module's exports under the 'module.exports' named export when imported from ESM, matching Node 23+ (#​16367)
  • [jest-runtime] Give the test file itself a non-null require.main (#​16367)
  • [jest-runtime] Populate module.children with the modules a file loads, matching Node (#​16368)
  • [jest-runtime] Provide import.meta.resolve and import.meta.jest in data: URI modules, accept any-case mediatype parameters, and use Node's error codes for invalid data: URIs (#​16368)
  • [jest-runtime] Key ES modules by full URL, so query and fragment suffixes create the same module instances as Node and show up in import.meta.url (#​16375)
  • [jest-runtime] Share modules between overlapping graphs when a CommonJS module require()s an ES module mid-load, instead of evaluating shared dependencies twice (#​16375)
  • [jest-runtime] Throw ERR_REQUIRE_CYCLE_MODULE like Node when a CommonJS module require()s an ES module that is still being loaded, instead of evaluating the module a second time (#​16366)
  • [jest-runtime] Key builtin modules in the ESM registry by one canonical specifier (#​16341)
  • [jest-runtime] import.meta.resolve() for a builtin uses its node: specifier (#​16341)
  • [jest-runtime] Fall back to native ESM when a .js file contains ESM syntax but has no "type":"module" marker (#​16152)
  • [jest-runtime] Allow require() of ESM-marked files on Node < 24.9 via transform fallback (#​16244)
  • [jest-runtime, @jest/transform] Surface actionable ERR_REQUIRE_ESM error for files with untransformed ESM syntax instead of the generic "unexpected token" message (#​16244)
  • [jest-runtime] Support older test environments whose moduleMocker does not implement clearMocksOnScope (#​16169)
  • [jest-runtime] Apply jest.unstable_mockModule when the mocked file itself is require()d, not only when it is imported as a dependency (#​16389)
  • [jest-runtime] Apply jest.unstable_mockModule to statically imported data: URIs on Node 24.9+, matching dynamic import() (#​16389)
  • [jest-runtime] Run an async jest.unstable_mockModule factory once per module instead of twice, and fail the import instead of crashing the worker when the factory rejects (#​16389)
  • [jest-runtime] Hide a require(esm) module that failed to evaluate from require.cache, as Node does, instead of exposing a namespace with uninitialized bindings (#​16389)
  • [jest-runtime] Strip the byte-order mark when importing a JSON module, matching require() and Node (#​16389)
  • [jest-runtime] Throw ERR_REQUIRE_ASYNC_MODULE when require(esm) runs under an async-only custom resolver, instead of silently resolving with the default resolver (#​16389)
  • [jest-runtime] Parse imported JSON modules with the test realm's JSON, so their objects pass instanceof Object inside the test like require()d JSON does (#​16389)
  • [jest-runtime] Accept every file: URL string in the sandboxed module.createRequire, including one with a localhost authority, as Node does (#​16389)
  • [jest-runtime] Point at {virtual: true} when jest.mock or jest.unstable_mockModule is given a module that cannot be resolved (#​16389)
  • [jest-reporters] Fix coverage report table formatting in CI/GitHub Actions environments where process.stdout.columns is undefined by falling back to the COLUMNS env var or 80 columns in CI, preserving existing behaviour in other non-TTY environments (#​16227)
  • [jest-runtime] Support CJS-in-ESM exports via "module.exports" named exports (#​16277)
  • [jest-snapshot] Keep a skipped or failed test's hinted snapshots, instead of reporting them obsolete (#​16348)
  • [jest-util] Stop globsToMatcher reusing a cached matcher compiled with different picomatch options, and keep its dot: true default when dot is passed as undefined (#​16381)
  • [pretty-format] Move the react-is aliases into the @jest scope, so they cannot be shadowed by unrelated packages published under the alias names (#​16333)
Chore & Maintenance
  • [docs] Document the intentional divergences from Node's module system in the ECMAScript Modules page (#​16368)
  • [docs] Note deprecation of react-test-renderer in React Native tutorial and pretty-format README (#​16294)
  • [docs] Use @testing-library/react-native in the React Native tutorial instead of the deprecated react-test-renderer (#​16318)
  • [babel-jest, @jest/transform] Update babel-plugin-istanbul to v8 (#​16049)
  • [jest-config, @jest/reporters, jest-runtime] Update glob to v13 (#​16397)
  • [jest-haste-map] Refactor massive class into multiple files (#​16180)
  • [jest-haste-map] Drop walker dependency; replace hand-rolled directory recursion in the JS crawler and watcher startup with fdir (#​16187)
  • [jest-haste-map] Reuse cached metadata for files whose haste name is a known duplicate, instead of re-reading and re-parsing them on every startup (#​16351)
  • [jest-haste-map] Cache the watchman socket path and replace the watchman --version probe with get-sockname, so warm runs spawn no watchman processes (#​16386)
  • [jest-resolve] Store the per-directory package-type lookup in the cache it reads, so it actually memoizes (#​16369)
  • [jest-resolve, jest-runtime] Cut repeated work on the resolution hot path: hoist the platform-extension list to construction, memoize isCoreModule and the options cache-key serialization, skip mapper preparation when no moduleNameMapper is configured, run each mapper regex once, and stop re-parsing NODE_OPTIONS on every default-resolver call (#​16371)
  • [jest-resolve] Cut warm resolution cost to about a third: reuse one unrs-resolver factory per options shape instead of cloning per resolution, compose the factory cache key from per-array cached strings instead of serializing options, and stop constructing an Error for misses that findNodeModule swallows; add a __benchmarks__ suite for the default resolver (#​16373)
  • [jest-runner, @jest/source-map] Replace source-map-support with an implementation in @jest/source-map (#​16327)
  • [jest-snapshot] Load babel, semver and synckit lazily, so requiring the package (which every test process does through @jest/expect) no longer loads ~200 modules that only writing inline snapshots needs (#​16387)
  • [jest-runtime] Reduce per-require overhead: skip module ID resolution when no mock can apply, answer core modules before probing for a manual mock, share one require.cache proxy across modules, and cache empty files (#​16376)
  • [@jest/source-map] Deprecate getCallsite in favour of SourceMapSupport#getCallsite (#​16327)
  • [jest-runtime] Avoid magical null value in ESM loader (#​16160)
mui/material-ui (@​mui/material)

v9.5.0

Compare Source

A big thanks to the 28 contributors who made this release possible. Here are some highlights ✨:

@mui/material@9.5.0
@mui/icons-material@9.5.0
@mui/system@9.5.0
@mui/utils@9.5.0
@mui/types@9.5.0
  • Remove invalid number type from supported OverridableStringUnion type arguments (#​49307) @​sai6855
@mui/lab@9.0.0-beta.10
@mui/codemod@9.5.0
Docs
Core

All contributors of this release in alphabetical order: @​aarongarciah, @​alexfauquette, @​brijeshb42, @​crispinc-omnea, @​Cunninger, @​Denimworld12, @​dizhurnikita, @​itd-mb, @​Janpot, @​kwy404, @​lazerg, @​LeusMaximus, @​ludij, @​LukasTy, @​mateuseap, @​michelengelen, @​minwookshin, @​mj12albert, @​mnajdova, @​oliviertassinari, @​OskarEichler, @​sai6855, @​silviuaavram, @​siriwatknp, @​starboyvarun, @​usamabhatti1998, @​valkiara, @​ZeeshanTamboli

v9.4.0

Compare Source

Aug 27, 2026

A big thanks to the 19 contributors who made this release possible. Here are some highlights ✨:

  • ♿️ Opt in to a consistent keyboard focus ring across components with the new theme.focusVisible.
  • ♿️ The Tooltip now supports disabled button triggers without an extra wrapper element.
@mui/material@9.4.0
@mui/utils@9.4.0
@mui/styled-engine-sc@9.4.0
Docs
Core

All contributors of this release in alphabetical order: @​brijeshb42, @​creazyfrog, @​FirmaSpring, @​gonzoblasco, @​Janpot, @​JCQuintas, @​lazerg, @​loulanyue, @​LukasTy, @​mayank99, @​megos, @​michelengelen, @​mnajdova, @​nrps9909, @​petr-kratochvil, @​seomsoo, @​silviuaavram, @​siriwatknp, @​ZeeshanTamboli

v9.3.1

Compare Source

Aug 6, 2026

A big thanks to the 4 contributors who made this release possible.

@mui/material@9.3.1
@mui/codemod@9.3.1
Core

All contributors of this release in alphabetical order: @​brijeshb42, @​DanailH, @​silviuaavram, @​ZeeshanTamboli

v9.3.0

Compare Source

Aug 4, 2026

A big thanks to the 18 contributors who made this release possible. Here are some highlights ✨:

  • ♿️ Keyboard navigation in the Toggle Button Group now follows the roving tabindex pattern.
  • ♿️ The Autocomplete announces its loading and no options messages through a new status slot.
@mui/material@9.3.0
@mui/system@9.3.0
@mui/codemod@9.3.0
Docs
Core

All contributors of this release in alphabetical order: @​bernardobelchior, @​brijeshb42, @​DebadityaHait, @​Janpot, @​Juan-C-Ceballos, @​kalayciburak, @​LukasTy, @​manbearwiz, @​mansourcodes, @​meaqua9420, @​morning-verlu, @​oliviertassinari, @​rushijagani-dev, @​silviuaavram, @​siriwatknp, @​SR0725, @​ZeeshanTamboli, @​ZhouYinLong-lab

v9.2.0

Compare Source

Jul 3, 2026

A big thanks to the 9 contributors who made this release possible.

@mui/material@9.2.0
@mui/utils@9.2.0
Docs
Core

All contributors of this release in alphabetical order: @​brijeshb42, @​greymoth-jp, @​Janpot, @​LukasTy, @​michelengelen, @​mturac, @​Prakash1185, @​siriwatknp, @​Sushantplive

v9.1.2

Compare Source

Jun 23, 2026

A big thanks to the 5 contributors who made this release possible.

@mui/material@9.1.2
@mui/system@9.1.2
Docs
Core

All contributors of this release in alphabetical order: @​brijeshb42, @​Janpot, @​LukasTy, @​mj12albert, @​siriwatknp

typescript-eslint/typescript-eslint (@​typescript-eslint/eslint-plugin)

v8.72.1

Compare Source

🩹 Fixes
  • eslint-plugin: [no-unnecessary-type-assertion] bound recursive type traversal instead of catching stack overflows (#​13039)
  • eslint-plugin: [no-unnecessary-condition] false positives on unresolved conditional types (#​13062)
❤️ Thank You

See GitHub Releases for more information.

You can read about our versioning strategy and releases on our website.

v8.72.0

Compare Source

🚀 Features
  • eslint-plugin: [await-thenable] add allowMixedPromiseArrays option (#​12992)
  • eslint-plugin: lazy load rules (#​13010)
🩹 Fixes
  • type-utils: discriminateAnyType crashes when calling getAwaitedType on awaited type in TS < 5.0 (#​13054)
  • eslint-plugin: [require-array-sort-compare] ignore extra this type argument on TS < 5.1 (#​13055)
  • eslint-plugin: [require-array-sort-compare] check tuples (#​13058)
  • eslint-plugin: use isTypeLiteralType instead of type.isLiteral() to include bigint literals on TS < 5.0 (#​13053)
  • eslint-plugin: [no-deprecated] report deprecated properties in object literals (#​12704)
  • eslint-plugin: [prefer-readonly-parameter-types] check where allowed type aliases are declared (#​13016)
  • typescript-estree: include leading and trailing comments & whitespace in Program range (#​12991)
❤️ Thank You

See GitHub Releases for more information.

You can read about our versioning strategy and releases on our website.

v8.71.2

Compare Source

🩹 Fixes
  • eslint-plugin: [prefer-optional-chain] safe fix when the chain ends with a strict null comparison (#​12805)
  • eslint-plugin: [no-unnecessary-type-parameters] parenthesize constraint in optional tuple elements (#​12995)
  • eslint-plugin: [no-unused-vars] ignore type-only refs for after-used (#​12977)
  • eslint-plugin: [no-unnecessary-type-parameters] count instantiated mapped type templates (#​12974)
  • eslint-plugin: [no-unused-vars] avoid false-positives when not using our parser (#​12989)
❤️ Thank You

See GitHub Releases for more information.

You can read about our versioning strategy and releases on our website.

v8.71.1

Compare Source

🩹 Fixes
  • eslint-plugin: [no-unnecessary-type-parameters] count instantiated mapped type constraints (#​12941)
  • eslint-plugin: [prefer-optional-chain] check the constrained type (#​12953)
  • eslint-plugin: [no-confusing-void-expression] don't autofix when declared return type is unknown (#​12930)
  • eslint-plugin: [no-unsafe-enum-assignment] skip identical types and bound deep type walks (#​12957)
  • eslint-plugin: [require-array-sort-compare] use array argument type constraint (#​12919)
  • eslint-plugin: [no-unused-vars] report usedOnlyAsType for partially exported merged declarations (#​12892)
  • eslint-plugin: [no-misused-promises] skip argument checks for calls without arguments (#​12923)
❤️ Thank You

See GitHub Releases for more information.

You can read about our versioning strategy and releases on our website.

v8.71.0

Compare Source

🚀 Features
  • eslint-plugin: [no-unsafe-enum-assignment] add rule (#​12732)
🩹 Fixes
  • eslint-plugin: [no-misused-promises] handle a return outside of any function (#​12912)
  • eslint-plugin: [no-unnecessary-type-assertion] specialize generic assertion report message (#​12832)
  • eslint-plugin: [unbound-method] respect this: void on class properties (7fce9127d)
  • eslint-plugin: [switch-exhaustiveness-check] always sort literal cases in stable order (#​12885)
❤️ Thank You

See GitHub Releases for more information.

You can read about our versioning strategy and releases on our website.

v8.70.1

Compare Source

🩹 Fixes
  • eslint-plugin: [no-misused-promises] handle multiple Promise constituents (#​12904)
  • eslint-plugin: [no-useless-default-assignment] convert the fixer to a suggestion fixer (#​12826)
  • eslint-plugin: [no-unnecessary-condition] handle union-keyed index access on the left-hand side of nullish assignment (#​12747)
  • eslint-plugin: [unbound-method] treat Intl.Collator.prototype.compare as spec-bound (#​12845)
  • eslint-plugin: [no-unnecessary-parameter-property-assignment] account for parameter reassignment (#​12880)
  • eslint-plugin: [await-thenable] prevent autofix from breaking code when removing await (#​12716)
  • eslint-plugin: [no-meaningless-void-operator] allow void on assignment expressions (#​12873)
  • eslint-plugin: [no-unnecessary-type-assertion] false positive for empty object asserted to a type alias of Record (#​12869)
  • eslint-plugin: [no-misused-spread] omit WeakMap spread suggestions (#​12850)
  • eslint-plugin: [no-generated-empty-object-type] don't report a mapped type whose keys are not resolved yet (#​12854)
  • eslint-plugin: [no-explicit-any] use unknown[] for bare any rest parameters (#​12818)
  • eslint-plugin: [no-unnecessary-type-parameters] handle type precedence in the suggestion fixer (#​12637)
  • eslint-plugin: [no-useless-default-assignment] avoid false positives on tuples with a rest element (#​12768)
❤️ Thank You

See GitHub Releases for more information.

You can read about our versioning strategy and releases on our website.

v8.70.0

Compare Source

🚀 Features
  • eslint-plugin: [no-generated-empty-object-type] add rule (#​12730)
🩹 Fixes
  • eslint-plugin: [no-deprecated] report deprecated imported values used in object shorthand properties (#​12780)
  • eslint-plugin: [no-unnecessary-condition] no false positive on RHS of a nested logical expression (#​12728)
  • eslint-plugin: [member-ordering] don't report fields that read fields declared before them (#​12729)
❤️ Thank You

See GitHub Releases for more information.

You can read about our versioning strategy and releases on our website.

v8.69.0

Compare Source

🚀 Features
  • eslint-plugin: [no-misused-promises] add flagUnions option for checkConditionals (#​12603)
🩹 Fixes
  • eslint-plugin: [no-meaningless-void-operator] report void on non-call expressions (#​12727)
  • eslint-plugin: [unified-signatures] compare type parameters by constraint instead of name (#​12741)
  • eslint-plugin: [no-mixed-enums] use scope analysis instead of type checking for merged namespaces (#​12731)
❤️ Thank You

See GitHub Releases for more information.

You can read about our versioning strategy and releases on our website.

v8.68.0

Compare Source

🚀 Features
  • eslint-plugin: [strict-void-return] add fix suggestions (#​12086)
🩹 Fixes
  • eslint-plugin: [no-empty-object-type] ignore suggestions that result in invalid interfaces and export defaults (#​12739)
  • eslint-plugin: [no-floating-promises] setting ignoreVoid: false results in false negative in ArrowFunctionExpression (#​12646)
  • eslint-plugin: [no-unnecessary-type-assertion] prevent stack overflow in recursive types (#​12711)
  • eslint-plugin: [unified-signatures] report identical signatures (#​12678)
  • eslint-plugin: [return-await] prevent autofix from breaking code in arrow-functions (#​12707)
  • eslint-plugin: [unified-signatures] deduplicate types in report (#​12656)
❤️ Thank You

See GitHub Releases for more information.

You can read about our versioning strategy and releases on our website.

v8.67.0

Compare Source

This was a version bump only for eslint-plugin to align it with other projects, there were no code changes.

See GitHub Releases for more information.

You can read about our versioning strategy and releases on our website.

v8.66.0

Compare Source

🩹 Fixes
  • eslint-plugin: [class-literal-property-style] preserve type annotations and don't drop decorators (#​12617)
  • eslint-plugin: [no-unnecessary-type-parameters] check MappedType key remapping (#​12588)
  • eslint-plugin: [no-useless-default-assignment] don't report defaults used by other overloads (#​12607)
  • eslint-plugin: [prefer-nullish-coalescing] handle shadowed Boolean calls (#​12591)
  • eslint-plugin: [no-unnecessary-type-conversion] ignore shadowed built-ins (#​12590)
❤️ Thank You

See GitHub Releases for more information.

You can read about our versioning strategy and releases on our website.

v8.65.0

Compare Source

🚀 Features
  • eslint-plugin: [no-shadow] specialized error on enum declaration and member shadowing (#​12578)
  • add warning when TS 7 is detected (#​12529)
  • eslint-plugin: [no-restricted-imports] deprecate extension rule (#​12527, #​19562, #​11889)
🩹 Fixes
  • eslint-plugin: [no-unnecessary-parameter-property-assignment] don't flag computed assignments with a variable key (#​12568)
  • eslint-plugin: [unbound-method] report unbound methods accessed via member expression on union types (#​12448)
  • eslint-plugin: [prefer-string-starts-ends-with] handle escaped $ ending regex literals (#​12515)
❤️ Thank You

See GitHub Releases for more information.

You can read about our versioning strategy and releases on our website.

v8.64.0

Compare Source

🚀 Features
  • eslint-plugin: [no-loop-func] support using / await using declarations and deprecate the rule (#​12500)
  • typescript-estree: throw for invalid definite assignment in class properties (#​12543)
🩹 Fixes
  • eslint-plugin: [require-array-sort-compare] handle constrained arrays (#​12512)
❤️ Thank You

See GitHub Releases for more information.

You can read about our versioning strategy and releases on our website.

v8.63.0

Compare Source

🚀 Features
  • eslint-plugin: [no-misused-promises] detect async usage of a sync dispose usage (#​12426)
🩹 Fixes
  • eslint-plugin: [no-base-to-string] don't flag a shadowed String() call (#​12492)
  • eslint-plugin: [no-unnecessary-type-assertion] handle optional-chained calls to overloaded functions (#​12491, #​12485)
  • eslint-plugin: [method-signature-style] suggest converting readonly function properties instead of emitting invalid syntax (#​12447, #​12446)
❤️ Thank You

See GitHub Releases for more information.

You can read about our versioning strategy and releases on our website.

v8.62.1

Compare Source

🩹 Fixes
  • eslint-plugin: [no-unnecessary-type-assertion] parenthesize object literal at left edge of expression statement (#​12443, #​12418)
  • eslint-plugin: [no-unnecessary-boolean-literal-compare] preserve boolean result in fixer for nullable true comparisons (#​12365)
  • eslint-plugin: [prefer-optional-chain] use suggestion instead of autofix for trailing binary operator (#​12328)
❤️ Thank You

See GitHub Releases for more information.

You can read about our versioning strategy and releases on our website.

v8.62.0

Compare Source

🚀 Features
  • remove redundant package.json "files" (#​12444)
❤️ Thank You

See GitHub Releases for more information.

You can read about our versioning strategy and releases on our website.

v8.61.1

Compare Source

🩹 Fixes
  • eslint-plugin: [no-unnecessary-template-expression] respect ECMAScript line terminators (#​12388)
  • eslint-plugin: [no-unnecessary-boolean-literal-compare] fix precedence bug in autofix (#​12413)
  • eslint-plugin: [no-unnecessary-type-assertion] wrap object literal in parens when removing TSTypeAssertion in arrow body (#​12394, #​12393)
  • eslint-plugin: [no-unnecessary-type-assertion] avoid false positive for template literal expressions (#​12281)
  • eslint-plugin: [consistent-indexed-object-style] do not remove comments when fixing (#​12396, #​10577)
❤️ Thank You

See GitHub Releases for more information.

You can read about our versioning strategy and releases on our website.

typescript-eslint/typescript-eslint (@​typescript-eslint/parser)

v8.72.1

Compare Source

This was a version bump only for parser to align it with other projects, there were no code changes.

See GitHub Releases for more information.

You can read about our versioning strategy and releases on our website.

v8.72.0

Compare Source

This was a version bump only for parser to align it with other projects, there were no code changes.

See GitHub Releases for more information.

You can read about our versioning strategy and releases on our website.

v8.71.2

Compare Source

This was a version bump only for parser to align it with other projects, there were no code changes.

See GitHub Releases for more information.

You can read about our versioning strategy and releases on our website.

v8.71.1

Compare Source

This was a version bump only for parser to align it with other projects, there were no code changes.

See GitHub Releases for more information.

You can read about our versioning strategy and releases on our website.

v8.71.0

Compare Source

This was a version bump only for parser to align it with other projects, there were no code changes.

See GitHub Releases for more information.

You can read about our versioning strategy and releases on our website.

v8.70.1

Compare Source

This was a version bump only for parser to align it with other projects, there were no code changes.

See GitHub Releases for more information.

You can read about our versioning strategy and releases on our website.

v8.70.0

Compare Source

This was a version bump only for parser to align it with other projects, there were no code changes.

See GitHub Releases for more information.

You can read about our versioning strategy and releases on our website.

v8.69.0

Compare Source

This was a version bump only for parser to align it with other projects, there were no code changes.

See GitHub Releases for more information.

You can read about our versioning strategy and releases on our website.

v8.68.0

Compare Source

This was a version bump only for parser to align it with other projects, there were no code changes.

See GitHub Releases for more information.

You can read about our versioning strategy and releases on our website.

v8.67.0

Compare Source

This was a version bump only for parser to align it with other projects, there were no code changes.

See GitHub Releases for more information.

You can read about our versioning strategy and releases on our website.

v8.66.0

Compare Source

This was a version bump only for parser to align it with other projects, there were no code changes.

See GitHub Releases for more information.

You can read about our versioning strategy and releases on our website.

v8.65.0

Compare Source

🚀 Features
  • add warning when TS 7 is detected (#​12529)
  • parser: add onUnsupportedTypeScriptVersion option to error on unsupported TypeScript versions (#​12465)
❤️ Thank You

See GitHub Releases for more information.

You can read about our versioning strategy and releases on our website.

v8.64.0

Compare Source

This was a version bump only for parser to align it with other projects, there were no code changes.

See GitHub Releases for more information.

You can read about our versioning strategy and releases on our website.

v8.63.0

Compare Source

This was a version bump only for parser to align it with other projects, there were no code changes.

See GitHub Releases for more information.

You can read about our versioning strategy and releases on our website.

v8.62.1

Compare Source

This was a version bump only for parser to align it with other projects, there were no code changes.

See GitHub Releases for more information.

You can read about our versioning strategy and releases on our website.

v8.62.0

Compare Source

🚀 Features
  • remove redundant package.json "files" (#​12444)
❤️ Thank You

See GitHub Releases for more information.

You can read about our versioning strategy and releases on our website.

v8.61.1

Compare Source

This was a version bump only for parser to align it with other projects, there were no code changes.

See GitHub Releases for more information.

You can read about our versioning strategy and releases on our website.

WiseLibs/better-sqlite3 (better-sqlite3)

v12.11.1

Compare Source

What's Changed

Full Changelog: https://github.com/WiseLibs/better-sqlite3/compare/v12.11.0...v12.11.1

v12.10.1

Compare Source

What's Changed

Full Changelog: https://github.com/WiseLibs/better-sqlite3/compare/v12.10.0...v12.10.1

chartjs/Chart.js (chart.js)

v4.6.1

Compare Source

  • #​12355 fix: trusted publishing fix + version 4.6.1 bump

Thanks to @​etimberg

adaltas/node-csv (csv-stringify)

v6.9.0

Compare Source

Features
  • csv-stringify: expose csv error and normalize_options (963388d)
Bug Fixes
  • csv-stringify: do not alter the source record when columns is set (#​504) (041deff)
  • csv-stringify: preserve header cast context when eof is false (#​505) (a38ef06)
  • csv-stringify: preserve negative numeric values (#​510) (0002d56)
  • csv-stringify: preserve objects returned by cast functions (#​509) (1742c9f)
  • csv-stringify: quote fields containing a carriage return (#​485) (d64d410)

v6.8.3

Compare Source

Bug Fixes
  • csv-stringify: quote every field matching a global quoted_match regexp (#​498)

v6.8.2

Compare Source

Note: Version bump only for package csv-stringify

v6.8.1

Compare Source

Bug Fixes
  • csv-stringify: double regexp-metacharacter escape/quote literally (#​494)
  • csv-stringify: quote fields fusing with a multi-character separator

v6.8.0

Compare Source

Features
  • add unicode chars to formula escape (#​387)
  • backport support for node 14
  • backward support for node 8
  • csv-parse: set columns type as readonly (#​358)
  • csv-stringify: Add escape_formulas to defend against injection attacks (#​380)
  • csv-stringify: header validation
  • csv-stringify: new header_as_comment option (fix #​420)
  • csv-stringify: support null and undefined in stringify cast options (#​484)
  • csv-stringify: ts extends options with stream.TransformOptions (#​301)
  • esm migration
  • export ts types in sync
  • replace ts types with typesVersions
  • ts module Node16 and type declaration to exports field (#​341)
  • wg stream api
Bug Fixes
  • commonjs types, run tsc and lint to validate changes (#​397)
  • correct exports in package.json with webpack
  • csv-demo-ts-cjs-node16: upgrade module definition after latest typescript
  • csv-demo-webpack-ts: remove polyfill
  • csv-demo-webpack-ts: simplify export paths
  • csv-stringify: add missing type definition for bigint cast option (#​369)
  • csv-stringify: allow mixed string and object columns typedef (#​456)
  • csv-stringify: bom and header in sync mode with no records (fix #​343)
  • csv-stringify: catch error with sync api, fix #​296
  • csv-stringify: infinity is not defined in get (fix #​475)
  • csv-stringify: node 12 compatibility in flush
  • csv-stringify: quote_match with empty string pattern quotes empty strings (#​345), closes #​344
  • csv-stringify: remove non-functional auto value
  • csv-stringify: throw err with no records and header in sync mode
  • csv-stringify: update quoted_match config option to accept arrays (#​371)
  • csv-stringify: update TS types to allow cast to return an object (#​339)
  • csv-stringify: use removeListener instead of off
  • dont insert polyfills in cjs #​303
  • esm exports in package.json files, closes #​308
  • export original lib esm modules
  • expose browser esm modules
  • fallback to setTimeout is setImmediate is undefined
  • refer to esm files in dist
  • remove samples from publicatgion
  • support ts node16 resolution in cjs (#​354)
  • support TypeScript moduleResolution node16 (#​368)
  • uncaught errors with large stream chunks (fix #​386)
cypress-io/cypress (cypress)

v15.21.1

Compare Source

Changelog: https://docs.cypress.io/app/references/changelog#15-21-1

v15.21.0

Compare Source

Changelog: https://docs.cypress.io/app/references/changelog#15-21-0

v15.20.1

Compare Source

Changelog: https://docs.cypress.io/app/references/changelog#15-20-1

v15.20.0

Compare Source

Changelog: https://docs.cypress.io/app/references/changelog#15-20-0

v15.19.0

Compare Source

Changelog: https://docs.cypress.io/app/references/changelog#15-19-0

v15.18.1

Compare Source

Changelog: https://docs.cypress.io/app/references/changelog#15-18-1

v15.18.0

Compare Source

Changelog: https://docs.cypress.io/app/references/changelog#15-18-0

eslint/eslint (eslint)

v9.39.5

Compare Source

Bug Fixes

Documentation

Chores

  • 458205f chore: update @eslint/eslintrc and @eslint/js for v9.39.5 (#​21077) (Francesco Trotta)
  • 202117b chore: package.json update for @​eslint/js release (Jenkins)
  • d9eb6ed test: disable warning for vm.constants.USE_MAIN_CONTEXT_DEFAULT_LOADER (#​21074) (Francesco Trotta)
  • 7b431a7 chore: override re2 dependency for @metascraper/helpers (#​21068) (Milos Djermanovic)
  • daf7791 chore: pin fflate@​0.8.2 (#​20895) (Milos Djermanovic)
  • daee8ba ci: use pnpm in eslint-flat-config-utils type integration test (#​20829) (Milos Djermanovic)
  • 116d4be ci: unpin Node.js 25.x in CI (#​20619) (Copilot)
vercel/next.js (eslint-config-next)

v16.4.3

Compare Source

[!NOTE]
This release is backporting bug fixes. It does not include all pending features/changes on canary.

Core Changes
Credits

Huge thanks to @​mischnic, @​lukesandberg, @​acdlite, @​eps1lon, and @​sokra for helping!

v16.4.2

Compare Source

What's Changed

Full Changelog: https://github.com/vercel/next.js/compare/v16.4.1...v16.4.2

v16.4.1

Compare Source

This release contains security fixes for the following advisories:

Critical:

High:

v16.4.0

Compare Source

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!

v16.3.8

Compare Source

This release contains security fixes for the following advisories:

High:

Medium:

Low:

v16.3.7

Compare Source

[!NOTE]
This release is backporting bug fixes. It does not include all pending features/changes on canary.

Core Changes
  • turbo-tasks-backend: fix strongly consistent read hanging on a canceled task (#​98931)
Credits

Huge thanks to @​lukesandberg for helping!

v16.3.6

Compare Source

This release contains a security fix for GHSA-vcvr-r3jv-pc5j: Remote Code Execution in next/og ImageResponse

v16.3.5

Compare Source

The following bug fixes have been backported. It does not include all pending features/changes on canary.

  • next/image: Skip 0-byte entries when initializing disk LRU cache (#​98185)
  • next/image: Reject empty images when reading/writing to the disk cache (#​98186)
  • Emit whole-app server NFTs when output: 'standalone' is used with an adapter (#​98167)
  • Add CSP nonce to script tags of loading and template files (#​98403)
  • Fix use cache prerender signal retention (#​98448)

v16.3.4

Compare Source

Follow-up release to v16.3.3 re-enabling AVIF Image Optimization (#​97949).

The following bug fixes have been backported. It does not include all pending features/changes on canary.

Credits

Huge thanks to @​eps1lon, @​mischnic, and @​timneutkens for helping!

v16.3.3

Compare Source

This release contains security fixes for the following advisories:

Critical:

v16.3.2

Compare Source

[!NOTE]
This release is backporting bug fixes. It does not include all pending features/changes on canary.

Core Changes
  • [backport] Scope app-entry export validation to files inside the app directory (#​97357)
  • [backport] Fix catch-all index page being served for every other slug (#​97416)
  • [16.3] Turbopack: don't trace embedded WASM loader helpers (#​97353) (#​97463)
  • [16.3] Turbopack: retain conditions when replacing resolve request keys (#​97453)
  • [16.3.x] Fix Turbopack worker chunk loading with asset prefix (#​97419)
  • [16.3.x] Authenticate Turborepo remote caching with OIDC instead of a static PAT (#​97603)
Credits

Huge thanks to @​lubieowoce, @​unstubbable, @​timneutkens, @​mischnic, and @​eps1lon for helping!

v16.3.1

Compare Source

What's Changed

Full Changelog: https://github.com/vercel/next.js/compare/v16.3.0...v16.3.1

v16.3.0

Compare Source

Check out the 16.3 announcement post to get an overview of the changes.

Core Changes
  • Update vendored lodash to 4.17.23 to fix CVE-2025-13465: #​91558
  • Fix invalid HTML response for route-level RSC requests in deployment adapter: #​91541
  • Normalize encoded dynamic placeholders in app routes: #​91603
  • Fix(pages-router): restore Content-Length and ETag for /_next/data/ JSON responses: #​90304
  • Update tokio from 1.43.0 to 1.47.3: #​90945
  • [turbopack] Simplify snapshotting logic: #​91178
  • Turbopack: enable server HMR for app route handlers: #​91466
  • turbo-tasks-backend: batch find_and_schedule_dirty using for_each_task_meta: #​91497
  • [turbopack] Use bail! instead of panic! for duplicate module ident error: #​91636
  • Skip loadBindings() Lightning CSS check during next start: #​91538
  • turbo-tasks-backend: batch schedule dirty tasks in aggregation_update: #​91461
  • Turbopack: Add importModule() support to webpack loaders: #​89630
  • turbo-persistence: fix mmap page alignment and improve error context in MetaFile::open_internal: #​91640
  • turbopack-css: demote recoverable CSS parse warnings to Warning severity: #​91524
  • feat(node-streams): add config flag, define-env, and env precedence test: #​90427
  • Rename /_next/webpack-hmr to /_next/hmr: #​91415
  • Add per-slot error attribution for instant validation using slot markers and config depth preference: #​91610
  • Handle encoded params further: #​91627
  • [turbopack] Respect {eval:true} in worker_threads constructors: #​91666
  • Fix missing route in otel spans without base-server: #​91665
  • [turbopack] Optimize compaction cpu usage: #​91468
  • Fix layout segment optimization: move app-page imports to server-utility transition: #​91701
  • Fix server actions in standalone mode with cacheComponents: #​91711
  • turbo-persistence: remove Unmergeable mmap advice: #​91713
  • turbopack: move "compact database" tracing span to backend layer: #​91693
  • Turbopack: lazy require metadata and handle TLA: #​91705
  • Fix adapter outputs for dynamic metadata routes: #​91680
  • Turbopack: fix webpack loader runner layer: #​91727
  • [turbopack] Remove incorrect debug_assert in try_read_task_cell: #​91699
  • Add module count field to module graph tracing spans: #​91697
  • turbopack-cli: add --persistent-caching flag for filesystem-backed cache: #​91657
  • Turbopack: pull in updated vercel/nft tests: #​91651
  • [turbopack] Improve regressed build speed on cross-compiled MUSL: #​91477
  • [Segment Bundling] [Scaffolding] Ensure inlining hint correctness: #​91320
  • [Segment Bundling] [Scaffolding] Track which segments can be omitted from prefetch: #​91438
  • Avoid deprecated TS node10 moduleResolution defaults: #​91847
  • [turbopack] Rebuild the docker build scripts: #​91799
  • Fix TS6 baseUrl deprecation for extended tsconfig: #​91855
  • Add next internal post-build CLI command for Turbopack database compaction: #​91336
  • Turbopack: Define Effect as a trait instead of a closure: #​89080
  • Turbopack: Implement TraceRawVcs and NonLocalValue correctly for Effects: #​89133
  • turbo-tasks-backend: improve print_cache_item_size instrumentation: #​91742
  • Turbopack: switch from base40 to base38 hash encoding (remove ~ and . from charset): #​91832
  • Use charCodeAt for normalizePathTrailingSlash: #​91380
  • Turbopack: Only patch lockfile when bindings fails to load: #​91379
  • [create-next-app] Skip interactive prompts when CLI flags are provided: #​91840
  • [devtools] Make instant navs panel draggable: #​91914
  • [Segment Bundling] Bundle static prefetches based on size: #​91439
  • turbo-tasks-backend: assert non-transient task_ids in track_modification: #​91924
  • fix(turbopack): preserve resolveExtensions priority in read_matches fast path: #​91856
  • turbopack: Remove Vc::resolve(), migrate all callsites to Vc::to_resolved(): #​91725
  • turbo-tasks: add hashed cell mode for hash-based change detection without cell data: #​91576
  • [cna] Upgrade to Biome 2.4 with Tailwind support: #​86065
  • [devtools] Show AggregateError.errors in the error overlay: #​91835
  • Narrow the opengraph-image function return type: #​91893
  • [experiment] Add useOffline flag with offline retry behavior: #​92011
  • adapters: remove unused suffix code: #​91997
  • [experiment] Add useOffline hook to expose offline state to userland: #​92012
  • [turbopack] Don't use turborepo to build the docker image: #​92029
  • Use RcStr directly in napi(object) structs instead of converting to String: #​92014
  • Rename SingleModuleReference::asset to SingleModuleReference::module: #​92028
  • Revert "turbo-tasks: add hashed cell mode for hash-based change detection without cell data": #​92103
  • [ftl] Include cause of route types: #​92056
  • fix: handle file:// URLs from import.meta.resolve in cache handler path (fixes #​73796): #​90370
  • Turbopack: exclude metadata routes from server HMR: #​92034
  • next.config.js: Accept an option for serverFastRefresh: #​91968
  • TURBOPACK: support parse windows absolute path with single slash: #​92076
  • Enable varyParams tracking for Cached Navigations: #​92113
  • telemetry: set turboFlag correctly: #​92149
  • Instant Validation: Allow unconfigured slots to render optionally: #​92126
  • Turbopack: statically evaluate path.sep: #​92150
  • Turbopack: use same hash for immutable-static-hashes.json: #​92157
  • [turbopack] replace regex with indexof: #​92023
  • Turbopack: createRequire(new URL("...", import.meta.url)): #​92153
  • Add PPR evals and fix env loading for agent-eval 0.9.5: #​92063
  • Turbopack: support targeting even older browsers: #​91563
  • Add rust-fingerprint task and SCCACHE passthrough env: #​92167
  • Improve error message for deprecated experimental.dynamicIO config: #​92081
  • [turbopack] Fix CSS HMR on Safari: #​92123
  • simplify session dependent tasks and add TTL support: #​91729
  • disable bmi2 in qfilter: #​92177
  • Improve revalidateTag JSDoc to include guidance about required second parameter: #​92176
  • fix: pin 19 actions to commit SHA, extract 7 expressions to env vars: #​92016
  • partial fallbacks: adapter support for intermediate shells: #​91902
  • Turbopack: trace fs.readdir calls: #​92148
  • feat: add NEXT_HASH_SALT env var for content-hash filename salting: #​91871
  • Fix DashMap read-write self-deadlock in task_cache causing hangs: #​92210
  • [turbopack] use a single query parameter for cache busting: #​92214
  • Generate a CLI warning if using Rosetta 2 on Apple Silicon: #​92220
  • remove the loop from StaticSortedFile::lookup: #​91688
  • Add telemetry for adapterPath config usage: #​92228
  • Node.js streams: First pass: #​90500
  • fix: preserve HTTP access fallbacks during prerender recovery: #​92231
  • Remove unnecessary ALS re-exports from entry-base.ts: #​91527
  • Allow multi-level .localhost subdomains in dev origin check: #​92262
  • turbo-tasks-backend: stability fixes for task cancellation and error handling: #​92254
  • Add MCP get_compilation_issues tool and NAPI method: #​92062
  • Add view transitions eval (agent-043): #​92260
  • [turbopack] optimize RcStr parsing: #​91773
  • Ensure app-page reports stale ISR revalidation errors via onRequestError: #​92282
  • Move streamToUint8Array back to node-web-streams-helper.ts: #​92263
  • Revert "simplify session dependent tasks and add TTL support (#​91729)": #​92320
  • fix: add @​deprecated annotation to experimental.useCache: #​92316
  • Improve existing dev server error message to suggest using it: #​92317
  • Restart the next dev server if .next is deleted: #​92135
  • Update Rust toolchain to nightly-2026-04-02: #​92288
  • Turbopack: Remove FileSystemPath::value_to_string in favor of ValueToStringRef::to_string_ref: #​92284
  • [turbopack] use zero copy qfilter deserialization: #​90574
  • feat: add experimental.swcEnvOptions for SWC preset-env configuration: #​92272
  • Turbopack: Dedupe our two filesystempath extension/extension_ref functions: #​92048
  • turbo-tasks: replace async resolve fns with custom Future types (ResolveRawVcFuture, ResolveVcFuture, ToResolvedVcFuture): #​91554
  • next-core: deduplicate output assets and detect content conflicts on emit: #​92292
  • Handle edge runtime in places that import node:stream: #​92354
  • Fix fallback route params case in app-page handler: #​91737
  • use sorted inserts to improve builder performance: #​91553
  • Allow for parsing app route strings with and without slot names.: #​92327
  • fix(server-hmr): metadata routes overwrite page runtime HMR handler: #​92273
  • turbo-persistence: optimize file syncing: #​90542
  • Turbopack: Remove turbo_tasks::apply_effects, use Effects::apply instead: #​91858
  • Turbopack: Add a check for node version before allowing workerThreads: #​91614
  • turbo-persistence: skip BlockCache for uncompressed (mmap-backed) blocks: #​92390
  • Include more context in macOS Rosetta 2 warning message: #​92436
  • change the process name of builds: #​92411
  • turbo-persistence: pin referenced BlockCache entries to prevent eviction: #​92361
  • Fix styled-jsx race condition: styles lost due to concurrent rendering: #​92459
  • turbo-tasks: fix hashed cell mode crash on task error (re-land #​91576): #​92108
  • Fix sst inspect tool to respect CURRENT and stale sst files: #​92414
  • Optimize how we track data for persistence: #​89370
  • [turbopack] add family name to many spans: #​92415
  • Route Handlers: Fix devRequestTimingInternalsEnd and Turbopack server HMR: #​92271
  • next-routing: middleware matching and app request URL normalization: #​91859
  • turbo-persistence: Use AtomicBool for is_empty() to avoid lock contention: #​92481
  • fix: mention params and searchParams in blocking-route error messages: #​92360
  • CPU prof: Write profiles to .next-profiles instead of .next/cpu-profiles: #​92078
  • Turbopack: Write trace file to .next-profiles: #​92189
  • feat: generate root params types: #​91019
  • fix: resolve function configs in unstable_getResponseFromNextConfig: #​92501
  • Node.js streams: Fork points: #​92252
  • Turbopack: Add --internal-trace cli flag: #​92190
  • Fix minimumReleaseAgeExclude for React and friends: #​92535
  • Add experimental unstable_io() API behind experimental.unstableIO flag: #​92521
  • Update React from 74568e86-20260328 to 404b38c7-20260408: #​92536
  • Turbopack: switch from immutable token to path prefix: #​92164
  • [build info]: distinguish between PPR and fully static routes in gSP: #​92518
  • [build info]: omit symbol from top level gSP route: #​92525
  • turbo-tasks-backend: prevent duplicate task restores with restoring bits: #​92389
  • Add next internal upload-trace: #​92191
  • Request logging: Fix generate-params time being included in next.js time: #​91386
  • fix: scope "Pages Router only" comment to default export in next/error: #​92566
  • Turbopack Build: Remove dev fouc from production bundle: #​80935
  • Turbopack: Improve unable to resolve next error: #​91394
  • fix(hmr): reconnect WebSocket after sleep/wake: #​91416
  • Handle target option in React Compiler for Pages + React 18: #​91500
  • Replace wasmer with wasmtime for SWC plugin WASM engine: #​91533
  • turbopack: fix incremental build when module factories are restored from persistent cache: #​92569
  • [turbopack] Rust dependency caching via sccache: #​91873
  • trace: detect rage restarts and deleted .next dirs: #​92489
  • [turbopack] fix a debug_assert failure: #​92581
  • Don't swallow strings thrown in Server Components: #​92592
  • Fix NextFontIssue IssueStage: CodeGen → Resolve: #​92588
  • Node.js streams: Add forkpoint for CacheComponents: #​92444
  • Resolve compilerOptions.paths in tsconfigs without compilerOptions.baseUrl: #​92277
  • Turbopack: extract inline base64 decode helper to shared @turbopack/base64 module: #​92549
  • Add codemod command to middleware deprecation warning: #​92532
  • turbopack: move CSS module composes validation from code generation to resolving: #​92582
  • Drop turbo_tasks::function from ValueDebug trait items: #​92593
  • [partial fallbacks]: enable by default: #​92627
  • Turbopack: fix filesystem watcher config not applying follow_symlinks(false): #​92631
  • Turbopack: cut number of client references in half: #​92607
  • Remove a ton of turbo task functions from Issue trait items: #​92623
  • feat(turbopack): add LocalPathOrProjectPath PostCSS config resolution: #​91338
  • feat(turbopack): change DiskFileSystem root to Vc for portable cache: #​92603
  • Turbopack: remove unused ChunkableModules struct: #​92606
  • Fix segment explorer file pill accessibility: #​92608
  • Disable sccache temporarily: #​92657
  • Delete some dead turbo task functions: #​92596
  • Node.js streams: Add forkpoint for error recovery: #​92457
  • turbo-tasks: Drop output_dependent on immutable task completion: #​92683
  • Turbopack: properly remove unused TS enums with scope hoisting: #​88205
  • fix(server-actions): skip type-only ExportNamed in pre-pass to prevent phantom registerServerReference: #​92494
  • Turbopack: Add import.meta.glob support (Vite compat): #​92640
  • turbo-tasks: Fix recomputation loop by allowing cell cleanup on error during recomputation: #​92725
  • TURBOPACK: support crsossOriginLoading: #​92070
  • Compiler: Support boolean and number primtives in next.config defines: #​92731
  • Fix prefetch hints not being loaded during revalidation: #​92625
  • Exclude trace files from directory deletion in builds: #​92486
  • Switch segment prefetch cache miss response from 204 to 404: #​92751
  • Ensure x-nextjs-data header is only set during resolve: #​92752
  • feat(trace-server): add query CLI and MCP API to turbopack-trace-server: #​92030
  • Improve error stacks for dynamic API usage in "use cache": #​92736
  • Node.js streams: Add forkpoint for continueDynamicHTMLResume: #​92471
  • Node.js streams: Add forkpoint for generateDynamicFlightRenderResult: #​92474
  • Node.js streams: Add forkpoint for generateStagedDynamicFlightRenderResult: #​92509
  • Add unstable_prefetch route segment config and decouple runtime prefetching from unstable_instant: #​92754
  • feat(turbo-tasks-backend): gate prepare_tasks_with_callback trace span behind feature flag: #​92779
  • Update next versions of internal apps: #​92666
  • turbo-persistence: stop background persisting after unrecoverable failure: #​92106
  • Stop using deprecated downlevelIteration: #​92652
  • Disable build caches for production/staging/force-preview deploys: #​92792
  • Fix turbo cache flag: use --force: #​92796
  • Fix devlow-bench: tsconfig rootDir mismatch with package.json bin: #​92800
  • Scope Safari ?ts= cache-buster to CSS/font assets only (Pages Router): #​92580
  • Enable wasm plugins on windows arm: #​92544
  • prefetchInlining: fix build crash on notFound() pages: #​92806
  • turbopack: gate ValueDebugFormat and ValueDebug behind debug_assertions: #​92628
  • Add TurboMalloc::thread_park() to flush and collect on thread park: #​92804
  • Stop using deprecated baseUrl: #​92653
  • Turbopack: Use FrozenMap for module export information: #​92802
  • Turbopack: remove webpack chunk detection: #​92773
  • Turbopack: refactor ESM codegen generation: #​92777
  • Fix monorepo @next/swc binary postinstall: #​92813
  • webpack: fix swcPlugins with relative paths: #​92770
  • Turbopack: shorter error for ChunkGroupInfo::get_index_of: #​92814
  • Turbopack: properly set NODE_ENV for SWC plugins: #​92579
  • Node.js streams: Add forkpoint for logMessagesAndSendErrorsToBrowser: #​92510
  • Node.js streams: Add forkpoint for createCombinedPayloadStream: #​92511
  • Node.js streams: Add forkpoint for renderWithRestartOnCacheMissInValidation: #​92512
  • Node.js streams: Add forkpoint for prerenderToStream: #​92513
  • Turbopack: shorter error message for ModuleBatchesGraph::get_entry_index: #​92828
  • Turbopack: refactor export analysis: #​92781
  • fix(trace-server): default MCP port to --port + 1 to avoid conflicts: #​92831
  • Revert "Node.js streams: Add forkpoint for prerenderToStream": #​92845
  • Turbopack: remove StarImportAnalyzer: #​92830
  • Turbopack: analyzer improvement followups: #​92834
  • Turbopack: move assignment_scopes computation into ImportMap: #​92835
  • Warn for non-deterministic "use cache" args during final prerender: #​92820
  • Turbopack: Use lld again on ARM64 glibc Linux: #​92860
  • turbopack: cache TransformPlugin in narrow-scoped turbo-tasks functions: #​92842
  • Allow overriding outputHashSalt in modifyConfig: #​92856
  • Support type cast expressions in page static info extractor: #​92837
  • turbo-tasks: add info_span for blocking waits during task restore: #​92878
  • Fix dev mode hydration failure when page is served from HTTP cache: #​92892
  • [devtools] Preserve full code frames in browser overlay: #​92621
  • Enable prefetchInlining by default: #​92863
  • Turbopack: Use an async lock in the filesystem watcher: #​92906
  • Replace deprecated moduleResolution: "node": #​92654
  • turbo-tasks: Reduce allocations on cache hits: #​92756
  • fix(next/image): ensure images.maximumResponseBody applies to local images too: #​92920
  • rename MagicAny: #​92918
  • turbopack: reduce EffectStateStorage memory by storing u128 content hashes: #​92902
  • turbo-trace-server: reduce allocation overhead when loading large trace files: #​92896
  • Turbopack: optimize SelfTimeTree performance, memory usage, and fix range query boundaries: #​92931
  • remove flag guarding unstable_io: #​92923
  • Support more prefetch configuration options: #​92859
  • Improve deduping of concurrent 'use cache' invocations: #​91830
  • [partial fallbacks]: include prefetch requests in shell upgrade handling: #​92894
  • Redesign blocking route dev overlay and build errors: #​92638
  • Switch to cargo-binstall and pre-built sccache binaries: #​92911
  • Remove prefetch from instant config: #​92761
  • Improve "make root node" trace attributes: #​92941
  • Use existing commitId for tarball URL in stats action: #​92899
  • Use OIDC for CodSpeed: #​93059
  • Restore dev-mode cache-fill timeout for 'use cache': #​93055
  • Make 'use cache' fill timeout configurable: #​93070
  • Strengthen _rsc cache-busting param: #​92755
  • turbo-tasks: drop once_cell, const-init TRAIT_METHOD, ctor WORKER_TASKS: #​93090
  • Patch setHeader for direct route handlers: #​93101
  • [turbopack] Persistent last_successful_parse: #​92852
  • [turbopack] Unify Cell Storage: #​92974
  • fix(use-cache): remove awaiting revalidation: #​92636
  • [turbopack] Fix max_level_hint to return most verbose per-target level: #​93128
  • feat(turbopack): add NEXT_TURBOPACK_TRACING_PATH to control trace output location: #​93084
  • Turbopack: move import_usage computation into ImportMap: #​92891
  • Turbopack: unify ModuleGraph constructors: #​93203
  • Turbopack: move get_inner_asset into ecmascript module: #​93191
  • [turbopack] drop TransientState: #​92853
  • instant(): Block out-of-band client fetches: #​93099
  • [next/image] Stop using deprecated url.parse: #​93208
  • Suspend dynamic route params in dev instant shell: #​93108
  • Recognize super(...) messages in Error subclass constructors: #​93182
  • [turbopack-trace-server] Performance improvements for span event handling: #​93179
  • Preserve __NEXT_ERROR_CODE across the /_error page handoff: #​93183
  • Reduce allocations in the next_debug_instant_stack transform: #​93222
  • Apply sourcemaps by default during prerender in next build: #​93280
  • Turbopack: compute exports without full analysis: #​92823
  • Turbopack: cheaper check in map_next_dynamic: #​93283
  • Fix route handler SWR blocking on Node runtime: #​93189
  • [turbo-tasks-backend] Single-item optimization for lost follower operations: #​93200
  • Fix export * as X from './self' in scope-hoisted modules: #​93192
  • Turbopack: only compute module ids for included modules: #​93276
  • Forward invalid dynamic usage errors on client-side navigations: #​93184
  • HMR: debounce status indicator transitions to prevent flicker during bursts of changes: #​93229
  • Turbopack: iter_reachable_modules: #​93315
  • Turbopack: add failing test for cross-module side-effect inference: #​93323
  • Turbopack: also add edge count to trace: #​93314
  • Turbopack: pull in updated vercel/nft tests: #​93321
  • [turbopack-trace-server] optimize loading: #​93264
  • turbo-tasks: precompute trait-impl vtables at compile time: #​93092
  • Honor the route-level expire value with blocking revalidation: #​93211
  • Turbopack: add experimental.turbopackWorkerAssetPrefix to keep Workers same-origin when assetPrefix is a CDN: #​93271
  • Report OS memory pressure in TurboMalloc and trace samples: #​93333
  • Speed up native postinstall script: #​93312
  • Turbopack: remove unused module references: #​93335
  • Turbopack: remove ModuleResolveResultItem::OutputAsset: #​93349
  • Turbopack: delete unused turbo-static crate: #​93324
  • fix a snapshot encoding error that could happen under concurrent mutation and snapshotting: #​92658
  • Enable server HMR for metadata routes (manifest.ts, robots.ts, etc.): #​93110
  • [next/image] Only fire onError once: #​93209
  • fix: handling of falsey values in error boundaries: #​93134
  • Update upload trace url: #​93350
  • enable validateRSCRequestHeaders by default: #​93367
  • Deprecate edge runtime: #​93369
  • Update 05-server-and-client-components.mdx: #​93374
  • Only log partytown setup error once: #​93378
  • Remove leftover Turbopack manifests: #​93398
  • trace-server: shrink_to_fit LazySortedVec after sorting: #​93361
  • Revert "Revert "Node.js streams: Add forkpoint for prerenderToStream"": #​93376
  • feat(metadata): support non-standard directives in robots.ts via other: #​93206
  • [turbo-trace-server] optimize loading even more: #​93332
  • Fix streaming in draft mode for cache components: #​93417
  • Drop once_cell from all direct crate deps: #​93095
  • Replace Lazy static lookups with phf::Map: #​93096
  • Include deployment id in cacheHandlers keys: #​93453
  • fix(next/image): Improve error message for private IP (SSRF) rejections: #​91686
  • turbo-tasks-backend: fix snapshot coordination races + extract SnapshotCoordinator: #​93416
  • Fix dev mode reload and error on back navigation between Next.js pages: #​93486
  • Fix double-encoding of URL pathname parts in client param parsing: #​93491
  • Don't suppress usage of deprecated TypeScript compilerOptions: #​93377
  • Turbopack: fix import_usage for functions behind member expressions: #​93504
  • [turbopack] shrink the size of futures: #​93474
  • [turbopack] Simplify local task tracking: #​93478
  • [turbopack] correct a fencepost error in our inline string descision: #​93524
  • Turbopack: make rcstr! macro expansion const: #​93516
  • Turbopack: lazy aggregation optimize via persistent pending flag: #​93454
  • Detect 'use cache' module-scope deadlocks early in dev: #​93500
  • Turbopack: really fix MAX_INLINE_LEN: #​93531
  • Bundle the 'use cache' deadlock probe worker: #​93538
  • Support configuring a default instant validation level : #​93301
  • Turbopack: simplify asset ident constructors: #​93213
  • Disable instant validations in draft mode: #​93472
  • Drop ReferencedAsset::from_resolve_result as a turbotask: #​93297
  • Turbopack: Cache effect errors, replace the write_lock Mutex with a lazily created Notify instance: #​93476
  • Order loader tree imports by tree depth: #​93537
  • Turbopack: more strict vergen setup: #​93541
  • [devtools] Force ANSI colors on overlay code frames regardless of TTY: #​93550
  • turbo-rcstr: replace rcstr! macro_rules with proc macro: #​93551
  • Turbopack: Fix middleware matcher suffix: #​93590
  • Turbopack: Match proxy matchers with webpack implementation: #​93594
  • Track searchParams access through a Proxy to catch missing-key reads: #​93549
  • Turbopack: Change DynEffect::dyn_value to DynEffect::value_hash, a simple u128: #​93552
  • Cherry-pick ghsa commits to canary: #​93614
  • Hold cacheSignal across unstable_cache foreground revalidation: #​93617
  • Encode non-ASCII characters in cache tags at construction: #​93601
  • Stabilize unstable_io: #​93621
  • Use Next.js version as Turbopack persistent cache versioning key: #​93605
  • Trace-server: Fix bottom up, and reduce allocations in turbopack-trace-server bottom-up grouping: #​93460
  • feat(turbopack): add chunkLoadingGlobal config option: #​93488
  • turbopack: reschedule stale tasks with correct invalidation priority: #​92897
  • fix(devtools): render nested error messages with HotlinkedText: #​93620
  • Fix: Improved rewrite detection during optimistic routing: #​93619
  • Fix "type: module" in project dir when using standalone or adapters: #​93612
  • Instant Insights: favor reported errors over missing slots: #​93709
  • Remove ineffective turbo-tasks: #​91341
  • Remove redundant instant navigation prefetch header: #​93713
  • Instant Insights: Favor reporting errors from all potential navigations over reporting a failed attempt to validate when a slot is missing: #​93714
  • Proof of concept: task eviction after snapshot for turbo-tasks-backend: #​91790
  • [turbopack] fix feature usage telemetry: #​93100
  • Turbopack: don't generate next-server.js.nft.json with adapters: #​93684
  • Add an info panel for the existing "Cache disabled" indicator: #​93756
  • Extend instant error overlay to metadata, viewport, and sync IO errors: #​93287
  • Turbopack: expose hashes of source files to adapters: #​93539
  • bfcacheId: Opt out of state preservation: #​93633
  • Honor Suspense-above-body opt-in for dynamic generateViewport: #​93759
  • Turbopack: fix lock-order inversion between Storage::map and Storage::snapshots: #​93788
  • [turbopack] Enforce root attribute for strongly consistent reads and collectibles: #​93114
  • Add next internal static-routes-info CLI command: #​93399
  • Craigandrews/ensure isr lru is written if requests collapsed: #​93766
  • Fix Turbopack worker_threads URL resolution: #​93432
  • Patch playwright-core to resolve _finishedPromise on requestFailed: #​93802
  • Fix catch-all router.query corruption with basePath + rewrites: #​93294
  • fix: GNU xargs warns about incompatible --replace/--max-args: #​93821
  • fix: renumber non-sequential errors in errors.json: #​93824
  • simplify session dependent tasks (#​91729): #​93227
  • Surface invalid dynamic usage errors via Flight in dev: #​93706
  • Show inner "use cache" as cause of nested-dynamic cache error: #​93707
  • fetch: respect HTTP Cache-Control headers with TTL-based invalidation (#​91729): #​93228
  • [CC] fix: cachedNavigations missing asyncApiPromises in resumes: #​93827
  • Fix server action forwarding loop with middleware rewrites: #​93792
  • Instant Insights: When unable to complete validation provide a filename for the unvalidated boundary: #​93770
  • Fix Date.now() cause shadowing in sync IO error overlay: #​93857
  • Instant Insights: only report non-validatable if dev render is error free: #​93858
  • Remove partialFallbacks config flag: #​93859
  • Fix warning in new apps caused by incorrect image dimensions: #​93826
  • Trace middleware/proxy source files in webpack NFT pipeline: #​93871
  • Redesign dev overlay: cleaner shell + instant fix-card guidance: #​93755
  • turbo-tasks: prioritize recomputed tasks with Recomputation priority: #​93876
  • [Turbopack] Add graph-based CSS chunking algorithm behind experimental.cssChunking: "graph": #​93606
  • turbopack: emit assets before duplicate check in emit_assets: #​93875
  • Pass projectDir to adapter modifyConfig: #​93916
  • Distinguish in-navigation errors in the instant error overlay: #​93843
  • Eval next.config export functions in the try catch: #​93884
  • Rename TaskExecutionReason::Initial to Root: #​93922
  • Use node streams for server inserted HTML: #​93934
  • Add nextConfig.instrumentationClientInject: #​93785
  • Remove vercel approvers: #​93921
  • [otel] honor traceparent for verbose mode spans: #​93874
  • Fix cross-param leak with prefetch={true} and cachedNavigations: #​93940
  • Enable rootParams by default: #​93863
  • devlow: add run sampling snapshots and comparison reports: #​93833
  • Allow inspecting prerender worker again: #​93947
  • make rcstrs on the heap/static slightly smaller: #​93805
  • Add MCP compile_route tool: #​93337
  • [turbopack-trace-server] Add memory samples to the mcp tool results: #​93338
  • Stop pinning compiled chunk source on EcmascriptBuildNodeChunkVersion. : #​93807
  • [turbopack] Add trace metadata about the persist size: #​93339
  • Turbopack: fix subpath imports pointing to external packages: #​93308
  • Turbopack: fix error reporting with crashing webpack loaders: #​93926
  • Polish instant fix cards and validation messages: #​93894
  • Add deployable tarballs to pack-next: #​93963
  • fix(devtools): detect VS Code renamed macOS binary in launch-editor: #​93971
  • turbo-tasks: task-storage memory wins: #​93720
  • Turbopack: respect the module-sync export condition: #​93970
  • devlow-bench: percentile-based comparison and run retries: #​93950
  • Prerender HTTP access fallbacks with Cache Components semantics: #​93988
  • Add experimental.appShells feature flag: #​93997
  • Make --debug-build-paths work with src/ directory projects: #​94016
  • Revert "Prerender HTTP access fallbacks with Cache Components semantics": #​94018
  • Respond to App Shell prefetches on the server: #​93998
  • [turbopack] Disable ctor under RA: #​94022
  • Turbopack: don't crash the dev server when node_modules/next is briefly unresolvable: #​93877
  • Include PPR routes in dynamicRoutes regardless of revalidate time: #​94025
  • Enable experimental.varyParams by default: #​94010
  • Enable experimental.optimisticRouting by default: #​94011
  • Enable experimental.cachedNavigations by default with cacheComponents: #​94012
  • Revert "Include PPR routes in dynamicRoutes regardless of revalidate time": #​94032
  • Prerender static metadata under dynamic segments to canonical pathname: #​93873
  • Instant navs devtools revamp: #​94027
  • Add Chromium-only Playwright image publisher: #​94051
  • Replace next-ppr-optimizer with next-cache-components-optimizer: #​94035
  • Fix errors.json merge driver to handle gaps in error codes: #​93829
  • Turbopack: make available_modules an OperationVc and simplify merged module bookkeeping: #​94055
  • Improve notFound recovery in error pathway: #​94037
  • Turbopack: Fix unsound IntoIterator for ReadRef: #​94122
  • Fix Firefox refresh loop on initial load of streaming pages in dev mode: #​94128
  • Prefetch App Shells on the client: #​93999
  • ServerActionsGraph: pass ModuleGraphLayer as OperationVc: #​94141
  • Bugfix: Incorrect search params stored in cache: #​94144
  • Remove extra word: #​94160
  • Fix default regex for require.context in Turbopack analyzer: #​94162
  • Fix short circuit evaluation of AND / OR in the Turbopack analyzer for string & nullish-related methods: #​94159
  • Turbopack: fix instrumentationClientInject with type:module: #​94184
  • Align issue triage guidance with automated behavior: #​94189
  • [CC] Streaming prerender: #​94044
  • [CC] Avoid unnecessary conversions to a stream: #​94192
  • Propagate adapter preferred regions: #​94123
  • Consolidate Resume Data Caches and partially revert #​88556: #​94194
  • Fix 'use cache' bail-out under unstable_instant = false: #​94198
  • Turbopack: use module graph for NFT: #​92901
  • Turbopack's analyzer: always treat promises as truth-y and non-nullish: #​94186
  • Update shortcircuit_if_known to eval_shortcircuit(): #​94163
  • Remove dead code from JsValue::Binary in is_truthy: #​94165
  • Produce valid file URLs for import.meta.url on Windows in Turbopack: #​94179
  • [turbopack] Store TaskDirtyCause in Dirtyness and pass to NativeFunction::span: #​94057
  • Turbopack: cleanup ModuleHotReferenceAssetReference: #​94206
  • Add Errors/Insights tab split to the instant error overlay: #​94073
  • Replace VcStorage with real TurboTasks in tests/benches : #​93955
  • Redesign the unrendered-segment instant validation overlay: #​93879
  • turbopack tracing: add chunk_name to get HMR events span: #​94061
  • Turbopack: reduce hmr chunk list subscriptions: #​94062
  • [turbopack] Separate JsValue into it's own folder in the analyzer: #​94208
  • feat(image-optimization): add experimental flag imgOptOperationCache: #​94246
  • Exclude static metadata and viewport from error recovery prerender when cache-components is enabled: #​94134
  • [turbopack] Shrink ReadRawVcFuture from 80 to 64 bytes: #​94201
  • [turbopack] Move WellKnownObjectKind & WellKnownFunctionKind into well_known/kinds.rs in the analyzer: #​94209
  • [turbopack] Move require.context-related code into a seperate file in the analyzer: #​94210
  • Turbopack analyzer: analyze ternaries + promises in string & nullish methods: #​94187
  • [turbopack] Break up graph.rs in the analyzer into smaller files: #​94211
  • [turbopack] Add explain() methods to WellKnownObjectKind and WellKnownFunctionKind: #​94217
  • [turbopack] Handle negative numbers as constants in the analyzer: #​94218
  • [turbopack] Use ast_path.kinds() instead of mapping over ast_path in the analyzer: #​94221
  • [CLI] Exit non-zero with a clear message when next typegen fails: #​94241
  • Switch TotalOrderF64 to f64 in ConstantNumber to correctly handle NaN === NaN and 0 === -0 inside the Turbopack analyzer: #​94172
  • Use serde_json::Number in CompileTimeDefineValue and remove TotalOrderF64: #​94177
  • Update ctor from 0.10 to 1.0.6: #​94045
  • Include --port in next internal query-trace startup hint and help example: #​93961
  • Turbopack: refactor NFT to add Endpoint.traced_files: #​94224
  • Turbopack: show codeframe when tracing too much: #​94207
  • fix(instrumentation): await instrumentation in RouteModule.prepare: #​94306
  • [turbopack] Function pointers are copy: #​94273
  • DiskFileSystem: run write effects on a spawned task: #​94140
  • Disable default-case ESLint rule for type-checked TypeScript files: #​94316
  • Handle a purged browser cache on back navigation: #​94317
  • Persist debug channel via IndexedDB without blocking hydration: #​94243
  • Fix debug channel not closing on the client with Node streams: #​94268
  • Avoid bundling HMR refresh reducer in production: #​94305
  • Remove the instantNavigationDevToolsToggle flag: #​94322
  • skip render dev overlay ux under private flag: #​94346
  • Turbopack: fix bundle-analyzer for NFT change: #​93363
  • Devirtualize the backend api inside of turbo_tasks and turbo-tasks-backend: #​94007
  • Delay Node Fizz piping until after render task: #​94347
  • Enable Node streams by default: #​94311
  • Turbopack: support turbopackIgnore on more traced calls: #​94361
  • [turbopack] Treat assignments to module.exports as side-effect free: #​94293
  • instant: enable navigation validation by default: #​94312
  • Turbopack: Move turbo-tasks/src/raw_vc.rs to turbo-tasks/src/vc/raw.rs: #​94239
  • Turbopack: fix pages index normalization for --debug-build-paths: #​94341
  • Deprecate undocumented custom server methods: #​94348
  • Trace cacheHandler and cacheHandlers when using adapters: #​94197
  • fix: build hangs if sync IO aborts before root chunk is flushed: #​94365
  • DiskFileSystem: store Effect full_path as Arc: #​94332
  • [CC] add shell stages: #​94438
  • [turbopack] Add BumpVec (vector implementation that takes a Bump): #​94296
  • Ensure aborting has the same inputs as render: #​94436
  • [App Shells] App shells in runtime prefetches: #​93801
  • [turbopack] Optimize TaskInput implementations: #​94202
  • make TaskInput::is_resolved inlinable everywhere: #​94213
  • [App Shells] staged shell rendering in cached navs: #​94441
  • [App Shells] staged shell rendering during build: #​94442
  • Keep the dev React debug channel on Node streams end to end: #​94433
  • Revert "Keep the dev React debug channel on Node streams end to end": #​94459
  • [turbopack] Only ship top-level async support in the runtime when needed: #​94376
  • Allow unstable_retry from TS plugin check in Next.js Error APIs: #​94460
  • [turbopack] Treat local const assignments as side-effect free: #​94294
  • [turbopack] Remove worker helpers from the default runtime: #​94372
  • Extract App Shell from static prefetches: #​94095
  • Turbopack: refactor ServerActionManifestAsset to be lazy: #​94377
  • Update vendored lodash to 4.18.1: #​94473
  • Turbopack: Perform issue filtering without turbo-task functions: #​93885
  • Keep Instant DevTools locked when opening error overlay: #​94357
  • fix(deps): bump @​vercel/nft@1.10.2: #​93979
  • Simplify turbo-tasks-backend: collapse single-impl traits and remove redundant Arc layers: #​93983
  • Turbopack: refactor to use get_ecma_transform_rule: #​94485
  • Turbopack: fixup cache handler tracing: #​94477
  • [turbopack] Remove turbotask functions from trait ResolveOrigin: #​94324
  • Turbopack: remove EcmascriptParsable::parse_original: #​94465
  • Turbopack: Add an experimental option for eviction: #​94439
  • Specialize client hook prerender abort reasons: #​94494
  • enable eviction on canary: #​94451
  • Remove turbopackMemoryLimit it is dead: #​94483
  • [turbopack] Enable Effects to be evicted: #​94173
  • [turbopack] standardize chunk entry names for webpack and postcss loaders: #​94256
  • Add global config to enable Partial Prefetching: #​94448
  • Fix: Subtree hints not propagating correctly: #​94489
  • Partial Prefetching: Default to App Shell only: #​94510
  • Turbopack: refactor into get_next_client_transforms_rules: #​94487
  • [cna] Use allowBuilds instead of ignoredBuiltDependencies when using PNPM 11+: #​94544
  • Turbopack: content hash polyfill sourcemap file: #​94548
  • Remove experimental.useNodeStreams flag as it's enabled: #​93938
  • Remove dead cacheComponents web streams path: #​93944
  • fix(dev-overlay): Tidy up issues/insight menu and tab overlay: #​94549
  • [turbopack] Remove WebAssembly helpers from the default runtime: #​94373
  • enable eviction by default: #​94452
  • Rename prefetch option force-runtime to allow-runtime: #​94568
  • [turbopack] Use an arena for JSValues: #​94297
  • Stabilize export const prefetch: #​94571
  • Fix node:stream leak in webpack edge bundles: #​94585
  • Stream Cache Components dev render instead of restarting on cache miss: #​94457
  • Fix Navigation Inspector Continue Rendering with loading.tsx: #​94355
  • [turbopack] add an extension to trace files: #​94587
  • Make router-act ignore App Shell prefetch requests: #​94580
  • Enable experimental.appShells by default with cacheComponents: #​94516
  • [turbopack] Lazily allocate the BlockCaches: #​94562
  • Stabilize catchError and retry by removing unstable_ prefix: #​94610
  • Revert "Stabilize catchError and retry by removing unstable_ prefix": #​94617
  • Stabilize unstable_instant: #​94578
  • Reapply "Stabilize catchError and retry by removing unstable_ prefix": #​94623
  • [turbopack] Enable turbopackFileSystemCacheForBuild by default in non-stable releases: #​94616
  • Add a cold cache dev indicator: #​94611
  • instant: build fix-card Copy AI prompt dynamically from title + link: #​94637
  • Stage short-lived 'use cache' entries correctly in dev: #​94645
  • Call register_assignment_scope() in visit_export_default_expr() and visit_export_default_decl(): #​94581
  • fix: handle shell errors when resuming Node streams: #​94668
  • [turbopack] Rename variables in path_join and add tests: #​94625
  • Warn on prefetch={true} navigation without Partial Prefetching (dev): #​94672
  • Serve stale 'use cache' entries in the dev server until they expire: #​94662
  • Re-fetch dynamic content on navigation with partialPrefetching enabled: #​94655
  • Add Owner Stack to "prefetch={true} navigation without Partial Prefetching" warning: #​94683
  • [tubopack] migrate rcstr! to use scattered collect: #​94498
  • Strip internal dev request-id headers from userland headers(): #​94703
  • Persist 'use cache: private' entries in dev: #​94694
  • [App Shells] refactor instant-validation to make adding new stages easier: #​94711
  • migrate turbo-tasks to scattered collect: #​94503
  • [CC] refactor staged rendering codepaths in params/searchParams: #​94718
  • [App Shells] Track whether shell prefetch used session data: #​94484
  • Treat empty resume bodies as dynamic render requests: #​94729
  • [codemod] Write pnpm overrides to pnpm-workspace.yaml on pnpm v11+: #​94690
  • [CC] Exclude caches with low stale from static prerenders: #​94678
  • [CC] Rename shellStage to streamReleaseStage: #​94749
  • [turbopack] Drop data while serializing in next build: #​94561
  • [turbopack] Optimize cell_dependency representation: #​94717
  • [turbopack] Use final_read_hint in top level turbo tasks: #​94712
  • Allow root params in App Shell (client)
  • fix: this in edge sandbox setTimeout/setInterval: #​94754
  • Avoid a premature Suspense fallback flash in the streaming dev render: #​94783
  • Format submillisecond durations as milliseconds: #​94813
  • Move warnOnce imports into statements guarded by process.env.NODE_ENV === 'development': #​94781
  • Expand signature rewriting to allow returning ResolvedVc from turbo task functions: #​94772
  • Move errorOnce imports into statements guarded by process.env.NODE_ENV === 'development': #​94782
  • Turbopack: add experimental React compiler support: #​94573
  • pass --locked to cargo binstall: #​94834
  • [turbopack] Allocate Effects in an arena: #​94614
  • [turbo-tasks] Shrink RawVc to 8 bytes and CellId to 4 bytes: #​94792
  • dev-overlay: polish error header layout and instant fix-card chip: #​94790
  • Make cacheMaxMemorySize: 0 and custom cache handlers fast in dev: #​94784
  • Fix remaining OTEL issues in adapter: #​94817
  • Turbopack: improve NFT warning message: #​94854
  • Add experimental.useExperimentalReact to opt into React's experimental channel: #​94861
  • Turbopack: improve issue printing colors: #​94858
  • [turbopack] Update algebra in chunking algorithm: #​94873
  • [CC] Fix accumulator flushing logic: #​94857
  • trace-server: render read progress in place on a terminal: #​94879
  • Turbopack: Add an OrdResolvedVc wrapper type: #​94875
  • Turbopack: don't run NFT for output:export or Edge: #​94862
  • react-compiler: don't emit diagnostics as issues: #​94874
  • Turbopack: fix tracing of sharp@​0.35: #​94845
  • Support vary params rewinding: #​94809
  • [App Shells] Allow root params in app shells: #​94738
  • Rename experimental.useExperimentalReact to blockingSSR: #​94869
  • Fix non-RSC router prefetch handling: #​94553
  • Log partialPrefetching during startup: #​94822
  • Avoid re-logging server-originated errors forwarded from the browser: #​94917
  • Scope the Cold cache indicator in dev to shell cache misses: #​94911
  • fix(dev-overlay): correct open-in-editor path when using a src directory: #​94775
  • Fix repoRoot for adapters: #​94478
  • Fix dev overlay hydration error ordering: #​94555
  • [turbopack] Retry chunk loading on failure: #​94918
  • [turbopack] Sort modules in chunks to reduce duplicates: #​94961
  • router instrumentation: refactor client hook dispatch (1/7): #​94755
  • [otel] Add more verbose-mode OTEL spans for App Router: #​94894
  • Enforce route segment configs on metadata routes under Cache Components: #​94962
  • typegen: default to Turbopack: #​94952
  • router instrumentation: add transition start context (2/7): #​94766
  • fix: after(callback) called after response end: #​94974
  • fix: request APIs in promises passed to after() in actions/handlers: #​94964
  • Remove embedded Claude Code plugin marketplace: #​94877
  • [otel] Correctly set error code attributes for App API routes: #​94979
  • Statically prerender metadata image routes under Cache Components: #​94957
  • codemod: cache-components-instant-false + next-cache-components-adoption skill: #​94941
  • Remove legacy PPR codepaths: #​94955
  • Add a global opt-in for the runtime stage of Cached Navigations: #​95064
  • [turbopack] Rename the edge runtime to the self-contained runtime: #​94726
  • [turbopack] Sort modules in files by path not ID: #​95065
  • Turbopack: Fix log box test on react 18: #​95078
  • Turbopack: Avoid clone when sorting by module file path: #​95079
  • Fix false-positive export const dynamic in Cache Components detection: #​95083
  • Serve ISR fallback shells in response to prefetch requests: #​94534
  • Insights: drop irrelevant fix cards from instant errors: #​94926
  • Navigation inspector UI updates: #​94959
  • Turbopack: Delete dead AttachedFileSystem type: #​94960
  • Opt Partial Prefetching routes into the runtime stage of Cached Navs: #​95097
  • Fix #​95015 by pulling a fix to scattered-collect: #​95098
  • Release the instant navs lock without clearing the whole cookie jar: #​94947
  • Compute dev fallback params from the most-specific prerendered route: #​95066
  • Consider merging chunks when overlap == 1: #​95102
  • [turbopack] Add support for single-entry chunks: #​94727
  • Turbopack: add TURBOPACK_DEBUG_CSS_CHUNKING env var: #​95080
  • Keep the resolved cache life for cacheMaxMemorySize: 0 caches in dev: #​95100
  • Avoid mutating req.headers when stripping internal headers: #​95116
  • Revert "Remove legacy PPR codepaths": #​95113
  • dev-overlay: wire Link prefetch={true} Partial Prefetching warning into Insights: #​94798
  • Add missing switch case: #​95127
  • Revert "Add missing switch case": #​95129
  • Fix Navigation Inspector styles in dark mode: #​95126
  • Fix local fonts in statically prerendered ImageResponse metadata route: #​95121
  • Surface an error for blocking routes under the Navigation Inspector: #​95139
  • Suppress prefetch={true} warning when route opts out via instant = false: #​95099
  • [turbopack] Create ServiceWorkerChunkingContextOptions in next-core: #​94920
  • instant(): Only render shell, unless prefetch prop is set: #​95150
  • [turbopack] Create ServiceWorkerEntryModule and service_worker_chunk_filename: #​94921
  • [turbopack] Discover ServiceWorkerEntryModules in next-api and compile + serve those service workers: #​94922
  • [PP] Reveal after ShellRuntime when simulating a Shell Prefetch in dev: #​95149
  • Replicate production prefetch shells for instant navigations in dev: #​95067
  • [next-dev-loop] Fix some papercuts: #​95153
  • Gate the dev Cold cache badge behind an experimental flag: #​95169
  • [next-dev-loop] Fix cookies: #​95177
  • Revert "[turbopack] Use final_read_hint in top level turbo tasks (#​94712)": #​95178
  • [dev overlay]: restructure Copy-as-prompt body into a step-by-step checklist: #​95186
  • Hard-navigate to app routes shadowed by a pages dynamic route: #​95185
  • next-dev-loop: require agent-browser >= 0.31.1: #​95209
  • fix: preserve middleware rewrite query in Pages API routes: #​94905
  • Don't track modifications to transient data stored in tasks: #​95133
  • Record size metrics to our compaction and persistence spans: #​94977
  • [turbopack] Support undoable modifications for many field types on TaskStorage: #​95180
  • Turbopack: make hash_xxh3_hash128 return u128: #​95232
  • Improve typing of decodeReply: #​95263
  • fix: preserve repeated search params in client page segment cache keys: #​94863
  • fix(turbopack): dedupe filename/exportedName in server-reference-manifest worker entries: #​95242
  • Avoid bundling client-nodemodules used by unstable_rethrow in client-browser modules: #​95196
  • Turbopack: replace cssChunking graph moduleFactorCost with weightDistribution: #​95088
  • Fix: Update the URL when a client navigation redirects to a rewritten route: #​95207
  • Enhance ESLint rule no-location-assign-relative-destination: #​93057
  • [turbopack] Add an experimental chunkingHeuristics to next.config.js: #​95019
  • [turbopack] Thread chunkingHeuristics through to chunk groups: #​95020
  • [turbopack] Set chunking_heuristics on each ChunkGroupInfo: #​95021
  • [turbopack] Use experimental chunking heuristics: #​95026
  • [turbopack] Discover service workers in the Turbopack analyzer: #​94923
  • Turbopack: This bool could've been an enum: #​95288
  • log config evaluation time: #​94811
  • Log content-free diagnostics when a postponed state fails to parse: #​95216
  • Turbopack: constant evaluate x in y: #​95286
  • Surface empty generateStaticParams as a redbox with a real stack: #​95269
  • Render a code frame for build errors thrown collecting page data: #​95270
  • fix: params/searchParams in client page crashing dev instant validation: #​95289
  • Turbopack: compute code hash per use cache function: #​94234
  • Fix workers on thread to not crash with napi-rs: #​95281
  • codemod: non-interactive upgrade for agents and CI: #​95312
  • [PP] Validate Shell prefetches (except gSP): #​95151
  • [PP] Instant validation - error for unguarded static params: #​94595
  • codemod: bump eslint alongside eslint-config-next: #​95314
  • Rename Copy as prompt to Copy prompt, convert FixOption to FixCard: #​95309
  • Fix Navigation Inspector in Safari: #​95329
  • Fix early OTel proxy tracers in Cache Components prerenders: #​95317
  • Re-query deploy-test build logs until id markers appear: #​95243
  • Rename DYNAMIC_EXPIRE and DYNAMIC_STALE to describe what they gate: #​95361
  • fix(turbopack): allow #/ prefixed subpath import specifiers: #​94461
  • Remove 'silence this warning' from instant validation fix output: #​95187
  • Make instant() resilient to a leaked navigation-testing cookie: #​95375
  • Await reused in-flight prefetch entries under Instant Navigation lock: #​95301
  • Cache short-expire 'use cache' values across dev reloads: #​95362
  • Fix metadata title dropped on soft navigation with Cache Components: #​95315
  • Prefetch links nearest the top of the document first: #​95393
  • fix: handle prototype-colliding segment names in segment explorer trie: #​95403
  • Clear a resurrected instant cookie on unlock so a hard reload recovers: #​95398
  • Recover from blocking routes under Instant Navigation lock when deployed: #​95227
  • fix(config): correctly validate cacheHandlers names: #​95358
  • Fix history push getting treated like replace when followed by refresh: #​95392
  • Skip saving expire: 0 values in the default cache handler in prod: #​95363
  • Fix false-positive nested-cache error for a short default profile: #​95373
  • Fix navigation getting reverted when a Server Action is in flight: #​95391
  • Ignore-list internal frames whose source maps chain to original sources: #​95448
  • fix: work around SWC compress bug: #​95457
  • Avoid unnecessary rendering for validation in dev: #​95394
  • Add serverComponentsHmrCancellation experimental flag: #​95462
  • Also rewrite requires in page templates with Webpack: #​95446
  • Fix instrumentation hook awaiting for middleware with adapters: #​95357
  • otel: Use correct parent span for Node.js middleware: #​95306
  • [turbopack] Add E2E tests for service workers: #​94924
  • trace-viewer: Support string span ids in nextjs trace backend: #​95515
  • evals: fix false-negative regex checks with the agentic LLM judge: #​95440
  • fix(dev-overlay): increase fix card grid row gap to clear floating Copy prompt button: #​95526
  • [fragment-scroll] Enable new scroll handler by default: #​95378
  • Abort superseded Server Components HMR requests on the client: #​95463
  • turbo-persistence: skip directory fsync on Windows: #​95497
  • Disable supportsImmutableAssets with config.output: #​95521
  • Turbopack: add all keys to dynamic exports before sealing the object: #​93334
  • Propagate maxDuration to edge adapter outputs: #​95118
  • Run instrumentation for Node.js Middleware without Adapter: #​95547
  • Fix/next info experimental analyze with graph css chunking: #​95542
  • Cancel a superseded Server Components HMR refresh's server-side work: #​95486
  • Turbopack: add more context to persistence file errors: #​95318
  • [turbopack] Rename rscEndpoint to rscHmrEndpoint: #​95538
  • [PP] Surface URL data during prefetching as an Instant insight with rule page: #​95365
  • fix: log "Partial Prefetching enabled" during next build: #​95593
  • [turbopack] Don't persist if there is little work to do: #​95137
  • align dev and build output: #​94916
  • [turbopack] Don't evict when there is little memory to save: #​95213
  • Consistently gate navigation-testing-lock API on flag: #​95582
  • Turbopack: enable import with {type: 'text'} by default: #​95606
  • fix(create-next-app): pin both axes on Tailwind template logos to silence aspect-ratio warning: #​95609
  • [turbopack] print Turbopack warnings after SSG: #​95430
  • fix(create-next-app): render filenames in Geist Mono so the preloaded font is used: #​95471
  • Normalize and validate expire and revalidate values to handle Infinity and surface mistakes early: #​95493
  • Make the agent-rules block verifiable and self-upgrading: #​95467
  • Convert agent-041's blocking-data check to the agentic LLM judge: #​95630
  • Reduce the size of OperationVc from 8 bytes to 4: #​95614
  • [turbopack] Output service workers to /_next/static/: #​95554
  • [turbopack] Compile service workers registered from pages router pages: #​95583
  • [turbopack] Simplify service worker e2e tests: #​95672
  • Keep the request body a plain Readable after middleware so Readable.toWeb() doesn't hang: #​95607
  • [PPF] Sync IO is only allowed in the dynamic stage: #​95384
  • Fix support for custom-media-queries in LightningCSS: #​95689
  • Turbopack tests: remove assertions that duplicate webpack results: #​95688
  • request insights: record local framework spans (1/5): #​93974
  • request insights: derive request history and fetch data (2/5): #​93975
  • request insights: expose dev snapshots to tools and HMR (3/5): #​93976
  • Fix duplicate static files in adapter: #​95681
  • Fix Pages router 404 runtime rendering with Adapter: #​95264
  • request insights: add agent diagnosis access (4/5): #​93977
  • Fork navigation-testing-lock module: #​95611
  • Turbopack: order CSS modules by chunk-group co-occurrence in linearize: #​95579
  • Fix termination handling: #​95692
  • [turbopack] Switch make_production_chunks to use floats: #​95749
  • Improve the NFT error message and ignore comment handling: #​95144
  • request insights: add DevTools request panel (5/5): #​93978
  • [turbopack] Optimize the implementation of AutoMap/AutoSet : #​95694
  • telemetry: add agentName to anonymous metadata: #​95586
  • Respect NEXT_HASH_SALT for server side assetsHashes: #​95738
  • Support metadata routes in --debug-build-paths: #​95788
  • Only track pending imports for real promises: #​95789
  • Fix cache warming and static params for metadata images with top-level await: #​95790
  • Preserve init errors from async route modules: #​95799
  • Fix Request Insights subscription initialization: #​95794
  • Add more realistic bench fixtures: #​95807
  • [Bench] Extend bench app to have realistic client chunk counts: #​95814
  • Replay same-document traversals that happen before hydration: #​95682
  • [turbopack] Tell agents not to mention next.config.js options: #​95825
  • Exclude stale under 5 minutes from app shells: #​95833
  • [turbopack] Generate component chunks for each merged group to increase cache hits: #​95261
  • Turbopack: trace externals imported only by server actions: #​95824
  • [turbopack] Create a shared asset with browser runtime code: #​94586
  • [turbopack] Create a chunk_group_bootstrap_params() function: #​94631
  • [turbopack] Add inline_chunk_group_bootstrap to BrowserChunkingContext and chunk_group_bootstrap_params to ChunkGroupResult: #​94661
  • [turbopack] Add registerEntry() to handle inline bootstrapping: #​94664
  • [turbopack] Add chunk_group_bootstrap_params and the chunk-loading global to the build manifest: #​94663
  • [turbopack] Inline the chunk group bootstrap in Next.js to drop the per-route runtime: #​94666
  • [turbopack] Only ship pages-router routes in the client chunk-group bootstrap manifest: #​94671
  • Revert "Replay same-document traversals that happen before hydration": #​95853
  • Fix Request Insights span collection: #​95818
  • Unify appShells flag with Partial Prefetching: #​95415
  • Fix repeated navigations while the Instant Navigation lock is held: #​95864
  • fix(agent-rules): pad managed AGENTS.md block with blank lines: #​95892
  • [turbopack] Don't SSR on pages only navigated to through a soft nav: #​95539
  • [turbopack] Clean up server_chunking_context: #​95908
  • Fix Rust doctest failures: #​95909
  • [instant] Let dev-server requests bypass the fetch lock: #​95761
  • Move immutable static assets config option out of experimental: #​95351
  • Move outputHashSalt out of experimental: #​95840
  • fix(cms-contentful): await draftMode() and use Promise<> params type: #​95631
  • Turbopack: Simplify parent directory creation retry loop logic: #​95835
  • [turbopack] Drop unused exports from a CJS module: #​95716
  • [turbopack] Skip redundant top-level root updates: #​95903
  • cna: use LayoutProps helper in TS layout templates: #​95675
  • [turbopack] Rename turbopackTreeShaking to turbopackModuleFragments: #​95978
  • Fix instant validation blocking navigations: #​95939
  • Prevent unhandled rejections when a "use cache" cache handler errors: #​95985
  • Insights: use a single Learn more link in console errors: #​95967
  • Preserve basePath in redirect destinations: #​95608
  • fix(next/image): improve performance of detectContentType() : #​96006
  • Validate server reference IDs during manifest lookup: #​96007
  • fix(incremental-cache): byte-exact fetch cache key for binary bodies: #​96008
  • fix(fetch-cache): key fetch(Request, init) by the effective request: #​96009
  • Ensure exotic rewrite param values are properly encoded: #​96010
  • Set correct origin for internal redirects in custom server: #​96011
  • Enforce serverActions.bodySizeLimit for Server Actions in Edge runtime: #​96012
  • Improve performance of validating MPA form submissions: #​96013
  • Fix Turbopack middleware matcher with i18n single locale: #​96014
  • [turbopack] Tree-shake CJS exports that use the Object.defineProperty syntax: #​95994
  • Turbopack: Use Arc<PathBuf> for keys in turbo-task-fs's per-path MutexMap: #​95951
  • Revert "[turbopack] Don't SSR on pages only navigated to through a soft nav (#​95539)": #​96028
  • Turbopack: Fix missing canonicalization of paths and always use verbatim paths internally for Windows: #​95668
  • Turbopack: Remove chunk group id from value of chunk groups map: #​95142
  • Fix basePath fallback parameter parsing: #​95966
  • Emit the static paths HMR update after updating the cache: #​96019
  • Add a dedicated HMR message for static params changes: #​96020
  • Fix stale dev 'use cache' for cookieless requests and route handlers: #​96022
  • fix: cache miss in App Shell for cached pages with gSP: #​95665
  • Turbopack: stop copying sourcesContent into every serialized source map: #​95934
  • [turbopack] Fix deployment skew protection for component chunks: #​96079
  • Gate partialFallback behavior behind partialPrefetching flag: #​96074
  • [Cache Components] Exclude dynamic params from prerenders when no generateStaticParams values is provided: #​95872
  • Turbopack: Use swc_core::ecma::utils::prop_name_eq for a couple of the next-custom-transforms: #​96035
  • Turbopack: Use Arc and Box to make InvalidatorMap slightly more efficient: #​95987
  • Turbopack: Split up turbo-tasks-fs/src/lib.rs into smaller modules: #​96030
  • [Bench] Add client-trace attribution pass and document metrics to render-pipeline: #​95828
  • Rewrite edge server source map sources in Rust, drop JS fallback: #​95980
  • fix(next/font/google): bound Google Fonts fetch timeout on Turbopack: #​95981
  • Restore partial fallback shell upgrade coverage: #​96096
  • Remove inert experimental.viewTransition flag: #​96098
  • Turbopack: Refactor watcher event handling and batching logic: #​96087
  • Turbopack: Very minor improvements for watcher loop: #​96103
  • [turbopack] Track re-exports in import_usage inside of compute_import_usage: #​95989
  • [RSC HMR] Fix a flurry of refetches when a editing component imported from many routes: #​96102
  • Return plain text 404 for non-document requests to unknown paths: #​95930
  • [turbopack] Track usage of modules imported with require(): #​95717
  • [turbopack] Drop dead require() calls: #​95718
  • [turbopack] Import Webpack's tests for tree-shaking: #​95811
  • [ts-plugin] Preserve TypeScript quick info metadata: #​95863
  • Optimize app page entry analysis: #​96058
  • Include additional prerender metadata about build-time routes: #​96080
  • Keep VaryPath monomorphic by making isRootParam required: #​96122
  • Make reifyRouteTree object literals match the canonical RouteTree key order: #​96162
  • Keep optimistic-route param handling monomorphic: #​96169
  • [sourcemaps] Use file: sourcemaps for Turbopack to improve dev performance: #​95946
  • Avoid quadratic HMR queue shifts: #​96137
  • Optimize implicit cache tag derivation: #​96120
  • Forward dev invalid dynamic usage errors from the render, not validation: #​96148
  • [refactor] Model dev validation render outputs as a discriminated union: #​96149
  • Add the experimental.devValidationWorker config flag: #​96150
  • [refactor] Prepare dev validation for running on a worker thread: #​96151
  • Run Cache Components dev validation on a worker thread: #​96153
  • fix: release compression stream when client disconnects mid-response: #​96173
  • [sourcemaps] Reuse source map payloads and consumers across stack frames: #​96198
  • Pass fallback params to the dev validation worker as maps: #​96210
  • Retry the source map lookup with a plain path: #​96215
  • Read chunk source maps from disk in the dev validation worker: #​96218
  • Run dev validation in process when using Webpack: #​96219
  • Fix dev overlay symbolication for project paths needing percent-encoding: #​96221
  • fix(sandbox): release one-shot timeout ids after they run: #​96161
  • Turbopack: support import.meta.glob caseSensitive option: #​96226
  • Add shell offset to static segment prefetches: #​95963
  • [turbopack] Fix de-opt in getChunkRelativeUrl(): #​96183
  • [turbopack] Tree-shake module.exports = {...} (CJS): #​95996
  • Add Instant Insights request timing: #​95958
  • Track whether runtime data is accessed during prefetch: #​95964
  • Update vendored @mswjs/interceptors to 0.41.9: #​96059
  • Replace vendored http-proxy with httpxy: #​96060
  • Turbopack: Store watcher batch state with bitflags instead of 4 different sets: #​96114
  • Turbopack: Only extend the watcher's batch window for unfiltered events: #​96186
  • Serve cached misses from the filesystem route cache: #​96230
  • Use a safe clock for Request Insights bookkeeping: #​96274
  • Block prefetch task until sufficient response is received: #​96017
  • Attempt static prefetch before resorting to runtime: #​96095
  • Unify allow-runtime with Partial Prefetching: #​96106
  • Add option to control dev memory threshold restarts: #​96144
  • feat(turbopack): support import.meta.env: #​96225
  • fix(next/image): improve test coverage for unsupported image types: #​96301
  • Add local Request Insights span tracing: #​96275
  • Add Instant Insights pipeline spans: #​95961
  • Persist Request Insights display settings: #​96277
  • [turbopack] Treat Object.defineProperty(exports, …, { value: … }) as side-effect free: #​96273
  • Fix Turbopack worker URL context lookup: #​96307
  • Return 200 for client-handled Server Action redirects: #​96310
  • Revert "[turbopack] Track re-exports in import_usage inside of compute_import_usage": #​96311
  • Improve root detection to handle worktrees, more workspaces & stray lockfiles: #​96159
  • Turbopack: aggregate server HMR into one subscription: #​94948
  • Turbopack: extract chunk list version/update into turbopack-ecmascript: #​95661
  • Turbopack HMR: extract deferring build messages and use it in server hmr: #​95795
  • Turbopack server hmr: avoid complete clear on graph changes: #​95546
  • [turbopack] Remove loader calls for dropped dynamic imports: #​96284
  • Revert "Revert "[turbopack] Track re-exports in import_usage inside of compute_import_usage"": #​96315
  • Restore comments dropped during a refactor: #​96324
  • [turbopack] Tree shake w/ bar['foo'] syntax for star imports: #​96319
  • Cache immutable current task IDs outside the task-state lock: #​96180
  • Gate partial fallback shell upgrades behind partialPrefetching for next start: #​96297
  • Make retry stop when the time it was given is up: #​96354
  • Share Ecmascript HMR chunk versioning, diffing, and merging between browser and node: #​96325
  • Ensure unique resolved headers() value between render passes: #​96085
  • Fix PPR rendering for configured HTML bots: #​96364
  • [fragment-scroll] Stop blurring on navigations: #​96113
  • [Instant] Point to first blocking await in validation: #​96343
  • Skip reader task locking for immutable Turbo Tasks reads: #​96179
  • Fix empty Fragment scroll ownership: #​96342
  • fix(create-next-app): make AGENTS.md blue: #​95432
  • fix: respect htmlLimitedBots in cache components without buffering the full response: #​96367
  • Remove obsolete shouldWaitOnAllReady render option: #​96401
  • Update Rust toolchain to nightly-2026-07-29: #​96365
  • [turbopack] Keep track of components of the remainder chunk: #​96409
  • [turbopack] Respect sideEffects in a package.json file with optimizePackageImports: #​96383
  • Fix isHeadPartial when hydrating from a static fallback shell: #​96400
  • [turbopack] add experimental.turbopackChunking config: #​96398
  • Update @​types/react and @​types/react-dom to latest: #​96419
  • Fix adapter outputs for not-found routes when used with cache components: #​96390
  • Consolidate unhandled rejection logging into a single listener: #​95999
  • Enable turbopackFileSystemCacheForBuild by default: #​96395
  • [turbopack] Fix component chunks for workers: #​96432
  • Fix hybrid Pages/App Router not-found rendering with adapters: #​96392
  • Warn that experimental.useCache is deprecated: #​96448
  • Enable Turbopack build filesystem cache by default: #​96493
  • [Cache] Make caches error if called after prerender aborts: #​96426
  • Fix App Router scroll padding visibility: #​96308
  • Enable TypeScript CLI by default: #​96497
  • fix: double fragment on navigation: #​93132
  • Remove implicit Partial Prefetching opt-in from instant: #​96539
Documentation Changes
  • docs: fix broken Activity Patterns demo link in preserving UI state guide: #​91698
  • docs: post release amends: #​91715
  • docs: use ErrorInfo type consistently in catchError docs: #​91744
  • docs: add catchError benefits over userspace error boundaries: #​91745
  • docs: platform portability and infrastructure documentation: #​91237
  • docs: add verified adapters section: #​91849
  • docs: document CSS decimal precision difference between Turbopack and webpack: #​91909
  • [Docs] Rewrite agent rules to match bundled doc wording: #​91995
  • docs: opengraph-image papercuts: #​92018
  • Update revalidateTag examples to use the new two-argument signature: #​92065
  • docs: clarify that use cache requires async functions: #​92101
  • Move expanded adapters docs to API reference: #​92115
  • docs: add middleware bypass note to CDN caching guide: #​92132
  • docs: document revalidateTag's required second argument in upgrade guide: #​92134
  • docs: local images referenced by remote source: #​92178
  • docs: clarify id, filePath, and pathname in STATIC_FILE adapter output: #​92227
  • Docs/adapters review: #​92223
  • docs: vt demo guide: #​92249
  • docs: Ask AI agents to self-identify themselves in PR descriptions: #​92235
  • docs: add deploy tests documentation to contributing guide: #​92388
  • docs: clarify that proxy/middleware matches static assets by default: #​92441
  • docs: clarify serverless runtime behavior for use cache: #​92232
  • docs: add note on React canary version to View transitions guide: #​92315
  • docs: note PPR default in cacheComponents reference: #​92378
  • docs: instant-navs draft, samples for build validation: #​91850
  • docs: add middleware.mdx deprecation stub for discoverability: #​92281
  • docs: improve blocking-route error page for params discoverability: #​92359
  • docs: clarify cacheLife() cannot be called at module scope: #​92326
  • docs: add note on installing server-only in data security guide: #​92445
  • fix: replace docs/canary links with stable docs paths in error messages: #​92528
  • docs: update details about unstable_retry() behavior: #​91827
  • docs: link updateTag from cacheTag reference: #​92379
  • Docs: Instant docs updates: #​92515
  • docs: native db drivers with sync queries: #​92572
  • docs: add Link transitionTypes version history: #​92624
  • docs(cli): clarify that --debug-build-paths requires route group folders in paths: #​92618
  • docs: fix broken bun.sh Nextjs documentation link: #​92698
  • docs: add migration note for experimental cache flags to cacheComponents: #​92318
  • docs: draftMode alignment: #​92794
  • docs: restructure instant nav guide for clarity: #​92684
  • docs: add documentation for no-typos ESLint rule: #​92809
  • docs: amends to preserving-ui-state guide: #​92270
  • docs: link Activity guide from Cache Components migration guide: #​92571
  • docs: add guide for displaying dates without hydration flash: #​92786
  • chore: remote apps/docs: #​93041
  • Docs: add signed commit guidance: #​93155
  • Turbopack: import.meta.glob docs + edge case support: #​92729
  • docs: remove broken error-handling overlay screenshot: #​93279
  • docs: clarify rendering flow in Server/Client interleaving example: #​93381
  • docs: clarify proxy runtime history: #​93467
  • Update unstable_prefetch and unstable_instant docs to reflect current API shape: #​93514
  • docs: remove unreachable forms and mutations: #​93509
  • docs: broken link from usePathname compat call out: #​93528
  • docs: escape literal triple-backticks in contribution guide: #​93584
  • docs: clarify cacheTag limit - it is per call: #​93768
  • docs: devIndicators with usage example: #​93784
  • docs: less aggressive AI agent hint for an experimental API: #​93811
  • docs: fix typos and links: #​92541
  • docs: less aggressive AI agent hint for an experimental API: #​93814
  • docs: update agent test guidance: #​93924
  • docs: instrumentationClientInject: #​93913
  • docs: vocabulary-bridge rule for api-ref and guide skills: #​94127
  • docs: rework dynamic segments intro section: #​94126
  • docs: add next/root-params API reference: #​93764
  • docs: ISR w/ Cache Components - experimental.partialFallbacks: #​93299
  • docs: transpilePackages usage: #​93602
  • docs: move isr cacheHandler callout to next steps: #​94167
  • docs: fix code examples in getting-started guides: #​93273
  • [feat] updated the documentation for deployment to point to new next.js Docker official guide.: #​94185
  • docs: correct custom server optimization guidance: #​94229
  • docs: bodySizeLimit measures raw HTTP body: #​94137
  • docs: accuracy and pappercuts: #​94299
  • doc: clarify rewrites execution order: #​93765
  • docs: update draftMode guide: #​94155
  • docs: cached functions from the client: #​94301
  • docs: add GitHub SSH authentication guidance: #​94360
  • docs: document Cache Components behavior for navigation hooks: #​94387
  • instant: prompts on all fix cards, [group]-tagged CLI bullets, new docs slugs: #​94017
  • docs: fix typos in testing.md: #​94446
  • docs: fix typos in contribution guide: #​94375
  • docs: correct wording and casing in turbopack tracing guide: #​94469
  • docs: typos and errors outside docs, error, examples folders: #​94472
  • docs: clarify next-env.d.ts regeneration: #​94232
  • docs: add updateTag example to cacheTag page: #​94508
  • docs: clarify use cache persistence across deploys: #​93554
  • docs: fix onRequestError error type example: #​94518
  • docs: move insight error pages from vercel/front to canary: #​94564
  • [Docs] Remove unstable_instant agent hints; insights validate by default: #​94577
  • docs: fix 'time zone' spelling in FOUC guide: #​93244
  • docs: add pnpm installation step to module-not-found error page: #​93773
  • instant: polish client-hook overlay wording, cards, and docs links: #​94496
  • docs: root-params highligth fixes: #​94620
  • docs: remove unstable_disableValidation recommendations: #​94608
  • doc: instant navs runtime story: #​93204
  • docs: next/root-params references on i18n guide: #​94629
  • docs: expand the Cache Components migration guide: #​94649
  • docs: document non-streamed bot rendering and Cache Components: #​94605
  • docs: Route Handlers to be supported later on: #​94705
  • [agents-md] Index bundled docs instead of downloading into .next-docs: #​94719
  • docs: add prefetchInlining config reference: #​94650
  • docs: tighten Partial Prefetching API references and adoption guide: #​94818
  • docs: server actions guide: #​93553
  • docs: fix capitalization of Server and Client Components: #​94891
  • docs: Fix broken link to Node.js Debugging Guide: #​93958
  • docs: fix broken Node.js inspector URL in debugging guide: #​94934
  • docs: clarify sequential data fetching example: #​94930
  • docs: GtK, caching with fetch is opt-in - extended to any method or header included: #​94899
  • docs: fix typo in slot-missing-default.mdx: #​94531
  • docs: Cache components requires Node.js runtime: #​94897
  • docs(authentication): add Auth and streaming, fix code fences and imports: #​95056
  • docs: add Interactive Apps guide: #​94020
  • docs(caching): clarify generateStaticParams prebuild and recommend max for CMS: #​95081
  • docs(cache-components): clarify allow-runtime, sync-IO and instant=false, CLS fallback: #​94997
  • Docs/partial prefetching: #​94855
  • docs(root-params): generateStaticParams section and CC requirement: #​95073
  • docs: server actions guide x-refs: #​95143
  • docs: clarify /_not-found failures and <html> attribute reads under Cache Components: #​95163
  • docs: expand io reference: #​95147
  • docs: update instant navs guide: #​95173
  • docs: fix preview message typo: #​95050
  • docs(insights): restructure error pages and link to preview docs: #​95193
  • docs(errors): reorder blocking-prerender-dynamic fixes to Stream, Cache, Block: #​95198
  • Add docs for experimental.turbopackRustReactCompiler: #​95280
  • docs: remove unnecessary async from rewrites/headers/redirects examples: #​95148
  • docs: Activity bfcacheId and :has caveats: #​95275
  • Instant Navs guide: Highlights fixes and Client Component Page option: #​95313
  • docs: recommend explicit cacheLife and clarify overriding built-in cache profiles: #​95311
  • docs: Update FormEvent to SubmitEvent in form handling example (deprecated in React 19.2.10+): #​95453
  • docs: remove incorrect statement that force-cache is the default for …: #​95235
  • docs: updates to Cache Components Caching: #​95452
  • docs: Fix testing-adapters variable name: #​95575
  • docs: update MCP guides for the thin next-devtools-mcp: #​94859
  • docs(opengraph-image): load assets at module scope to keep route static under Cache Components: #​95246
  • [docs] Update progressive web apps documentation for new service worker syntax: #​95431
  • [docs] Update "Handling a Custom Service Worker" in the CRA migration docs: #​95434
  • docs: Immutable static assets: #​95348
  • docs: note default error/not-found UI follows OS color scheme, not app theme: #​95673
  • docs: add incremental adoption path to Cache Components migration guide: #​95325
  • docs: add Building guide: #​94999
  • docs: runtime prefetching update: #​95564
  • docs: useSearchParams example stray link: #​95759
  • docs: Improve immutable static docs: #​95752
  • docs: revalidateTag with expire zero, for route handlers: #​95760
  • docs: add route-side URL data audit to the Partial Prefetching adoption guide: #​95389
  • docs: cssChunking graph option: #​95693
  • docs: remove experimental @​next/routing note: #​94903
  • docs: add 'Set up your editor' to the installation guide: #​95928
  • docs: clarify layout.js nesting behavior in route groups: #​95720
  • docs: note the :has() scaling limit in the Interactive apps guide: #​95925
  • Include examples of static export tools & GitHub Pages template: #​95929
  • docs: fix unstable_cache syntax error: #​96002
  • docs: add upgrade section to installation and expand AI agents guide: #​95861
  • docs: attribute App Shell prefetch to Partial Prefetching: #​96003
  • docs: view transitions guide — skill section, source-audit fixes, flag-removal docs: #​96097
  • docs(view-transitions): fix the skill install command: #​96142
  • docs: reframe prefetching around automatic vs. controllable behavior: #​95896
  • docs: navigation interrupts after streaming has started (notFound, forbidden, unauthorized): #​95851
  • docs: expand and modernize the Single-Page Applications guide: #​95860
  • docs(ai-agents): restructure as steps and close 16.2/16.3 coverage gaps: #​96247
  • docs: document query-only href resolution and fix with-vercel-blob : #​96280
  • doc: typegen for typedRoutes: #​96296
  • docs: clarify instrumentation-client polyfill loading and hydration timing: #​95988
  • docs(interactive-apps): update prefetching for unified runtime prefetching: #​96302
  • docs: add guide and references for experimental.useOffline: #​93218
  • docs: remove PPR adapter page from Pages Router: #​96316
  • docs: Parallel routes, conditional rendering and auth: #​96351
  • docs(preventing-flash): cover reconciling state : #​96146
  • docs: modernize Next 16 upgrade AI guidance: #​96314
  • Update PWA guide with enhanced offline support details and example links for serwist: #​96360
  • docs: document the App Shell stale time threshold for cached content: #​96312
  • [turbopack] Introduce documentation on experimental.turbopackChunking: #​96437
  • docs: ISR with Cache Components and Partial Prefetching: #​96526
  • docs: clarify first-party Skills workflows: #​96495
  • docs: cover direct visits and client navigations in the instant() e2e example: #​95803
Example Changes
  • chore(examples): remove with-styletron example: #​81842
  • ci: remove deploy examples workflow from build-and-deploy: #​92324
  • example: remove with-supertokens: #​93212
  • [examples] migrate cloudinary to vercel-blob: #​93762
  • examples/with-ably: update to App Router + Ably v2: #​94600
  • fix: error handling and loading states in with-apollo-and-redux example: #​91457
  • fix: remove deprecated url.parse() from custom-server example: #​96105
Misc Changes
  • Add .claude/skills symlink: #​91616
  • Update tokio from 1.43.0 to 1.47.3: #​90945
  • Restructure pr-status-triage skill: merge command into skill files: #​91514
  • [test] Unflake "infinite streaming fetch" test: #​91645
  • [test] Unflake deterministic build - changing deployment id test: #​91646
  • Skip CI for agent/editor config directory changes: #​91622
  • refactor: extract build infra and alias changes: #​90422
  • ci: add node-stream test coverage workflow: #​89861
  • Update Rspack production test manifest: #​91635
  • [test] Increase retry timeouts for two flaky app-action tests: #​91647
  • Revert "ci: add node-stream test coverage workflow (#​89861)"
  • [test] Fix flaky url-hash tests: #​91649
  • Add instant validation tests for parallel slot config attribution: #​91656
  • [test] Unflake rendering indicator test & skip building indicator tests: #​91650
  • [test] Fix edge-async-local-storage deploy test timeout & race condition: #​91643
  • Update Rspack development test manifest: #​91695
  • [test] Unflake use-node-streams-env-precedence test: #​91733
  • Update Rspack production test manifest: #​91694
  • [test] Unflake app prefetch test: #​91734
  • Upgrade React from 3f0b9e61-20260317 to 8b2e903a-20260320: #​91731
  • [ci] Allow "rerun failed jobs" to work up until 5 days: #​91825
  • ci: upload adapter deploy test results: #​91846
  • test: scope css data-url typing to fixture: #​91877
  • ci: only upload adapter results for canary runs: #​91881
  • Perf: Skip turning Set into Array: #​91383
  • Perf: Move chunkloading instrumentation to separate function: #​91382
  • Perf: Use headers object directly in checkIsOnDemandRevalidate: #​91381
  • [test] Deflake instant-navs-devtools: #​91912
  • test(typed-routes): fix flaky tests by increasing retry timeout: #​91923
  • test(app-basepath): increase waitForElementByCss timeout for hard-nav test: #​91920
  • test(interoperability): increase waitForElementByCss timeout for cross-router navigations: #​91918
  • Upgrade React from 8b2e903a-20260320 to 3cb2c420-20260324: #​91905
  • Upgrade React from 3cb2c420-20260324 to 9627b5a1-20260327: #​92015
  • Upgrade React from 9627b5a1-20260327 to 74568e86-20260328: #​92109
  • ci: relax adapter results upload gate: #​92127
  • [test] Skip unstable_dynamicStaleTime tests due to flakiness: #​92162
  • [test] Skip flaky segment-cache-refresh suite: #​92163
  • Add PPR evals and fix env loading for agent-eval 0.9.5: #​92063
  • Update Rspack development test manifest: #​92142
  • [test] Skip flaky cached-navigations tests: #​92199
  • [test] Skip flaky prefetch-layout-sharing suite: #​92198
  • Add internal header security guideline to AGENTS.md: #​92128
  • Update Rspack production test manifest: #​92143
  • [test] Deflake allowed-dev-origins: #​92211
  • Reapply "ci: add node-stream test coverage workflow (#​89861)": #​91664
  • Fix pr-status.js: retry on API errors and report timed-out jobs: #​92205
  • Add view transitions eval (agent-043): #​92260
  • ci: fix stats action: #​92325
  • ci: remove deploy examples workflow from build-and-deploy: #​92324
  • Update Rust toolchain to nightly-2026-04-02: #​92288
  • fix: add AGENTS.md at package root for agent discovery: #​92376
  • [tests]: remove unnecessary skipDeployment flags: #​92423
  • chore: Upgrade to pnpm 10.x: #​92283
  • Bump turborepo from 2.8.11 to 2.9.4: #​92425
  • [test] Skip flaky client-cache.parallel-routes in production and deploy: #​92195
  • scripts/pr-status: add reply-and-resolve-thread command: #​92450
  • [test] Regenerate checked-in tsconfig.json files: #​92455
  • Adding more system info to the 'initialize project' trace: #​92427
  • CI: Update and cleanup next-stats-action, force using pnpm 10.33.0: #​92475
  • CI: Remove unused dependencies from next-stats-action dockerfile: #​92485
  • Upgrade swc_core 57 -> 58, swc_sourcemap 9 -> 10, swc_plugin_runner 24 -> 25: #​91532
  • perf: use whole_app_module_graph for get_compilation_issues MCP tool: #​92473
  • Update Rspack development test manifest: #​92502
  • Update Rspack production test manifest: #​92503
  • CI: Use pnpm lockfile for next-stats-action: #​92488
  • Bundle skills/ directory into next/dist/skills: #​92493
  • CI: Use minimumReleaseAge in pnpm workspace files: #​92480
  • CI: Fix issue with conflicting 'engines.pnpm' field in next-stats-action: #​92533
  • Exclude use tests from react18 testing: #​92542
  • Fix React18 tests for unstable_io: #​92543
  • Perf: Add fast path to isAbsoluteUrl: #​91389
  • Perf: Don't require watchpack in production: #​91387
  • [test] Stop using deprecated target: "es5" TypeScript compiler option: #​92458
  • Perf: Use charCodeAt in removeTrailingSlash: #​91384
  • Perf: Cache regex in shouldServeStreamingMetadata: #​91388
  • [test] Ensure incomplete minimum release age isn't propagated to fixture installs: #​92568
  • test: skip .next and other build artifacts in writeFiles filter: #​92578
  • CI: Another attempt to fix pnpm versions for next-stats-action on canary: #​92550
  • test: reduce writeToDisk memory test iterations to fix CI timeout: #​92586
  • Refactor effects system: dedup/conflict detection, simplified Effect trait: #​92300
  • fix(ci): improve Docker image cache streaming throughput and arch-awareness: #​92617
  • CI: Download and run self-contained datadog-ci instead of using pnpm dlx or npx: #​92546
  • Bump swc to 63.1.1: #​92604
  • chore(turbopack): upgrade qfiler to v0.3.0-alpha.4: #​92558
  • refactor: write pages router export files directly to server/pages/: #​90018
  • fix(ci): improve Docker image caching and native build skip optimization: #​92633
  • Perf: Only instrument clientComponentLoadTimes when used: #​91385
  • Update font data: #​92704
  • [test] Stop using baseUrl: #​92469
  • bench: improve render pipeline benchmark reliability: #​92715
  • bench: add A/B branch comparison workflow to BENCHMARKING.md: #​92721
  • test: use Turborepo pack task for test isolation: #​92575
  • chore: Bump reqwest to 0.13.2: #​92713
  • Upgrade React from 404b38c7-20260408 to fef12a01-20260413: #​92728
  • Revert "refactor: write pages router export files directly to server/pages/": #​92733
  • Re-enable sccache: #​92746
  • chore: Use from_raw_parts for ResolvedVc::deref_vec and ResolvedVc::deref_slice: #​92749
  • Pin upload-artifact to v7.0.1 and download-artifact to v8.0.1: #​92757
  • Fix swc wasm test on canary: #​92738
  • Bump TypeScript to 6.0: #​91257
  • test: Add tests for client reference side effects: #​92774
  • refactor: remove ClientFileLogger, consolidate file logging into handleLog: #​92329
  • pr-status: Show all participants in review thread overview: #​92730
  • Perf: Fast path for trace() when opentelemetry is not enabled: #​92678
  • Share native binaries via GitHub artifacts: #​92758
  • [ci] Skip sccache on Windows runners: #​92847
  • Update Rspack production test manifest: #​92674
  • Update Rspack development test manifest: #​92673
  • [ci]: add workflow to bump canary after backport: #​92801
  • [ci] Skip Playwright system deps install on subsequent self-hosted runs: #​92893
  • CI: Remove dead yarn support from next-stats-action: #​92587
  • [ci] Cache passing test results so CI retries skip them: #​92832
  • fix accidental test duplication: #​92922
  • Refactor trace server sort to SortMode enum (execution order / value / name): #​92873
  • Perf: Simplify static metadata handling: #​92630
  • [ci]: fix backport sync script: #​92942
  • Fix flake in rewrites-manual-href-as test: #​92948
  • CI: Track SWC native binary size in PR stats comment: #​92938
  • chore: Prune list of users in labeler json: #​92984
  • [test] Deflake shallow-routing: #​93006
  • New ESLint rule: no-location-assign-relative-destination: #​92900
  • Upgrade React from fef12a01-20260413 to da9325b5-20260417: #​92945
  • [ci]: remove unused workflow: #​93064
  • [ci]: remove publish token in favor of OIDC: #​93065
  • Update Rspack development test manifest: #​92959
  • [ci] Temporary disable of sccache: #​93074
  • Auto-generate AGENTS.md / CLAUDE.md in next dev: #​92910
  • [ci]: add environment to publishRelease flow: #​93093
  • Adopt pnpm catalogs for devDependencies: #​93071
  • rage-restart followup: #​92591
  • Collapse pnpm test scripts into a single helper invocation: #​93097
  • [tests]: fix cache-components.test.ts type error: #​93113
  • [ci]: cleanup labeler: #​93135
  • [ci]: switch to GitHub runners: #​93164
  • [ci]: pin rust-musl-cross: #​93176
  • [rust-deps] Update serde: #​93196
  • [rust-deps] Update tracing: #​93194
  • [ci] replace next-labeler-webhook with in-repo GitHub Action: #​93080
  • [ci] Fix auto-label workflow: #​93215
  • [test] Remove dead symlink: #​93217
  • [ci] Populate GITHUB_TOKEN for auto-labeler: #​93219
  • [ci]: move stats & CI status comment to workflow: #​93220
  • [ci] Upload preview builds directly to Vercel Blob: #​93207
  • [ci]: fix permissions on comment workflow: #​93225
  • Revert "Adopt pnpm catalogs for devDependencies": #​93226
  • [ci] Handle namespaced packages in preview builds: #​93241
  • [ci] Create test summary comment if job immediately passes: #​93236
  • [ci] Automatically start React sync when new react@experimental is available: #​93235
  • [rust-deps] Update bytes, crc32fast, memchr, pin-project-lite, quote, rand, regex, ringmap, roaring: #​93197
  • [ci]: app-based release workflow: #​93245
  • [ci]: trigger signed release commit via API: #​93285
  • [ci]: fix release script to not strip newlines: #​93302
  • [ci]: Use macOS arm runner for intel builds: #​93330
  • ci: Fix caching of test-cargo-unit: #​93327
  • [rust-deps] Update tokio: #​93195
  • [test] Suppress build when preparing next for cache hits: #​93355
  • [test] Fix broken terminal output: #​93357
  • chore: bump postcss to 8.5.10: #​93288
  • fix a snapshot encoding error that could happen under concurrent mutation and snapshotting: #​92658
  • Only log partytown setup error once: #​93378
  • [test] Stop building fresh packages for every test: #​93380
  • [test] Preserve Playwright traces on every failure: #​93366
  • [ci] Add support for private preview builds: #​93375
  • Fix deploy tests crashing under AI coding assistants: #​93394
  • [ci]: remove PR creation from deploy test workflow: #​93400
  • Upgrade to swc 65: #​93325
  • Upgrade React from da9325b5-20260417 to f4e0d4ed-20260429: #​93457
  • Bump @vercel/ncc: #​93459
  • [test] Ensure target page is compiled before navigation in instant-navs-devtools: #​93365
  • [ci] Allow configuring the base URL for preview builds: #​93464
  • [ci] Move Turbopack, Rspack and font data workflows off of RELEASE_BOT_GITHUB_TOKEN: #​93455
  • [ci] Migrate React sync off of RELEASE_BOT_GITHUB_TOKEN: #​93456
  • [ci] Create unique preview build versions for canary previews: #​93490
  • [ci] Ensure pnpm store cache is only filled when pnpm install runs: #​93508
  • [ci] Remove unused setup-nextjs-build.yml workflow: #​93512
  • Refactor: Decouple request store creation from req / res: #​93499
  • [ci] Clarify new preview build flow: #​93540
  • Upgrade React from f4e0d4ed-20260429 to dd453071-20260506: #​93547
  • perf(ecmascript): shrink JsValue 64→32 bytes: #​93106
  • [test] Pin package manager versions used: #​93592
  • [ci] Ensure graphite_ci_optimizer fails open even if github fails to fetch the action: #​93615
  • Cherry-pick ghsa commits to canary: #​93614
  • [ci] Also pin first-party GH actions: #​93609
  • CI speed improvements: #​93411
  • Proof of concept: task eviction after snapshot for turbo-tasks-backend: #​91790
  • Convert test/integration to isolated tests: #​93247
  • Repo: Add gh stack skill: #​93705
  • Fix React 18 tests: #​93763
  • Convert tests using createNext -> nextTestSetup: #​93767
  • Revert "[test] Skip flaky cached-navigations tests": #​93798
  • Upgrade React from dd453071-20260506 to d5736f09-20260507: #​93702
  • Mark .agents/skills as internal so external npx skills add hides them: #​93856
  • Convert more tests from createNext -> nextTestSetup: #​93799
  • [test] split og-api test suite into default and standalone variants: #​93915
  • Add create PR skill: #​93937
  • Enable mimalloc in benchmarks: #​93388
  • Fix Yarn berry tests: #​93962
  • Polish instant fix cards and validation messages: #​93894
  • Add backport PR skill: #​93973
  • use the action cache for passing tests: #​93954
  • @​vercel/devlow-bench: 0.3.5 → 0.4.0: #​93951
  • [test] Prerendering HTTP access fallback pages with Cache Components: #​93987
  • [ci] Add an TURBO_TASKS_AVAILABLE_PARALLELISM environment variable that overrides std::thread::available_parallelism callsites: #​93995
  • ci: run Linux Playwright jobs in prebuilt Microsoft container: #​93794
  • Upgrade rustc to nightly-2026-05-15: #​94021
  • Update font data: #​94006
  • [ci] Set TURBO_TASKS_AVAILABLE_PARALLELISM to 4 in most e2e tests: #​93996
  • Add next-dev-loop and next-ppr-optimizer skills: #​93943
  • test: migrate webdriver callers to next.browser: #​93941
  • Fix pr-status job pagination: #​94049
  • [Skills] Mark backport-pr and create-pr as internal: #​94076
  • [Skills] next-dev-loop: persist login state across loops: #​94105
  • chore: release @​next/rspack-core 1.0.3: #​94116
  • Revert "Revert "refactor: write pages router export files directly to server/pages/"": #​93409
  • [ci] Skip installing native binaries when fetching test timings: #​93593
  • [ci] Reserve comments for stats and tests: #​93240
  • [ci] Fix the playwright-chromium Dockerfile: #​94064
  • Upgrade React from d5736f09-20260507 to 75b0945b-20260526: #​94131
  • [ci] Add an AGENTS.md for GitHub Actions: #​94056
  • [ci] Resize tiny jobs in integration_tests_reusable.yml to use smaller machines: #​93886
  • [ci] Explicitly disable package-manager-cache for uses of actions/setup-node: #​93953
  • Upgrade ast-grep: #​94150
  • [Skills] next-cache-components-optimizer: clarify private-cache scope rule: #​94113
  • [ci] Increase TEST_CONCURRENCY from 8 to 12: #​94138
  • Upgrade React from 75b0945b-20260526 to c0cd4d5d-20260527: #​94161
  • [ci] Give the build cache in cache in build_and_deploy a more obvious name, not just a hash and run number: #​93957
  • [ci] Rename GRAPHITE_TOKEN to GRAPHITE_CI_OPTIMIZER_TOKEN: #​94166
  • [ci] Use Turbopack in non-webpack-specific e2e test jobs: #​94005
  • [test] Add test for static metadata files and generateStaticParams: #​93465
  • test: skip flaky instant-nav-panel tests: #​94196
  • test: fix next-after-app-static: #​94195
  • [ci] Update all actions/* dependencies: #​94174
  • Replace VcStorage with real TurboTasks in tests/benches : #​93955
  • [cd] Stop fetching all tags when searching parent tag: #​94302
  • chore: lint-language output only warnings and errors: #​94261
  • Disable default-case ESLint rule for type-checked TypeScript files: #​94316
  • refactor: use named arguments for StagedRenderingController: #​94345
  • Devirtualize the backend api inside of turbo_tasks and turbo-tasks-backend: #​94007
  • [tests] Use snapshots in debug-build-paths: #​94352
  • Upgrade React from c0cd4d5d-20260527 to f0dfee38-20260529: #​94245
  • refactor: make stage advancing logic more generic: #​94349
  • refactor: make early/late checks stricter: #​94358
  • refactor: remove delayUntilRuntimeStage: #​94350
  • refactor: indicate which stage is the last stage in staged prerenders: #​94430
  • test: pin material-ui link fixture dependencies: #​94354
  • Reland the debug channel on native Node streams, fixed for React 18: #​94462
  • chore: reword cacheComponents jsDoc to lead with partial prerendering: #​94474
  • Upgrade React from f0dfee38-20260529 to 43bcbf80-20260603: #​94440
  • Revert "ci: run Linux Playwright jobs in prebuilt Microsoft container (#​93794)": #​94366
  • fix(deps): bump @​vercel/nft@1.10.2: #​93979
  • [ci] Switch release-next-rspack to a more explicit environment name: #​94480
  • [ci] Set persist-credentials: false for all GH actions: #​94214
  • Revert "[ci] Increase TEST_CONCURRENCY from 8 to 12 (#​94138)": #​94517
  • [ci] Disable on-call notification if manual deploy e2e tests failed: #​94554
  • Reduce new test concurrency to five: #​94552
  • disallow reads from .next-profiles: #​94570
  • [ci] Remove dead playwright docker image creation logic: #​94576
  • [cd] Ensure release can be triggered on old branches: #​94596
  • [ci] Reduce usage of turborepo cache in build_and_deploy.yml: #​94319
  • [ci] Download fnm directly from GitHub releases and validate checksum: #​94579
  • [ci] Always upload canary tarballs from the canary branch: #​94557
  • refactor: process streaming prerenders more efficiently: #​94764
  • [ci] Allow "rerun failed jobs" to work up until 5 days for e2e deploy tests: #​94812
  • Fix stale next data API test URL: #​94815
  • Instruct agents to keep and commit the generated agent-rules block: #​94725
  • Add a message to AGENTS.md about super:: imports.: #​94733
  • chore: upgrade next-rspack to rspack 2.0: #​92222
  • [ci] Use node-version-file when we already have a repository checkout and reduce hardcoded references to node versions: #​94780
  • rust react compiler: detect and build for react 18: #​94836
  • [test] Unflake metadata static routes cache test: #​94796
  • [test] Recover from a leftover build process on test retry: #​94797
  • Properly set response-based OTEL attributes with adapters: #​94603
  • Upgrade React from 43bcbf80-20260603 to d9158919-20260615: #​94826
  • [ci] Clean up references to self-hosted runners: #​94827
  • Upgrade React from d9158919-20260615 to ad78e251-20260616: #​94867
  • switch our test benchmark runs to release-with-assertions: #​94538
  • [ci] Remove playwright stamp file logic: #​94876
  • [cd] More robust publish pipeline: #​94622
  • [cd] Continue release train if @next/swc-wasm-* fails to publish: #​94912
  • Let LLMs create less noisy and more focused PR descriptions: #​94896
  • [ci] Only install chromium-headless-shell and not chromium: #​94882
  • Fix Instant Navs DevTools capture bugs and re-enable its test suite: #​94866
  • [test] Enable metadata-streaming-config for Cache Components: #​94936
  • Upgrade React from ad78e251-20260616 to b1786c31-20260618: #​94951
  • [ci] Update playwright to 1.61.0: #​94871
  • [cd] reduce size of npm metadata on publish: #​94953
  • Upgrade to swc 70: #​94814
  • [test] Fix failing determinism test using adapter: #​95051
  • [scripts] Write pnpm overrides for pnpm projects in pack/patch helpers: #​94747
  • Upgrade React from b1786c31-20260618 to 247fbb45-20260622: #​95063
  • skill(next-dev-loop): fix --session flag, agent-browser bootstrap, --headed daemon note: #​95005
  • skill(next-cache-components-adoption): tune skill to mention app router requirement: #​95069
  • [skills] Mark insight-error-page and next-rspack as internal: #​95070
  • skill(next-cache-components-adoption): clarify prereqs: #​95082
  • [cd] publish on release tags instead of branch push: #​95085
  • [ci] Make preview tarballs available while new Canaries are being published: #​95112
  • [cd] add ad-hoc preview release cut from canary: #​95086
  • [test] Reorder hmr-intercept-routes test to avoid a reload/refresh race: #​95134
  • [ci] Make automatic native binding install opt-in: #​95114
  • Restore canary version 16.3.0-canary.66 after v16.3.0-preview.4 preview release
  • skill(cc-adoption): recommend next-dev-loop and add build-only path: #​95122
  • [cd] Allow forcing a release without new commits: #​95136
  • test: Remove unnecessary dynamic timestamp from instant-validation root layouts: #​95105
  • Restore canary version 16.3.0-canary.67 after v16.3.0-preview.5 preview release
  • Bump Rust toolchain: #​95205
  • next-dev-loop: require agent-browser >= 0.31.1: #​95209
  • [ci] skip Datadog git metadata upload on junit upload: #​95210
  • Return APP_PAGE instead of PAGES for production Instant Navigation tests: #​95184
  • [ci] Display correct test commands when Cache Component test fail: #​95267
  • skills(cc-adoption): tighten requires, sequencing, terminology: #​95225
  • Upgrade React from 247fbb45-20260622 to 68631c04-20260626: #​95211
  • Enhance ESLint rule no-location-assign-relative-destination: #​93057
  • test: fork select tests on partialPrefetching: #​95279
  • [ci] update relay-compiler to 21.0.1: #​95217
  • Increase the code frame width used when logging to a file.: #​95283
  • [test] Give webpack server-action-period-hash tests a larger timeout: #​95303
  • [test] Recover from a leftover build process on test retry in build(): #​95304
  • [test] Unskip more Turbopack NFT unit tests: #​95297
  • [test] Make build-output-prerender error ordering deterministic: #​95308
  • [test] Retry the .next deletion to fix an ENOTEMPTY flake: #​95307
  • [ci] Migrate build_and_test and pull_request_stats to use arm64 runners: #​94870
  • [ci] Add support for auth based preview build registries: #​95204
  • Upgrade React from 68631c04-20260626 to 92f4fda3-20260629: #​95282
  • [ci] Move some test suites back to x86-64 runners to reduce pressure on our currently-limited pool of arm runners: #​95332
  • refactor: split out validateStaticShell: #​95106
  • Revert "[ci] Move some test suites back to x86-64 runners to reduce pressure on our currently-limited pool of arm runners (#​95332)": #​95336
  • [ci] Add optimize-ci, changes, and fetch-test-timings jobs to the needs list for the tests-pass job: #​95339
  • [ci] Migrate some CI jobs back to x86-64, build both arm and x86-64 native binaries, include both os and architecture in native artifact names: #​95341
  • test: Improve immutable static asset tests: #​95349
  • gitignore .next-profiles: #​95256
  • Re-query deploy-test build logs until id markers appear: #​95243
  • Upgrade React from 92f4fda3-20260629 to ec0fca31-20260701: #​95368
  • [ci] Migrate Turbopack build_and_test jobs back to arm64, leave webpack jobs as x86-64: #​95374
  • [ci] Avoid running full CI mid-stack for GH-native stacks, same as we do for Graphite: #​95218
  • [test] Park the blocking-fallback segment on a withheld param: #​95300
  • [test] Enable deploy tests for the Instant Navigation Testing API suite: #​95236
  • [cd] Replace the release package with our own GitHub release creation: #​95352
  • Make Instant Navigation Testing full-page loads work when deployed: #​95222
  • [ci] Actually migrate Turbopack jobs back to ARM: #​95386
  • Upgrade React from ec0fca31-20260701 to 3508aee6-20260702: #​95410
  • [ci] Disable mid-stack PR optimization for native PR stacks: #​95427
  • Collect modules with browser variants statically: #​95200
  • Split typeof-window server requires into .browser variants: #​95201
  • Type resolved cacheLife profiles, dropping runtime asserts: #​95428
  • Update font data: #​95441
  • [test] Unflake cache-components-dev-streaming test suite: #​95466
  • evals: fix false-negative regex checks with the agentic LLM judge: #​95440
  • Upgrade React from 3508aee6-20260702 to 23def8fd-20260706: #​95532
  • [ci] Add stats comment with partial stats: #​95401
  • [skills] Update gh-stack skill: #​95541
  • Upgrade to swc 72 and rust-react-compiler: #​95536
  • test: Fix service worker error test: #​95548
  • [ci] Skip apt-installed dependencies in playwright install step: #​95535
  • ci: Bump withgraphite/graphite-ci-action: #​95562
  • test: Disable service worker deploy tests for now: #​95570
  • test: Use Turbopack for 'Test new and changed tests when deployed': #​95552
  • [ci] Migrate webpack tests back to arm runners: #​95549
  • test: Fix immutable static asset deployment tests: #​95550
  • [ci] Split up large cache-components-dev-warmup test suite: #​95553
  • [ci] Split up large create-next-app/templates/matrix test: #​95555
  • Split remaining "client-node"-only modules into .browser variants: #​95366
  • Upgrade React from 23def8fd-20260706 to 12a4baec-20260707: #​95581
  • test: Fix immutable static asset deployment tests for real: #​95600
  • [ci] Pin typescript version in tests: #​95619
  • [ci] Bump PR stats job timeout to 35 minutes: #​95592
  • [ci] split up large cache-components-errors tests: #​95623
  • [ci] Split up large rsc-build-errors development test: #​95624
  • [ci] Split up large instant-validation tests: #​95627
  • Refresh outdated agent-rules blocks on next dev and codemod upgrade: #​95470
  • Make the agent-rules block verifiable and self-upgrading: #​95467
  • Upgrade React from 12a4baec-20260707 to df4bd1b4-20260708: #​95612
  • Convert agent-041's blocking-data check to the agentic LLM judge: #​95630
  • Add attribute rendering benchmark: #​95621
  • Upgrade React from df4bd1b4-20260708 to 5123b063-20260708: #​95642
  • (TypeScript 7 Support) Add experimental TypeScript CLI backend: #​95639
  • test: allow-runtime breaks Link's Server component child detection: #​95596
  • test: skip redbox check in "static prefetch - missing suspense around search params": #​95670
  • refactor: remove unnecessary switches from StagedRenderingController: #​95383
  • Clarify AI-assisted contribution policy in PR template and AGENTS.md: #​95629
  • [test] Disable middleware-rewrites deploy test for Turbopack with adapters: #​95680
  • Update font data: #​95725
  • [test] Disable i18n-api-support deploy test for Turbopack with adapters: #​95739
  • Restore canary version 16.3.0-canary.84 after v16.3.0-preview.6 preview release
  • Upgrade to swc 73: #​95731
  • Add React sync development skill: #​95620
  • Upgrade React from 5123b063-20260708 to 7023f501-20260714: #​95782
  • Better support the CLI spinner when running the TSC CLI: #​95753
  • Only track pending imports for real promises: #​95789
  • Model async userland loading in app routes as a state machine: #​95791
  • chore: Remove stale build warning: #​95813
  • [ci] Allow running all deploy tests with builds from a private registry: #​95784
  • Run more test suites under cacheComponents flag: #​95878
  • Revert "Run more test suites under cacheComponents flag": #​95884
  • fix(agent-rules): pad managed AGENTS.md block with blank lines: #​95892
  • Back/forward set the Nav Inspector back to pending: #​95865
  • [ci] Avoid apt-get in the next-stats-action Docker image: #​95847
  • Package skills/ as a Claude Code plugin: #​95907
  • Upgrade React from 7023f501-20260714 to 172742b4-20260716: #​95901
  • Run Rust doctests in CI: #​95911
  • [ci] Share a single browser instance across all test suites in a single job: #​95589
  • [test] Add coverage for throwing custom "use cache" cache handler: #​95984
  • Refine development validation signal handling: #​95998
  • [ci] Skip passed-tests cache steps for jobs that never run tests: #​96001
  • Upgrade React from 172742b4-20260716 to 81e442ea-20260721: #​96016
  • Restore canary version 16.3.0-canary.92 after v16.3.0-preview.7 preview release
  • chore(deps): bump sharp@​0.35.3: #​95507
  • [ci] Enforce minimumReleaseAge in e2e tests that install external dependencies: #​95628
  • Rewrite next-cache-components-optimizer around a test-driven instant() loop: #​94721
  • Always consult npm_config_user_agent first: #​95879
  • Restore canary version 16.3.0-canary.93 after v16.3.0-preview.8 preview release
  • [test] Add source-mapping coverage of React's fake stack frame scripts in use cache: #​95945
  • [test] Add failing tests for stale route handler and page cached data: #​96021
  • [test] Move the dev-only use cache test suite to test/development: #​96023
  • Refine Cache Components and Partial Prefetching adoption skills: #​95817
  • skill(cc-adoption): add dev-only validation sweep reference: #​96057
  • Upgrade React from 81e442ea-20260721 to 711c445b-20260722: #​96066
  • Restore canary version 16.3.0-canary.94 after v16.3.0-preview.9 preview release
  • Throw when generateStaticParams returns invalid values: #​95968
  • Throw for empty or incomplete generateStaticParams results with output: export: #​95969
  • Upgrade React from 711c445b-20260722 to 28cd4bb0-20260723: #​96100
  • Store RouteTree slots in a Map to keep slot access monomorphic: #​96168
  • Give RouteCacheEntry a single hidden class across its lifecycle: #​96164
  • [test] Unflake the enabled-features-trace test suite: #​96175
  • Add a benchmark for dev Cache Components validation on a worker thread: #​96152
  • [internal] Add a skill for benching changes in a sandbox: #​95943
  • [test] Unflake a prefetch-related race: #​96222
  • [test] Run more test suites under cacheComponents flag, again: #​96196
  • [test] Run the navigation e2e suite under cacheComponents: #​95877
  • [test] Unflake more tests: #​96081
  • Upgrade React from 28cd4bb0-20260723 to 756fdd47-20260727: #​96270
  • Micro-optimization for string format: #​95774
  • Count URL key length in the filesystem route cache LRU: #​96229
  • Count key length in remaining byte-budgeted LRUs: #​96231
  • Restore canary version 16.3.0-canary.99 after v16.3.0-preview.10 preview release
  • Isolate local Request Insights spans from OpenTelemetry: #​96276
  • Classify Instant Insights as internal in Request Insights: #​96147
  • Upgrade React from 756fdd47-20260727 to 96fcba90-20260728: #​96306
  • [ci] Install Node.js from the official tarball in the native-builder image: #​96298
  • [cd] Send Slack notification if publish fails: #​96304
  • Bump @​types/node to 20.17.7 to fix findSourceMap type: #​96321
  • [ci] Background some steps in build_reusable to reduce setup overhead, remove unneeded lld installation: #​96195
  • Update skills for Partial Prefetching: #​96299
  • Added cache copying support for worktrees: #​95646
  • Bump postcss to 8.5.23: #​96107
  • [ci] Match the test job summary style to the PR test report comment: #​95882
  • test: reproduce empty parallel route scroll regression: #​96323
  • Upgrade React from 96fcba90-20260728 to 1724e9ce-20260729: #​96355
  • Upgrade React from 1724e9ce-20260729 to 6cb4322d-20260729: #​96389
  • [bench skill] Bench Edge builds of React too: #​96234
  • test: expand Cache Components metadata streaming coverage: #​96366
  • Upgrade React from 6cb4322d-20260729 to 0f42eac2-20260730: #​96402
  • Update Rust toolchain to nightly-2026-07-29: #​96365
  • Upgrade React from 0f42eac2-20260730 to cbb046ab-20260731: #​96434
  • [ci] Run new/changed deploy tests asap: #​96438
  • [react-sync] Enable auto-merge on PRs: #​96442
  • Add automated code review workflow: #​96359
  • test: stabilize after() deploy revalidation checks: #​96428
  • [turbotrace] bump test version of sharp: #​96386
  • [ci] Wait for the preview tarballs before running the deploy tests: #​96527
  • test: skip hybrid not-found coverage for the legacy builder: #​96534
  • Flag newly disabled deploy tests: #​96505
  • Fix deploy test TypeScript exclusions: #​96545
  • [turbopack / next.js] Add an end-to-end test for new root detection: #​96544
  • Edits to turbopackFileSystemCache: #​96531
Credits

Huge thanks to @​denesbeck, @​ztanner, @​ijjk, @​lllomh, @​devjiwonchoi, @​lukesandberg, @​wbinnssmith, @​sokra, @​unstubbable, @​timneutkens, @​feedthejim, @​gnoff, @​abhishekmardiya, @​icyJoseph, @​mischnic, @​mmastrac, @​acdlite, @​eps1lon, @​JamBalaya56562, @​bgw, @​gaojude, @​bgub, @​remcohaszing, @​aurorascharff, @​VedantMadane, @​fireairforce, @​dagecko, @​ctate, @​banchichen, @​andrewimm, @​wwenrr, @​TooTallNate, @​hamidrezahanafi, @​hamedniroomand, @​sleitor, @​Badbird5907, @​MukundaKatta, @​styfle, @​SukkaW, @​awo00, @​christopherkindl, @​GuinsooRocky, @​maximecolin, @​lubieowoce, @​zana-abdi2002, @​samselikoff, @​rishishanbhag, @​armando-andre, @​tim123abc, @​publictheta, @​unclebay143, @​yavorpunchev, @​kakadiadarpan, @​SyMind, @​igorbabko, @​sampoder, @​StanislavKozachenko, @​kristiyan-velkov, @​huozhi, @​RazinShafayet2007, @​SJvaca30, @​danyalahmed1995, @​karlhorky, @​MikhailStn, @​ifer47, @​niketchandivade, @​gilest, @​jahanzaib-iqbal-dev, @​owenpearson, @​davidgg, @​fhfournier, @​parkhojeong, @​gaearon, @​TariqulislamTuhin, @​thsid, @​jimmyhmiller, @​Partha-Shankar, @​M4cM4rco, @​chippleh1392, @​Pranav18M, @​marcoshernanz, @​manoraj, @​ankurdotio, @​WildChargerTV, @​ZaforAbdullah, @​wasim-builds, @​petehunt, @​DavidIlie, and @​adhamfayrouzamf for helping!

v16.2.12

Compare Source

What's Changed

Full Changelog: https://github.com/vercel/next.js/compare/v16.2.11...v16.2.12

v16.2.11

Compare Source

This release contains security fixes for the following advisories:

High:

Moderate:

v16.2.10

Compare Source

Contains no changes except publishing @next/swc-wasm-web which was accidentally not published since 16.2.4.

nextauthjs/next-auth (next-auth)

v4.24.15

Compare Source

Security patch release for the 4.x line.

  • getToken() now returns null instead of throwing when the Authorization header contains a malformed Bearer value.
  • OAuth state, nonce, and PKCE check cookies are now bound to the provider that created them and are rejected when a different provider handles the callback. Sign-ins in flight across the upgrade fail once and succeed on retry.
  • Email addresses are Unicode-normalized (NFKC) before validation in the email sign-in flow, closing a homoglyph @ bypass.
  • An explicitly configured NEXTAUTH_URL now takes precedence over the auto-detected forwarded host in trusted-host mode.
  • Restores CommonJS compatibility by pinning uuid to ^11.1.1; the 14.x line is ESM-only and broke require() on Node versions below 20.19.
prettier/prettier (prettier)

v3.9.10

Compare Source

diff

Markdown: Update micromark-extension-gfm-table to fix the table parse issue on performance (#​20266 by @​fisker)

See micromark/micromark-extension-gfm-table@4f43ead for details.

v3.9.9

Compare Source

diff

Markdown: Fix text with $ been incorrectly parsed as math syntax (#​20140 by @​fisker)
<!-- Input -->
**Uses $FOO** from `a.sh` and `b.sh`, plus `$BAR` from `c.sh`, before anything else runs here.

<!-- Prettier 3.9.8 -->
**Uses $FOO** from `a.sh` and `b.sh`, plus `$BAR`from`c.sh`, before anything else runs here.

<!-- Prettier 3.9.9 -->
**Uses $FOO** from `a.sh` and `b.sh`, plus `$BAR` from `c.sh`, before anything else runs here.

v3.9.8

Compare Source

diff

Markdown: Don't let Liquid objects interrupt paragraphs (#​20087 by @​seiyab)
<!-- Input -->
If `module` is not a [`WebAssembly.Module`](/en-US/docs/WebAssembly/Reference/JavaScript_interface/Module) object instance, a
{{jsxref("TypeError")}} is thrown.

<!-- Prettier 3.9.7 -->
If `module` is not a [`WebAssembly.Module`](/en-US/docs/WebAssembly/Reference/JavaScript_interface/Module) object instance, a

{{jsxref("TypeError")}} is thrown.

<!-- Prettier 3.9.8 -->
If `module` is not a [`WebAssembly.Module`](/en-US/docs/WebAssembly/Reference/JavaScript_interface/Module) object instance, a
{{jsxref("TypeError")}} is thrown.

v3.9.7

Compare Source

diff

Markdown: Prevent indentation drift in list-item code blocks (#​19647, #​19990 by @​Austin1serb, @​giaBaoJS)
<!-- Input -->
- [x] short first line.

      second paragraph at six spaces that wraps
      onto another line here.

<!-- Prettier 3.9.6 -->
- [x] short first line.

      second paragraph at six spaces that wraps
          onto another line here.

<!-- Prettier 3.9.7 -->
- [x] short first line.

      second paragraph at six spaces that wraps
      onto another line here.
JavaScript: Fix embedded template literal idempotency (#​19725 by @​fisker)
// Input
const foo = html`
            <div>${getText({
            value,
            })}</div>
`;

// Prettier 3.9.6 (first format)
const foo = html`
  <div>
    ${getText({
              value,
            })}
  </div>
`;

// Prettier 3.9.6 (second format)
const foo = html`
  <div>
    ${getText({
      value,
    })}
  </div>
`;

// Prettier 3.9.7
const foo = html`
  <div>
    ${getText({
      value,
    })}
  </div>
`;
Markdown: Preserve Liquid blocks after Markdown tables (#​19730 by @​wanxiankai, @​seiyab)
<!-- Input -->
| Argument | Type |
| -------- | ---- |
{% set default_params = {
    "model": ["str"],
} %}

<!-- Prettier 3.9.6 -->
| Argument                  | Type |
| ------------------------- | ---- |
| {% set default_params = { |

    "model": ["str"],

} %}

<!-- Prettier 3.9.7 -->
| Argument | Type |
| -------- | ---- |
{% set default_params = {
    "model": ["str"],
} %}
Markdown: Preserve single tildes in Markdown (#​19739 by @​lazerg)

Since 3.9.0, single-tilde spans like H~2~O were rewritten to double tildes, turning subscript syntax into strike-through. Only double tildes are treated that way now, matching GitHub.

<!-- Input -->
H~2~O

<!-- Prettier 3.9.6 -->
H~~2~~O

<!-- Prettier 3.9.7 -->
H~2~O
Markdown: Fix Markdown blockquote containing > characters (#​19802 by @​seiyab)
<!-- Input -->
> **test**\>

<!-- Prettier 3.9.6 -->
> **test**>\>

<!-- Prettier 3.9.7 -->
> **test**\>
Markdown: Strip blockquote markers from a setext heading's continuation lines (#​19878 by @​Kjubikstronk)

A setext heading spanning multiple lines inside a blockquote kept the > marker of its continuation lines as literal text.

<!-- Input -->
> Multi
> Line
> ===

<!-- Prettier 3.9.6 -->
> Multi > Line
> ===

<!-- Prettier 3.9.7 -->
> Multi
> Line
> ===
Markdown: Fix HTML block indentation drift in markdown list items (#​19987 by @​lazerg)
<!-- Input -->
1. Enable images:

    <p align="center">
      <img alt="example">
    </p>

<!-- Prettier 3.9.6 (--tab-width=4) -->
1. Enable images:

     <p align="center">
       <img alt="example">
     </p>

<!-- Prettier 3.9.7 (--tab-width=4) -->
1. Enable images:

    <p align="center">
      <img alt="example">
    </p>
Angular: Support @boundary error boundaries (#​20014 by @​Yahiro025)
<!-- Input -->
@boundary {
<complex-chart [data]="data"/>
}
@error (let err) {
<p>{{err.message}}</p>
}

<!-- Prettier 3.9.6 -->
SyntaxError: Unexpected character "EOF" (Do you have an unescaped "{" in your template? Use "{{ '{' }}") to escape it.) (6:1)

<!-- Prettier 3.9.7 -->
@boundary {
  <complex-chart [data]="data" />
} @error (let err) {
  <p>{{ err.message }}</p>
}

v3.9.6

Compare Source

diff

TypeScript: Preserve quotes for methods named new (#​19621 by @​kovsu)
// Input
interface Container {
  "new"(id: string): number;
}

// Prettier 3.9.5
interface Container {
  new(id: string): number;
}

// Prettier 3.9.6
interface Container {
  "new"(id: string): number;
}
TypeScript: Support import defer (#​19624, #​19675 by @​fisker)
// Input
import defer * as foo from "foo";

// Prettier 3.9.5
import * as foo from "foo";

// Prettier 3.9.6
import defer * as foo from "foo";
JavaScript: Added a new official plugin @prettier/plugin-yuku (#​19628, #​19629 by @​fisker)

@prettier/plugin-yuku is powered by Yuku (A high-performance JavaScript/TypeScript compiler toolchain written in Zig).

This plugin includes two new parsers: yuku (JavaScript syntax) and yuku-ts (TypeScript syntax).

To use this plugin:

  1. Install the plugin:

    yarn add --dev prettier @prettier/plugin-yuku
    
  2. Add it to your .prettierrc:

    plugins:
      - "@prettier/plugin-yuku"
    

Due to package size limitations, this plugin is not bundled with the main prettier package and must be installed separately.

For more information, check the package homepage.

Big thanks to @​arshad-yaseen for his excellent work.

v3.9.5

Compare Source

diff

Markdown: Cap ordered list mark at 999,999,999 (#​19351 by @​tats-u)

CommonMark parsers only support ordered list item numbers up to 999,999,999.

With this change, Prettier now caps the ordered list item number at 999,999,999 to ensure that the output is correctly parsed as an ordered list by CommonMark parsers. Numbers larger than 999,999,999 are not parsed as list item numbers and are left unchanged in the output:

<!-- Input -->
999999998. text
999999998. text
999999998. text
999999998. text

1234567890123456789012) text

<!-- Prettier 3.9.4 -->
999999998. text
999999999. text
1000000000. text
1000000001. text

1234567890123456789012) text

<!-- Prettier 3.9.5 -->
999999998. text
999999999. text
999999999. text
999999999. text

1234567890123456789012) text

Do not remove <> from an inline link or image with an empty URL and a title, as this removal would change its interpretation.

<!-- Input -->
[link](<> "title")

<!-- Prettier 3.9.4 -->
[link]( "title")

<!-- Prettier 3.9.5 -->
[link](<> "title")
Less: Remove extra spaces after [ in map lookups (#​19503 by @​kovsu)
// Input
.foo {
  color: #theme[ primary];
  color: #theme[@name];
  color: #theme[@@name];
}

// Prettier 3.9.4
.foo {
  color: #theme[ primary];
  color: #theme[ @name];
  color: #theme[ @@name];
}

// Prettier 3.9.5
.foo {
  color: #theme[primary];
  color: #theme[@name];
  color: #theme[@@name];
}
CSS: Prevent addition space in type() with + (#​19516 by @​bigandy)

This fixes the addition space before + in CSS type() declaration. For example type(<number>+) was being converted into type(<number> +) which is invalid CSS and does not work.

/* Input */
div {
  border-radius: attr(br type(<length>+));
}

/* Prettier 3.9.4 */
div {
  border-radius: attr(br type(<length> +));
}

/* Prettier 3.9.5 */
div {
  border-radius: attr(br type(<length>+));
}
Less: Remove spaces between merge markers and colons (#​19517 by @​kovsu)
// Input
a {
  box-shadow  +  : 0 0 1px #&#8203;000;
}

// Prettier 3.9.4
a {
  box-shadow+  : 0 0 1px #&#8203;000;
}

// Prettier 3.9.5
a {
  box-shadow+: 0 0 1px #&#8203;000;
}
<!-- Input -->
[[Foo:Bar]]

<!-- Prettier 3.9.4 -->
[[Foo]]

<!-- Prettier 3.9.5 -->
[[Foo:Bar]]
TypeScript: Fix comments being dropped on shorthand type import/export specifiers (#​19565 by @​kirkwaiblinger)
// Input
export { type /* comment */ T } from "foo";
import { type /* comment */ T } from "foo";

// Prettier 3.9.4
Error: Comment "comment" was not printed. Please report this error!

// Prettier 3.9.5
export { type /* comment */ T } from "foo";
import { type /* comment */ T } from "foo";
Miscellaneous: Preserving comments' placement property (#​19567 by @​Janther)

Prettier@​3.9.0 deleted an undocumented property on comments, which was already used by plugins, comment.placement is now available again after comment attach.

Flow: Stop enforcing empty module declaration to break (#​19568 by @​fisker)
// Input
declare module "foo" {}

// Prettier 3.9.4
declare module "foo" {
}

// Prettier 3.9.5
declare module "foo" {}
Angular: Support expression for exhaustive typechecking (#​19571 by @​fisker)
<!-- Input -->
@switch (state.mode) {
  @default never(state);
}

<!-- Prettier 3.9.4 -->
@switch (state.mode) {
  @default never;
}

<!-- Prettier 3.9.5 -->
@switch (state.mode) {
  @default never(state);
}
TypeScript: Ignore comments inside mapped type when checking type parameter comments (#​19572 by @​fisker)
// Input
foo<{
  // comment
  [key in keyof Foo]: number
}>();

// Prettier 3.9.4
foo<
  {
    // comment
    [key in keyof Foo]: number;
  }
>();

// Prettier 3.9.5
foo<{
  // comment
  [key in keyof Foo]: number;
}>();
Less: Fix adjacent block comments being corrupted (#​19574 by @​kovsu)
// Input
/* a *//* b */
/* a */* {
  color: red;
}

// Prettier 3.9.4
/* a */
/* b */
/* a * {
  color: red;
}

// Prettier 3.9.5
/* a */ /* b */
/* a */
* {
  color: red;
}
JavaScript: Handle dangling comments in SwitchStatement (#​19581 by @​fisker)
// Input
switch (foo) {
 // comment
}

// Prettier 3.9.4
switch (
  foo
  // comment
) {
}

// Prettier 3.9.5
switch (foo) {
  // comment
}
TypeScript: Remove space in comment-only object type (#​19583 by @​fisker)
// Input
var foo = {
  /* comment */
};
type Foo = {
  /* comment */
};

// Prettier 3.9.4
var foo = {/* comment */};
type Foo = { /* comment */ };

// Prettier 3.9.5
var foo = {/* comment */};
type Foo = {/* comment */};

v3.9.4

Compare Source

diff

Angular: Format @content(name) -> @content (name) to align with other block syntax (#​19499 by @​fisker)
<!-- Input -->
<FancyButton [label]="title">
  @content (icon) {
    <span>Icon!</span>
  }
  @content (description) {
    <span>Description text</span>
  }
  <span>Other children</span>
</FancyButton>

<!-- Prettier 3.9.3 -->
<FancyButton [label]="title">
  @content(icon) {
    <span>Icon!</span>
  }
  @content(description) {
    <span>Description text</span>
  }
  <span>Other children</span>
</FancyButton>

<!-- Prettier 3.9.4 -->
<FancyButton [label]="title">
  @content (icon) {
    <span>Icon!</span>
  }
  @content (description) {
    <span>Description text</span>
  }
  <span>Other children</span>
</FancyButton>

v3.9.3

Compare Source

diff

Markdown: Fix unexpected removal of characters in liquid syntax (#​19489 by @​seiyab)
// Input
<!-- Input -->
{{ page.title
}} text

<!-- Prettier 3.9.1 -->
{{ page.title
 text

<!-- Prettier 3.9.3 -->
{{ page.title
}} text
TypeScript: Allow decorators to be used with declare on class fields (#​19492 by @​evoactivity)

Extensively used within the Ember ecosystem, decorators with declare on class fields will ignore the babel parser error and allow Prettier to format the code without breaking it.

// Input
export default class ProjectStatusComponent extends Component<ProjectStatusSig> {
  @service declare server: ServerService;
}

// Prettier 3.9.1
// SyntaxError: Decorators can't be used with a declare field. (2:3)
//  1 | export default class ProjectStatusComponent extends Component<ProjectStatusSig> {
//> 2 |   @service declare server: ServerService;
//    |   ^
//  3 | }

// Prettier 3.9.3
export default class ProjectStatusComponent extends Component<ProjectStatusSig> {
  @service declare server: ServerService;
}

v3.9.2

Compare Source

v3.9.1

Compare Source

diff

Markdown: Update micromark-extension-gfm-table to fix the table parse issue on performance (#​20266 by @​fisker)

See micromark/micromark-extension-gfm-table@4f43ead for details.

v3.9.0

Compare Source

diff

🔗 Release Notes

v3.8.5

Compare Source

diff

Flow: Support readonly as a variance annotation (#​19022 by @​marcoww6)

Flow now accepts readonly as a property variance annotation, equivalent to + (covariant/read-only).

// Input
type T = {
  readonly foo: string,
};

// Prettier 3.8.4
SyntaxError

// Prettier 3.8.5
type T = {
  readonly foo: string,
};
react/react (react)

v19.3.1: 19.3.1 (October 14th, 2026)

Compare Source

React Server Components

v19.3.0

Compare Source

New React Features
New React DOM Features
  • browser(): a new react-dom API that returns a usable which errors during server rendering and resolves in the browser. use(browser()) inside a <Suspense> boundary marks a subtree as browser-only without reporting a recoverable error (@​gnoff: #​37143, #​37241)
    • Added an onBrowserBailout option to the react-dom/server APIs to observe when a subtree defers to the browser (@​gnoff #​37193)
Notable changes
All Changes
React
React DOM
React Server
React Server Components

v19.2.9: 19.2.9 (October 14th, 2026)

Compare Source

React Server Components

v19.2.8: 19.2.8 (July 21st, 2026)

Compare Source

React Server Components
lovell/sharp (sharp)

v0.35.5

Compare Source

https://github.com/lovell/sharp-libvips/releases/tag/v1.3.4

  • Add upper bounds check on length of linear and GIF delay arrays.

  • Improve error handing when WebAssembly fallback also fails.
    #​4593
    @​lazerg

  • TypeScript: Allow multi-frame options for JXL output.
    #​4602
    @​ramin-010

  • TypeScript: Remove non-existent named export.
    #​4604

  • Increase accepted dimensions when extending an image.
    #​4605

  • Improve gain map support for extract and rotate operations.
    #​4606

  • Tests: Ensure composite tests pass on big endian platforms.
    #​4609

v0.35.4

Compare Source

https://github.com/lovell/sharp-libvips/releases/tag/v1.3.3

v0.35.3

Compare Source

v0.35.2

Compare Source

v0.35.1

Compare Source

  • TypeScript: Ensure type definitions are published for both ESM and CJS.
    #​4537

  • WebAssembly: Ensure wrapper file is published.
    #​4538

kulshekhar/ts-jest (ts-jest)

v29.4.15

Compare Source

Bug Fixes
  • compiler: resolve modules with tsconfig options regardless of cache state (268746c), closes #​5216
  • support .cjs config files in config:migrate (4001b4e), closes #​4485

v29.4.14

Compare Source

Reverts

v29.4.13

Compare Source

Features
Performance Improvements

v29.4.12

Compare Source

Features
  • compiler: support TypeScript 7 projects through compatibility aliases (#​5386)
typescript-eslint/typescript-eslint (typescript-eslint)

v8.72.1

Compare Source

This was a version bump only for typescript-eslint to align it with other projects, there were no code changes.

See GitHub Releases for more information.

You can read about our versioning strategy and releases on our website.

v8.72.0

Compare Source

This was a version bump only for typescript-eslint to align it with other projects, there were no code changes.

See GitHub Releases for more information.

You can read about our versioning strategy and releases on our website.

v8.71.2

Compare Source

This was a version bump only for typescript-eslint to align it with other projects, there were no code changes.

See GitHub Releases for more information.

You can read about our versioning strategy and releases on our website.

v8.71.1

Compare Source

This was a version bump only for typescript-eslint to align it with other projects, there were no code changes.

See GitHub Releases for more information.

You can read about our versioning strategy and releases on our website.

v8.71.0

Compare Source

This was a version bump only for typescript-eslint to align it with other projects, there were no code changes.

See GitHub Releases for more information.

You can read about our versioning strategy and releases on our website.

v8.70.1

Compare Source

This was a version bump only for typescript-eslint to align it with other projects, there were no code changes.

See GitHub Releases for more information.

You can read about our versioning strategy and releases on our website.

v8.70.0

Compare Source

🩹 Fixes
  • eslint-plugin: [no-deprecated] report deprecated imported values used in object shorthand properties (#​12780)
❤️ Thank You

See GitHub Releases for more information.

You can read about our versioning strategy and releases on our website.

v8.69.0

Compare Source

This was a version bump only for typescript-eslint to align it with other projects, there were no code changes.

See GitHub Releases for more information.

You can read about our versioning strategy and releases on our website.

v8.68.0

Compare Source

This was a version bump only for typescript-eslint to align it with other projects, there were no code changes.

See GitHub Releases for more information.

You can read about our versioning strategy and releases on our website.

v8.67.0

Compare Source

🚀 Features
  • typescript-eslint: export basic globs for using tseslint (#​12105)
❤️ Thank You

See GitHub Releases for more information.

You can read about our versioning strategy and releases on our website.

v8.66.0

Compare Source

This was a version bump only for typescript-eslint to align it with other projects, there were no code changes.

See GitHub Releases for more information.

You can read about our versioning strategy and releases on our website.

v8.65.0

Compare Source

🚀 Features
  • add warning when TS 7 is detected (#​12529)
❤️ Thank You

See GitHub Releases for more information.

You can read about our versioning strategy and releases on our website.

v8.64.0

Compare Source

This was a version bump only for typescript-eslint to align it with other projects, there were no code changes.

See GitHub Releases for more information.

You can read about our versioning strategy and releases on our website.

v8.63.0

Compare Source

This was a version bump only for typescript-eslint to align it with other projects, there were no code changes.

See GitHub Releases for more information.

You can read about our versioning strategy and releases on our website.

v8.62.1

Compare Source

This was a version bump only for typescript-eslint to align it with other projects, there were no code changes.

See GitHub Releases for more information.

You can read about our versioning strategy and releases on our website.

v8.62.0

Compare Source

🚀 Features
  • remove redundant package.json "files" (#​12444)
❤️ Thank You

See GitHub Releases for more information.

You can read about our versioning strategy and releases on our website.

v8.61.1

Compare Source

This was a version bump only for typescript-eslint to align it with other projects, there were no code changes.

See GitHub Releases for more information.

You can read about our versioning strategy and releases on our website.

jeffbski/wait-on (wait-on)

v9.5.1

Compare Source

Bug Fixes
  • deps: upgrade dependencies to address vulnerabilities (6d6f488)

v9.5.0

Compare Source

Features

v9.4.1

Compare Source

Bug Fixes

v9.4.0

Compare Source

Features
  • add command resource (15e2d99)
  • command: serialize execs and add per-attempt commandTimeout (4af2299), closes #​88

v9.3.0

Compare Source

Features

v9.2.0

Compare Source

Bug Fixes
Features

v9.1.0

Compare Source

Updated some dependencies

  • axios
  • joi
  • mocha
  • eslint-plugin-chai-friendly

Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Mend Renovate CLI.

This PR contains the following updates: | Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) | |---|---|---|---| | [@jest/globals](https://github.com/jestjs/jest) ([source](https://github.com/jestjs/jest/tree/HEAD/packages/jest-globals)) | [`30.4.1` → `30.5.2`](https://renovatebot.com/diffs/npm/@jest%2fglobals/30.4.1/30.5.2) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@jest%2fglobals/30.5.2?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@jest%2fglobals/30.4.1/30.5.2?slim=true) | | [@mui/material](https://mui.com/material-ui/) ([source](https://github.com/mui/material-ui/tree/HEAD/packages/mui-material)) | [`9.1.1` → `9.5.0`](https://renovatebot.com/diffs/npm/@mui%2fmaterial/9.1.1/9.5.0) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@mui%2fmaterial/9.5.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@mui%2fmaterial/9.1.1/9.5.0?slim=true) | | [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node) ([source](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node)) | [`24.13.2` → `24.19.2`](https://renovatebot.com/diffs/npm/@types%2fnode/24.13.2/24.19.2) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2fnode/24.19.2?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2fnode/24.13.2/24.19.2?slim=true) | | [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/react) ([source](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react)) | [`19.2.17` → `19.3.0`](https://renovatebot.com/diffs/npm/@types%2freact/19.2.17/19.3.0) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2freact/19.3.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2freact/19.2.17/19.3.0?slim=true) | | [@typescript-eslint/eslint-plugin](https://typescript-eslint.io/packages/eslint-plugin) ([source](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin)) | [`8.61.0` → `8.72.1`](https://renovatebot.com/diffs/npm/@typescript-eslint%2feslint-plugin/8.61.0/8.72.1) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@typescript-eslint%2feslint-plugin/8.72.1?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@typescript-eslint%2feslint-plugin/8.61.0/8.72.1?slim=true) | | [@typescript-eslint/parser](https://typescript-eslint.io/packages/parser) ([source](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser)) | [`8.61.0` → `8.72.1`](https://renovatebot.com/diffs/npm/@typescript-eslint%2fparser/8.61.0/8.72.1) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@typescript-eslint%2fparser/8.72.1?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@typescript-eslint%2fparser/8.61.0/8.72.1?slim=true) | | [better-sqlite3](https://github.com/WiseLibs/better-sqlite3) | [`12.10.0` → `12.11.1`](https://renovatebot.com/diffs/npm/better-sqlite3/12.10.0/12.11.1) | ![age](https://developer.mend.io/api/mc/badges/age/npm/better-sqlite3/12.11.1?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/better-sqlite3/12.10.0/12.11.1?slim=true) | | [chart.js](https://www.chartjs.org) ([source](https://github.com/chartjs/Chart.js)) | [`4.5.1` → `4.6.1`](https://renovatebot.com/diffs/npm/chart.js/4.5.1/4.6.1) | ![age](https://developer.mend.io/api/mc/badges/age/npm/chart.js/4.6.1?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/chart.js/4.5.1/4.6.1?slim=true) | | [csv-stringify](https://csv.js.org/stringify) ([source](https://github.com/adaltas/node-csv/tree/HEAD/packages/csv-stringify)) | [`6.7.0` → `6.9.0`](https://renovatebot.com/diffs/npm/csv-stringify/6.7.0/6.9.0) | ![age](https://developer.mend.io/api/mc/badges/age/npm/csv-stringify/6.9.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/csv-stringify/6.7.0/6.9.0?slim=true) | | [cypress](https://cypress.io) ([source](https://github.com/cypress-io/cypress)) | [`15.17.0` → `15.21.1`](https://renovatebot.com/diffs/npm/cypress/15.17.0/15.21.1) | ![age](https://developer.mend.io/api/mc/badges/age/npm/cypress/15.21.1?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/cypress/15.17.0/15.21.1?slim=true) | | [eslint](https://eslint.org) ([source](https://github.com/eslint/eslint)) | [`9.39.4` → `9.39.5`](https://renovatebot.com/diffs/npm/eslint/9.39.4/9.39.5) | ![age](https://developer.mend.io/api/mc/badges/age/npm/eslint/9.39.5?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/eslint/9.39.4/9.39.5?slim=true) | | [eslint-config-next](https://nextjs.org/docs/app/api-reference/config/eslint) ([source](https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next)) | [`16.2.9` → `16.4.3`](https://renovatebot.com/diffs/npm/eslint-config-next/16.2.9/16.4.3) | ![age](https://developer.mend.io/api/mc/badges/age/npm/eslint-config-next/16.4.3?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/eslint-config-next/16.2.9/16.4.3?slim=true) | | [jest](https://jestjs.io/) ([source](https://github.com/jestjs/jest/tree/HEAD/packages/jest)) | [`30.4.2` → `30.5.2`](https://renovatebot.com/diffs/npm/jest/30.4.2/30.5.2) | ![age](https://developer.mend.io/api/mc/badges/age/npm/jest/30.5.2?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/jest/30.4.2/30.5.2?slim=true) | | [next](https://nextjs.org) ([source](https://github.com/vercel/next.js)) | [`16.2.9` → `16.4.3`](https://renovatebot.com/diffs/npm/next/16.2.9/16.4.3) | ![age](https://developer.mend.io/api/mc/badges/age/npm/next/16.4.3?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/next/16.2.9/16.4.3?slim=true) | | [next-auth](https://authjs.dev) ([source](https://github.com/nextauthjs/next-auth)) | [`4.24.14` → `4.24.15`](https://renovatebot.com/diffs/npm/next-auth/4.24.14/4.24.15) | ![age](https://developer.mend.io/api/mc/badges/age/npm/next-auth/4.24.15?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/next-auth/4.24.14/4.24.15?slim=true) | | [prettier](https://prettier.io) ([source](https://github.com/prettier/prettier)) | [`3.8.4` → `3.9.10`](https://renovatebot.com/diffs/npm/prettier/3.8.4/3.9.10) | ![age](https://developer.mend.io/api/mc/badges/age/npm/prettier/3.9.10?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/prettier/3.8.4/3.9.10?slim=true) | | [react](https://react.dev/) ([source](https://github.com/react/react/tree/HEAD/packages/react)) | [`19.2.7` → `19.3.1`](https://renovatebot.com/diffs/npm/react/19.2.7/19.3.1) | ![age](https://developer.mend.io/api/mc/badges/age/npm/react/19.3.1?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/react/19.2.7/19.3.1?slim=true) | | [react-dom](https://react.dev/) ([source](https://github.com/react/react/tree/HEAD/packages/react-dom)) | [`19.2.7` → `19.3.1`](https://renovatebot.com/diffs/npm/react-dom/19.2.7/19.3.1) | ![age](https://developer.mend.io/api/mc/badges/age/npm/react-dom/19.3.1?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/react-dom/19.2.7/19.3.1?slim=true) | | [sharp](https://sharp.pixelplumbing.com) ([source](https://github.com/lovell/sharp), [changelog](https://github.com/lovell/sharp/blob/main/docs/src/content/docs/changelog.md)) | [`0.35.0` → `0.35.5`](https://renovatebot.com/diffs/npm/sharp/0.35.0/0.35.5) | ![age](https://developer.mend.io/api/mc/badges/age/npm/sharp/0.35.5?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/sharp/0.35.0/0.35.5?slim=true) | | [ts-jest](https://kulshekhar.github.io/ts-jest) ([source](https://github.com/kulshekhar/ts-jest)) | [`29.4.11` → `29.4.15`](https://renovatebot.com/diffs/npm/ts-jest/29.4.11/29.4.15) | ![age](https://developer.mend.io/api/mc/badges/age/npm/ts-jest/29.4.15?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/ts-jest/29.4.11/29.4.15?slim=true) | | [typescript-eslint](https://typescript-eslint.io/packages/typescript-eslint) ([source](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint)) | [`8.61.0` → `8.72.1`](https://renovatebot.com/diffs/npm/typescript-eslint/8.61.0/8.72.1) | ![age](https://developer.mend.io/api/mc/badges/age/npm/typescript-eslint/8.72.1?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/typescript-eslint/8.61.0/8.72.1?slim=true) | | [wait-on](https://github.com/jeffbski/wait-on) | [`9.0.10` → `9.5.1`](https://renovatebot.com/diffs/npm/wait-on/9.0.10/9.5.1) | ![age](https://developer.mend.io/api/mc/badges/age/npm/wait-on/9.5.1?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/wait-on/9.0.10/9.5.1?slim=true) | --- ### Release Notes <details> <summary>jestjs/jest (@&#8203;jest/globals)</summary> ### [`v30.5.2`](https://github.com/jestjs/jest/blob/HEAD/CHANGELOG.md#3052) [Compare Source](https://github.com/jestjs/jest/compare/v30.5.1...v30.5.2) ##### Features - `[@jest/transform]` Strip TypeScript types with Node when no transformer claims a `.ts`, `.mts` or `.cts` file ([#&#8203;16421](https://github.com/jestjs/jest/pull/16421)) ##### Fixes - `[jest-core, jest-haste-map, jest-transform]` Keep `require('../package.json')` external when bundling, so `jest --version` and the transform and haste-map cache keys report the released version instead of the previous one ([#&#8203;16422](https://github.com/jestjs/jest/pull/16422)) - `[jest-each]` Escape a table row's keys before building the `$variable` interpolation `RegExp`, so a column name such as `count(*)` no longer fails the whole table with `Invalid regular expression`, and a `.` or `|` in a column name is matched literally ([#&#8203;16345](https://github.com/jestjs/jest/pull/16345)) - `[@jest/source-map]` Resolve absolute Windows paths in a source map's `sources` and `sourceRoot` again, instead of appending them to the transformed file's directory ([#&#8203;16439](https://github.com/jestjs/jest/pull/16439)) ### [`v30.5.1`](https://github.com/jestjs/jest/blob/HEAD/CHANGELOG.md#3051) [Compare Source](https://github.com/jestjs/jest/compare/v30.5.0...v30.5.1) ##### Fixes - `[jest-config]` Don't warn about global-only options in the config that supplies the global config - the root config a project resolves to, or the first entry of `--projects` when no root config is passed ([#&#8203;16411](https://github.com/jestjs/jest/pull/16411)) - `[jest-config, jest-types]` Stop accepting `reporters`, `coverageReporters`, `workerIdleMemoryLimit`, `cwd` and `runnerOptions` in a project config - they were silently ignored, and now warn like the other global-only options ([#&#8203;16411](https://github.com/jestjs/jest/pull/16411)) - `[jest-config, jest-validate]` Warn about `maxWorkers` and `coverageThreshold` in a project config instead of dropping them without a word ([#&#8203;16411](https://github.com/jestjs/jest/pull/16411)) - `[jest-resolve]` Match `moduleNameMapper` patterns against the specifier as written again (reverting [#&#8203;16390](https://github.com/jestjs/jest/pull/16390)) ([#&#8203;16417](https://github.com/jestjs/jest/pull/16417)) - `[jest-runtime]` Resolve package `imports` specifiers like `#dep` under ESM again ([#&#8203;16413](https://github.com/jestjs/jest/pull/16413)) ##### Chore & Maintenance - `[jest-util]` Name the `testEnvironmentOptions.globalsCleanup` option and link the docs from the `JEST-01` deprecation warning, and document the option's modes ([#&#8203;16404](https://github.com/jestjs/jest/pull/16404)) ### [`v30.5.0`](https://github.com/jestjs/jest/blob/HEAD/CHANGELOG.md#3050) [Compare Source](https://github.com/jestjs/jest/compare/v30.4.1...v30.5.0) ##### Features - `[@jest/expect-utils, jest-mock]` Add `mockFn.whenCalledWith(...args)` for configuring return values per argument list, with first-class asymmetric-matcher support ([#&#8203;16053](https://github.com/jestjs/jest/pull/16053)) - `[@jest/expect-utils]` Export `AsymmetricMatcher` and `FunctionParameters` types (previously private to `expect`) ([#&#8203;16053](https://github.com/jestjs/jest/pull/16053)) - `[jest-circus, jest-core, jest-jasmine2, jest-test-result, jest-types]` `--collectTests` now expands `test.each`/`describe.each` cases and reports per-status counts (skipped/todo via the new `wouldRun` flag for selected tests) plus a summary line that match a real run, including under `--testNamePattern` and `.only`/`fdescribe` focus on both the circus and jasmine2 runners ([#&#8203;16259](https://github.com/jestjs/jest/pull/16259)) - `[jest-circus, jest-environment, jest-runtime, jest-types]` Add describe-level retries via `jest.retryTimes(..., {entireDescribe: true})` ([#&#8203;16322](https://github.com/jestjs/jest/pull/16322)) - `[jest-circus, jest-message-util, jest-reporters, jest-types]` Add `retryMessages` to `AssertionResult` and export `formatErrorStack`, so the retry log renders nested `cause` and `AggregateError` sections with code frames instead of serialized `[cause]:`/`[errors]:` markers ([#&#8203;16316](https://github.com/jestjs/jest/pull/16316)) - `[jest-circus, jest-types]` Add `unhandledErrorsDetailed` to `Circus.RunResult`, so an unhandled rejection reports its `cause` chain and `AggregateError` entries with code frames instead of a pre-serialized stack ([#&#8203;16316](https://github.com/jestjs/jest/pull/16316)) - `[jest-haste-map]` Replace `NodeWatcher` and `FSEventsWatcher` with `@parcel/watcher` for the non-watchman watch path ([#&#8203;16188](https://github.com/jestjs/jest/pull/16188)) - `[jest-resolve]` Bump `unrs-resolver` to 1.12.1, remove `jest-pnp-resolver` and unnecessary checks ([#&#8203;15721](https://github.com/jestjs/jest/pull/15721)) - `[jest-resolve]` Honor Node's `--preserve-symlinks` / `NODE_PRESERVE_SYMLINKS` in the default resolver by passing `symlinks: false` to `unrs-resolver` ([#&#8203;16260](https://github.com/jestjs/jest/pull/16260)) - `[jest-runtime]` Apply automocking and manual `__mocks__` files to synchronously evaluable ESM graphs on Node 24.9+ - static imports, dynamic `import()` and `require()` of an ESM file now generate an automock from the real module's namespace instead of failing with "Attempting to import a mock without a factory". Graphs that need async evaluation (top-level await) or an async-only resolver or transformer still throw ([#&#8203;16391](https://github.com/jestjs/jest/pull/16391)) - `[jest-runtime]` Route `process.getBuiltinModule` through the sandbox, so it returns the sandbox `process` and the hooked `node:module` instead of the host's ([#&#8203;16391](https://github.com/jestjs/jest/pull/16391)) - `[jest-runtime]` Throw an actionable error from `module.register()` and `module.registerHooks()` inside a test - the hooks attached to the loader running Jest itself, never saw the sandboxed requires they were meant for, and stayed registered for every later test file in the worker ([#&#8203;16391](https://github.com/jestjs/jest/pull/16391)) - `[jest-runtime]` Surface resolution and import-attribute errors in an ESM graph before executing any of its CJS dependencies on Node 24.9+, matching Node's run-nothing-on-a-broken-graph behavior; the legacy loader on older versions keeps its linking-time execution order ([#&#8203;16391](https://github.com/jestjs/jest/pull/16391)) - `[jest-runtime]` Throw `ERR_SOURCE_PHASE_NOT_DEFINED` with an actionable message for `import source` and `import.source()`, instead of failing at instantiation with V8's bare "Source phase import object is not defined" ([#&#8203;16391](https://github.com/jestjs/jest/pull/16391)) - `[jest-runtime]` Emit the JSON-without-import-attribute deprecation warning once per test file instead of once per worker, so it is no longer silently swallowed for every file after the first ([#&#8203;16391](https://github.com/jestjs/jest/pull/16391)) - `[jest-runtime]` Set `import.meta.main` to `true` in the test file and `false` in every module it loads, matching Node 24+ ([#&#8203;16367](https://github.com/jestjs/jest/pull/16367)) - `[jest-runtime]` Resolve the `module-sync` export condition, so a package that exposes its ESM entry point for `require()` loads the same file Node would ([#&#8203;16336](https://github.com/jestjs/jest/pull/16336)) - `[jest-snapshot]` Add external snapshot paths to custom reporter failure details ([#&#8203;16374](https://github.com/jestjs/jest/pull/16374)) ##### Fixes - `[jest-console, jest-reporters]` `CustomConsole` now buffers console output so `TestResult.console` is populated for reporters when `verbose` is enabled, while `GitHubActionsReporter` avoids replaying buffered output in verbose mode ([#&#8203;16155](https://github.com/jestjs/jest/pull/16155)) - `[expect, jest-message-util, jest-pattern, jest-regex-util, jest-util]` Revert `node:` protocol imports to restore webpack/browser-bundle compatibility ([#&#8203;16167](https://github.com/jestjs/jest/pull/16167)) - `[expect]` Widen `toMatchObject` and `objectContaining` parameter type from `Record<string, unknown>` to `object` so class instances are accepted ([#&#8203;16196](https://github.com/jestjs/jest/pull/16196)) - `[jest-circus]` Call a generator test body with the shared test context, so `this` matches what a regular test function receives ([#&#8203;16347](https://github.com/jestjs/jest/pull/16347)) - `[jest-circus]` Capture the error listeners of the parent process instead of the in-sandbox `process`, so listeners registered before the test file survive teardown and sandbox listeners no longer leak onto the parent ([#&#8203;16347](https://github.com/jestjs/jest/pull/16347)) - `[jest-circus]` Clear `currentlyRunningTest` after skipped and todo tests ([#&#8203;16342](https://github.com/jestjs/jest/pull/16342)) - `[jest-circus]` Prevent late `done()` callbacks from affecting later test or hook invocations ([#&#8203;16343](https://github.com/jestjs/jest/pull/16343)) - `[jest-circus, jest-jasmine2]` Honor `--expand` when formatting `node:assert` failures, instead of always collapsing the diff ([#&#8203;16347](https://github.com/jestjs/jest/pull/16347)) - `[jest-circus, jest-jasmine2, jest-message-util]` Serialize the inner errors of an `AggregateError` into `failureMessages`, `retryReasons` and `unhandledErrors`, so `--json` output and reporter annotations include them ([#&#8203;16316](https://github.com/jestjs/jest/pull/16316)) - `[jest-circus, jest-snapshot]` Keep snapshot state and counts correct when a test retries ([#&#8203;16344](https://github.com/jestjs/jest/pull/16344)) - `[@jest/create-cache-key-function]` Include the caller support flags in the generated key, so a transformer that emits ESM or CJS based on them no longer shares one cache entry between the two ([#&#8203;16331](https://github.com/jestjs/jest/pull/16331)) - `[@jest/create-cache-key-function]` Include the stringified project config in the generated key, so editing a transformer's own settings invalidates what it cached ([#&#8203;16331](https://github.com/jestjs/jest/pull/16331)) - `[@jest/transform]` Include the caller support flags in a transform's cache key, so a file transformed both as ESM and as CJS no longer serves one shape's output for the other ([#&#8203;16331](https://github.com/jestjs/jest/pull/16331)) - `[jest-config]` Add missing `findRelatedTests`, `outputFile`, and `replname` entries to `ValidConfig` so they no longer trigger spurious "Unknown option" warnings ([#&#8203;16224](https://github.com/jestjs/jest/pull/16224)) - `[jest-config]` Use `--config` for the global config when multiple `--projects` are specified ([#&#8203;16273](https://github.com/jestjs/jest/pull/16273)) - `[jest-core]` Serialize `bigint` values in `--json` and `--outputFile` output as their literal form (`4n`), instead of failing the run with `TypeError: Do not know how to serialize a BigInt` ([#&#8203;16338](https://github.com/jestjs/jest/pull/16338)) - `[jest-core]` Do not report a `CustomGC` async resource (used by N-API addons such as napi-rs for per-isolate GC bookkeeping) as an open handle, since it is `napi_unref`'d by the addon and can never keep the event loop alive ([#&#8203;16379](https://github.com/jestjs/jest/pull/16379)) - `[jest-each]` Keep a `$&`, `` $` ``, `$'` or `$$` inside a `%p` param value out of the replacement, so the title shows the value instead of the text around it ([#&#8203;16338](https://github.com/jestjs/jest/pull/16338)) - `[jest-each]` Interpolate a `bigint` into a `%j` title as its literal form (`"4n"`) at any depth, instead of throwing `TypeError: Do not know how to serialize a BigInt` while collecting the tests ([#&#8203;16338](https://github.com/jestjs/jest/pull/16338)) - `[jest-environment, jest-runtime]` Bind `sandboxInjectedGlobals` to the right values when `injectGlobals` is `false`, instead of shifting every one of them by a position ([#&#8203;16377](https://github.com/jestjs/jest/pull/16377)) - `[jest-environment-node, jest-util]` Only warn about a conflicting `globalsCleanup` mode when one was explicitly configured, and follow the mode that is actually in effect ([#&#8203;16323](https://github.com/jestjs/jest/pull/16323)) - `[jest-environment-node, jest-util]` Stop resolving lazy globals when setting up an environment, so Node 26's builtin module globals are no longer loaded (and no longer emit their deprecation warnings) for every test file ([#&#8203;16324](https://github.com/jestjs/jest/pull/16324)) - `[jest-haste-map]` Keep watch mode alive when an outside process briefly makes a file unreadable on Windows, instead of tearing the watcher down on `EPERM` ([#&#8203;16295](https://github.com/jestjs/jest/pull/16295)) - `[jest-haste-map]` Keep indexing when an outside process holds a file open on Windows, instead of failing the whole crawl on `EPERM` ([#&#8203;16358](https://github.com/jestjs/jest/pull/16358)) - `[jest-haste-map]` Keep a duplicated manual mock resolving when the file it pointed at is deleted in watch mode ([#&#8203;16360](https://github.com/jestjs/jest/pull/16360)) - `[jest-haste-map]` Shut the worker farm down when a duplicate manual mock aborts the build under `throwOnModuleCollision` ([#&#8203;16354](https://github.com/jestjs/jest/pull/16354)) - `[jest-haste-map]` Attach the watchman client's `error` listener before the first command, so a watchman failure falls back to the node crawler instead of crashing on an unhandled `error` event, and always end the client ([#&#8203;16355](https://github.com/jestjs/jest/pull/16355)) - `[jest-haste-map]` Stop delivering watch events after `WatchmanWatcher` is closed, and route its warnings through the configured console ([#&#8203;16355](https://github.com/jestjs/jest/pull/16355)) - `[jest-haste-map]` Restore the nested `duplicates` index correctly in `ModuleMap.fromJSON`, so a haste collision reported inside a test worker raises `DuplicateHasteCandidatesError` instead of a `TypeError` ([#&#8203;16353](https://github.com/jestjs/jest/pull/16353)) - `[jest-haste-map]` Match watched files on a full extension, so `moduleFileExtensions: ['js']` no longer accepts `foo.mjs` ([#&#8203;16352](https://github.com/jestjs/jest/pull/16352)) - `[jest-haste-map]` Delimit the fields that make up the haste map cache key, so two different option sets cannot hash to the same cache file ([#&#8203;16352](https://github.com/jestjs/jest/pull/16352)) - `[jest-message-util]` Print the inner errors of an `AggregateError` thrown inside a test ([#&#8203;16316](https://github.com/jestjs/jest/pull/16316)) - `[jest-message-util]` Indent nested `cause` and `AggregateError` sections of a test failure by one level per depth, so the nesting is legible instead of rendering flat ([#&#8203;16316](https://github.com/jestjs/jest/pull/16316)) - `[jest-message-util]` Color stack traces line by line so blank lines stay blank ([#&#8203;16316](https://github.com/jestjs/jest/pull/16316)) - `[jest-message-util]` Detect Jest's own frames without assuming the checkout directory's name, and cover `@jest/*` packages, so stack traces and code frames point at user code ([#&#8203;16326](https://github.com/jestjs/jest/pull/16326)) - `[jest-mock]` `mockResolvedValue` / `mockRejectedValue` now see all overload return types, so a Promise-returning overload survives even when a later overload returns a non-Promise (e.g. `pg.Client['end']`) ([#&#8203;16237](https://github.com/jestjs/jest/pull/16237)) - `[@jest-environment/jsdom-abstract]` Make `@types/jsdom` a peer dependency ([#&#8203;16166](https://github.com/jestjs/jest/pull/16166)) - `[jest-mock]` Remove the leftover own accessor descriptor when restoring a `spyOn` of an inherited getter or setter, so the instance keeps reflecting the prototype ([#&#8203;16226](https://github.com/jestjs/jest/pull/16226)) - `[jest-resolve]` Include `extensionsToTreatAsEsm` in the `shouldLoadAsEsm` cache key, so projects with different extension lists don't read each other's answers ([#&#8203;16369](https://github.com/jestjs/jest/pull/16369)) - `[jest-resolve]` Make `getModuleIDAsync` build and cache `data:` URI module IDs the same way as `getModuleID` ([#&#8203;16370](https://github.com/jestjs/jest/pull/16370)) - `[jest-resolve]` Keep the `node:` prefix when resolving a core module asynchronously, so a builtin that only exists prefixed (`node:sea`, `node:sqlite`, `node:test`, `node:test/reporters`) resolves instead of failing as a missing bare package ([#&#8203;16388](https://github.com/jestjs/jest/pull/16388)) - `[jest-resolve]` Look up manual mocks for `node:` protocol specifiers under the unprefixed name they are stored as ([#&#8203;16388](https://github.com/jestjs/jest/pull/16388)) - `[jest-resolve]` Apply `moduleNameMapper` consistently to both spellings of core module specifiers (`fs` vs `node:fs`) ([#&#8203;16390](https://github.com/jestjs/jest/pull/16390)) - `[jest-resolve]` Keep virtual and ordinary mock module IDs isolated across test files ([#&#8203;16296](https://github.com/jestjs/jest/pull/16296)) - `[jest-resolve]` Guard missing `require.resolve.paths` ([#&#8203;16052](https://github.com/jestjs/jest/pull/16052)) - `[jest-resolve, jest-config, jest-runner]` Support a user resolver written as an ES module ([#&#8203;16332](https://github.com/jestjs/jest/pull/16332)) - `[jest-resolve, jest-runtime]` Throw the CJS parse error for ESM syntax in a `"type": "commonjs"` package or a `.cjs` file instead of loading it as ESM, matching Node ([#&#8203;16368](https://github.com/jestjs/jest/pull/16368)) - `[@jest/source-map]` Keep source map sources that name a scheme, such as `webpack:///`, instead of resolving them into a path that does not exist ([#&#8203;16327](https://github.com/jestjs/jest/pull/16327)) - `[@jest/source-map]` Look up `--testLocationInResults` positions at the right column, and keep a mapping to the first column instead of discarding it ([#&#8203;16327](https://github.com/jestjs/jest/pull/16327)) - `[@jest/source-map]` Warn when a source map cannot be parsed, instead of silently leaving its frames untranslated ([#&#8203;16327](https://github.com/jestjs/jest/pull/16327)) - `[jest-runner, @jest/source-map]` Keep a source-mapped stack for an error thrown after the test environment was torn down ([#&#8203;16327](https://github.com/jestjs/jest/pull/16327)) - `[jest-runtime, @jest/source-map]` Keep source maps past teardown and past the next test file's `install`, so a stack from a file no earlier stack mentioned still points at the original source ([#&#8203;16330](https://github.com/jestjs/jest/pull/16330)) - `[jest-runtime]` Report that no coverage was collected when `getAllV8CoverageInfoCopy` is called after `teardown`, instead of returning an empty result ([#&#8203;16385](https://github.com/jestjs/jest/pull/16385)) - `[jest-runtime]` Cache a CJS module's parsed exports before walking its re-exports, so two modules that re-export each other no longer overflow the stack when imported from ESM ([#&#8203;16363](https://github.com/jestjs/jest/pull/16363)) - `[jest-runtime]` Keep a re-exported ES module's parse failure from marking the re-exporting CommonJS file as ESM, so `module.exports = require('./dep.mjs')` loads instead of failing with `module is not defined` ([#&#8203;16363](https://github.com/jestjs/jest/pull/16363)) - `[jest-runtime]` Scope module mocks instantiated inside `jest.isolateModules`/`isolateModulesAsync` to that block, so a mock first imported there no longer outlives it - matching how CommonJS mocks already behave ([#&#8203;16365](https://github.com/jestjs/jest/pull/16365)) - `[jest-runtime]` Suspend module isolation while generating an automock, so loading the real module to read its shape no longer populates the isolated registry ([#&#8203;16365](https://github.com/jestjs/jest/pull/16365)) - `[jest-runtime]` Check a cached ES module's status before `require()` returns it, so a module whose evaluation threw rethrows that error and one left linked by a failed sibling is evaluated instead of returning uninitialized bindings ([#&#8203;16364](https://github.com/jestjs/jest/pull/16364)) - `[jest-runtime]` Report the original `ERR_REQUIRE_ASYNC_MODULE` when a `require()` of a top-level-await graph is retried, instead of a spurious "concurrent `import()`" error ([#&#8203;16364](https://github.com/jestjs/jest/pull/16364)) - `[jest-runtime]` Throw the evaluation error when another caller's `import()` of the same module failed while we awaited it, instead of resolving with the errored module ([#&#8203;16364](https://github.com/jestjs/jest/pull/16364)) - `[jest-runtime]` Mark the result of `require()`ing an ES module that has a default export with `__esModule: true` through a live-binding facade, and serve the same object from `require.cache`, matching Node ([#&#8203;16367](https://github.com/jestjs/jest/pull/16367)) - `[jest-runtime]` Provide a CommonJS module's exports under the `'module.exports'` named export when imported from ESM, matching Node 23+ ([#&#8203;16367](https://github.com/jestjs/jest/pull/16367)) - `[jest-runtime]` Give the test file itself a non-null `require.main` ([#&#8203;16367](https://github.com/jestjs/jest/pull/16367)) - `[jest-runtime]` Populate `module.children` with the modules a file loads, matching Node ([#&#8203;16368](https://github.com/jestjs/jest/pull/16368)) - `[jest-runtime]` Provide `import.meta.resolve` and `import.meta.jest` in `data:` URI modules, accept any-case mediatype parameters, and use Node's error codes for invalid `data:` URIs ([#&#8203;16368](https://github.com/jestjs/jest/pull/16368)) - `[jest-runtime]` Key ES modules by full URL, so query and fragment suffixes create the same module instances as Node and show up in `import.meta.url` ([#&#8203;16375](https://github.com/jestjs/jest/pull/16375)) - `[jest-runtime]` Share modules between overlapping graphs when a CommonJS module `require()`s an ES module mid-load, instead of evaluating shared dependencies twice ([#&#8203;16375](https://github.com/jestjs/jest/pull/16375)) - `[jest-runtime]` Throw `ERR_REQUIRE_CYCLE_MODULE` like Node when a CommonJS module `require()`s an ES module that is still being loaded, instead of evaluating the module a second time ([#&#8203;16366](https://github.com/jestjs/jest/pull/16366)) - `[jest-runtime]` Key builtin modules in the ESM registry by one canonical specifier ([#&#8203;16341](https://github.com/jestjs/jest/pull/16341)) - `[jest-runtime]` `import.meta.resolve()` for a builtin uses its `node:` specifier ([#&#8203;16341](https://github.com/jestjs/jest/pull/16341)) - `[jest-runtime]` Fall back to native ESM when a `.js` file contains ESM syntax but has no `"type":"module"` marker ([#&#8203;16152](https://github.com/jestjs/jest/pull/16152)) - `[jest-runtime]` Allow `require()` of ESM-marked files on Node < 24.9 via transform fallback ([#&#8203;16244](https://github.com/jestjs/jest/pull/16244)) - `[jest-runtime, @jest/transform]` Surface actionable `ERR_REQUIRE_ESM` error for files with untransformed ESM syntax instead of the generic "unexpected token" message ([#&#8203;16244](https://github.com/jestjs/jest/pull/16244)) - `[jest-runtime]` Support older test environments whose `moduleMocker` does not implement `clearMocksOnScope` ([#&#8203;16169](https://github.com/jestjs/jest/pull/16169)) - `[jest-runtime]` Apply `jest.unstable_mockModule` when the mocked file itself is `require()`d, not only when it is imported as a dependency ([#&#8203;16389](https://github.com/jestjs/jest/pull/16389)) - `[jest-runtime]` Apply `jest.unstable_mockModule` to statically imported `data:` URIs on Node 24.9+, matching dynamic `import()` ([#&#8203;16389](https://github.com/jestjs/jest/pull/16389)) - `[jest-runtime]` Run an async `jest.unstable_mockModule` factory once per module instead of twice, and fail the import instead of crashing the worker when the factory rejects ([#&#8203;16389](https://github.com/jestjs/jest/pull/16389)) - `[jest-runtime]` Hide a `require(esm)` module that failed to evaluate from `require.cache`, as Node does, instead of exposing a namespace with uninitialized bindings ([#&#8203;16389](https://github.com/jestjs/jest/pull/16389)) - `[jest-runtime]` Strip the byte-order mark when importing a JSON module, matching `require()` and Node ([#&#8203;16389](https://github.com/jestjs/jest/pull/16389)) - `[jest-runtime]` Throw `ERR_REQUIRE_ASYNC_MODULE` when `require(esm)` runs under an async-only custom resolver, instead of silently resolving with the default resolver ([#&#8203;16389](https://github.com/jestjs/jest/pull/16389)) - `[jest-runtime]` Parse imported JSON modules with the test realm's `JSON`, so their objects pass `instanceof Object` inside the test like `require()`d JSON does ([#&#8203;16389](https://github.com/jestjs/jest/pull/16389)) - `[jest-runtime]` Accept every `file:` URL string in the sandboxed `module.createRequire`, including one with a `localhost` authority, as Node does ([#&#8203;16389](https://github.com/jestjs/jest/pull/16389)) - `[jest-runtime]` Point at `{virtual: true}` when `jest.mock` or `jest.unstable_mockModule` is given a module that cannot be resolved ([#&#8203;16389](https://github.com/jestjs/jest/pull/16389)) - `[jest-reporters]` Fix coverage report table formatting in CI/GitHub Actions environments where `process.stdout.columns` is undefined by falling back to the `COLUMNS` env var or `80` columns in CI, preserving existing behaviour in other non-TTY environments ([#&#8203;16227](https://github.com/jestjs/jest/pull/16227)) - `[jest-runtime]` Support CJS-in-ESM exports via `"module.exports"` named exports ([#&#8203;16277](https://github.com/jestjs/jest/pull/16277)) - `[jest-snapshot]` Keep a skipped or failed test's hinted snapshots, instead of reporting them obsolete ([#&#8203;16348](https://github.com/jestjs/jest/pull/16348)) - `[jest-util]` Stop `globsToMatcher` reusing a cached matcher compiled with different picomatch options, and keep its `dot: true` default when `dot` is passed as `undefined` ([#&#8203;16381](https://github.com/jestjs/jest/pull/16381)) - `[pretty-format]` Move the `react-is` aliases into the `@jest` scope, so they cannot be shadowed by unrelated packages published under the alias names ([#&#8203;16333](https://github.com/jestjs/jest/pull/16333)) ##### Chore & Maintenance - `[docs]` Document the intentional divergences from Node's module system in the ECMAScript Modules page ([#&#8203;16368](https://github.com/jestjs/jest/pull/16368)) - `[docs]` Note deprecation of `react-test-renderer` in React Native tutorial and `pretty-format` README ([#&#8203;16294](https://github.com/jestjs/jest/pull/16294)) - `[docs]` Use `@testing-library/react-native` in the React Native tutorial instead of the deprecated `react-test-renderer` ([#&#8203;16318](https://github.com/jestjs/jest/pull/16318)) - `[babel-jest, @jest/transform]` Update `babel-plugin-istanbul` to v8 ([#&#8203;16049](https://github.com/jestjs/jest/pull/16049)) - `[jest-config, @jest/reporters, jest-runtime]` Update `glob` to v13 ([#&#8203;16397](https://github.com/jestjs/jest/pull/16397)) - `[jest-haste-map]` Refactor massive class into multiple files ([#&#8203;16180](https://github.com/jestjs/jest/pull/16180)) - `[jest-haste-map]` Drop `walker` dependency; replace hand-rolled directory recursion in the JS crawler and watcher startup with `fdir` ([#&#8203;16187](https://github.com/jestjs/jest/pull/16187)) - `[jest-haste-map]` Reuse cached metadata for files whose haste name is a known duplicate, instead of re-reading and re-parsing them on every startup ([#&#8203;16351](https://github.com/jestjs/jest/pull/16351)) - `[jest-haste-map]` Cache the watchman socket path and replace the `watchman --version` probe with `get-sockname`, so warm runs spawn no watchman processes ([#&#8203;16386](https://github.com/jestjs/jest/pull/16386)) - `[jest-resolve]` Store the per-directory package-type lookup in the cache it reads, so it actually memoizes ([#&#8203;16369](https://github.com/jestjs/jest/pull/16369)) - `[jest-resolve, jest-runtime]` Cut repeated work on the resolution hot path: hoist the platform-extension list to construction, memoize `isCoreModule` and the options cache-key serialization, skip mapper preparation when no `moduleNameMapper` is configured, run each mapper regex once, and stop re-parsing `NODE_OPTIONS` on every default-resolver call ([#&#8203;16371](https://github.com/jestjs/jest/pull/16371)) - `[jest-resolve]` Cut warm resolution cost to about a third: reuse one `unrs-resolver` factory per options shape instead of cloning per resolution, compose the factory cache key from per-array cached strings instead of serializing options, and stop constructing an `Error` for misses that `findNodeModule` swallows; add a `__benchmarks__` suite for the default resolver ([#&#8203;16373](https://github.com/jestjs/jest/pull/16373)) - `[jest-runner, @jest/source-map]` Replace `source-map-support` with an implementation in `@jest/source-map` ([#&#8203;16327](https://github.com/jestjs/jest/pull/16327)) - `[jest-snapshot]` Load babel, semver and synckit lazily, so requiring the package (which every test process does through `@jest/expect`) no longer loads \~200 modules that only writing inline snapshots needs ([#&#8203;16387](https://github.com/jestjs/jest/pull/16387)) - `[jest-runtime]` Reduce per-require overhead: skip module ID resolution when no mock can apply, answer core modules before probing for a manual mock, share one `require.cache` proxy across modules, and cache empty files ([#&#8203;16376](https://github.com/jestjs/jest/pull/16376)) - `[@jest/source-map]` Deprecate `getCallsite` in favour of `SourceMapSupport#getCallsite` ([#&#8203;16327](https://github.com/jestjs/jest/pull/16327)) - `[jest-runtime]` Avoid magical `null` value in ESM loader ([#&#8203;16160](https://github.com/jestjs/jest/pull/16160)) </details> <details> <summary>mui/material-ui (@&#8203;mui/material)</summary> ### [`v9.5.0`](https://github.com/mui/material-ui/releases/tag/v9.5.0) [Compare Source](https://github.com/mui/material-ui/compare/v9.4.0...v9.5.0) A big thanks to the 28 contributors who made this release possible. Here are some highlights ✨: - ⚙️ Support [values other than raw options](https://mui.com/material-ui/react-autocomplete/#object-options-with-primitive-values) for Autocomplete via the `getOptionValue` prop. ##### `@mui/material@9.5.0` - Add missing override interfaces for `slotProps` ([#&#8203;49345](https://github.com/mui/material-ui/issues/49345)) [@&#8203;sai6855](https://github.com/sai6855) - Export private focus-visible utilities ([#&#8203;49139](https://github.com/mui/material-ui/issues/49139)) [@&#8203;siriwatknp](https://github.com/siriwatknp) - Fix `onClose` types for Menu, Snackbar, and SwipeableDrawer ([#&#8203;49351](https://github.com/mui/material-ui/issues/49351)) [@&#8203;Janpot](https://github.com/Janpot) - Fix slot handling in Autocomplete chips, TextField `inputLabel`, and NativeSelect `input` ([#&#8203;49354](https://github.com/mui/material-ui/issues/49354)) [@&#8203;Janpot](https://github.com/Janpot) - Fix theme `defaultProps` and missing exports ([#&#8203;49342](https://github.com/mui/material-ui/issues/49342)) [@&#8203;Janpot](https://github.com/Janpot) - Remove unnecessary `Omit` types ([#&#8203;49338](https://github.com/mui/material-ui/issues/49338)) [@&#8203;sai6855](https://github.com/sai6855) - \[autocomplete] Lazily derive the initial input value ([#&#8203;49192](https://github.com/mui/material-ui/issues/49192)) [@&#8203;OskarEichler](https://github.com/OskarEichler) - \[autocomplete] Prevent crash when changing `groupBy` ([#&#8203;49150](https://github.com/mui/material-ui/issues/49150)) [@&#8203;silviuaavram](https://github.com/silviuaavram) - \[autocomplete] Stop filtering once the result limit is reached ([#&#8203;49312](https://github.com/mui/material-ui/issues/49312)) [@&#8203;valkiara](https://github.com/valkiara) - \[autocomplete] Support values other than raw options ([#&#8203;49313](https://github.com/mui/material-ui/issues/49313)) [@&#8203;silviuaavram](https://github.com/silviuaavram) - \[avatargroup] Improve TypeScript performance when using `slotProps` ([#&#8203;49213](https://github.com/mui/material-ui/issues/49213)) ([#&#8203;49215](https://github.com/mui/material-ui/issues/49215)) [@&#8203;sai6855](https://github.com/sai6855) - \[bottomnavigationaction] Document the `selected` prop ([#&#8203;49190](https://github.com/mui/material-ui/issues/49190)) ([#&#8203;49196](https://github.com/mui/material-ui/issues/49196)) [@&#8203;sai6855](https://github.com/sai6855) - \[breadcrumbs] Build separators in one pass ([#&#8203;49058](https://github.com/mui/material-ui/issues/49058)) [@&#8203;OskarEichler](https://github.com/OskarEichler) - \[button] Fix loading-position style leaking to non-loading buttons ([#&#8203;49182](https://github.com/mui/material-ui/issues/49182)) [@&#8203;siriwatknp](https://github.com/siriwatknp) - \[button] Simplify `ExtendButton` type ([#&#8203;49366](https://github.com/mui/material-ui/issues/49366)) [@&#8203;sai6855](https://github.com/sai6855) - \[buttonbase] Fix LazyRipple retaining event objects when ripples are disabled ([#&#8203;49000](https://github.com/mui/material-ui/issues/49000)) [@&#8203;dizhurnikita](https://github.com/dizhurnikita) - \[checkbox] Set the native indeterminate state on the input ([#&#8203;49053](https://github.com/mui/material-ui/issues/49053)) [@&#8203;lazerg](https://github.com/lazerg) - \[dialogcontent] Render the `theme.focusVisible` ring on the scrollable content ([#&#8203;49319](https://github.com/mui/material-ui/issues/49319)) [@&#8203;siriwatknp](https://github.com/siriwatknp) - \[inputbase] Fix `slotProps.input` event handlers and ref being ignored ([#&#8203;49341](https://github.com/mui/material-ui/issues/49341)) [@&#8203;Janpot](https://github.com/Janpot) - \[link] Remove unwanted `Omit` type ([#&#8203;49339](https://github.com/mui/material-ui/issues/49339)) [@&#8203;sai6855](https://github.com/sai6855) - \[link] Revert to `color-mix` when underline color is not accepted ([#&#8203;49077](https://github.com/mui/material-ui/issues/49077)) [@&#8203;silviuaavram](https://github.com/silviuaavram) - \[modal] Prevent `aria-hidden` from being applied to non-portal modals ([#&#8203;49195](https://github.com/mui/material-ui/issues/49195)) [@&#8203;ZeeshanTamboli](https://github.com/ZeeshanTamboli) - \[select] Fix flaky opening mouseup timing ([#&#8203;49024](https://github.com/mui/material-ui/issues/49024)) [@&#8203;michelengelen](https://github.com/michelengelen) - \[skeleton] Fix the background fallback with CSS theme variables ([#&#8203;49367](https://github.com/mui/material-ui/issues/49367)) [@&#8203;aarongarciah](https://github.com/aarongarciah) - \[slider] Fix `disableSwap` when a neighboring thumb is at 0 ([#&#8203;49246](https://github.com/mui/material-ui/issues/49246)) [@&#8203;kwy404](https://github.com/kwy404) - \[snackbar]\[speeddial] Remove unnecessary `Omit` in props definitions ([#&#8203;49272](https://github.com/mui/material-ui/issues/49272)) [@&#8203;sai6855](https://github.com/sai6855) - \[speeddial] Fix horizontal persistent tooltip placement ([#&#8203;49238](https://github.com/mui/material-ui/issues/49238)) [@&#8203;Cunninger](https://github.com/Cunninger) - \[speeddial] Support action slot object refs ([#&#8203;49056](https://github.com/mui/material-ui/issues/49056)) [@&#8203;OskarEichler](https://github.com/OskarEichler) - \[table] Improve accessibility for the pagination buttons ([#&#8203;49112](https://github.com/mui/material-ui/issues/49112)) [@&#8203;silviuaavram](https://github.com/silviuaavram) - \[tablepaginationactions] Align common types with other components ([#&#8203;49348](https://github.com/mui/material-ui/issues/49348)) [@&#8203;sai6855](https://github.com/sai6855) - \[tabs] Derive mounted state from the indicator style instead of setting it in an effect ([#&#8203;49326](https://github.com/mui/material-ui/issues/49326)) [@&#8203;ZeeshanTamboli](https://github.com/ZeeshanTamboli) - \[tabs] Fix selected tab not scrolling into view when scroll buttons appear in auto mode ([#&#8203;48489](https://github.com/mui/material-ui/issues/48489)) [@&#8203;starboyvarun](https://github.com/starboyvarun) - \[tabs] Respect `scroll-padding` when scrolling the selected tab into view ([#&#8203;49039](https://github.com/mui/material-ui/issues/49039)) [@&#8203;crispinc-omnea](https://github.com/crispinc-omnea) - \[textfield] Add theme CSS variable for autofill `box-shadow` ([#&#8203;47472](https://github.com/mui/material-ui/issues/47472)) [@&#8203;ludij](https://github.com/ludij) - \[theme] Fix `theme.alpha()` for raw colors with CSS variables ([#&#8203;49320](https://github.com/mui/material-ui/issues/49320)) [@&#8203;siriwatknp](https://github.com/siriwatknp) - \[theme] Fix theming outliers in Paper, BreadcrumbCollapsed, TablePagination, and Tooltip ([#&#8203;49356](https://github.com/mui/material-ui/issues/49356)) [@&#8203;Janpot](https://github.com/Janpot) - \[theme] Keep CSS variable fallbacks in `theme.alpha()` ([#&#8203;49368](https://github.com/mui/material-ui/issues/49368)) [@&#8203;aarongarciah](https://github.com/aarongarciah) ##### `@mui/icons-material@9.5.0` - Center the WarningRounded icon within its `viewBox` ([#&#8203;49203](https://github.com/mui/material-ui/issues/49203)) [@&#8203;itd-mb](https://github.com/itd-mb) ##### `@mui/system@9.5.0` - Remove duplicated `filterProps` mapping in `getThemeValue` ([#&#8203;48640](https://github.com/mui/material-ui/issues/48640)) [@&#8203;sai6855](https://github.com/sai6855) - Resolve InitColorSchemeScript `%s` placeholder at build time ([#&#8203;49113](https://github.com/mui/material-ui/issues/49113)) [@&#8203;Janpot](https://github.com/Janpot) - Serialize InitColorSchemeScript configuration values ([#&#8203;49091](https://github.com/mui/material-ui/issues/49091)) [@&#8203;Janpot](https://github.com/Janpot) ##### `@mui/utils@9.5.0` - Document the deprecated `slotState` parameter and add `resolveComponentProps` tests ([#&#8203;49240](https://github.com/mui/material-ui/issues/49240)) [@&#8203;usamabhatti1998](https://github.com/usamabhatti1998) - Improve `mergeSlotProps` performance ([#&#8203;48002](https://github.com/mui/material-ui/issues/48002)) [@&#8203;mj12albert](https://github.com/mj12albert) ##### `@mui/types@9.5.0` - Remove invalid `number` type from supported `OverridableStringUnion` type arguments ([#&#8203;49307](https://github.com/mui/material-ui/issues/49307)) [@&#8203;sai6855](https://github.com/sai6855) ##### `@mui/lab@9.0.0-beta.10` - \[masonry] Fix styles with CSS theme variables ([#&#8203;49330](https://github.com/mui/material-ui/issues/49330)) [@&#8203;aarongarciah](https://github.com/aarongarciah) - \[timelineitem] Keep the spacer selector at one class of specificity ([#&#8203;49028](https://github.com/mui/material-ui/issues/49028)) [@&#8203;Janpot](https://github.com/Janpot) ##### `@mui/codemod@9.5.0` - Upgrade required Node.js version in the `engines` field ([#&#8203;49070](https://github.com/mui/material-ui/issues/49070)) [@&#8203;ZeeshanTamboli](https://github.com/ZeeshanTamboli) - \[formcontrollabel] Stop migrating `ActionsComponent` and remove `inputRef` ([#&#8203;49358](https://github.com/mui/material-ui/issues/49358)) [@&#8203;Janpot](https://github.com/Janpot) ##### Docs - Add the accessibility conformance report page ([#&#8203;49267](https://github.com/mui/material-ui/issues/49267)) [@&#8203;michelengelen](https://github.com/michelengelen) - Add v10 as the next version ([#&#8203;49293](https://github.com/mui/material-ui/issues/49293)) [@&#8203;silviuaavram](https://github.com/silviuaavram) - Allow reopening cookie preferences from a URL hash ([#&#8203;49124](https://github.com/mui/material-ui/issues/49124)) [@&#8203;brijeshb42](https://github.com/brijeshb42) - Clarify how to restore icon `data-testid` attributes in the v7 migration guide ([#&#8203;49109](https://github.com/mui/material-ui/issues/49109)) [@&#8203;alexfauquette](https://github.com/alexfauquette) - Fix [@&#8203;mui/lab](https://github.com/mui/lab) version in v7.3.6 changelog ([#&#8203;49145](https://github.com/mui/material-ui/issues/49145)) [@&#8203;mateuseap](https://github.com/mateuseap) - Fix Next.js font optimization docs to preserve typography letter-spacing ([#&#8203;48488](https://github.com/mui/material-ui/issues/48488)) [@&#8203;starboyvarun](https://github.com/starboyvarun) - Fix the dead Popper.js documentation links ([#&#8203;49081](https://github.com/mui/material-ui/issues/49081)) [@&#8203;lazerg](https://github.com/lazerg) - Fix the LLM generated docs paths ([#&#8203;49076](https://github.com/mui/material-ui/issues/49076)) [@&#8203;silviuaavram](https://github.com/silviuaavram) - Improve accessibility for checkbox lists ([#&#8203;49111](https://github.com/mui/material-ui/issues/49111)) [@&#8203;silviuaavram](https://github.com/silviuaavram) - Warn about untrusted values in the `sx` prop ([#&#8203;49212](https://github.com/mui/material-ui/issues/49212)) [@&#8203;Janpot](https://github.com/Janpot) - \[autocomplete] Add removal and navigation ARIA descriptions to Chip examples ([#&#8203;49086](https://github.com/mui/material-ui/issues/49086)) [@&#8203;silviuaavram](https://github.com/silviuaavram) - \[drawer] Add accessible names to close buttons ([#&#8203;49161](https://github.com/mui/material-ui/issues/49161)) [@&#8203;sai6855](https://github.com/sai6855) - \[material-icons] Add `frame` synonym for the Portrait icon ([#&#8203;49211](https://github.com/mui/material-ui/issues/49211)) [@&#8203;Janpot](https://github.com/Janpot) - \[material-icons] Improve icon search performance ([#&#8203;49206](https://github.com/mui/material-ui/issues/49206)) [@&#8203;oliviertassinari](https://github.com/oliviertassinari) - \[numberfield] Document the `format` prop for units and currency ([#&#8203;49160](https://github.com/mui/material-ui/issues/49160)) [@&#8203;Denimworld12](https://github.com/Denimworld12) - \[snackbar] Demonstrate Escape handling inside a dialog ([#&#8203;49352](https://github.com/mui/material-ui/issues/49352)) [@&#8203;minwookshin](https://github.com/minwookshin) - \[system] Avoid `any` when spreading the `sx` prop ([#&#8203;49083](https://github.com/mui/material-ui/issues/49083)) [@&#8203;LeusMaximus](https://github.com/LeusMaximus) ##### Core - \[ci] Add Claude PR review via mui-public reusable workflow ([#&#8203;49037](https://github.com/mui/material-ui/issues/49037)) [@&#8203;Janpot](https://github.com/Janpot) - \[code-infra] Compare the nightly React runs with the stable Argos build ([#&#8203;49123](https://github.com/mui/material-ui/issues/49123)) [@&#8203;LukasTy](https://github.com/LukasTy) - \[code-infra] Consume shared commands from code-infra orb ([#&#8203;49082](https://github.com/mui/material-ui/issues/49082)) [@&#8203;brijeshb42](https://github.com/brijeshb42) - \[code-infra] Convert [@&#8203;mui/lab](https://github.com/mui/lab) to TypeScript ([#&#8203;49140](https://github.com/mui/material-ui/issues/49140)) [@&#8203;Janpot](https://github.com/Janpot) - \[code-infra] Convert [@&#8203;mui/material](https://github.com/mui/material) internal svg-icons to TypeScript ([#&#8203;49143](https://github.com/mui/material-ui/issues/49143)) [@&#8203;Janpot](https://github.com/Janpot) - \[code-infra] Convert remaining [@&#8203;mui/system](https://github.com/mui/system) .js+.d.ts pairs to TypeScript (part 2) ([#&#8203;48699](https://github.com/mui/material-ui/issues/48699)) [@&#8203;Janpot](https://github.com/Janpot) - \[code-infra] Fix `package.json` metadata ([#&#8203;49325](https://github.com/mui/material-ui/issues/49325)) [@&#8203;Janpot](https://github.com/Janpot) - \[code-infra] Include cherry-picks in the changelog ([#&#8203;49377](https://github.com/mui/material-ui/issues/49377)) [@&#8203;brijeshb42](https://github.com/brijeshb42) - \[code-infra] Migrate to Babel 8 ([#&#8203;49216](https://github.com/mui/material-ui/issues/49216)) [@&#8203;brijeshb42](https://github.com/brijeshb42) - \[code-infra] Pin the Argos baseline to v9.x ([#&#8203;49316](https://github.com/mui/material-ui/issues/49316)) [@&#8203;Janpot](https://github.com/Janpot) - \[code-infra] Pin the only-allow version in the preinstall hook ([#&#8203;49114](https://github.com/mui/material-ui/issues/49114)) [@&#8203;Janpot](https://github.com/Janpot) - \[code-infra] Run TypeScript 7 alongside the TS6 JS API ([#&#8203;49075](https://github.com/mui/material-ui/issues/49075)) [@&#8203;brijeshb42](https://github.com/brijeshb42) - \[code-infra] Ship documentation Markdown inside the [@&#8203;mui/material](https://github.com/mui/material) package ([#&#8203;49314](https://github.com/mui/material-ui/issues/49314)) [@&#8203;Janpot](https://github.com/Janpot) - \[code-infra] Show progress and rate limit retry time in `release:changelog` ([#&#8203;49379](https://github.com/mui/material-ui/issues/49379)) [@&#8203;Janpot](https://github.com/Janpot) - \[code-infra] Update #target-branch-reference for v9.x branch ([#&#8203;49191](https://github.com/mui/material-ui/issues/49191)) [@&#8203;silviuaavram](https://github.com/silviuaavram) - \[code-infra] Widen [@&#8203;babel/runtime](https://github.com/babel/runtime) range and stop emitting empty class fields ([#&#8203;49276](https://github.com/mui/material-ui/issues/49276)) [@&#8203;brijeshb42](https://github.com/brijeshb42) - \[core] Remove the leftover canary release script ([#&#8203;49163](https://github.com/mui/material-ui/issues/49163)) [@&#8203;Janpot](https://github.com/Janpot) - \[core] Replace [@&#8203;mui/internal-waterfall](https://github.com/mui/internal-waterfall) with es-toolkit ([#&#8203;49155](https://github.com/mui/material-ui/issues/49155)) [@&#8203;Janpot](https://github.com/Janpot) - \[core] Update release publish tags from `next` to `latest` ([#&#8203;49381](https://github.com/mui/material-ui/issues/49381)) [@&#8203;mnajdova](https://github.com/mnajdova) - \[docs-infra] Generate the accessibility Known gaps table ([#&#8203;49355](https://github.com/mui/material-ui/issues/49355)) [@&#8203;michelengelen](https://github.com/michelengelen) - \[docs-infra] Harden the OG image edge function ([#&#8203;49116](https://github.com/mui/material-ui/issues/49116)) [@&#8203;Janpot](https://github.com/Janpot) - \[docs-infra] Make core-docs agnostic of styled-components ([#&#8203;49138](https://github.com/mui/material-ui/issues/49138)) [@&#8203;Janpot](https://github.com/Janpot) - \[docs-infra] Migrate deploy-succeeded to event-triggered function ([#&#8203;49158](https://github.com/mui/material-ui/issues/49158)) [@&#8203;brijeshb42](https://github.com/brijeshb42) - \[docs-infra] Pin StackBlitz demo vite to v7 and plugin-react to v5 ([#&#8203;49151](https://github.com/mui/material-ui/issues/49151)) [@&#8203;Janpot](https://github.com/Janpot) - \[docs-infra] Rate-limit the documentation feedback endpoint ([#&#8203;49115](https://github.com/mui/material-ui/issues/49115)) [@&#8203;Janpot](https://github.com/Janpot) - \[docs-infra] Retire the docs service worker ([#&#8203;49202](https://github.com/mui/material-ui/issues/49202)) [@&#8203;Janpot](https://github.com/Janpot) - \[docs-infra] Update the deploy script to fetch from the v9.x branch ([#&#8203;49371](https://github.com/mui/material-ui/issues/49371)) [@&#8203;mnajdova](https://github.com/mnajdova) - \[docs-infra] Validate docs feedback content before posting to Slack ([#&#8203;49088](https://github.com/mui/material-ui/issues/49088)) [@&#8203;Janpot](https://github.com/Janpot) - \[material] Convert colors to TypeScript ([#&#8203;49180](https://github.com/mui/material-ui/issues/49180)) [@&#8203;Janpot](https://github.com/Janpot) - \[material] Convert utils and six barrels to TypeScript ([#&#8203;49185](https://github.com/mui/material-ui/issues/49185)) [@&#8203;Janpot](https://github.com/Janpot) - \[test] Add a palette contrast contract for the accessibility reports ([#&#8203;49049](https://github.com/mui/material-ui/issues/49049)) [@&#8203;michelengelen](https://github.com/michelengelen) - \[test] Add a visual regression fixture for the DocSearch modal ([#&#8203;49002](https://github.com/mui/material-ui/issues/49002)) [@&#8203;LukasTy](https://github.com/LukasTy) - \[test] Automate WCAG 2.4.7 Focus Visible checks ([#&#8203;49268](https://github.com/mui/material-ui/issues/49268)) [@&#8203;michelengelen](https://github.com/michelengelen) - \[test] Fix flaky DocSearch modal screenshots ([#&#8203;49122](https://github.com/mui/material-ui/issues/49122)) [@&#8203;LukasTy](https://github.com/LukasTy) - \[test] Fix Vitest imports ([#&#8203;49184](https://github.com/mui/material-ui/issues/49184)) [@&#8203;silviuaavram](https://github.com/silviuaavram) - \[test] Load the regression fonts from npm instead of Google Fonts ([#&#8203;49357](https://github.com/mui/material-ui/issues/49357)) [@&#8203;Janpot](https://github.com/Janpot) - \[test] Run module augmentation tests against built declarations ([#&#8203;49142](https://github.com/mui/material-ui/issues/49142)) [@&#8203;LukasTy](https://github.com/LukasTy) - \[test]\[accordion] Add axe tests and WCAG conformance reports ([#&#8203;48924](https://github.com/mui/material-ui/issues/48924)) [@&#8203;michelengelen](https://github.com/michelengelen) - \[test]\[avatar] Add axe tests and WCAG conformance report ([#&#8203;48917](https://github.com/mui/material-ui/issues/48917)) [@&#8203;michelengelen](https://github.com/michelengelen) - \[test]\[avatar] Move the accessibility fixture to the fixture tree ([#&#8203;49087](https://github.com/mui/material-ui/issues/49087)) [@&#8203;michelengelen](https://github.com/michelengelen) - \[test]\[button] Add axe test coverage and WCAG conformance report ([#&#8203;48916](https://github.com/mui/material-ui/issues/48916)) [@&#8203;michelengelen](https://github.com/michelengelen) - \[test]\[checkbox] Add axe tests and WCAG conformance report ([#&#8203;48918](https://github.com/mui/material-ui/issues/48918)) [@&#8203;michelengelen](https://github.com/michelengelen) - \[test]\[docs-infra] Reduce timing dependencies in the cookie consent test ([#&#8203;49154](https://github.com/mui/material-ui/issues/49154)) [@&#8203;LukasTy](https://github.com/LukasTy) - \[test]\[linearprogress] Add axe tests and WCAG conformance report ([#&#8203;48922](https://github.com/mui/material-ui/issues/48922)) [@&#8203;michelengelen](https://github.com/michelengelen) - \[test]\[pagination] Add tests for zero boundary and sibling counts ([#&#8203;49118](https://github.com/mui/material-ui/issues/49118)) [@&#8203;Janpot](https://github.com/Janpot) - \[test]\[radio] Add axe tests and WCAG conformance reports ([#&#8203;48920](https://github.com/mui/material-ui/issues/48920)) [@&#8203;michelengelen](https://github.com/michelengelen) - \[test]\[switch] Add axe tests and WCAG conformance report ([#&#8203;48919](https://github.com/mui/material-ui/issues/48919)) [@&#8203;michelengelen](https://github.com/michelengelen) - \[test]\[textfield] Add axe tests and WCAG conformance report ([#&#8203;48923](https://github.com/mui/material-ui/issues/48923)) [@&#8203;michelengelen](https://github.com/michelengelen) - \[test]\[togglebutton] Add axe tests and WCAG conformance reports ([#&#8203;48921](https://github.com/mui/material-ui/issues/48921)) [@&#8203;michelengelen](https://github.com/michelengelen) All contributors of this release in alphabetical order: [@&#8203;aarongarciah](https://github.com/aarongarciah), [@&#8203;alexfauquette](https://github.com/alexfauquette), [@&#8203;brijeshb42](https://github.com/brijeshb42), [@&#8203;crispinc-omnea](https://github.com/crispinc-omnea), [@&#8203;Cunninger](https://github.com/Cunninger), [@&#8203;Denimworld12](https://github.com/Denimworld12), [@&#8203;dizhurnikita](https://github.com/dizhurnikita), [@&#8203;itd-mb](https://github.com/itd-mb), [@&#8203;Janpot](https://github.com/Janpot), [@&#8203;kwy404](https://github.com/kwy404), [@&#8203;lazerg](https://github.com/lazerg), [@&#8203;LeusMaximus](https://github.com/LeusMaximus), [@&#8203;ludij](https://github.com/ludij), [@&#8203;LukasTy](https://github.com/LukasTy), [@&#8203;mateuseap](https://github.com/mateuseap), [@&#8203;michelengelen](https://github.com/michelengelen), [@&#8203;minwookshin](https://github.com/minwookshin), [@&#8203;mj12albert](https://github.com/mj12albert), [@&#8203;mnajdova](https://github.com/mnajdova), [@&#8203;oliviertassinari](https://github.com/oliviertassinari), [@&#8203;OskarEichler](https://github.com/OskarEichler), [@&#8203;sai6855](https://github.com/sai6855), [@&#8203;silviuaavram](https://github.com/silviuaavram), [@&#8203;siriwatknp](https://github.com/siriwatknp), [@&#8203;starboyvarun](https://github.com/starboyvarun), [@&#8203;usamabhatti1998](https://github.com/usamabhatti1998), [@&#8203;valkiara](https://github.com/valkiara), [@&#8203;ZeeshanTamboli](https://github.com/ZeeshanTamboli) ### [`v9.4.0`](https://github.com/mui/material-ui/blob/HEAD/CHANGELOG.md#940) [Compare Source](https://github.com/mui/material-ui/compare/v9.3.1...v9.4.0) <!-- generated comparing v9.3.1..master --> *Aug 27, 2026* A big thanks to the 19 contributors who made this release possible. Here are some highlights ✨: - ♿️ Opt in to a consistent [keyboard focus ring](https://mui.com/material-ui/customization/focus-visible/) across components with the new `theme.focusVisible`. - ♿️ The [Tooltip](https://mui.com/material-ui/react-tooltip/) now supports disabled button triggers without an extra wrapper element. ##### `@mui/material@9.4.0` - \[theme] Add `theme.focusVisible` opt-in keyboard focus ring ([#&#8203;48743](https://github.com/mui/material-ui/issues/48743)) [@&#8203;siriwatknp](https://github.com/siriwatknp) - \[buttongroup] Prevent sticky hover border on touch devices ([#&#8203;48993](https://github.com/mui/material-ui/issues/48993)) [@&#8203;petr-kratochvil](https://github.com/petr-kratochvil) - \[l10n] Complete Traditional Chinese localization ([#&#8203;48946](https://github.com/mui/material-ui/issues/48946)) [@&#8203;nrps9909](https://github.com/nrps9909) - \[menulist] Preserve custom list padding when adjusting for the scrollbar ([#&#8203;48707](https://github.com/mui/material-ui/issues/48707)) [@&#8203;creazyfrog](https://github.com/creazyfrog) - \[pagination] Manage focus whenever first / last / next / previous buttons become disabled ([#&#8203;48877](https://github.com/mui/material-ui/issues/48877)) [@&#8203;silviuaavram](https://github.com/silviuaavram) - \[tooltip] Improve support for disabled button triggers ([#&#8203;48622](https://github.com/mui/material-ui/issues/48622)) [@&#8203;mayank99](https://github.com/mayank99) ##### `@mui/utils@9.4.0` - Fix resolveProps to correctly merge slotProps defined as functions ([#&#8203;48955](https://github.com/mui/material-ui/issues/48955)) [@&#8203;mnajdova](https://github.com/mnajdova) - Replace deprecated `clip` CSS property with `clip-path` ([#&#8203;48966](https://github.com/mui/material-ui/issues/48966)) [@&#8203;ZeeshanTamboli](https://github.com/ZeeshanTamboli) ##### `@mui/styled-engine-sc@9.4.0` - Fix types for components extended with styled ([#&#8203;45988](https://github.com/mui/material-ui/issues/45988)) [@&#8203;megos](https://github.com/megos) ##### Docs - Bump [@&#8203;docsearch/react](https://github.com/docsearch/react) to ^4.7.0 ([#&#8203;48886](https://github.com/mui/material-ui/issues/48886)) [@&#8203;LukasTy](https://github.com/LukasTy) - Fix broken links reported by Ahrefs ([#&#8203;48949](https://github.com/mui/material-ui/issues/48949)) [@&#8203;brijeshb42](https://github.com/brijeshb42) - Manage focus on Open in Chat button click ([#&#8203;48942](https://github.com/mui/material-ui/issues/48942)) [@&#8203;silviuaavram](https://github.com/silviuaavram) - Move focus to the main content with the skip link ([#&#8203;48944](https://github.com/mui/material-ui/issues/48944)) [@&#8203;lazerg](https://github.com/lazerg) - Use relative link for LICENSE in README ([#&#8203;49040](https://github.com/mui/material-ui/issues/49040)) [@&#8203;loulanyue](https://github.com/loulanyue) - \[autocomplete] Remove the "aria-owns" reference ([#&#8203;48958](https://github.com/mui/material-ui/issues/48958)) [@&#8203;silviuaavram](https://github.com/silviuaavram) - \[table] Fix wrong number of rows reported to screen readers ([#&#8203;47653](https://github.com/mui/material-ui/issues/47653)) [@&#8203;seomsoo](https://github.com/seomsoo) - \[table] Reference DataGrid link in the row header section ([#&#8203;48988](https://github.com/mui/material-ui/issues/48988)) [@&#8203;silviuaavram](https://github.com/silviuaavram) - \[table] Use and document the row header cells ([#&#8203;48965](https://github.com/mui/material-ui/issues/48965)) [@&#8203;silviuaavram](https://github.com/silviuaavram) - \[tabs] Make tab panel focusable and show keep mounted examples ([#&#8203;48939](https://github.com/mui/material-ui/issues/48939)) [@&#8203;silviuaavram](https://github.com/silviuaavram) - \[templates] Remove focusable links from hidden carousel slides ([#&#8203;49003](https://github.com/mui/material-ui/issues/49003)) [@&#8203;gonzoblasco](https://github.com/gonzoblasco) ##### Core - \[code-infra] Fix team sync review requests ([#&#8203;48914](https://github.com/mui/material-ui/issues/48914)) [@&#8203;brijeshb42](https://github.com/brijeshb42) - \[code-infra] Import the test globals from vitest ([#&#8203;49033](https://github.com/mui/material-ui/issues/49033)) [@&#8203;JCQuintas](https://github.com/JCQuintas) - \[code-infra] Point the support validator link at frontend-public ([#&#8203;49041](https://github.com/mui/material-ui/issues/49041)) [@&#8203;Janpot](https://github.com/Janpot) - \[code-infra] Update CircleCI orb ([#&#8203;49030](https://github.com/mui/material-ui/issues/49030)) [@&#8203;Janpot](https://github.com/Janpot) - \[code-infra] Use ESM current directory syntax for Vitest config ([#&#8203;49032](https://github.com/mui/material-ui/issues/49032)) [@&#8203;ZeeshanTamboli](https://github.com/ZeeshanTamboli) - \[core] Use [@&#8203;typescript/typescript6](https://github.com/typescript/typescript6) for the docs tooling ([#&#8203;49025](https://github.com/mui/material-ui/issues/49025)) [@&#8203;Janpot](https://github.com/Janpot) - \[core-docs] Remove the `globalSelector` stylis middleware ([#&#8203;49029](https://github.com/mui/material-ui/issues/49029)) [@&#8203;Janpot](https://github.com/Janpot) - \[test] Add an `assertions` mode to the axe regression harness ([#&#8203;48915](https://github.com/mui/material-ui/issues/48915)) [@&#8203;michelengelen](https://github.com/michelengelen) - \[test] Automate the CSS-dependent WCAG criteria ([#&#8203;48936](https://github.com/mui/material-ui/issues/48936)) [@&#8203;michelengelen](https://github.com/michelengelen) - \[test] Fail the regression run when a webfont does not load ([#&#8203;48948](https://github.com/mui/material-ui/issues/48948)) [@&#8203;LukasTy](https://github.com/LukasTy) - \[test] Fix typo 'overriden' -> 'overridden' in Alert test comment ([#&#8203;48987](https://github.com/mui/material-ui/issues/48987)) [@&#8203;FirmaSpring](https://github.com/FirmaSpring) - \[test] Replace webfontloader with the CSS Font Loading API ([#&#8203;48995](https://github.com/mui/material-ui/issues/48995)) [@&#8203;LukasTy](https://github.com/LukasTy) - \[test] Skip the CrudDashboard VRT on React 18 ([#&#8203;49027](https://github.com/mui/material-ui/issues/49027)) [@&#8203;Janpot](https://github.com/Janpot) - \[test] Use the shared loadFonts from [@&#8203;mui/internal-test-utils](https://github.com/mui/internal-test-utils) ([#&#8203;49007](https://github.com/mui/material-ui/issues/49007)) [@&#8203;LukasTy](https://github.com/LukasTy) - \[test] Use the Vitest global expect instead of importing chai ([#&#8203;48996](https://github.com/mui/material-ui/issues/48996)) [@&#8203;JCQuintas](https://github.com/JCQuintas) - \[test]\[tooltip] Keep the disabled trigger away from the real pointer ([#&#8203;48947](https://github.com/mui/material-ui/issues/48947)) [@&#8203;LukasTy](https://github.com/LukasTy) All contributors of this release in alphabetical order: [@&#8203;brijeshb42](https://github.com/brijeshb42), [@&#8203;creazyfrog](https://github.com/creazyfrog), [@&#8203;FirmaSpring](https://github.com/FirmaSpring), [@&#8203;gonzoblasco](https://github.com/gonzoblasco), [@&#8203;Janpot](https://github.com/Janpot), [@&#8203;JCQuintas](https://github.com/JCQuintas), [@&#8203;lazerg](https://github.com/lazerg), [@&#8203;loulanyue](https://github.com/loulanyue), [@&#8203;LukasTy](https://github.com/LukasTy), [@&#8203;mayank99](https://github.com/mayank99), [@&#8203;megos](https://github.com/megos), [@&#8203;michelengelen](https://github.com/michelengelen), [@&#8203;mnajdova](https://github.com/mnajdova), [@&#8203;nrps9909](https://github.com/nrps9909), [@&#8203;petr-kratochvil](https://github.com/petr-kratochvil), [@&#8203;seomsoo](https://github.com/seomsoo), [@&#8203;silviuaavram](https://github.com/silviuaavram), [@&#8203;siriwatknp](https://github.com/siriwatknp), [@&#8203;ZeeshanTamboli](https://github.com/ZeeshanTamboli) ### [`v9.3.1`](https://github.com/mui/material-ui/blob/HEAD/CHANGELOG.md#931) [Compare Source](https://github.com/mui/material-ui/compare/v9.3.0...v9.3.1) <!-- generated comparing v9.3.0..master --> *Aug 6, 2026* A big thanks to the 4 contributors who made this release possible. ##### `@mui/material@9.3.1` - \[transitions] Prevent exit transitions from getting stuck ([#&#8203;48881](https://github.com/mui/material-ui/issues/48881)) [@&#8203;ZeeshanTamboli](https://github.com/ZeeshanTamboli) ##### `@mui/codemod@9.3.1` - Include transforms in published package ([#&#8203;48934](https://github.com/mui/material-ui/issues/48934)) [@&#8203;brijeshb42](https://github.com/brijeshb42) ##### Core - \[blog] Clarify early bird renewal discount scope ([#&#8203;48906](https://github.com/mui/material-ui/issues/48906)) [@&#8203;DanailH](https://github.com/DanailH) - \[test]\[pagination] Add more unit tests ([#&#8203;48927](https://github.com/mui/material-ui/issues/48927)) [@&#8203;silviuaavram](https://github.com/silviuaavram) All contributors of this release in alphabetical order: [@&#8203;brijeshb42](https://github.com/brijeshb42), [@&#8203;DanailH](https://github.com/DanailH), [@&#8203;silviuaavram](https://github.com/silviuaavram), [@&#8203;ZeeshanTamboli](https://github.com/ZeeshanTamboli) ### [`v9.3.0`](https://github.com/mui/material-ui/blob/HEAD/CHANGELOG.md#930) [Compare Source](https://github.com/mui/material-ui/compare/v9.2.0...v9.3.0) <!-- generated comparing v9.2.0..master --> *Aug 4, 2026* A big thanks to the 18 contributors who made this release possible. Here are some highlights ✨: - ♿️ Keyboard navigation in the [Toggle Button Group](https://mui.com/material-ui/react-toggle-button/) now follows the roving tabindex pattern. - ♿️ The [Autocomplete](https://mui.com/material-ui/react-autocomplete/) announces its loading and no options messages through a new `status` slot. ##### `@mui/material@9.3.0` - \[autocomplete] Wrap the no results and loading messages in an aria live region ([#&#8203;48690](https://github.com/mui/material-ui/issues/48690)) [@&#8203;silviuaavram](https://github.com/silviuaavram) - \[buttongroup] Respect global disableRipple / disableFocusRipple in grouped buttons ([#&#8203;48762](https://github.com/mui/material-ui/issues/48762)) [@&#8203;siriwatknp](https://github.com/siriwatknp) - \[checkbox]\[radio] Respect global disableRipple from MuiButtonBase defaultProps ([#&#8203;48795](https://github.com/mui/material-ui/issues/48795)) [@&#8203;siriwatknp](https://github.com/siriwatknp) - \[formcontrollabel] Add missing `labelPlacementEnd` class ([#&#8203;48843](https://github.com/mui/material-ui/issues/48843)) [@&#8203;siriwatknp](https://github.com/siriwatknp) - \[listitembutton] Fix typos in component code ([#&#8203;48868](https://github.com/mui/material-ui/issues/48868)) [@&#8203;ZeeshanTamboli](https://github.com/ZeeshanTamboli) - \[menuitem] Add `aria-checked` for checkbox and radio menu items ([#&#8203;48651](https://github.com/mui/material-ui/issues/48651)) [@&#8203;siriwatknp](https://github.com/siriwatknp) - \[modal] Replace custom findIndexOf with findIndex ([#&#8203;48827](https://github.com/mui/material-ui/issues/48827)) [@&#8203;ZeeshanTamboli](https://github.com/ZeeshanTamboli) - \[modal]\[dialog] Fix scrollbar compensation in Shadow DOM ([#&#8203;48826](https://github.com/mui/material-ui/issues/48826)) [@&#8203;ZeeshanTamboli](https://github.com/ZeeshanTamboli) - \[select] Fix endAdornment overlapping the open indicator ([#&#8203;48723](https://github.com/mui/material-ui/issues/48723)) [@&#8203;siriwatknp](https://github.com/siriwatknp) - \[tablepagination] Add focus style to default InputBase used in Select ([#&#8203;48871](https://github.com/mui/material-ui/issues/48871)) [@&#8203;silviuaavram](https://github.com/silviuaavram) - \[togglebuttongroup] Add roving tabindex keyboard navigation ([#&#8203;48849](https://github.com/mui/material-ui/issues/48849)) [@&#8203;silviuaavram](https://github.com/silviuaavram) ##### `@mui/system@9.3.0` - Prevent prototype pollution in cssVarsParser ([#&#8203;48822](https://github.com/mui/material-ui/issues/48822)) [@&#8203;Janpot](https://github.com/Janpot) ##### `@mui/codemod@9.3.0` - Don't leak state between files in v5.0.0/path-imports ([#&#8203;48797](https://github.com/mui/material-ui/issues/48797)) [@&#8203;manbearwiz](https://github.com/manbearwiz) - Remove use of eval() ([#&#8203;48701](https://github.com/mui/material-ui/issues/48701)) [@&#8203;oliviertassinari](https://github.com/oliviertassinari) - Transform all style exports in `v5.0.0/path-imports` codemod ([#&#8203;48800](https://github.com/mui/material-ui/issues/48800)) [@&#8203;manbearwiz](https://github.com/manbearwiz) ##### Docs - Clarify `container` prop inheritance for Shadow DOM ([#&#8203;48670](https://github.com/mui/material-ui/issues/48670)) [@&#8203;Juan-C-Ceballos](https://github.com/Juan-C-Ceballos) - Clarify third-party script risk in CSP unsafe-inline note ([#&#8203;48787](https://github.com/mui/material-ui/issues/48787)) [@&#8203;Janpot](https://github.com/Janpot) - Document `box-sx-prop` codemod ([#&#8203;48888](https://github.com/mui/material-ui/issues/48888)) [@&#8203;SR0725](https://github.com/SR0725) - Document Grid direction column removal in v9 upgrade guide ([#&#8203;48880](https://github.com/mui/material-ui/issues/48880)) [@&#8203;kalayciburak](https://github.com/kalayciburak) - Fix color contrast in GitHub labels example ([#&#8203;48844](https://github.com/mui/material-ui/issues/48844)) [@&#8203;silviuaavram](https://github.com/silviuaavram) - Fix per-page canonical URL and stale SEO link ([#&#8203;48789](https://github.com/mui/material-ui/issues/48789)) [@&#8203;brijeshb42](https://github.com/brijeshb42) - Fix redirect loop on the Design Kits page ([#&#8203;48869](https://github.com/mui/material-ui/issues/48869)) [@&#8203;Janpot](https://github.com/Janpot) - Fix typo 'overriden' -> 'overridden' in CHANGELOG ([#&#8203;48785](https://github.com/mui/material-ui/issues/48785)) [@&#8203;ZhouYinLong-lab](https://github.com/ZhouYinLong-lab) - Improve TransferList examples ([#&#8203;48845](https://github.com/mui/material-ui/issues/48845)) [@&#8203;silviuaavram](https://github.com/silviuaavram) - Link a new theme generator tool ([#&#8203;48847](https://github.com/mui/material-ui/issues/48847)) [@&#8203;mansourcodes](https://github.com/mansourcodes) - Remove broken learning resource links ([#&#8203;48598](https://github.com/mui/material-ui/issues/48598)) [@&#8203;morning-verlu](https://github.com/morning-verlu) - Update the 9.2.0 changelog ([#&#8203;48763](https://github.com/mui/material-ui/issues/48763)) [@&#8203;silviuaavram](https://github.com/silviuaavram) - \[autocomplete] Clarify how to render custom start and end adornments ([#&#8203;48883](https://github.com/mui/material-ui/issues/48883)) [@&#8203;DebadityaHait](https://github.com/DebadityaHait) - \[drawer] Clarify clipped AppBar spacing ([#&#8203;48887](https://github.com/mui/material-ui/issues/48887)) [@&#8203;rushijagani-dev](https://github.com/rushijagani-dev) - \[menu] Fix stale `selected` prop reference in Selected menu section ([#&#8203;48879](https://github.com/mui/material-ui/issues/48879)) [@&#8203;LukasTy](https://github.com/LukasTy) - \[skeleton] Document preserving typography sizing with custom border radius ([#&#8203;48596](https://github.com/mui/material-ui/issues/48596)) [@&#8203;meaqua9420](https://github.com/meaqua9420) ##### Core - \[blog] Fix caret annotation broken by Prettier wrapping ([#&#8203;48884](https://github.com/mui/material-ui/issues/48884)) [@&#8203;bernardobelchior](https://github.com/bernardobelchior) - \[code-infra] Automate team sync on about page ([#&#8203;48794](https://github.com/mui/material-ui/issues/48794)) [@&#8203;brijeshb42](https://github.com/brijeshb42) - \[code-infra] Bump [@&#8203;mui/internal-code-infra](https://github.com/mui/internal-code-infra) to 0.0.4-canary.101 ([#&#8203;48878](https://github.com/mui/material-ui/issues/48878)) [@&#8203;Janpot](https://github.com/Janpot) - \[code-infra] Fix Dependabot alerts ([#&#8203;48756](https://github.com/mui/material-ui/issues/48756)) [@&#8203;Janpot](https://github.com/Janpot) - \[code-infra] Fix team sync PR creation ([#&#8203;48911](https://github.com/mui/material-ui/issues/48911)) [@&#8203;brijeshb42](https://github.com/brijeshb42) - \[code-infra] Pin node version in publish CI ([#&#8203;48799](https://github.com/mui/material-ui/issues/48799)) [@&#8203;brijeshb42](https://github.com/brijeshb42) - \[core-docs] Tighten service worker host check ([#&#8203;48581](https://github.com/mui/material-ui/issues/48581)) [@&#8203;Janpot](https://github.com/Janpot) - \[docs-infra] Change branch name to the allowed one ([#&#8203;48910](https://github.com/mui/material-ui/issues/48910)) [@&#8203;brijeshb42](https://github.com/brijeshb42) All contributors of this release in alphabetical order: [@&#8203;bernardobelchior](https://github.com/bernardobelchior), [@&#8203;brijeshb42](https://github.com/brijeshb42), [@&#8203;DebadityaHait](https://github.com/DebadityaHait), [@&#8203;Janpot](https://github.com/Janpot), [@&#8203;Juan-C-Ceballos](https://github.com/Juan-C-Ceballos), [@&#8203;kalayciburak](https://github.com/kalayciburak), [@&#8203;LukasTy](https://github.com/LukasTy), [@&#8203;manbearwiz](https://github.com/manbearwiz), [@&#8203;mansourcodes](https://github.com/mansourcodes), [@&#8203;meaqua9420](https://github.com/meaqua9420), [@&#8203;morning-verlu](https://github.com/morning-verlu), [@&#8203;oliviertassinari](https://github.com/oliviertassinari), [@&#8203;rushijagani-dev](https://github.com/rushijagani-dev), [@&#8203;silviuaavram](https://github.com/silviuaavram), [@&#8203;siriwatknp](https://github.com/siriwatknp), [@&#8203;SR0725](https://github.com/SR0725), [@&#8203;ZeeshanTamboli](https://github.com/ZeeshanTamboli), [@&#8203;ZhouYinLong-lab](https://github.com/ZhouYinLong-lab) ### [`v9.2.0`](https://github.com/mui/material-ui/blob/HEAD/CHANGELOG.md#920) [Compare Source](https://github.com/mui/material-ui/compare/v9.1.2...v9.2.0) <!-- generated comparing v9.1.2..master --> *Jul 3, 2026* A big thanks to the 9 contributors who made this release possible. - ⚙️ Add support for [`data-*` attributes on `slotProps`](https://mui.com/material-ui/guides/typescript/#allowing-data-attributes-on-slotprops). ##### `@mui/material@9.2.0` - \[l10n] Add missing MuiPagination localization to zh-CN locale ([#&#8203;48741](https://github.com/mui/material-ui/issues/48741)) [@&#8203;greymoth-jp](https://github.com/greymoth-jp) - \[select] Guard display ref during mouse down ([#&#8203;48744](https://github.com/mui/material-ui/issues/48744)) [@&#8203;michelengelen](https://github.com/michelengelen) ##### `@mui/utils@9.2.0` - \[utils] Add opt-in `DataAttributesOverrides` augmentation for slot props ([#&#8203;48554](https://github.com/mui/material-ui/issues/48554)) [@&#8203;LukasTy](https://github.com/LukasTy) ##### Docs - \[docs] Improve Icon Dialog responsiveness on small screens ([#&#8203;48639](https://github.com/mui/material-ui/issues/48639)) [@&#8203;Prakash1185](https://github.com/Prakash1185) - \[docs] Fix invalid UTF-8 in skill references ([#&#8203;48739](https://github.com/mui/material-ui/issues/48739)) [@&#8203;mturac](https://github.com/mturac) ##### Core - \[code-infra] Resolve Renovate dashboard warnings ([#&#8203;48700](https://github.com/mui/material-ui/issues/48700)) [@&#8203;Sushantplive](https://github.com/Sushantplive) - \[code-infra] Validate npm publishing through dry run ([#&#8203;48691](https://github.com/mui/material-ui/issues/48691)) [@&#8203;brijeshb42](https://github.com/brijeshb42) - \[code-infra] Run prettier after renovate update ([#&#8203;48754](https://github.com/mui/material-ui/issues/48754)) [@&#8203;Janpot](https://github.com/Janpot) - \[code-infra] Fix 'A11y results committed?' check on react-pinned nightly jobs ([#&#8203;48740](https://github.com/mui/material-ui/issues/48740)) [@&#8203;Janpot](https://github.com/Janpot) - \[core] Remove leftover Joy UI references ([#&#8203;48719](https://github.com/mui/material-ui/issues/48719)) [@&#8203;siriwatknp](https://github.com/siriwatknp) - \[code-infra] Bump react-router to 7.15.1 ([#&#8203;48725](https://github.com/mui/material-ui/issues/48725)) [@&#8203;Janpot](https://github.com/Janpot) - \[docs-infra] Drive docs analytics IDs via ANALYTICS_ENV ([#&#8203;48694](https://github.com/mui/material-ui/issues/48694)) [@&#8203;Janpot](https://github.com/Janpot) - \[docs-infra] Pre-render API page descriptions ([#&#8203;48693](https://github.com/mui/material-ui/issues/48693)) [@&#8203;brijeshb42](https://github.com/brijeshb42) - \[code-infra]\[icons-material] Build lib/package.json with code-infra --no-expand ([#&#8203;48689](https://github.com/mui/material-ui/issues/48689)) [@&#8203;Janpot](https://github.com/Janpot) - \[code-infra] Fix react\@&#8203;18/next nightly workflow ([#&#8203;48635](https://github.com/mui/material-ui/issues/48635)) [@&#8203;Janpot](https://github.com/Janpot) All contributors of this release in alphabetical order: [@&#8203;brijeshb42](https://github.com/brijeshb42), [@&#8203;greymoth-jp](https://github.com/greymoth-jp), [@&#8203;Janpot](https://github.com/Janpot), [@&#8203;LukasTy](https://github.com/LukasTy), [@&#8203;michelengelen](https://github.com/michelengelen), [@&#8203;mturac](https://github.com/mturac), [@&#8203;Prakash1185](https://github.com/Prakash1185), [@&#8203;siriwatknp](https://github.com/siriwatknp), [@&#8203;Sushantplive](https://github.com/Sushantplive) ### [`v9.1.2`](https://github.com/mui/material-ui/blob/HEAD/CHANGELOG.md#912) [Compare Source](https://github.com/mui/material-ui/compare/v9.1.1...v9.1.2) <!-- generated comparing v9.1.1..master --> *Jun 23, 2026* A big thanks to the 5 contributors who made this release possible. ##### `@mui/material@9.1.2` - \[autocomplete] Don't submit forms when committing `freeSolo` value with Enter key ([#&#8203;48679](https://github.com/mui/material-ui/issues/48679)) [@&#8203;mj12albert](https://github.com/mj12albert) - \[transitions] Fix RTG import in ESM ([#&#8203;48645](https://github.com/mui/material-ui/issues/48645)) [@&#8203;mj12albert](https://github.com/mj12albert) ##### `@mui/system@9.1.2` - \[InitColorSchemeScript] Fix script tag warning in Next.js 16 dev mode ([#&#8203;48671](https://github.com/mui/material-ui/issues/48671)) [@&#8203;siriwatknp](https://github.com/siriwatknp) ##### Docs - Fix typos in release instructions ([#&#8203;48687](https://github.com/mui/material-ui/issues/48687)) [@&#8203;brijeshb42](https://github.com/brijeshb42) - Update [@&#8203;mui/x-](https://github.com/mui/x-)\* packages to latest ([#&#8203;48661](https://github.com/mui/material-ui/issues/48661)) [@&#8203;Janpot](https://github.com/Janpot) ##### Core - \[code-infra] Convert leaf [@&#8203;mui/system](https://github.com/mui/system) .js+.d.ts pairs to TypeScript (part 1) ([#&#8203;48578](https://github.com/mui/material-ui/issues/48578)) [@&#8203;Janpot](https://github.com/Janpot) - \[code-infra] Bump to latest code-infra packages ([#&#8203;48672](https://github.com/mui/material-ui/issues/48672)) [@&#8203;brijeshb42](https://github.com/brijeshb42) - \[code-infra] Resolve remaining minimatch advisory ([#&#8203;48662](https://github.com/mui/material-ui/issues/48662)) [@&#8203;Janpot](https://github.com/Janpot) - \[code-infra] Bump nx to resolve minimatch advisory ([#&#8203;48658](https://github.com/mui/material-ui/issues/48658)) [@&#8203;Janpot](https://github.com/Janpot) - \[core] Drop @&#8203;babel/\* pnpm overrides ([#&#8203;48710](https://github.com/mui/material-ui/issues/48710)) [@&#8203;Janpot](https://github.com/Janpot) - \[docs-infra] Revert "Pin StackBlitz demo vite to v7 and plugin-react to v5" ([#&#8203;48709](https://github.com/mui/material-ui/issues/48709)) [@&#8203;Janpot](https://github.com/Janpot) - \[docs-infra] Fix code-block copy button broken on direct page load ([#&#8203;48653](https://github.com/mui/material-ui/issues/48653)) [@&#8203;brijeshb42](https://github.com/brijeshb42) - \[test] Stabilize Data Grid demo data in Argos screenshots ([#&#8203;48654](https://github.com/mui/material-ui/issues/48654)) [@&#8203;LukasTy](https://github.com/LukasTy) All contributors of this release in alphabetical order: [@&#8203;brijeshb42](https://github.com/brijeshb42), [@&#8203;Janpot](https://github.com/Janpot), [@&#8203;LukasTy](https://github.com/LukasTy), [@&#8203;mj12albert](https://github.com/mj12albert), [@&#8203;siriwatknp](https://github.com/siriwatknp) </details> <details> <summary>typescript-eslint/typescript-eslint (@&#8203;typescript-eslint/eslint-plugin)</summary> ### [`v8.72.1`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8721-2026-10-26) [Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v8.72.0...v8.72.1) ##### 🩹 Fixes - **eslint-plugin:** \[no-unnecessary-type-assertion] bound recursive type traversal instead of catching stack overflows ([#&#8203;13039](https://github.com/typescript-eslint/typescript-eslint/pull/13039)) - **eslint-plugin:** \[no-unnecessary-condition] false positives on unresolved conditional types ([#&#8203;13062](https://github.com/typescript-eslint/typescript-eslint/pull/13062)) ##### ❤️ Thank You - Evyatar Daud [@&#8203;StyleShit](https://github.com/StyleShit) - Josh Ghoulberg 👻 See [GitHub Releases](https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.72.1) for more information. You can read about our [versioning strategy](https://typescript-eslint.io/users/versioning) and [releases](https://typescript-eslint.io/users/releases) on our website. ### [`v8.72.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8720-2026-10-19) [Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v8.71.2...v8.72.0) ##### 🚀 Features - **eslint-plugin:** \[await-thenable] add `allowMixedPromiseArrays` option ([#&#8203;12992](https://github.com/typescript-eslint/typescript-eslint/pull/12992)) - **eslint-plugin:** lazy load rules ([#&#8203;13010](https://github.com/typescript-eslint/typescript-eslint/pull/13010)) ##### 🩹 Fixes - **type-utils:** discriminateAnyType crashes when calling getAwaitedType on awaited type in TS < 5.0 ([#&#8203;13054](https://github.com/typescript-eslint/typescript-eslint/pull/13054)) - **eslint-plugin:** \[require-array-sort-compare] ignore extra this type argument on TS < 5.1 ([#&#8203;13055](https://github.com/typescript-eslint/typescript-eslint/pull/13055)) - **eslint-plugin:** \[require-array-sort-compare] check tuples ([#&#8203;13058](https://github.com/typescript-eslint/typescript-eslint/pull/13058)) - **eslint-plugin:** use isTypeLiteralType instead of type.isLiteral() to include bigint literals on TS < 5.0 ([#&#8203;13053](https://github.com/typescript-eslint/typescript-eslint/pull/13053)) - **eslint-plugin:** \[no-deprecated] report deprecated properties in object literals ([#&#8203;12704](https://github.com/typescript-eslint/typescript-eslint/pull/12704)) - **eslint-plugin:** \[prefer-readonly-parameter-types] check where allowed type aliases are declared ([#&#8203;13016](https://github.com/typescript-eslint/typescript-eslint/pull/13016)) - **typescript-estree:** include leading and trailing comments & whitespace in Program range ([#&#8203;12991](https://github.com/typescript-eslint/typescript-eslint/pull/12991)) ##### ❤️ Thank You - Evyatar Daud [@&#8203;StyleShit](https://github.com/StyleShit) - Junichiro Kasuya [@&#8203;jksy](https://github.com/jksy) - Mitch Fultz [@&#8203;fitchmultz](https://github.com/fitchmultz) See [GitHub Releases](https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.72.0) for more information. You can read about our [versioning strategy](https://typescript-eslint.io/users/versioning) and [releases](https://typescript-eslint.io/users/releases) on our website. ### [`v8.71.2`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8712-2026-10-12) [Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v8.71.1...v8.71.2) ##### 🩹 Fixes - **eslint-plugin:** \[prefer-optional-chain] safe fix when the chain ends with a strict null comparison ([#&#8203;12805](https://github.com/typescript-eslint/typescript-eslint/pull/12805)) - **eslint-plugin:** \[no-unnecessary-type-parameters] parenthesize constraint in optional tuple elements ([#&#8203;12995](https://github.com/typescript-eslint/typescript-eslint/pull/12995)) - **eslint-plugin:** \[no-unused-vars] ignore type-only refs for after-used ([#&#8203;12977](https://github.com/typescript-eslint/typescript-eslint/pull/12977)) - **eslint-plugin:** \[no-unnecessary-type-parameters] count instantiated mapped type templates ([#&#8203;12974](https://github.com/typescript-eslint/typescript-eslint/pull/12974)) - **eslint-plugin:** \[no-unused-vars] avoid false-positives when not using our parser ([#&#8203;12989](https://github.com/typescript-eslint/typescript-eslint/pull/12989)) ##### ❤️ Thank You - Abraham Guo - Brad Zacher [@&#8203;bradzacher](https://github.com/bradzacher) - Josh Goldberg - Vinccool96 - Younsang Na [@&#8203;nayounsang](https://github.com/nayounsang) See [GitHub Releases](https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.71.2) for more information. You can read about our [versioning strategy](https://typescript-eslint.io/users/versioning) and [releases](https://typescript-eslint.io/users/releases) on our website. ### [`v8.71.1`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8711-2026-10-05) [Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v8.71.0...v8.71.1) ##### 🩹 Fixes - **eslint-plugin:** \[no-unnecessary-type-parameters] count instantiated mapped type constraints ([#&#8203;12941](https://github.com/typescript-eslint/typescript-eslint/pull/12941)) - **eslint-plugin:** \[prefer-optional-chain] check the constrained type ([#&#8203;12953](https://github.com/typescript-eslint/typescript-eslint/pull/12953)) - **eslint-plugin:** \[no-confusing-void-expression] don't autofix when declared return type is unknown ([#&#8203;12930](https://github.com/typescript-eslint/typescript-eslint/pull/12930)) - **eslint-plugin:** \[no-unsafe-enum-assignment] skip identical types and bound deep type walks ([#&#8203;12957](https://github.com/typescript-eslint/typescript-eslint/pull/12957)) - **eslint-plugin:** \[require-array-sort-compare] use array argument type constraint ([#&#8203;12919](https://github.com/typescript-eslint/typescript-eslint/pull/12919)) - **eslint-plugin:** \[no-unused-vars] report usedOnlyAsType for partially exported merged declarations ([#&#8203;12892](https://github.com/typescript-eslint/typescript-eslint/pull/12892)) - **eslint-plugin:** \[no-misused-promises] skip argument checks for calls without arguments ([#&#8203;12923](https://github.com/typescript-eslint/typescript-eslint/pull/12923)) ##### ❤️ Thank You - Diptajoy Mistry [@&#8203;diptomistry](https://github.com/diptomistry) - Evyatar Daud [@&#8203;StyleShit](https://github.com/StyleShit) - Josh Goldberg - Josh Goldberg ✨ - Medhansh Poojari See [GitHub Releases](https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.71.1) for more information. You can read about our [versioning strategy](https://typescript-eslint.io/users/versioning) and [releases](https://typescript-eslint.io/users/releases) on our website. ### [`v8.71.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8710-2026-09-28) [Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v8.70.1...v8.71.0) ##### 🚀 Features - **eslint-plugin:** \[no-unsafe-enum-assignment] add rule ([#&#8203;12732](https://github.com/typescript-eslint/typescript-eslint/pull/12732)) ##### 🩹 Fixes - **eslint-plugin:** \[no-misused-promises] handle a return outside of any function ([#&#8203;12912](https://github.com/typescript-eslint/typescript-eslint/pull/12912)) - **eslint-plugin:** \[no-unnecessary-type-assertion] specialize generic assertion report message ([#&#8203;12832](https://github.com/typescript-eslint/typescript-eslint/pull/12832)) - **eslint-plugin:** \[unbound-method] respect `this: void` on class properties ([7fce9127d](https://github.com/typescript-eslint/typescript-eslint/commit/7fce9127d)) - **eslint-plugin:** \[switch-exhaustiveness-check] always sort literal cases in stable order ([#&#8203;12885](https://github.com/typescript-eslint/typescript-eslint/pull/12885)) ##### ❤️ Thank You - Evyatar Daud [@&#8203;StyleShit](https://github.com/StyleShit) - Fatih Çakır [@&#8203;wfatih](https://github.com/wfatih) - Josh Goldberg - Josh Goldberg ✨ - Zamiell [@&#8203;Zamiell](https://github.com/Zamiell) See [GitHub Releases](https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.71.0) for more information. You can read about our [versioning strategy](https://typescript-eslint.io/users/versioning) and [releases](https://typescript-eslint.io/users/releases) on our website. ### [`v8.70.1`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8701-2026-09-21) [Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v8.70.0...v8.70.1) ##### 🩹 Fixes - **eslint-plugin:** \[no-misused-promises] handle multiple Promise constituents ([#&#8203;12904](https://github.com/typescript-eslint/typescript-eslint/pull/12904)) - **eslint-plugin:** \[no-useless-default-assignment] convert the fixer to a suggestion fixer ([#&#8203;12826](https://github.com/typescript-eslint/typescript-eslint/pull/12826)) - **eslint-plugin:** \[no-unnecessary-condition] handle union-keyed index access on the left-hand side of nullish assignment ([#&#8203;12747](https://github.com/typescript-eslint/typescript-eslint/pull/12747)) - **eslint-plugin:** \[unbound-method] treat Intl.Collator.prototype.compare as spec-bound ([#&#8203;12845](https://github.com/typescript-eslint/typescript-eslint/pull/12845)) - **eslint-plugin:** \[no-unnecessary-parameter-property-assignment] account for parameter reassignment ([#&#8203;12880](https://github.com/typescript-eslint/typescript-eslint/pull/12880)) - **eslint-plugin:** \[await-thenable] prevent autofix from breaking code when removing `await` ([#&#8203;12716](https://github.com/typescript-eslint/typescript-eslint/pull/12716)) - **eslint-plugin:** \[no-meaningless-void-operator] allow void on assignment expressions ([#&#8203;12873](https://github.com/typescript-eslint/typescript-eslint/pull/12873)) - **eslint-plugin:** \[no-unnecessary-type-assertion] false positive for empty object asserted to a type alias of Record ([#&#8203;12869](https://github.com/typescript-eslint/typescript-eslint/pull/12869)) - **eslint-plugin:** \[no-misused-spread] omit WeakMap spread suggestions ([#&#8203;12850](https://github.com/typescript-eslint/typescript-eslint/pull/12850)) - **eslint-plugin:** \[no-generated-empty-object-type] don't report a mapped type whose keys are not resolved yet ([#&#8203;12854](https://github.com/typescript-eslint/typescript-eslint/pull/12854)) - **eslint-plugin:** \[no-explicit-any] use unknown\[] for bare any rest parameters ([#&#8203;12818](https://github.com/typescript-eslint/typescript-eslint/pull/12818)) - **eslint-plugin:** \[no-unnecessary-type-parameters] handle type precedence in the suggestion fixer ([#&#8203;12637](https://github.com/typescript-eslint/typescript-eslint/pull/12637)) - **eslint-plugin:** \[no-useless-default-assignment] avoid false positives on tuples with a rest element ([#&#8203;12768](https://github.com/typescript-eslint/typescript-eslint/pull/12768)) ##### ❤️ Thank You - Brad Zacher [@&#8203;bradzacher](https://github.com/bradzacher) - Diptajoy Mistry [@&#8203;diptomistry](https://github.com/diptomistry) - Grit [@&#8203;Grit03](https://github.com/Grit03) - Hugo [@&#8203;hugop95](https://github.com/hugop95) - Michael Naumov [@&#8203;mnaoumov](https://github.com/mnaoumov) - Mikhail Baev [@&#8203;baevm](https://github.com/baevm) - Om Rawat - Sanath [@&#8203;sansynx](https://github.com/sansynx) - Shinji - Vinccool96 - 김채영 [@&#8203;cchaeyoung](https://github.com/cchaeyoung) - 송재욱 See [GitHub Releases](https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.70.1) for more information. You can read about our [versioning strategy](https://typescript-eslint.io/users/versioning) and [releases](https://typescript-eslint.io/users/releases) on our website. ### [`v8.70.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8700-2026-09-07) [Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v8.69.0...v8.70.0) ##### 🚀 Features - **eslint-plugin:** \[no-generated-empty-object-type] add rule ([#&#8203;12730](https://github.com/typescript-eslint/typescript-eslint/pull/12730)) ##### 🩹 Fixes - **eslint-plugin:** \[no-deprecated] report deprecated imported values used in object shorthand properties ([#&#8203;12780](https://github.com/typescript-eslint/typescript-eslint/pull/12780)) - **eslint-plugin:** \[no-unnecessary-condition] no false positive on RHS of a nested logical expression ([#&#8203;12728](https://github.com/typescript-eslint/typescript-eslint/pull/12728)) - **eslint-plugin:** \[member-ordering] don't report fields that read fields declared before them ([#&#8203;12729](https://github.com/typescript-eslint/typescript-eslint/pull/12729)) ##### ❤️ Thank You - Josh Goldberg ✨ [@&#8203;JoshuaKGoldberg](https://github.com/JoshuaKGoldberg) - Ulrich Stark [@&#8203;ulrichstark](https://github.com/ulrichstark) See [GitHub Releases](https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.70.0) for more information. You can read about our [versioning strategy](https://typescript-eslint.io/users/versioning) and [releases](https://typescript-eslint.io/users/releases) on our website. ### [`v8.69.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8690-2026-08-31) [Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v8.68.0...v8.69.0) ##### 🚀 Features - **eslint-plugin:** \[no-misused-promises] add flagUnions option for checkConditionals ([#&#8203;12603](https://github.com/typescript-eslint/typescript-eslint/pull/12603)) ##### 🩹 Fixes - **eslint-plugin:** \[no-meaningless-void-operator] report void on non-call expressions ([#&#8203;12727](https://github.com/typescript-eslint/typescript-eslint/pull/12727)) - **eslint-plugin:** \[unified-signatures] compare type parameters by constraint instead of name ([#&#8203;12741](https://github.com/typescript-eslint/typescript-eslint/pull/12741)) - **eslint-plugin:** \[no-mixed-enums] use scope analysis instead of type checking for merged namespaces ([#&#8203;12731](https://github.com/typescript-eslint/typescript-eslint/pull/12731)) ##### ❤️ Thank You - Abdu Alim Arlikhozhaev [@&#8203;Arlikhozhaev](https://github.com/Arlikhozhaev) - Evyatar Daud [@&#8203;StyleShit](https://github.com/StyleShit) - Josh Goldberg ✨ - wonbeanie [@&#8203;wonbeanie](https://github.com/wonbeanie) See [GitHub Releases](https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.69.0) for more information. You can read about our [versioning strategy](https://typescript-eslint.io/users/versioning) and [releases](https://typescript-eslint.io/users/releases) on our website. ### [`v8.68.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8680-2026-08-24) [Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v8.67.0...v8.68.0) ##### 🚀 Features - **eslint-plugin:** \[strict-void-return] add fix suggestions ([#&#8203;12086](https://github.com/typescript-eslint/typescript-eslint/pull/12086)) ##### 🩹 Fixes - **eslint-plugin:** \[no-empty-object-type] ignore suggestions that result in invalid interfaces and export defaults ([#&#8203;12739](https://github.com/typescript-eslint/typescript-eslint/pull/12739)) - **eslint-plugin:** \[no-floating-promises] setting `ignoreVoid: false` results in false negative in ArrowFunctionExpression ([#&#8203;12646](https://github.com/typescript-eslint/typescript-eslint/pull/12646)) - **eslint-plugin:** \[no-unnecessary-type-assertion] prevent stack overflow in recursive types ([#&#8203;12711](https://github.com/typescript-eslint/typescript-eslint/pull/12711)) - **eslint-plugin:** \[unified-signatures] report identical signatures ([#&#8203;12678](https://github.com/typescript-eslint/typescript-eslint/pull/12678)) - **eslint-plugin:** \[return-await] prevent autofix from breaking code in arrow-functions ([#&#8203;12707](https://github.com/typescript-eslint/typescript-eslint/pull/12707)) - **eslint-plugin:** \[unified-signatures] deduplicate types in report ([#&#8203;12656](https://github.com/typescript-eslint/typescript-eslint/pull/12656)) ##### ❤️ Thank You - Evyatar Daud [@&#8203;StyleShit](https://github.com/StyleShit) - Hugo [@&#8203;hugop95](https://github.com/hugop95) - Niki [@&#8203;phaux](https://github.com/phaux) - Younsang Na [@&#8203;nayounsang](https://github.com/nayounsang) See [GitHub Releases](https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.68.0) for more information. You can read about our [versioning strategy](https://typescript-eslint.io/users/versioning) and [releases](https://typescript-eslint.io/users/releases) on our website. ### [`v8.67.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8670-2026-08-10) [Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v8.66.0...v8.67.0) This was a version bump only for eslint-plugin to align it with other projects, there were no code changes. See [GitHub Releases](https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.67.0) for more information. You can read about our [versioning strategy](https://typescript-eslint.io/users/versioning) and [releases](https://typescript-eslint.io/users/releases) on our website. ### [`v8.66.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8660-2026-08-03) [Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v8.65.0...v8.66.0) ##### 🩹 Fixes - **eslint-plugin:** \[class-literal-property-style] preserve type annotations and don't drop decorators ([#&#8203;12617](https://github.com/typescript-eslint/typescript-eslint/pull/12617)) - **eslint-plugin:** \[no-unnecessary-type-parameters] check MappedType key remapping ([#&#8203;12588](https://github.com/typescript-eslint/typescript-eslint/pull/12588)) - **eslint-plugin:** \[no-useless-default-assignment] don't report defaults used by other overloads ([#&#8203;12607](https://github.com/typescript-eslint/typescript-eslint/pull/12607)) - **eslint-plugin:** \[prefer-nullish-coalescing] handle shadowed Boolean calls ([#&#8203;12591](https://github.com/typescript-eslint/typescript-eslint/pull/12591)) - **eslint-plugin:** \[no-unnecessary-type-conversion] ignore shadowed built-ins ([#&#8203;12590](https://github.com/typescript-eslint/typescript-eslint/pull/12590)) ##### ❤️ Thank You - Evyatar Daud [@&#8203;StyleShit](https://github.com/StyleShit) - 송재욱 See [GitHub Releases](https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.66.0) for more information. You can read about our [versioning strategy](https://typescript-eslint.io/users/versioning) and [releases](https://typescript-eslint.io/users/releases) on our website. ### [`v8.65.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8650-2026-07-20) [Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v8.64.0...v8.65.0) ##### 🚀 Features - **eslint-plugin:** \[no-shadow] specialized error on enum declaration and member shadowing ([#&#8203;12578](https://github.com/typescript-eslint/typescript-eslint/pull/12578)) - add warning when TS 7 is detected ([#&#8203;12529](https://github.com/typescript-eslint/typescript-eslint/pull/12529)) - **eslint-plugin:** \[no-restricted-imports] deprecate extension rule ([#&#8203;12527](https://github.com/typescript-eslint/typescript-eslint/pull/12527), [#&#8203;19562](https://github.com/typescript-eslint/typescript-eslint/issues/19562), [#&#8203;11889](https://github.com/typescript-eslint/typescript-eslint/issues/11889)) ##### 🩹 Fixes - **eslint-plugin:** \[no-unnecessary-parameter-property-assignment] don't flag computed assignments with a variable key ([#&#8203;12568](https://github.com/typescript-eslint/typescript-eslint/pull/12568)) - **eslint-plugin:** \[unbound-method] report unbound methods accessed via member expression on union types ([#&#8203;12448](https://github.com/typescript-eslint/typescript-eslint/pull/12448)) - **eslint-plugin:** \[prefer-string-starts-ends-with] handle escaped $ ending regex literals ([#&#8203;12515](https://github.com/typescript-eslint/typescript-eslint/pull/12515)) ##### ❤️ Thank You - Evyatar Daud [@&#8203;StyleShit](https://github.com/StyleShit) - Josh Goldberg ✨ - Kirk Waiblinger [@&#8203;kirkwaiblinger](https://github.com/kirkwaiblinger) - Serhii Leniv [@&#8203;Serhii-Leniv](https://github.com/Serhii-Leniv) - 송재욱 See [GitHub Releases](https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.65.0) for more information. You can read about our [versioning strategy](https://typescript-eslint.io/users/versioning) and [releases](https://typescript-eslint.io/users/releases) on our website. ### [`v8.64.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8640-2026-07-13) [Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v8.63.0...v8.64.0) ##### 🚀 Features - **eslint-plugin:** \[no-loop-func] support `using` / `await using` declarations and deprecate the rule ([#&#8203;12500](https://github.com/typescript-eslint/typescript-eslint/pull/12500)) - **typescript-estree:** throw for invalid definite assignment in class properties ([#&#8203;12543](https://github.com/typescript-eslint/typescript-eslint/pull/12543)) ##### 🩹 Fixes - **eslint-plugin:** \[require-array-sort-compare] handle constrained arrays ([#&#8203;12512](https://github.com/typescript-eslint/typescript-eslint/pull/12512)) ##### ❤️ Thank You - Evyatar Daud [@&#8203;StyleShit](https://github.com/StyleShit) - 송재욱 See [GitHub Releases](https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.64.0) for more information. You can read about our [versioning strategy](https://typescript-eslint.io/users/versioning) and [releases](https://typescript-eslint.io/users/releases) on our website. ### [`v8.63.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8630-2026-07-06) [Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v8.62.1...v8.63.0) ##### 🚀 Features - **eslint-plugin:** \[no-misused-promises] detect async usage of a sync dispose usage ([#&#8203;12426](https://github.com/typescript-eslint/typescript-eslint/pull/12426)) ##### 🩹 Fixes - **eslint-plugin:** \[no-base-to-string] don't flag a shadowed String() call ([#&#8203;12492](https://github.com/typescript-eslint/typescript-eslint/pull/12492)) - **eslint-plugin:** \[no-unnecessary-type-assertion] handle optional-chained calls to overloaded functions ([#&#8203;12491](https://github.com/typescript-eslint/typescript-eslint/pull/12491), [#&#8203;12485](https://github.com/typescript-eslint/typescript-eslint/issues/12485)) - **eslint-plugin:** \[method-signature-style] suggest converting readonly function properties instead of emitting invalid syntax ([#&#8203;12447](https://github.com/typescript-eslint/typescript-eslint/pull/12447), [#&#8203;12446](https://github.com/typescript-eslint/typescript-eslint/issues/12446)) ##### ❤️ Thank You - Evyatar Daud [@&#8203;StyleShit](https://github.com/StyleShit) - Kristjan [@&#8203;KristjanTammekivi](https://github.com/KristjanTammekivi) - Michael Naumov [@&#8203;mnaoumov](https://github.com/mnaoumov) - Serhii Leniv [@&#8203;Serhii-Leniv](https://github.com/Serhii-Leniv) - 송재욱 See [GitHub Releases](https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.63.0) for more information. You can read about our [versioning strategy](https://typescript-eslint.io/users/versioning) and [releases](https://typescript-eslint.io/users/releases) on our website. ### [`v8.62.1`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8621-2026-06-29) [Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v8.62.0...v8.62.1) ##### 🩹 Fixes - **eslint-plugin:** \[no-unnecessary-type-assertion] parenthesize object literal at left edge of expression statement ([#&#8203;12443](https://github.com/typescript-eslint/typescript-eslint/pull/12443), [#&#8203;12418](https://github.com/typescript-eslint/typescript-eslint/issues/12418)) - **eslint-plugin:** \[no-unnecessary-boolean-literal-compare] preserve boolean result in fixer for nullable true comparisons ([#&#8203;12365](https://github.com/typescript-eslint/typescript-eslint/pull/12365)) - **eslint-plugin:** \[prefer-optional-chain] use suggestion instead of autofix for trailing binary operator ([#&#8203;12328](https://github.com/typescript-eslint/typescript-eslint/pull/12328)) ##### ❤️ Thank You - Kirk Waiblinger [@&#8203;kirkwaiblinger](https://github.com/kirkwaiblinger) - mdm317 - Patrick Aleite - 송재욱 See [GitHub Releases](https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.62.1) for more information. You can read about our [versioning strategy](https://typescript-eslint.io/users/versioning) and [releases](https://typescript-eslint.io/users/releases) on our website. ### [`v8.62.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8620-2026-06-22) [Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v8.61.1...v8.62.0) ##### 🚀 Features - remove redundant package.json "files" ([#&#8203;12444](https://github.com/typescript-eslint/typescript-eslint/pull/12444)) ##### ❤️ Thank You - Kirk Waiblinger [@&#8203;kirkwaiblinger](https://github.com/kirkwaiblinger) See [GitHub Releases](https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.62.0) for more information. You can read about our [versioning strategy](https://typescript-eslint.io/users/versioning) and [releases](https://typescript-eslint.io/users/releases) on our website. ### [`v8.61.1`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8611-2026-06-15) [Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v8.61.0...v8.61.1) ##### 🩹 Fixes - **eslint-plugin:** \[no-unnecessary-template-expression] respect ECMAScript line terminators ([#&#8203;12388](https://github.com/typescript-eslint/typescript-eslint/pull/12388)) - **eslint-plugin:** \[no-unnecessary-boolean-literal-compare] fix precedence bug in autofix ([#&#8203;12413](https://github.com/typescript-eslint/typescript-eslint/pull/12413)) - **eslint-plugin:** \[no-unnecessary-type-assertion] wrap object literal in parens when removing TSTypeAssertion in arrow body ([#&#8203;12394](https://github.com/typescript-eslint/typescript-eslint/pull/12394), [#&#8203;12393](https://github.com/typescript-eslint/typescript-eslint/issues/12393)) - **eslint-plugin:** \[no-unnecessary-type-assertion] avoid false positive for template literal expressions ([#&#8203;12281](https://github.com/typescript-eslint/typescript-eslint/pull/12281)) - **eslint-plugin:** \[consistent-indexed-object-style] do not remove comments when fixing ([#&#8203;12396](https://github.com/typescript-eslint/typescript-eslint/pull/12396), [#&#8203;10577](https://github.com/typescript-eslint/typescript-eslint/issues/10577)) ##### ❤️ Thank You - Anas [@&#8203;anasm266](https://github.com/anasm266) - Deftera [@&#8203;Deftera186](https://github.com/Deftera186) - Kirk Waiblinger [@&#8203;kirkwaiblinger](https://github.com/kirkwaiblinger) - lumir - Sarath Francis [@&#8203;sarathfrancis90](https://github.com/sarathfrancis90) See [GitHub Releases](https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.61.1) for more information. You can read about our [versioning strategy](https://typescript-eslint.io/users/versioning) and [releases](https://typescript-eslint.io/users/releases) on our website. </details> <details> <summary>typescript-eslint/typescript-eslint (@&#8203;typescript-eslint/parser)</summary> ### [`v8.72.1`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#8721-2026-10-26) [Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v8.72.0...v8.72.1) This was a version bump only for parser to align it with other projects, there were no code changes. See [GitHub Releases](https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.72.1) for more information. You can read about our [versioning strategy](https://typescript-eslint.io/users/versioning) and [releases](https://typescript-eslint.io/users/releases) on our website. ### [`v8.72.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#8720-2026-10-19) [Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v8.71.2...v8.72.0) This was a version bump only for parser to align it with other projects, there were no code changes. See [GitHub Releases](https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.72.0) for more information. You can read about our [versioning strategy](https://typescript-eslint.io/users/versioning) and [releases](https://typescript-eslint.io/users/releases) on our website. ### [`v8.71.2`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#8712-2026-10-12) [Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v8.71.1...v8.71.2) This was a version bump only for parser to align it with other projects, there were no code changes. See [GitHub Releases](https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.71.2) for more information. You can read about our [versioning strategy](https://typescript-eslint.io/users/versioning) and [releases](https://typescript-eslint.io/users/releases) on our website. ### [`v8.71.1`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#8711-2026-10-05) [Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v8.71.0...v8.71.1) This was a version bump only for parser to align it with other projects, there were no code changes. See [GitHub Releases](https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.71.1) for more information. You can read about our [versioning strategy](https://typescript-eslint.io/users/versioning) and [releases](https://typescript-eslint.io/users/releases) on our website. ### [`v8.71.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#8710-2026-09-28) [Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v8.70.1...v8.71.0) This was a version bump only for parser to align it with other projects, there were no code changes. See [GitHub Releases](https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.71.0) for more information. You can read about our [versioning strategy](https://typescript-eslint.io/users/versioning) and [releases](https://typescript-eslint.io/users/releases) on our website. ### [`v8.70.1`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#8701-2026-09-21) [Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v8.70.0...v8.70.1) This was a version bump only for parser to align it with other projects, there were no code changes. See [GitHub Releases](https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.70.1) for more information. You can read about our [versioning strategy](https://typescript-eslint.io/users/versioning) and [releases](https://typescript-eslint.io/users/releases) on our website. ### [`v8.70.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#8700-2026-09-07) [Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v8.69.0...v8.70.0) This was a version bump only for parser to align it with other projects, there were no code changes. See [GitHub Releases](https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.70.0) for more information. You can read about our [versioning strategy](https://typescript-eslint.io/users/versioning) and [releases](https://typescript-eslint.io/users/releases) on our website. ### [`v8.69.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#8690-2026-08-31) [Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v8.68.0...v8.69.0) This was a version bump only for parser to align it with other projects, there were no code changes. See [GitHub Releases](https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.69.0) for more information. You can read about our [versioning strategy](https://typescript-eslint.io/users/versioning) and [releases](https://typescript-eslint.io/users/releases) on our website. ### [`v8.68.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#8680-2026-08-24) [Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v8.67.0...v8.68.0) This was a version bump only for parser to align it with other projects, there were no code changes. See [GitHub Releases](https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.68.0) for more information. You can read about our [versioning strategy](https://typescript-eslint.io/users/versioning) and [releases](https://typescript-eslint.io/users/releases) on our website. ### [`v8.67.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#8670-2026-08-10) [Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v8.66.0...v8.67.0) This was a version bump only for parser to align it with other projects, there were no code changes. See [GitHub Releases](https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.67.0) for more information. You can read about our [versioning strategy](https://typescript-eslint.io/users/versioning) and [releases](https://typescript-eslint.io/users/releases) on our website. ### [`v8.66.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#8660-2026-08-03) [Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v8.65.0...v8.66.0) This was a version bump only for parser to align it with other projects, there were no code changes. See [GitHub Releases](https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.66.0) for more information. You can read about our [versioning strategy](https://typescript-eslint.io/users/versioning) and [releases](https://typescript-eslint.io/users/releases) on our website. ### [`v8.65.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#8650-2026-07-20) [Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v8.64.0...v8.65.0) ##### 🚀 Features - add warning when TS 7 is detected ([#&#8203;12529](https://github.com/typescript-eslint/typescript-eslint/pull/12529)) - **parser:** add onUnsupportedTypeScriptVersion option to error on unsupported TypeScript versions ([#&#8203;12465](https://github.com/typescript-eslint/typescript-eslint/pull/12465)) ##### ❤️ Thank You - Evyatar Daud [@&#8203;StyleShit](https://github.com/StyleShit) - Josh Goldberg ✨ - Kirk Waiblinger [@&#8203;kirkwaiblinger](https://github.com/kirkwaiblinger) - 송재욱 See [GitHub Releases](https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.65.0) for more information. You can read about our [versioning strategy](https://typescript-eslint.io/users/versioning) and [releases](https://typescript-eslint.io/users/releases) on our website. ### [`v8.64.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#8640-2026-07-13) [Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v8.63.0...v8.64.0) This was a version bump only for parser to align it with other projects, there were no code changes. See [GitHub Releases](https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.64.0) for more information. You can read about our [versioning strategy](https://typescript-eslint.io/users/versioning) and [releases](https://typescript-eslint.io/users/releases) on our website. ### [`v8.63.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#8630-2026-07-06) [Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v8.62.1...v8.63.0) This was a version bump only for parser to align it with other projects, there were no code changes. See [GitHub Releases](https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.63.0) for more information. You can read about our [versioning strategy](https://typescript-eslint.io/users/versioning) and [releases](https://typescript-eslint.io/users/releases) on our website. ### [`v8.62.1`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#8621-2026-06-29) [Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v8.62.0...v8.62.1) This was a version bump only for parser to align it with other projects, there were no code changes. See [GitHub Releases](https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.62.1) for more information. You can read about our [versioning strategy](https://typescript-eslint.io/users/versioning) and [releases](https://typescript-eslint.io/users/releases) on our website. ### [`v8.62.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#8620-2026-06-22) [Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v8.61.1...v8.62.0) ##### 🚀 Features - remove redundant package.json "files" ([#&#8203;12444](https://github.com/typescript-eslint/typescript-eslint/pull/12444)) ##### ❤️ Thank You - Kirk Waiblinger [@&#8203;kirkwaiblinger](https://github.com/kirkwaiblinger) See [GitHub Releases](https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.62.0) for more information. You can read about our [versioning strategy](https://typescript-eslint.io/users/versioning) and [releases](https://typescript-eslint.io/users/releases) on our website. ### [`v8.61.1`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#8611-2026-06-15) [Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v8.61.0...v8.61.1) This was a version bump only for parser to align it with other projects, there were no code changes. See [GitHub Releases](https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.61.1) for more information. You can read about our [versioning strategy](https://typescript-eslint.io/users/versioning) and [releases](https://typescript-eslint.io/users/releases) on our website. </details> <details> <summary>WiseLibs/better-sqlite3 (better-sqlite3)</summary> ### [`v12.11.1`](https://github.com/WiseLibs/better-sqlite3/releases/tag/v12.11.1) [Compare Source](https://github.com/WiseLibs/better-sqlite3/compare/v12.10.1...v12.11.1) #### What's Changed - Fix Electron v42 build errors on Windows by [@&#8203;m4heshd](https://github.com/m4heshd) in [#&#8203;1488](https://github.com/WiseLibs/better-sqlite3/pull/1488) **Full Changelog**: <https://github.com/WiseLibs/better-sqlite3/compare/v12.11.0...v12.11.1> ### [`v12.10.1`](https://github.com/WiseLibs/better-sqlite3/releases/tag/v12.10.1) [Compare Source](https://github.com/WiseLibs/better-sqlite3/compare/v12.10.0...v12.10.1) #### What's Changed - Bump the github-actions group across 1 directory with 4 updates by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;1451](https://github.com/WiseLibs/better-sqlite3/pull/1451) - Fix V8 external API usage for Electron 42 by [@&#8203;tstone-1](https://github.com/tstone-1) in [#&#8203;1475](https://github.com/WiseLibs/better-sqlite3/pull/1475) **Full Changelog**: <https://github.com/WiseLibs/better-sqlite3/compare/v12.10.0...v12.10.1> </details> <details> <summary>chartjs/Chart.js (chart.js)</summary> ### [`v4.6.1`](https://github.com/chartjs/Chart.js/releases/tag/v4.6.1) [Compare Source](https://github.com/chartjs/Chart.js/compare/v4.5.1...v4.6.1) ### Essential Links - [npm](https://www.npmjs.com/package/chart.js) - [Migration guide](https://www.chartjs.org/docs/4.6.1/migration/v4-migration.html) - [Docs](https://www.chartjs.org/docs/4.6.1/) - [API](https://www.chartjs.org/docs/4.6.1/api/) - [Samples](https://www.chartjs.org/docs/4.6.1/samples/information.html) * [#&#8203;12355](https://github.com/chartjs/Chart.js/issues/12355) fix: trusted publishing fix + version 4.6.1 bump Thanks to [@&#8203;etimberg](https://github.com/etimberg) </details> <details> <summary>adaltas/node-csv (csv-stringify)</summary> ### [`v6.9.0`](https://github.com/adaltas/node-csv/blob/HEAD/packages/csv-stringify/CHANGELOG.md#690-2026-09-25) [Compare Source](https://github.com/adaltas/node-csv/compare/csv-stringify@6.8.3...csv-stringify@6.9.0) ##### Features - **csv-stringify:** expose csv error and normalize_options ([963388d](https://github.com/adaltas/node-csv/commit/963388da88d150e0ab2dafa2ad4382917c25cc06)) ##### Bug Fixes - **csv-stringify:** do not alter the source record when columns is set ([#&#8203;504](https://github.com/adaltas/node-csv/issues/504)) ([041deff](https://github.com/adaltas/node-csv/commit/041deff3f9b811e73ac0d151d00c605eaf2a00d6)) - **csv-stringify:** preserve header cast context when eof is false ([#&#8203;505](https://github.com/adaltas/node-csv/issues/505)) ([a38ef06](https://github.com/adaltas/node-csv/commit/a38ef064a099cdac907cd170d028d8ced3fb1c52)) - **csv-stringify:** preserve negative numeric values ([#&#8203;510](https://github.com/adaltas/node-csv/issues/510)) ([0002d56](https://github.com/adaltas/node-csv/commit/0002d56f882eb386510ee725d318f06bfeccc9cc)) - **csv-stringify:** preserve objects returned by cast functions ([#&#8203;509](https://github.com/adaltas/node-csv/issues/509)) ([1742c9f](https://github.com/adaltas/node-csv/commit/1742c9ff3386f9a20e3fdcf452322e75b3a19f1a)) - **csv-stringify:** quote fields containing a carriage return ([#&#8203;485](https://github.com/adaltas/node-csv/issues/485)) ([d64d410](https://github.com/adaltas/node-csv/commit/d64d410b21cf126d410c79c9448b648531a2e8af)) ### [`v6.8.3`](https://github.com/adaltas/node-csv/blob/HEAD/packages/csv-stringify/CHANGELOG.md#683-2026-08-05) [Compare Source](https://github.com/adaltas/node-csv/compare/csv-stringify@6.8.2...csv-stringify@6.8.3) ##### Bug Fixes - **csv-stringify:** quote every field matching a global quoted_match regexp ([#&#8203;498](https://github.com/adaltas/node-csv/issues/498)) ### [`v6.8.2`](https://github.com/adaltas/node-csv/blob/HEAD/packages/csv-stringify/CHANGELOG.md#682-2026-08-02) [Compare Source](https://github.com/adaltas/node-csv/compare/csv-stringify@6.8.1...csv-stringify@6.8.2) **Note:** Version bump only for package csv-stringify ### [`v6.8.1`](https://github.com/adaltas/node-csv/blob/HEAD/packages/csv-stringify/CHANGELOG.md#681-2026-07-02) [Compare Source](https://github.com/adaltas/node-csv/compare/csv-stringify@6.8.0...csv-stringify@6.8.1) ##### Bug Fixes - **csv-stringify:** double regexp-metacharacter escape/quote literally ([#&#8203;494](https://github.com/adaltas/node-csv/issues/494)) - **csv-stringify:** quote fields fusing with a multi-character separator ### [`v6.8.0`](https://github.com/adaltas/node-csv/blob/HEAD/packages/csv-stringify/CHANGELOG.md#680-2026-06-14) [Compare Source](https://github.com/adaltas/node-csv/compare/csv-stringify@6.7.0...csv-stringify@6.8.0) ##### Features - add unicode chars to formula escape ([#&#8203;387](https://github.com/adaltas/node-csv/issues/387)) - backport support for node 14 - backward support for node 8 - **csv-parse:** set `columns` type as `readonly` ([#&#8203;358](https://github.com/adaltas/node-csv/issues/358)) - **csv-stringify:** Add escape_formulas to defend against injection attacks ([#&#8203;380](https://github.com/adaltas/node-csv/issues/380)) - **csv-stringify:** header validation - **csv-stringify:** new header_as_comment option (fix [#&#8203;420](https://github.com/adaltas/node-csv/issues/420)) - **csv-stringify:** support null and undefined in stringify cast options ([#&#8203;484](https://github.com/adaltas/node-csv/issues/484)) - **csv-stringify:** ts extends options with stream.TransformOptions ([#&#8203;301](https://github.com/adaltas/node-csv/issues/301)) - esm migration - export ts types in sync - replace ts types with typesVersions - ts module Node16 and type declaration to exports field ([#&#8203;341](https://github.com/adaltas/node-csv/issues/341)) - wg stream api ##### Bug Fixes - commonjs types, run tsc and lint to validate changes ([#&#8203;397](https://github.com/adaltas/node-csv/issues/397)) - correct exports in package.json with webpack - **csv-demo-ts-cjs-node16:** upgrade module definition after latest typescript - **csv-demo-webpack-ts:** remove polyfill - **csv-demo-webpack-ts:** simplify export paths - **csv-stringify:** add missing type definition for bigint cast option ([#&#8203;369](https://github.com/adaltas/node-csv/issues/369)) - **csv-stringify:** allow mixed string and object columns typedef ([#&#8203;456](https://github.com/adaltas/node-csv/issues/456)) - **csv-stringify:** bom and header in sync mode with no records (fix [#&#8203;343](https://github.com/adaltas/node-csv/issues/343)) - **csv-stringify:** catch error with sync api, fix [#&#8203;296](https://github.com/adaltas/node-csv/issues/296) - **csv-stringify:** infinity is not defined in get (fix [#&#8203;475](https://github.com/adaltas/node-csv/issues/475)) - **csv-stringify:** node 12 compatibility in flush - **csv-stringify:** quote_match with empty string pattern quotes empty strings ([#&#8203;345](https://github.com/adaltas/node-csv/issues/345)), closes [#&#8203;344](https://github.com/adaltas/node-csv/issues/344) - **csv-stringify:** remove non-functional auto value - **csv-stringify:** throw err with no records and header in sync mode - **csv-stringify:** update quoted_match config option to accept arrays ([#&#8203;371](https://github.com/adaltas/node-csv/issues/371)) - **csv-stringify:** update TS types to allow cast to return an object ([#&#8203;339](https://github.com/adaltas/node-csv/issues/339)) - **csv-stringify:** use removeListener instead of off - dont insert polyfills in cjs [#&#8203;303](https://github.com/adaltas/node-csv/issues/303) - esm exports in package.json files, closes [#&#8203;308](https://github.com/adaltas/node-csv/issues/308) - export original lib esm modules - expose browser esm modules - fallback to setTimeout is setImmediate is undefined - refer to esm files in dist - remove samples from publicatgion - support ts node16 resolution in cjs ([#&#8203;354](https://github.com/adaltas/node-csv/issues/354)) - support TypeScript moduleResolution node16 ([#&#8203;368](https://github.com/adaltas/node-csv/issues/368)) - uncaught errors with large stream chunks (fix [#&#8203;386](https://github.com/adaltas/node-csv/issues/386)) </details> <details> <summary>cypress-io/cypress (cypress)</summary> ### [`v15.21.1`](https://github.com/cypress-io/cypress/releases/tag/v15.21.1) [Compare Source](https://github.com/cypress-io/cypress/compare/v15.21.0...v15.21.1) Changelog: <https://docs.cypress.io/app/references/changelog#15-21-1> ### [`v15.21.0`](https://github.com/cypress-io/cypress/releases/tag/v15.21.0) [Compare Source](https://github.com/cypress-io/cypress/compare/v15.20.1...v15.21.0) Changelog: <https://docs.cypress.io/app/references/changelog#15-21-0> ### [`v15.20.1`](https://github.com/cypress-io/cypress/releases/tag/v15.20.1) [Compare Source](https://github.com/cypress-io/cypress/compare/v15.20.0...v15.20.1) Changelog: <https://docs.cypress.io/app/references/changelog#15-20-1> ### [`v15.20.0`](https://github.com/cypress-io/cypress/releases/tag/v15.20.0) [Compare Source](https://github.com/cypress-io/cypress/compare/v15.19.0...v15.20.0) Changelog: <https://docs.cypress.io/app/references/changelog#15-20-0> ### [`v15.19.0`](https://github.com/cypress-io/cypress/releases/tag/v15.19.0) [Compare Source](https://github.com/cypress-io/cypress/compare/v15.18.1...v15.19.0) Changelog: <https://docs.cypress.io/app/references/changelog#15-19-0> ### [`v15.18.1`](https://github.com/cypress-io/cypress/releases/tag/v15.18.1) [Compare Source](https://github.com/cypress-io/cypress/compare/v15.18.0...v15.18.1) Changelog: <https://docs.cypress.io/app/references/changelog#15-18-1> ### [`v15.18.0`](https://github.com/cypress-io/cypress/releases/tag/v15.18.0) [Compare Source](https://github.com/cypress-io/cypress/compare/v15.17.0...v15.18.0) Changelog: <https://docs.cypress.io/app/references/changelog#15-18-0> </details> <details> <summary>eslint/eslint (eslint)</summary> ### [`v9.39.5`](https://github.com/eslint/eslint/releases/tag/v9.39.5) [Compare Source](https://github.com/eslint/eslint/compare/v9.39.4...v9.39.5) #### Bug Fixes - [`253be16`](https://github.com/eslint/eslint/commit/253be16a79a4c78eec4e0eb461b574d60dbf6b11) fix: handle unavailable require cache (backport of [#&#8203;20812](https://github.com/eslint/eslint/issues/20812) to v9.x) ([#&#8203;21065](https://github.com/eslint/eslint/issues/21065)) (Eric) #### Documentation - [`74930ed`](https://github.com/eslint/eslint/commit/74930edd1ce0d246819edc72705101ec271da50b) docs: switch build to Node.js 24 ([#&#8203;20894](https://github.com/eslint/eslint/issues/20894)) (Milos Djermanovic) - [`eaec8bb`](https://github.com/eslint/eslint/commit/eaec8bb6b1ca4b36985ee0222c457d4730d47a20) docs: Add ESLint v9.x EOL notice ([#&#8203;20828](https://github.com/eslint/eslint/issues/20828)) (Milos Djermanovic) #### Chores - [`458205f`](https://github.com/eslint/eslint/commit/458205f7d7a4769f32bec006eecc45c6a71be16a) chore: update `@eslint/eslintrc` and `@eslint/js` for v9.39.5 ([#&#8203;21077](https://github.com/eslint/eslint/issues/21077)) (Francesco Trotta) - [`202117b`](https://github.com/eslint/eslint/commit/202117be549534715d687f988e17f29e1dcd0622) chore: package.json update for [@&#8203;eslint/js](https://github.com/eslint/js) release (Jenkins) - [`d9eb6ed`](https://github.com/eslint/eslint/commit/d9eb6edcc93c1319ff1d2bb9aeb6d7d47bd73a79) test: disable warning for `vm.constants.USE_MAIN_CONTEXT_DEFAULT_LOADER` ([#&#8203;21074](https://github.com/eslint/eslint/issues/21074)) (Francesco Trotta) - [`7b431a7`](https://github.com/eslint/eslint/commit/7b431a7b19c345b8db56040b1888a3b531c3e64c) chore: override `re2` dependency for `@metascraper/helpers` ([#&#8203;21068](https://github.com/eslint/eslint/issues/21068)) (Milos Djermanovic) - [`daf7791`](https://github.com/eslint/eslint/commit/daf77911de33be163503c6568ccb159741f4b018) chore: pin fflate\@&#8203;0.8.2 ([#&#8203;20895](https://github.com/eslint/eslint/issues/20895)) (Milos Djermanovic) - [`daee8ba`](https://github.com/eslint/eslint/commit/daee8ba3082afbc94d3b69ddc129d4dc664716f2) ci: use pnpm in `eslint-flat-config-utils` type integration test ([#&#8203;20829](https://github.com/eslint/eslint/issues/20829)) (Milos Djermanovic) - [`116d4be`](https://github.com/eslint/eslint/commit/116d4bec7c0ddaeaa75f92fb1271a4ab70d24ce3) ci: unpin Node.js 25.x in CI ([#&#8203;20619](https://github.com/eslint/eslint/issues/20619)) (Copilot) </details> <details> <summary>vercel/next.js (eslint-config-next)</summary> ### [`v16.4.3`](https://github.com/vercel/next.js/releases/tag/v16.4.3) [Compare Source](https://github.com/vercel/next.js/compare/v16.4.2...v16.4.3) > \[!NOTE] > This release is backporting bug fixes. It does **not** include all pending features/changes on canary. ##### Core Changes - \[lts-active] Fix extensionless Google font URLs in both bundlers ([#&#8203;100277](https://github.com/vercel/next.js/issues/100277)) - \[lts-active] Don't load the app-page runtime in proxy.ts ([#&#8203;100423](https://github.com/vercel/next.js/issues/100423)) - \[lts-active] Revert "Turbopack: loader change invalidation ([#&#8203;95732](https://github.com/vercel/next.js/issues/95732))" ([#&#8203;100438](https://github.com/vercel/next.js/issues/100438)) - \[lts-active]\[cd] Gate release bot credentials behind GitHub environments ([#&#8203;100123](https://github.com/vercel/next.js/issues/100123)) - \[lts-active] test: Pin react-virtualized ([#&#8203;100545](https://github.com/vercel/next.js/issues/100545)) - \[lts-active]\[cd] Move release un-draft to a follow-up job in bot-autonomous ([#&#8203;100572](https://github.com/vercel/next.js/issues/100572)) - \[lts-active] Keep OpenTelemetry request traces together ([#&#8203;100349](https://github.com/vercel/next.js/issues/100349), [#&#8203;100294](https://github.com/vercel/next.js/issues/100294), [#&#8203;100324](https://github.com/vercel/next.js/issues/100324), [#&#8203;100350](https://github.com/vercel/next.js/issues/100350), [#&#8203;100552](https://github.com/vercel/next.js/issues/100552), [#&#8203;100583](https://github.com/vercel/next.js/issues/100583)) ([#&#8203;100542](https://github.com/vercel/next.js/issues/100542)) - \[lts-active] Avoid loading standalone React in server bootstrap ([#&#8203;100610](https://github.com/vercel/next.js/issues/100610)) ##### Credits Huge thanks to [@&#8203;mischnic](https://github.com/mischnic), [@&#8203;lukesandberg](https://github.com/lukesandberg), [@&#8203;acdlite](https://github.com/acdlite), [@&#8203;eps1lon](https://github.com/eps1lon), and [@&#8203;sokra](https://github.com/sokra) for helping! ### [`v16.4.2`](https://github.com/vercel/next.js/releases/tag/v16.4.2) [Compare Source](https://github.com/vercel/next.js/compare/v16.4.1...v16.4.2) ##### What's Changed - \[lts-active] turbo-tasks snapshot consistency fixes ([#&#8203;99644](https://github.com/vercel/next.js/issues/99644), [#&#8203;99732](https://github.com/vercel/next.js/issues/99732), [#&#8203;99649](https://github.com/vercel/next.js/issues/99649)) by [@&#8203;lukesandberg](https://github.com/lukesandberg) in [#&#8203;100002](https://github.com/vercel/next.js/pull/100002) - \[lts-active] Turbopack: backport Pages Router dev module graph chaining ([#&#8203;98823](https://github.com/vercel/next.js/issues/98823), [#&#8203;99910](https://github.com/vercel/next.js/issues/99910), [#&#8203;100091](https://github.com/vercel/next.js/issues/100091)) by [@&#8203;sokra](https://github.com/sokra) in [#&#8203;100008](https://github.com/vercel/next.js/pull/100008) - \[lts-active] fix(next-code-frame): snap visible window to char boundaries by [@&#8203;lukesandberg](https://github.com/lukesandberg) in [#&#8203;100212](https://github.com/vercel/next.js/pull/100212) - \[lts-active] \[turbopack] Fix two GC paths that leave half-torn-down dependency edges by [@&#8203;lukesandberg](https://github.com/lukesandberg) in [#&#8203;100209](https://github.com/vercel/next.js/pull/100209) - \[lts-active] Turbopack: Ignore realpath errors during module resolution, matching node's behavior by [@&#8203;lukesandberg](https://github.com/lukesandberg) in [#&#8203;100217](https://github.com/vercel/next.js/pull/100217) - \[lts-active] Backport docs fixes since v16.4.0 by [@&#8203;icyJoseph](https://github.com/icyJoseph) in [#&#8203;100246](https://github.com/vercel/next.js/pull/100246) - \[lts-active] Fix Turbopack lazy dynamic-import chunk-list collisions by [@&#8203;lukesandberg](https://github.com/lukesandberg) in [#&#8203;100211](https://github.com/vercel/next.js/pull/100211) - \[lts-active] Backport additional documentation fixes since v16.4.0 by [@&#8203;aurorascharff](https://github.com/aurorascharff) in [#&#8203;100262](https://github.com/vercel/next.js/pull/100262) **Full Changelog**: <https://github.com/vercel/next.js/compare/v16.4.1...v16.4.2> ### [`v16.4.1`](https://github.com/vercel/next.js/releases/tag/v16.4.1) [Compare Source](https://github.com/vercel/next.js/compare/v16.4.0...v16.4.1) This release contains security fixes for the following advisories: Critical: - [Unauthenticated Remote Code Execution in `use cache` functions returning typed arrays](https://github.com/vercel/next.js/security/advisories/GHSA-673q-mjm6-r5xr) - [Unauthenticated Remote Code Execution in Image Optimization API when SVG files are used](https://github.com/vercel/next.js/security/advisories/GHSA-2464-fhr4-w9xw) High: - [Denial of Service in App Router using Server Actions](https://github.com/vercel/next.js/security/advisories/GHSA-p3m5-59mp-jv5r) ### [`v16.4.0`](https://github.com/vercel/next.js/releases/tag/v16.4.0) [Compare Source](https://github.com/vercel/next.js/compare/v16.3.8...v16.4.0) 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: [#&#8203;75682](https://github.com/vercel/next.js/issues/75682) - fix(scripts): correct typo in rm.mjs error message: [#&#8203;87015](https://github.com/vercel/next.js/issues/87015) - docs: improve clarity and punctuation in README: [#&#8203;86096](https://github.com/vercel/next.js/issues/86096) - Fix debug build paths Pages Router support entries: [#&#8203;93529](https://github.com/vercel/next.js/issues/93529) - bundle-analyzer: record historical snapshots on each analyze run: [#&#8203;93520](https://github.com/vercel/next.js/issues/93520) - fix: detect proxy.ts correctly with compound pageExtensions: [#&#8203;93246](https://github.com/vercel/next.js/issues/93246) - feat(turbopack): support `false` values for `resolveAlias` config: [#&#8203;93331](https://github.com/vercel/next.js/issues/93331) ##### Misc Changes - docs: correction to dynamicParams migration: [#&#8203;96624](https://github.com/vercel/next.js/issues/96624) - docs: proxy event argument: [#&#8203;96435](https://github.com/vercel/next.js/issues/96435) - docs: remove experimental note from runtime prefetching: [#&#8203;96615](https://github.com/vercel/next.js/issues/96615) - Preserve per-segment prefetching after dynamic navigation: [#&#8203;96583](https://github.com/vercel/next.js/issues/96583) - Rename static generation stream option to waitForAllReady: [#&#8203;96564](https://github.com/vercel/next.js/issues/96564) - Remove obsolete static generation plumbing: [#&#8203;96563](https://github.com/vercel/next.js/issues/96563) - \[turbopack] Drop dead writes to `exports`: [#&#8203;96381](https://github.com/vercel/next.js/issues/96381) - \[turbopack] Ignore writes to `exports` after a `module.exports = {}` writes: [#&#8203;96380](https://github.com/vercel/next.js/issues/96380) - \[turbopack] Add test for sideEffects with optimizePackageImports: [#&#8203;96549](https://github.com/vercel/next.js/issues/96549) - \[turbopack] Strip leading BOM before parsing CSS: [#&#8203;96678](https://github.com/vercel/next.js/issues/96678) - Upgrade React from `cbb046ab-20260731` to `7dfc7ccd-20260803`: [#&#8203;96550](https://github.com/vercel/next.js/issues/96550) - docs: use relative doc links in instant-navigation error pages: [#&#8203;96672](https://github.com/vercel/next.js/issues/96672) - Turbopack: terminate failed plugin worker threads: [#&#8203;96592](https://github.com/vercel/next.js/issues/96592) - Fix HTML-limited bot matching in prerender bypass rules: [#&#8203;96584](https://github.com/vercel/next.js/issues/96584) - \[ci] Fix create_release_branch for new repo permissions: [#&#8203;96641](https://github.com/vercel/next.js/issues/96641) - test: skip action module instance deploy test: [#&#8203;96629](https://github.com/vercel/next.js/issues/96629) - docs: quote the dynamicParams build error in a blockquote: [#&#8203;96633](https://github.com/vercel/next.js/issues/96633) - \[react-sync] Open pull requests as the bot that authors the commits: [#&#8203;96682](https://github.com/vercel/next.js/issues/96682) - \[Bench] Fixes for pure Fizz bench: [#&#8203;96771](https://github.com/vercel/next.js/issues/96771) - Derive foreground cache revalidation from the consumer: [#&#8203;96731](https://github.com/vercel/next.js/issues/96731) - Fix race when navigating Back before hydration: [#&#8203;96252](https://github.com/vercel/next.js/issues/96252) - docs: present each Skill as steps in the AI agents guide: [#&#8203;96751](https://github.com/vercel/next.js/issues/96751) - Reuse completed cache entries for the rest of a request: [#&#8203;96727](https://github.com/vercel/next.js/issues/96727) - Upgrade React from `7dfc7ccd-20260803` to `11eddecd-20260805`: [#&#8203;96735](https://github.com/vercel/next.js/issues/96735) - Remove WorkStore execution mode: [#&#8203;96674](https://github.com/vercel/next.js/issues/96674) - Remove cache revalidation execution mode reads: [#&#8203;96670](https://github.com/vercel/next.js/issues/96670) - Separate App Route render and prerender pipelines: [#&#8203;96662](https://github.com/vercel/next.js/issues/96662) - Remove App Page execution mode reads: [#&#8203;96660](https://github.com/vercel/next.js/issues/96660) - test: fix missing await in css-chunking test: [#&#8203;96725](https://github.com/vercel/next.js/issues/96725) - docs (Skills): stop assuming app/ at the root and port 3000: [#&#8203;96696](https://github.com/vercel/next.js/issues/96696) - Implement next/font BeforeResolvePlugins as ImportMappingReplacement: [#&#8203;95808](https://github.com/vercel/next.js/issues/95808) - Use Tailwind Turbopack loader in create-next-app: [#&#8203;96606](https://github.com/vercel/next.js/issues/96606) - docs: instant navigation quick start with an adoption prompt: [#&#8203;96663](https://github.com/vercel/next.js/issues/96663) - Separate App Page render and prerender pipelines: [#&#8203;96659](https://github.com/vercel/next.js/issues/96659) - Move App Router execution intent to entrypoints: [#&#8203;96640](https://github.com/vercel/next.js/issues/96640) - Pass explicit render capabilities through App Render: [#&#8203;96576](https://github.com/vercel/next.js/issues/96576) - Pass explicit prefetch hint policy through App Render: [#&#8203;96572](https://github.com/vercel/next.js/issues/96572) - Replace WorkStore isStaticGeneration with executionMode: [#&#8203;96570](https://github.com/vercel/next.js/issues/96570) - docs: document ! exclusion and src/ prefix for --debug-build-paths: [#&#8203;96703](https://github.com/vercel/next.js/issues/96703) - Change `loadManifest` to return undefined with `handleMissing`: [#&#8203;96530](https://github.com/vercel/next.js/issues/96530) - Refactor server from CacheNodeSeedData -> TransportData: [#&#8203;96679](https://github.com/vercel/next.js/issues/96679) - Unify full/partial navigation response types: [#&#8203;96439](https://github.com/vercel/next.js/issues/96439) - Unify RouteTree and CacheNodeSeedData on the client: [#&#8203;96406](https://github.com/vercel/next.js/issues/96406) - Consolidate Promise.withResolvers polyfills: [#&#8203;96772](https://github.com/vercel/next.js/issues/96772) - \[ci] Open automated update pull requests with `nextjs-bot`: [#&#8203;96683](https://github.com/vercel/next.js/issues/96683) - Require Cache Components for Instant Navigation testing: [#&#8203;96745](https://github.com/vercel/next.js/issues/96745) - Fix use cache over- and under-invalidation in dev: [#&#8203;96235](https://github.com/vercel/next.js/issues/96235) - Fix which pages the dev server announces, and when: [#&#8203;96250](https://github.com/vercel/next.js/issues/96250) - docs: update redirected links to current targets: [#&#8203;96723](https://github.com/vercel/next.js/issues/96723) - Fix(deployment-id): prevent exception on old webkit: [#&#8203;94604](https://github.com/vercel/next.js/issues/94604) - \[fragment-scroll] Remove `config.experimental.appNewScrollHandler`: [#&#8203;95602](https://github.com/vercel/next.js/issues/95602) - \[turbopack] Enable reexport-unknown execution test: [#&#8203;96774](https://github.com/vercel/next.js/issues/96774) - ci: stop publishing [@&#8203;vercel/devlow-bench](https://github.com/vercel/devlow-bench): [#&#8203;96887](https://github.com/vercel/next.js/issues/96887) - fix(turbopack): name the module in the non-ESM-placeable error, and stop duplicating the importer in traces: [#&#8203;96560](https://github.com/vercel/next.js/issues/96560) - fix(turbopack): support `type: 'text'` in rules, and error on binding imports of non-ESM modules: [#&#8203;96558](https://github.com/vercel/next.js/issues/96558) - Lint devlow-bench with the root eslint config: [#&#8203;96871](https://github.com/vercel/next.js/issues/96871) - Remove `turbopack/packages` and relocate devlow to `packages/`: [#&#8203;96860](https://github.com/vercel/next.js/issues/96860) - Flush pending revalidations for forwarded action error responses: [#&#8203;96945](https://github.com/vercel/next.js/issues/96945) - Handle Server Actions on dynamic PPR fallback routes: [#&#8203;96932](https://github.com/vercel/next.js/issues/96932) - Turbopack: Improve how DiskWatcher is configured and fix polling watcher bugs: [#&#8203;96440](https://github.com/vercel/next.js/issues/96440) - Turbopack: Allow DiskWatcher to use a mocked DiskFileSystem, add a small unit test: [#&#8203;96353](https://github.com/vercel/next.js/issues/96353) - \[turbopack] Add e2e test that uses component chunks + workers: [#&#8203;96556](https://github.com/vercel/next.js/issues/96556) - \[turbopack] Support `experimental.serverMinification` & expand `experimental.turbopackMinify`: [#&#8203;96578](https://github.com/vercel/next.js/issues/96578) - Add a `turbopackChunking` documentation page for pages router: [#&#8203;96698](https://github.com/vercel/next.js/issues/96698) - \[turbopack] Don't run Webpack tests on Turbopack-only changes: [#&#8203;96656](https://github.com/vercel/next.js/issues/96656) - \[turbopack] Enable the shared runtime by default: [#&#8203;96778](https://github.com/vercel/next.js/issues/96778) - \[turbopack] Enable CJS tree shaking by default: [#&#8203;96779](https://github.com/vercel/next.js/issues/96779) - refactor: clean up places that needlessly list all RenderStages: [#&#8203;96907](https://github.com/vercel/next.js/issues/96907) - Fix the documented invocation for generating tests non-interactively: [#&#8203;96896](https://github.com/vercel/next.js/issues/96896) - Make NextConfigComplete typing more accurate: [#&#8203;96700](https://github.com/vercel/next.js/issues/96700) - Upgrade to swc 75: [#&#8203;96702](https://github.com/vercel/next.js/issues/96702) - docs: link View Transitions skill on skills.sh and clarify the example prompt: [#&#8203;96863](https://github.com/vercel/next.js/issues/96863) - \[ci] Reset the turbopack deploy test project in the weekly cron: [#&#8203;96822](https://github.com/vercel/next.js/issues/96822) - docs: add authentication with Cache Components guide and iron-session example: [#&#8203;95802](https://github.com/vercel/next.js/issues/95802) - \[turbopack] Fix a potential deadlock in scope_and_block: [#&#8203;95695](https://github.com/vercel/next.js/issues/95695) - Remove the turbopack-build-events trace span, use `next build` instead: [#&#8203;96746](https://github.com/vercel/next.js/issues/96746) - docs: add `export const dynamic = 'force-static'` to Route Handlers example on Static Exports: [#&#8203;96964](https://github.com/vercel/next.js/issues/96964) - \[turbopack] Follow re-exports for side-effect free async modules: [#&#8203;95993](https://github.com/vercel/next.js/issues/95993) - \[turbopack] Treat constants with values referencing other values as unsafe: [#&#8203;96190](https://github.com/vercel/next.js/issues/96190) - \[refactor] Rename `encodeCacheTag` to `encodeHeaderSafe`: [#&#8203;96936](https://github.com/vercel/next.js/issues/96936) - Fix formatting of Google Fonts section in documentation: [#&#8203;88447](https://github.com/vercel/next.js/issues/88447) - Fixing a bug - typo issue fixed: [#&#8203;97141](https://github.com/vercel/next.js/issues/97141) - examples: fix Webiny API env variable name: [#&#8203;97134](https://github.com/vercel/next.js/issues/97134) - docs: fix Link prefetch grammar and Client Components wording: [#&#8203;97132](https://github.com/vercel/next.js/issues/97132) - Use emitted app entries for post-build processing: [#&#8203;97139](https://github.com/vercel/next.js/issues/97139) - docs(mdx): fix package name in .md handling section: [#&#8203;97131](https://github.com/vercel/next.js/issues/97131) - \[turbopack] Reduce native React Compiler work: [#&#8203;96820](https://github.com/vercel/next.js/issues/96820) - docs: rename repo to repository for consistency: [#&#8203;87849](https://github.com/vercel/next.js/issues/87849) - Fix typo in Data Access Layer section: [#&#8203;87202](https://github.com/vercel/next.js/issues/87202) - docs: runtime prefetching -> optimizing prefetching: [#&#8203;96934](https://github.com/vercel/next.js/issues/96934) - \[CC] Track APIs that cause incompatible static/app shells: [#&#8203;97040](https://github.com/vercel/next.js/issues/97040) - Fix client component loading span timing: [#&#8203;96455](https://github.com/vercel/next.js/issues/96455) - Trace development route compilation: [#&#8203;96454](https://github.com/vercel/next.js/issues/96454) - Prefix `'use cache'` debug logs with the full directive: [#&#8203;97037](https://github.com/vercel/next.js/issues/97037) - Revert "\[turbopack] Enable CJS tree shaking by default ([#&#8203;96779](https://github.com/vercel/next.js/issues/96779))": [#&#8203;97018](https://github.com/vercel/next.js/issues/97018) - Revert "\[turbopack] Follow re-exports for side-effect free async modules": [#&#8203;97009](https://github.com/vercel/next.js/issues/97009) - \[fragment-scroll] Rename `ScrollAndMaybeFocusHandler` to `ScrollHandler`: [#&#8203;96828](https://github.com/vercel/next.js/issues/96828) - Trace development route preparation: [#&#8203;96453](https://github.com/vercel/next.js/issues/96453) - test: cleanup Turbopack snapshot config: [#&#8203;97013](https://github.com/vercel/next.js/issues/97013) - Remove unused htmlLimitedBots from renderOpts: [#&#8203;96701](https://github.com/vercel/next.js/issues/96701) - fix(turbopack): point at the glob that matched a file with no module type: [#&#8203;96561](https://github.com/vercel/next.js/issues/96561) - \[turbopack] Bail CJS tree-shaking on `var x = module.exports = {}`: [#&#8203;97130](https://github.com/vercel/next.js/issues/97130) - docs: server client and directives: [#&#8203;96145](https://github.com/vercel/next.js/issues/96145) - docs: clarify client cache freshness after hydration: [#&#8203;97180](https://github.com/vercel/next.js/issues/97180) - docs: create client-side fetching guide: [#&#8203;96341](https://github.com/vercel/next.js/issues/96341) - Turbopack: accept a module type argument for import.meta.glob: [#&#8203;96991](https://github.com/vercel/next.js/issues/96991) - docs: align Cache Components authentication guide title: [#&#8203;97143](https://github.com/vercel/next.js/issues/97143) - test: re-enable a few more passing NFT unit cases: [#&#8203;97017](https://github.com/vercel/next.js/issues/97017) - \[turbopack] Do the CJS analysis needed for scope hoisting: [#&#8203;95826](https://github.com/vercel/next.js/issues/95826) - Remove legacy PPR code paths: [#&#8203;96868](https://github.com/vercel/next.js/issues/96868) - Use Cache Components as the internal PPR signal: [#&#8203;96827](https://github.com/vercel/next.js/issues/96827) - Make legacy PPR paths explicit: [#&#8203;96753](https://github.com/vercel/next.js/issues/96753) - fix: typos in code comments: [#&#8203;97137](https://github.com/vercel/next.js/issues/97137) - Fix spelling in two comments: [#&#8203;97136](https://github.com/vercel/next.js/issues/97136) - Decouple loader tree construction from children ordering: [#&#8203;97192](https://github.com/vercel/next.js/issues/97192) - Bump lightningcss: [#&#8203;97159](https://github.com/vercel/next.js/issues/97159) - Update gh-stack skill guidance: [#&#8203;97163](https://github.com/vercel/next.js/issues/97163) - \[test] Unflake `use-cache-custom-handler-dev` tests: [#&#8203;97187](https://github.com/vercel/next.js/issues/97187) - Forward a build-container pin to deploy-test deployments: [#&#8203;97191](https://github.com/vercel/next.js/issues/97191) - Fix shared Turbopack runtime initialization race: [#&#8203;97215](https://github.com/vercel/next.js/issues/97215) - Fix stale data after navigation despite revalidation: [#&#8203;95439](https://github.com/vercel/next.js/issues/95439) - \[turbopack] Only use the shared runtime by default on canary: [#&#8203;97208](https://github.com/vercel/next.js/issues/97208) - test: fix 'ouput' typo in parseIdsFromCliOutput: [#&#8203;97266](https://github.com/vercel/next.js/issues/97266) - Add the mtime fallback back: [#&#8203;97268](https://github.com/vercel/next.js/issues/97268) - Allow issue participants to request reopening: [#&#8203;96947](https://github.com/vercel/next.js/issues/96947) - \[turbopack] Document clusters for chunking: [#&#8203;97267](https://github.com/vercel/next.js/issues/97267) - Link to issues in the contribution guide and discourage trivial PRs: [#&#8203;97188](https://github.com/vercel/next.js/issues/97188) - Stop serializing hmr version state: [#&#8203;97146](https://github.com/vercel/next.js/issues/97146) - \[turbopack] Add `clusters` to chunking heuristics: [#&#8203;95157](https://github.com/vercel/next.js/issues/95157) - \[test] Redirect the deployment host in-process for proxy deploy tests: [#&#8203;97260](https://github.com/vercel/next.js/issues/97260) - \[test] Unflake two `cache-components-dev-streaming` assertions: [#&#8203;97246](https://github.com/vercel/next.js/issues/97246) - \[test] Unflake `use-cache-default-profile-expire-zero` tests: [#&#8203;97250](https://github.com/vercel/next.js/issues/97250) - Allow running `ncc` before `pnpm build`: [#&#8203;97234](https://github.com/vercel/next.js/issues/97234) - Invalidate deferred Webpack entry sources: [#&#8203;97205](https://github.com/vercel/next.js/issues/97205) - Unify how a response's shell and full payloads are written: [#&#8203;96878](https://github.com/vercel/next.js/issues/96878) - Convert per-segment prefetches to NavigationFlightResponse format: [#&#8203;96877](https://github.com/vercel/next.js/issues/96877) - Unify how server responses are written into the client cache: [#&#8203;96876](https://github.com/vercel/next.js/issues/96876) - Convert tree prefetches to NavigationFlightResponse format: [#&#8203;96788](https://github.com/vercel/next.js/issues/96788) - fix(next/image): skip 0-byte entries when initializing disk LRU cache: [#&#8203;94068](https://github.com/vercel/next.js/issues/94068) - Update authentication diagram URL: [#&#8203;97320](https://github.com/vercel/next.js/issues/97320) - Add a script for adopting fork pull requests: [#&#8203;97252](https://github.com/vercel/next.js/issues/97252) - Migrate napi-rs bindings from v2 to v3: [#&#8203;95412](https://github.com/vercel/next.js/issues/95412) - Upgrade React from `11eddecd-20260805` to `22e4f993-20260811`: [#&#8203;97249](https://github.com/vercel/next.js/issues/97249) - Add RDC compression rollout controls: [#&#8203;97247](https://github.com/vercel/next.js/issues/97247) - \[testmode] Fix infinite recursion in testmode passthrough fetch: [#&#8203;96525](https://github.com/vercel/next.js/issues/96525) - Turbopack: add imports_wildcard NFT unit test: [#&#8203;97373](https://github.com/vercel/next.js/issues/97373) - Turbopack: improve chunk_item_content docs: [#&#8203;97370](https://github.com/vercel/next.js/issues/97370) - test: Reenable i18n-api-support deploy test for Turbopack with adapters: [#&#8203;96898](https://github.com/vercel/next.js/issues/96898) - Trace instrumentation startup: [#&#8203;97296](https://github.com/vercel/next.js/issues/97296) - Trace route module preparation: [#&#8203;97295](https://github.com/vercel/next.js/issues/97295) - Trace route module loading: [#&#8203;97318](https://github.com/vercel/next.js/issues/97318) - fix(deps): bump `satori` and `@vercel/og`: [#&#8203;97276](https://github.com/vercel/next.js/issues/97276) - \[test] Cover `'use cache: private'` in route handlers: [#&#8203;97349](https://github.com/vercel/next.js/issues/97349) - Fix missing Pages runtime in adapter Pages API outputs: [#&#8203;96819](https://github.com/vercel/next.js/issues/96819) - docs: align SPA guide reducer example with React conventions: [#&#8203;97341](https://github.com/vercel/next.js/issues/97341) - Update blob version.: [#&#8203;97342](https://github.com/vercel/next.js/issues/97342) - Upgrade React from `22e4f993-20260811` to `eb8feb71-20260814`: [#&#8203;97382](https://github.com/vercel/next.js/issues/97382) - Adopt SelectedMetadata for metadata rendering: [#&#8203;97387](https://github.com/vercel/next.js/issues/97387) - fix(next/image): reject empty image on read/write to disk cache : [#&#8203;97278](https://github.com/vercel/next.js/issues/97278) - Turbopack: remove stale manifests for deleted routes: [#&#8203;97333](https://github.com/vercel/next.js/issues/97333) - Turbopack: make unreachable codegen more generic: [#&#8203;97385](https://github.com/vercel/next.js/issues/97385) - Wait for back-before-hydration recoveries in the browser: [#&#8203;97321](https://github.com/vercel/next.js/issues/97321) - Extract metadata resolution primitives: [#&#8203;97388](https://github.com/vercel/next.js/issues/97388) - test: update React 18 redbox snapshot: [#&#8203;97415](https://github.com/vercel/next.js/issues/97415) - Remove server route matcher stack: [#&#8203;94157](https://github.com/vercel/next.js/issues/94157) - Anchor the async local storage instances to global symbols: [#&#8203;97255](https://github.com/vercel/next.js/issues/97255) - test: deflake use-cache-size-zero warm reload: [#&#8203;97421](https://github.com/vercel/next.js/issues/97421) - Scaffolding for concurrentRouterQueue flag: [#&#8203;97413](https://github.com/vercel/next.js/issues/97413) - Reorganize client router modules: [#&#8203;97402](https://github.com/vercel/next.js/issues/97402) - fix(turbo-persistence): allow 32-bit usize conversion: [#&#8203;97288](https://github.com/vercel/next.js/issues/97288) - test: restore missing NFT `exports*` unit fixtures: [#&#8203;97459](https://github.com/vercel/next.js/issues/97459) - \[ci] Fix backport canary release dispatch: [#&#8203;97383](https://github.com/vercel/next.js/issues/97383) - turbo-tasks-backend: Enforce that tasks exist when accessing them: [#&#8203;96043](https://github.com/vercel/next.js/issues/96043) - turbo-tasks-backend: add persistence delete/tombstone plumbing for GC: [#&#8203;95975](https://github.com/vercel/next.js/issues/95975) - turbo-persistence: add key-value tombstones for MultiValue families: [#&#8203;96929](https://github.com/vercel/next.js/issues/96929) - Trace lazy App Route module loading: [#&#8203;97439](https://github.com/vercel/next.js/issues/97439) - \[ci] Wait for the `next` version to be available on npm before deploy tests: [#&#8203;97460](https://github.com/vercel/next.js/issues/97460) - docs: fix stale Dev Overlay README link in contributing guide: [#&#8203;97486](https://github.com/vercel/next.js/issues/97486) - docs: app router reference accuracy: [#&#8203;97477](https://github.com/vercel/next.js/issues/97477) - test: Don't wait trying to load non-existing images: [#&#8203;97488](https://github.com/vercel/next.js/issues/97488) - test: cover dynamic APIs with i18n base path: [#&#8203;97367](https://github.com/vercel/next.js/issues/97367) - style(examples): remove redundant justify-content declaration: [#&#8203;97222](https://github.com/vercel/next.js/issues/97222) - docs: rename Vercel Edge Config to Global Config in redirecting guide: [#&#8203;97456](https://github.com/vercel/next.js/issues/97456) - fix: improve form accessibility by associating labels with inputs: [#&#8203;96335](https://github.com/vercel/next.js/issues/96335) - \[docs] fix: grammar typos in linking and navigating guide: [#&#8203;95544](https://github.com/vercel/next.js/issues/95544) - fix(examples): correct error message typo: [#&#8203;97223](https://github.com/vercel/next.js/issues/97223) - docs: fix typos in example links: [#&#8203;97149](https://github.com/vercel/next.js/issues/97149) - Model prerenders as render candidates: [#&#8203;97431](https://github.com/vercel/next.js/issues/97431) - Turbopack: support character class ranges in regex: [#&#8203;97502](https://github.com/vercel/next.js/issues/97502) - docs: warn when catching permanentRedirect: [#&#8203;97496](https://github.com/vercel/next.js/issues/97496) - Remove the development debug channel persistence: [#&#8203;97510](https://github.com/vercel/next.js/issues/97510) - Stop the browser from restoring stale pages in development: [#&#8203;97505](https://github.com/vercel/next.js/issues/97505) - Turbopack: gracefully handle outputFileTracingIncludes matching a symlink: [#&#8203;97507](https://github.com/vercel/next.js/issues/97507) - docs: mention Valibot as validation library option in forms guides: [#&#8203;97468](https://github.com/vercel/next.js/issues/97468) - \[PPF] Remove `unstable_eager`: [#&#8203;97524](https://github.com/vercel/next.js/issues/97524) - \[PPF] Do not mark complete shell requests as partial: [#&#8203;97503](https://github.com/vercel/next.js/issues/97503) - fix: add accessible label to icon-only link: [#&#8203;96334](https://github.com/vercel/next.js/issues/96334) - Fix stale cross-references in skills/: [#&#8203;97566](https://github.com/vercel/next.js/issues/97566) - docs: generateMetadata values should be serializable with use cache: [#&#8203;97551](https://github.com/vercel/next.js/issues/97551) - Move preview props into separate manifest: [#&#8203;96004](https://github.com/vercel/next.js/issues/96004) - docs: adjust interactive app guide: [#&#8203;97558](https://github.com/vercel/next.js/issues/97558) - Turbopack: allow TURBOPACK_PRINT_CHUNK_GROUPS in release builds: [#&#8203;97515](https://github.com/vercel/next.js/issues/97515) - \[test] Point next-image-legacy images at a reachable endpoint: [#&#8203;97545](https://github.com/vercel/next.js/issues/97545) - test: improve error-on-next-codemod-comment flakiness: [#&#8203;97553](https://github.com/vercel/next.js/issues/97553) - Turbopack: cross-module constants: [#&#8203;90300](https://github.com/vercel/next.js/issues/90300) - test: better isolate concurrent-install suite: [#&#8203;97546](https://github.com/vercel/next.js/issues/97546) - docs: outlining and lcp: [#&#8203;96942](https://github.com/vercel/next.js/issues/96942) - Turbopack: More aggressively debounce filesystem watch events if we detected changes to node_modules: [#&#8203;96116](https://github.com/vercel/next.js/issues/96116) - docs: document metadata pagination field: [#&#8203;95509](https://github.com/vercel/next.js/issues/95509) - docs: document deploymentId build ID override and Pages Router skew in 16.2: [#&#8203;97645](https://github.com/vercel/next.js/issues/97645) - Upgrade React from `eb8feb71-20260814` to `eafeac09-20260819`: [#&#8203;97636](https://github.com/vercel/next.js/issues/97636) - Turbopack: rename to use turbopack: no side effects: [#&#8203;94427](https://github.com/vercel/next.js/issues/94427) - refactor: move useDynamic{Route,Search}Params to reduce snapshot churn: [#&#8203;97360](https://github.com/vercel/next.js/issues/97360) - \[PPF] unstable_navigation(): [#&#8203;96908](https://github.com/vercel/next.js/issues/96908) - \[PPF] Scaffold unstable_navigation(): [#&#8203;97236](https://github.com/vercel/next.js/issues/97236) - docs: Explicit cache output description: [#&#8203;97548](https://github.com/vercel/next.js/issues/97548) - Improve Cache Components sync IO migration guidance: [#&#8203;97572](https://github.com/vercel/next.js/issues/97572) - \[test] Use a non-native stub for the server externals list test: [#&#8203;97614](https://github.com/vercel/next.js/issues/97614) - Avoid GitHub API rate limits for create-next-app examples: [#&#8203;97612](https://github.com/vercel/next.js/issues/97612) - \[test] Cover the prerender worker-thread backend with an addon we control: [#&#8203;97543](https://github.com/vercel/next.js/issues/97543) - \[test] Convert the `prerender-native-module` suite to local fixture packages: [#&#8203;97542](https://github.com/vercel/next.js/issues/97542) - \[test] Replace the `turbopack-reports` `sqlite3` dependency with a local addon fixture: [#&#8203;97541](https://github.com/vercel/next.js/issues/97541) - \[test] Drop the dead `sqlite3` build approval from the `sharp-basic` suite: [#&#8203;97540](https://github.com/vercel/next.js/issues/97540) - Remove HmrTarget: [#&#8203;97253](https://github.com/vercel/next.js/issues/97253) - Keep HMR instructions typed until serialization: [#&#8203;96569](https://github.com/vercel/next.js/issues/96569) - Serialize frozen collections by value only: [#&#8203;96686](https://github.com/vercel/next.js/issues/96686) - feat(turbopack): isolate HMR listeners across microfrontends: [#&#8203;95997](https://github.com/vercel/next.js/issues/95997) - Turbopack: deduplicate Pages Router app chunks: [#&#8203;97664](https://github.com/vercel/next.js/issues/97664) - \[react-sync] Check assignability before assigning the actor: [#&#8203;97638](https://github.com/vercel/next.js/issues/97638) - fix: preserve trailing slash during export MPA fallback: [#&#8203;97613](https://github.com/vercel/next.js/issues/97613) - Turbopack: Split the read and write codepath data structures for symlinks: [#&#8203;97395](https://github.com/vercel/next.js/issues/97395) - Turbopack: Show last modified file when waiting for the filesystem to settle: [#&#8203;97648](https://github.com/vercel/next.js/issues/97648) - docs: fix parallelRouteKey parameter name in useSelectedLayoutSegment(s): [#&#8203;97710](https://github.com/vercel/next.js/issues/97710) - Turbopack: Avoid cloning paths in fs watcher if the path is already in a map: [#&#8203;97655](https://github.com/vercel/next.js/issues/97655) - Remove generated error codes: [#&#8203;97687](https://github.com/vercel/next.js/issues/97687) - \[PPF] Instant validation for unstable_navigation(): [#&#8203;97309](https://github.com/vercel/next.js/issues/97309) - Turbopack: trace graceful-fs calls: [#&#8203;97694](https://github.com/vercel/next.js/issues/97694) - Migrate some async blocks to async closures: [#&#8203;97666](https://github.com/vercel/next.js/issues/97666) - turbo-tasks: add scope_unbounded, a scoped execution primitive that allows more work to be discovered: [#&#8203;95974](https://github.com/vercel/next.js/issues/95974) - test: make app-document-import-order more robust: [#&#8203;97682](https://github.com/vercel/next.js/issues/97682) - Add a Turbopack error for missing root layouts: [#&#8203;97639](https://github.com/vercel/next.js/issues/97639) - Improve Partial Prefetching adoption checks: [#&#8203;97637](https://github.com/vercel/next.js/issues/97637) - test: stabilize poisoned proxy error overlay: [#&#8203;97609](https://github.com/vercel/next.js/issues/97609) - docs: correct the upper stale bound for App Shell exclusion in cacheLife: [#&#8203;97653](https://github.com/vercel/next.js/issues/97653) - docs: Adapters entry page lists its children pages twice: [#&#8203;97677](https://github.com/vercel/next.js/issues/97677) - \[PPF] unstable_prefetch(): [#&#8203;97622](https://github.com/vercel/next.js/issues/97622) - \[PPF] Scaffold unstable_prefetch(): [#&#8203;97618](https://github.com/vercel/next.js/issues/97618) - docs: clarify beforeInteractive placement for root layouts: [#&#8203;97643](https://github.com/vercel/next.js/issues/97643) - fix(turbopack): give eager `import.meta.glob` values the ESM namespace: [#&#8203;96559](https://github.com/vercel/next.js/issues/96559) - introduce an options struct for constructing backend storage: [#&#8203;97284](https://github.com/vercel/next.js/issues/97284) - \[devtools] Fix indicator dragging on touch screens: [#&#8203;97723](https://github.com/vercel/next.js/issues/97723) - Add next/cache-handlers types entrypoint: [#&#8203;97592](https://github.com/vercel/next.js/issues/97592) - Remove unused return values from getPageStaticInfo: [#&#8203;97661](https://github.com/vercel/next.js/issues/97661) - \[turbopack] defer NFT module content hashes: [#&#8203;97773](https://github.com/vercel/next.js/issues/97773) - test: deflake basePath external navigation: [#&#8203;97611](https://github.com/vercel/next.js/issues/97611) - docs(adapters): document assetsHashes and routing.middlewareMatchers: [#&#8203;96536](https://github.com/vercel/next.js/issues/96536) - Migrate remaining async blocks to async closures: [#&#8203;97701](https://github.com/vercel/next.js/issues/97701) - Turn off the adapter route collapses by default: [#&#8203;97774](https://github.com/vercel/next.js/issues/97774) - Serve a run of fallback shells from one route entry: [#&#8203;97738](https://github.com/vercel/next.js/issues/97738) - \[test] Capture the route table for apps with several param shapes: [#&#8203;97728](https://github.com/vercel/next.js/issues/97728) - Stop emitting a separate route entry for a dynamic route's RSC form: [#&#8203;97726](https://github.com/vercel/next.js/issues/97726) - Stop emitting a redundant route per prefetch segment: [#&#8203;97720](https://github.com/vercel/next.js/issues/97720) - \[test] Capture the dynamic routes a build passes to an adapter: [#&#8203;97719](https://github.com/vercel/next.js/issues/97719) - turbo-tasks: compile conditional cell updates once, not per cell type: [#&#8203;97763](https://github.com/vercel/next.js/issues/97763) - Turbopack: add unit test coverage for FileSystemPath::hash_file: [#&#8203;97743](https://github.com/vercel/next.js/issues/97743) - Record fallback cache lifetime for blocking PPR routes: [#&#8203;97821](https://github.com/vercel/next.js/issues/97821) - Document catchError for the Pages Router: [#&#8203;97748](https://github.com/vercel/next.js/issues/97748) - clippy: allow needless late init where it makes sense: [#&#8203;96410](https://github.com/vercel/next.js/issues/96410) - Turbopack: emit/collect: [#&#8203;96631](https://github.com/vercel/next.js/issues/96631) - docs: note that response headers must be set before calling handle() in a custom server: [#&#8203;97693](https://github.com/vercel/next.js/issues/97693) - Deduplicate the regress, wat/wasmparser and base64 dependencies: [#&#8203;97762](https://github.com/vercel/next.js/issues/97762) - perf: split cold TurboMalloc accounting paths: [#&#8203;97767](https://github.com/vercel/next.js/issues/97767) - turbo-tasks: execute scheduled tasks inline when they are read: [#&#8203;96808](https://github.com/vercel/next.js/issues/96808) - Revert "Record fallback cache lifetime for blocking PPR routes ([#&#8203;97821](https://github.com/vercel/next.js/issues/97821))": [#&#8203;97835](https://github.com/vercel/next.js/issues/97835) - Sweep stale Turbopack output from distDir on dev startup: [#&#8203;97591](https://github.com/vercel/next.js/issues/97591) - Fix metadata prefetch cache key for search params: [#&#8203;97729](https://github.com/vercel/next.js/issues/97729) - Turbopack: Improve file existence error handling in realpath_with_links and in module resolution: [#&#8203;97717](https://github.com/vercel/next.js/issues/97717) - Write traces with buffered synchronous IO: [#&#8203;96874](https://github.com/vercel/next.js/issues/96874) - fix(wasm): don't enable SWC's plugin host for wasm targets: [#&#8203;97859](https://github.com/vercel/next.js/issues/97859) - fix(turbopack-node): make process_pool inert on wasm: [#&#8203;97858](https://github.com/vercel/next.js/issues/97858) - fix(turbopack): make the SWC wasm-plugin backend native-only: [#&#8203;97857](https://github.com/vercel/next.js/issues/97857) - fix(turbopack-trace-utils): skip the ctrl-c handler on wasm: [#&#8203;97856](https://github.com/vercel/next.js/issues/97856) - refactor(turbopack-cli-utils): replace crossterm with owo-colors: [#&#8203;97855](https://github.com/vercel/next.js/issues/97855) - fix(turbo-tasks-fs): create symlinks through the WASI API on wasi: [#&#8203;97854](https://github.com/vercel/next.js/issues/97854) - fix(turbo-tasks): compile EventListener::wait on wasm: [#&#8203;97853](https://github.com/vercel/next.js/issues/97853) - fix(turbo-rcstr): allow the napi feature on wasm targets: [#&#8203;97852](https://github.com/vercel/next.js/issues/97852) - fix(next-napi-bindings): detect the target, not the host, in build.rs: [#&#8203;97576](https://github.com/vercel/next.js/issues/97576) - Stop printing a stack frame for error message text: [#&#8203;97829](https://github.com/vercel/next.js/issues/97829) - docs: clarify revalidateTag profile expire semantics: [#&#8203;97836](https://github.com/vercel/next.js/issues/97836) - docs: param access on use-server: [#&#8203;97865](https://github.com/vercel/next.js/issues/97865) - docs: fix typos and correctness issues in App Router docs: [#&#8203;97823](https://github.com/vercel/next.js/issues/97823) - Add deploy release test skill: [#&#8203;97563](https://github.com/vercel/next.js/issues/97563) - \[test] Deflake the page config test for a string config value: [#&#8203;97848](https://github.com/vercel/next.js/issues/97848) - test: stabilize read-only page recreation: [#&#8203;97674](https://github.com/vercel/next.js/issues/97674) - Show the errors of an AggregateError behind a cause: [#&#8203;97830](https://github.com/vercel/next.js/issues/97830) - Upgrade React from `eafeac09-20260819` to `bd6ea412-20260824`: [#&#8203;97812](https://github.com/vercel/next.js/issues/97812) - fix: reuse a single drain listener when piping Node streams through gzip: [#&#8203;97698](https://github.com/vercel/next.js/issues/97698) - test: preserve server cache after compile error: [#&#8203;97724](https://github.com/vercel/next.js/issues/97724) - Fix Turbopack resolution through chained symlinks: [#&#8203;97825](https://github.com/vercel/next.js/issues/97825) - Add evals for whether agents actually use Next.js: [#&#8203;97816](https://github.com/vercel/next.js/issues/97816) - evals: judge behavior instead of matching source text: [#&#8203;97826](https://github.com/vercel/next.js/issues/97826) - Bump [@&#8203;vercel/agent-eval](https://github.com/vercel/agent-eval) to 2.2.1: [#&#8203;97885](https://github.com/vercel/next.js/issues/97885) - feat(turbopack): resolve `/`-rooted imports from the project directory: [#&#8203;97799](https://github.com/vercel/next.js/issues/97799) - \[ci] Use short-lived access tokens for preview-build uploads instead of static token: [#&#8203;97256](https://github.com/vercel/next.js/issues/97256) - Turbopack: correctly trace through TypeScript `__importStar`: [#&#8203;97697](https://github.com/vercel/next.js/issues/97697) - \[turbopack] simplify ecmascript effect queue: [#&#8203;97771](https://github.com/vercel/next.js/issues/97771) - Update default Create Next App favicon: [#&#8203;97634](https://github.com/vercel/next.js/issues/97634) - fix: don't drop client references when the concatenated module id is 0: [#&#8203;97936](https://github.com/vercel/next.js/issues/97936) - Replace resumed render bailout error with ReactDOM.browser behind a flag: [#&#8203;96844](https://github.com/vercel/next.js/issues/96844) - Replace useSearchParams bailout error with ReactDOM.browser behind a flag: [#&#8203;96843](https://github.com/vercel/next.js/issues/96843) - Replace CSRBailout error with `ReactDOM.browser` behind a flag: [#&#8203;96826](https://github.com/vercel/next.js/issues/96826) - fix(next/image): reject non-2xx internal image responses: [#&#8203;97957](https://github.com/vercel/next.js/issues/97957) - \[test] Pin Vercel CLI to Node 20.9 compatible version: [#&#8203;97960](https://github.com/vercel/next.js/issues/97960) - Re-enable AVIF image optimization: [#&#8203;97931](https://github.com/vercel/next.js/issues/97931) - Don't report a client-aborted RSC stream as a render error: [#&#8203;96715](https://github.com/vercel/next.js/issues/96715) - \[PPF] Only track runtime accesses when the promise is used: [#&#8203;97165](https://github.com/vercel/next.js/issues/97165) - Fix Turbopack re-export cycle deadlock: [#&#8203;97933](https://github.com/vercel/next.js/issues/97933) - Port React's [@&#8203;gate](https://github.com/gate) test directive to the e2e harness: [#&#8203;96228](https://github.com/vercel/next.js/issues/96228) - Migrate from box_patterns to deref_patterns: [#&#8203;97924](https://github.com/vercel/next.js/issues/97924) - Turbopack: expose list of non-inlined env vars: [#&#8203;95310](https://github.com/vercel/next.js/issues/95310) - feat(turbo-tasks-fetch): stub HTTP on wasm targets: [#&#8203;97585](https://github.com/vercel/next.js/issues/97585) - fix(turbo-rcstr): make TaggedValue usable on wasm: [#&#8203;97577](https://github.com/vercel/next.js/issues/97577) - docs: explain origin matching for allowedOrigins and allowedDevOrigins: [#&#8203;97805](https://github.com/vercel/next.js/issues/97805) - Turbopack: improve Pat::Assign modelling in analyzer: [#&#8203;97867](https://github.com/vercel/next.js/issues/97867) - Upgrade rustc to nightly-2026-08-20: [#&#8203;97665](https://github.com/vercel/next.js/issues/97665) - Upgrade React from `bd6ea412-20260824` to `f789f203-20260825`: [#&#8203;97887](https://github.com/vercel/next.js/issues/97887) - \[test] Fix flaky build CLI output capture: [#&#8203;97900](https://github.com/vercel/next.js/issues/97900) - turbo-tasks-backend: parent_count reference counting: [#&#8203;95976](https://github.com/vercel/next.js/issues/95976) - Upgrade Turbopack to hashbrown 0.15: [#&#8203;97808](https://github.com/vercel/next.js/issues/97808) - ci: skip framework tests for agent evals and skills: [#&#8203;97998](https://github.com/vercel/next.js/issues/97998) - Expand Turbopack dev cleanup: [#&#8203;97833](https://github.com/vercel/next.js/issues/97833) - Add Cache Components option to create-next-app: [#&#8203;97695](https://github.com/vercel/next.js/issues/97695) - Mark deploy release test skill as internal: [#&#8203;97961](https://github.com/vercel/next.js/issues/97961) - Turbopack: shorten CSS module class names: [#&#8203;97944](https://github.com/vercel/next.js/issues/97944) - Prune incomplete parallel route matchers: [#&#8203;97108](https://github.com/vercel/next.js/issues/97108) - Upgrade React from `f789f203-20260825` to `29d9d318-20260826`: [#&#8203;97995](https://github.com/vercel/next.js/issues/97995) - docs(skills): preserve prefetched UI during Partial Prefetching adoption: [#&#8203;97712](https://github.com/vercel/next.js/issues/97712) - Omit undeclared children slots from app routes: [#&#8203;97184](https://github.com/vercel/next.js/issues/97184) - Turbopack: widen the chunk ident hash from 7 to 13 base38 chars: [#&#8203;97945](https://github.com/vercel/next.js/issues/97945) - Fix request-context retention in the default use cache handler: [#&#8203;97941](https://github.com/vercel/next.js/issues/97941) - docs: improve discovery summaries: [#&#8203;97982](https://github.com/vercel/next.js/issues/97982) - test: add test for local font with deployment id: [#&#8203;97987](https://github.com/vercel/next.js/issues/97987) - Retain interception route host slots: [#&#8203;97242](https://github.com/vercel/next.js/issues/97242) - test: disable flaky sync-io-blocks-root.test.ts: [#&#8203;97986](https://github.com/vercel/next.js/issues/97986) - \[test] Drain build output before start: [#&#8203;97947](https://github.com/vercel/next.js/issues/97947) - Expose durableUseCacheEntries config in workStore: [#&#8203;97926](https://github.com/vercel/next.js/issues/97926) - Pages Router: Deprecate React 18 support: [#&#8203;97689](https://github.com/vercel/next.js/issues/97689) - Turbopack: call loadActionManifest for app-route: [#&#8203;97921](https://github.com/vercel/next.js/issues/97921) - \[test] Unpin Vercel CLI version: [#&#8203;97974](https://github.com/vercel/next.js/issues/97974) - Turbopack: don't replace single-arg calls with argument in analyzer: [#&#8203;95277](https://github.com/vercel/next.js/issues/95277) - Turbopack: allow compiling turbopack-node without a pool backend: [#&#8203;97943](https://github.com/vercel/next.js/issues/97943) - Support immutable static assets with `output: 'export'`: [#&#8203;97711](https://github.com/vercel/next.js/issues/97711) - Fix build error when aliasing `typescript` to `@typescript/typescript6`: [#&#8203;97942](https://github.com/vercel/next.js/issues/97942) - Fix optimistic routing for encoded dynamic params: [#&#8203;97948](https://github.com/vercel/next.js/issues/97948) - Fix intercepted route params after Proxy rewrites: [#&#8203;97953](https://github.com/vercel/next.js/issues/97953) - \[PPF] Fix navigation() in prospective runtime prerenders: [#&#8203;98000](https://github.com/vercel/next.js/issues/98000) - Revert "test: re-enable sync IO root coverage": [#&#8203;98050](https://github.com/vercel/next.js/issues/98050) - Turbopack: drop rust analyzer skip annotation: [#&#8203;98047](https://github.com/vercel/next.js/issues/98047) - Turbopack: add next_config.use_react_experimental getter: [#&#8203;98032](https://github.com/vercel/next.js/issues/98032) - More granular cache keys for use-cache entries: [#&#8203;95233](https://github.com/vercel/next.js/issues/95233) - \[ci] Remove dormant `code_freeze` workflow: [#&#8203;97756](https://github.com/vercel/next.js/issues/97756) - test: re-enable sync IO root coverage: [#&#8203;97996](https://github.com/vercel/next.js/issues/97996) - \[ci] Remove the unused `wrong-issue-template` workflow and action: [#&#8203;97749](https://github.com/vercel/next.js/issues/97749) - \[image-optimizer] Refactor into lightweight transform module: [#&#8203;97988](https://github.com/vercel/next.js/issues/97988) - \[ci] Remove the stale-issue workflow: [#&#8203;97758](https://github.com/vercel/next.js/issues/97758) - \[ci] Use presigned URLs to upload preview builds: [#&#8203;97922](https://github.com/vercel/next.js/issues/97922) - Turbopack: allow `get_definable_name` to return a list: [#&#8203;97984](https://github.com/vercel/next.js/issues/97984) - docs(examples): document env var handling in the Docker examples: [#&#8203;97968](https://github.com/vercel/next.js/issues/97968) - Turbopack: unify `member` and `in` handling: [#&#8203;97985](https://github.com/vercel/next.js/issues/97985) - Update outdated snapshots: [#&#8203;98011](https://github.com/vercel/next.js/issues/98011) - Guard filesystem reads against unresolved symlinks: [#&#8203;97902](https://github.com/vercel/next.js/issues/97902) - Turbopack: enable export mangling by default in production builds: [#&#8203;97676](https://github.com/vercel/next.js/issues/97676) - Turbopack: mangle exported names for smaller bundle sizes: [#&#8203;97672](https://github.com/vercel/next.js/issues/97672) - \[ci] Remove the popular workflow and its action: [#&#8203;97753](https://github.com/vercel/next.js/issues/97753) - Store keys in key order in SST blocks that omit hashes: [#&#8203;97480](https://github.com/vercel/next.js/issues/97480) - Honor non-interactive mode in upgrade codemod prompts: [#&#8203;98030](https://github.com/vercel/next.js/issues/98030) - Transform .mjs files with Next.js codemods: [#&#8203;98029](https://github.com/vercel/next.js/issues/98029) - evals: stop requiring the removed viewTransition flag in agent-043: [#&#8203;98116](https://github.com/vercel/next.js/issues/98116) - errors: shorten "use cache" messages and unify them into one factory: [#&#8203;94300](https://github.com/vercel/next.js/issues/94300) - test: add adoption skill evals: [#&#8203;97759](https://github.com/vercel/next.js/issues/97759) - Upgrade React from `29d9d318-20260826` to `ff7445e6-20260831`: [#&#8203;98113](https://github.com/vercel/next.js/issues/98113) - \[ci] Simplify `upload-preview-tarballs` workflow: [#&#8203;98109](https://github.com/vercel/next.js/issues/98109) - devlow: use commander for cli argument parsing: [#&#8203;93860](https://github.com/vercel/next.js/issues/93860) - \[PPF] Pass in original searchParams for private-cache pages: [#&#8203;98041](https://github.com/vercel/next.js/issues/98041) - docs: document create-next-app Cache Components prompt and flag: [#&#8203;97798](https://github.com/vercel/next.js/issues/97798) - lazy server hmr: [#&#8203;96566](https://github.com/vercel/next.js/issues/96566) - Fix Turbopack HMR recovery after dropped connections: [#&#8203;97966](https://github.com/vercel/next.js/issues/97966) - test: Improve test cache handler implementations: [#&#8203;98098](https://github.com/vercel/next.js/issues/98098) - docs: Fix the documented contract for custom cache handlers: [#&#8203;98039](https://github.com/vercel/next.js/issues/98039) - chore: remove unused code from image optimizer: [#&#8203;98060](https://github.com/vercel/next.js/issues/98060) - docs: add layout stability guidance for videos and iframes: [#&#8203;98070](https://github.com/vercel/next.js/issues/98070) - tests: Improve use-cache-cross-deployment tests: [#&#8203;98049](https://github.com/vercel/next.js/issues/98049) - turbo-tasks-malloc: report memory from mimalloc: [#&#8203;97761](https://github.com/vercel/next.js/issues/97761) - Remove Edge runtime handling in use-cache-wrapper: [#&#8203;98139](https://github.com/vercel/next.js/issues/98139) - Skip discussions in the `issue_lock` workflow: [#&#8203;98146](https://github.com/vercel/next.js/issues/98146) - \[ci] Fix `issue_lock`: [#&#8203;97755](https://github.com/vercel/next.js/issues/97755) - docs: document preloading with Cache Components: [#&#8203;97864](https://github.com/vercel/next.js/issues/97864) - chore: Remove expired sharp release age exclusions: [#&#8203;98120](https://github.com/vercel/next.js/issues/98120) - Reduce Turbopack cache size with per-family compression: [#&#8203;97714](https://github.com/vercel/next.js/issues/97714) - \[test] Skip hooks of suites skipped by a lazy `@force-gate`: [#&#8203;98169](https://github.com/vercel/next.js/issues/98169) - Bump swc to v77: [#&#8203;97407](https://github.com/vercel/next.js/issues/97407) - Upgrade React from `ff7445e6-20260831` to `21c89c9f-20260901`: [#&#8203;98147](https://github.com/vercel/next.js/issues/98147) - turbo-tasks-backend: parent_count-driven garbage collection: [#&#8203;97282](https://github.com/vercel/next.js/issues/97282) - Remove the worker thread for turbopack builds: [#&#8203;96862](https://github.com/vercel/next.js/issues/96862) - turbo-tasks-malloc: address review feedback on [#&#8203;97761](https://github.com/vercel/next.js/issues/97761): [#&#8203;98153](https://github.com/vercel/next.js/issues/98153) - test: remove stale deploy manifest exclusions: [#&#8203;98051](https://github.com/vercel/next.js/issues/98051) - Enable hourly next-maintainer auto-close workflow: [#&#8203;98225](https://github.com/vercel/next.js/issues/98225) - Return client errors for unrecognized Server Actions: [#&#8203;98123](https://github.com/vercel/next.js/issues/98123) - Add Next Maintainer auto-close workflow: [#&#8203;98197](https://github.com/vercel/next.js/issues/98197) - perf(turbopack): skip ignored files during server tracing: [#&#8203;97475](https://github.com/vercel/next.js/issues/97475) - docs: note that experimental.taint taints process.env: [#&#8203;98145](https://github.com/vercel/next.js/issues/98145) - test: preserve static params during Cache Components migration: [#&#8203;98209](https://github.com/vercel/next.js/issues/98209) - Upgrade web-vitals to v6 and report soft navigations: [#&#8203;97232](https://github.com/vercel/next.js/issues/97232) - Upgrade React from `21c89c9f-20260901` to `f4e439e1-20260902`: [#&#8203;98188](https://github.com/vercel/next.js/issues/98188) - Turn on the adapter route collapses by default: [#&#8203;98218](https://github.com/vercel/next.js/issues/98218) - fix: suppress missing package manager errors in next info: [#&#8203;97946](https://github.com/vercel/next.js/issues/97946) - Turbopack: fix `source` field in CSS sourcemaps: [#&#8203;88225](https://github.com/vercel/next.js/issues/88225) - fix: track dynamic accesses in final runtime prerenders: [#&#8203;98255](https://github.com/vercel/next.js/issues/98255) - docs: add API reference pages for skipProxyUrlNormalize and skipTrailingSlashRedirect: [#&#8203;97967](https://github.com/vercel/next.js/issues/97967) - fix: route info segment overrides not updating in dev overlay: [#&#8203;96968](https://github.com/vercel/next.js/issues/96968) - test(turbopack): remove dead top-level task unmarks: [#&#8203;98246](https://github.com/vercel/next.js/issues/98246) - Fix flaky successive HMR changes test: [#&#8203;97610](https://github.com/vercel/next.js/issues/97610) - docs: Remove version label from Turbopack in Pages Router: [#&#8203;98316](https://github.com/vercel/next.js/issues/98316) - Bump to swc v78: [#&#8203;98268](https://github.com/vercel/next.js/issues/98268) - Create next.config.ts when generating apps with `pnpm new-test`: [#&#8203;98364](https://github.com/vercel/next.js/issues/98364) - test(evals): accept LayoutProps in App Router migration: [#&#8203;98365](https://github.com/vercel/next.js/issues/98365) - \[test] Run deploy tests against local JavaScript changes by default: [#&#8203;98353](https://github.com/vercel/next.js/issues/98353) - \[test] Resolve `workspace:*` packages to the version under test: [#&#8203;98330](https://github.com/vercel/next.js/issues/98330) - turbo-tasks: explicit GC root anchoring + cross-session orphan reclamation: [#&#8203;96857](https://github.com/vercel/next.js/issues/96857) - \[PPF] Fix missing runtime-follow up if hints are stale: [#&#8203;98278](https://github.com/vercel/next.js/issues/98278) - Instant validation for caches excluded from prerenders: [#&#8203;98342](https://github.com/vercel/next.js/issues/98342) - \[PPF] Model caches with `stale < MIN_SHELL_STALE` as prefetch-only data: [#&#8203;98339](https://github.com/vercel/next.js/issues/98339) - docs: document excluding content from a prefetch in the prefetching g…: [#&#8203;98175](https://github.com/vercel/next.js/issues/98175) - docs: add unstable_navigation and unstable_prefetch API references: [#&#8203;98122](https://github.com/vercel/next.js/issues/98122) - Fix turbopacks webpack loader setup to support options being optional: [#&#8203;98270](https://github.com/vercel/next.js/issues/98270) - \[ci] Align build-and-deploy triggers with build-and-test: [#&#8203;98331](https://github.com/vercel/next.js/issues/98331) - test: stabilize server action HMR update: [#&#8203;98322](https://github.com/vercel/next.js/issues/98322) - Add version for loaders api: [#&#8203;98377](https://github.com/vercel/next.js/issues/98377) - turbo-tasks-backend: let a GC pass wind down when it is blocking an operation: [#&#8203;96676](https://github.com/vercel/next.js/issues/96676) - docs: preserve Next.js development state: [#&#8203;98276](https://github.com/vercel/next.js/issues/98276) - Adds .resolve to loaders api: [#&#8203;98361](https://github.com/vercel/next.js/issues/98361) - Turbopack: fix require handling with alternative: [#&#8203;98258](https://github.com/vercel/next.js/issues/98258) - docs: clarify ISR with Suspense params: [#&#8203;98210](https://github.com/vercel/next.js/issues/98210) - \[cd] Update `peerDependencies` in prereleases to accept the current prerelease: [#&#8203;98411](https://github.com/vercel/next.js/issues/98411) - test: stabilize error recovery snapshot timing: [#&#8203;98414](https://github.com/vercel/next.js/issues/98414) - example: Use a Redis cacheHandler w/o dependencies: [#&#8203;95346](https://github.com/vercel/next.js/issues/95346) - Support durable use-cache entries with client components: [#&#8203;98140](https://github.com/vercel/next.js/issues/98140) - Upgrade React from `f4e439e1-20260902` to `6c0e1047-20260908`: [#&#8203;98363](https://github.com/vercel/next.js/issues/98363) - fix: preserve repeated --require/--import flags when forking workers: [#&#8203;96651](https://github.com/vercel/next.js/issues/96651) - ci: check that Turbopack compiles for wasm: [#&#8203;97588](https://github.com/vercel/next.js/issues/97588) - feat(next-napi-bindings): build Turbopack for wasm: [#&#8203;97586](https://github.com/vercel/next.js/issues/97586) - Turbopack: fix output tracing include glob traversal: [#&#8203;98382](https://github.com/vercel/next.js/issues/98382) - test: support deploy exclusions with force gates: [#&#8203;98149](https://github.com/vercel/next.js/issues/98149) - Fix: Turbopack CSS HMR error when editing an unmounted merged CSS chunk: [#&#8203;94551](https://github.com/vercel/next.js/issues/94551) - Dev server: More aggresively scold users for deleting .next when we detect it while dev is running: [#&#8203;98253](https://github.com/vercel/next.js/issues/98253) - turbo-persistence: add TURBO_PERSISTENCE_MMAP=0 to disable mmap: [#&#8203;97873](https://github.com/vercel/next.js/issues/97873) - Fix dev route discovery startup race: [#&#8203;97920](https://github.com/vercel/next.js/issues/97920) - Re-enable [@&#8203;vercel/devlow-bench](https://github.com/vercel/devlow-bench) publishing: [#&#8203;98236](https://github.com/vercel/next.js/issues/98236) - test: migrate caching deploy exclusions to force gates: [#&#8203;98154](https://github.com/vercel/next.js/issues/98154) - Typecheck the Turbopack ECMAScript runtime in CI: [#&#8203;98422](https://github.com/vercel/next.js/issues/98422) - Fix initial Turbopack HMR update handling: [#&#8203;98385](https://github.com/vercel/next.js/issues/98385) - Skip bundler config validation in next/jest and under test: [#&#8203;98392](https://github.com/vercel/next.js/issues/98392) - Remove `tsec`: [#&#8203;98423](https://github.com/vercel/next.js/issues/98423) - Stabilize scope_unbounded panic test: [#&#8203;98416](https://github.com/vercel/next.js/issues/98416) - test: restore deployment exclusion for shared Cache Components tests: [#&#8203;98464](https://github.com/vercel/next.js/issues/98464) - Resolve metadata independently across parallel routes: [#&#8203;97345](https://github.com/vercel/next.js/issues/97345) - docs: preserve route behavior during Cache Components adoption: [#&#8203;98275](https://github.com/vercel/next.js/issues/98275) - Add a fast-path to 'get_relative_path_to' for a potential common case when 'from' is empty: [#&#8203;98440](https://github.com/vercel/next.js/issues/98440) - docs: document React browser API: [#&#8203;97621](https://github.com/vercel/next.js/issues/97621) - Enable React browser bailout by default: [#&#8203;98439](https://github.com/vercel/next.js/issues/98439) - \[evals] Cover focused Cache Components and Partial Prefetching cases: [#&#8203;97813](https://github.com/vercel/next.js/issues/97813) - Deflake gc_interrupt_is_self_healing: [#&#8203;98445](https://github.com/vercel/next.js/issues/98445) - Adds this.target for webpack loaders: [#&#8203;98436](https://github.com/vercel/next.js/issues/98436) - test(evals): validate delegated error boundary components: [#&#8203;98387](https://github.com/vercel/next.js/issues/98387) - test: stabilize deferred entries HMR assertions: [#&#8203;98418](https://github.com/vercel/next.js/issues/98418) - Add in warning for workers around the fsevents bug: [#&#8203;98447](https://github.com/vercel/next.js/issues/98447) - skill: add Partial Prefetching optimizer: [#&#8203;96471](https://github.com/vercel/next.js/issues/96471) - bundle-analyzer: add table view to single-build analyzer: [#&#8203;93523](https://github.com/vercel/next.js/issues/93523) - bundle-analyzer: add table view to compare mode: [#&#8203;93522](https://github.com/vercel/next.js/issues/93522) - bundle-analyzer: add compare view with treemap diff: [#&#8203;93521](https://github.com/vercel/next.js/issues/93521) - \[testmode] Stop using deprecated `url.parse`: [#&#8203;98194](https://github.com/vercel/next.js/issues/98194) - fix(next/image): don't share the requester's socket with the internal image response: [#&#8203;98168](https://github.com/vercel/next.js/issues/98168) - Fix duplicate background revalidation for `'use cache'`: [#&#8203;98446](https://github.com/vercel/next.js/issues/98446) - Turbopack: Deduplicate project options documentation: [#&#8203;98465](https://github.com/vercel/next.js/issues/98465) - Report incompatible parallel route slots: [#&#8203;97430](https://github.com/vercel/next.js/issues/97430) - Require canonical routes for interception routes: [#&#8203;97428](https://github.com/vercel/next.js/issues/97428) - Error when app pages do not match any route: [#&#8203;97401](https://github.com/vercel/next.js/issues/97401) - fix(turbopack): add `get_relative_request_to` for paths used as module requests: [#&#8203;98497](https://github.com/vercel/next.js/issues/98497) - \[ci] Cleanup orphaned `next-stats-action`: [#&#8203;98348](https://github.com/vercel/next.js/issues/98348) - \[scripts] Move scripts (and benchmarks) off of `node-fetch`: [#&#8203;98347](https://github.com/vercel/next.js/issues/98347) - \[test] Move fixtures off `node-fetch`: [#&#8203;98346](https://github.com/vercel/next.js/issues/98346) - \[test] Move the harness off `node-fetch`: [#&#8203;98195](https://github.com/vercel/next.js/issues/98195) - fix(turbopack): resolve `../` and `/`-rooted `import.meta.glob` patterns: [#&#8203;96557](https://github.com/vercel/next.js/issues/96557) - Durable use cache: optimize env var existence checks: [#&#8203;98504](https://github.com/vercel/next.js/issues/98504) - Adds this.mode for webpack loaders: [#&#8203;98532](https://github.com/vercel/next.js/issues/98532) - Upgrade React from `6c0e1047-20260908` to `019019be-20260911`: [#&#8203;98576](https://github.com/vercel/next.js/issues/98576) - feat(next/image): Add experimental imgOptMozjpeg config: [#&#8203;98571](https://github.com/vercel/next.js/issues/98571) - \[turbopack] Lazily compile dynamic imports in development (client side): [#&#8203;97203](https://github.com/vercel/next.js/issues/97203) - fix(devtools): handle pointercancel when dragging the indicator: [#&#8203;98506](https://github.com/vercel/next.js/issues/98506) - \[ci] Show full logs under GitHub Actions debug logging: [#&#8203;98501](https://github.com/vercel/next.js/issues/98501) - fix(typegen): merge cacheLife types into next/cache instead of shadowing it: [#&#8203;98252](https://github.com/vercel/next.js/issues/98252) - \[test] Fix `proxy-request-with-middleware` deploy test: [#&#8203;98553](https://github.com/vercel/next.js/issues/98553) - \[ci] Remove the broken Test examples workflow and its test suite: [#&#8203;98517](https://github.com/vercel/next.js/issues/98517) - Align fallback parameter staging with shell validation: [#&#8203;98512](https://github.com/vercel/next.js/issues/98512) - Prevent synchronous IO from entering Cached Navigations: [#&#8203;98511](https://github.com/vercel/next.js/issues/98511) - \[ci] Fix scheduled Rspack test job: [#&#8203;98508](https://github.com/vercel/next.js/issues/98508) - \[ci] Remove Turbopack test manifest pipeline: [#&#8203;98507](https://github.com/vercel/next.js/issues/98507) - test: stabilize OpenTelemetry collector lifecycle: [#&#8203;98427](https://github.com/vercel/next.js/issues/98427) - Make TurbopackResult payloads disjoint: [#&#8203;98575](https://github.com/vercel/next.js/issues/98575) - Durable use cache: fix runtime env var mutation: [#&#8203;98558](https://github.com/vercel/next.js/issues/98558) - refactor(turbopack): drop the generic on `new_atom`, and stop it copying an owned string: [#&#8203;98520](https://github.com/vercel/next.js/issues/98520) - Serialize turbo-tasks trybuild tests: [#&#8203;98415](https://github.com/vercel/next.js/issues/98415) - Expose App Router runtime errors over HMR: [#&#8203;98438](https://github.com/vercel/next.js/issues/98438) - test: avoid OpenTelemetry collector socket reuse: [#&#8203;98632](https://github.com/vercel/next.js/issues/98632) - fix: Bump vendored [@&#8203;mswjs/interceptors](https://github.com/mswjs/interceptors) from 0.42.0 to 0.42.5: [#&#8203;98607](https://github.com/vercel/next.js/issues/98607) - Document codemod errors and intentional migration exceptions: [#&#8203;98565](https://github.com/vercel/next.js/issues/98565) - Unify TODO markers for codemods and skip adoption-only codemods for upgrade: [#&#8203;98560](https://github.com/vercel/next.js/issues/98560) - Optimize strict module factory chunks: [#&#8203;98421](https://github.com/vercel/next.js/issues/98421) - Sort batched chunk items globally by path: [#&#8203;98433](https://github.com/vercel/next.js/issues/98433) - test(turbopack): strongly read test operations: [#&#8203;98247](https://github.com/vercel/next.js/issues/98247) - Add `next dev` wait for Turbopack shutdown: [#&#8203;98646](https://github.com/vercel/next.js/issues/98646) - docs: document default turbopack.resolveExtensions: [#&#8203;98627](https://github.com/vercel/next.js/issues/98627) - test: migrate package CSS side-effects coverage: [#&#8203;98635](https://github.com/vercel/next.js/issues/98635) - Improve tree shaking through Next.js module wrappers: [#&#8203;98638](https://github.com/vercel/next.js/issues/98638) - Trace export usage through client component proxies: [#&#8203;98621](https://github.com/vercel/next.js/issues/98621) - fix(turbopack): trace cyclic modules to explicit entries: [#&#8203;98661](https://github.com/vercel/next.js/issues/98661) - Use default pnpm package import method: [#&#8203;98703](https://github.com/vercel/next.js/issues/98703) - Fix constant inlining in shorthand properties: [#&#8203;98662](https://github.com/vercel/next.js/issues/98662) - test(turbopack): add strong read operation roots: [#&#8203;98248](https://github.com/vercel/next.js/issues/98248) - Use pnpm for isolated test installs: [#&#8203;98425](https://github.com/vercel/next.js/issues/98425) - \[turbopack] Forward usage information across re-exports: [#&#8203;96282](https://github.com/vercel/next.js/issues/96282) - \[turbopack] Use options object for ESM references: [#&#8203;98680](https://github.com/vercel/next.js/issues/98680) - test: enable verified runtime deploy tests: [#&#8203;98457](https://github.com/vercel/next.js/issues/98457) - test: enable verified assets deploy tests: [#&#8203;98527](https://github.com/vercel/next.js/issues/98527) - test: enable verified pages-router deploy tests: [#&#8203;98526](https://github.com/vercel/next.js/issues/98526) - test: enable verified tooling deploy tests: [#&#8203;98525](https://github.com/vercel/next.js/issues/98525) - test: enable verified app-router deploy tests: [#&#8203;98524](https://github.com/vercel/next.js/issues/98524) - test: enable verified caching deploy tests: [#&#8203;98523](https://github.com/vercel/next.js/issues/98523) - Fix unexpected query parameters in adapter deployments: [#&#8203;98584](https://github.com/vercel/next.js/issues/98584) - Keep never-prerenderable params out of self-hosted shells: [#&#8203;98612](https://github.com/vercel/next.js/issues/98612) - Fix addMissingDependency: [#&#8203;98588](https://github.com/vercel/next.js/issues/98588) - docs: clarify metadata support in root not-found: [#&#8203;98670](https://github.com/vercel/next.js/issues/98670) - Pages Router: do not return the `__appRouter` prefetch marker as route info on shallow navigation: [#&#8203;98187](https://github.com/vercel/next.js/issues/98187) - Pages Router: key the client router filter prefetch marker by the `as` path: [#&#8203;98182](https://github.com/vercel/next.js/issues/98182) - docs: add an intro paragraph to the glossary: [#&#8203;98654](https://github.com/vercel/next.js/issues/98654) - Fix App Router locale path matching with Pages i18n: [#&#8203;98095](https://github.com/vercel/next.js/issues/98095) - Upgrade React from `019019be-20260911` to `ff8f88fc-20260915`: [#&#8203;98693](https://github.com/vercel/next.js/issues/98693) - Store code generation AST paths in a shared trie: [#&#8203;98581](https://github.com/vercel/next.js/issues/98581) - Turbopack: Remove wasmer from lockfile by deleting dead feature option from our wasm crate: [#&#8203;98761](https://github.com/vercel/next.js/issues/98761) - Prefer using join over try_join when you don't want a vec: [#&#8203;98547](https://github.com/vercel/next.js/issues/98547) - Preserve committed app route response status during fallback: [#&#8203;98649](https://github.com/vercel/next.js/issues/98649) - docs: scope React cache() guidance to the render pass: [#&#8203;98741](https://github.com/vercel/next.js/issues/98741) - fix(next-custom-transforms): never place generated imports before directives: [#&#8203;98717](https://github.com/vercel/next.js/issues/98717) - Pin tasks during construction: [#&#8203;98688](https://github.com/vercel/next.js/issues/98688) - fix(use-cache): track root params read in "use cache" as vary params: [#&#8203;98674](https://github.com/vercel/next.js/issues/98674) - \[test] Fix Webpack deployment failures in PostCSS tests: [#&#8203;98710](https://github.com/vercel/next.js/issues/98710) - Revert "Fix App Router locale path matching with Pages i18n": [#&#8203;98715](https://github.com/vercel/next.js/issues/98715) - Nudge the agents for future defaults adoption: [#&#8203;98721](https://github.com/vercel/next.js/issues/98721) - Add future defaults upgrade coverage for `next upgrade --ai`: [#&#8203;98643](https://github.com/vercel/next.js/issues/98643) - Nudge the agents for latest version upgrade: [#&#8203;98640](https://github.com/vercel/next.js/issues/98640) - Add "latest" upgrade coverage for `next upgrade --ai`: [#&#8203;98633](https://github.com/vercel/next.js/issues/98633) - Nudge the agents for security vulnerable version upgrade: [#&#8203;98637](https://github.com/vercel/next.js/issues/98637) - Add `next upgrade --ai` and security vulnerability coverage: [#&#8203;98562](https://github.com/vercel/next.js/issues/98562) - agents: Add a `--comments-only` flag to `pr-status` script, trim down context bloat in AGENTS.md: [#&#8203;98781](https://github.com/vercel/next.js/issues/98781) - Keep guards across restore owner handoff: [#&#8203;98700](https://github.com/vercel/next.js/issues/98700) - \[turbopack] Track webpack loader build dependency files: [#&#8203;98777](https://github.com/vercel/next.js/issues/98777) - Replace lzzzz with lz4_flex: [#&#8203;98799](https://github.com/vercel/next.js/issues/98799) - Bump to swc v79: [#&#8203;98809](https://github.com/vercel/next.js/issues/98809) - \[PPF] Fix unnecessary runtime prefetch with prefetch={true}: [#&#8203;98651](https://github.com/vercel/next.js/issues/98651) - Keep metadata rendering stable across streaming modes: [#&#8203;97440](https://github.com/vercel/next.js/issues/97440) - \[test] Expand root-param navigation regression coverage: [#&#8203;98731](https://github.com/vercel/next.js/issues/98731) - docs: rewrite the bots and crawlers section in the caching guide: [#&#8203;98782](https://github.com/vercel/next.js/issues/98782) - Fix isStableBuild() treating commit preview tarballs as stable: [#&#8203;98811](https://github.com/vercel/next.js/issues/98811) - perf(turbo-persistence): shard meta files by family: [#&#8203;97703](https://github.com/vercel/next.js/issues/97703) - turbo-persistence: assorted read-path cleanups: [#&#8203;97797](https://github.com/vercel/next.js/issues/97797) - turbo-persistence: give key block searches a dense region of their own: [#&#8203;97705](https://github.com/vercel/next.js/issues/97705) - Introduce config options for Turbopack GC: [#&#8203;98378](https://github.com/vercel/next.js/issues/98378) - Persist resurrected tasks as new tasks: [#&#8203;98729](https://github.com/vercel/next.js/issues/98729) - Rspack: Remove bincode dependency from rspack by way of turbo-unix-path: [#&#8203;98855](https://github.com/vercel/next.js/issues/98855) - Pin tasks across restore waiter handoff: [#&#8203;98728](https://github.com/vercel/next.js/issues/98728) - test: honor skipStart for Vercel deployments: [#&#8203;98776](https://github.com/vercel/next.js/issues/98776) - Use internal prefix for Turbopack shutdown env: [#&#8203;98747](https://github.com/vercel/next.js/issues/98747) - test: retry waiting for ISR fallback in prefetch-static-shell: [#&#8203;98884](https://github.com/vercel/next.js/issues/98884) - Fix generated Turbopack GC option docs: [#&#8203;98888](https://github.com/vercel/next.js/issues/98888) - Add agent feedback behavior evals: [#&#8203;98887](https://github.com/vercel/next.js/issues/98887) - Add experimental agent feedback workflow: [#&#8203;98582](https://github.com/vercel/next.js/issues/98582) - Clean up unnecessary output asset creation: [#&#8203;98834](https://github.com/vercel/next.js/issues/98834) - Properly disable laziness on next/dynamic: [#&#8203;98828](https://github.com/vercel/next.js/issues/98828) - Set `experimental.agenticAutoUpgrade` after successful upgrade: [#&#8203;98871](https://github.com/vercel/next.js/issues/98871) - example(cache-handler-redis): fix connection leak, hangs on a down Redis, and cross-page tag invalidation: [#&#8203;98716](https://github.com/vercel/next.js/issues/98716) - Do not check Node version while agentic upgrade: [#&#8203;98852](https://github.com/vercel/next.js/issues/98852) - test: run cargo unit tests with miri as well: [#&#8203;97535](https://github.com/vercel/next.js/issues/97535) - test: unflake instant-validation: [#&#8203;98854](https://github.com/vercel/next.js/issues/98854) - Preserve closed-parameter restrictions in client route prediction: [#&#8203;98889](https://github.com/vercel/next.js/issues/98889) - \[test] Fix deployment tests that relied on implicit startup: [#&#8203;98935](https://github.com/vercel/next.js/issues/98935) - Turbopack: Add support for specifying additional roots: [#&#8203;98003](https://github.com/vercel/next.js/issues/98003) - Turbopack: Add symlinks and additional roots to NFT metadata: [#&#8203;98469](https://github.com/vercel/next.js/issues/98469) - Enable AI upgrade for canary: [#&#8203;99001](https://github.com/vercel/next.js/issues/99001) - fix(turbo-persistence): preserve write errors on writer drop: [#&#8203;98840](https://github.com/vercel/next.js/issues/98840) - Skip slow valued tombstone test under Miri: [#&#8203;98992](https://github.com/vercel/next.js/issues/98992) - Improve the agent feedback review flow: [#&#8203;98937](https://github.com/vercel/next.js/issues/98937) - Run AI upgrades with the latest official canary: [#&#8203;98870](https://github.com/vercel/next.js/issues/98870) - test: move whole development-only suites out of e2e: [#&#8203;98842](https://github.com/vercel/next.js/issues/98842) - Fix `instant-false` codemod to run on route segment filenames: [#&#8203;98880](https://github.com/vercel/next.js/issues/98880) - test: migrate legacy deployment exclusion callers: [#&#8203;98473](https://github.com/vercel/next.js/issues/98473) - Split revalidation errors by execution context: [#&#8203;98993](https://github.com/vercel/next.js/issues/98993) - Enable strict route matching by default: [#&#8203;97397](https://github.com/vercel/next.js/issues/97397) - Surface agent feedback gate connection failures: [#&#8203;98991](https://github.com/vercel/next.js/issues/98991) - Generalize the build-time generator work-unit store name: [#&#8203;98891](https://github.com/vercel/next.js/issues/98891) - Use structural React keys during server rendering: [#&#8203;98944](https://github.com/vercel/next.js/issues/98944) - Upgrade React from `ff8f88fc-20260915` to `59aff3e1-20260918`: [#&#8203;98897](https://github.com/vercel/next.js/issues/98897) - Remove unused `hasWarnings` and `warnings`: [#&#8203;96956](https://github.com/vercel/next.js/issues/96956) - \[PPF] Scaffold `unstable_ensureStatic` segment config: [#&#8203;98190](https://github.com/vercel/next.js/issues/98190) - \[agent-feedback] Respect CI and telemetry opt-out: [#&#8203;99062](https://github.com/vercel/next.js/issues/99062) - Fix prefetch loop when a predicted route redirects: [#&#8203;98998](https://github.com/vercel/next.js/issues/98998) - Fix dev overlay header layout on small screens: [#&#8203;99049](https://github.com/vercel/next.js/issues/99049) - \[PPF] Separate tracking of runtime data accesses for shells and prefetches: [#&#8203;98129](https://github.com/vercel/next.js/issues/98129) - Harden `next/og` SVG serialization: [#&#8203;99061](https://github.com/vercel/next.js/issues/99061) - test: clarify dev-only intent of duplicate Sass warning test: [#&#8203;98917](https://github.com/vercel/next.js/issues/98917) - test: enable upward distDir deployment coverage: [#&#8203;98886](https://github.com/vercel/next.js/issues/98886) - test: remove redundant deployment skips from mode-guarded suites: [#&#8203;98908](https://github.com/vercel/next.js/issues/98908) - Turbopack: trace static project files referenced by packages: [#&#8203;98712](https://github.com/vercel/next.js/issues/98712) - Durable use cache: fix next/image pulling in NEXT_DEPLOYMENT_ID: [#&#8203;98739](https://github.com/vercel/next.js/issues/98739) - Unify hydration error tree details: [#&#8203;99008](https://github.com/vercel/next.js/issues/99008) - Turbopack: forward module graph, entrypoint write, and emit spans to the JS trace: [#&#8203;98408](https://github.com/vercel/next.js/issues/98408) - Fix startTime and shutdown delivery of forwarded Turbopack trace spans: [#&#8203;98426](https://github.com/vercel/next.js/issues/98426) - Turbopack: loader change invalidation: [#&#8203;95732](https://github.com/vercel/next.js/issues/95732) - perf: optimize CSS graph cycle removal: [#&#8203;98860](https://github.com/vercel/next.js/issues/98860) - Use AGENTS.md for managed agent instructions: [#&#8203;99043](https://github.com/vercel/next.js/issues/99043) - Turbopack: analyze mode tracing imports only: [#&#8203;98825](https://github.com/vercel/next.js/issues/98825) - Turbopack: compact re-export registration: [#&#8203;98617](https://github.com/vercel/next.js/issues/98617) - test: Add test for ESM and CJS exports of `next/*` APIs: [#&#8203;98882](https://github.com/vercel/next.js/issues/98882) - Keep cached root parameters out of generic fallback shells: [#&#8203;98950](https://github.com/vercel/next.js/issues/98950) - Fix missing content in Cached Navigations: [#&#8203;98767](https://github.com/vercel/next.js/issues/98767) - \[turbopack] Track members across namespace re-exports: [#&#8203;96396](https://github.com/vercel/next.js/issues/96396) - \[PPF] Implement `unstable_ensureStatic = "shell" | "prefetch"`: [#&#8203;98191](https://github.com/vercel/next.js/issues/98191) - \[PPF] Validate `unstable_ensureStatic` nesting: [#&#8203;98357](https://github.com/vercel/next.js/issues/98357) - Replace lerna task-runner usage with pnpm: [#&#8203;99040](https://github.com/vercel/next.js/issues/99040) - \[cd] Fix release branch gate and drop dead lerna publish config: [#&#8203;99039](https://github.com/vercel/next.js/issues/99039) - Turbopack: fix "ModuleId not found for ident" regression: [#&#8203;99090](https://github.com/vercel/next.js/issues/99090) - Fix private-cache segment reuse across root params: [#&#8203;98810](https://github.com/vercel/next.js/issues/98810) - Turbopack: fix `Unknown module type` error for imports in webpack loaders: [#&#8203;99088](https://github.com/vercel/next.js/issues/99088) - Nudge future defaults upgrades for manual `next dev|build`: [#&#8203;98874](https://github.com/vercel/next.js/issues/98874) - Nudge latest version upgrades for manual `next dev|build`: [#&#8203;98873](https://github.com/vercel/next.js/issues/98873) - Nudge security upgrades for manual `next dev|build`: [#&#8203;98872](https://github.com/vercel/next.js/issues/98872) - Upgrade React from `59aff3e1-20260918` to `8b0da1c6-20260922`: [#&#8203;99059](https://github.com/vercel/next.js/issues/99059) - refactor(turbo-rcstr): drop unsupported 16-byte pointer width: [#&#8203;98355](https://github.com/vercel/next.js/issues/98355) - test(turbo-tasks-backend): run the db_versioning tests on wasm: [#&#8203;97901](https://github.com/vercel/next.js/issues/97901) - fix(turbo-tasks): let parking_lot block on wasm instead of panicking: [#&#8203;97860](https://github.com/vercel/next.js/issues/97860) - test(turbo-tasks): run the wasm tests with a Node wasi host: [#&#8203;97789](https://github.com/vercel/next.js/issues/97789) - \[cd] Skip the release job when no new commits warrant a release: [#&#8203;98664](https://github.com/vercel/next.js/issues/98664) - \[test] Add fallback param deployment regression coverage: [#&#8203;98883](https://github.com/vercel/next.js/issues/98883) - Turbopack: mangle exports behind an escaping namespace via the facade: [#&#8203;97770](https://github.com/vercel/next.js/issues/97770) - test(dev): add dedicated compiler polling coverage: [#&#8203;97673](https://github.com/vercel/next.js/issues/97673) - build(turbopack): upgrade notify to 9.0.0-rc.5: [#&#8203;98737](https://github.com/vercel/next.js/issues/98737) - test(turbopack): add polling to filesystem watcher fuzzer: [#&#8203;98863](https://github.com/vercel/next.js/issues/98863) - test(turbopack): fix filesystem watcher symlink expectations: [#&#8203;98983](https://github.com/vercel/next.js/issues/98983) - test(turbopack): fix filesystem watcher read-write tracking: [#&#8203;98982](https://github.com/vercel/next.js/issues/98982) - Don't re-request the App Shell to upgrade an ISR fallback: [#&#8203;94808](https://github.com/vercel/next.js/issues/94808) - Fix unstable ensure static task annotation: [#&#8203;99075](https://github.com/vercel/next.js/issues/99075) - test: update React 18 hydration error snapshots: [#&#8203;99073](https://github.com/vercel/next.js/issues/99073) - Remove redundant unsafe_ignore annotations: [#&#8203;98961](https://github.com/vercel/next.js/issues/98961) - Remove TraceRawVcs: [#&#8203;98953](https://github.com/vercel/next.js/issues/98953) - test(turbopack): remove remaining test unmarks: [#&#8203;98376](https://github.com/vercel/next.js/issues/98376) - Add experimental custom webpack support: [#&#8203;98862](https://github.com/vercel/next.js/issues/98862) - Default agentic upgrades to a separate worktree: [#&#8203;99111](https://github.com/vercel/next.js/issues/99111) - Improve agent upgrade failure message for missing app: [#&#8203;99117](https://github.com/vercel/next.js/issues/99117) - Preserve error boundaries in on-demand partial prerenders: [#&#8203;99051](https://github.com/vercel/next.js/issues/99051) - Preserve error boundaries during on-demand prerendering: [#&#8203;99037](https://github.com/vercel/next.js/issues/99037) - docs: clarify Turbopack ModulePart export examples: [#&#8203;99104](https://github.com/vercel/next.js/issues/99104) - Add some more verification and safety rules around custom `distDir`: [#&#8203;98997](https://github.com/vercel/next.js/issues/98997) - Preserve closed-route admission across cache misses: [#&#8203;98964](https://github.com/vercel/next.js/issues/98964) - Move suspension into operation guard: [#&#8203;99053](https://github.com/vercel/next.js/issues/99053) - \[agent-feedback] Shorten managed agent instructions: [#&#8203;99065](https://github.com/vercel/next.js/issues/99065) - docs: clarify Cache Components build output: [#&#8203;98274](https://github.com/vercel/next.js/issues/98274) - Update Rust namespace re-export snapshots: [#&#8203;99106](https://github.com/vercel/next.js/issues/99106) - \[ci] Skip preview tarball upload when the artifact is missing: [#&#8203;98713](https://github.com/vercel/next.js/issues/98713) - \[cd] Retry preview tarball uploads with backoff and richer diagnostics: [#&#8203;99060](https://github.com/vercel/next.js/issues/99060) - Promote next analyze command: [#&#8203;99074](https://github.com/vercel/next.js/issues/99074) - \[ai-upgrade] Remind the agent to report the nudge: [#&#8203;99127](https://github.com/vercel/next.js/issues/99127) - Tune Node server chunking for require overhead: [#&#8203;99120](https://github.com/vercel/next.js/issues/99120) - Turbopack: fix another "ModuleId not found for ident" regression: [#&#8203;99102](https://github.com/vercel/next.js/issues/99102) - test: enable deploy coverage for TypeScript config errors: [#&#8203;98849](https://github.com/vercel/next.js/issues/98849) - test: enable deploy coverage for routing build errors: [#&#8203;98848](https://github.com/vercel/next.js/issues/98848) - test: enable deploy coverage for cache build errors: [#&#8203;98847](https://github.com/vercel/next.js/issues/98847) - Turbopack: chunk each layout segment once in production: [#&#8203;99100](https://github.com/vercel/next.js/issues/99100) - bundle-analyzer: exclude traces from output types: [#&#8203;98536](https://github.com/vercel/next.js/issues/98536) - turbo-tasks-gc: Defer most aggregation graph management until after GC has settled: [#&#8203;98591](https://github.com/vercel/next.js/issues/98591) - Skip ESLint migration when scripts do not use next lint: [#&#8203;99103](https://github.com/vercel/next.js/issues/99103) - Turbopack: pass RcStr to AnalyzeIssue: [#&#8203;99166](https://github.com/vercel/next.js/issues/99166) - Use graph-backed codegen for client proxies and WASM loaders: [#&#8203;99115](https://github.com/vercel/next.js/issues/99115) - \[PPF] Instant validation for `ensureStatic = "shell" | "prefetch"`: [#&#8203;98249](https://github.com/vercel/next.js/issues/98249) - Fix flaky lazy-dynamic-imports.test: [#&#8203;99057](https://github.com/vercel/next.js/issues/99057) - \[test] Skip flaky deploy tests: [#&#8203;99156](https://github.com/vercel/next.js/issues/99156) - \[cd] Tolerate 409 when uploading preview tarballs: [#&#8203;99091](https://github.com/vercel/next.js/issues/99091) - \[test] Fix new deploy suites: [#&#8203;99162](https://github.com/vercel/next.js/issues/99162) - Provide only the relevant context for agent upgrade: [#&#8203;99189](https://github.com/vercel/next.js/issues/99189) - Turbopack: Add support for additionalRoots to deployment adapters: [#&#8203;99015](https://github.com/vercel/next.js/issues/99015) - Use Sonnet 5 with 1M context for AI upgrade handoff: [#&#8203;99183](https://github.com/vercel/next.js/issues/99183) - docs: font per-call preload scope and the declarations font-family override: [#&#8203;99167](https://github.com/vercel/next.js/issues/99167) - Revert "Add experimental custom webpack support": [#&#8203;99227](https://github.com/vercel/next.js/issues/99227) - test: stabilize lazy dynamic import error overlay: [#&#8203;98730](https://github.com/vercel/next.js/issues/98730) - turbo-tasks-gc: tear down reverse edges when collecting a task: [#&#8203;99145](https://github.com/vercel/next.js/issues/99145) - Sequence CI for branch-based PR stacks: [#&#8203;99086](https://github.com/vercel/next.js/issues/99086) - Prefetch scheduler mirrors the navigation's tree walk: [#&#8203;98975](https://github.com/vercel/next.js/issues/98975) - Separate route structure comparison from param comparison: [#&#8203;98974](https://github.com/vercel/next.js/issues/98974) - Store the head as its own CacheNode: [#&#8203;98973](https://github.com/vercel/next.js/issues/98973) - Record which params a CacheNode's data depends on: [#&#8203;98972](https://github.com/vercel/next.js/issues/98972) - Use RouteTree<T> for CacheNode tree: [#&#8203;98971](https://github.com/vercel/next.js/issues/98971) - Remove the page/layout distinction from RouteTree: [#&#8203;98970](https://github.com/vercel/next.js/issues/98970) - Fix root predicates: [#&#8203;98942](https://github.com/vercel/next.js/issues/98942) - \[turbopack] only remove followers if they are actually removed as children: [#&#8203;98843](https://github.com/vercel/next.js/issues/98843) - turbo-tasks-backend: simplify the collectibility predicate and collect transient tasks: [#&#8203;98615](https://github.com/vercel/next.js/issues/98615) - turbo-tasks-gc: Invalidating a deleted task should be a no-op: [#&#8203;98614](https://github.com/vercel/next.js/issues/98614) - Avoid decoding prerender matcher parameters twice: [#&#8203;99121](https://github.com/vercel/next.js/issues/99121) - Prepare `'use cache'` for static root-param tracking: [#&#8203;99239](https://github.com/vercel/next.js/issues/99239) - \[test] Adjust the prerender-encoding open fallback gate for non-adapter deploys: [#&#8203;99240](https://github.com/vercel/next.js/issues/99240) - Turbopack: avoid project-wide traces from package directories: [#&#8203;99238](https://github.com/vercel/next.js/issues/99238) - Hoist resolved pathname into app page route match: [#&#8203;99259](https://github.com/vercel/next.js/issues/99259) - docs: papercuts in image API reference: [#&#8203;99256](https://github.com/vercel/next.js/issues/99256) - test: run the TypeScript version warning suites in deploy: [#&#8203;99195](https://github.com/vercel/next.js/issues/99195) - test: drop skipDeployment where another gate already excludes deploy: [#&#8203;99194](https://github.com/vercel/next.js/issues/99194) - bundle-analyzer: suspend while loading analyzer data: [#&#8203;98535](https://github.com/vercel/next.js/issues/98535) - Fix Server Actions hanging after navigation to PPR pages: [#&#8203;99252](https://github.com/vercel/next.js/issues/99252) - Fix blurry bundle analyzer treemap on low-DPI displays: [#&#8203;99197](https://github.com/vercel/next.js/issues/99197) - Rename bundle analyzer snapshot naming option: [#&#8203;99251](https://github.com/vercel/next.js/issues/99251) - Reduce stacked PR gate polling and use ts-jest: [#&#8203;99215](https://github.com/vercel/next.js/issues/99215) - Name the internal trace server process: [#&#8203;99257](https://github.com/vercel/next.js/issues/99257) - test: enable deploy coverage for asset and compiler errors: [#&#8203;98850](https://github.com/vercel/next.js/issues/98850) - test: consolidate duplicate mode branches in build error tests: [#&#8203;99135](https://github.com/vercel/next.js/issues/99135) - test: snapshot the proxy-runtime build error output: [#&#8203;99136](https://github.com/vercel/next.js/issues/99136) - Avoid obsolete pnpm overrides in pack-next: [#&#8203;99199](https://github.com/vercel/next.js/issues/99199) - bundle-analyzer: move comparison state into URL: [#&#8203;98530](https://github.com/vercel/next.js/issues/98530) - simplify `Transition` by removing dead members: [#&#8203;94467](https://github.com/vercel/next.js/issues/94467) - fix: respect metadata streaming policy in Edge SSR: [#&#8203;99128](https://github.com/vercel/next.js/issues/99128) - Avoid facade splits solely for export mangling: [#&#8203;99285](https://github.com/vercel/next.js/issues/99285) - test: forward \_\_NEXT_PARTIAL_PREFETCHING to test-deploy: [#&#8203;99275](https://github.com/vercel/next.js/issues/99275) - Turbopack: Allow webpack loaders to cross filesystem roots when reading dependencies: [#&#8203;99202](https://github.com/vercel/next.js/issues/99202) - Explain prerelease security upgrade limits: [#&#8203;99230](https://github.com/vercel/next.js/issues/99230) - Support latest agentic upgrades on prerelease channels: [#&#8203;99223](https://github.com/vercel/next.js/issues/99223) - Allow agentic upgrades without Git: [#&#8203;99217](https://github.com/vercel/next.js/issues/99217) - Show security upgrade insights in DevTools: [#&#8203;99002](https://github.com/vercel/next.js/issues/99002) - Use focused npm advisories and nudge only for ready upgrades: [#&#8203;99222](https://github.com/vercel/next.js/issues/99222) - \[test] Stabilize middleware revalidation test: [#&#8203;99378](https://github.com/vercel/next.js/issues/99378) - test: scope loader build dependency update to Turbopack: [#&#8203;99380](https://github.com/vercel/next.js/issues/99380) - Remove CLAUDE.md symlinks in favor of AGENTS.md: [#&#8203;98910](https://github.com/vercel/next.js/issues/98910) - Align ExecuteContext task accessor names: [#&#8203;99258](https://github.com/vercel/next.js/issues/99258) - \[test] Stabilize responsive dev overlay header layout test: [#&#8203;99376](https://github.com/vercel/next.js/issues/99376) - Turbopack: skip trimmed side-effect imports in SideEffectsModule: [#&#8203;95781](https://github.com/vercel/next.js/issues/95781) - Turbopack: preserve import `with` clauses when direct-binding: [#&#8203;95529](https://github.com/vercel/next.js/issues/95529) - Turbopack: fix split_module correctness for app-router: [#&#8203;95522](https://github.com/vercel/next.js/issues/95522) - Turbopack: fix empty tree-shake chunks desyncing part ids ([#&#8203;93424](https://github.com/vercel/next.js/issues/93424)): [#&#8203;95516](https://github.com/vercel/next.js/issues/95516) - Fix custom cache handlers missing on initial requests: [#&#8203;99372](https://github.com/vercel/next.js/issues/99372) - Allow Draft Mode on unlisted closed routes in adapter deployments: [#&#8203;99370](https://github.com/vercel/next.js/issues/99370) - Fix bundle analyzer source table delta sorting: [#&#8203;99369](https://github.com/vercel/next.js/issues/99369) - test: fix stale snapshots after `unstable_{prefetch,navigation}` rename: [#&#8203;99371](https://github.com/vercel/next.js/issues/99371) - Virtualize bundle analyzer source table: [#&#8203;98539](https://github.com/vercel/next.js/issues/98539) - \[PPF] Remove leftover debug log in router: [#&#8203;99365](https://github.com/vercel/next.js/issues/99365) - Remove unstable\_ prefix from navigation() and prefetch(): [#&#8203;99241](https://github.com/vercel/next.js/issues/99241) - Lazy dynamic imports for ssr: [#&#8203;98836](https://github.com/vercel/next.js/issues/98836) - Refine the Security Insight upgrade prompt: [#&#8203;99354](https://github.com/vercel/next.js/issues/99354) - \[PPF] `ensureStatic = "navigation"`: [#&#8203;99171](https://github.com/vercel/next.js/issues/99171) - docs: use prefetch={true} for links to ISR pages with Cache Components: [#&#8203;99261](https://github.com/vercel/next.js/issues/99261) - Add agent feedback to create-next-app defaults: [#&#8203;99119](https://github.com/vercel/next.js/issues/99119) - Make next-dev-loop browser headless by default: [#&#8203;98318](https://github.com/vercel/next.js/issues/98318) - \[test] Extend timeout for tests barely below it: [#&#8203;99305](https://github.com/vercel/next.js/issues/99305) - docs: typo fixes: [#&#8203;99350](https://github.com/vercel/next.js/issues/99350) - \[ai-upgrade] ESC to move back during prompt: [#&#8203;99319](https://github.com/vercel/next.js/issues/99319) - \[ai-upgrade] Ask user to choose permission: [#&#8203;99291](https://github.com/vercel/next.js/issues/99291) - \[ai-upgrade] Ask user to choose model and effort: [#&#8203;99235](https://github.com/vercel/next.js/issues/99235) - \[ai-upgrade] Ask user whether to start upgrade in worktree: [#&#8203;99232](https://github.com/vercel/next.js/issues/99232) - \[create-next-app] Enable Cache Components by default in create-next-app: [#&#8203;99436](https://github.com/vercel/next.js/issues/99436) - Include async module evaluation in client loading metrics: [#&#8203;99427](https://github.com/vercel/next.js/issues/99427) - turbo-tasks-backend: fix leaf distance tracing compilation: [#&#8203;99443](https://github.com/vercel/next.js/issues/99443) - Enable proxy export tests in deploy mode: [#&#8203;99400](https://github.com/vercel/next.js/issues/99400) - docs: record API stabilization across Next.js 16 releases: [#&#8203;99420](https://github.com/vercel/next.js/issues/99420) - test: migrate and explain custom server deploy exclusions: [#&#8203;98994](https://github.com/vercel/next.js/issues/98994) - test: migrate and explain root-inference deploy exclusions: [#&#8203;99012](https://github.com/vercel/next.js/issues/99012) - Enable build diagnostic suites in deploy mode: [#&#8203;99402](https://github.com/vercel/next.js/issues/99402) - test(turbopack): remove filesystem fuzzer unit tests: [#&#8203;99089](https://github.com/vercel/next.js/issues/99089) - \[turbopack] Support webpack loader build dependency requests: [#&#8203;99071](https://github.com/vercel/next.js/issues/99071) - \[turbopack] Track webpack loader build dependency directories: [#&#8203;98838](https://github.com/vercel/next.js/issues/98838) - \[ci] Wire preview builds variables consistently: [#&#8203;99323](https://github.com/vercel/next.js/issues/99323) - \[ci] Enable PR comment in any repo: [#&#8203;99315](https://github.com/vercel/next.js/issues/99315) - Fix bundle analyzer route selector: [#&#8203;98702](https://github.com/vercel/next.js/issues/98702) - bundle-analyzer: use Rust React compiler: [#&#8203;98695](https://github.com/vercel/next.js/issues/98695) - Link bundle analyzer empty states to source mode: [#&#8203;98542](https://github.com/vercel/next.js/issues/98542) - Consolidate HTML render completion cleanup: [#&#8203;99426](https://github.com/vercel/next.js/issues/99426) - Scope client component loading metrics to HTML renders: [#&#8203;99322](https://github.com/vercel/next.js/issues/99322) - fix: preserve HTTP status codes during prerendering: [#&#8203;99078](https://github.com/vercel/next.js/issues/99078) - test: enable deploy coverage for five verified suites: [#&#8203;99193](https://github.com/vercel/next.js/issues/99193) - Document agent feedback field limits: [#&#8203;99415](https://github.com/vercel/next.js/issues/99415) - test: migrate tooling deploy exclusions to force gates: [#&#8203;98156](https://github.com/vercel/next.js/issues/98156) - Turbopack: Don't force non-recursive watcher for additional roots: [#&#8203;99396](https://github.com/vercel/next.js/issues/99396) - turbo-persistence: intermediate merges take the newest files of similar size: [#&#8203;99433](https://github.com/vercel/next.js/issues/99433) - turbo-persistence: space-amplification driven compaction with adaptive hash shards: [#&#8203;99268](https://github.com/vercel/next.js/issues/99268) - test: enable basePath redirect deployment coverage: [#&#8203;99401](https://github.com/vercel/next.js/issues/99401) - fix(incremental-cache): keep an ISR entry's cache lifetime across instances and restarts: [#&#8203;99289](https://github.com/vercel/next.js/issues/99289) - Avoid mutating image qualities during validation: [#&#8203;99476](https://github.com/vercel/next.js/issues/99476) - Remove the Cache Components deployment-test alias: [#&#8203;99446](https://github.com/vercel/next.js/issues/99446) - Finalize the App Router dev indicator on output completion: [#&#8203;99384](https://github.com/vercel/next.js/issues/99384) - \[test] Cover external `next/image` in adapter deployments: [#&#8203;99466](https://github.com/vercel/next.js/issues/99466) - Prepare image options without mutating configuration: [#&#8203;99394](https://github.com/vercel/next.js/issues/99394) - \[PPF] Use RDC in runtime prerenders: [#&#8203;98025](https://github.com/vercel/next.js/issues/98025) - \[PPF] Use RDC in cachedNavigations codepaths: [#&#8203;98005](https://github.com/vercel/next.js/issues/98005) - test: add PPF coverage to use-cache and RDC tests: [#&#8203;99417](https://github.com/vercel/next.js/issues/99417) - Restore static metadata prerendering for dynamic routes: [#&#8203;99463](https://github.com/vercel/next.js/issues/99463) - Exclude metadata files from route handler type validation: [#&#8203;99377](https://github.com/vercel/next.js/issues/99377) - Remove `true` from `agentUpgrade` option: [#&#8203;99461](https://github.com/vercel/next.js/issues/99461) - fix: revalidateTag not reaching custom cache handlers when profiles differ : [#&#8203;99359](https://github.com/vercel/next.js/issues/99359) - Enable agent upgrade reminders by default: [#&#8203;99311](https://github.com/vercel/next.js/issues/99311) - Enable deploy tests for reusable fixture variants: [#&#8203;99404](https://github.com/vercel/next.js/issues/99404) - test: enable compatible body-size cases in deploy: [#&#8203;98911](https://github.com/vercel/next.js/issues/98911) - test: retain deploy exclusions for local process control: [#&#8203;99392](https://github.com/vercel/next.js/issues/99392) - Enable nullish config tests in deploy mode: [#&#8203;99397](https://github.com/vercel/next.js/issues/99397) - Always use generateBuildId if set explicitly: [#&#8203;99147](https://github.com/vercel/next.js/issues/99147) - Set tracer library version: [#&#8203;98262](https://github.com/vercel/next.js/issues/98262) - fix: propagate repeated tag revalidation from after(): [#&#8203;99499](https://github.com/vercel/next.js/issues/99499) - Stabilize `ensureStatic`: [#&#8203;99513](https://github.com/vercel/next.js/issues/99513) - Turbopack: Enable experimental.turbopackSharedRuntime by default: [#&#8203;99504](https://github.com/vercel/next.js/issues/99504) - Measure AI upgrade nudges, handoffs, and completion: [#&#8203;99465](https://github.com/vercel/next.js/issues/99465) - turbo-persistence: 32 bit fingerprints for the used keys AMQFs: [#&#8203;99333](https://github.com/vercel/next.js/issues/99333) - Remove suspend during operations: [#&#8203;99383](https://github.com/vercel/next.js/issues/99383) - test: migrate runtime deploy exclusions to force gates: [#&#8203;98159](https://github.com/vercel/next.js/issues/98159) - test: migrate asset deploy exclusions to force gates: [#&#8203;98158](https://github.com/vercel/next.js/issues/98158) - test: migrate Pages Router deploy exclusions to force gates: [#&#8203;98157](https://github.com/vercel/next.js/issues/98157) - fix: stale usages of unstable_ensureStatic: [#&#8203;99540](https://github.com/vercel/next.js/issues/99540) - Add unstable parameter matching APIs: [#&#8203;97393](https://github.com/vercel/next.js/issues/97393) - docs: point next package security disclosure to HackerOne: [#&#8203;99459](https://github.com/vercel/next.js/issues/99459) - docs: add ensureStatic reference and validation guidance: [#&#8203;99355](https://github.com/vercel/next.js/issues/99355) - Enable Turbopack export name mangling by default for builds: [#&#8203;99362](https://github.com/vercel/next.js/issues/99362) - Allow skipping React and ESLint upgrades: [#&#8203;99468](https://github.com/vercel/next.js/issues/99468) - Prefer the declared package manager during upgrades: [#&#8203;99471](https://github.com/vercel/next.js/issues/99471) - Use Next.js conventions in bundle analyzer UI: [#&#8203;98780](https://github.com/vercel/next.js/issues/98780) - Pass App Page HMR state through a dev render context: [#&#8203;99487](https://github.com/vercel/next.js/issues/99487) - Remove request forwarding from App Router error reporting: [#&#8203;99488](https://github.com/vercel/next.js/issues/99488) - docs: self hosting immutable static assets: [#&#8203;97008](https://github.com/vercel/next.js/issues/97008) - test: enable deployment fixtures with Corepack and portable tarballs: [#&#8203;99192](https://github.com/vercel/next.js/issues/99192) - Resolve React dependency warnings from the target app: [#&#8203;99536](https://github.com/vercel/next.js/issues/99536) - Move upgrade workflows out of public docs: [#&#8203;99546](https://github.com/vercel/next.js/issues/99546) - Use Agent terminology throughout upgrades: [#&#8203;99545](https://github.com/vercel/next.js/issues/99545) - Turbopack: Commit updated generated-native file: [#&#8203;99561](https://github.com/vercel/next.js/issues/99561) - test: enable Relay multi-project deployment coverage: [#&#8203;99403](https://github.com/vercel/next.js/issues/99403) - test: migrate independent App Router deploy exclusions to force gates: [#&#8203;99431](https://github.com/vercel/next.js/issues/99431) - test: migrate mode-specific deploy exclusions to force gates: [#&#8203;98160](https://github.com/vercel/next.js/issues/98160) - Optimize esm exports by shifting the protocol burden to getters: [#&#8203;98932](https://github.com/vercel/next.js/issues/98932) - fix: fix pnpm builds in Docker examples: [#&#8203;97352](https://github.com/vercel/next.js/issues/97352) - Assert transient task references are not serialized: [#&#8203;99300](https://github.com/vercel/next.js/issues/99300) - Reorganize bundle analyzer toolbar: [#&#8203;98920](https://github.com/vercel/next.js/issues/98920) - Show async module scope in bundle analyzer: [#&#8203;98918](https://github.com/vercel/next.js/issues/98918) - Show bundle changes in compare treemap: [#&#8203;98837](https://github.com/vercel/next.js/issues/98837) - improve disk read semantics around MustExist and AllowMissing: [#&#8203;99249](https://github.com/vercel/next.js/issues/99249) - Allow opt-in facade-backed export mangling: [#&#8203;99309](https://github.com/vercel/next.js/issues/99309) - Add bundle analyzer route summary: [#&#8203;98787](https://github.com/vercel/next.js/issues/98787) - \[turbo-tasks-backend] Correctly maintain outdated_collectibles to prevent unnecessary stale executions: [#&#8203;99386](https://github.com/vercel/next.js/issues/99386) - Upgrade React from `8b0da1c6-20260922` to `278794d7-20261002`: [#&#8203;99600](https://github.com/vercel/next.js/issues/99600) - Warn when Partial Prefetching is not configured: [#&#8203;99452](https://github.com/vercel/next.js/issues/99452) - Store the Turbopack module cache in a Map: [#&#8203;98947](https://github.com/vercel/next.js/issues/98947) - Improve agent feedback reporting reliability: [#&#8203;99591](https://github.com/vercel/next.js/issues/99591) - Enable empty generateStaticParams deploy diagnostics: [#&#8203;99406](https://github.com/vercel/next.js/issues/99406) - test: enable Nx deployment coverage: [#&#8203;99407](https://github.com/vercel/next.js/issues/99407) - test: enable deployment coverage for monorepo fixtures: [#&#8203;99395](https://github.com/vercel/next.js/issues/99395) - test: capture deployment experimental flags in config: [#&#8203;99534](https://github.com/vercel/next.js/issues/99534) - test: extract a shared helper for deployment feature flags: [#&#8203;99533](https://github.com/vercel/next.js/issues/99533) - Move App Page header parsing to handler entrypoints: [#&#8203;99506](https://github.com/vercel/next.js/issues/99506) - docs: clarify ensureStatic levels from dogfooding: [#&#8203;99590](https://github.com/vercel/next.js/issues/99590) - Gate param-matching deploy tests on the adapter: [#&#8203;99582](https://github.com/vercel/next.js/issues/99582) - docs: update the MCP guide for next-devtools-mcp 0.4: [#&#8203;99583](https://github.com/vercel/next.js/issues/99583) - Document agent upgrades across Next.js: [#&#8203;99293](https://github.com/vercel/next.js/issues/99293) - \[test] Fix the legacy image preload order assertion for React 18: [#&#8203;99572](https://github.com/vercel/next.js/issues/99572) - docs: Remove task decomposition and validation boilerplate from AGENTS.md: [#&#8203;99558](https://github.com/vercel/next.js/issues/99558) - Turbopack: Use a FrozenMap for DiskFileSystemMap: [#&#8203;99569](https://github.com/vercel/next.js/issues/99569) - \[test] Expose first-run e2e test failures in CI: [#&#8203;99528](https://github.com/vercel/next.js/issues/99528) - Turbopack: `resolveFileUrl`/`placeholderFileUrl` is always called with a module path: [#&#8203;99560](https://github.com/vercel/next.js/issues/99560) - Turbopack: Remove implicit mismatched root fallthrough for AfterResolvePluginCondition, accept None as a root: [#&#8203;99556](https://github.com/vercel/next.js/issues/99556) - Turbopack: Allow ResolveMap entries to match against all possible roots: [#&#8203;99555](https://github.com/vercel/next.js/issues/99555) - Turbopack: Support import.meta.url in additional roots: [#&#8203;99511](https://github.com/vercel/next.js/issues/99511) - Followup from [#&#8203;99249](https://github.com/vercel/next.js/issues/99249) remove some redundant tests and enable missing assertions all the time: [#&#8203;99605](https://github.com/vercel/next.js/issues/99605) - Simplify turbo-tasks-backend guards and execution contexts: [#&#8203;99599](https://github.com/vercel/next.js/issues/99599) - Add allocation and memory data to the trace-server MCP protocol: [#&#8203;98546](https://github.com/vercel/next.js/issues/98546) - turbo-tasks-backend: check access in track_modification and only track Data on serialization invalidation: [#&#8203;99581](https://github.com/vercel/next.js/issues/99581) - Fix CI break caused by [#&#8203;98932](https://github.com/vercel/next.js/issues/98932): [#&#8203;99621](https://github.com/vercel/next.js/issues/99621) - Fix: Unnecessary Suspense fallback triggered by URL update: [#&#8203;99612](https://github.com/vercel/next.js/issues/99612) - Don't suspend client params on shallow URL updates: [#&#8203;99611](https://github.com/vercel/next.js/issues/99611) - Add React Compiler memoization preservation option: [#&#8203;98589](https://github.com/vercel/next.js/issues/98589) - Unify bundle analyzer delta colors: [#&#8203;99607](https://github.com/vercel/next.js/issues/99607) - Turbopack: Cache canonicalized paths without turbo-tasks, try to find the longest cached prefix first: [#&#8203;99270](https://github.com/vercel/next.js/issues/99270) - Record parameter matching usage in build metadata: [#&#8203;99594](https://github.com/vercel/next.js/issues/99594) - Bundle Analyzer Agent Skill: Stream versioned analyzer graph as JSON Lines: [#&#8203;99387](https://github.com/vercel/next.js/issues/99387) - Revert "Optimize esm exports by shifting the protocol burden to getters ([#&#8203;98932](https://github.com/vercel/next.js/issues/98932))": [#&#8203;99704](https://github.com/vercel/next.js/issues/99704) - \[PPF] Log Sync IO errors in runtime prerenders: [#&#8203;99688](https://github.com/vercel/next.js/issues/99688) - docs: clarify use client directive as a file level directive: [#&#8203;99703](https://github.com/vercel/next.js/issues/99703) - Stabilize `forbidden()` and `unauthorized()`: [#&#8203;99689](https://github.com/vercel/next.js/issues/99689) - turbopack-ecmascript-runtime: type-check every runtime file: [#&#8203;99670](https://github.com/vercel/next.js/issues/99670) - test: unflake use-cache-search-params: [#&#8203;99691](https://github.com/vercel/next.js/issues/99691) - Avoid mutating config for default export paths: [#&#8203;99496](https://github.com/vercel/next.js/issues/99496) - Keep compile-mode metadata outside configuration: [#&#8203;99491](https://github.com/vercel/next.js/issues/99491) - Keep dynamic asset prefixes outside configuration: [#&#8203;99490](https://github.com/vercel/next.js/issues/99490) - eslint-config-next: support ESLint 10: [#&#8203;99628](https://github.com/vercel/next.js/issues/99628) - Add Instant Insights for prefetch() and navigation(): [#&#8203;97801](https://github.com/vercel/next.js/issues/97801) - rename `RenderStage.Runtime` to `PrefetchRuntime`: [#&#8203;99679](https://github.com/vercel/next.js/issues/99679) - Collect root param dependencies for `'use cache'` at build time: [#&#8203;99274](https://github.com/vercel/next.js/issues/99274) - Add client fixes for fully static route errors: [#&#8203;99659](https://github.com/vercel/next.js/issues/99659) - docs: clarify hover prefetching with Partial Prefetching: [#&#8203;99665](https://github.com/vercel/next.js/issues/99665) - Durable use cache entries: sort env var list: [#&#8203;99657](https://github.com/vercel/next.js/issues/99657) - next-swc: rebuild native when embedded js/src files change: [#&#8203;99669](https://github.com/vercel/next.js/issues/99669) - Improve static route error guidance: [#&#8203;99724](https://github.com/vercel/next.js/issues/99724) - docs: add Turbopack experimental config references: [#&#8203;99723](https://github.com/vercel/next.js/issues/99723) - Show choices for agent upgrade prompt: [#&#8203;99727](https://github.com/vercel/next.js/issues/99727) - docs: add Keeping pages static guide and align the navigation stage docs: [#&#8203;99493](https://github.com/vercel/next.js/issues/99493) - Turbopack: Check the invalidator map before adding a path to a batch: [#&#8203;99711](https://github.com/vercel/next.js/issues/99711) - docs: add guide for optimizing the static shell: [#&#8203;97737](https://github.com/vercel/next.js/issues/97737) - Keep dev and build running during upgrade prompts: [#&#8203;99702](https://github.com/vercel/next.js/issues/99702) - docs: use auth interruption APIs in examples: [#&#8203;99698](https://github.com/vercel/next.js/issues/99698) - docs: recommend auth interruption APIs in error handling: [#&#8203;99696](https://github.com/vercel/next.js/issues/99696) - \[test] Update snapshots: [#&#8203;99713](https://github.com/vercel/next.js/issues/99713) - Bundle Analyzer Agent Skill: Trace conditional async and worker chunk loading: [#&#8203;99174](https://github.com/vercel/next.js/issues/99174) - Bundle Analyzer Agent Skill: Show route chunk groups: [#&#8203;99170](https://github.com/vercel/next.js/issues/99170) - Bundle Analyzer Agent Skill: Show modules in generated JS/CSS files: [#&#8203;99173](https://github.com/vercel/next.js/issues/99173) - Bundle Analyzer Agent Skill: Expose more route details in analyze data: [#&#8203;99172](https://github.com/vercel/next.js/issues/99172) - turbo-tasks-backend: stop dirtying dependents of GC-collected tasks: [#&#8203;99647](https://github.com/vercel/next.js/issues/99647) - turbo-tasks-backend: treat reads and connects of collected tasks as errors: [#&#8203;99646](https://github.com/vercel/next.js/issues/99646) - turbo-tasks-backend: stop pinning tasks during restores and always discard missing tasks: [#&#8203;99645](https://github.com/vercel/next.js/issues/99645) - Bundle Analyzer Agent Skill: Add analyzer skill: [#&#8203;99169](https://github.com/vercel/next.js/issues/99169) - Document next analyze export in the package bundling guide: [#&#8203;99735](https://github.com/vercel/next.js/issues/99735) - Revert stabilization of `forbidden()` and `unauthorized()`: [#&#8203;99734](https://github.com/vercel/next.js/issues/99734) - Preserve configured output directories during static export: [#&#8203;99507](https://github.com/vercel/next.js/issues/99507) - Rename skill to next-bundle-optimizer and document its usage: [#&#8203;99731](https://github.com/vercel/next.js/issues/99731) - \[turbo-tasks-backend] Clean up task state before publishing execution completion: [#&#8203;99729](https://github.com/vercel/next.js/issues/99729) ##### Credits Huge thanks to [@&#8203;acdlite](https://github.com/acdlite), [@&#8203;icyJoseph](https://github.com/icyJoseph), [@&#8203;lukesandberg](https://github.com/lukesandberg), [@&#8203;sampoder](https://github.com/sampoder), [@&#8203;ztanner](https://github.com/ztanner), [@&#8203;vercel-release-bot](https://github.com/vercel-release-bot), [@&#8203;marcoshernanz](https://github.com/marcoshernanz), [@&#8203;mischnic](https://github.com/mischnic), [@&#8203;timneutkens](https://github.com/timneutkens), [@&#8203;eps1lon](https://github.com/eps1lon), [@&#8203;gaearon](https://github.com/gaearon), [@&#8203;aurorascharff](https://github.com/aurorascharff), [@&#8203;unstubbable](https://github.com/unstubbable), [@&#8203;lubieowoce](https://github.com/lubieowoce), [@&#8203;wbinnssmith](https://github.com/wbinnssmith), [@&#8203;molebox](https://github.com/molebox), [@&#8203;kyamaz99](https://github.com/kyamaz99), [@&#8203;sokra](https://github.com/sokra), [@&#8203;Janpot](https://github.com/Janpot), [@&#8203;bgw](https://github.com/bgw), [@&#8203;m-kawafuji](https://github.com/m-kawafuji), [@&#8203;koenpunt](https://github.com/koenpunt), [@&#8203;gnoff](https://github.com/gnoff), [@&#8203;mayur9210](https://github.com/mayur9210), [@&#8203;Jashnavi25](https://github.com/Jashnavi25), [@&#8203;jarrensj](https://github.com/jarrensj), [@&#8203;akselipalmer](https://github.com/akselipalmer), [@&#8203;DavidIlie](https://github.com/DavidIlie), [@&#8203;kelvinampofo](https://github.com/kelvinampofo), [@&#8203;Stanzilla](https://github.com/Stanzilla), [@&#8203;syedsohailhussain1](https://github.com/syedsohailhussain1), [@&#8203;gaojude](https://github.com/gaojude), [@&#8203;hammadxcm](https://github.com/hammadxcm), [@&#8203;jimmyhmiller](https://github.com/jimmyhmiller), [@&#8203;lazerg](https://github.com/lazerg), [@&#8203;styfle](https://github.com/styfle), [@&#8203;bryan-ferry](https://github.com/bryan-ferry), [@&#8203;gdborton](https://github.com/gdborton), [@&#8203;hardfist](https://github.com/hardfist), [@&#8203;niketchandivade](https://github.com/niketchandivade), [@&#8203;seanbeirnes](https://github.com/seanbeirnes), [@&#8203;0ldh](https://github.com/0ldh), [@&#8203;fabian-hiller](https://github.com/fabian-hiller), [@&#8203;devjiwonchoi](https://github.com/devjiwonchoi), [@&#8203;biubiukam](https://github.com/biubiukam), [@&#8203;fireairforce](https://github.com/fireairforce), [@&#8203;QingHeSite](https://github.com/QingHeSite), [@&#8203;marceloboeira](https://github.com/marceloboeira), [@&#8203;leejpsd](https://github.com/leejpsd), [@&#8203;hamidrezahanafi](https://github.com/hamidrezahanafi), [@&#8203;jgruica](https://github.com/jgruica), [@&#8203;zeeshan56656](https://github.com/zeeshan56656), [@&#8203;mlekhi](https://github.com/mlekhi), [@&#8203;dacgray](https://github.com/dacgray), [@&#8203;Xanaado](https://github.com/Xanaado), [@&#8203;mezotv](https://github.com/mezotv), [@&#8203;anujbolewar](https://github.com/anujbolewar), [@&#8203;spirosikmd](https://github.com/spirosikmd), [@&#8203;Amusac](https://github.com/Amusac), [@&#8203;itsybitsci](https://github.com/itsybitsci), [@&#8203;ranger-ross](https://github.com/ranger-ross), [@&#8203;bmorros94](https://github.com/bmorros94), [@&#8203;jamiboym](https://github.com/jamiboym), [@&#8203;kostyniuk](https://github.com/kostyniuk), [@&#8203;alangenfeld](https://github.com/alangenfeld), [@&#8203;aryabyte21](https://github.com/aryabyte21), [@&#8203;martinfrancois](https://github.com/martinfrancois), [@&#8203;kassens](https://github.com/kassens), [@&#8203;orzazade](https://github.com/orzazade), [@&#8203;Samiislam851](https://github.com/Samiislam851), [@&#8203;lukahartwig](https://github.com/lukahartwig), [@&#8203;uaoa](https://github.com/uaoa), [@&#8203;swarnava](https://github.com/swarnava), and [@&#8203;6iu8a](https://github.com/6iu8a) for helping! ### [`v16.3.8`](https://github.com/vercel/next.js/releases/tag/v16.3.8) [Compare Source](https://github.com/vercel/next.js/compare/v16.3.7...v16.3.8) This release contains security fixes for the following advisories: High: - [Server-Side Request Forgery in Image Optimization](https://github.com/vercel/next.js/security/advisories/GHSA-cjq9-62q9-8jv4) Medium: - [Information disclosure in Next.js App Router metadata image routes via dynamicParams bypass](https://github.com/vercel/next.js/security/advisories/GHSA-f87g-xv8r-7p7x) - [Cache poisoning of SSG and ISR pages in self-hosted Next.js applications](https://github.com/vercel/next.js/security/advisories/GHSA-4jqv-mc3x-m676) - [Cache poisoning in Next.js SSG/ISR rendering leads to cross-user content substitution and persistent denial of service](https://github.com/vercel/next.js/security/advisories/GHSA-mcj8-r9mp-w47p) - [Pending `use cache` fill can leak Draft Mode content into regular responses and persisted pages](https://github.com/vercel/next.js/security/advisories/GHSA-3w37-wq28-93x7) - [Cache leak across root param values in nested 'use cache' functions](https://github.com/vercel/next.js/security/advisories/GHSA-h694-7cp9-m8p3) Low: - [Information disclosure in the Next.js development server's Model Context Protocol endpoint](https://github.com/vercel/next.js/security/advisories/GHSA-39w2-rjm5-chcv) ### [`v16.3.7`](https://github.com/vercel/next.js/releases/tag/v16.3.7) [Compare Source](https://github.com/vercel/next.js/compare/v16.3.6...v16.3.7) > \[!NOTE] > This release is backporting bug fixes. It does **not** include all pending features/changes on canary. ##### Core Changes - turbo-tasks-backend: fix strongly consistent read hanging on a canceled task ([#&#8203;98931](https://github.com/vercel/next.js/issues/98931)) ##### Credits Huge thanks to [@&#8203;lukesandberg](https://github.com/lukesandberg) for helping! ### [`v16.3.6`](https://github.com/vercel/next.js/releases/tag/v16.3.6) [Compare Source](https://github.com/vercel/next.js/compare/v16.3.5...v16.3.6) This release contains a security fix for [GHSA-vcvr-r3jv-pc5j: Remote Code Execution in next/og ImageResponse](https://github.com/vercel/next.js/security/advisories/GHSA-vcvr-r3jv-pc5j) ### [`v16.3.5`](https://github.com/vercel/next.js/releases/tag/v16.3.5) [Compare Source](https://github.com/vercel/next.js/compare/v16.3.4...v16.3.5) The following bug fixes have been backported. It does not include all pending features/changes on canary. - next/image: Skip 0-byte entries when initializing disk LRU cache ([#&#8203;98185](https://github.com/vercel/next.js/issues/98185)) - next/image: Reject empty images when reading/writing to the disk cache ([#&#8203;98186](https://github.com/vercel/next.js/issues/98186)) - Emit whole-app server NFTs when `output: 'standalone'` is used with an adapter ([#&#8203;98167](https://github.com/vercel/next.js/issues/98167)) - Add CSP nonce to script tags of loading and template files ([#&#8203;98403](https://github.com/vercel/next.js/issues/98403)) - Fix `use cache` prerender signal retention ([#&#8203;98448](https://github.com/vercel/next.js/issues/98448)) ### [`v16.3.4`](https://github.com/vercel/next.js/releases/tag/v16.3.4) [Compare Source](https://github.com/vercel/next.js/compare/v16.3.3...v16.3.4) Follow-up release to [v16.3.3](https://github.com/vercel/next.js/releases/tag/v16.3.3) re-enabling AVIF Image Optimization ([#&#8203;97949](https://github.com/vercel/next.js/pull/97949)). The following bug fixes have been backported. It does **not** include all pending features/changes on canary. - testmode: Fix infinite recursion in testmode passthrough fetch ([#&#8203;97691](https://github.com/vercel/next.js/issues/97691)) - Fix build error when aliasing typescript to [@&#8203;typescript/typescript6](https://github.com/typescript/typescript6) ([#&#8203;97997](https://github.com/vercel/next.js/issues/97997)) - Fix unset crossOrigin in Turbopack manifests ([#&#8203;97930](https://github.com/vercel/next.js/issues/97930)) ##### Credits Huge thanks to [@&#8203;eps1lon](https://github.com/eps1lon), [@&#8203;mischnic](https://github.com/mischnic), and [@&#8203;timneutkens](https://github.com/timneutkens) for helping! ### [`v16.3.3`](https://github.com/vercel/next.js/releases/tag/v16.3.3) [Compare Source](https://github.com/vercel/next.js/compare/v16.3.2...v16.3.3) This release contains security fixes for the following advisories: Critical: - [Unauthenticated Remote Code Execution on windows-hosted servers](https://github.com/vercel/next.js/security/advisories/GHSA-p293-qw3h-jr36) - [Unauthenticated Remote Code Execution in Image Optimization API when AVIF files are used](https://github.com/vercel/next.js/security/advisories/GHSA-2xp9-vwfh-vxw4) ### [`v16.3.2`](https://github.com/vercel/next.js/releases/tag/v16.3.2) [Compare Source](https://github.com/vercel/next.js/compare/v16.3.1...v16.3.2) > \[!NOTE] > This release is backporting bug fixes. It does **not** include all pending features/changes on canary. ##### Core Changes - \[backport] Scope app-entry export validation to files inside the app directory ([#&#8203;97357](https://github.com/vercel/next.js/issues/97357)) - \[backport] Fix catch-all index page being served for every other slug ([#&#8203;97416](https://github.com/vercel/next.js/issues/97416)) - \[16.3] Turbopack: don't trace embedded WASM loader helpers ([#&#8203;97353](https://github.com/vercel/next.js/issues/97353)) ([#&#8203;97463](https://github.com/vercel/next.js/issues/97463)) - \[16.3] Turbopack: retain conditions when replacing resolve request keys ([#&#8203;97453](https://github.com/vercel/next.js/issues/97453)) - \[16.3.x] Fix Turbopack worker chunk loading with asset prefix ([#&#8203;97419](https://github.com/vercel/next.js/issues/97419)) - \[16.3.x] Authenticate Turborepo remote caching with OIDC instead of a static PAT ([#&#8203;97603](https://github.com/vercel/next.js/issues/97603)) ##### Credits Huge thanks to [@&#8203;lubieowoce](https://github.com/lubieowoce), [@&#8203;unstubbable](https://github.com/unstubbable), [@&#8203;timneutkens](https://github.com/timneutkens), [@&#8203;mischnic](https://github.com/mischnic), and [@&#8203;eps1lon](https://github.com/eps1lon) for helping! ### [`v16.3.1`](https://github.com/vercel/next.js/releases/tag/v16.3.1) [Compare Source](https://github.com/vercel/next.js/compare/v16.3.0...v16.3.1) ##### What's Changed - \[16.x] Turbopack: don't strip async-module runtime from shared runtime chunks by [@&#8203;lukesandberg](https://github.com/lukesandberg) in [#&#8203;96653](https://github.com/vercel/next.js/pull/96653) - \[16.x] \[turbopack] Add `turbopack_ecmascript` and `turbopack_wasm`'s embeded FS to `internal_assets_conditions` by [@&#8203;lukesandberg](https://github.com/lukesandberg) in [#&#8203;96655](https://github.com/vercel/next.js/pull/96655) - \[16.x] \[turbopack] Collapse nested promises in the analyzer by [@&#8203;sampoder](https://github.com/sampoder) in [#&#8203;96675](https://github.com/vercel/next.js/pull/96675) - \[16.x] fix(next/image): preserve image response after optimization by [@&#8203;styfle](https://github.com/styfle) in [#&#8203;96733](https://github.com/vercel/next.js/pull/96733) - \[16.3.x] Default deploy e2e tests to the repo next version by [@&#8203;eps1lon](https://github.com/eps1lon) in [#&#8203;96900](https://github.com/vercel/next.js/pull/96900) - \[backport] Bump [@&#8203;swc/helpers](https://github.com/swc/helpers) by [@&#8203;mischnic](https://github.com/mischnic) in [#&#8203;96885](https://github.com/vercel/next.js/pull/96885) - \[backport] \[turbopack] Raise registration calls in hoisted modules to the top by [@&#8203;lukesandberg](https://github.com/lukesandberg) in [#&#8203;97308](https://github.com/vercel/next.js/pull/97308) - \[backport] Fix missing styled-jsx styles in Pages Router SSR on adapter builds by [@&#8203;lukesandberg](https://github.com/lukesandberg) in [#&#8203;97302](https://github.com/vercel/next.js/pull/97302) - \[backport] \[turbopack] Fix HMR for dynamic imports evaluated from layouts by [@&#8203;lukesandberg](https://github.com/lukesandberg) in [#&#8203;97317](https://github.com/vercel/next.js/pull/97317) - \[backport] Restore the live `headers()` view of the incoming request by [@&#8203;unstubbable](https://github.com/unstubbable) in [#&#8203;97311](https://github.com/vercel/next.js/pull/97311) - \[backport] Allow literal exports in `'use cache'` files by [@&#8203;unstubbable](https://github.com/unstubbable) in [#&#8203;97312](https://github.com/vercel/next.js/pull/97312) - \[backport] Keep the dev validation worker alive across HMR updates by [@&#8203;unstubbable](https://github.com/unstubbable) in [#&#8203;97315](https://github.com/vercel/next.js/pull/97315) - \[backport] Discard only cache entries that predate a tag revalidation, and reuse completed entries by [@&#8203;unstubbable](https://github.com/unstubbable) in [#&#8203;97314](https://github.com/vercel/next.js/pull/97314) - \[backport] Encode the cache item name built by `unstable_cache` by [@&#8203;unstubbable](https://github.com/unstubbable) in [#&#8203;97313](https://github.com/vercel/next.js/pull/97313) - \[16.3] \[ci] Use OIDC tokens to read private preview builds by [@&#8203;eps1lon](https://github.com/eps1lon) in [#&#8203;97258](https://github.com/vercel/next.js/pull/97258) - \[backport] \[test] Compile the middleware redirect routes up front in dev by [@&#8203;lukesandberg](https://github.com/lukesandberg) in [#&#8203;97328](https://github.com/vercel/next.js/pull/97328) - \[backport] Fix Nav Inspector request loop on repeat captures by [@&#8203;acdlite](https://github.com/acdlite) in [#&#8203;97326](https://github.com/vercel/next.js/pull/97326) - \[backport] Fix: Optimistic routing bugs leading to repeated prefetch loops by [@&#8203;acdlite](https://github.com/acdlite) in [#&#8203;97325](https://github.com/vercel/next.js/pull/97325) - \[backport] Retain fewer stale cache versions and use a TTL, plus the mtime fallback by [@&#8203;lukesandberg](https://github.com/lukesandberg) in [#&#8203;97304](https://github.com/vercel/next.js/pull/97304) - \[backport] Revert i18n localization change for dynamic Pages API routes ([#&#8203;94905](https://github.com/vercel/next.js/issues/94905)) by [@&#8203;gaojude](https://github.com/gaojude) in [#&#8203;97330](https://github.com/vercel/next.js/pull/97330) **Full Changelog**: <https://github.com/vercel/next.js/compare/v16.3.0...v16.3.1> ### [`v16.3.0`](https://github.com/vercel/next.js/releases/tag/v16.3.0) [Compare Source](https://github.com/vercel/next.js/compare/v16.2.12...v16.3.0) Check out the [16.3 announcement post](https://nextjs.org/blog/next-16-3) to get an overview of the changes. ##### Core Changes - Update vendored lodash to 4.17.23 to fix CVE-2025-13465: [#&#8203;91558](https://github.com/vercel/next.js/issues/91558) - Fix invalid HTML response for route-level RSC requests in deployment adapter: [#&#8203;91541](https://github.com/vercel/next.js/issues/91541) - Normalize encoded dynamic placeholders in app routes: [#&#8203;91603](https://github.com/vercel/next.js/issues/91603) - Fix(pages-router): restore Content-Length and ETag for /\_next/data/ JSON responses: [#&#8203;90304](https://github.com/vercel/next.js/issues/90304) - Update tokio from 1.43.0 to 1.47.3: [#&#8203;90945](https://github.com/vercel/next.js/issues/90945) - \[turbopack] Simplify snapshotting logic: [#&#8203;91178](https://github.com/vercel/next.js/issues/91178) - Turbopack: enable server HMR for app route handlers: [#&#8203;91466](https://github.com/vercel/next.js/issues/91466) - turbo-tasks-backend: batch find_and_schedule_dirty using for_each_task_meta: [#&#8203;91497](https://github.com/vercel/next.js/issues/91497) - \[turbopack] Use bail! instead of panic! for duplicate module ident error: [#&#8203;91636](https://github.com/vercel/next.js/issues/91636) - Skip loadBindings() Lightning CSS check during next start: [#&#8203;91538](https://github.com/vercel/next.js/issues/91538) - turbo-tasks-backend: batch schedule dirty tasks in aggregation_update: [#&#8203;91461](https://github.com/vercel/next.js/issues/91461) - Turbopack: Add importModule() support to webpack loaders: [#&#8203;89630](https://github.com/vercel/next.js/issues/89630) - turbo-persistence: fix mmap page alignment and improve error context in MetaFile::open_internal: [#&#8203;91640](https://github.com/vercel/next.js/issues/91640) - turbopack-css: demote recoverable CSS parse warnings to Warning severity: [#&#8203;91524](https://github.com/vercel/next.js/issues/91524) - feat(node-streams): add config flag, define-env, and env precedence test: [#&#8203;90427](https://github.com/vercel/next.js/issues/90427) - Rename /\_next/webpack-hmr to /\_next/hmr: [#&#8203;91415](https://github.com/vercel/next.js/issues/91415) - Add per-slot error attribution for instant validation using slot markers and config depth preference: [#&#8203;91610](https://github.com/vercel/next.js/issues/91610) - Handle encoded params further: [#&#8203;91627](https://github.com/vercel/next.js/issues/91627) - \[turbopack] Respect `{eval:true}` in worker_threads constructors: [#&#8203;91666](https://github.com/vercel/next.js/issues/91666) - Fix missing route in otel spans without base-server: [#&#8203;91665](https://github.com/vercel/next.js/issues/91665) - \[turbopack] Optimize compaction cpu usage: [#&#8203;91468](https://github.com/vercel/next.js/issues/91468) - Fix layout segment optimization: move app-page imports to server-utility transition: [#&#8203;91701](https://github.com/vercel/next.js/issues/91701) - Fix server actions in standalone mode with `cacheComponents`: [#&#8203;91711](https://github.com/vercel/next.js/issues/91711) - turbo-persistence: remove Unmergeable mmap advice: [#&#8203;91713](https://github.com/vercel/next.js/issues/91713) - turbopack: move "compact database" tracing span to backend layer: [#&#8203;91693](https://github.com/vercel/next.js/issues/91693) - Turbopack: lazy require metadata and handle TLA: [#&#8203;91705](https://github.com/vercel/next.js/issues/91705) - Fix adapter outputs for dynamic metadata routes: [#&#8203;91680](https://github.com/vercel/next.js/issues/91680) - Turbopack: fix webpack loader runner layer: [#&#8203;91727](https://github.com/vercel/next.js/issues/91727) - \[turbopack] Remove incorrect debug_assert in try_read_task_cell: [#&#8203;91699](https://github.com/vercel/next.js/issues/91699) - Add module count field to module graph tracing spans: [#&#8203;91697](https://github.com/vercel/next.js/issues/91697) - turbopack-cli: add --persistent-caching flag for filesystem-backed cache: [#&#8203;91657](https://github.com/vercel/next.js/issues/91657) - Turbopack: pull in updated vercel/nft tests: [#&#8203;91651](https://github.com/vercel/next.js/issues/91651) - \[turbopack] Improve regressed build speed on cross-compiled MUSL: [#&#8203;91477](https://github.com/vercel/next.js/issues/91477) - \[Segment Bundling] \[Scaffolding] Ensure inlining hint correctness: [#&#8203;91320](https://github.com/vercel/next.js/issues/91320) - \[Segment Bundling] \[Scaffolding] Track which segments can be omitted from prefetch: [#&#8203;91438](https://github.com/vercel/next.js/issues/91438) - Avoid deprecated TS node10 moduleResolution defaults: [#&#8203;91847](https://github.com/vercel/next.js/issues/91847) - \[turbopack] Rebuild the docker build scripts: [#&#8203;91799](https://github.com/vercel/next.js/issues/91799) - Fix TS6 baseUrl deprecation for extended tsconfig: [#&#8203;91855](https://github.com/vercel/next.js/issues/91855) - Add `next internal post-build` CLI command for Turbopack database compaction: [#&#8203;91336](https://github.com/vercel/next.js/issues/91336) - Turbopack: Define `Effect` as a trait instead of a closure: [#&#8203;89080](https://github.com/vercel/next.js/issues/89080) - Turbopack: Implement TraceRawVcs and NonLocalValue correctly for Effects: [#&#8203;89133](https://github.com/vercel/next.js/issues/89133) - turbo-tasks-backend: improve print_cache_item_size instrumentation: [#&#8203;91742](https://github.com/vercel/next.js/issues/91742) - Turbopack: switch from base40 to base38 hash encoding (remove \~ and . from charset): [#&#8203;91832](https://github.com/vercel/next.js/issues/91832) - Use charCodeAt for normalizePathTrailingSlash: [#&#8203;91380](https://github.com/vercel/next.js/issues/91380) - Turbopack: Only patch lockfile when bindings fails to load: [#&#8203;91379](https://github.com/vercel/next.js/issues/91379) - \[create-next-app] Skip interactive prompts when CLI flags are provided: [#&#8203;91840](https://github.com/vercel/next.js/issues/91840) - \[devtools] Make instant navs panel draggable: [#&#8203;91914](https://github.com/vercel/next.js/issues/91914) - \[Segment Bundling] Bundle static prefetches based on size: [#&#8203;91439](https://github.com/vercel/next.js/issues/91439) - turbo-tasks-backend: assert non-transient task_ids in track_modification: [#&#8203;91924](https://github.com/vercel/next.js/issues/91924) - fix(turbopack): preserve resolveExtensions priority in read_matches fast path: [#&#8203;91856](https://github.com/vercel/next.js/issues/91856) - turbopack: Remove Vc::resolve(), migrate all callsites to Vc::to_resolved(): [#&#8203;91725](https://github.com/vercel/next.js/issues/91725) - turbo-tasks: add hashed cell mode for hash-based change detection without cell data: [#&#8203;91576](https://github.com/vercel/next.js/issues/91576) - \[cna] Upgrade to Biome 2.4 with Tailwind support: [#&#8203;86065](https://github.com/vercel/next.js/issues/86065) - \[devtools] Show `AggregateError.errors` in the error overlay: [#&#8203;91835](https://github.com/vercel/next.js/issues/91835) - Narrow the opengraph-image function return type: [#&#8203;91893](https://github.com/vercel/next.js/issues/91893) - \[experiment] Add useOffline flag with offline retry behavior: [#&#8203;92011](https://github.com/vercel/next.js/issues/92011) - adapters: remove unused suffix code: [#&#8203;91997](https://github.com/vercel/next.js/issues/91997) - \[experiment] Add useOffline hook to expose offline state to userland: [#&#8203;92012](https://github.com/vercel/next.js/issues/92012) - \[turbopack] Don't use turborepo to build the docker image: [#&#8203;92029](https://github.com/vercel/next.js/issues/92029) - Use RcStr directly in napi(object) structs instead of converting to String: [#&#8203;92014](https://github.com/vercel/next.js/issues/92014) - Rename SingleModuleReference::asset to SingleModuleReference::module: [#&#8203;92028](https://github.com/vercel/next.js/issues/92028) - Revert "turbo-tasks: add hashed cell mode for hash-based change detection without cell data": [#&#8203;92103](https://github.com/vercel/next.js/issues/92103) - \[ftl] Include cause of route types: [#&#8203;92056](https://github.com/vercel/next.js/issues/92056) - fix: handle file:// URLs from import.meta.resolve in cache handler path (fixes [#&#8203;73796](https://github.com/vercel/next.js/issues/73796)): [#&#8203;90370](https://github.com/vercel/next.js/issues/90370) - Turbopack: exclude metadata routes from server HMR: [#&#8203;92034](https://github.com/vercel/next.js/issues/92034) - next.config.js: Accept an option for serverFastRefresh: [#&#8203;91968](https://github.com/vercel/next.js/issues/91968) - TURBOPACK: support parse windows absolute path with single slash: [#&#8203;92076](https://github.com/vercel/next.js/issues/92076) - Enable `varyParams` tracking for Cached Navigations: [#&#8203;92113](https://github.com/vercel/next.js/issues/92113) - telemetry: set turboFlag correctly: [#&#8203;92149](https://github.com/vercel/next.js/issues/92149) - Instant Validation: Allow unconfigured slots to render optionally: [#&#8203;92126](https://github.com/vercel/next.js/issues/92126) - Turbopack: statically evaluate path.sep: [#&#8203;92150](https://github.com/vercel/next.js/issues/92150) - Turbopack: use same hash for immutable-static-hashes.json: [#&#8203;92157](https://github.com/vercel/next.js/issues/92157) - \[turbopack] replace regex with indexof: [#&#8203;92023](https://github.com/vercel/next.js/issues/92023) - Turbopack: createRequire(new URL("...", import.meta.url)): [#&#8203;92153](https://github.com/vercel/next.js/issues/92153) - Add PPR evals and fix env loading for agent-eval 0.9.5: [#&#8203;92063](https://github.com/vercel/next.js/issues/92063) - Turbopack: support targeting even older browsers: [#&#8203;91563](https://github.com/vercel/next.js/issues/91563) - Add rust-fingerprint task and SCCACHE passthrough env: [#&#8203;92167](https://github.com/vercel/next.js/issues/92167) - Improve error message for deprecated `experimental.dynamicIO` config: [#&#8203;92081](https://github.com/vercel/next.js/issues/92081) - \[turbopack] Fix CSS HMR on Safari: [#&#8203;92123](https://github.com/vercel/next.js/issues/92123) - simplify session dependent tasks and add TTL support: [#&#8203;91729](https://github.com/vercel/next.js/issues/91729) - disable bmi2 in qfilter: [#&#8203;92177](https://github.com/vercel/next.js/issues/92177) - Improve revalidateTag JSDoc to include guidance about required second parameter: [#&#8203;92176](https://github.com/vercel/next.js/issues/92176) - fix: pin 19 actions to commit SHA, extract 7 expressions to env vars: [#&#8203;92016](https://github.com/vercel/next.js/issues/92016) - partial fallbacks: adapter support for intermediate shells: [#&#8203;91902](https://github.com/vercel/next.js/issues/91902) - Turbopack: trace fs.readdir calls: [#&#8203;92148](https://github.com/vercel/next.js/issues/92148) - feat: add NEXT_HASH_SALT env var for content-hash filename salting: [#&#8203;91871](https://github.com/vercel/next.js/issues/91871) - Fix DashMap read-write self-deadlock in task_cache causing hangs: [#&#8203;92210](https://github.com/vercel/next.js/issues/92210) - \[turbopack] use a single query parameter for cache busting: [#&#8203;92214](https://github.com/vercel/next.js/issues/92214) - Generate a CLI warning if using Rosetta 2 on Apple Silicon: [#&#8203;92220](https://github.com/vercel/next.js/issues/92220) - remove the loop from StaticSortedFile::lookup: [#&#8203;91688](https://github.com/vercel/next.js/issues/91688) - Add telemetry for adapterPath config usage: [#&#8203;92228](https://github.com/vercel/next.js/issues/92228) - Node.js streams: First pass: [#&#8203;90500](https://github.com/vercel/next.js/issues/90500) - fix: preserve HTTP access fallbacks during prerender recovery: [#&#8203;92231](https://github.com/vercel/next.js/issues/92231) - Remove unnecessary ALS re-exports from `entry-base.ts`: [#&#8203;91527](https://github.com/vercel/next.js/issues/91527) - Allow multi-level .localhost subdomains in dev origin check: [#&#8203;92262](https://github.com/vercel/next.js/issues/92262) - turbo-tasks-backend: stability fixes for task cancellation and error handling: [#&#8203;92254](https://github.com/vercel/next.js/issues/92254) - Add MCP `get_compilation_issues` tool and NAPI method: [#&#8203;92062](https://github.com/vercel/next.js/issues/92062) - Add view transitions eval (agent-043): [#&#8203;92260](https://github.com/vercel/next.js/issues/92260) - \[turbopack] optimize RcStr parsing: [#&#8203;91773](https://github.com/vercel/next.js/issues/91773) - Ensure app-page reports stale ISR revalidation errors via onRequestError: [#&#8203;92282](https://github.com/vercel/next.js/issues/92282) - Move streamToUint8Array back to node-web-streams-helper.ts: [#&#8203;92263](https://github.com/vercel/next.js/issues/92263) - Revert "simplify session dependent tasks and add TTL support ([#&#8203;91729](https://github.com/vercel/next.js/issues/91729))": [#&#8203;92320](https://github.com/vercel/next.js/issues/92320) - fix: add [@&#8203;deprecated](https://github.com/deprecated) annotation to experimental.useCache: [#&#8203;92316](https://github.com/vercel/next.js/issues/92316) - Improve existing dev server error message to suggest using it: [#&#8203;92317](https://github.com/vercel/next.js/issues/92317) - Restart the `next dev` server if `.next` is deleted: [#&#8203;92135](https://github.com/vercel/next.js/issues/92135) - Update Rust toolchain to nightly-2026-04-02: [#&#8203;92288](https://github.com/vercel/next.js/issues/92288) - Turbopack: Remove FileSystemPath::value_to_string in favor of ValueToStringRef::to_string_ref: [#&#8203;92284](https://github.com/vercel/next.js/issues/92284) - \[turbopack] use zero copy qfilter deserialization: [#&#8203;90574](https://github.com/vercel/next.js/issues/90574) - feat: add experimental.swcEnvOptions for SWC preset-env configuration: [#&#8203;92272](https://github.com/vercel/next.js/issues/92272) - Turbopack: Dedupe our two filesystempath extension/extension_ref functions: [#&#8203;92048](https://github.com/vercel/next.js/issues/92048) - turbo-tasks: replace async resolve fns with custom Future types (ResolveRawVcFuture, ResolveVcFuture, ToResolvedVcFuture): [#&#8203;91554](https://github.com/vercel/next.js/issues/91554) - next-core: deduplicate output assets and detect content conflicts on emit: [#&#8203;92292](https://github.com/vercel/next.js/issues/92292) - Handle edge runtime in places that import node:stream: [#&#8203;92354](https://github.com/vercel/next.js/issues/92354) - Fix fallback route params case in app-page handler: [#&#8203;91737](https://github.com/vercel/next.js/issues/91737) - use sorted inserts to improve builder performance: [#&#8203;91553](https://github.com/vercel/next.js/issues/91553) - Allow for parsing app route strings with and without slot names.: [#&#8203;92327](https://github.com/vercel/next.js/issues/92327) - fix(server-hmr): metadata routes overwrite page runtime HMR handler: [#&#8203;92273](https://github.com/vercel/next.js/issues/92273) - turbo-persistence: optimize file syncing: [#&#8203;90542](https://github.com/vercel/next.js/issues/90542) - Turbopack: Remove `turbo_tasks::apply_effects`, use `Effects::apply` instead: [#&#8203;91858](https://github.com/vercel/next.js/issues/91858) - Turbopack: Add a check for node version before allowing workerThreads: [#&#8203;91614](https://github.com/vercel/next.js/issues/91614) - turbo-persistence: skip BlockCache for uncompressed (mmap-backed) blocks: [#&#8203;92390](https://github.com/vercel/next.js/issues/92390) - Include more context in macOS Rosetta 2 warning message: [#&#8203;92436](https://github.com/vercel/next.js/issues/92436) - change the process name of builds: [#&#8203;92411](https://github.com/vercel/next.js/issues/92411) - turbo-persistence: pin referenced BlockCache entries to prevent eviction: [#&#8203;92361](https://github.com/vercel/next.js/issues/92361) - Fix styled-jsx race condition: styles lost due to concurrent rendering: [#&#8203;92459](https://github.com/vercel/next.js/issues/92459) - turbo-tasks: fix hashed cell mode crash on task error (re-land [#&#8203;91576](https://github.com/vercel/next.js/issues/91576)): [#&#8203;92108](https://github.com/vercel/next.js/issues/92108) - Fix sst inspect tool to respect `CURRENT` and stale sst files: [#&#8203;92414](https://github.com/vercel/next.js/issues/92414) - Optimize how we track data for persistence: [#&#8203;89370](https://github.com/vercel/next.js/issues/89370) - \[turbopack] add family name to many spans: [#&#8203;92415](https://github.com/vercel/next.js/issues/92415) - Route Handlers: Fix devRequestTimingInternalsEnd and Turbopack server HMR: [#&#8203;92271](https://github.com/vercel/next.js/issues/92271) - next-routing: middleware matching and app request URL normalization: [#&#8203;91859](https://github.com/vercel/next.js/issues/91859) - turbo-persistence: Use AtomicBool for is_empty() to avoid lock contention: [#&#8203;92481](https://github.com/vercel/next.js/issues/92481) - fix: mention params and searchParams in blocking-route error messages: [#&#8203;92360](https://github.com/vercel/next.js/issues/92360) - CPU prof: Write profiles to .next-profiles instead of .next/cpu-profiles: [#&#8203;92078](https://github.com/vercel/next.js/issues/92078) - Turbopack: Write trace file to .next-profiles: [#&#8203;92189](https://github.com/vercel/next.js/issues/92189) - feat: generate root params types: [#&#8203;91019](https://github.com/vercel/next.js/issues/91019) - fix: resolve function configs in unstable_getResponseFromNextConfig: [#&#8203;92501](https://github.com/vercel/next.js/issues/92501) - Node.js streams: Fork points: [#&#8203;92252](https://github.com/vercel/next.js/issues/92252) - Turbopack: Add --internal-trace cli flag: [#&#8203;92190](https://github.com/vercel/next.js/issues/92190) - Fix `minimumReleaseAgeExclude` for React and friends: [#&#8203;92535](https://github.com/vercel/next.js/issues/92535) - Add experimental unstable_io() API behind experimental.unstableIO flag: [#&#8203;92521](https://github.com/vercel/next.js/issues/92521) - Update React from `74568e86-20260328` to `404b38c7-20260408`: [#&#8203;92536](https://github.com/vercel/next.js/issues/92536) - Turbopack: switch from immutable token to path prefix: [#&#8203;92164](https://github.com/vercel/next.js/issues/92164) - \[build info]: distinguish between PPR and fully static routes in gSP: [#&#8203;92518](https://github.com/vercel/next.js/issues/92518) - \[build info]: omit symbol from top level gSP route: [#&#8203;92525](https://github.com/vercel/next.js/issues/92525) - turbo-tasks-backend: prevent duplicate task restores with restoring bits: [#&#8203;92389](https://github.com/vercel/next.js/issues/92389) - Add next internal upload-trace: [#&#8203;92191](https://github.com/vercel/next.js/issues/92191) - Request logging: Fix generate-params time being included in next.js time: [#&#8203;91386](https://github.com/vercel/next.js/issues/91386) - fix: scope "Pages Router only" comment to default export in next/error: [#&#8203;92566](https://github.com/vercel/next.js/issues/92566) - Turbopack Build: Remove dev fouc from production bundle: [#&#8203;80935](https://github.com/vercel/next.js/issues/80935) - Turbopack: Improve unable to resolve next error: [#&#8203;91394](https://github.com/vercel/next.js/issues/91394) - fix(hmr): reconnect WebSocket after sleep/wake: [#&#8203;91416](https://github.com/vercel/next.js/issues/91416) - Handle `target` option in React Compiler for Pages + React 18: [#&#8203;91500](https://github.com/vercel/next.js/issues/91500) - Replace wasmer with wasmtime for SWC plugin WASM engine: [#&#8203;91533](https://github.com/vercel/next.js/issues/91533) - turbopack: fix incremental build when module factories are restored from persistent cache: [#&#8203;92569](https://github.com/vercel/next.js/issues/92569) - \[turbopack] Rust dependency caching via sccache: [#&#8203;91873](https://github.com/vercel/next.js/issues/91873) - trace: detect rage restarts and deleted .next dirs: [#&#8203;92489](https://github.com/vercel/next.js/issues/92489) - \[turbopack] fix a debug_assert failure: [#&#8203;92581](https://github.com/vercel/next.js/issues/92581) - Don't swallow strings thrown in Server Components: [#&#8203;92592](https://github.com/vercel/next.js/issues/92592) - Fix NextFontIssue IssueStage: CodeGen → Resolve: [#&#8203;92588](https://github.com/vercel/next.js/issues/92588) - Node.js streams: Add forkpoint for CacheComponents: [#&#8203;92444](https://github.com/vercel/next.js/issues/92444) - Resolve `compilerOptions.paths` in tsconfigs without `compilerOptions.baseUrl`: [#&#8203;92277](https://github.com/vercel/next.js/issues/92277) - Turbopack: extract inline base64 decode helper to shared `@turbopack/base64` module: [#&#8203;92549](https://github.com/vercel/next.js/issues/92549) - Add codemod command to middleware deprecation warning: [#&#8203;92532](https://github.com/vercel/next.js/issues/92532) - turbopack: move CSS module composes validation from code generation to resolving: [#&#8203;92582](https://github.com/vercel/next.js/issues/92582) - Drop turbo_tasks::function from ValueDebug trait items: [#&#8203;92593](https://github.com/vercel/next.js/issues/92593) - \[partial fallbacks]: enable by default: [#&#8203;92627](https://github.com/vercel/next.js/issues/92627) - Turbopack: fix filesystem watcher config not applying follow_symlinks(false): [#&#8203;92631](https://github.com/vercel/next.js/issues/92631) - Turbopack: cut number of client references in half: [#&#8203;92607](https://github.com/vercel/next.js/issues/92607) - Remove a ton of turbo task functions from Issue trait items: [#&#8203;92623](https://github.com/vercel/next.js/issues/92623) - feat(turbopack): add LocalPathOrProjectPath PostCSS config resolution: [#&#8203;91338](https://github.com/vercel/next.js/issues/91338) - feat(turbopack): change DiskFileSystem root to Vc<RcStr> for portable cache: [#&#8203;92603](https://github.com/vercel/next.js/issues/92603) - Turbopack: remove unused ChunkableModules struct: [#&#8203;92606](https://github.com/vercel/next.js/issues/92606) - Fix segment explorer file pill accessibility: [#&#8203;92608](https://github.com/vercel/next.js/issues/92608) - Disable sccache temporarily: [#&#8203;92657](https://github.com/vercel/next.js/issues/92657) - Delete some dead turbo task functions: [#&#8203;92596](https://github.com/vercel/next.js/issues/92596) - Node.js streams: Add forkpoint for error recovery: [#&#8203;92457](https://github.com/vercel/next.js/issues/92457) - turbo-tasks: Drop output_dependent on immutable task completion: [#&#8203;92683](https://github.com/vercel/next.js/issues/92683) - Turbopack: properly remove unused TS enums with scope hoisting: [#&#8203;88205](https://github.com/vercel/next.js/issues/88205) - fix(server-actions): skip type-only ExportNamed in pre-pass to prevent phantom registerServerReference: [#&#8203;92494](https://github.com/vercel/next.js/issues/92494) - Turbopack: Add import.meta.glob support (Vite compat): [#&#8203;92640](https://github.com/vercel/next.js/issues/92640) - turbo-tasks: Fix recomputation loop by allowing cell cleanup on error during recomputation: [#&#8203;92725](https://github.com/vercel/next.js/issues/92725) - TURBOPACK: support crsossOriginLoading: [#&#8203;92070](https://github.com/vercel/next.js/issues/92070) - Compiler: Support boolean and number primtives in next.config defines: [#&#8203;92731](https://github.com/vercel/next.js/issues/92731) - Fix prefetch hints not being loaded during revalidation: [#&#8203;92625](https://github.com/vercel/next.js/issues/92625) - Exclude trace files from directory deletion in builds: [#&#8203;92486](https://github.com/vercel/next.js/issues/92486) - Switch segment prefetch cache miss response from 204 to 404: [#&#8203;92751](https://github.com/vercel/next.js/issues/92751) - Ensure x-nextjs-data header is only set during resolve: [#&#8203;92752](https://github.com/vercel/next.js/issues/92752) - feat(trace-server): add query CLI and MCP API to turbopack-trace-server: [#&#8203;92030](https://github.com/vercel/next.js/issues/92030) - Improve error stacks for dynamic API usage in `"use cache"`: [#&#8203;92736](https://github.com/vercel/next.js/issues/92736) - Node.js streams: Add forkpoint for continueDynamicHTMLResume: [#&#8203;92471](https://github.com/vercel/next.js/issues/92471) - Node.js streams: Add forkpoint for generateDynamicFlightRenderResult: [#&#8203;92474](https://github.com/vercel/next.js/issues/92474) - Node.js streams: Add forkpoint for generateStagedDynamicFlightRenderResult: [#&#8203;92509](https://github.com/vercel/next.js/issues/92509) - Add unstable_prefetch route segment config and decouple runtime prefetching from unstable_instant: [#&#8203;92754](https://github.com/vercel/next.js/issues/92754) - feat(turbo-tasks-backend): gate prepare_tasks_with_callback trace span behind feature flag: [#&#8203;92779](https://github.com/vercel/next.js/issues/92779) - Update next versions of internal apps: [#&#8203;92666](https://github.com/vercel/next.js/issues/92666) - turbo-persistence: stop background persisting after unrecoverable failure: [#&#8203;92106](https://github.com/vercel/next.js/issues/92106) - Stop using deprecated `downlevelIteration`: [#&#8203;92652](https://github.com/vercel/next.js/issues/92652) - Disable build caches for production/staging/force-preview deploys: [#&#8203;92792](https://github.com/vercel/next.js/issues/92792) - Fix turbo cache flag: use --force: [#&#8203;92796](https://github.com/vercel/next.js/issues/92796) - Fix devlow-bench: tsconfig rootDir mismatch with package.json bin: [#&#8203;92800](https://github.com/vercel/next.js/issues/92800) - Scope Safari ?ts= cache-buster to CSS/font assets only (Pages Router): [#&#8203;92580](https://github.com/vercel/next.js/issues/92580) - Enable wasm plugins on windows arm: [#&#8203;92544](https://github.com/vercel/next.js/issues/92544) - prefetchInlining: fix build crash on notFound() pages: [#&#8203;92806](https://github.com/vercel/next.js/issues/92806) - turbopack: gate ValueDebugFormat and ValueDebug behind debug_assertions: [#&#8203;92628](https://github.com/vercel/next.js/issues/92628) - Add TurboMalloc::thread_park() to flush and collect on thread park: [#&#8203;92804](https://github.com/vercel/next.js/issues/92804) - Stop using deprecated `baseUrl`: [#&#8203;92653](https://github.com/vercel/next.js/issues/92653) - Turbopack: Use FrozenMap for module export information: [#&#8203;92802](https://github.com/vercel/next.js/issues/92802) - Turbopack: remove webpack chunk detection: [#&#8203;92773](https://github.com/vercel/next.js/issues/92773) - Turbopack: refactor ESM codegen generation: [#&#8203;92777](https://github.com/vercel/next.js/issues/92777) - Fix monorepo `@next/swc` binary postinstall: [#&#8203;92813](https://github.com/vercel/next.js/issues/92813) - webpack: fix swcPlugins with relative paths: [#&#8203;92770](https://github.com/vercel/next.js/issues/92770) - Turbopack: shorter error for ChunkGroupInfo::get_index_of: [#&#8203;92814](https://github.com/vercel/next.js/issues/92814) - Turbopack: properly set NODE_ENV for SWC plugins: [#&#8203;92579](https://github.com/vercel/next.js/issues/92579) - Node.js streams: Add forkpoint for logMessagesAndSendErrorsToBrowser: [#&#8203;92510](https://github.com/vercel/next.js/issues/92510) - Node.js streams: Add forkpoint for createCombinedPayloadStream: [#&#8203;92511](https://github.com/vercel/next.js/issues/92511) - Node.js streams: Add forkpoint for renderWithRestartOnCacheMissInValidation: [#&#8203;92512](https://github.com/vercel/next.js/issues/92512) - Node.js streams: Add forkpoint for prerenderToStream: [#&#8203;92513](https://github.com/vercel/next.js/issues/92513) - Turbopack: shorter error message for ModuleBatchesGraph::get_entry_index: [#&#8203;92828](https://github.com/vercel/next.js/issues/92828) - Turbopack: refactor export analysis: [#&#8203;92781](https://github.com/vercel/next.js/issues/92781) - fix(trace-server): default MCP port to --port + 1 to avoid conflicts: [#&#8203;92831](https://github.com/vercel/next.js/issues/92831) - Revert "Node.js streams: Add forkpoint for prerenderToStream": [#&#8203;92845](https://github.com/vercel/next.js/issues/92845) - Turbopack: remove StarImportAnalyzer: [#&#8203;92830](https://github.com/vercel/next.js/issues/92830) - Turbopack: analyzer improvement followups: [#&#8203;92834](https://github.com/vercel/next.js/issues/92834) - Turbopack: move assignment_scopes computation into ImportMap: [#&#8203;92835](https://github.com/vercel/next.js/issues/92835) - Warn for non-deterministic `"use cache"` args during final prerender: [#&#8203;92820](https://github.com/vercel/next.js/issues/92820) - Turbopack: Use lld again on ARM64 glibc Linux: [#&#8203;92860](https://github.com/vercel/next.js/issues/92860) - turbopack: cache TransformPlugin in narrow-scoped turbo-tasks functions: [#&#8203;92842](https://github.com/vercel/next.js/issues/92842) - Allow overriding outputHashSalt in modifyConfig: [#&#8203;92856](https://github.com/vercel/next.js/issues/92856) - Support type cast expressions in page static info extractor: [#&#8203;92837](https://github.com/vercel/next.js/issues/92837) - turbo-tasks: add info_span for blocking waits during task restore: [#&#8203;92878](https://github.com/vercel/next.js/issues/92878) - Fix dev mode hydration failure when page is served from HTTP cache: [#&#8203;92892](https://github.com/vercel/next.js/issues/92892) - \[devtools] Preserve full code frames in browser overlay: [#&#8203;92621](https://github.com/vercel/next.js/issues/92621) - Enable prefetchInlining by default: [#&#8203;92863](https://github.com/vercel/next.js/issues/92863) - Turbopack: Use an async lock in the filesystem watcher: [#&#8203;92906](https://github.com/vercel/next.js/issues/92906) - Replace deprecated `moduleResolution: "node"`: [#&#8203;92654](https://github.com/vercel/next.js/issues/92654) - turbo-tasks: Reduce allocations on cache hits: [#&#8203;92756](https://github.com/vercel/next.js/issues/92756) - fix(next/image): ensure `images.maximumResponseBody` applies to local images too: [#&#8203;92920](https://github.com/vercel/next.js/issues/92920) - rename MagicAny: [#&#8203;92918](https://github.com/vercel/next.js/issues/92918) - turbopack: reduce EffectStateStorage memory by storing u128 content hashes: [#&#8203;92902](https://github.com/vercel/next.js/issues/92902) - turbo-trace-server: reduce allocation overhead when loading large trace files: [#&#8203;92896](https://github.com/vercel/next.js/issues/92896) - Turbopack: optimize SelfTimeTree performance, memory usage, and fix range query boundaries: [#&#8203;92931](https://github.com/vercel/next.js/issues/92931) - remove flag guarding `unstable_io`: [#&#8203;92923](https://github.com/vercel/next.js/issues/92923) - Support more prefetch configuration options: [#&#8203;92859](https://github.com/vercel/next.js/issues/92859) - Improve deduping of concurrent `'use cache'` invocations: [#&#8203;91830](https://github.com/vercel/next.js/issues/91830) - \[partial fallbacks]: include prefetch requests in shell upgrade handling: [#&#8203;92894](https://github.com/vercel/next.js/issues/92894) - Redesign blocking route dev overlay and build errors: [#&#8203;92638](https://github.com/vercel/next.js/issues/92638) - Switch to cargo-binstall and pre-built sccache binaries: [#&#8203;92911](https://github.com/vercel/next.js/issues/92911) - Remove prefetch from instant config: [#&#8203;92761](https://github.com/vercel/next.js/issues/92761) - Improve "make root node" trace attributes: [#&#8203;92941](https://github.com/vercel/next.js/issues/92941) - Use existing commitId for tarball URL in stats action: [#&#8203;92899](https://github.com/vercel/next.js/issues/92899) - Use OIDC for CodSpeed: [#&#8203;93059](https://github.com/vercel/next.js/issues/93059) - Restore dev-mode cache-fill timeout for `'use cache'`: [#&#8203;93055](https://github.com/vercel/next.js/issues/93055) - Make `'use cache'` fill timeout configurable: [#&#8203;93070](https://github.com/vercel/next.js/issues/93070) - Strengthen \_rsc cache-busting param: [#&#8203;92755](https://github.com/vercel/next.js/issues/92755) - turbo-tasks: drop once_cell, const-init TRAIT_METHOD, ctor WORKER_TASKS: [#&#8203;93090](https://github.com/vercel/next.js/issues/93090) - Patch setHeader for direct route handlers: [#&#8203;93101](https://github.com/vercel/next.js/issues/93101) - \[turbopack] Persistent last_successful_parse: [#&#8203;92852](https://github.com/vercel/next.js/issues/92852) - \[turbopack] Unify Cell Storage: [#&#8203;92974](https://github.com/vercel/next.js/issues/92974) - fix(use-cache): remove awaiting revalidation: [#&#8203;92636](https://github.com/vercel/next.js/issues/92636) - \[turbopack] Fix max_level_hint to return most verbose per-target level: [#&#8203;93128](https://github.com/vercel/next.js/issues/93128) - feat(turbopack): add NEXT_TURBOPACK_TRACING_PATH to control trace output location: [#&#8203;93084](https://github.com/vercel/next.js/issues/93084) - Turbopack: move import_usage computation into ImportMap: [#&#8203;92891](https://github.com/vercel/next.js/issues/92891) - Turbopack: unify ModuleGraph constructors: [#&#8203;93203](https://github.com/vercel/next.js/issues/93203) - Turbopack: move get_inner_asset into ecmascript module: [#&#8203;93191](https://github.com/vercel/next.js/issues/93191) - \[turbopack] drop TransientState: [#&#8203;92853](https://github.com/vercel/next.js/issues/92853) - instant(): Block out-of-band client fetches: [#&#8203;93099](https://github.com/vercel/next.js/issues/93099) - \[next/image] Stop using deprecated `url.parse`: [#&#8203;93208](https://github.com/vercel/next.js/issues/93208) - Suspend dynamic route params in dev instant shell: [#&#8203;93108](https://github.com/vercel/next.js/issues/93108) - Recognize `super(...)` messages in Error subclass constructors: [#&#8203;93182](https://github.com/vercel/next.js/issues/93182) - \[turbopack-trace-server] Performance improvements for span event handling: [#&#8203;93179](https://github.com/vercel/next.js/issues/93179) - Preserve `__NEXT_ERROR_CODE` across the `/_error` page handoff: [#&#8203;93183](https://github.com/vercel/next.js/issues/93183) - Reduce allocations in the next_debug_instant_stack transform: [#&#8203;93222](https://github.com/vercel/next.js/issues/93222) - Apply sourcemaps by default during prerender in `next build`: [#&#8203;93280](https://github.com/vercel/next.js/issues/93280) - Turbopack: compute exports without full analysis: [#&#8203;92823](https://github.com/vercel/next.js/issues/92823) - Turbopack: cheaper check in map_next_dynamic: [#&#8203;93283](https://github.com/vercel/next.js/issues/93283) - Fix route handler SWR blocking on Node runtime: [#&#8203;93189](https://github.com/vercel/next.js/issues/93189) - \[turbo-tasks-backend] Single-item optimization for lost follower operations: [#&#8203;93200](https://github.com/vercel/next.js/issues/93200) - Fix `export * as X from './self'` in scope-hoisted modules: [#&#8203;93192](https://github.com/vercel/next.js/issues/93192) - Turbopack: only compute module ids for included modules: [#&#8203;93276](https://github.com/vercel/next.js/issues/93276) - Forward invalid dynamic usage errors on client-side navigations: [#&#8203;93184](https://github.com/vercel/next.js/issues/93184) - HMR: debounce status indicator transitions to prevent flicker during bursts of changes: [#&#8203;93229](https://github.com/vercel/next.js/issues/93229) - Turbopack: iter_reachable_modules: [#&#8203;93315](https://github.com/vercel/next.js/issues/93315) - Turbopack: add failing test for cross-module side-effect inference: [#&#8203;93323](https://github.com/vercel/next.js/issues/93323) - Turbopack: also add edge count to trace: [#&#8203;93314](https://github.com/vercel/next.js/issues/93314) - Turbopack: pull in updated vercel/nft tests: [#&#8203;93321](https://github.com/vercel/next.js/issues/93321) - \[turbopack-trace-server] optimize loading: [#&#8203;93264](https://github.com/vercel/next.js/issues/93264) - turbo-tasks: precompute trait-impl vtables at compile time: [#&#8203;93092](https://github.com/vercel/next.js/issues/93092) - Honor the route-level `expire` value with blocking revalidation: [#&#8203;93211](https://github.com/vercel/next.js/issues/93211) - Turbopack: add `experimental.turbopackWorkerAssetPrefix` to keep Workers same-origin when `assetPrefix` is a CDN: [#&#8203;93271](https://github.com/vercel/next.js/issues/93271) - Report OS memory pressure in TurboMalloc and trace samples: [#&#8203;93333](https://github.com/vercel/next.js/issues/93333) - Speed up native postinstall script: [#&#8203;93312](https://github.com/vercel/next.js/issues/93312) - Turbopack: remove unused module references: [#&#8203;93335](https://github.com/vercel/next.js/issues/93335) - Turbopack: remove ModuleResolveResultItem::OutputAsset: [#&#8203;93349](https://github.com/vercel/next.js/issues/93349) - Turbopack: delete unused turbo-static crate: [#&#8203;93324](https://github.com/vercel/next.js/issues/93324) - fix a snapshot encoding error that could happen under concurrent mutation and snapshotting: [#&#8203;92658](https://github.com/vercel/next.js/issues/92658) - Enable server HMR for metadata routes (manifest.ts, robots.ts, etc.): [#&#8203;93110](https://github.com/vercel/next.js/issues/93110) - \[next/image] Only fire `onError` once: [#&#8203;93209](https://github.com/vercel/next.js/issues/93209) - fix: handling of falsey values in error boundaries: [#&#8203;93134](https://github.com/vercel/next.js/issues/93134) - Update upload trace url: [#&#8203;93350](https://github.com/vercel/next.js/issues/93350) - enable validateRSCRequestHeaders by default: [#&#8203;93367](https://github.com/vercel/next.js/issues/93367) - Deprecate edge runtime: [#&#8203;93369](https://github.com/vercel/next.js/issues/93369) - Update 05-server-and-client-components.mdx: [#&#8203;93374](https://github.com/vercel/next.js/issues/93374) - Only log partytown setup error once: [#&#8203;93378](https://github.com/vercel/next.js/issues/93378) - Remove leftover Turbopack manifests: [#&#8203;93398](https://github.com/vercel/next.js/issues/93398) - trace-server: shrink_to_fit LazySortedVec after sorting: [#&#8203;93361](https://github.com/vercel/next.js/issues/93361) - Revert "Revert "Node.js streams: Add forkpoint for prerenderToStream"": [#&#8203;93376](https://github.com/vercel/next.js/issues/93376) - feat(metadata): support non-standard directives in robots.ts via `other`: [#&#8203;93206](https://github.com/vercel/next.js/issues/93206) - \[turbo-trace-server] optimize loading even more: [#&#8203;93332](https://github.com/vercel/next.js/issues/93332) - Fix streaming in draft mode for cache components: [#&#8203;93417](https://github.com/vercel/next.js/issues/93417) - Drop once_cell from all direct crate deps: [#&#8203;93095](https://github.com/vercel/next.js/issues/93095) - Replace Lazy<FxHashMap> static lookups with phf::Map: [#&#8203;93096](https://github.com/vercel/next.js/issues/93096) - Include deployment id in `cacheHandlers` keys: [#&#8203;93453](https://github.com/vercel/next.js/issues/93453) - fix(next/image): Improve error message for private IP (SSRF) rejections: [#&#8203;91686](https://github.com/vercel/next.js/issues/91686) - turbo-tasks-backend: fix snapshot coordination races + extract SnapshotCoordinator: [#&#8203;93416](https://github.com/vercel/next.js/issues/93416) - Fix dev mode reload and error on back navigation between Next.js pages: [#&#8203;93486](https://github.com/vercel/next.js/issues/93486) - Fix double-encoding of URL pathname parts in client param parsing: [#&#8203;93491](https://github.com/vercel/next.js/issues/93491) - Don't suppress usage of deprecated TypeScript `compilerOptions`: [#&#8203;93377](https://github.com/vercel/next.js/issues/93377) - Turbopack: fix import_usage for functions behind member expressions: [#&#8203;93504](https://github.com/vercel/next.js/issues/93504) - \[turbopack] shrink the size of futures: [#&#8203;93474](https://github.com/vercel/next.js/issues/93474) - \[turbopack] Simplify local task tracking: [#&#8203;93478](https://github.com/vercel/next.js/issues/93478) - \[turbopack] correct a fencepost error in our inline string descision: [#&#8203;93524](https://github.com/vercel/next.js/issues/93524) - Turbopack: make rcstr! macro expansion const: [#&#8203;93516](https://github.com/vercel/next.js/issues/93516) - Turbopack: lazy aggregation optimize via persistent pending flag: [#&#8203;93454](https://github.com/vercel/next.js/issues/93454) - Detect `'use cache'` module-scope deadlocks early in dev: [#&#8203;93500](https://github.com/vercel/next.js/issues/93500) - Turbopack: really fix MAX_INLINE_LEN: [#&#8203;93531](https://github.com/vercel/next.js/issues/93531) - Bundle the `'use cache'` deadlock probe worker: [#&#8203;93538](https://github.com/vercel/next.js/issues/93538) - Support configuring a default instant validation level : [#&#8203;93301](https://github.com/vercel/next.js/issues/93301) - Turbopack: simplify asset ident constructors: [#&#8203;93213](https://github.com/vercel/next.js/issues/93213) - Disable instant validations in draft mode: [#&#8203;93472](https://github.com/vercel/next.js/issues/93472) - Drop `ReferencedAsset::from_resolve_result` as a turbotask: [#&#8203;93297](https://github.com/vercel/next.js/issues/93297) - Turbopack: Cache effect errors, replace the write_lock Mutex with a lazily created Notify instance: [#&#8203;93476](https://github.com/vercel/next.js/issues/93476) - Order loader tree imports by tree depth: [#&#8203;93537](https://github.com/vercel/next.js/issues/93537) - Turbopack: more strict vergen setup: [#&#8203;93541](https://github.com/vercel/next.js/issues/93541) - \[devtools] Force ANSI colors on overlay code frames regardless of TTY: [#&#8203;93550](https://github.com/vercel/next.js/issues/93550) - turbo-rcstr: replace `rcstr!` macro_rules with proc macro: [#&#8203;93551](https://github.com/vercel/next.js/issues/93551) - Turbopack: Fix middleware matcher suffix: [#&#8203;93590](https://github.com/vercel/next.js/issues/93590) - Turbopack: Match proxy matchers with webpack implementation: [#&#8203;93594](https://github.com/vercel/next.js/issues/93594) - Track `searchParams` access through a Proxy to catch missing-key reads: [#&#8203;93549](https://github.com/vercel/next.js/issues/93549) - Turbopack: Change DynEffect::dyn_value to DynEffect::value_hash, a simple u128: [#&#8203;93552](https://github.com/vercel/next.js/issues/93552) - Cherry-pick ghsa commits to canary: [#&#8203;93614](https://github.com/vercel/next.js/issues/93614) - Hold `cacheSignal` across `unstable_cache` foreground revalidation: [#&#8203;93617](https://github.com/vercel/next.js/issues/93617) - Encode non-ASCII characters in cache tags at construction: [#&#8203;93601](https://github.com/vercel/next.js/issues/93601) - Stabilize `unstable_io`: [#&#8203;93621](https://github.com/vercel/next.js/issues/93621) - Use Next.js version as Turbopack persistent cache versioning key: [#&#8203;93605](https://github.com/vercel/next.js/issues/93605) - Trace-server: Fix bottom up, and reduce allocations in turbopack-trace-server bottom-up grouping: [#&#8203;93460](https://github.com/vercel/next.js/issues/93460) - feat(turbopack): add chunkLoadingGlobal config option: [#&#8203;93488](https://github.com/vercel/next.js/issues/93488) - turbopack: reschedule stale tasks with correct invalidation priority: [#&#8203;92897](https://github.com/vercel/next.js/issues/92897) - fix(devtools): render nested error messages with HotlinkedText: [#&#8203;93620](https://github.com/vercel/next.js/issues/93620) - Fix: Improved rewrite detection during optimistic routing: [#&#8203;93619](https://github.com/vercel/next.js/issues/93619) - Fix "type: module" in project dir when using standalone or adapters: [#&#8203;93612](https://github.com/vercel/next.js/issues/93612) - Instant Insights: favor reported errors over missing slots: [#&#8203;93709](https://github.com/vercel/next.js/issues/93709) - Remove ineffective turbo-tasks: [#&#8203;91341](https://github.com/vercel/next.js/issues/91341) - Remove redundant instant navigation prefetch header: [#&#8203;93713](https://github.com/vercel/next.js/issues/93713) - Instant Insights: Favor reporting errors from all potential navigations over reporting a failed attempt to validate when a slot is missing: [#&#8203;93714](https://github.com/vercel/next.js/issues/93714) - Proof of concept: task eviction after snapshot for turbo-tasks-backend: [#&#8203;91790](https://github.com/vercel/next.js/issues/91790) - \[turbopack] fix feature usage telemetry: [#&#8203;93100](https://github.com/vercel/next.js/issues/93100) - Turbopack: don't generate next-server.js.nft.json with adapters: [#&#8203;93684](https://github.com/vercel/next.js/issues/93684) - Add an info panel for the existing "Cache disabled" indicator: [#&#8203;93756](https://github.com/vercel/next.js/issues/93756) - Extend instant error overlay to metadata, viewport, and sync IO errors: [#&#8203;93287](https://github.com/vercel/next.js/issues/93287) - Turbopack: expose hashes of source files to adapters: [#&#8203;93539](https://github.com/vercel/next.js/issues/93539) - bfcacheId: Opt out of state preservation: [#&#8203;93633](https://github.com/vercel/next.js/issues/93633) - Honor Suspense-above-body opt-in for dynamic `generateViewport`: [#&#8203;93759](https://github.com/vercel/next.js/issues/93759) - Turbopack: fix lock-order inversion between Storage::map and Storage::snapshots: [#&#8203;93788](https://github.com/vercel/next.js/issues/93788) - \[turbopack] Enforce `root` attribute for strongly consistent reads and collectibles: [#&#8203;93114](https://github.com/vercel/next.js/issues/93114) - Add `next internal static-routes-info` CLI command: [#&#8203;93399](https://github.com/vercel/next.js/issues/93399) - Craigandrews/ensure isr lru is written if requests collapsed: [#&#8203;93766](https://github.com/vercel/next.js/issues/93766) - Fix Turbopack worker_threads URL resolution: [#&#8203;93432](https://github.com/vercel/next.js/issues/93432) - Patch `playwright-core` to resolve `_finishedPromise` on `requestFailed`: [#&#8203;93802](https://github.com/vercel/next.js/issues/93802) - Fix catch-all `router.query` corruption with `basePath` + `rewrites`: [#&#8203;93294](https://github.com/vercel/next.js/issues/93294) - fix: GNU xargs warns about incompatible --replace/--max-args: [#&#8203;93821](https://github.com/vercel/next.js/issues/93821) - fix: renumber non-sequential errors in errors.json: [#&#8203;93824](https://github.com/vercel/next.js/issues/93824) - simplify session dependent tasks ([#&#8203;91729](https://github.com/vercel/next.js/issues/91729)): [#&#8203;93227](https://github.com/vercel/next.js/issues/93227) - Surface invalid dynamic usage errors via Flight in dev: [#&#8203;93706](https://github.com/vercel/next.js/issues/93706) - Show inner `"use cache"` as cause of nested-dynamic cache error: [#&#8203;93707](https://github.com/vercel/next.js/issues/93707) - fetch: respect HTTP Cache-Control headers with TTL-based invalidation ([#&#8203;91729](https://github.com/vercel/next.js/issues/91729)): [#&#8203;93228](https://github.com/vercel/next.js/issues/93228) - \[CC] fix: cachedNavigations missing asyncApiPromises in resumes: [#&#8203;93827](https://github.com/vercel/next.js/issues/93827) - Fix server action forwarding loop with middleware rewrites: [#&#8203;93792](https://github.com/vercel/next.js/issues/93792) - Instant Insights: When unable to complete validation provide a filename for the unvalidated boundary: [#&#8203;93770](https://github.com/vercel/next.js/issues/93770) - Fix `Date.now()` cause shadowing in sync IO error overlay: [#&#8203;93857](https://github.com/vercel/next.js/issues/93857) - Instant Insights: only report non-validatable if dev render is error free: [#&#8203;93858](https://github.com/vercel/next.js/issues/93858) - Remove partialFallbacks config flag: [#&#8203;93859](https://github.com/vercel/next.js/issues/93859) - Fix warning in new apps caused by incorrect image dimensions: [#&#8203;93826](https://github.com/vercel/next.js/issues/93826) - Trace middleware/proxy source files in webpack NFT pipeline: [#&#8203;93871](https://github.com/vercel/next.js/issues/93871) - Redesign dev overlay: cleaner shell + instant fix-card guidance: [#&#8203;93755](https://github.com/vercel/next.js/issues/93755) - turbo-tasks: prioritize recomputed tasks with Recomputation priority: [#&#8203;93876](https://github.com/vercel/next.js/issues/93876) - \[Turbopack] Add graph-based CSS chunking algorithm behind experimental.cssChunking: "graph": [#&#8203;93606](https://github.com/vercel/next.js/issues/93606) - turbopack: emit assets before duplicate check in emit_assets: [#&#8203;93875](https://github.com/vercel/next.js/issues/93875) - Pass projectDir to adapter modifyConfig: [#&#8203;93916](https://github.com/vercel/next.js/issues/93916) - Distinguish in-navigation errors in the instant error overlay: [#&#8203;93843](https://github.com/vercel/next.js/issues/93843) - Eval next.config export functions in the try catch: [#&#8203;93884](https://github.com/vercel/next.js/issues/93884) - Rename TaskExecutionReason::Initial to Root: [#&#8203;93922](https://github.com/vercel/next.js/issues/93922) - Use node streams for server inserted HTML: [#&#8203;93934](https://github.com/vercel/next.js/issues/93934) - Add nextConfig.instrumentationClientInject: [#&#8203;93785](https://github.com/vercel/next.js/issues/93785) - Remove vercel approvers: [#&#8203;93921](https://github.com/vercel/next.js/issues/93921) - \[otel] honor traceparent for verbose mode spans: [#&#8203;93874](https://github.com/vercel/next.js/issues/93874) - Fix cross-param leak with `prefetch={true}` and `cachedNavigations`: [#&#8203;93940](https://github.com/vercel/next.js/issues/93940) - Enable rootParams by default: [#&#8203;93863](https://github.com/vercel/next.js/issues/93863) - devlow: add run sampling snapshots and comparison reports: [#&#8203;93833](https://github.com/vercel/next.js/issues/93833) - Allow inspecting prerender worker again: [#&#8203;93947](https://github.com/vercel/next.js/issues/93947) - make rcstrs on the heap/static slightly smaller: [#&#8203;93805](https://github.com/vercel/next.js/issues/93805) - Add MCP `compile_route` tool: [#&#8203;93337](https://github.com/vercel/next.js/issues/93337) - \[turbopack-trace-server] Add memory samples to the mcp tool results: [#&#8203;93338](https://github.com/vercel/next.js/issues/93338) - Stop pinning compiled chunk source on `EcmascriptBuildNodeChunkVersion`. : [#&#8203;93807](https://github.com/vercel/next.js/issues/93807) - \[turbopack] Add trace metadata about the persist size: [#&#8203;93339](https://github.com/vercel/next.js/issues/93339) - Turbopack: fix subpath imports pointing to external packages: [#&#8203;93308](https://github.com/vercel/next.js/issues/93308) - Turbopack: fix error reporting with crashing webpack loaders: [#&#8203;93926](https://github.com/vercel/next.js/issues/93926) - Polish instant fix cards and validation messages: [#&#8203;93894](https://github.com/vercel/next.js/issues/93894) - Add deployable tarballs to pack-next: [#&#8203;93963](https://github.com/vercel/next.js/issues/93963) - fix(devtools): detect VS Code renamed macOS binary in launch-editor: [#&#8203;93971](https://github.com/vercel/next.js/issues/93971) - turbo-tasks: task-storage memory wins: [#&#8203;93720](https://github.com/vercel/next.js/issues/93720) - Turbopack: respect the module-sync export condition: [#&#8203;93970](https://github.com/vercel/next.js/issues/93970) - devlow-bench: percentile-based comparison and run retries: [#&#8203;93950](https://github.com/vercel/next.js/issues/93950) - Prerender HTTP access fallbacks with Cache Components semantics: [#&#8203;93988](https://github.com/vercel/next.js/issues/93988) - Add experimental.appShells feature flag: [#&#8203;93997](https://github.com/vercel/next.js/issues/93997) - Make `--debug-build-paths` work with `src/` directory projects: [#&#8203;94016](https://github.com/vercel/next.js/issues/94016) - Revert "Prerender HTTP access fallbacks with Cache Components semantics": [#&#8203;94018](https://github.com/vercel/next.js/issues/94018) - Respond to App Shell prefetches on the server: [#&#8203;93998](https://github.com/vercel/next.js/issues/93998) - \[turbopack] Disable ctor under RA: [#&#8203;94022](https://github.com/vercel/next.js/issues/94022) - Turbopack: don't crash the dev server when node_modules/next is briefly unresolvable: [#&#8203;93877](https://github.com/vercel/next.js/issues/93877) - Include PPR routes in dynamicRoutes regardless of revalidate time: [#&#8203;94025](https://github.com/vercel/next.js/issues/94025) - Enable experimental.varyParams by default: [#&#8203;94010](https://github.com/vercel/next.js/issues/94010) - Enable experimental.optimisticRouting by default: [#&#8203;94011](https://github.com/vercel/next.js/issues/94011) - Enable experimental.cachedNavigations by default with cacheComponents: [#&#8203;94012](https://github.com/vercel/next.js/issues/94012) - Revert "Include PPR routes in dynamicRoutes regardless of revalidate time": [#&#8203;94032](https://github.com/vercel/next.js/issues/94032) - Prerender static metadata under dynamic segments to canonical pathname: [#&#8203;93873](https://github.com/vercel/next.js/issues/93873) - Instant navs devtools revamp: [#&#8203;94027](https://github.com/vercel/next.js/issues/94027) - Add Chromium-only Playwright image publisher: [#&#8203;94051](https://github.com/vercel/next.js/issues/94051) - Replace next-ppr-optimizer with next-cache-components-optimizer: [#&#8203;94035](https://github.com/vercel/next.js/issues/94035) - Fix errors.json merge driver to handle gaps in error codes: [#&#8203;93829](https://github.com/vercel/next.js/issues/93829) - Turbopack: make available_modules an OperationVc and simplify merged module bookkeeping: [#&#8203;94055](https://github.com/vercel/next.js/issues/94055) - Improve notFound recovery in error pathway: [#&#8203;94037](https://github.com/vercel/next.js/issues/94037) - Turbopack: Fix unsound IntoIterator for ReadRef<T>: [#&#8203;94122](https://github.com/vercel/next.js/issues/94122) - Fix Firefox refresh loop on initial load of streaming pages in dev mode: [#&#8203;94128](https://github.com/vercel/next.js/issues/94128) - Prefetch App Shells on the client: [#&#8203;93999](https://github.com/vercel/next.js/issues/93999) - ServerActionsGraph: pass ModuleGraphLayer as OperationVc: [#&#8203;94141](https://github.com/vercel/next.js/issues/94141) - Bugfix: Incorrect search params stored in cache: [#&#8203;94144](https://github.com/vercel/next.js/issues/94144) - Remove extra word: [#&#8203;94160](https://github.com/vercel/next.js/issues/94160) - Fix default regex for `require.context` in Turbopack analyzer: [#&#8203;94162](https://github.com/vercel/next.js/issues/94162) - Fix short circuit evaluation of AND / OR in the Turbopack analyzer for string & nullish-related methods: [#&#8203;94159](https://github.com/vercel/next.js/issues/94159) - Turbopack: fix instrumentationClientInject with type:module: [#&#8203;94184](https://github.com/vercel/next.js/issues/94184) - Align issue triage guidance with automated behavior: [#&#8203;94189](https://github.com/vercel/next.js/issues/94189) - \[CC] Streaming prerender: [#&#8203;94044](https://github.com/vercel/next.js/issues/94044) - \[CC] Avoid unnecessary conversions to a stream: [#&#8203;94192](https://github.com/vercel/next.js/issues/94192) - Propagate adapter preferred regions: [#&#8203;94123](https://github.com/vercel/next.js/issues/94123) - Consolidate Resume Data Caches and partially revert [#&#8203;88556](https://github.com/vercel/next.js/issues/88556): [#&#8203;94194](https://github.com/vercel/next.js/issues/94194) - Fix `'use cache'` bail-out under `unstable_instant = false`: [#&#8203;94198](https://github.com/vercel/next.js/issues/94198) - Turbopack: use module graph for NFT: [#&#8203;92901](https://github.com/vercel/next.js/issues/92901) - Turbopack's analyzer: always treat promises as truth-y and non-nullish: [#&#8203;94186](https://github.com/vercel/next.js/issues/94186) - Update `shortcircuit_if_known` to `eval_shortcircuit()`: [#&#8203;94163](https://github.com/vercel/next.js/issues/94163) - Remove dead code from `JsValue::Binary` in `is_truthy`: [#&#8203;94165](https://github.com/vercel/next.js/issues/94165) - Produce valid file URLs for `import.meta.url` on Windows in Turbopack: [#&#8203;94179](https://github.com/vercel/next.js/issues/94179) - \[turbopack] Store TaskDirtyCause in Dirtyness and pass to NativeFunction::span: [#&#8203;94057](https://github.com/vercel/next.js/issues/94057) - Turbopack: cleanup ModuleHotReferenceAssetReference: [#&#8203;94206](https://github.com/vercel/next.js/issues/94206) - Add Errors/Insights tab split to the instant error overlay: [#&#8203;94073](https://github.com/vercel/next.js/issues/94073) - Replace VcStorage with real TurboTasks in tests/benches : [#&#8203;93955](https://github.com/vercel/next.js/issues/93955) - Redesign the unrendered-segment instant validation overlay: [#&#8203;93879](https://github.com/vercel/next.js/issues/93879) - turbopack tracing: add chunk_name to `get HMR events` span: [#&#8203;94061](https://github.com/vercel/next.js/issues/94061) - Turbopack: reduce hmr chunk list subscriptions: [#&#8203;94062](https://github.com/vercel/next.js/issues/94062) - \[turbopack] Separate `JsValue` into it's own folder in the analyzer: [#&#8203;94208](https://github.com/vercel/next.js/issues/94208) - feat(image-optimization): add experimental flag `imgOptOperationCache`: [#&#8203;94246](https://github.com/vercel/next.js/issues/94246) - Exclude static metadata and viewport from error recovery prerender when cache-components is enabled: [#&#8203;94134](https://github.com/vercel/next.js/issues/94134) - \[turbopack] Shrink ReadRawVcFuture from 80 to 64 bytes: [#&#8203;94201](https://github.com/vercel/next.js/issues/94201) - \[turbopack] Move `WellKnownObjectKind` & `WellKnownFunctionKind` into `well_known/kinds.rs` in the analyzer: [#&#8203;94209](https://github.com/vercel/next.js/issues/94209) - \[turbopack] Move `require.context`-related code into a seperate file in the analyzer: [#&#8203;94210](https://github.com/vercel/next.js/issues/94210) - Turbopack analyzer: analyze ternaries + promises in string & nullish methods: [#&#8203;94187](https://github.com/vercel/next.js/issues/94187) - \[turbopack] Break up `graph.rs` in the analyzer into smaller files: [#&#8203;94211](https://github.com/vercel/next.js/issues/94211) - \[turbopack] Add `explain()` methods to `WellKnownObjectKind` and `WellKnownFunctionKind`: [#&#8203;94217](https://github.com/vercel/next.js/issues/94217) - \[turbopack] Handle negative numbers as constants in the analyzer: [#&#8203;94218](https://github.com/vercel/next.js/issues/94218) - \[turbopack] Use `ast_path.kinds()` instead of mapping over `ast_path` in the analyzer: [#&#8203;94221](https://github.com/vercel/next.js/issues/94221) - \[CLI] Exit non-zero with a clear message when next typegen fails: [#&#8203;94241](https://github.com/vercel/next.js/issues/94241) - Switch `TotalOrderF64` to `f64` in `ConstantNumber` to correctly handle `NaN === NaN` and `0 === -0` inside the Turbopack analyzer: [#&#8203;94172](https://github.com/vercel/next.js/issues/94172) - Use `serde_json::Number` in `CompileTimeDefineValue` and remove `TotalOrderF64`: [#&#8203;94177](https://github.com/vercel/next.js/issues/94177) - Update ctor from 0.10 to 1.0.6: [#&#8203;94045](https://github.com/vercel/next.js/issues/94045) - Include `--port` in `next internal query-trace` startup hint and help example: [#&#8203;93961](https://github.com/vercel/next.js/issues/93961) - Turbopack: refactor NFT to add Endpoint.traced_files: [#&#8203;94224](https://github.com/vercel/next.js/issues/94224) - Turbopack: show codeframe when tracing too much: [#&#8203;94207](https://github.com/vercel/next.js/issues/94207) - fix(instrumentation): await instrumentation in RouteModule.prepare: [#&#8203;94306](https://github.com/vercel/next.js/issues/94306) - \[turbopack] Function pointers are copy: [#&#8203;94273](https://github.com/vercel/next.js/issues/94273) - DiskFileSystem: run write effects on a spawned task: [#&#8203;94140](https://github.com/vercel/next.js/issues/94140) - Disable `default-case` ESLint rule for type-checked TypeScript files: [#&#8203;94316](https://github.com/vercel/next.js/issues/94316) - Handle a purged browser cache on back navigation: [#&#8203;94317](https://github.com/vercel/next.js/issues/94317) - Persist debug channel via `IndexedDB` without blocking hydration: [#&#8203;94243](https://github.com/vercel/next.js/issues/94243) - Fix debug channel not closing on the client with Node streams: [#&#8203;94268](https://github.com/vercel/next.js/issues/94268) - Avoid bundling HMR refresh reducer in production: [#&#8203;94305](https://github.com/vercel/next.js/issues/94305) - Remove the instantNavigationDevToolsToggle flag: [#&#8203;94322](https://github.com/vercel/next.js/issues/94322) - skip render dev overlay ux under private flag: [#&#8203;94346](https://github.com/vercel/next.js/issues/94346) - Turbopack: fix bundle-analyzer for NFT change: [#&#8203;93363](https://github.com/vercel/next.js/issues/93363) - Devirtualize the backend api inside of turbo_tasks and turbo-tasks-backend: [#&#8203;94007](https://github.com/vercel/next.js/issues/94007) - Delay Node Fizz piping until after render task: [#&#8203;94347](https://github.com/vercel/next.js/issues/94347) - Enable Node streams by default: [#&#8203;94311](https://github.com/vercel/next.js/issues/94311) - Turbopack: support turbopackIgnore on more traced calls: [#&#8203;94361](https://github.com/vercel/next.js/issues/94361) - \[turbopack] Treat assignments to `module.exports` as side-effect free: [#&#8203;94293](https://github.com/vercel/next.js/issues/94293) - instant: enable navigation validation by default: [#&#8203;94312](https://github.com/vercel/next.js/issues/94312) - Turbopack: Move turbo-tasks/src/raw_vc.rs to turbo-tasks/src/vc/raw\.rs: [#&#8203;94239](https://github.com/vercel/next.js/issues/94239) - Turbopack: fix pages index normalization for --debug-build-paths: [#&#8203;94341](https://github.com/vercel/next.js/issues/94341) - Deprecate undocumented custom server methods: [#&#8203;94348](https://github.com/vercel/next.js/issues/94348) - Trace cacheHandler and cacheHandlers when using adapters: [#&#8203;94197](https://github.com/vercel/next.js/issues/94197) - fix: build hangs if sync IO aborts before root chunk is flushed: [#&#8203;94365](https://github.com/vercel/next.js/issues/94365) - DiskFileSystem: store Effect full_path as Arc<Path>: [#&#8203;94332](https://github.com/vercel/next.js/issues/94332) - \[CC] add shell stages: [#&#8203;94438](https://github.com/vercel/next.js/issues/94438) - \[turbopack] Add `BumpVec` (vector implementation that takes a `Bump`): [#&#8203;94296](https://github.com/vercel/next.js/issues/94296) - Ensure aborting has the same inputs as render: [#&#8203;94436](https://github.com/vercel/next.js/issues/94436) - \[App Shells] App shells in runtime prefetches: [#&#8203;93801](https://github.com/vercel/next.js/issues/93801) - \[turbopack] Optimize TaskInput implementations: [#&#8203;94202](https://github.com/vercel/next.js/issues/94202) - make `TaskInput::is_resolved` inlinable everywhere: [#&#8203;94213](https://github.com/vercel/next.js/issues/94213) - \[App Shells] staged shell rendering in cached navs: [#&#8203;94441](https://github.com/vercel/next.js/issues/94441) - \[App Shells] staged shell rendering during build: [#&#8203;94442](https://github.com/vercel/next.js/issues/94442) - Keep the dev React debug channel on Node streams end to end: [#&#8203;94433](https://github.com/vercel/next.js/issues/94433) - Revert "Keep the dev React debug channel on Node streams end to end": [#&#8203;94459](https://github.com/vercel/next.js/issues/94459) - \[turbopack] Only ship top-level async support in the runtime when needed: [#&#8203;94376](https://github.com/vercel/next.js/issues/94376) - Allow `unstable_retry` from TS plugin check in Next.js Error APIs: [#&#8203;94460](https://github.com/vercel/next.js/issues/94460) - \[turbopack] Treat local `const` assignments as side-effect free: [#&#8203;94294](https://github.com/vercel/next.js/issues/94294) - \[turbopack] Remove worker helpers from the default runtime: [#&#8203;94372](https://github.com/vercel/next.js/issues/94372) - Extract App Shell from static prefetches: [#&#8203;94095](https://github.com/vercel/next.js/issues/94095) - Turbopack: refactor ServerActionManifestAsset to be lazy: [#&#8203;94377](https://github.com/vercel/next.js/issues/94377) - Update vendored lodash to 4.18.1: [#&#8203;94473](https://github.com/vercel/next.js/issues/94473) - Turbopack: Perform issue filtering without turbo-task functions: [#&#8203;93885](https://github.com/vercel/next.js/issues/93885) - Keep Instant DevTools locked when opening error overlay: [#&#8203;94357](https://github.com/vercel/next.js/issues/94357) - fix(deps): bump [@&#8203;vercel/nft](https://github.com/vercel/nft)[@1](https://github.com/1).10.2: [#&#8203;93979](https://github.com/vercel/next.js/issues/93979) - Simplify turbo-tasks-backend: collapse single-impl traits and remove redundant Arc layers: [#&#8203;93983](https://github.com/vercel/next.js/issues/93983) - Turbopack: refactor to use `get_ecma_transform_rule`: [#&#8203;94485](https://github.com/vercel/next.js/issues/94485) - Turbopack: fixup cache handler tracing: [#&#8203;94477](https://github.com/vercel/next.js/issues/94477) - \[turbopack] Remove turbotask functions from `trait ResolveOrigin`: [#&#8203;94324](https://github.com/vercel/next.js/issues/94324) - Turbopack: remove EcmascriptParsable::parse_original: [#&#8203;94465](https://github.com/vercel/next.js/issues/94465) - Turbopack: Add an experimental option for eviction: [#&#8203;94439](https://github.com/vercel/next.js/issues/94439) - Specialize client hook prerender abort reasons: [#&#8203;94494](https://github.com/vercel/next.js/issues/94494) - enable eviction on canary: [#&#8203;94451](https://github.com/vercel/next.js/issues/94451) - Remove turbopackMemoryLimit it is dead: [#&#8203;94483](https://github.com/vercel/next.js/issues/94483) - \[turbopack] Enable Effects to be evicted: [#&#8203;94173](https://github.com/vercel/next.js/issues/94173) - \[turbopack] standardize chunk entry names for webpack and postcss loaders: [#&#8203;94256](https://github.com/vercel/next.js/issues/94256) - Add global config to enable Partial Prefetching: [#&#8203;94448](https://github.com/vercel/next.js/issues/94448) - Fix: Subtree hints not propagating correctly: [#&#8203;94489](https://github.com/vercel/next.js/issues/94489) - Partial Prefetching: Default to App Shell only: [#&#8203;94510](https://github.com/vercel/next.js/issues/94510) - Turbopack: refactor into `get_next_client_transforms_rules`: [#&#8203;94487](https://github.com/vercel/next.js/issues/94487) - \[cna] Use `allowBuilds` instead of `ignoredBuiltDependencies` when using PNPM 11+: [#&#8203;94544](https://github.com/vercel/next.js/issues/94544) - Turbopack: content hash polyfill sourcemap file: [#&#8203;94548](https://github.com/vercel/next.js/issues/94548) - Remove `experimental.useNodeStreams` flag as it's enabled: [#&#8203;93938](https://github.com/vercel/next.js/issues/93938) - Remove dead cacheComponents web streams path: [#&#8203;93944](https://github.com/vercel/next.js/issues/93944) - fix(dev-overlay): Tidy up issues/insight menu and tab overlay: [#&#8203;94549](https://github.com/vercel/next.js/issues/94549) - \[turbopack] Remove WebAssembly helpers from the default runtime: [#&#8203;94373](https://github.com/vercel/next.js/issues/94373) - enable eviction by default: [#&#8203;94452](https://github.com/vercel/next.js/issues/94452) - Rename prefetch option `force-runtime` to `allow-runtime`: [#&#8203;94568](https://github.com/vercel/next.js/issues/94568) - \[turbopack] Use an arena for `JSValue`s: [#&#8203;94297](https://github.com/vercel/next.js/issues/94297) - Stabilize export const prefetch: [#&#8203;94571](https://github.com/vercel/next.js/issues/94571) - Fix node:stream leak in webpack edge bundles: [#&#8203;94585](https://github.com/vercel/next.js/issues/94585) - Stream Cache Components dev render instead of restarting on cache miss: [#&#8203;94457](https://github.com/vercel/next.js/issues/94457) - Fix Navigation Inspector Continue Rendering with loading.tsx: [#&#8203;94355](https://github.com/vercel/next.js/issues/94355) - \[turbopack] add an extension to trace files: [#&#8203;94587](https://github.com/vercel/next.js/issues/94587) - Make router-act ignore App Shell prefetch requests: [#&#8203;94580](https://github.com/vercel/next.js/issues/94580) - Enable experimental.appShells by default with cacheComponents: [#&#8203;94516](https://github.com/vercel/next.js/issues/94516) - \[turbopack] Lazily allocate the BlockCaches: [#&#8203;94562](https://github.com/vercel/next.js/issues/94562) - Stabilize catchError and retry by removing unstable\_ prefix: [#&#8203;94610](https://github.com/vercel/next.js/issues/94610) - Revert "Stabilize catchError and retry by removing unstable\_ prefix": [#&#8203;94617](https://github.com/vercel/next.js/issues/94617) - Stabilize `unstable_instant`: [#&#8203;94578](https://github.com/vercel/next.js/issues/94578) - Reapply "Stabilize catchError and retry by removing unstable\_ prefix": [#&#8203;94623](https://github.com/vercel/next.js/issues/94623) - \[turbopack] Enable turbopackFileSystemCacheForBuild by default in non-stable releases: [#&#8203;94616](https://github.com/vercel/next.js/issues/94616) - Add a cold cache dev indicator: [#&#8203;94611](https://github.com/vercel/next.js/issues/94611) - instant: build fix-card Copy AI prompt dynamically from title + link: [#&#8203;94637](https://github.com/vercel/next.js/issues/94637) - Stage short-lived `'use cache'` entries correctly in dev: [#&#8203;94645](https://github.com/vercel/next.js/issues/94645) - Call `register_assignment_scope()` in `visit_export_default_expr()` and `visit_export_default_decl()`: [#&#8203;94581](https://github.com/vercel/next.js/issues/94581) - fix: handle shell errors when resuming Node streams: [#&#8203;94668](https://github.com/vercel/next.js/issues/94668) - \[turbopack] Rename variables in `path_join` and add tests: [#&#8203;94625](https://github.com/vercel/next.js/issues/94625) - Warn on prefetch={true} navigation without Partial Prefetching (dev): [#&#8203;94672](https://github.com/vercel/next.js/issues/94672) - Serve stale `'use cache'` entries in the dev server until they expire: [#&#8203;94662](https://github.com/vercel/next.js/issues/94662) - Re-fetch dynamic content on navigation with `partialPrefetching` enabled: [#&#8203;94655](https://github.com/vercel/next.js/issues/94655) - Add Owner Stack to "`prefetch={true}` navigation without Partial Prefetching" warning: [#&#8203;94683](https://github.com/vercel/next.js/issues/94683) - \[tubopack] migrate rcstr! to use scattered collect: [#&#8203;94498](https://github.com/vercel/next.js/issues/94498) - Strip internal dev request-id headers from userland `headers()`: [#&#8203;94703](https://github.com/vercel/next.js/issues/94703) - Persist `'use cache: private'` entries in dev: [#&#8203;94694](https://github.com/vercel/next.js/issues/94694) - \[App Shells] refactor instant-validation to make adding new stages easier: [#&#8203;94711](https://github.com/vercel/next.js/issues/94711) - migrate turbo-tasks to scattered collect: [#&#8203;94503](https://github.com/vercel/next.js/issues/94503) - \[CC] refactor staged rendering codepaths in params/searchParams: [#&#8203;94718](https://github.com/vercel/next.js/issues/94718) - \[App Shells] Track whether shell prefetch used session data: [#&#8203;94484](https://github.com/vercel/next.js/issues/94484) - Treat empty resume bodies as dynamic render requests: [#&#8203;94729](https://github.com/vercel/next.js/issues/94729) - \[codemod] Write pnpm overrides to pnpm-workspace.yaml on pnpm v11+: [#&#8203;94690](https://github.com/vercel/next.js/issues/94690) - \[CC] Exclude caches with low stale from static prerenders: [#&#8203;94678](https://github.com/vercel/next.js/issues/94678) - \[CC] Rename shellStage to streamReleaseStage: [#&#8203;94749](https://github.com/vercel/next.js/issues/94749) - \[turbopack] Drop data while serializing in `next build`: [#&#8203;94561](https://github.com/vercel/next.js/issues/94561) - \[turbopack] Optimize cell_dependency representation: [#&#8203;94717](https://github.com/vercel/next.js/issues/94717) - \[turbopack] Use `final_read_hint` in top level turbo tasks: [#&#8203;94712](https://github.com/vercel/next.js/issues/94712) - Allow root params in App Shell (client) - fix: this in edge sandbox setTimeout/setInterval: [#&#8203;94754](https://github.com/vercel/next.js/issues/94754) - Avoid a premature Suspense fallback flash in the streaming dev render: [#&#8203;94783](https://github.com/vercel/next.js/issues/94783) - Format submillisecond durations as milliseconds: [#&#8203;94813](https://github.com/vercel/next.js/issues/94813) - Move `warnOnce` imports into statements guarded by `process.env.NODE_ENV === 'development'`: [#&#8203;94781](https://github.com/vercel/next.js/issues/94781) - Expand signature rewriting to allow returning ResolvedVc from turbo task functions: [#&#8203;94772](https://github.com/vercel/next.js/issues/94772) - Move `errorOnce` imports into statements guarded by `process.env.NODE_ENV === 'development'`: [#&#8203;94782](https://github.com/vercel/next.js/issues/94782) - Turbopack: add experimental React compiler support: [#&#8203;94573](https://github.com/vercel/next.js/issues/94573) - pass `--locked` to `cargo binstall`: [#&#8203;94834](https://github.com/vercel/next.js/issues/94834) - \[turbopack] Allocate `Effect`s in an arena: [#&#8203;94614](https://github.com/vercel/next.js/issues/94614) - \[turbo-tasks] Shrink RawVc to 8 bytes and CellId to 4 bytes: [#&#8203;94792](https://github.com/vercel/next.js/issues/94792) - dev-overlay: polish error header layout and instant fix-card chip: [#&#8203;94790](https://github.com/vercel/next.js/issues/94790) - Make `cacheMaxMemorySize: 0` and custom cache handlers fast in dev: [#&#8203;94784](https://github.com/vercel/next.js/issues/94784) - Fix remaining OTEL issues in adapter: [#&#8203;94817](https://github.com/vercel/next.js/issues/94817) - Turbopack: improve NFT warning message: [#&#8203;94854](https://github.com/vercel/next.js/issues/94854) - Add experimental.useExperimentalReact to opt into React's experimental channel: [#&#8203;94861](https://github.com/vercel/next.js/issues/94861) - Turbopack: improve issue printing colors: [#&#8203;94858](https://github.com/vercel/next.js/issues/94858) - \[turbopack] Update algebra in chunking algorithm: [#&#8203;94873](https://github.com/vercel/next.js/issues/94873) - \[CC] Fix accumulator flushing logic: [#&#8203;94857](https://github.com/vercel/next.js/issues/94857) - trace-server: render read progress in place on a terminal: [#&#8203;94879](https://github.com/vercel/next.js/issues/94879) - Turbopack: Add an OrdResolvedVc wrapper type: [#&#8203;94875](https://github.com/vercel/next.js/issues/94875) - Turbopack: don't run NFT for output:export or Edge: [#&#8203;94862](https://github.com/vercel/next.js/issues/94862) - react-compiler: don't emit diagnostics as issues: [#&#8203;94874](https://github.com/vercel/next.js/issues/94874) - Turbopack: fix tracing of sharp\@&#8203;0.35: [#&#8203;94845](https://github.com/vercel/next.js/issues/94845) - Support vary params rewinding: [#&#8203;94809](https://github.com/vercel/next.js/issues/94809) - \[App Shells] Allow root params in app shells: [#&#8203;94738](https://github.com/vercel/next.js/issues/94738) - Rename experimental.useExperimentalReact to blockingSSR: [#&#8203;94869](https://github.com/vercel/next.js/issues/94869) - Fix non-RSC router prefetch handling: [#&#8203;94553](https://github.com/vercel/next.js/issues/94553) - Log partialPrefetching during startup: [#&#8203;94822](https://github.com/vercel/next.js/issues/94822) - Avoid re-logging server-originated errors forwarded from the browser: [#&#8203;94917](https://github.com/vercel/next.js/issues/94917) - Scope the Cold cache indicator in dev to shell cache misses: [#&#8203;94911](https://github.com/vercel/next.js/issues/94911) - fix(dev-overlay): correct open-in-editor path when using a `src` directory: [#&#8203;94775](https://github.com/vercel/next.js/issues/94775) - Fix repoRoot for adapters: [#&#8203;94478](https://github.com/vercel/next.js/issues/94478) - Fix dev overlay hydration error ordering: [#&#8203;94555](https://github.com/vercel/next.js/issues/94555) - \[turbopack] Retry chunk loading on failure: [#&#8203;94918](https://github.com/vercel/next.js/issues/94918) - \[turbopack] Sort modules in chunks to reduce duplicates: [#&#8203;94961](https://github.com/vercel/next.js/issues/94961) - router instrumentation: refactor client hook dispatch (1/7): [#&#8203;94755](https://github.com/vercel/next.js/issues/94755) - \[otel] Add more verbose-mode OTEL spans for App Router: [#&#8203;94894](https://github.com/vercel/next.js/issues/94894) - Enforce route segment configs on metadata routes under Cache Components: [#&#8203;94962](https://github.com/vercel/next.js/issues/94962) - typegen: default to Turbopack: [#&#8203;94952](https://github.com/vercel/next.js/issues/94952) - router instrumentation: add transition start context (2/7): [#&#8203;94766](https://github.com/vercel/next.js/issues/94766) - fix: after(callback) called after response end: [#&#8203;94974](https://github.com/vercel/next.js/issues/94974) - fix: request APIs in promises passed to after() in actions/handlers: [#&#8203;94964](https://github.com/vercel/next.js/issues/94964) - Remove embedded Claude Code plugin marketplace: [#&#8203;94877](https://github.com/vercel/next.js/issues/94877) - \[otel] Correctly set error code attributes for App API routes: [#&#8203;94979](https://github.com/vercel/next.js/issues/94979) - Statically prerender metadata image routes under Cache Components: [#&#8203;94957](https://github.com/vercel/next.js/issues/94957) - codemod: cache-components-instant-false + next-cache-components-adoption skill: [#&#8203;94941](https://github.com/vercel/next.js/issues/94941) - Remove legacy PPR codepaths: [#&#8203;94955](https://github.com/vercel/next.js/issues/94955) - Add a global opt-in for the runtime stage of Cached Navigations: [#&#8203;95064](https://github.com/vercel/next.js/issues/95064) - \[turbopack] Rename the edge runtime to the self-contained runtime: [#&#8203;94726](https://github.com/vercel/next.js/issues/94726) - \[turbopack] Sort modules in files by path not ID: [#&#8203;95065](https://github.com/vercel/next.js/issues/95065) - Turbopack: Fix log box test on react 18: [#&#8203;95078](https://github.com/vercel/next.js/issues/95078) - Turbopack: Avoid clone when sorting by module file path: [#&#8203;95079](https://github.com/vercel/next.js/issues/95079) - Fix false-positive `export const dynamic` in Cache Components detection: [#&#8203;95083](https://github.com/vercel/next.js/issues/95083) - Serve ISR fallback shells in response to prefetch requests: [#&#8203;94534](https://github.com/vercel/next.js/issues/94534) - Insights: drop irrelevant fix cards from instant errors: [#&#8203;94926](https://github.com/vercel/next.js/issues/94926) - Navigation inspector UI updates: [#&#8203;94959](https://github.com/vercel/next.js/issues/94959) - Turbopack: Delete dead AttachedFileSystem type: [#&#8203;94960](https://github.com/vercel/next.js/issues/94960) - Opt Partial Prefetching routes into the runtime stage of Cached Navs: [#&#8203;95097](https://github.com/vercel/next.js/issues/95097) - Fix [#&#8203;95015](https://github.com/vercel/next.js/issues/95015) by pulling a fix to scattered-collect: [#&#8203;95098](https://github.com/vercel/next.js/issues/95098) - Release the instant navs lock without clearing the whole cookie jar: [#&#8203;94947](https://github.com/vercel/next.js/issues/94947) - Compute dev fallback params from the most-specific prerendered route: [#&#8203;95066](https://github.com/vercel/next.js/issues/95066) - Consider merging chunks when `overlap == 1`: [#&#8203;95102](https://github.com/vercel/next.js/issues/95102) - \[turbopack] Add support for single-entry chunks: [#&#8203;94727](https://github.com/vercel/next.js/issues/94727) - Turbopack: add TURBOPACK_DEBUG_CSS_CHUNKING env var: [#&#8203;95080](https://github.com/vercel/next.js/issues/95080) - Keep the resolved cache life for `cacheMaxMemorySize: 0` caches in dev: [#&#8203;95100](https://github.com/vercel/next.js/issues/95100) - Avoid mutating `req.headers` when stripping internal headers: [#&#8203;95116](https://github.com/vercel/next.js/issues/95116) - Revert "Remove legacy PPR codepaths": [#&#8203;95113](https://github.com/vercel/next.js/issues/95113) - dev-overlay: wire Link prefetch={true} Partial Prefetching warning into Insights: [#&#8203;94798](https://github.com/vercel/next.js/issues/94798) - Add missing switch case: [#&#8203;95127](https://github.com/vercel/next.js/issues/95127) - Revert "Add missing switch case": [#&#8203;95129](https://github.com/vercel/next.js/issues/95129) - Fix Navigation Inspector styles in dark mode: [#&#8203;95126](https://github.com/vercel/next.js/issues/95126) - Fix local fonts in statically prerendered `ImageResponse` metadata route: [#&#8203;95121](https://github.com/vercel/next.js/issues/95121) - Surface an error for blocking routes under the Navigation Inspector: [#&#8203;95139](https://github.com/vercel/next.js/issues/95139) - Suppress prefetch={true} warning when route opts out via instant = false: [#&#8203;95099](https://github.com/vercel/next.js/issues/95099) - \[turbopack] Create `ServiceWorkerChunkingContextOptions` in `next-core`: [#&#8203;94920](https://github.com/vercel/next.js/issues/94920) - instant(): Only render shell, unless prefetch prop is set: [#&#8203;95150](https://github.com/vercel/next.js/issues/95150) - \[turbopack] Create `ServiceWorkerEntryModule` and `service_worker_chunk_filename`: [#&#8203;94921](https://github.com/vercel/next.js/issues/94921) - \[turbopack] Discover `ServiceWorkerEntryModule`s in `next-api` and compile + serve those service workers: [#&#8203;94922](https://github.com/vercel/next.js/issues/94922) - \[PP] Reveal after ShellRuntime when simulating a Shell Prefetch in dev: [#&#8203;95149](https://github.com/vercel/next.js/issues/95149) - Replicate production prefetch shells for instant navigations in dev: [#&#8203;95067](https://github.com/vercel/next.js/issues/95067) - \[next-dev-loop] Fix some papercuts: [#&#8203;95153](https://github.com/vercel/next.js/issues/95153) - Gate the dev Cold cache badge behind an experimental flag: [#&#8203;95169](https://github.com/vercel/next.js/issues/95169) - \[next-dev-loop] Fix cookies: [#&#8203;95177](https://github.com/vercel/next.js/issues/95177) - Revert "\[turbopack] Use `final_read_hint` in top level turbo tasks ([#&#8203;94712](https://github.com/vercel/next.js/issues/94712))": [#&#8203;95178](https://github.com/vercel/next.js/issues/95178) - \[dev overlay]: restructure Copy-as-prompt body into a step-by-step checklist: [#&#8203;95186](https://github.com/vercel/next.js/issues/95186) - Hard-navigate to app routes shadowed by a pages dynamic route: [#&#8203;95185](https://github.com/vercel/next.js/issues/95185) - next-dev-loop: require agent-browser >= 0.31.1: [#&#8203;95209](https://github.com/vercel/next.js/issues/95209) - fix: preserve middleware rewrite query in Pages API routes: [#&#8203;94905](https://github.com/vercel/next.js/issues/94905) - Don't track modifications to transient data stored in tasks: [#&#8203;95133](https://github.com/vercel/next.js/issues/95133) - Record size metrics to our compaction and persistence spans: [#&#8203;94977](https://github.com/vercel/next.js/issues/94977) - \[turbopack] Support undoable modifications for many field types on TaskStorage: [#&#8203;95180](https://github.com/vercel/next.js/issues/95180) - Turbopack: make hash_xxh3_hash128 return u128: [#&#8203;95232](https://github.com/vercel/next.js/issues/95232) - Improve typing of `decodeReply`: [#&#8203;95263](https://github.com/vercel/next.js/issues/95263) - fix: preserve repeated search params in client page segment cache keys: [#&#8203;94863](https://github.com/vercel/next.js/issues/94863) - fix(turbopack): dedupe filename/exportedName in server-reference-manifest worker entries: [#&#8203;95242](https://github.com/vercel/next.js/issues/95242) - Avoid bundling client-nodemodules used by `unstable_rethrow` in client-browser modules: [#&#8203;95196](https://github.com/vercel/next.js/issues/95196) - Turbopack: replace cssChunking graph `moduleFactorCost` with `weightDistribution`: [#&#8203;95088](https://github.com/vercel/next.js/issues/95088) - Fix: Update the URL when a client navigation redirects to a rewritten route: [#&#8203;95207](https://github.com/vercel/next.js/issues/95207) - Enhance ESLint rule `no-location-assign-relative-destination`: [#&#8203;93057](https://github.com/vercel/next.js/issues/93057) - \[turbopack] Add an experimental `chunkingHeuristics` to `next.config.js`: [#&#8203;95019](https://github.com/vercel/next.js/issues/95019) - \[turbopack] Thread `chunkingHeuristics` through to chunk groups: [#&#8203;95020](https://github.com/vercel/next.js/issues/95020) - \[turbopack] Set `chunking_heuristics` on each `ChunkGroupInfo`: [#&#8203;95021](https://github.com/vercel/next.js/issues/95021) - \[turbopack] Use experimental chunking heuristics: [#&#8203;95026](https://github.com/vercel/next.js/issues/95026) - \[turbopack] Discover service workers in the Turbopack analyzer: [#&#8203;94923](https://github.com/vercel/next.js/issues/94923) - Turbopack: This bool could've been an enum: [#&#8203;95288](https://github.com/vercel/next.js/issues/95288) - log config evaluation time: [#&#8203;94811](https://github.com/vercel/next.js/issues/94811) - Log content-free diagnostics when a postponed state fails to parse: [#&#8203;95216](https://github.com/vercel/next.js/issues/95216) - Turbopack: constant evaluate `x in y`: [#&#8203;95286](https://github.com/vercel/next.js/issues/95286) - Surface empty `generateStaticParams` as a redbox with a real stack: [#&#8203;95269](https://github.com/vercel/next.js/issues/95269) - Render a code frame for build errors thrown collecting page data: [#&#8203;95270](https://github.com/vercel/next.js/issues/95270) - fix: params/searchParams in client page crashing dev instant validation: [#&#8203;95289](https://github.com/vercel/next.js/issues/95289) - Turbopack: compute code hash per `use cache` function: [#&#8203;94234](https://github.com/vercel/next.js/issues/94234) - Fix workers on thread to not crash with napi-rs: [#&#8203;95281](https://github.com/vercel/next.js/issues/95281) - codemod: non-interactive upgrade for agents and CI: [#&#8203;95312](https://github.com/vercel/next.js/issues/95312) - \[PP] Validate Shell prefetches (except gSP): [#&#8203;95151](https://github.com/vercel/next.js/issues/95151) - \[PP] Instant validation - error for unguarded static params: [#&#8203;94595](https://github.com/vercel/next.js/issues/94595) - codemod: bump eslint alongside eslint-config-next: [#&#8203;95314](https://github.com/vercel/next.js/issues/95314) - Rename Copy as prompt to Copy prompt, convert FixOption to FixCard: [#&#8203;95309](https://github.com/vercel/next.js/issues/95309) - Fix Navigation Inspector in Safari: [#&#8203;95329](https://github.com/vercel/next.js/issues/95329) - Fix early OTel proxy tracers in Cache Components prerenders: [#&#8203;95317](https://github.com/vercel/next.js/issues/95317) - Re-query deploy-test build logs until id markers appear: [#&#8203;95243](https://github.com/vercel/next.js/issues/95243) - Rename `DYNAMIC_EXPIRE` and `DYNAMIC_STALE` to describe what they gate: [#&#8203;95361](https://github.com/vercel/next.js/issues/95361) - fix(turbopack): allow `#/` prefixed subpath import specifiers: [#&#8203;94461](https://github.com/vercel/next.js/issues/94461) - Remove 'silence this warning' from instant validation fix output: [#&#8203;95187](https://github.com/vercel/next.js/issues/95187) - Make `instant()` resilient to a leaked navigation-testing cookie: [#&#8203;95375](https://github.com/vercel/next.js/issues/95375) - Await reused in-flight prefetch entries under Instant Navigation lock: [#&#8203;95301](https://github.com/vercel/next.js/issues/95301) - Cache short-`expire` `'use cache'` values across dev reloads: [#&#8203;95362](https://github.com/vercel/next.js/issues/95362) - Fix metadata title dropped on soft navigation with Cache Components: [#&#8203;95315](https://github.com/vercel/next.js/issues/95315) - Prefetch links nearest the top of the document first: [#&#8203;95393](https://github.com/vercel/next.js/issues/95393) - fix: handle prototype-colliding segment names in segment explorer trie: [#&#8203;95403](https://github.com/vercel/next.js/issues/95403) - Clear a resurrected instant cookie on unlock so a hard reload recovers: [#&#8203;95398](https://github.com/vercel/next.js/issues/95398) - Recover from blocking routes under Instant Navigation lock when deployed: [#&#8203;95227](https://github.com/vercel/next.js/issues/95227) - fix(config): correctly validate cacheHandlers names: [#&#8203;95358](https://github.com/vercel/next.js/issues/95358) - Fix history push getting treated like replace when followed by refresh: [#&#8203;95392](https://github.com/vercel/next.js/issues/95392) - Skip saving `expire: 0` values in the default cache handler in prod: [#&#8203;95363](https://github.com/vercel/next.js/issues/95363) - Fix false-positive nested-cache error for a short default profile: [#&#8203;95373](https://github.com/vercel/next.js/issues/95373) - Fix navigation getting reverted when a Server Action is in flight: [#&#8203;95391](https://github.com/vercel/next.js/issues/95391) - Ignore-list internal frames whose source maps chain to original sources: [#&#8203;95448](https://github.com/vercel/next.js/issues/95448) - fix: work around SWC compress bug: [#&#8203;95457](https://github.com/vercel/next.js/issues/95457) - Avoid unnecessary rendering for validation in dev: [#&#8203;95394](https://github.com/vercel/next.js/issues/95394) - Add `serverComponentsHmrCancellation` experimental flag: [#&#8203;95462](https://github.com/vercel/next.js/issues/95462) - Also rewrite requires in page templates with Webpack: [#&#8203;95446](https://github.com/vercel/next.js/issues/95446) - Fix instrumentation hook awaiting for middleware with adapters: [#&#8203;95357](https://github.com/vercel/next.js/issues/95357) - otel: Use correct parent span for Node.js middleware: [#&#8203;95306](https://github.com/vercel/next.js/issues/95306) - \[turbopack] Add E2E tests for service workers: [#&#8203;94924](https://github.com/vercel/next.js/issues/94924) - trace-viewer: Support string span ids in nextjs trace backend: [#&#8203;95515](https://github.com/vercel/next.js/issues/95515) - evals: fix false-negative regex checks with the agentic LLM judge: [#&#8203;95440](https://github.com/vercel/next.js/issues/95440) - fix(dev-overlay): increase fix card grid row gap to clear floating Copy prompt button: [#&#8203;95526](https://github.com/vercel/next.js/issues/95526) - \[fragment-scroll] Enable new scroll handler by default: [#&#8203;95378](https://github.com/vercel/next.js/issues/95378) - Abort superseded Server Components HMR requests on the client: [#&#8203;95463](https://github.com/vercel/next.js/issues/95463) - turbo-persistence: skip directory fsync on Windows: [#&#8203;95497](https://github.com/vercel/next.js/issues/95497) - Disable `supportsImmutableAssets` with `config.output`: [#&#8203;95521](https://github.com/vercel/next.js/issues/95521) - Turbopack: add all keys to dynamic exports before sealing the object: [#&#8203;93334](https://github.com/vercel/next.js/issues/93334) - Propagate maxDuration to edge adapter outputs: [#&#8203;95118](https://github.com/vercel/next.js/issues/95118) - Run instrumentation for Node.js Middleware without Adapter: [#&#8203;95547](https://github.com/vercel/next.js/issues/95547) - Fix/next info experimental analyze with graph css chunking: [#&#8203;95542](https://github.com/vercel/next.js/issues/95542) - Cancel a superseded Server Components HMR refresh's server-side work: [#&#8203;95486](https://github.com/vercel/next.js/issues/95486) - Turbopack: add more context to persistence file errors: [#&#8203;95318](https://github.com/vercel/next.js/issues/95318) - \[turbopack] Rename `rscEndpoint` to `rscHmrEndpoint`: [#&#8203;95538](https://github.com/vercel/next.js/issues/95538) - \[PP] Surface URL data during prefetching as an Instant insight with rule page: [#&#8203;95365](https://github.com/vercel/next.js/issues/95365) - fix: log "Partial Prefetching enabled" during next build: [#&#8203;95593](https://github.com/vercel/next.js/issues/95593) - \[turbopack] Don't persist if there is little work to do: [#&#8203;95137](https://github.com/vercel/next.js/issues/95137) - align dev and build output: [#&#8203;94916](https://github.com/vercel/next.js/issues/94916) - \[turbopack] Don't evict when there is little memory to save: [#&#8203;95213](https://github.com/vercel/next.js/issues/95213) - Consistently gate navigation-testing-lock API on flag: [#&#8203;95582](https://github.com/vercel/next.js/issues/95582) - Turbopack: enable `import with {type: 'text'}` by default: [#&#8203;95606](https://github.com/vercel/next.js/issues/95606) - fix(create-next-app): pin both axes on Tailwind template logos to silence aspect-ratio warning: [#&#8203;95609](https://github.com/vercel/next.js/issues/95609) - \[turbopack] print Turbopack warnings after SSG: [#&#8203;95430](https://github.com/vercel/next.js/issues/95430) - fix(create-next-app): render filenames in Geist Mono so the preloaded font is used: [#&#8203;95471](https://github.com/vercel/next.js/issues/95471) - Normalize and validate `expire` and `revalidate` values to handle Infinity and surface mistakes early: [#&#8203;95493](https://github.com/vercel/next.js/issues/95493) - Make the agent-rules block verifiable and self-upgrading: [#&#8203;95467](https://github.com/vercel/next.js/issues/95467) - Convert agent-041's blocking-data check to the agentic LLM judge: [#&#8203;95630](https://github.com/vercel/next.js/issues/95630) - Reduce the size of OperationVc from 8 bytes to 4: [#&#8203;95614](https://github.com/vercel/next.js/issues/95614) - \[turbopack] Output service workers to `/_next/static/`: [#&#8203;95554](https://github.com/vercel/next.js/issues/95554) - \[turbopack] Compile service workers registered from pages router pages: [#&#8203;95583](https://github.com/vercel/next.js/issues/95583) - \[turbopack] Simplify service worker e2e tests: [#&#8203;95672](https://github.com/vercel/next.js/issues/95672) - Keep the request body a plain Readable after middleware so Readable.toWeb() doesn't hang: [#&#8203;95607](https://github.com/vercel/next.js/issues/95607) - \[PPF] Sync IO is only allowed in the dynamic stage: [#&#8203;95384](https://github.com/vercel/next.js/issues/95384) - Fix support for `custom-media-queries` in LightningCSS: [#&#8203;95689](https://github.com/vercel/next.js/issues/95689) - Turbopack tests: remove assertions that duplicate webpack results: [#&#8203;95688](https://github.com/vercel/next.js/issues/95688) - request insights: record local framework spans (1/5): [#&#8203;93974](https://github.com/vercel/next.js/issues/93974) - request insights: derive request history and fetch data (2/5): [#&#8203;93975](https://github.com/vercel/next.js/issues/93975) - request insights: expose dev snapshots to tools and HMR (3/5): [#&#8203;93976](https://github.com/vercel/next.js/issues/93976) - Fix duplicate static files in adapter: [#&#8203;95681](https://github.com/vercel/next.js/issues/95681) - Fix Pages router 404 runtime rendering with Adapter: [#&#8203;95264](https://github.com/vercel/next.js/issues/95264) - request insights: add agent diagnosis access (4/5): [#&#8203;93977](https://github.com/vercel/next.js/issues/93977) - Fork navigation-testing-lock module: [#&#8203;95611](https://github.com/vercel/next.js/issues/95611) - Turbopack: order CSS modules by chunk-group co-occurrence in linearize: [#&#8203;95579](https://github.com/vercel/next.js/issues/95579) - Fix termination handling: [#&#8203;95692](https://github.com/vercel/next.js/issues/95692) - \[turbopack] Switch `make_production_chunks` to use floats: [#&#8203;95749](https://github.com/vercel/next.js/issues/95749) - Improve the NFT error message and ignore comment handling: [#&#8203;95144](https://github.com/vercel/next.js/issues/95144) - request insights: add DevTools request panel (5/5): [#&#8203;93978](https://github.com/vercel/next.js/issues/93978) - \[turbopack] Optimize the implementation of AutoMap/AutoSet : [#&#8203;95694](https://github.com/vercel/next.js/issues/95694) - telemetry: add agentName to anonymous metadata: [#&#8203;95586](https://github.com/vercel/next.js/issues/95586) - Respect NEXT_HASH_SALT for server side assetsHashes: [#&#8203;95738](https://github.com/vercel/next.js/issues/95738) - Support metadata routes in --debug-build-paths: [#&#8203;95788](https://github.com/vercel/next.js/issues/95788) - Only track pending imports for real promises: [#&#8203;95789](https://github.com/vercel/next.js/issues/95789) - Fix cache warming and static params for metadata images with top-level await: [#&#8203;95790](https://github.com/vercel/next.js/issues/95790) - Preserve init errors from async route modules: [#&#8203;95799](https://github.com/vercel/next.js/issues/95799) - Fix Request Insights subscription initialization: [#&#8203;95794](https://github.com/vercel/next.js/issues/95794) - Add more realistic bench fixtures: [#&#8203;95807](https://github.com/vercel/next.js/issues/95807) - \[Bench] Extend bench app to have realistic client chunk counts: [#&#8203;95814](https://github.com/vercel/next.js/issues/95814) - Replay same-document traversals that happen before hydration: [#&#8203;95682](https://github.com/vercel/next.js/issues/95682) - \[turbopack] Tell agents not to mention next.config.js options: [#&#8203;95825](https://github.com/vercel/next.js/issues/95825) - Exclude stale under 5 minutes from app shells: [#&#8203;95833](https://github.com/vercel/next.js/issues/95833) - \[turbopack] Generate component chunks for each merged group to increase cache hits: [#&#8203;95261](https://github.com/vercel/next.js/issues/95261) - Turbopack: trace externals imported only by server actions: [#&#8203;95824](https://github.com/vercel/next.js/issues/95824) - \[turbopack] Create a shared asset with browser runtime code: [#&#8203;94586](https://github.com/vercel/next.js/issues/94586) - \[turbopack] Create a `chunk_group_bootstrap_params()` function: [#&#8203;94631](https://github.com/vercel/next.js/issues/94631) - \[turbopack] Add `inline_chunk_group_bootstrap` to `BrowserChunkingContext` and `chunk_group_bootstrap_params` to `ChunkGroupResult`: [#&#8203;94661](https://github.com/vercel/next.js/issues/94661) - \[turbopack] Add `registerEntry()` to handle inline bootstrapping: [#&#8203;94664](https://github.com/vercel/next.js/issues/94664) - \[turbopack] Add `chunk_group_bootstrap_params` and the chunk-loading global to the build manifest: [#&#8203;94663](https://github.com/vercel/next.js/issues/94663) - \[turbopack] Inline the chunk group bootstrap in Next.js to drop the per-route runtime: [#&#8203;94666](https://github.com/vercel/next.js/issues/94666) - \[turbopack] Only ship pages-router routes in the client chunk-group bootstrap manifest: [#&#8203;94671](https://github.com/vercel/next.js/issues/94671) - Revert "Replay same-document traversals that happen before hydration": [#&#8203;95853](https://github.com/vercel/next.js/issues/95853) - Fix Request Insights span collection: [#&#8203;95818](https://github.com/vercel/next.js/issues/95818) - Unify appShells flag with Partial Prefetching: [#&#8203;95415](https://github.com/vercel/next.js/issues/95415) - Fix repeated navigations while the Instant Navigation lock is held: [#&#8203;95864](https://github.com/vercel/next.js/issues/95864) - fix(agent-rules): pad managed AGENTS.md block with blank lines: [#&#8203;95892](https://github.com/vercel/next.js/issues/95892) - \[turbopack] Don't SSR on pages only navigated to through a soft nav: [#&#8203;95539](https://github.com/vercel/next.js/issues/95539) - \[turbopack] Clean up `server_chunking_context`: [#&#8203;95908](https://github.com/vercel/next.js/issues/95908) - Fix Rust doctest failures: [#&#8203;95909](https://github.com/vercel/next.js/issues/95909) - \[instant] Let dev-server requests bypass the fetch lock: [#&#8203;95761](https://github.com/vercel/next.js/issues/95761) - Move immutable static assets config option out of experimental: [#&#8203;95351](https://github.com/vercel/next.js/issues/95351) - Move outputHashSalt out of experimental: [#&#8203;95840](https://github.com/vercel/next.js/issues/95840) - fix(cms-contentful): await draftMode() and use Promise<> params type: [#&#8203;95631](https://github.com/vercel/next.js/issues/95631) - Turbopack: Simplify parent directory creation retry loop logic: [#&#8203;95835](https://github.com/vercel/next.js/issues/95835) - \[turbopack] Drop unused exports from a CJS module: [#&#8203;95716](https://github.com/vercel/next.js/issues/95716) - \[turbopack] Skip redundant top-level root updates: [#&#8203;95903](https://github.com/vercel/next.js/issues/95903) - cna: use LayoutProps helper in TS layout templates: [#&#8203;95675](https://github.com/vercel/next.js/issues/95675) - \[turbopack] Rename `turbopackTreeShaking` to `turbopackModuleFragments`: [#&#8203;95978](https://github.com/vercel/next.js/issues/95978) - Fix instant validation blocking navigations: [#&#8203;95939](https://github.com/vercel/next.js/issues/95939) - Prevent unhandled rejections when a "use cache" cache handler errors: [#&#8203;95985](https://github.com/vercel/next.js/issues/95985) - Insights: use a single Learn more link in console errors: [#&#8203;95967](https://github.com/vercel/next.js/issues/95967) - Preserve basePath in redirect destinations: [#&#8203;95608](https://github.com/vercel/next.js/issues/95608) - fix(next/image): improve performance of detectContentType() : [#&#8203;96006](https://github.com/vercel/next.js/issues/96006) - Validate server reference IDs during manifest lookup: [#&#8203;96007](https://github.com/vercel/next.js/issues/96007) - fix(incremental-cache): byte-exact fetch cache key for binary bodies: [#&#8203;96008](https://github.com/vercel/next.js/issues/96008) - fix(fetch-cache): key fetch(Request, init) by the effective request: [#&#8203;96009](https://github.com/vercel/next.js/issues/96009) - Ensure exotic rewrite param values are properly encoded: [#&#8203;96010](https://github.com/vercel/next.js/issues/96010) - Set correct origin for internal redirects in custom server: [#&#8203;96011](https://github.com/vercel/next.js/issues/96011) - Enforce `serverActions.bodySizeLimit` for Server Actions in Edge runtime: [#&#8203;96012](https://github.com/vercel/next.js/issues/96012) - Improve performance of validating MPA form submissions: [#&#8203;96013](https://github.com/vercel/next.js/issues/96013) - Fix Turbopack middleware matcher with i18n single locale: [#&#8203;96014](https://github.com/vercel/next.js/issues/96014) - \[turbopack] Tree-shake CJS exports that use the `Object.defineProperty` syntax: [#&#8203;95994](https://github.com/vercel/next.js/issues/95994) - Turbopack: Use `Arc<PathBuf>` for keys in turbo-task-fs's per-path `MutexMap`: [#&#8203;95951](https://github.com/vercel/next.js/issues/95951) - Revert "\[turbopack] Don't SSR on pages only navigated to through a soft nav ([#&#8203;95539](https://github.com/vercel/next.js/issues/95539))": [#&#8203;96028](https://github.com/vercel/next.js/issues/96028) - Turbopack: Fix missing canonicalization of paths and always use verbatim paths internally for Windows: [#&#8203;95668](https://github.com/vercel/next.js/issues/95668) - Turbopack: Remove chunk group id from value of chunk groups map: [#&#8203;95142](https://github.com/vercel/next.js/issues/95142) - Fix basePath fallback parameter parsing: [#&#8203;95966](https://github.com/vercel/next.js/issues/95966) - Emit the static paths HMR update after updating the cache: [#&#8203;96019](https://github.com/vercel/next.js/issues/96019) - Add a dedicated HMR message for static params changes: [#&#8203;96020](https://github.com/vercel/next.js/issues/96020) - Fix stale dev `'use cache'` for cookieless requests and route handlers: [#&#8203;96022](https://github.com/vercel/next.js/issues/96022) - fix: cache miss in App Shell for cached pages with gSP: [#&#8203;95665](https://github.com/vercel/next.js/issues/95665) - Turbopack: stop copying sourcesContent into every serialized source map: [#&#8203;95934](https://github.com/vercel/next.js/issues/95934) - \[turbopack] Fix deployment skew protection for component chunks: [#&#8203;96079](https://github.com/vercel/next.js/issues/96079) - Gate `partialFallback` behavior behind `partialPrefetching` flag: [#&#8203;96074](https://github.com/vercel/next.js/issues/96074) - \[Cache Components] Exclude dynamic params from prerenders when no generateStaticParams values is provided: [#&#8203;95872](https://github.com/vercel/next.js/issues/95872) - Turbopack: Use `swc_core::ecma::utils::prop_name_eq` for a couple of the `next-custom-transforms`: [#&#8203;96035](https://github.com/vercel/next.js/issues/96035) - Turbopack: Use Arc<PathMap> and Box<Path> to make InvalidatorMap slightly more efficient: [#&#8203;95987](https://github.com/vercel/next.js/issues/95987) - Turbopack: Split up turbo-tasks-fs/src/lib.rs into smaller modules: [#&#8203;96030](https://github.com/vercel/next.js/issues/96030) - \[Bench] Add client-trace attribution pass and document metrics to render-pipeline: [#&#8203;95828](https://github.com/vercel/next.js/issues/95828) - Rewrite edge server source map sources in Rust, drop JS fallback: [#&#8203;95980](https://github.com/vercel/next.js/issues/95980) - fix(next/font/google): bound Google Fonts fetch timeout on Turbopack: [#&#8203;95981](https://github.com/vercel/next.js/issues/95981) - Restore partial fallback shell upgrade coverage: [#&#8203;96096](https://github.com/vercel/next.js/issues/96096) - Remove inert experimental.viewTransition flag: [#&#8203;96098](https://github.com/vercel/next.js/issues/96098) - Turbopack: Refactor watcher event handling and batching logic: [#&#8203;96087](https://github.com/vercel/next.js/issues/96087) - Turbopack: Very minor improvements for watcher loop: [#&#8203;96103](https://github.com/vercel/next.js/issues/96103) - \[turbopack] Track re-exports in `import_usage` inside of `compute_import_usage`: [#&#8203;95989](https://github.com/vercel/next.js/issues/95989) - \[RSC HMR] Fix a flurry of refetches when a editing component imported from many routes: [#&#8203;96102](https://github.com/vercel/next.js/issues/96102) - Return plain text 404 for non-document requests to unknown paths: [#&#8203;95930](https://github.com/vercel/next.js/issues/95930) - \[turbopack] Track usage of modules imported with `require()`: [#&#8203;95717](https://github.com/vercel/next.js/issues/95717) - \[turbopack] Drop dead `require()` calls: [#&#8203;95718](https://github.com/vercel/next.js/issues/95718) - \[turbopack] Import Webpack's tests for tree-shaking: [#&#8203;95811](https://github.com/vercel/next.js/issues/95811) - \[ts-plugin] Preserve TypeScript quick info metadata: [#&#8203;95863](https://github.com/vercel/next.js/issues/95863) - Optimize app page entry analysis: [#&#8203;96058](https://github.com/vercel/next.js/issues/96058) - Include additional prerender metadata about build-time routes: [#&#8203;96080](https://github.com/vercel/next.js/issues/96080) - Keep VaryPath monomorphic by making isRootParam required: [#&#8203;96122](https://github.com/vercel/next.js/issues/96122) - Make reifyRouteTree object literals match the canonical RouteTree key order: [#&#8203;96162](https://github.com/vercel/next.js/issues/96162) - Keep optimistic-route param handling monomorphic: [#&#8203;96169](https://github.com/vercel/next.js/issues/96169) - \[sourcemaps] Use file: sourcemaps for Turbopack to improve dev performance: [#&#8203;95946](https://github.com/vercel/next.js/issues/95946) - Avoid quadratic HMR queue shifts: [#&#8203;96137](https://github.com/vercel/next.js/issues/96137) - Optimize implicit cache tag derivation: [#&#8203;96120](https://github.com/vercel/next.js/issues/96120) - Forward dev invalid dynamic usage errors from the render, not validation: [#&#8203;96148](https://github.com/vercel/next.js/issues/96148) - \[refactor] Model dev validation render outputs as a discriminated union: [#&#8203;96149](https://github.com/vercel/next.js/issues/96149) - Add the `experimental.devValidationWorker` config flag: [#&#8203;96150](https://github.com/vercel/next.js/issues/96150) - \[refactor] Prepare dev validation for running on a worker thread: [#&#8203;96151](https://github.com/vercel/next.js/issues/96151) - Run Cache Components dev validation on a worker thread: [#&#8203;96153](https://github.com/vercel/next.js/issues/96153) - fix: release compression stream when client disconnects mid-response: [#&#8203;96173](https://github.com/vercel/next.js/issues/96173) - \[sourcemaps] Reuse source map payloads and consumers across stack frames: [#&#8203;96198](https://github.com/vercel/next.js/issues/96198) - Pass fallback params to the dev validation worker as maps: [#&#8203;96210](https://github.com/vercel/next.js/issues/96210) - Retry the source map lookup with a plain path: [#&#8203;96215](https://github.com/vercel/next.js/issues/96215) - Read chunk source maps from disk in the dev validation worker: [#&#8203;96218](https://github.com/vercel/next.js/issues/96218) - Run dev validation in process when using Webpack: [#&#8203;96219](https://github.com/vercel/next.js/issues/96219) - Fix dev overlay symbolication for project paths needing percent-encoding: [#&#8203;96221](https://github.com/vercel/next.js/issues/96221) - fix(sandbox): release one-shot timeout ids after they run: [#&#8203;96161](https://github.com/vercel/next.js/issues/96161) - Turbopack: support import.meta.glob caseSensitive option: [#&#8203;96226](https://github.com/vercel/next.js/issues/96226) - Add shell offset to static segment prefetches: [#&#8203;95963](https://github.com/vercel/next.js/issues/95963) - \[turbopack] Fix de-opt in getChunkRelativeUrl(): [#&#8203;96183](https://github.com/vercel/next.js/issues/96183) - \[turbopack] Tree-shake `module.exports = {...}` (CJS): [#&#8203;95996](https://github.com/vercel/next.js/issues/95996) - Add Instant Insights request timing: [#&#8203;95958](https://github.com/vercel/next.js/issues/95958) - Track whether runtime data is accessed during prefetch: [#&#8203;95964](https://github.com/vercel/next.js/issues/95964) - Update vendored `@mswjs/interceptors` to 0.41.9: [#&#8203;96059](https://github.com/vercel/next.js/issues/96059) - Replace vendored `http-proxy` with `httpxy`: [#&#8203;96060](https://github.com/vercel/next.js/issues/96060) - Turbopack: Store watcher batch state with bitflags instead of 4 different sets: [#&#8203;96114](https://github.com/vercel/next.js/issues/96114) - Turbopack: Only extend the watcher's batch window for unfiltered events: [#&#8203;96186](https://github.com/vercel/next.js/issues/96186) - Serve cached misses from the filesystem route cache: [#&#8203;96230](https://github.com/vercel/next.js/issues/96230) - Use a safe clock for Request Insights bookkeeping: [#&#8203;96274](https://github.com/vercel/next.js/issues/96274) - Block prefetch task until sufficient response is received: [#&#8203;96017](https://github.com/vercel/next.js/issues/96017) - Attempt static prefetch before resorting to runtime: [#&#8203;96095](https://github.com/vercel/next.js/issues/96095) - Unify allow-runtime with Partial Prefetching: [#&#8203;96106](https://github.com/vercel/next.js/issues/96106) - Add option to control dev memory threshold restarts: [#&#8203;96144](https://github.com/vercel/next.js/issues/96144) - feat(turbopack): support import.meta.env: [#&#8203;96225](https://github.com/vercel/next.js/issues/96225) - fix(next/image): improve test coverage for unsupported image types: [#&#8203;96301](https://github.com/vercel/next.js/issues/96301) - Add local Request Insights span tracing: [#&#8203;96275](https://github.com/vercel/next.js/issues/96275) - Add Instant Insights pipeline spans: [#&#8203;95961](https://github.com/vercel/next.js/issues/95961) - Persist Request Insights display settings: [#&#8203;96277](https://github.com/vercel/next.js/issues/96277) - \[turbopack] Treat `Object.defineProperty(exports, …, { value: … })` as side-effect free: [#&#8203;96273](https://github.com/vercel/next.js/issues/96273) - Fix Turbopack worker URL context lookup: [#&#8203;96307](https://github.com/vercel/next.js/issues/96307) - Return 200 for client-handled Server Action redirects: [#&#8203;96310](https://github.com/vercel/next.js/issues/96310) - Revert "\[turbopack] Track re-exports in `import_usage` inside of `compute_import_usage`": [#&#8203;96311](https://github.com/vercel/next.js/issues/96311) - Improve root detection to handle worktrees, more workspaces & stray lockfiles: [#&#8203;96159](https://github.com/vercel/next.js/issues/96159) - Turbopack: aggregate server HMR into one subscription: [#&#8203;94948](https://github.com/vercel/next.js/issues/94948) - Turbopack: extract chunk list version/update into turbopack-ecmascript: [#&#8203;95661](https://github.com/vercel/next.js/issues/95661) - Turbopack HMR: extract deferring build messages and use it in server hmr: [#&#8203;95795](https://github.com/vercel/next.js/issues/95795) - Turbopack server hmr: avoid complete `clear` on graph changes: [#&#8203;95546](https://github.com/vercel/next.js/issues/95546) - \[turbopack] Remove loader calls for dropped dynamic imports: [#&#8203;96284](https://github.com/vercel/next.js/issues/96284) - Revert "Revert "\[turbopack] Track re-exports in `import_usage` inside of `compute_import_usage`"": [#&#8203;96315](https://github.com/vercel/next.js/issues/96315) - Restore comments dropped during a refactor: [#&#8203;96324](https://github.com/vercel/next.js/issues/96324) - \[turbopack] Tree shake w/ `bar['foo']` syntax for star imports: [#&#8203;96319](https://github.com/vercel/next.js/issues/96319) - Cache immutable current task IDs outside the task-state lock: [#&#8203;96180](https://github.com/vercel/next.js/issues/96180) - Gate partial fallback shell upgrades behind `partialPrefetching` for `next start`: [#&#8203;96297](https://github.com/vercel/next.js/issues/96297) - Make retry stop when the time it was given is up: [#&#8203;96354](https://github.com/vercel/next.js/issues/96354) - Share Ecmascript HMR chunk versioning, diffing, and merging between browser and node: [#&#8203;96325](https://github.com/vercel/next.js/issues/96325) - Ensure unique resolved `headers()` value between render passes: [#&#8203;96085](https://github.com/vercel/next.js/issues/96085) - Fix PPR rendering for configured HTML bots: [#&#8203;96364](https://github.com/vercel/next.js/issues/96364) - \[fragment-scroll] Stop blurring on navigations: [#&#8203;96113](https://github.com/vercel/next.js/issues/96113) - \[Instant] Point to first blocking await in validation: [#&#8203;96343](https://github.com/vercel/next.js/issues/96343) - Skip reader task locking for immutable Turbo Tasks reads: [#&#8203;96179](https://github.com/vercel/next.js/issues/96179) - Fix empty Fragment scroll ownership: [#&#8203;96342](https://github.com/vercel/next.js/issues/96342) - fix(create-next-app): make AGENTS.md blue: [#&#8203;95432](https://github.com/vercel/next.js/issues/95432) - fix: respect `htmlLimitedBots` in cache components without buffering the full response: [#&#8203;96367](https://github.com/vercel/next.js/issues/96367) - Remove obsolete shouldWaitOnAllReady render option: [#&#8203;96401](https://github.com/vercel/next.js/issues/96401) - Update Rust toolchain to nightly-2026-07-29: [#&#8203;96365](https://github.com/vercel/next.js/issues/96365) - \[turbopack] Keep track of components of the remainder chunk: [#&#8203;96409](https://github.com/vercel/next.js/issues/96409) - \[turbopack] Respect `sideEffects` in a `package.json` file with `optimizePackageImports`: [#&#8203;96383](https://github.com/vercel/next.js/issues/96383) - Fix `isHeadPartial` when hydrating from a static fallback shell: [#&#8203;96400](https://github.com/vercel/next.js/issues/96400) - \[turbopack] add `experimental.turbopackChunking` config: [#&#8203;96398](https://github.com/vercel/next.js/issues/96398) - Update [@&#8203;types/react](https://github.com/types/react) and [@&#8203;types/react-dom](https://github.com/types/react-dom) to latest: [#&#8203;96419](https://github.com/vercel/next.js/issues/96419) - Fix adapter outputs for not-found routes when used with cache components: [#&#8203;96390](https://github.com/vercel/next.js/issues/96390) - Consolidate unhandled rejection logging into a single listener: [#&#8203;95999](https://github.com/vercel/next.js/issues/95999) - Enable turbopackFileSystemCacheForBuild by default: [#&#8203;96395](https://github.com/vercel/next.js/issues/96395) - \[turbopack] Fix component chunks for workers: [#&#8203;96432](https://github.com/vercel/next.js/issues/96432) - Fix hybrid Pages/App Router not-found rendering with adapters: [#&#8203;96392](https://github.com/vercel/next.js/issues/96392) - Warn that `experimental.useCache` is deprecated: [#&#8203;96448](https://github.com/vercel/next.js/issues/96448) - Enable Turbopack build filesystem cache by default: [#&#8203;96493](https://github.com/vercel/next.js/issues/96493) - \[Cache] Make caches error if called after prerender aborts: [#&#8203;96426](https://github.com/vercel/next.js/issues/96426) - Fix App Router scroll padding visibility: [#&#8203;96308](https://github.com/vercel/next.js/issues/96308) - Enable TypeScript CLI by default: [#&#8203;96497](https://github.com/vercel/next.js/issues/96497) - fix: double fragment on navigation: [#&#8203;93132](https://github.com/vercel/next.js/issues/93132) - Remove implicit Partial Prefetching opt-in from `instant`: [#&#8203;96539](https://github.com/vercel/next.js/issues/96539) ##### Documentation Changes - docs: fix broken Activity Patterns demo link in preserving UI state guide: [#&#8203;91698](https://github.com/vercel/next.js/issues/91698) - docs: post release amends: [#&#8203;91715](https://github.com/vercel/next.js/issues/91715) - docs: use ErrorInfo type consistently in catchError docs: [#&#8203;91744](https://github.com/vercel/next.js/issues/91744) - docs: add catchError benefits over userspace error boundaries: [#&#8203;91745](https://github.com/vercel/next.js/issues/91745) - docs: platform portability and infrastructure documentation: [#&#8203;91237](https://github.com/vercel/next.js/issues/91237) - docs: add verified adapters section: [#&#8203;91849](https://github.com/vercel/next.js/issues/91849) - docs: document CSS decimal precision difference between Turbopack and webpack: [#&#8203;91909](https://github.com/vercel/next.js/issues/91909) - \[Docs] Rewrite agent rules to match bundled doc wording: [#&#8203;91995](https://github.com/vercel/next.js/issues/91995) - docs: opengraph-image papercuts: [#&#8203;92018](https://github.com/vercel/next.js/issues/92018) - Update revalidateTag examples to use the new two-argument signature: [#&#8203;92065](https://github.com/vercel/next.js/issues/92065) - docs: clarify that `use cache` requires async functions: [#&#8203;92101](https://github.com/vercel/next.js/issues/92101) - Move expanded adapters docs to API reference: [#&#8203;92115](https://github.com/vercel/next.js/issues/92115) - docs: add middleware bypass note to CDN caching guide: [#&#8203;92132](https://github.com/vercel/next.js/issues/92132) - docs: document revalidateTag's required second argument in upgrade guide: [#&#8203;92134](https://github.com/vercel/next.js/issues/92134) - docs: local images referenced by remote source: [#&#8203;92178](https://github.com/vercel/next.js/issues/92178) - docs: clarify id, filePath, and pathname in STATIC_FILE adapter output: [#&#8203;92227](https://github.com/vercel/next.js/issues/92227) - Docs/adapters review: [#&#8203;92223](https://github.com/vercel/next.js/issues/92223) - docs: vt demo guide: [#&#8203;92249](https://github.com/vercel/next.js/issues/92249) - docs: Ask AI agents to self-identify themselves in PR descriptions: [#&#8203;92235](https://github.com/vercel/next.js/issues/92235) - docs: add deploy tests documentation to contributing guide: [#&#8203;92388](https://github.com/vercel/next.js/issues/92388) - docs: clarify that proxy/middleware matches static assets by default: [#&#8203;92441](https://github.com/vercel/next.js/issues/92441) - docs: clarify serverless runtime behavior for use cache: [#&#8203;92232](https://github.com/vercel/next.js/issues/92232) - docs: add note on React canary version to View transitions guide: [#&#8203;92315](https://github.com/vercel/next.js/issues/92315) - docs: note PPR default in cacheComponents reference: [#&#8203;92378](https://github.com/vercel/next.js/issues/92378) - docs: instant-navs draft, samples for build validation: [#&#8203;91850](https://github.com/vercel/next.js/issues/91850) - docs: add middleware.mdx deprecation stub for discoverability: [#&#8203;92281](https://github.com/vercel/next.js/issues/92281) - docs: improve blocking-route error page for params discoverability: [#&#8203;92359](https://github.com/vercel/next.js/issues/92359) - docs: clarify cacheLife() cannot be called at module scope: [#&#8203;92326](https://github.com/vercel/next.js/issues/92326) - docs: add note on installing `server-only` in data security guide: [#&#8203;92445](https://github.com/vercel/next.js/issues/92445) - fix: replace docs/canary links with stable docs paths in error messages: [#&#8203;92528](https://github.com/vercel/next.js/issues/92528) - docs: update details about `unstable_retry()` behavior: [#&#8203;91827](https://github.com/vercel/next.js/issues/91827) - docs: link updateTag from cacheTag reference: [#&#8203;92379](https://github.com/vercel/next.js/issues/92379) - Docs: Instant docs updates: [#&#8203;92515](https://github.com/vercel/next.js/issues/92515) - docs: native db drivers with sync queries: [#&#8203;92572](https://github.com/vercel/next.js/issues/92572) - docs: add Link transitionTypes version history: [#&#8203;92624](https://github.com/vercel/next.js/issues/92624) - docs(cli): clarify that `--debug-build-paths` requires route group folders in paths: [#&#8203;92618](https://github.com/vercel/next.js/issues/92618) - docs: fix broken bun.sh Nextjs documentation link: [#&#8203;92698](https://github.com/vercel/next.js/issues/92698) - docs: add migration note for experimental cache flags to cacheComponents: [#&#8203;92318](https://github.com/vercel/next.js/issues/92318) - docs: draftMode alignment: [#&#8203;92794](https://github.com/vercel/next.js/issues/92794) - docs: restructure instant nav guide for clarity: [#&#8203;92684](https://github.com/vercel/next.js/issues/92684) - docs: add documentation for no-typos ESLint rule: [#&#8203;92809](https://github.com/vercel/next.js/issues/92809) - docs: amends to preserving-ui-state guide: [#&#8203;92270](https://github.com/vercel/next.js/issues/92270) - docs: link Activity guide from Cache Components migration guide: [#&#8203;92571](https://github.com/vercel/next.js/issues/92571) - docs: add guide for displaying dates without hydration flash: [#&#8203;92786](https://github.com/vercel/next.js/issues/92786) - chore: remote apps/docs: [#&#8203;93041](https://github.com/vercel/next.js/issues/93041) - Docs: add signed commit guidance: [#&#8203;93155](https://github.com/vercel/next.js/issues/93155) - Turbopack: import.meta.glob docs + edge case support: [#&#8203;92729](https://github.com/vercel/next.js/issues/92729) - docs: remove broken error-handling overlay screenshot: [#&#8203;93279](https://github.com/vercel/next.js/issues/93279) - docs: clarify rendering flow in Server/Client interleaving example: [#&#8203;93381](https://github.com/vercel/next.js/issues/93381) - docs: clarify proxy runtime history: [#&#8203;93467](https://github.com/vercel/next.js/issues/93467) - Update `unstable_prefetch` and `unstable_instant` docs to reflect current API shape: [#&#8203;93514](https://github.com/vercel/next.js/issues/93514) - docs: remove unreachable forms and mutations: [#&#8203;93509](https://github.com/vercel/next.js/issues/93509) - docs: broken link from usePathname compat call out: [#&#8203;93528](https://github.com/vercel/next.js/issues/93528) - docs: escape literal triple-backticks in contribution guide: [#&#8203;93584](https://github.com/vercel/next.js/issues/93584) - docs: clarify cacheTag limit - it is per call: [#&#8203;93768](https://github.com/vercel/next.js/issues/93768) - docs: devIndicators with usage example: [#&#8203;93784](https://github.com/vercel/next.js/issues/93784) - docs: less aggressive AI agent hint for an experimental API: [#&#8203;93811](https://github.com/vercel/next.js/issues/93811) - docs: fix typos and links: [#&#8203;92541](https://github.com/vercel/next.js/issues/92541) - docs: less aggressive AI agent hint for an experimental API: [#&#8203;93814](https://github.com/vercel/next.js/issues/93814) - docs: update agent test guidance: [#&#8203;93924](https://github.com/vercel/next.js/issues/93924) - docs: instrumentationClientInject: [#&#8203;93913](https://github.com/vercel/next.js/issues/93913) - docs: vocabulary-bridge rule for api-ref and guide skills: [#&#8203;94127](https://github.com/vercel/next.js/issues/94127) - docs: rework dynamic segments intro section: [#&#8203;94126](https://github.com/vercel/next.js/issues/94126) - docs: add next/root-params API reference: [#&#8203;93764](https://github.com/vercel/next.js/issues/93764) - docs: ISR w/ Cache Components - `experimental.partialFallbacks`: [#&#8203;93299](https://github.com/vercel/next.js/issues/93299) - docs: transpilePackages usage: [#&#8203;93602](https://github.com/vercel/next.js/issues/93602) - docs: move isr cacheHandler callout to next steps: [#&#8203;94167](https://github.com/vercel/next.js/issues/94167) - docs: fix code examples in getting-started guides: [#&#8203;93273](https://github.com/vercel/next.js/issues/93273) - \[feat] updated the documentation for deployment to point to new next.js Docker official guide.: [#&#8203;94185](https://github.com/vercel/next.js/issues/94185) - docs: correct custom server optimization guidance: [#&#8203;94229](https://github.com/vercel/next.js/issues/94229) - docs: bodySizeLimit measures raw HTTP body: [#&#8203;94137](https://github.com/vercel/next.js/issues/94137) - docs: accuracy and pappercuts: [#&#8203;94299](https://github.com/vercel/next.js/issues/94299) - doc: clarify rewrites execution order: [#&#8203;93765](https://github.com/vercel/next.js/issues/93765) - docs: update draftMode guide: [#&#8203;94155](https://github.com/vercel/next.js/issues/94155) - docs: cached functions from the client: [#&#8203;94301](https://github.com/vercel/next.js/issues/94301) - docs: add GitHub SSH authentication guidance: [#&#8203;94360](https://github.com/vercel/next.js/issues/94360) - docs: document Cache Components behavior for navigation hooks: [#&#8203;94387](https://github.com/vercel/next.js/issues/94387) - instant: prompts on all fix cards, \[group]-tagged CLI bullets, new docs slugs: [#&#8203;94017](https://github.com/vercel/next.js/issues/94017) - docs: fix typos in `testing.md`: [#&#8203;94446](https://github.com/vercel/next.js/issues/94446) - docs: fix typos in contribution guide: [#&#8203;94375](https://github.com/vercel/next.js/issues/94375) - docs: correct wording and casing in turbopack tracing guide: [#&#8203;94469](https://github.com/vercel/next.js/issues/94469) - docs: typos and errors outside docs, error, examples folders: [#&#8203;94472](https://github.com/vercel/next.js/issues/94472) - docs: clarify next-env.d.ts regeneration: [#&#8203;94232](https://github.com/vercel/next.js/issues/94232) - docs: add updateTag example to cacheTag page: [#&#8203;94508](https://github.com/vercel/next.js/issues/94508) - docs: clarify use cache persistence across deploys: [#&#8203;93554](https://github.com/vercel/next.js/issues/93554) - docs: fix onRequestError error type example: [#&#8203;94518](https://github.com/vercel/next.js/issues/94518) - docs: move insight error pages from vercel/front to canary: [#&#8203;94564](https://github.com/vercel/next.js/issues/94564) - \[Docs] Remove unstable_instant agent hints; insights validate by default: [#&#8203;94577](https://github.com/vercel/next.js/issues/94577) - docs: fix 'time zone' spelling in FOUC guide: [#&#8203;93244](https://github.com/vercel/next.js/issues/93244) - docs: add pnpm installation step to module-not-found error page: [#&#8203;93773](https://github.com/vercel/next.js/issues/93773) - instant: polish client-hook overlay wording, cards, and docs links: [#&#8203;94496](https://github.com/vercel/next.js/issues/94496) - docs: root-params highligth fixes: [#&#8203;94620](https://github.com/vercel/next.js/issues/94620) - docs: remove unstable_disableValidation recommendations: [#&#8203;94608](https://github.com/vercel/next.js/issues/94608) - doc: instant navs runtime story: [#&#8203;93204](https://github.com/vercel/next.js/issues/93204) - docs: next/root-params references on i18n guide: [#&#8203;94629](https://github.com/vercel/next.js/issues/94629) - docs: expand the Cache Components migration guide: [#&#8203;94649](https://github.com/vercel/next.js/issues/94649) - docs: document non-streamed bot rendering and Cache Components: [#&#8203;94605](https://github.com/vercel/next.js/issues/94605) - docs: Route Handlers to be supported later on: [#&#8203;94705](https://github.com/vercel/next.js/issues/94705) - \[agents-md] Index bundled docs instead of downloading into .next-docs: [#&#8203;94719](https://github.com/vercel/next.js/issues/94719) - docs: add prefetchInlining config reference: [#&#8203;94650](https://github.com/vercel/next.js/issues/94650) - docs: tighten Partial Prefetching API references and adoption guide: [#&#8203;94818](https://github.com/vercel/next.js/issues/94818) - docs: server actions guide: [#&#8203;93553](https://github.com/vercel/next.js/issues/93553) - docs: fix capitalization of Server and Client Components: [#&#8203;94891](https://github.com/vercel/next.js/issues/94891) - docs: Fix broken link to Node.js Debugging Guide: [#&#8203;93958](https://github.com/vercel/next.js/issues/93958) - docs: fix broken Node.js inspector URL in debugging guide: [#&#8203;94934](https://github.com/vercel/next.js/issues/94934) - docs: clarify sequential data fetching example: [#&#8203;94930](https://github.com/vercel/next.js/issues/94930) - docs: GtK, caching with fetch is opt-in - extended to any method or header included: [#&#8203;94899](https://github.com/vercel/next.js/issues/94899) - docs: fix typo in slot-missing-default.mdx: [#&#8203;94531](https://github.com/vercel/next.js/issues/94531) - docs: Cache components requires Node.js runtime: [#&#8203;94897](https://github.com/vercel/next.js/issues/94897) - docs(authentication): add Auth and streaming, fix code fences and imports: [#&#8203;95056](https://github.com/vercel/next.js/issues/95056) - docs: add Interactive Apps guide: [#&#8203;94020](https://github.com/vercel/next.js/issues/94020) - docs(caching): clarify generateStaticParams prebuild and recommend max for CMS: [#&#8203;95081](https://github.com/vercel/next.js/issues/95081) - docs(cache-components): clarify allow-runtime, sync-IO and instant=false, CLS fallback: [#&#8203;94997](https://github.com/vercel/next.js/issues/94997) - Docs/partial prefetching: [#&#8203;94855](https://github.com/vercel/next.js/issues/94855) - docs(root-params): generateStaticParams section and CC requirement: [#&#8203;95073](https://github.com/vercel/next.js/issues/95073) - docs: server actions guide x-refs: [#&#8203;95143](https://github.com/vercel/next.js/issues/95143) - docs: clarify /\_not-found failures and <html> attribute reads under Cache Components: [#&#8203;95163](https://github.com/vercel/next.js/issues/95163) - docs: expand io reference: [#&#8203;95147](https://github.com/vercel/next.js/issues/95147) - docs: update instant navs guide: [#&#8203;95173](https://github.com/vercel/next.js/issues/95173) - docs: fix preview message typo: [#&#8203;95050](https://github.com/vercel/next.js/issues/95050) - docs(insights): restructure error pages and link to preview docs: [#&#8203;95193](https://github.com/vercel/next.js/issues/95193) - docs(errors): reorder blocking-prerender-dynamic fixes to Stream, Cache, Block: [#&#8203;95198](https://github.com/vercel/next.js/issues/95198) - Add docs for `experimental.turbopackRustReactCompiler`: [#&#8203;95280](https://github.com/vercel/next.js/issues/95280) - docs: remove unnecessary async from rewrites/headers/redirects examples: [#&#8203;95148](https://github.com/vercel/next.js/issues/95148) - docs: Activity bfcacheId and :has caveats: [#&#8203;95275](https://github.com/vercel/next.js/issues/95275) - Instant Navs guide: Highlights fixes and Client Component Page option: [#&#8203;95313](https://github.com/vercel/next.js/issues/95313) - docs: recommend explicit cacheLife and clarify overriding built-in cache profiles: [#&#8203;95311](https://github.com/vercel/next.js/issues/95311) - docs: Update FormEvent to SubmitEvent in form handling example (deprecated in React 19.2.10+): [#&#8203;95453](https://github.com/vercel/next.js/issues/95453) - docs: remove incorrect statement that force-cache is the default for …: [#&#8203;95235](https://github.com/vercel/next.js/issues/95235) - docs: updates to Cache Components Caching: [#&#8203;95452](https://github.com/vercel/next.js/issues/95452) - docs: Fix testing-adapters variable name: [#&#8203;95575](https://github.com/vercel/next.js/issues/95575) - docs: update MCP guides for the thin next-devtools-mcp: [#&#8203;94859](https://github.com/vercel/next.js/issues/94859) - docs(opengraph-image): load assets at module scope to keep route static under Cache Components: [#&#8203;95246](https://github.com/vercel/next.js/issues/95246) - \[docs] Update progressive web apps documentation for new service worker syntax: [#&#8203;95431](https://github.com/vercel/next.js/issues/95431) - \[docs] Update "Handling a Custom `Service Worker`" in the CRA migration docs: [#&#8203;95434](https://github.com/vercel/next.js/issues/95434) - docs: Immutable static assets: [#&#8203;95348](https://github.com/vercel/next.js/issues/95348) - docs: note default error/not-found UI follows OS color scheme, not app theme: [#&#8203;95673](https://github.com/vercel/next.js/issues/95673) - docs: add incremental adoption path to Cache Components migration guide: [#&#8203;95325](https://github.com/vercel/next.js/issues/95325) - docs: add Building guide: [#&#8203;94999](https://github.com/vercel/next.js/issues/94999) - docs: runtime prefetching update: [#&#8203;95564](https://github.com/vercel/next.js/issues/95564) - docs: useSearchParams example stray link: [#&#8203;95759](https://github.com/vercel/next.js/issues/95759) - docs: Improve immutable static docs: [#&#8203;95752](https://github.com/vercel/next.js/issues/95752) - docs: revalidateTag with expire zero, for route handlers: [#&#8203;95760](https://github.com/vercel/next.js/issues/95760) - docs: add route-side URL data audit to the Partial Prefetching adoption guide: [#&#8203;95389](https://github.com/vercel/next.js/issues/95389) - docs: cssChunking graph option: [#&#8203;95693](https://github.com/vercel/next.js/issues/95693) - docs: remove experimental [@&#8203;next/routing](https://github.com/next/routing) note: [#&#8203;94903](https://github.com/vercel/next.js/issues/94903) - docs: add 'Set up your editor' to the installation guide: [#&#8203;95928](https://github.com/vercel/next.js/issues/95928) - docs: clarify layout.js nesting behavior in route groups: [#&#8203;95720](https://github.com/vercel/next.js/issues/95720) - docs: note the `:has()` scaling limit in the Interactive apps guide: [#&#8203;95925](https://github.com/vercel/next.js/issues/95925) - Include examples of static export tools & GitHub Pages template: [#&#8203;95929](https://github.com/vercel/next.js/issues/95929) - docs: fix unstable_cache syntax error: [#&#8203;96002](https://github.com/vercel/next.js/issues/96002) - docs: add upgrade section to installation and expand AI agents guide: [#&#8203;95861](https://github.com/vercel/next.js/issues/95861) - docs: attribute App Shell prefetch to Partial Prefetching: [#&#8203;96003](https://github.com/vercel/next.js/issues/96003) - docs: view transitions guide — skill section, source-audit fixes, flag-removal docs: [#&#8203;96097](https://github.com/vercel/next.js/issues/96097) - docs(view-transitions): fix the skill install command: [#&#8203;96142](https://github.com/vercel/next.js/issues/96142) - docs: reframe prefetching around automatic vs. controllable behavior: [#&#8203;95896](https://github.com/vercel/next.js/issues/95896) - docs: navigation interrupts after streaming has started (notFound, forbidden, unauthorized): [#&#8203;95851](https://github.com/vercel/next.js/issues/95851) - docs: expand and modernize the Single-Page Applications guide: [#&#8203;95860](https://github.com/vercel/next.js/issues/95860) - docs(ai-agents): restructure as steps and close 16.2/16.3 coverage gaps: [#&#8203;96247](https://github.com/vercel/next.js/issues/96247) - docs: document query-only href resolution and fix with-vercel-blob : [#&#8203;96280](https://github.com/vercel/next.js/issues/96280) - doc: typegen for typedRoutes: [#&#8203;96296](https://github.com/vercel/next.js/issues/96296) - docs: clarify instrumentation-client polyfill loading and hydration timing: [#&#8203;95988](https://github.com/vercel/next.js/issues/95988) - docs(interactive-apps): update prefetching for unified runtime prefetching: [#&#8203;96302](https://github.com/vercel/next.js/issues/96302) - docs: add guide and references for experimental.useOffline: [#&#8203;93218](https://github.com/vercel/next.js/issues/93218) - docs: remove PPR adapter page from Pages Router: [#&#8203;96316](https://github.com/vercel/next.js/issues/96316) - docs: Parallel routes, conditional rendering and auth: [#&#8203;96351](https://github.com/vercel/next.js/issues/96351) - docs(preventing-flash): cover reconciling state : [#&#8203;96146](https://github.com/vercel/next.js/issues/96146) - docs: modernize Next 16 upgrade AI guidance: [#&#8203;96314](https://github.com/vercel/next.js/issues/96314) - Update PWA guide with enhanced offline support details and example links for serwist: [#&#8203;96360](https://github.com/vercel/next.js/issues/96360) - docs: document the App Shell stale time threshold for cached content: [#&#8203;96312](https://github.com/vercel/next.js/issues/96312) - \[turbopack] Introduce documentation on `experimental.turbopackChunking`: [#&#8203;96437](https://github.com/vercel/next.js/issues/96437) - docs: ISR with Cache Components and Partial Prefetching: [#&#8203;96526](https://github.com/vercel/next.js/issues/96526) - docs: clarify first-party Skills workflows: [#&#8203;96495](https://github.com/vercel/next.js/issues/96495) - docs: cover direct visits and client navigations in the instant() e2e example: [#&#8203;95803](https://github.com/vercel/next.js/issues/95803) ##### Example Changes - chore(examples): remove `with-styletron` example: [#&#8203;81842](https://github.com/vercel/next.js/issues/81842) - ci: remove deploy examples workflow from build-and-deploy: [#&#8203;92324](https://github.com/vercel/next.js/issues/92324) - example: remove with-supertokens: [#&#8203;93212](https://github.com/vercel/next.js/issues/93212) - \[examples] migrate cloudinary to vercel-blob: [#&#8203;93762](https://github.com/vercel/next.js/issues/93762) - examples/with-ably: update to App Router + Ably v2: [#&#8203;94600](https://github.com/vercel/next.js/issues/94600) - fix: error handling and loading states in with-apollo-and-redux example: [#&#8203;91457](https://github.com/vercel/next.js/issues/91457) - fix: remove deprecated url.parse() from custom-server example: [#&#8203;96105](https://github.com/vercel/next.js/issues/96105) ##### Misc Changes - Add .claude/skills symlink: [#&#8203;91616](https://github.com/vercel/next.js/issues/91616) - Update tokio from 1.43.0 to 1.47.3: [#&#8203;90945](https://github.com/vercel/next.js/issues/90945) - Restructure pr-status-triage skill: merge command into skill files: [#&#8203;91514](https://github.com/vercel/next.js/issues/91514) - \[test] Unflake "infinite streaming fetch" test: [#&#8203;91645](https://github.com/vercel/next.js/issues/91645) - \[test] Unflake `deterministic build - changing deployment id` test: [#&#8203;91646](https://github.com/vercel/next.js/issues/91646) - Skip CI for agent/editor config directory changes: [#&#8203;91622](https://github.com/vercel/next.js/issues/91622) - refactor: extract build infra and alias changes: [#&#8203;90422](https://github.com/vercel/next.js/issues/90422) - ci: add node-stream test coverage workflow: [#&#8203;89861](https://github.com/vercel/next.js/issues/89861) - Update Rspack production test manifest: [#&#8203;91635](https://github.com/vercel/next.js/issues/91635) - \[test] Increase `retry` timeouts for two flaky `app-action` tests: [#&#8203;91647](https://github.com/vercel/next.js/issues/91647) - Revert "ci: add node-stream test coverage workflow ([#&#8203;89861](https://github.com/vercel/next.js/issues/89861))" - \[test] Fix flaky `url-hash` tests: [#&#8203;91649](https://github.com/vercel/next.js/issues/91649) - Add instant validation tests for parallel slot config attribution: [#&#8203;91656](https://github.com/vercel/next.js/issues/91656) - \[test] Unflake rendering indicator test & skip building indicator tests: [#&#8203;91650](https://github.com/vercel/next.js/issues/91650) - \[test] Fix `edge-async-local-storage` deploy test timeout & race condition: [#&#8203;91643](https://github.com/vercel/next.js/issues/91643) - Update Rspack development test manifest: [#&#8203;91695](https://github.com/vercel/next.js/issues/91695) - \[test] Unflake `use-node-streams-env-precedence` test: [#&#8203;91733](https://github.com/vercel/next.js/issues/91733) - Update Rspack production test manifest: [#&#8203;91694](https://github.com/vercel/next.js/issues/91694) - \[test] Unflake app prefetch test: [#&#8203;91734](https://github.com/vercel/next.js/issues/91734) - Upgrade React from `3f0b9e61-20260317` to `8b2e903a-20260320`: [#&#8203;91731](https://github.com/vercel/next.js/issues/91731) - \[ci] Allow "rerun failed jobs" to work up until 5 days: [#&#8203;91825](https://github.com/vercel/next.js/issues/91825) - ci: upload adapter deploy test results: [#&#8203;91846](https://github.com/vercel/next.js/issues/91846) - test: scope css data-url typing to fixture: [#&#8203;91877](https://github.com/vercel/next.js/issues/91877) - ci: only upload adapter results for canary runs: [#&#8203;91881](https://github.com/vercel/next.js/issues/91881) - Perf: Skip turning Set into Array: [#&#8203;91383](https://github.com/vercel/next.js/issues/91383) - Perf: Move chunkloading instrumentation to separate function: [#&#8203;91382](https://github.com/vercel/next.js/issues/91382) - Perf: Use headers object directly in checkIsOnDemandRevalidate: [#&#8203;91381](https://github.com/vercel/next.js/issues/91381) - \[test] Deflake instant-navs-devtools: [#&#8203;91912](https://github.com/vercel/next.js/issues/91912) - test(typed-routes): fix flaky tests by increasing retry timeout: [#&#8203;91923](https://github.com/vercel/next.js/issues/91923) - test(app-basepath): increase waitForElementByCss timeout for hard-nav test: [#&#8203;91920](https://github.com/vercel/next.js/issues/91920) - test(interoperability): increase waitForElementByCss timeout for cross-router navigations: [#&#8203;91918](https://github.com/vercel/next.js/issues/91918) - Upgrade React from `8b2e903a-20260320` to `3cb2c420-20260324`: [#&#8203;91905](https://github.com/vercel/next.js/issues/91905) - Upgrade React from `3cb2c420-20260324` to `9627b5a1-20260327`: [#&#8203;92015](https://github.com/vercel/next.js/issues/92015) - Upgrade React from `9627b5a1-20260327` to `74568e86-20260328`: [#&#8203;92109](https://github.com/vercel/next.js/issues/92109) - ci: relax adapter results upload gate: [#&#8203;92127](https://github.com/vercel/next.js/issues/92127) - \[test] Skip `unstable_dynamicStaleTime` tests due to flakiness: [#&#8203;92162](https://github.com/vercel/next.js/issues/92162) - \[test] Skip flaky `segment-cache-refresh` suite: [#&#8203;92163](https://github.com/vercel/next.js/issues/92163) - Add PPR evals and fix env loading for agent-eval 0.9.5: [#&#8203;92063](https://github.com/vercel/next.js/issues/92063) - Update Rspack development test manifest: [#&#8203;92142](https://github.com/vercel/next.js/issues/92142) - \[test] Skip flaky `cached-navigations` tests: [#&#8203;92199](https://github.com/vercel/next.js/issues/92199) - \[test] Skip flaky `prefetch-layout-sharing` suite: [#&#8203;92198](https://github.com/vercel/next.js/issues/92198) - Add internal header security guideline to AGENTS.md: [#&#8203;92128](https://github.com/vercel/next.js/issues/92128) - Update Rspack production test manifest: [#&#8203;92143](https://github.com/vercel/next.js/issues/92143) - \[test] Deflake `allowed-dev-origins`: [#&#8203;92211](https://github.com/vercel/next.js/issues/92211) - Reapply "ci: add node-stream test coverage workflow ([#&#8203;89861](https://github.com/vercel/next.js/issues/89861))": [#&#8203;91664](https://github.com/vercel/next.js/issues/91664) - Fix pr-status.js: retry on API errors and report timed-out jobs: [#&#8203;92205](https://github.com/vercel/next.js/issues/92205) - Add view transitions eval (agent-043): [#&#8203;92260](https://github.com/vercel/next.js/issues/92260) - ci: fix stats action: [#&#8203;92325](https://github.com/vercel/next.js/issues/92325) - ci: remove deploy examples workflow from build-and-deploy: [#&#8203;92324](https://github.com/vercel/next.js/issues/92324) - Update Rust toolchain to nightly-2026-04-02: [#&#8203;92288](https://github.com/vercel/next.js/issues/92288) - fix: add AGENTS.md at package root for agent discovery: [#&#8203;92376](https://github.com/vercel/next.js/issues/92376) - \[tests]: remove unnecessary skipDeployment flags: [#&#8203;92423](https://github.com/vercel/next.js/issues/92423) - chore: Upgrade to pnpm 10.x: [#&#8203;92283](https://github.com/vercel/next.js/issues/92283) - Bump turborepo from 2.8.11 to 2.9.4: [#&#8203;92425](https://github.com/vercel/next.js/issues/92425) - \[test] Skip flaky `client-cache.parallel-routes` in production and deploy: [#&#8203;92195](https://github.com/vercel/next.js/issues/92195) - scripts/pr-status: add reply-and-resolve-thread command: [#&#8203;92450](https://github.com/vercel/next.js/issues/92450) - \[test] Regenerate checked-in tsconfig.json files: [#&#8203;92455](https://github.com/vercel/next.js/issues/92455) - Adding more system info to the 'initialize project' trace: [#&#8203;92427](https://github.com/vercel/next.js/issues/92427) - CI: Update and cleanup next-stats-action, force using pnpm 10.33.0: [#&#8203;92475](https://github.com/vercel/next.js/issues/92475) - CI: Remove unused dependencies from next-stats-action dockerfile: [#&#8203;92485](https://github.com/vercel/next.js/issues/92485) - Upgrade swc_core 57 -> 58, swc_sourcemap 9 -> 10, swc_plugin_runner 24 -> 25: [#&#8203;91532](https://github.com/vercel/next.js/issues/91532) - perf: use whole_app_module_graph for get_compilation_issues MCP tool: [#&#8203;92473](https://github.com/vercel/next.js/issues/92473) - Update Rspack development test manifest: [#&#8203;92502](https://github.com/vercel/next.js/issues/92502) - Update Rspack production test manifest: [#&#8203;92503](https://github.com/vercel/next.js/issues/92503) - CI: Use pnpm lockfile for next-stats-action: [#&#8203;92488](https://github.com/vercel/next.js/issues/92488) - Bundle skills/ directory into next/dist/skills: [#&#8203;92493](https://github.com/vercel/next.js/issues/92493) - CI: Use minimumReleaseAge in pnpm workspace files: [#&#8203;92480](https://github.com/vercel/next.js/issues/92480) - CI: Fix issue with conflicting 'engines.pnpm' field in next-stats-action: [#&#8203;92533](https://github.com/vercel/next.js/issues/92533) - Exclude use tests from react18 testing: [#&#8203;92542](https://github.com/vercel/next.js/issues/92542) - Fix React18 tests for unstable_io: [#&#8203;92543](https://github.com/vercel/next.js/issues/92543) - Perf: Add fast path to isAbsoluteUrl: [#&#8203;91389](https://github.com/vercel/next.js/issues/91389) - Perf: Don't require watchpack in production: [#&#8203;91387](https://github.com/vercel/next.js/issues/91387) - \[test] Stop using deprecated `target: "es5"` TypeScript compiler option: [#&#8203;92458](https://github.com/vercel/next.js/issues/92458) - Perf: Use charCodeAt in removeTrailingSlash: [#&#8203;91384](https://github.com/vercel/next.js/issues/91384) - Perf: Cache regex in shouldServeStreamingMetadata: [#&#8203;91388](https://github.com/vercel/next.js/issues/91388) - \[test] Ensure incomplete minimum release age isn't propagated to fixture installs: [#&#8203;92568](https://github.com/vercel/next.js/issues/92568) - test: skip .next and other build artifacts in writeFiles filter: [#&#8203;92578](https://github.com/vercel/next.js/issues/92578) - CI: Another attempt to fix pnpm versions for next-stats-action on canary: [#&#8203;92550](https://github.com/vercel/next.js/issues/92550) - test: reduce writeToDisk memory test iterations to fix CI timeout: [#&#8203;92586](https://github.com/vercel/next.js/issues/92586) - Refactor effects system: dedup/conflict detection, simplified Effect trait: [#&#8203;92300](https://github.com/vercel/next.js/issues/92300) - fix(ci): improve Docker image cache streaming throughput and arch-awareness: [#&#8203;92617](https://github.com/vercel/next.js/issues/92617) - CI: Download and run self-contained datadog-ci instead of using pnpm dlx or npx: [#&#8203;92546](https://github.com/vercel/next.js/issues/92546) - Bump swc to 63.1.1: [#&#8203;92604](https://github.com/vercel/next.js/issues/92604) - chore(turbopack): upgrade qfiler to v0.3.0-alpha.4: [#&#8203;92558](https://github.com/vercel/next.js/issues/92558) - refactor: write pages router export files directly to server/pages/: [#&#8203;90018](https://github.com/vercel/next.js/issues/90018) - fix(ci): improve Docker image caching and native build skip optimization: [#&#8203;92633](https://github.com/vercel/next.js/issues/92633) - Perf: Only instrument clientComponentLoadTimes when used: [#&#8203;91385](https://github.com/vercel/next.js/issues/91385) - Update font data: [#&#8203;92704](https://github.com/vercel/next.js/issues/92704) - \[test] Stop using `baseUrl`: [#&#8203;92469](https://github.com/vercel/next.js/issues/92469) - bench: improve render pipeline benchmark reliability: [#&#8203;92715](https://github.com/vercel/next.js/issues/92715) - bench: add A/B branch comparison workflow to BENCHMARKING.md: [#&#8203;92721](https://github.com/vercel/next.js/issues/92721) - test: use Turborepo pack task for test isolation: [#&#8203;92575](https://github.com/vercel/next.js/issues/92575) - chore: Bump reqwest to 0.13.2: [#&#8203;92713](https://github.com/vercel/next.js/issues/92713) - Upgrade React from `404b38c7-20260408` to `fef12a01-20260413`: [#&#8203;92728](https://github.com/vercel/next.js/issues/92728) - Revert "refactor: write pages router export files directly to server/pages/": [#&#8203;92733](https://github.com/vercel/next.js/issues/92733) - Re-enable sccache: [#&#8203;92746](https://github.com/vercel/next.js/issues/92746) - chore: Use from_raw_parts for ResolvedVc::deref_vec and ResolvedVc::deref_slice: [#&#8203;92749](https://github.com/vercel/next.js/issues/92749) - Pin upload-artifact to v7.0.1 and download-artifact to v8.0.1: [#&#8203;92757](https://github.com/vercel/next.js/issues/92757) - Fix swc wasm test on canary: [#&#8203;92738](https://github.com/vercel/next.js/issues/92738) - Bump TypeScript to 6.0: [#&#8203;91257](https://github.com/vercel/next.js/issues/91257) - test: Add tests for client reference side effects: [#&#8203;92774](https://github.com/vercel/next.js/issues/92774) - refactor: remove ClientFileLogger, consolidate file logging into handleLog: [#&#8203;92329](https://github.com/vercel/next.js/issues/92329) - pr-status: Show all participants in review thread overview: [#&#8203;92730](https://github.com/vercel/next.js/issues/92730) - Perf: Fast path for trace() when opentelemetry is not enabled: [#&#8203;92678](https://github.com/vercel/next.js/issues/92678) - Share native binaries via GitHub artifacts: [#&#8203;92758](https://github.com/vercel/next.js/issues/92758) - \[ci] Skip sccache on Windows runners: [#&#8203;92847](https://github.com/vercel/next.js/issues/92847) - Update Rspack production test manifest: [#&#8203;92674](https://github.com/vercel/next.js/issues/92674) - Update Rspack development test manifest: [#&#8203;92673](https://github.com/vercel/next.js/issues/92673) - \[ci]: add workflow to bump canary after backport: [#&#8203;92801](https://github.com/vercel/next.js/issues/92801) - \[ci] Skip Playwright system deps install on subsequent self-hosted runs: [#&#8203;92893](https://github.com/vercel/next.js/issues/92893) - CI: Remove dead yarn support from next-stats-action: [#&#8203;92587](https://github.com/vercel/next.js/issues/92587) - \[ci] Cache passing test results so CI retries skip them: [#&#8203;92832](https://github.com/vercel/next.js/issues/92832) - fix accidental test duplication: [#&#8203;92922](https://github.com/vercel/next.js/issues/92922) - Refactor trace server sort to SortMode enum (execution order / value / name): [#&#8203;92873](https://github.com/vercel/next.js/issues/92873) - Perf: Simplify static metadata handling: [#&#8203;92630](https://github.com/vercel/next.js/issues/92630) - \[ci]: fix backport sync script: [#&#8203;92942](https://github.com/vercel/next.js/issues/92942) - Fix flake in rewrites-manual-href-as test: [#&#8203;92948](https://github.com/vercel/next.js/issues/92948) - CI: Track SWC native binary size in PR stats comment: [#&#8203;92938](https://github.com/vercel/next.js/issues/92938) - chore: Prune list of users in labeler json: [#&#8203;92984](https://github.com/vercel/next.js/issues/92984) - \[test] Deflake `shallow-routing`: [#&#8203;93006](https://github.com/vercel/next.js/issues/93006) - New ESLint rule: `no-location-assign-relative-destination`: [#&#8203;92900](https://github.com/vercel/next.js/issues/92900) - Upgrade React from `fef12a01-20260413` to `da9325b5-20260417`: [#&#8203;92945](https://github.com/vercel/next.js/issues/92945) - \[ci]: remove unused workflow: [#&#8203;93064](https://github.com/vercel/next.js/issues/93064) - \[ci]: remove publish token in favor of OIDC: [#&#8203;93065](https://github.com/vercel/next.js/issues/93065) - Update Rspack development test manifest: [#&#8203;92959](https://github.com/vercel/next.js/issues/92959) - \[ci] Temporary disable of sccache: [#&#8203;93074](https://github.com/vercel/next.js/issues/93074) - Auto-generate AGENTS.md / CLAUDE.md in next dev: [#&#8203;92910](https://github.com/vercel/next.js/issues/92910) - \[ci]: add environment to publishRelease flow: [#&#8203;93093](https://github.com/vercel/next.js/issues/93093) - Adopt pnpm catalogs for devDependencies: [#&#8203;93071](https://github.com/vercel/next.js/issues/93071) - rage-restart followup: [#&#8203;92591](https://github.com/vercel/next.js/issues/92591) - Collapse pnpm test scripts into a single helper invocation: [#&#8203;93097](https://github.com/vercel/next.js/issues/93097) - \[tests]: fix cache-components.test.ts type error: [#&#8203;93113](https://github.com/vercel/next.js/issues/93113) - \[ci]: cleanup labeler: [#&#8203;93135](https://github.com/vercel/next.js/issues/93135) - \[ci]: switch to GitHub runners: [#&#8203;93164](https://github.com/vercel/next.js/issues/93164) - \[ci]: pin rust-musl-cross: [#&#8203;93176](https://github.com/vercel/next.js/issues/93176) - \[rust-deps] Update serde: [#&#8203;93196](https://github.com/vercel/next.js/issues/93196) - \[rust-deps] Update tracing: [#&#8203;93194](https://github.com/vercel/next.js/issues/93194) - \[ci] replace next-labeler-webhook with in-repo GitHub Action: [#&#8203;93080](https://github.com/vercel/next.js/issues/93080) - \[ci] Fix auto-label workflow: [#&#8203;93215](https://github.com/vercel/next.js/issues/93215) - \[test] Remove dead symlink: [#&#8203;93217](https://github.com/vercel/next.js/issues/93217) - \[ci] Populate GITHUB_TOKEN for auto-labeler: [#&#8203;93219](https://github.com/vercel/next.js/issues/93219) - \[ci]: move stats & CI status comment to workflow: [#&#8203;93220](https://github.com/vercel/next.js/issues/93220) - \[ci] Upload preview builds directly to Vercel Blob: [#&#8203;93207](https://github.com/vercel/next.js/issues/93207) - \[ci]: fix permissions on comment workflow: [#&#8203;93225](https://github.com/vercel/next.js/issues/93225) - Revert "Adopt pnpm catalogs for devDependencies": [#&#8203;93226](https://github.com/vercel/next.js/issues/93226) - \[ci] Handle namespaced packages in preview builds: [#&#8203;93241](https://github.com/vercel/next.js/issues/93241) - \[ci] Create test summary comment if job immediately passes: [#&#8203;93236](https://github.com/vercel/next.js/issues/93236) - \[ci] Automatically start React sync when new `react@experimental` is available: [#&#8203;93235](https://github.com/vercel/next.js/issues/93235) - \[rust-deps] Update bytes, crc32fast, memchr, pin-project-lite, quote, rand, regex, ringmap, roaring: [#&#8203;93197](https://github.com/vercel/next.js/issues/93197) - \[ci]: app-based release workflow: [#&#8203;93245](https://github.com/vercel/next.js/issues/93245) - \[ci]: trigger signed release commit via API: [#&#8203;93285](https://github.com/vercel/next.js/issues/93285) - \[ci]: fix release script to not strip newlines: [#&#8203;93302](https://github.com/vercel/next.js/issues/93302) - \[ci]: Use macOS arm runner for intel builds: [#&#8203;93330](https://github.com/vercel/next.js/issues/93330) - ci: Fix caching of test-cargo-unit: [#&#8203;93327](https://github.com/vercel/next.js/issues/93327) - \[rust-deps] Update tokio: [#&#8203;93195](https://github.com/vercel/next.js/issues/93195) - \[test] Suppress build when preparing next for cache hits: [#&#8203;93355](https://github.com/vercel/next.js/issues/93355) - \[test] Fix broken terminal output: [#&#8203;93357](https://github.com/vercel/next.js/issues/93357) - chore: bump postcss to 8.5.10: [#&#8203;93288](https://github.com/vercel/next.js/issues/93288) - fix a snapshot encoding error that could happen under concurrent mutation and snapshotting: [#&#8203;92658](https://github.com/vercel/next.js/issues/92658) - Only log partytown setup error once: [#&#8203;93378](https://github.com/vercel/next.js/issues/93378) - \[test] Stop building fresh packages for every test: [#&#8203;93380](https://github.com/vercel/next.js/issues/93380) - \[test] Preserve Playwright traces on every failure: [#&#8203;93366](https://github.com/vercel/next.js/issues/93366) - \[ci] Add support for private preview builds: [#&#8203;93375](https://github.com/vercel/next.js/issues/93375) - Fix deploy tests crashing under AI coding assistants: [#&#8203;93394](https://github.com/vercel/next.js/issues/93394) - \[ci]: remove PR creation from deploy test workflow: [#&#8203;93400](https://github.com/vercel/next.js/issues/93400) - Upgrade to swc 65: [#&#8203;93325](https://github.com/vercel/next.js/issues/93325) - Upgrade React from `da9325b5-20260417` to `f4e0d4ed-20260429`: [#&#8203;93457](https://github.com/vercel/next.js/issues/93457) - Bump `@vercel/ncc`: [#&#8203;93459](https://github.com/vercel/next.js/issues/93459) - \[test] Ensure target page is compiled before navigation in instant-navs-devtools: [#&#8203;93365](https://github.com/vercel/next.js/issues/93365) - \[ci] Allow configuring the base URL for preview builds: [#&#8203;93464](https://github.com/vercel/next.js/issues/93464) - \[ci] Move Turbopack, Rspack and font data workflows off of `RELEASE_BOT_GITHUB_TOKEN`: [#&#8203;93455](https://github.com/vercel/next.js/issues/93455) - \[ci] Migrate React sync off of `RELEASE_BOT_GITHUB_TOKEN`: [#&#8203;93456](https://github.com/vercel/next.js/issues/93456) - \[ci] Create unique preview build versions for canary previews: [#&#8203;93490](https://github.com/vercel/next.js/issues/93490) - \[ci] Ensure pnpm store cache is only filled when pnpm install runs: [#&#8203;93508](https://github.com/vercel/next.js/issues/93508) - \[ci] Remove unused `setup-nextjs-build.yml` workflow: [#&#8203;93512](https://github.com/vercel/next.js/issues/93512) - Refactor: Decouple request store creation from `req` / `res`: [#&#8203;93499](https://github.com/vercel/next.js/issues/93499) - \[ci] Clarify new preview build flow: [#&#8203;93540](https://github.com/vercel/next.js/issues/93540) - Upgrade React from `f4e0d4ed-20260429` to `dd453071-20260506`: [#&#8203;93547](https://github.com/vercel/next.js/issues/93547) - perf(ecmascript): shrink JsValue 64→32 bytes: [#&#8203;93106](https://github.com/vercel/next.js/issues/93106) - \[test] Pin package manager versions used: [#&#8203;93592](https://github.com/vercel/next.js/issues/93592) - \[ci] Ensure graphite_ci_optimizer fails open even if github fails to fetch the action: [#&#8203;93615](https://github.com/vercel/next.js/issues/93615) - Cherry-pick ghsa commits to canary: [#&#8203;93614](https://github.com/vercel/next.js/issues/93614) - \[ci] Also pin first-party GH actions: [#&#8203;93609](https://github.com/vercel/next.js/issues/93609) - CI speed improvements: [#&#8203;93411](https://github.com/vercel/next.js/issues/93411) - Proof of concept: task eviction after snapshot for turbo-tasks-backend: [#&#8203;91790](https://github.com/vercel/next.js/issues/91790) - Convert test/integration to isolated tests: [#&#8203;93247](https://github.com/vercel/next.js/issues/93247) - Repo: Add gh stack skill: [#&#8203;93705](https://github.com/vercel/next.js/issues/93705) - Fix React 18 tests: [#&#8203;93763](https://github.com/vercel/next.js/issues/93763) - Convert tests using createNext -> nextTestSetup: [#&#8203;93767](https://github.com/vercel/next.js/issues/93767) - Revert "\[test] Skip flaky `cached-navigations` tests": [#&#8203;93798](https://github.com/vercel/next.js/issues/93798) - Upgrade React from `dd453071-20260506` to `d5736f09-20260507`: [#&#8203;93702](https://github.com/vercel/next.js/issues/93702) - Mark .agents/skills as internal so external `npx skills add` hides them: [#&#8203;93856](https://github.com/vercel/next.js/issues/93856) - Convert more tests from createNext -> nextTestSetup: [#&#8203;93799](https://github.com/vercel/next.js/issues/93799) - \[test] split `og-api` test suite into default and standalone variants: [#&#8203;93915](https://github.com/vercel/next.js/issues/93915) - Add create PR skill: [#&#8203;93937](https://github.com/vercel/next.js/issues/93937) - Enable mimalloc in benchmarks: [#&#8203;93388](https://github.com/vercel/next.js/issues/93388) - Fix Yarn berry tests: [#&#8203;93962](https://github.com/vercel/next.js/issues/93962) - Polish instant fix cards and validation messages: [#&#8203;93894](https://github.com/vercel/next.js/issues/93894) - Add backport PR skill: [#&#8203;93973](https://github.com/vercel/next.js/issues/93973) - use the action cache for passing tests: [#&#8203;93954](https://github.com/vercel/next.js/issues/93954) - [@&#8203;vercel/devlow-bench](https://github.com/vercel/devlow-bench): 0.3.5 → 0.4.0: [#&#8203;93951](https://github.com/vercel/next.js/issues/93951) - \[test] Prerendering HTTP access fallback pages with Cache Components: [#&#8203;93987](https://github.com/vercel/next.js/issues/93987) - \[ci] Add an `TURBO_TASKS_AVAILABLE_PARALLELISM` environment variable that overrides `std::thread::available_parallelism` callsites: [#&#8203;93995](https://github.com/vercel/next.js/issues/93995) - ci: run Linux Playwright jobs in prebuilt Microsoft container: [#&#8203;93794](https://github.com/vercel/next.js/issues/93794) - Upgrade rustc to nightly-2026-05-15: [#&#8203;94021](https://github.com/vercel/next.js/issues/94021) - Update font data: [#&#8203;94006](https://github.com/vercel/next.js/issues/94006) - \[ci] Set `TURBO_TASKS_AVAILABLE_PARALLELISM` to 4 in most e2e tests: [#&#8203;93996](https://github.com/vercel/next.js/issues/93996) - Add next-dev-loop and next-ppr-optimizer skills: [#&#8203;93943](https://github.com/vercel/next.js/issues/93943) - test: migrate webdriver callers to next.browser: [#&#8203;93941](https://github.com/vercel/next.js/issues/93941) - Fix pr-status job pagination: [#&#8203;94049](https://github.com/vercel/next.js/issues/94049) - \[Skills] Mark backport-pr and create-pr as internal: [#&#8203;94076](https://github.com/vercel/next.js/issues/94076) - \[Skills] next-dev-loop: persist login state across loops: [#&#8203;94105](https://github.com/vercel/next.js/issues/94105) - chore: release [@&#8203;next/rspack-core](https://github.com/next/rspack-core) 1.0.3: [#&#8203;94116](https://github.com/vercel/next.js/issues/94116) - Revert "Revert "refactor: write pages router export files directly to server/pages/"": [#&#8203;93409](https://github.com/vercel/next.js/issues/93409) - \[ci] Skip installing native binaries when fetching test timings: [#&#8203;93593](https://github.com/vercel/next.js/issues/93593) - \[ci] Reserve comments for stats and tests: [#&#8203;93240](https://github.com/vercel/next.js/issues/93240) - \[ci] Fix the playwright-chromium Dockerfile: [#&#8203;94064](https://github.com/vercel/next.js/issues/94064) - Upgrade React from `d5736f09-20260507` to `75b0945b-20260526`: [#&#8203;94131](https://github.com/vercel/next.js/issues/94131) - \[ci] Add an AGENTS.md for GitHub Actions: [#&#8203;94056](https://github.com/vercel/next.js/issues/94056) - \[ci] Resize tiny jobs in integration_tests_reusable.yml to use smaller machines: [#&#8203;93886](https://github.com/vercel/next.js/issues/93886) - \[ci] Explicitly disable package-manager-cache for uses of actions/setup-node: [#&#8203;93953](https://github.com/vercel/next.js/issues/93953) - Upgrade ast-grep: [#&#8203;94150](https://github.com/vercel/next.js/issues/94150) - \[Skills] next-cache-components-optimizer: clarify private-cache scope rule: [#&#8203;94113](https://github.com/vercel/next.js/issues/94113) - \[ci] Increase TEST_CONCURRENCY from 8 to 12: [#&#8203;94138](https://github.com/vercel/next.js/issues/94138) - Upgrade React from `75b0945b-20260526` to `c0cd4d5d-20260527`: [#&#8203;94161](https://github.com/vercel/next.js/issues/94161) - \[ci] Give the build cache in cache in build_and_deploy a more obvious name, not just a hash and run number: [#&#8203;93957](https://github.com/vercel/next.js/issues/93957) - \[ci] Rename GRAPHITE_TOKEN to GRAPHITE_CI_OPTIMIZER_TOKEN: [#&#8203;94166](https://github.com/vercel/next.js/issues/94166) - \[ci] Use Turbopack in non-webpack-specific e2e test jobs: [#&#8203;94005](https://github.com/vercel/next.js/issues/94005) - \[test] Add test for static metadata files and `generateStaticParams`: [#&#8203;93465](https://github.com/vercel/next.js/issues/93465) - test: skip flaky instant-nav-panel tests: [#&#8203;94196](https://github.com/vercel/next.js/issues/94196) - test: fix next-after-app-static: [#&#8203;94195](https://github.com/vercel/next.js/issues/94195) - \[ci] Update all actions/\* dependencies: [#&#8203;94174](https://github.com/vercel/next.js/issues/94174) - Replace VcStorage with real TurboTasks in tests/benches : [#&#8203;93955](https://github.com/vercel/next.js/issues/93955) - \[cd] Stop fetching all tags when searching parent tag: [#&#8203;94302](https://github.com/vercel/next.js/issues/94302) - chore: lint-language output only warnings and errors: [#&#8203;94261](https://github.com/vercel/next.js/issues/94261) - Disable `default-case` ESLint rule for type-checked TypeScript files: [#&#8203;94316](https://github.com/vercel/next.js/issues/94316) - refactor: use named arguments for StagedRenderingController: [#&#8203;94345](https://github.com/vercel/next.js/issues/94345) - Devirtualize the backend api inside of turbo_tasks and turbo-tasks-backend: [#&#8203;94007](https://github.com/vercel/next.js/issues/94007) - \[tests] Use snapshots in debug-build-paths: [#&#8203;94352](https://github.com/vercel/next.js/issues/94352) - Upgrade React from `c0cd4d5d-20260527` to `f0dfee38-20260529`: [#&#8203;94245](https://github.com/vercel/next.js/issues/94245) - refactor: make stage advancing logic more generic: [#&#8203;94349](https://github.com/vercel/next.js/issues/94349) - refactor: make early/late checks stricter: [#&#8203;94358](https://github.com/vercel/next.js/issues/94358) - refactor: remove delayUntilRuntimeStage: [#&#8203;94350](https://github.com/vercel/next.js/issues/94350) - refactor: indicate which stage is the last stage in staged prerenders: [#&#8203;94430](https://github.com/vercel/next.js/issues/94430) - test: pin material-ui link fixture dependencies: [#&#8203;94354](https://github.com/vercel/next.js/issues/94354) - Reland the debug channel on native Node streams, fixed for React 18: [#&#8203;94462](https://github.com/vercel/next.js/issues/94462) - chore: reword cacheComponents jsDoc to lead with partial prerendering: [#&#8203;94474](https://github.com/vercel/next.js/issues/94474) - Upgrade React from `f0dfee38-20260529` to `43bcbf80-20260603`: [#&#8203;94440](https://github.com/vercel/next.js/issues/94440) - Revert "ci: run Linux Playwright jobs in prebuilt Microsoft container ([#&#8203;93794](https://github.com/vercel/next.js/issues/93794))": [#&#8203;94366](https://github.com/vercel/next.js/issues/94366) - fix(deps): bump [@&#8203;vercel/nft](https://github.com/vercel/nft)[@1](https://github.com/1).10.2: [#&#8203;93979](https://github.com/vercel/next.js/issues/93979) - \[ci] Switch release-next-rspack to a more explicit environment name: [#&#8203;94480](https://github.com/vercel/next.js/issues/94480) - \[ci] Set `persist-credentials: false` for all GH actions: [#&#8203;94214](https://github.com/vercel/next.js/issues/94214) - Revert "\[ci] Increase TEST_CONCURRENCY from 8 to 12 ([#&#8203;94138](https://github.com/vercel/next.js/issues/94138))": [#&#8203;94517](https://github.com/vercel/next.js/issues/94517) - \[ci] Disable on-call notification if manual deploy e2e tests failed: [#&#8203;94554](https://github.com/vercel/next.js/issues/94554) - Reduce new test concurrency to five: [#&#8203;94552](https://github.com/vercel/next.js/issues/94552) - disallow reads from .next-profiles: [#&#8203;94570](https://github.com/vercel/next.js/issues/94570) - \[ci] Remove dead playwright docker image creation logic: [#&#8203;94576](https://github.com/vercel/next.js/issues/94576) - \[cd] Ensure release can be triggered on old branches: [#&#8203;94596](https://github.com/vercel/next.js/issues/94596) - \[ci] Reduce usage of turborepo cache in `build_and_deploy.yml`: [#&#8203;94319](https://github.com/vercel/next.js/issues/94319) - \[ci] Download fnm directly from GitHub releases and validate checksum: [#&#8203;94579](https://github.com/vercel/next.js/issues/94579) - \[ci] Always upload canary tarballs from the canary branch: [#&#8203;94557](https://github.com/vercel/next.js/issues/94557) - refactor: process streaming prerenders more efficiently: [#&#8203;94764](https://github.com/vercel/next.js/issues/94764) - \[ci] Allow "rerun failed jobs" to work up until 5 days for e2e deploy tests: [#&#8203;94812](https://github.com/vercel/next.js/issues/94812) - Fix stale next data API test URL: [#&#8203;94815](https://github.com/vercel/next.js/issues/94815) - Instruct agents to keep and commit the generated agent-rules block: [#&#8203;94725](https://github.com/vercel/next.js/issues/94725) - Add a message to `AGENTS.md` about `super::` imports.: [#&#8203;94733](https://github.com/vercel/next.js/issues/94733) - chore: upgrade next-rspack to rspack 2.0: [#&#8203;92222](https://github.com/vercel/next.js/issues/92222) - \[ci] Use node-version-file when we already have a repository checkout and reduce hardcoded references to node versions: [#&#8203;94780](https://github.com/vercel/next.js/issues/94780) - rust react compiler: detect and build for react 18: [#&#8203;94836](https://github.com/vercel/next.js/issues/94836) - \[test] Unflake `metadata static routes cache` test: [#&#8203;94796](https://github.com/vercel/next.js/issues/94796) - \[test] Recover from a leftover build process on test retry: [#&#8203;94797](https://github.com/vercel/next.js/issues/94797) - Properly set response-based OTEL attributes with adapters: [#&#8203;94603](https://github.com/vercel/next.js/issues/94603) - Upgrade React from `43bcbf80-20260603` to `d9158919-20260615`: [#&#8203;94826](https://github.com/vercel/next.js/issues/94826) - \[ci] Clean up references to self-hosted runners: [#&#8203;94827](https://github.com/vercel/next.js/issues/94827) - Upgrade React from `d9158919-20260615` to `ad78e251-20260616`: [#&#8203;94867](https://github.com/vercel/next.js/issues/94867) - switch our test benchmark runs to release-with-assertions: [#&#8203;94538](https://github.com/vercel/next.js/issues/94538) - \[ci] Remove playwright stamp file logic: [#&#8203;94876](https://github.com/vercel/next.js/issues/94876) - \[cd] More robust publish pipeline: [#&#8203;94622](https://github.com/vercel/next.js/issues/94622) - \[cd] Continue release train if `@next/swc-wasm-*` fails to publish: [#&#8203;94912](https://github.com/vercel/next.js/issues/94912) - Let LLMs create less noisy and more focused PR descriptions: [#&#8203;94896](https://github.com/vercel/next.js/issues/94896) - \[ci] Only install chromium-headless-shell and not chromium: [#&#8203;94882](https://github.com/vercel/next.js/issues/94882) - Fix Instant Navs DevTools capture bugs and re-enable its test suite: [#&#8203;94866](https://github.com/vercel/next.js/issues/94866) - \[test] Enable `metadata-streaming-config` for Cache Components: [#&#8203;94936](https://github.com/vercel/next.js/issues/94936) - Upgrade React from `ad78e251-20260616` to `b1786c31-20260618`: [#&#8203;94951](https://github.com/vercel/next.js/issues/94951) - \[ci] Update playwright to 1.61.0: [#&#8203;94871](https://github.com/vercel/next.js/issues/94871) - \[cd] reduce size of npm metadata on publish: [#&#8203;94953](https://github.com/vercel/next.js/issues/94953) - Upgrade to swc 70: [#&#8203;94814](https://github.com/vercel/next.js/issues/94814) - \[test] Fix failing determinism test using adapter: [#&#8203;95051](https://github.com/vercel/next.js/issues/95051) - \[scripts] Write pnpm overrides for pnpm projects in pack/patch helpers: [#&#8203;94747](https://github.com/vercel/next.js/issues/94747) - Upgrade React from `b1786c31-20260618` to `247fbb45-20260622`: [#&#8203;95063](https://github.com/vercel/next.js/issues/95063) - skill(next-dev-loop): fix --session flag, agent-browser bootstrap, --headed daemon note: [#&#8203;95005](https://github.com/vercel/next.js/issues/95005) - skill(next-cache-components-adoption): tune skill to mention app router requirement: [#&#8203;95069](https://github.com/vercel/next.js/issues/95069) - \[skills] Mark insight-error-page and next-rspack as internal: [#&#8203;95070](https://github.com/vercel/next.js/issues/95070) - skill(next-cache-components-adoption): clarify prereqs: [#&#8203;95082](https://github.com/vercel/next.js/issues/95082) - \[cd] publish on release tags instead of branch push: [#&#8203;95085](https://github.com/vercel/next.js/issues/95085) - \[ci] Make preview tarballs available while new Canaries are being published: [#&#8203;95112](https://github.com/vercel/next.js/issues/95112) - \[cd] add ad-hoc preview release cut from canary: [#&#8203;95086](https://github.com/vercel/next.js/issues/95086) - \[test] Reorder `hmr-intercept-routes` test to avoid a reload/refresh race: [#&#8203;95134](https://github.com/vercel/next.js/issues/95134) - \[ci] Make automatic native binding install opt-in: [#&#8203;95114](https://github.com/vercel/next.js/issues/95114) - Restore canary version 16.3.0-canary.66 after v16.3.0-preview\.4 preview release - skill(cc-adoption): recommend next-dev-loop and add build-only path: [#&#8203;95122](https://github.com/vercel/next.js/issues/95122) - \[cd] Allow forcing a release without new commits: [#&#8203;95136](https://github.com/vercel/next.js/issues/95136) - test: Remove unnecessary dynamic timestamp from instant-validation root layouts: [#&#8203;95105](https://github.com/vercel/next.js/issues/95105) - Restore canary version 16.3.0-canary.67 after v16.3.0-preview\.5 preview release - Bump Rust toolchain: [#&#8203;95205](https://github.com/vercel/next.js/issues/95205) - next-dev-loop: require agent-browser >= 0.31.1: [#&#8203;95209](https://github.com/vercel/next.js/issues/95209) - \[ci] skip Datadog git metadata upload on junit upload: [#&#8203;95210](https://github.com/vercel/next.js/issues/95210) - Return APP_PAGE instead of PAGES for production Instant Navigation tests: [#&#8203;95184](https://github.com/vercel/next.js/issues/95184) - \[ci] Display correct test commands when Cache Component test fail: [#&#8203;95267](https://github.com/vercel/next.js/issues/95267) - skills(cc-adoption): tighten requires, sequencing, terminology: [#&#8203;95225](https://github.com/vercel/next.js/issues/95225) - Upgrade React from `247fbb45-20260622` to `68631c04-20260626`: [#&#8203;95211](https://github.com/vercel/next.js/issues/95211) - Enhance ESLint rule `no-location-assign-relative-destination`: [#&#8203;93057](https://github.com/vercel/next.js/issues/93057) - test: fork select tests on partialPrefetching: [#&#8203;95279](https://github.com/vercel/next.js/issues/95279) - \[ci] update relay-compiler to 21.0.1: [#&#8203;95217](https://github.com/vercel/next.js/issues/95217) - Increase the code frame width used when logging to a file.: [#&#8203;95283](https://github.com/vercel/next.js/issues/95283) - \[test] Give webpack server-action-period-hash tests a larger timeout: [#&#8203;95303](https://github.com/vercel/next.js/issues/95303) - \[test] Recover from a leftover build process on test retry in `build()`: [#&#8203;95304](https://github.com/vercel/next.js/issues/95304) - \[test] Unskip more Turbopack NFT unit tests: [#&#8203;95297](https://github.com/vercel/next.js/issues/95297) - \[test] Make `build-output-prerender` error ordering deterministic: [#&#8203;95308](https://github.com/vercel/next.js/issues/95308) - \[test] Retry the `.next` deletion to fix an `ENOTEMPTY` flake: [#&#8203;95307](https://github.com/vercel/next.js/issues/95307) - \[ci] Migrate build_and_test and pull_request_stats to use arm64 runners: [#&#8203;94870](https://github.com/vercel/next.js/issues/94870) - \[ci] Add support for auth based preview build registries: [#&#8203;95204](https://github.com/vercel/next.js/issues/95204) - Upgrade React from `68631c04-20260626` to `92f4fda3-20260629`: [#&#8203;95282](https://github.com/vercel/next.js/issues/95282) - \[ci] Move some test suites back to x86-64 runners to reduce pressure on our currently-limited pool of arm runners: [#&#8203;95332](https://github.com/vercel/next.js/issues/95332) - refactor: split out validateStaticShell: [#&#8203;95106](https://github.com/vercel/next.js/issues/95106) - Revert "\[ci] Move some test suites back to x86-64 runners to reduce pressure on our currently-limited pool of arm runners ([#&#8203;95332](https://github.com/vercel/next.js/issues/95332))": [#&#8203;95336](https://github.com/vercel/next.js/issues/95336) - \[ci] Add optimize-ci, changes, and fetch-test-timings jobs to the needs list for the tests-pass job: [#&#8203;95339](https://github.com/vercel/next.js/issues/95339) - \[ci] Migrate some CI jobs back to x86-64, build both arm and x86-64 native binaries, include both os and architecture in native artifact names: [#&#8203;95341](https://github.com/vercel/next.js/issues/95341) - test: Improve immutable static asset tests: [#&#8203;95349](https://github.com/vercel/next.js/issues/95349) - gitignore .next-profiles: [#&#8203;95256](https://github.com/vercel/next.js/issues/95256) - Re-query deploy-test build logs until id markers appear: [#&#8203;95243](https://github.com/vercel/next.js/issues/95243) - Upgrade React from `92f4fda3-20260629` to `ec0fca31-20260701`: [#&#8203;95368](https://github.com/vercel/next.js/issues/95368) - \[ci] Migrate Turbopack build_and_test jobs back to arm64, leave webpack jobs as x86-64: [#&#8203;95374](https://github.com/vercel/next.js/issues/95374) - \[ci] Avoid running full CI mid-stack for GH-native stacks, same as we do for Graphite: [#&#8203;95218](https://github.com/vercel/next.js/issues/95218) - \[test] Park the blocking-fallback segment on a withheld param: [#&#8203;95300](https://github.com/vercel/next.js/issues/95300) - \[test] Enable deploy tests for the Instant Navigation Testing API suite: [#&#8203;95236](https://github.com/vercel/next.js/issues/95236) - \[cd] Replace the release package with our own GitHub release creation: [#&#8203;95352](https://github.com/vercel/next.js/issues/95352) - Make Instant Navigation Testing full-page loads work when deployed: [#&#8203;95222](https://github.com/vercel/next.js/issues/95222) - \[ci] Actually migrate Turbopack jobs back to ARM: [#&#8203;95386](https://github.com/vercel/next.js/issues/95386) - Upgrade React from `ec0fca31-20260701` to `3508aee6-20260702`: [#&#8203;95410](https://github.com/vercel/next.js/issues/95410) - \[ci] Disable mid-stack PR optimization for native PR stacks: [#&#8203;95427](https://github.com/vercel/next.js/issues/95427) - Collect modules with browser variants statically: [#&#8203;95200](https://github.com/vercel/next.js/issues/95200) - Split typeof-window server requires into .browser variants: [#&#8203;95201](https://github.com/vercel/next.js/issues/95201) - Type resolved `cacheLife` profiles, dropping runtime asserts: [#&#8203;95428](https://github.com/vercel/next.js/issues/95428) - Update font data: [#&#8203;95441](https://github.com/vercel/next.js/issues/95441) - \[test] Unflake `cache-components-dev-streaming` test suite: [#&#8203;95466](https://github.com/vercel/next.js/issues/95466) - evals: fix false-negative regex checks with the agentic LLM judge: [#&#8203;95440](https://github.com/vercel/next.js/issues/95440) - Upgrade React from `3508aee6-20260702` to `23def8fd-20260706`: [#&#8203;95532](https://github.com/vercel/next.js/issues/95532) - \[ci] Add stats comment with partial stats: [#&#8203;95401](https://github.com/vercel/next.js/issues/95401) - \[skills] Update gh-stack skill: [#&#8203;95541](https://github.com/vercel/next.js/issues/95541) - Upgrade to swc 72 and rust-react-compiler: [#&#8203;95536](https://github.com/vercel/next.js/issues/95536) - test: Fix service worker error test: [#&#8203;95548](https://github.com/vercel/next.js/issues/95548) - \[ci] Skip apt-installed dependencies in playwright install step: [#&#8203;95535](https://github.com/vercel/next.js/issues/95535) - ci: Bump withgraphite/graphite-ci-action: [#&#8203;95562](https://github.com/vercel/next.js/issues/95562) - test: Disable service worker deploy tests for now: [#&#8203;95570](https://github.com/vercel/next.js/issues/95570) - test: Use Turbopack for 'Test new and changed tests when deployed': [#&#8203;95552](https://github.com/vercel/next.js/issues/95552) - \[ci] Migrate webpack tests back to arm runners: [#&#8203;95549](https://github.com/vercel/next.js/issues/95549) - test: Fix immutable static asset deployment tests: [#&#8203;95550](https://github.com/vercel/next.js/issues/95550) - \[ci] Split up large cache-components-dev-warmup test suite: [#&#8203;95553](https://github.com/vercel/next.js/issues/95553) - \[ci] Split up large create-next-app/templates/matrix test: [#&#8203;95555](https://github.com/vercel/next.js/issues/95555) - Split remaining "client-node"-only modules into .browser variants: [#&#8203;95366](https://github.com/vercel/next.js/issues/95366) - Upgrade React from `23def8fd-20260706` to `12a4baec-20260707`: [#&#8203;95581](https://github.com/vercel/next.js/issues/95581) - test: Fix immutable static asset deployment tests for real: [#&#8203;95600](https://github.com/vercel/next.js/issues/95600) - \[ci] Pin typescript version in tests: [#&#8203;95619](https://github.com/vercel/next.js/issues/95619) - \[ci] Bump PR stats job timeout to 35 minutes: [#&#8203;95592](https://github.com/vercel/next.js/issues/95592) - \[ci] split up large cache-components-errors tests: [#&#8203;95623](https://github.com/vercel/next.js/issues/95623) - \[ci] Split up large rsc-build-errors development test: [#&#8203;95624](https://github.com/vercel/next.js/issues/95624) - \[ci] Split up large instant-validation tests: [#&#8203;95627](https://github.com/vercel/next.js/issues/95627) - Refresh outdated agent-rules blocks on next dev and codemod upgrade: [#&#8203;95470](https://github.com/vercel/next.js/issues/95470) - Make the agent-rules block verifiable and self-upgrading: [#&#8203;95467](https://github.com/vercel/next.js/issues/95467) - Upgrade React from `12a4baec-20260707` to `df4bd1b4-20260708`: [#&#8203;95612](https://github.com/vercel/next.js/issues/95612) - Convert agent-041's blocking-data check to the agentic LLM judge: [#&#8203;95630](https://github.com/vercel/next.js/issues/95630) - Add attribute rendering benchmark: [#&#8203;95621](https://github.com/vercel/next.js/issues/95621) - Upgrade React from `df4bd1b4-20260708` to `5123b063-20260708`: [#&#8203;95642](https://github.com/vercel/next.js/issues/95642) - (TypeScript 7 Support) Add experimental TypeScript CLI backend: [#&#8203;95639](https://github.com/vercel/next.js/issues/95639) - test: allow-runtime breaks Link's Server component child detection: [#&#8203;95596](https://github.com/vercel/next.js/issues/95596) - test: skip redbox check in "static prefetch - missing suspense around search params": [#&#8203;95670](https://github.com/vercel/next.js/issues/95670) - refactor: remove unnecessary switches from StagedRenderingController: [#&#8203;95383](https://github.com/vercel/next.js/issues/95383) - Clarify AI-assisted contribution policy in PR template and AGENTS.md: [#&#8203;95629](https://github.com/vercel/next.js/issues/95629) - \[test] Disable middleware-rewrites deploy test for Turbopack with adapters: [#&#8203;95680](https://github.com/vercel/next.js/issues/95680) - Update font data: [#&#8203;95725](https://github.com/vercel/next.js/issues/95725) - \[test] Disable i18n-api-support deploy test for Turbopack with adapters: [#&#8203;95739](https://github.com/vercel/next.js/issues/95739) - Restore canary version 16.3.0-canary.84 after v16.3.0-preview\.6 preview release - Upgrade to swc 73: [#&#8203;95731](https://github.com/vercel/next.js/issues/95731) - Add React sync development skill: [#&#8203;95620](https://github.com/vercel/next.js/issues/95620) - Upgrade React from `5123b063-20260708` to `7023f501-20260714`: [#&#8203;95782](https://github.com/vercel/next.js/issues/95782) - Better support the CLI spinner when running the TSC CLI: [#&#8203;95753](https://github.com/vercel/next.js/issues/95753) - Only track pending imports for real promises: [#&#8203;95789](https://github.com/vercel/next.js/issues/95789) - Model async userland loading in app routes as a state machine: [#&#8203;95791](https://github.com/vercel/next.js/issues/95791) - chore: Remove stale build warning: [#&#8203;95813](https://github.com/vercel/next.js/issues/95813) - \[ci] Allow running all deploy tests with builds from a private registry: [#&#8203;95784](https://github.com/vercel/next.js/issues/95784) - Run more test suites under cacheComponents flag: [#&#8203;95878](https://github.com/vercel/next.js/issues/95878) - Revert "Run more test suites under cacheComponents flag": [#&#8203;95884](https://github.com/vercel/next.js/issues/95884) - fix(agent-rules): pad managed AGENTS.md block with blank lines: [#&#8203;95892](https://github.com/vercel/next.js/issues/95892) - Back/forward set the Nav Inspector back to pending: [#&#8203;95865](https://github.com/vercel/next.js/issues/95865) - \[ci] Avoid apt-get in the next-stats-action Docker image: [#&#8203;95847](https://github.com/vercel/next.js/issues/95847) - Package skills/ as a Claude Code plugin: [#&#8203;95907](https://github.com/vercel/next.js/issues/95907) - Upgrade React from `7023f501-20260714` to `172742b4-20260716`: [#&#8203;95901](https://github.com/vercel/next.js/issues/95901) - Run Rust doctests in CI: [#&#8203;95911](https://github.com/vercel/next.js/issues/95911) - \[ci] Share a single browser instance across all test suites in a single job: [#&#8203;95589](https://github.com/vercel/next.js/issues/95589) - \[test] Add coverage for throwing custom "use cache" cache handler: [#&#8203;95984](https://github.com/vercel/next.js/issues/95984) - Refine development validation signal handling: [#&#8203;95998](https://github.com/vercel/next.js/issues/95998) - \[ci] Skip passed-tests cache steps for jobs that never run tests: [#&#8203;96001](https://github.com/vercel/next.js/issues/96001) - Upgrade React from `172742b4-20260716` to `81e442ea-20260721`: [#&#8203;96016](https://github.com/vercel/next.js/issues/96016) - Restore canary version 16.3.0-canary.92 after v16.3.0-preview\.7 preview release - chore(deps): bump sharp\@&#8203;0.35.3: [#&#8203;95507](https://github.com/vercel/next.js/issues/95507) - \[ci] Enforce minimumReleaseAge in e2e tests that install external dependencies: [#&#8203;95628](https://github.com/vercel/next.js/issues/95628) - Rewrite next-cache-components-optimizer around a test-driven instant() loop: [#&#8203;94721](https://github.com/vercel/next.js/issues/94721) - Always consult `npm_config_user_agent` first: [#&#8203;95879](https://github.com/vercel/next.js/issues/95879) - Restore canary version 16.3.0-canary.93 after v16.3.0-preview\.8 preview release - \[test] Add source-mapping coverage of React's fake stack frame scripts in `use cache`: [#&#8203;95945](https://github.com/vercel/next.js/issues/95945) - \[test] Add failing tests for stale route handler and page cached data: [#&#8203;96021](https://github.com/vercel/next.js/issues/96021) - \[test] Move the dev-only `use cache` test suite to `test/development`: [#&#8203;96023](https://github.com/vercel/next.js/issues/96023) - Refine Cache Components and Partial Prefetching adoption skills: [#&#8203;95817](https://github.com/vercel/next.js/issues/95817) - skill(cc-adoption): add dev-only validation sweep reference: [#&#8203;96057](https://github.com/vercel/next.js/issues/96057) - Upgrade React from `81e442ea-20260721` to `711c445b-20260722`: [#&#8203;96066](https://github.com/vercel/next.js/issues/96066) - Restore canary version 16.3.0-canary.94 after v16.3.0-preview\.9 preview release - Throw when generateStaticParams returns invalid values: [#&#8203;95968](https://github.com/vercel/next.js/issues/95968) - Throw for empty or incomplete generateStaticParams results with output: export: [#&#8203;95969](https://github.com/vercel/next.js/issues/95969) - Upgrade React from `711c445b-20260722` to `28cd4bb0-20260723`: [#&#8203;96100](https://github.com/vercel/next.js/issues/96100) - Store RouteTree slots in a Map to keep slot access monomorphic: [#&#8203;96168](https://github.com/vercel/next.js/issues/96168) - Give RouteCacheEntry a single hidden class across its lifecycle: [#&#8203;96164](https://github.com/vercel/next.js/issues/96164) - \[test] Unflake the `enabled-features-trace` test suite: [#&#8203;96175](https://github.com/vercel/next.js/issues/96175) - Add a benchmark for dev Cache Components validation on a worker thread: [#&#8203;96152](https://github.com/vercel/next.js/issues/96152) - \[internal] Add a skill for benching changes in a sandbox: [#&#8203;95943](https://github.com/vercel/next.js/issues/95943) - \[test] Unflake a prefetch-related race: [#&#8203;96222](https://github.com/vercel/next.js/issues/96222) - \[test] Run more test suites under cacheComponents flag, again: [#&#8203;96196](https://github.com/vercel/next.js/issues/96196) - \[test] Run the navigation e2e suite under cacheComponents: [#&#8203;95877](https://github.com/vercel/next.js/issues/95877) - \[test] Unflake more tests: [#&#8203;96081](https://github.com/vercel/next.js/issues/96081) - Upgrade React from `28cd4bb0-20260723` to `756fdd47-20260727`: [#&#8203;96270](https://github.com/vercel/next.js/issues/96270) - Micro-optimization for string format: [#&#8203;95774](https://github.com/vercel/next.js/issues/95774) - Count URL key length in the filesystem route cache LRU: [#&#8203;96229](https://github.com/vercel/next.js/issues/96229) - Count key length in remaining byte-budgeted LRUs: [#&#8203;96231](https://github.com/vercel/next.js/issues/96231) - Restore canary version 16.3.0-canary.99 after v16.3.0-preview\.10 preview release - Isolate local Request Insights spans from OpenTelemetry: [#&#8203;96276](https://github.com/vercel/next.js/issues/96276) - Classify Instant Insights as internal in Request Insights: [#&#8203;96147](https://github.com/vercel/next.js/issues/96147) - Upgrade React from `756fdd47-20260727` to `96fcba90-20260728`: [#&#8203;96306](https://github.com/vercel/next.js/issues/96306) - \[ci] Install Node.js from the official tarball in the native-builder image: [#&#8203;96298](https://github.com/vercel/next.js/issues/96298) - \[cd] Send Slack notification if publish fails: [#&#8203;96304](https://github.com/vercel/next.js/issues/96304) - Bump [@&#8203;types/node](https://github.com/types/node) to 20.17.7 to fix findSourceMap type: [#&#8203;96321](https://github.com/vercel/next.js/issues/96321) - \[ci] Background some steps in build_reusable to reduce setup overhead, remove unneeded lld installation: [#&#8203;96195](https://github.com/vercel/next.js/issues/96195) - Update skills for Partial Prefetching: [#&#8203;96299](https://github.com/vercel/next.js/issues/96299) - Added cache copying support for worktrees: [#&#8203;95646](https://github.com/vercel/next.js/issues/95646) - Bump postcss to 8.5.23: [#&#8203;96107](https://github.com/vercel/next.js/issues/96107) - \[ci] Match the test job summary style to the PR test report comment: [#&#8203;95882](https://github.com/vercel/next.js/issues/95882) - test: reproduce empty parallel route scroll regression: [#&#8203;96323](https://github.com/vercel/next.js/issues/96323) - Upgrade React from `96fcba90-20260728` to `1724e9ce-20260729`: [#&#8203;96355](https://github.com/vercel/next.js/issues/96355) - Upgrade React from `1724e9ce-20260729` to `6cb4322d-20260729`: [#&#8203;96389](https://github.com/vercel/next.js/issues/96389) - \[bench skill] Bench Edge builds of React too: [#&#8203;96234](https://github.com/vercel/next.js/issues/96234) - test: expand Cache Components metadata streaming coverage: [#&#8203;96366](https://github.com/vercel/next.js/issues/96366) - Upgrade React from `6cb4322d-20260729` to `0f42eac2-20260730`: [#&#8203;96402](https://github.com/vercel/next.js/issues/96402) - Update Rust toolchain to nightly-2026-07-29: [#&#8203;96365](https://github.com/vercel/next.js/issues/96365) - Upgrade React from `0f42eac2-20260730` to `cbb046ab-20260731`: [#&#8203;96434](https://github.com/vercel/next.js/issues/96434) - \[ci] Run new/changed deploy tests asap: [#&#8203;96438](https://github.com/vercel/next.js/issues/96438) - \[react-sync] Enable auto-merge on PRs: [#&#8203;96442](https://github.com/vercel/next.js/issues/96442) - Add automated code review workflow: [#&#8203;96359](https://github.com/vercel/next.js/issues/96359) - test: stabilize after() deploy revalidation checks: [#&#8203;96428](https://github.com/vercel/next.js/issues/96428) - \[turbotrace] bump test version of sharp: [#&#8203;96386](https://github.com/vercel/next.js/issues/96386) - \[ci] Wait for the preview tarballs before running the deploy tests: [#&#8203;96527](https://github.com/vercel/next.js/issues/96527) - test: skip hybrid not-found coverage for the legacy builder: [#&#8203;96534](https://github.com/vercel/next.js/issues/96534) - Flag newly disabled deploy tests: [#&#8203;96505](https://github.com/vercel/next.js/issues/96505) - Fix deploy test TypeScript exclusions: [#&#8203;96545](https://github.com/vercel/next.js/issues/96545) - \[turbopack / next.js] Add an end-to-end test for new root detection: [#&#8203;96544](https://github.com/vercel/next.js/issues/96544) - Edits to turbopackFileSystemCache: [#&#8203;96531](https://github.com/vercel/next.js/issues/96531) ##### Credits Huge thanks to [@&#8203;denesbeck](https://github.com/denesbeck), [@&#8203;ztanner](https://github.com/ztanner), [@&#8203;ijjk](https://github.com/ijjk), [@&#8203;lllomh](https://github.com/lllomh), [@&#8203;devjiwonchoi](https://github.com/devjiwonchoi), [@&#8203;lukesandberg](https://github.com/lukesandberg), [@&#8203;wbinnssmith](https://github.com/wbinnssmith), [@&#8203;sokra](https://github.com/sokra), [@&#8203;unstubbable](https://github.com/unstubbable), [@&#8203;timneutkens](https://github.com/timneutkens), [@&#8203;feedthejim](https://github.com/feedthejim), [@&#8203;gnoff](https://github.com/gnoff), [@&#8203;abhishekmardiya](https://github.com/abhishekmardiya), [@&#8203;icyJoseph](https://github.com/icyJoseph), [@&#8203;mischnic](https://github.com/mischnic), [@&#8203;mmastrac](https://github.com/mmastrac), [@&#8203;acdlite](https://github.com/acdlite), [@&#8203;eps1lon](https://github.com/eps1lon), [@&#8203;JamBalaya56562](https://github.com/JamBalaya56562), [@&#8203;bgw](https://github.com/bgw), [@&#8203;gaojude](https://github.com/gaojude), [@&#8203;bgub](https://github.com/bgub), [@&#8203;remcohaszing](https://github.com/remcohaszing), [@&#8203;aurorascharff](https://github.com/aurorascharff), [@&#8203;VedantMadane](https://github.com/VedantMadane), [@&#8203;fireairforce](https://github.com/fireairforce), [@&#8203;dagecko](https://github.com/dagecko), [@&#8203;ctate](https://github.com/ctate), [@&#8203;banchichen](https://github.com/banchichen), [@&#8203;andrewimm](https://github.com/andrewimm), [@&#8203;wwenrr](https://github.com/wwenrr), [@&#8203;TooTallNate](https://github.com/TooTallNate), [@&#8203;hamidrezahanafi](https://github.com/hamidrezahanafi), [@&#8203;hamedniroomand](https://github.com/hamedniroomand), [@&#8203;sleitor](https://github.com/sleitor), [@&#8203;Badbird5907](https://github.com/Badbird5907), [@&#8203;MukundaKatta](https://github.com/MukundaKatta), [@&#8203;styfle](https://github.com/styfle), [@&#8203;SukkaW](https://github.com/SukkaW), [@&#8203;awo00](https://github.com/awo00), [@&#8203;christopherkindl](https://github.com/christopherkindl), [@&#8203;GuinsooRocky](https://github.com/GuinsooRocky), [@&#8203;maximecolin](https://github.com/maximecolin), [@&#8203;lubieowoce](https://github.com/lubieowoce), [@&#8203;zana-abdi2002](https://github.com/zana-abdi2002), [@&#8203;samselikoff](https://github.com/samselikoff), [@&#8203;rishishanbhag](https://github.com/rishishanbhag), [@&#8203;armando-andre](https://github.com/armando-andre), [@&#8203;tim123abc](https://github.com/tim123abc), [@&#8203;publictheta](https://github.com/publictheta), [@&#8203;unclebay143](https://github.com/unclebay143), [@&#8203;yavorpunchev](https://github.com/yavorpunchev), [@&#8203;kakadiadarpan](https://github.com/kakadiadarpan), [@&#8203;SyMind](https://github.com/SyMind), [@&#8203;igorbabko](https://github.com/igorbabko), [@&#8203;sampoder](https://github.com/sampoder), [@&#8203;StanislavKozachenko](https://github.com/StanislavKozachenko), [@&#8203;kristiyan-velkov](https://github.com/kristiyan-velkov), [@&#8203;huozhi](https://github.com/huozhi), [@&#8203;RazinShafayet2007](https://github.com/RazinShafayet2007), [@&#8203;SJvaca30](https://github.com/SJvaca30), [@&#8203;danyalahmed1995](https://github.com/danyalahmed1995), [@&#8203;karlhorky](https://github.com/karlhorky), [@&#8203;MikhailStn](https://github.com/MikhailStn), [@&#8203;ifer47](https://github.com/ifer47), [@&#8203;niketchandivade](https://github.com/niketchandivade), [@&#8203;gilest](https://github.com/gilest), [@&#8203;jahanzaib-iqbal-dev](https://github.com/jahanzaib-iqbal-dev), [@&#8203;owenpearson](https://github.com/owenpearson), [@&#8203;davidgg](https://github.com/davidgg), [@&#8203;fhfournier](https://github.com/fhfournier), [@&#8203;parkhojeong](https://github.com/parkhojeong), [@&#8203;gaearon](https://github.com/gaearon), [@&#8203;TariqulislamTuhin](https://github.com/TariqulislamTuhin), [@&#8203;thsid](https://github.com/thsid), [@&#8203;jimmyhmiller](https://github.com/jimmyhmiller), [@&#8203;Partha-Shankar](https://github.com/Partha-Shankar), [@&#8203;M4cM4rco](https://github.com/M4cM4rco), [@&#8203;chippleh1392](https://github.com/chippleh1392), [@&#8203;Pranav18M](https://github.com/Pranav18M), [@&#8203;marcoshernanz](https://github.com/marcoshernanz), [@&#8203;manoraj](https://github.com/manoraj), [@&#8203;ankurdotio](https://github.com/ankurdotio), [@&#8203;WildChargerTV](https://github.com/WildChargerTV), [@&#8203;ZaforAbdullah](https://github.com/ZaforAbdullah), [@&#8203;wasim-builds](https://github.com/wasim-builds), [@&#8203;petehunt](https://github.com/petehunt), [@&#8203;DavidIlie](https://github.com/DavidIlie), and [@&#8203;adhamfayrouzamf](https://github.com/adhamfayrouzamf) for helping! ### [`v16.2.12`](https://github.com/vercel/next.js/releases/tag/v16.2.12) [Compare Source](https://github.com/vercel/next.js/compare/v16.2.11...v16.2.12) ##### What's Changed - Backport/docs fixes 16.2 - July round by [@&#8203;icyJoseph](https://github.com/icyJoseph) in [#&#8203;96031](https://github.com/vercel/next.js/pull/96031) - \[Backport] Fixes to support TypeScript 7 by [@&#8203;lukesandberg](https://github.com/lukesandberg) in [#&#8203;95831](https://github.com/vercel/next.js/pull/95831) **Full Changelog**: <https://github.com/vercel/next.js/compare/v16.2.11...v16.2.12> ### [`v16.2.11`](https://github.com/vercel/next.js/releases/tag/v16.2.11) [Compare Source](https://github.com/vercel/next.js/compare/v16.2.10...v16.2.11) This release contains security fixes for the following advisories: High: - [Denial of Service in App Router using Server Actions](https://github.com/vercel/next.js/security/advisories/GHSA-m99w-x7hq-7vfj) - [Middleware / Proxy bypass in App Router applications using Turbopack and single locale](https://github.com/vercel/next.js/security/advisories/GHSA-6gpp-xcg3-4w24) - [Server-Side Request Forgery in rewrites via attacker-controlled destination hostname](https://github.com/vercel/next.js/security/advisories/GHSA-p9j2-gv94-2wf4) - [Server-Side Request Forgery in Server Actions on custom servers](https://github.com/vercel/next.js/security/advisories/GHSA-89xv-2m56-2m9x) Moderate: - [Cache confusion of response bodies for requests with bodies](https://github.com/vercel/next.js/security/advisories/GHSA-68g3-v927-f742) - [Cache confusion of response bodies for requests with bodies containing invalid UTF-8 byte sequences](https://github.com/vercel/next.js/security/advisories/GHSA-4633-3j49-mh5q) - [Denial of Service in the Image Optimization API using SVGs](https://github.com/vercel/next.js/security/advisories/GHSA-q8wf-6r8g-63ch) - [Unauthenticated disclosure of internal Server Function endpoints](https://github.com/vercel/next.js/security/advisories/GHSA-955p-x3mx-jcvp) - [Unbounded Server Action payload in Edge runtime](https://github.com/vercel/next.js/security/advisories/GHSA-4c39-4ccg-62r3) ### [`v16.2.10`](https://github.com/vercel/next.js/releases/tag/v16.2.10) [Compare Source](https://github.com/vercel/next.js/compare/v16.2.9...v16.2.10) Contains no changes except publishing `@next/swc-wasm-web` which was accidentally not published since 16.2.4. </details> <details> <summary>nextauthjs/next-auth (next-auth)</summary> ### [`v4.24.15`](https://github.com/nextauthjs/next-auth/releases/tag/next-auth%404.24.15) [Compare Source](https://github.com/nextauthjs/next-auth/compare/next-auth@4.24.14...next-auth@4.24.15) Security patch release for the 4.x line. - `getToken()` now returns `null` instead of throwing when the `Authorization` header contains a malformed Bearer value. - OAuth `state`, `nonce`, and PKCE check cookies are now bound to the provider that created them and are rejected when a different provider handles the callback. Sign-ins in flight across the upgrade fail once and succeed on retry. - Email addresses are Unicode-normalized (NFKC) before validation in the email sign-in flow, closing a homoglyph `@` bypass. - An explicitly configured `NEXTAUTH_URL` now takes precedence over the auto-detected forwarded host in trusted-host mode. - Restores CommonJS compatibility by pinning `uuid` to `^11.1.1`; the 14.x line is ESM-only and broke `require()` on Node versions below 20.19. </details> <details> <summary>prettier/prettier (prettier)</summary> ### [`v3.9.10`](https://github.com/prettier/prettier/blob/HEAD/CHANGELOG.md#3910) [Compare Source](https://github.com/prettier/prettier/compare/3.9.9...3.9.10) [diff](https://github.com/prettier/prettier/compare/3.9.9...3.9.10) ##### Markdown: Update `micromark-extension-gfm-table` to fix the table parse issue on performance ([#&#8203;20266](https://github.com/prettier/prettier/pull/20266) by [@&#8203;fisker](https://github.com/fisker)) See [micromark/micromark-extension-gfm-table@`4f43ead`](https://github.com/micromark/micromark-extension-gfm-table/commit/4f43ead37b786bc531d924530d4ab4c714886267) for details. ### [`v3.9.9`](https://github.com/prettier/prettier/blob/HEAD/CHANGELOG.md#399) [Compare Source](https://github.com/prettier/prettier/compare/3.9.8...3.9.9) [diff](https://github.com/prettier/prettier/compare/3.9.8...3.9.9) ##### Markdown: Fix text with `$` been incorrectly parsed as math syntax ([#&#8203;20140](https://github.com/prettier/prettier/pull/20140) by [@&#8203;fisker](https://github.com/fisker)) <!-- prettier-ignore --> ```md <!-- Input --> **Uses $FOO** from `a.sh` and `b.sh`, plus `$BAR` from `c.sh`, before anything else runs here. <!-- Prettier 3.9.8 --> **Uses $FOO** from `a.sh` and `b.sh`, plus `$BAR`from`c.sh`, before anything else runs here. <!-- Prettier 3.9.9 --> **Uses $FOO** from `a.sh` and `b.sh`, plus `$BAR` from `c.sh`, before anything else runs here. ``` ### [`v3.9.8`](https://github.com/prettier/prettier/blob/HEAD/CHANGELOG.md#398) [Compare Source](https://github.com/prettier/prettier/compare/3.9.7...3.9.8) [diff](https://github.com/prettier/prettier/compare/3.9.7...3.9.8) ##### Markdown: Don't let Liquid objects interrupt paragraphs ([#&#8203;20087](https://github.com/prettier/prettier/pull/20087) by [@&#8203;seiyab](https://github.com/seiyab)) <!-- prettier-ignore --> ```markdown <!-- Input --> If `module` is not a [`WebAssembly.Module`](/en-US/docs/WebAssembly/Reference/JavaScript_interface/Module) object instance, a {{jsxref("TypeError")}} is thrown. <!-- Prettier 3.9.7 --> If `module` is not a [`WebAssembly.Module`](/en-US/docs/WebAssembly/Reference/JavaScript_interface/Module) object instance, a {{jsxref("TypeError")}} is thrown. <!-- Prettier 3.9.8 --> If `module` is not a [`WebAssembly.Module`](/en-US/docs/WebAssembly/Reference/JavaScript_interface/Module) object instance, a {{jsxref("TypeError")}} is thrown. ``` ### [`v3.9.7`](https://github.com/prettier/prettier/blob/HEAD/CHANGELOG.md#397) [Compare Source](https://github.com/prettier/prettier/compare/3.9.6...3.9.7) [diff](https://github.com/prettier/prettier/compare/3.9.6...3.9.7) ##### Markdown: Prevent indentation drift in list-item code blocks ([#&#8203;19647](https://github.com/prettier/prettier/pull/19647), [#&#8203;19990](https://github.com/prettier/prettier/pull/19990) by [@&#8203;Austin1serb](https://github.com/Austin1serb), [@&#8203;giaBaoJS](https://github.com/giaBaoJS)) <!-- prettier-ignore --> ```markdown <!-- Input --> - [x] short first line. second paragraph at six spaces that wraps onto another line here. <!-- Prettier 3.9.6 --> - [x] short first line. second paragraph at six spaces that wraps onto another line here. <!-- Prettier 3.9.7 --> - [x] short first line. second paragraph at six spaces that wraps onto another line here. ``` ##### JavaScript: Fix embedded template literal idempotency ([#&#8203;19725](https://github.com/prettier/prettier/pull/19725) by [@&#8203;fisker](https://github.com/fisker)) <!-- prettier-ignore --> ```jsx // Input const foo = html` <div>${getText({ value, })}</div> `; // Prettier 3.9.6 (first format) const foo = html` <div> ${getText({ value, })} </div> `; // Prettier 3.9.6 (second format) const foo = html` <div> ${getText({ value, })} </div> `; // Prettier 3.9.7 const foo = html` <div> ${getText({ value, })} </div> `; ``` ##### Markdown: Preserve Liquid blocks after Markdown tables ([#&#8203;19730](https://github.com/prettier/prettier/pull/19730) by [@&#8203;wanxiankai](https://github.com/wanxiankai), [@&#8203;seiyab](https://github.com/seiyab)) <!-- prettier-ignore --> ```markdown <!-- Input --> | Argument | Type | | -------- | ---- | {% set default_params = { "model": ["str"], } %} <!-- Prettier 3.9.6 --> | Argument | Type | | ------------------------- | ---- | | {% set default_params = { | "model": ["str"], } %} <!-- Prettier 3.9.7 --> | Argument | Type | | -------- | ---- | {% set default_params = { "model": ["str"], } %} ``` ##### Markdown: Preserve single tildes in Markdown ([#&#8203;19739](https://github.com/prettier/prettier/pull/19739) by [@&#8203;lazerg](https://github.com/lazerg)) Since 3.9.0, single-tilde spans like `H~2~O` were rewritten to double tildes, turning subscript syntax into strike-through. Only double tildes are treated that way now, matching GitHub. <!-- prettier-ignore --> ```markdown <!-- Input --> H~2~O <!-- Prettier 3.9.6 --> H~~2~~O <!-- Prettier 3.9.7 --> H~2~O ``` ##### Markdown: Fix Markdown blockquote containing `>` characters ([#&#8203;19802](https://github.com/prettier/prettier/pull/19802) by [@&#8203;seiyab](https://github.com/seiyab)) <!-- prettier-ignore --> ```md <!-- Input --> > **test**\> <!-- Prettier 3.9.6 --> > **test**>\> <!-- Prettier 3.9.7 --> > **test**\> ``` ##### Markdown: Strip blockquote markers from a setext heading's continuation lines ([#&#8203;19878](https://github.com/prettier/prettier/pull/19878) by [@&#8203;Kjubikstronk](https://github.com/Kjubikstronk)) A setext heading spanning multiple lines inside a blockquote kept the `>` marker of its continuation lines as literal text. <!-- prettier-ignore --> ```md <!-- Input --> > Multi > Line > === <!-- Prettier 3.9.6 --> > Multi > Line > === <!-- Prettier 3.9.7 --> > Multi > Line > === ``` ##### Markdown: Fix HTML block indentation drift in markdown list items ([#&#8203;19987](https://github.com/prettier/prettier/pull/19987) by [@&#8203;lazerg](https://github.com/lazerg)) <!-- prettier-ignore --> ```markdown <!-- Input --> 1. Enable images: <p align="center"> <img alt="example"> </p> <!-- Prettier 3.9.6 (--tab-width=4) --> 1. Enable images: <p align="center"> <img alt="example"> </p> <!-- Prettier 3.9.7 (--tab-width=4) --> 1. Enable images: <p align="center"> <img alt="example"> </p> ``` ##### Angular: Support `@boundary` error boundaries ([#&#8203;20014](https://github.com/prettier/prettier/pull/20014) by [@&#8203;Yahiro025](https://github.com/Yahiro025)) <!-- prettier-ignore --> ```html <!-- Input --> @boundary { <complex-chart [data]="data"/> } @error (let err) { <p>{{err.message}}</p> } <!-- Prettier 3.9.6 --> SyntaxError: Unexpected character "EOF" (Do you have an unescaped "{" in your template? Use "{{ '{' }}") to escape it.) (6:1) <!-- Prettier 3.9.7 --> @boundary { <complex-chart [data]="data" /> } @error (let err) { <p>{{ err.message }}</p> } ``` ### [`v3.9.6`](https://github.com/prettier/prettier/blob/HEAD/CHANGELOG.md#396) [Compare Source](https://github.com/prettier/prettier/compare/3.9.5...3.9.6) [diff](https://github.com/prettier/prettier/compare/3.9.5...3.9.6) ##### TypeScript: Preserve quotes for methods named `new` ([#&#8203;19621](https://github.com/prettier/prettier/pull/19621) by [@&#8203;kovsu](https://github.com/kovsu)) <!-- prettier-ignore --> ```tsx // Input interface Container { "new"(id: string): number; } // Prettier 3.9.5 interface Container { new(id: string): number; } // Prettier 3.9.6 interface Container { "new"(id: string): number; } ``` ##### TypeScript: Support `import defer` ([#&#8203;19624](https://github.com/prettier/prettier/pull/19624), [#&#8203;19675](https://github.com/prettier/prettier/pull/19675) by [@&#8203;fisker](https://github.com/fisker)) <!-- prettier-ignore --> ```tsx // Input import defer * as foo from "foo"; // Prettier 3.9.5 import * as foo from "foo"; // Prettier 3.9.6 import defer * as foo from "foo"; ``` ##### JavaScript: Added a new official plugin `@prettier/plugin-yuku` ([#&#8203;19628](https://github.com/prettier/prettier/pull/19628), [#&#8203;19629](https://github.com/prettier/prettier/pull/19629) by [@&#8203;fisker](https://github.com/fisker)) `@prettier/plugin-yuku` is powered by [Yuku](https://yuku.fyi/) (A high-performance JavaScript/TypeScript compiler toolchain written in Zig). This plugin includes two new parsers: `yuku` (JavaScript syntax) and `yuku-ts` (TypeScript syntax). **To use this plugin:** 1. Install the plugin: ```bash yarn add --dev prettier @prettier/plugin-yuku ``` 2. Add it to your `.prettierrc`: ```yaml plugins: - "@prettier/plugin-yuku" ``` Due to package size limitations, this plugin is not bundled with the main prettier package and must be installed separately. For more information, check [the package homepage](https://github.com/prettier/prettier/tree/main/packages/plugin-yuku). Big thanks to [@&#8203;arshad-yaseen](https://github.com/arshad-yaseen) for his excellent work. ### [`v3.9.5`](https://github.com/prettier/prettier/blob/HEAD/CHANGELOG.md#395) [Compare Source](https://github.com/prettier/prettier/compare/3.9.4...3.9.5) [diff](https://github.com/prettier/prettier/compare/3.9.4...3.9.5) ##### Markdown: Cap ordered list mark at 999,999,999 ([#&#8203;19351](https://github.com/prettier/prettier/pull/19351) by [@&#8203;tats-u](https://github.com/tats-u)) CommonMark parsers only support ordered list item numbers up to 999,999,999. With this change, Prettier now caps the ordered list item number at 999,999,999 to ensure that the output is correctly parsed as an ordered list by CommonMark parsers. Numbers larger than 999,999,999 are not parsed as list item numbers and are left unchanged in the output: <!-- prettier-ignore --> ```markdown <!-- Input --> 999999998. text 999999998. text 999999998. text 999999998. text 1234567890123456789012) text <!-- Prettier 3.9.4 --> 999999998. text 999999999. text 1000000000. text 1000000001. text 1234567890123456789012) text <!-- Prettier 3.9.5 --> 999999998. text 999999999. text 999999999. text 999999999. text 1234567890123456789012) text ``` ##### Markdown: Avoid corrupting empty link with title ([#&#8203;19487](https://github.com/prettier/prettier/pull/19487) by [@&#8203;andersk](https://github.com/andersk)) Do not remove `<>` from an inline link or image with an empty URL and a title, as this removal would change its interpretation. <!-- prettier-ignore --> ```md <!-- Input --> [link](<> "title") <!-- Prettier 3.9.4 --> [link]( "title") <!-- Prettier 3.9.5 --> [link](<> "title") ``` ##### Less: Remove extra spaces after `[` in map lookups ([#&#8203;19503](https://github.com/prettier/prettier/pull/19503) by [@&#8203;kovsu](https://github.com/kovsu)) <!-- prettier-ignore --> ```less // Input .foo { color: #theme[ primary]; color: #theme[@name]; color: #theme[@@name]; } // Prettier 3.9.4 .foo { color: #theme[ primary]; color: #theme[ @name]; color: #theme[ @@name]; } // Prettier 3.9.5 .foo { color: #theme[primary]; color: #theme[@name]; color: #theme[@@name]; } ``` ##### CSS: Prevent addition space in `type()` with `+` ([#&#8203;19516](https://github.com/prettier/prettier/pull/19516) by [@&#8203;bigandy](https://github.com/bigandy)) This fixes the addition space before `+` in CSS `type()` declaration. For example `type(<number>+)` was being converted into `type(<number> +)` which is invalid CSS and does not work. <!-- prettier-ignore --> ```css /* Input */ div { border-radius: attr(br type(<length>+)); } /* Prettier 3.9.4 */ div { border-radius: attr(br type(<length> +)); } /* Prettier 3.9.5 */ div { border-radius: attr(br type(<length>+)); } ``` ##### Less: Remove spaces between merge markers and colons ([#&#8203;19517](https://github.com/prettier/prettier/pull/19517) by [@&#8203;kovsu](https://github.com/kovsu)) <!-- prettier-ignore --> ```less // Input a { box-shadow + : 0 0 1px #&#8203;000; } // Prettier 3.9.4 a { box-shadow+ : 0 0 1px #&#8203;000; } // Prettier 3.9.5 a { box-shadow+: 0 0 1px #&#8203;000; } ``` ##### Markdown: Preserve wiki links with aliases ([#&#8203;19527](https://github.com/prettier/prettier/pull/19527) by [@&#8203;kovsu](https://github.com/kovsu)) <!-- prettier-ignore --> ```markdown <!-- Input --> [[Foo:Bar]] <!-- Prettier 3.9.4 --> [[Foo]] <!-- Prettier 3.9.5 --> [[Foo:Bar]] ``` ##### TypeScript: Fix comments being dropped on shorthand `type` import/export specifiers ([#&#8203;19565](https://github.com/prettier/prettier/pull/19565) by [@&#8203;kirkwaiblinger](https://github.com/kirkwaiblinger)) <!-- prettier-ignore --> ```tsx // Input export { type /* comment */ T } from "foo"; import { type /* comment */ T } from "foo"; // Prettier 3.9.4 Error: Comment "comment" was not printed. Please report this error! // Prettier 3.9.5 export { type /* comment */ T } from "foo"; import { type /* comment */ T } from "foo"; ``` ##### Miscellaneous: Preserving comments' `placement` property ([#&#8203;19567](https://github.com/prettier/prettier/pull/19567) by [@&#8203;Janther](https://github.com/Janther)) Prettier\@&#8203;3.9.0 deleted an undocumented property on comments, which was already used by plugins, `comment.placement` is now available again after comment attach. ##### Flow: Stop enforcing empty module declaration to break ([#&#8203;19568](https://github.com/prettier/prettier/pull/19568) by [@&#8203;fisker](https://github.com/fisker)) <!-- prettier-ignore --> ```flow // Input declare module "foo" {} // Prettier 3.9.4 declare module "foo" { } // Prettier 3.9.5 declare module "foo" {} ``` ##### Angular: Support expression for exhaustive typechecking ([#&#8203;19571](https://github.com/prettier/prettier/pull/19571) by [@&#8203;fisker](https://github.com/fisker)) <!-- prettier-ignore --> ```html <!-- Input --> @switch (state.mode) { @default never(state); } <!-- Prettier 3.9.4 --> @switch (state.mode) { @default never; } <!-- Prettier 3.9.5 --> @switch (state.mode) { @default never(state); } ``` ##### TypeScript: Ignore comments inside mapped type when checking type parameter comments ([#&#8203;19572](https://github.com/prettier/prettier/pull/19572) by [@&#8203;fisker](https://github.com/fisker)) <!-- prettier-ignore --> ```tsx // Input foo<{ // comment [key in keyof Foo]: number }>(); // Prettier 3.9.4 foo< { // comment [key in keyof Foo]: number; } >(); // Prettier 3.9.5 foo<{ // comment [key in keyof Foo]: number; }>(); ``` ##### Less: Fix adjacent block comments being corrupted ([#&#8203;19574](https://github.com/prettier/prettier/pull/19574) by [@&#8203;kovsu](https://github.com/kovsu)) <!-- prettier-ignore --> ```less // Input /* a *//* b */ /* a */* { color: red; } // Prettier 3.9.4 /* a */ /* b */ /* a * { color: red; } // Prettier 3.9.5 /* a */ /* b */ /* a */ * { color: red; } ``` ##### JavaScript: Handle dangling comments in `SwitchStatement` ([#&#8203;19581](https://github.com/prettier/prettier/pull/19581) by [@&#8203;fisker](https://github.com/fisker)) <!-- prettier-ignore --> ```jsx // Input switch (foo) { // comment } // Prettier 3.9.4 switch ( foo // comment ) { } // Prettier 3.9.5 switch (foo) { // comment } ``` ##### TypeScript: Remove space in comment-only object type ([#&#8203;19583](https://github.com/prettier/prettier/pull/19583) by [@&#8203;fisker](https://github.com/fisker)) <!-- prettier-ignore --> ```tsx // Input var foo = { /* comment */ }; type Foo = { /* comment */ }; // Prettier 3.9.4 var foo = {/* comment */}; type Foo = { /* comment */ }; // Prettier 3.9.5 var foo = {/* comment */}; type Foo = {/* comment */}; ``` ### [`v3.9.4`](https://github.com/prettier/prettier/blob/HEAD/CHANGELOG.md#394) [Compare Source](https://github.com/prettier/prettier/compare/3.9.3...3.9.4) [diff](https://github.com/prettier/prettier/compare/3.9.3...3.9.4) ##### Angular: Format `@content(name)` -> `@content (name)` to align with other block syntax ([#&#8203;19499](https://github.com/prettier/prettier/pull/19499) by [@&#8203;fisker](https://github.com/fisker)) <!-- prettier-ignore --> ```html <!-- Input --> <FancyButton [label]="title"> @content (icon) { <span>Icon!</span> } @content (description) { <span>Description text</span> } <span>Other children</span> </FancyButton> <!-- Prettier 3.9.3 --> <FancyButton [label]="title"> @content(icon) { <span>Icon!</span> } @content(description) { <span>Description text</span> } <span>Other children</span> </FancyButton> <!-- Prettier 3.9.4 --> <FancyButton [label]="title"> @content (icon) { <span>Icon!</span> } @content (description) { <span>Description text</span> } <span>Other children</span> </FancyButton> ``` ### [`v3.9.3`](https://github.com/prettier/prettier/blob/HEAD/CHANGELOG.md#393) [Compare Source](https://github.com/prettier/prettier/compare/3.9.2...3.9.3) [diff](https://github.com/prettier/prettier/compare/3.9.1...3.9.3) ##### Markdown: Fix unexpected removal of characters in liquid syntax ([#&#8203;19489](https://github.com/prettier/prettier/pull/19489) by [@&#8203;seiyab](https://github.com/seiyab)) <!-- prettier-ignore --> ```md // Input <!-- Input --> {{ page.title }} text <!-- Prettier 3.9.1 --> {{ page.title text <!-- Prettier 3.9.3 --> {{ page.title }} text ``` ##### TypeScript: Allow decorators to be used with declare on class fields ([#&#8203;19492](https://github.com/prettier/prettier/pull/19492) by [@&#8203;evoactivity](https://github.com/evoactivity)) Extensively used within the Ember ecosystem, decorators with `declare` on class fields will ignore the babel parser error and allow Prettier to format the code without breaking it. <!-- prettier-ignore --> ```ts // Input export default class ProjectStatusComponent extends Component<ProjectStatusSig> { @service declare server: ServerService; } // Prettier 3.9.1 // SyntaxError: Decorators can't be used with a declare field. (2:3) // 1 | export default class ProjectStatusComponent extends Component<ProjectStatusSig> { //> 2 | @service declare server: ServerService; // | ^ // 3 | } // Prettier 3.9.3 export default class ProjectStatusComponent extends Component<ProjectStatusSig> { @service declare server: ServerService; } ``` ### [`v3.9.2`](https://github.com/prettier/prettier/compare/3.9.1...3.9.2) [Compare Source](https://github.com/prettier/prettier/compare/3.9.1...3.9.2) ### [`v3.9.1`](https://github.com/prettier/prettier/blob/HEAD/CHANGELOG.md#3910) [Compare Source](https://github.com/prettier/prettier/compare/3.9.0...3.9.1) [diff](https://github.com/prettier/prettier/compare/3.9.9...3.9.10) ##### Markdown: Update `micromark-extension-gfm-table` to fix the table parse issue on performance ([#&#8203;20266](https://github.com/prettier/prettier/pull/20266) by [@&#8203;fisker](https://github.com/fisker)) See [micromark/micromark-extension-gfm-table@`4f43ead`](https://github.com/micromark/micromark-extension-gfm-table/commit/4f43ead37b786bc531d924530d4ab4c714886267) for details. ### [`v3.9.0`](https://github.com/prettier/prettier/blob/HEAD/CHANGELOG.md#390) [Compare Source](https://github.com/prettier/prettier/compare/3.8.5...3.9.0) [diff](https://github.com/prettier/prettier/compare/3.8.5...3.9.0) 🔗 [Release Notes](https://prettier.io/blog/2026/06/27/3.9.0) ### [`v3.8.5`](https://github.com/prettier/prettier/blob/HEAD/CHANGELOG.md#385) [Compare Source](https://github.com/prettier/prettier/compare/3.8.4...3.8.5) [diff](https://github.com/prettier/prettier/compare/3.8.4...3.8.5) ##### Flow: Support `readonly` as a variance annotation ([#&#8203;19022](https://github.com/prettier/prettier/pull/19022) by [@&#8203;marcoww6](https://github.com/marcoww6)) Flow now accepts `readonly` as a property variance annotation, equivalent to `+` (covariant/read-only). <!-- prettier-ignore --> ```jsx // Input type T = { readonly foo: string, }; // Prettier 3.8.4 SyntaxError // Prettier 3.8.5 type T = { readonly foo: string, }; ``` </details> <details> <summary>react/react (react)</summary> ### [`v19.3.1`](https://github.com/react/react/releases/tag/v19.3.1): 19.3.1 (October 14th, 2026) [Compare Source](https://github.com/react/react/compare/v19.3.0...v19.3.1) ##### React Server Components - Improve transport protocol ([#&#8203;37845](https://github.com/facebook/react/pull/37845) by [@&#8203;unstubbable](https://github.com/unstubbable) and [@&#8203;eps1lon](https://github.com/eps1lon)) ### [`v19.3.0`](https://github.com/react/react/blob/HEAD/CHANGELOG.md#1930-September-9-2026) [Compare Source](https://github.com/react/react/compare/v19.2.9...v19.3.0) ##### New React Features - `<ViewTransition />`: Adds `<ViewTransition />` and `addTransitionType` APIs to power View Transition animations in React ([@&#8203;sebmarkbage](https://github.com/sebmarkbage), [@&#8203;jackpope](https://github.com/jackpope), [@&#8203;gaearon](https://github.com/gaearon): [#&#8203;31975](https://github.com/react/react/pull/31975), [#&#8203;31987](https://github.com/react/react/pull/31987), [#&#8203;31996](https://github.com/react/react/pull/31996), [#&#8203;31999](https://github.com/react/react/pull/31999), [#&#8203;32001](https://github.com/react/react/pull/32001), [#&#8203;32002](https://github.com/react/react/pull/32002), [#&#8203;32028](https://github.com/react/react/pull/32028), [#&#8203;32029](https://github.com/react/react/pull/32029), [#&#8203;32031](https://github.com/react/react/pull/32031), [#&#8203;32034](https://github.com/react/react/pull/32034), [#&#8203;32038](https://github.com/react/react/pull/32038), [#&#8203;32041](https://github.com/react/react/pull/32041), [#&#8203;32050](https://github.com/react/react/pull/32050), [#&#8203;32090](https://github.com/react/react/pull/32090), [#&#8203;32105](https://github.com/react/react/pull/32105), [#&#8203;32254](https://github.com/react/react/pull/32254), [#&#8203;32379](https://github.com/react/react/pull/32379), [#&#8203;32422](https://github.com/react/react/pull/32422), [#&#8203;32462](https://github.com/react/react/pull/32462), [#&#8203;32540](https://github.com/react/react/pull/32540), [#&#8203;32545](https://github.com/react/react/pull/32545), [#&#8203;32585](https://github.com/react/react/pull/32585), [#&#8203;32599](https://github.com/react/react/pull/32599), [#&#8203;32611](https://github.com/react/react/pull/32611), [#&#8203;32612](https://github.com/react/react/pull/32612), [#&#8203;32617](https://github.com/react/react/pull/32617), [#&#8203;32651](https://github.com/react/react/pull/32651), [#&#8203;32653](https://github.com/react/react/pull/32653), [#&#8203;32656](https://github.com/react/react/pull/32656), [#&#8203;32664](https://github.com/react/react/pull/32664), [#&#8203;32699](https://github.com/react/react/pull/32699), [#&#8203;32723](https://github.com/react/react/pull/32723), [#&#8203;32734](https://github.com/react/react/pull/32734), [#&#8203;32751](https://github.com/react/react/pull/32751), [#&#8203;32752](https://github.com/react/react/pull/32752), [#&#8203;32760](https://github.com/react/react/pull/32760), [#&#8203;32761](https://github.com/react/react/pull/32761), [#&#8203;32764](https://github.com/react/react/pull/32764), [#&#8203;32772](https://github.com/react/react/pull/32772), [#&#8203;32790](https://github.com/react/react/pull/32790), [#&#8203;32819](https://github.com/react/react/pull/32819), [#&#8203;32820](https://github.com/react/react/pull/32820), [#&#8203;32822](https://github.com/react/react/pull/32822), [#&#8203;32833](https://github.com/react/react/pull/32833), [#&#8203;32849](https://github.com/react/react/pull/32849), [#&#8203;33094](https://github.com/react/react/pull/33094), [#&#8203;33191](https://github.com/react/react/pull/33191), [#&#8203;33200](https://github.com/react/react/pull/33200), [#&#8203;33206](https://github.com/react/react/pull/33206), [#&#8203;33293](https://github.com/react/react/pull/33293), [#&#8203;33330](https://github.com/react/react/pull/33330), [#&#8203;33331](https://github.com/react/react/pull/33331), [#&#8203;33332](https://github.com/react/react/pull/33332), [#&#8203;33357](https://github.com/react/react/pull/33357), [#&#8203;33362](https://github.com/react/react/pull/33362), [#&#8203;33433](https://github.com/react/react/pull/33433), [#&#8203;33576](https://github.com/react/react/pull/33576), [#&#8203;34374](https://github.com/react/react/pull/34374), [#&#8203;34450](https://github.com/react/react/pull/34450), [#&#8203;34481](https://github.com/react/react/pull/34481), [#&#8203;34500](https://github.com/react/react/pull/34500), [#&#8203;34502](https://github.com/react/react/pull/34502), [#&#8203;34510](https://github.com/react/react/pull/34510), [#&#8203;34511](https://github.com/react/react/pull/34511), [#&#8203;34539](https://github.com/react/react/pull/34539), [#&#8203;35567](https://github.com/react/react/pull/35567), [#&#8203;35564](https://github.com/react/react/pull/35564), [#&#8203;35485](https://github.com/react/react/pull/35485), [#&#8203;35380](https://github.com/react/react/pull/35380), [#&#8203;35063](https://github.com/react/react/pull/35063), [#&#8203;35060](https://github.com/react/react/pull/35060), [#&#8203;34676](https://github.com/react/react/pull/34676), [#&#8203;36917](https://github.com/react/react/pull/36917), [#&#8203;35337](https://github.com/react/react/pull/35337), [#&#8203;35520](https://github.com/react/react/pull/35520)) - Fragment Refs: Add Refs to `<Fragment />` to support composable platform behavior ([@&#8203;jackpope](https://github.com/jackpope), [@&#8203;sebmarkbage](https://github.com/sebmarkbage), [@&#8203;eps1lon](https://github.com/eps1lon), [@&#8203;Dhakshin2007](https://github.com/Dhakshin2007), [@&#8203;chirokas](https://github.com/chirokas), [@&#8203;teamleaderleo](https://github.com/teamleaderleo), [@&#8203;fallintoplace](https://github.com/fallintoplace): [#&#8203;32465](https://github.com/react/react/pull/32465), [#&#8203;32613](https://github.com/react/react/pull/32613), [#&#8203;32619](https://github.com/react/react/pull/32619), [#&#8203;32654](https://github.com/react/react/pull/32654), [#&#8203;32660](https://github.com/react/react/pull/32660), [#&#8203;32682](https://github.com/react/react/pull/32682), [#&#8203;32722](https://github.com/react/react/pull/32722), [#&#8203;32813](https://github.com/react/react/pull/32813), [#&#8203;32814](https://github.com/react/react/pull/32814), [#&#8203;33056](https://github.com/react/react/pull/33056), [#&#8203;33058](https://github.com/react/react/pull/33058), [#&#8203;33093](https://github.com/react/react/pull/33093), [#&#8203;34069](https://github.com/react/react/pull/34069), [#&#8203;34103](https://github.com/react/react/pull/34103), [#&#8203;34544](https://github.com/react/react/pull/34544), [#&#8203;34545](https://github.com/react/react/pull/34545), [#&#8203;37062](https://github.com/react/react/pull/37062), [#&#8203;37061](https://github.com/react/react/pull/37061), [#&#8203;37060](https://github.com/react/react/pull/37060), [#&#8203;36047](https://github.com/react/react/pull/36047), [#&#8203;36010](https://github.com/react/react/pull/36010), [#&#8203;35642](https://github.com/react/react/pull/35642), [#&#8203;35641](https://github.com/react/react/pull/35641), [#&#8203;35637](https://github.com/react/react/pull/35637), [#&#8203;35630](https://github.com/react/react/pull/35630), [#&#8203;34935](https://github.com/react/react/pull/34935), [#&#8203;37457](https://github.com/react/react/pull/37457), [#&#8203;37408](https://github.com/react/react/pull/37408), [#&#8203;37326](https://github.com/react/react/pull/37326), [#&#8203;37251](https://github.com/react/react/pull/37251), [#&#8203;37171](https://github.com/react/react/pull/37171), [#&#8203;37169](https://github.com/react/react/pull/37169), [#&#8203;37168](https://github.com/react/react/pull/37168), [#&#8203;37167](https://github.com/react/react/pull/37167), [#&#8203;37166](https://github.com/react/react/pull/37166), [#&#8203;37165](https://github.com/react/react/pull/37165), [#&#8203;37164](https://github.com/react/react/pull/37164), [#&#8203;37163](https://github.com/react/react/pull/37163), [#&#8203;37162](https://github.com/react/react/pull/37162), [#&#8203;37161](https://github.com/react/react/pull/37161), [#&#8203;37160](https://github.com/react/react/pull/37160), [#&#8203;37125](https://github.com/react/react/pull/37125), [#&#8203;37063](https://github.com/react/react/pull/37063)) ##### New React DOM Features - `browser()`: a new `react-dom` API that returns a usable which errors during server rendering and resolves in the browser. `use(browser())` inside a `<Suspense>` boundary marks a subtree as browser-only without reporting a recoverable error ([@&#8203;gnoff](https://github.com/gnoff): [#&#8203;37143](https://github.com/react/react/pull/37143), [#&#8203;37241](https://github.com/react/react/pull/37241)) - Added an `onBrowserBailout` option to the `react-dom/server` APIs to observe when a subtree defers to the browser ([@&#8203;gnoff](https://github.com/gnoff) [#&#8203;37193](https://github.com/react/react/pull/37193)) ##### Notable changes - Enable Trusted Types API integration ([@&#8203;rickhanlonii](https://github.com/rickhanlonii) [#&#8203;35816](https://github.com/react/react/pull/35816)) - Transitions now render independently instead of being entangled into a single render, so a slow transition no longer holds up unrelated ones ([@&#8203;acdlite](https://github.com/acdlite) [#&#8203;37290](https://github.com/react/react/pull/37290)) - Added a DEV-only warning when a component appears to have been unblocked by calling `use()` conditionally ([@&#8203;hoxyq](https://github.com/hoxyq), [@&#8203;eps1lon](https://github.com/eps1lon): [#&#8203;37104](https://github.com/react/react/pull/37104), [#&#8203;37203](https://github.com/react/react/pull/37203), [#&#8203;37491](https://github.com/react/react/pull/37491)) ##### All Changes ##### React - Fast Refresh Fixes - Fix Fast Refresh to find and remount edits to components wrapped behind `lazy()` ([@&#8203;sophiebits](https://github.com/sophiebits) [#&#8203;36965](https://github.com/react/react/pull/36965)) - Fix Fast Refresh so edits to a `memo()` comparison function take effect ([@&#8203;sophiebits](https://github.com/sophiebits) [#&#8203;36964](https://github.com/react/react/pull/36964)) - Fix Fast Refresh crash when an edit changes the kind of a component's type ([@&#8203;sophiebits](https://github.com/sophiebits) [#&#8203;36963](https://github.com/react/react/pull/36963)) - Unify hot reload type resolution for Fast Refresh ([@&#8203;sophiebits](https://github.com/sophiebits) [#&#8203;36962](https://github.com/react/react/pull/36962)) - Fix Fast Refresh to remount correctly when an edit changes the component kind ([@&#8203;sophiebits](https://github.com/sophiebits) [#&#8203;36950](https://github.com/react/react/pull/36950)) - Double invoke effects in StrictMode after Fast Refresh ([@&#8203;eps1lon](https://github.com/eps1lon) [#&#8203;35962](https://github.com/react/react/pull/35962)) - Performance Track Fixes - Prevent crash when accessing `$$typeof` in Performance Tracks ([@&#8203;eps1lon](https://github.com/eps1lon) [#&#8203;35679](https://github.com/react/react/pull/35679)) - Handle non-string function names in Performance Tracks ([@&#8203;eps1lon](https://github.com/eps1lon) [#&#8203;35659](https://github.com/react/react/pull/35659)) - Use minus (`-`) instead of en dash for removed props in Performance Tracks ([@&#8203;eps1lon](https://github.com/eps1lon) [#&#8203;35649](https://github.com/react/react/pull/35649)) - Handle arrays with bigints in deep objects in Performance Tracks ([@&#8203;eps1lon](https://github.com/eps1lon) [#&#8203;35648](https://github.com/react/react/pull/35648)) - Don't enumerate typed array props in Performance Tracks in DEV ([@&#8203;UditDewan](https://github.com/UditDewan) [#&#8203;36913](https://github.com/react/react/pull/36913)) - Bail out of diffing wide objects and arrays in Performance Tracks ([@&#8203;eps1lon](https://github.com/eps1lon) [#&#8203;34742](https://github.com/react/react/pull/34742)) - Clear potentially large performance measures in DEV ([@&#8203;hoxyq](https://github.com/hoxyq) [#&#8203;34803](https://github.com/react/react/pull/34803)) - Fix missing else branch for renders with no props change in Performance Tracks ([@&#8203;hoxyq](https://github.com/hoxyq) [#&#8203;34837](https://github.com/react/react/pull/34837)) - Activity Fixes - Fix `useSyncExternalStore` missing store mutations that happened while an Activity tree was hidden ([@&#8203;sophiebits](https://github.com/sophiebits) [#&#8203;36947](https://github.com/react/react/pull/36947)) - Hide portal contents when an Activity is hidden ([@&#8203;acdlite](https://github.com/acdlite) [#&#8203;35091](https://github.com/react/react/pull/35091)) - Prevent metadata hoisting in hidden `<Activity>` trees ([@&#8203;ronnakamoto](https://github.com/ronnakamoto) [#&#8203;34983](https://github.com/react/react/pull/34983)) - Prevent errors thrown inside a hidden Activity from escaping to the visible UI ([@&#8203;acdlite](https://github.com/acdlite) [#&#8203;35074](https://github.com/react/react/pull/35074)) - Don't unhide a node if a direct parent Offscreen is still hidden ([@&#8203;sebmarkbage](https://github.com/sebmarkbage) [#&#8203;34821](https://github.com/react/react/pull/34821)) - Don't show internal `<Offscreen>` component in error messages ([@&#8203;rickhanlonii](https://github.com/rickhanlonii) [#&#8203;35763](https://github.com/react/react/pull/35763)) - Warn in DEV when a component appears to have been unblocked by a conditional `use()` ([@&#8203;hoxyq](https://github.com/hoxyq), [@&#8203;eps1lon](https://github.com/eps1lon): [#&#8203;37104](https://github.com/react/react/pull/37104), [#&#8203;37203](https://github.com/react/react/pull/37203), [#&#8203;37491](https://github.com/react/react/pull/37491)) - Render transitions independently instead of entangling them into a single render ([@&#8203;acdlite](https://github.com/acdlite) [#&#8203;37290](https://github.com/react/react/pull/37290)) - Fix hang when updating a dehydrated boundary inside a hidden tree ([@&#8203;gaearon](https://github.com/gaearon) [#&#8203;37135](https://github.com/react/react/pull/37135)) - Don't reacquire Host Singletons during dev effect validation ([@&#8203;gnoff](https://github.com/gnoff) [#&#8203;37113](https://github.com/react/react/pull/37113)) - Only remove properties from Host Singletons on release ([@&#8203;gnoff](https://github.com/gnoff) [#&#8203;37112](https://github.com/react/react/pull/37112)) - Don't invoke effects on moved children in StrictMode ([@&#8203;sophiebits](https://github.com/sophiebits) [#&#8203;36948](https://github.com/react/react/pull/36948)) - Throw a clearer error when a rejected Promise is incorrectly instrumented ([@&#8203;eps1lon](https://github.com/eps1lon) [#&#8203;36328](https://github.com/react/react/pull/36328)) - Fix context propagation into Suspense fallbacks ([@&#8203;acdlite](https://github.com/acdlite) [#&#8203;36160](https://github.com/react/react/pull/36160)) - Fix context propagation through suspended Suspense boundaries ([@&#8203;acdlite](https://github.com/acdlite) [#&#8203;35839](https://github.com/react/react/pull/35839)) - Fix `useDeferredValue` getting stuck ([@&#8203;gaearon](https://github.com/gaearon) [#&#8203;36134](https://github.com/react/react/pull/36134)) - Update `useActionState` error message to say "action state" instead of "form state" ([@&#8203;rickhanlonii](https://github.com/rickhanlonii) [#&#8203;35790](https://github.com/react/react/pull/35790)) - Don't warn when rendering data block scripts ([@&#8203;eps1lon](https://github.com/eps1lon) [#&#8203;35953](https://github.com/react/react/pull/35953)) - Treat fibers with alternates as mounted in `getNearestMountedFiber` ([@&#8203;sebmarkbage](https://github.com/sebmarkbage) [#&#8203;35578](https://github.com/react/react/pull/35578)) - Always instrument the lazy initializer thenable ([@&#8203;gnoff](https://github.com/gnoff) [#&#8203;35521](https://github.com/react/react/pull/35521)) - Annotate cascading updates for DevTools performance tracks in DEV ([@&#8203;huntie](https://github.com/huntie) [#&#8203;34961](https://github.com/react/react/pull/34961)) - Resolve the `.default` export of a `React.lazy` as the canonical value ([@&#8203;sebmarkbage](https://github.com/sebmarkbage) [#&#8203;34906](https://github.com/react/react/pull/34906)) - Limit owner stacks to 10 frames ([@&#8203;eps1lon](https://github.com/eps1lon) [#&#8203;34864](https://github.com/react/react/pull/34864)) - Ensure `useEffectEvent` reads latest values in `forwardRef` and `memo()` components ([@&#8203;eps1lon](https://github.com/eps1lon) [#&#8203;34831](https://github.com/react/react/pull/34831)) ##### React DOM - Copy `source` onto the synthetic `toggle` event ([@&#8203;lazerg](https://github.com/lazerg) [#&#8203;37389](https://github.com/react/react/pull/37389)) - Update HTML parser rules for the new `<select>` parser ([@&#8203;josepharhar](https://github.com/josepharhar) [#&#8203;34804](https://github.com/react/react/pull/34804)) - Update `defaultValue` for `type="number"` inputs to match other input types ([@&#8203;sophiebits](https://github.com/sophiebits) [#&#8203;36980](https://github.com/react/react/pull/36980)) - Avoid setting `innerHTML` when it hasn't changed ([@&#8203;sophiebits](https://github.com/sophiebits) [#&#8203;36949](https://github.com/react/react/pull/36949)) - Forward the `nonce` option in `ReactDOM.preloadModule()` ([@&#8203;UditDewan](https://github.com/UditDewan) [#&#8203;36851](https://github.com/react/react/pull/36851)) - Support `fetchPriority` for module resources ([@&#8203;TheAlexLichter](https://github.com/TheAlexLichter) [#&#8203;36835](https://github.com/react/react/pull/36835)) - Track stylesheet preloads when explicitly preloaded to avoid unnecessary suspension ([@&#8203;gnoff](https://github.com/gnoff) [#&#8203;36386](https://github.com/react/react/pull/36386)) - Suggest correct casing for the misspelled `credentialless` iframe attribute ([@&#8203;vmx906](https://github.com/vmx906) [#&#8203;36322](https://github.com/react/react/pull/36322)) - Add `credentialless` as a recognized boolean attribute for iframes ([@&#8203;vmx906](https://github.com/vmx906) [#&#8203;36148](https://github.com/react/react/pull/36148)) - Prevent reentrant `finishedTask` from calling `completeAll` multiple times ([@&#8203;gnoff](https://github.com/gnoff) [#&#8203;36287](https://github.com/react/react/pull/36287)) - Update the CSS shorthand property list ([@&#8203;kidonng](https://github.com/kidonng) [#&#8203;35636](https://github.com/react/react/pull/35636)) - Support the `maskType` SVG prop ([@&#8203;sleitor](https://github.com/sleitor) [#&#8203;35921](https://github.com/react/react/pull/35921)) - Add support for `onFullscreenChange` and `onFullscreenError` events ([@&#8203;chirokas](https://github.com/chirokas) [#&#8203;34621](https://github.com/react/react/pull/34621)) - Include `submitter` in `submit` events ([@&#8203;eps1lon](https://github.com/eps1lon) [#&#8203;35590](https://github.com/react/react/pull/35590)) - Fire `onReset` when automatically resetting forms ([@&#8203;eps1lon](https://github.com/eps1lon) [#&#8203;35176](https://github.com/react/react/pull/35176)) - Use the `FormData` `submitter` parameter ([@&#8203;jenseng](https://github.com/jenseng) [#&#8203;29028](https://github.com/react/react/pull/29028)) - Fix form status reset when component state is updated ([@&#8203;eps1lon](https://github.com/eps1lon) [#&#8203;34075](https://github.com/react/react/pull/34075)) - Batch updates from `resize` events until the next frame ([@&#8203;eps1lon](https://github.com/eps1lon) [#&#8203;35117](https://github.com/react/react/pull/35117)) ##### React Server - Add `nonce` to rendered import maps ([@&#8203;mattcosta7](https://github.com/mattcosta7) [#&#8203;37339](https://github.com/react/react/pull/37339)) - Add an `onBrowserBailout` option to observe subtrees that defer to the browser ([@&#8203;gnoff](https://github.com/gnoff) [#&#8203;37193](https://github.com/react/react/pull/37193)) - Stop the caller's signal from retaining a finished render ([@&#8203;unstubbable](https://github.com/unstubbable) [#&#8203;37315](https://github.com/react/react/pull/37315)) - Construct the render lifetime controller only when it is needed ([@&#8203;unstubbable](https://github.com/unstubbable) [#&#8203;37357](https://github.com/react/react/pull/37357)) - Fix `react-dom/server` hanging on Deno ([@&#8203;fraidev](https://github.com/fraidev) [#&#8203;35235](https://github.com/react/react/pull/35235)) - Extend stack overflow recovery to retries in SSR ([@&#8203;jackpope](https://github.com/jackpope) [#&#8203;36977](https://github.com/react/react/pull/36977)) - Fix false-positive hydration mismatch on `nonce` attributes ([@&#8203;MaxwellCohen](https://github.com/MaxwellCohen) [#&#8203;37030](https://github.com/react/react/pull/37030)) - Guard shell-error callbacks instead of nulling them out on the request ([@&#8203;eps1lon](https://github.com/eps1lon) [#&#8203;36916](https://github.com/react/react/pull/36916)) - Stop firing `onAllReady` after the shell errored ([@&#8203;eps1lon](https://github.com/eps1lon) [#&#8203;36903](https://github.com/react/react/pull/36903)) - Treat an incomplete tree as an error during error recovery ([@&#8203;acdlite](https://github.com/acdlite) [#&#8203;36911](https://github.com/react/react/pull/36911)) - Fix non-script `modulepreload` tracking ([@&#8203;fallintoplace](https://github.com/fallintoplace) [#&#8203;36564](https://github.com/react/react/pull/36564)) - Finalize postponed `nextSegmentId` after the prelude flush ([@&#8203;gaojude](https://github.com/gaojude) [#&#8203;36779](https://github.com/react/react/pull/36779)) - Preserve `referrerPolicy` in image preload headers ([@&#8203;ulises-jeremias](https://github.com/ulises-jeremias) [#&#8203;36803](https://github.com/react/react/pull/36803)) - Allow pending work to specialize abort reasons ([@&#8203;gnoff](https://github.com/gnoff) [#&#8203;36586](https://github.com/react/react/pull/36586)) - Abort tasks that suspend after aborting during render ([@&#8203;gnoff](https://github.com/gnoff) [#&#8203;36585](https://github.com/react/react/pull/36585)) - Finish abort in a scheduled task ([@&#8203;gnoff](https://github.com/gnoff) [#&#8203;36580](https://github.com/react/react/pull/36580)) - Fix aborts during resumed rendering ([@&#8203;gnoff](https://github.com/gnoff) [#&#8203;36584](https://github.com/react/react/pull/36584)) - Track abort state on the request ([@&#8203;gnoff](https://github.com/gnoff) [#&#8203;36583](https://github.com/react/react/pull/36583)) - Model external work scheduling explicitly in the fb bundle ([@&#8203;gnoff](https://github.com/gnoff) [#&#8203;36576](https://github.com/react/react/pull/36576)) - Continue reporting aborted task errors after a fatal abort ([@&#8203;gnoff](https://github.com/gnoff) [#&#8203;36575](https://github.com/react/react/pull/36575)) - Disallow abort reentrancy ([@&#8203;gnoff](https://github.com/gnoff) [#&#8203;36574](https://github.com/react/react/pull/36574)) - Stop transpiling computed property names ([@&#8203;eps1lon](https://github.com/eps1lon) [#&#8203;36542](https://github.com/react/react/pull/36542)) - Fix crash when capturing the callsite of a stalled `use()` of a rejected Flight chunk ([@&#8203;lubieowoce](https://github.com/lubieowoce) [#&#8203;36544](https://github.com/react/react/pull/36544)) - Double invoke effects in Strict Mode during hydration ([@&#8203;eps1lon](https://github.com/eps1lon) [#&#8203;35961](https://github.com/react/react/pull/35961)) - Add additional task reentrancy protections in Fizz ([@&#8203;gnoff](https://github.com/gnoff) [#&#8203;36291](https://github.com/react/react/pull/36291)) - Don't outline Suspense boundaries with suspensey CSS during shell flush ([@&#8203;gnoff](https://github.com/gnoff) [#&#8203;35824](https://github.com/react/react/pull/35824)) - Push a stalled `use()` to the owner stack and debug task ([@&#8203;eps1lon](https://github.com/eps1lon) [#&#8203;35226](https://github.com/react/react/pull/35226)) - Fix `useId` tracking on replay ([@&#8203;gnoff](https://github.com/gnoff) [#&#8203;35518](https://github.com/react/react/pull/35518)) - Correctly handle replaying when hydrating ([@&#8203;gnoff](https://github.com/gnoff) [#&#8203;35494](https://github.com/react/react/pull/35494)) - Simplify the `createSuspenseBoundary` path ([@&#8203;sebmarkbage](https://github.com/sebmarkbage) [#&#8203;35087](https://github.com/react/react/pull/35087)) - Unify preamble-only fields to save a field on Suspense boundaries ([@&#8203;sebmarkbage](https://github.com/sebmarkbage) [#&#8203;35068](https://github.com/react/react/pull/35068)) - Unify prerender-only fields to save a field on Suspense boundaries ([@&#8203;sebmarkbage](https://github.com/sebmarkbage) [#&#8203;35067](https://github.com/react/react/pull/35067)) - Push halted awaits to the owner stack for late-arriving I/O info ([@&#8203;unstubbable](https://github.com/unstubbable) [#&#8203;35019](https://github.com/react/react/pull/35019)) - Include all Node.js APIs in the Bun entrypoint for `react-dom/server` ([@&#8203;RiskyMH](https://github.com/RiskyMH) [#&#8203;34193](https://github.com/react/react/pull/34193)) - Detach a Suspense boundary after flushing its segment ([@&#8203;gnoff](https://github.com/gnoff) [#&#8203;34694](https://github.com/react/react/pull/34694)) ##### React Server Components - Keep an element pending while a referenced row is resolving ([@&#8203;unstubbable](https://github.com/unstubbable) [#&#8203;37542](https://github.com/react/react/pull/37542)) - Fix `RangeError` from exponential debug info growth ([@&#8203;unstubbable](https://github.com/unstubbable) [#&#8203;37481](https://github.com/react/react/pull/37481)) - Abort the cache signal when debug objects are retained ([@&#8203;unstubbable](https://github.com/unstubbable) [#&#8203;37342](https://github.com/react/react/pull/37342)) - Transfer key validation of lazy nodes when they are unwrapped ([@&#8203;unstubbable](https://github.com/unstubbable) [#&#8203;37258](https://github.com/react/react/pull/37258)) - Add `pending_weak` to the Flight thenable protocol ([@&#8203;acdlite](https://github.com/acdlite) [#&#8203;37154](https://github.com/react/react/pull/37154)) - Outline and dedupe repeated strings ([@&#8203;gaearon](https://github.com/gaearon) [#&#8203;37147](https://github.com/react/react/pull/37147)) - Port Reply Server traversal guards to the Flight Client ([@&#8203;eps1lon](https://github.com/eps1lon) [#&#8203;37144](https://github.com/react/react/pull/37144)) - Define Flight chunk `.then` with `Object.defineProperty` ([@&#8203;eps1lon](https://github.com/eps1lon) [#&#8203;37109](https://github.com/react/react/pull/37109)) - Support Turbopack's experimental array format for chunks ([@&#8203;sampoder](https://github.com/sampoder) [#&#8203;37095](https://github.com/react/react/pull/37095)) - Limit fake JSX call site stacks to 10 frames ([@&#8203;timneutkens](https://github.com/timneutkens) [#&#8203;37086](https://github.com/react/react/pull/37086)) - Improve performance when decoding Flight replies ([@&#8203;gnoff](https://github.com/gnoff) [#&#8203;37090](https://github.com/react/react/pull/37090)) - Recognize Node 22+ V8 frames for `Promise` statics in debug info ([@&#8203;gaearon](https://github.com/gaearon) [#&#8203;36969](https://github.com/react/react/pull/36969)) - Tailor the warning for binary data serialized through `toJSON` (Node `Buffer`) ([@&#8203;unstubbable](https://github.com/unstubbable) [#&#8203;36873](https://github.com/react/react/pull/36873)) - Resolve models before `JSON.stringify` for faster serialization ([@&#8203;mhart](https://github.com/mhart) [#&#8203;36795](https://github.com/react/react/pull/36795)) - Prune debug info when chunks error ([@&#8203;gnoff](https://github.com/gnoff) [#&#8203;36782](https://github.com/react/react/pull/36782)) - Avoid main-thread stalls from large debug strings ([@&#8203;unstubbable](https://github.com/unstubbable) [#&#8203;36570](https://github.com/react/react/pull/36570)) - Fix stranded row content under Node stream backpressure ([@&#8203;unstubbable](https://github.com/unstubbable) [#&#8203;36516](https://github.com/react/react/pull/36516)) - Fix dropped `FormData` entries in `decodeReplyFromBusboy` ([@&#8203;unstubbable](https://github.com/unstubbable) [#&#8203;36468](https://github.com/react/react/pull/36468)) - Harden types and improve performance of Flight replies ([@&#8203;eps1lon](https://github.com/eps1lon) [#&#8203;36425](https://github.com/react/react/pull/36425)) - Add more cycle protections to Flight replies ([@&#8203;eps1lon](https://github.com/eps1lon) [#&#8203;36236](https://github.com/react/react/pull/36236)) - Transport `AggregateError.errors` ([@&#8203;eps1lon](https://github.com/eps1lon) [#&#8203;36156](https://github.com/react/react/pull/36156)) - Bail out early when a backing entry for `Blob` deserialization is not a `Blob` ([@&#8203;eps1lon](https://github.com/eps1lon) [#&#8203;36055](https://github.com/react/react/pull/36055)) - Clear chunk reason after successful module initialization ([@&#8203;unstubbable](https://github.com/unstubbable) [#&#8203;36024](https://github.com/react/react/pull/36024)) - Add support for transporting `Error.cause` ([@&#8203;eps1lon](https://github.com/eps1lon) [#&#8203;35810](https://github.com/react/react/pull/35810)) - Walk parsed JSON instead of using a reviver for faster RSC payload parsing ([@&#8203;timneutkens](https://github.com/timneutkens) [#&#8203;35776](https://github.com/react/react/pull/35776)) - Skip `transferReferencedDebugInfo` during debug info resolution ([@&#8203;unstubbable](https://github.com/unstubbable) [#&#8203;35795](https://github.com/react/react/pull/35795)) - Add `unstable_allowPartialStream` option to Flight Client ([@&#8203;unstubbable](https://github.com/unstubbable) [#&#8203;35731](https://github.com/react/react/pull/35731)) - Fix `encodeReply` for JSX with temporary references ([@&#8203;unstubbable](https://github.com/unstubbable) [#&#8203;35730](https://github.com/react/react/pull/35730)) - Fix debug channel flag in Node.js `renderToPipeableStream` ([@&#8203;feedthejim](https://github.com/feedthejim) [#&#8203;35724](https://github.com/react/react/pull/35724)) - Fix stack overflow in `visitAsyncNode` with deep async chains ([@&#8203;unstubbable](https://github.com/unstubbable) [#&#8203;35612](https://github.com/react/react/pull/35612)) - Allow Server Components to render context providers from client modules ([@&#8203;rickhanlonii](https://github.com/rickhanlonii) [#&#8203;35675](https://github.com/react/react/pull/35675)) - Allow overriding `request.timeOrigin` via `options.startTime` ([@&#8203;lubieowoce](https://github.com/lubieowoce) [#&#8203;35598](https://github.com/react/react/pull/35598)) - Warn once if `eval` is disabled in the dev environment ([@&#8203;eps1lon](https://github.com/eps1lon) [#&#8203;35661](https://github.com/react/react/pull/35661)) - Restore original function name in dev server callstacks served with `unsafe-eval` ([@&#8203;eps1lon](https://github.com/eps1lon) [#&#8203;35650](https://github.com/react/react/pull/35650)) - Fix `react-markup` types for server references ([@&#8203;eps1lon](https://github.com/eps1lon) [#&#8203;35634](https://github.com/react/react/pull/35634)) - Add more DoS mitigations to Flight replies and harden Flight ([@&#8203;unstubbable](https://github.com/unstubbable) [#&#8203;35632](https://github.com/react/react/pull/35632)) - Allow cyclic references to be serialized when unwrapping lazy elements ([@&#8203;unstubbable](https://github.com/unstubbable) [#&#8203;35471](https://github.com/react/react/pull/35471)) - Improve cyclic thenable detection in Flight reply server ([@&#8203;cvan20191](https://github.com/cvan20191) [#&#8203;35369](https://github.com/react/react/pull/35369)) - Add extra loop protection to Flight reply server ([@&#8203;sebmarkbage](https://github.com/sebmarkbage) [#&#8203;35351](https://github.com/react/react/pull/35351)) - Patch Promise cycles and `toString` on Server Functions ([@&#8203;sebmarkbage](https://github.com/sebmarkbage) [#&#8203;35345](https://github.com/react/react/pull/35345)) - Move `react-server-dom-webpack/*.unbundled` to private `react-server-dom-unbundled` ([@&#8203;eps1lon](https://github.com/eps1lon) [#&#8203;35290](https://github.com/react/react/pull/35290)) - Never parse `then` functions in Flight replies ([@&#8203;sebmarkbage](https://github.com/sebmarkbage) [#&#8203;35289](https://github.com/react/react/pull/35289)) - Patch Flight reply server with fixes from Flight Client ([@&#8203;sebmarkbage](https://github.com/sebmarkbage) [#&#8203;35277](https://github.com/react/react/pull/35277)) - Complete the list of Node.js internal Promise awaits ([@&#8203;eps1lon](https://github.com/eps1lon) [#&#8203;35161](https://github.com/react/react/pull/35161)) - Reduce risk of maximum call stack exceeded when emitting async sequences ([@&#8203;eps1lon](https://github.com/eps1lon) [#&#8203;35159](https://github.com/react/react/pull/35159)) - Fix pending chunks count for streams and async iterables in DEV ([@&#8203;unstubbable](https://github.com/unstubbable) [#&#8203;35143](https://github.com/react/react/pull/35143)) - Fix broken byte stream parsing caused by buffer detachment ([@&#8203;unstubbable](https://github.com/unstubbable) [#&#8203;35127](https://github.com/react/react/pull/35127)) - Fix `hasReadable` flag in Node.js clients' debug channel ([@&#8203;unstubbable](https://github.com/unstubbable) [#&#8203;35039](https://github.com/react/react/pull/35039)) - Fix debug info filtering to include later resolved I/O ([@&#8203;unstubbable](https://github.com/unstubbable) [#&#8203;35036](https://github.com/react/react/pull/35036)) - Cache the value when visiting the same I/O or Promise along different paths ([@&#8203;sebmarkbage](https://github.com/sebmarkbage) [#&#8203;35005](https://github.com/react/react/pull/35005)) - Clone subsequent I/O nodes when resolved more than once ([@&#8203;sebmarkbage](https://github.com/sebmarkbage) [#&#8203;35003](https://github.com/react/react/pull/35003)) - Fix hang after resolving cyclic references ([@&#8203;unstubbable](https://github.com/unstubbable) [#&#8203;34988](https://github.com/react/react/pull/34988)) - Allow passing DEV-only `startTime` as an option ([@&#8203;sebmarkbage](https://github.com/sebmarkbage) [#&#8203;34912](https://github.com/react/react/pull/34912)) - Ignore bound-anonymous-fn resources as they're not considered I/O ([@&#8203;sebmarkbage](https://github.com/sebmarkbage) [#&#8203;34911](https://github.com/react/react/pull/34911)) - Fix detached `ArrayBuffer` error when streaming typed arrays ([@&#8203;unstubbable](https://github.com/unstubbable) [#&#8203;34849](https://github.com/react/react/pull/34849)) - Exclude RSC stream if the stream resolves in a task ([@&#8203;sebmarkbage](https://github.com/sebmarkbage) [#&#8203;34838](https://github.com/react/react/pull/34838)) - Forward the current environment when forwarding I/O entries ([@&#8203;sebmarkbage](https://github.com/sebmarkbage) [#&#8203;34836](https://github.com/react/react/pull/34836)) - Look for moved debug info when logging component performance track ([@&#8203;sebmarkbage](https://github.com/sebmarkbage) [#&#8203;34839](https://github.com/react/react/pull/34839)) - Respect `displayName` of Promise instances on the server ([@&#8203;sebmarkbage](https://github.com/sebmarkbage) [#&#8203;34825](https://github.com/react/react/pull/34825)) - Avoid unnecessary indirection when serializing debug info ([@&#8203;unstubbable](https://github.com/unstubbable) [#&#8203;34797](https://github.com/react/react/pull/34797)) - Fix preload `as` attribute for stylesheets ([@&#8203;unstubbable](https://github.com/unstubbable) [#&#8203;34760](https://github.com/react/react/pull/34760)) - Don't serialize `toJSON` in debug path and omit wide arrays ([@&#8203;sebmarkbage](https://github.com/sebmarkbage) [#&#8203;34759](https://github.com/react/react/pull/34759)) - Add support for `<Activity>` ([@&#8203;eps1lon](https://github.com/eps1lon) [#&#8203;34697](https://github.com/react/react/pull/34697)) ### [`v19.2.9`](https://github.com/react/react/releases/tag/v19.2.9): 19.2.9 (October 14th, 2026) [Compare Source](https://github.com/react/react/compare/v19.2.8...v19.2.9) ##### React Server Components - Improve transport protocol ([#&#8203;37844](https://github.com/facebook/react/pull/37844) by [@&#8203;unstubbable](https://github.com/unstubbable) and [@&#8203;eps1lon](https://github.com/eps1lon)) ### [`v19.2.8`](https://github.com/react/react/releases/tag/v19.2.8): 19.2.8 (July 21st, 2026) [Compare Source](https://github.com/react/react/compare/v19.2.7...v19.2.8) ##### React Server Components - Performance improvements when decoding ([#&#8203;37087](https://github.com/facebook/react/pull/37087) by [@&#8203;eps1lon](https://github.com/eps1lon)) </details> <details> <summary>lovell/sharp (sharp)</summary> ### [`v0.35.5`](https://github.com/lovell/sharp/releases/tag/v0.35.5) [Compare Source](https://github.com/lovell/sharp/compare/v0.35.4...v0.35.5) <https://github.com/lovell/sharp-libvips/releases/tag/v1.3.4> - Add upper bounds check on length of `linear` and GIF `delay` arrays. - Improve error handing when WebAssembly fallback also fails. [#&#8203;4593](https://github.com/lovell/sharp/pull/4593) [@&#8203;lazerg](https://github.com/lazerg) - TypeScript: Allow multi-frame options for JXL output. [#&#8203;4602](https://github.com/lovell/sharp/pull/4602) [@&#8203;ramin-010](https://github.com/ramin-010) - TypeScript: Remove non-existent named export. [#&#8203;4604](https://github.com/lovell/sharp/issues/4604) - Increase accepted dimensions when extending an image. [#&#8203;4605](https://github.com/lovell/sharp/issues/4605) - Improve gain map support for `extract` and `rotate` operations. [#&#8203;4606](https://github.com/lovell/sharp/issues/4606) - Tests: Ensure composite tests pass on big endian platforms. [#&#8203;4609](https://github.com/lovell/sharp/issues/4609) ### [`v0.35.4`](https://github.com/lovell/sharp/releases/tag/v0.35.4) [Compare Source](https://github.com/lovell/sharp/compare/v0.35.3...v0.35.4) <https://github.com/lovell/sharp-libvips/releases/tag/v1.3.3> - Bound resize dimensions to coordinate limit. - Bound composite left and top to coordinate limit. [#&#8203;4564](https://github.com/lovell/sharp/pull/4564) [@&#8203;metsw24-max](https://github.com/metsw24-max) - Round palette bit depth up for png and gif colours. [#&#8203;4569](https://github.com/lovell/sharp/pull/4569) [@&#8203;metsw24-max](https://github.com/metsw24-max) - Ensure tiff.subifd input option is used. [#&#8203;4572](https://github.com/lovell/sharp/pull/4572) [@&#8203;metsw24-max](https://github.com/metsw24-max) - Ensure `info.pages` is correct when limiting input page range. [#&#8203;4578](https://github.com/lovell/sharp/pull/4578) [@&#8203;metsw24-max](https://github.com/metsw24-max) - Improve support for input Streams finishing before output is requested. [#&#8203;4584](https://github.com/lovell/sharp/pull/4584) [@&#8203;Jaybhade](https://github.com/Jaybhade) ### [`v0.35.3`](https://github.com/lovell/sharp/releases/tag/v0.35.3) [Compare Source](https://github.com/lovell/sharp/compare/v0.35.2...v0.35.3) - Tighten verification of `text` dimensions, TIFF tile dimensions and `extend` values. - Improve code bundler support by resolving path to libvips binary. - Increase default concurrency when use of `MALLOC_ARENA_MAX` is detected. - Emit warning about binaries provided by Electron for use on Linux. - Add `hasAlpha` property to output `info`. [#&#8203;4500](https://github.com/lovell/sharp/issues/4500) - TypeScript: Return more precise `Buffer<ArrayBuffer>` from `toBuffer`. [#&#8203;4520](https://github.com/lovell/sharp/pull/4520) [@&#8203;Andarist](https://github.com/Andarist) - Bound `clahe` width and height to avoid signed overflow. [#&#8203;4551](https://github.com/lovell/sharp/pull/4551) [@&#8203;metsw24-max](https://github.com/metsw24-max) - Bound `trim` margin to avoid signed overflow. [#&#8203;4552](https://github.com/lovell/sharp/pull/4552) [@&#8203;metsw24-max](https://github.com/metsw24-max) - Reject infinite values when validating numbers. [#&#8203;4553](https://github.com/lovell/sharp/pull/4553) [@&#8203;metsw24-max](https://github.com/metsw24-max) - Bound extract region to libvips coordinate limit. [#&#8203;4555](https://github.com/lovell/sharp/pull/4555) [@&#8203;metsw24-max](https://github.com/metsw24-max) - Verify background colour values are numbers. [#&#8203;4556](https://github.com/lovell/sharp/pull/4556) [@&#8203;metsw24-max](https://github.com/metsw24-max) - Bound create and raw input dimensions to coordinate limit. [#&#8203;4558](https://github.com/lovell/sharp/pull/4558) [@&#8203;metsw24-max](https://github.com/metsw24-max) - Tighten recomb and affine matrix verification. [#&#8203;4560](https://github.com/lovell/sharp/pull/4560) [@&#8203;chatman-media](https://github.com/chatman-media) - Verify cache memory limit to avoid overflow. [#&#8203;4561](https://github.com/lovell/sharp/pull/4561) [@&#8203;metsw24-max](https://github.com/metsw24-max) ### [`v0.35.2`](https://github.com/lovell/sharp/releases/tag/v0.35.2) [Compare Source](https://github.com/lovell/sharp/compare/v0.35.1...v0.35.2) - TypeScript: Add `mediaType` to metadata response. [#&#8203;4492](https://github.com/lovell/sharp/issues/4492) - Improve WebAssembly fallback detection. [#&#8203;4513](https://github.com/lovell/sharp/issues/4513) - Improve code bundler support with stub binaries. [#&#8203;4543](https://github.com/lovell/sharp/issues/4543) - Verify GIF `effort` option is an integer. [#&#8203;4544](https://github.com/lovell/sharp/pull/4544) [@&#8203;metsw24-max](https://github.com/metsw24-max) - Verify `recomb` matrix entries are numbers. [#&#8203;4545](https://github.com/lovell/sharp/pull/4545) [@&#8203;metsw24-max](https://github.com/metsw24-max) - TypeScript: Replace namespace with named exports for ESM. [#&#8203;4546](https://github.com/lovell/sharp/issues/4546) - Bound dilate and erode width to avoid mask-size overflow. [#&#8203;4548](https://github.com/lovell/sharp/pull/4548) [@&#8203;metsw24-max](https://github.com/metsw24-max) - Verify `convolve` kernel values are numbers. [#&#8203;4549](https://github.com/lovell/sharp/pull/4549) [@&#8203;metsw24-max](https://github.com/metsw24-max) ### [`v0.35.1`](https://github.com/lovell/sharp/releases/tag/v0.35.1) [Compare Source](https://github.com/lovell/sharp/compare/v0.35.0...v0.35.1) - TypeScript: Ensure type definitions are published for both ESM and CJS. [#&#8203;4537](https://github.com/lovell/sharp/issues/4537) - WebAssembly: Ensure wrapper file is published. [#&#8203;4538](https://github.com/lovell/sharp/issues/4538) </details> <details> <summary>kulshekhar/ts-jest (ts-jest)</summary> ### [`v29.4.15`](https://github.com/kulshekhar/ts-jest/blob/HEAD/CHANGELOG.md#29415-2026-10-15) [Compare Source](https://github.com/kulshekhar/ts-jest/compare/v29.4.14...v29.4.15) ##### Bug Fixes - **compiler:** resolve modules with tsconfig options regardless of cache state ([268746c](https://github.com/kulshekhar/ts-jest/commit/268746c0fcaf72476cebb348c5543e5c2aac3622)), closes [#&#8203;5216](https://github.com/kulshekhar/ts-jest/issues/5216) - support `.cjs` config files in `config:migrate` ([4001b4e](https://github.com/kulshekhar/ts-jest/commit/4001b4e6d28aa461e7468f09157413e113f0bd92)), closes [#&#8203;4485](https://github.com/kulshekhar/ts-jest/issues/4485) ### [`v29.4.14`](https://github.com/kulshekhar/ts-jest/blob/HEAD/CHANGELOG.md#29414-2026-09-25) [Compare Source](https://github.com/kulshekhar/ts-jest/compare/v29.4.13...v29.4.14) ##### Reverts - bring back prior changes of compiler util ([#&#8203;5471](https://github.com/kulshekhar/ts-jest/issues/5471)) ([01e5a2e](https://github.com/kulshekhar/ts-jest/commit/01e5a2e17ac9c940880865d6a81751832dcc4184)), closes [#&#8203;5469](https://github.com/kulshekhar/ts-jest/issues/5469) ### [`v29.4.13`](https://github.com/kulshekhar/ts-jest/blob/HEAD/CHANGELOG.md#29413-2026-09-22) [Compare Source](https://github.com/kulshekhar/ts-jest/compare/v29.4.12...v29.4.13) ##### Features - support Babel 8 ([#&#8203;5466](https://github.com/kulshekhar/ts-jest/issues/5466)) ([c3a0b57](https://github.com/kulshekhar/ts-jest/commit/c3a0b57c00d8b6acfb72b020e2411752d39073e2)), closes [#&#8203;5412](https://github.com/kulshekhar/ts-jest/issues/5412) ##### Performance Improvements - **compiler:** cache module resolution modes ([#&#8203;5419](https://github.com/kulshekhar/ts-jest/issues/5419)) ([697d337](https://github.com/kulshekhar/ts-jest/commit/697d337c1b79a0804972a3d30c0875b02e73bf62)), closes [#&#8203;5402](https://github.com/kulshekhar/ts-jest/issues/5402) ### [`v29.4.12`](https://github.com/kulshekhar/ts-jest/blob/HEAD/CHANGELOG.md#29412-2026-07-22) [Compare Source](https://github.com/kulshekhar/ts-jest/compare/v29.4.11...v29.4.12) ##### Features - **compiler:** support TypeScript 7 projects through compatibility aliases ([#&#8203;5386](https://github.com/kulshekhar/ts-jest/pull/5386)) </details> <details> <summary>typescript-eslint/typescript-eslint (typescript-eslint)</summary> ### [`v8.72.1`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/typescript-eslint/CHANGELOG.md#8721-2026-10-26) [Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v8.72.0...v8.72.1) This was a version bump only for typescript-eslint to align it with other projects, there were no code changes. See [GitHub Releases](https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.72.1) for more information. You can read about our [versioning strategy](https://typescript-eslint.io/users/versioning) and [releases](https://typescript-eslint.io/users/releases) on our website. ### [`v8.72.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/typescript-eslint/CHANGELOG.md#8720-2026-10-19) [Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v8.71.2...v8.72.0) This was a version bump only for typescript-eslint to align it with other projects, there were no code changes. See [GitHub Releases](https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.72.0) for more information. You can read about our [versioning strategy](https://typescript-eslint.io/users/versioning) and [releases](https://typescript-eslint.io/users/releases) on our website. ### [`v8.71.2`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/typescript-eslint/CHANGELOG.md#8712-2026-10-12) [Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v8.71.1...v8.71.2) This was a version bump only for typescript-eslint to align it with other projects, there were no code changes. See [GitHub Releases](https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.71.2) for more information. You can read about our [versioning strategy](https://typescript-eslint.io/users/versioning) and [releases](https://typescript-eslint.io/users/releases) on our website. ### [`v8.71.1`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/typescript-eslint/CHANGELOG.md#8711-2026-10-05) [Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v8.71.0...v8.71.1) This was a version bump only for typescript-eslint to align it with other projects, there were no code changes. See [GitHub Releases](https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.71.1) for more information. You can read about our [versioning strategy](https://typescript-eslint.io/users/versioning) and [releases](https://typescript-eslint.io/users/releases) on our website. ### [`v8.71.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/typescript-eslint/CHANGELOG.md#8710-2026-09-28) [Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v8.70.1...v8.71.0) This was a version bump only for typescript-eslint to align it with other projects, there were no code changes. See [GitHub Releases](https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.71.0) for more information. You can read about our [versioning strategy](https://typescript-eslint.io/users/versioning) and [releases](https://typescript-eslint.io/users/releases) on our website. ### [`v8.70.1`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/typescript-eslint/CHANGELOG.md#8701-2026-09-21) [Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v8.70.0...v8.70.1) This was a version bump only for typescript-eslint to align it with other projects, there were no code changes. See [GitHub Releases](https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.70.1) for more information. You can read about our [versioning strategy](https://typescript-eslint.io/users/versioning) and [releases](https://typescript-eslint.io/users/releases) on our website. ### [`v8.70.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/typescript-eslint/CHANGELOG.md#8700-2026-09-07) [Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v8.69.0...v8.70.0) ##### 🩹 Fixes - **eslint-plugin:** \[no-deprecated] report deprecated imported values used in object shorthand properties ([#&#8203;12780](https://github.com/typescript-eslint/typescript-eslint/pull/12780)) ##### ❤️ Thank You - Ulrich Stark [@&#8203;ulrichstark](https://github.com/ulrichstark) See [GitHub Releases](https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.70.0) for more information. You can read about our [versioning strategy](https://typescript-eslint.io/users/versioning) and [releases](https://typescript-eslint.io/users/releases) on our website. ### [`v8.69.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/typescript-eslint/CHANGELOG.md#8690-2026-08-31) [Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v8.68.0...v8.69.0) This was a version bump only for typescript-eslint to align it with other projects, there were no code changes. See [GitHub Releases](https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.69.0) for more information. You can read about our [versioning strategy](https://typescript-eslint.io/users/versioning) and [releases](https://typescript-eslint.io/users/releases) on our website. ### [`v8.68.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/typescript-eslint/CHANGELOG.md#8680-2026-08-24) [Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v8.67.0...v8.68.0) This was a version bump only for typescript-eslint to align it with other projects, there were no code changes. See [GitHub Releases](https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.68.0) for more information. You can read about our [versioning strategy](https://typescript-eslint.io/users/versioning) and [releases](https://typescript-eslint.io/users/releases) on our website. ### [`v8.67.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/typescript-eslint/CHANGELOG.md#8670-2026-08-10) [Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v8.66.0...v8.67.0) ##### 🚀 Features - **typescript-eslint:** export basic globs for using tseslint ([#&#8203;12105](https://github.com/typescript-eslint/typescript-eslint/pull/12105)) ##### ❤️ Thank You - Claude Sonnet 5 - Evyatar Daud [@&#8203;StyleShit](https://github.com/StyleShit) - Josh Goldberg - Josh Goldberg ✨ - Kirk Waiblinger [@&#8203;kirkwaiblinger](https://github.com/kirkwaiblinger) See [GitHub Releases](https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.67.0) for more information. You can read about our [versioning strategy](https://typescript-eslint.io/users/versioning) and [releases](https://typescript-eslint.io/users/releases) on our website. ### [`v8.66.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/typescript-eslint/CHANGELOG.md#8660-2026-08-03) [Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v8.65.0...v8.66.0) This was a version bump only for typescript-eslint to align it with other projects, there were no code changes. See [GitHub Releases](https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.66.0) for more information. You can read about our [versioning strategy](https://typescript-eslint.io/users/versioning) and [releases](https://typescript-eslint.io/users/releases) on our website. ### [`v8.65.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/typescript-eslint/CHANGELOG.md#8650-2026-07-20) [Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v8.64.0...v8.65.0) ##### 🚀 Features - add warning when TS 7 is detected ([#&#8203;12529](https://github.com/typescript-eslint/typescript-eslint/pull/12529)) ##### ❤️ Thank You - Josh Goldberg ✨ - Kirk Waiblinger [@&#8203;kirkwaiblinger](https://github.com/kirkwaiblinger) See [GitHub Releases](https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.65.0) for more information. You can read about our [versioning strategy](https://typescript-eslint.io/users/versioning) and [releases](https://typescript-eslint.io/users/releases) on our website. ### [`v8.64.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/typescript-eslint/CHANGELOG.md#8640-2026-07-13) [Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v8.63.0...v8.64.0) This was a version bump only for typescript-eslint to align it with other projects, there were no code changes. See [GitHub Releases](https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.64.0) for more information. You can read about our [versioning strategy](https://typescript-eslint.io/users/versioning) and [releases](https://typescript-eslint.io/users/releases) on our website. ### [`v8.63.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/typescript-eslint/CHANGELOG.md#8630-2026-07-06) [Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v8.62.1...v8.63.0) This was a version bump only for typescript-eslint to align it with other projects, there were no code changes. See [GitHub Releases](https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.63.0) for more information. You can read about our [versioning strategy](https://typescript-eslint.io/users/versioning) and [releases](https://typescript-eslint.io/users/releases) on our website. ### [`v8.62.1`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/typescript-eslint/CHANGELOG.md#8621-2026-06-29) [Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v8.62.0...v8.62.1) This was a version bump only for typescript-eslint to align it with other projects, there were no code changes. See [GitHub Releases](https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.62.1) for more information. You can read about our [versioning strategy](https://typescript-eslint.io/users/versioning) and [releases](https://typescript-eslint.io/users/releases) on our website. ### [`v8.62.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/typescript-eslint/CHANGELOG.md#8620-2026-06-22) [Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v8.61.1...v8.62.0) ##### 🚀 Features - remove redundant package.json "files" ([#&#8203;12444](https://github.com/typescript-eslint/typescript-eslint/pull/12444)) ##### ❤️ Thank You - Kirk Waiblinger [@&#8203;kirkwaiblinger](https://github.com/kirkwaiblinger) See [GitHub Releases](https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.62.0) for more information. You can read about our [versioning strategy](https://typescript-eslint.io/users/versioning) and [releases](https://typescript-eslint.io/users/releases) on our website. ### [`v8.61.1`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/typescript-eslint/CHANGELOG.md#8611-2026-06-15) [Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v8.61.0...v8.61.1) This was a version bump only for typescript-eslint to align it with other projects, there were no code changes. See [GitHub Releases](https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.61.1) for more information. You can read about our [versioning strategy](https://typescript-eslint.io/users/versioning) and [releases](https://typescript-eslint.io/users/releases) on our website. </details> <details> <summary>jeffbski/wait-on (wait-on)</summary> ### [`v9.5.1`](https://github.com/jeffbski/wait-on/releases/tag/v9.5.1) [Compare Source](https://github.com/jeffbski/wait-on/compare/v9.5.0...v9.5.1) ##### Bug Fixes - **deps:** upgrade dependencies to address vulnerabilities ([6d6f488](https://github.com/jeffbski/wait-on/commit/6d6f4886f2f6ae36ab1af3b9d1315d72cf28fc8c)) ### [`v9.5.0`](https://github.com/jeffbski/wait-on/releases/tag/v9.5.0) [Compare Source](https://github.com/jeffbski/wait-on/compare/v9.4.1...v9.5.0) ##### Features - **cli:** add --status-codes flag to accept non-2XX http statuses ([46efb67](https://github.com/jeffbski/wait-on/commit/46efb6762a4b30ff012748385f2ab0b52e488681)), closes [#&#8203;187](https://github.com/jeffbski/wait-on/issues/187) [#&#8203;49](https://github.com/jeffbski/wait-on/issues/49) ### [`v9.4.1`](https://github.com/jeffbski/wait-on/releases/tag/v9.4.1) [Compare Source](https://github.com/jeffbski/wait-on/compare/v9.4.0...v9.4.1) ##### Bug Fixes - **types:** restore [@&#8203;types/wait-on](https://github.com/types/wait-on) compatibility (callback err?: Error, aliases) ([348126a](https://github.com/jeffbski/wait-on/commit/348126a80b0438231d433d479add5502d0c58be0)), closes [jeffbski/wait-on#250](https://github.com/jeffbski/wait-on/issues/250) [jeffbski/wait-on#250](https://github.com/jeffbski/wait-on/issues/250) - **types:** widen headers to accept number and boolean values ([#&#8203;250](https://github.com/jeffbski/wait-on/issues/250)) ([3c15038](https://github.com/jeffbski/wait-on/commit/3c150388ffed1152d0341612b0c27ac693f2a570)) ### [`v9.4.0`](https://github.com/jeffbski/wait-on/releases/tag/v9.4.0) [Compare Source](https://github.com/jeffbski/wait-on/compare/v9.3.0...v9.4.0) ##### Features - add command resource ([15e2d99](https://github.com/jeffbski/wait-on/commit/15e2d99156227f4a17ca308813eeb64876b552cf)) - **command:** serialize execs and add per-attempt commandTimeout ([4af2299](https://github.com/jeffbski/wait-on/commit/4af22998b23a0ecfd02699b304a4c020c93bece4)), closes [#&#8203;88](https://github.com/jeffbski/wait-on/issues/88) ### [`v9.3.0`](https://github.com/jeffbski/wait-on/releases/tag/v9.3.0) [Compare Source](https://github.com/jeffbski/wait-on/compare/v9.2.0...v9.3.0) ##### Features - accept a string or string array as waitOn opts ([7f7358e](https://github.com/jeffbski/wait-on/commit/7f7358ef35ce5f5a9c61e9c893e2a808b6dd034c)), closes [#&#8203;61](https://github.com/jeffbski/wait-on/issues/61) [#&#8203;61](https://github.com/jeffbski/wait-on/issues/61) - add TypeScript definitions ([496b2d5](https://github.com/jeffbski/wait-on/commit/496b2d5d6c9712f83100e72296d0aa942c32dbce)) - string-opts overload and type-check test for the TS defs ([0fab870](https://github.com/jeffbski/wait-on/commit/0fab87039803063c5fb1b8aa01f922773edb1acd)), closes [jeffbski/wait-on#197](https://github.com/jeffbski/wait-on/issues/197) ### [`v9.2.0`](https://github.com/jeffbski/wait-on/releases/tag/v9.2.0) [Compare Source](https://github.com/jeffbski/wait-on/compare/v9.1.0...v9.2.0) ##### Bug Fixes - **deps:** bump transitive [@&#8203;humanfs/node](https://github.com/humanfs/node) and js-yaml in lockfile ([039354f](https://github.com/jeffbski/wait-on/commit/039354f8f36a8460f8ecc3a647a5b98719a949e9)) - **deps:** refresh dependencies within majors ([3f64a8b](https://github.com/jeffbski/wait-on/commit/3f64a8bb1469ef2ec639f9ed894d178d50db4bd8)) - destroy tcp/unix sockets after checks ([9951f3c](https://github.com/jeffbski/wait-on/commit/9951f3ca2c44b4648642fa22dabec1123d9742e9)), closes [jeffbski/wait-on#82](https://github.com/jeffbski/wait-on/issues/82) - fail fast on malformed http/tcp resources and support tcp IPv6 ([02033ff](https://github.com/jeffbski/wait-on/commit/02033ff134010a6d28177e0160180974afbc101d)), closes [jeffbski/wait-on#217](https://github.com/jeffbski/wait-on/issues/217) [jeffbski/wait-on#140](https://github.com/jeffbski/wait-on/issues/140) [jeffbski/wait-on#141](https://github.com/jeffbski/wait-on/issues/141) - **release:** let npm use OIDC and stop shipping repo tooling in the tarball ([8e36f4a](https://github.com/jeffbski/wait-on/commit/8e36f4a826fd86ecddd1c0304b13362cb02ef185)) ##### Features - parseArgs non-strict parity with minimist (9.2.0) ([9c6cc55](https://github.com/jeffbski/wait-on/commit/9c6cc5531f9fe50a6fdc07facc7f1af18ec0fe80)), closes [#&#8203;218](https://github.com/jeffbski/wait-on/issues/218) - repeatable -H/--header CLI flag ([#&#8203;126](https://github.com/jeffbski/wait-on/issues/126)) ([a917ad4](https://github.com/jeffbski/wait-on/commit/a917ad4a56c373f32684ce4f1040ae69ee6b8a7c)) ### [`v9.1.0`](https://github.com/jeffbski/wait-on/releases/tag/v9.1.0) [Compare Source](https://github.com/jeffbski/wait-on/compare/v9.0.10...v9.1.0) Updated some dependencies - axios - joi - mocha - eslint-plugin-chai-friendly </details> --- ### Configuration 📅 **Schedule**: (UTC) - Branch creation - At any time (no schedule defined) - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://github.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate CLI](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0NC40LjIiLCJ1cGRhdGVkSW5WZXIiOiI0NC4xOTIuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->
Update all non-major dependencies
All checks were successful
Build / build (pull_request) Successful in 49s
Cypress / cypress (pull_request) Successful in 1m53s
c08eada985
renovate-bot force-pushed renovate/all-minor-patch from c08eada985
All checks were successful
Build / build (pull_request) Successful in 49s
Cypress / cypress (pull_request) Successful in 1m53s
to 0a0e60aef3
All checks were successful
Build / build (pull_request) Successful in 1m9s
Cypress / cypress (pull_request) Successful in 2m13s
2026-07-30 20:50:48 -04:00
Compare
renovate-bot force-pushed renovate/all-minor-patch from 0a0e60aef3
All checks were successful
Build / build (pull_request) Successful in 1m9s
Cypress / cypress (pull_request) Successful in 2m13s
to 9e040d17c2
All checks were successful
Build / build (pull_request) Successful in 1m6s
Cypress / cypress (pull_request) Successful in 2m15s
2026-07-30 21:51:58 -04:00
Compare
renovate-bot force-pushed renovate/all-minor-patch from 9e040d17c2
All checks were successful
Build / build (pull_request) Successful in 1m6s
Cypress / cypress (pull_request) Successful in 2m15s
to cfe06e3f7a
All checks were successful
Build / setup (pull_request) Successful in 43s
Build / unit (pull_request) Successful in 28s
Build / cypress (pull_request) Successful in 1m32s
Build / cleanup (pull_request) Successful in 2s
2026-07-30 22:52:55 -04:00
Compare
renovate-bot force-pushed renovate/all-minor-patch from cfe06e3f7a
All checks were successful
Build / setup (pull_request) Successful in 43s
Build / unit (pull_request) Successful in 28s
Build / cypress (pull_request) Successful in 1m32s
Build / cleanup (pull_request) Successful in 2s
to 7cdaca0830
All checks were successful
Build / setup (pull_request) Successful in 46s
Build / unit (pull_request) Successful in 24s
Build / cypress (pull_request) Successful in 1m45s
Build / cleanup (pull_request) Successful in 3s
2026-07-31 14:02:45 -04:00
Compare
renovate-bot force-pushed renovate/all-minor-patch from 7cdaca0830
All checks were successful
Build / setup (pull_request) Successful in 46s
Build / unit (pull_request) Successful in 24s
Build / cypress (pull_request) Successful in 1m45s
Build / cleanup (pull_request) Successful in 3s
to 39970f9760
All checks were successful
Build / setup (pull_request) Successful in 43s
Build / unit (pull_request) Successful in 39s
Build / cypress (pull_request) Successful in 1m50s
Build / cleanup (pull_request) Successful in 2s
2026-08-02 17:51:18 -04:00
Compare
renovate-bot force-pushed renovate/all-minor-patch from 39970f9760
All checks were successful
Build / setup (pull_request) Successful in 43s
Build / unit (pull_request) Successful in 39s
Build / cypress (pull_request) Successful in 1m50s
Build / cleanup (pull_request) Successful in 2s
to 580b4aeda8
All checks were successful
Build / setup (pull_request) Successful in 47s
Build / unit (pull_request) Successful in 49s
Build / cypress (pull_request) Successful in 2m20s
Build / cleanup (pull_request) Successful in 2s
2026-08-03 13:57:40 -04:00
Compare
renovate-bot force-pushed renovate/all-minor-patch from 580b4aeda8
All checks were successful
Build / setup (pull_request) Successful in 47s
Build / unit (pull_request) Successful in 49s
Build / cypress (pull_request) Successful in 2m20s
Build / cleanup (pull_request) Successful in 2s
to af1a259513
Some checks failed
Build / setup (pull_request) Successful in 48s
Build / unit (pull_request) Successful in 33s
Build / cypress (pull_request) Failing after 1m1s
Build / cleanup (pull_request) Successful in 2s
2026-08-03 17:59:23 -04:00
Compare
renovate-bot force-pushed renovate/all-minor-patch from af1a259513
Some checks failed
Build / setup (pull_request) Successful in 48s
Build / unit (pull_request) Successful in 33s
Build / cypress (pull_request) Failing after 1m1s
Build / cleanup (pull_request) Successful in 2s
to 05654e128a
Some checks failed
Build / setup (pull_request) Successful in 43s
Build / unit (pull_request) Successful in 33s
Build / cypress (pull_request) Failing after 1m42s
Build / cleanup (pull_request) Successful in 1s
2026-08-04 18:09:03 -04:00
Compare
renovate-bot force-pushed renovate/all-minor-patch from 05654e128a
Some checks failed
Build / setup (pull_request) Successful in 43s
Build / unit (pull_request) Successful in 33s
Build / cypress (pull_request) Failing after 1m42s
Build / cleanup (pull_request) Successful in 1s
to 75c683b7b3
Some checks failed
Build / setup (pull_request) Successful in 49s
Build / unit (pull_request) Successful in 33s
Build / cypress (pull_request) Failing after 2m43s
Build / cleanup (pull_request) Successful in 2s
2026-08-05 06:13:54 -04:00
Compare
renovate-bot force-pushed renovate/all-minor-patch from 75c683b7b3
Some checks failed
Build / setup (pull_request) Successful in 49s
Build / unit (pull_request) Successful in 33s
Build / cypress (pull_request) Failing after 2m43s
Build / cleanup (pull_request) Successful in 2s
to cce2caffe8
All checks were successful
Build / setup (pull_request) Successful in 49s
Build / unit (pull_request) Successful in 42s
Build / cypress (pull_request) Successful in 1m51s
Build / cleanup (pull_request) Successful in 1s
2026-08-06 06:23:24 -04:00
Compare
renovate-bot force-pushed renovate/all-minor-patch from cce2caffe8
All checks were successful
Build / setup (pull_request) Successful in 49s
Build / unit (pull_request) Successful in 42s
Build / cypress (pull_request) Successful in 1m51s
Build / cleanup (pull_request) Successful in 1s
to 6b5a91c487
All checks were successful
Build / setup (pull_request) Successful in 1m11s
Build / unit (pull_request) Successful in 1m28s
Build / cypress (pull_request) Successful in 2m58s
Build / cleanup (pull_request) Successful in 8s
2026-08-07 16:24:28 -04:00
Compare
renovate-bot force-pushed renovate/all-minor-patch from 6b5a91c487
All checks were successful
Build / setup (pull_request) Successful in 1m11s
Build / unit (pull_request) Successful in 1m28s
Build / cypress (pull_request) Successful in 2m58s
Build / cleanup (pull_request) Successful in 8s
to 63be94bcde
All checks were successful
Build / setup (pull_request) Successful in 37s
Build / unit (pull_request) Successful in 31s
Build / cypress (pull_request) Successful in 1m51s
Build / cleanup (pull_request) Successful in 3s
2026-08-10 16:39:08 -04:00
Compare
renovate-bot force-pushed renovate/all-minor-patch from 63be94bcde
All checks were successful
Build / setup (pull_request) Successful in 37s
Build / unit (pull_request) Successful in 31s
Build / cypress (pull_request) Successful in 1m51s
Build / cleanup (pull_request) Successful in 3s
to bf400168b7
All checks were successful
Build / setup (pull_request) Successful in 55s
Build / unit (pull_request) Successful in 38s
Build / cypress (pull_request) Successful in 1m55s
Build / cleanup (pull_request) Successful in 2s
2026-08-13 19:07:29 -04:00
Compare
renovate-bot force-pushed renovate/all-minor-patch from bf400168b7
All checks were successful
Build / setup (pull_request) Successful in 55s
Build / unit (pull_request) Successful in 38s
Build / cypress (pull_request) Successful in 1m55s
Build / cleanup (pull_request) Successful in 2s
to a3d44b1e2a
All checks were successful
Build / setup (pull_request) Successful in 42s
Build / unit (pull_request) Successful in 27s
Build / cypress (pull_request) Successful in 1m30s
Build / cleanup (pull_request) Successful in 2s
2026-08-18 18:48:53 -04:00
Compare
renovate-bot force-pushed renovate/all-minor-patch from a3d44b1e2a
All checks were successful
Build / setup (pull_request) Successful in 42s
Build / unit (pull_request) Successful in 27s
Build / cypress (pull_request) Successful in 1m30s
Build / cleanup (pull_request) Successful in 2s
to c8e6a81bdd
All checks were successful
Build / setup (pull_request) Successful in 31s
Build / unit (pull_request) Successful in 19s
Build / cypress (pull_request) Successful in 1m39s
Build / cleanup (pull_request) Successful in 1s
2026-08-19 10:52:08 -04:00
Compare
renovate-bot force-pushed renovate/all-minor-patch from c8e6a81bdd
All checks were successful
Build / setup (pull_request) Successful in 31s
Build / unit (pull_request) Successful in 19s
Build / cypress (pull_request) Successful in 1m39s
Build / cleanup (pull_request) Successful in 1s
to 763bb7e0e4
Some checks failed
Build / setup (pull_request) Successful in 33s
Build / unit (pull_request) Successful in 24s
Build / cypress (pull_request) Failing after 1m26s
Build / cleanup (pull_request) Successful in 2s
2026-08-19 18:53:48 -04:00
Compare
renovate-bot force-pushed renovate/all-minor-patch from 763bb7e0e4
Some checks failed
Build / setup (pull_request) Successful in 33s
Build / unit (pull_request) Successful in 24s
Build / cypress (pull_request) Failing after 1m26s
Build / cleanup (pull_request) Successful in 2s
to fe788aba0c
Some checks failed
Build / setup (pull_request) Successful in 37s
Build / unit (pull_request) Successful in 33s
Build / cypress (pull_request) Failing after 1m33s
Build / cleanup (pull_request) Successful in 2s
2026-08-20 18:58:31 -04:00
Compare
renovate-bot force-pushed renovate/all-minor-patch from fe788aba0c
Some checks failed
Build / setup (pull_request) Successful in 37s
Build / unit (pull_request) Successful in 33s
Build / cypress (pull_request) Failing after 1m33s
Build / cleanup (pull_request) Successful in 2s
to 542e7cee90
All checks were successful
Build / setup (pull_request) Successful in 38s
Build / unit (pull_request) Successful in 54s
Build / cypress (pull_request) Successful in 2m31s
Build / cleanup (pull_request) Successful in 3s
2026-08-21 11:01:42 -04:00
Compare
renovate-bot force-pushed renovate/all-minor-patch from 542e7cee90
All checks were successful
Build / setup (pull_request) Successful in 38s
Build / unit (pull_request) Successful in 54s
Build / cypress (pull_request) Successful in 2m31s
Build / cleanup (pull_request) Successful in 3s
to 6e8569e541
All checks were successful
Build / setup (pull_request) Successful in 28s
Build / unit (pull_request) Successful in 44s
Build / cypress (pull_request) Successful in 2m3s
Build / cleanup (pull_request) Successful in 2s
2026-08-24 19:18:51 -04:00
Compare
renovate-bot force-pushed renovate/all-minor-patch from 6e8569e541
All checks were successful
Build / setup (pull_request) Successful in 28s
Build / unit (pull_request) Successful in 44s
Build / cypress (pull_request) Successful in 2m3s
Build / cleanup (pull_request) Successful in 2s
to 8863220f24
All checks were successful
Build / setup (pull_request) Successful in 44s
Build / unit (pull_request) Successful in 50s
Build / cypress (pull_request) Successful in 2m16s
Build / cleanup (pull_request) Successful in 8s
2026-08-25 11:22:26 -04:00
Compare
renovate-bot force-pushed renovate/all-minor-patch from 8863220f24
All checks were successful
Build / setup (pull_request) Successful in 44s
Build / unit (pull_request) Successful in 50s
Build / cypress (pull_request) Successful in 2m16s
Build / cleanup (pull_request) Successful in 8s
to 54c7f45f88
All checks were successful
Build / setup (pull_request) Successful in 43s
Build / unit (pull_request) Successful in 27s
Build / cypress (pull_request) Successful in 1m30s
Build / cleanup (pull_request) Successful in 1s
2026-08-25 19:24:42 -04:00
Compare
renovate-bot force-pushed renovate/all-minor-patch from 54c7f45f88
All checks were successful
Build / setup (pull_request) Successful in 43s
Build / unit (pull_request) Successful in 27s
Build / cypress (pull_request) Successful in 1m30s
Build / cleanup (pull_request) Successful in 1s
to a0fcd5a1ef
All checks were successful
Build / setup (pull_request) Successful in 47s
Build / unit (pull_request) Successful in 50s
Build / cypress (pull_request) Successful in 2m22s
Build / cleanup (pull_request) Successful in 1s
2026-08-26 11:28:31 -04:00
Compare
renovate-bot force-pushed renovate/all-minor-patch from a0fcd5a1ef
All checks were successful
Build / setup (pull_request) Successful in 47s
Build / unit (pull_request) Successful in 50s
Build / cypress (pull_request) Successful in 2m22s
Build / cleanup (pull_request) Successful in 1s
to cbc1e8b9f3
Some checks failed
Build / setup (pull_request) Successful in 33s
Build / unit (pull_request) Successful in 31s
Build / cypress (pull_request) Failing after 1m36s
Build / cleanup (pull_request) Successful in 1s
2026-08-27 00:36:29 -04:00
Compare
renovate-bot force-pushed renovate/all-minor-patch from cbc1e8b9f3
Some checks failed
Build / setup (pull_request) Successful in 33s
Build / unit (pull_request) Successful in 31s
Build / cypress (pull_request) Failing after 1m36s
Build / cleanup (pull_request) Successful in 1s
to 3a5e86dab0
Some checks failed
Build / setup (pull_request) Successful in 44s
Build / unit (pull_request) Successful in 31s
Build / cypress (pull_request) Failing after 1m8s
Build / cleanup (pull_request) Successful in 3s
2026-08-27 16:40:02 -04:00
Compare
renovate-bot force-pushed renovate/all-minor-patch from 3a5e86dab0
Some checks failed
Build / setup (pull_request) Successful in 44s
Build / unit (pull_request) Successful in 31s
Build / cypress (pull_request) Failing after 1m8s
Build / cleanup (pull_request) Successful in 3s
to 5bf9e74cbf
All checks were successful
Build / setup (pull_request) Successful in 40s
Build / unit (pull_request) Successful in 35s
Build / cypress (pull_request) Successful in 1m47s
Build / cleanup (pull_request) Successful in 3s
2026-08-28 08:44:06 -04:00
Compare
renovate-bot force-pushed renovate/all-minor-patch from 5bf9e74cbf
All checks were successful
Build / setup (pull_request) Successful in 40s
Build / unit (pull_request) Successful in 35s
Build / cypress (pull_request) Successful in 1m47s
Build / cleanup (pull_request) Successful in 3s
to 445f5759f9
All checks were successful
Build / setup (pull_request) Successful in 46s
Build / unit (pull_request) Successful in 35s
Build / cypress (pull_request) Successful in 2m49s
Build / cleanup (pull_request) Successful in 3s
2026-08-31 17:56:53 -04:00
Compare
renovate-bot force-pushed renovate/all-minor-patch from 445f5759f9
All checks were successful
Build / setup (pull_request) Successful in 46s
Build / unit (pull_request) Successful in 35s
Build / cypress (pull_request) Successful in 2m49s
Build / cleanup (pull_request) Successful in 3s
to 963a524996
Some checks failed
Build / setup (pull_request) Successful in 54s
Build / unit (pull_request) Successful in 38s
Build / cypress (pull_request) Failing after 1m43s
Build / cleanup (pull_request) Successful in 1s
2026-09-01 10:11:01 -04:00
Compare
renovate-bot force-pushed renovate/all-minor-patch from 963a524996
Some checks failed
Build / setup (pull_request) Successful in 54s
Build / unit (pull_request) Successful in 38s
Build / cypress (pull_request) Failing after 1m43s
Build / cleanup (pull_request) Successful in 1s
to e70bdc69ec
All checks were successful
Build / setup (pull_request) Successful in 38s
Build / unit (pull_request) Successful in 44s
Build / cypress (pull_request) Successful in 3m9s
Build / cleanup (pull_request) Successful in 8s
2026-09-02 06:24:15 -04:00
Compare
renovate-bot force-pushed renovate/all-minor-patch from e70bdc69ec
All checks were successful
Build / setup (pull_request) Successful in 38s
Build / unit (pull_request) Successful in 44s
Build / cypress (pull_request) Successful in 3m9s
Build / cleanup (pull_request) Successful in 8s
to c0efb8b269
All checks were successful
Build / setup (pull_request) Successful in 53s
Build / unit (pull_request) Successful in 56s
Build / cypress (pull_request) Successful in 2m36s
Build / cleanup (pull_request) Successful in 3s
2026-09-02 14:26:17 -04:00
Compare
renovate-bot force-pushed renovate/all-minor-patch from c0efb8b269
All checks were successful
Build / setup (pull_request) Successful in 53s
Build / unit (pull_request) Successful in 56s
Build / cypress (pull_request) Successful in 2m36s
Build / cleanup (pull_request) Successful in 3s
to d0f7d8b57e
All checks were successful
Build / setup (pull_request) Successful in 37s
Build / unit (pull_request) Successful in 31s
Build / cypress (pull_request) Successful in 1m45s
Build / cleanup (pull_request) Successful in 3s
2026-09-02 22:28:36 -04:00
Compare
renovate-bot force-pushed renovate/all-minor-patch from d0f7d8b57e
All checks were successful
Build / setup (pull_request) Successful in 37s
Build / unit (pull_request) Successful in 31s
Build / cypress (pull_request) Successful in 1m45s
Build / cleanup (pull_request) Successful in 3s
to 124a0ffc9c
All checks were successful
Build / setup (pull_request) Successful in 50s
Build / unit (pull_request) Successful in 36s
Build / cypress (pull_request) Successful in 2m44s
Build / cleanup (pull_request) Successful in 2s
2026-09-03 22:34:59 -04:00
Compare
renovate-bot force-pushed renovate/all-minor-patch from 124a0ffc9c
All checks were successful
Build / setup (pull_request) Successful in 50s
Build / unit (pull_request) Successful in 36s
Build / cypress (pull_request) Successful in 2m44s
Build / cleanup (pull_request) Successful in 2s
to b69eb24419
All checks were successful
Build / setup (pull_request) Successful in 39s
Build / unit (pull_request) Successful in 54s
Build / cypress (pull_request) Successful in 2m12s
Build / cleanup (pull_request) Successful in 8s
2026-09-07 20:28:26 -04:00
Compare
renovate-bot force-pushed renovate/all-minor-patch from b69eb24419
All checks were successful
Build / setup (pull_request) Successful in 39s
Build / unit (pull_request) Successful in 54s
Build / cypress (pull_request) Successful in 2m12s
Build / cleanup (pull_request) Successful in 8s
to e6d51f9cfa
All checks were successful
Build / setup (pull_request) Successful in 46s
Build / unit (pull_request) Successful in 52s
Build / cypress (pull_request) Successful in 2m5s
Build / cleanup (pull_request) Successful in 2s
2026-09-09 20:40:54 -04:00
Compare
renovate-bot force-pushed renovate/all-minor-patch from e6d51f9cfa
All checks were successful
Build / setup (pull_request) Successful in 46s
Build / unit (pull_request) Successful in 52s
Build / cypress (pull_request) Successful in 2m5s
Build / cleanup (pull_request) Successful in 2s
to 4ec81fce9f
Some checks failed
Build / setup (pull_request) Successful in 1m13s
Build / unit (pull_request) Successful in 44s
Build / cypress (pull_request) Failing after 1m44s
Build / cleanup (pull_request) Successful in 1s
2026-09-10 12:45:06 -04:00
Compare
renovate-bot force-pushed renovate/all-minor-patch from 4ec81fce9f
Some checks failed
Build / setup (pull_request) Successful in 1m13s
Build / unit (pull_request) Successful in 44s
Build / cypress (pull_request) Failing after 1m44s
Build / cleanup (pull_request) Successful in 1s
to c28498cc24
Some checks failed
Build / setup (pull_request) Successful in 51s
Build / unit (pull_request) Successful in 41s
Build / cypress (pull_request) Failing after 1m49s
Build / cleanup (pull_request) Successful in 3s
2026-09-10 20:49:24 -04:00
Compare
renovate-bot force-pushed renovate/all-minor-patch from c28498cc24
Some checks failed
Build / setup (pull_request) Successful in 51s
Build / unit (pull_request) Successful in 41s
Build / cypress (pull_request) Failing after 1m49s
Build / cleanup (pull_request) Successful in 3s
to 780a911950
All checks were successful
Build / setup (pull_request) Successful in 1m1s
Build / unit (pull_request) Successful in 43s
Build / cypress (pull_request) Successful in 2m12s
Build / cleanup (pull_request) Successful in 2s
2026-09-11 12:55:17 -04:00
Compare
renovate-bot force-pushed renovate/all-minor-patch from 780a911950
All checks were successful
Build / setup (pull_request) Successful in 1m1s
Build / unit (pull_request) Successful in 43s
Build / cypress (pull_request) Successful in 2m12s
Build / cleanup (pull_request) Successful in 2s
to 7af69fe1ee
All checks were successful
Build / setup (pull_request) Successful in 56s
Build / unit (pull_request) Successful in 45s
Build / cypress (pull_request) Successful in 1m55s
Build / cleanup (pull_request) Successful in 1s
2026-09-11 20:57:55 -04:00
Compare
renovate-bot force-pushed renovate/all-minor-patch from 7af69fe1ee
All checks were successful
Build / setup (pull_request) Successful in 56s
Build / unit (pull_request) Successful in 45s
Build / cypress (pull_request) Successful in 1m55s
Build / cleanup (pull_request) Successful in 1s
to 8d47ee17d9
Some checks failed
Build / setup (pull_request) Failing after 36s
Build / unit (pull_request) Has been skipped
Build / cypress (pull_request) Has been skipped
Build / cleanup (pull_request) Successful in 4s
2026-09-13 05:06:22 -04:00
Compare
renovate-bot force-pushed renovate/all-minor-patch from 8d47ee17d9
Some checks failed
Build / setup (pull_request) Failing after 36s
Build / unit (pull_request) Has been skipped
Build / cypress (pull_request) Has been skipped
Build / cleanup (pull_request) Successful in 4s
to 9ccbefa262
Some checks failed
Build / setup (pull_request) Failing after 37s
Build / unit (pull_request) Has been skipped
Build / cypress (pull_request) Has been skipped
Build / cleanup (pull_request) Successful in 1s
2026-09-14 21:17:22 -04:00
Compare
renovate-bot force-pushed renovate/all-minor-patch from 9ccbefa262
Some checks failed
Build / setup (pull_request) Failing after 37s
Build / unit (pull_request) Has been skipped
Build / cypress (pull_request) Has been skipped
Build / cleanup (pull_request) Successful in 1s
to 280f46584a
Some checks failed
Build / setup (pull_request) Failing after 37s
Build / unit (pull_request) Has been skipped
Build / cypress (pull_request) Has been skipped
Build / cleanup (pull_request) Successful in 1s
2026-09-15 21:24:03 -04:00
Compare
renovate-bot force-pushed renovate/all-minor-patch from 280f46584a
Some checks failed
Build / setup (pull_request) Failing after 37s
Build / unit (pull_request) Has been skipped
Build / cypress (pull_request) Has been skipped
Build / cleanup (pull_request) Successful in 1s
to d03207d84d
Some checks failed
Build / setup (pull_request) Failing after 39s
Build / unit (pull_request) Has been skipped
Build / cypress (pull_request) Has been skipped
Build / cleanup (pull_request) Successful in 1s
2026-09-16 05:26:21 -04:00
Compare
renovate-bot force-pushed renovate/all-minor-patch from d03207d84d
Some checks failed
Build / setup (pull_request) Failing after 39s
Build / unit (pull_request) Has been skipped
Build / cypress (pull_request) Has been skipped
Build / cleanup (pull_request) Successful in 1s
to 93547f2bf6
Some checks failed
Build / setup (pull_request) Failing after 59s
Build / unit (pull_request) Has been skipped
Build / cypress (pull_request) Has been skipped
Build / cleanup (pull_request) Successful in 4s
2026-09-18 01:19:34 -04:00
Compare
renovate-bot force-pushed renovate/all-minor-patch from 93547f2bf6
Some checks failed
Build / setup (pull_request) Failing after 59s
Build / unit (pull_request) Has been skipped
Build / cypress (pull_request) Has been skipped
Build / cleanup (pull_request) Successful in 4s
to 6169721a13
Some checks failed
Build / setup (pull_request) Failing after 44s
Build / unit (pull_request) Has been skipped
Build / cypress (pull_request) Has been skipped
Build / cleanup (pull_request) Successful in 1s
2026-09-18 17:25:17 -04:00
Compare
renovate-bot force-pushed renovate/all-minor-patch from 6169721a13
Some checks failed
Build / setup (pull_request) Failing after 44s
Build / unit (pull_request) Has been skipped
Build / cypress (pull_request) Has been skipped
Build / cleanup (pull_request) Successful in 1s
to 898bbbcc70
Some checks failed
Build / setup (pull_request) Failing after 42s
Build / unit (pull_request) Has been skipped
Build / cypress (pull_request) Has been skipped
Build / cleanup (pull_request) Successful in 5s
2026-09-19 01:27:58 -04:00
Compare
renovate-bot force-pushed renovate/all-minor-patch from 898bbbcc70
Some checks failed
Build / setup (pull_request) Failing after 42s
Build / unit (pull_request) Has been skipped
Build / cypress (pull_request) Has been skipped
Build / cleanup (pull_request) Successful in 5s
to ea71cfe8de
Some checks failed
Build / setup (pull_request) Failing after 1m14s
Build / unit (pull_request) Has been skipped
Build / cypress (pull_request) Has been skipped
Build / cleanup (pull_request) Successful in 1s
2026-09-21 17:45:23 -04:00
Compare
renovate-bot force-pushed renovate/all-minor-patch from ea71cfe8de
Some checks failed
Build / setup (pull_request) Failing after 1m14s
Build / unit (pull_request) Has been skipped
Build / cypress (pull_request) Has been skipped
Build / cleanup (pull_request) Successful in 1s
to 4eaf1b8efc
Some checks failed
Build / setup (pull_request) Failing after 54s
Build / unit (pull_request) Has been skipped
Build / cypress (pull_request) Has been skipped
Build / cleanup (pull_request) Successful in 1s
2026-09-22 18:07:57 -04:00
Compare
renovate-bot force-pushed renovate/all-minor-patch from 4eaf1b8efc
Some checks failed
Build / setup (pull_request) Failing after 54s
Build / unit (pull_request) Has been skipped
Build / cypress (pull_request) Has been skipped
Build / cleanup (pull_request) Successful in 1s
to 7bbcf89455
Some checks failed
Build / setup (pull_request) Failing after 44s
Build / unit (pull_request) Has been skipped
Build / cypress (pull_request) Has been skipped
Build / cleanup (pull_request) Successful in 1s
2026-09-23 10:12:30 -04:00
Compare
renovate-bot force-pushed renovate/all-minor-patch from 7bbcf89455
Some checks failed
Build / setup (pull_request) Failing after 44s
Build / unit (pull_request) Has been skipped
Build / cypress (pull_request) Has been skipped
Build / cleanup (pull_request) Successful in 1s
to 3f11ae4f33
Some checks failed
Build / setup (pull_request) Failing after 1m1s
Build / unit (pull_request) Has been skipped
Build / cypress (pull_request) Has been skipped
Build / cleanup (pull_request) Successful in 6s
2026-09-25 10:26:52 -04:00
Compare
renovate-bot force-pushed renovate/all-minor-patch from 3f11ae4f33
Some checks failed
Build / setup (pull_request) Failing after 1m1s
Build / unit (pull_request) Has been skipped
Build / cypress (pull_request) Has been skipped
Build / cleanup (pull_request) Successful in 6s
to 1a8e4ce52f
Some checks failed
Build / setup (pull_request) Failing after 49s
Build / unit (pull_request) Has been skipped
Build / cypress (pull_request) Has been skipped
Build / cleanup (pull_request) Successful in 1s
2026-09-25 18:29:20 -04:00
Compare
renovate-bot force-pushed renovate/all-minor-patch from 1a8e4ce52f
Some checks failed
Build / setup (pull_request) Failing after 49s
Build / unit (pull_request) Has been skipped
Build / cypress (pull_request) Has been skipped
Build / cleanup (pull_request) Successful in 1s
to 15f4077469
Some checks failed
Build / setup (pull_request) Failing after 52s
Build / unit (pull_request) Has been skipped
Build / cypress (pull_request) Has been skipped
Build / cleanup (pull_request) Successful in 1s
2026-09-27 02:38:14 -04:00
Compare
renovate-bot force-pushed renovate/all-minor-patch from 15f4077469
Some checks failed
Build / setup (pull_request) Failing after 52s
Build / unit (pull_request) Has been skipped
Build / cypress (pull_request) Has been skipped
Build / cleanup (pull_request) Successful in 1s
to d1d53da490
Some checks failed
Build / setup (pull_request) Failing after 55s
Build / unit (pull_request) Has been skipped
Build / cypress (pull_request) Has been skipped
Build / cleanup (pull_request) Successful in 1s
2026-09-27 10:40:23 -04:00
Compare
renovate-bot force-pushed renovate/all-minor-patch from d1d53da490
Some checks failed
Build / setup (pull_request) Failing after 55s
Build / unit (pull_request) Has been skipped
Build / cypress (pull_request) Has been skipped
Build / cleanup (pull_request) Successful in 1s
to 740539c56f
Some checks failed
Build / setup (pull_request) Failing after 1m1s
Build / unit (pull_request) Has been skipped
Build / cypress (pull_request) Has been skipped
Build / cleanup (pull_request) Successful in 2s
2026-09-28 18:49:26 -04:00
Compare
renovate-bot force-pushed renovate/all-minor-patch from 740539c56f
Some checks failed
Build / setup (pull_request) Failing after 1m1s
Build / unit (pull_request) Has been skipped
Build / cypress (pull_request) Has been skipped
Build / cleanup (pull_request) Successful in 2s
to feca645b72
Some checks failed
Build / setup (pull_request) Failing after 43s
Build / unit (pull_request) Has been skipped
Build / cypress (pull_request) Has been skipped
Build / cleanup (pull_request) Successful in 1s
2026-09-29 02:52:19 -04:00
Compare
renovate-bot force-pushed renovate/all-minor-patch from feca645b72
Some checks failed
Build / setup (pull_request) Failing after 43s
Build / unit (pull_request) Has been skipped
Build / cypress (pull_request) Has been skipped
Build / cleanup (pull_request) Successful in 1s
to 0b7ad1f5b7
Some checks failed
Build / setup (pull_request) Failing after 58s
Build / unit (pull_request) Has been skipped
Build / cypress (pull_request) Has been skipped
Build / cleanup (pull_request) Successful in 1s
2026-09-29 10:55:51 -04:00
Compare
renovate-bot force-pushed renovate/all-minor-patch from 0b7ad1f5b7
Some checks failed
Build / setup (pull_request) Failing after 58s
Build / unit (pull_request) Has been skipped
Build / cypress (pull_request) Has been skipped
Build / cleanup (pull_request) Successful in 1s
to ad0f630dbd
Some checks failed
Build / setup (pull_request) Failing after 53s
Build / unit (pull_request) Has been skipped
Build / cypress (pull_request) Has been skipped
Build / cleanup (pull_request) Successful in 1s
2026-09-29 18:58:20 -04:00
Compare
renovate-bot force-pushed renovate/all-minor-patch from ad0f630dbd
Some checks failed
Build / setup (pull_request) Failing after 53s
Build / unit (pull_request) Has been skipped
Build / cypress (pull_request) Has been skipped
Build / cleanup (pull_request) Successful in 1s
to 47d3692c27
Some checks failed
Build / setup (pull_request) Failing after 48s
Build / unit (pull_request) Has been skipped
Build / cypress (pull_request) Has been skipped
Build / cleanup (pull_request) Successful in 1s
2026-09-30 19:05:17 -04:00
Compare
renovate-bot force-pushed renovate/all-minor-patch from 47d3692c27
Some checks failed
Build / setup (pull_request) Failing after 48s
Build / unit (pull_request) Has been skipped
Build / cypress (pull_request) Has been skipped
Build / cleanup (pull_request) Successful in 1s
to 9fbd72e93e
Some checks failed
Build / setup (pull_request) Failing after 1m21s
Build / unit (pull_request) Has been skipped
Build / cypress (pull_request) Has been skipped
Build / cleanup (pull_request) Successful in 1s
2026-10-01 19:27:24 -04:00
Compare
renovate-bot force-pushed renovate/all-minor-patch from 9fbd72e93e
Some checks failed
Build / setup (pull_request) Failing after 1m21s
Build / unit (pull_request) Has been skipped
Build / cypress (pull_request) Has been skipped
Build / cleanup (pull_request) Successful in 1s
to db20d1a569
Some checks failed
Build / setup (pull_request) Failing after 49s
Build / unit (pull_request) Has been skipped
Build / cypress (pull_request) Has been skipped
Build / cleanup (pull_request) Successful in 10s
2026-10-05 11:55:32 -04:00
Compare
renovate-bot force-pushed renovate/all-minor-patch from db20d1a569
Some checks failed
Build / setup (pull_request) Failing after 49s
Build / unit (pull_request) Has been skipped
Build / cypress (pull_request) Has been skipped
Build / cleanup (pull_request) Successful in 10s
to 26bc14b52b
Some checks failed
Build / setup (pull_request) Failing after 1m7s
Build / unit (pull_request) Has been skipped
Build / cypress (pull_request) Has been skipped
Build / cleanup (pull_request) Successful in 1s
2026-10-05 19:58:40 -04:00
Compare
renovate-bot force-pushed renovate/all-minor-patch from 26bc14b52b
Some checks failed
Build / setup (pull_request) Failing after 1m7s
Build / unit (pull_request) Has been skipped
Build / cypress (pull_request) Has been skipped
Build / cleanup (pull_request) Successful in 1s
to 6fbc99998f
Some checks failed
Build / setup (pull_request) Failing after 1m0s
Build / unit (pull_request) Has been skipped
Build / cypress (pull_request) Has been skipped
Build / cleanup (pull_request) Successful in 1s
2026-10-06 20:07:25 -04:00
Compare
renovate-bot force-pushed renovate/all-minor-patch from 6fbc99998f
Some checks failed
Build / setup (pull_request) Failing after 1m0s
Build / unit (pull_request) Has been skipped
Build / cypress (pull_request) Has been skipped
Build / cleanup (pull_request) Successful in 1s
to fb9a99e94d
Some checks failed
Build / setup (pull_request) Failing after 57s
Build / unit (pull_request) Has been skipped
Build / cypress (pull_request) Has been skipped
Build / cleanup (pull_request) Successful in 1s
2026-10-09 12:26:49 -04:00
Compare
renovate-bot force-pushed renovate/all-minor-patch from fb9a99e94d
Some checks failed
Build / setup (pull_request) Failing after 57s
Build / unit (pull_request) Has been skipped
Build / cypress (pull_request) Has been skipped
Build / cleanup (pull_request) Successful in 1s
to b1666515d3
Some checks failed
Build / setup (pull_request) Failing after 52s
Build / unit (pull_request) Has been skipped
Build / cypress (pull_request) Has been skipped
Build / cleanup (pull_request) Successful in 1s
2026-10-09 20:30:06 -04:00
Compare
renovate-bot force-pushed renovate/all-minor-patch from b1666515d3
Some checks failed
Build / setup (pull_request) Failing after 52s
Build / unit (pull_request) Has been skipped
Build / cypress (pull_request) Has been skipped
Build / cleanup (pull_request) Successful in 1s
to 0fc6dbafa0
Some checks failed
Build / setup (pull_request) Failing after 1m6s
Build / unit (pull_request) Has been skipped
Build / cypress (pull_request) Has been skipped
Build / cleanup (pull_request) Successful in 1s
2026-10-10 12:34:40 -04:00
Compare
renovate-bot force-pushed renovate/all-minor-patch from 0fc6dbafa0
Some checks failed
Build / setup (pull_request) Failing after 1m6s
Build / unit (pull_request) Has been skipped
Build / cypress (pull_request) Has been skipped
Build / cleanup (pull_request) Successful in 1s
to 9b8cbebdb3
Some checks failed
Build / setup (pull_request) Failing after 43s
Build / unit (pull_request) Has been skipped
Build / cypress (pull_request) Has been skipped
Build / cleanup (pull_request) Successful in 1s
2026-10-12 16:45:59 -04:00
Compare
renovate-bot force-pushed renovate/all-minor-patch from 9b8cbebdb3
Some checks failed
Build / setup (pull_request) Failing after 43s
Build / unit (pull_request) Has been skipped
Build / cypress (pull_request) Has been skipped
Build / cleanup (pull_request) Successful in 1s
to 26eb91f8f2
Some checks failed
Build / setup (pull_request) Failing after 46s
Build / unit (pull_request) Has been skipped
Build / cypress (pull_request) Has been skipped
Build / cleanup (pull_request) Successful in 1s
2026-10-14 17:00:31 -04:00
Compare
renovate-bot force-pushed renovate/all-minor-patch from 26eb91f8f2
Some checks failed
Build / setup (pull_request) Failing after 46s
Build / unit (pull_request) Has been skipped
Build / cypress (pull_request) Has been skipped
Build / cleanup (pull_request) Successful in 1s
to 0b881db948
Some checks failed
Build / setup (pull_request) Failing after 46s
Build / unit (pull_request) Has been skipped
Build / cypress (pull_request) Has been skipped
Build / cleanup (pull_request) Successful in 1s
2026-10-15 21:35:43 -04:00
Compare
renovate-bot force-pushed renovate/all-minor-patch from 0b881db948
Some checks failed
Build / setup (pull_request) Failing after 46s
Build / unit (pull_request) Has been skipped
Build / cypress (pull_request) Has been skipped
Build / cleanup (pull_request) Successful in 1s
to 11fcec525a
Some checks failed
Build / setup (pull_request) Failing after 43s
Build / unit (pull_request) Has been skipped
Build / cypress (pull_request) Has been skipped
Build / cleanup (pull_request) Successful in 1s
2026-10-16 13:40:47 -04:00
Compare
renovate-bot force-pushed renovate/all-minor-patch from 11fcec525a
Some checks failed
Build / setup (pull_request) Failing after 43s
Build / unit (pull_request) Has been skipped
Build / cypress (pull_request) Has been skipped
Build / cleanup (pull_request) Successful in 1s
to b80f3be0aa
Some checks failed
Build / setup (pull_request) Failing after 42s
Build / unit (pull_request) Has been skipped
Build / cypress (pull_request) Has been skipped
Build / cleanup (pull_request) Successful in 1s
2026-10-19 14:03:57 -04:00
Compare
renovate-bot force-pushed renovate/all-minor-patch from b80f3be0aa
Some checks failed
Build / setup (pull_request) Failing after 42s
Build / unit (pull_request) Has been skipped
Build / cypress (pull_request) Has been skipped
Build / cleanup (pull_request) Successful in 1s
to 40ec967181
Some checks failed
Build / setup (pull_request) Failing after 47s
Build / unit (pull_request) Has been skipped
Build / cypress (pull_request) Has been skipped
Build / cleanup (pull_request) Successful in 1s
2026-10-22 14:30:12 -04:00
Compare
renovate-bot force-pushed renovate/all-minor-patch from 40ec967181
Some checks failed
Build / setup (pull_request) Failing after 47s
Build / unit (pull_request) Has been skipped
Build / cypress (pull_request) Has been skipped
Build / cleanup (pull_request) Successful in 1s
to 2e67d07c10
Some checks failed
Build / setup (pull_request) Failing after 1m8s
Build / unit (pull_request) Has been skipped
Build / cypress (pull_request) Has been skipped
Build / cleanup (pull_request) Successful in 2s
2026-10-23 14:38:59 -04:00
Compare
renovate-bot force-pushed renovate/all-minor-patch from 2e67d07c10
Some checks failed
Build / setup (pull_request) Failing after 1m8s
Build / unit (pull_request) Has been skipped
Build / cypress (pull_request) Has been skipped
Build / cleanup (pull_request) Successful in 2s
to 6261b522a8
Some checks failed
Build / setup (pull_request) Failing after 45s
Build / unit (pull_request) Has been skipped
Build / cypress (pull_request) Has been skipped
Build / cleanup (pull_request) Successful in 1s
2026-10-25 06:53:52 -04:00
Compare
renovate-bot force-pushed renovate/all-minor-patch from 6261b522a8
Some checks failed
Build / setup (pull_request) Failing after 45s
Build / unit (pull_request) Has been skipped
Build / cypress (pull_request) Has been skipped
Build / cleanup (pull_request) Successful in 1s
to 060f36168a
Some checks failed
Build / setup (pull_request) Failing after 43s
Build / unit (pull_request) Has been skipped
Build / cypress (pull_request) Has been skipped
Build / cleanup (pull_request) Successful in 1s
2026-10-26 15:04:55 -04:00
Compare
renovate-bot force-pushed renovate/all-minor-patch from 060f36168a
Some checks failed
Build / setup (pull_request) Failing after 43s
Build / unit (pull_request) Has been skipped
Build / cypress (pull_request) Has been skipped
Build / cleanup (pull_request) Successful in 1s
to 1724c4e4bd
Some checks failed
Build / setup (pull_request) Failing after 55s
Build / unit (pull_request) Has been skipped
Build / cypress (pull_request) Has been skipped
Build / cleanup (pull_request) Successful in 1s
2026-10-27 07:11:08 -04:00
Compare
renovate-bot force-pushed renovate/all-minor-patch from 1724c4e4bd
Some checks failed
Build / setup (pull_request) Failing after 55s
Build / unit (pull_request) Has been skipped
Build / cypress (pull_request) Has been skipped
Build / cleanup (pull_request) Successful in 1s
to de90d7720c
Some checks failed
Build / setup (pull_request) Failing after 44s
Build / unit (pull_request) Has been skipped
Build / cypress (pull_request) Has been skipped
Build / cleanup (pull_request) Successful in 3s
2026-10-28 07:21:24 -04:00
Compare
Some checks failed
Build / setup (pull_request) Failing after 44s
Required
Details
Build / unit (pull_request) Has been skipped
Required
Details
Build / cypress (pull_request) Has been skipped
Required
Details
Build / cleanup (pull_request) Successful in 3s
Some required checks were not successful.
You are not authorized to merge this pull request.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin renovate/all-minor-patch:renovate/all-minor-patch
git switch renovate/all-minor-patch
Sign in to join this conversation.
No description provided.